gnu: Add hitch.
[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>
3c986a7d 22;;; Copyright © 2016, 2017 Nikita <nikita@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>
663def11 53;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
995b7261
AE
54;;;
55;;; This file is part of GNU Guix.
56;;;
57;;; GNU Guix is free software; you can redistribute it and/or modify it
58;;; under the terms of the GNU General Public License as published by
59;;; the Free Software Foundation; either version 3 of the License, or (at
60;;; your option) any later version.
61;;;
62;;; GNU Guix is distributed in the hope that it will be useful, but
63;;; WITHOUT ANY WARRANTY; without even the implied warranty of
64;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
65;;; GNU General Public License for more details.
66;;;
67;;; You should have received a copy of the GNU General Public License
68;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
69
70(define-module (gnu packages gnome)
ed19903d 71 #:use-module (gnu packages)
ba5dd105 72 #:use-module (gnu packages admin)
411ba511 73 #:use-module (gnu packages aspell)
75016d07 74 #:use-module (gnu packages autotools)
7b212526 75 #:use-module (gnu packages avahi)
b29909b4 76 #:use-module (gnu packages backup)
6a180f6f 77 #:use-module (gnu packages base)
1e33331c 78 #:use-module (gnu packages bash)
5698b8b8 79 #:use-module (gnu packages bison)
aa51d92c 80 #:use-module (gnu packages boost)
5fc9b6c1 81 #:use-module (gnu packages build-tools)
df217748 82 #:use-module (gnu packages calendar)
b29909b4 83 #:use-module (gnu packages cdrom)
df12f04a 84 #:use-module (gnu packages check)
d61a894b 85 #:use-module (gnu packages cmake)
b29909b4 86 #:use-module (gnu packages compression)
8f523eb9 87 #:use-module (gnu packages crates-io)
23a22af6 88 #:use-module (gnu packages cups)
6e1bb642 89 #:use-module (gnu packages curl)
c3f29bc9 90 #:use-module (gnu packages cyrus-sasl)
6e1bb642 91 #:use-module (gnu packages databases)
255d1bbe 92 #:use-module (gnu packages dbm)
c769cf9f 93 #:use-module (gnu packages djvu)
ba5dd105 94 #:use-module (gnu packages dns)
b4ce6300 95 #:use-module (gnu packages docbook)
b29909b4 96 #:use-module (gnu packages documentation)
329d731b 97 #:use-module (gnu packages enchant)
b29909b4
TGR
98 #:use-module (gnu packages flex)
99 #:use-module (gnu packages fonts)
e762d943 100 #:use-module (gnu packages file-systems)
a56be436 101 #:use-module (gnu packages fontutils)
b29909b4 102 #:use-module (gnu packages freedesktop)
dfc407f3 103 #:use-module (gnu packages game-development)
fed5a689 104 #:use-module (gnu packages gettext)
b29909b4
TGR
105 #:use-module (gnu packages ghostscript)
106 #:use-module (gnu packages gl)
995b7261 107 #:use-module (gnu packages glib)
c1354b90 108 #:use-module (gnu packages gnupg)
23a22af6 109 #:use-module (gnu packages gnuzilla)
8d8c6bff 110 #:use-module (gnu packages geo)
b29909b4
TGR
111 #:use-module (gnu packages gperf)
112 #:use-module (gnu packages graphviz)
85f5dc19 113 #:use-module (gnu packages gstreamer)
d9c1a22b 114 #:use-module (gnu packages gtk)
6b888eff 115 #:use-module (gnu packages guile)
b645146f 116 #:use-module (gnu packages ibus)
03be9874 117 #:use-module (gnu packages icu4c)
b29909b4
TGR
118 #:use-module (gnu packages image)
119 #:use-module (gnu packages imagemagick)
120 #:use-module (gnu packages inkscape)
9cc98f8a 121 #:use-module (gnu packages iso-codes)
b29909b4 122 #:use-module (gnu packages kerberos)
85f5dc19 123 #:use-module (gnu packages libcanberra)
b64e217f 124 #:use-module (gnu packages libunistring)
0e26c3cf 125 #:use-module (gnu packages libunwind)
75016d07 126 #:use-module (gnu packages libusb)
b29909b4 127 #:use-module (gnu packages linux)
4e3fc547 128 #:use-module (gnu packages lirc)
7b212526 129 #:use-module (gnu packages lua)
b29909b4 130 #:use-module (gnu packages mail)
03be9874 131 #:use-module (gnu packages mp3)
b29909b4 132 #:use-module (gnu packages multiprecision)
64fce637 133 #:use-module (gnu packages music)
b29909b4
TGR
134 #:use-module (gnu packages ncurses)
135 #:use-module (gnu packages nettle)
ba5dd105 136 #:use-module (gnu packages networking)
5fc9b6c1 137 #:use-module (gnu packages ninja)
aff0cce9 138 #:use-module (gnu packages nss)
b29909b4 139 #:use-module (gnu packages openldap)
b645146f 140 #:use-module (gnu packages password-utils)
de1215e2 141 #:use-module (gnu packages pcre)
b29909b4 142 #:use-module (gnu packages pdf)
27477d2d 143 #:use-module (gnu packages perl)
f70d8383 144 #:use-module (gnu packages photo)
995b7261 145 #:use-module (gnu packages pkg-config)
b29909b4
TGR
146 #:use-module (gnu packages polkit)
147 #:use-module (gnu packages popt)
7d3bb433 148 #:use-module (gnu packages pretty-print)
23a22af6 149 #:use-module (gnu packages pulseaudio)
995b7261 150 #:use-module (gnu packages python)
00014781
RW
151 #:use-module (gnu packages python-crypto)
152 #:use-module (gnu packages python-web)
44d10b1f 153 #:use-module (gnu packages python-xyz)
cce0da5e 154 #:use-module (gnu packages rdesktop)
b29909b4 155 #:use-module (gnu packages readline)
a76d0f03 156 #:use-module (gnu packages ruby)
ec47c07d 157 #:use-module (gnu packages rust)
b29909b4 158 #:use-module (gnu packages samba)
75016d07 159 #:use-module (gnu packages scanner)
240cee8a 160 #:use-module (gnu packages selinux)
c27e02bf 161 #:use-module (gnu packages slang)
b29909b4
TGR
162 #:use-module (gnu packages speech)
163 #:use-module (gnu packages spice)
cd0322a3 164 #:use-module (gnu packages sqlite)
4a1bf090 165 #:use-module (gnu packages ssh)
2cd1de32 166 #:use-module (gnu packages swig)
8f9ac901 167 #:use-module (gnu packages tex)
33dc54b0 168 #:use-module (gnu packages time)
a7fd7b68 169 #:use-module (gnu packages tls)
2cd1de32 170 #:use-module (gnu packages valgrind)
3c5dbd2b 171 #:use-module (gnu packages version-control)
b29909b4 172 #:use-module (gnu packages video)
59132b80 173 #:use-module (gnu packages virtualization)
f2b96b3a 174 #:use-module (gnu packages vpn)
a18f8eaf 175 #:use-module (gnu packages web)
b29909b4
TGR
176 #:use-module (gnu packages webkit)
177 #:use-module (gnu packages xdisorg)
178 #:use-module (gnu packages xiph)
179 #:use-module (gnu packages xml)
d633f2f6 180 #:use-module (gnu packages xorg)
a76d0f03 181 #:use-module (gnu artwork)
8f523eb9 182 #:use-module (guix build-system cargo)
b29909b4
TGR
183 #:use-module (guix build-system cmake)
184 #:use-module (guix build-system glib-or-gtk)
185 #:use-module (guix build-system gnu)
186 #:use-module (guix build-system meson)
08be02be 187 #:use-module (guix build-system python)
b29909b4
TGR
188 #:use-module (guix build-system trivial)
189 #:use-module (guix download)
190 #:use-module (guix git-download)
191 #:use-module ((guix licenses) #:prefix license:)
192 #:use-module (guix packages)
193 #:use-module (guix utils)
a76d0f03 194 #:use-module (guix gexp)
8f523eb9
EF
195 #:use-module (guix monads)
196 #:use-module (guix store)
4e3fdeb7 197 #:use-module (ice-9 match)
c024ae36 198 #:use-module (srfi srfi-1))
85f5dc19
AE
199
200(define-public brasero
201 (package
202 (name "brasero")
e2bf423a 203 (version "3.12.2")
85f5dc19
AE
204 (source (origin
205 (method url-fetch)
d1df7554 206 (uri (string-append "mirror://gnome/sources/brasero/"
e8627cd9 207 (version-major+minor version) "/"
d1df7554 208 "brasero-" version ".tar.xz"))
85f5dc19
AE
209 (sha256
210 (base32
e2bf423a 211 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 212 (build-system glib-or-gtk-build-system)
e8627cd9
DH
213 (arguments
214 `(#:configure-flags (list
215 (string-append "--with-girdir="
216 (assoc-ref %outputs "out")
217 "/share/gir-1.0")
218 (string-append "--with-typelibdir="
219 (assoc-ref %outputs "out")
ce426deb
TD
220 "/lib/girepository-1.0"))
221 #:phases
222 (modify-phases %standard-phases
223 (add-before 'configure 'embed-growisofs
224 (lambda* (#:key inputs #:allow-other-keys)
225 (substitute* "plugins/growisofs/burn-growisofs.c"
226 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 227 #t)))))
85f5dc19
AE
228 (propagated-inputs
229 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
230 (native-inputs
231 `(("intltool" ,intltool)
ba549e17 232 ("itstool" ,itstool)
426adbe8 233 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 234 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 235 ("pkg-config" ,pkg-config)))
85f5dc19 236 (inputs
ce426deb
TD
237 `(("dvd+rw-tools" ,dvd+rw-tools)
238 ("glib" ,glib)
85f5dc19
AE
239 ("gnome-doc-utils" ,gnome-doc-utils)
240 ("gstreamer" ,gstreamer)
241 ("gst-plugins-base" ,gst-plugins-base)
242 ("gtk+" ,gtk+)
85f5dc19
AE
243 ("libcanberra" ,libcanberra)
244 ("libice" ,libice)
245 ("libnotify" ,libnotify)
246 ("libsm" ,libsm)
e8627cd9 247 ("libxml2" ,libxml2)
e8627cd9 248 ("totem-pl-parser" ,totem-pl-parser)))
fb9399e9 249 (home-page "https://wiki.gnome.org/Apps/Brasero")
85f5dc19
AE
250 (synopsis "CD/DVD burning tool for Gnome")
251 (description "Brasero is an application to burn CD/DVD for the Gnome
252Desktop. It is designed to be as simple as possible and has some unique
253features to enable users to create their discs easily and quickly.")
1dd26275 254 (license license:gpl2+)))
995b7261 255
a3cbcbaf
RG
256(define-public notification-daemon
257 (package
258 (name "notification-daemon")
259 (version "3.20.0")
260 (source
261 (origin
262 (method url-fetch)
263 (uri
264 (string-append "mirror://gnome/sources/" name "/"
265 (version-major+minor version) "/"
266 name "-" version ".tar.xz"))
267 (sha256
268 (base32
269 "1rgchqi4j2ll7d6a7lgy7id0w9rrkwkgic1096fbm2zx6n7pc4yx"))))
270 (build-system glib-or-gtk-build-system)
271 (native-inputs
272 `(("intltool" ,intltool)
273 ("pkg-config" ,pkg-config)))
274 (inputs
275 `(("glib" ,glib)
276 ("gtk+" ,gtk+)
277 ("x11" ,libx11)))
278 (synopsis "Notification Daemon for GNOME Desktop")
279 (description "Notification-Daemon is the server implementation of the
280freedesktop.org desktop notification specification.")
281 (home-page "https://wiki.gnome.org/Projects/NotificationDaemon")
282 (license license:gpl2+)))
283
4e8bdbf8
RG
284(define-public mm-common
285 (package
286 (name "mm-common")
287 (version "1.0.0")
288 (source (origin
289 (method url-fetch)
290 (uri (string-append "mirror://gnome/sources/" name "/"
291 (version-major+minor version) "/"
292 name "-" version ".tar.xz"))
293 (sha256
294 (base32
295 "1m4w33da9f4rx2d6kdj3ix3kl0gn16ml82v2mdn4hljr3q29nzdr"))))
296 (build-system meson-build-system)
297 (arguments
298 `(#:phases
299 (modify-phases %standard-phases
300 (add-after 'unpack 'patch
301 (lambda* (#:key inputs #:allow-other-keys)
302 (substitute* "util/mm-common-prepare.in"
303 (("ln") (string-append (assoc-ref inputs "coreutils")
304 "/bin/ln"))
305 (("cp") (string-append (assoc-ref inputs "coreutils")
306 "/bin/cp"))
307 (("sed") (string-append (assoc-ref inputs "sed")
308 "/bin/sed"))
309 (("cat") (string-append (assoc-ref inputs "coreutils")
310 "/bin/cat")))
311 #t)))))
312 (native-inputs
4e8bdbf8 313 `(("coreutils" ,coreutils)
74a65885
DM
314 ("gettext" ,gettext-minimal)
315 ("pkg-config" ,pkg-config)
4e8bdbf8 316 ("sed" ,sed)))
74a65885
DM
317 (inputs
318 `(("python" ,python)))
4e8bdbf8
RG
319 (synopsis "Module of GNOME C++ bindings")
320 (description "The mm-common module provides the build infrastructure
321and utilities shared among the GNOME C++ binding libraries. Release
322archives of mm-common include the Doxygen tag file for the GNU C++
323Library reference documentation.")
324 (home-page "https://gitlab.gnome.org/GNOME/mm-common")
325 (license license:gpl2+)))
326
e05ce17d
RG
327(define-public phodav
328 (package
329 (name "phodav")
330 (version "2.4")
331 (source (origin
332 (method url-fetch)
333 (uri (string-append "mirror://gnome/sources/" name "/"
334 (version-major+minor version) "/"
335 name "-" version ".tar.xz"))
336 (sha256
337 (base32
338 "1hxq8c5qfah3w7mxcyy3yhzdgswplll31a69p5mqdl04bsvw5pbx"))))
339 (build-system meson-build-system)
340 (native-inputs
341 `(("gettext" ,gettext-minimal)
342 ("glib:bin" ,glib "bin")
343 ("gtk-doc" ,gtk-doc)
344 ("pkg-config" ,pkg-config)))
345 (inputs
346 `(("avahi" ,avahi)
347 ("libgudev" ,libgudev)
348 ("libsoup" ,libsoup)))
349 (synopsis "WebDav server implementation using libsoup")
350 (description "PhoDav was initially developed as a file-sharing mechanism for Spice,
351but it is generic enough to be reused in other projects,
352in particular in the GNOME desktop.")
353 (home-page "https://wiki.gnome.org/phodav")
354 (license license:lgpl2.1+)))
355
29ae18db
RG
356(define-public gnome-color-manager
357 (package
358 (name "gnome-color-manager")
359 (version "3.32.0")
360 (source (origin
361 (method url-fetch)
362 (uri (string-append "mirror://gnome/sources/" name "/"
363 (version-major+minor version) "/"
364 name "-" version ".tar.xz"))
365 (sha256
366 (base32
367 "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"))))
368 (build-system meson-build-system)
369 (arguments
370 `(#:glib-or-gtk? #t
371 #:phases
372 (modify-phases %standard-phases
373 (add-before
374 'check 'pre-check
375 (lambda _
376 ;; Tests require a running X server.
377 (system "Xvfb :1 &")
378 (setenv "DISPLAY" ":1")
379 #t)))))
380 (native-inputs
381 `(("desktop-file-utils" ,desktop-file-utils)
382 ("gettext" ,gettext-minimal)
383 ("glib:bin" ,glib "bin")
384 ("gtk+:bin" ,gtk+ "bin")
385 ("itstool" ,itstool)
386 ("pkg-config" ,pkg-config)
387 ("xorg-server" ,xorg-server-for-tests)))
388 (inputs
389 `(("adwaita-icon-theme" ,adwaita-icon-theme)
390 ("appstream-glib" ,appstream-glib)
391 ("colord-gtk" ,colord-gtk)
392 ("exiv2" ,exiv2)
393 ("gnome-desktop" ,gnome-desktop)
394 ("libcanberra" ,libcanberra)
395 ("libexif" ,libexif)
396 ("libtiff" ,libtiff)
397 ("libxrandr" ,libxrandr)
398 ("libxtst" ,libxtst)
399 ("libxxf86vm" ,libxxf86vm)
400 ("vte" ,vte)
401 ("xorgproto" ,xorgproto)))
402 (synopsis "Color profile manager for the GNOME desktop")
403 (description "GNOME Color Manager is a session framework that makes
404it easy to manage, install and generate color profiles
405in the GNOME desktop.")
406 (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
7bd000d1 407 (license license:gpl2+)))
29ae18db 408
e05471a1
RG
409(define-public gnome-online-miners
410 (package
411 (name "gnome-online-miners")
49dcd7fc 412 (version "3.34.0")
e05471a1
RG
413 (source (origin
414 (method url-fetch)
415 (uri (string-append "mirror://gnome/sources/" name "/"
416 (version-major+minor version) "/"
417 name "-" version ".tar.xz"))
418 (sha256
419 (base32
49dcd7fc 420 "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44"))))
e05471a1
RG
421 (build-system glib-or-gtk-build-system)
422 (native-inputs
423 `(("gettext" ,gettext-minimal)
424 ("glib:bin" ,glib "bin")
29ae18db 425 ("gobject-introspection" ,gobject-introspection)
e05471a1
RG
426 ("gtk+:bin" ,gtk+ "bin")
427 ("pkg-config" ,pkg-config)))
428 (inputs
429 `(("gnome-online-accounts" ,gnome-online-accounts)
430 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
e05471a1
RG
431 ("grilo" ,grilo)
432 ("libgdata" ,libgdata)
433 ("libgfbgraph" ,gfbgraph)
434 ("libzapojit" ,libzapojit)
435 ("rest" ,rest)
436 ("tracker" ,tracker)))
437 (synopsis "Web Crawlers for GNOME")
438 (description "GNOME Online Miners provides a set of crawlers that
439go through your online content and index them locally in Tracker.
440It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
441 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
7bd000d1 442 (license license:gpl2+)))
e05471a1 443
e2aed29c
RG
444(define-public gssdp
445 (package
446 (name "gssdp")
447 (version "1.2.2")
448 (source (origin
449 (method url-fetch)
450 (uri (string-append "mirror://gnome/sources/" name "/"
451 (version-major+minor version) "/"
452 name "-" version ".tar.xz"))
453 (sha256
454 (base32
455 "195hi10vrsvh6i927mm6rm1ld5sxah3h5sr3bsjm90vb8lxrxfya"))))
456 (build-system meson-build-system)
457 (native-inputs
458 `(("gettext" ,gettext-minimal)
459 ("glib:bin" ,glib "bin")
460 ("gobject-introspection" ,gobject-introspection)
461 ("gtk-doc" ,gtk-doc)
462 ("pkg-config" ,pkg-config)
463 ("vala" ,vala)))
464 (inputs
465 `(("gtk+" ,gtk+)
466 ("libsoup" ,libsoup)))
467 (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery
468Protocol} for GNOME")
469 (description "This package provides a library to handle resource discovery
470and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and
471a debugging tool, @command{gssdp-device-sniffer}.")
472 (home-page "https://gitlab.gnome.org/GNOME/gssdp")
473 (license license:lgpl2.0+)))
474
291a85b2
RG
475(define-public gupnp
476 (package
477 (name "gupnp")
478 (version "1.2.2")
479 (source (origin
480 (method url-fetch)
481 (uri (string-append "mirror://gnome/sources/" name "/"
482 (version-major+minor version) "/"
483 name "-" version ".tar.xz"))
484 (sha256
485 (base32
486 "12cr3isww4zl0d4himpd2fhl2wmy3jh8sbxp4snp51sw7savv04s"))))
487 (build-system meson-build-system)
488 (native-inputs
489 `(("gettext" ,gettext-minimal)
490 ("glib:bin" ,glib "bin")
491 ("gobject-introspection" ,gobject-introspection)
492 ("gtk-doc" ,gtk-doc)
493 ("pkg-config" ,pkg-config)
494 ("vala" ,vala)))
495 (inputs
496 `(("gssdp" ,gssdp)
497 ("gtk+" ,gtk+)
498 ("libsoup" ,libsoup)))
499 (synopsis "PnP API for GNOME")
500 (description "This package provides GUPnP, an object-oriented framework
501for creating UPnP devices and control points, written in C using
502@code{GObject} and @code{libsoup}.")
503 (home-page "https://gitlab.gnome.org/GNOME/gupnp")
504 (license license:lgpl2.0+)))
505
747d7fe4
RG
506(define-public gupnp-dlna
507 (package
508 (name "gupnp-dlna")
509 (version "0.10.5")
510 (source (origin
511 (method url-fetch)
512 (uri (string-append "mirror://gnome/sources/" name "/"
513 (version-major+minor version) "/"
514 name "-" version ".tar.xz"))
515 (sha256
516 (base32
517 "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj"))))
518 (build-system gnu-build-system)
519 (native-inputs
520 `(("gettext" ,gettext-minimal)
521 ("glib:bin" ,glib "bin")
522 ("gobject-introspection" ,gobject-introspection)
523 ("gtk-doc" ,gtk-doc)
524 ("libxml" ,libxml2)
525 ("pkg-config" ,pkg-config)
526 ("vala" ,vala)))
527 (inputs
528 `(("gstreamer" ,gstreamer)
529 ("gupnp" ,gupnp)))
530 (propagated-inputs
531 `(("gst-plugins-base" ,gst-plugins-base)
532 ("gst-plugins-good" ,gst-plugins-good)))
533 (synopsis "GUPnP DLNA for GNOME")
534 (description "This package provides a small utility library to
535support DLNA-related tasks such as media profile guessing, transcoding to a
536given profile, etc. DLNA is a subset of UPnP A/V.")
537 (home-page "https://gitlab.gnome.org/GNOME/gupnp-dlna")
538 (license license:lgpl2.0+)))
539
1b4cb628
RG
540(define-public gupnp-av
541 (package
542 (name "gupnp-av")
543 (version "0.12.11")
544 (source (origin
545 (method url-fetch)
546 (uri (string-append "mirror://gnome/sources/" name "/"
547 (version-major+minor version) "/"
548 name "-" version ".tar.xz"))
549 (sha256
550 (base32
551 "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8"))))
552 (build-system gnu-build-system)
553 (native-inputs
554 `(("gettext" ,gettext-minimal)
555 ("glib:bin" ,glib "bin")
556 ("gobject-introspection" ,gobject-introspection)
557 ("gtk-doc" ,gtk-doc)
558 ("libxml" ,libxml2)
559 ("pkg-config" ,pkg-config)))
560 (inputs
561 `(("gtk+" ,gtk+)
562 ("gupnp" ,gupnp)))
563 (synopsis "GUPnP A/V for GNOME")
564 (description "This package provides a small library for handling
565and implementation of UPnP A/V profiles.")
566 (home-page "https://gitlab.gnome.org/GNOME/gupnp-av")
567 (license license:lgpl2.0+)))
e05471a1 568
02ebbca8
RG
569(define-public libmediaart
570 (package
571 (name "libmediaart")
572 (version "1.9.4")
573 (source (origin
574 (method url-fetch)
575 (uri (string-append "mirror://gnome/sources/" name "/"
576 (version-major+minor version) "/"
577 name "-" version ".tar.xz"))
578 (sha256
579 (base32
580 "0gc10imyabk57ar54m0qzms0x9dnmkymhkzyk8w1aj3y4lby0yx5"))))
581 (build-system gnu-build-system)
582 (native-inputs
583 `(("glib:bin" ,glib "bin")
584 ("pkg-config" ,pkg-config)))
585 (inputs
586 `(("gdk-pixbuf" ,gdk-pixbuf)
587 ("gettext" ,gettext-minimal)
588 ("gobject-introspection" ,gobject-introspection)
589 ("gtk+:doc", gtk+ "doc")
590 ("vala" ,vala)))
591 (synopsis "Media art library for the GNOME desktop")
592 (description
593 "The libmediaart library is the foundation for media art caching,
594extraction, and lookup for applications on the desktop.")
595 (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
596 (license license:lgpl2.1+)))
597
a26680eb
RG
598(define-public gnome-initial-setup
599 (package
600 (name "gnome-initial-setup")
601 (version "3.32.1")
602 (source (origin
603 (method url-fetch)
604 (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
605 (version-major+minor version)
606 "/gnome-initial-setup-" version ".tar.xz"))
607 (sha256
608 (base32
609 "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
610 (build-system meson-build-system)
611 (arguments
a65cc579
DM
612 '(#:configure-flags '(;; Enable camera support for user selfie.
613 "-Dcheese=auto"
c627e2cb
LC
614 "-Dsystemd=false")
615 #:phases (modify-phases %standard-phases
616 (add-after 'unpack 'set-gkbd-file-name
617 (lambda* (#:key inputs #:allow-other-keys)
618 ;; Allow the "Preview" button in the keyboard layout
619 ;; selection dialog to display the layout.
620 (let ((libgnomekbd (assoc-ref inputs "libgnomekbd")))
621 (substitute* "gnome-initial-setup/pages/keyboard/cc-input-chooser.c"
622 (("\"gkbd-keyboard-display")
623 (string-append "\"" libgnomekbd
624 "/bin/gkbd-keyboard-display")))
625 #t))))))
a26680eb
RG
626 (native-inputs
627 `(("gettext" ,gettext-minimal)
628 ("glib:bin" ,glib "bin")
629 ("gobject-introspection" ,gobject-introspection)
630 ("gtk+:bin" ,gtk+ "bin")
631 ("pkg-config" ,pkg-config)))
632 (inputs
633 `(("accountsservice" ,accountsservice)
634 ;("adwaita-icon-theme" ,adwaita-icon-theme)
635 ("gdm" ,gdm)
636 ("geoclue" ,geoclue)
637 ("gnome-desktop" ,gnome-desktop)
638 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
639 ("gnome-online-accounts" ,gnome-online-accounts)
640 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
641 ("gstreamer" ,gstreamer)
642 ("ibus" ,ibus)
643 ("json-glib" ,json-glib)
644 ("krb5" ,mit-krb5)
645 ("libgweather" ,libgweather)
646 ("libsecret" ,libsecret)
647 ("network-manager" ,network-manager)
648 ("network-manager-applet" ,network-manager-applet)
649 ("packagekit" ,packagekit)
650 ("polkit" ,polkit)
651 ("pwquality" ,libpwquality)
652 ("rest" ,rest)
653 ("upower" ,upower)
c627e2cb
LC
654 ("webkitgtk" ,webkitgtk)
655 ("libgnomekbd" ,libgnomekbd)))
a26680eb 656 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
657 (description "This package provides a set-up wizard when a
658user logs into GNOME for the first time. It typically provides a
659tour of all gnome components and allows the user to set them up.")
a26680eb
RG
660 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
661 (license license:gpl2)))
662
b5f01392
RG
663(define-public gnome-user-share
664 (package
665 (name "gnome-user-share")
666 (version "3.33.1")
667 (source (origin
668 (method url-fetch)
669 (uri (string-append "mirror://gnome/sources/" name "/"
670 (version-major+minor version) "/"
671 name "-" version ".tar.xz"))
672 (sha256
673 (base32
674 "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7"))))
675 (build-system meson-build-system)
676 (arguments
677 `(#:glib-or-gtk? #t
678 #:configure-flags
679 `("-Dsystemd=false"
680 ;; Enable nautilus extension for file sharing.
681 "-Dnautilus_extension=true")))
682 (native-inputs
683 `(("gettext" ,gettext-minimal)
684 ("glib:bin" ,glib "bin")
685 ("gobject-introspection" ,gobject-introspection)
686 ("gtk+:bin" ,gtk+ "bin")
687 ("pkg-config" ,pkg-config)
688 ("yelp-tools" ,yelp-tools)))
689 (inputs
690 `(("glib" ,glib)
691 ("gnome-bluetooth" ,gnome-bluetooth)
692 ("gtk+" ,gtk+)
693 ("libcanberra" ,libcanberra)
694 ("libnotify" ,libnotify)
695 ("nautilus" ,nautilus))) ; For nautilus extension.
696 (synopsis "File sharing for GNOME desktop")
697 (description "GNOME User Share is a small package that binds together
698various free software projects to bring easy to use user-level file
699sharing to the masses.")
700 (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
2aeca24b 701 (license license:gpl2+)))
b5f01392 702
04b201bb
RG
703(define-public sushi
704 (package
705 (name "sushi")
706 (version "3.32.1")
707 (source (origin
708 (method url-fetch)
709 (uri (string-append "mirror://gnome/sources/" name "/"
710 (version-major+minor version) "/"
711 name "-" version ".tar.xz"))
712 (sha256
713 (base32
714 "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj"))))
715 (build-system meson-build-system)
716 (arguments
717 `(#:glib-or-gtk? #t
718 #:phases
719 (modify-phases %standard-phases
720 (add-after 'glib-or-gtk-wrap 'wrap-typelib
721 (lambda* (#:key outputs #:allow-other-keys)
722 (let ((prog (string-append (assoc-ref outputs "out")
723 "/bin/sushi")))
724 ;; Put existing typelibs before sushi's deps, so as to correctly
725 ;; infer gdk-pixbuf
726 (wrap-program prog
727 `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH"))))
728 #t))))))
729 (native-inputs
730 `(("glib:bin" ,glib "bin")
731 ("gettext" ,gettext-minimal)
732 ("gobject-introspection" ,gobject-introspection)
733 ("pkg-config" ,pkg-config)))
734 (inputs
735 `(("clutter" ,clutter)
736 ("clutter-gst" ,clutter-gst)
737 ("clutter-gtk" ,clutter-gtk)
738 ("evince" ,evince) ; For file previewing.
739 ("freetype" ,freetype)
740 ("gdk-pixbuf" ,gdk-pixbuf)
741 ("gjs" ,gjs)
742 ("gst-plugins-base" ,gst-plugins-base)
743 ("gstreamer" ,gstreamer)
744 ("gtksourceview" ,gtksourceview-3)
745 ("harfbuzz" ,harfbuzz)
746 ("libepoxy" ,libepoxy)
747 ("libmusicbrainz" ,libmusicbrainz)
748 ("libxml2" ,libxml2)
749 ("neon" ,neon)
750 ("webkitgtk" ,webkitgtk)))
751 (synopsis "File previewer for the GNOME desktop")
752 (description "Sushi is a DBus-activated service that allows applications to
753preview files on the GNOME desktop.")
754 (home-page "https://gitlab.gnome.org/GNOME/sushi")
755 (license license:gpl2+)))
756
89af0902
RG
757(define-public rygel
758 (package
759 (name "rygel")
760 (version "0.38.3")
761 (source (origin
762 (method url-fetch)
763 (uri (string-append "mirror://gnome/sources/" name "/"
764 (version-major+minor version) "/"
765 name "-" version ".tar.xz"))
766 (sha256
767 (base32
768 "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8"))))
769 (build-system gnu-build-system)
770 (native-inputs
771 `(("gettext" ,gettext-minimal)
772 ("gobject-introspection" ,gobject-introspection)
773 ("gtk-doc" ,gtk-doc)
774 ("pkg-config" ,pkg-config)
775 ("vala" ,vala)))
776 (inputs
777 `(("gdk-pixbuf" ,gdk-pixbuf)
778 ("gssdp" ,gssdp)
779 ("gstreamer" ,gstreamer)
780 ("gst-plugins-base" ,gst-plugins-base)
781 ("gtk+" ,gtk+)
782 ("gupnp" ,gupnp)
783 ("gupnp-av" ,gupnp-av)
784 ("gupnp-dlna" ,gupnp-dlna)
785 ("libgee" ,libgee)
786 ("libmediaart" ,libmediaart)
787 ("libsoup" ,libsoup)
788 ("libxslt" ,libxslt)
789 ("libunistring" ,libunistring)
790 ("tracker" ,tracker)))
791 (synopsis "Share audio, video, and pictures with other devices")
792 (description
793 "Rygel is a home media solution (@dfn{UPnP AV MediaServer and
794MediaRenderer}) for GNOME that allows you to easily share audio, video, and
795pictures, and to control a media player on your home network.
796
797Rygel achieves interoperability with other devices by trying to conform to the
798strict requirements of DLNA and by converting media on-the-fly to formats that
799client devices can handle.")
800 (home-page "https://wiki.gnome.org/Projects/Rygel")
801 (license (list
802 ;; For logo (data/icons/*).
803 license:cc-by-sa3.0
804 ;; For all others.
805 license:lgpl2.1+))))
806
47e87093
RG
807(define-public libnma
808 (package
809 (name "libnma")
810 (version "1.8.26")
811 (source (origin
812 (method url-fetch)
813 (uri (string-append "mirror://gnome/sources/" name "/"
814 (version-major+minor version) "/"
815 name "-" version ".tar.xz"))
816 (sha256
817 (base32
818 "1w9lld38risnk1krknfwln24kabdxnj274pyz4jhndphwigrshaf"))))
819 (build-system meson-build-system)
820 (arguments
821 `(#:glib-or-gtk? #t))
822 (native-inputs
823 `(("gettext" ,gettext-minimal)
824 ("glib:bin" ,glib "bin")
825 ("gtk-doc" ,gtk-doc)
826 ("gobject-introspection" ,gobject-introspection)
827 ("pkg-config" ,pkg-config)))
828 (inputs
829 `(("adwaita-icon-theme" ,adwaita-icon-theme)
830 ("gcr" ,gcr)
831 ("gtk+" ,gtk+)
832 ("iso-codes" ,iso-codes)
833 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
834 ("network-manager" ,network-manager)))
835 (synopsis "Network Manager's applet library")
836 (description "Libnma is an applet library for Network Manager. It was
837initially part of network-manager-applet and has now become a separate
838project.")
839 (home-page "https://gitlab.gnome.org/GNOME/libnma")
840
841 ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
842 ;; "LGPL-2.1+".
843 (license license:gpl2+)))
844
30416265
RG
845(define-public gnome-menus
846 (package
847 (name "gnome-menus")
848 (version "3.32.0")
849 (source (origin
850 (method url-fetch)
851 (uri (string-append "mirror://gnome/sources/gnome-menus/"
852 (version-major+minor version) "/"
853 name "-" version ".tar.xz"))
854 (sha256
855 (base32
856 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
857 (build-system gnu-build-system)
858 (native-inputs
859 `(("gettext" ,gettext-minimal)
860 ("glib" ,glib)
861 ("pkg-config" ,pkg-config)))
862 (synopsis "Menu support for GNOME desktop")
863 (description "GNOME Menus contains the libgnome-menu library, the layout
864configuration files for the GNOME menu, as well as a simple menu editor.")
865 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 866 (license license:lgpl2.0+)))
30416265 867
d61a894b
CB
868(define-public deja-dup
869 (package
870 (name "deja-dup")
871 (version "34.3")
872 (source (origin
873 (method url-fetch)
874 (uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz")
875 (sha256
876 (base32
877 "1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9"))
878 (patches
879 (search-patches "deja-dup-use-ref-keyword-for-iter.patch"))))
880 (build-system glib-or-gtk-build-system)
881 (arguments
882 `(#:modules ((guix build gnu-build-system)
883 ((guix build cmake-build-system) #:prefix cmake:)
884 (guix build glib-or-gtk-build-system)
885 (guix build utils))
886 #:imported-modules (,@%glib-or-gtk-build-system-modules
887 (guix build cmake-build-system))
888 #:test-target "test"
889 #:configure-flags (list (string-append
890 "-DCMAKE_INSTALL_FULL_DATADIR=" %output)
891 (string-append
892 "-DCMAKE_INSTALL_LIBEXECDIR=" %output))
893 #:phases
894 (modify-phases %standard-phases
895 (add-after 'unpack 'patch-lockfile-deletion
896 (lambda rest
897 (substitute* "libdeja/tools/duplicity/DuplicityInstance.vala"
898 (("/bin/rm")
899 (which "rm")))))
900 (replace 'configure
901 (assoc-ref cmake:%standard-phases 'configure))
902 (delete 'check) ;; Fails due to issues with DBus
903 (add-after 'install 'wrap-deja-dup
904 (lambda* (#:key inputs outputs #:allow-other-keys)
905 (let ((python (assoc-ref inputs "python"))
906 (python-path (getenv "PYTHONPATH"))
907 (duplicity (assoc-ref inputs "duplicity"))
908 (out (assoc-ref outputs "out")))
909 (for-each
910 (lambda (program)
911 (wrap-program program
912 `("PATH" ":" prefix (,(string-append python "/bin")
913 ,(string-append duplicity "/bin"))))
914 (wrap-program program
915 `("PYTHONPATH" ":" prefix (,python-path))))
916
917 (find-files (string-append out "/bin")))
918 #t))))))
919 (inputs
920 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
921 ("gobject-introspection" ,gobject-introspection)
922 ("duplicity" ,duplicity)
61506fe5 923 ("python" ,python-2)
d61a894b
CB
924 ("python-pygobject" ,python2-pygobject)
925 ("gtk+" ,gtk+)
926 ("libnotify" ,libnotify)
927 ("libpeas" ,libpeas)
928 ("libsecret" ,libsecret)
929 ("packagekit" ,packagekit)))
930 (native-inputs
931 `(("pkg-config" ,pkg-config)
932 ("vala" ,vala)
933 ("gettext" ,gettext-minimal)
934 ("itstool" ,itstool)
935 ("intltool" ,intltool)
c69959f0 936 ("cmake" ,cmake-minimal)))
d61a894b
CB
937 (home-page "https://launchpad.net/deja-dup")
938 (synopsis "Simple backup tool, for regular encrypted backups")
939 (description
940 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
941uses duplicity as the backend, which supports incremental backups and storage
942either on a local, or remote machine via a number of methods.")
943 (license license:gpl3+)))
944
823b77fb
RG
945(define-public gnome-user-docs
946 (package
947 (name "gnome-user-docs")
948 (version "3.32.3")
949 (source
950 (origin
951 (method url-fetch)
952 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
953 (version-major+minor version)
954 "/gnome-user-docs-" version ".tar.xz"))
955 (sha256
956 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
957 (build-system gnu-build-system)
958 (native-inputs
959 `(("gettext" ,gettext-minimal)
960 ("itstool" ,itstool)
961 ("pkg-config" ,pkg-config)
962 ("xmllint" ,libxml2)))
963 (synopsis "User documentation for the GNOME desktop")
964 (description
965 "The GNOME User Documentation explains how to use the GNOME desktop and its
966components. It covers usage and setup of the core GNOME programs by end-users
967and system administrators.")
968 (home-page "https://live.gnome.org/DocumentationProject")
969 (license license:cc-by3.0)))
970
be93299d
RG
971(define-public gnome-getting-started-docs
972 (package
973 (name "gnome-getting-started-docs")
974 (version "3.32.2")
975 (source
976 (origin
977 (method url-fetch)
978 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
979 (version-major+minor version)
980 "/gnome-getting-started-docs-" version ".tar.xz"))
981 (sha256
982 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
983 (build-system gnu-build-system)
984 (native-inputs
985 `(("gettext" ,gettext-minimal)
986 ("itstool" ,itstool)
987 ("pkg-config" ,pkg-config)
988 ("xmllint" ,libxml2)))
989 (synopsis "Help to get new users started with the GNOME desktop")
990 (description
991 "The GNOME Getting Started Documentation contains GNOME's intuitive
992\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
993
994It is normally used together with @command{gnome-initial-setup}, but is also
995useful as a tutorial and users' guide for new or less experienced users.")
996 (home-page "https://live.gnome.org/DocumentationProject")
997 (license license:cc-by-sa3.0)))
998
a56be436
RJ
999(define-public dia
1000 ;; This version from GNOME's repository includes fixes for compiling with
1001 ;; recent versions of the build tools. The latest activity on the
1002 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
1003 ;; fixes in 2016.
1004 (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
1005 (package
1006 (name "dia")
914c8cdf 1007 (version (git-version "0.97.3" "1" commit))
a56be436
RJ
1008 (source (origin
1009 (method git-fetch)
1010 (uri (git-reference
914c8cdf 1011 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 1012 (commit commit)))
914c8cdf 1013 (file-name (git-file-name name version))
a56be436
RJ
1014 (sha256
1015 (base32
1016 "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
1017 (build-system gnu-build-system)
1018 (inputs
a315afa3 1019 `(("freetype" ,freetype)
a56be436
RJ
1020 ("gdk-pixbuf" ,gdk-pixbuf)
1021 ("gtk+" ,gtk+-2)
a315afa3 1022 ("libart-lgpl" ,libart-lgpl)
a56be436 1023 ("libxml2" ,libxml2)
a315afa3 1024 ("pango" ,pango)))
a56be436 1025 (native-inputs
a315afa3 1026 `(("autoconf" ,autoconf)
a56be436 1027 ("automake" ,automake)
a315afa3
EF
1028 ("intltool" ,intltool)
1029 ("glib" ,glib "bin")
a56be436
RJ
1030 ("libtool" ,libtool)
1031 ("perl" ,perl)
a315afa3 1032 ("pkg-config" ,pkg-config)
a56be436 1033 ("python-wrapper" ,python-wrapper)))
a56be436
RJ
1034 (home-page "https://wiki.gnome.org/Apps/Dia")
1035 (synopsis "Diagram creation for GNOME")
1036 (description "Dia can be used to draw different types of diagrams, and
1037includes support for UML static structure diagrams (class diagrams), entity
1038relationship modeling, and network diagrams. The program supports various file
1039formats like PNG, SVG, PDF and EPS.")
1040 (license license:gpl2+))))
1041
d0b19e44
RW
1042;; This is the unstable release, but it is required for the current stable
1043;; release of gvfs (1.38.1).
adc5cb1b
KK
1044(define-public libgdata
1045 (package
1046 (name "libgdata")
d0b19e44 1047 (version "0.17.9")
adc5cb1b
KK
1048 (source (origin
1049 (method url-fetch)
1050 (uri (string-append "mirror://gnome/sources/" name "/"
1051 (version-major+minor version) "/"
1052 name "-" version ".tar.xz"))
1053 (sha256
1054 (base32
d0b19e44 1055 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
1056 (build-system gnu-build-system)
1057 (arguments
1058 '(#:phases
1059 (modify-phases %standard-phases
448052b7
TGR
1060 (add-before 'check 'disable-failing-tests
1061 (lambda _
1062 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
1063 ;; They have been removed in libgdata 0.17.6, so just do the same.
1064 (substitute* "gdata/tests/Makefile"
1065 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
1066 #t)))))
1067 (native-inputs
1068 `(("glib:bin" ,glib "bin")
1069 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1070 ("intltool" ,intltool)
1071 ("pkg-config" ,pkg-config)
1072 ("uhttpmock" ,uhttpmock)))
1073 (inputs
1074 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 1075 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
1076 (propagated-inputs
1077 `(("gcr" ,gcr)
d0b19e44 1078 ("glib" ,glib)
14c297fd 1079 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 1080 ("json-glib" ,json-glib)
adc5cb1b 1081 ("liboauth" ,liboauth)
d0b19e44 1082 ("libsoup" ,libsoup)
adc5cb1b
KK
1083 ("libxml2" ,libxml2)))
1084 (home-page "https://wiki.gnome.org/Projects/libgdata")
1085 (synopsis "Library for accessing online service APIs")
1086 (description
1087 "libgdata is a GLib-based library for accessing online service APIs using
1088the GData protocol — most notably, Google's services. It provides APIs to
1089access the common Google services, and has full asynchronous support.")
1090 (license license:lgpl2.1+)))
1091
94e10cf4
KK
1092(define-public libgxps
1093 (package
1094 (name "libgxps")
66470a5a 1095 (version "0.3.1")
94e10cf4
KK
1096 (source (origin
1097 (method url-fetch)
7f10628c 1098 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
1099 (version-major+minor version) "/"
1100 name "-" version ".tar.xz"))
1101 (sha256
1102 (base32
66470a5a 1103 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 1104 (build-system meson-build-system)
94e10cf4
KK
1105 (native-inputs
1106 `(("gobject-introspection" ,gobject-introspection)
1107 ("pkg-config" ,pkg-config)))
1108 (inputs
c8d62d93 1109 `(("gtk+" ,gtk+)
b6b3e512 1110 ("libjpeg" ,libjpeg-turbo)
94e10cf4 1111 ("lcms" ,lcms)
0a6e9e13 1112 ("libtiff" ,libtiff)))
c8d62d93
MB
1113 (propagated-inputs
1114 ;; In Requires of libgxps.pc.
1115 `(("cairo" ,cairo)
1116 ("glib" ,glib)
1117 ("libarchive" ,libarchive)))
94e10cf4
KK
1118 (home-page "https://wiki.gnome.org/Projects/libgxps")
1119 (synopsis "GObject-based library for handling and rendering XPS documents")
1120 (description
1121 "libgxps is a GObject-based library for handling and rendering XPS
1122documents. This package also contains binaries that can convert XPS documents
1123to other formats.")
1124 (license license:lgpl2.1+)))
1125
4e09f57a
RG
1126(define-public gnome-characters
1127 (package
1128 (name "gnome-characters")
1129 (version "3.30.0")
1130 (source
1131 (origin
1132 (method url-fetch)
1133 (uri (string-append "mirror://gnome/sources/"
1134 "gnome-characters/" (version-major+minor version)
1135 "/gnome-characters-" version ".tar.xz"))
1136 (sha256
1137 (base32
1138 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
1139 (build-system meson-build-system)
5757c641 1140 (arguments
1141 `(#:glib-or-gtk? #t
1142 #:phases (modify-phases %standard-phases
1143 (add-after 'install 'wrap
1144 (lambda* (#:key outputs #:allow-other-keys)
1145 ;; GNOME Characters needs Typelib files from GTK and
1146 ;; gnome-desktop.
1147 (wrap-program (string-append (assoc-ref outputs "out")
1148 "/bin/gnome-characters")
1149 `("GI_TYPELIB_PATH" ":" prefix
1150 (,(getenv "GI_TYPELIB_PATH"))))
1151 #t)))))
4e09f57a
RG
1152 (native-inputs
1153 `(("gettext" ,gettext-minimal)
1154 ("glib:bin" ,glib "bin")
1155 ("gtk+:bin" ,gtk+ "bin")
1156 ("pkg-config" ,pkg-config)
1157 ("python" ,python-minimal)))
1158 (inputs
1159 `(("gjs" ,gjs)
1160 ("gtk+" ,gtk+)
5757c641 1161 ("libunistring" ,libunistring)
1162 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
1163 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
1164 (synopsis "Find and insert unusual characters")
1165 (description "Characters is a simple utility application to find
1166and insert unusual characters. It allows you to quickly find the
1167character you are looking for by searching for keywords.")
1168 (license license:bsd-3)))
1169
7aab13f1
ML
1170(define-public gnome-common
1171 (package
1172 (name "gnome-common")
af83490d 1173 (version "3.18.0")
7aab13f1
ML
1174 (source
1175 (origin
1176 (method url-fetch)
1177 (uri (string-append "mirror://gnome/sources/" name "/"
1178 (version-major+minor version) "/"
1179 name "-" version ".tar.xz"))
1180 (sha256
1181 (base32
af83490d 1182 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
1183 (build-system gnu-build-system)
1184 (home-page "https://www.gnome.org/")
1185 (synopsis "Bootstrap GNOME modules built from Git")
1186 (description "gnome-common contains various files needed to bootstrap
1187GNOME modules built from Git. It contains a common \"autogen.sh\" script that
1188can be used to configure a source directory checked out from Git and some
1189commonly used macros.")
1190 (license license:gpl2+)))
1191
4e868d22
RG
1192(define-public gnome-contacts
1193 (package
1194 (name "gnome-contacts")
b3492e39 1195 (version "3.34")
4e868d22
RG
1196 (source (origin
1197 (method url-fetch)
1198 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
1199 (version-major+minor version) "/"
1200 name "-" version ".tar.xz"))
1201 (sha256
1202 (base32
b3492e39 1203 "04igc9xvyc4kb5xf5g2missnvyvj9zv5cqxf5k4z7hb0sv42wq4r"))))
4e868d22
RG
1204 (build-system meson-build-system)
1205 (arguments
b3492e39
KK
1206 `(#:configure-flags '("-Dcheese=false")
1207 #:phases
4e868d22
RG
1208 (modify-phases %standard-phases
1209 (add-after 'unpack 'generate-vapis
1210 (lambda* (#:key inputs #:allow-other-keys)
1211 ;; To generate goa's missing .vapi file
1212 (define goa
1213 (assoc-ref inputs "gnome-online-accounts:lib"))
1214
1215 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
1216 "--library=goa-1.0"
1217 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
b3492e39
KK
1218 #t))
1219 (add-after 'unpack 'skip-gtk-update-icon-cache
1220 ;; Don't create 'icon-theme.cache'.
1221 (lambda _
1222 (substitute* "build-aux/meson_post_install.py"
1223 (("gtk-update-icon-cache") "true"))
4e868d22
RG
1224 #t)))))
1225 (native-inputs
1226 `(("glib:bin" ,glib "bin")
4e868d22
RG
1227 ("pkg-config" ,pkg-config)))
1228 (inputs
b3492e39 1229 `(("docbook-xml" ,docbook-xml)
4e868d22
RG
1230 ("dockbook-xsl" ,docbook-xsl)
1231 ("evolution-data-server" ,evolution-data-server)
1232 ("gettext" ,gettext-minimal)
1233 ("gnome-desktop" ,gnome-desktop)
1234 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1235 ("gobject-introspection" ,gobject-introspection)
1236 ("gst-plugins-base" ,gst-plugins-base)
1237 ("gtk+" ,gtk+)
1238 ("libgee" ,libgee)
1239 ("libxslt" ,libxslt)
1240 ("telepathy-glib" ,telepathy-glib)
1241 ("vala" ,vala)))
1242 (propagated-inputs
1243 `(("folks", folks)
1244 ("telepathy-mission-control" ,telepathy-mission-control)))
1245 (synopsis "GNOME's integrated address book")
1246 (description
1247 "GNOME Contacts organizes your contact information from online and
1248offline sources, providing a centralized place for managing your contacts.")
1249 (home-page "https://wiki.gnome.org/Apps/Contacts")
1250 (license license:gpl2+)))
1251
9cc98f8a
CR
1252(define-public gnome-desktop
1253 (package
1254 (name "gnome-desktop")
8a7afc81 1255 (version "3.34.2")
9cc98f8a
CR
1256 (source
1257 (origin
1258 (method url-fetch)
b38e45d8
EB
1259 (uri (string-append "mirror://gnome/sources/" name "/"
1260 (version-major+minor version) "/"
9cc98f8a
CR
1261 name "-" version ".tar.xz"))
1262 (sha256
1263 (base32
8a7afc81 1264 "1v983xirwp1y6ggz97bh742ak6gff0hxb359dgn37nikjxhvm0a0"))))
e8a26caa 1265 (build-system meson-build-system)
a0fe7c06
CB
1266 (arguments
1267 '(#:phases
1268 (modify-phases %standard-phases
1269 (add-before 'configure 'patch-path
1270 (lambda* (#:key inputs #:allow-other-keys)
1271 (let ((libc (assoc-ref inputs "libc")))
1272 (substitute* "libgnome-desktop/gnome-languages.c"
1273 (("\"locale\"")
1274 (string-append "\"" libc "/bin/locale\"")))
e8a26caa
KK
1275 #t)))
1276 (add-before 'check 'pre-check
1277 (lambda* (#:key inputs #:allow-other-keys)
1278 ;; Tests require a running X server and locales.
1279 (system "Xvfb :1 &")
1280 (setenv "DISPLAY" ":1")
1281 (setenv "GUIX_LOCPATH"
1282 (string-append (assoc-ref inputs "glibc-locales")
1283 "/lib/locale"))
1284 #t)))))
9cc98f8a 1285 (native-inputs
e8a26caa
KK
1286 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
1287 ("glibc-locales" ,glibc-locales) ; for tests
1288 ("gobject-introspection" ,gobject-introspection)
a8340482 1289 ("itstool" ,itstool)
bcb354ad
SB
1290 ("intltool" ,intltool)
1291 ("pkg-config" ,pkg-config)
e8a26caa
KK
1292 ("xmllint" ,libxml2)
1293 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
1294 (propagated-inputs
1295 ;; Required by gnome-desktop-3.0.pc.
1296 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 1297 ("gtk+" ,gtk+)
9cc98f8a 1298 ("iso-codes" ,iso-codes)
9863ce20 1299 ("libseccomp" ,libseccomp)
9cc98f8a 1300 ("libx11" ,libx11)
e8a26caa
KK
1301 ("xkeyboard-config" ,xkeyboard-config)))
1302 (inputs
1303 `(("gdk-pixbuf" ,gdk-pixbuf)
1304 ("glib" ,glib)
9cc98f8a
CR
1305 ("libxext" ,libxext)
1306 ("libxkbfile" ,libxkbfile)
e8a26caa 1307 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
1308 (home-page "https://www.gnome.org/")
1309 (synopsis
35b9e423 1310 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
1311 (description
1312 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
1313on the desktop, but that cannot live in the platform for various reasons.
1314There is no API or ABI guarantee, although we are doing our best to provide
1315stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
1316
1317The gnome-about program helps find which version of GNOME is installed.")
1318 ; Some bits under the LGPL.
1dd26275 1319 (license license:gpl2+)))
9cc98f8a 1320
995b7261
AE
1321(define-public gnome-doc-utils
1322 (package
1323 (name "gnome-doc-utils")
1324 (version "0.20.10")
1325 (source
1326 (origin
1327 (method url-fetch)
b38e45d8
EB
1328 (uri (string-append "mirror://gnome/sources/" name "/"
1329 (version-major+minor version) "/"
995b7261
AE
1330 name "-" version ".tar.xz"))
1331 (sha256
1332 (base32
1333 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
1334 (build-system gnu-build-system)
c4c4cc05 1335 (native-inputs
995b7261 1336 `(("intltool" ,intltool)
b4ce6300 1337 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 1338 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
1339 ("libxml2" ,libxml2)
1340 ("libxslt" ,libxslt)
1341 ("pkg-config" ,pkg-config)
1342 ("python-2" ,python-2)))
995b7261
AE
1343 (home-page "https://wiki.gnome.org/GnomeDocUtils")
1344 (synopsis
1345 "Documentation utilities for the Gnome project")
1346 (description
1347 "Gnome-doc-utils is a collection of documentation utilities for the
1348Gnome project. It includes xml2po tool which makes it easier to translate
1349and keep up to date translations of documentation.")
1dd26275 1350 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 1351
6c4f7022
DC
1352(define-public gnome-disk-utility
1353 (package
1354 (name "gnome-disk-utility")
262e660e 1355 (version "3.34.0")
6c4f7022
DC
1356 (source (origin
1357 (method url-fetch)
1358 (uri (string-append "mirror://gnome/sources/" name "/"
1359 (version-major+minor version) "/"
1360 name "-" version ".tar.xz"))
1361 (sha256
1362 (base32
262e660e 1363 "1mb7q90lnlp97dhxhnadhjagcfd12dfqzp0vj9h6b1r61pzhy97y"))))
4b9a65bf 1364 (build-system meson-build-system)
321c73c3 1365 (arguments
262e660e
KK
1366 '(#:configure-flags '("-Dlogind=libelogind")
1367 #:phases
321c73c3
EF
1368 (modify-phases %standard-phases
1369 (add-after 'unpack 'skip-gtk-update-icon-cache
1370 ;; Don't create 'icon-theme.cache'.
1371 (lambda _
1372 (substitute* "meson_post_install.py"
1373 (("gtk-update-icon-cache") "true"))
1374 #t)))))
6c4f7022
DC
1375 (native-inputs
1376 `(("glib:bin" ,glib "bin")
1377 ("intltool" ,intltool)
1378 ("pkg-config" ,pkg-config)
1379 ("docbook-xml" ,docbook-xml)
1380 ("docbook-xsl" ,docbook-xsl)
1381 ("libxml2" ,libxml2)
1382 ("libxslt" ,libxslt)))
1383 (inputs
262e660e
KK
1384 `(("elogind" ,elogind)
1385 ("glib" ,glib)
6c4f7022
DC
1386 ("appstream-glib" ,appstream-glib)
1387 ("gnome-settings-daemon" ,gnome-settings-daemon)
1388 ("gtk+" ,gtk+)
1389 ("libcanberra" ,libcanberra)
1390 ("libdvdread" ,libdvdread)
1391 ("libnotify" ,libnotify)
1392 ("libpwquality" ,libpwquality)
1393 ("libsecret" ,libsecret)
1394 ("udisks" ,udisks)))
1395 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
1396 (synopsis "Disk management utility for GNOME")
1397 (description "Disk management utility for GNOME.")
1398 (license license:gpl2+)))
1399
3d217317
RG
1400(define-public gnome-font-viewer
1401 (package
1402 (name "gnome-font-viewer")
1403 (version "3.30.0")
1404 (source (origin
1405 (method url-fetch)
1406 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
1407 (version-major+minor version)
1408 "/gnome-font-viewer-" version ".tar.xz"))
1409 (sha256
1410 (base32
1411 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
1412 (build-system meson-build-system)
1413 (arguments
1414 '(#:phases
1415 (modify-phases %standard-phases
1416 (add-after 'unpack 'patch-post-install-script
1417 (lambda _
1418 (substitute* "meson-postinstall.sh"
1419 (("update-desktop-database") (which "true")))
1420 #t)))))
1421 (native-inputs
1422 `(("gettext" ,gettext-minimal)
1423 ("glib:bin" ,glib "bin")
1424 ("pkg-config" ,pkg-config)))
1425 (inputs
1426 `(("glib" ,glib)
1427 ("gnome-desktop" ,gnome-desktop)
1428 ("gtk+" ,gtk+)))
1429 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
1430 (synopsis "GNOME Fonts")
1431 (description "Application to show you the fonts installed on your computer
1432for your use as thumbnails. Selecting any thumbnails shows the full view of how
1433the font would look under various sizes.")
1434 (license license:gpl2+)))
1435
8ff49011
RW
1436(define-public gcr
1437 (package
1438 (name "gcr")
1de804da 1439 (version "3.34.0")
8ff49011 1440 (source (origin
0daf0efb
RW
1441 (method url-fetch)
1442 (uri (string-append "mirror://gnome/sources/" name "/"
1443 (version-major+minor version) "/"
1444 name "-" version ".tar.xz"))
1445 (sha256
1446 (base32
1de804da 1447 "0925snsixzkwh49xiayqmj6fcrmklqk8kyy0jkv7m64h9abm1pr9"))))
8ff49011
RW
1448 (build-system gnu-build-system)
1449 (arguments
0daf0efb
RW
1450 '(#:phases
1451 (modify-phases %standard-phases
1452 ;; These fail because /var/lib/dbus/machine-id is not present in the
1453 ;; build environment.
1454 (add-after 'unpack 'disable-failing-tests
1455 (lambda _
1de804da
MB
1456 (substitute* "Makefile.in"
1457 (("[[:blank:]]+test-system-prompt\\$\\(EXEEXT\\)")
1458 ""))
0daf0efb
RW
1459 #t))
1460 (add-before 'check 'pre-check
1461 (lambda _
1462 ;; Some tests expect to write to $HOME.
1463 (setenv "HOME" "/tmp")
1464 #t)))))
8ff49011
RW
1465 (inputs
1466 `(("dbus" ,dbus)
0daf0efb 1467 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
1468 ("libgcrypt" ,libgcrypt)))
1469 (native-inputs
1de804da 1470 `(("python" ,python-wrapper) ;for tests
8ff49011 1471 ("pkg-config" ,pkg-config)
1de804da 1472 ("gettext" ,gettext-minimal)
8ff49011 1473 ("glib" ,glib "bin")
2af4f5b0 1474 ("gobject-introspection" ,gobject-introspection)
0daf0efb 1475 ("libxml2" ,libxml2)
bea6b829 1476 ("vala" ,vala)
2af4f5b0 1477 ("xsltproc" ,libxslt)))
8ff49011
RW
1478 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
1479 (propagated-inputs
1480 `(("p11-kit" ,p11-kit)
1481 ("glib" ,glib)
1482 ("gtk+" ,gtk+)))
f032d0be 1483 (home-page "https://www.gnome.org")
8ff49011
RW
1484 (synopsis "Libraries for displaying certificates and accessing key stores")
1485 (description
1486 "The GCR package contains libraries used for displaying certificates and
1487accessing key stores. It also provides the viewer for crypto files on the
1488GNOME Desktop.")
1489 (license license:lgpl2.1+)))
1490
c1354b90
LC
1491(define-public libgnome-keyring
1492 (package
1493 (name "libgnome-keyring")
5e8aec2c 1494 (version "3.12.0")
c1354b90
LC
1495 (source (origin
1496 (method url-fetch)
b38e45d8
EB
1497 (uri (string-append "mirror://gnome/sources/" name "/"
1498 (version-major+minor version) "/"
1499 name "-" version ".tar.xz"))
c1354b90
LC
1500 (sha256
1501 (base32
5e8aec2c 1502 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 1503 (build-system gnu-build-system)
c1354b90 1504 (inputs
c4c4cc05 1505 `(("libgcrypt" ,libgcrypt)
c1354b90 1506 ("dbus" ,dbus)))
c4c4cc05
JD
1507 (native-inputs
1508 `(("pkg-config" ,pkg-config)
426adbe8 1509 ("glib" ,glib "bin")
c4c4cc05 1510 ("intltool" ,intltool)))
c1354b90
LC
1511 (propagated-inputs
1512 ;; Referred to in .h files and .pc.
1513 `(("glib" ,glib)))
f032d0be 1514 (home-page "https://www.gnome.org")
c1354b90
LC
1515 (synopsis "Accessing passwords from the GNOME keyring")
1516 (description
1517 "Client library to access passwords from the GNOME keyring.")
1518
1519 ;; Though a couple of files are LGPLv2.1+.
1dd26275 1520 (license license:lgpl2.0+)))
c1354b90 1521
e99a3d6f
RW
1522(define-public gnome-keyring
1523 (package
1524 (name "gnome-keyring")
14faeadd 1525 (version "3.34.0")
e99a3d6f
RW
1526 (source (origin
1527 (method url-fetch)
1528 (uri (string-append "mirror://gnome/sources/" name "/"
1529 (version-major+minor version) "/"
1530 name "-" version ".tar.xz"))
1531 (sha256
1532 (base32
14faeadd 1533 "0hqrsh5g9q9lm190f0m85q4nki8k4ng7wphl6qbccdry59aakkg9"))))
e99a3d6f
RW
1534 (build-system gnu-build-system)
1535 (arguments
1536 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
1537 ;not exist
1538 #:configure-flags
1539 (list
1540 (string-append "--with-pkcs11-config="
1541 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
1542 (string-append "--with-pkcs11-modules="
1543 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
1544 #:phases
1545 (modify-phases %standard-phases
ab35cc6e
RW
1546 (add-after 'unpack 'fix-/bin/sh-reference
1547 (lambda _
1548 (substitute* "po/Makefile.in.in"
1549 (("/bin/sh") (which "sh")))
1550 #t))
5120f24f
RW
1551 (add-after 'unpack 'fix-docbook
1552 (lambda* (#:key inputs #:allow-other-keys)
1553 (substitute* "docs/Makefile.am"
1554 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1555 (string-append (assoc-ref inputs "docbook-xsl")
1556 "/xml/xsl/docbook-xsl-"
1557 ,(package-version docbook-xsl)
1558 "/manpages/docbook.xsl")))
1559 (setenv "XML_CATALOG_FILES"
1560 (string-append (assoc-ref inputs "docbook-xml")
1561 "/xml/dtd/docbook/catalog.xml"))
1562 ;; Rerun the whole thing to avoid version mismatch ("This is
1563 ;; Automake 1.15.1, but the definition used by this
1564 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
1565 ;; use 'autoreconf' because it insists on running 'libtoolize'.
1566 (invoke "autoconf")
1567 (invoke "aclocal")
1568 (invoke "automake" "-ac"))))))
e99a3d6f
RW
1569 (inputs
1570 `(("libgcrypt" ,libgcrypt)
1a0b2d82 1571 ("linux-pam" ,linux-pam)
ab35cc6e 1572 ("openssh" ,openssh)
e99a3d6f
RW
1573 ("dbus" ,dbus)
1574 ("gcr" ,gcr)))
1575 (native-inputs
1576 `(("pkg-config" ,pkg-config)
1577 ("glib" ,glib "bin")
5120f24f 1578 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
1579 ("python" ,python-2) ;for tests
1580 ("intltool" ,intltool)
1581 ("autoconf" ,autoconf)
1582 ("automake" ,automake)
1583 ("libxslt" ,libxslt) ;for documentation
1584 ("docbook-xml" ,docbook-xml-4.2)
1585 ("docbook-xsl" ,docbook-xsl)))
f032d0be 1586 (home-page "https://www.gnome.org")
e99a3d6f
RW
1587 (synopsis "Daemon to store passwords and encryption keys")
1588 (description
1589 "gnome-keyring is a program that keeps passwords and other secrets for
1590users. It is run as a daemon in the session, similar to ssh-agent, and other
1591applications locate it via an environment variable or D-Bus.
1592
1593The program can manage several keyrings, each with its own master password,
1594and there is also a session keyring which is never stored to disk, but
1595forgotten when the session ends.")
1596 (license license:lgpl2.1+)))
1597
c1354b90
LC
1598(define-public evince
1599 (package
1600 (name "evince")
936d5642 1601 (version "3.34.2")
c1354b90
LC
1602 (source (origin
1603 (method url-fetch)
ac631328 1604 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 1605 (version-major+minor version) "/"
ac631328 1606 "evince-" version ".tar.xz"))
c1354b90
LC
1607 (sha256
1608 (base32
936d5642 1609 "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w"))))
121de2e1 1610 (build-system glib-or-gtk-build-system)
c1354b90 1611 (arguments
169b8f77 1612 `(#:configure-flags '("--disable-nautilus" "--enable-introspection")
554b2dac
SB
1613 #:phases
1614 (modify-phases %standard-phases
1615 (add-before 'install 'skip-gtk-update-icon-cache
1616 ;; Don't create 'icon-theme.cache'.
1617 (lambda _
1618 (substitute* "data/Makefile"
1619 (("gtk-update-icon-cache") "true"))
1620 #t)))))
c1354b90 1621 (inputs
9a096881
KK
1622 `(("libarchive" ,libarchive)
1623 ("libgxps" ,libgxps)
1624 ("libspectre" ,libspectre)
c769cf9f 1625 ("djvulibre" ,djvulibre)
c1354b90
LC
1626 ("ghostscript" ,ghostscript)
1627 ("poppler" ,poppler)
c769cf9f
SB
1628 ("libtiff" ,libtiff)
1629 ;; TODO:
c769cf9f
SB
1630 ;; Build libkpathsea as a shared library for DVI support.
1631 ;; ("libkpathsea" ,texlive-bin)
1632 ("gnome-desktop" ,gnome-desktop)
c1354b90 1633 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 1634 ("gspell" ,gspell)
c1354b90 1635 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 1636 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
1637 ("gdk-pixbuf" ,gdk-pixbuf)
1638 ("atk" ,atk)
1639 ("pango" ,pango)
1640 ("gtk+" ,gtk+)
1641 ("glib" ,glib)
1642 ("libxml2" ,libxml2)
c1354b90
LC
1643 ("libsm" ,libsm)
1644 ("libice" ,libice)
96e42467 1645 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
1646 ("dconf" ,dconf)
1647 ("libcanberra" ,libcanberra)
c769cf9f 1648 ("libsecret" ,libsecret)
a271096b 1649
c1354b90
LC
1650 ;; For tests.
1651 ("dogtail" ,python2-dogtail)))
96e42467 1652 (native-inputs
bcb354ad
SB
1653 `(("itstool" ,itstool)
1654 ("intltool" ,intltool)
426adbe8 1655 ("glib" ,glib "bin")
169b8f77 1656 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
1657 ("pkg-config" ,pkg-config)
1658 ("xmllint" ,libxml2)))
c1354b90 1659 (home-page
f032d0be 1660 "https://www.gnome.org/projects/evince/")
c1354b90
LC
1661 (synopsis "GNOME's document viewer")
1662 (description
1663 "Evince is a document viewer for multiple document formats. It
1664currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
1665of Evince is to replace the multiple document viewers that exist
96e42467 1666on the GNOME Desktop with a single simple application.")
1dd26275 1667 (license license:gpl2+)))
c1354b90 1668
22e32e69
AE
1669(define-public gsettings-desktop-schemas
1670 (package
1671 (name "gsettings-desktop-schemas")
8468117e 1672 (version "3.34.0")
22e32e69
AE
1673 (source
1674 (origin
1675 (method url-fetch)
1676 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1677 (version-major+minor version) "/"
22e32e69
AE
1678 name "-" version ".tar.xz"))
1679 (sha256
1680 (base32
8468117e 1681 "1bayr76aylawf2fhyjhv9zgk4kpv7ivrrmd80khb0h3h1wk092r8"))))
c900dabd 1682 (build-system meson-build-system)
65209ffa
LC
1683 (arguments
1684 '(#:phases (modify-phases %standard-phases
3861fb1c 1685 (add-after 'unpack 'patch-schemas
65209ffa 1686 (lambda* (#:key inputs #:allow-other-keys)
65209ffa
LC
1687 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
1688 (substitute* (find-files "schemas"
1689 "\\.gschema\\.xml\\.in$")
3861fb1c
LP
1690 ;; Provide the correct file name of the default GNOME
1691 ;; background, 'adwaita-timed.xml'.
65209ffa 1692 (("@datadir@/backgrounds/gnome")
3861fb1c
LP
1693 (string-append theme "/share/backgrounds/gnome"))
1694 ;; Do not reference fonts, that may not exist.
1695 (("'Source Code Pro 10'") "'Monospace 11'"))
65209ffa 1696 #t))))))
22e32e69 1697 (inputs
65209ffa
LC
1698 `(("glib" ,glib)
1699 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
1700 (native-inputs
1701 `(("intltool" ,intltool)
426adbe8 1702 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 1703 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
1704 ("pkg-config" ,pkg-config)))
1705 (home-page "https://launchpad.net/gsettings-desktop-schemas")
1706 (synopsis
1707 "GNOME settings for various desktop components")
1708 (description
1709 "Gsettings-desktop-schemas contains a collection of GSettings schemas
1710for settings shared by various components of the GNOME desktop.")
1dd26275 1711 (license license:lgpl2.1+)))
22e32e69 1712
27477d2d
AE
1713(define-public icon-naming-utils
1714 (package
1715 (name "icon-naming-utils")
1716 (version "0.8.90")
1717 (source
1718 (origin
1719 (method url-fetch)
5cc3096c 1720 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
1721 version ".tar.bz2"))
1722 (sha256
1723 (base32
1724 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
1725 (build-system gnu-build-system)
1726 (inputs
1727 `(("perl" ,perl)
1728 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
1729 (arguments
1730 '(#:phases
dc1d3cde
KK
1731 (modify-phases %standard-phases
1732 (add-after 'install 'set-load-paths
1733 ;; Tell 'icon-name-mapping' where XML::Simple is.
1734 (lambda* (#:key outputs #:allow-other-keys)
1735 (let* ((out (assoc-ref outputs "out"))
1736 (prog (string-append out "/libexec/icon-name-mapping")))
1737 (wrap-program
1738 prog
1739 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
1740 #t)))))
27477d2d
AE
1741 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
1742 (synopsis
1743 "Utility to implement the Freedesktop Icon Naming Specification")
1744 (description
1745 "To help with the transition to the Freedesktop Icon Naming
1746Specification, the icon naming utility maps the icon names used by the
1747GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 1748 (license license:lgpl2.1+)))
27477d2d 1749
7d3f3651
AE
1750(define-public gnome-icon-theme
1751 (package
1752 (name "gnome-icon-theme")
b32f58dd 1753 (version "3.12.0")
7d3f3651
AE
1754 (source
1755 (origin
1756 (method url-fetch)
1757 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1758 (version-major+minor version) "/"
7d3f3651
AE
1759 name "-" version ".tar.xz"))
1760 (sha256
1761 (base32
b32f58dd 1762 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 1763 (build-system gnu-build-system)
5613c27d
SB
1764 (arguments
1765 '(#:configure-flags
1766 ;; Don't create 'icon-theme.cache'.
1767 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
1768 (true (string-append coreutils "/bin/true")))
1769 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 1770 (native-inputs
5613c27d 1771 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
1772 ("intltool" ,intltool)
1773 ("pkg-config" ,pkg-config)))
5c610d4f
KK
1774 (home-page "https://wiki.gnome.org/Personalization")
1775 (synopsis "GNOME icon theme")
1776 (description "Icons for the GNOME desktop.")
1dd26275 1777 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 1778
14eeefa2
SB
1779;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
1780(define-public adwaita-icon-theme
1781 (package (inherit gnome-icon-theme)
1782 (name "adwaita-icon-theme")
e21788f2 1783 (version "3.34.3")
14eeefa2
SB
1784 (source (origin
1785 (method url-fetch)
1786 (uri (string-append "mirror://gnome/sources/" name "/"
1787 (version-major+minor version) "/"
1788 name "-" version ".tar.xz"))
1789 (sha256
1790 (base32
e21788f2 1791 "025rj1fskw1y448hiar4a9icyzpyr242nlh9xhsmyp8jb71dihp7"))))
5613c27d
SB
1792 (native-inputs
1793 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 1794
ae792dba
RW
1795(define-public tango-icon-theme
1796 (package
1797 (name "tango-icon-theme")
1798 (version "0.8.90")
1799 (source (origin
1800 (method url-fetch)
1801 (uri (string-append "http://tango.freedesktop.org/releases/"
1802 "tango-icon-theme-" version ".tar.bz2"))
1803 (sha256
1804 (base32
1805 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
1806 (build-system gnu-build-system)
1807 (native-inputs
1808 `(("icon-naming-utils" ,icon-naming-utils)
1809 ("intltool" ,intltool)
1810 ("imagemagick" ,imagemagick)
1811 ("pkg-config" ,pkg-config)))
1812 (home-page "http://tango-project.org/")
1813 (synopsis "Tango icon theme")
1814 (description "This is an icon theme that follows the Tango visual
1815guidelines.")
1816 (license license:public-domain)))
1817
9167f8e6
LC
1818(define-public shared-mime-info
1819 (package
1820 (name "shared-mime-info")
404e386e 1821 (version "1.15")
9167f8e6
LC
1822 (source (origin
1823 (method url-fetch)
404e386e
MB
1824 (uri (string-append
1825 "https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/"
1826 "b27eb88e4155d8fccb8bb3cd12025d5b/shared-mime-info-" version
1827 ".tar.xz"))
9167f8e6
LC
1828 (sha256
1829 (base32
404e386e 1830 "146vynj78wcwdq0ms52jzm1r4m6dzi1rhyh3h4xyb6bw8ckv10pl"))))
9167f8e6
LC
1831 (build-system gnu-build-system)
1832 (arguments
1833 ;; The build system appears not to be parallel-safe.
1834 '(#:parallel-build? #f))
1835 (inputs
1836 `(("glib" ,glib)
c4c4cc05 1837 ("libxml2" ,libxml2)))
9167f8e6 1838 (native-inputs
404e386e
MB
1839 `(("gettext" ,gettext-minimal)
1840 ("itstool" ,itstool)
c4c4cc05 1841 ("pkg-config" ,pkg-config)))
57e7d748 1842 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
1843 (synopsis "Database of common MIME types")
1844 (description
1845 "The shared-mime-info package contains the core database of common types
1846and the update-mime-database command used to extend it. It requires glib2 to
1847be installed for building the update command. Additionally, it uses intltool
1848for translations, though this is only a dependency for the maintainers. This
1849database is translated at Transifex.")
1dd26275 1850 (license license:gpl2+)))
9167f8e6 1851
dd1fcddc
CB
1852(define-public system-config-printer
1853 (package
1854 (name "system-config-printer")
fa01e10d 1855 (version "1.5.12")
a5643044
TGR
1856 (source
1857 (origin
1858 (method url-fetch)
1859 (uri (string-append
1860 "https://github.com/OpenPrinting/system-config-printer/releases/"
1861 "download/" version
1862 "/system-config-printer-" version ".tar.xz"))
1863 (sha256
fa01e10d 1864 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
1865 (build-system glib-or-gtk-build-system)
1866 (arguments
1867 `(#:imported-modules ((guix build python-build-system)
1868 ,@%glib-or-gtk-build-system-modules)
1869 #:phases
1870 (modify-phases %standard-phases
1871 (add-after 'unpack 'patch-Makefile.am
1872 (lambda _
1873 ;; The Makefile generates some scripts, so set a valid shebang
1874 (substitute* "Makefile.am"
1875 (("/bin/bash") (which "bash")))
1876 (delete-file "configure")
1877 #t))
1878 (add-after 'unpack 'patch-docbook-xml
1879 (lambda* (#:key inputs #:allow-other-keys)
1880 ;; Modify the man XML otherwise xmlto tries to access the network
1881 (substitute* "man/system-config-printer.xml"
1882 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
1883 (string-append (assoc-ref inputs "docbook-xml")
1884 "/xml/dtd/docbook/")))
1885 #t))
1886 (add-after 'install 'wrap-for-python
1887 (@@ (guix build python-build-system) wrap))
1888 (add-after 'install 'wrap
1889 (lambda* (#:key outputs #:allow-other-keys)
1890 (let ((out (assoc-ref outputs "out"))
1891 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
1892 (for-each
1893 (lambda (program)
1894 (wrap-program program
1895 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
1896 (map (lambda (name)
1897 (string-append out "/bin/" name))
1898 '("system-config-printer"
1899 "system-config-printer-applet"
1900 "install-printerdriver"
1901 "scp-dbus-service"))))
1902 #t)))))
1903 (inputs
1904 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1905 ("gobject-introspection" ,gobject-introspection)
1906 ("python" ,python)
1907 ("cups" ,cups)
1908 ("python-dbus" ,python-dbus)
1909 ("python-pygobject" ,python-pygobject)
1910 ("python-pycups" ,python-pycups)
1911 ("python-requests" ,python-requests)
1912 ("python-pycairo" ,python-pycairo)
1913 ("libnotify" ,libnotify)
1914 ("packagekit" ,packagekit)))
1915 (native-inputs
1916 `(("pkg-config" ,pkg-config)
1917 ("desktop-file-utils" ,desktop-file-utils)
1918 ("glib" ,glib)
1919 ("autoconf" ,autoconf)
1920 ("automake" ,automake)
1921 ("intltool" ,intltool)
1922 ("xmlto" ,xmlto)
1923 ("docbook-xml" ,docbook-xml-4.1.2)
1924 ("docbook-xsl" ,docbook-xsl)
1925 ("libxml2" ,libxml2)))
1926 (home-page "https://github.com/zdohnal/system-config-printer")
1927 (synopsis "CUPS administration tool")
1928 (description
1929 "system-config-printer is a CUPS administration tool. It's written in
1930Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
1931configuring CUPS.")
1932 (license license:gpl2+)))
1933
bef4dd92
AE
1934(define-public hicolor-icon-theme
1935 (package
1936 (name "hicolor-icon-theme")
851cb6dd 1937 (version "0.17")
bef4dd92
AE
1938 (source
1939 (origin
1940 (method url-fetch)
5cc3096c 1941 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 1942 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
1943 (sha256
1944 (base32
851cb6dd 1945 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
1946 (build-system gnu-build-system)
1947 (arguments
1948 `(#:tests? #f)) ; no check target
57e7d748 1949 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
1950 (synopsis
1951 "Freedesktop icon theme")
1952 (description
1953 "Freedesktop icon theme.")
1dd26275 1954 (license license:gpl2)))
bef4dd92 1955
d9c1a22b
AE
1956(define-public libnotify
1957 (package
1958 (name "libnotify")
195bfa68 1959 (version "0.7.7")
d9c1a22b
AE
1960 (source
1961 (origin
1962 (method url-fetch)
1963 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1964 (version-major+minor version) "/"
d9c1a22b
AE
1965 name "-" version ".tar.xz"))
1966 (sha256
1967 (base32
195bfa68 1968 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 1969 (build-system gnu-build-system)
6acf6cec
MB
1970 (arguments
1971 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
1972 (propagated-inputs
1973 `(;; In Requires of libnotify.pc.
1974 ("gdk-pixbuf" ,gdk-pixbuf)
1975 ("glib" ,glib)))
d9c1a22b 1976 (inputs
7ef08efa 1977 `(("gtk+" ,gtk+)
c4c4cc05
JD
1978 ("libpng" ,libpng)))
1979 (native-inputs
426adbe8 1980 `(("pkg-config" ,pkg-config)
277a7d82
JN
1981 ("glib" ,glib "bin")
1982 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
1983 (home-page "https://developer-next.gnome.org/libnotify/")
1984 (synopsis
1985 "GNOME desktop notification library")
1986 (description
1987 "Libnotify is a library that sends desktop notifications to a
35b9e423 1988notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
1989notifications can be used to inform the user about an event or display
1990some form of information without getting in the user's way.")
1dd26275 1991 (license license:lgpl2.1+)))
7a8605ce
CR
1992
1993(define-public libpeas
1994 (package
1995 (name "libpeas")
f2d56e39 1996 (version "1.24.1")
7a8605ce
CR
1997 (source
1998 (origin
1999 (method url-fetch)
2000 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2001 (version-major+minor version) "/"
7a8605ce
CR
2002 name "-" version ".tar.xz"))
2003 (sha256
2004 (base32
f2d56e39
MB
2005 "1162dr7smmfb02czmhshr0f93hqj7w0nw29bys5lzfvwarxcyflw"))))
2006 (build-system meson-build-system)
2007 (arguments
2008 '(#:phases
2009 (modify-phases %standard-phases
2010 (add-before 'check 'start-xserver
2011 (lambda* (#:key inputs #:allow-other-keys)
2012 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2013 (disp ":1"))
2014 (setenv "DISPLAY" disp)
2015 ;; Tests require a running X server.
2016 (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))
2017 #t))))))
7a8605ce 2018 (inputs
2ed6522a
SB
2019 `(("gtk+" ,gtk+)
2020 ("glade" ,glade3)
2ed6522a
SB
2021 ("python" ,python)
2022 ("python-pygobject" ,python-pygobject)))
141aed80
LC
2023 (native-inputs
2024 `(("pkg-config" ,pkg-config)
f2d56e39 2025 ("gettext" ,gettext-minimal)
93622993 2026 ("glib:bin" ,glib "bin")
141aed80 2027 ("gobject-introspection" ,gobject-introspection)
f2d56e39 2028 ("xorg-server" ,xorg-server-for-tests)))
55b7bbd8
LC
2029 (propagated-inputs
2030 ;; The .pc file "Requires" gobject-introspection.
2031 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
2032 (home-page "https://wiki.gnome.org/Libpeas")
2033 (synopsis "GObject plugin system")
2034 (description
d1e4ad1b
TGR
2035 "Libpeas is a gobject-based plugin engine, targeted at giving every
2036application the chance to assume its own extensibility. It also has a set of
2037features including, but not limited to: multiple extension points; on-demand
2038(lazy) programming language support for C, Python and JS; simplicity of the
2039API.")
1dd26275 2040 (license license:lgpl2.0+)))
ed19903d
JD
2041
2042(define-public gtkglext
2043 (package
2044 (name "gtkglext")
2045 (version "1.2.0")
2046 (source (origin
2047 (method url-fetch)
0f971a04 2048 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
2049 version "/gtkglext-" version ".tar.gz"))
2050 (sha256
2051 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
2052 (patches (search-patches
2053 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 2054 (build-system gnu-build-system)
14e2f61a
RW
2055 (arguments
2056 `(#:phases
2057 (modify-phases %standard-phases
2058 ;; Fix a collision between a local variable and a definition from
2059 ;; glibc's string.h.
2060 (add-after 'unpack 'fix-collision
2061 (lambda _
2062 (substitute* "gdk/gdkglshapes.c"
2063 ((" index") " triangle_index"))
2064 #t)))))
ed19903d
JD
2065 (inputs `(("gtk+" ,gtk+-2)
2066 ("mesa" ,mesa)
cc8b02f4 2067 ("glu" ,glu)
ed19903d
JD
2068 ("libx11" ,libx11)
2069 ("libxt" ,libxt)))
426adbe8
LC
2070 (native-inputs `(("pkg-config" ,pkg-config)
2071 ("glib" ,glib "bin")))
a83b6a06 2072 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 2073 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 2074 (synopsis "OpenGL extension to GTK+")
35b9e423 2075 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
2076additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
2077API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 2078 (license license:lgpl2.1+)))
3600420e
JD
2079
2080(define-public glade3
2081 (package
2082 (name "glade")
c6571adb 2083 (version "3.22.1")
b38e45d8
EB
2084 (source (origin
2085 (method url-fetch)
2086 (uri (string-append "mirror://gnome/sources/" name "/"
2087 (version-major+minor version) "/"
f5ca44b8 2088 name "-" version ".tar.xz"))
3600420e 2089 (sha256
f714d9fe 2090 (base32
c6571adb 2091 "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z"))))
6983ba56 2092 (build-system glib-or-gtk-build-system)
f5ca44b8
RW
2093 (arguments
2094 `(#:tests? #f ; needs X, GL, and software rendering
2095 #:phases
2096 (modify-phases %standard-phases
2097 (add-before 'configure 'fix-docbook
2098 (lambda* (#:key inputs #:allow-other-keys)
2099 (substitute* "man/Makefile.in"
2100 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2101 (string-append (assoc-ref inputs "docbook-xsl")
2102 "/xml/xsl/docbook-xsl-"
2103 ,(package-version docbook-xsl)
2104 "/manpages/docbook.xsl")))
2105 #t)))))
3600420e 2106 (inputs
f5ca44b8 2107 `(("gtk+" ,gtk+)
3600420e
JD
2108 ("libxml2" ,libxml2)))
2109 (native-inputs
2110 `(("intltool" ,intltool)
f5ca44b8
RW
2111 ("itstool" ,itstool)
2112 ("libxslt" ,libxslt) ;for xsltproc
2113 ("docbook-xml" ,docbook-xml-4.2)
2114 ("docbook-xsl" ,docbook-xsl)
2115 ("python" ,python-2)
3600420e
JD
2116 ("pkg-config" ,pkg-config)))
2117 (home-page "https://glade.gnome.org")
2118 (synopsis "GTK+ rapid application development tool")
2119 (description "Glade is a rapid application development (RAD) tool to
2120enable quick & easy development of user interfaces for the GTK+ toolkit and
2121the GNOME desktop environment.")
1dd26275
LC
2122 (license license:lgpl2.0+)))
2123
2124(define-public libcroco
2125 (package
2126 (name "libcroco")
8bdacad2 2127 (version "0.6.13")
1dd26275
LC
2128 (source (origin
2129 (method url-fetch)
b38e45d8
EB
2130 (uri (string-append "mirror://gnome/sources/" name "/"
2131 (version-major+minor version) "/"
2132 name "-" version ".tar.xz"))
1dd26275
LC
2133 (sha256
2134 (base32
8bdacad2 2135 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
2136 (build-system gnu-build-system)
2137 (native-inputs
2138 `(("pkg-config" ,pkg-config)))
2139 (inputs
2140 `(("glib" ,glib)
2141 ("libxml2" ,libxml2)
2142 ("zlib" ,zlib)))
2143 (home-page "https://github.com/GNOME/libcroco")
2144 (synopsis "CSS2 parsing and manipulation library")
2145 (description
2146 "Libcroco is a standalone CSS2 parsing and manipulation library.
2147The parser provides a low level event driven SAC-like API and a CSS object
2148model like API. Libcroco provides a CSS2 selection engine and an experimental
2149XML/CSS rendering engine.")
2150
2151 ;; LGPLv2.1-only.
2152 (license license:lgpl2.1)))
25178594
LC
2153
2154(define-public libgsf
2155 (package
2156 (name "libgsf")
2b9b854c 2157 (version "1.14.47")
25178594
LC
2158 (source (origin
2159 (method url-fetch)
b38e45d8
EB
2160 (uri (string-append "mirror://gnome/sources/" name "/"
2161 (version-major+minor version) "/"
2162 name "-" version ".tar.xz"))
25178594
LC
2163 (sha256
2164 (base32
2b9b854c 2165 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
25178594 2166 (build-system gnu-build-system)
23904adb
MB
2167 (arguments
2168 '(#:configure-flags '("--disable-static")))
25178594 2169 (native-inputs
0a1559cc
MB
2170 `(("pkg-config" ,pkg-config)
2171 ("gettext" ,gettext-minimal)
2172
2173 ;; For tests.
2174 ("perl" ,perl)
2175 ("perl-xml-parser" ,perl-xml-parser)))
25178594 2176 (inputs
4ffa9f6b 2177 `(("zlib" ,zlib)
25178594
LC
2178 ("bzip2" ,bzip2)))
2179 (propagated-inputs
2180 `(("gdk-pixbuf" ,gdk-pixbuf)
2181 ("glib" ,glib)
2182 ("libxml2" ,libxml2)))
f032d0be 2183 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
2184 (synopsis "GNOME's Structured File Library")
2185 (description
2186 "Libgsf aims to provide an efficient extensible I/O abstraction for
2187dealing with different structured file formats.")
2188
2189 ;; LGPLv2.1-only.
2190 (license license:lgpl2.1)))
63016e7c
LC
2191
2192(define-public librsvg
f67417a1
MB
2193 (package
2194 (name "librsvg")
c1cc52a2 2195 (version "2.40.21")
f67417a1
MB
2196 (source (origin
2197 (method url-fetch)
2198 (uri (string-append "mirror://gnome/sources/" name "/"
2199 (version-major+minor version) "/"
2200 name "-" version ".tar.xz"))
2201 (sha256
2202 (base32
c1cc52a2 2203 "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))
f67417a1
MB
2204 (build-system gnu-build-system)
2205 (arguments
2206 `(#:configure-flags
2207 (list "--disable-static"
2208 "--enable-vala") ; needed for e.g. gnome-mines
2209 #:phases
2210 (modify-phases %standard-phases
2211 (add-before 'configure 'pre-configure
2212 (lambda* (#:key inputs #:allow-other-keys)
2213 (substitute* "gdk-pixbuf-loader/Makefile.in"
2214 ;; By default the gdk-pixbuf loader is installed under
2215 ;; gdk-pixbuf's prefix. Work around that.
2216 (("gdk_pixbuf_moduledir = .*$")
2217 (string-append "gdk_pixbuf_moduledir = "
2218 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2219 "loaders\n"))
2220 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2221 (("gdk_pixbuf_cache_file = .*$")
2222 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2223 #t))
2224 (add-before 'check 'remove-failing-tests
2225 (lambda _
2226 (with-directory-excursion "tests/fixtures/reftests"
2227 (for-each delete-file
2228 '(;; This test fails on i686:
2229 "svg1.1/masking-path-04-b.svg"
2230 ;; This test fails on armhf:
2231 "svg1.1/masking-mask-01-b.svg"
2232 ;; This test fails on aarch64:
2233 "bugs/777834-empty-text-children.svg")))
2234 #t)))))
2235 (native-inputs
2236 `(("pkg-config" ,pkg-config)
2237 ("vala" ,vala)
2238 ("glib" ,glib "bin") ; glib-mkenums, etc.
2239 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2240 (inputs
869b63cb
MB
2241 `(;; XXX: 1.44 causes some test failures, so we stick with 1.42 for
2242 ;; this ancient version of librsvg.
2243 ("pango" ,pango-1.42)
f67417a1
MB
2244 ("libcroco" ,libcroco)
2245 ("bzip2" ,bzip2)
2246 ("libgsf" ,libgsf)
2247 ("libxml2" ,libxml2)))
2248 (propagated-inputs
2249 ;; librsvg-2.0.pc refers to all of that.
2250 `(("cairo" ,cairo)
2251 ("gdk-pixbuf" ,gdk-pixbuf)
2252 ("glib" ,glib)))
2253 (home-page "https://wiki.gnome.org/LibRsvg")
2254 (synopsis "Render SVG files using Cairo")
2255 (description
2256 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
2257library.")
2258 (license license:lgpl2.0+)))
2259
2260(define-public librsvg-next
63016e7c 2261 (package
25d39a2a 2262 (inherit librsvg)
63016e7c 2263 (name "librsvg")
3276e123 2264 (version "2.46.4")
69568670
EF
2265 (source (origin
2266 (method url-fetch)
2267 (uri (string-append "mirror://gnome/sources/librsvg/"
2268 (version-major+minor version) "/"
2269 "librsvg-" version ".tar.xz"))
2270 (sha256
2271 (base32
2272 "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl"))
2273 (modules '((guix build utils)))
2274 (snippet
2275 '(begin (delete-file-recursively "vendor")
2276 ;; Don't demand an exact version for string_cache
2277 (substitute* "rsvg_internals/Cargo.toml"
2278 (("\"=") "\""))
2279 #t))))
2280 (build-system cargo-build-system)
63016e7c 2281 (arguments
69568670
EF
2282 `(#:modules ((guix build cargo-build-system)
2283 (guix build utils)
2284 ((guix build gnu-build-system) #:prefix gnu:))
2285 #:vendor-dir "vendor"
2286 #:cargo-inputs
2287 (("rust-bitflags" ,rust-bitflags-1)
2288 ("rust-cairo-rs" ,rust-cairo-rs-0.7)
2289 ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
2290 ("rust-cssparser" ,rust-cssparser-0.25)
2291 ("rust-data-url" ,rust-data-url-0.1)
2292 ("rust-downcast-rs" ,rust-downcast-rs-1.1)
2293 ("rust-encoding" ,rust-encoding-0.2)
2294 ("rust-float-cmp" ,rust-float-cmp-0.5)
2295 ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.7)
2296 ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
2297 ("rust-gio" ,rust-gio-0.7)
2298 ("rust-gio-sys" ,rust-gio-sys-0.9)
2299 ("rust-glib" ,rust-glib-0.8)
2300 ("rust-glib-sys" ,rust-glib-sys-0.9)
2301 ("rust-gobject-sys" ,rust-gobject-sys-0.9)
2302 ("rust-itertools" ,rust-itertools-0.8)
2303 ("rust-language-tags" ,rust-language-tags-0.2)
2304 ("rust-lazy-static" ,rust-lazy-static-1)
2305 ("rust-libc" ,rust-libc-0.2)
2306 ("rust-locale-config" ,rust-locale-config-0.3)
2307 ("rust-markup5ever" ,rust-markup5ever-0.9)
2308 ("rust-nalgebra" ,rust-nalgebra-0.18)
2309 ("rust-num-traits" ,rust-num-traits-0.2)
2310 ("rust-pkg-config" ,rust-pkg-config-0.3)
2311 ("rust-pango" ,rust-pango-0.7)
2312 ("rust-pango-sys" ,rust-pango-sys-0.9)
2313 ("rust-pangocairo" ,rust-pangocairo-0.8)
2314 ("rust-phf" ,rust-phf-0.7)
2315 ("rust-rayon" ,rust-rayon-1.3)
2316 ("rust-rctree" ,rust-rctree-0.3)
2317 ("rust-string-cache" ,rust-string-cache-0.7)
2318 ("rust-regex" ,rust-regex-1.3)
2319 ("rust-url" ,rust-url-2.1)
2320 ("rust-xml-rs" ,rust-xml-rs-0.8))
2321 #:cargo-development-inputs
2322 (("rust-cairo-rs" ,rust-cairo-rs-0.7)
2323 ("rust-criterion" ,rust-criterion-0.2))
ec47c07d 2324 #:phases
b6239e45 2325 (modify-phases %standard-phases
69568670 2326 (add-after 'unpack 'prepare-for-build
ec47c07d 2327 (lambda _
69568670
EF
2328 ;; In lieu of #:make-flags
2329 (setenv "CC" "gcc")
2330 ;; Something about the build environment resists building
2331 ;; successfully with the '--locked' flag.
2332 (substitute* '("Makefile.am"
2333 "Makefile.in")
2334 (("--locked") ""))
2335 #t))
b6239e45 2336 (add-before 'configure 'pre-configure
69568670 2337 (lambda _
b6239e45
EF
2338 (substitute* "gdk-pixbuf-loader/Makefile.in"
2339 ;; By default the gdk-pixbuf loader is installed under
2340 ;; gdk-pixbuf's prefix. Work around that.
2341 (("gdk_pixbuf_moduledir = .*$")
2342 (string-append "gdk_pixbuf_moduledir = "
2343 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2344 "loaders\n"))
2345 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2346 (("gdk_pixbuf_cache_file = .*$")
2347 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2348 #t))
69568670
EF
2349 (add-after 'configure 'gnu-configure
2350 (assoc-ref gnu:%standard-phases 'configure))
2351 ;(lambda* (#:key outputs #:allow-other-keys)
2352 ; ((assoc-ref gnu:%standard-phases 'configure)
2353 ; #:outputs outputs
2354 ; #:configure-flags ("--disable-static"
2355 ; "--enable-vala"))))
2356 (add-after 'configure 'dont-vendor-self
2357 (lambda* (#:key vendor-dir #:allow-other-keys)
2358 ;; Don't keep the whole tarball in the vendor directory
2359 (delete-file-recursively
2360 (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))
2361 #t))
2362 (replace 'build
2363 (assoc-ref gnu:%standard-phases 'build))
2364 (replace 'check
2365 (lambda* args
2366 ((assoc-ref gnu:%standard-phases 'check)
2367 #:test-target "check")))
2368 (replace 'install
2369 (assoc-ref gnu:%standard-phases 'install))
ec47c07d 2370 (add-before 'check 'remove-failing-tests
b6239e45 2371 (lambda _
64a153bd
MW
2372 (with-directory-excursion "tests/fixtures/reftests"
2373 (for-each delete-file
ec47c07d
MB
2374 '(;; The images produced by these tests differ slightly
2375 ;; from their reference counterparts due to differences
2376 ;; in the build environment (missing fonts, etc). See
2377 ;; <tests/README.md> for details.
2378 ;; These fail on x86_64.
2379 "svg1.1/coords-viewattr-02-b.svg"
2380 "svg1.1/filters-composite-04-f.svg"
2381 "svg1.1/filters-image-01-b.svg"
2382 "svg1.1/filters-conv-02-f.svg"
2383 "svg1.1/filters-conv-04-f.svg"
2384 ;; This test fails on i686:
64a153bd 2385 "svg1.1/masking-path-04-b.svg"
64a153bd
MW
2386 ;; This test fails on armhf:
2387 "svg1.1/masking-mask-01-b.svg"
64a153bd 2388 ;; This test fails on aarch64:
ec47c07d 2389 "bugs/777834-empty-text-children.svg")))
b6239e45 2390 #t)))))
cf9dad6c 2391 (license license:lgpl2.1+)))
5698b8b8
JD
2392
2393(define-public libidl
2394 (package
2395 (name "libidl")
2396 (version "0.8.14")
2397 (source (origin
2398 (method url-fetch)
80a06e62
EF
2399 (uri (string-append "mirror://gnome/sources/libIDL/"
2400 (version-major+minor version) "/"
2401 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
2402 (sha256
2403 (base32
2404 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
2405 (build-system gnu-build-system)
2406 (inputs `(("glib" ,glib)))
2407 (native-inputs
2408 `(("pkg-config" ,pkg-config)
b3546174 2409 ("flex" ,flex)
5698b8b8
JD
2410 ("bison" ,bison)))
2411 (home-page "http://freecode.com/projects/libidl")
2412 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 2413 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
2414Definition Language (idl) files, which is a specification for defining
2415portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 2416GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 2417functionality was designed to be as reusable and portable as possible.")
ef2c55bb 2418 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
2419 (license license:lgpl2.0+)))
2420
2421
2422(define-public orbit2
2423 (package
2424 (name "orbit2")
2425 (version "2.14.19")
2426 (source (origin
2427 (method url-fetch)
2e6ecc5c 2428 (uri (let ((upstream-name "ORBit2"))
a124bbd2 2429 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2430 (version-major+minor version) "/"
2431 upstream-name "-" version ".tar.bz2")))
5698b8b8 2432 (sha256
a124bbd2
SB
2433 (base32
2434 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
2435 (build-system gnu-build-system)
2436 (arguments
c2d837b9
MB
2437 `(;; The "timeout-server" test hangs when run in parallel.
2438 #:parallel-tests? #f
2439 #:configure-flags
8aad2e32
LC
2440 '(;; We don't need static libraries, plus they don't build reproducibly
2441 ;; (non-deterministic ordering of .o files in the archive.)
2442 "--disable-static"
2443
2444 ;; The programmer kindly gives us a hook to turn off deprecation
2445 ;; warnings ...
2446 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
2447 ;; ... which they then completly ignore !!
2448 #:phases
dc1d3cde
KK
2449 (modify-phases %standard-phases
2450 (add-before 'configure 'ignore-deprecations
2451 (lambda _
2452 (substitute* "linc2/src/Makefile.in"
2453 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2454 #t)))))
5698b8b8
JD
2455 (inputs `(("glib" ,glib)
2456 ("libidl" ,libidl)))
2457 (native-inputs
2458 `(("pkg-config" ,pkg-config)))
2459 (home-page "https://projects.gnome.org/orbit2/")
2460 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 2461 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 2462featuring mature C, C++ and Python bindings.")
a124bbd2
SB
2463 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
2464 ;; a version. SOME of the code files have licence notices for GPLv2+.
2465 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
2466 (license license:gpl2+)
2467 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
2468
2469
2470(define-public libbonobo
2471 (package
2472 (name "libbonobo")
2473 (version "2.32.1")
2474 (source (origin
2475 (method url-fetch)
5becd025 2476 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 2477 (version-major+minor version)
5becd025 2478 "/" name "-" version ".tar.bz2"))
5698b8b8 2479 (sha256
f1fc45a9 2480 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
2481 (patches (search-patches
2482 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
2483 (build-system gnu-build-system)
2484 (arguments
2485 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
2486 `(#:configure-flags
2487 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
2488 ;; ... which they then completly ignore !!
2489 #:phases
dc1d3cde
KK
2490 (modify-phases %standard-phases
2491 (add-before 'configure 'ignore-deprecations
2492 (lambda _
2493 (substitute* "activation-server/Makefile.in"
2494 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
2495 #t)))
2496
2497 ;; There's apparently a race condition between the server stub
2498 ;; generation and linking of the example under 'samples/echo' that can
2499 ;; lead do undefined references when building in parallel, as reported
2500 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
2501 ;; Thus, disable parallel builds.
2502 #:parallel-build? #f))
5698b8b8
JD
2503 (inputs `(("popt" ,popt)
2504 ("libxml2" ,libxml2)))
2505 ;; The following are Required by the .pc file
44add1ce 2506 (propagated-inputs
5698b8b8
JD
2507 `(("glib" ,glib)
2508 ("orbit2" ,orbit2)))
2509 (native-inputs
2510 `(("intltool" ,intltool)
2511 ("pkg-config" ,pkg-config)
221ed17a 2512 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2513 ("flex" ,flex)
2514 ("bison" ,bison)))
2515 (home-page "https://developer.gnome.org/libbonobo/")
2516 (synopsis "Framework for creating reusable components for use in GNOME applications")
2517 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 2518use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
2519 ;; Licence not explicitly stated. Source files contain no licence notices.
2520 ;; Tarball contains text of both GPLv2 and LGPLv2
2521 ;; GPLv2 covers both conditions
2522 (license license:gpl2+)))
2523
2524
2525(define-public gconf
2526 (package
2527 (name "gconf")
2528 (version "3.2.6")
2529 (source (origin
2530 (method url-fetch)
a124bbd2
SB
2531 (uri
2532 (let ((upstream-name "GConf"))
2533 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2534 (version-major+minor version) "/"
2535 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
2536 (sha256
2537 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
2538 (build-system gnu-build-system)
2e88d113 2539 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 2540 ("libxml2" ,libxml2)))
2e6ecc5c
AE
2541 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
2542 ("orbit2" ,orbit2)))
5698b8b8
JD
2543 (native-inputs
2544 `(("intltool" ,intltool)
221ed17a 2545 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2546 ("pkg-config" ,pkg-config)))
2547 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
2548 (synopsis "Store application preferences")
2549 (description "Gconf is a system for storing application preferences. It
2550is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
2551 (license license:lgpl2.0+)
2552 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
2553
2554
2555(define-public gnome-mime-data
2556 (package
2557 (name "gnome-mime-data")
2558 (version "2.18.0")
2559 (source (origin
2560 (method url-fetch)
b38e45d8
EB
2561 (uri (string-append "mirror://gnome/sources/" name "/"
2562 (version-major+minor version) "/"
2563 name "-" version ".tar.bz2"))
5698b8b8
JD
2564 (sha256
2565 (base32
2566 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
2567 (build-system gnu-build-system)
2568 (native-inputs
2569 `(("perl" ,perl)
2570 ("intltool" ,intltool)))
3e6add96
LC
2571 (arguments
2572 '(#:phases (modify-phases %standard-phases
2573 (add-after 'configure 'use-our-intltool
2574 (lambda _
2575 ;; Do not use the bundled intltool commands, which lack
2576 ;; the "dotless @INC" fixes of our 'intltool' package.
2577 (substitute* (find-files "." "^Makefile$")
2578 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
2579 (string-append "INTLTOOL_" tool " = intltool-"
2580 (string-downcase tool) "\n")))
2581 #t)))))
f032d0be 2582 (home-page "https://www.gnome.org")
35b9e423 2583 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
2584 (description "GNOME Mime Data is a module which contains the base MIME
2585and Application database for GNOME. The data stored by this module is
2586designed to be accessed through the MIME functions in GnomeVFS.")
2587 (license license:gpl2+)))
2588
2589
2590(define-public gnome-vfs
2591 (package
2592 (name "gnome-vfs")
2593 (version "2.24.4")
2594 (source (origin
2595 (method url-fetch)
b38e45d8
EB
2596 (uri (string-append "mirror://gnome/sources/" name "/"
2597 (version-major+minor version) "/"
2598 name "-" version ".tar.bz2"))
5698b8b8 2599 (sha256
9e12bc34
MW
2600 (base32
2601 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
2602 (build-system gnu-build-system)
2603 (arguments
db5127d8 2604 `(#:phases
dc1d3cde
KK
2605 (modify-phases %standard-phases
2606 (add-before 'configure 'ignore-deprecations
2607 (lambda _
2608 (substitute* '("libgnomevfs/Makefile.in"
2609 "daemon/Makefile.in")
2610 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2611 #t))
2612 (add-before 'configure 'patch-test-async-cancel-to-never-fail
2613 (lambda _
2614 (substitute* "test/test-async-cancel.c"
2615 (("EXIT_FAILURE") "77"))
2616 #t)))))
2e6ecc5c 2617 (inputs `(("libxml2" ,libxml2)
5698b8b8 2618 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
2619 ("gconf" ,gconf)
2620 ("gnome-mime-data" ,gnome-mime-data)
2621 ("zlib" ,zlib)))
2622 (native-inputs
221ed17a
EB
2623 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2624 ("intltool" ,intltool)
5698b8b8
JD
2625 ("pkg-config" ,pkg-config)))
2626 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 2627 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
2628 (description
2629 "GnomeVFS is the core library used to access files and folders in GNOME
2630applications. It provides a file system abstraction which allows applications
2631to access local and remote files with a single consistent API.")
5698b8b8
JD
2632 (license license:lgpl2.0+)))
2633
2634
2635
2636(define-public libgnome
2637 (package
2638 (name "libgnome")
2639 (version "2.32.1")
2640 (source (origin
2641 (method url-fetch)
b38e45d8
EB
2642 (uri (string-append "mirror://gnome/sources/" name "/"
2643 (version-major+minor version) "/"
2644 name "-" version ".tar.bz2"))
5698b8b8
JD
2645 (sha256
2646 (base32
17c3eea7
LC
2647 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
2648 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
2649 (build-system gnu-build-system)
2650 (arguments
2651 `(#:phases
dc1d3cde
KK
2652 (modify-phases %standard-phases
2653 (add-before 'configure 'enable-deprecated
2654 (lambda _
2655 (substitute* "libgnome/Makefile.in"
2656 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2657 #t)))))
25338e9f 2658 (inputs `(("libxml2" ,libxml2)))
5698b8b8 2659 (native-inputs
221ed17a
EB
2660 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2661 ("intltool" ,intltool)
5698b8b8
JD
2662 ("pkg-config" ,pkg-config)))
2663 ;; The following are listed as Required in the .pc file
2664 ;; (except for libcanberra -- which seems to be oversight on the part
2665 ;; of the upstream developers -- anything that links against libgnome,
2666 ;; must also link against libcanberra
2667 (propagated-inputs
2668 `(("libcanberra" ,libcanberra)
2669 ("libbonobo" ,libbonobo)
2670 ("gconf" ,gconf)
a640d3d5
LC
2671 ("gnome-vfs" ,gnome-vfs)
2672 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
2673 (home-page "https://developer.gnome.org/libgnome/")
2674 (synopsis "Useful routines for building applications")
2675 (description "The libgnome library provides a number of useful routines
2676for building modern applications, including session management, activation of
2677files and URIs, and displaying help.")
2678 (license license:lgpl2.0+)))
2679
2680
2681(define-public libart-lgpl
2682 (package
2683 (name "libart-lgpl")
76c9b6aa 2684 (version "2.3.21")
5698b8b8
JD
2685 (source (origin
2686 (method url-fetch)
2687 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
2688 (string-append "mirror://gnome/sources/" upstream-name "/"
2689 (version-major+minor version) "/"
2690 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
2691 (sha256
2692 (base32
76c9b6aa 2693 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
2694 (build-system gnu-build-system)
2695 (native-inputs
2696 `(("pkg-config" ,pkg-config)))
2697 (home-page "https://people.gnome.org/~mathieu/libart")
2698 (synopsis "2D drawing library")
2e6ecc5c 2699 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
2700high-quality vector-based 2D library with antialiasing and alpha composition.")
2701 (license license:lgpl2.0+)))
2702
2703
2704
2705(define-public libgnomecanvas
2706 (package
2707 (name "libgnomecanvas")
2708 (version "2.30.3")
2709 (source (origin
2710 (method url-fetch)
b38e45d8
EB
2711 (uri (string-append "mirror://gnome/sources/" name "/"
2712 (version-major+minor version) "/"
2713 name "-" version ".tar.gz"))
5698b8b8
JD
2714 (sha256
2715 (base32
2716 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
2717 (build-system gnu-build-system)
2718 ;; Mentioned as Required in the .pc file
2719 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
2720 ("gtk+" ,gtk+-2)))
2721 (native-inputs
2722 `(("intltool" ,intltool)
221ed17a 2723 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2724 ("pkg-config" ,pkg-config)))
2725 (home-page "https://developer.gnome.org/libgnomecanvas/")
2726 (synopsis "Flexible widget for creating interactive structured graphics")
2727 (description "The GnomeCanvas widget provides a flexible widget for
2728creating interactive structured graphics.")
2729 (license license:lgpl2.0+)))
2730
eadc734e
RW
2731(define-public libgnomecanvasmm
2732 (package
2733 (name "libgnomecanvasmm")
2734 (version "2.26.0")
2735 (source (origin
2736 (method url-fetch)
2737 (uri (string-append "mirror://gnome/sources/" name "/"
2738 (version-major+minor version) "/"
2739 name "-" version ".tar.bz2"))
2740 (sha256
2741 (base32
2742 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
2743 (build-system gnu-build-system)
2744 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
2745 (native-inputs
2746 `(("gtkmm-2" ,gtkmm-2)
2747 ("pkg-config" ,pkg-config)))
8e933cb3 2748 (home-page "https://gtkmm.org")
eadc734e
RW
2749 (synopsis "C++ bindings to the GNOME Canvas library")
2750 (description "C++ bindings to the GNOME Canvas library.")
2751 (license license:lgpl2.0+)))
2752
5698b8b8
JD
2753(define-public libgnomeui
2754 (package
2755 (name "libgnomeui")
2756 (version "2.24.5")
2757 (source (origin
2758 (method url-fetch)
b38e45d8
EB
2759 (uri (string-append "mirror://gnome/sources/" name "/"
2760 (version-major+minor version) "/"
2761 name "-" version ".tar.bz2"))
8fa1872a 2762 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
2763 (sha256
2764 (base32
2765 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
2766 (build-system gnu-build-system)
2767 ;; Mentioned as Required in the .pc file
0a38a497
AE
2768 (propagated-inputs `(("libbonoboui" ,libbonoboui)
2769 ("libgnome" ,libgnome)
2770 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 2771 ("libgnome-keyring" ,libgnome-keyring)))
4bd428a7 2772 (inputs `(("libjpeg" ,libjpeg-turbo)
5698b8b8
JD
2773 ("popt" ,popt)
2774 ("libbonobo" ,libbonobo)
2775 ("libxml2" ,libxml2)
2776 ("libglade" ,libglade)))
2777 (native-inputs
221ed17a
EB
2778 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2779 ("intltool" ,intltool)
5698b8b8
JD
2780 ("pkg-config" ,pkg-config)))
2781 (home-page "https://developer.gnome.org/libgnomeui/")
2782 (synopsis "Additional widgets for applications")
35b9e423 2783 (description "The libgnomeui library provides additional widgets for
e881752c
AK
2784applications. Many of the widgets from libgnomeui have already been
2785ported to GTK+.")
5698b8b8
JD
2786 (license license:lgpl2.0+)))
2787
2788(define-public libglade
2789 (package
2790 (name "libglade")
2791 (version "2.6.4")
2792 (source (origin
2793 (method url-fetch)
b38e45d8
EB
2794 (uri (string-append "mirror://gnome/sources/" name "/"
2795 (version-major+minor version) "/"
2796 name "-" version ".tar.bz2"))
5698b8b8
JD
2797 (sha256
2798 (base32
2799 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
2800 (build-system gnu-build-system)
2801 (inputs
92dcc23d
AE
2802 `(("python" ,python))) ;; needed for the optional libglade-convert program
2803 (propagated-inputs
5698b8b8 2804 `(("gtk+-2" ,gtk+-2)
92dcc23d 2805 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
2806 (native-inputs
2807 `(("pkg-config" ,pkg-config)))
2808 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
2809 (synopsis "Load glade interfaces and access the glade built widgets")
2810 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
2811graphical interfaces described in glade files and for accessing the
2812widgets built in the loading process.")
2813 (license license:gpl2+))) ; This is correct. GPL not LGPL
2814
2815(define-public libgnomeprint
eb497b66
LC
2816 ;; This library has been deprecated since 2006; see
2817 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
2818 (package
2819 (name "libgnomeprint")
d19db454 2820 (version "2.18.8")
5698b8b8
JD
2821 (source (origin
2822 (method url-fetch)
b38e45d8
EB
2823 (uri (string-append "mirror://gnome/sources/" name "/"
2824 (version-major+minor version) "/"
2825 name "-" version ".tar.bz2"))
5698b8b8
JD
2826 (sha256
2827 (base32
d19db454 2828 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
2829 (build-system gnu-build-system)
2830 (inputs
2831 `(("popt" ,popt)
2832 ("libart-lgpl" ,libart-lgpl)
2833 ("gtk+" ,gtk+-2)
44add1ce 2834 ("libxml2" ,libxml2)))
5698b8b8
JD
2835 (native-inputs
2836 `(("intltool" ,intltool)
221ed17a 2837 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2838 ("pkg-config" ,pkg-config)))
2839 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 2840 (synopsis "Printing framework for GNOME")
eb497b66
LC
2841 (description
2842 "GNOME-print was a printing framework for GNOME. It has been deprecated
2843since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
2844 (license license:lgpl2.0+)))
2845
2846
2847(define-public libgnomeprintui
eb497b66 2848 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
2849 (package
2850 (name "libgnomeprintui")
36053d7f 2851 (version "2.18.6")
5698b8b8
JD
2852 (source (origin
2853 (method url-fetch)
b38e45d8
EB
2854 (uri (string-append "mirror://gnome/sources/" name "/"
2855 (version-major+minor version) "/"
2856 name "-" version ".tar.bz2"))
5698b8b8
JD
2857 (sha256
2858 (base32
36053d7f 2859 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
2860 (build-system gnu-build-system)
2861 ;; Mentioned as Required in the .pc file
2862 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
2863 (inputs `(("gtk+" ,gtk+-2)
2864 ("glib" ,glib)
2865 ("gnome-icon-theme" ,gnome-icon-theme)
2866 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 2867 ("libxml2" ,libxml2)))
5698b8b8
JD
2868 (native-inputs
2869 `(("intltool" ,intltool)
2870 ("pkg-config" ,pkg-config)))
2871 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
2872 (synopsis "Printing framework for GNOME")
eb497b66 2873 (description (package-description libgnomeprint))
5698b8b8
JD
2874 (license license:lgpl2.0+)))
2875
5698b8b8
JD
2876(define-public libbonoboui
2877 (package
2878 (name "libbonoboui")
2879 (version "2.24.5")
2880 (source (origin
2881 (method url-fetch)
b38e45d8
EB
2882 (uri (string-append "mirror://gnome/sources/" name "/"
2883 (version-major+minor version) "/"
2884 name "-" version ".tar.bz2"))
5698b8b8
JD
2885 (sha256
2886 (base32
2887 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
2888 (build-system gnu-build-system)
2889 (arguments
2890 `(#:phases
dc1d3cde
KK
2891 (modify-phases %standard-phases
2892 (add-before 'check 'start-xserver
2893 (lambda* (#:key inputs #:allow-other-keys)
2894 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2895 (disp ":1"))
2896
2897 (setenv "HOME" (getcwd))
2898 (setenv "DISPLAY" disp)
2899 ;; There must be a running X server and make check doesn't start one.
2900 ;; Therefore we must do it.
2901 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
2902 ;; Mentioned as Required by the .pc file
2903 (propagated-inputs `(("libxml2" ,libxml2)))
2904 (inputs
2905 `(("popt" ,popt)
2906 ("pangox-compat" ,pangox-compat)
2907 ("libgnome" ,libgnome)
2908 ("libgnomecanvas" ,libgnomecanvas)
2909 ("libglade" ,libglade)))
2910 (native-inputs
221ed17a
EB
2911 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
2912 ("intltool" ,intltool)
ff337525 2913 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
2914 ("pkg-config" ,pkg-config)))
2915 (home-page "https://developer.gnome.org/libbonoboui/")
2916 (synopsis "Some user interface controls using Bonobo")
2917 (description "The Bonobo UI library provides a number of user interface
2918controls using the Bonobo component framework.")
2919 (license license:lgpl2.0+)))
2920
fecbf86e
SB
2921(define-public libwnck
2922 (package
2923 (name "libwnck")
d3b40696 2924 (version "3.32.0")
fecbf86e
SB
2925 (source (origin
2926 (method url-fetch)
2927 (uri (string-append "mirror://gnome/sources/" name "/"
2928 (version-major+minor version) "/"
2929 name "-" version ".tar.xz"))
2930 (sha256
ad9b8987 2931 (base32
d3b40696
KK
2932 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
2933 (build-system meson-build-system)
fecbf86e
SB
2934 (native-inputs
2935 `(("pkg-config" ,pkg-config)
d3b40696
KK
2936 ("glib" ,glib "bin") ; for glib-mkenums
2937 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
2938 ("intltool" ,intltool)))
2939 (propagated-inputs
427476d5
SB
2940 `(("gtk+" ,gtk+)
2941 ("libxres" ,libxres)
2942 ("startup-notification" ,startup-notification)))
fecbf86e
SB
2943 (home-page "https://developer.gnome.org/libwnck/")
2944 (synopsis "Window Navigator Construction Kit")
2945 (description
2946 "Libwnck is the Window Navigator Construction Kit, a library for use in
2947writing pagers, tasklists, and more generally applications that are dealing
2948with window management. It tries hard to respect the Extended Window Manager
2949Hints specification (EWMH).")
2950 (license license:lgpl2.0+)))
2951
2952;; stable version for gtk2, required by xfwm4.
dbb7a081 2953(define-public libwnck-2
fecbf86e
SB
2954 (package (inherit libwnck)
2955 (name "libwnck")
2956 (version "2.30.7")
2957 (source (origin
2958 (method url-fetch)
2959 (uri (string-append "mirror://gnome/sources/" name "/"
2960 (version-major+minor version) "/"
2961 name "-" version ".tar.xz"))
2962 (sha256
2963 (base32
2964 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
2965 (build-system gnu-build-system)
2966 (native-inputs
2967 `(("pkg-config" ,pkg-config)
2968 ("intltool" ,intltool)))
fecbf86e 2969 (propagated-inputs
427476d5
SB
2970 `(("gtk+" ,gtk+-2)
2971 ("libxres" ,libxres)
2972 ("startup-notification" ,startup-notification)))))
b804c61e
JD
2973
2974(define-public goffice
2975 (package
2976 (name "goffice")
09abffcc 2977 (version "0.10.46")
b804c61e
JD
2978 (source (origin
2979 (method url-fetch)
16243f0b 2980 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 2981 (version-major+minor version) "/"
16243f0b 2982 "goffice-" version ".tar.xz"))
b804c61e 2983 (sha256
09abffcc 2984 (base32 "1a8kba36zwzr0ilafc0d1nsxxma1qibviiifd0jhbxp180x6v385"))))
b804c61e 2985 (build-system gnu-build-system)
72a06d3e 2986 (outputs '("out"
355420c6 2987 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
2988 (arguments
2989 '(#:configure-flags (list (string-append "--with-html-dir="
2990 (assoc-ref %outputs "doc")
2991 "/share/gtk-doc/html"))))
b804c61e
JD
2992 (inputs
2993 `(("gtk+" ,gtk+)
2994 ("libgsf" ,libgsf)
2995 ("librsvg" ,librsvg)
2996 ("libxslt" ,libxslt)
2997 ("libxml2" ,libxml2)))
2998 (native-inputs
2999 `(("intltool" ,intltool)
f280cdb1 3000 ("glib" ,glib "bin")
b804c61e
JD
3001 ("pkg-config" ,pkg-config)))
3002 (home-page "https://developer.gnome.org/goffice/")
3003 (synopsis "Document-centric objects and utilities")
3004 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 3005 (license
b804c61e
JD
3006 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3007 ;; Note: NOT LGPL
3008 (list license:gpl2 license:gpl3))))
3009
c024ae36
RW
3010(define-public goffice-0.8
3011 (package (inherit goffice)
3012 (version "0.8.17")
3013 (source (origin
3014 (method url-fetch)
3015 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
3016 (version-major+minor version) "/"
3017 (package-name goffice) "-" version ".tar.xz"))
3018 (sha256
3019 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
3020 (arguments
3021 `(#:phases
dc1d3cde
KK
3022 (modify-phases %standard-phases
3023 (add-after 'unpack 'fix-pcre-check
3024 (lambda _
3025 ;; Only glib.h can be included directly. See
3026 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
3027 (substitute* "configure"
3028 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
3029
3030 ,@(package-arguments goffice)))
c024ae36
RW
3031 (propagated-inputs
3032 ;; libgoffice-0.8.pc mentions libgsf-1
3033 `(("libgsf" ,libgsf)))
3034 (inputs
3035 `(("gtk" ,gtk+-2)
3036 ,@(alist-delete "gtk" (package-inputs goffice))))))
3037
b804c61e
JD
3038(define-public gnumeric
3039 (package
3040 (name "gnumeric")
f0517b5d 3041 (version "1.12.46")
b804c61e
JD
3042 (source (origin
3043 (method url-fetch)
b7fd0217 3044 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 3045 (version-major+minor version) "/"
b7fd0217 3046 "gnumeric-" version ".tar.xz"))
b804c61e
JD
3047 (sha256
3048 (base32
f0517b5d 3049 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 3050 (build-system glib-or-gtk-build-system)
b804c61e
JD
3051 (arguments
3052 `(;; The gnumeric developers don't worry much about failing tests.
3053 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 3054 #:tests? #f
b804c61e 3055 #:phases
7bcbd40d
EF
3056 (modify-phases %standard-phases
3057 (add-before
3058 'configure 'pre-conf
3059 (lambda* (#:key outputs #:allow-other-keys)
3060 ;; Make install tries to write into the directory of goffice
3061 ;; I am informed that this only affects the possibility to embed a
3062 ;; spreadsheet inside an Abiword document. So presumably when we
3063 ;; package Abiword we'll have to refer it to this directory.
3064 (substitute* "configure"
3065 (("^GOFFICE_PLUGINS_DIR=.*")
3066 (string-append "GOFFICE_PLUGINS_DIR="
3067 (assoc-ref outputs "out")
3068 "/goffice/plugins"))))))))
b804c61e
JD
3069 (inputs
3070 `(("glib" ,glib)
3071 ("gtk+" ,gtk+)
3072 ("goffice" ,goffice)
3073 ("libgsf" ,libgsf)
7bcbd40d 3074 ("librsvg" ,librsvg)
b804c61e 3075 ("libxml2" ,libxml2)
7bcbd40d 3076 ("libxslt" ,libxslt)
2e4c5457 3077 ("python" ,python-2)
6983ba56 3078 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
3079 ("zlib" ,zlib)))
3080 (native-inputs
6983ba56 3081 `(("bison" ,bison)
1ed398d1 3082 ("docbook-xml" ,docbook-xml)
6983ba56 3083 ("intltool" ,intltool)
785fcb62 3084 ("itstool" ,itstool)
b9663471 3085 ("glib:bin" ,glib "bin")
b804c61e
JD
3086 ("pkg-config" ,pkg-config)))
3087 (home-page "http://www.gnumeric.org")
66672a45
LC
3088 (synopsis "Spreadsheet application")
3089 (description
3090 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
3091interoperable with other spreadsheet applications. It has a vast array of
3092features beyond typical spreadsheet functionality, such as support for linear
3093and non-linear solvers, statistical analysis, and telecommunication
3094engineering.")
3095 (license
b804c61e
JD
3096 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3097 (list license:gpl2 license:gpl3))))
6f885c05
FB
3098
3099(define-public gnome-themes-standard
3100 (package
3101 (name "gnome-themes-standard")
0b7b8fb0 3102 (version "3.22.3")
6f885c05
FB
3103 (source
3104 (origin
3105 (method url-fetch)
2e6ecc5c 3106 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
3107 (version-major+minor version) "/" name "-"
3108 version ".tar.xz"))
3109 (sha256
3110 (base32
0b7b8fb0 3111 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 3112 (build-system gnu-build-system)
8ac70c7f
SB
3113 (arguments
3114 '(#:configure-flags
3115 ;; Don't create 'icon-theme.cache'.
3116 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
3117 (true (string-append coreutils "/bin/true")))
3118 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
3119 (inputs
3120 `(("gtk+" ,gtk+)
3121 ("gtk+-2" ,gtk+-2)
3122 ("librsvg" ,librsvg)
3123 ("libxml2" ,libxml2)
3124 ("glib" ,glib)))
3125 (native-inputs
3126 `(("intltool" ,intltool)
3127 ("glib:bin" ,glib "bin")
3128 ("pkg-config" ,pkg-config)))
6f885c05
FB
3129 (home-page "https://launchpad.net/gnome-themes-standard")
3130 (synopsis "Default GNOME 3 themes")
3131 (description
3132 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
3133 (license license:lgpl2.1+)))
5a659a48 3134
df90c701
RW
3135(define-public seahorse
3136 (package
3137 (name "seahorse")
1efcf722 3138 (version "3.34")
df90c701
RW
3139 (source
3140 (origin
3141 (method url-fetch)
3142 (uri (string-append "mirror://gnome/sources/" name "/"
3143 (version-major+minor version) "/" name "-"
3144 version ".tar.xz"))
3145 (sha256
3146 (base32
1efcf722 3147 "16sfnqrdlr5xx6kixx2ln1mva7nngjlw1k3f5n454vyaigffjh2v"))))
af561664
MÁAV
3148 (build-system meson-build-system)
3149 (arguments
bcea3c11
KK
3150 '(#:glib-or-gtk? #t
3151 #:phases
af561664
MÁAV
3152 (modify-phases %standard-phases
3153 (add-after 'unpack 'skip-gtk-update-icon-cache
3154 ;; Don't create 'icon-theme.cache'.
3155 (lambda _
3156 (substitute* "build-aux/meson_post_install.py"
3157 (("gtk-update-icon-cache") "true"))
3158 #t)))))
df90c701
RW
3159 (inputs
3160 `(("gtk+" ,gtk+)
3161 ("gcr" ,gcr)
34b979b9 3162 ("gnupg" ,gnupg)
df90c701 3163 ("gpgme" ,gpgme)
34b979b9 3164 ("openldap" ,openldap)
4a1bf090 3165 ("openssh" ,openssh)
af561664 3166 ("avahi" ,avahi)
bcea3c11 3167 ("libpwquality" ,libpwquality)
34b979b9
EF
3168 ("libsecret" ,libsecret)
3169 ("libsoup" ,libsoup)))
df90c701 3170 (native-inputs
af561664 3171 `(("gettext" ,gettext-minimal)
df90c701
RW
3172 ("glib:bin" ,glib "bin")
3173 ("itstool" ,itstool)
bcb354ad 3174 ("pkg-config" ,pkg-config)
af561664 3175 ("vala" ,vala)
bcb354ad 3176 ("xmllint" ,libxml2)))
bcea3c11 3177 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
3178 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
3179 (description
3180 "Seahorse is a GNOME application for managing encryption keys and
3181passwords in the GNOME keyring.")
3182 (license license:gpl2+)))
3183
5a659a48
SB
3184(define-public vala
3185 (package
3186 (name "vala")
b92a36db 3187 (version "0.46.5")
5a659a48
SB
3188 (source (origin
3189 (method url-fetch)
3190 (uri (string-append "mirror://gnome/sources/" name "/"
3191 (version-major+minor version) "/"
3192 name "-" version ".tar.xz"))
3193 (sha256
3194 (base32
b92a36db 3195 "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s"))))
5a659a48 3196 (build-system gnu-build-system)
1ea90625
SB
3197 (arguments
3198 '(#:phases
3199 (modify-phases %standard-phases
f4925a4f 3200 (add-before 'check 'pre-check
1ea90625
SB
3201 (lambda _
3202 (setenv "CC" "gcc")
8839b6be
RW
3203 (substitute* "valadoc/tests/testrunner.sh"
3204 (("export PKG_CONFIG_PATH=" m)
3205 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
3206 ;; For missing '/etc/machine-id'.
3207 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 3208 #t)))))
5a659a48
SB
3209 (native-inputs
3210 `(("pkg-config" ,pkg-config)
3211 ("flex" ,flex)
3212 ("bison" ,bison)
3213 ("xsltproc" ,libxslt)
3214 ("dbus" ,dbus) ; for dbus tests
3215 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
3216 (inputs
3217 `(("graphviz" ,graphviz)))
5a659a48 3218 (propagated-inputs
8839b6be 3219 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 3220 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
3221 (synopsis "Compiler for the GObject type system")
3222 (description
3223 "Vala is a programming language that aims to bring modern programming
3224language features to GNOME developers without imposing any additional runtime
3225requirements and without using a different ABI compared to applications and
3226libraries written in C.")
3227 (license license:lgpl2.1+)))
ea57378f
SB
3228
3229(define-public vte
3230 (package
3231 (name "vte")
663def11 3232 (version "0.60.2")
ea57378f
SB
3233 (source (origin
3234 (method url-fetch)
ac87ffb8 3235 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 3236 (version-major+minor version) "/"
ac87ffb8 3237 "vte-" version ".tar.xz"))
ea57378f
SB
3238 (sha256
3239 (base32
663def11 3240 "19ccbw0yca78h5qcnm8claj4fg1pj68nj1fsjqqfpzhj7w72i81m"))))
68c47474 3241 (build-system meson-build-system)
663def11
RPG
3242 (arguments
3243 `(#:configure-flags
11491e1b
DM
3244 '("-Dvapi=true"
3245 "-D_systemd=false")))
ea57378f
SB
3246 (native-inputs
3247 `(("pkg-config" ,pkg-config)
3248 ("intltool" ,intltool)
3249 ("vala" ,vala)
3250 ("gobject-introspection" ,gobject-introspection)
68c47474 3251 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 3252 ("gperf" ,gperf)
ea57378f
SB
3253 ("xmllint" ,libxml2)))
3254 (propagated-inputs
68c47474
TGR
3255 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
3256 ("gnutls" ,gnutls) ; ditto
3257 ("pcre2" ,pcre2))) ; ditto
f032d0be 3258 (home-page "https://www.gnome.org/")
ea57378f
SB
3259 (synopsis "Virtual Terminal Emulator")
3260 (description
3261 "VTE is a library (libvte) implementing a terminal emulator widget for
3262GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
3263gnome-terminal, but can also be used to embed a console/terminal in games,
3264editors, IDEs, etc.")
3265 (license license:lgpl2.1+)))
3266
c44fb4df
MO
3267(define-public vte-ng
3268 (package
3269 (inherit vte)
3270 (name "vte-ng")
24f4fcbe 3271 (version "0.58.2.a")
afd90f8d 3272 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
3273 (source (origin
3274 (method git-fetch)
3275 (uri (git-reference (url home-page) (commit version)))
3276 (file-name (git-file-name name version))
3277 (sha256
3278 (base32
24f4fcbe
MB
3279 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
3280 (build-system meson-build-system)
c44fb4df
MO
3281 (native-inputs
3282 `(("gtk-doc" ,gtk-doc)
c44fb4df 3283 ,@(package-native-inputs vte)))
c44fb4df 3284 (arguments
24f4fcbe 3285 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
3286 (synopsis "Enhanced VTE terminal widget")
3287 (description
3288 "VTE is a library (libvte) implementing a terminal emulator widget for
3289GTK+, this fork provides additional functions exposed for keyboard text
3290selection and URL hints.")))
3291
2776d72c
EF
3292;; provides vte 2.90, required for some terminal emulators
3293;; tilda bug: https://github.com/lanoxx/tilda/issues/94
3294;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
3295;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
3296;; pantheon-terminal, roxterm are not currently packaged
3297(define-public vte-0.36
3298 (package (inherit vte)
3299 (name "vte")
3300 (version "0.36.5")
3301 (source (origin
3302 (method url-fetch)
3303 (uri (string-append "mirror://gnome/sources/" name "/"
3304 (version-major+minor version) "/"
3305 name "-" version ".tar.xz"))
3306 (sha256
3307 (base32
3308 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
3309 (propagated-inputs
3310 `(("gtk" ,gtk+)
3311 ("ncurses" ,ncurses)))))
3312
ea57378f
SB
3313;; stable version for gtk2, required by xfce4-terminal.
3314(define-public vte/gtk+-2
3315 (package (inherit vte)
3316 (name "vte")
3317 (version "0.28.2")
3318 (source (origin
3319 (method url-fetch)
3320 (uri (string-append "mirror://gnome/sources/" name "/"
3321 (version-major+minor version) "/"
3322 name "-" version ".tar.xz"))
3323 (sha256
3324 (base32
7d48938a
EF
3325 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
3326 (patches (search-patches
3327 "vte-CVE-2012-2738-pt1.patch"
3328 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 3329 (build-system gnu-build-system)
ea57378f
SB
3330 (arguments
3331 '(#:configure-flags '("--disable-python")))
3332 (native-inputs
3333 `(("pkg-config" ,pkg-config)
3334 ("intltool" ,intltool)
3335 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
3336 (propagated-inputs
3337 `(("gtk+" ,gtk+-2) ; required by libvte.pc
3338 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 3339
cce0da5e
TD
3340(define-public vinagre
3341 (package
3342 (name "vinagre")
3343 (version "3.22.0")
3344 (source (origin
3345 (method url-fetch)
3346 (uri (string-append "mirror://gnome/sources/" name "/"
3347 (version-major+minor version) "/"
3348 name "-" version ".tar.xz"))
684f97f8
EF
3349 (patches (search-patches "vinagre-newer-freerdp.patch"
3350 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
3351 (sha256
3352 (base32
3353 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
3354 (build-system glib-or-gtk-build-system)
684f97f8 3355 (arguments
7f486d25
MC
3356 ;; Disable -Werror and such, to avoid build failures on compilation
3357 ;; warnings.
3358 '(#:configure-flags '("--enable-compile-warnings=minimum")
3359 #:phases
684f97f8 3360 (modify-phases %standard-phases
1839768c
EF
3361 (add-before 'install 'skip-gtk-update-icon-cache
3362 (lambda _
3363 ;; Don't create 'icon-theme.cache'
3364 (substitute* (find-files "." "^Makefile$")
3365 (("gtk-update-icon-cache") (which "true")))
3366 #t))
684f97f8
EF
3367 (add-after 'unpack 'patch-configure
3368 (lambda _
3369 (substitute* "configure"
3370 (("freerdp") "freerdp2"))
3371 #t)))))
cce0da5e
TD
3372 (native-inputs
3373 `(("pkg-config" ,pkg-config)
3374 ("intltool" ,intltool)
3375 ("itstool" ,itstool)
1839768c 3376 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
3377 (inputs
3378 `(("libxml2" ,libxml2)
3379 ("gtk-vnc" ,gtk-vnc)
3380 ("gnome-keyring" ,gnome-keyring)
3381 ("libsecret" ,libsecret)
3382 ("freerdp" ,freerdp)
3383 ("spice" ,spice)
3384 ("spice-gtk" ,spice-gtk)
3385 ("telepathy-glib" ,telepathy-glib)
3386 ("vte" ,vte)))
cce0da5e
TD
3387 (home-page "https://wiki.gnome.org/Apps/Vinagre")
3388 (synopsis "Remote desktop viewer for GNOME")
3389 (description "Vinagre is a remote display client supporting the VNC, SPICE
3390and RDP protocols.")
3391 (license license:gpl3+)))
3392
b47e1b20
FB
3393(define-public dconf
3394 (package
3395 (name "dconf")
7f4d075d 3396 (version "0.34.0")
b47e1b20
FB
3397 (source (origin
3398 (method url-fetch)
3399 (uri (string-append
2e6ecc5c 3400 "mirror://gnome/sources/" name "/"
b47e1b20
FB
3401 (version-major+minor version) "/"
3402 name "-" version ".tar.xz"))
46c3a08b 3403 (patches (search-patches "dconf-meson-0.52.patch"))
b47e1b20 3404 (sha256
f05c809f 3405 (base32
7f4d075d 3406 "0lnsl85cp2vpzgp8pkf6l6yd2i3lp02jdvga1icfa78j2smr8fll"))))
35fa923d 3407 (build-system meson-build-system)
bc036f4c
MB
3408 (propagated-inputs
3409 ;; In Requires of dconf.pc.
3410 `(("glib" ,glib)))
b47e1b20
FB
3411 (inputs
3412 `(("gtk+" ,gtk+)
bc036f4c 3413 ("dbus" ,dbus)))
b47e1b20 3414 (native-inputs
1e33331c
MB
3415 `(("bash-completion" ,bash-completion)
3416 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 3417 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
3418 ("docbook-xml" ,docbook-xml-4.2)
3419 ("docbook-xsl" ,docbook-xsl)
35fa923d 3420 ("glib:bin" ,glib "bin")
03676d6f 3421 ("gtk-doc" ,gtk-doc)
35fa923d
MB
3422 ("pkg-config" ,pkg-config)
3423 ("vala" ,vala)))
b47e1b20
FB
3424 (arguments
3425 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
3426 ; or /etc/machine-id.
35fa923d
MB
3427 #:glib-or-gtk? #t
3428 #:configure-flags '("-Denable-gtk-doc=true")))
b47e1b20
FB
3429 (home-page "https://developer.gnome.org/dconf")
3430 (synopsis "Low-level GNOME configuration system")
3431 (description "Dconf is a low-level configuration system. Its main purpose
3432is to provide a backend to GSettings on platforms that don't already have
3433configuration storage systems.")
e20e6b40 3434 (license license:lgpl2.1+)))
109da1c0
AE
3435
3436(define-public json-glib
3437 (package
3438 (name "json-glib")
4115e8ea 3439 (version "1.4.4")
109da1c0
AE
3440 (source (origin
3441 (method url-fetch)
3442 (uri (string-append "mirror://gnome/sources/" name "/"
3443 (version-major+minor version) "/"
3444 name "-" version ".tar.xz"))
3445 (sha256
3446 (base32
4115e8ea 3447 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 3448 (build-system meson-build-system)
109da1c0 3449 (native-inputs
98afa184
MB
3450 `(("gettext" ,gettext-minimal)
3451 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
3452 ("gobject-introspection" ,gobject-introspection)
3453 ("pkg-config" ,pkg-config)))
3454 (propagated-inputs
88c6b580 3455 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
3456 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
3457 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
3458 (description
3459 "JSON-GLib is a C library based on GLib providing serialization and
3460deserialization support for the JavaScript Object Notation (JSON) format
3461described by RFC 4627. It provides parser and generator GObject classes and
3462various wrappers for the complex data types employed by JSON, such as arrays
3463and objects.")
109da1c0 3464 (license license:lgpl2.1+)))
6f96a359
SB
3465
3466(define-public libxklavier
3467 (package
3468 (name "libxklavier")
5f39050b 3469 (version "5.4")
6f96a359 3470 (source (origin
5f39050b 3471 ;; Note: There's no tarball at ftp.gnome.org for this version.
3472 (method git-fetch)
3473 (uri (git-reference
3474 (url "https://anongit.freedesktop.org/git/libxklavier")
3475 (commit (string-append "libxklavier-" version))))
6f96a359
SB
3476 (sha256
3477 (base32
5f39050b 3478 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
3479 (file-name (git-file-name name version))))
6f96a359
SB
3480 (build-system gnu-build-system)
3481 (arguments
778d6b52 3482 '(#:configure-flags
6f96a359
SB
3483 (list (string-append "--with-xkb-base="
3484 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 3485 "/share/X11/xkb")
3486 "--disable-xmodmap-support")))
6f96a359
SB
3487 (native-inputs
3488 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
3489 ("gobject-introspection" ,gobject-introspection)
5f39050b 3490 ("pkg-config" ,pkg-config)
3491 ("gtk-doc" ,gtk-doc)
3492 ("intltool" ,intltool)
3493 ("which" ,which)
3494 ("autoconf" ,autoconf)
3495 ("automake" ,automake)
3496 ("libtool" ,libtool)))
6f96a359
SB
3497 (propagated-inputs
3498 ;; Required by libxklavier.pc.
3499 `(("glib" ,glib)
3500 ("libxml2" ,libxml2)))
3501 (inputs
3502 `(("iso-codes" ,iso-codes)
3503 ("libxi" ,libxi)
3504 ("libxkbfile" ,libxkbfile)
3505 ("xkbcomp" ,xkbcomp)
3506 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 3507 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
3508 (synopsis "High-level API for X Keyboard Extension")
3509 (description
3510 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
3511Extension known as XKB. This library is intended to support XFree86 and other
3512commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
3513indicators etc).")
3514 (license license:lgpl2.0+)))
619936a4
LC
3515
3516(define-public python2-rsvg
3517 ;; XXX: This is actually a subset of gnome-python-desktop.
3518 (package
3519 (name "python2-rsvg")
3520 (version "2.32.0")
3521 (source
3522 (origin
3523 (method url-fetch)
3524 (uri (string-append
3525 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
3526 version ".tar.bz2"))
3527 (sha256
3528 (base32
3529 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
3530 (build-system gnu-build-system)
3531 (native-inputs
3532 `(("pkg-config" ,pkg-config)))
3533 (inputs
3534 `(("python" ,python-2)
3535 ("python2-pygtk" ,python2-pygtk)
3536 ("librsvg" ,librsvg)))
f032d0be 3537 (home-page "https://www.gnome.org")
619936a4
LC
3538 (synopsis "Python bindings to librsvg")
3539 (description
3ad75446 3540 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
3541library.")
3542
3543 ;; This is the license of the rsvg bindings. The license of each module
3544 ;; of gnome-python-desktop is given in 'COPYING'.
3545 (license license:lgpl2.1+)))
a31a6d22 3546
f2ca414a
SB
3547(define-public glib-networking
3548 (package
3549 (name "glib-networking")
ea9f74b0 3550 (version "2.62.2")
f2ca414a
SB
3551 (source (origin
3552 (method url-fetch)
3553 (uri (string-append "mirror://gnome/sources/glib-networking/"
3554 (version-major+minor version) "/"
fb8fe1e8 3555 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
3556 (sha256
3557 (base32
ea9f74b0 3558 "0i2mw75297ql72h47vyvff3hqa0kcmqybblj52fqrarb0kfbhi06"))))
65211552 3559 (build-system meson-build-system)
f2ca414a 3560 (arguments
0d75c64d 3561 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
3562 (native-inputs
3563 `(("pkg-config" ,pkg-config)
3564 ("intltool" ,intltool)))
3565 (inputs
3566 `(("glib" ,glib)
3567 ("gnutls" ,gnutls)
4b8f1313 3568 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 3569 (home-page "https://www.gnome.org")
f2ca414a
SB
3570 (synopsis "Network-related GIO modules")
3571 (description
3572 "This package contains various network related extensions for the GIO
3573library.")
3574 (license license:lgpl2.0+)))
3575
ca649680 3576(define-public rest
4510b2da 3577 (package
ca649680 3578 (name "rest")
a4194d16 3579 (version "0.8.1")
4510b2da
SB
3580 (source (origin
3581 (method url-fetch)
3582 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
3583 (version-major+minor version) "/"
3584 name "-" version ".tar.xz"))
4510b2da
SB
3585 (sha256
3586 (base32
a4194d16 3587 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
3588 (build-system gnu-build-system)
3589 (arguments
3590 '(#:tests? #f ; tests require internet connection
3591 #:configure-flags
3592 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
3593 (native-inputs
3594 `(("glib-mkenums" ,glib "bin")
3595 ("gobject-introspection" ,gobject-introspection)
3596 ("pkg-config" ,pkg-config)))
3597 (propagated-inputs
3598 ;; rest-0.7.pc refers to all these.
3599 `(("glib" ,glib)
3600 ("libsoup" ,libsoup)
3601 ("libxml2" ,libxml2)))
24d6cc1d 3602 (home-page "https://www.gtk.org/")
4510b2da
SB
3603 (synopsis "RESTful web api query library")
3604 (description
3605 "This library was designed to make it easier to access web services that
3606claim to be \"RESTful\". It includes convenience wrappers for libsoup and
3607libxml to ease remote use of the RESTful API.")
3608 (license license:lgpl2.1+)))
3609
6e1bb642
SB
3610(define-public libsoup
3611 (package
3612 (name "libsoup")
9a9cd9bc 3613 (version "2.70.0")
6e1bb642
SB
3614 (source (origin
3615 (method url-fetch)
3616 (uri (string-append "mirror://gnome/sources/libsoup/"
3617 (version-major+minor version) "/"
c1b79b36 3618 "libsoup-" version ".tar.xz"))
6e1bb642
SB
3619 (sha256
3620 (base32
9a9cd9bc 3621 "0hjk9lgppc5435my0lyywbpmj7ib5vvcylwfin8ki97g9bvj1c2l"))))
eccaa8bf 3622 (build-system meson-build-system)
6e1bb642
SB
3623 (outputs '("out" "doc"))
3624 (arguments
2deb146f 3625 `(#:modules ((guix build utils)
eccaa8bf 3626 (guix build meson-build-system)
2deb146f
LC
3627 (ice-9 popen))
3628
f8026a79 3629 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
3630 #:phases
3631 (modify-phases %standard-phases
eccaa8bf 3632 (add-after 'unpack 'adjust-tests
26c228f9 3633 (lambda _
eccaa8bf
MB
3634 ;; This test fails due to missing /etc/nsswitch.conf
3635 ;; in the build environment.
26c228f9
LC
3636 (substitute* "tests/socket-test.c"
3637 ((".*/sockets/unconnected.*") ""))
2deb146f 3638
f8026a79
MB
3639 ;; These fail because "subdomain.localhost" does not resolve in
3640 ;; the build environment.
3641 (substitute* "tests/hsts-test.c"
3642 ((".*/hsts/basic.*") "")
3643 ((".*/hsts/subdomains.*") "")
3644 ((".*/hsts/superdomain.*") "")
3645 ((".*/hsts/utf8-address.*") ""))
3646 (substitute* "tests/hsts-db-test.c"
3647 ((".*/hsts-db/subdomains.*") ""))
3648
2deb146f
LC
3649 ;; Generate a self-signed certificate that has "localhost" as its
3650 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
3651 ;; 3.5.12, tests such as "ssl-tests" fail:
3652 ;;
3653 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
3654 ;;
3655 ;; 'certtool' is interactive so we have to pipe it the answers.
3656 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
3657 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
3658 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
3659 (for-each (lambda (line)
3660 (display line pipe)
3661 (newline pipe))
3662 '("" ;Common name
3663 "" ;UID
3664 "Guix" ;Organizational unit name
3665 "GNU" ;Organization name
3666 "" ;Locality name
3667 "" ;State or province
3668 "" ;Country
3669 "" ;subject's domain component (DC)
3670 "" ;E-mail
3671 "" ;serial number
3672 "-1" ;expiration time
3673 "N" ;belong to authority?
3674 "N" ;web client certificate?
3675 "N" ;IPsec IKE?
3676 "Y" ;web server certificate?
3677 "localhost" ;dnsName of subject
3678 "" ;dnsName of subject (end)
3679 "" ;URI of subject
3680 "127.0.0.1" ;IP address of subject
3681 "" ;signing?
06f5bc4e
MB
3682 "" ;encryption (RSA)?
3683 "" ;data encryption?
2deb146f
LC
3684 "" ;sign OCSP requests?
3685 "" ;sign code?
3686 "" ;time stamping?
3687 "" ;email protection?
3688 "" ;URI of the CRL distribution point
3689 "y" ;above info OK?
3690 ))
3691 (close-pipe pipe))
26c228f9 3692 #t))
eccaa8bf
MB
3693 (add-after 'install 'move-doc
3694 (lambda* (#:key outputs #:allow-other-keys)
3695 (let ((out (assoc-ref outputs "out"))
3696 (doc (assoc-ref outputs "doc")))
3697 (mkdir-p (string-append doc "/share"))
3698 (copy-recursively (string-append out "/share/gtk-doc")
3699 (string-append doc "/share/gtk-doc"))
3700 (delete-file-recursively (string-append out "/share/gtk-doc"))
3701 #t))))))
6e1bb642 3702 (native-inputs
26c228f9 3703 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 3704 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 3705 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
3706 ("intltool" ,intltool)
3707 ("pkg-config" ,pkg-config)
3708 ("python" ,python-wrapper)
fd730590 3709 ("vala" ,vala)
6e1bb642
SB
3710 ;; These are needed for the tests.
3711 ;; FIXME: Add PHP once available.
3712 ("curl" ,curl)
2deb146f 3713 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
3714 ("httpd" ,httpd)))
3715 (propagated-inputs
3716 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
3717 `(("brotli" ,google-brotli)
3718 ("glib" ,glib)
249846bf 3719 ("libpsl" ,libpsl)
eccaa8bf 3720 ("libxml2" ,libxml2)
f8026a79
MB
3721 ("sqlite" ,sqlite)
3722 ("zlib" ,zlib)))
eccaa8bf
MB
3723 (inputs
3724 `(("glib-networking" ,glib-networking)
3725 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
3726 (home-page "https://live.gnome.org/LibSoup/")
3727 (synopsis "GLib-based HTTP Library")
3728 (description
3729 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
3730and the GLib main loop, to integrate well with GNOME applications.")
3731 (license license:lgpl2.0+)))
3732
bba229a3
SB
3733(define-public libsecret
3734 (package
3735 (name "libsecret")
b05a2f62 3736 (version "0.20.3")
bba229a3
SB
3737 (source (origin
3738 (method url-fetch)
3739 (uri (string-append
896dcbc7
EF
3740 "mirror://gnome/sources/libsecret/"
3741 (version-major+minor version) "/"
0ada4e29 3742 "libsecret-" version ".tar.xz"))
bba229a3
SB
3743 (sha256
3744 (base32
b05a2f62 3745 "1r4habxdzmn02id324m0m4mg5isf22q1z436bg3vjjmcz1b3rjsg"))))
bba229a3
SB
3746 (build-system gnu-build-system)
3747 (outputs '("out" "doc"))
3748 (arguments
3749 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
3750 #:configure-flags
3751 (list (string-append "--with-html-dir="
3752 (assoc-ref %outputs "doc")
3753 "/share/gtk-doc/html"))))
3754 (native-inputs
c06ef010
MB
3755 `(("gettext" ,gettext-minimal)
3756 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 3757 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
3758 ("pkg-config" ,pkg-config)
3759 ("vala" ,vala)
3760 ("xsltproc" ,libxslt)))
3761 ;; These are needed for the tests.
3762 ;; FIXME: Add gjs once available.
3763 ;("dbus" ,dbus)
3764 ;("python2" ,python-2)
3765 ;("python2-dbus" ,python2-dbus)
3766 ;("python2-pygobject" ,python2-pygobject)
3767 ;("python2-pygobject-2" ,python2-pygobject-2)))
3768 (propagated-inputs
3769 `(("glib" ,glib))) ; required by libsecret-1.pc
3770 (inputs
3771 `(("docbook-xsl" ,docbook-xsl)
3772 ("libgcrypt" ,libgcrypt)
3773 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
3774 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
3775 (synopsis "GObject bindings for \"Secret Service\" API")
3776 (description
3777 "Libsecret is a GObject based library for storing and retrieving passwords
3778and other secrets. It communicates with the \"Secret Service\" using DBus.")
3779 (license license:lgpl2.1+)))
3780
b6821ee0 3781(define-public five-or-more
3782 (package
3783 (name "five-or-more")
ee75b46f 3784 (version "3.32.2")
b6821ee0 3785 (source
3786 (origin
3787 (method url-fetch)
bf782bfc 3788 (uri (string-append "mirror://gnome/sources/five-or-more/"
b6821ee0 3789 (version-major+minor version) "/"
bf782bfc 3790 "five-or-more-" version ".tar.xz"))
b6821ee0 3791 (sha256
ee75b46f 3792 (base32 "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii"))))
d9795e93
KK
3793 (build-system meson-build-system)
3794 (arguments
3795 '(#:glib-or-gtk? #t
3796 #:phases
3797 (modify-phases %standard-phases
3798 (add-after 'unpack 'skip-gtk-update-icon-cache
3799 (lambda _
3800 (substitute* "meson_post_install.py"
3801 (("gtk-update-icon-cache") (which "true")))
3802 #t)))))
b6821ee0 3803 (native-inputs
3804 `(("pkg-config" ,pkg-config)
d9795e93 3805 ("appstream-glib" ,appstream-glib)
b6821ee0 3806 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 3807 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 3808 ("intltool" ,intltool)
3809 ("itstool" ,itstool)
d9795e93 3810 ("vala" ,vala)
b6821ee0 3811 ("xmllint" ,libxml2)))
3812 (inputs
3813 `(("gtk+" ,gtk+)
d9795e93 3814 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 3815 ("librsvg" ,librsvg)))
3816 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
3817 (synopsis "Logic puzzle game")
3818 (description "Five or More is a game where you try to align
3819 five or more objects of the same color and shape causing them to disappear.
3820 On every turn more objects will appear, until the board is full.
3821 Try to last as long as possible.")
3822 (license license:gpl2+)))
3823
a31a6d22
SB
3824(define-public gnome-mines
3825 (package
3826 (name "gnome-mines")
d79e9b1b 3827 (version "3.34.0")
a31a6d22
SB
3828 (source
3829 (origin
3830 (method url-fetch)
3831 (uri (string-append "mirror://gnome/sources/" name "/"
3832 (version-major+minor version) "/"
3833 name "-" version ".tar.xz"))
3834 (sha256
3835 (base32
d79e9b1b 3836 "1spxa6qr1y8s5rrsvpciywpvhk812ngn95s1apaxaigwy2g1iw54"))))
8c0fab36 3837 (build-system meson-build-system)
a31a6d22 3838 (arguments
2d817e41
KK
3839 '(#:glib-or-gtk? #t
3840 #:phases
a31a6d22 3841 (modify-phases %standard-phases
2d817e41
KK
3842 (add-after 'unpack 'skip-gtk-update-icon-cache
3843 (lambda _
3844 (substitute* "build-aux/meson_post_install.py"
3845 (("gtk-update-icon-cache") (which "true")))
3846 #t)))))
a31a6d22 3847 (native-inputs
8c0fab36
RW
3848 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
3849 ("pkg-config" ,pkg-config)
a31a6d22
SB
3850 ("desktop-file-utils" ,desktop-file-utils)
3851 ("intltool" ,intltool)
bcb354ad 3852 ("itstool" ,itstool)
8c0fab36
RW
3853 ("vala" ,vala)
3854 ("yelp" ,yelp)
3855 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
3856 (inputs
3857 `(("gtk+" ,gtk+)
73992962 3858 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
3859 ("librsvg" ,librsvg)))
3860 (home-page "https://wiki.gnome.org/Apps/Mines")
3861 (synopsis "Minesweeper game")
3862 (description
3863 "Mines (previously gnomine) is a puzzle game where you locate mines
3864floating in an ocean using only your brain and a little bit of luck.")
3865 (license license:gpl2+)))
88f70665 3866
dfc407f3
KY
3867(define-public gnome-sudoku
3868 (package
3869 (name "gnome-sudoku")
857eb190 3870 (version "3.34.1")
dfc407f3
KY
3871 (source
3872 (origin
3873 (method url-fetch)
3874 (uri (string-append "mirror://gnome/sources/" name "/"
3875 (version-major+minor version) "/"
3876 name "-" version ".tar.xz"))
3877 (sha256
3878 (base32
857eb190 3879 "025y85r4qqardivvwiwhbmgarziykdy224m8zlrq8b79zv82793b"))))
7dc728c4
KK
3880 (build-system meson-build-system)
3881 (arguments
3882 '(#:glib-or-gtk? #t
3883 #:phases
3884 (modify-phases %standard-phases
3885 (add-after 'unpack 'skip-gtk-update-icon-cache
3886 (lambda _
3887 (substitute* "build-aux/post_install.py"
3888 (("gtk-update-icon-cache") (which "true")))
3889 #t)))))
dfc407f3
KY
3890 (native-inputs
3891 `(("pkg-config" ,pkg-config)
3892 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 3893 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
3894 ("intltool" ,intltool)
3895 ("itstool" ,itstool)
7dc728c4 3896 ("vala" ,vala)
dfc407f3
KY
3897 ("xmllint" ,libxml2)))
3898 (inputs
3899 `(("gtk+" ,gtk+)
3900 ("json-glib" ,json-glib)
3901 ("libgee" ,libgee)
3902 ("librsvg" ,librsvg)
3903 ("qqwing" ,qqwing)))
3904 (home-page "https://wiki.gnome.org/Apps/Sudoku")
3905 (synopsis "Japanese logic game")
3906 (description
3907 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
3908GNOME Sudoku is meant to have an interface as simple and unobstrusive as
3909possible while still providing features that make playing difficult Sudoku
3910more fun.")
3911 (license license:gpl2+)))
3912
88f70665
AW
3913(define-public gnome-terminal
3914 (package
3915 (name "gnome-terminal")
80f6f9d8 3916 (version "3.34.2")
88f70665
AW
3917 (source
3918 (origin
3919 (method url-fetch)
3920 (uri (string-append "mirror://gnome/sources/" name "/"
3921 (version-major+minor version) "/"
3922 name "-" version ".tar.xz"))
3923 (sha256
3924 (base32
80f6f9d8 3925 "0gc004f9b5k94gkdanmqjz3wqgnpny0l3nqm8zd19h4f0ps27mrv"))))
88f70665
AW
3926 (build-system glib-or-gtk-build-system)
3927 (arguments
3928 '(#:configure-flags
3929 (list "--disable-migration" "--disable-search-provider"
3930 "--without-nautilus-extension")
3931 #:phases
3932 (modify-phases %standard-phases
3a4de6b2 3933 (add-before 'configure 'patch-/bin/true
88f70665
AW
3934 (lambda _
3935 (substitute* "configure"
3936 (("/bin/true") (which "true"))))))))
3937 (native-inputs
3938 `(("pkg-config" ,pkg-config)
3939 ("desktop-file-utils" ,desktop-file-utils)
3940 ("intltool" ,intltool)
bcb354ad
SB
3941 ("itstool" ,itstool)
3942 ("xmllint" ,libxml2)))
68702167
MW
3943 (propagated-inputs
3944 `(("dconf" ,dconf)))
88f70665
AW
3945 (inputs
3946 `(("gtk+" ,gtk+)
3947 ("vte" ,vte)
3948 ("gnutls" ,gnutls)
88f70665 3949 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
bb93042c 3950 ("util-linux" ,util-linux "lib")
88f70665
AW
3951 ("vala" ,vala)))
3952 (home-page "https://wiki.gnome.org/Apps/Terminal")
3953 (synopsis "Terminal emulator")
3954 (description
3955 "GNOME Terminal is a terminal emulator application for accessing a
3956UNIX shell environment which can be used to run programs available on
3957your system.
3958
3959It supports several profiles, multiple tabs and implements several
3960keyboard shortcuts.")
3961 (license license:gpl3+)))
75016d07
AW
3962
3963(define-public colord
3964 (package
3965 (name "colord")
f98be942 3966 (version "1.4.4")
75016d07
AW
3967 (source
3968 (origin
3969 (method url-fetch)
5cc3096c 3970 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 3971 "colord-" version ".tar.xz"))
75016d07 3972 (sha256
f98be942 3973 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 3974 (build-system meson-build-system)
75016d07 3975 (arguments
a68544a8
RW
3976 '(;; FIXME: One test fails:
3977 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
3978 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
3979 ;; application/x-zerosize
75016d07 3980 #:tests? #f
a68544a8
RW
3981 #:glib-or-gtk? #t
3982 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 3983 ;; No dep on systemd.
a68544a8 3984 "-Dsystemd=false"
75016d07
AW
3985 ;; Wants to install to global completion dir;
3986 ;; punt.
a68544a8 3987 "-Dbash_completion=false"
a68544a8
RW
3988 "-Ddaemon_user=colord"
3989 "-Dsane=true"
dac26e22 3990 "-Dvapi=true"
6f20e2dc 3991 ;; Requires spotread.
a68544a8 3992 "-Dargyllcms_sensor=false"
6f20e2dc 3993 ;; TODO: Requires docbook2x.
a68544a8 3994 "-Dman=false")
75016d07
AW
3995 #:phases
3996 (modify-phases %standard-phases
a68544a8
RW
3997 (add-before 'configure 'patch-build-system
3998 (lambda* (#:key outputs #:allow-other-keys)
3999 (substitute* "rules/meson.build"
4000 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
4001 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
4002 #t))
4003 (add-before 'configure 'set-sqlite3-file-name
4004 (lambda* (#:key inputs #:allow-other-keys)
4005 ;; "colormgr dump" works by invoking the "sqlite3" command.
4006 ;; Record its absolute file name.
4007 (let ((sqlite (assoc-ref inputs "sqlite")))
4008 (substitute* "client/cd-util.c"
4009 (("\"sqlite3\"")
4010 (string-append "\"" sqlite "/bin/sqlite3\"")))
4011 #t))))))
75016d07 4012 (native-inputs
6f20e2dc 4013 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 4014 ("gettext" ,gettext-minimal)
75016d07 4015 ("gobject-introspection" ,gobject-introspection)
a68544a8 4016 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
4017 ("pkg-config" ,pkg-config)
4018 ("vala" ,vala)))
65cb2d61
SB
4019 (propagated-inputs
4020 ;; colord.pc refers to all these.
4021 `(("glib" ,glib)
6f20e2dc
TGR
4022 ("lcms" ,lcms)
4023 ("udev" ,eudev)))
75016d07 4024 (inputs
65cb2d61 4025 `(("dbus-glib" ,dbus-glib)
a68544a8 4026 ("gusb" ,gusb)
80c7dd1a 4027 ("libgudev" ,libgudev)
75016d07 4028 ("libusb" ,libusb)
75016d07 4029 ("polkit" ,polkit)
a68544a8 4030 ("python" ,python-wrapper)
6f20e2dc 4031 ("sqlite" ,sqlite)
4c928743 4032 ("sane-backends" ,sane-backends)))
57e7d748 4033 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
4034 (synopsis "Color management service")
4035 (description "Colord is a system service that makes it easy to manage,
4036install and generate color profiles to accurately color manage input and
4037output devices.")
4038 (license license:gpl2+)))
7b2abd00
AW
4039
4040(define-public geoclue
4041 (package
4042 (name "geoclue")
50e96d25 4043 (version "2.5.5")
7b2abd00
AW
4044 (source
4045 (origin
4046 (method url-fetch)
50e96d25
MB
4047 (uri
4048 (string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
4049 version "/geoclue-" version ".tar.bz2"))
7b2abd00
AW
4050 (sha256
4051 (base32
50e96d25 4052 "1b7jqrsn4x7mxjxj8hvb2dl2cmhrpb9vibs4rvkkanky5nsx3sai"))
fc1adab1 4053 (patches (search-patches "geoclue-config.patch"))))
50e96d25 4054 (build-system meson-build-system)
7b2abd00 4055 (arguments
50e96d25 4056 '(#:configure-flags (list "-Dbus-srv-user=geoclue")))
7b2abd00
AW
4057 (native-inputs
4058 `(("pkg-config" ,pkg-config)
758798a9 4059 ("gobject-introspection" ,gobject-introspection)
50e96d25
MB
4060 ("modem-manager" ,modem-manager)
4061 ("libnotify" ,libnotify)
4062 ("gtk-doc", gtk-doc)
7b2abd00
AW
4063 ("intltool" ,intltool)))
4064 (inputs
54e911bc 4065 `(("avahi" ,avahi)
50e96d25
MB
4066 ("glib:bin" ,glib "bin")
4067 ("glib-networking" ,glib-networking)
7b2abd00
AW
4068 ("json-glib" ,json-glib)
4069 ("libsoup" ,libsoup)))
50e96d25 4070 (home-page "https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home")
7b2abd00
AW
4071 (synopsis "Geolocation service")
4072 (description "Geoclue is a D-Bus service that provides location
4073information. The primary goal of the Geoclue project is to make creating
4074location-aware applications as simple as possible, while the secondary goal is
4075to ensure that no application can access location information without explicit
e881752c 4076permission from user.")
7b2abd00 4077 (license license:gpl2+)))
2bfe7437
AW
4078
4079(define-public geocode-glib
4080 (package
4081 (name "geocode-glib")
65de725f 4082 (version "3.26.1")
2bfe7437
AW
4083 (source (origin
4084 (method url-fetch)
4085 (uri (string-append "mirror://gnome/sources/geocode-glib/"
4086 (version-major+minor version) "/"
d485cdc0 4087 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
4088 (sha256
4089 (base32
65de725f 4090 "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv"))))
a7dd0c02 4091 (build-system meson-build-system)
2bfe7437 4092 (arguments
a7dd0c02
RW
4093 `(#:phases
4094 (modify-phases %standard-phases
4095 ;; The tests require a bunch of locales.
4096 (add-before 'check 'set-locales
4097 (lambda* (#:key inputs #:allow-other-keys)
4098 (setenv "GUIX_LOCPATH"
4099 (string-append (assoc-ref inputs "glibc-locales")
4100 "/lib/locale"))
4101 #t)))))
2bfe7437
AW
4102 (native-inputs
4103 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
4104 ("glibc-locales" ,glibc-locales) ; for tests
4105 ("gettext" ,gettext-minimal)
2bfe7437 4106 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 4107 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
4108 ("pkg-config" ,pkg-config)
4109 ("json-glib" ,json-glib)))
4110 (propagated-inputs
4111 ;; geocode-glib-1.0.pc refers to GIO.
4112 `(("glib" ,glib)))
4113 (inputs
4114 `(("libsoup" ,libsoup)))
4115 (home-page "https://github.com/GNOME/geocode-glib/")
4116 (synopsis "Geocoding and reverse-geocoding library")
4117 (description
4118 "geocode-glib is a convenience library for geocoding (finding longitude,
4119and latitude from an address) and reverse geocoding (finding an address from
4120coordinates) using the Nominatim service. geocode-glib caches requests for
4121faster results and to avoid unnecessary server load.")
4122 (license license:lgpl2.0+)))
a1d5bb0e
AW
4123
4124(define-public upower
4125 (package
4126 (name "upower")
df45af90 4127 (version "0.99.11")
a1d5bb0e
AW
4128 (source (origin
4129 (method url-fetch)
df45af90 4130 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 4131 "upower-" version ".tar.xz"))
a1d5bb0e
AW
4132 (sha256
4133 (base32
df45af90 4134 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
5dc6d5ce
LC
4135 (patches (search-patches "upower-builddir.patch"))
4136 (modules '((guix build utils)))
4137 (snippet
4138 '(begin
4139 ;; Upstream commit
4140 ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
4141 ;; moved 'dbus-1/system.d' from etc/ to share/. However,
4142 ;; 'dbus-configuration-directory' in (gnu services dbus)
4143 ;; expects it in etc/. Thus, move it back to its previous
4144 ;; location.
4145 (substitute* "src/Makefile.in"
4146 (("^dbusconfdir =.*$")
4147 "dbusconfdir = $(sysconfdir)/dbus-1/system.d\n"))
4148 #t))))
a1d5bb0e
AW
4149 (build-system glib-or-gtk-build-system)
4150 (arguments
4151 '( ;; The tests want to contact the system bus, which can't be done in the
4152 ;; build environment. The integration test can run, but the last of
4153 ;; the up-self-tests doesn't. Disable tests for now.
4154 #:tests? #f
4155 #:configure-flags (list "--localstatedir=/var"
4156 (string-append "--with-udevrulesdir="
4157 (assoc-ref %outputs "out")
9ec54965 4158 "/lib/udev/rules.d"))))
a1d5bb0e 4159 (native-inputs
ebeabe2d
SB
4160 `(("gobject-introspection" ,gobject-introspection)
4161 ("pkg-config" ,pkg-config)
a1d5bb0e 4162 ("intltool" ,intltool)
55409295
LC
4163 ("python" ,python)
4164
4165 ;; For man pages.
4166 ("libxslt" ,libxslt) ;for 'xsltproc'
4167 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
4168 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 4169 (inputs
ea226291
SB
4170 `(("dbus-glib" ,dbus-glib)
4171 ("libgudev" ,libgudev)
a1d5bb0e 4172 ("libusb" ,libusb)))
d7a503fc
MB
4173 (propagated-inputs
4174 ;; In Requires of upower-glib.pc.
4175 `(("glib" ,glib)))
57e7d748 4176 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
4177 (synopsis "System daemon for managing power devices")
4178 (description
4179 "UPower is an abstraction for enumerating power devices,
4180listening to device events and querying history and statistics. Any
4181application or service on the system can access the org.freedesktop.UPower
4182service via the system message bus.")
4183 (license license:gpl2+)))
6a180f6f
AW
4184
4185(define-public libgweather
4186 (package
4187 (name "libgweather")
462d3416 4188 (version "3.34.0")
6a180f6f
AW
4189 (source (origin
4190 (method url-fetch)
4191 (uri (string-append "mirror://gnome/sources/" name "/"
4192 (version-major+minor version) "/"
4193 name "-" version ".tar.xz"))
4194 (sha256
4195 (base32
462d3416 4196 "1fgiqswkhiaijanml3mb16ajn5aanrk7x6yiwagp9n9rssam6902"))))
cf6cbc34 4197 (build-system meson-build-system)
6a180f6f 4198 (arguments
cf6cbc34
RW
4199 `(#:tests? #f ; one of two tests requires network access
4200 #:configure-flags
4201 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 4202 (assoc-ref %build-inputs "tzdata")
cf6cbc34 4203 "/share/zoneinfo"))))
6a180f6f
AW
4204 (native-inputs
4205 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 4206 ("gobject-introspection" ,gobject-introspection)
6a180f6f 4207 ("pkg-config" ,pkg-config)
1d3fcf94 4208 ("vala" ,vala)
6a180f6f
AW
4209 ("intltool" ,intltool)))
4210 (propagated-inputs
4211 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
4212 ;; libsoup.
4213 `(("gtk+" ,gtk+)
4214 ("gdk-pixbuf" ,gdk-pixbuf)
4215 ("libxml2" ,libxml2)
cf6cbc34 4216 ("libsoup" ,libsoup)
6a180f6f 4217 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
4218 (inputs
4219 `(("tzdata" ,tzdata)))
6a180f6f
AW
4220 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
4221 (synopsis "Location, time zone, and weather library for GNOME")
4222 (description
4223 "libgweather is a library to access weather information from online
4224services for numerous locations.")
4225 (license license:gpl2+)))
23a22af6
AW
4226
4227(define-public gnome-settings-daemon
4228 (package
4229 (name "gnome-settings-daemon")
20154759 4230 (version "3.34.1")
23a22af6
AW
4231 (source
4232 (origin
4233 (method url-fetch)
4234 (uri (string-append "mirror://gnome/sources/" name "/"
4235 (version-major+minor version) "/"
4236 name "-" version ".tar.xz"))
4237 (sha256
4238 (base32
20154759 4239 "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr"))))
e644f9fa 4240 (build-system meson-build-system)
23a22af6 4241 (arguments
e644f9fa
RW
4242 `(#:glib-or-gtk? #t
4243 #:configure-flags
4244 (list (string-append "-Dudev_dir="
4245 (assoc-ref %outputs "out")
4d0e085b 4246 "/lib/udev/rules.d/")
20154759 4247 "-Dsystemd=false"
4d0e085b
RW
4248 ;; Otherwise, the RUNPATH will lack the final path component.
4249 (string-append "-Dc_link_args=-Wl,-rpath="
4250 (assoc-ref %outputs "out")
4251 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 4252 ;; Color management test can't reach the colord system service.
23a22af6
AW
4253 #:tests? #f))
4254 (native-inputs
e644f9fa
RW
4255 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4256 ("pkg-config" ,pkg-config)
23a22af6
AW
4257 ("intltool" ,intltool)
4258 ("xsltproc" ,libxslt)
4259 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
4260 ("docbook-xml" ,docbook-xml-4.2)
4261 ("docbook-xsl" ,docbook-xsl)))
4262 (inputs
e644f9fa
RW
4263 `(("alsa-lib" ,alsa-lib)
4264 ("colord" ,colord)
ea226291 4265 ("libgudev" ,libgudev)
23a22af6
AW
4266 ("upower" ,upower)
4267 ("polkit" ,polkit)
4268 ("pulseaudio" ,pulseaudio)
4269 ("libcanberra" ,libcanberra)
4270 ("libx11" ,libx11)
4271 ("libxtst" ,libxtst)
4272 ("lcms" ,lcms)
4273 ("libnotify" ,libnotify)
4274 ("geoclue" ,geoclue)
4275 ("geocode-glib" ,geocode-glib)
4276 ("libgweather" ,libgweather)
4277 ("gnome-desktop" ,gnome-desktop)
4278 ("nss" ,nss)
4279 ("cups" ,cups)
ec2b1921
AW
4280 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4281 ("libwacom" ,libwacom)
4282 ("librsvg" ,librsvg)
eee7878f 4283 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 4284 ("wayland" ,wayland)
20154759
KK
4285 ("network-manager" ,network-manager)
4286 ("gcr" ,gcr)
4287 ("modem-manager" ,modem-manager)))
f032d0be 4288 (home-page "https://www.gnome.org")
23a22af6
AW
4289 (synopsis "GNOME settings daemon")
4290 (description
4291 "This package contains the daemon responsible for setting the various
4292parameters of a GNOME session and the applications that run under it. It
4293handles settings such keyboard layout, shortcuts, and accessibility, clipboard
4294settings, themes, mouse settings, and startup of other daemons.")
4295 (license license:gpl2+)))
1e7464a9
DH
4296
4297(define-public totem-pl-parser
4298 (package
4299 (name "totem-pl-parser")
77425f04 4300 (version "3.26.3")
1e7464a9
DH
4301 (source (origin
4302 (method url-fetch)
e980cbe9
MW
4303 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
4304 (version-major+minor version) "/"
1e7464a9
DH
4305 "totem-pl-parser-" version ".tar.xz"))
4306 (sha256
4307 (base32
77425f04 4308 "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
1e9b19dd 4309 (build-system meson-build-system)
1e7464a9
DH
4310 (arguments
4311 ;; FIXME: Tests require gvfs.
4312 `(#:tests? #f))
4313 (native-inputs
4314 `(("intltool" ,intltool)
4315 ("glib" ,glib "bin")
4d6d8281 4316 ("gobject-introspection" ,gobject-introspection)
1e7464a9 4317 ("pkg-config" ,pkg-config)))
22a6ad6a 4318 (propagated-inputs
1e7464a9
DH
4319 `(("glib" ,glib)
4320 ("gmime" ,gmime)
1e9b19dd
RW
4321 ("libarchive" ,libarchive)
4322 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
4323 ("libxml2" ,libxml2)))
4324 (inputs
0a6e9e13 4325 `(("libsoup" ,libsoup)))
1e7464a9
DH
4326 (home-page "https://projects.gnome.org/totem")
4327 (synopsis "Library to parse and save media playlists for GNOME")
4328 (description "Totem-pl-parser is a GObjects-based library to parse and save
4329playlists in a variety of formats.")
4330 (license license:lgpl2.0+)))
4331
6b888eff
SB
4332(define-public aisleriot
4333 (package
4334 (name "aisleriot")
36ed9b46 4335 (version "3.22.9")
6b888eff
SB
4336 (source (origin
4337 (method url-fetch)
e43f622a 4338 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 4339 (version-major+minor version) "/"
e43f622a 4340 "aisleriot-" version ".tar.xz"))
6b888eff
SB
4341 (sha256
4342 (base32
36ed9b46 4343 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
4344 (build-system glib-or-gtk-build-system)
4345 (arguments
4346 '(#:configure-flags
4347 '("--with-platform=gtk-only"
4348 "--with-card-theme-formats=svg")))
4349 (native-inputs
4350 `(("desktop-file-utils" ,desktop-file-utils)
4351 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4352 ("intltool" ,intltool)
4353 ("itstool" ,itstool)
4354 ("pkg-config" ,pkg-config)
4355 ("xmllint" ,libxml2)))
4356 (inputs
4357 `(("gtk+" ,gtk+)
226e57d6 4358 ("guile" ,guile-2.2)
6b888eff
SB
4359 ("libcanberra" ,libcanberra)
4360 ("librsvg" ,librsvg)))
4361 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
4362 (synopsis "Solitaire card games")
4363 (description
4364 "Aisleriot (also known as Solitaire or sol) is a collection of card games
4365which are easy to play with the aid of a mouse.")
4366 (license license:gpl3+)))
4a79e256 4367
f828d05b
KK
4368(define-public amtk
4369 (package
4370 (name "amtk")
0e08ca14 4371 (version "5.0.2")
f828d05b
KK
4372 (source (origin
4373 (method url-fetch)
bf92ba6b 4374 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 4375 (version-major+minor version) "/"
bf92ba6b 4376 "amtk-" version ".tar.xz"))
f828d05b
KK
4377 (sha256
4378 (base32
0e08ca14 4379 "11jgz2i9wjzv4alrxl1qyxiapb52w7vs5ygfgsw0qgdap8gqkk3i"))))
f828d05b
KK
4380 (build-system gnu-build-system)
4381 (arguments
4382 '(#:configure-flags '("--enable-gtk-doc")))
4383 (native-inputs
4384 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 4385 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
4386 ("gtk-doc" ,gtk-doc)
4387 ("pkg-config" ,pkg-config)))
4388 (inputs
4389 `(("glib" ,glib)
4390 ("gtk+" ,gtk+)))
4391 (home-page "https://wiki.gnome.org/Projects/Amtk")
4392 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
4393 (description
4394 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
4395It is a basic GtkUIManager replacement based on GAction. It is suitable for
4396both a traditional UI or a modern UI with a GtkHeaderBar.")
4397 (license license:lgpl2.1+)))
4398
4a79e256
SB
4399(define-public devhelp
4400 (package
4401 (name "devhelp")
8ae23a1d 4402 (version "3.34.0")
4a79e256
SB
4403 (source (origin
4404 (method url-fetch)
4405 (uri (string-append "mirror://gnome/sources/" name "/"
4406 (version-major+minor version) "/"
4407 name "-" version ".tar.xz"))
4408 (sha256
4409 (base32
8ae23a1d 4410 "0zpmn6fgkgiayvn4diia5df0s6s7dqrdnp3nrvpavsmgn0vhb4pg"))))
11d28bd9 4411 (build-system meson-build-system)
35407f94 4412 (arguments
20db7a3d
KK
4413 '(#:glib-or-gtk? #t
4414 #:phases
35407f94
EF
4415 (modify-phases %standard-phases
4416 (add-after 'unpack 'skip-gtk-update-icon-cache
4417 ;; Don't create 'icon-theme.cache'.
4418 (lambda _
4419 (substitute* "meson_post_install.py"
4420 (("gtk-update-icon-cache") "true"))
4421 #t)))))
4a79e256
SB
4422 (native-inputs
4423 `(("intltool" ,intltool)
5dd12afc 4424 ("itstool" ,itstool)
11d28bd9
KK
4425 ("gobject-introspection" ,gobject-introspection)
4426 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
4427 ("pkg-config" ,pkg-config)))
4428 (inputs
11d28bd9
KK
4429 `(("amtk" ,amtk)
4430 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
4431 ("webkitgtk" ,webkitgtk)))
4432 (home-page "https://wiki.gnome.org/Apps/Devhelp")
4433 (synopsis "API documentation browser for GNOME")
4434 (description
4435 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
4436natively with GTK-Doc (the API reference system developed for GTK+ and used
4437throughout GNOME for API documentation).")
4438 (license license:gpl2+)))
ba421ab7
MW
4439
4440(define-public cogl
4441 (package
4442 (name "cogl")
54c69ae1 4443 (version "1.22.4")
ba421ab7
MW
4444 (source
4445 (origin
4446 (method url-fetch)
5754f0cf 4447 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 4448 (version-major+minor version) "/"
5754f0cf 4449 "cogl-" version ".tar.xz"))
ba421ab7 4450 (sha256
54c69ae1 4451 (base32 "1q0drs82a8f6glg1v29bb6g2nf15fw0rvdx3d0rgcgfarfaby5sj"))))
a88d5a0c
MW
4452 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
4453 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
4454 (build-system gnu-build-system)
4455 (native-inputs
4456 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4457 ("gobject-introspection" ,gobject-introspection)
4458 ;;("xorg-server" ,xorg-server) ; for the test suite
4459 ("pkg-config" ,pkg-config)))
4460 (propagated-inputs
4461 `(("glib" ,glib)
4462 ("gdk-pixbuf" ,gdk-pixbuf)
4463 ("libx11" ,libx11)
4464 ("libxext" ,libxext)
4465 ("libxfixes" ,libxfixes)
4466 ("libxdamage" ,libxdamage)
4467 ("libxcomposite" ,libxcomposite)
4468 ("libxrandr" ,libxrandr)))
4469 (inputs
4470 `(("mesa" ,mesa)
4471 ("cairo" ,cairo)
4472 ("pango" ,pango)
4473 ("gstreamer" ,gstreamer)
31860852
KK
4474 ("gst-plugins-base" ,gst-plugins-base)
4475 ("wayland" ,wayland)))
ba421ab7
MW
4476 (arguments
4477 `(#:configure-flags (list "--enable-cogl-gst"
31860852
KK
4478 "--enable-wayland-egl-platform"
4479 "--enable-wayland-egl-server"
4480
ba421ab7
MW
4481 ;; Arrange to pass an absolute file name to
4482 ;; dlopen for libGL.so.
4483 (string-append "--with-gl-libname="
4484 (assoc-ref %build-inputs "mesa")
4485 "/lib/libGL.so"))
4486 ;; XXX FIXME: All tests fail, with many warnings printed like this:
4487 ;; _FontTransOpen: Unable to Parse address
4488 ;; ${prefix}/share/fonts/X11/misc/
4489 #:tests? #f
4490 #; #:phases
4491 #;
4492 (modify-phases %standard-phases
4493 (add-before 'check 'start-xorg-server
4494 (lambda* (#:key inputs #:allow-other-keys)
4495 ;; The test suite requires a running X server.
4496 (system (format #f "~a/bin/Xvfb :1 &"
4497 (assoc-ref inputs "xorg-server")))
4498 (setenv "DISPLAY" ":1")
4499 #t)))))
89b49245 4500 (home-page "https://www.cogl3d.org")
ba421ab7
MW
4501 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
4502 (description
4503 "Cogl is a small library for using 3D graphics hardware to draw pretty
4504pictures. The API departs from the flat state machine style of OpenGL and is
4505designed to make it easy to write orthogonal components that can render
4506without stepping on each others toes.")
4507 (license (list license:expat ; most of the code
4508 license:bsd-3 ; cogl/cogl-point-in-poly.c
4509 license:sgifreeb2.0 ; cogl-path/tesselator/
4510 license:asl2.0)))) ; examples/android/
fb182b8a
MW
4511
4512(define-public clutter
4513 (package
4514 (name "clutter")
6a88e4ee 4515 (version "1.26.2")
fb182b8a
MW
4516 (source
4517 (origin
4518 (method url-fetch)
4519 (uri (string-append "mirror://gnome/sources/" name "/"
4520 (version-major+minor version) "/"
4521 name "-" version ".tar.xz"))
4522 (sha256
4523 (base32
6a88e4ee 4524 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
4525 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
4526 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 4527 (build-system gnu-build-system)
600233bd
LC
4528 (outputs '("out"
4529 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
4530 (native-inputs
4531 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
4532 ("gobject-introspection" ,gobject-introspection)
4533 ("pkg-config" ,pkg-config)
4534 ("xsltproc" ,libxslt)))
4535 (propagated-inputs
4536 `(("cogl" ,cogl)
4537 ("cairo" ,cairo)
4538 ("atk" ,atk)
4539 ("gtk+" ,gtk+)
4540 ("json-glib" ,json-glib)
4541 ("glib" ,glib)
4542 ("libxcomposite" ,libxcomposite)
4543 ("libxdamage" ,libxdamage)
4544 ("libxext" ,libxext)
4545 ("xinput" ,xinput)))
4546 (inputs
4547 `(("libxkbcommon" ,libxkbcommon)
4548 ("udev" ,eudev)))
4549 (arguments
600233bd
LC
4550 `(#:configure-flags (list "--enable-x11-backend=yes"
4551
4552 ;; This produces share/doc/{clutter,cally}.
4553 (string-append "--with-html-dir="
4554 (assoc-ref %outputs "doc")
4555 "/share/doc"))
fb182b8a
MW
4556 ;; XXX FIXME: Get test suite working. It would probably fail in the
4557 ;; same way the cogl tests fail, since clutter is based on cogl.
4558 #:tests? #f))
4559 (home-page "http://www.clutter-project.org")
476af713 4560 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 4561 (description
476af713 4562 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
4563creating fast, mainly 2D single window applications such as media box UIs,
4564presentations, kiosk style applications and so on.")
4565 (license license:lgpl2.0+)))
bf7f17ba
MW
4566
4567(define-public clutter-gtk
4568 (package
4569 (name "clutter-gtk")
5d1a3219 4570 (version "1.8.4")
bf7f17ba
MW
4571 (source
4572 (origin
4573 (method url-fetch)
4574 (uri (string-append "mirror://gnome/sources/" name "/"
4575 (version-major+minor version) "/"
4576 name "-" version ".tar.xz"))
4577 (sha256
4578 (base32
5d1a3219 4579 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
4580 (build-system gnu-build-system)
4581 (native-inputs
4582 `(("pkg-config" ,pkg-config)
4583 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
4584 (propagated-inputs
4585 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
4586 `(("clutter" ,clutter)
4587 ("gtk+" ,gtk+)))
4588 (home-page "http://www.clutter-project.org")
476af713 4589 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 4590 (description
476af713 4591 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
4592creating fast, mainly 2D single window applications such as media box UIs,
4593presentations, kiosk style applications and so on.")
4594 (license license:lgpl2.0+)))
86d6a893
MW
4595
4596(define-public clutter-gst
4597 (package
4598 (name "clutter-gst")
ba07ac19 4599 (version "3.0.27")
86d6a893
MW
4600 (source
4601 (origin
4602 (method url-fetch)
f010f89b 4603 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 4604 (version-major+minor version) "/"
f010f89b 4605 "clutter-gst-" version ".tar.xz"))
86d6a893 4606 (sha256
ba07ac19 4607 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
4608 (build-system gnu-build-system)
4609 (native-inputs
ba07ac19 4610 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
4611 ("pkg-config" ,pkg-config)
4612 ("gobject-introspection" ,gobject-introspection)))
4613 (inputs
4614 `(("clutter" ,clutter)
4615 ("gstreamer" ,gstreamer)
4616 ("gst-plugins-base" ,gst-plugins-base)))
4617 (home-page "http://www.clutter-project.org")
4618 (synopsis "Integration library for using GStreamer with Clutter")
4619 (description
4620 "Clutter-Gst is an integration library for using GStreamer with Clutter.
4621It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
4622implements the ClutterGstPlayer interface using playbin. Clutter is an
4623OpenGL-based interactive canvas library.")
86d6a893 4624 (license license:lgpl2.0+)))
607a04ae 4625
30dc88d9
LC
4626(define-public libchamplain
4627 (package
4628 (name "libchamplain")
5564b2c5 4629 (version "0.12.16")
30dc88d9
LC
4630 (source (origin
4631 (method url-fetch)
4632 (uri (string-append
4633 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
4634 version ".tar.xz"))
4635 (sha256
4636 (base32
5564b2c5 4637 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 4638 (build-system gnu-build-system)
f7c6833f
LF
4639 (arguments '(#:configure-flags '("--enable-vala")))
4640 (native-inputs
4641 `(("gobject-introspection" ,gobject-introspection)
4642 ("pkg-config" ,pkg-config)
4643 ("vala" ,vala)))
30dc88d9
LC
4644 (propagated-inputs
4645 `(("libsoup" ,libsoup)
4646 ("sqlite" ,sqlite)
4647 ("clutter" ,clutter)
4648 ("clutter-gtk" ,clutter-gtk)
4649 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
4650 ("cairo" ,cairo)
4651 ("gtk+3" ,gtk+)
4652 ("glib" ,glib)))
f032d0be 4653 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
4654 (synopsis "C library providing a ClutterActor to display maps")
4655 (description
4656 "libchamplain is a C library providing a ClutterActor to display maps.
4657It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
4658and Perl bindings are also available. It supports numerous free map sources
4659such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
4660 (license license:lgpl2.1+)))
4661
607a04ae
MW
4662(define-public gom
4663 (package
4664 (name "gom")
0510440b 4665 (version "0.3.2")
607a04ae
MW
4666 (source
4667 (origin
4668 (method url-fetch)
6c8a0b6f 4669 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 4670 (version-major+minor version) "/"
6c8a0b6f 4671 "gom-" version ".tar.xz"))
607a04ae
MW
4672 (sha256
4673 (base32
0510440b 4674 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
4675 (build-system gnu-build-system)
4676 (native-inputs
4677 `(("intltool" ,intltool)
4678 ("pkg-config" ,pkg-config)
4679 ("gobject-introspection" ,gobject-introspection)))
4680 (inputs
4681 `(("glib" ,glib)
4682 ("gdk-pixbuf" ,gdk-pixbuf)
4683 ("sqlite" ,sqlite)))
4684 ;; XXX TODO: Figure out how to run the test suite.
4685 (arguments `(#:tests? #f))
4686 (home-page "https://wiki.gnome.org/Projects/Gom")
4687 (synopsis "Object mapper from GObjects to SQLite")
4688 (description
4689 "Gom provides an object mapper from GObjects to SQLite. It helps you
4690write applications that need to store structured data as well as make complex
4691queries upon that data.")
4692 (license license:lgpl2.1+)))
b7a3cf11 4693
865aacc9 4694(define-public libgnome-games-support
f09520db 4695 (package
865aacc9 4696 (name "libgnome-games-support")
4c6d15cf 4697 (version "1.4.4")
f09520db
SB
4698 (source (origin
4699 (method url-fetch)
2d8dca9d 4700 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 4701 (version-major+minor version) "/"
2d8dca9d 4702 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
4703 (sha256
4704 (base32
4c6d15cf 4705 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
4706 (build-system gnu-build-system)
4707 (arguments
4708 '(#:phases
4709 (modify-phases %standard-phases
4710 (add-before 'check 'pre-check
4711 (lambda _
865aacc9 4712 ;; Tests require a writable HOME.
f09520db
SB
4713 (setenv "HOME" (getcwd))
4714 #t)))))
4715 (native-inputs
4716 `(("intltool" ,intltool)
4717 ("pkg-config" ,pkg-config)
4718 ("vala" ,vala)))
4719 (propagated-inputs
865aacc9 4720 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
4721 `(("gtk+" ,gtk+)
4722 ("libgee" ,libgee)))
4723 (home-page "https://www.gnome.org/")
4724 (synopsis "Useful functionality shared among GNOME games")
4725 (description
865aacc9 4726 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
4727GNOME Games, but it may be used by others.")
4728 (license license:lgpl3+)))
4729
b7a3cf11
SB
4730(define-public gnome-klotski
4731 (package
4732 (name "gnome-klotski")
18364fbc 4733 (version "3.34.0")
b7a3cf11
SB
4734 (source (origin
4735 (method url-fetch)
4736 (uri (string-append "mirror://gnome/sources/" name "/"
4737 (version-major+minor version) "/"
4738 name "-" version ".tar.xz"))
4739 (sha256
4740 (base32
18364fbc 4741 "0sbx0bzy32lh2c9jp8v7gz788wn9y1la8mr5a7gf7370szsl4d4f"))))
c1e419c4
KK
4742 (build-system meson-build-system)
4743 (arguments
4744 '(#:glib-or-gtk? #t
4745 #:phases
4746 (modify-phases %standard-phases
4747 (add-after 'unpack 'skip-gtk-update-icon-cache
4748 ;; Don't create 'icon-theme.cache'.
4749 (lambda _
4750 (substitute* "build-aux/meson_post_install.py"
4751 (("gtk-update-icon-cache") (which "true")))
4752 #t)))))
b7a3cf11
SB
4753 (native-inputs
4754 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 4755 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
4756 ("intltool" ,intltool)
4757 ("itstool" ,itstool)
bcb354ad 4758 ("pkg-config" ,pkg-config)
c1e419c4 4759 ("vala" ,vala)
bcb354ad 4760 ("xmllint" ,libxml2)))
b7a3cf11
SB
4761 (inputs
4762 `(("gtk+" ,gtk+)
f4eae76f 4763 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
4764 ("librsvg" ,librsvg)))
4765 (home-page "https://wiki.gnome.org/Apps/Klotski")
4766 (synopsis "Sliding block puzzles")
4767 (description
4768 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
4769the patterned block to the area bordered by green markers. To do so, you will
4770need to slide other blocks out of the way. Complete each puzzle in as few moves
4771as possible!")
4772 (license license:gpl2+)))
8d4791bf
MW
4773
4774(define-public grilo
4775 (package
4776 (name "grilo")
a865e938 4777 (version "0.3.10")
8d4791bf
MW
4778 (source
4779 (origin
4780 (method url-fetch)
4781 (uri (string-append "mirror://gnome/sources/" name "/"
4782 (version-major+minor version) "/"
4783 name "-" version ".tar.xz"))
4784 (sha256
4785 (base32
a865e938 4786 "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y"))))
d48d4c98 4787 (build-system meson-build-system)
8d4791bf
MW
4788 (native-inputs
4789 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
4790 ("intltool" ,intltool)
4791 ("pkg-config" ,pkg-config)
d48d4c98
KK
4792 ("gobject-introspection" ,gobject-introspection)
4793 ("gtk-doc" ,gtk-doc)
4794 ("vala" ,vala)))
8d4791bf 4795 (inputs
6d7273a0
KK
4796 `(("cyrus-sasl" ,cyrus-sasl)
4797 ("glib" ,glib)
8d4791bf
MW
4798 ("gtk+" ,gtk+)
4799 ("libxml2" ,libxml2)
6d7273a0 4800 ("liboauth" ,liboauth)
8d4791bf
MW
4801 ("libsoup" ,libsoup)
4802 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
4803 (native-search-paths
4804 (list (search-path-specification
4805 (variable "GRL_PLUGIN_PATH")
4806 (files (list (string-append "lib/grilo-"
4807 (version-major+minor version)))))))
d48d4c98 4808 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
4809 (synopsis "Framework for discovering and browsing media")
4810 (description
4811 "Grilo is a framework focused on making media discovery and browsing easy
4812for application developers.")
4813 (license license:lgpl2.1+)))
7b212526
MW
4814
4815(define-public grilo-plugins
4816 (package
4817 (name "grilo-plugins")
281f6b3a 4818 (version "0.3.10")
7b212526
MW
4819 (source
4820 (origin
4821 (method url-fetch)
4822 (uri (string-append "mirror://gnome/sources/" name "/"
4823 (version-major+minor version) "/"
4824 name "-" version ".tar.xz"))
4825 (sha256
4826 (base32
281f6b3a
RG
4827 "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0"))))
4828 (build-system meson-build-system)
7b212526 4829 (native-inputs
281f6b3a
RG
4830 `(("gettext" ,gettext-minimal)
4831 ("glib:bin" ,glib "bin")
4832 ("gtk+:bin" ,gtk+ "bin")
7b212526
MW
4833 ("itstool" ,itstool)
4834 ("pkg-config" ,pkg-config)))
281f6b3a 4835 ;; TODO: ahavi, gstreamer
7b212526
MW
4836 (inputs
4837 `(("grilo" ,grilo)
281f6b3a
RG
4838 ;("gmime" ,gmime) ; unused
4839 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
7b212526 4840 ("gom" ,gom)
281f6b3a
RG
4841 ;("gssdp" ,gssdp) ; unused
4842 ;("gupnp" ,gupnp) ; unused
4843 ;("gupnp-av" ,gupnp-av) ; unused
7b212526
MW
4844 ("json-glib" ,json-glib)
4845 ("avahi" ,avahi)
281f6b3a
RG
4846 ("libgdata" ,libgdata)
4847 ("libmediaart" ,libmediaart)
4848 ;("librest" ,rest) ; unused
7b212526 4849 ("libsoup" ,libsoup)
281f6b3a
RG
4850 ("totam-pl-parser" ,totem-pl-parser)
4851 ("tracker" ,tracker))) ; unused because it's too old
7b212526 4852 (arguments
281f6b3a
RG
4853 `(#:glib-or-gtk? #t
4854 ;;Disable lua-factory as it needs missing dependencies
4855 #:configure-flags '("-Denable-lua-factory=no")))
f032d0be 4856 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
4857 (synopsis "Plugins for the Grilo media discovery library")
4858 (description
4859 "Grilo is a framework focused on making media discovery and browsing easy
281f6b3a
RG
4860for application developers. This package provides plugins for common media
4861discovery protocols.")
7b212526 4862 (license license:lgpl2.1+)))
4e3fc547
MW
4863
4864(define-public totem
4865 (package
4866 (name "totem")
961dc62d 4867 (version "3.34.1")
4e3fc547
MW
4868 (source
4869 (origin
4870 (method url-fetch)
4871 (uri (string-append "mirror://gnome/sources/" name "/"
4872 (version-major+minor version) "/"
4873 name "-" version ".tar.xz"))
4874 (sha256
4875 (base32
961dc62d 4876 "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b"))))
7ad81b8b 4877 (build-system meson-build-system)
4e3fc547
MW
4878 (native-inputs
4879 `(("pkg-config" ,pkg-config)
4880 ("desktop-file-utils" ,desktop-file-utils)
4881 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 4882 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 4883 ("intltool" ,intltool)
bcb354ad 4884 ("itstool" ,itstool)
995ef5ea
KK
4885 ("xmllint" ,libxml2)
4886 ("python-pylint" ,python-pylint)
4887 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
4888 (propagated-inputs
4889 `(("dconf" ,dconf)))
4890 (inputs
4891 `(("gtk+" ,gtk+)
4892 ("gdk-pixbuf" ,gdk-pixbuf)
4893 ("atk" ,atk)
4894 ("cairo" ,cairo)
4895 ("dbus-glib" ,dbus-glib)
4896 ("clutter" ,clutter)
4897 ("clutter-gtk" ,clutter-gtk)
4898 ("clutter-gst" ,clutter-gst)
6a6db57f 4899 ("xorgproto" ,xorgproto)
4e3fc547
MW
4900 ("libxxf86vm" ,libxxf86vm)
4901 ("libxtst" ,libxtst)
4902 ("libxrandr" ,libxrandr)
4903 ("libxml2" ,libxml2)
4904 ("libsoup" ,libsoup)
4905 ("libpeas" ,libpeas)
4906 ("librsvg" ,librsvg)
4907 ("lirc" ,lirc)
4908 ("gnome-desktop" ,gnome-desktop)
4909 ("gstreamer" ,gstreamer)
4910 ("gst-plugins-base" ,gst-plugins-base)
4911 ("gst-plugins-good" ,gst-plugins-good)
4912 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4913 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 4914 ("python" ,python)
995ef5ea 4915 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
4916 ("totem-pl-parser" ,totem-pl-parser)
4917 ("grilo" ,grilo)
4918 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
4919 ("vala" ,vala)))
4920 (arguments
7ad81b8b
LC
4921 `(#:glib-or-gtk? #t
4922
4923 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 4924 ;; all that.
7ad81b8b 4925 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
4926
4927 ;; Do not build .a files for the plugins, it's
4928 ;; completely useless. This saves 2 MiB.
7ad81b8b 4929 "--default-library" "shared")
ec5c24f9 4930 #:phases
4e3fc547 4931 (modify-phases %standard-phases
d51b19ad
EF
4932 (add-after 'unpack 'skip-gtk-update-icon-cache
4933 ;; Don't create 'icon-theme.cache'.
4934 (lambda _
4935 (substitute* "meson_post_install.py"
4936 (("gtk-update-icon-cache") "true"))
4937 #t))
6368eb39
DM
4938 (add-before
4939 'install 'disable-cache-generation
4940 (lambda _
4941 (setenv "DESTDIR" "/")
4942 #t))
995ef5ea
KK
4943 (add-before
4944 'check 'pre-check
4945 (lambda _
4946 ;; Tests require a running X server.
4947 (system "Xvfb :1 &")
4948 (setenv "DISPLAY" ":1")
4949 #t))
4e3fc547
MW
4950 (add-after
4951 'install 'wrap-totem
4952 (lambda* (#:key inputs outputs #:allow-other-keys)
4953 (let ((out (assoc-ref outputs "out"))
4954 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
4955 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
4956 (wrap-program (string-append out "/bin/totem")
4957 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
4958 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
4959 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
4960 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
4961 #t)))))
4962 (home-page "https://wiki.gnome.org/Apps/Videos")
4963 (synopsis "Simple media player for GNOME based on GStreamer")
4964 (description "Totem is a simple yet featureful media player for GNOME
4965which can read a large number of file formats.")
4966 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
4967 ;; to be used and distributed together with GStreamer and Totem. See
4968 ;; file://COPYING in the source distribution for details.
4969 (license license:gpl2+)))
f0afb0c8
DH
4970
4971(define-public rhythmbox
4972 (package
4973 (name "rhythmbox")
eda580c0 4974 (version "3.4.4")
f0afb0c8
DH
4975 (source (origin
4976 (method url-fetch)
2588693d 4977 (uri (string-append "mirror://gnome/sources/rhythmbox/"
f0afb0c8 4978 (version-major+minor version) "/"
2588693d 4979 "rhythmbox-" version ".tar.xz"))
f0afb0c8
DH
4980 (sha256
4981 (base32
eda580c0 4982 "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf"))))
f0afb0c8
DH
4983 (build-system glib-or-gtk-build-system)
4984 (arguments
4985 `(#:configure-flags
4986 (list "--enable-lirc"
4987 "--enable-python"
4988 "--enable-vala"
4989 "--with-brasero"
4990 "--with-gudev"
4991 "--with-libsecret")
4992 #:phases
4993 (modify-phases %standard-phases
4994 (add-after
4995 'install 'wrap-rhythmbox
4996 (lambda* (#:key inputs outputs #:allow-other-keys)
4997 (let ((out (assoc-ref outputs "out"))
4998 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4999 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
5000 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
5001 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
5002 (wrap-program (string-append out "/bin/rhythmbox")
5003 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5004 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
5005 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
5006 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
5007 #t)))))
5008 (propagated-inputs
5009 `(("dconf" ,dconf)))
5010 (native-inputs
bcb354ad
SB
5011 `(("itstool" ,itstool)
5012 ("intltool" ,intltool)
f0afb0c8
DH
5013 ("glib" ,glib "bin")
5014 ("gobject-introspection" ,gobject-introspection)
5015 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
5016 ("pkg-config" ,pkg-config)
5017 ("xmllint" ,libxml2)))
f0afb0c8
DH
5018 (inputs
5019 `(("json-glib" ,json-glib)
5020 ("tdb" ,tdb)
5021 ("gnome-desktop" ,gnome-desktop)
5022 ("python" ,python)
5023 ("python-pygobject" ,python2-pygobject)
5024 ("vala" ,vala)
5025 ("gmime" ,gmime)
f0afb0c8
DH
5026 ("adwaita-icon-theme" ,adwaita-icon-theme)
5027 ("grilo" ,grilo)
5028 ("grilo-plugins" ,grilo-plugins)
5029 ("gstreamer" ,gstreamer)
5030 ("gst-plugins-base" ,gst-plugins-base)
5031 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 5032 ("totem-pl-parser" ,totem-pl-parser)
ea226291 5033 ("libgudev" ,libgudev)
f0afb0c8
DH
5034 ;;("libmtp" ,libmtp) FIXME: Not detected
5035 ("libsecret" ,libsecret)
5036 ("libsoup" ,libsoup)
5037 ("libnotify" ,libnotify)
5038 ("libpeas" ,libpeas)
5039 ("lirc" ,lirc)
5040 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
5041 ;;("clutter" ,clutter)
5042 ;;("clutter-gtk" ,clutter-gtk)
5043 ;;("clutter-gst" ,clutter-gst)
5044 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5045 ("atk" ,atk)
5046 ("pango" ,pango)
5047 ("gtk+" ,gtk+)
5048 ;; TODO:
5049 ;; * libgpod
5050 ;; * mx
f0afb0c8
DH
5051 ("brasero" ,brasero)))
5052 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
5053 (synopsis "Music player for GNOME")
5054 (description "Rhythmbox is a music playing application for GNOME. It
5055supports playlists, song ratings, and any codecs installed through gstreamer.")
5056 (license license:gpl2+)))
f70d8383
DH
5057
5058(define-public eog
5059 (package
5060 (name "eog")
0c9031fa 5061 (version "3.34.1")
f70d8383
DH
5062 (source (origin
5063 (method url-fetch)
5064 (uri (string-append "mirror://gnome/sources/" name "/"
5065 (version-major+minor version) "/"
5066 name "-" version ".tar.xz"))
5067 (sha256
5068 (base32
0c9031fa 5069 "0b7ld4azs9xbdjsk9b91ywhdzvxgajhndiwiivxjzbr0hjgp7c7x"))))
61fb581f 5070 (build-system meson-build-system)
f70d8383 5071 (arguments
34c44a34
RW
5072 `(#:configure-flags
5073 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
5074 (list (string-append "-Dc_link_args=-Wl,-rpath="
5075 (assoc-ref %outputs "out") "/lib/eog"))
5076 #:phases
f70d8383 5077 (modify-phases %standard-phases
7a034665
EF
5078 (add-after 'unpack 'skip-gtk-update-icon-cache
5079 ;; Don't create 'icon-theme.cache'.
5080 (lambda _
5081 (substitute* "meson_post_install.py"
5082 (("gtk-update-icon-cache") "true"))
5083 #t))
61fb581f
RW
5084 (add-after 'install 'wrap-eog
5085 (lambda* (#:key outputs #:allow-other-keys)
5086 (let ((out (assoc-ref outputs "out"))
5087 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5088 (wrap-program (string-append out "/bin/eog")
5089 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5090 #t)))))
f70d8383
DH
5091 (propagated-inputs
5092 `(("dconf" ,dconf)))
5093 (native-inputs
5094 `(("intltool" ,intltool)
b3546174 5095 ("itstool" ,itstool)
f70d8383
DH
5096 ("glib" ,glib "bin")
5097 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
5098 ("pkg-config" ,pkg-config)
5099 ("xmllint" ,libxml2)))
f70d8383
DH
5100 (inputs
5101 `(("gnome-desktop" ,gnome-desktop)
5102 ("shared-mime-info" ,shared-mime-info)
5103 ("adwaita-icon-theme" ,adwaita-icon-theme)
5104 ("exempi" ,exempi)
5105 ("lcms" ,lcms)
5106 ("libexif" ,libexif)
5107 ("libpeas" ,libpeas)
4bd428a7 5108 ("libjpeg" ,libjpeg-turbo)
0c9031fa 5109 ("librsvg" ,librsvg-next)
f70d8383
DH
5110 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5111 ("gtk+" ,gtk+)))
5112 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
5113 (synopsis "GNOME image viewer")
5114 (description "Eye of GNOME is the GNOME image viewer. It
5115supports image conversion, rotation, and slideshows.")
5116 (license license:gpl2+)))
41af5e7b 5117
0c3f8cb8
LC
5118(define-public eog-plugins
5119 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
5120 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
5121 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
5122 ;; 'XDG_DATA_DIRS' appropriately set.
5123 (package
5124 (name "eog-plugins")
54b74cc6 5125 (version "3.26.4")
0c3f8cb8
LC
5126 (source (origin
5127 (method url-fetch)
f3b88ed2 5128 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 5129 (version-major+minor version) "/"
f3b88ed2 5130 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
5131 (sha256
5132 (base32
54b74cc6 5133 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
5134 (build-system gnu-build-system)
5135 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
5136 (synopsis "Extensions for the Eye of GNOME image viewer")
5137 (native-inputs
5138 `(("pkg-config" ,pkg-config)
f2d97d57 5139 ("gettext" ,gettext-minimal)))
0c3f8cb8
LC
5140 (inputs
5141 `(("eog" ,eog)
5142 ("glib" ,glib)
5143 ("gtk+" ,gtk+)
5144 ("libpeas" ,libpeas)
5145 ("libexif" ,libexif)
5146 ("libchamplain" ,libchamplain)))
5147 (description
5148 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
5149notably:
5150
5151@itemize
5152@item @dfn{EXIF Display}, which displays camera (EXIF) information;
5153@item @dfn{Map}, which displays a map of where the picture was taken on the
5154side panel;
5155@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
5156@end itemize\n")
5157
5158 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
5159 ;; long suspicious byte stream that goes to a
5160 ;; ".gresource.eog_postasa_plugin" ELF section.
5161 (license license:gpl2+)))
5162
41af5e7b
SB
5163(define-public libgudev
5164 (package
5165 (name "libgudev")
b78f5118 5166 (version "232")
41af5e7b
SB
5167 (source (origin
5168 (method url-fetch)
5169 (uri (string-append "mirror://gnome/sources/" name "/"
5170 version "/" name "-" version ".tar.xz"))
5171 (sha256
5172 (base32
b78f5118 5173 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 5174 (build-system gnu-build-system)
b78f5118
RW
5175 (arguments
5176 '(#:configure-flags
5177 ;; umockdev depends on libgudev.
5178 (list "--disable-umockdev")))
41af5e7b
SB
5179 (native-inputs
5180 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5181 ("gobject-introspection" ,gobject-introspection)
5182 ("pkg-config" ,pkg-config)))
5183 (propagated-inputs
5184 `(("glib" ,glib))) ; required by gudev-1.0.pc
5185 (inputs
5186 `(("udev" ,eudev)))
5187 (home-page "https://wiki.gnome.org/Projects/libgudev")
5188 (synopsis "GObject bindings for libudev")
5189 (description
5190 "This library provides GObject bindings for libudev. It was originally
5191part of udev-extras, then udev, then systemd. It's now a project on its own.")
5192 (license license:lgpl2.1+)))
3dc8828f
SB
5193
5194(define-public gvfs
5195 (package
5196 (name "gvfs")
12fe4846 5197 (version "1.40.1")
3dc8828f
SB
5198 (source (origin
5199 (method url-fetch)
1d68eb32 5200 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 5201 (version-major+minor version) "/"
1d68eb32 5202 "gvfs-" version ".tar.xz"))
3dc8828f
SB
5203 (sha256
5204 (base32
12fe4846 5205 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))))
e762d943 5206 (build-system meson-build-system)
3dc8828f 5207 (arguments
e762d943
RW
5208 '(#:glib-or-gtk? #t
5209 #:configure-flags
5210 (list "-Dsystemduserunitdir=no"
5211 "-Dtmpfilesdir=no"
5212 ;; Otherwise, the RUNPATH will lack the final path component.
5213 (string-append "-Dc_link_args=-Wl,-rpath="
5214 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
5215 (native-inputs
5216 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
5217 ("gettext" ,gettext-minimal)
5218 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
5219 ("pkg-config" ,pkg-config)
5220 ("xsltproc" ,libxslt)))
5221 (inputs
5222 `(("avahi" ,avahi)
5223 ("docbook-xml" ,docbook-xml-4.2)
5224 ("docbook-xsl" ,docbook-xsl)
5225 ("dbus" ,dbus)
e762d943 5226 ("elogind" ,elogind)
3dc8828f 5227 ("fuse" ,fuse)
24a78aa6 5228 ("gcr" ,gcr)
3dc8828f 5229 ("glib" ,glib)
e762d943 5230 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
5231 ("libarchive" ,libarchive)
5232 ("libbluray" ,libbluray)
8852ca24 5233 ("libcap" ,libcap)
3dc8828f
SB
5234 ("libcdio-paranoia" ,libcdio-paranoia)
5235 ("libgcrypt" ,libgcrypt)
e762d943 5236 ("libgdata" ,libgdata)
3dc8828f
SB
5237 ("libgphoto2" ,libgphoto2)
5238 ("libgudev" ,libgudev)
0ab9f949 5239 ("libimobiledevice" ,libimobiledevice)
3dc8828f 5240 ("libmtp" ,libmtp)
e762d943 5241 ("libnfs" ,libnfs)
3dc8828f
SB
5242 ("libsecret" ,libsecret)
5243 ("libsmbclient" ,samba)
5244 ("libsoup" ,libsoup)
5245 ("libxml2" ,libxml2)
e762d943 5246 ("openssh" ,openssh)
8852ca24 5247 ("polkit" ,polkit)
3dc8828f
SB
5248 ("udisks" ,udisks)))
5249 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 5250 (synopsis "Userspace virtual file system for GIO")
3dc8828f 5251 (description
8f65585b 5252 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
5253abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
5254to all applications using the GIO API. It also supports exposing the GVFS
5255mounts to non-GIO applications using FUSE.
5256
5257GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
5258DAV, and others.")
5259 (license license:lgpl2.0+)))
7c88b6bd
AW
5260
5261(define-public gusb
5262 (package
5263 (name "gusb")
536b3274 5264 (version "0.3.0")
7c88b6bd 5265 (source (origin
bbfb36f9
EF
5266 (method git-fetch)
5267 (uri (git-reference
5268 (url "https://github.com/hughsie/libgusb.git")
5269 (commit version)))
5270 (file-name (git-file-name name version))
7c88b6bd
AW
5271 (sha256
5272 (base32
bbfb36f9 5273 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 5274 (build-system meson-build-system)
7c88b6bd 5275 (native-inputs
536b3274 5276 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
5277 ("pkg-config" ,pkg-config)
5278 ("vala" ,vala)
7c88b6bd
AW
5279 ("gtk-doc" ,gtk-doc)))
5280 (propagated-inputs
5281 ;; Both of these are required by gusb.pc.
5282 `(("glib" ,glib)
5283 ("libusb" ,libusb)))
5284 (arguments
536b3274 5285 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 5286 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 5287 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
5288 (description
5289 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
5290asynchronous control, bulk and interrupt transfers with proper cancellation
5291and integration into a mainloop. This makes it easy to integrate low level
5292USB transfers with your high-level application or system daemon.")
5293 (license license:lgpl2.1+)))
0abe1d86
AW
5294
5295(define-public simple-scan
5296 (package
5297 (name "simple-scan")
f9e5313c 5298 (version "3.36.2.1")
d9f6d587
TGR
5299 (source
5300 (origin
5301 (method url-fetch)
5302 (uri (string-append "mirror://gnome/sources/simple-scan/"
5303 (version-major+minor version) "/"
5304 "simple-scan-" version ".tar.xz"))
5305 (sha256
f9e5313c 5306 (base32 "0aq1pf0wk536b91as54684xgmhl7lps0k2xcwha5wh6h1isyb35v"))))
d9f6d587
TGR
5307 (build-system meson-build-system)
5308 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
5309 (arguments
5310 '(#:glib-or-gtk? #t))
0abe1d86
AW
5311 (inputs
5312 `(("gtk" ,gtk+)
5313 ("zlib" ,zlib)
5314 ("cairo" ,cairo)
c501f592 5315 ("colord" ,colord)
0abe1d86
AW
5316 ("gdk-pixbuf" ,gdk-pixbuf)
5317 ("gusb" ,gusb)
4c928743 5318 ("libsane" ,sane-backends)))
0abe1d86 5319 (native-inputs
b94a6ca0 5320 `(("gettext" ,gettext-minimal)
0abe1d86 5321 ("itstool" ,itstool)
c501f592 5322 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 5323 ("pkg-config" ,pkg-config)
bcb354ad
SB
5324 ("vala" ,vala)
5325 ("xmllint" ,libxml2)))
dff0eedb 5326 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 5327 (synopsis "Document and image scanner")
d9f6d587
TGR
5328 (description
5329 "Document Scanner is an easy-to-use application that lets you connect your
5330scanner and quickly capture images and documents in an appropriate format. It
5331supports any scanner for which a suitable SANE driver is available, which is
5332almost all of them.")
0abe1d86 5333 (license license:gpl3+)))
7549f984 5334
ab466d79
RW
5335(define-public eolie
5336 (package
5337 (name "eolie")
ed783404 5338 (version "0.9.98.1")
ab466d79
RW
5339 (source (origin
5340 (method url-fetch)
ed783404
RW
5341 (uri (string-append "https://adishatz.org/eolie/eolie-"
5342 version ".tar.xz"))
ab466d79
RW
5343 (sha256
5344 (base32
ed783404 5345 "1d844zva5w4p9pnp9c2g7zyb4vayr2g2drf78spxsdlc5lbd7lqr"))))
00014781 5346 (build-system meson-build-system)
ab466d79 5347 (arguments
00014781
RW
5348 `(#:glib-or-gtk? #t
5349 #:phases
ab466d79 5350 (modify-phases %standard-phases
f0c68100
EF
5351 (add-after 'unpack 'skip-gtk-update-icon-cache
5352 ;; Don't create 'icon-theme.cache'.
5353 (lambda _
5354 (substitute* "meson_post_install.py"
5355 (("gtk-update-icon-cache") "true"))
5356 #t))
ab466d79
RW
5357 (add-after 'wrap 'wrap-more
5358 (lambda* (#:key inputs outputs #:allow-other-keys)
5359 (let* ((out (assoc-ref outputs "out"))
5360 ;; These libraries must be on LD_LIBRARY_PATH.
5361 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
5362 "atk" "gtk+" "gsettings-desktop-schemas"
5363 "gobject-introspection"))
5364 (path (string-join
5365 (map (lambda (lib)
5366 (string-append (assoc-ref inputs lib) "/lib"))
5367 libs)
5368 ":")))
5369 (wrap-program (string-append out "/bin/eolie")
5370 `("LD_LIBRARY_PATH" ":" prefix (,path))
5371 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
5372 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
5373 #t)))))
5374 (native-inputs
f85ca6ed 5375 `(("intltool" ,intltool)
ab466d79 5376 ("itstool" ,itstool)
d95f1041 5377 ("pkg-config" ,pkg-config)
d95f1041 5378 ("python" ,python)
f0c68100 5379 ("glib:bin" ,glib "bin")))
ab466d79
RW
5380 (inputs
5381 `(("gobject-introspection" ,gobject-introspection)
5382 ("glib-networking" ,glib-networking)
5383 ("cairo" ,cairo)
5384 ("gtk+" ,gtk+)
5385 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
5386 ("python" ,python-wrapper)
d72f76df 5387 ("python-dateutil" ,python-dateutil)
00014781 5388 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
5389 ("python-pygobject" ,python-pygobject)
5390 ("python-pycairo" ,python-pycairo)
00014781 5391 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
5392 ("libsecret" ,libsecret)
5393 ("gtkspell3" ,gtkspell3)
5394 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 5395 ("webkitgtk" ,webkitgtk)))
166b2c97 5396 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
5397 (synopsis "Web browser for GNOME")
5398 (description
5399 "Eolie is a new web browser for GNOME. It features Firefox sync support,
5400a secret password store, an adblocker, and a modern UI.")
5401 (license license:gpl3+)))
5402
7549f984
SB
5403(define-public epiphany
5404 (package
5405 (name "epiphany")
68fdd237 5406 (version "3.34.4")
7549f984
SB
5407 (source (origin
5408 (method url-fetch)
dd3266ec 5409 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 5410 (version-major+minor version) "/"
dd3266ec 5411 "epiphany-" version ".tar.xz"))
7549f984
SB
5412 (sha256
5413 (base32
68fdd237 5414 "13ar3s40cds1rplwbzx0fzigf120w0rydiv05r3k6zpc0zy91qb0"))))
fc5c5b92
R
5415
5416 (build-system meson-build-system)
7549f984 5417 (arguments
20710b91 5418 '(#:glib-or-gtk? #t
bb7ff88f
EF
5419 #:phases
5420 (modify-phases %standard-phases
5421 (add-after 'unpack 'skip-gtk-update-icon-cache
5422 ;; Don't create 'icon-theme.cache'.
5423 (lambda _
5424 (substitute* "post_install.py"
5425 (("gtk-update-icon-cache") "true"))
20710b91
LP
5426 #t))
5427 (add-after 'unpack 'disable-failing-tests
5428 (lambda _
5429 (substitute* "tests/meson.build"
5430 ;; embed_shell fails, because webkitgtk apparently no longer supports
5431 ;; overriding the ftp schema
5432 ;; web_app_utils fails due to missing network access
5433 (("(embed_shell|web_app_utils)_test,")
5434 "find_program('sh'), args: ['-c', 'exit 77'],"))
5435 #t))
5436 (add-before 'check 'pre-check
5437 (lambda _
5438 ;; Tests require a running X server.
5439 (system "Xvfb :1 &")
5440 (setenv "DISPLAY" ":1")
bb7ff88f 5441 #t)))
e19f9c24
LF
5442 #:configure-flags
5443 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
5444 (list (string-append "-Dc_link_args=-Wl,-rpath="
5445 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
5446 (propagated-inputs
5447 `(("dconf" ,dconf)))
7549f984 5448 (native-inputs
fc5c5b92
R
5449 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5450 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 5451 ("intltool" ,intltool)
7549f984 5452 ("itstool" ,itstool)
bcb354ad 5453 ("pkg-config" ,pkg-config)
20710b91
LP
5454 ("xmllint" ,libxml2)
5455 ("xorg-server" ,xorg-server-for-tests)))
7549f984
SB
5456 (inputs
5457 `(("avahi" ,avahi)
5458 ("gcr" ,gcr)
fc5c5b92 5459 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
5460 ("glib-networking" ,glib-networking)
5461 ("gnome-desktop" ,gnome-desktop)
5462 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 5463 ("json-glib" ,json-glib)
7549f984 5464 ("iso-codes" ,iso-codes)
8748e29c 5465 ("libdazzle" ,libdazzle)
7549f984
SB
5466 ("libnotify" ,libnotify)
5467 ("libsecret" ,libsecret)
7549f984 5468 ("libxslt" ,libxslt)
fc5c5b92 5469 ("nettle" ,nettle) ; for hogweed
7549f984 5470 ("sqlite" ,sqlite)
f85ca6ed 5471 ("webkitgtk" ,webkitgtk)))
7549f984
SB
5472 (home-page "https://wiki.gnome.org/Apps/Web")
5473 (synopsis "GNOME web browser")
5474 (description
5475 "Epiphany is a GNOME web browser targeted at non-technical users. Its
5476principles are simplicity and standards compliance.")
5477 (license license:gpl2+)))
a3856b2c
SB
5478
5479(define-public d-feet
5480 (package
5481 (name "d-feet")
458e9221 5482 (version "0.3.14")
a3856b2c
SB
5483 (source (origin
5484 (method url-fetch)
5485 (uri (string-append "mirror://gnome/sources/" name "/"
5486 (version-major+minor version) "/"
5487 name "-" version ".tar.xz"))
5488 (sha256
5489 (base32
458e9221 5490 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
5491 (build-system glib-or-gtk-build-system)
5492 (arguments
5493 '(#:out-of-source? #f ; tests need to run in the source directory.
5494 #:phases
5495 (modify-phases %standard-phases
5496 (add-before
5497 'check 'pre-check
86aff791 5498 (lambda _
a3856b2c
SB
5499 ;; The test suite requires a running X server.
5500 (system "Xvfb :1 &")
5501 (setenv "DISPLAY" ":1")
5502 ;; Don't fail on missing '/etc/machine-id'.
5503 (setenv "DBUS_FATAL_WARNINGS" "0")
5504 ;; tests.py and window.py don't meet E402:
5505 ;; E402 module level import not at top of file
5506 (substitute* "src/tests/Makefile"
86aff791
MW
5507 (("--ignore=E123") "--ignore=E123,E402"))
5508 #t))
a3856b2c
SB
5509 (add-after
5510 'install 'wrap-program
5511 (lambda* (#:key outputs #:allow-other-keys)
5512 (let ((prog (string-append (assoc-ref outputs "out")
5513 "/bin/d-feet")))
5514 (wrap-program prog
5515 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
5516 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
5517 #t))))))
a3856b2c
SB
5518 (native-inputs
5519 `(("intltool" ,intltool)
5520 ("itstool" ,itstool)
5521 ("pkg-config" ,pkg-config)
5522 ("python-pep8" ,python-pep8)
5523 ("xmllint" ,libxml2)
ff337525 5524 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
5525 (inputs
5526 `(("gobject-introspection" ,gobject-introspection)
5527 ("gtk+" ,gtk+)
5528 ("python" ,python-wrapper)
458e9221 5529 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
5530 ("python-pygobject" ,python-pygobject)))
5531 (home-page "https://wiki.gnome.org/Apps/DFeet")
5532 (synopsis "D-Bus debugger")
5533 (description
5534 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
5535of running programs and invoke methods on those interfaces.")
5536 (license license:gpl2+)))
c3b97bd9
SB
5537
5538(define-public yelp-xsl
5539 (package
5540 (name "yelp-xsl")
632a9b32 5541 (version "3.34.2")
c3b97bd9
SB
5542 (source (origin
5543 (method url-fetch)
5544 (uri (string-append "mirror://gnome/sources/" name "/"
5545 (version-major+minor version) "/"
5546 name "-" version ".tar.xz"))
5547 (sha256
5548 (base32
632a9b32 5549 "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
c3b97bd9
SB
5550 (build-system gnu-build-system)
5551 (native-inputs
632a9b32 5552 `(("gettext-minimal" ,gettext-minimal)
c3b97bd9
SB
5553 ("itstool" ,itstool)
5554 ("xmllint" ,libxml2)))
5555 (home-page "https://wiki.gnome.org/Apps/Yelp")
5556 (synopsis "XSL stylesheets for Yelp")
5557 (description
5558 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
5559to format Docbook and Mallard documents.")
5560 (license license:gpl2+)))
de3d612a
SB
5561
5562(define-public yelp
5563 (package
5564 (name "yelp")
1f1b6d60 5565 (version "3.32.2")
de3d612a
SB
5566 (source (origin
5567 (method url-fetch)
5568 (uri (string-append "mirror://gnome/sources/" name "/"
5569 (version-major+minor version) "/"
5570 name "-" version ".tar.xz"))
5571 (sha256
5572 (base32
1f1b6d60 5573 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
5574 (build-system glib-or-gtk-build-system)
5575 (native-inputs
5576 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5577 ("intltool" ,intltool)
5578 ("itstool" ,itstool)
5579 ("pkg-config" ,pkg-config)))
5580 (propagated-inputs
5581 `(("dconf" ,dconf)))
5582 (inputs
ad1b7d8b
SB
5583 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5584 ("libxslt" ,libxslt)
de3d612a 5585 ("sqlite" ,sqlite)
4c28ca1d
SB
5586 ("webkitgtk" ,webkitgtk)
5587 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
5588 (home-page "https://wiki.gnome.org/Apps/Yelp")
5589 (synopsis "GNOME help browser")
5590 (description
5591 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
5592man, info, and HTML documents. It can locate documents according to the
5593freedesktop.org help system specification.")
5594 (license license:gpl2+)))
122d0d10
SB
5595
5596(define-public yelp-tools
5597 (package
5598 (name "yelp-tools")
8fe8a42a 5599 (version "3.32.2")
122d0d10
SB
5600 (source (origin
5601 (method url-fetch)
5602 (uri (string-append "mirror://gnome/sources/" name "/"
5603 (version-major+minor version) "/"
5604 name "-" version ".tar.xz"))
5605 (sha256
5606 (base32
8fe8a42a 5607 "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q"))))
122d0d10
SB
5608 (build-system gnu-build-system)
5609 (native-inputs
5610 `(("pkg-config" ,pkg-config)))
5611 (propagated-inputs
5612 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
5613 `(("itstool" ,itstool)
5614 ("xmllint" ,libxml2)
5615 ("xsltproc" ,libxslt)))
5616 (inputs
5617 `(("yelp-xsl" ,yelp-xsl)))
5618 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
5619 (synopsis "Yelp documentation tools")
5620 (description
5621 "Yelp-tools is a collection of scripts and build utilities to help create,
5622manage, and publish documentation for Yelp and the web. Most of the heavy
5623lifting is done by packages like yelp-xsl and itstool. This package just
5624wraps things up in a developer-friendly way.")
5625 (license license:gpl2+)))
af8f9f23
RW
5626
5627(define-public libgee
5628 (package
5629 (name "libgee")
9cedae2a 5630 (version "0.20.3")
af8f9f23
RW
5631 (source (origin
5632 (method url-fetch)
84a1b007 5633 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 5634 (version-major+minor version) "/"
84a1b007 5635 "libgee-" version ".tar.xz"))
af8f9f23
RW
5636 (sha256
5637 (base32
9cedae2a 5638 "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
af8f9f23
RW
5639 (build-system gnu-build-system)
5640 (arguments
5641 `(#:phases
5642 (modify-phases %standard-phases
5643 (add-after 'unpack 'fix-introspection-install-dir
5644 (lambda* (#:key outputs #:allow-other-keys)
5645 (let ((out (assoc-ref outputs "out")))
5646 (substitute* "gee/Makefile.in"
5647 (("@INTROSPECTION_GIRDIR@")
5648 (string-append out "/share/gir-1.0/"))
5649 (("@INTROSPECTION_TYPELIBDIR@")
5650 (string-append out "/lib/girepository-1.0/")))))))))
5651 (native-inputs
5652 `(("glib" ,glib "bin")
5653 ("pkg-config" ,pkg-config)))
5654 (inputs
5655 `(("glib" ,glib)
5656 ("gobject-introspection" ,gobject-introspection)))
5657 (home-page "https://wiki.gnome.org/Projects/Libgee")
5658 (synopsis "GObject collection library")
5659 (description
5660 "Libgee is a utility library providing GObject-based interfaces and
5661classes for commonly used data structures.")
5662 (license license:lgpl2.1+)))
b0f9c4b8
RW
5663
5664(define-public gexiv2
5665 (package
5666 (name "gexiv2")
b1a8b408 5667 (version "0.12.0")
b0f9c4b8
RW
5668 (source (origin
5669 (method url-fetch)
5670 (uri (string-append "mirror://gnome/sources/" name "/"
5671 (version-major+minor version) "/"
5672 name "-" version ".tar.xz"))
5673 (sha256
5674 (base32
b1a8b408 5675 "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq"))))
51c482e4 5676 (build-system meson-build-system)
b0f9c4b8 5677 (native-inputs
b1a8b408
KK
5678 `(("gcr" ,gcr)
5679 ("glib" ,glib "bin")
5680 ("pkg-config" ,pkg-config)
5681 ("vala" ,vala)))
b0f9c4b8
RW
5682 (propagated-inputs
5683 ;; Listed in "Requires" section of gexiv2.pc
5684 `(("exiv2" ,exiv2)))
5685 (inputs
5686 `(("glib" ,glib)
5687 ("gobject-introspection" ,gobject-introspection)))
5688 (home-page "https://wiki.gnome.org/Projects/gexiv2")
5689 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
5690 (description
5691 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
5692allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
5693metadata in photo and video files of various formats.")
5694 (license license:gpl2+)))
fed5a689
RW
5695
5696(define-public shotwell
5697 (package
5698 (name "shotwell")
bcea20cc 5699 (version "0.30.8")
fed5a689
RW
5700 (source (origin
5701 (method url-fetch)
5497d682 5702 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 5703 (version-major+minor version) "/"
5497d682 5704 "shotwell-" version ".tar.xz"))
fed5a689
RW
5705 (sha256
5706 (base32
bcea20cc 5707 "1f7m007g6w1sz8s60w6x81ghp2rrjmik8phd958b2hy8zz92wbbj"))))
3b79afa6
KK
5708 (build-system meson-build-system)
5709 (arguments
5a0beca3
EF
5710 '(#:glib-or-gtk? #t
5711 #:phases
5712 (modify-phases %standard-phases
5713 (add-after 'unpack 'skip-gtk-update-icon-cache
5714 (lambda _
5715 (substitute* "build-aux/meson/postinstall.py"
5716 (("gtk-update-icon-cache") (which "true"))
5717 (("update-desktop-database") (which "true")))
5718 #t)))))
735b8db6
TGR
5719 (propagated-inputs
5720 `(("dconf" ,dconf)))
fed5a689 5721 (native-inputs
5a0beca3
EF
5722 `(("gettext" ,gettext-minimal)
5723 ("glib:bin" ,glib "bin")
735b8db6 5724 ("itstool" ,itstool)
3b79afa6 5725 ("pkg-config" ,pkg-config)
735b8db6 5726 ("vala" ,vala)))
fed5a689 5727 (inputs
5a0beca3
EF
5728 `(("gcr" ,gcr)
5729 ("gexiv2" ,gexiv2)
fed5a689 5730 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
5731 ("gstreamer" ,gstreamer)
5732 ("json-glib" ,json-glib)
dfb0323d 5733 ("libgdata" ,libgdata)
fed5a689 5734 ("libgee" ,libgee)
5a0beca3
EF
5735 ("libgphoto2" ,libgphoto2)
5736 ("libgudev" ,libgudev)
fed5a689 5737 ("libraw" ,libraw)
fed5a689
RW
5738 ("libsoup" ,libsoup)
5739 ("libxml2" ,libxml2)
5a0beca3
EF
5740 ("sqlite" ,sqlite)
5741 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
5742 (home-page "https://wiki.gnome.org/Apps/Shotwell")
5743 (synopsis "Photo manager for GNOME 3")
5744 (description
5745 "Shotwell is a digital photo manager designed for the GNOME desktop
5746environment. It allows you to import photos from disk or camera, organize
5747them by keywords and events, view them in full-window or fullscreen mode, and
5748share them with others via social networking and more.")
5749 (license license:lgpl2.1+)))
293ff8b2
DT
5750
5751(define-public file-roller
5752 (package
5753 (name "file-roller")
dcae4270 5754 (version "3.32.3")
293ff8b2
DT
5755 (source (origin
5756 (method url-fetch)
f89a27c6 5757 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 5758 (version-major+minor version) "/"
f89a27c6 5759 "file-roller-" version ".tar.xz"))
293ff8b2
DT
5760 (sha256
5761 (base32
dcae4270 5762 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 5763 (build-system meson-build-system)
293ff8b2 5764 (native-inputs
0a500745
RW
5765 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5766 ("intltool" ,intltool)
4c96e5d1 5767 ("itstool" ,itstool)
0a500745
RW
5768 ("pkg-config" ,pkg-config)
5769 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
5770 ("glib:bin" ,glib "bin")))
293ff8b2
DT
5771 ;; TODO: Add libnautilus.
5772 (inputs
5773 `(("gtk+" ,gtk+)
5774 ("gdk-pixbuf" ,gdk-pixbuf)
5775 ("json-glib" ,json-glib)
5776 ("libarchive" ,libarchive)
5777 ("libnotify" ,libnotify)
4c96e5d1 5778 ("nettle" ,nettle)
293ff8b2
DT
5779 ("libxml2" ,libxml2)))
5780 (synopsis "Graphical archive manager for GNOME")
5781 (description "File Roller is an archive manager for the GNOME desktop
5782environment that allows users to view, unpack, and create compressed archives
5783such as gzip tarballs.")
5784 (home-page "http://fileroller.sourceforge.net/")
5785 (license license:gpl2+)))
7ce49365
SB
5786
5787(define-public gnome-session
5788 (package
5789 (name "gnome-session")
f67ce006 5790 (version "3.34.2")
7ce49365
SB
5791 (source (origin
5792 (method url-fetch)
5793 (uri (string-append "mirror://gnome/sources/" name "/"
5794 (version-major+minor version) "/"
5795 name "-" version ".tar.xz"))
5796 (sha256
5797 (base32
f67ce006 5798 "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb"))))
2914af3c 5799 (arguments
df278071
RW
5800 '(#:glib-or-gtk? #t
5801 #:phases
2914af3c
AW
5802 (modify-phases %standard-phases
5803 (add-before 'configure 'pre-configure
5804 (lambda* (#:key outputs #:allow-other-keys)
5805 ;; Use elogind instead of systemd.
df278071
RW
5806 (substitute* "meson.build"
5807 (("libsystemd-login") "libelogind")
5808 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
5809 (substitute* "gnome-session/gsm-systemd.c"
5810 (("#include <systemd/sd-login.h>")
5811 "#include <elogind/sd-login.h>"))
df278071 5812 ;; Remove uses of the systemd daemon.
803ab416
SB
5813 (substitute* "gnome-session/gsm-autostart-app.c"
5814 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
5815 #t))
5816 (add-after 'install 'wrap-gnome-session
5817 (lambda* (#:key inputs outputs #:allow-other-keys)
5818 ;; Make sure 'gnome-session' finds the 'gsettings' program.
5819 (let ((glib (assoc-ref inputs "glib:bin"))
5820 (out (assoc-ref outputs "out")))
5821 (wrap-program (string-append out "/bin/gnome-session")
5822 `("PATH" ":" prefix (,(string-append glib "/bin"))))
5823 #t))))
6cbc8d57 5824
2914af3c 5825 #:configure-flags
df278071
RW
5826 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
5827 "-Dman=false" ; FIXME: disabled because of docbook validation error
5828 "-Dsystemd_journal=false")))
5829 (build-system meson-build-system)
7ce49365
SB
5830 (native-inputs
5831 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5832 ("pkg-config" ,pkg-config)
5833 ("intltool" ,intltool)
df278071
RW
5834 ("xsltproc" ,libxslt)
5835 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5836 ("docbook-xsl" ,docbook-xsl)
5837 ("docbook-xml" ,docbook-xml)
5838 ("xmlto" ,xmlto)))
7ce49365 5839 (inputs
2914af3c
AW
5840 `(("elogind" ,elogind)
5841 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 5842 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
5843 ("gtk+" ,gtk+)
5844 ("json-glib" ,json-glib)
5845 ("libsm" ,libsm)
5846 ("libxcomposite" ,libxcomposite)
5847 ("libxtst" ,libxtst)
5848 ("mesa" ,mesa)
5849 ("upower" ,upower)
5850 ("xtrans" ,xtrans)))
5851 (synopsis "Session manager for GNOME")
5852 (description
5853 "This package contains the GNOME session manager, as well as a
5854configuration program to choose applications starting on login.")
5855 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
5856 (license license:gpl2+)))
f47ba77e
SB
5857
5858(define-public gjs
5859 (package
5860 (name "gjs")
76e1830c 5861 (version "1.58.3")
f47ba77e
SB
5862 (source (origin
5863 (method url-fetch)
5864 (uri (string-append "mirror://gnome/sources/" name "/"
5865 (version-major+minor version) "/"
5866 name "-" version ".tar.xz"))
5867 (sha256
5868 (base32
76e1830c 5869 "1bkksx362007zs8c31ydygb29spwa5g5kch1ad2grc2sp53wv7ya"))))
f47ba77e
SB
5870 (build-system gnu-build-system)
5871 (arguments
5872 '(#:phases
5873 (modify-phases %standard-phases
5874 (add-before
5875 'check 'pre-check
5876 (lambda _
fc119619
MW
5877 ;; The test suite requires a running X server.
5878 (system "Xvfb :1 &")
5879 (setenv "DISPLAY" ":1")
5880
f47ba77e
SB
5881 ;; For the missing /etc/machine-id.
5882 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 5883
144f94d0
KK
5884 ;; Our mozjs-38 package does not compile the required Intl API
5885 ;; support for these failing tests.
5886 (substitute* "installed-tests/js/testLocale.js"
5887 ((".*toBeDefined.*") "")
5888 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
5889 (substitute* "installed-tests/scripts/testCommandLine.sh"
5890 (("Valentín") "")
5891 (("☭") ""))
f47ba77e
SB
5892 #t)))))
5893 (native-inputs
8a831c6f 5894 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
5895 ("pkg-config" ,pkg-config)
5896 ("xmllint" ,libxml2)
5897 ;; For testing
5898 ("dbus-launch" ,dbus)
76e1830c 5899 ("dconf" ,dconf) ; required to properly store settings
f47ba77e 5900 ("uuidgen" ,util-linux)
ebebee94 5901 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
5902 (propagated-inputs
5903 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
5904 `(("cairo" ,cairo)
5905 ("gobject-introspection" ,gobject-introspection)
d054fbf5 5906 ("mozjs" ,mozjs-60)))
f47ba77e
SB
5907 (inputs
5908 `(("gtk+" ,gtk+)
5909 ("readline" ,readline)))
5910 (synopsis "Javascript bindings for GNOME")
f032d0be 5911 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
5912 (description
5913 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
5914javascript engine and the GObject introspection framework.")
5915 (license license:gpl2+)))
329d731b
DH
5916
5917(define-public gedit
5918 (package
5919 (name "gedit")
edec7128 5920 (version "3.34.1")
329d731b
DH
5921 (source (origin
5922 (method url-fetch)
5923 (uri (string-append "mirror://gnome/sources/" name "/"
5924 (version-major+minor version) "/"
5925 name "-" version ".tar.xz"))
5926 (sha256
5927 (base32
edec7128 5928 "1inm50sdfw63by1lf4f1swb59mpyxlly0g5rdg99j5l3357fzygb"))))
480c9226 5929 (build-system meson-build-system)
329d731b 5930 (arguments
480c9226
KK
5931 `(#:glib-or-gtk? #t
5932 #:configure-flags
5933 ;; Otherwise, the RUNPATH will lack the final path component.
5934 (list (string-append "-Dc_link_args=-Wl,-rpath="
5935 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
5936
5937 ;; XXX: Generated .h files are sometimes used before being built.
5938 #:parallel-build? #f
5939
480c9226 5940 #:phases
329d731b 5941 (modify-phases %standard-phases
480c9226
KK
5942 (add-after 'unpack 'skip-gtk-update-icon-cache
5943 ;; Don't create 'icon-theme.cache'.
5944 (lambda _
5945 (substitute* "build-aux/meson/post_install.py"
5946 (("gtk-update-icon-cache") (which "true")))
5947 #t))
5948 (add-after 'unpack 'patch-libgd-fetch
5949 (lambda* (#:key inputs #:allow-other-keys)
5950 (let ((libgd (assoc-ref inputs "libgd")))
5951 ;; Calling git is unnecessary because libgd is fetched as a
5952 ;; native input to this package.
5953 (substitute* "meson.build"
5954 ((".*git.*") ""))
5955 (copy-recursively libgd "subprojects/libgd")
5956 #t)))
5957 (add-after 'install 'wrap-gedit
5958 (lambda* (#:key inputs outputs #:allow-other-keys)
5959 (let ((out (assoc-ref outputs "out"))
5960 (gtksourceview (assoc-ref inputs "gtksourceview"))
5961 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5962 (python-path (getenv "PYTHONPATH")))
5963 (wrap-program (string-append out "/bin/gedit")
5964 ;; For plugins.
5965 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5966 `("PYTHONPATH" ":" prefix (,python-path))
5967 ;; For language-specs.
5968 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
5969 "/share")))))
5970 #t)))))
329d731b
DH
5971 (propagated-inputs
5972 `(("dconf" ,dconf)))
5973 (native-inputs
480c9226
KK
5974 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5975 ("intltool" ,intltool)
b3546174 5976 ("itstool" ,itstool)
480c9226 5977 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 5978 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
5979 ("libgd"
5980 ,(origin
5981 (method git-fetch)
5982 (uri (git-reference
5983 (url "https://gitlab.gnome.org/GNOME/libgd")
5984 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
5985 (file-name (git-file-name "libgd" version))
5986 (sha256
5987 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
5988 ("pkg-config" ,pkg-config)))
5989 (inputs
5990 `(("glib" ,glib)
0d2df50c 5991 ("gspell" ,gspell)
329d731b 5992 ("gtk+" ,gtk+)
480c9226 5993 ("gtksourceview" ,gtksourceview)
329d731b
DH
5994 ("libpeas" ,libpeas)
5995 ("libxml2" ,libxml2)
329d731b
DH
5996 ("iso-codes" ,iso-codes)
5997 ("python-pygobject" ,python-pygobject)
5998 ("python" ,python)
5999 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6000 ("libx11" ,libx11)
6001 ("vala" ,vala)
6002 ("adwaita-icon-theme" ,adwaita-icon-theme)
6003 ("libsoup" ,libsoup)
6004 ("gnome-desktop" ,gnome-desktop)))
6005 (home-page "https://wiki.gnome.org/Apps/Gedit")
6006 (synopsis "GNOME text editor")
6007 (description "While aiming at simplicity and ease of use, gedit is a
6008powerful general purpose text editor.")
6009 (license license:gpl2+)))
b7179363
SB
6010
6011(define-public zenity
6012 (package
6013 (name "zenity")
4f581bd0 6014 (version "3.32.0")
b7179363
SB
6015 (source (origin
6016 (method url-fetch)
5958df04 6017 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 6018 (version-major+minor version) "/"
5958df04 6019 "zenity-" version ".tar.xz"))
b7179363
SB
6020 (sha256
6021 (base32
4f581bd0 6022 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
6023 (build-system gnu-build-system)
6024 (native-inputs
b94a6ca0 6025 `(("gettext" ,gettext-minimal)
b7179363
SB
6026 ("itstool" ,itstool)
6027 ("pkg-config" ,pkg-config)))
6028 (inputs
6029 `(("libnotify" ,libnotify)
6030 ("webkitgtk" ,webkitgtk)))
6031 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 6032 (home-page "https://www.gnome.org")
b7179363
SB
6033 (description
6034 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
6035to display dialog boxes from the commandline and shell scripts.")
6036 (license license:lgpl2.0+)))
60c3627c
SB
6037
6038(define-public mutter
6039 (package
6040 (name "mutter")
ec3ceabd 6041 (version "3.34.2")
60c3627c 6042 (source (origin
86c44e72
KK
6043 (method url-fetch)
6044 (uri (string-append "mirror://gnome/sources/" name "/"
6045 (version-major+minor version) "/"
6046 name "-" version ".tar.xz"))
60c3627c
SB
6047 (sha256
6048 (base32
ec3ceabd 6049 "0b8bz5kvs7rlwvqsg87cf6jhrrj95vgd1l235mjx8rip35ipfvrd"))))
86c44e72
KK
6050 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
6051 ;; versions of cogl and clutter. As a result, many of the inputs,
6052 ;; propagated-inputs, and configure flags used in cogl and clutter are
6053 ;; needed here as well.
edf43f68 6054 (build-system meson-build-system)
60c3627c 6055 (arguments
edf43f68
KK
6056 '(;; XXX: All mutter tests fail with the following error:
6057 ;; Settings schema 'org.gnome.mutter' is not installed
6058 #:tests? #f
6059 #:glib-or-gtk? #t
6060 #:configure-flags
ec3ceabd
KK
6061 ;; TODO: Enable profiler when Sysprof is packaged.
6062 (list "-Dprofiler=false"
6063 ;; Otherwise, the RUNPATH will lack the final path component.
6064 (string-append "-Dc_link_args=-Wl,-rpath="
edf43f68 6065 (assoc-ref %outputs "out") "/lib:"
ec3ceabd 6066 (assoc-ref %outputs "out") "/lib/mutter-5")
a88d5a0c
MW
6067
6068 ;; The following flags are needed for the bundled clutter
edf43f68 6069 (string-append "-Dxwayland_path="
d633f2f6
RH
6070 (assoc-ref %build-inputs "xorg-server-xwayland")
6071 "/bin/Xwayland")
6072
a88d5a0c 6073 ;; the remaining flags are needed for the bundled cogl
edf43f68 6074 (string-append "-Dopengl_libname="
a88d5a0c 6075 (assoc-ref %build-inputs "mesa")
ec3ceabd 6076 "/lib/libGL.so"))))
60c3627c 6077 (native-inputs
ec3ceabd
KK
6078 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6079 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
60c3627c
SB
6080 ("gobject-introspection" ,gobject-introspection)
6081 ("intltool" ,intltool)
f23052a6 6082 ("pkg-config" ,pkg-config)
edf43f68 6083 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
6084 ;; For git build
6085 ("autoconf" ,autoconf)
6086 ("automake" ,automake)
6087 ("libtool" ,libtool)))
60c3627c 6088 (propagated-inputs
a88d5a0c
MW
6089 `(;; libmutter.pc refers to these:
6090 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6091 ("gtk+" ,gtk+)
6092 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
6093 ("atk" ,atk)
6094 ("cairo" ,cairo)
6095 ("gdk-pixbuf" ,gdk-pixbuf)
6096 ("glib" ,glib)
a88d5a0c
MW
6097 ("json-glib" ,json-glib)
6098 ("libinput" ,libinput)
6099 ("libx11" ,libx11)
6100 ("libxcomposite" ,libxcomposite)
6101 ("libxdamage" ,libxdamage)
6102 ("libxext" ,libxext)
6103 ("libxfixes" ,libxfixes)
6104 ("libxkbcommon" ,libxkbcommon)
6105 ("libxrandr" ,libxrandr)
6106 ("mesa" ,mesa)
6107 ("pango" ,pango)
6108 ("udev" ,eudev)
a88d5a0c 6109 ("xinput" ,xinput)))
60c3627c 6110 (inputs
86c44e72
KK
6111 `(("elogind" ,elogind)
6112 ("gnome-desktop" ,gnome-desktop)
edf43f68 6113 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 6114 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 6115 ("libgudev" ,libgudev)
60c3627c
SB
6116 ("libice" ,libice)
6117 ("libsm" ,libsm)
edf43f68 6118 ("libwacom" ,libwacom)
60c3627c 6119 ("libxkbfile" ,libxkbfile)
a88d5a0c 6120 ("libxrandr" ,libxrandr)
86c44e72 6121 ("libxtst" ,libxtst)
edf43f68 6122 ("pipewire" ,pipewire)
60c3627c
SB
6123 ("startup-notification" ,startup-notification)
6124 ("upower-glib" ,upower)
6125 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 6126 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
6127 ("zenity" ,zenity)))
6128 (synopsis "Window and compositing manager")
f032d0be 6129 (home-page "https://www.gnome.org")
60c3627c
SB
6130 (description
6131 "Mutter is a window and compositing manager that displays and manages your
6132desktop via OpenGL. Mutter combines a sophisticated display engine using the
6133Clutter toolkit with solid window-management logic inherited from the Metacity
6134window manager.")
86c44e72 6135 (license license:gpl2+)))
685cee87
SB
6136
6137(define-public gnome-online-accounts
6138 (package
6139 (name "gnome-online-accounts")
dd233e4d 6140 (version "3.36.0")
685cee87
SB
6141 (source (origin
6142 (method url-fetch)
6143 (uri (string-append "mirror://gnome/sources/" name "/"
6144 (version-major+minor version) "/"
6145 name "-" version ".tar.xz"))
6146 (sha256
6147 (base32
dd233e4d 6148 "0bigfi225g1prnxpb9lcc1i7mdcrkplwb05vilc43jik12cn53qw"))))
14c297fd 6149 (outputs '("out" "lib"))
685cee87 6150 (build-system glib-or-gtk-build-system)
14c297fd
TS
6151 (arguments
6152 `(#:configure-flags
6153 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
6154 #:phases
6155 (modify-phases %standard-phases
6156 (add-before 'configure 'patch-libgoa-output
6157 (lambda* (#:key outputs #:allow-other-keys)
6158 (let ((lib (assoc-ref outputs "lib")))
6159 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
6160 (("@prefix@") lib)
6161 (("@exec_prefix@") lib)
6162 (("@libdir@") (string-append lib "/lib"))
6163 (("@includedir@") (string-append lib "/include"))
6164 (("@datadir@") (string-append lib "/share")))
7555d539
MB
6165 ;; Make sure gobject-introspection knows about the output
6166 ;; too (see <https://bugs.gnu.org/36535>).
6167 (setenv "outputs" "out lib")
14c297fd 6168 #t))))))
685cee87
SB
6169 (native-inputs
6170 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6171 ("gobject-introspection" ,gobject-introspection)
6172 ("intltool" ,intltool)
6173 ("pkg-config" ,pkg-config)
ebb2873d 6174 ("vala" ,vala)
685cee87
SB
6175 ("xsltproc" ,libxslt)))
6176 (propagated-inputs
6177 `(("glib" ,glib) ; required by goa-1.0.pc
6178 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
6179 (inputs
6180 `(("docbook-xsl" ,docbook-xsl)
6181 ("json-glib" ,json-glib)
6182 ("libsecret" ,libsecret)
6183 ("rest" ,rest)
685cee87
SB
6184 ("webkitgtk" ,webkitgtk)))
6185 (synopsis "Single sign-on framework for GNOME")
6186 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
6187 (description
6188 "GNOME Online Accounts provides interfaces so that applications and
6189libraries in GNOME can access the user's online accounts. It has providers for
6190Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
6191Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
6192 (license license:lgpl2.0+)))
df217748
SB
6193
6194(define-public evolution-data-server
6195 (package
6196 (name "evolution-data-server")
162048be 6197 (version "3.34.2")
df217748
SB
6198 (source (origin
6199 (method url-fetch)
6200 (uri (string-append "mirror://gnome/sources/" name "/"
6201 (version-major+minor version) "/"
6202 name "-" version ".tar.xz"))
43190ac6
MB
6203 (patches (search-patches "evolution-data-server-locales.patch"
6204 "evolution-data-server-libical-compat.patch"))
df217748
SB
6205 (sha256
6206 (base32
162048be 6207 "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y"))))
743aebd7 6208 (build-system cmake-build-system)
df217748 6209 (arguments
b468eedc
RW
6210 '(#:configure-flags
6211 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
6212 (runpaths (map (lambda (s)
6213 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
6214 '("addressbook-backends" "calendar-backends"
6215 "camel-providers" "credential-modules"
6216 "registry-modules"))))
6217 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
6218 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
6219 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
6220 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
6221 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
6222 (string-append lib "/evolution-data-server;")
6223 (string-join runpaths ";"))
6224 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
6225 #:phases
6226 (modify-phases %standard-phases
b468eedc
RW
6227 (add-after 'unpack 'disable-failing-tests
6228 (lambda _
6229 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
6230 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
6231 (delete-file-recursively "tests/book-migration")
6232 (substitute* "tests/CMakeLists.txt"
6233 (("add_subdirectory\\(book-migration\\)") ""))
b468eedc 6234 #t))
743aebd7 6235 (add-after 'unpack 'patch-paths
df217748 6236 (lambda _
b468eedc
RW
6237 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
6238 "tests/libedata-book/data-test-utils.c"
6239 "tests/libedata-book/test-book-cache-utils.c"
6240 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 6241 (("/bin/rm") (which "rm")))
ac033c7b
MB
6242 #t))
6243 (add-before 'configure 'dont-override-rpath
6244 (lambda _
6245 (substitute* "CMakeLists.txt"
6246 ;; CMakeLists.txt hard-codes runpath to just the libdir.
6247 ;; Remove it so the configure flag is respected.
6248 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 6249 #t)))))
df217748
SB
6250 (native-inputs
6251 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
6252 ("gobject-introspection" ,gobject-introspection)
6253 ("gperf" ,gperf)
6254 ("intltool" ,intltool)
6255 ("pkg-config" ,pkg-config)
a73c1cf8 6256 ("vala" ,vala)
743aebd7 6257 ("python" ,python-wrapper)))
df217748
SB
6258 (propagated-inputs
6259 ;; These are all in the Requires field of .pc files.
6260 `(("gtk+" ,gtk+)
6261 ("libical" ,libical)
6262 ("libsecret" ,libsecret)
6263 ("libsoup" ,libsoup)
6264 ("nss" ,nss)
6265 ("sqlite" ,sqlite)))
6266 (inputs
6267 `(("bdb" ,bdb)
6268 ("gcr" ,gcr)
14c297fd 6269 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 6270 ("json-glib" ,json-glib)
b468eedc 6271 ("libcanberra" ,libcanberra)
743aebd7
MB
6272 ("libgweather" ,libgweather)
6273 ("mit-krb5" ,mit-krb5)
891199c6
MW
6274 ("openldap" ,openldap)
6275 ("webkitgtk" ,webkitgtk)))
df217748
SB
6276 (synopsis "Store address books and calendars")
6277 (home-page "https://wiki.gnome.org/Apps/Evolution")
6278 (description
6279 "This package provides a unified backend for programs that work with
6280contacts, tasks, and calendar information. It was originally developed for
6281Evolution (hence the name), but is now used by other packages as well.")
6282 (license license:lgpl2.0)))
bd7dfafa
SB
6283
6284(define-public caribou
6285 (package
6286 (name "caribou")
fe964bb5 6287 (version "0.4.21")
bd7dfafa
SB
6288 (source (origin
6289 (method url-fetch)
6290 (uri (string-append "mirror://gnome/sources/" name "/"
6291 (version-major+minor version) "/"
6292 name "-" version ".tar.xz"))
6293 (sha256
6294 (base32
fe964bb5 6295 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
6296 (build-system glib-or-gtk-build-system)
6297 (arguments
6298 '(#:phases
6299 (modify-phases %standard-phases
6300 (add-before
6301 'build 'pre-build
6302 (lambda* (#:key outputs #:allow-other-keys)
6303 (let ((out (assoc-ref outputs "out")))
6304 ;; Use absolute shared library path in Caribou-1.0.typelib.
6305 (substitute* "libcaribou/Makefile"
6306 (("--shared-library=libcaribou.so")
6307 (string-append "--shared-library="
6308 out "/lib/libcaribou.so")))
6309 #t)))
6310 (add-after 'install 'wrap-programs
6311 (lambda* (#:key outputs #:allow-other-keys)
6312 (let* ((out (assoc-ref outputs "out"))
6313 (python-path (getenv "PYTHONPATH"))
6314 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6315 (for-each
6316 (lambda (prog)
6317 (wrap-program prog
6318 `("PYTHONPATH" ":" prefix (,python-path))
6319 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6320 (list (string-append out "/bin/caribou-preferences")
6321 (string-append out "/libexec/antler-keyboard"))))
6322 #t)))))
6323 (native-inputs
6324 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6325 ("gobject-introspection" ,gobject-introspection)
6326 ("intltool" ,intltool)
6327 ("pkg-config" ,pkg-config)
9f7f5ba2 6328 ("python" ,python)
bd7dfafa
SB
6329 ("vala" ,vala)
6330 ("xsltproc" ,libxslt)))
6331 (propagated-inputs
6332 ;; caribou-1.0.pc refers to all these.
6333 `(("libgee" ,libgee)
6334 ("libxklavier" ,libxklavier)
6335 ("libxtst" ,libxtst)
6336 ("gtk+" ,gtk+)))
6337 (inputs
6338 `(("clutter" ,clutter)
6339 ("dconf" ,dconf)
6340 ("gtk+-2" ,gtk+-2)
9f7f5ba2 6341 ("python-pygobject" ,python-pygobject)))
bd7dfafa
SB
6342 (synopsis "Text entry and UI navigation application")
6343 (home-page "https://wiki.gnome.org/Projects/Caribou")
6344 (description
6345 "Caribou is an input assistive technology intended for switch and pointer
6346users.")
6347 (license license:lgpl2.1)))
ba5dd105 6348
ba5dd105
SB
6349(define-public network-manager
6350 (package
6351 (name "network-manager")
6425d87a 6352 (version "1.18.4")
ba5dd105
SB
6353 (source (origin
6354 (method url-fetch)
6355 (uri (string-append "mirror://gnome/sources/NetworkManager/"
6356 (version-major+minor version) "/"
6357 "NetworkManager-" version ".tar.xz"))
9d3b6a5d 6358 (patches (search-patches "nm-plugin-path.patch"))
ba5dd105
SB
6359 (sha256
6360 (base32
6425d87a 6361 "0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3"))
02710a9b 6362 (modules '((guix build utils)))
fd070f35 6363 (snippet
02710a9b
RW
6364 '(begin
6365 (substitute* "src/devices/wwan/nm-modem-manager.c"
6366 (("systemd") "elogind"))
6367 #t))))
ba5dd105
SB
6368 (build-system gnu-build-system)
6369 (outputs '("out"
6370 "doc")) ; 8 MiB of gtk-doc HTML
6371 (arguments
6372 '(#:configure-flags
6373 (let ((out (assoc-ref %outputs "out"))
6374 (doc (assoc-ref %outputs "doc"))
6375 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
6376 "/sbin/dhclient")))
02710a9b
RW
6377 (list "--with-libnm-glib" ; needed by network-manager-applet
6378 "--with-systemd-journal=no"
6379 "--with-session-tracking=elogind"
6380 "--with-suspend-resume=elogind"
fd070f35
CM
6381 "--with-consolekit=no"
6382 "--with-crypto=gnutls"
ba5dd105
SB
6383 "--disable-config-plugin-ibft"
6384 "--sysconfdir=/etc"
6385 "--localstatedir=/var"
6386 (string-append "--with-udev-dir="
6387 out "/lib/udev")
6388 (string-append "--with-dbus-sys-dir="
6389 out "/etc/dbus-1/system.d")
6390 (string-append "--with-html-dir="
6391 doc "/share/gtk-doc/html")
6392 (string-append "--with-dhclient=" dhclient)))
6393 #:phases
6394 (modify-phases %standard-phases
02710a9b
RW
6395 ;; This bare "ls" invocation breaks some tests.
6396 (add-after 'unpack 'patch-ls-invocation
6397 (lambda _
6398 (substitute* "build-aux/ltmain.sh"
6399 (("`ls -")
6400 (string-append "`" (which "ls") " -")))
6401 #t))
b4f59d87
AW
6402 (add-before 'configure 'pre-configure
6403 (lambda _
6404 ;; These tests try to test aspects of network-manager's
6405 ;; functionality within restricted containers, but they don't
6406 ;; cope with being already in the Guix build jail as that jail
6407 ;; lacks some features that they would like to proxy over (like
6408 ;; a /sys mount).
d04687dc
HG
6409 (substitute* '("Makefile.in")
6410 (("src/platform/tests/test-address-linux") " ")
6411 (("src/platform/tests/test-cleanup-linux") " ")
6412 (("src/platform/tests/test-link-linux") " ")
6413 (("src/platform/tests/test-route-linux") " ")
02710a9b 6414 (("src/devices/tests/test-acd") "")
d04687dc
HG
6415 (("src/devices/tests/test-arping") " ")
6416 (("src/devices/tests/test-lldp") " ")
6417 (("src/tests/test-route-manager-linux") " "))
b4f59d87 6418 #t))
45f80fce
RW
6419 (add-after 'unpack 'delete-failing-tests
6420 (lambda _
02710a9b 6421 ;; FIXME: These three tests fail for unknown reasons.
45f80fce
RW
6422 ;; ERROR:libnm-core/tests/test-general.c:5842:
6423 ;; _json_config_check_valid: assertion failed (res == expected): (1 == 0)
6424 ;; ERROR:libnm-core/tests/test-keyfile.c:647:
6425 ;; test_team_conf_read_invalid: assertion failed: (nm_setting_team_get_config (s_team) == NULL)
6426 ;; ERROR:libnm-core/tests/test-setting.c:907:
6427 ;; _test_team_config_sync: assertion failed: (nm_streq0 (nm_setting_team_get_runner (s_team), runner))
45f80fce
RW
6428 (substitute* "Makefile.in"
6429 (("libnm-core/tests/test-general") " ")
6430 (("libnm-core/tests/test-keyfile") " ")
02710a9b 6431 (("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " "))
45f80fce 6432 #t))
ba5dd105
SB
6433 (add-before 'check 'pre-check
6434 (lambda _
6435 ;; For the missing /etc/machine-id.
6436 (setenv "DBUS_FATAL_WARNINGS" "0")
bf252286
MB
6437
6438 ;; XXX: Regenerate some of the tests that are dependent on Python version.
6439 ;; Try removing this variable for newer versions of NetworkManager.
6440 (setenv "NM_TEST_REGENERATE" "1")
ba5dd105
SB
6441 #t))
6442 (replace 'install
6443 (lambda _
45f80fce
RW
6444 (invoke "make"
6445 "sysconfdir=/tmp"
6446 "rundir=/tmp"
6447 "statedir=/tmp"
6448 "nmstatedir=/tmp/nm"
6449 "install")
6450 #t)))))
b93502d6
DC
6451 (propagated-inputs
6452 `(("glib" ,glib)))
ba5dd105
SB
6453 (native-inputs
6454 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
6455 ("gobject-introspection" ,gobject-introspection)
d04687dc 6456 ("docbook-xsl" ,docbook-xsl)
ba5dd105 6457 ("intltool" ,intltool)
d04687dc
HG
6458 ("libxslt" ,libxslt)
6459 ("libxml2" ,libxml2)
ba5dd105
SB
6460 ("pkg-config" ,pkg-config)
6461 ;; For testing.
6462 ("python" ,python-wrapper)
6463 ("python-dbus" ,python-dbus)
6464 ("python-pygobject" ,python-pygobject)))
6465 (inputs
02710a9b
RW
6466 `(("coreutils" ,coreutils) ; for ls
6467 ("curl" ,curl)
856ca567
KK
6468 ("cyrus-sasl" ,cyrus-sasl)
6469 ("dbus-glib" ,dbus-glib)
ba5dd105 6470 ("dnsmasq" ,dnsmasq)
856ca567 6471 ("eudev" ,eudev)
ba5dd105
SB
6472 ("gnutls" ,gnutls)
6473 ("iptables" ,iptables)
6474 ("isc-dhcp" ,isc-dhcp)
d04687dc 6475 ("jansson" ,jansson)
ba5dd105
SB
6476 ("libgcrypt" ,libgcrypt)
6477 ("libgudev" ,libgudev)
6478 ("libndp" ,libndp)
6479 ("libnl" ,libnl)
6480 ("libsoup" ,libsoup)
142bdcbc 6481 ("modem-manager" ,modem-manager)
c27e02bf 6482 ("newt" ,newt) ;for the 'nmtui' console interface
ba5dd105
SB
6483 ("polkit" ,polkit)
6484 ("ppp" ,ppp)
6485 ("readline" ,readline)
fd070f35
CM
6486 ("util-linux" ,util-linux)
6487 ("elogind" ,elogind)))
ba5dd105 6488 (synopsis "Network connection manager")
f032d0be 6489 (home-page "https://www.gnome.org/projects/NetworkManager/")
ba5dd105
SB
6490 (description
6491 "NetworkManager is a system network service that manages your network
6492devices and connections, attempting to keep active network connectivity when
6493available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
6494devices, and provides VPN integration with a variety of different VPN
6495services.")
29d2f451
LC
6496 (license license:gpl2+)
6497 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 6498
f2b96b3a
LC
6499(define-public network-manager-openvpn
6500 (package
6501 (name "network-manager-openvpn")
be1c4b07 6502 ;; Updating? Check whether network-manager-applet still needs libnm_gtk.
7d87eede 6503 (version "1.8.10")
f2b96b3a
LC
6504 (source (origin
6505 (method url-fetch)
6506 (uri (string-append
6507 "mirror://gnome/sources/NetworkManager-openvpn/"
6508 (version-major+minor version)
6509 "/NetworkManager-openvpn-" version ".tar.xz"))
6510 (sha256
6511 (base32
7d87eede 6512 "1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g"))))
f2b96b3a
LC
6513 (build-system gnu-build-system)
6514 (arguments
633422b0
JL
6515 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6516 #:phases
6517 (modify-phases %standard-phases
6518 (add-after 'configure 'patch-path
6519 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6520 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
6521 "/sbin/openvpn"))
6522 (modprobe (string-append (assoc-ref inputs "kmod")
6523 "/bin/modprobe"))
6524 (pretty-ovpn (string-append "\"" ovpn "\"")))
6525 (for-each
6526 (lambda (file)
6527 (substitute* file
6528 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
6529 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
6530 (("\"/sbin/openvpn\"") pretty-ovpn)
6531 (("/sbin/modprobe") modprobe)))
6532 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
6533 #t)))))
f2b96b3a
LC
6534 (native-inputs
6535 `(("pkg-config" ,pkg-config)
6536 ("intltool" ,intltool)))
6537 (inputs
6538 `(("gtk+" ,gtk+)
633422b0 6539 ("kmod" ,kmod)
f2b96b3a
LC
6540 ("openvpn" ,openvpn)
6541 ("network-manager" ,network-manager)
6542 ("network-manager-applet" ,network-manager-applet) ;for libnma
6543 ("libsecret" ,libsecret)))
6544 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6545 (synopsis "OpenVPN plug-in for NetworkManager")
6546 (description
6547 "This extension of NetworkManager allows it to take care of connections
6548to virtual private networks (VPNs) via OpenVPN.")
6549 (license license:gpl2+)
6550 (properties `((upstream-name . "NetworkManager-openvpn")))))
6551
d376129f
JL
6552(define-public network-manager-vpnc
6553 (package
6554 (name "network-manager-vpnc")
6555 (version "1.2.6")
6556 (source (origin
6557 (method url-fetch)
6558 (uri (string-append
6559 "mirror://gnome/sources/NetworkManager-vpnc/"
6560 (version-major+minor version)
6561 "/NetworkManager-vpnc-" version ".tar.xz"))
6562 (sha256
6563 (base32
6564 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
6565 (build-system gnu-build-system)
6566 (arguments
6567 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6568 #:phases
6569 (modify-phases %standard-phases
6570 (add-after 'configure 'patch-path
6571 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6572 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
6573 "/sbin/vpnc"))
6574 (modprobe (string-append (assoc-ref inputs "kmod")
6575 "/bin/modprobe"))
6576 (pretty-ovpn (string-append "\"" vpnc "\"")))
6577 (substitute* "src/nm-vpnc-service.c"
6578 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
6579 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
6580 (("\"/sbin/vpnc\"") pretty-ovpn)
6581 (("/sbin/modprobe") modprobe)))
6582 #t)))))
6583 (native-inputs
6584 `(("pkg-config" ,pkg-config)
6585 ("intltool" ,intltool)))
6586 (inputs
6587 `(("gtk+" ,gtk+)
6588 ("kmod" ,kmod)
6589 ("vpnc" ,vpnc)
6590 ("network-manager" ,network-manager)
6591 ("network-manager-applet" ,network-manager-applet) ;for libnma
6592 ("libsecret" ,libsecret)))
6593 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6594 (synopsis "VPNC plug-in for NetworkManager")
6595 (description
6596 "Support for configuring virtual private networks based on VPNC.
6597Compatible with Cisco VPN concentrators configured to use IPsec.")
6598 (license license:gpl2+)
6599 (properties `((upstream-name . "NetworkManager-vpnc")))))
6600
8378c87a
EF
6601(define-public network-manager-openconnect
6602 (package
6603 (name "network-manager-openconnect")
6604 (version "1.2.6")
6605 (source (origin
6606 (method url-fetch)
6607 (uri (string-append
6608 "mirror://gnome/sources/NetworkManager-openconnect/"
6609 (version-major+minor version)
6610 "/NetworkManager-openconnect-" version ".tar.xz"))
6611 (sha256
6612 (base32
6613 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
6614 (build-system gnu-build-system)
6615 (arguments
6616 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6617 #:phases
6618 (modify-phases %standard-phases
6619 (add-after 'configure 'patch-path
6620 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6621 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
6622 "/sbin/openconnect"))
6623 (modprobe (string-append (assoc-ref inputs "kmod")
6624 "/bin/modprobe"))
6625 (pretty-ovpn (string-append "\"" openconnect "\"")))
6626 (substitute* "src/nm-openconnect-service.c"
6627 (("\"/usr/local/sbin/openconnect\"") pretty-ovpn)
6628 (("\"/usr/sbin/openconnect\"") pretty-ovpn)
6629 (("/sbin/modprobe") modprobe)))
6630 #t)))))
6631 (native-inputs
6632 `(("intltool" ,intltool)
6633 ("network-manager-applet" ,network-manager-applet) ;for libnma
6634 ("pkg-config" ,pkg-config)))
6635 (inputs
6636 `(("gcr" ,gcr)
6637 ("gtk+" ,gtk+)
6638 ("kmod" ,kmod)
6639 ("libsecret" ,libsecret)
6640 ("libxml2" ,libxml2)
b4fe5dab 6641 ("lz4" ,lz4)
8378c87a
EF
6642 ("network-manager" ,network-manager)
6643 ("openconnect" ,openconnect)))
6644 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6645 (synopsis "OpenConnect plug-in for NetworkManager")
6646 (description
6647 "This extension of NetworkManager allows it to take care of connections
6648to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
6649Cisco's AnyConnect SSL VPN.")
6650 (license license:gpl2+)
e52b9534
LC
6651 (properties `((upstream-name . "NetworkManager-openconnect")
6652
6653 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
6654 ;; file refers to account "nm-openconnect". Specify it here
6655 ;; so that 'network-manager-service-type' creates it.
6656 (user-accounts . ("nm-openconnect"))))))
8378c87a 6657
e5e1df4d
DC
6658(define-public mobile-broadband-provider-info
6659 (package
6660 (name "mobile-broadband-provider-info")
310c89e3 6661 (version "20190116")
e5e1df4d
DC
6662 (source (origin
6663 (method url-fetch)
6664 (uri (string-append
6665 "mirror://gnome/sources/"
6666 "mobile-broadband-provider-info/" version "/"
6667 "mobile-broadband-provider-info-" version ".tar.xz"))
6668 (sha256
6669 (base32
310c89e3 6670 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
6671 (build-system gnu-build-system)
6672 (arguments
310c89e3 6673 `(#:tests? #f)) ; no tests
e5e1df4d
DC
6674 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
6675 (synopsis "Database of broadband connection configuration")
6676 (description "Database of broadband connection configuration.")
6677 (license license:public-domain)))
6678
4d62a9d3
SB
6679(define-public network-manager-applet
6680 (package
6681 (name "network-manager-applet")
8fc3a337 6682 (version "1.8.24")
4d62a9d3
SB
6683 (source (origin
6684 (method url-fetch)
3df63444 6685 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 6686 (version-major+minor version) "/"
3df63444 6687 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
6688 (sha256
6689 (base32
8fc3a337 6690 "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi"))))
cd7f718e
RW
6691 (build-system meson-build-system)
6692 (arguments
be1c4b07
TGR
6693 '(#:configure-flags
6694 ;; ‘Nobody should be using this’ but network-manager-openvpn 1.8.10 does.
6695 (list "-Dlibnm_gtk=true")
6696 #:glib-or-gtk? #t))
4d62a9d3
SB
6697 (native-inputs
6698 `(("intltool" ,intltool)
cd7f718e 6699 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 6700 ("gobject-introspection" ,gobject-introspection)
cd7f718e 6701 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
6702 ("pkg-config" ,pkg-config)))
6703 (propagated-inputs
6704 ;; libnm-gtk.pc refers to all these.
6705 `(("dbus-glib" ,dbus-glib)
6706 ("gtk+" ,gtk+)
6707 ("network-manager" ,network-manager)))
6708 (inputs
cd7f718e
RW
6709 `(("gcr" ,gcr)
6710 ("iso-codes" ,iso-codes)
4d62a9d3
SB
6711 ("libgudev" ,libgudev)
6712 ("libnotify" ,libnotify)
2116bfb3 6713 ("libsecret" ,libsecret)
240cee8a
KK
6714 ("libselinux" ,libselinux)
6715 ("jansson" ,jansson) ; for team support
3e9c80b2
FP
6716 ("modem-manager" ,modem-manager)
6717 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)))
4d62a9d3 6718 (synopsis "Applet for managing network connections")
f032d0be 6719 (home-page "https://www.gnome.org/projects/NetworkManager/")
4d62a9d3
SB
6720 (description
6721 "This package contains a systray applet for NetworkManager. It displays
6722the available networks and allows users to easily switch between them.")
6723 (license license:gpl2+)))
56196594
RW
6724
6725(define-public libxml++
6726 (package
6727 (name "libxml++")
8344a85e 6728 (version "3.0.1")
56196594
RW
6729 (source (origin
6730 (method url-fetch)
6731 (uri (string-append "mirror://gnome/sources/" name "/"
6732 (version-major+minor version) "/"
6733 name "-" version ".tar.xz"))
6734 (sha256
6735 (base32
8344a85e 6736 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
6737 (build-system gnu-build-system)
6738 ;; libxml++-3.0.pc refers to all these.
6739 (propagated-inputs
6740 `(("libxml2" ,libxml2)
6741 ("glibmm" ,glibmm)))
6742 (native-inputs
6743 `(("perl" ,perl)
6744 ("pkg-config" ,pkg-config)))
6745 (home-page "http://libxmlplusplus.sourceforge.net/")
6746 (synopsis "C++ wrapper for XML parser library libxml2")
6747 (description
6748 "This package provides a C++ wrapper for the XML parser library
6749libxml2.")
6750 (license license:lgpl2.1+)))
df12f04a 6751
b61d9627
AW
6752(define-public libxml++-2
6753 (package
6754 (inherit libxml++)
6755 (name "libxml++")
6756 (version "2.40.1")
6757 (source (origin
6758 (method url-fetch)
6759 (uri (string-append "mirror://gnome/sources/" name "/"
6760 (version-major+minor version) "/"
6761 name "-" version ".tar.xz"))
6762 (sha256
6763 (base32
6764 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
6765
df12f04a
SB
6766(define-public gdm
6767 (package
6768 (name "gdm")
0fda99c5 6769 (version "3.34.1")
df12f04a
SB
6770 (source (origin
6771 (method url-fetch)
6772 (uri (string-append "mirror://gnome/sources/" name "/"
6773 (version-major+minor version) "/"
6774 name "-" version ".tar.xz"))
6775 (sha256
6776 (base32
0fda99c5 6777 "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8"))
f4ec5e1a 6778 (patches (search-patches "gdm-default-session.patch"))))
957dbc0a 6779 (build-system glib-or-gtk-build-system)
df12f04a
SB
6780 (arguments
6781 '(#:configure-flags
af37e6bb 6782 `("--without-plymouth"
957dbc0a 6783 "--disable-systemd-journal"
51bc8357
TS
6784
6785 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
6786 ;; instead of having to replace it (i.e., stopping the mingetty
6787 ;; service for TTY 1 before starting GDM).
6788 "--with-initial-vt=7"
6789
89c86562
TS
6790 ;; Use '/etc/environment' for locale settings instead of the
6791 ;; systemd-specific '/etc/locale.conf'.
6792 "--with-lang-file=/etc/environment"
6793
b74ef0ba
RW
6794 ,(string-append "--with-udevdir="
6795 (assoc-ref %outputs "out") "/lib/udev")
6796
af37e6bb
AW
6797 "--localstatedir=/var"
6798 ,(string-append "--with-default-path="
6799 (string-join '("/run/setuid-programs"
6800 "/run/current-system/profile/bin"
6801 "/run/current-system/profile/sbin")
957dbc0a
AW
6802 ":"))
6803 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
6804 ;; XDG_DATA_DIRS so that it finds its schemas.
6805 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
6806 #:phases
6807 (modify-phases %standard-phases
6808 (add-before
6809 'configure 'pre-configure
e8c6e771 6810 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
6811 ;; We don't have <systemd/sd-daemon.h>.
6812 (substitute* '("common/gdm-log.c"
6813 "daemon/gdm-server.c"
6814 "daemon/gdm-session-worker.c"
6815 "daemon/gdm-session-worker-job.c")
6816 (("#include <systemd/sd-daemon\\.h>") ""))
6817 ;; Use elogind for sd-login.
6818 (substitute* '("common/gdm-common.c"
0fda99c5 6819 "daemon/gdm-local-display-factory.c"
df12f04a
SB
6820 "daemon/gdm-manager.c"
6821 "libgdm/gdm-user-switching.c")
6822 (("#include <systemd/sd-login\\.h>")
6823 "#include <elogind/sd-login.h>"))
957dbc0a
AW
6824 ;; Check for elogind.
6825 (substitute* '("configure")
6826 (("libsystemd")
6827 "libelogind"))
af37e6bb
AW
6828 ;; Look for system-installed sessions in
6829 ;; /run/current-system/profile/share.
6830 (substitute* '("libgdm/gdm-sessions.c"
6831 "daemon/gdm-session.c"
6832 "daemon/gdm-display.c"
6833 "daemon/gdm-launch-environment.c")
6834 (("DATADIR \"/x")
6835 "\"/run/current-system/profile/share/x")
6836 (("DATADIR \"/wayland")
6837 "\"/run/current-system/profile/share/wayland")
6838 (("DATADIR \"/gnome")
6839 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 6840 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 6841 "GDM_DBUS_DAEMON"
c9ff92b5 6842 "GDM_X_SERVER"
41fa9f18 6843 "GDM_X_SESSION"
c9ff92b5
TS
6844 ;; XXX: Remove this once GNOME Shell is
6845 ;; a dependency of GDM.
6846 "XDG_DATA_DIRS")))
6847 (substitute* "daemon/gdm-session.c"
6848 (("set_up_session_environment \\(self\\);")
6849 (apply string-append
6850 "set_up_session_environment (self);\n"
6851 (map (lambda (name)
6852 (string-append
6853 "gdm_session_set_environment_variable "
6854 "(self, \"" name "\","
6855 "g_getenv (\"" name "\"));\n"))
6856 propagate)))))
a430a350
TS
6857 ;; Find the configuration file using an environment variable.
6858 (substitute* '("common/gdm-settings.c")
e0e6756f 6859 (("GDM_CUSTOM_CONF")
e57c2adb
TS
6860 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
6861 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
6862 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
6863 ;; Use service-supplied path to X.
6864 (substitute* '("daemon/gdm-server.c")
6865 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
6866 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
0fda99c5
KK
6867 (substitute* '("daemon/gdm-wayland-session.c"
6868 "daemon/gdm-x-session.c")
1f564c15
TS
6869 (("\"dbus-daemon\"")
6870 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 6871 (("X_SERVER")
41fa9f18
TS
6872 "g_getenv (\"GDM_X_SERVER\")")
6873 (("GDMCONFDIR \"/Xsession\"")
6874 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
6875 ;; Use an absolute path for GNOME Session.
6876 (substitute* "daemon/gdm-launch-environment.c"
6877 (("\"gnome-session\"")
6878 (string-append "\"" (assoc-ref inputs "gnome-session")
6879 "/bin/gnome-session\"")))
e8c6e771
TS
6880 ;; Do not automatically select the placeholder session.
6881 (substitute* "daemon/gdm-session.c"
6882 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
6883 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
6884 "(g_strcmp0(search_dirs[i], \""
6885 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
6886 "\") == 0 && "
6887 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
6888 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 6889 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 6890 #t))
8caa4589
TS
6891 ;; GDM requires that there be at least one desktop entry
6892 ;; file. This phase installs a hidden one that simply
6893 ;; fails. This enables users to use GDM with a
6894 ;; '~/.xsession' script with no other desktop entry files.
6895 ;; See <https://bugs.gnu.org/35068>.
6896 (add-after 'install 'install-placeholder-desktop-entry
6897 (lambda* (#:key inputs outputs #:allow-other-keys)
6898 (let* ((out (assoc-ref outputs "out"))
6899 (sessions (string-append out "/share/gdm/BuiltInSessions"))
6900 (fail (string-append sessions "/fail.desktop")))
6901 (mkdir-p sessions)
6902 (with-output-to-file fail
6903 (lambda ()
6904 (for-each
6905 display
6906 '("[Desktop Entry]\n"
6907 "Encoding=UTF-8\n"
6908 "Type=Application\n"
6909 "Name=Fail\n"
6910 "Comment=This session fails immediately.\n"
6911 "NoDisplay=true\n"
6912 "Exec=false\n"))))
6913 #t)))
69544798
TS
6914 ;; GDM needs GNOME Session to run these applications. We link
6915 ;; their autostart files in `share/gdm/greeter/autostart'
6916 ;; because GDM explicitly tells GNOME Session to look there.
6917 ;;
6918 ;; XXX: GNOME Shell should be linked here too, but currently
6919 ;; GNOME Shell depends on GDM.
6920 (add-after 'install 'link-autostart-files
6921 (lambda* (#:key inputs outputs #:allow-other-keys)
6922 (let* ((out (assoc-ref outputs "out"))
6923 (autostart (string-append out "/share/gdm/"
6924 "greeter/autostart"))
6925 (settings (assoc-ref inputs "gnome-settings-daemon")))
6926 (mkdir-p autostart)
6927 (with-directory-excursion autostart
6928 (for-each (lambda (desktop)
6929 (symlink desktop (basename desktop)))
6930 (find-files (string-append settings "/etc/xdg"))))
6931 #t))))))
df12f04a
SB
6932 (native-inputs
6933 `(("dconf" ,dconf)
6934 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6935 ("gobject-introspection" ,gobject-introspection)
6936 ("intltool" ,intltool)
6937 ("itstool" ,itstool)
6938 ("pkg-config" ,pkg-config)
6939 ("xmllint" ,libxml2)))
6940 (inputs
6941 `(("accountsservice" ,accountsservice)
6942 ("check" ,check) ; for testing
6943 ("elogind" ,elogind)
def6d6b6 6944 ("gnome-session" ,gnome-session)
69544798 6945 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
6946 ("gtk+" ,gtk+)
6947 ("iso-codes" ,iso-codes)
6948 ("libcanberra" ,libcanberra)
6949 ("linux-pam" ,linux-pam)))
6950 (synopsis "Display manager for GNOME")
f032d0be 6951 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
6952 (description
6953 "GNOME Display Manager is a system service that is responsible for
6954providing graphical log-ins and managing local and remote displays.")
6955 (license license:gpl2+)))
8e1dd04f
SB
6956
6957(define-public libgtop
6958 (package
6959 (name "libgtop")
015fc036 6960 (version "2.40.0")
8e1dd04f
SB
6961 (source (origin
6962 (method url-fetch)
59487fc2 6963 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 6964 (version-major+minor version) "/"
59487fc2 6965 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
6966 (sha256
6967 (base32
015fc036 6968 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
6969 (build-system gnu-build-system)
6970 (native-inputs
6971 `(("gobject-introspection" ,gobject-introspection)
6972 ("intltool" ,intltool)
6973 ("perl" ,perl)
6974 ("pkg-config" ,pkg-config)))
6975 (propagated-inputs
6976 `(("glib" ,glib))) ; required by libgtop-2.0.pc
6977 (synopsis "Portable system access library")
6978 (home-page "https://www.gnome.org/")
6979 (description
6980 "LibGTop is a library to get system specific data such as CPU and memory
6981usage and information about running processes.")
6982 (license license:gpl2+)))
b96c4260
SB
6983
6984(define-public gnome-bluetooth
6985 (package
6986 (name "gnome-bluetooth")
e8f4bf6b 6987 (version "3.34.0")
b96c4260
SB
6988 (source (origin
6989 (method url-fetch)
6990 (uri (string-append "mirror://gnome/sources/" name "/"
6991 (version-major+minor version) "/"
6992 name "-" version ".tar.xz"))
6993 (sha256
6994 (base32
e8f4bf6b 6995 "1bvbxcsjkyl0givy8nfm7112bq3c0vn1v89fdk2pip714dsfcrz8"))))
fd3b1171 6996 (build-system meson-build-system)
b96c4260
SB
6997 (native-inputs
6998 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 6999 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
7000 ("gobject-introspection" ,gobject-introspection)
7001 ("intltool" ,intltool)
7002 ("pkg-config" ,pkg-config)
7003 ("xmllint" ,libxml2)))
7004 (propagated-inputs
7005 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
7006 `(("glib" ,glib)
7007 ("gtk+" ,gtk+)))
b96c4260 7008 (inputs
723afae6
KK
7009 `(("eudev" ,eudev)
7010 ("libcanberra" ,libcanberra)
b96c4260
SB
7011 ("libnotify" ,libnotify)))
7012 (synopsis "GNOME Bluetooth subsystem")
7013 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
7014 (description
7015 "This package contains tools for managing and manipulating Bluetooth
7016devices using the GNOME desktop.")
7017 (license license:lgpl2.1+)))
b645146f
SB
7018
7019(define-public gnome-control-center
7020 (package
7021 (name "gnome-control-center")
c576328d 7022 (version "3.34.2")
b645146f
SB
7023 (source (origin
7024 (method url-fetch)
7025 (uri (string-append "mirror://gnome/sources/" name "/"
7026 (version-major+minor version) "/"
7027 name "-" version ".tar.xz"))
7028 (sha256
7029 (base32
c576328d 7030 "054igagvmyzpaa5nwzz98gv7bk7l5dwp6g813707132si3szlpx8"))))
59dac026 7031 (build-system meson-build-system)
b645146f 7032 (arguments
59dac026
RW
7033 '(#:glib-or-gtk? #t
7034 #:configure-flags
64c70430
KK
7035 (list "-Dcheese=false"
7036 (string-append "-Dgnome_session_libexecdir="
7037 (assoc-ref %build-inputs "gnome-session")
7038 "/libexec"))
59dac026 7039 #:phases
b645146f
SB
7040 (modify-phases %standard-phases
7041 (add-before 'configure 'patch-paths
7042 (lambda* (#:key inputs #:allow-other-keys)
7043 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 7044 (tzdata (assoc-ref inputs "tzdata"))
341225ac 7045 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
7046 (nm-applet (assoc-ref inputs "network-manager-applet"))
7047 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
7048 (substitute* "panels/datetime/tz.h"
7049 (("/usr/share/zoneinfo/zone.tab")
7050 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 7051 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
7052 (("/usr/share/locale")
7053 (string-append libc "/share/locale")))
1df38cfc
LC
7054 (substitute* "panels/region/cc-region-panel.c"
7055 (("\"gkbd-keyboard-display")
7056 (string-append "\"" libgnomekbd
7057 "/bin/gkbd-keyboard-display")))
341225ac
LC
7058 (substitute* '("panels/network/net-device-wifi.c"
7059 "panels/network/net-device.c"
7060 "panels/network/connection-editor/net-connection-editor.c")
7061 (("\"nm-connection-editor")
7062 (string-append "\"" nm-applet
7063 "/bin/nm-connection-editor")))
1acd107c
FP
7064 (substitute* '("panels/user-accounts/run-passwd.c")
7065 (("/usr/bin/passwd")
7066 "/run/setuid-programs/passwd"))
64c70430
KK
7067 (substitute* "panels/info/cc-info-overview-panel.c"
7068 (("DATADIR \"/gnome/gnome-version.xml\"")
7069 (string-append "\"" gnome-desktop
7070 "/share/gnome/gnome-version.xml\"")))
c576328d
KK
7071 #t)))
7072 (add-after 'unpack 'skip-gtk-update-icon-cache
7073 ;; Don't create 'icon-theme.cache'.
7074 (lambda _
7075 (substitute* "build-aux/meson/meson_post_install.py"
7076 (("gtk-update-icon-cache") (which "true")))
7077 #t)))))
b645146f
SB
7078 (native-inputs
7079 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7080 ("intltool" ,intltool)
7081 ("pkg-config" ,pkg-config)
a6938bac
KK
7082 ("xsltproc" ,libxslt)
7083 ;; For tests
7084 ("hicolor-icon-theme" ,hicolor-icon-theme)
7085 ("python-dbusmock" ,python-dbusmock)
7086 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
7087 (inputs
7088 `(("accountsservice" ,accountsservice)
7089 ("clutter-gtk" ,clutter-gtk)
7090 ("colord-gtk" ,colord-gtk)
7091 ("cups" ,cups)
7092 ("dconf" ,dconf)
7093 ("docbook-xsl" ,docbook-xsl)
3446ffb5 7094 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
7095 ("gnome-bluetooth" ,gnome-bluetooth)
7096 ("gnome-desktop" ,gnome-desktop)
7097 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 7098 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 7099 ("gnome-session" ,gnome-session)
b645146f
SB
7100 ("gnome-settings-daemon" ,gnome-settings-daemon)
7101 ("grilo" ,grilo)
a6938bac 7102 ("gsound" ,gsound)
b645146f
SB
7103 ("ibus" ,ibus)
7104 ("libcanberra" ,libcanberra)
1df38cfc 7105 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
7106 ("libgudev" ,libgudev)
7107 ("libgtop" ,libgtop)
7108 ("libpwquality" ,libpwquality)
982c0b36 7109 ("libsecret" ,libsecret)
b645146f
SB
7110 ("libsoup" ,libsoup)
7111 ("libxml2" ,libxml2)
7112 ("libwacom" ,libwacom)
7113 ("mesa" ,mesa)
7114 ("mit-krb5" ,mit-krb5)
7115 ("modem-manager" ,modem-manager)
7116 ("network-manager-applet" ,network-manager-applet)
7117 ("polkit" ,polkit)
7118 ("pulseaudio" ,pulseaudio)
7119 ("smbclient" ,samba)
7120 ("tzdata" ,tzdata)
982c0b36 7121 ("udisks" ,udisks)
b645146f
SB
7122 ("upower" ,upower)))
7123 (synopsis "Utilities to configure the GNOME desktop")
7124 (home-page "https://www.gnome.org/")
7125 (description
7126 "This package contains configuration applets for the GNOME desktop,
7127allowing to set accessibility configuration, desktop fonts, keyboard and mouse
7128properties, sound setup, desktop theme and background, user interface
7129properties, screen resolution, and other GNOME parameters.")
7130 (license license:gpl2+)))
a4df5756
SB
7131
7132(define-public gnome-shell
7133 (package
7134 (name "gnome-shell")
28457ae6 7135 (version "3.34.2")
a4df5756
SB
7136 (source (origin
7137 (method url-fetch)
7138 (uri (string-append "mirror://gnome/sources/" name "/"
7139 (version-major+minor version) "/"
7140 name "-" version ".tar.xz"))
7141 (sha256
7142 (base32
28457ae6
KK
7143 "0k9vq2gh1nhdd6fpp7jnwx37qxaakawiqw1xnlfjvq5g5zdn8ckh"))
7144 (patches (search-patches "gnome-shell-theme.patch"
7145 "gnome-shell-disable-test.patch"))
a76d0f03
LC
7146 (modules '((guix build utils)))
7147 (snippet
7148 #~(begin
a76d0f03
LC
7149 ;; Copy images for use on the GDM log-in screen.
7150 (copy-file #$(file-append %artwork-repository
7151 "/slim/0.x/background.png")
7152 "data/theme/guix-background.png")
45fef894
LC
7153 (copy-file #$(file-append %artwork-repository
7154 "/logo/Guix-horizontal-white.svg")
7155 "data/theme/guix-logo.svg")
a76d0f03 7156 #t))))
2b0c755d 7157 (build-system meson-build-system)
a4df5756 7158 (arguments
08185081
MB
7159 `(#:glib-or-gtk? #t
7160 #:disallowed-references ((,glib "bin")
11e1df56
LC
7161 ,inkscape ,libxslt
7162 ,ruby-sass)
2b0c755d
RW
7163 #:configure-flags
7164 (list "-Dsystemd=false"
7165 ;; Otherwise, the RUNPATH will lack the final path component.
7166 (string-append "-Dc_link_args=-Wl,-rpath="
7167 (assoc-ref %outputs "out")
7168 "/lib/gnome-shell"))
11e1df56 7169
08185081 7170 #:modules ((guix build meson-build-system)
11e1df56
LC
7171 (guix build utils)
7172 (srfi srfi-1))
7173
2b0c755d 7174 #:phases
a4df5756 7175 (modify-phases %standard-phases
2b0c755d 7176 (add-after 'unpack 'fix-keysdir
a4df5756
SB
7177 (lambda* (#:key outputs #:allow-other-keys)
7178 (let* ((out (assoc-ref outputs "out"))
7179 (keysdir (string-append
7180 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
7181 (substitute* "meson.build"
7182 (("keysdir =.*")
7183 (string-append "keysdir = '" keysdir "'\n")))
7184 #t)))
ebfe259f
MB
7185 (add-before 'configure 'convert-logo-to-png
7186 (lambda* (#:key inputs #:allow-other-keys)
7187 ;; Convert the logo from SVG to PNG.
7188 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
7189 "data/theme/guix-logo.svg")))
ba00235a 7190 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
7191 (lambda* (#:key inputs #:allow-other-keys)
7192 (substitute* "js/misc/ibusManager.js"
7193 (("'ibus-daemon'")
7194 (string-append "'" (assoc-ref inputs "ibus")
7195 "/bin/ibus-daemon'")))
d6fda4d3
LC
7196 (substitute* "js/ui/status/keyboard.js"
7197 (("'gkbd-keyboard-display'")
7198 (string-append "'" (assoc-ref inputs "libgnomekbd")
7199 "/bin/gkbd-keyboard-display'")))
2472cdec 7200 #t))
2b0c755d
RW
7201 (add-before 'check 'pre-check
7202 (lambda* (#:key inputs #:allow-other-keys)
7203 ;; Tests require a running X server.
7204 (system "Xvfb :1 &")
7205 (setenv "DISPLAY" ":1")
7206 #t))
7207 (add-after 'install 'wrap-programs
7208 (lambda* (#:key inputs outputs #:allow-other-keys)
7209 (let ((out (assoc-ref outputs "out"))
7210 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7211 (python-path (getenv "PYTHONPATH")))
7212 (wrap-program (string-append out "/bin/gnome-shell")
7213 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7214 ;; FIXME: gnome-shell loads these libraries with unqualified
7215 ;; names only, so they need to be on LD_LIBRARY_PATH. The
7216 ;; alternative might be to patch gnome-shell.
7217 `("LD_LIBRARY_PATH" ":" prefix
7218 ,(map (lambda (pkg)
7219 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
7220 '("gdk-pixbuf"
7221 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
7222 (for-each
7223 (lambda (prog)
7224 (wrap-program (string-append out "/bin/" prog)
7225 `("PYTHONPATH" ":" prefix (,python-path))
7226 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7227 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 7228 #t)))
11e1df56
LC
7229 (replace 'glib-or-gtk-wrap
7230 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
7231 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
7232 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
7233 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
7234 ;; phase. Fix that since we don't need these.
7235 (wrap #:inputs (fold alist-delete inputs
7236 '("inkscape" "intltool" "glib:bin"))
7237 #:outputs outputs)))))))
a4df5756 7238 (native-inputs
28457ae6
KK
7239 `(("asciidoc" ,asciidoc)
7240 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 7241 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 7242 ("gobject-introspection" ,gobject-introspection)
ebfe259f 7243 ("inkscape" ,inkscape)
a4df5756
SB
7244 ("intltool" ,intltool)
7245 ("pkg-config" ,pkg-config)
7246 ("python" ,python)
2b0c755d
RW
7247 ("ruby-sass" ,ruby-sass)
7248 ("sassc" ,sassc)
a76d0f03 7249 ("xsltproc" ,libxslt)
2b0c755d 7250 ;; For tests
0b4504f6 7251 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
7252 (inputs
7253 `(("accountsservice" ,accountsservice)
7254 ("caribou" ,caribou)
7255 ("docbook-xsl" ,docbook-xsl)
7256 ("evolution-data-server" ,evolution-data-server)
7257 ("gcr" ,gcr)
7258 ("gdm" ,gdm)
c5db31d4 7259 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756 7260 ("gjs" ,gjs)
28457ae6 7261 ("gnome-autoar" ,gnome-autoar)
a4df5756 7262 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
7263 ("gnome-desktop" ,gnome-desktop)
7264 ("gnome-settings-daemon" ,gnome-settings-daemon)
7265 ("gst-plugins-base" ,gst-plugins-base)
7266 ("ibus" ,ibus)
7267 ("libcanberra" ,libcanberra)
7268 ("libcroco" ,libcroco)
d6fda4d3 7269 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756
SB
7270 ("libgweather" ,libgweather)
7271 ("libsoup" ,libsoup)
7272 ("mesa-headers" ,mesa-headers)
7273 ("mutter" ,mutter)
7274 ("network-manager-applet" ,network-manager-applet)
7275 ("polkit" ,polkit)
7276 ("pulseaudio" ,pulseaudio)
7277 ("python-pygobject" ,python-pygobject)
7278 ("startup-notification" ,startup-notification)
7279 ("telepathy-logger" ,telepathy-logger)
7280 ("upower" ,upower)
30e760f0
MB
7281 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
7282 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
7283 ("librsvg" ,librsvg)
2b0c755d 7284 ("geoclue" ,geoclue)))
a4df5756
SB
7285 (synopsis "Desktop shell for GNOME")
7286 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
7287 (description
7288 "GNOME Shell provides core user interface functions for the GNOME desktop,
7289like switching to windows and launching applications.")
7290 (license license:gpl2+)))
c3f29bc9
RS
7291
7292(define-public gtk-vnc
7293 (package
7294 (name "gtk-vnc")
965ff023 7295 (version "0.9.0")
c3f29bc9
RS
7296 (source
7297 (origin
7298 (method url-fetch)
7299 (uri (string-append "mirror://gnome/sources/" name "/"
7300 (version-major+minor version) "/"
7301 name "-" version ".tar.xz"))
7302 (sha256
7303 (base32
965ff023 7304 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
7305 (build-system gnu-build-system)
7306 (arguments
7307 '(#:configure-flags '("--with-gtk=3.0")))
7308 (propagated-inputs
7309 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
7310 (inputs
7311 `(("cyrus-sasl" ,cyrus-sasl)
7312 ("gnutls" ,gnutls)
7313 ("libgcrypt" ,libgcrypt)
7314 ("pulseaudio" ,pulseaudio)))
7315 (native-inputs
7316 `(("glib:bin" ,glib "bin")
7317 ("gobject-introspection" ,gobject-introspection)
7318 ("intltool" ,intltool)
7319 ("pkg-config" ,pkg-config)
2f17e939 7320 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
7321 ("vala" ,vala)))
7322 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
7323 (synopsis "VNC viewer widget for GTK+")
7324 (description
7325 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
7326applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
7327GTK-VNC implements client side RFB protocol and authentication extensions such
7328as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
7329 (license license:lgpl2.1+)))
8b877545 7330
dc69fe18
MW
7331(define-public gnome-autoar
7332 (package
7333 (name "gnome-autoar")
17969940 7334 (version "0.2.4")
dc69fe18
MW
7335 (source (origin
7336 (method url-fetch)
7337 (uri (string-append "mirror://gnome/sources/" name "/"
7338 (version-major+minor version) "/"
7339 name "-" version ".tar.xz"))
7340 (sha256
7341 (base32
17969940 7342 "0yk56ch46n3wfy633mq31kif9n7v06rlij4vqbsbn6l4z1vw6d0a"))))
dc69fe18
MW
7343 (build-system glib-or-gtk-build-system)
7344 (native-inputs
17969940 7345 `(("gobject-introspection" ,gobject-introspection)
dc69fe18
MW
7346 ("pkg-config" ,pkg-config)))
7347 (propagated-inputs
17969940 7348 `(("libarchive" ,libarchive))) ; Required by gnome-autoar-0.pc
dc69fe18 7349 (inputs
0a6e9e13 7350 `(("gtk+" ,gtk+)))
dc69fe18
MW
7351 (synopsis "Archives integration support for GNOME")
7352 (home-page "https://git.gnome.org/browse/gnome-autoar/")
7353 (description
7354 "GNOME Autoar is a library which makes creating and extracting archives
7355easy, safe, and automatic.")
7356 (license license:lgpl2.1+)))
7357
b64e217f
MW
7358(define-public tracker
7359 (package
7360 (name "tracker")
caaefa40 7361 (version "2.3.4")
b64e217f
MW
7362 (source (origin
7363 (method url-fetch)
b5b0fd23 7364 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 7365 (version-major+minor version) "/"
b5b0fd23 7366 "tracker-" version ".tar.xz"))
b64e217f
MW
7367 (sha256
7368 (base32
caaefa40 7369 "0vai0qz9jn3z5dlzysynwhbbmslp84ygdql81f5wfxxr98j54yap"))))
5ada561c 7370 (build-system meson-build-system)
c8bdf589 7371 (arguments
5ada561c
KK
7372 `(#:glib-or-gtk? #t
7373 #:configure-flags
7374 ;; Otherwise, the RUNPATH will lack the final path component.
7375 (list (string-append "-Dc_link_args=-Wl,-rpath="
7376 (assoc-ref %outputs "out") "/lib:"
7377 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
7378 #:phases
c8bdf589 7379 (modify-phases %standard-phases
c8bdf589
RW
7380 (add-before 'check 'pre-check
7381 (lambda _
63db190a
PN
7382 ;; Some tests expect to write to $HOME.
7383 (setenv "HOME" "/tmp")
c8bdf589 7384 #t)))))
b64e217f 7385 (native-inputs
5ada561c 7386 `(("glib:bin" ,glib "bin")
b64e217f 7387 ("gobject-introspection" ,gobject-introspection)
5ada561c 7388 ("python-pygobject" ,python-pygobject)
b64e217f
MW
7389 ("intltool" ,intltool)
7390 ("pkg-config" ,pkg-config)
7391 ("vala" ,vala)))
7392 (inputs
63db190a 7393 `(("dbus" ,dbus)
44ed6284 7394 ("sqlite" ,sqlite)
b64e217f 7395 ("libxml2" ,libxml2)
63db190a 7396 ("icu4c" ,icu4c) ; libunistring gets miner-miner-fs test to fail.
0ef48cd9 7397 ("json-glib" ,json-glib)
63db190a 7398 ("libsoup" ,libsoup)))
b64e217f
MW
7399 (synopsis "Metadata database, indexer and search tool")
7400 (home-page "https://wiki.gnome.org/Projects/Tracker")
7401 (description
63db190a
PN
7402 "Tracker is a search engine and triplestore for desktop, embedded and mobile.
7403
7404It is a middleware component aimed at desktop application developers who want
7405their apps to browse and search user content. It's not designed to be used
7406directly by desktop users, but it provides a commandline tool named
7407@command{tracker} for the adventurous.
7408
7409Tracker allows your application to instantly perform full-text searches across
7410all documents. This feature is used by the @{emph{search} bar in GNOME Files, for
7411example. This is achieved by indexing the user's home directory in the
7412background.
7413
7414Tracker also allows your application to query and list content that the user
7415has stored. For example, GNOME Music displays all the music files that are
7416found by Tracker. This means that GNOME Music doesn't need to maintain a
7417database of its own.
7418
7419If you need to go beyond simple searches, Tracker is also a linked data
7420endpoint and it understands SPARQL. ")
7421 ;; https://gitlab.gnome.org/GNOME/tracker/-/blob/master/COPYING:
b64e217f 7422 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
63db190a 7423 ;; libstemmer is bsd-3 and the rest is gpl2+.
b64e217f 7424 (license (list license:gpl2+
63db190a
PN
7425 license:bsd-3
7426 license:lgpl2.1+))))
b64e217f 7427
03be9874
KK
7428(define-public tracker-miners
7429 (package
7430 (name "tracker-miners")
de60ac2f 7431 (version "2.3.3")
03be9874
KK
7432 (source (origin
7433 (method url-fetch)
7434 (uri (string-append "mirror://gnome/sources/tracker-miners/"
7435 (version-major+minor version)
7436 "/tracker-miners-" version ".tar.xz"))
7437 (sha256
7438 (base32
de60ac2f 7439 "06abxrnrz7xayykrabn135rpsm6z0fqw7gibrb9j09l6swlalwkl"))))
03be9874
KK
7440 (build-system meson-build-system)
7441 (arguments
7442 `(#:glib-or-gtk? #t
7443 #:configure-flags
7444 (list "-Dminer_rss=false" ; libgrss is required.
7445 ;; Ensure the RUNPATH contains all installed library locations.
7446 (string-append "-Dc_link_args=-Wl,-rpath="
7447 (assoc-ref %outputs "out")
7448 "/lib/tracker-miners-2.0")
7449 ;; TODO: Enable functional tests. Currently, the following error
7450 ;; appears:
7451 ;; Exception: The functional tests require DConf to be the default
7452 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
7453 "-Dfunctional_tests=false")))
7454 (native-inputs
7455 `(("dbus" ,dbus)
7456 ("intltool" ,intltool)
7457 ("glib:bin" ,glib "bin")
7458 ("gobject-introspection" ,gobject-introspection)
7459 ("pkg-config" ,pkg-config)
7460 ("python-pygobject" ,python-pygobject)))
7461 (inputs
7462 `(("exempi" ,exempi)
7463 ("ffmpeg" ,ffmpeg)
7464 ("flac" ,flac)
7465 ("giflib" ,giflib)
7466 ("glib" ,glib)
7467 ("gstreamer" ,gstreamer)
7468 ("icu4c" ,icu4c)
7469 ("libcue" ,libcue)
7470 ("libexif" ,libexif)
7471 ("libgsf" ,libgsf)
7472 ("libgxps" ,libgxps)
7473 ("libiptcdata" ,libiptcdata)
4bd428a7 7474 ("libjpeg" ,libjpeg-turbo)
03be9874
KK
7475 ("libosinfo" ,libosinfo)
7476 ("libpng" ,libpng)
7477 ("libseccomp" ,libseccomp)
7478 ("libtiff" ,libtiff)
7479 ("libvorbis" ,libvorbis)
7480 ("libxml2" ,libxml2)
7481 ("poppler" ,poppler)
7482 ("taglib" ,taglib)
7483 ("totem-pl-parser" ,totem-pl-parser)
7484 ("tracker" ,tracker)
7485 ("upower" ,upower)
7486 ("zlib" ,zlib)))
b64e217f
MW
7487 (synopsis "Metadata database, indexer and search tool")
7488 (home-page "https://wiki.gnome.org/Projects/Tracker")
7489 (description
7490 "Tracker is an advanced framework for first class objects with associated
7491metadata and tags. It provides a one stop solution for all metadata, tags,
7492shared object databases, search tools and indexing.")
7493 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7494 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7495 (license (list license:gpl2+
7496 license:lgpl2.1+
7497 license:lgpl2.0+))))
7498
8b877545
RS
7499(define-public nautilus
7500 (package
7501 (name "nautilus")
8069ff0b 7502 (version "3.34.2")
8b877545
RS
7503 (source (origin
7504 (method url-fetch)
7505 (uri (string-append "mirror://gnome/sources/" name "/"
7506 (version-major+minor version) "/"
7507 name "-" version ".tar.xz"))
7508 (sha256
7509 (base32
8069ff0b 7510 "19zqwq4qyyncc5wq3xls0f7rsavnw741k336p2h7kx35p4kf41mv"))))
35e2d0cf 7511 (build-system meson-build-system)
8b877545 7512 (arguments
35e2d0cf 7513 '(#:glib-or-gtk? #t
8069ff0b
KK
7514 #:phases
7515 (modify-phases %standard-phases
7516 (add-after 'unpack 'skip-gtk-update-icon-cache
7517 ;; Don't create 'icon-theme.cache'.
7518 (lambda _
7519 (substitute* "build-aux/meson/postinstall.py"
7520 (("gtk-update-icon-cache") "true"))
7521 #t)))
8b877545
RS
7522 ;; XXX: FAIL: check-nautilus
7523 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
7524 #:tests? #f))
7525 (native-inputs
35e2d0cf
R
7526 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7527 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
8b877545
RS
7528 ("gobject-introspection" ,gobject-introspection)
7529 ("intltool" ,intltool)
7530 ("pkg-config" ,pkg-config)))
8b877545 7531 (inputs
8b877545 7532 `(("dconf" ,dconf)
caf6c363 7533 ("gexiv2" ,gexiv2)
dd05e731 7534 ("gvfs" ,gvfs)
8b877545
RS
7535 ("exempi" ,exempi)
7536 ("gnome-desktop" ,gnome-desktop)
09d88905 7537 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 7538 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 7539 ("libseccomp" ,libseccomp)
35e2d0cf 7540 ("libselinux" ,libselinux)
09d88905 7541 ("tracker" ,tracker)
3cafb9d4 7542 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
7543 ;; XXX: gtk+ is required by libnautilus-extension.pc
7544 ;;
7545 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
7546 ;; package. See:
7547 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
7548 ("gtk+" ,gtk+)
8b877545
RS
7549 ("libexif" ,libexif)
7550 ("libxml2" ,libxml2)))
7551 (synopsis "File manager for GNOME")
7552 (home-page "https://wiki.gnome.org/Apps/Nautilus")
7553 (description
7554 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
7555design and behaviour, giving the user a simple way to navigate and manage its
7556files.")
7557 (license license:gpl2+)))
3c697ffd
JR
7558
7559(define-public baobab
7560 (package
7561 (name "baobab")
e0c5f20c 7562 (version "3.32.0")
3c697ffd
JR
7563 (source (origin
7564 (method url-fetch)
7565 (uri (string-append
7566 "mirror://gnome/sources/" name "/"
7567 (version-major+minor version) "/"
7568 name "-" version ".tar.xz"))
7569 (sha256
7570 (base32
e0c5f20c 7571 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
7572 (build-system meson-build-system)
7573 (arguments
7574 '(#:glib-or-gtk? #t))
3c697ffd
JR
7575 (native-inputs
7576 `(("intltool" ,intltool)
7577 ("pkg-config" ,pkg-config)
d233d373
RJ
7578 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7579 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
7580 ("itstool" ,itstool)
7581 ("xmllint" ,libxml2)
7582 ("glib" ,glib "bin")
7583 ("vala" ,vala)))
7584 (inputs
7585 `(("gtk+" ,gtk+)))
7586 (synopsis "Disk usage analyzer for GNOME")
7587 (description
7588 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
7589usage in the GNOME desktop environment. It can easily scan device volumes or
7590a specific user-requested directory branch (local or remote). Once the scan
7591is complete it provides a graphical representation of each selected folder.")
7592 (home-page "https://wiki.gnome.org/Apps/Baobab")
7593 (license license:gpl2+)))
dc050251 7594
fdba447c
RS
7595(define-public gnome-backgrounds
7596 (package
7597 (name "gnome-backgrounds")
0856b0d9 7598 (version "3.34.0")
fdba447c
RS
7599 (source
7600 (origin
7601 (method url-fetch)
7602 (uri (string-append "mirror://gnome/sources/" name "/"
7603 (version-major+minor version) "/"
7604 name "-" version ".tar.xz"))
7605 (sha256
7606 (base32
0856b0d9 7607 "0zxlwy55fz7i582hch2wnj8zy1kzikssgaix0l2y41ccp5nzpdy2"))))
9ca381f0 7608 (build-system meson-build-system)
fdba447c
RS
7609 (native-inputs
7610 `(("intltool" ,intltool)))
e04e8a8c 7611 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
7612 (synopsis "Background images for the GNOME desktop")
7613 (description
7614 "GNOME backgrounds package contains a collection of graphics files which
7615can be used as backgrounds in the GNOME Desktop environment. Additionally,
7616the package creates the proper framework and directory structure so that you
7617can add your own files to the collection.")
7618 (license (list license:gpl2+
7619 license:cc-by2.0
7620 license:cc-by-sa2.0
7621 license:cc-by-sa3.0))))
7622
b784b1a9
RS
7623(define-public gnome-screenshot
7624 (package
7625 (name "gnome-screenshot")
d5101dab 7626 (version "3.34.0")
b784b1a9
RS
7627 (source
7628 (origin
7629 (method url-fetch)
7630 (uri (string-append "mirror://gnome/sources/" name "/"
7631 (version-major+minor version) "/"
7632 name "-" version ".tar.xz"))
7633 (sha256
7634 (base32
d5101dab 7635 "1rmiq890j7gfn5mcz31xy6jfnnxgc17dq67bhn2k9m5ylbvza2n8"))))
8356aefa 7636 (build-system meson-build-system)
d5101dab
KK
7637 (arguments
7638 '(#:phases
7639 (modify-phases %standard-phases
7640 (add-after 'unpack 'skip-gtk-update-icon-cache
7641 ;; Don't create 'icon-theme.cache'.
7642 (lambda _
7643 (substitute* "build-aux/postinstall.py"
7644 (("gtk-update-icon-cache") "true"))
7645 #t)))))
b784b1a9
RS
7646 (native-inputs
7647 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa 7648 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 7649 ("intltool" ,intltool)
8356aefa 7650 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
7651 ("pkg-config" ,pkg-config)))
7652 (inputs
7653 `(("gtk+" ,gtk+)
7654 ("libcanberra" ,libcanberra)
7655 ("libx11" ,libx11)
7656 ("libxext" ,libxext)))
676e7cb4 7657 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
7658 (synopsis "Take pictures of your screen")
7659 (description
7660 "GNOME Screenshot is a utility used for taking screenshots of the entire
7661screen, a window or a user defined area of the screen, with optional
7662beautifying border effects.")
7663 (license license:gpl2+)))
7664
66d59111
RS
7665(define-public dconf-editor
7666 (package
7667 (name "dconf-editor")
720aa20f 7668 (version "3.34.2")
66d59111
RS
7669 (source
7670 (origin
7671 (method url-fetch)
7672 (uri (string-append "mirror://gnome/sources/" name "/"
7673 (version-major+minor version) "/"
7674 name "-" version ".tar.xz"))
7675 (sha256
7676 (base32
720aa20f 7677 "0pwxjada2vaf69ihpjgp9nky54iykvxq63lp1vl8pxjanif2mk6f"))))
294ff39d 7678 (build-system meson-build-system)
66d59111
RS
7679 (native-inputs
7680 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 7681 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 7682 ("intltool" ,intltool)
294ff39d
RW
7683 ("pkg-config" ,pkg-config)
7684 ("vala" ,vala)))
66d59111
RS
7685 (inputs
7686 `(("dconf" ,dconf)
7687 ("gtk+" ,gtk+)
7688 ("libxml2" ,libxml2)))
720aa20f 7689 (home-page "https://gitlab.gnome.org/GNOME/dconf-editor")
66d59111
RS
7690 (synopsis "Graphical editor for GNOME's dconf configuration system")
7691 (description
7692 "Dconf-editor is a graphical tool for browsing and editing the dconf
7693configuration system for GNOME. It allows users to configure desktop
7694software that do not provide their own configuration interface.")
7695 (license license:lgpl2.1+)))
7696
96d36f38
AW
7697(define-public gnome-default-applications
7698 (package
7699 (name "gnome-default-applications")
7700 (version "0")
7701 (build-system trivial-build-system)
7702 (source #f)
7703 (propagated-inputs
8ad4f0aa
LC
7704 `(("nautilus" ,nautilus)
7705 ("evince" ,evince)))
96d36f38
AW
7706 (arguments
7707 `(#:modules ((guix build utils))
7708 #:builder
7709 (begin
7710 (use-modules (guix build utils))
7711 (let* ((out (assoc-ref %outputs "out"))
7712 (apps (string-append out "/share/applications")))
7713 (mkdir-p apps)
a6ac679f 7714 (call-with-output-file (string-append apps "/gnome-mimeapps.list")
96d36f38
AW
7715 (lambda (port)
7716 (format port "[Default Applications]\n")
8ad4f0aa
LC
7717 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
7718 (format port "application/pdf=evince.desktop\n")
7719 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
7720 #t))))
7721 (synopsis "Default MIME type associations for the GNOME desktop")
7722 (description
7723 "Given many installed packages which might handle a given MIME type, a
7724user running the GNOME desktop probably has some preferences: for example,
7725that folders be opened by default by the Nautilus file manager, not the Baobab
7726disk usage analyzer. This package establishes that set of default MIME type
7727associations for GNOME.")
7728 (license license:gpl3+)
7729 (home-page #f)))
7730
3f1ed953
RG
7731(define-public libgovirt
7732 (package
7733 (name "libgovirt")
7734 (version "0.3.6")
7735 (source (origin
7736 (method url-fetch)
7737 (uri (string-append "mirror://gnome/sources/" name "/"
7738 (version-major+minor version) "/"
7739 name "-" version ".tar.xz"))
7740 (sha256
7741 (base32
7742 "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg"))))
7743 (build-system glib-or-gtk-build-system)
7744 (native-inputs
7745 `(("gettext" ,gettext-minimal)
7746 ("glib:bin" ,glib "bin")
7747 ("gobject-introspection" ,gobject-introspection)
7748 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7749 ("gtk+:bin" ,gtk+ "bin")
7750 ("pkg-config" ,pkg-config)))
7751 (inputs
7752 `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
7753 ("librest" ,rest)))
7754 (synopsis "GoVirt Library")
7755 (description "GoVirt is a GObject wrapper for the oVirt REST API.")
7756 (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
7757 (license license:gpl2+)))
7758
8672e5e9
RG
7759(define-public gnome-weather
7760 (package
7761 (name "gnome-weather")
7762 (version "3.34.0")
7763 (source (origin
7764 (method url-fetch)
7765 (uri (string-append "mirror://gnome/sources/" name "/"
7766 (version-major+minor version) "/"
7767 name "-" version ".tar.xz"))
7768 (sha256
7769 (base32
7770 "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4"))))
7771 (build-system meson-build-system)
7772 (native-inputs
7773 `(("gettext" ,gettext-minimal)
7774 ("glib:bin" ,glib "bin")
7775 ("gobject-introspection" ,gobject-introspection)
7776 ("gtk+:bin" ,gtk+ "bin")
7777 ("pkg-config" ,pkg-config)))
7778 (inputs
7779 `( ;("adwaita-icon-theme" ,adwaita-icon-theme)
7780 ("appstream-glib" ,appstream-glib)
7781 ("geoclue" ,geoclue)
7782 ("gdk-pixbuf" ,gdk-pixbuf)
7783 ("gjs" ,gjs)
7784 ("gnome-desktop" ,gnome-desktop)
7785 ("libgweather" ,libgweather)))
4391fefc 7786 (arguments
2b68ba72
MB
7787 `(#:glib-or-gtk? #t
7788 #:phases
4391fefc
PN
7789 (modify-phases %standard-phases
7790 (add-after 'install 'fix-desktop-file
7791 ;; FIXME: "gapplication launch org.gnome.Weather" fails for some reason.
7792 ;; See https://issues.guix.gnu.org/issue/39324.
7793 (lambda* (#:key outputs #:allow-other-keys)
7794 (let* ((out (assoc-ref outputs "out"))
7795 (applications (string-append out "/share/applications")))
7796 (substitute* (string-append applications "/org.gnome.Weather.desktop")
2b68ba72
MB
7797 (("Exec=.*") "Exec=gnome-weather\n"))
7798 #t)))
7799 (add-after 'install 'wrap
7800 (lambda* (#:key inputs outputs #:allow-other-keys)
7801 (let ((out (assoc-ref outputs "out"))
7802 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
7803 ;; GNOME Weather needs the typelib files of GTK+, Pango etc at runtime.
7804 (wrap-program (string-append out "/bin/gnome-weather")
7805 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
7806 #t))))))
8672e5e9
RG
7807 (synopsis "Weather monitoring for GNOME desktop")
7808 (description "GNOME Weather is a small application that allows you to
7809monitor the current weather conditions for your city, or anywhere in the
7810world.")
7811 (home-page "https://wiki.gnome.org/Apps/Weather")
7812 (license license:gpl2+)))
7813
dc050251
SB
7814(define-public gnome
7815 (package
7816 (name "gnome")
7817 (version (package-version gnome-shell))
7818 (source #f)
7819 (build-system trivial-build-system)
e3cfef22 7820 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 7821 (propagated-inputs
8d8c6bff 7822 ;; TODO: Add or remove packages according to:
a8cda7f5 7823 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 7824 `(
8d8c6bff 7825 ;; GNOME-Core-OS-Services
7922b6f7 7826 ("accountsservice" ,accountsservice)
8d8c6bff
RG
7827 ("network-manager" ,network-manager)
7828 ("packagekit" ,packagekit)
7829 ("upower" ,upower)
7830 ;; GNOME-Core-Shell
7831 ("adwaita-icon-theme" ,adwaita-icon-theme)
7832 ("gdm" ,gdm)
7833 ("glib-networking" ,glib-networking)
7834 ("gnome-backgrounds" ,gnome-backgrounds)
7835 ("gnome-bluetooth" ,gnome-bluetooth)
d36fa50f 7836 ("gnome-color-manager" ,gnome-color-manager)
8d8c6bff
RG
7837 ("gnome-control-center" ,gnome-control-center)
7838 ("gnome-desktop" ,gnome-desktop)
7922b6f7 7839 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
d36fa50f 7840 ("gnome-initial-setup" ,gnome-initial-setup)
8d8c6bff 7841 ("gnome-keyring" ,gnome-keyring)
7922b6f7 7842 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
7843 ("gnome-session" ,gnome-session)
7844 ("gnome-settings-daemon" ,gnome-settings-daemon)
7845 ("gnome-shell-extensions" ,gnome-shell-extensions)
7846 ("gnome-shell" ,gnome-shell)
7847 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 7848 ("gnome-user-docs" ,gnome-user-docs)
d36fa50f 7849 ("gnome-user-share" ,gnome-user-share)
a8cda7f5 7850 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
7851 ("gvfs" ,gvfs)
7852 ("mutter" ,mutter)
7853 ("orca" ,orca)
d36fa50f
RG
7854 ("rygel" ,rygel)
7855 ("sushi" ,sushi)
8d8c6bff
RG
7856 ;; GNOME-Core-Utilities
7857 ("baobab" ,baobab)
7858 ("cheese" ,cheese)
ce784e6c
MB
7859 ;; XXX: EoG requires librsvg-next, which depends on Rust, which currently
7860 ;; only works on x86_64, so exclude it on other architectures.
7861 ,@(if (string-prefix? "x86_64" (%current-system))
7862 `(("eog" ,eog))
7863 '())
8d8c6bff
RG
7864 ("epiphany" ,epiphany)
7865 ("evince" ,evince)
7866 ("file-roller" ,file-roller)
7867 ("gedit" ,gedit)
d36fa50f 7868 ; TODO: ("gnome-boxes" ,gnome-boxes)
8d8c6bff
RG
7869 ("gnome-calculator" ,gnome-calculator)
7870 ("gnome-calendar" ,gnome-calendar)
7871 ("gnome-characters" ,gnome-characters)
7872 ("gnome-clocks" ,gnome-clocks)
7873 ("gnome-contacts" ,gnome-contacts)
7874 ("gnome-disk-utility" ,gnome-disk-utility)
7875 ("gnome-font-viewer" ,gnome-font-viewer)
7876 ("gnome-maps" ,gnome-maps)
d36fa50f
RG
7877 ; TODO: ("gnome-music" ,gnome-music)
7878 ; TODO: ("gnome-photos" ,gnome-photos)
8d8c6bff
RG
7879 ("gnome-screenshot" ,gnome-screenshot)
7880 ("gnome-system-monitor" ,gnome-system-monitor)
7881 ("gnome-terminal" ,gnome-terminal)
d36fa50f 7882 ("gnome-weather" ,gnome-weather)
8d8c6bff
RG
7883 ("nautilus" ,nautilus)
7884 ("simple-scan" ,simple-scan)
7885 ("totem" ,totem)
7922b6f7
RG
7886 ("yelp" ,yelp)
7887 ;; Others
7888 ("hicolor-icon-theme" ,hicolor-icon-theme)
9f2fef4f
LC
7889 ("gnome-online-accounts" ,gnome-online-accounts)
7890
7891 ;; Packages not part of GNOME proper but that are needed for a good
7892 ;; experience. See <https://bugs.gnu.org/39646>.
7893 ;; XXX: Find out exactly which ones are needed and why.
7894 ("font-cantarell" ,font-cantarell)
7895 ("font-dejavu" ,font-dejavu)
7896 ("at-spi2-core" ,at-spi2-core)
7897 ("dbus" ,dbus)
7898 ("dconf" ,dconf)
7899 ("desktop-file-utils" ,desktop-file-utils)
7900 ("gnome-default-applications" ,gnome-default-applications)
7901 ("gnome-themes-standard" ,gnome-themes-standard)
7902 ("gst-plugins-base" ,gst-plugins-base)
7903 ("gst-plugins-good" ,gst-plugins-good)
7904 ("gucharmap" ,gucharmap)
7905 ("pinentry-gnome3" ,pinentry-gnome3)
7906 ("pulseaudio" ,pulseaudio)
7907 ("shared-mime-info" ,shared-mime-info)
7908 ("system-config-printer" ,system-config-printer)
7909 ("xdg-user-dirs" ,xdg-user-dirs)
7910 ("yelp" ,yelp)
7911 ("zenity" ,zenity)))
fe4e698d 7912 (synopsis "The GNU desktop environment")
dc050251
SB
7913 (home-page "https://www.gnome.org/")
7914 (description
fe4e698d
LC
7915 "GNOME is the graphical desktop for GNU. It includes a wide variety of
7916applications for browsing the web, editing text and images, creating
7917documents and diagrams, playing media, scanning, and much more.")
dc050251 7918 (license license:gpl2+)))
4a526711
DT
7919
7920(define-public byzanz
7921 ;; The last stable release of Byzanz was in 2011, but there have been many
7922 ;; useful commits made to the Byzanz repository since then that it would be
7923 ;; silly to use such an old release.
7924 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
7925 (package
7926 (name "byzanz")
7927 (version (string-append "0.2-1." (string-take commit 7)))
7928 (source (origin
7929 (method git-fetch)
7930 (uri (git-reference
5f13bf09 7931 (url "https://git.gnome.org/browse/byzanz")
4a526711 7932 (commit commit)))
5a6527e4 7933 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
7934 (sha256
7935 (base32
7936 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
7937 (build-system glib-or-gtk-build-system)
7938 (arguments
7939 '(#:phases
7940 (modify-phases %standard-phases
778d6b52 7941 (add-before 'bootstrap 'build-without-Werror
4a526711
DT
7942 (lambda _
7943 ;; The build system cleverly detects that we're not building from
7944 ;; a release tarball and turns on -Werror for GCC.
7945 ;; Unsurprisingly, there is a warning during compilation that
7946 ;; causes the build to fail unnecessarily, so we remove the flag.
7947 (substitute* '("configure.ac")
7948 (("-Werror") ""))
778d6b52 7949 #t)))))
4a526711
DT
7950 (native-inputs
7951 `(("autoconf" ,autoconf)
7952 ("automake" ,automake)
7953 ("gnome-common" ,gnome-common)
7954 ("intltool" ,intltool)
7955 ("libtool" ,libtool)
7956 ("pkg-config" ,pkg-config)
7957 ("which" ,which)))
7958 (inputs
7959 `(("glib" ,glib)
7960 ("gstreamer" ,gstreamer)
7961 ("gst-plugins-base" ,gst-plugins-base)
7962 ("gtk+" ,gtk+)))
7963 (synopsis "Desktop recording program")
7964 (description "Byzanz is a simple desktop recording program with a
7965command-line interface. It can record part or all of an X display for a
7966specified duration and save it as a GIF encoded animated image file.")
7967 (home-page "https://git.gnome.org/browse/byzanz")
7968 (license license:gpl2+))))
3a9a4c51 7969
0ec171ec
MS
7970(define-public gsound
7971 (package
7972 (name "gsound")
7973 (version "1.0.2")
7974 (source (origin
7975 (method url-fetch)
7976 (uri (string-append "mirror://gnome/sources/" name "/"
7977 (version-major+minor version) "/"
7978 name "-" version ".tar.xz"))
7979 (sha256
7980 (base32
7981 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
7982 (build-system glib-or-gtk-build-system)
7983 (native-inputs
7984 `(("pkg-config" ,pkg-config)
7985 ("gobject-introspection" ,gobject-introspection)
7986 ("vala" ,vala)))
7987 (inputs
7988 `(("glib" ,glib)
7989 ("libcanberra" ,libcanberra)))
7990 (home-page "https://wiki.gnome.org/Projects/GSound")
7991 (synopsis "GObject wrapper for libcanberra")
7992 (description
7993 "GSound is a small library for playing system sounds. It's designed to be
7994used via GObject Introspection, and is a thin wrapper around the libcanberra C
7995library.")
7996 (license license:lgpl2.1+)))
7997
3a9a4c51
RS
7998(define-public libzapojit
7999 (package
8000 (name "libzapojit")
8001 (version "0.0.3")
8002 (source (origin
8003 (method url-fetch)
8004 (uri (string-append "mirror://gnome/sources/" name "/"
8005 (version-major+minor version) "/"
8006 name "-" version ".tar.xz"))
8007 (sha256
8008 (base32
8009 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
8010 (build-system gnu-build-system)
8011 (native-inputs
8012 `(("gobject-introspection" ,gobject-introspection)
8013 ("intltool" ,intltool)
8014 ("pkg-config" ,pkg-config)))
8015 (inputs
14c297fd 8016 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
8017 ("json-glib" ,json-glib)
8018 ("rest" ,rest)))
8019 (home-page "https://wiki.gnome.org/Projects/Zapojit")
8020 (synopsis "Library for accessing SkyDrive and Hotmail")
8021 (description
8022 "Libzapojit is a GLib-based library for accessing online service APIs of
8023Microsoft SkyDrive and Hotmail, using their REST protocols.")
8024 (license license:lgpl2.1+)))
9365ee1c 8025
60e2a9ae
MS
8026(define-public gnome-clocks
8027 (package
8028 (name "gnome-clocks")
feee5ff5 8029 (version "3.34.0")
60e2a9ae
MS
8030 (source (origin
8031 (method url-fetch)
8032 (uri (string-append "mirror://gnome/sources/" name "/"
8033 (version-major+minor version) "/"
8034 name "-" version ".tar.xz"))
8035 (sha256
8036 (base32
feee5ff5 8037 "0g7hjk55smhkd09hwa9kag3h5a12l494wj89w9smpdk3ghsmy6b1"))))
60e2a9ae
MS
8038 (build-system meson-build-system)
8039 (arguments
feee5ff5
KK
8040 '(#:glib-or-gtk? #t
8041 #:phases
8042 (modify-phases %standard-phases
8043 (add-after 'unpack 'skip-gtk-update-icon-cache
8044 ;; Don't create 'icon-theme.cache'.
8045 (lambda _
8046 (substitute* "build-aux/post-install.py"
8047 (("gtk-update-icon-cache") "true"))
8048 #t)))))
60e2a9ae
MS
8049 (native-inputs
8050 `(("vala" ,vala)
8051 ("pkg-config" ,pkg-config)
8052 ("glib" ,glib "bin") ; for glib-compile-resources
60e2a9ae
MS
8053 ("desktop-file-utils" ,desktop-file-utils)
8054 ("gettext" ,gettext-minimal)
8055 ("itstool" ,itstool)))
8056 (inputs
8057 `(("glib" ,glib)
8058 ("gtk+" ,gtk+)
8059 ("gsound" ,gsound)
8060 ("geoclue" ,geoclue)
8061 ("geocode-glib" ,geocode-glib)
8062 ("libgweather" ,libgweather)
8063 ("gnome-desktop" ,gnome-desktop)))
8064 (home-page "https://wiki.gnome.org/Apps/Clocks")
8065 (synopsis "GNOME's clock application")
8066 (description
8067 "GNOME Clocks is a simple clocks application designed to fit the GNOME
8068desktop. It supports world clock, stop watch, alarms, and count down timer.")
8069 (license license:gpl3+)))
8070
3c474897
KY
8071(define-public gnome-calendar
8072 (package
8073 (name "gnome-calendar")
27dd1d76 8074 (version "3.34.2")
3c474897
KY
8075 (source (origin
8076 (method url-fetch)
8077 (uri (string-append "mirror://gnome/sources/" name "/"
8078 (version-major+minor version) "/"
8079 name "-" version ".tar.xz"))
8080 (sha256
8081 (base32
27dd1d76 8082 "1bnmd191044zn2kr6f5vg7sm5q59qf7z652awll1f7s6ahijr8rw"))))
a49d3e37
MS
8083 (build-system meson-build-system)
8084 (arguments
8085 '(#:glib-or-gtk? #t
8086 ;; gnome-calendar has to be installed before the tests can be run
8087 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
27dd1d76
KK
8088 #:tests? #f
8089 #:phases
8090 (modify-phases %standard-phases
8091 (add-after 'unpack 'skip-gtk-update-icon-cache
8092 ;; Don't create 'icon-theme.cache'.
8093 (lambda _
8094 (substitute* "build-aux/meson/meson_post_install.py"
8095 (("gtk-update-icon-cache") "true"))
8096 #t)))))
3c474897 8097 (native-inputs
a49d3e37
MS
8098 `(("gettext" ,gettext-minimal)
8099 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
3c474897
KY
8100 ("pkg-config" ,pkg-config)))
8101 (inputs
27cb52a2 8102 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
8103 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8104 ("libdazzle" ,libdazzle)
b63c06f1 8105 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
8106 ("libgweather" ,libgweather)
8107 ("geoclue" ,geoclue)))
27cb52a2
RG
8108 (propagated-inputs
8109 `(("evolution-data-server" ,evolution-data-server)))
3c474897
KY
8110 (home-page "https://wiki.gnome.org/Apps/Calendar")
8111 (synopsis "GNOME's calendar application")
8112 (description
8113 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 8114desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
8115 (license license:gpl3+)))
8116
57b14665
MS
8117(define-public gnome-todo
8118 (package
8119 (name "gnome-todo")
9f3c6c88 8120 (version "3.28.1")
57b14665
MS
8121 (source (origin
8122 (method url-fetch)
8123 (uri (string-append "mirror://gnome/sources/" name "/"
8124 (version-major+minor version) "/"
8125 name "-" version ".tar.xz"))
8126 (sha256
8127 (base32
b17b2945
DM
8128 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))
8129 (patches
8130 (search-patches "gnome-todo-delete-esource-duplicate.patch"))))
57b14665
MS
8131 (build-system meson-build-system)
8132 (arguments
8133 '(#:glib-or-gtk? #t
8134 #:phases (modify-phases %standard-phases
8135 (add-after
8136 'install 'wrap-gnome-todo
8137 (lambda* (#:key inputs outputs #:allow-other-keys)
8138 (let ((out (assoc-ref outputs "out"))
8139 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8140 (python-path (getenv "PYTHONPATH")))
8141 (wrap-program (string-append out "/bin/gnome-todo")
8142 ;; XXX: gi plugins are broken.
8143 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
8144 ;; For plugins.
8145 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8146 `("PYTHONPATH" ":" prefix (,python-path))))
8147 #t)))))
8148 (native-inputs
8149 `(("gettext" ,gettext-minimal)
8150 ("gobject-introspection" ,gobject-introspection)
8151 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8152 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8153 ("pkg-config" ,pkg-config)))
8154 (inputs
8155 `(("rest" ,rest) ; For Todoist plugin
8156 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 8157 ("libedataserverui" ,evolution-data-server)
57b14665
MS
8158 ("libical" ,libical)
8159 ("libpeas" ,libpeas)
8160 ("python-pygobject" ,python-pygobject)
8161 ("evolution-data-server" ,evolution-data-server)
14c297fd 8162 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
8163 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
8164 (home-page "https://wiki.gnome.org/Apps/Todo")
8165 (synopsis "GNOME's ToDo Application")
8166 (description
8167 "GNOME To Do is a simplistic personal task manager designed to perfectly
8168fit the GNOME desktop.")
8169 (license license:gpl3+)))
8170
ab179eaf
SB
8171(define-public gnome-dictionary
8172 (package
8173 (name "gnome-dictionary")
cf81ddef 8174 (version "3.26.1")
ab179eaf
SB
8175 (source (origin
8176 (method url-fetch)
8177 (uri (string-append "mirror://gnome/sources/" name "/"
8178 (version-major+minor version) "/"
8179 name "-" version ".tar.xz"))
8180 (sha256
8181 (base32
cf81ddef
LC
8182 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
8183 (build-system meson-build-system)
2776b5d5
MB
8184 (arguments '(#:glib-or-gtk? #t
8185 #:phases (modify-phases %standard-phases
8186 (add-after 'unpack 'patch-install-script
8187 (lambda _
8188 ;; This script attempts to compile glib schemas
8189 ;; and create an empty MIME database. We do
8190 ;; that elsewhere, so prevent it from running.
8191 (substitute* "build-aux/post-install.sh"
8192 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
8193 #t)))))
ab179eaf
SB
8194 (native-inputs
8195 `(("glib:bin" ,glib "bin")
8196 ("gobject-introspection" ,gobject-introspection)
8197 ("intltool" ,intltool)
8198 ("itstool" ,itstool)
8199 ("pkg-config" ,pkg-config)
8200 ("xmllint" ,libxml2)))
8201 (inputs
8202 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8203 ("gtk+" ,gtk+)))
8204 (home-page "https://wiki.gnome.org/Apps/Dictionary")
8205 (synopsis "Look up words in dictionary sources")
8206 (description
8207 "GNOME Dictionary can look for the definition or translation of a word in
8208existing databases over the internet.")
8209 (license license:gpl3+)))
8210
d13f3a03 8211(define-public gnome-tweaks
9365ee1c 8212 (package
d13f3a03 8213 (name "gnome-tweaks")
4add1bae 8214 (version "3.34.0")
9365ee1c
JN
8215 (source (origin
8216 (method url-fetch)
d13f3a03 8217 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 8218 (version-major+minor version) "/"
d13f3a03
RW
8219 "gnome-tweaks-" version ".tar.xz"))
8220 (patches
8221 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
8222 (sha256
8223 (base32
4add1bae 8224 "0l2j42ba7v866iknygamnkiq7igh0fjvq92r93cslvvfnkx2ccq0"))))
d13f3a03 8225 (build-system meson-build-system)
9365ee1c 8226 (arguments
d13f3a03
RW
8227 `(#:glib-or-gtk? #t
8228 #:configure-flags '("-Dlocalstatedir=/tmp"
8229 "-Dsysconfdir=/tmp")
9365ee1c 8230 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
8231 ,@%meson-build-system-modules)
8232 #:phases
8233 (modify-phases %standard-phases
4add1bae
KK
8234 (add-after 'unpack 'skip-gtk-update-icon-cache
8235 ;; Don't create 'icon-theme.cache'.
8236 (lambda _
8237 (substitute* "meson-postinstall.py"
8238 (("gtk-update-icon-cache") "true"))
8239 #t))
d13f3a03
RW
8240 (add-after 'install 'wrap
8241 (@@ (guix build python-build-system) wrap))
8242 (add-after 'wrap 'wrap-gi-typelib
8243 (lambda* (#:key inputs outputs #:allow-other-keys)
8244 (let ((out (assoc-ref outputs "out"))
8245 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8246 (wrap-program (string-append out "/bin/gnome-tweaks")
8247 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8248 #t)))))
9365ee1c 8249 (native-inputs
4add1bae 8250 `(("intltool" ,intltool)
9365ee1c
JN
8251 ("pkg-config" ,pkg-config)))
8252 (inputs
c7fc414e
RH
8253 `(("gnome-desktop" ,gnome-desktop)
8254 ("gtk+" ,gtk+)
9365ee1c
JN
8255 ("gobject-introspection" ,gobject-introspection)
8256 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4add1bae 8257 ("libhandy" ,libhandy)
c7fc414e
RH
8258 ("libnotify" ,libnotify)
8259 ("libsoup" ,libsoup)
8260 ("nautilus" ,nautilus)
8261 ("python" ,python)
8262 ("python-pygobject" ,python-pygobject)))
9365ee1c 8263 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 8264 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 8265 (description
d13f3a03 8266 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
8267GNOME 3. This includes things like the fonts used in user interface elements,
8268alternative user interface themes, changes in window management behavior,
8269GNOME Shell appearance and extension, etc.")
8270 (license license:gpl3+)))
813f814a 8271
32ac717c
DT
8272(define-public gnome-shell-extensions
8273 (package
8274 (name "gnome-shell-extensions")
c7305466 8275 (version "3.34.2")
32ac717c
DT
8276 (source (origin
8277 (method url-fetch)
8278 (uri (string-append "mirror://gnome/sources/" name "/"
8279 (version-major+minor version) "/"
8280 name "-" version ".tar.xz"))
8281 (sha256
8282 (base32
c7305466 8283 "1f5l35l3kdkzrv49xmg1sh11vwmgjbg7hx3gb91i39bfl1snxqd1"))))
100f625b 8284 (build-system meson-build-system)
32ac717c 8285 (arguments
100f625b 8286 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 8287 (native-inputs
c9ea8873
LP
8288 `(("glib:bin" ,glib "bin")
8289 ("intltool" ,intltool)
32ac717c
DT
8290 ("pkg-config" ,pkg-config)))
8291 (propagated-inputs
c9ea8873 8292 `(("glib" ,glib)))
32ac717c
DT
8293 (synopsis "Extensions for GNOME Shell")
8294 (description "GNOME Shell extensions modify and extend GNOME Shell
8295functionality and behavior.")
8296 (home-page "https://extensions.gnome.org/")
8297 (license license:gpl3+)))
8298
813f814a
DT
8299(define-public arc-theme
8300 (package
8301 (name "arc-theme")
37781323 8302 (version "20190917")
813f814a 8303 (source (origin
a18f8eaf
BH
8304 (method git-fetch)
8305 (uri (git-reference
8306 (url "https://github.com/NicoHood/arc-theme.git")
8307 (commit version)))
8308 (file-name (git-file-name name version))
813f814a
DT
8309 (sha256
8310 (base32
37781323 8311 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 8312 (build-system gnu-build-system)
d88884fa
EF
8313 (arguments
8314 '(#:phases
8315 (modify-phases %standard-phases
8316 ;; autogen.sh calls configure at the end of the script.
8317 (replace 'bootstrap
4690e3a4
MC
8318 (lambda _ (invoke "autoreconf" "-vfi")))
8319 (add-before 'build 'set-home ;placate Inkscape
8320 (lambda _
8321 (setenv "HOME" (getcwd))
8322 #t)))))
813f814a
DT
8323 (native-inputs
8324 `(("autoconf" ,autoconf)
8325 ("automake" ,automake)
a18f8eaf
BH
8326 ("glib" ,glib "bin") ; for glib-compile-resources
8327 ("gnome-shell" ,gnome-shell)
8328 ("gtk+" ,gtk+)
8329 ("inkscape" ,inkscape)
8330 ("optipng" ,optipng)
8331 ("pkg-config" ,pkg-config)
bed24ecf 8332 ("sassc" ,sassc/libsass-3.5)))
813f814a
DT
8333 (synopsis "A flat GTK+ theme with transparent elements")
8334 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
83352, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
8336like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
8337 (home-page "https://github.com/horst3180/arc-theme")
8338 ;; No "or later" language found.
a18f8eaf 8339 (license license:gpl3+)))
9987c57c 8340
d935e6a1 8341(define-public faba-icon-theme
9987c57c 8342 (package
d935e6a1 8343 (name "faba-icon-theme")
2eee7ee3 8344 (version "4.3")
d935e6a1
BT
8345 (source
8346 (origin
757e4027
TGR
8347 (method git-fetch)
8348 (uri (git-reference
8349 (url "https://github.com/snwh/faba-icon-theme.git")
8350 (commit (string-append "v" version))))
8351 (file-name (git-file-name name version))
d935e6a1 8352 (sha256
757e4027 8353 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 8354 (build-system meson-build-system)
9987c57c 8355 (arguments
82da291a 8356 `(#:phases
9987c57c 8357 (modify-phases %standard-phases
82da291a 8358 (add-before 'configure 'disable-post-install
9987c57c 8359 (lambda _
82da291a
JL
8360 (substitute* "meson.build"
8361 (("meson.add_install_script.*") "")))))))
9987c57c
DT
8362 (native-inputs
8363 `(("autoconf" ,autoconf)
8364 ("automake" ,automake)))
d935e6a1
BT
8365 (synopsis "Faba icon theme")
8366 (description
8367 "Faba is a minimal icon set used as a basis for other themes such as
8368Moka")
8369 (home-page "https://snwh.org/moka")
8370 (license (list license:lgpl3+
8371 license:cc-by-sa4.0))))
8372
9987c57c
DT
8373(define-public moka-icon-theme
8374 (package
8b0e4177 8375 (inherit faba-icon-theme)
9987c57c 8376 (name "moka-icon-theme")
105a3625 8377 (version "5.4.0")
8c3f2170
TGR
8378 (source
8379 (origin
8380 (method git-fetch)
8381 (uri (git-reference
8382 (url "https://github.com/snwh/moka-icon-theme.git")
8383 (commit (string-append "v" version))))
8384 (file-name (git-file-name name version))
8385 (sha256
8386 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
8387 (propagated-inputs
8388 ;; Moka is based on Faba by using it as a fallback icon set instead of
8389 ;; bundling it, so we need to add it as a propagated input.
8390 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
8391 (synopsis "Moka icon theme")
8392 (description "Moka is a stylized desktop icon set, designed to be clear,
8393simple and consistent.")
fedde43b
BT
8394 (license (list license:gpl3+
8395 license:cc-by-sa4.0))))
6fd8f8d6
DT
8396
8397(define-public arc-icon-theme
8398 (package
8399 (name "arc-icon-theme")
c4180240 8400 (version "20161122")
bbf66cbf
TGR
8401 (source
8402 (origin
8403 (method git-fetch)
8404 (uri (git-reference
8405 (url "https://github.com/horst3180/arc-icon-theme.git")
8406 (commit version)))
8407 (file-name (git-file-name name version))
8408 (sha256
8409 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 8410 (build-system gnu-build-system)
9e1ede95
JL
8411 (arguments
8412 `(#:phases
8413 (modify-phases %standard-phases
8414 (add-after 'unpack 'disable-configure-during-bootstrap
8415 (lambda _
8416 (substitute* "autogen.sh"
8417 (("^\"\\$srcdir/configure\".*") ""))
8418 #t)))))
6fd8f8d6
DT
8419 (native-inputs
8420 `(("autoconf" ,autoconf)
8421 ("automake" ,automake)))
8422 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
8423 (propagated-inputs
8424 `(("moka-icon-theme" ,moka-icon-theme)))
8425 (synopsis "Arc icon theme")
8426 (description "The Arc icon theme provides a set of icons matching the
8427style of the Arc GTK theme. Icons missing from the Arc theme are provided by
8428the Moka icon theme.")
8429 (home-page "https://github.com/horst3180/arc-icon-theme")
8430 (license license:gpl3+)))
6064a4e8
LF
8431
8432(define-public folks
8433 (package
8434 (name "folks")
fd11f6f3 8435 (version "0.13.1")
6064a4e8
LF
8436 (source (origin
8437 (method url-fetch)
8438 (uri (string-append
e5f4796e 8439 "mirror://gnome/sources/folks/"
6064a4e8 8440 (version-major+minor version) "/"
e5f4796e 8441 "folks-" version ".tar.xz"))
6064a4e8
LF
8442 (sha256
8443 (base32
fd11f6f3
KK
8444 "0pda8sx4ap3lyri5fdrnakl29la1zkhwlc9bmnp13qigp1iwdw9x"))))
8445 (build-system meson-build-system)
8446 (arguments
8447 '(#:phases
8448 (modify-phases %standard-phases
8449 (add-after 'unpack 'skip-gtk-update-icon-cache
8450 ;; Don't create 'icon-theme.cache'.
8451 (lambda _
8452 (substitute* "meson_post_install.py"
8453 (("gtk-update-icon-cache") "true"))
8454 #t)))))
6064a4e8
LF
8455 (inputs
8456 `(("bdb" ,bdb)
8457 ("dbus-glib" ,dbus-glib)
8458 ("evolution-data-server" ,evolution-data-server)
8459 ("glib" ,glib)
8460 ("libgee" ,libgee)
fd11f6f3 8461 ("readline" ,readline)
6064a4e8
LF
8462 ("telepathy-glib" ,telepathy-glib)))
8463 (native-inputs
fd11f6f3
KK
8464 `(("glib:bin" ,glib "bin")
8465 ("gobject-introspection" ,gobject-introspection)
6064a4e8
LF
8466 ("intltool" ,intltool)
8467 ("pkg-config" ,pkg-config)
8468 ("vala" ,vala)))
8469 (synopsis "Library to aggregate data about people")
8470 (description "Libfolks is a library that aggregates information about people
8471from multiple sources (e.g., Telepathy connection managers for IM contacts,
8472Evolution Data Server for local contacts, libsocialweb for web service contacts,
8473etc.) to create metacontacts. It's written in Vala, which generates C code when
8474compiled.")
8475 (home-page "https://wiki.gnome.org/Projects/Folks")
8476 (license license:lgpl2.1+)))
01ea778f
LF
8477
8478(define-public gfbgraph
8479 (package
8480 (name "gfbgraph")
8481 (version "0.2.3")
8482 (source (origin
8483 (method url-fetch)
8484 (uri (string-append
237d4cf7 8485 "mirror://gnome/sources/gfbgraph/"
01ea778f 8486 (version-major+minor version) "/"
237d4cf7 8487 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
8488 (sha256
8489 (base32
8490 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
8491 (build-system glib-or-gtk-build-system)
8492 (arguments
8493 `(#:tests? #f ; Tests appear to require the network.
8494 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
8495 #:configure-flags '("--disable-gtk-doc"
8496 "--disable-static"
8497 "--enable-introspection")))
8498 (native-inputs
8499 `(("pkg-config" ,pkg-config)
8500 ("gobject-introspection" ,gobject-introspection)))
8501 (inputs
8502 `(("json-glib" ,json-glib)
14c297fd 8503 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
8504 ("rest" ,rest)))
8505 (synopsis "GLib/GObject wrapper for the Facebook API")
8506 (description "This library allows you to use the Facebook API from
8507GLib/GObject code.")
8508 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
8509 (license license:lgpl2.1+)))
3920868c 8510
8511(define-public libgnomekbd
8512 (package
8513 (name "libgnomekbd")
70f2b0f9 8514 (version "3.26.1")
3920868c 8515 (source (origin
8516 (method url-fetch)
d47fa82d 8517 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 8518 (version-major+minor version) "/"
d47fa82d 8519 "libgnomekbd-" version ".tar.xz"))
3920868c 8520 (sha256
8521 (base32
70f2b0f9 8522 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 8523 (build-system gnu-build-system)
8524 (native-inputs
8525 `(("pkg-config" ,pkg-config)
8526 ("glib" ,glib "bin")
8527 ("intltool" ,intltool)))
8528 (propagated-inputs
8529 ;; Referred to in .h files and .pc.
8530 `(("glib" ,glib)
8531 ("gtk+" ,gtk+)
8532 ("libxklavier" ,libxklavier)))
8533 (home-page "https://www.gnome.org")
8534 (synopsis "GNOME keyboard configuration library")
8535 (description
8536 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
8537environment, which can notably display keyboard layouts.")
8538 (license license:lgpl2.0+)))
85327d0d 8539
8540;;; This package is no longer maintained:
8541;;; https://wiki.gnome.org/Attic/LibUnique
8542;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
8543;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
8544(define-public libunique
8545 (package
8546 (name "libunique")
8547 (version "3.0.2")
8548 (source (origin
8549 (method url-fetch)
8550 (uri (string-append "mirror://gnome/sources/" name "/"
8551 (version-major+minor version) "/"
8552 name "-" version ".tar.xz"))
8553 (sha256
8554 (base32
8555 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
8556 (build-system glib-or-gtk-build-system)
8557 (arguments
8558 `(#:configure-flags '("--disable-static"
8559 "--disable-dbus" ; use gdbus
8560 "--enable-introspection")))
8561 (native-inputs
8562 `(("pkg-config" ,pkg-config)
8563 ("gobject-introspection" ,gobject-introspection)
8564 ("glib:bin" ,glib "bin")
8565 ("gtk-doc" ,gtk-doc)))
8566 (propagated-inputs
8567 ;; Referred to in .h files and .pc.
8568 `(("gtk+" ,gtk+)))
8569 (home-page "https://wiki.gnome.org/Attic/LibUnique")
8570 (synopsis "Library for writing single instance applications")
8571 (description
8572 "Libunique is a library for writing single instance applications. If you
8573launch a single instance application twice, the second instance will either just
8574quit or will send a message to the running instance. Libunique makes it easy to
8575write this kind of application, by providing a base class, taking care of all
8576the IPC machinery needed to send messages to a running instance, and also
8577handling the startup notification side.")
8578 (license license:lgpl2.1+)))
54021cd8
RS
8579
8580(define-public gnome-calculator
8581 (package
8582 (name "gnome-calculator")
4cb09502 8583 (version "3.34.1")
54021cd8
RS
8584 (source
8585 (origin
8586 (method url-fetch)
8587 (uri (string-append "mirror://gnome/sources/" name "/"
8588 (version-major+minor version) "/"
8589 name "-" version ".tar.xz"))
8590 (sha256
8591 (base32
4cb09502 8592 "0lbh87255zzggqzai6543qg920y52bl4vs5m5h5087ghzg14hlsd"))))
2d475910
RW
8593 (build-system meson-build-system)
8594 (arguments '(#:glib-or-gtk? #t))
54021cd8 8595 (native-inputs
4cb09502
MB
8596 `(("gettext" ,gettext-minimal)
8597 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 8598 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8 8599 ("itstool" ,itstool)
2d475910 8600 ("vala" ,vala)
54021cd8
RS
8601 ("pkg-config" ,pkg-config)))
8602 (inputs
112e9083 8603 `(("glib" ,glib)
07ace641 8604 ("gtksourceview" ,gtksourceview)
4cb09502 8605 ("libgee" ,libgee)
54021cd8 8606 ("libsoup" ,libsoup)
112e9083 8607 ("libxml2" ,libxml2)
2c2da7ec 8608 ("mpc" ,mpc)
54021cd8
RS
8609 ("mpfr" ,mpfr)))
8610 (home-page "https://wiki.gnome.org/Apps/Calculator")
8611 (synopsis "Desktop calculator")
8612 (description
8613 "Calculator is an application that solves mathematical equations and
8614is suitable as a default application in a Desktop environment.")
8615 (license license:gpl3)))
0bd69759
RS
8616
8617(define-public xpad
8618 (package
8619 (name "xpad")
c85626bb 8620 (version "5.1.0")
0bd69759
RS
8621 (source
8622 (origin
8623 (method url-fetch)
08fda9c6
R
8624 (uri (string-append "https://launchpad.net/xpad/trunk/"
8625 version "/+download/"
0bd69759
RS
8626 name "-" version ".tar.bz2"))
8627 (sha256
8628 (base32
c85626bb 8629 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
8630 (build-system gnu-build-system)
8631 (native-inputs
08fda9c6
R
8632 `(("autoconf" ,autoconf)
8633 ("automake" ,automake)
8634 ("gtk+:bin" ,gtk+ "bin")
8635 ("intltool" ,intltool)
0bd69759
RS
8636 ("pkg-config" ,pkg-config)))
8637 (inputs
c72647fb 8638 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
8639 ("libsm" ,libsm)))
8640 (home-page "https://wiki.gnome.org/Apps/Xpad")
8641 (synopsis "Virtual sticky note")
8642 (description
8643 "Xpad is a sticky note that strives to be simple, fault tolerant,
8644and customizable. Xpad consists of independent pad windows, each is
8645basically a text box in which notes can be written.")
8646 (license license:gpl3+)))
3ad7dce1
RS
8647
8648(define-public gucharmap
c60063ea
RW
8649 (let ((unicode-files
8650 '(("Blocks.txt"
1f8b5515 8651 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 8652 ("DerivedAge.txt"
1f8b5515 8653 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 8654 ("NamesList.txt"
1f8b5515 8655 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 8656 ("Scripts.txt"
1f8b5515 8657 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 8658 ("UnicodeData.txt"
1f8b5515 8659 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 8660 ("Unihan.zip"
1f8b5515 8661 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
8662 (package
8663 (name "gucharmap")
1f8b5515 8664 (version "12.0.1")
c60063ea
RW
8665 (source
8666 (origin
8667 (method url-fetch)
8668 (uri (string-append "mirror://gnome/sources/" name "/"
8669 (version-major+minor version) "/"
8670 name "-" version ".tar.xz"))
8671 (sha256
8672 (base32
1f8b5515 8673 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
8674 (build-system glib-or-gtk-build-system)
8675 (arguments
8676 `(#:modules ((ice-9 match)
8677 (guix build glib-or-gtk-build-system)
8678 (guix build utils))
8679 #:configure-flags
8680 (list "--with-unicode-data=../unicode-data")
8681 #:phases
8682 (modify-phases %standard-phases
8683 (add-after 'unpack 'prepare-unicode-data
8684 (lambda* (#:key inputs #:allow-other-keys)
8685 (mkdir-p "../unicode-data")
8686 (with-directory-excursion "../unicode-data"
8687 (for-each (match-lambda
8688 ((file _)
8689 (install-file (assoc-ref inputs file) ".")))
8690 ',unicode-files))
8691 #t)))))
8692 (native-inputs
8693 `(("desktop-file-utils" ,desktop-file-utils)
8694 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
8695 ("gobject-introspection" ,gobject-introspection)
8696 ("intltool" ,intltool)
8697 ("itstool" ,itstool)
8698 ("pkg-config" ,pkg-config)
8699 ,@(map (match-lambda
8700 ((file hash)
8701 `(,file
8702 ,(origin
8703 (method url-fetch)
8704 (uri (string-append
1f8b5515 8705 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
8706 file))
8707 (sha256 (base32 hash))))))
8708 unicode-files)
8709 ("unzip" ,unzip)))
8710 (inputs
8711 `(("gtk+" ,gtk+)
8712 ("xmllint" ,libxml2)))
8713 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
8714 (synopsis "Unicode character picker and font browser")
8715 (description
8716 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
8717characters and categories for the installed fonts, and to examine their
8718detailed properties. It is an easy way to find the character you might
8719only know by its Unicode name or code point.")
c60063ea 8720 (license license:gpl3+))))
04ce840a
RS
8721
8722(define-public bluefish
8723 (package
8724 (name "bluefish")
290fe81d 8725 (version "2.2.11")
04ce840a
RS
8726 (source
8727 (origin
8728 (method url-fetch)
8729 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
99aa7a2d 8730 "bluefish-" version ".tar.gz"))
04ce840a 8731 (sha256
290fe81d 8732 (base32 "0a7kf78q4cj2ap4igjks9kbmmr74brsrl4y2f9wbxpl0b0v2ck2x"))))
04ce840a
RS
8733 (build-system gnu-build-system)
8734 (native-inputs
8735 `(("desktop-file-utils" ,desktop-file-utils)
8736 ("intltool" ,intltool)
8737 ("pkg-config" ,pkg-config)))
8738 (inputs
8739 `(("enchant" ,enchant)
8740 ("gtk+" ,gtk+)
290fe81d 8741 ("python" ,python-wrapper)
04ce840a
RS
8742 ("xmllint" ,libxml2)
8743 ("gucharmap" ,gucharmap)))
8744 (home-page "http://bluefish.openoffice.nl")
8745 (synopsis "Web development studio")
8746 (description
8747 "Bluefish is an editor targeted towards programmers and web developers,
8748with many options to write web sites, scripts and other code.
8749Bluefish supports many programming and markup languages.")
8750 (license license:gpl3+)))
1f6a73ee
RS
8751
8752(define-public gnome-system-monitor
8753 (package
8754 (name "gnome-system-monitor")
083cffaf 8755 (version "3.32.1")
1f6a73ee
RS
8756 (source
8757 (origin
8758 (method url-fetch)
8759 (uri (string-append "mirror://gnome/sources/" name "/"
8760 (version-major+minor version) "/"
8761 name "-" version ".tar.xz"))
8762 (sha256
8763 (base32
083cffaf 8764 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
8765 (build-system meson-build-system)
8766 (arguments
8767 '(#:glib-or-gtk? #t
8768 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
8769 (native-inputs
8770 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 8771 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
8772 ("intltool" ,intltool)
8773 ("itstool" ,itstool)
8774 ("libgtop" ,libgtop)
4985d9aa 8775 ("polkit" ,polkit)
1f6a73ee
RS
8776 ("pkg-config" ,pkg-config)))
8777 (inputs
8778 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
8779 ("gtk+" ,gtk+)
8780 ("gtkmm" ,gtkmm)
8781 ("librsvg" ,librsvg)
4985d9aa
RW
8782 ("libxml2" ,libxml2)
8783 ("libwnck" ,libwnck)))
1f6a73ee
RS
8784 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
8785 (synopsis "Process viewer and system resource monitor for GNOME")
8786 (description
8787 "GNOME System Monitor is a GNOME process viewer and system monitor with
8788an attractive, easy-to-use interface. It has features, such as a tree view
8789for process dependencies, icons for processes, the ability to hide processes,
8790graphical time histories of CPU/memory/swap usage and the ability to
8791kill/reinice processes.")
8792 (license license:gpl2+)))
3e00ac47
SB
8793
8794(define-public python-pyatspi
8795 (package
8796 (name "python-pyatspi")
4f937a32 8797 (version "2.34.0")
3e00ac47
SB
8798 (source (origin
8799 (method url-fetch)
8800 (uri (string-append
8801 "mirror://gnome/sources/pyatspi/"
8802 (version-major+minor version)
8803 "/pyatspi-" version ".tar.xz"))
8804 (sha256
8805 (base32
4f937a32 8806 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 8807 (build-system gnu-build-system)
b95af3f6
JL
8808 (arguments
8809 `(#:phases
8810 (modify-phases %standard-phases
8811 (add-before 'build 'fix-atk-load
8812 (lambda _
8813 (substitute* "pyatspi/__init__.py"
8814 (("from gi.repository import Atspi")
8815 "gi.require_version('Gtk', '3.0')
8816from gi.repository import Gtk
8817from gi.repository import Atspi"))
8818 #t)))))
3e00ac47
SB
8819 (native-inputs
8820 `(("pkg-config" ,pkg-config)))
8821 (inputs
8822 `(("python" ,python)
8823 ("python-pygobject" ,python-pygobject)))
8824 (synopsis "Python client bindings for D-Bus AT-SPI")
8825 (home-page "https://wiki.linuxfoundation.org/accessibility\
8826/atk/at-spi/at-spi_on_d-bus")
8827 (description
8828 "This package includes a python client library for the AT-SPI D-Bus
8829accessibility infrastructure.")
8830 (license license:lgpl2.0)
8831 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
8832
8833(define-public orca
8834 (package
8835 (name "orca")
30e76da1 8836 (version "3.34.1")
53201c0d
SB
8837 (source (origin
8838 (method url-fetch)
8839 (uri (string-append
8840 "mirror://gnome/sources/" name "/"
8841 (version-major+minor version) "/"
8842 name "-" version ".tar.xz"))
8843 (sha256
8844 (base32
30e76da1 8845 "1q38n7hyshkiszmn361skxjynxr31lcms7a1iny6d0zlpmh1vnk4"))))
53201c0d
SB
8846 (build-system glib-or-gtk-build-system)
8847 (arguments
8848 '(#:phases
8849 (modify-phases %standard-phases
8850 (add-before 'configure 'qualify-xkbcomp
8851 (lambda* (#:key inputs #:allow-other-keys)
8852 (let ((xkbcomp (string-append
8853 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
8854 (substitute* "src/orca/orca.py"
8855 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
8856 #t))
8857 (add-after 'install 'wrap-orca
8858 (lambda* (#:key outputs #:allow-other-keys)
8859 (let* ((out (assoc-ref outputs "out"))
8860 (prog (string-append out "/bin/orca")))
8861 (wrap-program prog
8862 `("GI_TYPELIB_PATH" ":" prefix
8863 (,(getenv "GI_TYPELIB_PATH")))
8864 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
8865 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
8866 `("PYTHONPATH" ":" prefix
8867 (,(getenv "PYTHONPATH")))))
8868 #t)))))
8869 (native-inputs
8870 `(("intltool" ,intltool)
8871 ("itstool" ,itstool)
8872 ("pkg-config" ,pkg-config)
8873 ("xmllint" ,libxml2)))
8874 (inputs
8875 `(("at-spi2-atk" ,at-spi2-atk)
8876 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8877 ("gstreamer" ,gstreamer)
8878 ("gst-plugins-base" ,gst-plugins-base)
8879 ("gst-plugins-good" ,gst-plugins-good)
8880 ("gtk+" ,gtk+)
8881 ("python" ,python)
8882 ("python-pygobject" ,python-pygobject)
8883 ("python-pyatspi" ,python-pyatspi)
8884 ("python-speechd" ,speech-dispatcher)
8885 ("xkbcomp" ,xkbcomp)))
8886 (synopsis
8887 "Screen reader for individuals who are blind or visually impaired")
8888 (home-page "https://wiki.gnome.org/Projects/Orca")
8889 (description
8890 "Orca is a screen reader that provides access to the graphical desktop
8891via speech and refreshable braille. Orca works with applications and toolkits
8892that support the Assistive Technology Service Provider Interface (AT-SPI).")
8893 (license license:lgpl2.1+)))
411ba511
LC
8894
8895(define-public gspell
8896 (package
8897 (name "gspell")
7a6bbe9b 8898 (version "1.8.2")
411ba511
LC
8899 (source (origin
8900 (method url-fetch)
8901 (uri (string-append "mirror://gnome/sources/" name "/"
8902 (version-major+minor version) "/"
8903 name "-" version ".tar.xz"))
8904 (sha256
8905 (base32
7a6bbe9b 8906 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
8907 (patches (search-patches "gspell-dash-test.patch"))))
8908 (build-system glib-or-gtk-build-system)
8909 (arguments
d0f50164 8910 '(#:configure-flags (list "--enable-vala")
8911 #:phases
411ba511
LC
8912 (modify-phases %standard-phases
8913 (add-before 'check 'pre-check
8914 (lambda* (#:key inputs #:allow-other-keys)
8915 ;; Tests require a running X server.
8916 (system "Xvfb :1 &")
8917 (setenv "DISPLAY" ":1")
8918
8919 ;; For the missing /etc/machine-id.
8920 (setenv "DBUS_FATAL_WARNINGS" "0")
8921
8922 ;; Allow Enchant and its Aspell backend to find the en_US
8923 ;; dictionary.
8924 (setenv "ASPELL_DICT_DIR"
8925 (string-append (assoc-ref inputs "aspell-dict-en")
8926 "/lib/aspell"))
8927 #t)))))
8928 (inputs
eccd35be 8929 `(("gtk+" ,gtk+)
a801ae4c
TGR
8930 ("glib" ,glib)
8931 ("iso-codes" ,iso-codes)))
411ba511
LC
8932 (native-inputs
8933 `(("glib" ,glib "bin")
26ba3f07 8934 ("gobject-introspection" ,gobject-introspection)
411ba511 8935 ("pkg-config" ,pkg-config)
d0f50164 8936 ("vala" ,vala) ;for VAPI, needed by Geary
411ba511
LC
8937 ("xmllint" ,libxml2)
8938
8939 ;; For tests.
a801ae4c 8940 ("aspell-dict-en" ,aspell-dict-en)
ff337525 8941 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 8942 (propagated-inputs
9b1bb757 8943 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
8944 (home-page "https://wiki.gnome.org/Projects/gspell")
8945 (synopsis "GNOME's alternative spell checker")
8946 (description
8947 "gspell provides a flexible API to add spell-checking to a GTK+
8948application. It provides a GObject API, spell-checking to text entries and
8949text views, and buttons to choose the language.")
8950 (license license:gpl2+)))
d1d739fa
CM
8951
8952(define-public gnome-planner
8953 (package
8954 (name "gnome-planner")
8955 (version "0.14.6")
8956 (source (origin
8957 (method url-fetch)
8958 (uri (string-append "mirror://gnome/sources/planner/"
8959 (version-major+minor version) "/planner-"
8960 version ".tar.xz"))
8961 (sha256
8962 (base32
8963 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
8964 (build-system glib-or-gtk-build-system)
8965 (arguments
8966 ;; Disable the Python bindings because the Planner program functions
8967 ;; without them, and (as of 2017-06-13) we have not packaged all of
8968 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
8969 `(#:configure-flags
8970 (list "--disable-python"
8971 ,@(if (string=? "aarch64-linux" (%current-system))
8972 '("--build=aarch64-unknown-linux-gnu")
8973 '()))))
d1d739fa
CM
8974 (inputs
8975 `(("libgnomecanvas" ,libgnomecanvas)
8976 ("libgnomeui" ,libgnomeui)
8977 ("libglade" ,libglade)
8978 ("gnome-vfs" ,gnome-vfs)
8979 ("gconf" ,gconf)
8980 ("libxml2" ,libxml2)
8981 ("libxslt" ,libxslt)
8982 ("gtk+" ,gtk+)
8983 ("glib" ,glib)))
8984 (native-inputs
8985 `(("intltool" ,intltool)
8986 ("scrollkeeper" ,scrollkeeper)
8987 ("pkg-config" ,pkg-config)))
8988 (home-page "https://wiki.gnome.org/Apps/Planner")
8989 (synopsis "Project management software for the GNOME desktop")
8990 (description
8991 "GNOME Planner is a project management tool based on the Work Breakdown
8992Structure (WBS). Its goal is to enable you to easily plan projects. Based on
8993the resources, tasks, and constraints that you define, Planner generates
8994various views into a project. For example, Planner can show a Gantt chart of
8995the project. It can show a detailed summary of tasks including their
8996duration, cost, and current progress. It can also show a report of resource
8997utilization that highlights under-utilized and over-utilized resources. These
8998views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 8999 (license license:gpl2+)))
64fce637
RS
9000
9001(define-public lollypop
9002 (package
9003 (name "lollypop")
24b5d8f7 9004 (version "1.2.32")
64fce637
RS
9005 (source
9006 (origin
9007 (method url-fetch)
24b5d8f7 9008 (uri (string-append "https://adishatz.org/lollypop/"
3275d43d 9009 "lollypop-" version ".tar.xz"))
64fce637 9010 (sha256
24b5d8f7 9011 (base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a"))))
aa498fc0 9012 (build-system meson-build-system)
64fce637 9013 (arguments
7a9543d7
TGR
9014 `(#:imported-modules
9015 (,@%meson-build-system-modules
9016 (guix build python-build-system))
9017 #:modules
9018 ((guix build meson-build-system)
9019 ((guix build python-build-system) #:prefix python:)
9020 (guix build utils))
aa498fc0 9021 #:glib-or-gtk? #t
7a9543d7 9022 #:tests? #f ; no test suite
5fc9b6c1
EF
9023 #:phases
9024 (modify-phases %standard-phases
5fc9b6c1
EF
9025 (add-after 'install 'wrap-program
9026 (lambda* (#:key outputs #:allow-other-keys)
9027 (let ((out (assoc-ref outputs "out"))
9028 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
9029 (wrap-program (string-append out "/bin/lollypop")
9030 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
9031 #t))
8ac8b3b3 9032 (add-after 'install 'wrap-python
7a9543d7 9033 (assoc-ref python:%standard-phases 'wrap)))))
64fce637
RS
9034 (native-inputs
9035 `(("intltool" ,intltool)
9036 ("itstool" ,itstool)
aa498fc0
TD
9037 ("glib:bin" ,glib "bin") ; For glib-compile-resources
9038 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
9039 ("pkg-config" ,pkg-config)))
9040 (inputs
9041 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 9042 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 9043 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
9044 ("libnotify" ,libnotify)
9045 ("libsecret" ,libsecret)
9046 ("libsoup" ,libsoup)
9047 ("python" ,python)
9048 ("python-beautifulsoup4" ,python-beautifulsoup4)
9049 ("python-gst" ,python-gst)
d029afdd 9050 ("python-pil" ,python-pillow)
64fce637 9051 ("python-pycairo" ,python-pycairo)
cc9c83c5 9052 ("python-pygobject" ,python-pygobject)
64fce637
RS
9053 ("python-pylast" ,python-pylast)
9054 ("totem-pl-parser" ,totem-pl-parser)
9055 ("webkitgtk" ,webkitgtk)))
9056 (propagated-inputs
9057 `(;; gst-plugins-base is required to start Lollypop,
9058 ;; the others are required to play streaming.
64fce637
RS
9059 ("gst-plugins-good" ,gst-plugins-good)
9060 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 9061 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
9062 (synopsis "GNOME music playing application")
9063 (description
9064 "Lollypop is a music player designed to play well with GNOME desktop.
9065Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
9066from artists and tracks from the web. It also fetches cover artworks
9067automatically and it can stream songs from online music services and charts.")
9068 (license license:gpl3+)))
d831d49d
AW
9069
9070(define-public gnome-video-effects
9071 (package
9072 (name "gnome-video-effects")
9073 (version "0.4.3")
9074 (source (origin
9075 (method url-fetch)
9076 (uri (string-append "mirror://gnome/sources/" name "/"
9077 (version-major+minor version) "/" name "-"
9078 version ".tar.xz"))
9079 (sha256
9080 (base32
9081 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
9082 (build-system glib-or-gtk-build-system)
9083 (arguments
9084 `(#:out-of-source? #f))
9085 (native-inputs
9086 `(("glib:bin" ,glib "bin")
9087 ("intltool" ,intltool)
9088 ("gettext" ,gettext-minimal)
9089 ("pkg-config" ,pkg-config)))
9090 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
9091 (synopsis "Video effects for Cheese and other GNOME applications")
9092 (description
9093 "A collection of GStreamer video filters and effects to be used in
9094photo-booth-like software, such as Cheese.")
9095 (license license:gpl2+)))
3511c780
AW
9096
9097(define-public cheese
9098 (package
9099 (name "cheese")
3a7e066f 9100 (version "3.34.0")
3511c780
AW
9101 (source (origin
9102 (method url-fetch)
9103 (uri (string-append "mirror://gnome/sources/" name "/"
9104 (version-major+minor version) "/" name "-"
9105 version ".tar.xz"))
9106 (sha256
9107 (base32
3a7e066f 9108 "0wvyc9wb0avrprvm529m42y5fkv3lirdphqydc9jw0c8mh05d1ni"))))
3511c780 9109 (arguments
3a7e066f
KK
9110 `(#:glib-or-gtk? #t
9111 ;; Tests require GDK.
9112 #:tests? #f
3511c780
AW
9113 #:phases
9114 (modify-phases %standard-phases
3a7e066f 9115 (add-after 'unpack 'skip-gtk-update-icon-cache
3511c780
AW
9116 (lambda _
9117 ;; Don't create 'icon-theme.cache'
3a7e066f 9118 (substitute* "meson_post_install.py"
3511c780
AW
9119 (("gtk-update-icon-cache") (which "true")))
9120 #t))
9121 (add-after 'install 'wrap-cheese
9122 (lambda* (#:key inputs outputs #:allow-other-keys)
9123 (let ((out (assoc-ref outputs "out"))
9124 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9125 (wrap-program (string-append out "/bin/cheese")
9126 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9127 #t)))))
3a7e066f 9128 (build-system meson-build-system)
3511c780 9129 (native-inputs
3a7e066f
KK
9130 `(("docbook-xsl" ,docbook-xsl)
9131 ("glib:bin" ,glib "bin")
9132 ("gtk-doc" ,gtk-doc)
3511c780
AW
9133 ("intltool" ,intltool)
9134 ("itstool" ,itstool)
9135 ("libxml2" ,libxml2)
3a7e066f 9136 ("libxslt" ,libxslt)
3511c780
AW
9137 ("pkg-config" ,pkg-config)
9138 ("vala" ,vala)))
9139 (propagated-inputs
6a19f03e
RW
9140 `(("gnome-video-effects" ,gnome-video-effects)
9141 ("clutter" ,clutter)
3511c780
AW
9142 ("clutter-gst" ,clutter-gst)
9143 ("clutter-gtk" ,clutter-gtk)
6a19f03e 9144 ("libcanberra" ,libcanberra)
3511c780
AW
9145 ("gdk-pixbuf" ,gdk-pixbuf)
9146 ("glib" ,glib)
6a19f03e
RW
9147 ("gstreamer" ,gstreamer)))
9148 (inputs
9149 `(("gnome-desktop" ,gnome-desktop)
3511c780 9150 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
9151 ("gst-plugins-base" ,gst-plugins-base)
9152 ("gst-plugins-bad" ,gst-plugins-bad)
9153 ("gtk+" ,gtk+)
3511c780
AW
9154 ("libx11" ,libx11)
9155 ("libxtst" ,libxtst)))
9156 (home-page "https://wiki.gnome.org/Apps/Cheese")
9157 (synopsis "Webcam photo booth software for GNOME")
9158 (description
9159 "Cheese uses your webcam to take photos and videos. Cheese can also
9160apply fancy special effects and lets you share the fun with others.")
9161 (license license:gpl2+)))
3c5dbd2b 9162
9163(define-public sound-juicer
9164 (package
9165 (name "sound-juicer")
9166 (version "3.24.0")
9167 (source
9168 (origin
9169 (method url-fetch)
9170 (uri (string-append "mirror://gnome/sources/" name "/"
9171 (version-major+minor version) "/"
9172 name "-" version ".tar.xz"))
9173 (sha256
9174 (base32
9175 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
9176 (build-system glib-or-gtk-build-system)
9177 (native-inputs
9178 `(("desktop-file-utils" ,desktop-file-utils)
9179 ("intltool" ,intltool)
9180 ("itstool" ,itstool)
9181 ("pkg-config" ,pkg-config)
9182 ("xmllint" ,libxml2)))
9183 (inputs
9184 `(("gtk+" ,gtk+)
9185 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9186 ("gstreamer" ,gstreamer)
9187 ("gst-plugins-base" ,gst-plugins-base)
9188 ("gst-plugins-good" ,gst-plugins-good)
9189 ("iso-codes" ,iso-codes)
9190 ("libbrasero-media3" ,brasero)
9191 ("libcanberra" ,libcanberra)
9192 ("libdiscid" ,libdiscid)
9193 ("libmusicbrainz" ,libmusicbrainz)
9194 ("neon" ,neon)))
9195 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
9196 (synopsis "Audio music cd ripper")
9197 (description "Sound Juicer extracts audio from compact discs and convert it
9198into audio files that a personal computer or digital audio player can play.
9199It supports ripping to any audio codec supported by a GStreamer plugin, such as
9200mp3, Ogg Vorbis and FLAC")
9201 (license license:gpl2+)))
4e3fdeb7 9202
0d3f1708
CB
9203(define-public soundconverter
9204 (package
9205 (name "soundconverter")
7f4b45a3 9206 (version "3.0.2")
0d3f1708
CB
9207 (source
9208 (origin
9209 (method url-fetch)
9210 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
9211 version "/+download/"
9212 "soundconverter-" version ".tar.xz"))
9213
9214 (sha256
7f4b45a3 9215 (base32 "1jv8m82hi23ilrgdznlc1jhp2jm8bw1yrw0chh3qw2l0sixvkl11"))))
0d3f1708
CB
9216 (build-system glib-or-gtk-build-system)
9217 (arguments
9218 `(#:imported-modules ((guix build python-build-system)
9219 (guix build glib-or-gtk-build-system)
9220 ,@%gnu-build-system-modules)
9221
9222 #:modules ((guix build glib-or-gtk-build-system)
9223 (guix build utils)
9224 ((guix build gnu-build-system) #:prefix gnu:)
9225 ((guix build python-build-system) #:prefix python:))
9226
9227 #:phases
9228 (modify-phases %standard-phases
0d3f1708
CB
9229 (add-after 'install 'wrap-soundconverter-for-python
9230 (assoc-ref python:%standard-phases 'wrap))
9231 (add-after 'install 'wrap-soundconverter
9232 (lambda* (#:key inputs outputs #:allow-other-keys)
9233 (let ((out (assoc-ref outputs "out"))
9234 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
9235 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9236 (wrap-program (string-append out "/bin/soundconverter")
9237 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
9238 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9239 #t)))))
9240 (native-inputs
9241 `(("intltool" ,intltool)
9242 ("pkg-config" ,pkg-config)
9243 ("glib:bin" ,glib "bin")))
9244 (inputs
9245 `(("gtk+" ,gtk+)
9246 ("python" ,python)
9247 ("python-pygobject" ,python-pygobject)
9248 ("gstreamer" ,gstreamer)
9249 ("gst-plugins-base" ,gst-plugins-base)))
e42399e8 9250 (home-page "https://soundconverter.org/")
0d3f1708
CB
9251 (synopsis "Convert between audio formats with a graphical interface")
9252 (description
9253 "SoundConverter supports converting between many audio formats including
9254Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
9255configurable file renaming. ")
9256 (license license:gpl3)))
9257
4e3fdeb7 9258(define-public workrave
89f2d736
TGR
9259 (package
9260 (name "workrave")
52fc6508 9261 (version "1.10.42")
89f2d736
TGR
9262 (source
9263 (origin
9264 (method git-fetch)
9265 (uri (git-reference
9266 (url "https://github.com/rcaelers/workrave.git")
c2e50474
TGR
9267 (commit (string-append "v" (string-map
9268 (match-lambda (#\. #\_) (chr chr))
9269 version)))))
89f2d736
TGR
9270 (file-name (git-file-name name version))
9271 (sha256
52fc6508 9272 (base32 "03i9kk8r1wgrfkkbwikx8wxaw4r4kn62vismr2zdq5g34fkkjh95"))))
89f2d736 9273 (build-system glib-or-gtk-build-system)
1b9e1648
TGR
9274 (arguments
9275 ;; The only tests are maintainer tests (in po/), which fail.
9276 `(#:tests? #f))
d1c96847
MC
9277 (inputs `(("glib" ,glib)
9278 ("gtk+" ,gtk+)
9279 ("gdk-pixbuf" ,gdk-pixbuf)
9280 ("gtkmm" ,gtkmm)
9281 ("glibmm" ,glibmm)
9282 ("libx11" ,libx11)
9283 ("libxtst" ,libxtst)
9284 ("dconf" ,dconf)
9285 ("libice" ,libice)
9286 ("libsm" ,libsm)
9287 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 9288 (native-inputs `(("boost" ,boost)
89f2d736 9289 ("pkg-config" ,pkg-config)
f2d97d57 9290 ("gettext" ,gettext-minimal)
89f2d736
TGR
9291 ("autoconf" ,autoconf)
9292 ("autoconf-archive" , autoconf-archive)
9293 ("automake" ,automake)
9294 ("libtool" ,libtool)
9295 ("intltool" ,intltool)
89f2d736 9296 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
9297 ("python3" ,python-3)
9298 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
9299 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
9300 (description
9301 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
9302repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
9303micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
9304 (home-page "http://www.workrave.org")
9305 (license license:gpl3+)))
312afa7d
LC
9306
9307(define-public ghex
9308 (package
9309 (name "ghex")
3748992a 9310 (version "3.18.4")
312afa7d
LC
9311 (source (origin
9312 (method url-fetch)
2fbab848 9313 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 9314 (version-major+minor version) "/"
2fbab848 9315 "ghex-" version ".tar.xz"))
312afa7d
LC
9316 (sha256
9317 (base32
3748992a
KK
9318 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
9319 (build-system meson-build-system)
9320 (arguments
9321 '(#:glib-or-gtk? #t
9322 #:phases
9323 (modify-phases %standard-phases
9324 (add-after 'unpack 'skip-gtk-update-icon-cache
9325 ;; Don't create 'icon-theme.cache'.
9326 (lambda _
9327 (substitute* "meson_post_install.py"
9328 (("gtk-update-icon-cache") (which "true")))
9329 #t)))))
312afa7d
LC
9330 (native-inputs
9331 `(("pkg-config" ,pkg-config)
3748992a 9332 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
9333 ("gnome-common" ,gnome-common)
9334 ("which" ,which)
9335 ("intltool" ,intltool)
9336 ("yelp-tools" ,yelp-tools)
2fbab848 9337 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
9338 (inputs
9339 `(("atk" ,atk)
9340 ("gtk" ,gtk+)))
9341 (synopsis "GNOME hexadecimal editor")
9342 (description "The GHex program can view and edit files in two ways:
9343hexadecimal or ASCII. It is useful for editing binary files in general.")
9344 (home-page "https://wiki.gnome.org/Apps/Ghex")
9345 (license license:gpl2)))
4b2ed6c2
RW
9346
9347(define-public libdazzle
9348 (package
9349 (name "libdazzle")
c94db354 9350 (version "3.34.1")
4b2ed6c2
RW
9351 (source (origin
9352 (method url-fetch)
687b4909 9353 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 9354 (version-major+minor version) "/"
687b4909 9355 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
9356 (sha256
9357 (base32
c94db354 9358 "01cmcrd75b7ns7j2b4p6h7pv68vjhkcl9zbvzzx7pf4vknxir61x"))))
4b2ed6c2
RW
9359 (build-system meson-build-system)
9360 (arguments
9361 `(#:phases
9362 (modify-phases %standard-phases
4b2ed6c2
RW
9363 (add-before 'check 'pre-check
9364 (lambda _
9365 ;; Tests require a running X server.
9366 (system "Xvfb :1 &")
9367 (setenv "DISPLAY" ":1")
9368 #t)))))
9369 (native-inputs
687b4909 9370 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 9371 ("pkg-config" ,pkg-config)
687b4909 9372 ;; For tests.
ff337525 9373 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
9374 (inputs
9375 `(("glib" ,glib)
9376 ("gobject-introspection" ,gobject-introspection)
9377 ("gtk+" ,gtk+)
9378 ("vala" ,vala)))
9379 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
9380 (synopsis "Companion library to GObject and Gtk+")
9381 (description "The libdazzle library is a companion library to GObject and
9382Gtk+. It provides various features that the authors wish were in the
9383underlying library but cannot for various reasons. In most cases, they are
9384wildly out of scope for those libraries. In other cases, they are not quite
9385generic enough to work for everyone.")
9386 (license license:gpl3+)))
7d3bb433
RW
9387
9388(define-public evolution
9389 (package
9390 (name "evolution")
0662fe86 9391 (version "3.34.2")
7d3bb433
RW
9392 (source (origin
9393 (method url-fetch)
9394 (uri (string-append "mirror://gnome/sources/evolution/"
9395 (version-major+minor version) "/"
9396 "evolution-" version ".tar.xz"))
9397 (sha256
9398 (base32
0662fe86 9399 "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c"))))
7d3bb433
RW
9400 (build-system cmake-build-system)
9401 (arguments
5229bea1
KK
9402 `(#:imported-modules (,@%cmake-build-system-modules
9403 (guix build glib-or-gtk-build-system))
9404 #:modules ((guix build cmake-build-system)
9405 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9406 (guix build utils))
9407 #:configure-flags
7d3bb433 9408 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 9409 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 9410 ; in four years and cannot be built.
5229bea1
KK
9411 #:phases
9412 (modify-phases %standard-phases
9413 ;; The build system attempts to install user interface modules to the
9414 ;; output directory of the "evolution-data-server" package. This
9415 ;; change redirects that change.
9416 (add-after 'unpack 'patch-ui-module-dir
9417 (lambda* (#:key outputs #:allow-other-keys)
9418 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
9419 (("\\$\\{edsuimoduledir\\}")
9420 (string-append (assoc-ref outputs "out")
9421 "/lib/evolution-data-server/ui-modules")))
9422 #t))
9423 (add-after 'install 'glib-or-gtk-compile-schemas
9424 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
9425 (add-after 'install 'glib-or-gtk-wrap
9426 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 9427 (native-inputs
ad6e168b 9428 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
9429 ("pkg-config" ,pkg-config)
9430 ("intltool" ,intltool)
9431 ("itstool" ,itstool)))
9432 (inputs
9433 `(("enchant" ,enchant)
9434 ("evolution-data-server" ,evolution-data-server) ; must be the same version
9435 ("gcr" ,gcr)
ad6e168b 9436 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
9437 ("gnome-autoar" ,gnome-autoar)
9438 ("gnome-desktop" ,gnome-desktop)
0662fe86 9439 ("gspell" ,gspell)
7d3bb433
RW
9440 ("highlight" ,highlight)
9441 ("libcanberra" ,libcanberra)
9442 ("libgweather" ,libgweather)
9443 ("libnotify" ,libnotify)
9444 ("libsoup" ,libsoup)
9445 ("nss" ,nss)
9446 ("openldap" ,openldap)
9447 ("webkitgtk" ,webkitgtk)
9448 ("ytnef" ,ytnef)))
9449 (home-page "https://gitlab.gnome.org/GNOME/evolution")
9450 (synopsis "Manage your email, contacts and schedule")
9451 (description "Evolution is a personal information management application
9452that provides integrated mail, calendaring and address book
9453functionality.")
9454 ;; See COPYING for details.
23dbe621 9455 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 9456 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 9457 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
9458
9459(define-public gthumb
9460 (package
9461 (name "gthumb")
8280676b 9462 (version "3.8.2")
169d63f5
AT
9463 (source (origin
9464 (method url-fetch)
9465 (uri (string-append "mirror://gnome/sources/gthumb/"
9466 (version-major+minor version) "/"
9467 "gthumb-" version ".tar.xz"))
9468 (sha256
9469 (base32
8280676b 9470 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
9471 (build-system meson-build-system)
9472 (arguments
9473 `(#:glib-or-gtk? #t
9474 #:configure-flags
9475 ;; Ensure the RUNPATH contains all installed library locations.
9476 (list (string-append "-Dc_link_args=-Wl,-rpath="
9477 (assoc-ref %outputs "out")
9478 "/lib/gthumb/extensions")
9479 (string-append "-Dcpp_link_args=-Wl,-rpath="
9480 (assoc-ref %outputs "out")
9481 "/lib/gthumb/extensions"))))
9482 (native-inputs
9483 `(("pkg-config" ,pkg-config)
9484 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9485 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9486 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9487 ("intltool" ,intltool)
9488 ("itstool" ,itstool)))
9489 (inputs
9490 `(("exiv2" ,exiv2)
9491 ("gtk" ,gtk+)
9492 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9493 ("gstreamer" ,gstreamer)
9494 ("clutter" ,clutter)
9495 ("clutter-gst" ,clutter-gst)
9496 ("clutter-gtk" ,clutter-gtk)
4bd428a7 9497 ("libjpeg" ,libjpeg-turbo)
169d63f5
AT
9498 ("libtiff" ,libtiff)
9499 ("libraw" ,libraw)))
9500 (home-page "https://wiki.gnome.org/Apps/Gthumb")
9501 (synopsis "GNOME image viewer and browser")
9502 (description "GThumb is an image viewer, browser, organizer, editor and
9503advanced image management tool")
9504 (license license:gpl2+)))
08be02be
AT
9505
9506(define-public terminator
9507 (package
9508 (name "terminator")
9509 (version "1.91")
9510 (source (origin
9511 (method url-fetch)
9512 (uri (string-append "https://launchpad.net/" name "/"
9513 "gtk3/" version "/" "+download/"
9514 name "-" version ".tar.gz"))
9515 (sha256
9516 (base32
9517 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
9518 (build-system python-build-system)
9519 (native-inputs
9520 `(("intltool" ,intltool)
9521 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9522 ("gettext" ,gettext-minimal)
9523 ("pkg-config" ,pkg-config)))
9524 (inputs
9525 `(("cairo" ,cairo)
9526 ("gobject-introspection" ,gobject-introspection)
96681d4b 9527 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
9528 ("python2-pycairo" ,python2-pycairo)
9529 ("python2-pygobject" ,python2-pygobject)
9530 ("python2-psutil" ,python2-psutil)
9531 ("vte" ,vte)))
9532 (arguments
96681d4b
TGR
9533 `(#:python ,python-2 ; Python 3 isn't supported
9534 #:imported-modules ((guix build glib-or-gtk-build-system)
9535 ,@%python-build-system-modules)
9536 #:modules ((guix build python-build-system)
9537 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9538 (guix build utils))
08be02be
AT
9539 #:phases
9540 (modify-phases %standard-phases
9541 (add-after
9542 'install 'wrap-program
9543 (lambda* (#:key outputs #:allow-other-keys)
9544 (let ((prog (string-append (assoc-ref outputs "out")
9545 "/bin/terminator")))
9546 (wrap-program prog
9547 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
9548 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
9549 #t)))
9550 (add-after 'wrap-program 'glib-or-gtk-wrap
9551 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
9552 (home-page "https://gnometerminator.blogspot.com/")
9553 (synopsis "Store and run multiple GNOME terminals in one window")
9554 (description
9555 "Terminator allows you to run multiple GNOME terminals in a grid and
9556+tabs, and it supports drag and drop re-ordering of terminals.")
9557 (license license:gpl2)))
213315d4
JF
9558
9559(define-public libhandy
9560 (package
9561 (name "libhandy")
f6501b9f 9562 (version "0.0.12")
213315d4
JF
9563 (source
9564 (origin
9565 (method git-fetch)
9566 (uri (git-reference
9567 (url "https://source.puri.sm/Librem5/libhandy")
9568 (commit (string-append "v" version))))
9569 (file-name (git-file-name name version))
9570 (sha256
f6501b9f 9571 (base32 "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw"))))
213315d4
JF
9572 (build-system meson-build-system)
9573 (arguments
9574 `(#:configure-flags
9575 '("-Dglade_catalog=disabled"
9576 "-Dgtk_doc=true")
9577 #:phases
9578 (modify-phases %standard-phases
213315d4
JF
9579 (add-before 'check 'pre-check
9580 (lambda _
9581 ;; Tests require a running X server.
9582 (system "Xvfb :1 &")
9583 (setenv "DISPLAY" ":1")
9584 #t)))))
9585 (inputs
9586 `(("gtk+" ,gtk+)))
9587 (native-inputs
9588 `(("glib:bin" ,glib "bin")
9589 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
9590 ("vala" ,vala)
9591 ("gtk-doc" ,gtk-doc)
9592 ("pkg-config" ,pkg-config)
9593 ("gettext" ,gettext-minimal)
d41ee146
TGR
9594
9595 ;; Test suite dependencies.
ff337525 9596 ("xorg-server" ,xorg-server-for-tests)
d41ee146 9597 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
9598 (home-page "https://source.puri.sm/Librem5/libhandy")
9599 (synopsis "Library full of GTK+ widgets for mobile phones")
9600 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
9601interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
9602for usage on small and big screens.")
213315d4 9603 (license license:lgpl2.1+)))
a830d14d
GL
9604
9605(define-public libgit2-glib
9606 (package
9607 (name "libgit2-glib")
6448c2e1 9608 (version "0.99.0.1")
a830d14d
GL
9609 (source (origin
9610 (method url-fetch)
9611 (uri (string-append "mirror://gnome/sources/" name "/"
9612 (version-major+minor version) "/"
9613 name "-" version ".tar.xz"))
9614 (sha256
9615 (base32
6448c2e1 9616 "1pmrcnsa7qdda73c3dxf47733mwprmj5ljpw3acxbj6r8k27anp0"))))
a830d14d
GL
9617 (build-system meson-build-system)
9618 (native-inputs
9619 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
9620 ("gobject-introspection" ,gobject-introspection)
a830d14d
GL
9621 ("pkg-config" ,pkg-config)
9622 ("python-pygobject" ,python-pygobject)
9623 ("python-wrapper" ,python-wrapper)
9624 ("vala" ,vala)))
9625 (inputs
9626 `(("glib" ,glib)
8c6aae46
MB
9627 ("libssh2" ,libssh2)))
9628 (propagated-inputs
9629 `(;; In Requires of libgit2-glib.pc.
a830d14d
GL
9630 ("libgit2" ,libgit2)))
9631 (synopsis "GLib wrapper around the libgit2 Git access library")
9632 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
9633access library. It only implements the core plumbing functions, not really the
9634higher level porcelain stuff.")
9635 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
9636 (license license:gpl2+)))
93beace0 9637
08db81c9
LP
9638(define-public gitg
9639 (package
9640 (name "gitg")
9641 (version "3.32.1")
9642 (source (origin
9643 (method url-fetch)
9644 (uri (string-append "mirror://gnome/sources/" name "/"
9645 (version-major+minor version) "/"
9646 name "-" version ".tar.xz"))
9647 (sha256
9648 (base32
9649 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
9650 (build-system meson-build-system)
9651 (arguments
9652 `(#:glib-or-gtk? #t
9653 #:phases
9654 (modify-phases %standard-phases
9655 (add-after 'unpack 'disable-post-install-partially
9656 (lambda _
9657 (substitute* "meson_post_install.py"
9658 (("'python'") ; there are no python sources to compile
9659 (string-append "'" (which "true") "'"))
9660 (("gtk-update-icon-cache") (which "true")))
9661 #t))
9662 (add-after 'unpack 'fix-test-sources
9663 (lambda _
9664 (substitute* "tests/libgitg/test-commit.vala"
9665 (("/bin/bash") (which "bash")))
9666 #t))
9667 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9668 (lambda* (#:key outputs #:allow-other-keys)
9669 (let ((prog (string-append (assoc-ref outputs "out")
9670 "/bin/gitg")))
9671 (wrap-program prog
9672 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9673 #t))))))
9674 (inputs
9675 `(("glib" ,glib)
9676 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9677 ("gtk+" ,gtk+)
9678 ("gtkspell3" ,gtkspell3)
9679 ("gtksourceview" ,gtksourceview-3)
9680 ("json-glib" ,json-glib)
9681 ("libdazzle" ,libdazzle)
9682 ("libgee" ,libgee)
08db81c9
LP
9683 ("libgit2-glib" ,libgit2-glib)
9684 ("libpeas" ,libpeas)
9685 ("libsecret" ,libsecret)
9686 ("libsoup" ,libsoup)
9687 ("libxml2" ,libxml2)))
9688 (native-inputs
9689 `(("glib:bin" ,glib "bin")
9690 ("gtk+:bin" ,gtk+ "bin")
9691 ("gobject-introspection" ,gobject-introspection)
9692 ("intltool" ,intltool)
9693 ("pkg-config" ,pkg-config)
9694 ("vala" ,vala)))
9695 (synopsis "Graphical user interface for git")
9696 (description
9697 "gitg is a graphical user interface for git. It aims at being a small,
9698fast and convenient tool to visualize the history of git repositories.
9699Besides visualization, gitg also provides several utilities to manage your
9700repository and commit your work.")
9701 (home-page "https://wiki.gnome.org/Apps/Gitg")
9702 (license license:gpl2+)))
9703
1e600ed0
RW
9704(define-public gamin
9705 (package
9706 (name "gamin")
9707 (version "0.1.10")
9708 (source (origin
9709 (method url-fetch)
9710 (uri (string-append "mirror://gnome/sources/" name "/"
9711 (version-major+minor version) "/"
9712 name "-" version ".tar.bz2"))
9713 (sha256
9714 (base32
9715 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
9716 (build-system gnu-build-system)
9717 (arguments
9718 `(#:phases
9719 (modify-phases %standard-phases
9720 (add-after 'unpack 'remove-deprecated-macro
9721 (lambda _
9722 (substitute* '("server/gam_node.c"
9723 "server/gam_subscription.h"
9724 "server/gam_node.h"
9725 "server/gam_subscription.c")
9726 (("G_CONST_RETURN") "const"))
9727 #t)))))
9728 (inputs
9729 `(("glib" ,glib)))
9730 (native-inputs
9731 `(("intltool" ,intltool)
9732 ("pkg-config" ,pkg-config)))
9733 (home-page "https://people.gnome.org/~veillard/gamin/")
9734 (synopsis "File alteration monitor")
9735 (description
9736 "Gamin is a file and directory monitoring system defined to be a subset
9737of the FAM (File Alteration Monitor) system. This is a service provided by a
bddd877f 9738library which detects when a file or a directory has been modified.")
1e600ed0
RW
9739 (license license:gpl2+)))
9740
93beace0
DW
9741(define-public gnome-mahjongg
9742 (package
9743 (name "gnome-mahjongg")
9744 (version "3.35.1")
9745 (source (origin
9746 (method git-fetch)
9747 (uri (git-reference
9748 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
9749 (commit version)))
9750 (file-name (git-file-name name version))
9751 (sha256
9752 (base32
9753 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
9754 (build-system meson-build-system)
9755 (arguments
9756 `(#:glib-or-gtk? #t))
9757 (native-inputs
9758 `(("appstream-glib" ,appstream-glib)
9759 ("gettext" ,gettext-minimal)
9760 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
9761 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
9762 ("itstool" ,itstool)
9763 ("pkg-config" ,pkg-config)
9764 ("vala" ,vala)))
9765 (propagated-inputs
9766 `(("dconf" ,dconf)))
9767 (inputs
9768 `(("glib" ,glib)
9769 ("gtk+" ,gtk+)
9770 ("librsvg" ,librsvg)))
9771 (synopsis "Mahjongg tile-matching game")
9772 (description "GNOME Mahjongg is a game based on the classic Chinese
9773tile-matching game Mahjong. It features multiple board layouts, tile themes,
9774and a high score table.")
9775 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
9776 (license license:gpl2+)))
f825476c 9777
76ea7632
RG
9778(define-public gnome-themes-extra
9779 (package
9780 (name "gnome-themes-extra")
9781 (version "3.28")
9782 (source
9783 (origin
9784 (method url-fetch)
9785 (uri (string-append "mirror://gnome/sources/" name "/"
9786 (version-major+minor version) "/" name "-"
9787 version ".tar.xz"))
9788 (sha256
9789 (base32
9790 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
9791 (build-system gnu-build-system)
885424bf
RG
9792 (arguments
9793 '(#:configure-flags
9794 ;; Don't create 'icon-theme.cache'.
9795 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
9796 (true (string-append coreutils "/bin/true")))
9797 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
9798 (native-inputs
9799 `(("glib:bin" ,glib "bin")
9800 ("intltool" ,intltool)
9801 ("pkg-config" ,pkg-config)))
9802 (inputs
9803 `(("glib" ,glib)
9804 ("gtk+" ,gtk+)
9805 ("gtk+-2" ,gtk+-2)
9806 ("librsvg" ,librsvg)
9807 ("libxml2" ,libxml2)))
9808 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
9809 (synopsis "GNOME Extra Themes")
9810 (description "This package provides themes and related elements that don't
9811really fit in other upstream packages. It offers legacy support for GTK+ 2
9812versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
9813index files needed for Adwaita to be used outside of GNOME.")
9814 (license license:lgpl2.1+)))
9815
f825476c
LP
9816(define-public polari
9817 (package
9818 (name "polari")
9819 (version "3.32.2")
9820 (source (origin
9821 (method url-fetch)
9822 (uri (string-append "mirror://gnome/sources/polari/"
9823 (version-major+minor version)
9824 "/polari-" version ".tar.xz"))
9825 (sha256
9826 (base32
9827 "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"))))
9828 (build-system meson-build-system)
9829 (arguments
9830 `(#:glib-or-gtk? #t
9831 #:phases
9832 (modify-phases %standard-phases
9833 (add-after 'unpack 'skip-gtk-update-icon-cache
9834 (lambda _
9835 (substitute* "meson/meson-postinstall.sh"
9836 (("gtk-update-icon-cache") (which "true")))
9837 #t))
9838 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9839 (lambda* (#:key outputs #:allow-other-keys)
9840 (let ((prog (string-append (assoc-ref outputs "out")
9841 "/bin/polari")))
9842 (wrap-program prog
9843 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9844 #t))))))
9845 (inputs
9846 `(("glib" ,glib)
9847 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9848 ("gspell" ,gspell)
9849 ("gtk+" ,gtk+)
9850 ("gjs" ,gjs)
9851 ("libsecret" ,libsecret)
9852 ("libsoup" ,libsoup)
9853 ("telepathy-glib" ,telepathy-glib)
9854 ("telepathy-logger" ,telepathy-logger)))
9855 (native-inputs
9856 `(("glib:bin" ,glib "bin")
9857 ("gobject-introspection" ,gobject-introspection)
9858 ("intltool" ,intltool)
9859 ("pkg-config" ,pkg-config)
9860 ("yelp-tools" ,yelp-tools)))
9861 (propagated-inputs
9862 `(("telepathy-idle" ,telepathy-idle)
9863 ("telepathy-mission-control" ,telepathy-mission-control)))
9864 (synopsis "Simple IRC Client")
9865 (description
9866 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
9867integrate seamlessly with the GNOME desktop.")
9868 (home-page "https://wiki.gnome.org/Apps/Polari")
9869 (license license:gpl2+)))
59d4c8c2
PN
9870
9871(define-public gnome-boxes
9872 (package
9873 (name "gnome-boxes")
9874 (version "3.35.91")
9875 (source
9876 (origin
9877 (method url-fetch)
9878 (uri (string-append "mirror://gnome/sources/gnome-boxes/"
9879 (version-major+minor version) "/"
9880 "gnome-boxes-" version ".tar.xz"))
9881 (sha256
9882 (base32
9883 "0l96spz6pc8q4l5p9a58cc0kgvdr7pbc89hy6ixn72k5pl3s7fxj"))))
9884 (build-system meson-build-system)
9885 (arguments
9886 '(#:glib-or-gtk? #t
9887 #:configure-flags (list "-Drdp=false"
9888 (string-append "-Dc_link_args=-Wl,-rpath="
9889 (assoc-ref %outputs "out")
9890 "/lib/gnome-boxes"))))
9891 (native-inputs
9892 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
9893 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9894 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9895 ("itstool" ,itstool)
9896 ("intltool" ,intltool)
9897 ("vala" ,vala)
9898 ("pkg-config" ,pkg-config)))
9899 (inputs
9900 `(("libarchive" ,libarchive)
9901 ("gtk" ,gtk+)
9902 ("gtk-vnc" ,gtk-vnc)
9903 ("libosinfo" ,libosinfo)
9904 ("libsecret" ,libsecret)
9905 ("libsoup" ,libsoup)
9906 ("libusb" ,libusb)
9907 ("libvirt" ,libvirt)
9908 ("libvirt-glib" ,libvirt-glib)
9909 ("libxml" ,libxml2)
9910 ("spice-gtk" ,spice-gtk)
9911 ("sparql-query" ,sparql-query)
9912 ("vte" ,vte)
9913 ("webkitgtk" ,webkitgtk)
9914 ("tracker" ,tracker)
9915 ("libgudev" ,libgudev)))
9916 (home-page "https://wiki.gnome.org/Apps/Boxes")
9917 (synopsis "View, access, and manage remote and virtual systems")
9918 (description "GNOME Boxes is a simple application to view, access, and
9919manage remote and virtual systems.")
9920 (license (list
9921 ;; For data/icons/empty-boxes.png.
9922 license:cc-by2.0
9923 ;; For all others.
9924 license:lgpl2.0+))))
0e26c3cf 9925
9926(define-public geary
9927 (package
9928 (name "geary")
9929 (version "3.34.1")
9930 (source (origin
9931 (method git-fetch)
9932 (uri (git-reference
9933 (url "https://gitlab.gnome.org/GNOME/geary")
9934 (commit version)))
9935 (file-name (git-file-name name version))
9936 (sha256
9937 (base32
9938 "01cc921kyh3zxz07biqbdzkjgmdcc36kwjyajm4y382a75cl5zg7"))))
9939 (build-system meson-build-system)
9940 (arguments
9941 `(#:glib-or-gtk? #t
9942 #:phases (modify-phases %standard-phases
9943 (add-after 'unpack 'disable-failing-tests
9944 (lambda _
9945 (substitute* "test/meson.build"
9946 (("test\\('client-tests', geary_test_client_bin\\)")
9947 ""))
9948 #t))
9949 (add-after 'unpack 'disable-postinstall-script
9950 (lambda _
9951 (substitute* "meson.build"
9952 (("meson.add_install_script\\(\
9953join_paths\\('build-aux', 'post_install.py'\\)\\)")
9954 ""))
9955 #t))
9956 (add-before 'check 'setup-xvfb
9957 (lambda _
9958 (system "Xvfb :1 &")
9959 (setenv "DISPLAY" ":1")
9960 #t)))))
9961 (inputs
9962 `(("enchant" ,enchant)
9963 ("folks" ,folks)
9964 ("gcr" ,gcr)
9965 ("glib" ,glib)
9966 ("gmime" ,gmime-2.6)
9967 ("gnome-online-accounts:lib"
9968 ,gnome-online-accounts "lib")
9969 ("gspell" ,gspell)
9970 ("gtk+" ,gtk+)
9971 ("iso-codes" ,iso-codes)
9972 ("json-glib" ,json-glib)
9973 ("libcanberra" ,libcanberra)
9974 ("libgee" ,libgee)
9975 ("libhandy" ,libhandy)
9976 ("libpeas" ,libpeas)
9977 ("libsecret" ,libsecret)
9978 ("libunwind" ,libunwind)
9979 ("sqlite" ,sqlite)
9980 ("webkitgtk" ,webkitgtk)
9981 ("ytnef" ,ytnef)))
9982 (native-inputs
9983 `(("appstream-glib" ,appstream-glib)
9984 ("cmake-minimal" ,cmake-minimal)
9985 ("desktop-file-utils" ,desktop-file-utils)
f2d97d57 9986 ("gettext" ,gettext-minimal)
0e26c3cf 9987 ("glib:bin" ,glib "bin")
9988 ("gobject-introspection" ,gobject-introspection)
9989 ("itstool" ,itstool)
9990 ("libarchive" ,libarchive)
9991 ("libxml2" ,libxml2)
9992 ("pkg-config" ,pkg-config)
9993 ("vala" ,vala)
9994 ("xvfb" ,xorg-server-for-tests)))
9995 (synopsis "GNOME email application built around conversations")
9996 (description
9997 "Geary collects related messages together into conversations,
9998making it easy to find and follow your discussions. Full-text and keyword
9999search makes it easy to find the email you are looking for. Geary's
10000full-featured composer lets you send rich, styled text with images, links, and
10001lists, but also send lightweight, easy to read text messages. Geary
10002automatically picks up your existing GNOME Online Accounts, and adding more is
10003easy. Geary has a clean, fast, modern interface that works like you want it
10004to.")
10005 (home-page "https://wiki.gnome.org/Apps/Geary")
10006 (license (list
10007 ;; geary
10008 license:lgpl2.1+
10009 ;; icons
10010 license:cc-by3.0
10011 license:cc-by-sa3.0
10012 license:public-domain
10013 ;; snowball
10014 license:bsd-2))))
1a17d21b 10015
2cd1de32
BT
10016(define-public libratbag
10017 (package
10018 (name "libratbag")
10019 (version "0.13")
10020 (source
10021 (origin
10022 (method git-fetch)
10023 (uri (git-reference
10024 (url "https://github.com/libratbag/libratbag.git")
10025 (commit (string-append "v" version))))
10026 (file-name (git-file-name name version))
10027 (sha256
10028 (base32 "18y8mfr63d91278m1kcid0wvrxa1sgjs8na9af1ks2n28ssvciwq"))))
10029 (build-system meson-build-system)
10030 (arguments
10031 `(#:configure-flags
10032 (list "-Dsystemd=false"
10033 "-Dlogind-provider=elogind")
10034 #:phases
10035 (modify-phases %standard-phases
10036 (add-after 'install 'wrap
10037 (lambda* (#:key inputs outputs #:allow-other-keys)
10038 (let* ((out (assoc-ref outputs "out"))
10039 (site (string-append
10040 "/lib/python"
10041 ,(version-major+minor (package-version python))
10042 "/site-packages"))
10043 (evdev (string-append
10044 (assoc-ref inputs "python-evdev") site))
10045 (pygo (string-append
10046 (assoc-ref inputs "python-pygobject") site))
10047 (python-wrap
10048 `("PYTHONPATH" = (,evdev ,pygo))))
10049 (wrap-program (string-append out "/bin/" "ratbagctl")
10050 python-wrap)
10051 #t))))))
10052 (native-inputs
10053 `(("check" ,check)
10054 ("pkg-config" ,pkg-config)
10055 ("swig" ,swig)
10056 ("valgrind" ,valgrind)))
10057 (inputs
10058 `(("glib" ,glib)
10059 ("json-glib" ,json-glib)
10060 ("libevdev" ,libevdev)
10061 ("libsystemd" ,elogind)
10062 ("libunistring" ,libunistring)
10063 ("python-evdev" ,python-evdev)
10064 ("python-pygobject" ,python-pygobject)
10065 ("udev" ,eudev)))
10066 (home-page "https://github.com/libratbag/libratbag")
10067 (synopsis "DBus daemon and utility for configuring gaming mice")
10068 (description "libratbag provides @command{ratbagd}, a DBus daemon to
10069configure input devices, mainly gaming mice. The daemon provides a generic
10070way to access the various features exposed by these mice and abstracts away
10071hardware-specific and kernel-specific quirks. There is also the
10072@command{ratbagctl} command line interface for configuring devices.
10073
10074libratbag currently supports devices from Logitech, Etekcity, GSkill, Roccat,
10075Steelseries.
10076
10077The ratbagd DBus service can be enabled by adding the following service to
10078your operating-system definition:
10079
10080 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
10081 (license license:expat)))
10082
50d31a40
BT
10083(define-public piper
10084 (package
10085 (name "piper")
10086 (version "0.4")
10087 (source
10088 (origin
10089 (method git-fetch)
10090 (uri (git-reference
10091 (url "https://github.com/libratbag/piper.git")
10092 (commit version)))
10093 (sha256
10094 (base32 "17h06j8lxpbfygq8fzycl7lml4vv7r05bsyhh3gga2hp0zms4mvg"))))
10095 (build-system meson-build-system)
10096 (native-inputs
10097 `(("gettext" ,gettext-minimal)
10098 ("glib:bin" ,glib "bin")
10099 ("gobject-introspection" ,gobject-introspection)
10100 ("pkg-config" ,pkg-config)
10101 ("python-flake8" ,python-flake8)))
10102 (inputs
10103 `(("adwaita-icon-theme" ,adwaita-icon-theme)
10104 ("gtk" ,gtk+)
10105 ("gtk:bin" ,gtk+ "bin")
10106 ("librsvg" ,librsvg)
10107 ("python-evdev" ,python-evdev)
10108 ("python-lxml" ,python-lxml)
10109 ("python-pycairo" ,python-pycairo)
10110 ("python-pygobject" ,python-pygobject)))
10111 (arguments
10112 `(#:imported-modules ((guix build python-build-system)
10113 ,@%meson-build-system-modules)
10114 #:modules (((guix build python-build-system) #:prefix python:)
10115 (guix build meson-build-system)
10116 (guix build utils))
10117 #:phases
10118 (modify-phases %standard-phases
10119 (add-after 'unpack 'dont-update-gtk-icon-cache
10120 (lambda _
10121 (substitute* "meson.build"
10122 (("meson.add_install_script('meson_install.sh')") ""))
10123 #t))
10124 ;; TODO: Switch to wrap-script when it is fixed.
10125 (add-after 'install 'wrap-python
10126 (assoc-ref python:%standard-phases 'wrap))
10127 (add-after 'wrap-python 'wrap
10128 (lambda* (#:key outputs #:allow-other-keys)
10129 (wrap-program
10130 (string-append (assoc-ref outputs "out" )"/bin/piper")
10131 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
10132 #t)))))
10133 (home-page "https://github.com/libratbag/piper/")
10134 (synopsis "Configure bindings and LEDs on gaming mice")
10135 (description "Piper is a GTK+ application for configuring gaming mice with
10136onboard configuration for key bindings via libratbag. Piper requires
10137a @command{ratbagd} daemon running with root privileges. It can be run
10138manually as root, but is preferably configured as a DBus service that can
10139launch on demand. This can be configured by enabling the following service,
10140provided there is a DBus service present:
10141
10142 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
10143 (license license:gpl2)))
10144
1a17d21b
NG
10145(define-public parlatype
10146 ;; This is one commit away from 2.0, because the latter introduced
10147 ;; a regression in ASR.
10148 (let ((commit "7d22ead13ef7578f99d24146663cc1bdb7d8c2a9")
10149 (revision "0"))
10150 (package
10151 (name "parlatype")
10152 (version (git-version "2.0" revision commit))
10153 (source
10154 (origin
10155 (method git-fetch)
10156 (uri (git-reference
10157 (url "https://github.com/gkarsay/parlatype.git")
10158 (commit commit)))
10159 (file-name (git-file-name name version))
10160 (sha256
10161 (base32 "0r3k3qczbzi7bs5s1rddhpsnadyr805df40bqkx0srlxgh5mfghf"))))
10162 (build-system meson-build-system)
10163 (arguments
10164 `(#:glib-or-gtk? #t
10165 #:tests? #f ;require internet access
10166 #:phases
10167 (modify-phases %standard-phases
10168 (add-after 'install 'wrap-parlatype
10169 ;; Add gstreamer plugin provided in this package to system's
10170 ;; plugins.
10171 (lambda* (#:key outputs #:allow-other-keys)
10172 (let* ((out (assoc-ref outputs "out"))
10173 (gst-plugin-path (string-append
10174 out "/lib/gstreamer-1.0/"
10175 ":"
10176 (getenv "GST_PLUGIN_SYSTEM_PATH"))))
10177 (wrap-program (string-append out "/bin/parlatype")
10178 `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path))))
10179 #t)))))
10180 (native-inputs
10181 `(("appstream-glib" ,appstream-glib)
10182 ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
10183 ("gettext" ,gettext-minimal)
10184 ("glib" ,glib "bin") ;for glib-compile-resources
10185 ("pkg-config" ,pkg-config)
10186 ("yelp-tools" ,yelp-tools)))
10187 (inputs
10188 `(("gst-plugins-base" ,gst-plugins-base)
10189 ("gst-plugins-good" ,gst-plugins-good)
10190 ("gstreamer" ,gstreamer)
10191 ("gtk+" ,gtk+)
10192 ("pocketsphinx" ,pocketsphinx)
10193 ("pulseaudio" ,pulseaudio)
10194 ("sphinxbase" ,sphinxbase)))
10195 (home-page "http://gkarsay.github.io/parlatype/")
10196 (synopsis "GNOME audio player for transcription")
10197 (description "Parlatype is an audio player for the GNOME desktop
10198environment. Its main purpose is the manual transcription of spoken
10199audio files.")
10200 (license license:gpl3+))))
95856a6e
AT
10201
10202(define-public jsonrpc-glib
10203 (package
10204 (name "jsonrpc-glib")
10205 (version "3.34.0")
10206 (source (origin
10207 (method url-fetch)
10208 (uri (string-append "mirror://gnome/sources/" name "/"
10209 (version-major+minor version) "/"
10210 name "-" version ".tar.xz"))
10211 (sha256
10212 (base32
10213 "0j05x4xv2cp3cbmp30m68z8g4rdw7b030ip4wszyfj9ya15v5kni"))))
10214 (build-system meson-build-system)
10215 (inputs
10216 `(("json-glib" ,json-glib)
10217 ("glib" ,glib)))
10218 (native-inputs
10219 `(("pkg-config" ,pkg-config)
10220 ("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
10221 ("gobject-introspection" ,gobject-introspection)
10222 ("vala" ,vala)))
10223 (home-page "https://gitlab.gnome.org/GNOME/jsonrpc-glib")
10224 (synopsis "JSON-RPC library for GLib")
10225 (description "Jsonrpc-GLib is a library to communicate with JSON-RPC based
10226peers in either a synchronous or asynchronous fashion. It also allows
10227communicating using the GVariant serialization format instead of JSON when
10228both peers support it. You might want that when communicating on a single
10229host to avoid parser overhead and memory-allocator fragmentation.")
10230 (license license:lgpl2.1+)))