gnu: evince: Update to 3.36.1.
[jackhill/guix/guix.git] / gnu / packages / gnome.scm
CommitLineData
995b7261 1;;; GNU Guix --- Functional package management for GNU
109da1c0 2;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
5dc6d5ce 3;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
29a7c98a 4;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
7108425c 5;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
58d32305 6;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
8b877545 7;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
7aab13f1 8;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
63ad9b80 9;;; Copyright © 2015, 2017 Andy Wingo <wingo@igalia.com>
1e7464a9 10;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
ed783404 11;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
64a153bd 12;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
293ff8b2 13;;; Copyright © 2015 David Thompson <davet@gnu.org>
e19cb895 14;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
35e2d0cf 15;;; Copyright © 2016, 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
3c697ffd 16;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
03be9874 17;;; Copyright © 2016, 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
277a7d82 18;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
a56be436 19;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
e19f9c24 20;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
71d9b980 21;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
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>
21051eb7 54;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
01c22be7 55;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
031315e4 56;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
995b7261
AE
57;;;
58;;; This file is part of GNU Guix.
59;;;
60;;; GNU Guix is free software; you can redistribute it and/or modify it
61;;; under the terms of the GNU General Public License as published by
62;;; the Free Software Foundation; either version 3 of the License, or (at
63;;; your option) any later version.
64;;;
65;;; GNU Guix is distributed in the hope that it will be useful, but
66;;; WITHOUT ANY WARRANTY; without even the implied warranty of
67;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
68;;; GNU General Public License for more details.
69;;;
70;;; You should have received a copy of the GNU General Public License
71;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
72
73(define-module (gnu packages gnome)
ed19903d 74 #:use-module (gnu packages)
ba5dd105 75 #:use-module (gnu packages admin)
411ba511 76 #:use-module (gnu packages aspell)
75016d07 77 #:use-module (gnu packages autotools)
7b212526 78 #:use-module (gnu packages avahi)
b29909b4 79 #:use-module (gnu packages backup)
6a180f6f 80 #:use-module (gnu packages base)
1e33331c 81 #:use-module (gnu packages bash)
5698b8b8 82 #:use-module (gnu packages bison)
aa51d92c 83 #:use-module (gnu packages boost)
5fc9b6c1 84 #:use-module (gnu packages build-tools)
df217748 85 #:use-module (gnu packages calendar)
b29909b4 86 #:use-module (gnu packages cdrom)
df12f04a 87 #:use-module (gnu packages check)
d61a894b 88 #:use-module (gnu packages cmake)
b29909b4 89 #:use-module (gnu packages compression)
8f523eb9 90 #:use-module (gnu packages crates-io)
23a22af6 91 #:use-module (gnu packages cups)
6e1bb642 92 #:use-module (gnu packages curl)
c3f29bc9 93 #:use-module (gnu packages cyrus-sasl)
6e1bb642 94 #:use-module (gnu packages databases)
255d1bbe 95 #:use-module (gnu packages dbm)
c769cf9f 96 #:use-module (gnu packages djvu)
ba5dd105 97 #:use-module (gnu packages dns)
b4ce6300 98 #:use-module (gnu packages docbook)
b29909b4 99 #:use-module (gnu packages documentation)
329d731b 100 #:use-module (gnu packages enchant)
b29909b4
TGR
101 #:use-module (gnu packages flex)
102 #:use-module (gnu packages fonts)
e762d943 103 #:use-module (gnu packages file-systems)
a56be436 104 #:use-module (gnu packages fontutils)
b29909b4 105 #:use-module (gnu packages freedesktop)
dfc407f3 106 #:use-module (gnu packages game-development)
fed5a689 107 #:use-module (gnu packages gettext)
b29909b4
TGR
108 #:use-module (gnu packages ghostscript)
109 #:use-module (gnu packages gl)
995b7261 110 #:use-module (gnu packages glib)
c1354b90 111 #:use-module (gnu packages gnupg)
23a22af6 112 #:use-module (gnu packages gnuzilla)
8d8c6bff 113 #:use-module (gnu packages geo)
b29909b4
TGR
114 #:use-module (gnu packages gperf)
115 #:use-module (gnu packages graphviz)
85f5dc19 116 #:use-module (gnu packages gstreamer)
d9c1a22b 117 #:use-module (gnu packages gtk)
6b888eff 118 #:use-module (gnu packages guile)
b645146f 119 #:use-module (gnu packages ibus)
03be9874 120 #:use-module (gnu packages icu4c)
b29909b4
TGR
121 #:use-module (gnu packages image)
122 #:use-module (gnu packages imagemagick)
123 #:use-module (gnu packages inkscape)
9cc98f8a 124 #:use-module (gnu packages iso-codes)
b29909b4 125 #:use-module (gnu packages kerberos)
85f5dc19 126 #:use-module (gnu packages libcanberra)
b64e217f 127 #:use-module (gnu packages libunistring)
0e26c3cf 128 #:use-module (gnu packages libunwind)
75016d07 129 #:use-module (gnu packages libusb)
b29909b4 130 #:use-module (gnu packages linux)
4e3fc547 131 #:use-module (gnu packages lirc)
7b212526 132 #:use-module (gnu packages lua)
b29909b4 133 #:use-module (gnu packages mail)
03be9874 134 #:use-module (gnu packages mp3)
b29909b4 135 #:use-module (gnu packages multiprecision)
64fce637 136 #:use-module (gnu packages music)
b29909b4
TGR
137 #:use-module (gnu packages ncurses)
138 #:use-module (gnu packages nettle)
ba5dd105 139 #:use-module (gnu packages networking)
5fc9b6c1 140 #:use-module (gnu packages ninja)
aff0cce9 141 #:use-module (gnu packages nss)
b29909b4 142 #:use-module (gnu packages openldap)
b645146f 143 #:use-module (gnu packages password-utils)
de1215e2 144 #:use-module (gnu packages pcre)
b29909b4 145 #:use-module (gnu packages pdf)
27477d2d 146 #:use-module (gnu packages perl)
f70d8383 147 #:use-module (gnu packages photo)
53c41e95 148 #:use-module (gnu packages php)
995b7261 149 #:use-module (gnu packages pkg-config)
b29909b4
TGR
150 #:use-module (gnu packages polkit)
151 #:use-module (gnu packages popt)
7d3bb433 152 #:use-module (gnu packages pretty-print)
23a22af6 153 #:use-module (gnu packages pulseaudio)
995b7261 154 #:use-module (gnu packages python)
00014781
RW
155 #:use-module (gnu packages python-crypto)
156 #:use-module (gnu packages python-web)
44d10b1f 157 #:use-module (gnu packages python-xyz)
cce0da5e 158 #:use-module (gnu packages rdesktop)
b29909b4 159 #:use-module (gnu packages readline)
a76d0f03 160 #:use-module (gnu packages ruby)
ec47c07d 161 #:use-module (gnu packages rust)
b29909b4 162 #:use-module (gnu packages samba)
75016d07 163 #:use-module (gnu packages scanner)
240cee8a 164 #:use-module (gnu packages selinux)
c27e02bf 165 #:use-module (gnu packages slang)
b29909b4
TGR
166 #:use-module (gnu packages speech)
167 #:use-module (gnu packages spice)
cd0322a3 168 #:use-module (gnu packages sqlite)
4a1bf090 169 #:use-module (gnu packages ssh)
2cd1de32 170 #:use-module (gnu packages swig)
8f9ac901 171 #:use-module (gnu packages tex)
33dc54b0 172 #:use-module (gnu packages time)
a7fd7b68 173 #:use-module (gnu packages tls)
2cd1de32 174 #:use-module (gnu packages valgrind)
3c5dbd2b 175 #:use-module (gnu packages version-control)
b29909b4 176 #:use-module (gnu packages video)
59132b80 177 #:use-module (gnu packages virtualization)
f2b96b3a 178 #:use-module (gnu packages vpn)
a18f8eaf 179 #:use-module (gnu packages web)
b29909b4
TGR
180 #:use-module (gnu packages webkit)
181 #:use-module (gnu packages xdisorg)
182 #:use-module (gnu packages xiph)
183 #:use-module (gnu packages xml)
d633f2f6 184 #:use-module (gnu packages xorg)
a76d0f03 185 #:use-module (gnu artwork)
43b6b45e 186 #:use-module ((guix build utils) #:select (modify-phases))
8f523eb9 187 #:use-module (guix build-system cargo)
b29909b4
TGR
188 #:use-module (guix build-system cmake)
189 #:use-module (guix build-system glib-or-gtk)
190 #:use-module (guix build-system gnu)
191 #:use-module (guix build-system meson)
08be02be 192 #:use-module (guix build-system python)
b29909b4
TGR
193 #:use-module (guix build-system trivial)
194 #:use-module (guix download)
195 #:use-module (guix git-download)
196 #:use-module ((guix licenses) #:prefix license:)
197 #:use-module (guix packages)
198 #:use-module (guix utils)
a76d0f03 199 #:use-module (guix gexp)
8f523eb9
EF
200 #:use-module (guix monads)
201 #:use-module (guix store)
4e3fdeb7 202 #:use-module (ice-9 match)
c024ae36 203 #:use-module (srfi srfi-1))
85f5dc19
AE
204
205(define-public brasero
206 (package
207 (name "brasero")
e2bf423a 208 (version "3.12.2")
85f5dc19
AE
209 (source (origin
210 (method url-fetch)
d1df7554 211 (uri (string-append "mirror://gnome/sources/brasero/"
e8627cd9 212 (version-major+minor version) "/"
d1df7554 213 "brasero-" version ".tar.xz"))
85f5dc19
AE
214 (sha256
215 (base32
e2bf423a 216 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 217 (build-system glib-or-gtk-build-system)
e8627cd9
DH
218 (arguments
219 `(#:configure-flags (list
220 (string-append "--with-girdir="
221 (assoc-ref %outputs "out")
222 "/share/gir-1.0")
223 (string-append "--with-typelibdir="
224 (assoc-ref %outputs "out")
ce426deb
TD
225 "/lib/girepository-1.0"))
226 #:phases
227 (modify-phases %standard-phases
228 (add-before 'configure 'embed-growisofs
229 (lambda* (#:key inputs #:allow-other-keys)
230 (substitute* "plugins/growisofs/burn-growisofs.c"
231 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 232 #t)))))
85f5dc19
AE
233 (propagated-inputs
234 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
235 (native-inputs
236 `(("intltool" ,intltool)
ba549e17 237 ("itstool" ,itstool)
426adbe8 238 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 239 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 240 ("pkg-config" ,pkg-config)))
85f5dc19 241 (inputs
ce426deb
TD
242 `(("dvd+rw-tools" ,dvd+rw-tools)
243 ("glib" ,glib)
85f5dc19
AE
244 ("gnome-doc-utils" ,gnome-doc-utils)
245 ("gstreamer" ,gstreamer)
246 ("gst-plugins-base" ,gst-plugins-base)
247 ("gtk+" ,gtk+)
85f5dc19
AE
248 ("libcanberra" ,libcanberra)
249 ("libice" ,libice)
250 ("libnotify" ,libnotify)
251 ("libsm" ,libsm)
e8627cd9 252 ("libxml2" ,libxml2)
e8627cd9 253 ("totem-pl-parser" ,totem-pl-parser)))
fb9399e9 254 (home-page "https://wiki.gnome.org/Apps/Brasero")
85f5dc19
AE
255 (synopsis "CD/DVD burning tool for Gnome")
256 (description "Brasero is an application to burn CD/DVD for the Gnome
257Desktop. It is designed to be as simple as possible and has some unique
258features to enable users to create their discs easily and quickly.")
1dd26275 259 (license license:gpl2+)))
995b7261 260
a3cbcbaf
RG
261(define-public notification-daemon
262 (package
263 (name "notification-daemon")
264 (version "3.20.0")
265 (source
266 (origin
267 (method url-fetch)
268 (uri
269 (string-append "mirror://gnome/sources/" name "/"
270 (version-major+minor version) "/"
271 name "-" version ".tar.xz"))
272 (sha256
273 (base32
274 "1rgchqi4j2ll7d6a7lgy7id0w9rrkwkgic1096fbm2zx6n7pc4yx"))))
275 (build-system glib-or-gtk-build-system)
276 (native-inputs
277 `(("intltool" ,intltool)
278 ("pkg-config" ,pkg-config)))
279 (inputs
280 `(("glib" ,glib)
281 ("gtk+" ,gtk+)
282 ("x11" ,libx11)))
283 (synopsis "Notification Daemon for GNOME Desktop")
284 (description "Notification-Daemon is the server implementation of the
285freedesktop.org desktop notification specification.")
286 (home-page "https://wiki.gnome.org/Projects/NotificationDaemon")
287 (license license:gpl2+)))
288
4e8bdbf8
RG
289(define-public mm-common
290 (package
291 (name "mm-common")
292 (version "1.0.0")
293 (source (origin
294 (method url-fetch)
295 (uri (string-append "mirror://gnome/sources/" name "/"
296 (version-major+minor version) "/"
297 name "-" version ".tar.xz"))
298 (sha256
299 (base32
300 "1m4w33da9f4rx2d6kdj3ix3kl0gn16ml82v2mdn4hljr3q29nzdr"))))
301 (build-system meson-build-system)
302 (arguments
303 `(#:phases
304 (modify-phases %standard-phases
305 (add-after 'unpack 'patch
306 (lambda* (#:key inputs #:allow-other-keys)
307 (substitute* "util/mm-common-prepare.in"
308 (("ln") (string-append (assoc-ref inputs "coreutils")
309 "/bin/ln"))
310 (("cp") (string-append (assoc-ref inputs "coreutils")
311 "/bin/cp"))
312 (("sed") (string-append (assoc-ref inputs "sed")
313 "/bin/sed"))
314 (("cat") (string-append (assoc-ref inputs "coreutils")
315 "/bin/cat")))
316 #t)))))
317 (native-inputs
4e8bdbf8 318 `(("coreutils" ,coreutils)
74a65885
DM
319 ("gettext" ,gettext-minimal)
320 ("pkg-config" ,pkg-config)
4e8bdbf8 321 ("sed" ,sed)))
74a65885
DM
322 (inputs
323 `(("python" ,python)))
4e8bdbf8
RG
324 (synopsis "Module of GNOME C++ bindings")
325 (description "The mm-common module provides the build infrastructure
326and utilities shared among the GNOME C++ binding libraries. Release
327archives of mm-common include the Doxygen tag file for the GNU C++
328Library reference documentation.")
329 (home-page "https://gitlab.gnome.org/GNOME/mm-common")
330 (license license:gpl2+)))
331
e05ce17d
RG
332(define-public phodav
333 (package
334 (name "phodav")
335 (version "2.4")
336 (source (origin
337 (method url-fetch)
338 (uri (string-append "mirror://gnome/sources/" name "/"
339 (version-major+minor version) "/"
340 name "-" version ".tar.xz"))
341 (sha256
342 (base32
343 "1hxq8c5qfah3w7mxcyy3yhzdgswplll31a69p5mqdl04bsvw5pbx"))))
344 (build-system meson-build-system)
345 (native-inputs
346 `(("gettext" ,gettext-minimal)
347 ("glib:bin" ,glib "bin")
348 ("gtk-doc" ,gtk-doc)
349 ("pkg-config" ,pkg-config)))
350 (inputs
351 `(("avahi" ,avahi)
352 ("libgudev" ,libgudev)
353 ("libsoup" ,libsoup)))
354 (synopsis "WebDav server implementation using libsoup")
355 (description "PhoDav was initially developed as a file-sharing mechanism for Spice,
356but it is generic enough to be reused in other projects,
357in particular in the GNOME desktop.")
358 (home-page "https://wiki.gnome.org/phodav")
359 (license license:lgpl2.1+)))
360
29ae18db
RG
361(define-public gnome-color-manager
362 (package
363 (name "gnome-color-manager")
364 (version "3.32.0")
365 (source (origin
366 (method url-fetch)
367 (uri (string-append "mirror://gnome/sources/" name "/"
368 (version-major+minor version) "/"
369 name "-" version ".tar.xz"))
370 (sha256
371 (base32
372 "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"))))
373 (build-system meson-build-system)
374 (arguments
375 `(#:glib-or-gtk? #t
376 #:phases
377 (modify-phases %standard-phases
378 (add-before
379 'check 'pre-check
380 (lambda _
381 ;; Tests require a running X server.
382 (system "Xvfb :1 &")
383 (setenv "DISPLAY" ":1")
384 #t)))))
385 (native-inputs
386 `(("desktop-file-utils" ,desktop-file-utils)
387 ("gettext" ,gettext-minimal)
388 ("glib:bin" ,glib "bin")
389 ("gtk+:bin" ,gtk+ "bin")
390 ("itstool" ,itstool)
391 ("pkg-config" ,pkg-config)
392 ("xorg-server" ,xorg-server-for-tests)))
393 (inputs
394 `(("adwaita-icon-theme" ,adwaita-icon-theme)
395 ("appstream-glib" ,appstream-glib)
396 ("colord-gtk" ,colord-gtk)
397 ("exiv2" ,exiv2)
398 ("gnome-desktop" ,gnome-desktop)
399 ("libcanberra" ,libcanberra)
400 ("libexif" ,libexif)
401 ("libtiff" ,libtiff)
402 ("libxrandr" ,libxrandr)
403 ("libxtst" ,libxtst)
404 ("libxxf86vm" ,libxxf86vm)
405 ("vte" ,vte)
406 ("xorgproto" ,xorgproto)))
407 (synopsis "Color profile manager for the GNOME desktop")
408 (description "GNOME Color Manager is a session framework that makes
409it easy to manage, install and generate color profiles
410in the GNOME desktop.")
411 (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
7bd000d1 412 (license license:gpl2+)))
29ae18db 413
e05471a1
RG
414(define-public gnome-online-miners
415 (package
416 (name "gnome-online-miners")
49dcd7fc 417 (version "3.34.0")
e05471a1
RG
418 (source (origin
419 (method url-fetch)
420 (uri (string-append "mirror://gnome/sources/" name "/"
421 (version-major+minor version) "/"
422 name "-" version ".tar.xz"))
423 (sha256
424 (base32
49dcd7fc 425 "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44"))))
e05471a1
RG
426 (build-system glib-or-gtk-build-system)
427 (native-inputs
428 `(("gettext" ,gettext-minimal)
429 ("glib:bin" ,glib "bin")
29ae18db 430 ("gobject-introspection" ,gobject-introspection)
e05471a1
RG
431 ("gtk+:bin" ,gtk+ "bin")
432 ("pkg-config" ,pkg-config)))
433 (inputs
434 `(("gnome-online-accounts" ,gnome-online-accounts)
435 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
e05471a1
RG
436 ("grilo" ,grilo)
437 ("libgdata" ,libgdata)
438 ("libgfbgraph" ,gfbgraph)
439 ("libzapojit" ,libzapojit)
440 ("rest" ,rest)
441 ("tracker" ,tracker)))
442 (synopsis "Web Crawlers for GNOME")
443 (description "GNOME Online Miners provides a set of crawlers that
444go through your online content and index them locally in Tracker.
445It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
446 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
7bd000d1 447 (license license:gpl2+)))
e05471a1 448
e2aed29c
RG
449(define-public gssdp
450 (package
451 (name "gssdp")
452 (version "1.2.2")
453 (source (origin
454 (method url-fetch)
455 (uri (string-append "mirror://gnome/sources/" name "/"
456 (version-major+minor version) "/"
457 name "-" version ".tar.xz"))
458 (sha256
459 (base32
460 "195hi10vrsvh6i927mm6rm1ld5sxah3h5sr3bsjm90vb8lxrxfya"))))
461 (build-system meson-build-system)
462 (native-inputs
463 `(("gettext" ,gettext-minimal)
464 ("glib:bin" ,glib "bin")
465 ("gobject-introspection" ,gobject-introspection)
466 ("gtk-doc" ,gtk-doc)
467 ("pkg-config" ,pkg-config)
468 ("vala" ,vala)))
469 (inputs
470 `(("gtk+" ,gtk+)
471 ("libsoup" ,libsoup)))
472 (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery
473Protocol} for GNOME")
474 (description "This package provides a library to handle resource discovery
475and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and
476a debugging tool, @command{gssdp-device-sniffer}.")
477 (home-page "https://gitlab.gnome.org/GNOME/gssdp")
478 (license license:lgpl2.0+)))
479
291a85b2
RG
480(define-public gupnp
481 (package
482 (name "gupnp")
483 (version "1.2.2")
484 (source (origin
485 (method url-fetch)
486 (uri (string-append "mirror://gnome/sources/" name "/"
487 (version-major+minor version) "/"
488 name "-" version ".tar.xz"))
489 (sha256
490 (base32
491 "12cr3isww4zl0d4himpd2fhl2wmy3jh8sbxp4snp51sw7savv04s"))))
492 (build-system meson-build-system)
493 (native-inputs
494 `(("gettext" ,gettext-minimal)
495 ("glib:bin" ,glib "bin")
496 ("gobject-introspection" ,gobject-introspection)
497 ("gtk-doc" ,gtk-doc)
498 ("pkg-config" ,pkg-config)
499 ("vala" ,vala)))
500 (inputs
501 `(("gssdp" ,gssdp)
502 ("gtk+" ,gtk+)
503 ("libsoup" ,libsoup)))
504 (synopsis "PnP API for GNOME")
505 (description "This package provides GUPnP, an object-oriented framework
506for creating UPnP devices and control points, written in C using
507@code{GObject} and @code{libsoup}.")
508 (home-page "https://gitlab.gnome.org/GNOME/gupnp")
509 (license license:lgpl2.0+)))
510
747d7fe4
RG
511(define-public gupnp-dlna
512 (package
513 (name "gupnp-dlna")
514 (version "0.10.5")
515 (source (origin
516 (method url-fetch)
517 (uri (string-append "mirror://gnome/sources/" name "/"
518 (version-major+minor version) "/"
519 name "-" version ".tar.xz"))
520 (sha256
521 (base32
522 "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj"))))
523 (build-system gnu-build-system)
524 (native-inputs
525 `(("gettext" ,gettext-minimal)
526 ("glib:bin" ,glib "bin")
527 ("gobject-introspection" ,gobject-introspection)
528 ("gtk-doc" ,gtk-doc)
529 ("libxml" ,libxml2)
530 ("pkg-config" ,pkg-config)
531 ("vala" ,vala)))
532 (inputs
533 `(("gstreamer" ,gstreamer)
534 ("gupnp" ,gupnp)))
535 (propagated-inputs
536 `(("gst-plugins-base" ,gst-plugins-base)
537 ("gst-plugins-good" ,gst-plugins-good)))
538 (synopsis "GUPnP DLNA for GNOME")
539 (description "This package provides a small utility library to
540support DLNA-related tasks such as media profile guessing, transcoding to a
541given profile, etc. DLNA is a subset of UPnP A/V.")
542 (home-page "https://gitlab.gnome.org/GNOME/gupnp-dlna")
543 (license license:lgpl2.0+)))
544
1b4cb628
RG
545(define-public gupnp-av
546 (package
547 (name "gupnp-av")
548 (version "0.12.11")
549 (source (origin
550 (method url-fetch)
551 (uri (string-append "mirror://gnome/sources/" name "/"
552 (version-major+minor version) "/"
553 name "-" version ".tar.xz"))
554 (sha256
555 (base32
556 "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8"))))
557 (build-system gnu-build-system)
558 (native-inputs
559 `(("gettext" ,gettext-minimal)
560 ("glib:bin" ,glib "bin")
561 ("gobject-introspection" ,gobject-introspection)
562 ("gtk-doc" ,gtk-doc)
563 ("libxml" ,libxml2)
564 ("pkg-config" ,pkg-config)))
565 (inputs
566 `(("gtk+" ,gtk+)
567 ("gupnp" ,gupnp)))
568 (synopsis "GUPnP A/V for GNOME")
569 (description "This package provides a small library for handling
570and implementation of UPnP A/V profiles.")
571 (home-page "https://gitlab.gnome.org/GNOME/gupnp-av")
572 (license license:lgpl2.0+)))
e05471a1 573
02ebbca8
RG
574(define-public libmediaart
575 (package
576 (name "libmediaart")
577 (version "1.9.4")
578 (source (origin
579 (method url-fetch)
580 (uri (string-append "mirror://gnome/sources/" name "/"
581 (version-major+minor version) "/"
582 name "-" version ".tar.xz"))
583 (sha256
584 (base32
585 "0gc10imyabk57ar54m0qzms0x9dnmkymhkzyk8w1aj3y4lby0yx5"))))
586 (build-system gnu-build-system)
587 (native-inputs
588 `(("glib:bin" ,glib "bin")
589 ("pkg-config" ,pkg-config)))
590 (inputs
591 `(("gdk-pixbuf" ,gdk-pixbuf)
592 ("gettext" ,gettext-minimal)
593 ("gobject-introspection" ,gobject-introspection)
594 ("gtk+:doc", gtk+ "doc")
595 ("vala" ,vala)))
596 (synopsis "Media art library for the GNOME desktop")
597 (description
598 "The libmediaart library is the foundation for media art caching,
599extraction, and lookup for applications on the desktop.")
600 (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
601 (license license:lgpl2.1+)))
602
a26680eb
RG
603(define-public gnome-initial-setup
604 (package
605 (name "gnome-initial-setup")
606 (version "3.32.1")
607 (source (origin
608 (method url-fetch)
609 (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
610 (version-major+minor version)
611 "/gnome-initial-setup-" version ".tar.xz"))
612 (sha256
613 (base32
614 "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
615 (build-system meson-build-system)
616 (arguments
a65cc579
DM
617 '(#:configure-flags '(;; Enable camera support for user selfie.
618 "-Dcheese=auto"
c627e2cb
LC
619 "-Dsystemd=false")
620 #:phases (modify-phases %standard-phases
621 (add-after 'unpack 'set-gkbd-file-name
622 (lambda* (#:key inputs #:allow-other-keys)
623 ;; Allow the "Preview" button in the keyboard layout
624 ;; selection dialog to display the layout.
625 (let ((libgnomekbd (assoc-ref inputs "libgnomekbd")))
626 (substitute* "gnome-initial-setup/pages/keyboard/cc-input-chooser.c"
627 (("\"gkbd-keyboard-display")
628 (string-append "\"" libgnomekbd
629 "/bin/gkbd-keyboard-display")))
630 #t))))))
a26680eb
RG
631 (native-inputs
632 `(("gettext" ,gettext-minimal)
633 ("glib:bin" ,glib "bin")
634 ("gobject-introspection" ,gobject-introspection)
635 ("gtk+:bin" ,gtk+ "bin")
636 ("pkg-config" ,pkg-config)))
637 (inputs
638 `(("accountsservice" ,accountsservice)
639 ;("adwaita-icon-theme" ,adwaita-icon-theme)
640 ("gdm" ,gdm)
641 ("geoclue" ,geoclue)
642 ("gnome-desktop" ,gnome-desktop)
643 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
644 ("gnome-online-accounts" ,gnome-online-accounts)
645 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
646 ("gstreamer" ,gstreamer)
647 ("ibus" ,ibus)
648 ("json-glib" ,json-glib)
649 ("krb5" ,mit-krb5)
650 ("libgweather" ,libgweather)
8d9477b8 651 ("libnma" ,libnma)
a26680eb
RG
652 ("libsecret" ,libsecret)
653 ("network-manager" ,network-manager)
a26680eb
RG
654 ("packagekit" ,packagekit)
655 ("polkit" ,polkit)
656 ("pwquality" ,libpwquality)
657 ("rest" ,rest)
658 ("upower" ,upower)
c627e2cb
LC
659 ("webkitgtk" ,webkitgtk)
660 ("libgnomekbd" ,libgnomekbd)))
a26680eb 661 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
662 (description "This package provides a set-up wizard when a
663user logs into GNOME for the first time. It typically provides a
664tour of all gnome components and allows the user to set them up.")
a26680eb
RG
665 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
666 (license license:gpl2)))
667
b5f01392
RG
668(define-public gnome-user-share
669 (package
670 (name "gnome-user-share")
671 (version "3.33.1")
672 (source (origin
673 (method url-fetch)
674 (uri (string-append "mirror://gnome/sources/" name "/"
675 (version-major+minor version) "/"
676 name "-" version ".tar.xz"))
677 (sha256
678 (base32
679 "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7"))))
680 (build-system meson-build-system)
681 (arguments
682 `(#:glib-or-gtk? #t
683 #:configure-flags
684 `("-Dsystemd=false"
685 ;; Enable nautilus extension for file sharing.
686 "-Dnautilus_extension=true")))
687 (native-inputs
688 `(("gettext" ,gettext-minimal)
689 ("glib:bin" ,glib "bin")
690 ("gobject-introspection" ,gobject-introspection)
691 ("gtk+:bin" ,gtk+ "bin")
692 ("pkg-config" ,pkg-config)
693 ("yelp-tools" ,yelp-tools)))
694 (inputs
695 `(("glib" ,glib)
696 ("gnome-bluetooth" ,gnome-bluetooth)
697 ("gtk+" ,gtk+)
698 ("libcanberra" ,libcanberra)
699 ("libnotify" ,libnotify)
700 ("nautilus" ,nautilus))) ; For nautilus extension.
701 (synopsis "File sharing for GNOME desktop")
702 (description "GNOME User Share is a small package that binds together
703various free software projects to bring easy to use user-level file
704sharing to the masses.")
705 (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
2aeca24b 706 (license license:gpl2+)))
b5f01392 707
04b201bb
RG
708(define-public sushi
709 (package
710 (name "sushi")
711 (version "3.32.1")
712 (source (origin
713 (method url-fetch)
714 (uri (string-append "mirror://gnome/sources/" name "/"
715 (version-major+minor version) "/"
716 name "-" version ".tar.xz"))
717 (sha256
718 (base32
719 "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj"))))
720 (build-system meson-build-system)
721 (arguments
722 `(#:glib-or-gtk? #t
723 #:phases
724 (modify-phases %standard-phases
725 (add-after 'glib-or-gtk-wrap 'wrap-typelib
726 (lambda* (#:key outputs #:allow-other-keys)
727 (let ((prog (string-append (assoc-ref outputs "out")
728 "/bin/sushi")))
729 ;; Put existing typelibs before sushi's deps, so as to correctly
730 ;; infer gdk-pixbuf
731 (wrap-program prog
732 `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH"))))
733 #t))))))
734 (native-inputs
735 `(("glib:bin" ,glib "bin")
736 ("gettext" ,gettext-minimal)
737 ("gobject-introspection" ,gobject-introspection)
738 ("pkg-config" ,pkg-config)))
739 (inputs
740 `(("clutter" ,clutter)
741 ("clutter-gst" ,clutter-gst)
742 ("clutter-gtk" ,clutter-gtk)
743 ("evince" ,evince) ; For file previewing.
744 ("freetype" ,freetype)
745 ("gdk-pixbuf" ,gdk-pixbuf)
746 ("gjs" ,gjs)
747 ("gst-plugins-base" ,gst-plugins-base)
748 ("gstreamer" ,gstreamer)
749 ("gtksourceview" ,gtksourceview-3)
750 ("harfbuzz" ,harfbuzz)
751 ("libepoxy" ,libepoxy)
752 ("libmusicbrainz" ,libmusicbrainz)
753 ("libxml2" ,libxml2)
754 ("neon" ,neon)
755 ("webkitgtk" ,webkitgtk)))
756 (synopsis "File previewer for the GNOME desktop")
757 (description "Sushi is a DBus-activated service that allows applications to
758preview files on the GNOME desktop.")
759 (home-page "https://gitlab.gnome.org/GNOME/sushi")
760 (license license:gpl2+)))
761
89af0902
RG
762(define-public rygel
763 (package
764 (name "rygel")
765 (version "0.38.3")
766 (source (origin
767 (method url-fetch)
768 (uri (string-append "mirror://gnome/sources/" name "/"
769 (version-major+minor version) "/"
770 name "-" version ".tar.xz"))
771 (sha256
772 (base32
773 "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8"))))
774 (build-system gnu-build-system)
775 (native-inputs
776 `(("gettext" ,gettext-minimal)
777 ("gobject-introspection" ,gobject-introspection)
778 ("gtk-doc" ,gtk-doc)
779 ("pkg-config" ,pkg-config)
780 ("vala" ,vala)))
781 (inputs
782 `(("gdk-pixbuf" ,gdk-pixbuf)
783 ("gssdp" ,gssdp)
784 ("gstreamer" ,gstreamer)
785 ("gst-plugins-base" ,gst-plugins-base)
786 ("gtk+" ,gtk+)
787 ("gupnp" ,gupnp)
788 ("gupnp-av" ,gupnp-av)
789 ("gupnp-dlna" ,gupnp-dlna)
790 ("libgee" ,libgee)
791 ("libmediaart" ,libmediaart)
792 ("libsoup" ,libsoup)
793 ("libxslt" ,libxslt)
794 ("libunistring" ,libunistring)
795 ("tracker" ,tracker)))
796 (synopsis "Share audio, video, and pictures with other devices")
797 (description
798 "Rygel is a home media solution (@dfn{UPnP AV MediaServer and
799MediaRenderer}) for GNOME that allows you to easily share audio, video, and
800pictures, and to control a media player on your home network.
801
802Rygel achieves interoperability with other devices by trying to conform to the
803strict requirements of DLNA and by converting media on-the-fly to formats that
804client devices can handle.")
805 (home-page "https://wiki.gnome.org/Projects/Rygel")
806 (license (list
807 ;; For logo (data/icons/*).
808 license:cc-by-sa3.0
809 ;; For all others.
810 license:lgpl2.1+))))
811
47e87093
RG
812(define-public libnma
813 (package
b1da33d9
BW
814 (name "libnma")
815 (version "1.8.28")
816 (source (origin
817 (method url-fetch)
818 (uri (string-append "mirror://gnome/sources/" name "/"
819 (version-major+minor version) "/"
820 name "-" version ".tar.xz"))
821 (sha256
822 (base32
823 "09mp6k0hfam1vyyv9kcd8j4gb2r58i05ipx2nswb58ris599bxja"))))
824 (build-system meson-build-system)
825 (arguments
826 `(#:phases
827 (modify-phases %standard-phases
828 (add-after 'unpack 'patch-docbook-xml
829 (lambda* (#:key inputs #:allow-other-keys)
830 (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
831 "/xml/dtd/docbook")))
832 (substitute* "libnma-docs.xml"
833 (("http://.*/docbookx\\.dtd")
834 (string-append xmldoc "/docbookx.dtd")))
835 #t))))))
836 (native-inputs
837 `(("docbook-xml" ,docbook-xml-4.3)
838 ("gettext" ,gettext-minimal)
839 ("glib:bin" ,glib "bin")
840 ("gtk-doc" ,gtk-doc)
841 ("gobject-introspection" ,gobject-introspection)
842 ("pkg-config" ,pkg-config)
843 ("vala" ,vala)))
844 (inputs
845 `(("gcr" ,gcr)
846 ("gtk+" ,gtk+)
847 ("iso-codes" ,iso-codes)
848 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
849 ("network-manager" ,network-manager)))
850 (synopsis "Network Manager's applet library")
851 (description "Libnma is an applet library for Network Manager. It was
47e87093
RG
852initially part of network-manager-applet and has now become a separate
853project.")
c25ca6b7
BW
854 (home-page "https://gitlab.gnome.org/GNOME/libnma")
855 ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
856 ;; "LGPL-2.1+".
857 (license license:gpl2+)))
47e87093 858
30416265
RG
859(define-public gnome-menus
860 (package
861 (name "gnome-menus")
862 (version "3.32.0")
863 (source (origin
864 (method url-fetch)
865 (uri (string-append "mirror://gnome/sources/gnome-menus/"
866 (version-major+minor version) "/"
867 name "-" version ".tar.xz"))
868 (sha256
869 (base32
870 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
871 (build-system gnu-build-system)
872 (native-inputs
873 `(("gettext" ,gettext-minimal)
874 ("glib" ,glib)
875 ("pkg-config" ,pkg-config)))
876 (synopsis "Menu support for GNOME desktop")
877 (description "GNOME Menus contains the libgnome-menu library, the layout
878configuration files for the GNOME menu, as well as a simple menu editor.")
879 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 880 (license license:lgpl2.0+)))
30416265 881
d61a894b
CB
882(define-public deja-dup
883 (package
884 (name "deja-dup")
899ffa13 885 (version "40.6")
d61a894b 886 (source (origin
899ffa13
BW
887 (method url-fetch)
888 (uri (string-append "https://gitlab.gnome.org/World/deja-dup/-/archive/"
889 version "/deja-dup-" version ".tar.bz2"))
890 (sha256
891 (base32
892 "0lwazh6crby5wpy9fg6zvwy4plqbhs2f98bm5lbizjdlbh88n5q0"))))
893 (build-system meson-build-system)
d61a894b 894 (arguments
899ffa13
BW
895 `(#:glib-or-gtk? #t
896 #:configure-flags
897 (list
898 ;; Otherwise, the RUNPATH will lack the final path component.
899 (string-append "-Dc_link_args=-Wl,-rpath="
900 (assoc-ref %outputs "out") "/lib/deja-dup"))
d61a894b
CB
901 #:phases
902 (modify-phases %standard-phases
899ffa13
BW
903 (add-after 'unpack 'patch-paths
904 (lambda* (#:key inputs #:allow-other-keys)
905 (let ((python (assoc-ref inputs "python")))
906 (substitute* '("libdeja/tools/duplicity/DuplicityInstance.vala"
907 "libdeja/tests/scripts/instance-error.test")
908 (("/bin/rm")
909 (which "rm")))
910 (substitute* "libdeja/tests/runner.vala"
911 (("/bin/sh")
912 (which "sh")))
913 (substitute* "libdeja/tests/scripts/instance-error.test"
914 (("`which python3`")
915 (string-append python "/bin/python3"))))))
916 (add-after 'unpack 'patch-libgpg-error
917 (lambda* (#:key inputs #:allow-other-keys)
918 (let ((libgpg-error (assoc-ref inputs "libgpg-error")))
919 (substitute* "meson.build"
920 (("(gpgerror_libs = ).*" _ var)
921 (format #f "~a '-L~a/lib -lgpg-error'\n" var libgpg-error))))
922 #t))
923 (add-after 'unpack 'skip-gtk-update-icon-cache
924 ;; Don't create 'icon-theme.cache'.
925 (lambda _
926 (substitute* "data/post-install.sh"
927 (("gtk-update-icon-cache") "true"))
928 #t)))))
d61a894b
CB
929 (inputs
930 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
d61a894b 931 ("duplicity" ,duplicity)
899ffa13
BW
932 ("python" ,python)
933 ("python-pygobject" ,python-pygobject)
d61a894b 934 ("gtk+" ,gtk+)
899ffa13 935 ("json-glib" ,json-glib)
d61a894b 936 ("libnotify" ,libnotify)
899ffa13 937 ("libgpg-error" ,libgpg-error)
d61a894b 938 ("libsecret" ,libsecret)
899ffa13 939 ("libsoup" ,libsoup)
d61a894b
CB
940 ("packagekit" ,packagekit)))
941 (native-inputs
899ffa13
BW
942 `(("appstream-glib" ,appstream-glib)
943 ("desktop-file-utils" ,desktop-file-utils)
d61a894b 944 ("gettext" ,gettext-minimal)
899ffa13
BW
945 ("glib" ,glib "bin") ; for glib-compile-schemas.
946 ("gobject-introspection" ,gobject-introspection)
d61a894b 947 ("itstool" ,itstool)
899ffa13
BW
948 ("pkg-config" ,pkg-config)
949 ("vala" ,vala)))
950 (home-page "https://wiki.gnome.org/Apps/DejaDup")
d61a894b
CB
951 (synopsis "Simple backup tool, for regular encrypted backups")
952 (description
953 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
954uses duplicity as the backend, which supports incremental backups and storage
955either on a local, or remote machine via a number of methods.")
956 (license license:gpl3+)))
957
823b77fb
RG
958(define-public gnome-user-docs
959 (package
960 (name "gnome-user-docs")
961 (version "3.32.3")
962 (source
963 (origin
964 (method url-fetch)
965 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
966 (version-major+minor version)
967 "/gnome-user-docs-" version ".tar.xz"))
968 (sha256
969 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
970 (build-system gnu-build-system)
971 (native-inputs
972 `(("gettext" ,gettext-minimal)
973 ("itstool" ,itstool)
974 ("pkg-config" ,pkg-config)
975 ("xmllint" ,libxml2)))
976 (synopsis "User documentation for the GNOME desktop")
977 (description
978 "The GNOME User Documentation explains how to use the GNOME desktop and its
979components. It covers usage and setup of the core GNOME programs by end-users
980and system administrators.")
981 (home-page "https://live.gnome.org/DocumentationProject")
982 (license license:cc-by3.0)))
983
be93299d
RG
984(define-public gnome-getting-started-docs
985 (package
986 (name "gnome-getting-started-docs")
987 (version "3.32.2")
988 (source
989 (origin
990 (method url-fetch)
991 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
992 (version-major+minor version)
993 "/gnome-getting-started-docs-" version ".tar.xz"))
994 (sha256
995 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
996 (build-system gnu-build-system)
997 (native-inputs
998 `(("gettext" ,gettext-minimal)
999 ("itstool" ,itstool)
1000 ("pkg-config" ,pkg-config)
1001 ("xmllint" ,libxml2)))
1002 (synopsis "Help to get new users started with the GNOME desktop")
1003 (description
1004 "The GNOME Getting Started Documentation contains GNOME's intuitive
1005\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
1006
1007It is normally used together with @command{gnome-initial-setup}, but is also
1008useful as a tutorial and users' guide for new or less experienced users.")
1009 (home-page "https://live.gnome.org/DocumentationProject")
1010 (license license:cc-by-sa3.0)))
1011
a56be436
RJ
1012(define-public dia
1013 ;; This version from GNOME's repository includes fixes for compiling with
1014 ;; recent versions of the build tools. The latest activity on the
1015 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
f8687cb2
TGR
1016 ;; fixes since.
1017 (let ((commit "3cf7ec4c2e5bca139a7f3e17f9fc9009c237fcc5")
1018 (revision "2"))
a56be436
RJ
1019 (package
1020 (name "dia")
f8687cb2 1021 (version (git-version "0.97.3" revision commit))
a56be436
RJ
1022 (source (origin
1023 (method git-fetch)
1024 (uri (git-reference
914c8cdf 1025 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 1026 (commit commit)))
914c8cdf 1027 (file-name (git-file-name name version))
a56be436
RJ
1028 (sha256
1029 (base32
f8687cb2
TGR
1030 "04r8dspa6nmicrifhi3sh46hqvyy88hzq37xx99q3q1mwsrpmwy8"))))
1031 (build-system meson-build-system)
a56be436 1032 (inputs
f8687cb2 1033 `(("graphene" ,graphene)
a56be436
RJ
1034 ("gtk+" ,gtk+-2)
1035 ("libxml2" ,libxml2)
f8687cb2
TGR
1036 ("libxslt" ,libxslt)
1037 ("poppler" ,poppler)
1038 ;; Without Python 2, build fails: plug-ins/python/meson.build:4:0:
1039 ;; ERROR: Unknown method "dependency" in object.
1040 ("python-2" ,python-2)))
a56be436 1041 (native-inputs
f8687cb2
TGR
1042 `(("appstream-glib" ,appstream-glib)
1043 ("docbook-xsl" ,docbook-xsl)
a315afa3 1044 ("glib" ,glib "bin")
f8687cb2
TGR
1045 ("intltool" ,intltool)
1046 ("pkg-config" ,pkg-config)))
a56be436
RJ
1047 (home-page "https://wiki.gnome.org/Apps/Dia")
1048 (synopsis "Diagram creation for GNOME")
1049 (description "Dia can be used to draw different types of diagrams, and
1050includes support for UML static structure diagrams (class diagrams), entity
1051relationship modeling, and network diagrams. The program supports various file
1052formats like PNG, SVG, PDF and EPS.")
1053 (license license:gpl2+))))
1054
d0b19e44
RW
1055;; This is the unstable release, but it is required for the current stable
1056;; release of gvfs (1.38.1).
adc5cb1b
KK
1057(define-public libgdata
1058 (package
1059 (name "libgdata")
d0b19e44 1060 (version "0.17.9")
adc5cb1b
KK
1061 (source (origin
1062 (method url-fetch)
1063 (uri (string-append "mirror://gnome/sources/" name "/"
1064 (version-major+minor version) "/"
1065 name "-" version ".tar.xz"))
1066 (sha256
1067 (base32
d0b19e44 1068 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
1069 (build-system gnu-build-system)
1070 (arguments
1071 '(#:phases
1072 (modify-phases %standard-phases
448052b7
TGR
1073 (add-before 'check 'disable-failing-tests
1074 (lambda _
1075 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
1076 ;; They have been removed in libgdata 0.17.6, so just do the same.
1077 (substitute* "gdata/tests/Makefile"
1078 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
1079 #t)))))
1080 (native-inputs
1081 `(("glib:bin" ,glib "bin")
1082 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1083 ("intltool" ,intltool)
1084 ("pkg-config" ,pkg-config)
1085 ("uhttpmock" ,uhttpmock)))
1086 (inputs
1087 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 1088 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
1089 (propagated-inputs
1090 `(("gcr" ,gcr)
d0b19e44 1091 ("glib" ,glib)
14c297fd 1092 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 1093 ("json-glib" ,json-glib)
adc5cb1b 1094 ("liboauth" ,liboauth)
d0b19e44 1095 ("libsoup" ,libsoup)
adc5cb1b
KK
1096 ("libxml2" ,libxml2)))
1097 (home-page "https://wiki.gnome.org/Projects/libgdata")
1098 (synopsis "Library for accessing online service APIs")
1099 (description
1100 "libgdata is a GLib-based library for accessing online service APIs using
1101the GData protocol — most notably, Google's services. It provides APIs to
1102access the common Google services, and has full asynchronous support.")
1103 (license license:lgpl2.1+)))
1104
94e10cf4
KK
1105(define-public libgxps
1106 (package
1107 (name "libgxps")
66470a5a 1108 (version "0.3.1")
94e10cf4
KK
1109 (source (origin
1110 (method url-fetch)
7f10628c 1111 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
1112 (version-major+minor version) "/"
1113 name "-" version ".tar.xz"))
1114 (sha256
1115 (base32
66470a5a 1116 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 1117 (build-system meson-build-system)
94e10cf4
KK
1118 (native-inputs
1119 `(("gobject-introspection" ,gobject-introspection)
1120 ("pkg-config" ,pkg-config)))
1121 (inputs
c8d62d93 1122 `(("gtk+" ,gtk+)
b6b3e512 1123 ("libjpeg" ,libjpeg-turbo)
94e10cf4 1124 ("lcms" ,lcms)
0a6e9e13 1125 ("libtiff" ,libtiff)))
c8d62d93
MB
1126 (propagated-inputs
1127 ;; In Requires of libgxps.pc.
1128 `(("cairo" ,cairo)
1129 ("glib" ,glib)
1130 ("libarchive" ,libarchive)))
94e10cf4
KK
1131 (home-page "https://wiki.gnome.org/Projects/libgxps")
1132 (synopsis "GObject-based library for handling and rendering XPS documents")
1133 (description
1134 "libgxps is a GObject-based library for handling and rendering XPS
1135documents. This package also contains binaries that can convert XPS documents
1136to other formats.")
1137 (license license:lgpl2.1+)))
1138
4e09f57a
RG
1139(define-public gnome-characters
1140 (package
1141 (name "gnome-characters")
1142 (version "3.30.0")
1143 (source
1144 (origin
1145 (method url-fetch)
1146 (uri (string-append "mirror://gnome/sources/"
1147 "gnome-characters/" (version-major+minor version)
1148 "/gnome-characters-" version ".tar.xz"))
1149 (sha256
1150 (base32
1151 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
1152 (build-system meson-build-system)
5757c641 1153 (arguments
1154 `(#:glib-or-gtk? #t
1155 #:phases (modify-phases %standard-phases
1156 (add-after 'install 'wrap
1157 (lambda* (#:key outputs #:allow-other-keys)
1158 ;; GNOME Characters needs Typelib files from GTK and
1159 ;; gnome-desktop.
1160 (wrap-program (string-append (assoc-ref outputs "out")
1161 "/bin/gnome-characters")
1162 `("GI_TYPELIB_PATH" ":" prefix
1163 (,(getenv "GI_TYPELIB_PATH"))))
1164 #t)))))
4e09f57a
RG
1165 (native-inputs
1166 `(("gettext" ,gettext-minimal)
1167 ("glib:bin" ,glib "bin")
1168 ("gtk+:bin" ,gtk+ "bin")
1169 ("pkg-config" ,pkg-config)
1170 ("python" ,python-minimal)))
1171 (inputs
1172 `(("gjs" ,gjs)
1173 ("gtk+" ,gtk+)
5757c641 1174 ("libunistring" ,libunistring)
1175 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
1176 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
1177 (synopsis "Find and insert unusual characters")
1178 (description "Characters is a simple utility application to find
1179and insert unusual characters. It allows you to quickly find the
1180character you are looking for by searching for keywords.")
1181 (license license:bsd-3)))
1182
7aab13f1
ML
1183(define-public gnome-common
1184 (package
1185 (name "gnome-common")
af83490d 1186 (version "3.18.0")
7aab13f1
ML
1187 (source
1188 (origin
1189 (method url-fetch)
1190 (uri (string-append "mirror://gnome/sources/" name "/"
1191 (version-major+minor version) "/"
1192 name "-" version ".tar.xz"))
1193 (sha256
1194 (base32
af83490d 1195 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
1196 (build-system gnu-build-system)
1197 (home-page "https://www.gnome.org/")
1198 (synopsis "Bootstrap GNOME modules built from Git")
1199 (description "gnome-common contains various files needed to bootstrap
1200GNOME modules built from Git. It contains a common \"autogen.sh\" script that
1201can be used to configure a source directory checked out from Git and some
1202commonly used macros.")
1203 (license license:gpl2+)))
1204
4e868d22
RG
1205(define-public gnome-contacts
1206 (package
1207 (name "gnome-contacts")
b3492e39 1208 (version "3.34")
4e868d22
RG
1209 (source (origin
1210 (method url-fetch)
1211 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
1212 (version-major+minor version) "/"
1213 name "-" version ".tar.xz"))
1214 (sha256
1215 (base32
b3492e39 1216 "04igc9xvyc4kb5xf5g2missnvyvj9zv5cqxf5k4z7hb0sv42wq4r"))))
4e868d22
RG
1217 (build-system meson-build-system)
1218 (arguments
b3492e39
KK
1219 `(#:configure-flags '("-Dcheese=false")
1220 #:phases
4e868d22
RG
1221 (modify-phases %standard-phases
1222 (add-after 'unpack 'generate-vapis
1223 (lambda* (#:key inputs #:allow-other-keys)
1224 ;; To generate goa's missing .vapi file
1225 (define goa
1226 (assoc-ref inputs "gnome-online-accounts:lib"))
1227
1228 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
1229 "--library=goa-1.0"
1230 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
b3492e39
KK
1231 #t))
1232 (add-after 'unpack 'skip-gtk-update-icon-cache
1233 ;; Don't create 'icon-theme.cache'.
1234 (lambda _
1235 (substitute* "build-aux/meson_post_install.py"
1236 (("gtk-update-icon-cache") "true"))
4e868d22
RG
1237 #t)))))
1238 (native-inputs
1239 `(("glib:bin" ,glib "bin")
4e868d22
RG
1240 ("pkg-config" ,pkg-config)))
1241 (inputs
b3492e39 1242 `(("docbook-xml" ,docbook-xml)
4e868d22
RG
1243 ("dockbook-xsl" ,docbook-xsl)
1244 ("evolution-data-server" ,evolution-data-server)
1245 ("gettext" ,gettext-minimal)
1246 ("gnome-desktop" ,gnome-desktop)
1247 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1248 ("gobject-introspection" ,gobject-introspection)
1249 ("gst-plugins-base" ,gst-plugins-base)
1250 ("gtk+" ,gtk+)
1251 ("libgee" ,libgee)
1252 ("libxslt" ,libxslt)
1253 ("telepathy-glib" ,telepathy-glib)
1254 ("vala" ,vala)))
1255 (propagated-inputs
1256 `(("folks", folks)
1257 ("telepathy-mission-control" ,telepathy-mission-control)))
1258 (synopsis "GNOME's integrated address book")
1259 (description
1260 "GNOME Contacts organizes your contact information from online and
1261offline sources, providing a centralized place for managing your contacts.")
1262 (home-page "https://wiki.gnome.org/Apps/Contacts")
1263 (license license:gpl2+)))
1264
9cc98f8a
CR
1265(define-public gnome-desktop
1266 (package
1267 (name "gnome-desktop")
8a7afc81 1268 (version "3.34.2")
9cc98f8a
CR
1269 (source
1270 (origin
1271 (method url-fetch)
b38e45d8
EB
1272 (uri (string-append "mirror://gnome/sources/" name "/"
1273 (version-major+minor version) "/"
9cc98f8a
CR
1274 name "-" version ".tar.xz"))
1275 (sha256
1276 (base32
8a7afc81 1277 "1v983xirwp1y6ggz97bh742ak6gff0hxb359dgn37nikjxhvm0a0"))))
e8a26caa 1278 (build-system meson-build-system)
a0fe7c06
CB
1279 (arguments
1280 '(#:phases
1281 (modify-phases %standard-phases
1282 (add-before 'configure 'patch-path
1283 (lambda* (#:key inputs #:allow-other-keys)
1284 (let ((libc (assoc-ref inputs "libc")))
1285 (substitute* "libgnome-desktop/gnome-languages.c"
1286 (("\"locale\"")
1287 (string-append "\"" libc "/bin/locale\"")))
e8a26caa
KK
1288 #t)))
1289 (add-before 'check 'pre-check
1290 (lambda* (#:key inputs #:allow-other-keys)
1291 ;; Tests require a running X server and locales.
1292 (system "Xvfb :1 &")
1293 (setenv "DISPLAY" ":1")
1294 (setenv "GUIX_LOCPATH"
1295 (string-append (assoc-ref inputs "glibc-locales")
1296 "/lib/locale"))
1297 #t)))))
9cc98f8a 1298 (native-inputs
e8a26caa
KK
1299 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
1300 ("glibc-locales" ,glibc-locales) ; for tests
1301 ("gobject-introspection" ,gobject-introspection)
a8340482 1302 ("itstool" ,itstool)
bcb354ad
SB
1303 ("intltool" ,intltool)
1304 ("pkg-config" ,pkg-config)
e8a26caa
KK
1305 ("xmllint" ,libxml2)
1306 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
1307 (propagated-inputs
1308 ;; Required by gnome-desktop-3.0.pc.
1309 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 1310 ("gtk+" ,gtk+)
9cc98f8a 1311 ("iso-codes" ,iso-codes)
9863ce20 1312 ("libseccomp" ,libseccomp)
9cc98f8a 1313 ("libx11" ,libx11)
e8a26caa
KK
1314 ("xkeyboard-config" ,xkeyboard-config)))
1315 (inputs
1316 `(("gdk-pixbuf" ,gdk-pixbuf)
1317 ("glib" ,glib)
9cc98f8a
CR
1318 ("libxext" ,libxext)
1319 ("libxkbfile" ,libxkbfile)
e8a26caa 1320 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
1321 (home-page "https://www.gnome.org/")
1322 (synopsis
35b9e423 1323 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
1324 (description
1325 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
1326on the desktop, but that cannot live in the platform for various reasons.
1327There is no API or ABI guarantee, although we are doing our best to provide
1328stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
1329
1330The gnome-about program helps find which version of GNOME is installed.")
1331 ; Some bits under the LGPL.
1dd26275 1332 (license license:gpl2+)))
9cc98f8a 1333
995b7261
AE
1334(define-public gnome-doc-utils
1335 (package
1336 (name "gnome-doc-utils")
1337 (version "0.20.10")
1338 (source
1339 (origin
1340 (method url-fetch)
b38e45d8
EB
1341 (uri (string-append "mirror://gnome/sources/" name "/"
1342 (version-major+minor version) "/"
995b7261
AE
1343 name "-" version ".tar.xz"))
1344 (sha256
1345 (base32
1346 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
1347 (build-system gnu-build-system)
c4c4cc05 1348 (native-inputs
995b7261 1349 `(("intltool" ,intltool)
b4ce6300 1350 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 1351 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
1352 ("libxml2" ,libxml2)
1353 ("libxslt" ,libxslt)
1354 ("pkg-config" ,pkg-config)
1355 ("python-2" ,python-2)))
995b7261
AE
1356 (home-page "https://wiki.gnome.org/GnomeDocUtils")
1357 (synopsis
1358 "Documentation utilities for the Gnome project")
1359 (description
1360 "Gnome-doc-utils is a collection of documentation utilities for the
1361Gnome project. It includes xml2po tool which makes it easier to translate
1362and keep up to date translations of documentation.")
1dd26275 1363 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 1364
6c4f7022
DC
1365(define-public gnome-disk-utility
1366 (package
1367 (name "gnome-disk-utility")
262e660e 1368 (version "3.34.0")
6c4f7022
DC
1369 (source (origin
1370 (method url-fetch)
1371 (uri (string-append "mirror://gnome/sources/" name "/"
1372 (version-major+minor version) "/"
1373 name "-" version ".tar.xz"))
1374 (sha256
1375 (base32
262e660e 1376 "1mb7q90lnlp97dhxhnadhjagcfd12dfqzp0vj9h6b1r61pzhy97y"))))
4b9a65bf 1377 (build-system meson-build-system)
321c73c3 1378 (arguments
262e660e
KK
1379 '(#:configure-flags '("-Dlogind=libelogind")
1380 #:phases
321c73c3
EF
1381 (modify-phases %standard-phases
1382 (add-after 'unpack 'skip-gtk-update-icon-cache
1383 ;; Don't create 'icon-theme.cache'.
1384 (lambda _
1385 (substitute* "meson_post_install.py"
1386 (("gtk-update-icon-cache") "true"))
1387 #t)))))
6c4f7022
DC
1388 (native-inputs
1389 `(("glib:bin" ,glib "bin")
1390 ("intltool" ,intltool)
1391 ("pkg-config" ,pkg-config)
1392 ("docbook-xml" ,docbook-xml)
1393 ("docbook-xsl" ,docbook-xsl)
1394 ("libxml2" ,libxml2)
1395 ("libxslt" ,libxslt)))
1396 (inputs
262e660e
KK
1397 `(("elogind" ,elogind)
1398 ("glib" ,glib)
6c4f7022
DC
1399 ("appstream-glib" ,appstream-glib)
1400 ("gnome-settings-daemon" ,gnome-settings-daemon)
1401 ("gtk+" ,gtk+)
1402 ("libcanberra" ,libcanberra)
1403 ("libdvdread" ,libdvdread)
1404 ("libnotify" ,libnotify)
1405 ("libpwquality" ,libpwquality)
1406 ("libsecret" ,libsecret)
1407 ("udisks" ,udisks)))
1408 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
1409 (synopsis "Disk management utility for GNOME")
1410 (description "Disk management utility for GNOME.")
1411 (license license:gpl2+)))
1412
3d217317
RG
1413(define-public gnome-font-viewer
1414 (package
1415 (name "gnome-font-viewer")
1416 (version "3.30.0")
1417 (source (origin
1418 (method url-fetch)
1419 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
1420 (version-major+minor version)
1421 "/gnome-font-viewer-" version ".tar.xz"))
1422 (sha256
1423 (base32
1424 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
1425 (build-system meson-build-system)
1426 (arguments
1427 '(#:phases
1428 (modify-phases %standard-phases
1429 (add-after 'unpack 'patch-post-install-script
1430 (lambda _
1431 (substitute* "meson-postinstall.sh"
1432 (("update-desktop-database") (which "true")))
1433 #t)))))
1434 (native-inputs
1435 `(("gettext" ,gettext-minimal)
1436 ("glib:bin" ,glib "bin")
1437 ("pkg-config" ,pkg-config)))
1438 (inputs
1439 `(("glib" ,glib)
1440 ("gnome-desktop" ,gnome-desktop)
1441 ("gtk+" ,gtk+)))
1442 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
1443 (synopsis "GNOME Fonts")
1444 (description "Application to show you the fonts installed on your computer
1445for your use as thumbnails. Selecting any thumbnails shows the full view of how
1446the font would look under various sizes.")
1447 (license license:gpl2+)))
1448
8ff49011
RW
1449(define-public gcr
1450 (package
1451 (name "gcr")
1de804da 1452 (version "3.34.0")
8ff49011 1453 (source (origin
0daf0efb
RW
1454 (method url-fetch)
1455 (uri (string-append "mirror://gnome/sources/" name "/"
1456 (version-major+minor version) "/"
1457 name "-" version ".tar.xz"))
1458 (sha256
1459 (base32
1de804da 1460 "0925snsixzkwh49xiayqmj6fcrmklqk8kyy0jkv7m64h9abm1pr9"))))
8ff49011
RW
1461 (build-system gnu-build-system)
1462 (arguments
0daf0efb
RW
1463 '(#:phases
1464 (modify-phases %standard-phases
1465 ;; These fail because /var/lib/dbus/machine-id is not present in the
1466 ;; build environment.
1467 (add-after 'unpack 'disable-failing-tests
1468 (lambda _
1de804da
MB
1469 (substitute* "Makefile.in"
1470 (("[[:blank:]]+test-system-prompt\\$\\(EXEEXT\\)")
1471 ""))
0daf0efb
RW
1472 #t))
1473 (add-before 'check 'pre-check
1474 (lambda _
1475 ;; Some tests expect to write to $HOME.
1476 (setenv "HOME" "/tmp")
1477 #t)))))
8ff49011
RW
1478 (inputs
1479 `(("dbus" ,dbus)
0daf0efb 1480 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
1481 ("libgcrypt" ,libgcrypt)))
1482 (native-inputs
1de804da 1483 `(("python" ,python-wrapper) ;for tests
8ff49011 1484 ("pkg-config" ,pkg-config)
1de804da 1485 ("gettext" ,gettext-minimal)
8ff49011 1486 ("glib" ,glib "bin")
2af4f5b0 1487 ("gobject-introspection" ,gobject-introspection)
0daf0efb 1488 ("libxml2" ,libxml2)
bea6b829 1489 ("vala" ,vala)
2af4f5b0 1490 ("xsltproc" ,libxslt)))
8ff49011
RW
1491 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
1492 (propagated-inputs
1493 `(("p11-kit" ,p11-kit)
1494 ("glib" ,glib)
1495 ("gtk+" ,gtk+)))
f032d0be 1496 (home-page "https://www.gnome.org")
8ff49011
RW
1497 (synopsis "Libraries for displaying certificates and accessing key stores")
1498 (description
1499 "The GCR package contains libraries used for displaying certificates and
1500accessing key stores. It also provides the viewer for crypto files on the
1501GNOME Desktop.")
1502 (license license:lgpl2.1+)))
1503
88e61bd4
MC
1504(define-public gdl
1505 (package
1506 (name "gdl")
1507 (version "3.34.0")
1508 (source (origin
1509 (method git-fetch)
1510 (uri (git-reference
1511 (url "https://gitlab.gnome.org/GNOME/gdl.git")
1512 (commit (string-append "GDL_" (string-map (match-lambda
1513 (#\. #\_)
1514 (c c))
1515 version)))))
1516 (file-name (git-file-name name version))
1517 (sha256
1518 (base32
1519 "154qcr0x6f68f4q526y87imv0rscmp34n47nk1pp82rsq52h2zna"))))
1520 (build-system gnu-build-system)
88e61bd4
MC
1521 (native-inputs
1522 `(("autoconf" ,autoconf)
1523 ("automake" ,automake)
1524 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1525 ("gnome-common" ,gnome-common)
1526 ("gtk-doc" ,gtk-doc)
1527 ("intltool" ,intltool)
1528 ("pkg-config" ,pkg-config)
1529 ("libtool" ,libtool)
1530 ("which" ,which)))
1531 (inputs
1532 `(("libxml2" ,libxml2)))
1533 (propagated-inputs
1534 ;; The gdl-3.0.pc file 'Requires' GTK+.
1535 `(("gtk+" ,gtk+)))
1536 (home-page "https://gitlab.gnome.org/GNOME/gdl/")
1537 (synopsis "GNOME docking library")
1538 (description "This library provides docking features for gtk+.")
1539 (license license:lgpl2.1+)))
1540
ca3adf26
MC
1541;;; A minimal variant used to break a cycle with Inkscape.
1542(define-public gdl-minimal
1543 (package
1544 (inherit gdl)
1545 (name "gdl-minimal")
1546 (arguments
70cf0113
EF
1547 '(#:phases
1548 (modify-phases %standard-phases
1549 (add-after 'unpack 'disable-doc-generation
1550 ;; XXX: There is no easy way to disable generating the
1551 ;; documentation.
1552 (lambda _
1553 (substitute* "configure.in"
1554 (("GTK_DOC_CHECK.*") "")
1555 (("docs/.*") ""))
1556 (substitute* "Makefile.am"
1557 (("gdl docs po") "gdl po"))
1558 #t)))))
ca3adf26
MC
1559 (native-inputs (alist-delete "gtk-doc" (package-native-inputs gdl)))))
1560
c1354b90
LC
1561(define-public libgnome-keyring
1562 (package
1563 (name "libgnome-keyring")
5e8aec2c 1564 (version "3.12.0")
c1354b90
LC
1565 (source (origin
1566 (method url-fetch)
b38e45d8
EB
1567 (uri (string-append "mirror://gnome/sources/" name "/"
1568 (version-major+minor version) "/"
1569 name "-" version ".tar.xz"))
c1354b90
LC
1570 (sha256
1571 (base32
5e8aec2c 1572 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 1573 (build-system gnu-build-system)
c1354b90 1574 (inputs
c4c4cc05 1575 `(("libgcrypt" ,libgcrypt)
c1354b90 1576 ("dbus" ,dbus)))
c4c4cc05
JD
1577 (native-inputs
1578 `(("pkg-config" ,pkg-config)
426adbe8 1579 ("glib" ,glib "bin")
c4c4cc05 1580 ("intltool" ,intltool)))
c1354b90
LC
1581 (propagated-inputs
1582 ;; Referred to in .h files and .pc.
1583 `(("glib" ,glib)))
f032d0be 1584 (home-page "https://www.gnome.org")
c1354b90
LC
1585 (synopsis "Accessing passwords from the GNOME keyring")
1586 (description
1587 "Client library to access passwords from the GNOME keyring.")
1588
1589 ;; Though a couple of files are LGPLv2.1+.
1dd26275 1590 (license license:lgpl2.0+)))
c1354b90 1591
e99a3d6f
RW
1592(define-public gnome-keyring
1593 (package
1594 (name "gnome-keyring")
14faeadd 1595 (version "3.34.0")
e99a3d6f
RW
1596 (source (origin
1597 (method url-fetch)
1598 (uri (string-append "mirror://gnome/sources/" name "/"
1599 (version-major+minor version) "/"
1600 name "-" version ".tar.xz"))
1601 (sha256
1602 (base32
14faeadd 1603 "0hqrsh5g9q9lm190f0m85q4nki8k4ng7wphl6qbccdry59aakkg9"))))
e99a3d6f
RW
1604 (build-system gnu-build-system)
1605 (arguments
1606 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
1607 ;not exist
1608 #:configure-flags
1609 (list
1610 (string-append "--with-pkcs11-config="
1611 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
1612 (string-append "--with-pkcs11-modules="
1613 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
1614 #:phases
1615 (modify-phases %standard-phases
ab35cc6e
RW
1616 (add-after 'unpack 'fix-/bin/sh-reference
1617 (lambda _
1618 (substitute* "po/Makefile.in.in"
1619 (("/bin/sh") (which "sh")))
1620 #t))
5120f24f
RW
1621 (add-after 'unpack 'fix-docbook
1622 (lambda* (#:key inputs #:allow-other-keys)
1623 (substitute* "docs/Makefile.am"
1624 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1625 (string-append (assoc-ref inputs "docbook-xsl")
1626 "/xml/xsl/docbook-xsl-"
1627 ,(package-version docbook-xsl)
1628 "/manpages/docbook.xsl")))
1629 (setenv "XML_CATALOG_FILES"
1630 (string-append (assoc-ref inputs "docbook-xml")
1631 "/xml/dtd/docbook/catalog.xml"))
1632 ;; Rerun the whole thing to avoid version mismatch ("This is
1633 ;; Automake 1.15.1, but the definition used by this
1634 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
1635 ;; use 'autoreconf' because it insists on running 'libtoolize'.
1636 (invoke "autoconf")
1637 (invoke "aclocal")
1638 (invoke "automake" "-ac"))))))
e99a3d6f
RW
1639 (inputs
1640 `(("libgcrypt" ,libgcrypt)
1a0b2d82 1641 ("linux-pam" ,linux-pam)
ab35cc6e 1642 ("openssh" ,openssh)
e99a3d6f
RW
1643 ("dbus" ,dbus)
1644 ("gcr" ,gcr)))
1645 (native-inputs
1646 `(("pkg-config" ,pkg-config)
1647 ("glib" ,glib "bin")
5120f24f 1648 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
1649 ("python" ,python-2) ;for tests
1650 ("intltool" ,intltool)
1651 ("autoconf" ,autoconf)
1652 ("automake" ,automake)
1653 ("libxslt" ,libxslt) ;for documentation
1654 ("docbook-xml" ,docbook-xml-4.2)
1655 ("docbook-xsl" ,docbook-xsl)))
f032d0be 1656 (home-page "https://www.gnome.org")
e99a3d6f
RW
1657 (synopsis "Daemon to store passwords and encryption keys")
1658 (description
1659 "gnome-keyring is a program that keeps passwords and other secrets for
1660users. It is run as a daemon in the session, similar to ssh-agent, and other
1661applications locate it via an environment variable or D-Bus.
1662
1663The program can manage several keyrings, each with its own master password,
1664and there is also a session keyring which is never stored to disk, but
1665forgotten when the session ends.")
1666 (license license:lgpl2.1+)))
1667
c1354b90
LC
1668(define-public evince
1669 (package
1670 (name "evince")
6f64a05e 1671 (version "3.36.1")
c1354b90
LC
1672 (source (origin
1673 (method url-fetch)
ac631328 1674 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 1675 (version-major+minor version) "/"
ac631328 1676 "evince-" version ".tar.xz"))
c1354b90
LC
1677 (sha256
1678 (base32
6f64a05e 1679 "1msbb66lasikpfjpkwsvi7h22hqmk275850ilpdqwbd0b39vzf4c"))))
121de2e1 1680 (build-system glib-or-gtk-build-system)
c1354b90 1681 (arguments
169b8f77 1682 `(#:configure-flags '("--disable-nautilus" "--enable-introspection")
554b2dac
SB
1683 #:phases
1684 (modify-phases %standard-phases
1685 (add-before 'install 'skip-gtk-update-icon-cache
1686 ;; Don't create 'icon-theme.cache'.
1687 (lambda _
1688 (substitute* "data/Makefile"
1689 (("gtk-update-icon-cache") "true"))
1690 #t)))))
c1354b90 1691 (inputs
9a096881
KK
1692 `(("libarchive" ,libarchive)
1693 ("libgxps" ,libgxps)
1694 ("libspectre" ,libspectre)
c769cf9f 1695 ("djvulibre" ,djvulibre)
c1354b90
LC
1696 ("ghostscript" ,ghostscript)
1697 ("poppler" ,poppler)
c769cf9f
SB
1698 ("libtiff" ,libtiff)
1699 ;; TODO:
c769cf9f
SB
1700 ;; Build libkpathsea as a shared library for DVI support.
1701 ;; ("libkpathsea" ,texlive-bin)
1702 ("gnome-desktop" ,gnome-desktop)
c1354b90 1703 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 1704 ("gspell" ,gspell)
c1354b90 1705 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 1706 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
1707 ("gdk-pixbuf" ,gdk-pixbuf)
1708 ("atk" ,atk)
1709 ("pango" ,pango)
1710 ("gtk+" ,gtk+)
1711 ("glib" ,glib)
1712 ("libxml2" ,libxml2)
c1354b90
LC
1713 ("libsm" ,libsm)
1714 ("libice" ,libice)
96e42467 1715 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
1716 ("dconf" ,dconf)
1717 ("libcanberra" ,libcanberra)
c769cf9f 1718 ("libsecret" ,libsecret)
a271096b 1719
c1354b90
LC
1720 ;; For tests.
1721 ("dogtail" ,python2-dogtail)))
96e42467 1722 (native-inputs
bcb354ad
SB
1723 `(("itstool" ,itstool)
1724 ("intltool" ,intltool)
426adbe8 1725 ("glib" ,glib "bin")
169b8f77 1726 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
1727 ("pkg-config" ,pkg-config)
1728 ("xmllint" ,libxml2)))
6f64a05e 1729 (home-page "https://www.gnome.org/projects/evince/")
c1354b90
LC
1730 (synopsis "GNOME's document viewer")
1731 (description
1732 "Evince is a document viewer for multiple document formats. It
1733currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
1734of Evince is to replace the multiple document viewers that exist
96e42467 1735on the GNOME Desktop with a single simple application.")
1dd26275 1736 (license license:gpl2+)))
c1354b90 1737
22e32e69
AE
1738(define-public gsettings-desktop-schemas
1739 (package
1740 (name "gsettings-desktop-schemas")
8468117e 1741 (version "3.34.0")
22e32e69
AE
1742 (source
1743 (origin
1744 (method url-fetch)
1745 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1746 (version-major+minor version) "/"
22e32e69
AE
1747 name "-" version ".tar.xz"))
1748 (sha256
1749 (base32
8468117e 1750 "1bayr76aylawf2fhyjhv9zgk4kpv7ivrrmd80khb0h3h1wk092r8"))))
c900dabd 1751 (build-system meson-build-system)
65209ffa
LC
1752 (arguments
1753 '(#:phases (modify-phases %standard-phases
3861fb1c 1754 (add-after 'unpack 'patch-schemas
65209ffa 1755 (lambda* (#:key inputs #:allow-other-keys)
65209ffa
LC
1756 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
1757 (substitute* (find-files "schemas"
1758 "\\.gschema\\.xml\\.in$")
3861fb1c
LP
1759 ;; Provide the correct file name of the default GNOME
1760 ;; background, 'adwaita-timed.xml'.
65209ffa 1761 (("@datadir@/backgrounds/gnome")
3861fb1c
LP
1762 (string-append theme "/share/backgrounds/gnome"))
1763 ;; Do not reference fonts, that may not exist.
1764 (("'Source Code Pro 10'") "'Monospace 11'"))
65209ffa 1765 #t))))))
22e32e69 1766 (inputs
65209ffa
LC
1767 `(("glib" ,glib)
1768 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
1769 (native-inputs
1770 `(("intltool" ,intltool)
426adbe8 1771 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 1772 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
1773 ("pkg-config" ,pkg-config)))
1774 (home-page "https://launchpad.net/gsettings-desktop-schemas")
1775 (synopsis
1776 "GNOME settings for various desktop components")
1777 (description
1778 "Gsettings-desktop-schemas contains a collection of GSettings schemas
1779for settings shared by various components of the GNOME desktop.")
1dd26275 1780 (license license:lgpl2.1+)))
22e32e69 1781
27477d2d
AE
1782(define-public icon-naming-utils
1783 (package
1784 (name "icon-naming-utils")
1785 (version "0.8.90")
1786 (source
1787 (origin
1788 (method url-fetch)
5cc3096c 1789 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
1790 version ".tar.bz2"))
1791 (sha256
1792 (base32
1793 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
1794 (build-system gnu-build-system)
1795 (inputs
1796 `(("perl" ,perl)
1797 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
1798 (arguments
1799 '(#:phases
dc1d3cde
KK
1800 (modify-phases %standard-phases
1801 (add-after 'install 'set-load-paths
1802 ;; Tell 'icon-name-mapping' where XML::Simple is.
1803 (lambda* (#:key outputs #:allow-other-keys)
1804 (let* ((out (assoc-ref outputs "out"))
1805 (prog (string-append out "/libexec/icon-name-mapping")))
1806 (wrap-program
1807 prog
1808 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
1809 #t)))))
27477d2d
AE
1810 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
1811 (synopsis
1812 "Utility to implement the Freedesktop Icon Naming Specification")
1813 (description
1814 "To help with the transition to the Freedesktop Icon Naming
1815Specification, the icon naming utility maps the icon names used by the
1816GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 1817 (license license:lgpl2.1+)))
27477d2d 1818
7d3f3651
AE
1819(define-public gnome-icon-theme
1820 (package
1821 (name "gnome-icon-theme")
b32f58dd 1822 (version "3.12.0")
7d3f3651
AE
1823 (source
1824 (origin
1825 (method url-fetch)
1826 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1827 (version-major+minor version) "/"
7d3f3651
AE
1828 name "-" version ".tar.xz"))
1829 (sha256
1830 (base32
b32f58dd 1831 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 1832 (build-system gnu-build-system)
5613c27d
SB
1833 (arguments
1834 '(#:configure-flags
1835 ;; Don't create 'icon-theme.cache'.
1836 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
1837 (true (string-append coreutils "/bin/true")))
1838 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 1839 (native-inputs
5613c27d 1840 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
1841 ("intltool" ,intltool)
1842 ("pkg-config" ,pkg-config)))
5c610d4f
KK
1843 (home-page "https://wiki.gnome.org/Personalization")
1844 (synopsis "GNOME icon theme")
1845 (description "Icons for the GNOME desktop.")
1dd26275 1846 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 1847
14eeefa2
SB
1848;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
1849(define-public adwaita-icon-theme
1850 (package (inherit gnome-icon-theme)
1851 (name "adwaita-icon-theme")
e21788f2 1852 (version "3.34.3")
14eeefa2
SB
1853 (source (origin
1854 (method url-fetch)
1855 (uri (string-append "mirror://gnome/sources/" name "/"
1856 (version-major+minor version) "/"
1857 name "-" version ".tar.xz"))
1858 (sha256
1859 (base32
e21788f2 1860 "025rj1fskw1y448hiar4a9icyzpyr242nlh9xhsmyp8jb71dihp7"))))
5613c27d
SB
1861 (native-inputs
1862 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 1863
ae792dba
RW
1864(define-public tango-icon-theme
1865 (package
1866 (name "tango-icon-theme")
1867 (version "0.8.90")
1868 (source (origin
1869 (method url-fetch)
1870 (uri (string-append "http://tango.freedesktop.org/releases/"
1871 "tango-icon-theme-" version ".tar.bz2"))
1872 (sha256
1873 (base32
1874 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
1875 (build-system gnu-build-system)
1876 (native-inputs
1877 `(("icon-naming-utils" ,icon-naming-utils)
1878 ("intltool" ,intltool)
1879 ("imagemagick" ,imagemagick)
1880 ("pkg-config" ,pkg-config)))
1881 (home-page "http://tango-project.org/")
1882 (synopsis "Tango icon theme")
1883 (description "This is an icon theme that follows the Tango visual
1884guidelines.")
1885 (license license:public-domain)))
1886
9167f8e6
LC
1887(define-public shared-mime-info
1888 (package
1889 (name "shared-mime-info")
404e386e 1890 (version "1.15")
9167f8e6
LC
1891 (source (origin
1892 (method url-fetch)
404e386e
MB
1893 (uri (string-append
1894 "https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/"
1895 "b27eb88e4155d8fccb8bb3cd12025d5b/shared-mime-info-" version
1896 ".tar.xz"))
9167f8e6
LC
1897 (sha256
1898 (base32
404e386e 1899 "146vynj78wcwdq0ms52jzm1r4m6dzi1rhyh3h4xyb6bw8ckv10pl"))))
9167f8e6
LC
1900 (build-system gnu-build-system)
1901 (arguments
1902 ;; The build system appears not to be parallel-safe.
1903 '(#:parallel-build? #f))
1904 (inputs
1905 `(("glib" ,glib)
c4c4cc05 1906 ("libxml2" ,libxml2)))
9167f8e6 1907 (native-inputs
404e386e
MB
1908 `(("gettext" ,gettext-minimal)
1909 ("itstool" ,itstool)
c4c4cc05 1910 ("pkg-config" ,pkg-config)))
57e7d748 1911 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
1912 (synopsis "Database of common MIME types")
1913 (description
1914 "The shared-mime-info package contains the core database of common types
1915and the update-mime-database command used to extend it. It requires glib2 to
1916be installed for building the update command. Additionally, it uses intltool
1917for translations, though this is only a dependency for the maintainers. This
1918database is translated at Transifex.")
1dd26275 1919 (license license:gpl2+)))
9167f8e6 1920
dd1fcddc
CB
1921(define-public system-config-printer
1922 (package
1923 (name "system-config-printer")
fa01e10d 1924 (version "1.5.12")
a5643044
TGR
1925 (source
1926 (origin
1927 (method url-fetch)
1928 (uri (string-append
1929 "https://github.com/OpenPrinting/system-config-printer/releases/"
1930 "download/" version
1931 "/system-config-printer-" version ".tar.xz"))
1932 (sha256
fa01e10d 1933 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
1934 (build-system glib-or-gtk-build-system)
1935 (arguments
1936 `(#:imported-modules ((guix build python-build-system)
1937 ,@%glib-or-gtk-build-system-modules)
1938 #:phases
1939 (modify-phases %standard-phases
1940 (add-after 'unpack 'patch-Makefile.am
1941 (lambda _
1942 ;; The Makefile generates some scripts, so set a valid shebang
1943 (substitute* "Makefile.am"
1944 (("/bin/bash") (which "bash")))
1945 (delete-file "configure")
1946 #t))
1947 (add-after 'unpack 'patch-docbook-xml
1948 (lambda* (#:key inputs #:allow-other-keys)
1949 ;; Modify the man XML otherwise xmlto tries to access the network
1950 (substitute* "man/system-config-printer.xml"
1951 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
1952 (string-append (assoc-ref inputs "docbook-xml")
1953 "/xml/dtd/docbook/")))
1954 #t))
1955 (add-after 'install 'wrap-for-python
1956 (@@ (guix build python-build-system) wrap))
1957 (add-after 'install 'wrap
1958 (lambda* (#:key outputs #:allow-other-keys)
1959 (let ((out (assoc-ref outputs "out"))
1960 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
1961 (for-each
1962 (lambda (program)
1963 (wrap-program program
1964 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
1965 (map (lambda (name)
1966 (string-append out "/bin/" name))
1967 '("system-config-printer"
1968 "system-config-printer-applet"
1969 "install-printerdriver"
1970 "scp-dbus-service"))))
1971 #t)))))
1972 (inputs
1973 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1974 ("gobject-introspection" ,gobject-introspection)
1975 ("python" ,python)
1976 ("cups" ,cups)
1977 ("python-dbus" ,python-dbus)
1978 ("python-pygobject" ,python-pygobject)
1979 ("python-pycups" ,python-pycups)
1980 ("python-requests" ,python-requests)
1981 ("python-pycairo" ,python-pycairo)
1982 ("libnotify" ,libnotify)
1983 ("packagekit" ,packagekit)))
1984 (native-inputs
1985 `(("pkg-config" ,pkg-config)
1986 ("desktop-file-utils" ,desktop-file-utils)
1987 ("glib" ,glib)
1988 ("autoconf" ,autoconf)
1989 ("automake" ,automake)
1990 ("intltool" ,intltool)
1991 ("xmlto" ,xmlto)
1992 ("docbook-xml" ,docbook-xml-4.1.2)
1993 ("docbook-xsl" ,docbook-xsl)
1994 ("libxml2" ,libxml2)))
1995 (home-page "https://github.com/zdohnal/system-config-printer")
1996 (synopsis "CUPS administration tool")
1997 (description
1998 "system-config-printer is a CUPS administration tool. It's written in
1999Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
2000configuring CUPS.")
2001 (license license:gpl2+)))
2002
bef4dd92
AE
2003(define-public hicolor-icon-theme
2004 (package
2005 (name "hicolor-icon-theme")
851cb6dd 2006 (version "0.17")
bef4dd92
AE
2007 (source
2008 (origin
2009 (method url-fetch)
5cc3096c 2010 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 2011 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
2012 (sha256
2013 (base32
851cb6dd 2014 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
2015 (build-system gnu-build-system)
2016 (arguments
2017 `(#:tests? #f)) ; no check target
57e7d748 2018 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
2019 (synopsis
2020 "Freedesktop icon theme")
2021 (description
2022 "Freedesktop icon theme.")
1dd26275 2023 (license license:gpl2)))
bef4dd92 2024
d9c1a22b
AE
2025(define-public libnotify
2026 (package
2027 (name "libnotify")
195bfa68 2028 (version "0.7.7")
d9c1a22b
AE
2029 (source
2030 (origin
2031 (method url-fetch)
2032 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2033 (version-major+minor version) "/"
d9c1a22b
AE
2034 name "-" version ".tar.xz"))
2035 (sha256
2036 (base32
195bfa68 2037 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 2038 (build-system gnu-build-system)
6acf6cec
MB
2039 (arguments
2040 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
2041 (propagated-inputs
2042 `(;; In Requires of libnotify.pc.
2043 ("gdk-pixbuf" ,gdk-pixbuf)
2044 ("glib" ,glib)))
d9c1a22b 2045 (inputs
7ef08efa 2046 `(("gtk+" ,gtk+)
c4c4cc05
JD
2047 ("libpng" ,libpng)))
2048 (native-inputs
426adbe8 2049 `(("pkg-config" ,pkg-config)
277a7d82
JN
2050 ("glib" ,glib "bin")
2051 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
2052 (home-page "https://developer-next.gnome.org/libnotify/")
2053 (synopsis
2054 "GNOME desktop notification library")
2055 (description
2056 "Libnotify is a library that sends desktop notifications to a
35b9e423 2057notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
2058notifications can be used to inform the user about an event or display
2059some form of information without getting in the user's way.")
1dd26275 2060 (license license:lgpl2.1+)))
7a8605ce
CR
2061
2062(define-public libpeas
2063 (package
2064 (name "libpeas")
f2d56e39 2065 (version "1.24.1")
7a8605ce
CR
2066 (source
2067 (origin
2068 (method url-fetch)
2069 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2070 (version-major+minor version) "/"
7a8605ce
CR
2071 name "-" version ".tar.xz"))
2072 (sha256
2073 (base32
f2d56e39
MB
2074 "1162dr7smmfb02czmhshr0f93hqj7w0nw29bys5lzfvwarxcyflw"))))
2075 (build-system meson-build-system)
2076 (arguments
2077 '(#:phases
2078 (modify-phases %standard-phases
2079 (add-before 'check 'start-xserver
2080 (lambda* (#:key inputs #:allow-other-keys)
2081 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2082 (disp ":1"))
2083 (setenv "DISPLAY" disp)
2084 ;; Tests require a running X server.
2085 (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))
2086 #t))))))
7a8605ce 2087 (inputs
2ed6522a
SB
2088 `(("gtk+" ,gtk+)
2089 ("glade" ,glade3)
2ed6522a
SB
2090 ("python" ,python)
2091 ("python-pygobject" ,python-pygobject)))
141aed80
LC
2092 (native-inputs
2093 `(("pkg-config" ,pkg-config)
f2d56e39 2094 ("gettext" ,gettext-minimal)
93622993 2095 ("glib:bin" ,glib "bin")
141aed80 2096 ("gobject-introspection" ,gobject-introspection)
f2d56e39 2097 ("xorg-server" ,xorg-server-for-tests)))
55b7bbd8
LC
2098 (propagated-inputs
2099 ;; The .pc file "Requires" gobject-introspection.
2100 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
2101 (home-page "https://wiki.gnome.org/Libpeas")
2102 (synopsis "GObject plugin system")
2103 (description
d1e4ad1b
TGR
2104 "Libpeas is a gobject-based plugin engine, targeted at giving every
2105application the chance to assume its own extensibility. It also has a set of
2106features including, but not limited to: multiple extension points; on-demand
2107(lazy) programming language support for C, Python and JS; simplicity of the
2108API.")
1dd26275 2109 (license license:lgpl2.0+)))
ed19903d
JD
2110
2111(define-public gtkglext
2112 (package
2113 (name "gtkglext")
2114 (version "1.2.0")
2115 (source (origin
2116 (method url-fetch)
0f971a04 2117 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
2118 version "/gtkglext-" version ".tar.gz"))
2119 (sha256
2120 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
2121 (patches (search-patches
2122 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 2123 (build-system gnu-build-system)
14e2f61a
RW
2124 (arguments
2125 `(#:phases
2126 (modify-phases %standard-phases
2127 ;; Fix a collision between a local variable and a definition from
2128 ;; glibc's string.h.
2129 (add-after 'unpack 'fix-collision
2130 (lambda _
2131 (substitute* "gdk/gdkglshapes.c"
2132 ((" index") " triangle_index"))
2133 #t)))))
ed19903d
JD
2134 (inputs `(("gtk+" ,gtk+-2)
2135 ("mesa" ,mesa)
cc8b02f4 2136 ("glu" ,glu)
ed19903d
JD
2137 ("libx11" ,libx11)
2138 ("libxt" ,libxt)))
426adbe8
LC
2139 (native-inputs `(("pkg-config" ,pkg-config)
2140 ("glib" ,glib "bin")))
a83b6a06 2141 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 2142 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 2143 (synopsis "OpenGL extension to GTK+")
35b9e423 2144 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
2145additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
2146API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 2147 (license license:lgpl2.1+)))
3600420e
JD
2148
2149(define-public glade3
2150 (package
2151 (name "glade")
031315e4 2152 (version "3.36.0")
b38e45d8
EB
2153 (source (origin
2154 (method url-fetch)
2155 (uri (string-append "mirror://gnome/sources/" name "/"
2156 (version-major+minor version) "/"
f5ca44b8 2157 name "-" version ".tar.xz"))
3600420e 2158 (sha256
f714d9fe 2159 (base32
031315e4 2160 "023gx8rj51njn8fsb6ma5kz1irjpxi4js0n8rwy22inc4ysldd8r"))))
6983ba56 2161 (build-system glib-or-gtk-build-system)
f5ca44b8
RW
2162 (arguments
2163 `(#:tests? #f ; needs X, GL, and software rendering
2164 #:phases
2165 (modify-phases %standard-phases
2166 (add-before 'configure 'fix-docbook
2167 (lambda* (#:key inputs #:allow-other-keys)
2168 (substitute* "man/Makefile.in"
2169 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2170 (string-append (assoc-ref inputs "docbook-xsl")
2171 "/xml/xsl/docbook-xsl-"
2172 ,(package-version docbook-xsl)
2173 "/manpages/docbook.xsl")))
2174 #t)))))
3600420e 2175 (inputs
f5ca44b8 2176 `(("gtk+" ,gtk+)
3600420e
JD
2177 ("libxml2" ,libxml2)))
2178 (native-inputs
2179 `(("intltool" ,intltool)
f5ca44b8
RW
2180 ("itstool" ,itstool)
2181 ("libxslt" ,libxslt) ;for xsltproc
2182 ("docbook-xml" ,docbook-xml-4.2)
2183 ("docbook-xsl" ,docbook-xsl)
2184 ("python" ,python-2)
3600420e
JD
2185 ("pkg-config" ,pkg-config)))
2186 (home-page "https://glade.gnome.org")
2187 (synopsis "GTK+ rapid application development tool")
2188 (description "Glade is a rapid application development (RAD) tool to
2189enable quick & easy development of user interfaces for the GTK+ toolkit and
2190the GNOME desktop environment.")
1dd26275
LC
2191 (license license:lgpl2.0+)))
2192
2193(define-public libcroco
2194 (package
2195 (name "libcroco")
8bdacad2 2196 (version "0.6.13")
1dd26275
LC
2197 (source (origin
2198 (method url-fetch)
b38e45d8
EB
2199 (uri (string-append "mirror://gnome/sources/" name "/"
2200 (version-major+minor version) "/"
2201 name "-" version ".tar.xz"))
1dd26275
LC
2202 (sha256
2203 (base32
8bdacad2 2204 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
2205 (build-system gnu-build-system)
2206 (native-inputs
2207 `(("pkg-config" ,pkg-config)))
2208 (inputs
2209 `(("glib" ,glib)
2210 ("libxml2" ,libxml2)
2211 ("zlib" ,zlib)))
2212 (home-page "https://github.com/GNOME/libcroco")
2213 (synopsis "CSS2 parsing and manipulation library")
2214 (description
2215 "Libcroco is a standalone CSS2 parsing and manipulation library.
2216The parser provides a low level event driven SAC-like API and a CSS object
2217model like API. Libcroco provides a CSS2 selection engine and an experimental
2218XML/CSS rendering engine.")
2219
2220 ;; LGPLv2.1-only.
2221 (license license:lgpl2.1)))
25178594
LC
2222
2223(define-public libgsf
2224 (package
2225 (name "libgsf")
2b9b854c 2226 (version "1.14.47")
25178594
LC
2227 (source (origin
2228 (method url-fetch)
b38e45d8
EB
2229 (uri (string-append "mirror://gnome/sources/" name "/"
2230 (version-major+minor version) "/"
2231 name "-" version ".tar.xz"))
25178594
LC
2232 (sha256
2233 (base32
2b9b854c 2234 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
25178594 2235 (build-system gnu-build-system)
23904adb
MB
2236 (arguments
2237 '(#:configure-flags '("--disable-static")))
25178594 2238 (native-inputs
0a1559cc
MB
2239 `(("pkg-config" ,pkg-config)
2240 ("gettext" ,gettext-minimal)
2241
2242 ;; For tests.
2243 ("perl" ,perl)
2244 ("perl-xml-parser" ,perl-xml-parser)))
25178594 2245 (inputs
4ffa9f6b 2246 `(("zlib" ,zlib)
25178594
LC
2247 ("bzip2" ,bzip2)))
2248 (propagated-inputs
2249 `(("gdk-pixbuf" ,gdk-pixbuf)
2250 ("glib" ,glib)
2251 ("libxml2" ,libxml2)))
f032d0be 2252 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
2253 (synopsis "GNOME's Structured File Library")
2254 (description
2255 "Libgsf aims to provide an efficient extensible I/O abstraction for
2256dealing with different structured file formats.")
2257
2258 ;; LGPLv2.1-only.
2259 (license license:lgpl2.1)))
63016e7c
LC
2260
2261(define-public librsvg
f67417a1
MB
2262 (package
2263 (name "librsvg")
c1cc52a2 2264 (version "2.40.21")
f67417a1
MB
2265 (source (origin
2266 (method url-fetch)
2267 (uri (string-append "mirror://gnome/sources/" name "/"
2268 (version-major+minor version) "/"
2269 name "-" version ".tar.xz"))
2270 (sha256
2271 (base32
c1cc52a2 2272 "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))
f67417a1
MB
2273 (build-system gnu-build-system)
2274 (arguments
2275 `(#:configure-flags
2276 (list "--disable-static"
2277 "--enable-vala") ; needed for e.g. gnome-mines
2278 #:phases
2279 (modify-phases %standard-phases
2280 (add-before 'configure 'pre-configure
2281 (lambda* (#:key inputs #:allow-other-keys)
2282 (substitute* "gdk-pixbuf-loader/Makefile.in"
2283 ;; By default the gdk-pixbuf loader is installed under
2284 ;; gdk-pixbuf's prefix. Work around that.
2285 (("gdk_pixbuf_moduledir = .*$")
2286 (string-append "gdk_pixbuf_moduledir = "
2287 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2288 "loaders\n"))
2289 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2290 (("gdk_pixbuf_cache_file = .*$")
2291 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2292 #t))
2293 (add-before 'check 'remove-failing-tests
2294 (lambda _
2295 (with-directory-excursion "tests/fixtures/reftests"
2296 (for-each delete-file
2297 '(;; This test fails on i686:
2298 "svg1.1/masking-path-04-b.svg"
2299 ;; This test fails on armhf:
2300 "svg1.1/masking-mask-01-b.svg"
2301 ;; This test fails on aarch64:
2302 "bugs/777834-empty-text-children.svg")))
2303 #t)))))
2304 (native-inputs
2305 `(("pkg-config" ,pkg-config)
2306 ("vala" ,vala)
2307 ("glib" ,glib "bin") ; glib-mkenums, etc.
2308 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2309 (inputs
869b63cb
MB
2310 `(;; XXX: 1.44 causes some test failures, so we stick with 1.42 for
2311 ;; this ancient version of librsvg.
2312 ("pango" ,pango-1.42)
f67417a1
MB
2313 ("libcroco" ,libcroco)
2314 ("bzip2" ,bzip2)
2315 ("libgsf" ,libgsf)
2316 ("libxml2" ,libxml2)))
2317 (propagated-inputs
2318 ;; librsvg-2.0.pc refers to all of that.
2319 `(("cairo" ,cairo)
2320 ("gdk-pixbuf" ,gdk-pixbuf)
2321 ("glib" ,glib)))
2322 (home-page "https://wiki.gnome.org/LibRsvg")
2323 (synopsis "Render SVG files using Cairo")
2324 (description
2325 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
2326library.")
2327 (license license:lgpl2.0+)))
2328
2329(define-public librsvg-next
63016e7c 2330 (package
25d39a2a 2331 (inherit librsvg)
63016e7c 2332 (name "librsvg")
3276e123 2333 (version "2.46.4")
69568670
EF
2334 (source (origin
2335 (method url-fetch)
2336 (uri (string-append "mirror://gnome/sources/librsvg/"
2337 (version-major+minor version) "/"
2338 "librsvg-" version ".tar.xz"))
2339 (sha256
2340 (base32
2341 "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl"))
2342 (modules '((guix build utils)))
2343 (snippet
2344 '(begin (delete-file-recursively "vendor")
2345 ;; Don't demand an exact version for string_cache
2346 (substitute* "rsvg_internals/Cargo.toml"
2347 (("\"=") "\""))
2348 #t))))
2349 (build-system cargo-build-system)
63016e7c 2350 (arguments
69568670
EF
2351 `(#:modules ((guix build cargo-build-system)
2352 (guix build utils)
2353 ((guix build gnu-build-system) #:prefix gnu:))
2354 #:vendor-dir "vendor"
2355 #:cargo-inputs
2356 (("rust-bitflags" ,rust-bitflags-1)
2357 ("rust-cairo-rs" ,rust-cairo-rs-0.7)
2358 ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
2359 ("rust-cssparser" ,rust-cssparser-0.25)
2360 ("rust-data-url" ,rust-data-url-0.1)
2361 ("rust-downcast-rs" ,rust-downcast-rs-1.1)
2362 ("rust-encoding" ,rust-encoding-0.2)
2363 ("rust-float-cmp" ,rust-float-cmp-0.5)
2364 ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.7)
2365 ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
2366 ("rust-gio" ,rust-gio-0.7)
2367 ("rust-gio-sys" ,rust-gio-sys-0.9)
2368 ("rust-glib" ,rust-glib-0.8)
2369 ("rust-glib-sys" ,rust-glib-sys-0.9)
2370 ("rust-gobject-sys" ,rust-gobject-sys-0.9)
2371 ("rust-itertools" ,rust-itertools-0.8)
2372 ("rust-language-tags" ,rust-language-tags-0.2)
2373 ("rust-lazy-static" ,rust-lazy-static-1)
2374 ("rust-libc" ,rust-libc-0.2)
2375 ("rust-locale-config" ,rust-locale-config-0.3)
2376 ("rust-markup5ever" ,rust-markup5ever-0.9)
2377 ("rust-nalgebra" ,rust-nalgebra-0.18)
2378 ("rust-num-traits" ,rust-num-traits-0.2)
2379 ("rust-pkg-config" ,rust-pkg-config-0.3)
2380 ("rust-pango" ,rust-pango-0.7)
2381 ("rust-pango-sys" ,rust-pango-sys-0.9)
2382 ("rust-pangocairo" ,rust-pangocairo-0.8)
2383 ("rust-phf" ,rust-phf-0.7)
2384 ("rust-rayon" ,rust-rayon-1.3)
2385 ("rust-rctree" ,rust-rctree-0.3)
2386 ("rust-string-cache" ,rust-string-cache-0.7)
2387 ("rust-regex" ,rust-regex-1.3)
2388 ("rust-url" ,rust-url-2.1)
2389 ("rust-xml-rs" ,rust-xml-rs-0.8))
2390 #:cargo-development-inputs
2391 (("rust-cairo-rs" ,rust-cairo-rs-0.7)
2392 ("rust-criterion" ,rust-criterion-0.2))
ec47c07d 2393 #:phases
b6239e45 2394 (modify-phases %standard-phases
69568670 2395 (add-after 'unpack 'prepare-for-build
ec47c07d 2396 (lambda _
69568670
EF
2397 ;; In lieu of #:make-flags
2398 (setenv "CC" "gcc")
2399 ;; Something about the build environment resists building
2400 ;; successfully with the '--locked' flag.
2401 (substitute* '("Makefile.am"
2402 "Makefile.in")
2403 (("--locked") ""))
2404 #t))
b6239e45 2405 (add-before 'configure 'pre-configure
69568670 2406 (lambda _
b6239e45
EF
2407 (substitute* "gdk-pixbuf-loader/Makefile.in"
2408 ;; By default the gdk-pixbuf loader is installed under
2409 ;; gdk-pixbuf's prefix. Work around that.
2410 (("gdk_pixbuf_moduledir = .*$")
2411 (string-append "gdk_pixbuf_moduledir = "
2412 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2413 "loaders\n"))
2414 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2415 (("gdk_pixbuf_cache_file = .*$")
2416 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2417 #t))
69568670
EF
2418 (add-after 'configure 'gnu-configure
2419 (assoc-ref gnu:%standard-phases 'configure))
2420 ;(lambda* (#:key outputs #:allow-other-keys)
2421 ; ((assoc-ref gnu:%standard-phases 'configure)
2422 ; #:outputs outputs
2423 ; #:configure-flags ("--disable-static"
2424 ; "--enable-vala"))))
2425 (add-after 'configure 'dont-vendor-self
2426 (lambda* (#:key vendor-dir #:allow-other-keys)
2427 ;; Don't keep the whole tarball in the vendor directory
2428 (delete-file-recursively
2429 (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))
2430 #t))
2431 (replace 'build
2432 (assoc-ref gnu:%standard-phases 'build))
2433 (replace 'check
2434 (lambda* args
2435 ((assoc-ref gnu:%standard-phases 'check)
2436 #:test-target "check")))
2437 (replace 'install
2438 (assoc-ref gnu:%standard-phases 'install))
ec47c07d 2439 (add-before 'check 'remove-failing-tests
b6239e45 2440 (lambda _
64a153bd
MW
2441 (with-directory-excursion "tests/fixtures/reftests"
2442 (for-each delete-file
ec47c07d
MB
2443 '(;; The images produced by these tests differ slightly
2444 ;; from their reference counterparts due to differences
2445 ;; in the build environment (missing fonts, etc). See
2446 ;; <tests/README.md> for details.
2447 ;; These fail on x86_64.
2448 "svg1.1/coords-viewattr-02-b.svg"
2449 "svg1.1/filters-composite-04-f.svg"
2450 "svg1.1/filters-image-01-b.svg"
2451 "svg1.1/filters-conv-02-f.svg"
2452 "svg1.1/filters-conv-04-f.svg"
2453 ;; This test fails on i686:
64a153bd 2454 "svg1.1/masking-path-04-b.svg"
64a153bd
MW
2455 ;; This test fails on armhf:
2456 "svg1.1/masking-mask-01-b.svg"
64a153bd 2457 ;; This test fails on aarch64:
ec47c07d 2458 "bugs/777834-empty-text-children.svg")))
b6239e45 2459 #t)))))
cf9dad6c 2460 (license license:lgpl2.1+)))
5698b8b8
JD
2461
2462(define-public libidl
2463 (package
2464 (name "libidl")
2465 (version "0.8.14")
2466 (source (origin
2467 (method url-fetch)
80a06e62
EF
2468 (uri (string-append "mirror://gnome/sources/libIDL/"
2469 (version-major+minor version) "/"
2470 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
2471 (sha256
2472 (base32
2473 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
2474 (build-system gnu-build-system)
2475 (inputs `(("glib" ,glib)))
2476 (native-inputs
2477 `(("pkg-config" ,pkg-config)
b3546174 2478 ("flex" ,flex)
5698b8b8
JD
2479 ("bison" ,bison)))
2480 (home-page "http://freecode.com/projects/libidl")
2481 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 2482 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
2483Definition Language (idl) files, which is a specification for defining
2484portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 2485GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 2486functionality was designed to be as reusable and portable as possible.")
ef2c55bb 2487 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
2488 (license license:lgpl2.0+)))
2489
2490
2491(define-public orbit2
2492 (package
2493 (name "orbit2")
2494 (version "2.14.19")
2495 (source (origin
2496 (method url-fetch)
2e6ecc5c 2497 (uri (let ((upstream-name "ORBit2"))
a124bbd2 2498 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2499 (version-major+minor version) "/"
2500 upstream-name "-" version ".tar.bz2")))
5698b8b8 2501 (sha256
a124bbd2
SB
2502 (base32
2503 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
2504 (build-system gnu-build-system)
2505 (arguments
c2d837b9
MB
2506 `(;; The "timeout-server" test hangs when run in parallel.
2507 #:parallel-tests? #f
2508 #:configure-flags
8aad2e32
LC
2509 '(;; We don't need static libraries, plus they don't build reproducibly
2510 ;; (non-deterministic ordering of .o files in the archive.)
2511 "--disable-static"
2512
2513 ;; The programmer kindly gives us a hook to turn off deprecation
2514 ;; warnings ...
2515 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
2516 ;; ... which they then completly ignore !!
2517 #:phases
dc1d3cde
KK
2518 (modify-phases %standard-phases
2519 (add-before 'configure 'ignore-deprecations
2520 (lambda _
2521 (substitute* "linc2/src/Makefile.in"
2522 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2523 #t)))))
5698b8b8
JD
2524 (inputs `(("glib" ,glib)
2525 ("libidl" ,libidl)))
2526 (native-inputs
2527 `(("pkg-config" ,pkg-config)))
2528 (home-page "https://projects.gnome.org/orbit2/")
2529 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 2530 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 2531featuring mature C, C++ and Python bindings.")
a124bbd2
SB
2532 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
2533 ;; a version. SOME of the code files have licence notices for GPLv2+.
2534 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
2535 (license license:gpl2+)
2536 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
2537
2538
2539(define-public libbonobo
2540 (package
2541 (name "libbonobo")
2542 (version "2.32.1")
2543 (source (origin
2544 (method url-fetch)
5becd025 2545 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 2546 (version-major+minor version)
5becd025 2547 "/" name "-" version ".tar.bz2"))
5698b8b8 2548 (sha256
f1fc45a9 2549 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
2550 (patches (search-patches
2551 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
2552 (build-system gnu-build-system)
2553 (arguments
2554 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
2555 `(#:configure-flags
2556 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
2557 ;; ... which they then completly ignore !!
2558 #:phases
dc1d3cde
KK
2559 (modify-phases %standard-phases
2560 (add-before 'configure 'ignore-deprecations
2561 (lambda _
2562 (substitute* "activation-server/Makefile.in"
2563 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
2564 #t)))
2565
2566 ;; There's apparently a race condition between the server stub
2567 ;; generation and linking of the example under 'samples/echo' that can
2568 ;; lead do undefined references when building in parallel, as reported
2569 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
2570 ;; Thus, disable parallel builds.
2571 #:parallel-build? #f))
5698b8b8
JD
2572 (inputs `(("popt" ,popt)
2573 ("libxml2" ,libxml2)))
2574 ;; The following are Required by the .pc file
44add1ce 2575 (propagated-inputs
5698b8b8
JD
2576 `(("glib" ,glib)
2577 ("orbit2" ,orbit2)))
2578 (native-inputs
2579 `(("intltool" ,intltool)
2580 ("pkg-config" ,pkg-config)
221ed17a 2581 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2582 ("flex" ,flex)
2583 ("bison" ,bison)))
2584 (home-page "https://developer.gnome.org/libbonobo/")
2585 (synopsis "Framework for creating reusable components for use in GNOME applications")
2586 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 2587use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
2588 ;; Licence not explicitly stated. Source files contain no licence notices.
2589 ;; Tarball contains text of both GPLv2 and LGPLv2
2590 ;; GPLv2 covers both conditions
2591 (license license:gpl2+)))
2592
2593
2594(define-public gconf
2595 (package
2596 (name "gconf")
2597 (version "3.2.6")
2598 (source (origin
2599 (method url-fetch)
a124bbd2
SB
2600 (uri
2601 (let ((upstream-name "GConf"))
2602 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2603 (version-major+minor version) "/"
2604 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
2605 (sha256
2606 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
2607 (build-system gnu-build-system)
2e88d113 2608 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 2609 ("libxml2" ,libxml2)))
2e6ecc5c
AE
2610 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
2611 ("orbit2" ,orbit2)))
5698b8b8
JD
2612 (native-inputs
2613 `(("intltool" ,intltool)
221ed17a 2614 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2615 ("pkg-config" ,pkg-config)))
2616 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
2617 (synopsis "Store application preferences")
2618 (description "Gconf is a system for storing application preferences. It
2619is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
2620 (license license:lgpl2.0+)
2621 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
2622
2623
2624(define-public gnome-mime-data
2625 (package
2626 (name "gnome-mime-data")
2627 (version "2.18.0")
2628 (source (origin
2629 (method url-fetch)
b38e45d8
EB
2630 (uri (string-append "mirror://gnome/sources/" name "/"
2631 (version-major+minor version) "/"
2632 name "-" version ".tar.bz2"))
5698b8b8
JD
2633 (sha256
2634 (base32
2635 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
2636 (build-system gnu-build-system)
2637 (native-inputs
2638 `(("perl" ,perl)
2639 ("intltool" ,intltool)))
3e6add96
LC
2640 (arguments
2641 '(#:phases (modify-phases %standard-phases
2642 (add-after 'configure 'use-our-intltool
2643 (lambda _
2644 ;; Do not use the bundled intltool commands, which lack
2645 ;; the "dotless @INC" fixes of our 'intltool' package.
2646 (substitute* (find-files "." "^Makefile$")
2647 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
2648 (string-append "INTLTOOL_" tool " = intltool-"
2649 (string-downcase tool) "\n")))
2650 #t)))))
f032d0be 2651 (home-page "https://www.gnome.org")
35b9e423 2652 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
2653 (description "GNOME Mime Data is a module which contains the base MIME
2654and Application database for GNOME. The data stored by this module is
2655designed to be accessed through the MIME functions in GnomeVFS.")
2656 (license license:gpl2+)))
2657
2658
2659(define-public gnome-vfs
2660 (package
2661 (name "gnome-vfs")
2662 (version "2.24.4")
2663 (source (origin
2664 (method url-fetch)
b38e45d8
EB
2665 (uri (string-append "mirror://gnome/sources/" name "/"
2666 (version-major+minor version) "/"
2667 name "-" version ".tar.bz2"))
5698b8b8 2668 (sha256
9e12bc34
MW
2669 (base32
2670 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
2671 (build-system gnu-build-system)
2672 (arguments
db5127d8 2673 `(#:phases
dc1d3cde
KK
2674 (modify-phases %standard-phases
2675 (add-before 'configure 'ignore-deprecations
2676 (lambda _
2677 (substitute* '("libgnomevfs/Makefile.in"
2678 "daemon/Makefile.in")
2679 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2680 #t))
2681 (add-before 'configure 'patch-test-async-cancel-to-never-fail
2682 (lambda _
2683 (substitute* "test/test-async-cancel.c"
2684 (("EXIT_FAILURE") "77"))
2685 #t)))))
2e6ecc5c 2686 (inputs `(("libxml2" ,libxml2)
5698b8b8 2687 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
2688 ("gconf" ,gconf)
2689 ("gnome-mime-data" ,gnome-mime-data)
2690 ("zlib" ,zlib)))
2691 (native-inputs
221ed17a
EB
2692 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2693 ("intltool" ,intltool)
5698b8b8
JD
2694 ("pkg-config" ,pkg-config)))
2695 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 2696 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
2697 (description
2698 "GnomeVFS is the core library used to access files and folders in GNOME
2699applications. It provides a file system abstraction which allows applications
2700to access local and remote files with a single consistent API.")
5698b8b8
JD
2701 (license license:lgpl2.0+)))
2702
2703
2704
2705(define-public libgnome
2706 (package
2707 (name "libgnome")
2708 (version "2.32.1")
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.bz2"))
5698b8b8
JD
2714 (sha256
2715 (base32
17c3eea7
LC
2716 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
2717 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
2718 (build-system gnu-build-system)
2719 (arguments
2720 `(#:phases
dc1d3cde
KK
2721 (modify-phases %standard-phases
2722 (add-before 'configure 'enable-deprecated
2723 (lambda _
2724 (substitute* "libgnome/Makefile.in"
2725 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2726 #t)))))
25338e9f 2727 (inputs `(("libxml2" ,libxml2)))
5698b8b8 2728 (native-inputs
221ed17a
EB
2729 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2730 ("intltool" ,intltool)
5698b8b8
JD
2731 ("pkg-config" ,pkg-config)))
2732 ;; The following are listed as Required in the .pc file
2733 ;; (except for libcanberra -- which seems to be oversight on the part
2734 ;; of the upstream developers -- anything that links against libgnome,
2735 ;; must also link against libcanberra
2736 (propagated-inputs
2737 `(("libcanberra" ,libcanberra)
2738 ("libbonobo" ,libbonobo)
2739 ("gconf" ,gconf)
a640d3d5
LC
2740 ("gnome-vfs" ,gnome-vfs)
2741 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
2742 (home-page "https://developer.gnome.org/libgnome/")
2743 (synopsis "Useful routines for building applications")
2744 (description "The libgnome library provides a number of useful routines
2745for building modern applications, including session management, activation of
2746files and URIs, and displaying help.")
2747 (license license:lgpl2.0+)))
2748
2749
2750(define-public libart-lgpl
2751 (package
2752 (name "libart-lgpl")
76c9b6aa 2753 (version "2.3.21")
5698b8b8
JD
2754 (source (origin
2755 (method url-fetch)
2756 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
2757 (string-append "mirror://gnome/sources/" upstream-name "/"
2758 (version-major+minor version) "/"
2759 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
2760 (sha256
2761 (base32
76c9b6aa 2762 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
2763 (build-system gnu-build-system)
2764 (native-inputs
2765 `(("pkg-config" ,pkg-config)))
2766 (home-page "https://people.gnome.org/~mathieu/libart")
2767 (synopsis "2D drawing library")
2e6ecc5c 2768 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
2769high-quality vector-based 2D library with antialiasing and alpha composition.")
2770 (license license:lgpl2.0+)))
2771
2772
2773
2774(define-public libgnomecanvas
2775 (package
2776 (name "libgnomecanvas")
2777 (version "2.30.3")
2778 (source (origin
2779 (method url-fetch)
b38e45d8
EB
2780 (uri (string-append "mirror://gnome/sources/" name "/"
2781 (version-major+minor version) "/"
2782 name "-" version ".tar.gz"))
5698b8b8
JD
2783 (sha256
2784 (base32
2785 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
2786 (build-system gnu-build-system)
2787 ;; Mentioned as Required in the .pc file
2788 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
2789 ("gtk+" ,gtk+-2)))
2790 (native-inputs
2791 `(("intltool" ,intltool)
221ed17a 2792 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2793 ("pkg-config" ,pkg-config)))
2794 (home-page "https://developer.gnome.org/libgnomecanvas/")
2795 (synopsis "Flexible widget for creating interactive structured graphics")
2796 (description "The GnomeCanvas widget provides a flexible widget for
2797creating interactive structured graphics.")
2798 (license license:lgpl2.0+)))
2799
eadc734e
RW
2800(define-public libgnomecanvasmm
2801 (package
2802 (name "libgnomecanvasmm")
2803 (version "2.26.0")
2804 (source (origin
2805 (method url-fetch)
2806 (uri (string-append "mirror://gnome/sources/" name "/"
2807 (version-major+minor version) "/"
2808 name "-" version ".tar.bz2"))
2809 (sha256
2810 (base32
2811 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
2812 (build-system gnu-build-system)
2813 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
2814 (native-inputs
2815 `(("gtkmm-2" ,gtkmm-2)
2816 ("pkg-config" ,pkg-config)))
8e933cb3 2817 (home-page "https://gtkmm.org")
eadc734e
RW
2818 (synopsis "C++ bindings to the GNOME Canvas library")
2819 (description "C++ bindings to the GNOME Canvas library.")
2820 (license license:lgpl2.0+)))
2821
5698b8b8
JD
2822(define-public libgnomeui
2823 (package
2824 (name "libgnomeui")
2825 (version "2.24.5")
2826 (source (origin
2827 (method url-fetch)
b38e45d8
EB
2828 (uri (string-append "mirror://gnome/sources/" name "/"
2829 (version-major+minor version) "/"
2830 name "-" version ".tar.bz2"))
8fa1872a 2831 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
2832 (sha256
2833 (base32
2834 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
2835 (build-system gnu-build-system)
2836 ;; Mentioned as Required in the .pc file
0a38a497
AE
2837 (propagated-inputs `(("libbonoboui" ,libbonoboui)
2838 ("libgnome" ,libgnome)
2839 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 2840 ("libgnome-keyring" ,libgnome-keyring)))
4bd428a7 2841 (inputs `(("libjpeg" ,libjpeg-turbo)
5698b8b8
JD
2842 ("popt" ,popt)
2843 ("libbonobo" ,libbonobo)
2844 ("libxml2" ,libxml2)
2845 ("libglade" ,libglade)))
2846 (native-inputs
221ed17a
EB
2847 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2848 ("intltool" ,intltool)
5698b8b8
JD
2849 ("pkg-config" ,pkg-config)))
2850 (home-page "https://developer.gnome.org/libgnomeui/")
2851 (synopsis "Additional widgets for applications")
35b9e423 2852 (description "The libgnomeui library provides additional widgets for
e881752c
AK
2853applications. Many of the widgets from libgnomeui have already been
2854ported to GTK+.")
5698b8b8
JD
2855 (license license:lgpl2.0+)))
2856
2857(define-public libglade
2858 (package
2859 (name "libglade")
2860 (version "2.6.4")
2861 (source (origin
2862 (method url-fetch)
b38e45d8
EB
2863 (uri (string-append "mirror://gnome/sources/" name "/"
2864 (version-major+minor version) "/"
2865 name "-" version ".tar.bz2"))
5698b8b8
JD
2866 (sha256
2867 (base32
2868 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
2869 (build-system gnu-build-system)
2870 (inputs
92dcc23d
AE
2871 `(("python" ,python))) ;; needed for the optional libglade-convert program
2872 (propagated-inputs
5698b8b8 2873 `(("gtk+-2" ,gtk+-2)
92dcc23d 2874 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
2875 (native-inputs
2876 `(("pkg-config" ,pkg-config)))
2877 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
2878 (synopsis "Load glade interfaces and access the glade built widgets")
2879 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
2880graphical interfaces described in glade files and for accessing the
2881widgets built in the loading process.")
2882 (license license:gpl2+))) ; This is correct. GPL not LGPL
2883
2884(define-public libgnomeprint
eb497b66
LC
2885 ;; This library has been deprecated since 2006; see
2886 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
2887 (package
2888 (name "libgnomeprint")
d19db454 2889 (version "2.18.8")
5698b8b8
JD
2890 (source (origin
2891 (method url-fetch)
b38e45d8
EB
2892 (uri (string-append "mirror://gnome/sources/" name "/"
2893 (version-major+minor version) "/"
2894 name "-" version ".tar.bz2"))
5698b8b8
JD
2895 (sha256
2896 (base32
d19db454 2897 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
2898 (build-system gnu-build-system)
2899 (inputs
2900 `(("popt" ,popt)
2901 ("libart-lgpl" ,libart-lgpl)
2902 ("gtk+" ,gtk+-2)
44add1ce 2903 ("libxml2" ,libxml2)))
5698b8b8
JD
2904 (native-inputs
2905 `(("intltool" ,intltool)
221ed17a 2906 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2907 ("pkg-config" ,pkg-config)))
2908 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 2909 (synopsis "Printing framework for GNOME")
eb497b66
LC
2910 (description
2911 "GNOME-print was a printing framework for GNOME. It has been deprecated
2912since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
2913 (license license:lgpl2.0+)))
2914
2915
2916(define-public libgnomeprintui
eb497b66 2917 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
2918 (package
2919 (name "libgnomeprintui")
36053d7f 2920 (version "2.18.6")
5698b8b8
JD
2921 (source (origin
2922 (method url-fetch)
b38e45d8
EB
2923 (uri (string-append "mirror://gnome/sources/" name "/"
2924 (version-major+minor version) "/"
2925 name "-" version ".tar.bz2"))
5698b8b8
JD
2926 (sha256
2927 (base32
36053d7f 2928 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
2929 (build-system gnu-build-system)
2930 ;; Mentioned as Required in the .pc file
2931 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
2932 (inputs `(("gtk+" ,gtk+-2)
2933 ("glib" ,glib)
2934 ("gnome-icon-theme" ,gnome-icon-theme)
2935 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 2936 ("libxml2" ,libxml2)))
5698b8b8
JD
2937 (native-inputs
2938 `(("intltool" ,intltool)
2939 ("pkg-config" ,pkg-config)))
2940 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
2941 (synopsis "Printing framework for GNOME")
eb497b66 2942 (description (package-description libgnomeprint))
5698b8b8
JD
2943 (license license:lgpl2.0+)))
2944
5698b8b8
JD
2945(define-public libbonoboui
2946 (package
2947 (name "libbonoboui")
2948 (version "2.24.5")
2949 (source (origin
2950 (method url-fetch)
b38e45d8
EB
2951 (uri (string-append "mirror://gnome/sources/" name "/"
2952 (version-major+minor version) "/"
2953 name "-" version ".tar.bz2"))
5698b8b8
JD
2954 (sha256
2955 (base32
2956 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
2957 (build-system gnu-build-system)
2958 (arguments
2959 `(#:phases
dc1d3cde
KK
2960 (modify-phases %standard-phases
2961 (add-before 'check 'start-xserver
2962 (lambda* (#:key inputs #:allow-other-keys)
2963 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2964 (disp ":1"))
2965
2966 (setenv "HOME" (getcwd))
2967 (setenv "DISPLAY" disp)
2968 ;; There must be a running X server and make check doesn't start one.
2969 ;; Therefore we must do it.
2970 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
2971 ;; Mentioned as Required by the .pc file
2972 (propagated-inputs `(("libxml2" ,libxml2)))
2973 (inputs
2974 `(("popt" ,popt)
2975 ("pangox-compat" ,pangox-compat)
2976 ("libgnome" ,libgnome)
2977 ("libgnomecanvas" ,libgnomecanvas)
2978 ("libglade" ,libglade)))
2979 (native-inputs
221ed17a
EB
2980 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
2981 ("intltool" ,intltool)
ff337525 2982 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
2983 ("pkg-config" ,pkg-config)))
2984 (home-page "https://developer.gnome.org/libbonoboui/")
2985 (synopsis "Some user interface controls using Bonobo")
2986 (description "The Bonobo UI library provides a number of user interface
2987controls using the Bonobo component framework.")
2988 (license license:lgpl2.0+)))
2989
fecbf86e
SB
2990(define-public libwnck
2991 (package
2992 (name "libwnck")
d3b40696 2993 (version "3.32.0")
fecbf86e
SB
2994 (source (origin
2995 (method url-fetch)
2996 (uri (string-append "mirror://gnome/sources/" name "/"
2997 (version-major+minor version) "/"
2998 name "-" version ".tar.xz"))
2999 (sha256
ad9b8987 3000 (base32
d3b40696
KK
3001 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
3002 (build-system meson-build-system)
fecbf86e
SB
3003 (native-inputs
3004 `(("pkg-config" ,pkg-config)
d3b40696
KK
3005 ("glib" ,glib "bin") ; for glib-mkenums
3006 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
3007 ("intltool" ,intltool)))
3008 (propagated-inputs
427476d5
SB
3009 `(("gtk+" ,gtk+)
3010 ("libxres" ,libxres)
3011 ("startup-notification" ,startup-notification)))
fecbf86e
SB
3012 (home-page "https://developer.gnome.org/libwnck/")
3013 (synopsis "Window Navigator Construction Kit")
3014 (description
3015 "Libwnck is the Window Navigator Construction Kit, a library for use in
3016writing pagers, tasklists, and more generally applications that are dealing
3017with window management. It tries hard to respect the Extended Window Manager
3018Hints specification (EWMH).")
3019 (license license:lgpl2.0+)))
3020
3021;; stable version for gtk2, required by xfwm4.
dbb7a081 3022(define-public libwnck-2
fecbf86e
SB
3023 (package (inherit libwnck)
3024 (name "libwnck")
3025 (version "2.30.7")
3026 (source (origin
3027 (method url-fetch)
3028 (uri (string-append "mirror://gnome/sources/" name "/"
3029 (version-major+minor version) "/"
3030 name "-" version ".tar.xz"))
3031 (sha256
3032 (base32
3033 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
3034 (build-system gnu-build-system)
3035 (native-inputs
3036 `(("pkg-config" ,pkg-config)
3037 ("intltool" ,intltool)))
fecbf86e 3038 (propagated-inputs
427476d5
SB
3039 `(("gtk+" ,gtk+-2)
3040 ("libxres" ,libxres)
3041 ("startup-notification" ,startup-notification)))))
b804c61e
JD
3042
3043(define-public goffice
3044 (package
3045 (name "goffice")
09abffcc 3046 (version "0.10.46")
b804c61e
JD
3047 (source (origin
3048 (method url-fetch)
16243f0b 3049 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 3050 (version-major+minor version) "/"
16243f0b 3051 "goffice-" version ".tar.xz"))
b804c61e 3052 (sha256
09abffcc 3053 (base32 "1a8kba36zwzr0ilafc0d1nsxxma1qibviiifd0jhbxp180x6v385"))))
b804c61e 3054 (build-system gnu-build-system)
72a06d3e 3055 (outputs '("out"
355420c6 3056 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
3057 (arguments
3058 '(#:configure-flags (list (string-append "--with-html-dir="
3059 (assoc-ref %outputs "doc")
3060 "/share/gtk-doc/html"))))
b804c61e
JD
3061 (inputs
3062 `(("gtk+" ,gtk+)
3063 ("libgsf" ,libgsf)
3064 ("librsvg" ,librsvg)
3065 ("libxslt" ,libxslt)
3066 ("libxml2" ,libxml2)))
3067 (native-inputs
3068 `(("intltool" ,intltool)
f280cdb1 3069 ("glib" ,glib "bin")
b804c61e
JD
3070 ("pkg-config" ,pkg-config)))
3071 (home-page "https://developer.gnome.org/goffice/")
3072 (synopsis "Document-centric objects and utilities")
3073 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 3074 (license
b804c61e
JD
3075 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3076 ;; Note: NOT LGPL
3077 (list license:gpl2 license:gpl3))))
3078
c024ae36
RW
3079(define-public goffice-0.8
3080 (package (inherit goffice)
3081 (version "0.8.17")
3082 (source (origin
3083 (method url-fetch)
3084 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
3085 (version-major+minor version) "/"
3086 (package-name goffice) "-" version ".tar.xz"))
3087 (sha256
3088 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
3089 (arguments
3090 `(#:phases
dc1d3cde
KK
3091 (modify-phases %standard-phases
3092 (add-after 'unpack 'fix-pcre-check
3093 (lambda _
3094 ;; Only glib.h can be included directly. See
3095 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
3096 (substitute* "configure"
3097 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
3098
3099 ,@(package-arguments goffice)))
c024ae36
RW
3100 (propagated-inputs
3101 ;; libgoffice-0.8.pc mentions libgsf-1
3102 `(("libgsf" ,libgsf)))
3103 (inputs
3104 `(("gtk" ,gtk+-2)
3105 ,@(alist-delete "gtk" (package-inputs goffice))))))
3106
b804c61e
JD
3107(define-public gnumeric
3108 (package
3109 (name "gnumeric")
f0517b5d 3110 (version "1.12.46")
b804c61e
JD
3111 (source (origin
3112 (method url-fetch)
b7fd0217 3113 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 3114 (version-major+minor version) "/"
b7fd0217 3115 "gnumeric-" version ".tar.xz"))
b804c61e
JD
3116 (sha256
3117 (base32
f0517b5d 3118 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 3119 (build-system glib-or-gtk-build-system)
b804c61e
JD
3120 (arguments
3121 `(;; The gnumeric developers don't worry much about failing tests.
3122 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 3123 #:tests? #f
b804c61e 3124 #:phases
7bcbd40d
EF
3125 (modify-phases %standard-phases
3126 (add-before
3127 'configure 'pre-conf
3128 (lambda* (#:key outputs #:allow-other-keys)
3129 ;; Make install tries to write into the directory of goffice
3130 ;; I am informed that this only affects the possibility to embed a
3131 ;; spreadsheet inside an Abiword document. So presumably when we
3132 ;; package Abiword we'll have to refer it to this directory.
3133 (substitute* "configure"
3134 (("^GOFFICE_PLUGINS_DIR=.*")
3135 (string-append "GOFFICE_PLUGINS_DIR="
3136 (assoc-ref outputs "out")
3137 "/goffice/plugins"))))))))
b804c61e
JD
3138 (inputs
3139 `(("glib" ,glib)
3140 ("gtk+" ,gtk+)
3141 ("goffice" ,goffice)
3142 ("libgsf" ,libgsf)
7bcbd40d 3143 ("librsvg" ,librsvg)
b804c61e 3144 ("libxml2" ,libxml2)
7bcbd40d 3145 ("libxslt" ,libxslt)
2e4c5457 3146 ("python" ,python-2)
6983ba56 3147 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
3148 ("zlib" ,zlib)))
3149 (native-inputs
6983ba56 3150 `(("bison" ,bison)
1ed398d1 3151 ("docbook-xml" ,docbook-xml)
6983ba56 3152 ("intltool" ,intltool)
785fcb62 3153 ("itstool" ,itstool)
b9663471 3154 ("glib:bin" ,glib "bin")
b804c61e
JD
3155 ("pkg-config" ,pkg-config)))
3156 (home-page "http://www.gnumeric.org")
66672a45
LC
3157 (synopsis "Spreadsheet application")
3158 (description
3159 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
3160interoperable with other spreadsheet applications. It has a vast array of
3161features beyond typical spreadsheet functionality, such as support for linear
3162and non-linear solvers, statistical analysis, and telecommunication
3163engineering.")
3164 (license
b804c61e
JD
3165 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3166 (list license:gpl2 license:gpl3))))
6f885c05
FB
3167
3168(define-public gnome-themes-standard
3169 (package
3170 (name "gnome-themes-standard")
0b7b8fb0 3171 (version "3.22.3")
6f885c05
FB
3172 (source
3173 (origin
3174 (method url-fetch)
2e6ecc5c 3175 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
3176 (version-major+minor version) "/" name "-"
3177 version ".tar.xz"))
3178 (sha256
3179 (base32
0b7b8fb0 3180 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 3181 (build-system gnu-build-system)
8ac70c7f
SB
3182 (arguments
3183 '(#:configure-flags
3184 ;; Don't create 'icon-theme.cache'.
3185 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
3186 (true (string-append coreutils "/bin/true")))
3187 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
3188 (inputs
3189 `(("gtk+" ,gtk+)
3190 ("gtk+-2" ,gtk+-2)
3191 ("librsvg" ,librsvg)
3192 ("libxml2" ,libxml2)
3193 ("glib" ,glib)))
3194 (native-inputs
3195 `(("intltool" ,intltool)
3196 ("glib:bin" ,glib "bin")
3197 ("pkg-config" ,pkg-config)))
6f885c05
FB
3198 (home-page "https://launchpad.net/gnome-themes-standard")
3199 (synopsis "Default GNOME 3 themes")
3200 (description
3201 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
3202 (license license:lgpl2.1+)))
5a659a48 3203
df90c701
RW
3204(define-public seahorse
3205 (package
3206 (name "seahorse")
1efcf722 3207 (version "3.34")
df90c701
RW
3208 (source
3209 (origin
3210 (method url-fetch)
3211 (uri (string-append "mirror://gnome/sources/" name "/"
3212 (version-major+minor version) "/" name "-"
3213 version ".tar.xz"))
3214 (sha256
3215 (base32
1efcf722 3216 "16sfnqrdlr5xx6kixx2ln1mva7nngjlw1k3f5n454vyaigffjh2v"))))
af561664
MÁAV
3217 (build-system meson-build-system)
3218 (arguments
bcea3c11
KK
3219 '(#:glib-or-gtk? #t
3220 #:phases
af561664
MÁAV
3221 (modify-phases %standard-phases
3222 (add-after 'unpack 'skip-gtk-update-icon-cache
3223 ;; Don't create 'icon-theme.cache'.
3224 (lambda _
3225 (substitute* "build-aux/meson_post_install.py"
3226 (("gtk-update-icon-cache") "true"))
3227 #t)))))
df90c701
RW
3228 (inputs
3229 `(("gtk+" ,gtk+)
3230 ("gcr" ,gcr)
34b979b9 3231 ("gnupg" ,gnupg)
df90c701 3232 ("gpgme" ,gpgme)
34b979b9 3233 ("openldap" ,openldap)
4a1bf090 3234 ("openssh" ,openssh)
af561664 3235 ("avahi" ,avahi)
bcea3c11 3236 ("libpwquality" ,libpwquality)
34b979b9
EF
3237 ("libsecret" ,libsecret)
3238 ("libsoup" ,libsoup)))
df90c701 3239 (native-inputs
af561664 3240 `(("gettext" ,gettext-minimal)
df90c701
RW
3241 ("glib:bin" ,glib "bin")
3242 ("itstool" ,itstool)
bcb354ad 3243 ("pkg-config" ,pkg-config)
af561664 3244 ("vala" ,vala)
bcb354ad 3245 ("xmllint" ,libxml2)))
bcea3c11 3246 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
3247 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
3248 (description
3249 "Seahorse is a GNOME application for managing encryption keys and
3250passwords in the GNOME keyring.")
3251 (license license:gpl2+)))
3252
5a659a48
SB
3253(define-public vala
3254 (package
3255 (name "vala")
b92a36db 3256 (version "0.46.5")
5a659a48
SB
3257 (source (origin
3258 (method url-fetch)
3259 (uri (string-append "mirror://gnome/sources/" name "/"
3260 (version-major+minor version) "/"
3261 name "-" version ".tar.xz"))
3262 (sha256
3263 (base32
b92a36db 3264 "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s"))))
5a659a48 3265 (build-system gnu-build-system)
1ea90625
SB
3266 (arguments
3267 '(#:phases
3268 (modify-phases %standard-phases
f4925a4f 3269 (add-before 'check 'pre-check
1ea90625
SB
3270 (lambda _
3271 (setenv "CC" "gcc")
8839b6be
RW
3272 (substitute* "valadoc/tests/testrunner.sh"
3273 (("export PKG_CONFIG_PATH=" m)
3274 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
3275 ;; For missing '/etc/machine-id'.
3276 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 3277 #t)))))
5a659a48
SB
3278 (native-inputs
3279 `(("pkg-config" ,pkg-config)
3280 ("flex" ,flex)
3281 ("bison" ,bison)
3282 ("xsltproc" ,libxslt)
3283 ("dbus" ,dbus) ; for dbus tests
3284 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
3285 (inputs
3286 `(("graphviz" ,graphviz)))
5a659a48 3287 (propagated-inputs
8839b6be 3288 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 3289 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
3290 (synopsis "Compiler for the GObject type system")
3291 (description
3292 "Vala is a programming language that aims to bring modern programming
3293language features to GNOME developers without imposing any additional runtime
3294requirements and without using a different ABI compared to applications and
3295libraries written in C.")
3296 (license license:lgpl2.1+)))
ea57378f
SB
3297
3298(define-public vte
3299 (package
3300 (name "vte")
663def11 3301 (version "0.60.2")
ea57378f
SB
3302 (source (origin
3303 (method url-fetch)
ac87ffb8 3304 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 3305 (version-major+minor version) "/"
ac87ffb8 3306 "vte-" version ".tar.xz"))
ea57378f
SB
3307 (sha256
3308 (base32
663def11 3309 "19ccbw0yca78h5qcnm8claj4fg1pj68nj1fsjqqfpzhj7w72i81m"))))
68c47474 3310 (build-system meson-build-system)
663def11
RPG
3311 (arguments
3312 `(#:configure-flags
11491e1b
DM
3313 '("-Dvapi=true"
3314 "-D_systemd=false")))
ea57378f
SB
3315 (native-inputs
3316 `(("pkg-config" ,pkg-config)
4684580a 3317 ("gettext" ,gettext-minimal)
ea57378f
SB
3318 ("vala" ,vala)
3319 ("gobject-introspection" ,gobject-introspection)
68c47474 3320 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 3321 ("gperf" ,gperf)
ea57378f
SB
3322 ("xmllint" ,libxml2)))
3323 (propagated-inputs
68c47474
TGR
3324 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
3325 ("gnutls" ,gnutls) ; ditto
3326 ("pcre2" ,pcre2))) ; ditto
f032d0be 3327 (home-page "https://www.gnome.org/")
ea57378f
SB
3328 (synopsis "Virtual Terminal Emulator")
3329 (description
3330 "VTE is a library (libvte) implementing a terminal emulator widget for
3331GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
3332gnome-terminal, but can also be used to embed a console/terminal in games,
3333editors, IDEs, etc.")
3334 (license license:lgpl2.1+)))
3335
c44fb4df
MO
3336(define-public vte-ng
3337 (package
3338 (inherit vte)
3339 (name "vte-ng")
24f4fcbe 3340 (version "0.58.2.a")
afd90f8d 3341 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
3342 (source (origin
3343 (method git-fetch)
3344 (uri (git-reference (url home-page) (commit version)))
3345 (file-name (git-file-name name version))
3346 (sha256
3347 (base32
24f4fcbe
MB
3348 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
3349 (build-system meson-build-system)
c44fb4df
MO
3350 (native-inputs
3351 `(("gtk-doc" ,gtk-doc)
c44fb4df 3352 ,@(package-native-inputs vte)))
c44fb4df 3353 (arguments
24f4fcbe 3354 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
3355 (synopsis "Enhanced VTE terminal widget")
3356 (description
3357 "VTE is a library (libvte) implementing a terminal emulator widget for
3358GTK+, this fork provides additional functions exposed for keyboard text
3359selection and URL hints.")))
3360
2776d72c
EF
3361;; provides vte 2.90, required for some terminal emulators
3362;; tilda bug: https://github.com/lanoxx/tilda/issues/94
3363;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
3364;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
3365;; pantheon-terminal, roxterm are not currently packaged
3366(define-public vte-0.36
3367 (package (inherit vte)
3368 (name "vte")
3369 (version "0.36.5")
3370 (source (origin
3371 (method url-fetch)
3372 (uri (string-append "mirror://gnome/sources/" name "/"
3373 (version-major+minor version) "/"
3374 name "-" version ".tar.xz"))
3375 (sha256
3376 (base32
3377 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
3378 (propagated-inputs
3379 `(("gtk" ,gtk+)
3380 ("ncurses" ,ncurses)))))
3381
ea57378f
SB
3382;; stable version for gtk2, required by xfce4-terminal.
3383(define-public vte/gtk+-2
3384 (package (inherit vte)
3385 (name "vte")
3386 (version "0.28.2")
3387 (source (origin
3388 (method url-fetch)
3389 (uri (string-append "mirror://gnome/sources/" name "/"
3390 (version-major+minor version) "/"
3391 name "-" version ".tar.xz"))
3392 (sha256
3393 (base32
7d48938a
EF
3394 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
3395 (patches (search-patches
3396 "vte-CVE-2012-2738-pt1.patch"
3397 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 3398 (build-system gnu-build-system)
ea57378f
SB
3399 (arguments
3400 '(#:configure-flags '("--disable-python")))
3401 (native-inputs
3402 `(("pkg-config" ,pkg-config)
3403 ("intltool" ,intltool)
3404 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
3405 (propagated-inputs
3406 `(("gtk+" ,gtk+-2) ; required by libvte.pc
3407 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 3408
cce0da5e
TD
3409(define-public vinagre
3410 (package
3411 (name "vinagre")
3412 (version "3.22.0")
3413 (source (origin
3414 (method url-fetch)
3415 (uri (string-append "mirror://gnome/sources/" name "/"
3416 (version-major+minor version) "/"
3417 name "-" version ".tar.xz"))
684f97f8
EF
3418 (patches (search-patches "vinagre-newer-freerdp.patch"
3419 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
3420 (sha256
3421 (base32
3422 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
3423 (build-system glib-or-gtk-build-system)
684f97f8 3424 (arguments
7f486d25
MC
3425 ;; Disable -Werror and such, to avoid build failures on compilation
3426 ;; warnings.
3427 '(#:configure-flags '("--enable-compile-warnings=minimum")
3428 #:phases
684f97f8 3429 (modify-phases %standard-phases
1839768c
EF
3430 (add-before 'install 'skip-gtk-update-icon-cache
3431 (lambda _
3432 ;; Don't create 'icon-theme.cache'
3433 (substitute* (find-files "." "^Makefile$")
3434 (("gtk-update-icon-cache") (which "true")))
3435 #t))
684f97f8
EF
3436 (add-after 'unpack 'patch-configure
3437 (lambda _
3438 (substitute* "configure"
3439 (("freerdp") "freerdp2"))
3440 #t)))))
cce0da5e
TD
3441 (native-inputs
3442 `(("pkg-config" ,pkg-config)
3443 ("intltool" ,intltool)
3444 ("itstool" ,itstool)
1839768c 3445 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
3446 (inputs
3447 `(("libxml2" ,libxml2)
3448 ("gtk-vnc" ,gtk-vnc)
3449 ("gnome-keyring" ,gnome-keyring)
3450 ("libsecret" ,libsecret)
3451 ("freerdp" ,freerdp)
3452 ("spice" ,spice)
3453 ("spice-gtk" ,spice-gtk)
3454 ("telepathy-glib" ,telepathy-glib)
3455 ("vte" ,vte)))
cce0da5e
TD
3456 (home-page "https://wiki.gnome.org/Apps/Vinagre")
3457 (synopsis "Remote desktop viewer for GNOME")
3458 (description "Vinagre is a remote display client supporting the VNC, SPICE
3459and RDP protocols.")
3460 (license license:gpl3+)))
3461
b47e1b20
FB
3462(define-public dconf
3463 (package
3464 (name "dconf")
7f4d075d 3465 (version "0.34.0")
b47e1b20
FB
3466 (source (origin
3467 (method url-fetch)
3468 (uri (string-append
2e6ecc5c 3469 "mirror://gnome/sources/" name "/"
b47e1b20
FB
3470 (version-major+minor version) "/"
3471 name "-" version ".tar.xz"))
46c3a08b 3472 (patches (search-patches "dconf-meson-0.52.patch"))
b47e1b20 3473 (sha256
f05c809f 3474 (base32
7f4d075d 3475 "0lnsl85cp2vpzgp8pkf6l6yd2i3lp02jdvga1icfa78j2smr8fll"))))
35fa923d 3476 (build-system meson-build-system)
bc036f4c
MB
3477 (propagated-inputs
3478 ;; In Requires of dconf.pc.
3479 `(("glib" ,glib)))
b47e1b20
FB
3480 (inputs
3481 `(("gtk+" ,gtk+)
bc036f4c 3482 ("dbus" ,dbus)))
b47e1b20 3483 (native-inputs
1e33331c
MB
3484 `(("bash-completion" ,bash-completion)
3485 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 3486 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
3487 ("docbook-xml" ,docbook-xml-4.2)
3488 ("docbook-xsl" ,docbook-xsl)
35fa923d 3489 ("glib:bin" ,glib "bin")
03676d6f 3490 ("gtk-doc" ,gtk-doc)
35fa923d
MB
3491 ("pkg-config" ,pkg-config)
3492 ("vala" ,vala)))
b47e1b20
FB
3493 (arguments
3494 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
3495 ; or /etc/machine-id.
35fa923d
MB
3496 #:glib-or-gtk? #t
3497 #:configure-flags '("-Denable-gtk-doc=true")))
79d7b527 3498 (home-page "https://developer.gnome.org/dconf/")
b47e1b20
FB
3499 (synopsis "Low-level GNOME configuration system")
3500 (description "Dconf is a low-level configuration system. Its main purpose
3501is to provide a backend to GSettings on platforms that don't already have
3502configuration storage systems.")
e20e6b40 3503 (license license:lgpl2.1+)))
109da1c0
AE
3504
3505(define-public json-glib
3506 (package
3507 (name "json-glib")
4115e8ea 3508 (version "1.4.4")
109da1c0
AE
3509 (source (origin
3510 (method url-fetch)
3511 (uri (string-append "mirror://gnome/sources/" name "/"
3512 (version-major+minor version) "/"
3513 name "-" version ".tar.xz"))
3514 (sha256
3515 (base32
4115e8ea 3516 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 3517 (build-system meson-build-system)
109da1c0 3518 (native-inputs
98afa184
MB
3519 `(("gettext" ,gettext-minimal)
3520 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
3521 ("gobject-introspection" ,gobject-introspection)
3522 ("pkg-config" ,pkg-config)))
3523 (propagated-inputs
88c6b580 3524 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
3525 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
3526 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
3527 (description
3528 "JSON-GLib is a C library based on GLib providing serialization and
3529deserialization support for the JavaScript Object Notation (JSON) format
3530described by RFC 4627. It provides parser and generator GObject classes and
3531various wrappers for the complex data types employed by JSON, such as arrays
3532and objects.")
109da1c0 3533 (license license:lgpl2.1+)))
6f96a359
SB
3534
3535(define-public libxklavier
3536 (package
3537 (name "libxklavier")
5f39050b 3538 (version "5.4")
6f96a359 3539 (source (origin
5f39050b 3540 ;; Note: There's no tarball at ftp.gnome.org for this version.
3541 (method git-fetch)
3542 (uri (git-reference
3543 (url "https://anongit.freedesktop.org/git/libxklavier")
3544 (commit (string-append "libxklavier-" version))))
6f96a359
SB
3545 (sha256
3546 (base32
5f39050b 3547 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
3548 (file-name (git-file-name name version))))
6f96a359
SB
3549 (build-system gnu-build-system)
3550 (arguments
778d6b52 3551 '(#:configure-flags
6f96a359
SB
3552 (list (string-append "--with-xkb-base="
3553 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 3554 "/share/X11/xkb")
3555 "--disable-xmodmap-support")))
6f96a359
SB
3556 (native-inputs
3557 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
3558 ("gobject-introspection" ,gobject-introspection)
5f39050b 3559 ("pkg-config" ,pkg-config)
3560 ("gtk-doc" ,gtk-doc)
3561 ("intltool" ,intltool)
3562 ("which" ,which)
3563 ("autoconf" ,autoconf)
3564 ("automake" ,automake)
3565 ("libtool" ,libtool)))
6f96a359
SB
3566 (propagated-inputs
3567 ;; Required by libxklavier.pc.
3568 `(("glib" ,glib)
3569 ("libxml2" ,libxml2)))
3570 (inputs
3571 `(("iso-codes" ,iso-codes)
3572 ("libxi" ,libxi)
3573 ("libxkbfile" ,libxkbfile)
3574 ("xkbcomp" ,xkbcomp)
3575 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 3576 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
3577 (synopsis "High-level API for X Keyboard Extension")
3578 (description
3579 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
3580Extension known as XKB. This library is intended to support XFree86 and other
3581commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
3582indicators etc).")
3583 (license license:lgpl2.0+)))
619936a4
LC
3584
3585(define-public python2-rsvg
3586 ;; XXX: This is actually a subset of gnome-python-desktop.
3587 (package
3588 (name "python2-rsvg")
3589 (version "2.32.0")
3590 (source
3591 (origin
3592 (method url-fetch)
3593 (uri (string-append
3594 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
3595 version ".tar.bz2"))
3596 (sha256
3597 (base32
3598 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
3599 (build-system gnu-build-system)
3600 (native-inputs
3601 `(("pkg-config" ,pkg-config)))
3602 (inputs
3603 `(("python" ,python-2)
3604 ("python2-pygtk" ,python2-pygtk)
3605 ("librsvg" ,librsvg)))
f032d0be 3606 (home-page "https://www.gnome.org")
619936a4
LC
3607 (synopsis "Python bindings to librsvg")
3608 (description
3ad75446 3609 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
3610library.")
3611
3612 ;; This is the license of the rsvg bindings. The license of each module
3613 ;; of gnome-python-desktop is given in 'COPYING'.
3614 (license license:lgpl2.1+)))
a31a6d22 3615
f2ca414a
SB
3616(define-public glib-networking
3617 (package
3618 (name "glib-networking")
ea9f74b0 3619 (version "2.62.2")
f2ca414a
SB
3620 (source (origin
3621 (method url-fetch)
3622 (uri (string-append "mirror://gnome/sources/glib-networking/"
3623 (version-major+minor version) "/"
fb8fe1e8 3624 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
3625 (sha256
3626 (base32
ea9f74b0 3627 "0i2mw75297ql72h47vyvff3hqa0kcmqybblj52fqrarb0kfbhi06"))))
65211552 3628 (build-system meson-build-system)
f2ca414a 3629 (arguments
0d75c64d 3630 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
3631 (native-inputs
3632 `(("pkg-config" ,pkg-config)
3633 ("intltool" ,intltool)))
3634 (inputs
3635 `(("glib" ,glib)
3636 ("gnutls" ,gnutls)
4b8f1313 3637 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 3638 (home-page "https://www.gnome.org")
f2ca414a
SB
3639 (synopsis "Network-related GIO modules")
3640 (description
3641 "This package contains various network related extensions for the GIO
3642library.")
3643 (license license:lgpl2.0+)))
3644
ca649680 3645(define-public rest
4510b2da 3646 (package
ca649680 3647 (name "rest")
a4194d16 3648 (version "0.8.1")
4510b2da
SB
3649 (source (origin
3650 (method url-fetch)
3651 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
3652 (version-major+minor version) "/"
3653 name "-" version ".tar.xz"))
4510b2da
SB
3654 (sha256
3655 (base32
a4194d16 3656 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
3657 (build-system gnu-build-system)
3658 (arguments
3659 '(#:tests? #f ; tests require internet connection
3660 #:configure-flags
3661 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
3662 (native-inputs
3663 `(("glib-mkenums" ,glib "bin")
3664 ("gobject-introspection" ,gobject-introspection)
3665 ("pkg-config" ,pkg-config)))
3666 (propagated-inputs
3667 ;; rest-0.7.pc refers to all these.
3668 `(("glib" ,glib)
3669 ("libsoup" ,libsoup)
3670 ("libxml2" ,libxml2)))
24d6cc1d 3671 (home-page "https://www.gtk.org/")
4510b2da
SB
3672 (synopsis "RESTful web api query library")
3673 (description
3674 "This library was designed to make it easier to access web services that
3675claim to be \"RESTful\". It includes convenience wrappers for libsoup and
3676libxml to ease remote use of the RESTful API.")
3677 (license license:lgpl2.1+)))
3678
6e1bb642
SB
3679(define-public libsoup
3680 (package
3681 (name "libsoup")
9a9cd9bc 3682 (version "2.70.0")
6e1bb642
SB
3683 (source (origin
3684 (method url-fetch)
3685 (uri (string-append "mirror://gnome/sources/libsoup/"
3686 (version-major+minor version) "/"
c1b79b36 3687 "libsoup-" version ".tar.xz"))
6e1bb642
SB
3688 (sha256
3689 (base32
9a9cd9bc 3690 "0hjk9lgppc5435my0lyywbpmj7ib5vvcylwfin8ki97g9bvj1c2l"))))
eccaa8bf 3691 (build-system meson-build-system)
6e1bb642
SB
3692 (outputs '("out" "doc"))
3693 (arguments
2deb146f 3694 `(#:modules ((guix build utils)
eccaa8bf 3695 (guix build meson-build-system)
2deb146f
LC
3696 (ice-9 popen))
3697
f8026a79 3698 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
3699 #:phases
3700 (modify-phases %standard-phases
eccaa8bf 3701 (add-after 'unpack 'adjust-tests
26c228f9 3702 (lambda _
eccaa8bf
MB
3703 ;; This test fails due to missing /etc/nsswitch.conf
3704 ;; in the build environment.
26c228f9
LC
3705 (substitute* "tests/socket-test.c"
3706 ((".*/sockets/unconnected.*") ""))
2deb146f 3707
f8026a79
MB
3708 ;; These fail because "subdomain.localhost" does not resolve in
3709 ;; the build environment.
3710 (substitute* "tests/hsts-test.c"
3711 ((".*/hsts/basic.*") "")
3712 ((".*/hsts/subdomains.*") "")
3713 ((".*/hsts/superdomain.*") "")
3714 ((".*/hsts/utf8-address.*") ""))
3715 (substitute* "tests/hsts-db-test.c"
3716 ((".*/hsts-db/subdomains.*") ""))
3717
2deb146f
LC
3718 ;; Generate a self-signed certificate that has "localhost" as its
3719 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
3720 ;; 3.5.12, tests such as "ssl-tests" fail:
3721 ;;
3722 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
3723 ;;
3724 ;; 'certtool' is interactive so we have to pipe it the answers.
3725 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
3726 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
3727 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
3728 (for-each (lambda (line)
3729 (display line pipe)
3730 (newline pipe))
3731 '("" ;Common name
3732 "" ;UID
3733 "Guix" ;Organizational unit name
3734 "GNU" ;Organization name
3735 "" ;Locality name
3736 "" ;State or province
3737 "" ;Country
3738 "" ;subject's domain component (DC)
3739 "" ;E-mail
3740 "" ;serial number
3741 "-1" ;expiration time
3742 "N" ;belong to authority?
3743 "N" ;web client certificate?
3744 "N" ;IPsec IKE?
3745 "Y" ;web server certificate?
3746 "localhost" ;dnsName of subject
3747 "" ;dnsName of subject (end)
3748 "" ;URI of subject
3749 "127.0.0.1" ;IP address of subject
3750 "" ;signing?
06f5bc4e
MB
3751 "" ;encryption (RSA)?
3752 "" ;data encryption?
2deb146f
LC
3753 "" ;sign OCSP requests?
3754 "" ;sign code?
3755 "" ;time stamping?
3756 "" ;email protection?
3757 "" ;URI of the CRL distribution point
3758 "y" ;above info OK?
3759 ))
3760 (close-pipe pipe))
26c228f9 3761 #t))
eccaa8bf
MB
3762 (add-after 'install 'move-doc
3763 (lambda* (#:key outputs #:allow-other-keys)
3764 (let ((out (assoc-ref outputs "out"))
3765 (doc (assoc-ref outputs "doc")))
3766 (mkdir-p (string-append doc "/share"))
3767 (copy-recursively (string-append out "/share/gtk-doc")
3768 (string-append doc "/share/gtk-doc"))
3769 (delete-file-recursively (string-append out "/share/gtk-doc"))
3770 #t))))))
6e1bb642 3771 (native-inputs
26c228f9 3772 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 3773 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 3774 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
3775 ("intltool" ,intltool)
3776 ("pkg-config" ,pkg-config)
3777 ("python" ,python-wrapper)
fd730590 3778 ("vala" ,vala)
53c41e95 3779 ("php" ,php)
6e1bb642 3780 ("curl" ,curl)
2deb146f 3781 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
3782 ("httpd" ,httpd)))
3783 (propagated-inputs
3784 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
3785 `(("brotli" ,google-brotli)
3786 ("glib" ,glib)
249846bf 3787 ("libpsl" ,libpsl)
eccaa8bf 3788 ("libxml2" ,libxml2)
f8026a79
MB
3789 ("sqlite" ,sqlite)
3790 ("zlib" ,zlib)))
eccaa8bf
MB
3791 (inputs
3792 `(("glib-networking" ,glib-networking)
3793 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
3794 (home-page "https://live.gnome.org/LibSoup/")
3795 (synopsis "GLib-based HTTP Library")
3796 (description
3797 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
3798and the GLib main loop, to integrate well with GNOME applications.")
3799 (license license:lgpl2.0+)))
3800
43b6b45e
MC
3801
3802;;; A minimal version of libsoup used to prevent a cycle with Inkscape.
3803(define-public libsoup-minimal
3804 (package
3805 (inherit libsoup)
3806 (name "libsoup-minimal")
3807 (outputs (delete "doc" (package-outputs libsoup)))
3808 (arguments
3809 (substitute-keyword-arguments (package-arguments libsoup)
3810 ((#:configure-flags configure-flags)
3811 `(delete "-Dgtk_doc=true" ,configure-flags))
3812 ((#:phases phases)
3813 `(modify-phases ,phases
3814 (delete 'move-doc)))))
3815 (native-inputs (alist-delete "gtk-doc" (package-native-inputs libsoup)))))
3816
bba229a3
SB
3817(define-public libsecret
3818 (package
3819 (name "libsecret")
b05a2f62 3820 (version "0.20.3")
bba229a3
SB
3821 (source (origin
3822 (method url-fetch)
3823 (uri (string-append
896dcbc7
EF
3824 "mirror://gnome/sources/libsecret/"
3825 (version-major+minor version) "/"
0ada4e29 3826 "libsecret-" version ".tar.xz"))
bba229a3
SB
3827 (sha256
3828 (base32
b05a2f62 3829 "1r4habxdzmn02id324m0m4mg5isf22q1z436bg3vjjmcz1b3rjsg"))))
bba229a3
SB
3830 (build-system gnu-build-system)
3831 (outputs '("out" "doc"))
3832 (arguments
3833 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
3834 #:configure-flags
3835 (list (string-append "--with-html-dir="
3836 (assoc-ref %outputs "doc")
3837 "/share/gtk-doc/html"))))
3838 (native-inputs
c06ef010
MB
3839 `(("gettext" ,gettext-minimal)
3840 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 3841 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
3842 ("pkg-config" ,pkg-config)
3843 ("vala" ,vala)
3844 ("xsltproc" ,libxslt)))
3845 ;; These are needed for the tests.
3846 ;; FIXME: Add gjs once available.
3847 ;("dbus" ,dbus)
3848 ;("python2" ,python-2)
3849 ;("python2-dbus" ,python2-dbus)
3850 ;("python2-pygobject" ,python2-pygobject)
3851 ;("python2-pygobject-2" ,python2-pygobject-2)))
3852 (propagated-inputs
3853 `(("glib" ,glib))) ; required by libsecret-1.pc
3854 (inputs
3855 `(("docbook-xsl" ,docbook-xsl)
3856 ("libgcrypt" ,libgcrypt)
3857 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
3858 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
3859 (synopsis "GObject bindings for \"Secret Service\" API")
3860 (description
3861 "Libsecret is a GObject based library for storing and retrieving passwords
3862and other secrets. It communicates with the \"Secret Service\" using DBus.")
3863 (license license:lgpl2.1+)))
3864
b6821ee0 3865(define-public five-or-more
3866 (package
3867 (name "five-or-more")
ee75b46f 3868 (version "3.32.2")
b6821ee0 3869 (source
3870 (origin
3871 (method url-fetch)
bf782bfc 3872 (uri (string-append "mirror://gnome/sources/five-or-more/"
b6821ee0 3873 (version-major+minor version) "/"
bf782bfc 3874 "five-or-more-" version ".tar.xz"))
b6821ee0 3875 (sha256
ee75b46f 3876 (base32 "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii"))))
d9795e93
KK
3877 (build-system meson-build-system)
3878 (arguments
3879 '(#:glib-or-gtk? #t
3880 #:phases
3881 (modify-phases %standard-phases
3882 (add-after 'unpack 'skip-gtk-update-icon-cache
3883 (lambda _
3884 (substitute* "meson_post_install.py"
3885 (("gtk-update-icon-cache") (which "true")))
3886 #t)))))
b6821ee0 3887 (native-inputs
3888 `(("pkg-config" ,pkg-config)
d9795e93 3889 ("appstream-glib" ,appstream-glib)
b6821ee0 3890 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 3891 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 3892 ("intltool" ,intltool)
3893 ("itstool" ,itstool)
d9795e93 3894 ("vala" ,vala)
b6821ee0 3895 ("xmllint" ,libxml2)))
3896 (inputs
3897 `(("gtk+" ,gtk+)
d9795e93 3898 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 3899 ("librsvg" ,librsvg)))
3900 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
3901 (synopsis "Logic puzzle game")
3902 (description "Five or More is a game where you try to align
3903 five or more objects of the same color and shape causing them to disappear.
3904 On every turn more objects will appear, until the board is full.
3905 Try to last as long as possible.")
3906 (license license:gpl2+)))
3907
a31a6d22
SB
3908(define-public gnome-mines
3909 (package
3910 (name "gnome-mines")
d79e9b1b 3911 (version "3.34.0")
a31a6d22
SB
3912 (source
3913 (origin
3914 (method url-fetch)
3915 (uri (string-append "mirror://gnome/sources/" name "/"
3916 (version-major+minor version) "/"
3917 name "-" version ".tar.xz"))
3918 (sha256
3919 (base32
d79e9b1b 3920 "1spxa6qr1y8s5rrsvpciywpvhk812ngn95s1apaxaigwy2g1iw54"))))
8c0fab36 3921 (build-system meson-build-system)
a31a6d22 3922 (arguments
2d817e41
KK
3923 '(#:glib-or-gtk? #t
3924 #:phases
a31a6d22 3925 (modify-phases %standard-phases
2d817e41
KK
3926 (add-after 'unpack 'skip-gtk-update-icon-cache
3927 (lambda _
3928 (substitute* "build-aux/meson_post_install.py"
3929 (("gtk-update-icon-cache") (which "true")))
3930 #t)))))
a31a6d22 3931 (native-inputs
8c0fab36
RW
3932 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
3933 ("pkg-config" ,pkg-config)
a31a6d22
SB
3934 ("desktop-file-utils" ,desktop-file-utils)
3935 ("intltool" ,intltool)
bcb354ad 3936 ("itstool" ,itstool)
8c0fab36
RW
3937 ("vala" ,vala)
3938 ("yelp" ,yelp)
3939 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
3940 (inputs
3941 `(("gtk+" ,gtk+)
73992962 3942 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
3943 ("librsvg" ,librsvg)))
3944 (home-page "https://wiki.gnome.org/Apps/Mines")
3945 (synopsis "Minesweeper game")
3946 (description
3947 "Mines (previously gnomine) is a puzzle game where you locate mines
3948floating in an ocean using only your brain and a little bit of luck.")
3949 (license license:gpl2+)))
88f70665 3950
dfc407f3
KY
3951(define-public gnome-sudoku
3952 (package
3953 (name "gnome-sudoku")
857eb190 3954 (version "3.34.1")
dfc407f3
KY
3955 (source
3956 (origin
3957 (method url-fetch)
3958 (uri (string-append "mirror://gnome/sources/" name "/"
3959 (version-major+minor version) "/"
3960 name "-" version ".tar.xz"))
3961 (sha256
3962 (base32
857eb190 3963 "025y85r4qqardivvwiwhbmgarziykdy224m8zlrq8b79zv82793b"))))
7dc728c4
KK
3964 (build-system meson-build-system)
3965 (arguments
3966 '(#:glib-or-gtk? #t
3967 #:phases
3968 (modify-phases %standard-phases
3969 (add-after 'unpack 'skip-gtk-update-icon-cache
3970 (lambda _
3971 (substitute* "build-aux/post_install.py"
3972 (("gtk-update-icon-cache") (which "true")))
3973 #t)))))
dfc407f3
KY
3974 (native-inputs
3975 `(("pkg-config" ,pkg-config)
3976 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 3977 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
3978 ("intltool" ,intltool)
3979 ("itstool" ,itstool)
7dc728c4 3980 ("vala" ,vala)
dfc407f3
KY
3981 ("xmllint" ,libxml2)))
3982 (inputs
3983 `(("gtk+" ,gtk+)
3984 ("json-glib" ,json-glib)
3985 ("libgee" ,libgee)
3986 ("librsvg" ,librsvg)
3987 ("qqwing" ,qqwing)))
3988 (home-page "https://wiki.gnome.org/Apps/Sudoku")
3989 (synopsis "Japanese logic game")
3990 (description
3991 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
3992GNOME Sudoku is meant to have an interface as simple and unobstrusive as
3993possible while still providing features that make playing difficult Sudoku
3994more fun.")
3995 (license license:gpl2+)))
3996
88f70665
AW
3997(define-public gnome-terminal
3998 (package
3999 (name "gnome-terminal")
80f6f9d8 4000 (version "3.34.2")
88f70665
AW
4001 (source
4002 (origin
4003 (method url-fetch)
4004 (uri (string-append "mirror://gnome/sources/" name "/"
4005 (version-major+minor version) "/"
4006 name "-" version ".tar.xz"))
4007 (sha256
4008 (base32
80f6f9d8 4009 "0gc004f9b5k94gkdanmqjz3wqgnpny0l3nqm8zd19h4f0ps27mrv"))))
88f70665
AW
4010 (build-system glib-or-gtk-build-system)
4011 (arguments
4012 '(#:configure-flags
4013 (list "--disable-migration" "--disable-search-provider"
4014 "--without-nautilus-extension")
4015 #:phases
4016 (modify-phases %standard-phases
3a4de6b2 4017 (add-before 'configure 'patch-/bin/true
88f70665
AW
4018 (lambda _
4019 (substitute* "configure"
4020 (("/bin/true") (which "true"))))))))
4021 (native-inputs
4022 `(("pkg-config" ,pkg-config)
4023 ("desktop-file-utils" ,desktop-file-utils)
4024 ("intltool" ,intltool)
bcb354ad
SB
4025 ("itstool" ,itstool)
4026 ("xmllint" ,libxml2)))
68702167
MW
4027 (propagated-inputs
4028 `(("dconf" ,dconf)))
88f70665
AW
4029 (inputs
4030 `(("gtk+" ,gtk+)
4031 ("vte" ,vte)
4032 ("gnutls" ,gnutls)
88f70665 4033 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
bb93042c 4034 ("util-linux" ,util-linux "lib")
88f70665
AW
4035 ("vala" ,vala)))
4036 (home-page "https://wiki.gnome.org/Apps/Terminal")
4037 (synopsis "Terminal emulator")
4038 (description
4039 "GNOME Terminal is a terminal emulator application for accessing a
4040UNIX shell environment which can be used to run programs available on
4041your system.
4042
4043It supports several profiles, multiple tabs and implements several
4044keyboard shortcuts.")
4045 (license license:gpl3+)))
75016d07
AW
4046
4047(define-public colord
4048 (package
4049 (name "colord")
f98be942 4050 (version "1.4.4")
75016d07
AW
4051 (source
4052 (origin
4053 (method url-fetch)
5cc3096c 4054 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 4055 "colord-" version ".tar.xz"))
75016d07 4056 (sha256
f98be942 4057 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 4058 (build-system meson-build-system)
75016d07 4059 (arguments
a68544a8
RW
4060 '(;; FIXME: One test fails:
4061 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
4062 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
4063 ;; application/x-zerosize
75016d07 4064 #:tests? #f
a68544a8
RW
4065 #:glib-or-gtk? #t
4066 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 4067 ;; No dep on systemd.
a68544a8 4068 "-Dsystemd=false"
75016d07
AW
4069 ;; Wants to install to global completion dir;
4070 ;; punt.
a68544a8 4071 "-Dbash_completion=false"
a68544a8
RW
4072 "-Ddaemon_user=colord"
4073 "-Dsane=true"
dac26e22 4074 "-Dvapi=true"
6f20e2dc 4075 ;; Requires spotread.
a68544a8 4076 "-Dargyllcms_sensor=false"
6f20e2dc 4077 ;; TODO: Requires docbook2x.
a68544a8 4078 "-Dman=false")
75016d07
AW
4079 #:phases
4080 (modify-phases %standard-phases
a68544a8
RW
4081 (add-before 'configure 'patch-build-system
4082 (lambda* (#:key outputs #:allow-other-keys)
4083 (substitute* "rules/meson.build"
4084 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
4085 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
4086 #t))
4087 (add-before 'configure 'set-sqlite3-file-name
4088 (lambda* (#:key inputs #:allow-other-keys)
4089 ;; "colormgr dump" works by invoking the "sqlite3" command.
4090 ;; Record its absolute file name.
4091 (let ((sqlite (assoc-ref inputs "sqlite")))
4092 (substitute* "client/cd-util.c"
4093 (("\"sqlite3\"")
4094 (string-append "\"" sqlite "/bin/sqlite3\"")))
4095 #t))))))
75016d07 4096 (native-inputs
6f20e2dc 4097 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 4098 ("gettext" ,gettext-minimal)
75016d07 4099 ("gobject-introspection" ,gobject-introspection)
a68544a8 4100 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
4101 ("pkg-config" ,pkg-config)
4102 ("vala" ,vala)))
65cb2d61
SB
4103 (propagated-inputs
4104 ;; colord.pc refers to all these.
4105 `(("glib" ,glib)
6f20e2dc
TGR
4106 ("lcms" ,lcms)
4107 ("udev" ,eudev)))
75016d07 4108 (inputs
65cb2d61 4109 `(("dbus-glib" ,dbus-glib)
a68544a8 4110 ("gusb" ,gusb)
80c7dd1a 4111 ("libgudev" ,libgudev)
75016d07 4112 ("libusb" ,libusb)
75016d07 4113 ("polkit" ,polkit)
a68544a8 4114 ("python" ,python-wrapper)
6f20e2dc 4115 ("sqlite" ,sqlite)
4c928743 4116 ("sane-backends" ,sane-backends)))
57e7d748 4117 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
4118 (synopsis "Color management service")
4119 (description "Colord is a system service that makes it easy to manage,
4120install and generate color profiles to accurately color manage input and
4121output devices.")
4122 (license license:gpl2+)))
7b2abd00
AW
4123
4124(define-public geoclue
4125 (package
4126 (name "geoclue")
50e96d25 4127 (version "2.5.5")
7b2abd00
AW
4128 (source
4129 (origin
4130 (method url-fetch)
50e96d25
MB
4131 (uri
4132 (string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
4133 version "/geoclue-" version ".tar.bz2"))
7b2abd00
AW
4134 (sha256
4135 (base32
50e96d25 4136 "1b7jqrsn4x7mxjxj8hvb2dl2cmhrpb9vibs4rvkkanky5nsx3sai"))
fc1adab1 4137 (patches (search-patches "geoclue-config.patch"))))
50e96d25 4138 (build-system meson-build-system)
7b2abd00 4139 (arguments
50e96d25 4140 '(#:configure-flags (list "-Dbus-srv-user=geoclue")))
7b2abd00
AW
4141 (native-inputs
4142 `(("pkg-config" ,pkg-config)
758798a9 4143 ("gobject-introspection" ,gobject-introspection)
50e96d25
MB
4144 ("modem-manager" ,modem-manager)
4145 ("libnotify" ,libnotify)
4146 ("gtk-doc", gtk-doc)
7b2abd00
AW
4147 ("intltool" ,intltool)))
4148 (inputs
54e911bc 4149 `(("avahi" ,avahi)
50e96d25
MB
4150 ("glib:bin" ,glib "bin")
4151 ("glib-networking" ,glib-networking)
7b2abd00
AW
4152 ("json-glib" ,json-glib)
4153 ("libsoup" ,libsoup)))
50e96d25 4154 (home-page "https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home")
7b2abd00
AW
4155 (synopsis "Geolocation service")
4156 (description "Geoclue is a D-Bus service that provides location
4157information. The primary goal of the Geoclue project is to make creating
4158location-aware applications as simple as possible, while the secondary goal is
4159to ensure that no application can access location information without explicit
e881752c 4160permission from user.")
7b2abd00 4161 (license license:gpl2+)))
2bfe7437
AW
4162
4163(define-public geocode-glib
4164 (package
4165 (name "geocode-glib")
65de725f 4166 (version "3.26.1")
2bfe7437
AW
4167 (source (origin
4168 (method url-fetch)
4169 (uri (string-append "mirror://gnome/sources/geocode-glib/"
4170 (version-major+minor version) "/"
d485cdc0 4171 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
4172 (sha256
4173 (base32
65de725f 4174 "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv"))))
a7dd0c02 4175 (build-system meson-build-system)
2bfe7437 4176 (arguments
a7dd0c02
RW
4177 `(#:phases
4178 (modify-phases %standard-phases
4179 ;; The tests require a bunch of locales.
4180 (add-before 'check 'set-locales
4181 (lambda* (#:key inputs #:allow-other-keys)
4182 (setenv "GUIX_LOCPATH"
4183 (string-append (assoc-ref inputs "glibc-locales")
4184 "/lib/locale"))
4185 #t)))))
2bfe7437
AW
4186 (native-inputs
4187 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
4188 ("glibc-locales" ,glibc-locales) ; for tests
4189 ("gettext" ,gettext-minimal)
2bfe7437 4190 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 4191 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
4192 ("pkg-config" ,pkg-config)
4193 ("json-glib" ,json-glib)))
4194 (propagated-inputs
4195 ;; geocode-glib-1.0.pc refers to GIO.
4196 `(("glib" ,glib)))
4197 (inputs
4198 `(("libsoup" ,libsoup)))
4199 (home-page "https://github.com/GNOME/geocode-glib/")
4200 (synopsis "Geocoding and reverse-geocoding library")
4201 (description
4202 "geocode-glib is a convenience library for geocoding (finding longitude,
4203and latitude from an address) and reverse geocoding (finding an address from
4204coordinates) using the Nominatim service. geocode-glib caches requests for
4205faster results and to avoid unnecessary server load.")
4206 (license license:lgpl2.0+)))
a1d5bb0e
AW
4207
4208(define-public upower
4209 (package
4210 (name "upower")
df45af90 4211 (version "0.99.11")
a1d5bb0e
AW
4212 (source (origin
4213 (method url-fetch)
df45af90 4214 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 4215 "upower-" version ".tar.xz"))
a1d5bb0e
AW
4216 (sha256
4217 (base32
df45af90 4218 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
5dc6d5ce
LC
4219 (patches (search-patches "upower-builddir.patch"))
4220 (modules '((guix build utils)))
4221 (snippet
4222 '(begin
4223 ;; Upstream commit
4224 ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
4225 ;; moved 'dbus-1/system.d' from etc/ to share/. However,
4226 ;; 'dbus-configuration-directory' in (gnu services dbus)
4227 ;; expects it in etc/. Thus, move it back to its previous
4228 ;; location.
4229 (substitute* "src/Makefile.in"
4230 (("^dbusconfdir =.*$")
4231 "dbusconfdir = $(sysconfdir)/dbus-1/system.d\n"))
4232 #t))))
a1d5bb0e
AW
4233 (build-system glib-or-gtk-build-system)
4234 (arguments
6039031a
BW
4235 '(#:phases
4236 (modify-phases %standard-phases
4237 (add-before 'check 'pre-check
4238 (lambda* (#:key inputs #:allow-other-keys)
4239 (let ((umockdev (string-append (assoc-ref inputs "umockdev")
4240 "/lib")))
4241 (setenv "LD_LIBRARY_PATH" umockdev))
4242 #t)))
a1d5bb0e
AW
4243 #:configure-flags (list "--localstatedir=/var"
4244 (string-append "--with-udevrulesdir="
4245 (assoc-ref %outputs "out")
9ec54965 4246 "/lib/udev/rules.d"))))
a1d5bb0e 4247 (native-inputs
ebeabe2d
SB
4248 `(("gobject-introspection" ,gobject-introspection)
4249 ("pkg-config" ,pkg-config)
a1d5bb0e 4250 ("intltool" ,intltool)
55409295
LC
4251 ("python" ,python)
4252
6039031a
BW
4253 ;; For tests.
4254 ("python-dbus" ,python-dbus)
4255 ("python-dbusmock" ,python-dbusmock)
4256 ("python-pygobject" ,python-pygobject)
4257 ("umockdev" ,umockdev)
4258
55409295
LC
4259 ;; For man pages.
4260 ("libxslt" ,libxslt) ;for 'xsltproc'
4261 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
4262 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 4263 (inputs
ea226291
SB
4264 `(("dbus-glib" ,dbus-glib)
4265 ("libgudev" ,libgudev)
a1d5bb0e 4266 ("libusb" ,libusb)))
d7a503fc
MB
4267 (propagated-inputs
4268 ;; In Requires of upower-glib.pc.
4269 `(("glib" ,glib)))
57e7d748 4270 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
4271 (synopsis "System daemon for managing power devices")
4272 (description
4273 "UPower is an abstraction for enumerating power devices,
4274listening to device events and querying history and statistics. Any
4275application or service on the system can access the org.freedesktop.UPower
4276service via the system message bus.")
4277 (license license:gpl2+)))
6a180f6f
AW
4278
4279(define-public libgweather
4280 (package
4281 (name "libgweather")
462d3416 4282 (version "3.34.0")
6a180f6f
AW
4283 (source (origin
4284 (method url-fetch)
4285 (uri (string-append "mirror://gnome/sources/" name "/"
4286 (version-major+minor version) "/"
4287 name "-" version ".tar.xz"))
4288 (sha256
4289 (base32
462d3416 4290 "1fgiqswkhiaijanml3mb16ajn5aanrk7x6yiwagp9n9rssam6902"))))
cf6cbc34 4291 (build-system meson-build-system)
6a180f6f 4292 (arguments
cf6cbc34
RW
4293 `(#:tests? #f ; one of two tests requires network access
4294 #:configure-flags
4295 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 4296 (assoc-ref %build-inputs "tzdata")
cf6cbc34 4297 "/share/zoneinfo"))))
6a180f6f
AW
4298 (native-inputs
4299 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 4300 ("gobject-introspection" ,gobject-introspection)
6a180f6f 4301 ("pkg-config" ,pkg-config)
1d3fcf94 4302 ("vala" ,vala)
6a180f6f
AW
4303 ("intltool" ,intltool)))
4304 (propagated-inputs
4305 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
4306 ;; libsoup.
4307 `(("gtk+" ,gtk+)
4308 ("gdk-pixbuf" ,gdk-pixbuf)
4309 ("libxml2" ,libxml2)
cf6cbc34 4310 ("libsoup" ,libsoup)
6a180f6f 4311 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
4312 (inputs
4313 `(("tzdata" ,tzdata)))
6a180f6f
AW
4314 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
4315 (synopsis "Location, time zone, and weather library for GNOME")
4316 (description
4317 "libgweather is a library to access weather information from online
4318services for numerous locations.")
4319 (license license:gpl2+)))
23a22af6
AW
4320
4321(define-public gnome-settings-daemon
4322 (package
4323 (name "gnome-settings-daemon")
20154759 4324 (version "3.34.1")
23a22af6
AW
4325 (source
4326 (origin
4327 (method url-fetch)
4328 (uri (string-append "mirror://gnome/sources/" name "/"
4329 (version-major+minor version) "/"
4330 name "-" version ".tar.xz"))
4331 (sha256
4332 (base32
20154759 4333 "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr"))))
e644f9fa 4334 (build-system meson-build-system)
23a22af6 4335 (arguments
e644f9fa
RW
4336 `(#:glib-or-gtk? #t
4337 #:configure-flags
4338 (list (string-append "-Dudev_dir="
4339 (assoc-ref %outputs "out")
4d0e085b 4340 "/lib/udev/rules.d/")
20154759 4341 "-Dsystemd=false"
4d0e085b
RW
4342 ;; Otherwise, the RUNPATH will lack the final path component.
4343 (string-append "-Dc_link_args=-Wl,-rpath="
4344 (assoc-ref %outputs "out")
4345 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 4346 ;; Color management test can't reach the colord system service.
23a22af6
AW
4347 #:tests? #f))
4348 (native-inputs
e644f9fa
RW
4349 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4350 ("pkg-config" ,pkg-config)
23a22af6
AW
4351 ("intltool" ,intltool)
4352 ("xsltproc" ,libxslt)
4353 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
4354 ("docbook-xml" ,docbook-xml-4.2)
4355 ("docbook-xsl" ,docbook-xsl)))
4356 (inputs
e644f9fa
RW
4357 `(("alsa-lib" ,alsa-lib)
4358 ("colord" ,colord)
ea226291 4359 ("libgudev" ,libgudev)
23a22af6
AW
4360 ("upower" ,upower)
4361 ("polkit" ,polkit)
4362 ("pulseaudio" ,pulseaudio)
4363 ("libcanberra" ,libcanberra)
4364 ("libx11" ,libx11)
4365 ("libxtst" ,libxtst)
4366 ("lcms" ,lcms)
4367 ("libnotify" ,libnotify)
4368 ("geoclue" ,geoclue)
4369 ("geocode-glib" ,geocode-glib)
4370 ("libgweather" ,libgweather)
4371 ("gnome-desktop" ,gnome-desktop)
4372 ("nss" ,nss)
4373 ("cups" ,cups)
ec2b1921
AW
4374 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4375 ("libwacom" ,libwacom)
4376 ("librsvg" ,librsvg)
eee7878f 4377 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 4378 ("wayland" ,wayland)
20154759
KK
4379 ("network-manager" ,network-manager)
4380 ("gcr" ,gcr)
4381 ("modem-manager" ,modem-manager)))
f032d0be 4382 (home-page "https://www.gnome.org")
23a22af6
AW
4383 (synopsis "GNOME settings daemon")
4384 (description
4385 "This package contains the daemon responsible for setting the various
4386parameters of a GNOME session and the applications that run under it. It
4387handles settings such keyboard layout, shortcuts, and accessibility, clipboard
4388settings, themes, mouse settings, and startup of other daemons.")
4389 (license license:gpl2+)))
1e7464a9
DH
4390
4391(define-public totem-pl-parser
4392 (package
4393 (name "totem-pl-parser")
77425f04 4394 (version "3.26.3")
1e7464a9
DH
4395 (source (origin
4396 (method url-fetch)
e980cbe9
MW
4397 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
4398 (version-major+minor version) "/"
1e7464a9
DH
4399 "totem-pl-parser-" version ".tar.xz"))
4400 (sha256
4401 (base32
77425f04 4402 "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
1e9b19dd 4403 (build-system meson-build-system)
1e7464a9
DH
4404 (arguments
4405 ;; FIXME: Tests require gvfs.
4406 `(#:tests? #f))
4407 (native-inputs
4408 `(("intltool" ,intltool)
4409 ("glib" ,glib "bin")
4d6d8281 4410 ("gobject-introspection" ,gobject-introspection)
1e7464a9 4411 ("pkg-config" ,pkg-config)))
22a6ad6a 4412 (propagated-inputs
1e7464a9
DH
4413 `(("glib" ,glib)
4414 ("gmime" ,gmime)
1e9b19dd
RW
4415 ("libarchive" ,libarchive)
4416 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
4417 ("libxml2" ,libxml2)))
4418 (inputs
0a6e9e13 4419 `(("libsoup" ,libsoup)))
1e7464a9
DH
4420 (home-page "https://projects.gnome.org/totem")
4421 (synopsis "Library to parse and save media playlists for GNOME")
4422 (description "Totem-pl-parser is a GObjects-based library to parse and save
4423playlists in a variety of formats.")
4424 (license license:lgpl2.0+)))
4425
6b888eff
SB
4426(define-public aisleriot
4427 (package
4428 (name "aisleriot")
36ed9b46 4429 (version "3.22.9")
6b888eff
SB
4430 (source (origin
4431 (method url-fetch)
e43f622a 4432 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 4433 (version-major+minor version) "/"
e43f622a 4434 "aisleriot-" version ".tar.xz"))
6b888eff
SB
4435 (sha256
4436 (base32
36ed9b46 4437 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
4438 (build-system glib-or-gtk-build-system)
4439 (arguments
4440 '(#:configure-flags
4441 '("--with-platform=gtk-only"
4442 "--with-card-theme-formats=svg")))
4443 (native-inputs
4444 `(("desktop-file-utils" ,desktop-file-utils)
4445 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4446 ("intltool" ,intltool)
4447 ("itstool" ,itstool)
4448 ("pkg-config" ,pkg-config)
4449 ("xmllint" ,libxml2)))
4450 (inputs
4451 `(("gtk+" ,gtk+)
226e57d6 4452 ("guile" ,guile-2.2)
6b888eff
SB
4453 ("libcanberra" ,libcanberra)
4454 ("librsvg" ,librsvg)))
4455 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
4456 (synopsis "Solitaire card games")
4457 (description
4458 "Aisleriot (also known as Solitaire or sol) is a collection of card games
4459which are easy to play with the aid of a mouse.")
4460 (license license:gpl3+)))
4a79e256 4461
f828d05b
KK
4462(define-public amtk
4463 (package
4464 (name "amtk")
0e08ca14 4465 (version "5.0.2")
f828d05b
KK
4466 (source (origin
4467 (method url-fetch)
bf92ba6b 4468 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 4469 (version-major+minor version) "/"
bf92ba6b 4470 "amtk-" version ".tar.xz"))
f828d05b
KK
4471 (sha256
4472 (base32
0e08ca14 4473 "11jgz2i9wjzv4alrxl1qyxiapb52w7vs5ygfgsw0qgdap8gqkk3i"))))
f828d05b
KK
4474 (build-system gnu-build-system)
4475 (arguments
4476 '(#:configure-flags '("--enable-gtk-doc")))
4477 (native-inputs
4478 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 4479 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
4480 ("gtk-doc" ,gtk-doc)
4481 ("pkg-config" ,pkg-config)))
4482 (inputs
4483 `(("glib" ,glib)
4484 ("gtk+" ,gtk+)))
4485 (home-page "https://wiki.gnome.org/Projects/Amtk")
4486 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
4487 (description
4488 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
4489It is a basic GtkUIManager replacement based on GAction. It is suitable for
4490both a traditional UI or a modern UI with a GtkHeaderBar.")
4491 (license license:lgpl2.1+)))
4492
4a79e256
SB
4493(define-public devhelp
4494 (package
4495 (name "devhelp")
8ae23a1d 4496 (version "3.34.0")
4a79e256
SB
4497 (source (origin
4498 (method url-fetch)
4499 (uri (string-append "mirror://gnome/sources/" name "/"
4500 (version-major+minor version) "/"
4501 name "-" version ".tar.xz"))
4502 (sha256
4503 (base32
8ae23a1d 4504 "0zpmn6fgkgiayvn4diia5df0s6s7dqrdnp3nrvpavsmgn0vhb4pg"))))
11d28bd9 4505 (build-system meson-build-system)
35407f94 4506 (arguments
20db7a3d
KK
4507 '(#:glib-or-gtk? #t
4508 #:phases
35407f94
EF
4509 (modify-phases %standard-phases
4510 (add-after 'unpack 'skip-gtk-update-icon-cache
4511 ;; Don't create 'icon-theme.cache'.
4512 (lambda _
4513 (substitute* "meson_post_install.py"
4514 (("gtk-update-icon-cache") "true"))
4515 #t)))))
4a79e256
SB
4516 (native-inputs
4517 `(("intltool" ,intltool)
5dd12afc 4518 ("itstool" ,itstool)
11d28bd9
KK
4519 ("gobject-introspection" ,gobject-introspection)
4520 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
4521 ("pkg-config" ,pkg-config)))
4522 (inputs
11d28bd9
KK
4523 `(("amtk" ,amtk)
4524 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
4525 ("webkitgtk" ,webkitgtk)))
4526 (home-page "https://wiki.gnome.org/Apps/Devhelp")
4527 (synopsis "API documentation browser for GNOME")
4528 (description
4529 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
4530natively with GTK-Doc (the API reference system developed for GTK+ and used
4531throughout GNOME for API documentation).")
4532 (license license:gpl2+)))
ba421ab7
MW
4533
4534(define-public cogl
4535 (package
4536 (name "cogl")
29f4bb2e 4537 (version "1.22.6")
ba421ab7
MW
4538 (source
4539 (origin
4540 (method url-fetch)
5754f0cf 4541 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 4542 (version-major+minor version) "/"
5754f0cf 4543 "cogl-" version ".tar.xz"))
ba421ab7 4544 (sha256
29f4bb2e 4545 (base32 "0x8v4n61q89qy27v824bqswpz6bmn801403w2q3pa1lcwk9ln4vd"))))
a88d5a0c
MW
4546 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
4547 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
4548 (build-system gnu-build-system)
4549 (native-inputs
4550 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4551 ("gobject-introspection" ,gobject-introspection)
b4f04e0e 4552 ("xorg-server" ,xorg-server-for-tests)
ba421ab7
MW
4553 ("pkg-config" ,pkg-config)))
4554 (propagated-inputs
4555 `(("glib" ,glib)
4556 ("gdk-pixbuf" ,gdk-pixbuf)
4557 ("libx11" ,libx11)
4558 ("libxext" ,libxext)
4559 ("libxfixes" ,libxfixes)
4560 ("libxdamage" ,libxdamage)
4561 ("libxcomposite" ,libxcomposite)
4562 ("libxrandr" ,libxrandr)))
4563 (inputs
4564 `(("mesa" ,mesa)
4565 ("cairo" ,cairo)
4566 ("pango" ,pango)
4567 ("gstreamer" ,gstreamer)
31860852
KK
4568 ("gst-plugins-base" ,gst-plugins-base)
4569 ("wayland" ,wayland)))
ba421ab7 4570 (arguments
b4f04e0e
MB
4571 `(#:disallowed-references (,xorg-server-for-tests)
4572 #:configure-flags (list "--enable-cogl-gst"
31860852
KK
4573 "--enable-wayland-egl-platform"
4574 "--enable-wayland-egl-server"
4575
ba421ab7
MW
4576 ;; Arrange to pass an absolute file name to
4577 ;; dlopen for libGL.so.
4578 (string-append "--with-gl-libname="
4579 (assoc-ref %build-inputs "mesa")
4580 "/lib/libGL.so"))
b4f04e0e 4581 #:phases
ba421ab7
MW
4582 (modify-phases %standard-phases
4583 (add-before 'check 'start-xorg-server
b4f04e0e
MB
4584 (lambda* (#:key tests? inputs #:allow-other-keys)
4585 (if tests?
4586 (begin
4587 ;; The test suite requires a running X server.
4588 (system (format #f "~a/bin/Xvfb :1 +extension GLX &"
4589 (assoc-ref inputs "xorg-server")))
4590 (setenv "DISPLAY" ":1")
4591 #t)
4592 (format #t "test suite not run~%"))
ba421ab7 4593 #t)))))
89b49245 4594 (home-page "https://www.cogl3d.org")
ba421ab7
MW
4595 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
4596 (description
4597 "Cogl is a small library for using 3D graphics hardware to draw pretty
4598pictures. The API departs from the flat state machine style of OpenGL and is
4599designed to make it easy to write orthogonal components that can render
4600without stepping on each others toes.")
4601 (license (list license:expat ; most of the code
4602 license:bsd-3 ; cogl/cogl-point-in-poly.c
4603 license:sgifreeb2.0 ; cogl-path/tesselator/
4604 license:asl2.0)))) ; examples/android/
fb182b8a
MW
4605
4606(define-public clutter
4607 (package
4608 (name "clutter")
6a88e4ee 4609 (version "1.26.2")
fb182b8a
MW
4610 (source
4611 (origin
4612 (method url-fetch)
4613 (uri (string-append "mirror://gnome/sources/" name "/"
4614 (version-major+minor version) "/"
4615 name "-" version ".tar.xz"))
4616 (sha256
4617 (base32
6a88e4ee 4618 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
4619 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
4620 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 4621 (build-system gnu-build-system)
600233bd
LC
4622 (outputs '("out"
4623 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
4624 (native-inputs
4625 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
4626 ("gobject-introspection" ,gobject-introspection)
4627 ("pkg-config" ,pkg-config)
4628 ("xsltproc" ,libxslt)))
4629 (propagated-inputs
4630 `(("cogl" ,cogl)
4631 ("cairo" ,cairo)
4632 ("atk" ,atk)
4633 ("gtk+" ,gtk+)
4634 ("json-glib" ,json-glib)
4635 ("glib" ,glib)
4636 ("libxcomposite" ,libxcomposite)
4637 ("libxdamage" ,libxdamage)
4638 ("libxext" ,libxext)
4639 ("xinput" ,xinput)))
4640 (inputs
4641 `(("libxkbcommon" ,libxkbcommon)
4642 ("udev" ,eudev)))
4643 (arguments
600233bd
LC
4644 `(#:configure-flags (list "--enable-x11-backend=yes"
4645
4646 ;; This produces share/doc/{clutter,cally}.
4647 (string-append "--with-html-dir="
4648 (assoc-ref %outputs "doc")
4649 "/share/doc"))
fb182b8a
MW
4650 ;; XXX FIXME: Get test suite working. It would probably fail in the
4651 ;; same way the cogl tests fail, since clutter is based on cogl.
4652 #:tests? #f))
4653 (home-page "http://www.clutter-project.org")
476af713 4654 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 4655 (description
476af713 4656 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
4657creating fast, mainly 2D single window applications such as media box UIs,
4658presentations, kiosk style applications and so on.")
4659 (license license:lgpl2.0+)))
bf7f17ba
MW
4660
4661(define-public clutter-gtk
4662 (package
4663 (name "clutter-gtk")
5d1a3219 4664 (version "1.8.4")
bf7f17ba
MW
4665 (source
4666 (origin
4667 (method url-fetch)
4668 (uri (string-append "mirror://gnome/sources/" name "/"
4669 (version-major+minor version) "/"
4670 name "-" version ".tar.xz"))
4671 (sha256
4672 (base32
5d1a3219 4673 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
4674 (build-system gnu-build-system)
4675 (native-inputs
4676 `(("pkg-config" ,pkg-config)
4677 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
4678 (propagated-inputs
4679 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
4680 `(("clutter" ,clutter)
4681 ("gtk+" ,gtk+)))
4682 (home-page "http://www.clutter-project.org")
476af713 4683 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 4684 (description
476af713 4685 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
4686creating fast, mainly 2D single window applications such as media box UIs,
4687presentations, kiosk style applications and so on.")
4688 (license license:lgpl2.0+)))
86d6a893
MW
4689
4690(define-public clutter-gst
4691 (package
4692 (name "clutter-gst")
ba07ac19 4693 (version "3.0.27")
86d6a893
MW
4694 (source
4695 (origin
4696 (method url-fetch)
f010f89b 4697 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 4698 (version-major+minor version) "/"
f010f89b 4699 "clutter-gst-" version ".tar.xz"))
86d6a893 4700 (sha256
ba07ac19 4701 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
4702 (build-system gnu-build-system)
4703 (native-inputs
ba07ac19 4704 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
4705 ("pkg-config" ,pkg-config)
4706 ("gobject-introspection" ,gobject-introspection)))
4707 (inputs
4708 `(("clutter" ,clutter)
4709 ("gstreamer" ,gstreamer)
4710 ("gst-plugins-base" ,gst-plugins-base)))
4711 (home-page "http://www.clutter-project.org")
4712 (synopsis "Integration library for using GStreamer with Clutter")
4713 (description
4714 "Clutter-Gst is an integration library for using GStreamer with Clutter.
4715It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
4716implements the ClutterGstPlayer interface using playbin. Clutter is an
4717OpenGL-based interactive canvas library.")
86d6a893 4718 (license license:lgpl2.0+)))
607a04ae 4719
30dc88d9
LC
4720(define-public libchamplain
4721 (package
4722 (name "libchamplain")
5564b2c5 4723 (version "0.12.16")
30dc88d9
LC
4724 (source (origin
4725 (method url-fetch)
4726 (uri (string-append
4727 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
4728 version ".tar.xz"))
4729 (sha256
4730 (base32
5564b2c5 4731 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 4732 (build-system gnu-build-system)
f7c6833f
LF
4733 (arguments '(#:configure-flags '("--enable-vala")))
4734 (native-inputs
4735 `(("gobject-introspection" ,gobject-introspection)
4736 ("pkg-config" ,pkg-config)
4737 ("vala" ,vala)))
30dc88d9
LC
4738 (propagated-inputs
4739 `(("libsoup" ,libsoup)
4740 ("sqlite" ,sqlite)
4741 ("clutter" ,clutter)
4742 ("clutter-gtk" ,clutter-gtk)
4743 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
4744 ("cairo" ,cairo)
4745 ("gtk+3" ,gtk+)
4746 ("glib" ,glib)))
f032d0be 4747 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
4748 (synopsis "C library providing a ClutterActor to display maps")
4749 (description
4750 "libchamplain is a C library providing a ClutterActor to display maps.
4751It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
4752and Perl bindings are also available. It supports numerous free map sources
4753such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
4754 (license license:lgpl2.1+)))
4755
607a04ae
MW
4756(define-public gom
4757 (package
4758 (name "gom")
0510440b 4759 (version "0.3.2")
607a04ae
MW
4760 (source
4761 (origin
4762 (method url-fetch)
6c8a0b6f 4763 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 4764 (version-major+minor version) "/"
6c8a0b6f 4765 "gom-" version ".tar.xz"))
607a04ae
MW
4766 (sha256
4767 (base32
0510440b 4768 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
4769 (build-system gnu-build-system)
4770 (native-inputs
4771 `(("intltool" ,intltool)
4772 ("pkg-config" ,pkg-config)
4773 ("gobject-introspection" ,gobject-introspection)))
4774 (inputs
4775 `(("glib" ,glib)
4776 ("gdk-pixbuf" ,gdk-pixbuf)
4777 ("sqlite" ,sqlite)))
4778 ;; XXX TODO: Figure out how to run the test suite.
4779 (arguments `(#:tests? #f))
4780 (home-page "https://wiki.gnome.org/Projects/Gom")
4781 (synopsis "Object mapper from GObjects to SQLite")
4782 (description
4783 "Gom provides an object mapper from GObjects to SQLite. It helps you
4784write applications that need to store structured data as well as make complex
4785queries upon that data.")
4786 (license license:lgpl2.1+)))
b7a3cf11 4787
865aacc9 4788(define-public libgnome-games-support
f09520db 4789 (package
865aacc9 4790 (name "libgnome-games-support")
4c6d15cf 4791 (version "1.4.4")
f09520db
SB
4792 (source (origin
4793 (method url-fetch)
2d8dca9d 4794 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 4795 (version-major+minor version) "/"
2d8dca9d 4796 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
4797 (sha256
4798 (base32
4c6d15cf 4799 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
4800 (build-system gnu-build-system)
4801 (arguments
4802 '(#:phases
4803 (modify-phases %standard-phases
4804 (add-before 'check 'pre-check
4805 (lambda _
865aacc9 4806 ;; Tests require a writable HOME.
f09520db
SB
4807 (setenv "HOME" (getcwd))
4808 #t)))))
4809 (native-inputs
4810 `(("intltool" ,intltool)
4811 ("pkg-config" ,pkg-config)
4812 ("vala" ,vala)))
4813 (propagated-inputs
865aacc9 4814 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
4815 `(("gtk+" ,gtk+)
4816 ("libgee" ,libgee)))
4817 (home-page "https://www.gnome.org/")
4818 (synopsis "Useful functionality shared among GNOME games")
4819 (description
865aacc9 4820 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
4821GNOME Games, but it may be used by others.")
4822 (license license:lgpl3+)))
4823
b7a3cf11
SB
4824(define-public gnome-klotski
4825 (package
4826 (name "gnome-klotski")
18364fbc 4827 (version "3.34.0")
b7a3cf11
SB
4828 (source (origin
4829 (method url-fetch)
4830 (uri (string-append "mirror://gnome/sources/" name "/"
4831 (version-major+minor version) "/"
4832 name "-" version ".tar.xz"))
4833 (sha256
4834 (base32
18364fbc 4835 "0sbx0bzy32lh2c9jp8v7gz788wn9y1la8mr5a7gf7370szsl4d4f"))))
c1e419c4
KK
4836 (build-system meson-build-system)
4837 (arguments
4838 '(#:glib-or-gtk? #t
4839 #:phases
4840 (modify-phases %standard-phases
4841 (add-after 'unpack 'skip-gtk-update-icon-cache
4842 ;; Don't create 'icon-theme.cache'.
4843 (lambda _
4844 (substitute* "build-aux/meson_post_install.py"
4845 (("gtk-update-icon-cache") (which "true")))
4846 #t)))))
b7a3cf11
SB
4847 (native-inputs
4848 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 4849 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
4850 ("intltool" ,intltool)
4851 ("itstool" ,itstool)
bcb354ad 4852 ("pkg-config" ,pkg-config)
c1e419c4 4853 ("vala" ,vala)
bcb354ad 4854 ("xmllint" ,libxml2)))
b7a3cf11
SB
4855 (inputs
4856 `(("gtk+" ,gtk+)
f4eae76f 4857 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
4858 ("librsvg" ,librsvg)))
4859 (home-page "https://wiki.gnome.org/Apps/Klotski")
4860 (synopsis "Sliding block puzzles")
4861 (description
4862 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
4863the patterned block to the area bordered by green markers. To do so, you will
4864need to slide other blocks out of the way. Complete each puzzle in as few moves
4865as possible!")
4866 (license license:gpl2+)))
8d4791bf
MW
4867
4868(define-public grilo
4869 (package
4870 (name "grilo")
a865e938 4871 (version "0.3.10")
8d4791bf
MW
4872 (source
4873 (origin
4874 (method url-fetch)
4875 (uri (string-append "mirror://gnome/sources/" name "/"
4876 (version-major+minor version) "/"
4877 name "-" version ".tar.xz"))
4878 (sha256
4879 (base32
a865e938 4880 "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y"))))
d48d4c98 4881 (build-system meson-build-system)
8d4791bf
MW
4882 (native-inputs
4883 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
4884 ("intltool" ,intltool)
4885 ("pkg-config" ,pkg-config)
d48d4c98
KK
4886 ("gobject-introspection" ,gobject-introspection)
4887 ("gtk-doc" ,gtk-doc)
4888 ("vala" ,vala)))
8d4791bf 4889 (inputs
6d7273a0
KK
4890 `(("cyrus-sasl" ,cyrus-sasl)
4891 ("glib" ,glib)
8d4791bf
MW
4892 ("gtk+" ,gtk+)
4893 ("libxml2" ,libxml2)
6d7273a0 4894 ("liboauth" ,liboauth)
8d4791bf
MW
4895 ("libsoup" ,libsoup)
4896 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
4897 (native-search-paths
4898 (list (search-path-specification
4899 (variable "GRL_PLUGIN_PATH")
4900 (files (list (string-append "lib/grilo-"
4901 (version-major+minor version)))))))
d48d4c98 4902 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
4903 (synopsis "Framework for discovering and browsing media")
4904 (description
4905 "Grilo is a framework focused on making media discovery and browsing easy
4906for application developers.")
4907 (license license:lgpl2.1+)))
7b212526
MW
4908
4909(define-public grilo-plugins
4910 (package
4911 (name "grilo-plugins")
281f6b3a 4912 (version "0.3.10")
7b212526
MW
4913 (source
4914 (origin
4915 (method url-fetch)
4916 (uri (string-append "mirror://gnome/sources/" name "/"
4917 (version-major+minor version) "/"
4918 name "-" version ".tar.xz"))
4919 (sha256
4920 (base32
281f6b3a
RG
4921 "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0"))))
4922 (build-system meson-build-system)
7b212526 4923 (native-inputs
281f6b3a
RG
4924 `(("gettext" ,gettext-minimal)
4925 ("glib:bin" ,glib "bin")
4926 ("gtk+:bin" ,gtk+ "bin")
7b212526
MW
4927 ("itstool" ,itstool)
4928 ("pkg-config" ,pkg-config)))
281f6b3a 4929 ;; TODO: ahavi, gstreamer
7b212526
MW
4930 (inputs
4931 `(("grilo" ,grilo)
281f6b3a
RG
4932 ;("gmime" ,gmime) ; unused
4933 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
7b212526 4934 ("gom" ,gom)
281f6b3a
RG
4935 ;("gssdp" ,gssdp) ; unused
4936 ;("gupnp" ,gupnp) ; unused
4937 ;("gupnp-av" ,gupnp-av) ; unused
7b212526
MW
4938 ("json-glib" ,json-glib)
4939 ("avahi" ,avahi)
281f6b3a
RG
4940 ("libgdata" ,libgdata)
4941 ("libmediaart" ,libmediaart)
4942 ;("librest" ,rest) ; unused
7b212526 4943 ("libsoup" ,libsoup)
281f6b3a
RG
4944 ("totam-pl-parser" ,totem-pl-parser)
4945 ("tracker" ,tracker))) ; unused because it's too old
7b212526 4946 (arguments
281f6b3a
RG
4947 `(#:glib-or-gtk? #t
4948 ;;Disable lua-factory as it needs missing dependencies
4949 #:configure-flags '("-Denable-lua-factory=no")))
f032d0be 4950 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
4951 (synopsis "Plugins for the Grilo media discovery library")
4952 (description
4953 "Grilo is a framework focused on making media discovery and browsing easy
281f6b3a
RG
4954for application developers. This package provides plugins for common media
4955discovery protocols.")
7b212526 4956 (license license:lgpl2.1+)))
4e3fc547
MW
4957
4958(define-public totem
4959 (package
4960 (name "totem")
961dc62d 4961 (version "3.34.1")
4e3fc547
MW
4962 (source
4963 (origin
4964 (method url-fetch)
2a9761b1 4965 (uri (string-append "mirror://gnome/sources/totem/"
4e3fc547 4966 (version-major+minor version) "/"
2a9761b1 4967 "totem-" version ".tar.xz"))
4e3fc547
MW
4968 (sha256
4969 (base32
961dc62d 4970 "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b"))))
7ad81b8b 4971 (build-system meson-build-system)
4e3fc547
MW
4972 (native-inputs
4973 `(("pkg-config" ,pkg-config)
4974 ("desktop-file-utils" ,desktop-file-utils)
4975 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 4976 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 4977 ("intltool" ,intltool)
bcb354ad 4978 ("itstool" ,itstool)
995ef5ea 4979 ("xmllint" ,libxml2)
995ef5ea 4980 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
4981 (propagated-inputs
4982 `(("dconf" ,dconf)))
4983 (inputs
4984 `(("gtk+" ,gtk+)
4985 ("gdk-pixbuf" ,gdk-pixbuf)
4986 ("atk" ,atk)
4987 ("cairo" ,cairo)
4988 ("dbus-glib" ,dbus-glib)
4989 ("clutter" ,clutter)
4990 ("clutter-gtk" ,clutter-gtk)
4991 ("clutter-gst" ,clutter-gst)
6a6db57f 4992 ("xorgproto" ,xorgproto)
4e3fc547
MW
4993 ("libxxf86vm" ,libxxf86vm)
4994 ("libxtst" ,libxtst)
4995 ("libxrandr" ,libxrandr)
4996 ("libxml2" ,libxml2)
4997 ("libsoup" ,libsoup)
4998 ("libpeas" ,libpeas)
4999 ("librsvg" ,librsvg)
5000 ("lirc" ,lirc)
5001 ("gnome-desktop" ,gnome-desktop)
5002 ("gstreamer" ,gstreamer)
5003 ("gst-plugins-base" ,gst-plugins-base)
5004 ("gst-plugins-good" ,gst-plugins-good)
5005 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5006 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 5007 ("python" ,python)
995ef5ea 5008 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
5009 ("totem-pl-parser" ,totem-pl-parser)
5010 ("grilo" ,grilo)
5011 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
5012 ("vala" ,vala)))
5013 (arguments
7ad81b8b
LC
5014 `(#:glib-or-gtk? #t
5015
5016 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 5017 ;; all that.
7ad81b8b 5018 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
5019
5020 ;; Do not build .a files for the plugins, it's
5021 ;; completely useless. This saves 2 MiB.
7ad81b8b 5022 "--default-library" "shared")
ec5c24f9 5023 #:phases
4e3fc547 5024 (modify-phases %standard-phases
d51b19ad
EF
5025 (add-after 'unpack 'skip-gtk-update-icon-cache
5026 ;; Don't create 'icon-theme.cache'.
5027 (lambda _
5028 (substitute* "meson_post_install.py"
5029 (("gtk-update-icon-cache") "true"))
5030 #t))
6368eb39
DM
5031 (add-before
5032 'install 'disable-cache-generation
5033 (lambda _
5034 (setenv "DESTDIR" "/")
5035 #t))
995ef5ea
KK
5036 (add-before
5037 'check 'pre-check
5038 (lambda _
5039 ;; Tests require a running X server.
5040 (system "Xvfb :1 &")
5041 (setenv "DISPLAY" ":1")
5042 #t))
4e3fc547
MW
5043 (add-after
5044 'install 'wrap-totem
5045 (lambda* (#:key inputs outputs #:allow-other-keys)
5046 (let ((out (assoc-ref outputs "out"))
5047 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
5048 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
5049 (wrap-program (string-append out "/bin/totem")
5050 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
5051 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
5052 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
5053 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
5054 #t)))))
5055 (home-page "https://wiki.gnome.org/Apps/Videos")
5056 (synopsis "Simple media player for GNOME based on GStreamer")
5057 (description "Totem is a simple yet featureful media player for GNOME
5058which can read a large number of file formats.")
5059 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
5060 ;; to be used and distributed together with GStreamer and Totem. See
5061 ;; file://COPYING in the source distribution for details.
5062 (license license:gpl2+)))
f0afb0c8
DH
5063
5064(define-public rhythmbox
5065 (package
5066 (name "rhythmbox")
eda580c0 5067 (version "3.4.4")
f0afb0c8
DH
5068 (source (origin
5069 (method url-fetch)
2588693d 5070 (uri (string-append "mirror://gnome/sources/rhythmbox/"
f0afb0c8 5071 (version-major+minor version) "/"
2588693d 5072 "rhythmbox-" version ".tar.xz"))
f0afb0c8
DH
5073 (sha256
5074 (base32
eda580c0 5075 "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf"))))
f0afb0c8
DH
5076 (build-system glib-or-gtk-build-system)
5077 (arguments
5078 `(#:configure-flags
5079 (list "--enable-lirc"
5080 "--enable-python"
5081 "--enable-vala"
5082 "--with-brasero"
5083 "--with-gudev"
5084 "--with-libsecret")
5085 #:phases
5086 (modify-phases %standard-phases
5087 (add-after
5088 'install 'wrap-rhythmbox
5089 (lambda* (#:key inputs outputs #:allow-other-keys)
5090 (let ((out (assoc-ref outputs "out"))
5091 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5092 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
5093 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
5094 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
5095 (wrap-program (string-append out "/bin/rhythmbox")
5096 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5097 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
5098 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
5099 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
5100 #t)))))
5101 (propagated-inputs
5102 `(("dconf" ,dconf)))
5103 (native-inputs
bcb354ad
SB
5104 `(("itstool" ,itstool)
5105 ("intltool" ,intltool)
f0afb0c8
DH
5106 ("glib" ,glib "bin")
5107 ("gobject-introspection" ,gobject-introspection)
5108 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
5109 ("pkg-config" ,pkg-config)
5110 ("xmllint" ,libxml2)))
f0afb0c8
DH
5111 (inputs
5112 `(("json-glib" ,json-glib)
5113 ("tdb" ,tdb)
5114 ("gnome-desktop" ,gnome-desktop)
5115 ("python" ,python)
5116 ("python-pygobject" ,python2-pygobject)
5117 ("vala" ,vala)
5118 ("gmime" ,gmime)
f0afb0c8
DH
5119 ("adwaita-icon-theme" ,adwaita-icon-theme)
5120 ("grilo" ,grilo)
5121 ("grilo-plugins" ,grilo-plugins)
5122 ("gstreamer" ,gstreamer)
5123 ("gst-plugins-base" ,gst-plugins-base)
5124 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 5125 ("totem-pl-parser" ,totem-pl-parser)
ea226291 5126 ("libgudev" ,libgudev)
f0afb0c8
DH
5127 ;;("libmtp" ,libmtp) FIXME: Not detected
5128 ("libsecret" ,libsecret)
5129 ("libsoup" ,libsoup)
5130 ("libnotify" ,libnotify)
5131 ("libpeas" ,libpeas)
5132 ("lirc" ,lirc)
5133 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
5134 ;;("clutter" ,clutter)
5135 ;;("clutter-gtk" ,clutter-gtk)
5136 ;;("clutter-gst" ,clutter-gst)
5137 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5138 ("atk" ,atk)
5139 ("pango" ,pango)
5140 ("gtk+" ,gtk+)
5141 ;; TODO:
5142 ;; * libgpod
5143 ;; * mx
f0afb0c8
DH
5144 ("brasero" ,brasero)))
5145 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
5146 (synopsis "Music player for GNOME")
5147 (description "Rhythmbox is a music playing application for GNOME. It
5148supports playlists, song ratings, and any codecs installed through gstreamer.")
5149 (license license:gpl2+)))
f70d8383
DH
5150
5151(define-public eog
5152 (package
5153 (name "eog")
0c9031fa 5154 (version "3.34.1")
f70d8383
DH
5155 (source (origin
5156 (method url-fetch)
5157 (uri (string-append "mirror://gnome/sources/" name "/"
5158 (version-major+minor version) "/"
5159 name "-" version ".tar.xz"))
5160 (sha256
5161 (base32
0c9031fa 5162 "0b7ld4azs9xbdjsk9b91ywhdzvxgajhndiwiivxjzbr0hjgp7c7x"))))
61fb581f 5163 (build-system meson-build-system)
f70d8383 5164 (arguments
34c44a34
RW
5165 `(#:configure-flags
5166 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
5167 (list (string-append "-Dc_link_args=-Wl,-rpath="
5168 (assoc-ref %outputs "out") "/lib/eog"))
5169 #:phases
f70d8383 5170 (modify-phases %standard-phases
7a034665
EF
5171 (add-after 'unpack 'skip-gtk-update-icon-cache
5172 ;; Don't create 'icon-theme.cache'.
5173 (lambda _
5174 (substitute* "meson_post_install.py"
5175 (("gtk-update-icon-cache") "true"))
5176 #t))
61fb581f
RW
5177 (add-after 'install 'wrap-eog
5178 (lambda* (#:key outputs #:allow-other-keys)
5179 (let ((out (assoc-ref outputs "out"))
5180 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5181 (wrap-program (string-append out "/bin/eog")
5182 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5183 #t)))))
f70d8383
DH
5184 (propagated-inputs
5185 `(("dconf" ,dconf)))
5186 (native-inputs
5187 `(("intltool" ,intltool)
b3546174 5188 ("itstool" ,itstool)
f70d8383
DH
5189 ("glib" ,glib "bin")
5190 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
5191 ("pkg-config" ,pkg-config)
5192 ("xmllint" ,libxml2)))
f70d8383
DH
5193 (inputs
5194 `(("gnome-desktop" ,gnome-desktop)
5195 ("shared-mime-info" ,shared-mime-info)
5196 ("adwaita-icon-theme" ,adwaita-icon-theme)
5197 ("exempi" ,exempi)
5198 ("lcms" ,lcms)
5199 ("libexif" ,libexif)
5200 ("libpeas" ,libpeas)
4bd428a7 5201 ("libjpeg" ,libjpeg-turbo)
0c9031fa 5202 ("librsvg" ,librsvg-next)
f70d8383
DH
5203 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5204 ("gtk+" ,gtk+)))
5205 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
5206 (synopsis "GNOME image viewer")
5207 (description "Eye of GNOME is the GNOME image viewer. It
5208supports image conversion, rotation, and slideshows.")
5209 (license license:gpl2+)))
41af5e7b 5210
0c3f8cb8
LC
5211(define-public eog-plugins
5212 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
5213 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
5214 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
5215 ;; 'XDG_DATA_DIRS' appropriately set.
5216 (package
5217 (name "eog-plugins")
54b74cc6 5218 (version "3.26.4")
0c3f8cb8
LC
5219 (source (origin
5220 (method url-fetch)
f3b88ed2 5221 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 5222 (version-major+minor version) "/"
f3b88ed2 5223 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
5224 (sha256
5225 (base32
54b74cc6 5226 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
5227 (build-system gnu-build-system)
5228 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
5229 (synopsis "Extensions for the Eye of GNOME image viewer")
5230 (native-inputs
5231 `(("pkg-config" ,pkg-config)
f2d97d57 5232 ("gettext" ,gettext-minimal)))
0c3f8cb8
LC
5233 (inputs
5234 `(("eog" ,eog)
5235 ("glib" ,glib)
5236 ("gtk+" ,gtk+)
5237 ("libpeas" ,libpeas)
5238 ("libexif" ,libexif)
5239 ("libchamplain" ,libchamplain)))
5240 (description
5241 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
5242notably:
5243
5244@itemize
5245@item @dfn{EXIF Display}, which displays camera (EXIF) information;
5246@item @dfn{Map}, which displays a map of where the picture was taken on the
5247side panel;
5248@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
5249@end itemize\n")
5250
5251 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
5252 ;; long suspicious byte stream that goes to a
5253 ;; ".gresource.eog_postasa_plugin" ELF section.
5254 (license license:gpl2+)))
5255
41af5e7b
SB
5256(define-public libgudev
5257 (package
5258 (name "libgudev")
b78f5118 5259 (version "232")
41af5e7b
SB
5260 (source (origin
5261 (method url-fetch)
5262 (uri (string-append "mirror://gnome/sources/" name "/"
5263 version "/" name "-" version ".tar.xz"))
5264 (sha256
5265 (base32
b78f5118 5266 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 5267 (build-system gnu-build-system)
b78f5118
RW
5268 (arguments
5269 '(#:configure-flags
5270 ;; umockdev depends on libgudev.
5271 (list "--disable-umockdev")))
41af5e7b
SB
5272 (native-inputs
5273 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5274 ("gobject-introspection" ,gobject-introspection)
5275 ("pkg-config" ,pkg-config)))
5276 (propagated-inputs
5277 `(("glib" ,glib))) ; required by gudev-1.0.pc
5278 (inputs
5279 `(("udev" ,eudev)))
5280 (home-page "https://wiki.gnome.org/Projects/libgudev")
5281 (synopsis "GObject bindings for libudev")
5282 (description
5283 "This library provides GObject bindings for libudev. It was originally
5284part of udev-extras, then udev, then systemd. It's now a project on its own.")
5285 (license license:lgpl2.1+)))
3dc8828f
SB
5286
5287(define-public gvfs
5288 (package
5289 (name "gvfs")
12fe4846 5290 (version "1.40.1")
3dc8828f
SB
5291 (source (origin
5292 (method url-fetch)
1d68eb32 5293 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 5294 (version-major+minor version) "/"
1d68eb32 5295 "gvfs-" version ".tar.xz"))
3dc8828f
SB
5296 (sha256
5297 (base32
12fe4846 5298 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))))
e762d943 5299 (build-system meson-build-system)
3dc8828f 5300 (arguments
e762d943
RW
5301 '(#:glib-or-gtk? #t
5302 #:configure-flags
5303 (list "-Dsystemduserunitdir=no"
5304 "-Dtmpfilesdir=no"
5305 ;; Otherwise, the RUNPATH will lack the final path component.
5306 (string-append "-Dc_link_args=-Wl,-rpath="
5307 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
5308 (native-inputs
5309 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
5310 ("gettext" ,gettext-minimal)
5311 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
5312 ("pkg-config" ,pkg-config)
5313 ("xsltproc" ,libxslt)))
5314 (inputs
5315 `(("avahi" ,avahi)
5316 ("docbook-xml" ,docbook-xml-4.2)
5317 ("docbook-xsl" ,docbook-xsl)
5318 ("dbus" ,dbus)
e762d943 5319 ("elogind" ,elogind)
3dc8828f 5320 ("fuse" ,fuse)
24a78aa6 5321 ("gcr" ,gcr)
3dc8828f 5322 ("glib" ,glib)
e762d943 5323 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
5324 ("libarchive" ,libarchive)
5325 ("libbluray" ,libbluray)
8852ca24 5326 ("libcap" ,libcap)
3dc8828f
SB
5327 ("libcdio-paranoia" ,libcdio-paranoia)
5328 ("libgcrypt" ,libgcrypt)
e762d943 5329 ("libgdata" ,libgdata)
3dc8828f
SB
5330 ("libgphoto2" ,libgphoto2)
5331 ("libgudev" ,libgudev)
0ab9f949 5332 ("libimobiledevice" ,libimobiledevice)
3dc8828f 5333 ("libmtp" ,libmtp)
e762d943 5334 ("libnfs" ,libnfs)
3dc8828f
SB
5335 ("libsecret" ,libsecret)
5336 ("libsmbclient" ,samba)
5337 ("libsoup" ,libsoup)
5338 ("libxml2" ,libxml2)
e762d943 5339 ("openssh" ,openssh)
8852ca24 5340 ("polkit" ,polkit)
3dc8828f
SB
5341 ("udisks" ,udisks)))
5342 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 5343 (synopsis "Userspace virtual file system for GIO")
3dc8828f 5344 (description
8f65585b 5345 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
5346abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
5347to all applications using the GIO API. It also supports exposing the GVFS
5348mounts to non-GIO applications using FUSE.
5349
5350GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
5351DAV, and others.")
5352 (license license:lgpl2.0+)))
7c88b6bd
AW
5353
5354(define-public gusb
5355 (package
5356 (name "gusb")
536b3274 5357 (version "0.3.0")
7c88b6bd 5358 (source (origin
bbfb36f9
EF
5359 (method git-fetch)
5360 (uri (git-reference
5361 (url "https://github.com/hughsie/libgusb.git")
5362 (commit version)))
5363 (file-name (git-file-name name version))
7c88b6bd
AW
5364 (sha256
5365 (base32
bbfb36f9 5366 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 5367 (build-system meson-build-system)
7c88b6bd 5368 (native-inputs
536b3274 5369 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
5370 ("pkg-config" ,pkg-config)
5371 ("vala" ,vala)
7c88b6bd
AW
5372 ("gtk-doc" ,gtk-doc)))
5373 (propagated-inputs
5374 ;; Both of these are required by gusb.pc.
5375 `(("glib" ,glib)
5376 ("libusb" ,libusb)))
5377 (arguments
536b3274 5378 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 5379 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 5380 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
5381 (description
5382 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
5383asynchronous control, bulk and interrupt transfers with proper cancellation
5384and integration into a mainloop. This makes it easy to integrate low level
5385USB transfers with your high-level application or system daemon.")
5386 (license license:lgpl2.1+)))
0abe1d86
AW
5387
5388(define-public simple-scan
5389 (package
5390 (name "simple-scan")
f9e5313c 5391 (version "3.36.2.1")
d9f6d587
TGR
5392 (source
5393 (origin
5394 (method url-fetch)
5395 (uri (string-append "mirror://gnome/sources/simple-scan/"
5396 (version-major+minor version) "/"
5397 "simple-scan-" version ".tar.xz"))
5398 (sha256
f9e5313c 5399 (base32 "0aq1pf0wk536b91as54684xgmhl7lps0k2xcwha5wh6h1isyb35v"))))
d9f6d587
TGR
5400 (build-system meson-build-system)
5401 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
5402 (arguments
5403 '(#:glib-or-gtk? #t))
0abe1d86
AW
5404 (inputs
5405 `(("gtk" ,gtk+)
5406 ("zlib" ,zlib)
5407 ("cairo" ,cairo)
c501f592 5408 ("colord" ,colord)
0abe1d86
AW
5409 ("gdk-pixbuf" ,gdk-pixbuf)
5410 ("gusb" ,gusb)
4c928743 5411 ("libsane" ,sane-backends)))
0abe1d86 5412 (native-inputs
b94a6ca0 5413 `(("gettext" ,gettext-minimal)
0abe1d86 5414 ("itstool" ,itstool)
c501f592 5415 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 5416 ("pkg-config" ,pkg-config)
bcb354ad
SB
5417 ("vala" ,vala)
5418 ("xmllint" ,libxml2)))
dff0eedb 5419 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 5420 (synopsis "Document and image scanner")
d9f6d587
TGR
5421 (description
5422 "Document Scanner is an easy-to-use application that lets you connect your
5423scanner and quickly capture images and documents in an appropriate format. It
5424supports any scanner for which a suitable SANE driver is available, which is
5425almost all of them.")
0abe1d86 5426 (license license:gpl3+)))
7549f984 5427
ab466d79
RW
5428(define-public eolie
5429 (package
5430 (name "eolie")
ed783404 5431 (version "0.9.98.1")
ab466d79
RW
5432 (source (origin
5433 (method url-fetch)
ed783404
RW
5434 (uri (string-append "https://adishatz.org/eolie/eolie-"
5435 version ".tar.xz"))
ab466d79
RW
5436 (sha256
5437 (base32
ed783404 5438 "1d844zva5w4p9pnp9c2g7zyb4vayr2g2drf78spxsdlc5lbd7lqr"))))
00014781 5439 (build-system meson-build-system)
ab466d79 5440 (arguments
00014781
RW
5441 `(#:glib-or-gtk? #t
5442 #:phases
ab466d79 5443 (modify-phases %standard-phases
f0c68100
EF
5444 (add-after 'unpack 'skip-gtk-update-icon-cache
5445 ;; Don't create 'icon-theme.cache'.
5446 (lambda _
5447 (substitute* "meson_post_install.py"
5448 (("gtk-update-icon-cache") "true"))
5449 #t))
ab466d79
RW
5450 (add-after 'wrap 'wrap-more
5451 (lambda* (#:key inputs outputs #:allow-other-keys)
5452 (let* ((out (assoc-ref outputs "out"))
5453 ;; These libraries must be on LD_LIBRARY_PATH.
5454 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
5455 "atk" "gtk+" "gsettings-desktop-schemas"
5456 "gobject-introspection"))
5457 (path (string-join
5458 (map (lambda (lib)
5459 (string-append (assoc-ref inputs lib) "/lib"))
5460 libs)
5461 ":")))
5462 (wrap-program (string-append out "/bin/eolie")
5463 `("LD_LIBRARY_PATH" ":" prefix (,path))
5464 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
5465 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
5466 #t)))))
5467 (native-inputs
f85ca6ed 5468 `(("intltool" ,intltool)
ab466d79 5469 ("itstool" ,itstool)
d95f1041 5470 ("pkg-config" ,pkg-config)
d95f1041 5471 ("python" ,python)
f0c68100 5472 ("glib:bin" ,glib "bin")))
ab466d79
RW
5473 (inputs
5474 `(("gobject-introspection" ,gobject-introspection)
5475 ("glib-networking" ,glib-networking)
5476 ("cairo" ,cairo)
5477 ("gtk+" ,gtk+)
5478 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
5479 ("python" ,python-wrapper)
d72f76df 5480 ("python-dateutil" ,python-dateutil)
00014781 5481 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
5482 ("python-pygobject" ,python-pygobject)
5483 ("python-pycairo" ,python-pycairo)
00014781 5484 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
5485 ("libsecret" ,libsecret)
5486 ("gtkspell3" ,gtkspell3)
5487 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 5488 ("webkitgtk" ,webkitgtk)))
166b2c97 5489 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
5490 (synopsis "Web browser for GNOME")
5491 (description
5492 "Eolie is a new web browser for GNOME. It features Firefox sync support,
5493a secret password store, an adblocker, and a modern UI.")
5494 (license license:gpl3+)))
5495
7549f984
SB
5496(define-public epiphany
5497 (package
5498 (name "epiphany")
68fdd237 5499 (version "3.34.4")
7549f984
SB
5500 (source (origin
5501 (method url-fetch)
dd3266ec 5502 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 5503 (version-major+minor version) "/"
dd3266ec 5504 "epiphany-" version ".tar.xz"))
7549f984
SB
5505 (sha256
5506 (base32
68fdd237 5507 "13ar3s40cds1rplwbzx0fzigf120w0rydiv05r3k6zpc0zy91qb0"))))
fc5c5b92
R
5508
5509 (build-system meson-build-system)
7549f984 5510 (arguments
20710b91 5511 '(#:glib-or-gtk? #t
bb7ff88f
EF
5512 #:phases
5513 (modify-phases %standard-phases
5514 (add-after 'unpack 'skip-gtk-update-icon-cache
5515 ;; Don't create 'icon-theme.cache'.
5516 (lambda _
5517 (substitute* "post_install.py"
5518 (("gtk-update-icon-cache") "true"))
20710b91
LP
5519 #t))
5520 (add-after 'unpack 'disable-failing-tests
5521 (lambda _
5522 (substitute* "tests/meson.build"
5523 ;; embed_shell fails, because webkitgtk apparently no longer supports
5524 ;; overriding the ftp schema
5525 ;; web_app_utils fails due to missing network access
5526 (("(embed_shell|web_app_utils)_test,")
5527 "find_program('sh'), args: ['-c', 'exit 77'],"))
5528 #t))
5529 (add-before 'check 'pre-check
5530 (lambda _
5531 ;; Tests require a running X server.
5532 (system "Xvfb :1 &")
5533 (setenv "DISPLAY" ":1")
bb7ff88f 5534 #t)))
e19f9c24
LF
5535 #:configure-flags
5536 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
5537 (list (string-append "-Dc_link_args=-Wl,-rpath="
5538 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
5539 (propagated-inputs
5540 `(("dconf" ,dconf)))
7549f984 5541 (native-inputs
fc5c5b92
R
5542 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5543 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 5544 ("intltool" ,intltool)
7549f984 5545 ("itstool" ,itstool)
bcb354ad 5546 ("pkg-config" ,pkg-config)
20710b91
LP
5547 ("xmllint" ,libxml2)
5548 ("xorg-server" ,xorg-server-for-tests)))
7549f984
SB
5549 (inputs
5550 `(("avahi" ,avahi)
5551 ("gcr" ,gcr)
fc5c5b92 5552 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
5553 ("glib-networking" ,glib-networking)
5554 ("gnome-desktop" ,gnome-desktop)
5555 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 5556 ("json-glib" ,json-glib)
7549f984 5557 ("iso-codes" ,iso-codes)
8748e29c 5558 ("libdazzle" ,libdazzle)
7549f984
SB
5559 ("libnotify" ,libnotify)
5560 ("libsecret" ,libsecret)
7549f984 5561 ("libxslt" ,libxslt)
fc5c5b92 5562 ("nettle" ,nettle) ; for hogweed
7549f984 5563 ("sqlite" ,sqlite)
f85ca6ed 5564 ("webkitgtk" ,webkitgtk)))
7549f984
SB
5565 (home-page "https://wiki.gnome.org/Apps/Web")
5566 (synopsis "GNOME web browser")
5567 (description
5568 "Epiphany is a GNOME web browser targeted at non-technical users. Its
5569principles are simplicity and standards compliance.")
5570 (license license:gpl2+)))
a3856b2c
SB
5571
5572(define-public d-feet
5573 (package
5574 (name "d-feet")
458e9221 5575 (version "0.3.14")
a3856b2c
SB
5576 (source (origin
5577 (method url-fetch)
5578 (uri (string-append "mirror://gnome/sources/" name "/"
5579 (version-major+minor version) "/"
5580 name "-" version ".tar.xz"))
5581 (sha256
5582 (base32
458e9221 5583 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
5584 (build-system glib-or-gtk-build-system)
5585 (arguments
5586 '(#:out-of-source? #f ; tests need to run in the source directory.
5587 #:phases
5588 (modify-phases %standard-phases
5589 (add-before
5590 'check 'pre-check
86aff791 5591 (lambda _
a3856b2c
SB
5592 ;; The test suite requires a running X server.
5593 (system "Xvfb :1 &")
5594 (setenv "DISPLAY" ":1")
5595 ;; Don't fail on missing '/etc/machine-id'.
5596 (setenv "DBUS_FATAL_WARNINGS" "0")
5597 ;; tests.py and window.py don't meet E402:
5598 ;; E402 module level import not at top of file
5599 (substitute* "src/tests/Makefile"
86aff791
MW
5600 (("--ignore=E123") "--ignore=E123,E402"))
5601 #t))
a3856b2c
SB
5602 (add-after
5603 'install 'wrap-program
5604 (lambda* (#:key outputs #:allow-other-keys)
5605 (let ((prog (string-append (assoc-ref outputs "out")
5606 "/bin/d-feet")))
5607 (wrap-program prog
5608 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
5609 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
5610 #t))))))
a3856b2c
SB
5611 (native-inputs
5612 `(("intltool" ,intltool)
5613 ("itstool" ,itstool)
5614 ("pkg-config" ,pkg-config)
5615 ("python-pep8" ,python-pep8)
5616 ("xmllint" ,libxml2)
ff337525 5617 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
5618 (inputs
5619 `(("gobject-introspection" ,gobject-introspection)
5620 ("gtk+" ,gtk+)
5621 ("python" ,python-wrapper)
458e9221 5622 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
5623 ("python-pygobject" ,python-pygobject)))
5624 (home-page "https://wiki.gnome.org/Apps/DFeet")
5625 (synopsis "D-Bus debugger")
5626 (description
5627 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
5628of running programs and invoke methods on those interfaces.")
5629 (license license:gpl2+)))
c3b97bd9
SB
5630
5631(define-public yelp-xsl
5632 (package
5633 (name "yelp-xsl")
632a9b32 5634 (version "3.34.2")
c3b97bd9
SB
5635 (source (origin
5636 (method url-fetch)
5637 (uri (string-append "mirror://gnome/sources/" name "/"
5638 (version-major+minor version) "/"
5639 name "-" version ".tar.xz"))
5640 (sha256
5641 (base32
632a9b32 5642 "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
c3b97bd9
SB
5643 (build-system gnu-build-system)
5644 (native-inputs
632a9b32 5645 `(("gettext-minimal" ,gettext-minimal)
c3b97bd9
SB
5646 ("itstool" ,itstool)
5647 ("xmllint" ,libxml2)))
5648 (home-page "https://wiki.gnome.org/Apps/Yelp")
5649 (synopsis "XSL stylesheets for Yelp")
5650 (description
5651 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
5652to format Docbook and Mallard documents.")
5653 (license license:gpl2+)))
de3d612a
SB
5654
5655(define-public yelp
5656 (package
5657 (name "yelp")
1f1b6d60 5658 (version "3.32.2")
de3d612a
SB
5659 (source (origin
5660 (method url-fetch)
5661 (uri (string-append "mirror://gnome/sources/" name "/"
5662 (version-major+minor version) "/"
5663 name "-" version ".tar.xz"))
5664 (sha256
5665 (base32
1f1b6d60 5666 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
5667 (build-system glib-or-gtk-build-system)
5668 (native-inputs
5669 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5670 ("intltool" ,intltool)
5671 ("itstool" ,itstool)
5672 ("pkg-config" ,pkg-config)))
5673 (propagated-inputs
5674 `(("dconf" ,dconf)))
5675 (inputs
ad1b7d8b
SB
5676 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5677 ("libxslt" ,libxslt)
de3d612a 5678 ("sqlite" ,sqlite)
4c28ca1d
SB
5679 ("webkitgtk" ,webkitgtk)
5680 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
5681 (home-page "https://wiki.gnome.org/Apps/Yelp")
5682 (synopsis "GNOME help browser")
5683 (description
5684 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
5685man, info, and HTML documents. It can locate documents according to the
5686freedesktop.org help system specification.")
5687 (license license:gpl2+)))
122d0d10
SB
5688
5689(define-public yelp-tools
5690 (package
5691 (name "yelp-tools")
8fe8a42a 5692 (version "3.32.2")
122d0d10
SB
5693 (source (origin
5694 (method url-fetch)
5695 (uri (string-append "mirror://gnome/sources/" name "/"
5696 (version-major+minor version) "/"
5697 name "-" version ".tar.xz"))
5698 (sha256
5699 (base32
8fe8a42a 5700 "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q"))))
122d0d10
SB
5701 (build-system gnu-build-system)
5702 (native-inputs
5703 `(("pkg-config" ,pkg-config)))
5704 (propagated-inputs
5705 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
5706 `(("itstool" ,itstool)
5707 ("xmllint" ,libxml2)
5708 ("xsltproc" ,libxslt)))
5709 (inputs
5710 `(("yelp-xsl" ,yelp-xsl)))
5711 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
5712 (synopsis "Yelp documentation tools")
5713 (description
5714 "Yelp-tools is a collection of scripts and build utilities to help create,
5715manage, and publish documentation for Yelp and the web. Most of the heavy
5716lifting is done by packages like yelp-xsl and itstool. This package just
5717wraps things up in a developer-friendly way.")
5718 (license license:gpl2+)))
af8f9f23
RW
5719
5720(define-public libgee
5721 (package
5722 (name "libgee")
9cedae2a 5723 (version "0.20.3")
af8f9f23
RW
5724 (source (origin
5725 (method url-fetch)
84a1b007 5726 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 5727 (version-major+minor version) "/"
84a1b007 5728 "libgee-" version ".tar.xz"))
af8f9f23
RW
5729 (sha256
5730 (base32
9cedae2a 5731 "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
af8f9f23
RW
5732 (build-system gnu-build-system)
5733 (arguments
5734 `(#:phases
5735 (modify-phases %standard-phases
5736 (add-after 'unpack 'fix-introspection-install-dir
5737 (lambda* (#:key outputs #:allow-other-keys)
5738 (let ((out (assoc-ref outputs "out")))
5739 (substitute* "gee/Makefile.in"
5740 (("@INTROSPECTION_GIRDIR@")
5741 (string-append out "/share/gir-1.0/"))
5742 (("@INTROSPECTION_TYPELIBDIR@")
5743 (string-append out "/lib/girepository-1.0/")))))))))
5744 (native-inputs
5745 `(("glib" ,glib "bin")
5746 ("pkg-config" ,pkg-config)))
5747 (inputs
5748 `(("glib" ,glib)
5749 ("gobject-introspection" ,gobject-introspection)))
5750 (home-page "https://wiki.gnome.org/Projects/Libgee")
5751 (synopsis "GObject collection library")
5752 (description
5753 "Libgee is a utility library providing GObject-based interfaces and
5754classes for commonly used data structures.")
5755 (license license:lgpl2.1+)))
b0f9c4b8
RW
5756
5757(define-public gexiv2
5758 (package
5759 (name "gexiv2")
b1a8b408 5760 (version "0.12.0")
b0f9c4b8
RW
5761 (source (origin
5762 (method url-fetch)
5763 (uri (string-append "mirror://gnome/sources/" name "/"
5764 (version-major+minor version) "/"
5765 name "-" version ".tar.xz"))
5766 (sha256
5767 (base32
b1a8b408 5768 "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq"))))
51c482e4 5769 (build-system meson-build-system)
b0f9c4b8 5770 (native-inputs
b1a8b408
KK
5771 `(("gcr" ,gcr)
5772 ("glib" ,glib "bin")
5773 ("pkg-config" ,pkg-config)
5774 ("vala" ,vala)))
b0f9c4b8
RW
5775 (propagated-inputs
5776 ;; Listed in "Requires" section of gexiv2.pc
5777 `(("exiv2" ,exiv2)))
5778 (inputs
5779 `(("glib" ,glib)
5780 ("gobject-introspection" ,gobject-introspection)))
5781 (home-page "https://wiki.gnome.org/Projects/gexiv2")
5782 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
5783 (description
5784 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
5785allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
5786metadata in photo and video files of various formats.")
5787 (license license:gpl2+)))
fed5a689
RW
5788
5789(define-public shotwell
5790 (package
5791 (name "shotwell")
b82a45d8 5792 (version "0.30.9")
fed5a689
RW
5793 (source (origin
5794 (method url-fetch)
5497d682 5795 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 5796 (version-major+minor version) "/"
5497d682 5797 "shotwell-" version ".tar.xz"))
fed5a689
RW
5798 (sha256
5799 (base32
b82a45d8 5800 "1y556yyzfya0310v5wqjkf17hy5lhf028iminvvgi2pdfva344id"))))
3b79afa6
KK
5801 (build-system meson-build-system)
5802 (arguments
5a0beca3
EF
5803 '(#:glib-or-gtk? #t
5804 #:phases
5805 (modify-phases %standard-phases
5806 (add-after 'unpack 'skip-gtk-update-icon-cache
5807 (lambda _
5808 (substitute* "build-aux/meson/postinstall.py"
5809 (("gtk-update-icon-cache") (which "true"))
5810 (("update-desktop-database") (which "true")))
5811 #t)))))
735b8db6
TGR
5812 (propagated-inputs
5813 `(("dconf" ,dconf)))
fed5a689 5814 (native-inputs
5a0beca3
EF
5815 `(("gettext" ,gettext-minimal)
5816 ("glib:bin" ,glib "bin")
735b8db6 5817 ("itstool" ,itstool)
3b79afa6 5818 ("pkg-config" ,pkg-config)
735b8db6 5819 ("vala" ,vala)))
fed5a689 5820 (inputs
5a0beca3
EF
5821 `(("gcr" ,gcr)
5822 ("gexiv2" ,gexiv2)
fed5a689 5823 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
5824 ("gstreamer" ,gstreamer)
5825 ("json-glib" ,json-glib)
dfb0323d 5826 ("libgdata" ,libgdata)
fed5a689 5827 ("libgee" ,libgee)
5a0beca3
EF
5828 ("libgphoto2" ,libgphoto2)
5829 ("libgudev" ,libgudev)
fed5a689 5830 ("libraw" ,libraw)
fed5a689
RW
5831 ("libsoup" ,libsoup)
5832 ("libxml2" ,libxml2)
5a0beca3
EF
5833 ("sqlite" ,sqlite)
5834 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
5835 (home-page "https://wiki.gnome.org/Apps/Shotwell")
5836 (synopsis "Photo manager for GNOME 3")
5837 (description
5838 "Shotwell is a digital photo manager designed for the GNOME desktop
5839environment. It allows you to import photos from disk or camera, organize
5840them by keywords and events, view them in full-window or fullscreen mode, and
5841share them with others via social networking and more.")
5842 (license license:lgpl2.1+)))
293ff8b2
DT
5843
5844(define-public file-roller
5845 (package
5846 (name "file-roller")
dcae4270 5847 (version "3.32.3")
293ff8b2
DT
5848 (source (origin
5849 (method url-fetch)
f89a27c6 5850 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 5851 (version-major+minor version) "/"
f89a27c6 5852 "file-roller-" version ".tar.xz"))
293ff8b2
DT
5853 (sha256
5854 (base32
dcae4270 5855 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 5856 (build-system meson-build-system)
293ff8b2 5857 (native-inputs
0a500745
RW
5858 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5859 ("intltool" ,intltool)
4c96e5d1 5860 ("itstool" ,itstool)
0a500745
RW
5861 ("pkg-config" ,pkg-config)
5862 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
5863 ("glib:bin" ,glib "bin")))
293ff8b2
DT
5864 ;; TODO: Add libnautilus.
5865 (inputs
5866 `(("gtk+" ,gtk+)
5867 ("gdk-pixbuf" ,gdk-pixbuf)
5868 ("json-glib" ,json-glib)
5869 ("libarchive" ,libarchive)
5870 ("libnotify" ,libnotify)
4c96e5d1 5871 ("nettle" ,nettle)
293ff8b2
DT
5872 ("libxml2" ,libxml2)))
5873 (synopsis "Graphical archive manager for GNOME")
5874 (description "File Roller is an archive manager for the GNOME desktop
5875environment that allows users to view, unpack, and create compressed archives
5876such as gzip tarballs.")
5877 (home-page "http://fileroller.sourceforge.net/")
5878 (license license:gpl2+)))
7ce49365
SB
5879
5880(define-public gnome-session
5881 (package
5882 (name "gnome-session")
f67ce006 5883 (version "3.34.2")
7ce49365
SB
5884 (source (origin
5885 (method url-fetch)
5886 (uri (string-append "mirror://gnome/sources/" name "/"
5887 (version-major+minor version) "/"
5888 name "-" version ".tar.xz"))
5889 (sha256
5890 (base32
f67ce006 5891 "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb"))))
2914af3c 5892 (arguments
df278071
RW
5893 '(#:glib-or-gtk? #t
5894 #:phases
2914af3c
AW
5895 (modify-phases %standard-phases
5896 (add-before 'configure 'pre-configure
5897 (lambda* (#:key outputs #:allow-other-keys)
5898 ;; Use elogind instead of systemd.
df278071
RW
5899 (substitute* "meson.build"
5900 (("libsystemd-login") "libelogind")
5901 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
5902 (substitute* "gnome-session/gsm-systemd.c"
5903 (("#include <systemd/sd-login.h>")
5904 "#include <elogind/sd-login.h>"))
df278071 5905 ;; Remove uses of the systemd daemon.
803ab416
SB
5906 (substitute* "gnome-session/gsm-autostart-app.c"
5907 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
5908 #t))
5909 (add-after 'install 'wrap-gnome-session
5910 (lambda* (#:key inputs outputs #:allow-other-keys)
5911 ;; Make sure 'gnome-session' finds the 'gsettings' program.
5912 (let ((glib (assoc-ref inputs "glib:bin"))
5913 (out (assoc-ref outputs "out")))
5914 (wrap-program (string-append out "/bin/gnome-session")
5915 `("PATH" ":" prefix (,(string-append glib "/bin"))))
5916 #t))))
6cbc8d57 5917
2914af3c 5918 #:configure-flags
df278071
RW
5919 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
5920 "-Dman=false" ; FIXME: disabled because of docbook validation error
5921 "-Dsystemd_journal=false")))
5922 (build-system meson-build-system)
7ce49365
SB
5923 (native-inputs
5924 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5925 ("pkg-config" ,pkg-config)
5926 ("intltool" ,intltool)
df278071
RW
5927 ("xsltproc" ,libxslt)
5928 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5929 ("docbook-xsl" ,docbook-xsl)
5930 ("docbook-xml" ,docbook-xml)
5931 ("xmlto" ,xmlto)))
7ce49365 5932 (inputs
2914af3c
AW
5933 `(("elogind" ,elogind)
5934 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 5935 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
5936 ("gtk+" ,gtk+)
5937 ("json-glib" ,json-glib)
5938 ("libsm" ,libsm)
5939 ("libxcomposite" ,libxcomposite)
5940 ("libxtst" ,libxtst)
5941 ("mesa" ,mesa)
5942 ("upower" ,upower)
5943 ("xtrans" ,xtrans)))
5944 (synopsis "Session manager for GNOME")
5945 (description
5946 "This package contains the GNOME session manager, as well as a
5947configuration program to choose applications starting on login.")
5948 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
5949 (license license:gpl2+)))
f47ba77e
SB
5950
5951(define-public gjs
5952 (package
5953 (name "gjs")
76e1830c 5954 (version "1.58.3")
f47ba77e
SB
5955 (source (origin
5956 (method url-fetch)
5957 (uri (string-append "mirror://gnome/sources/" name "/"
5958 (version-major+minor version) "/"
5959 name "-" version ".tar.xz"))
5960 (sha256
5961 (base32
76e1830c 5962 "1bkksx362007zs8c31ydygb29spwa5g5kch1ad2grc2sp53wv7ya"))))
f47ba77e
SB
5963 (build-system gnu-build-system)
5964 (arguments
5965 '(#:phases
5966 (modify-phases %standard-phases
5967 (add-before
5968 'check 'pre-check
5969 (lambda _
fc119619
MW
5970 ;; The test suite requires a running X server.
5971 (system "Xvfb :1 &")
5972 (setenv "DISPLAY" ":1")
5973
f47ba77e
SB
5974 ;; For the missing /etc/machine-id.
5975 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 5976
144f94d0
KK
5977 ;; Our mozjs-38 package does not compile the required Intl API
5978 ;; support for these failing tests.
5979 (substitute* "installed-tests/js/testLocale.js"
5980 ((".*toBeDefined.*") "")
5981 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
5982 (substitute* "installed-tests/scripts/testCommandLine.sh"
5983 (("Valentín") "")
5984 (("☭") ""))
f47ba77e
SB
5985 #t)))))
5986 (native-inputs
8a831c6f 5987 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
5988 ("pkg-config" ,pkg-config)
5989 ("xmllint" ,libxml2)
5990 ;; For testing
5991 ("dbus-launch" ,dbus)
76e1830c 5992 ("dconf" ,dconf) ; required to properly store settings
f47ba77e 5993 ("uuidgen" ,util-linux)
ebebee94 5994 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
5995 (propagated-inputs
5996 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
5997 `(("cairo" ,cairo)
5998 ("gobject-introspection" ,gobject-introspection)
d054fbf5 5999 ("mozjs" ,mozjs-60)))
f47ba77e
SB
6000 (inputs
6001 `(("gtk+" ,gtk+)
6002 ("readline" ,readline)))
6003 (synopsis "Javascript bindings for GNOME")
f032d0be 6004 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
6005 (description
6006 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
6007javascript engine and the GObject introspection framework.")
6008 (license license:gpl2+)))
329d731b
DH
6009
6010(define-public gedit
6011 (package
6012 (name "gedit")
edec7128 6013 (version "3.34.1")
329d731b
DH
6014 (source (origin
6015 (method url-fetch)
6016 (uri (string-append "mirror://gnome/sources/" name "/"
6017 (version-major+minor version) "/"
6018 name "-" version ".tar.xz"))
6019 (sha256
6020 (base32
edec7128 6021 "1inm50sdfw63by1lf4f1swb59mpyxlly0g5rdg99j5l3357fzygb"))))
480c9226 6022 (build-system meson-build-system)
329d731b 6023 (arguments
480c9226
KK
6024 `(#:glib-or-gtk? #t
6025 #:configure-flags
6026 ;; Otherwise, the RUNPATH will lack the final path component.
6027 (list (string-append "-Dc_link_args=-Wl,-rpath="
6028 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
6029
6030 ;; XXX: Generated .h files are sometimes used before being built.
6031 #:parallel-build? #f
6032
480c9226 6033 #:phases
329d731b 6034 (modify-phases %standard-phases
480c9226
KK
6035 (add-after 'unpack 'skip-gtk-update-icon-cache
6036 ;; Don't create 'icon-theme.cache'.
6037 (lambda _
6038 (substitute* "build-aux/meson/post_install.py"
6039 (("gtk-update-icon-cache") (which "true")))
6040 #t))
6041 (add-after 'unpack 'patch-libgd-fetch
6042 (lambda* (#:key inputs #:allow-other-keys)
6043 (let ((libgd (assoc-ref inputs "libgd")))
6044 ;; Calling git is unnecessary because libgd is fetched as a
6045 ;; native input to this package.
6046 (substitute* "meson.build"
6047 ((".*git.*") ""))
6048 (copy-recursively libgd "subprojects/libgd")
6049 #t)))
6050 (add-after 'install 'wrap-gedit
6051 (lambda* (#:key inputs outputs #:allow-other-keys)
6052 (let ((out (assoc-ref outputs "out"))
6053 (gtksourceview (assoc-ref inputs "gtksourceview"))
6054 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
6055 (python-path (getenv "PYTHONPATH")))
6056 (wrap-program (string-append out "/bin/gedit")
6057 ;; For plugins.
6058 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
6059 `("PYTHONPATH" ":" prefix (,python-path))
6060 ;; For language-specs.
6061 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
6062 "/share")))))
6063 #t)))))
329d731b
DH
6064 (propagated-inputs
6065 `(("dconf" ,dconf)))
6066 (native-inputs
480c9226
KK
6067 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6068 ("intltool" ,intltool)
b3546174 6069 ("itstool" ,itstool)
480c9226 6070 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 6071 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
6072 ("libgd"
6073 ,(origin
6074 (method git-fetch)
6075 (uri (git-reference
6076 (url "https://gitlab.gnome.org/GNOME/libgd")
6077 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
6078 (file-name (git-file-name "libgd" version))
6079 (sha256
6080 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
6081 ("pkg-config" ,pkg-config)))
6082 (inputs
6083 `(("glib" ,glib)
0d2df50c 6084 ("gspell" ,gspell)
329d731b 6085 ("gtk+" ,gtk+)
480c9226 6086 ("gtksourceview" ,gtksourceview)
329d731b
DH
6087 ("libpeas" ,libpeas)
6088 ("libxml2" ,libxml2)
329d731b
DH
6089 ("iso-codes" ,iso-codes)
6090 ("python-pygobject" ,python-pygobject)
6091 ("python" ,python)
6092 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6093 ("libx11" ,libx11)
6094 ("vala" ,vala)
6095 ("adwaita-icon-theme" ,adwaita-icon-theme)
6096 ("libsoup" ,libsoup)
6097 ("gnome-desktop" ,gnome-desktop)))
6098 (home-page "https://wiki.gnome.org/Apps/Gedit")
6099 (synopsis "GNOME text editor")
6100 (description "While aiming at simplicity and ease of use, gedit is a
6101powerful general purpose text editor.")
6102 (license license:gpl2+)))
b7179363
SB
6103
6104(define-public zenity
6105 (package
6106 (name "zenity")
4f581bd0 6107 (version "3.32.0")
b7179363
SB
6108 (source (origin
6109 (method url-fetch)
5958df04 6110 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 6111 (version-major+minor version) "/"
5958df04 6112 "zenity-" version ".tar.xz"))
b7179363
SB
6113 (sha256
6114 (base32
4f581bd0 6115 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
6116 (build-system gnu-build-system)
6117 (native-inputs
b94a6ca0 6118 `(("gettext" ,gettext-minimal)
b7179363
SB
6119 ("itstool" ,itstool)
6120 ("pkg-config" ,pkg-config)))
6121 (inputs
6122 `(("libnotify" ,libnotify)
6123 ("webkitgtk" ,webkitgtk)))
6124 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 6125 (home-page "https://www.gnome.org")
b7179363
SB
6126 (description
6127 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
6128to display dialog boxes from the commandline and shell scripts.")
6129 (license license:lgpl2.0+)))
60c3627c
SB
6130
6131(define-public mutter
6132 (package
6133 (name "mutter")
ec3ceabd 6134 (version "3.34.2")
60c3627c 6135 (source (origin
86c44e72
KK
6136 (method url-fetch)
6137 (uri (string-append "mirror://gnome/sources/" name "/"
6138 (version-major+minor version) "/"
6139 name "-" version ".tar.xz"))
60c3627c
SB
6140 (sha256
6141 (base32
ec3ceabd 6142 "0b8bz5kvs7rlwvqsg87cf6jhrrj95vgd1l235mjx8rip35ipfvrd"))))
86c44e72
KK
6143 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
6144 ;; versions of cogl and clutter. As a result, many of the inputs,
6145 ;; propagated-inputs, and configure flags used in cogl and clutter are
6146 ;; needed here as well.
edf43f68 6147 (build-system meson-build-system)
60c3627c 6148 (arguments
edf43f68
KK
6149 '(;; XXX: All mutter tests fail with the following error:
6150 ;; Settings schema 'org.gnome.mutter' is not installed
6151 #:tests? #f
6152 #:glib-or-gtk? #t
6153 #:configure-flags
ec3ceabd
KK
6154 ;; TODO: Enable profiler when Sysprof is packaged.
6155 (list "-Dprofiler=false"
6156 ;; Otherwise, the RUNPATH will lack the final path component.
6157 (string-append "-Dc_link_args=-Wl,-rpath="
edf43f68 6158 (assoc-ref %outputs "out") "/lib:"
ec3ceabd 6159 (assoc-ref %outputs "out") "/lib/mutter-5")
a88d5a0c
MW
6160
6161 ;; The following flags are needed for the bundled clutter
edf43f68 6162 (string-append "-Dxwayland_path="
d633f2f6
RH
6163 (assoc-ref %build-inputs "xorg-server-xwayland")
6164 "/bin/Xwayland")
6165
a88d5a0c 6166 ;; the remaining flags are needed for the bundled cogl
edf43f68 6167 (string-append "-Dopengl_libname="
a88d5a0c 6168 (assoc-ref %build-inputs "mesa")
ec3ceabd 6169 "/lib/libGL.so"))))
60c3627c 6170 (native-inputs
ec3ceabd
KK
6171 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6172 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
60c3627c
SB
6173 ("gobject-introspection" ,gobject-introspection)
6174 ("intltool" ,intltool)
f23052a6 6175 ("pkg-config" ,pkg-config)
edf43f68 6176 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
6177 ;; For git build
6178 ("autoconf" ,autoconf)
6179 ("automake" ,automake)
6180 ("libtool" ,libtool)))
60c3627c 6181 (propagated-inputs
a88d5a0c
MW
6182 `(;; libmutter.pc refers to these:
6183 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6184 ("gtk+" ,gtk+)
6185 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
6186 ("atk" ,atk)
6187 ("cairo" ,cairo)
6188 ("gdk-pixbuf" ,gdk-pixbuf)
6189 ("glib" ,glib)
a88d5a0c
MW
6190 ("json-glib" ,json-glib)
6191 ("libinput" ,libinput)
6192 ("libx11" ,libx11)
6193 ("libxcomposite" ,libxcomposite)
6194 ("libxdamage" ,libxdamage)
6195 ("libxext" ,libxext)
6196 ("libxfixes" ,libxfixes)
6197 ("libxkbcommon" ,libxkbcommon)
6198 ("libxrandr" ,libxrandr)
6199 ("mesa" ,mesa)
6200 ("pango" ,pango)
6201 ("udev" ,eudev)
a88d5a0c 6202 ("xinput" ,xinput)))
60c3627c 6203 (inputs
86c44e72
KK
6204 `(("elogind" ,elogind)
6205 ("gnome-desktop" ,gnome-desktop)
edf43f68 6206 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 6207 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 6208 ("libgudev" ,libgudev)
60c3627c
SB
6209 ("libice" ,libice)
6210 ("libsm" ,libsm)
edf43f68 6211 ("libwacom" ,libwacom)
60c3627c 6212 ("libxkbfile" ,libxkbfile)
a88d5a0c 6213 ("libxrandr" ,libxrandr)
86c44e72 6214 ("libxtst" ,libxtst)
edf43f68 6215 ("pipewire" ,pipewire)
60c3627c
SB
6216 ("startup-notification" ,startup-notification)
6217 ("upower-glib" ,upower)
6218 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 6219 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
6220 ("zenity" ,zenity)))
6221 (synopsis "Window and compositing manager")
f032d0be 6222 (home-page "https://www.gnome.org")
60c3627c
SB
6223 (description
6224 "Mutter is a window and compositing manager that displays and manages your
6225desktop via OpenGL. Mutter combines a sophisticated display engine using the
6226Clutter toolkit with solid window-management logic inherited from the Metacity
6227window manager.")
86c44e72 6228 (license license:gpl2+)))
685cee87
SB
6229
6230(define-public gnome-online-accounts
6231 (package
6232 (name "gnome-online-accounts")
dd233e4d 6233 (version "3.36.0")
685cee87
SB
6234 (source (origin
6235 (method url-fetch)
6236 (uri (string-append "mirror://gnome/sources/" name "/"
6237 (version-major+minor version) "/"
6238 name "-" version ".tar.xz"))
6239 (sha256
6240 (base32
dd233e4d 6241 "0bigfi225g1prnxpb9lcc1i7mdcrkplwb05vilc43jik12cn53qw"))))
14c297fd 6242 (outputs '("out" "lib"))
685cee87 6243 (build-system glib-or-gtk-build-system)
14c297fd
TS
6244 (arguments
6245 `(#:configure-flags
6246 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
6247 #:phases
6248 (modify-phases %standard-phases
6249 (add-before 'configure 'patch-libgoa-output
6250 (lambda* (#:key outputs #:allow-other-keys)
6251 (let ((lib (assoc-ref outputs "lib")))
6252 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
6253 (("@prefix@") lib)
6254 (("@exec_prefix@") lib)
6255 (("@libdir@") (string-append lib "/lib"))
6256 (("@includedir@") (string-append lib "/include"))
6257 (("@datadir@") (string-append lib "/share")))
7555d539
MB
6258 ;; Make sure gobject-introspection knows about the output
6259 ;; too (see <https://bugs.gnu.org/36535>).
6260 (setenv "outputs" "out lib")
14c297fd 6261 #t))))))
685cee87
SB
6262 (native-inputs
6263 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6264 ("gobject-introspection" ,gobject-introspection)
6265 ("intltool" ,intltool)
6266 ("pkg-config" ,pkg-config)
ebb2873d 6267 ("vala" ,vala)
685cee87
SB
6268 ("xsltproc" ,libxslt)))
6269 (propagated-inputs
6270 `(("glib" ,glib) ; required by goa-1.0.pc
6271 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
6272 (inputs
6273 `(("docbook-xsl" ,docbook-xsl)
6274 ("json-glib" ,json-glib)
6275 ("libsecret" ,libsecret)
6276 ("rest" ,rest)
685cee87
SB
6277 ("webkitgtk" ,webkitgtk)))
6278 (synopsis "Single sign-on framework for GNOME")
6279 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
6280 (description
6281 "GNOME Online Accounts provides interfaces so that applications and
6282libraries in GNOME can access the user's online accounts. It has providers for
6283Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
6284Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
6285 (license license:lgpl2.0+)))
df217748
SB
6286
6287(define-public evolution-data-server
6288 (package
6289 (name "evolution-data-server")
162048be 6290 (version "3.34.2")
df217748
SB
6291 (source (origin
6292 (method url-fetch)
6293 (uri (string-append "mirror://gnome/sources/" name "/"
6294 (version-major+minor version) "/"
6295 name "-" version ".tar.xz"))
43190ac6
MB
6296 (patches (search-patches "evolution-data-server-locales.patch"
6297 "evolution-data-server-libical-compat.patch"))
df217748
SB
6298 (sha256
6299 (base32
162048be 6300 "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y"))))
743aebd7 6301 (build-system cmake-build-system)
df217748 6302 (arguments
b468eedc
RW
6303 '(#:configure-flags
6304 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
6305 (runpaths (map (lambda (s)
6306 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
6307 '("addressbook-backends" "calendar-backends"
6308 "camel-providers" "credential-modules"
6309 "registry-modules"))))
6310 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
6311 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
6312 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
6313 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
6314 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
6315 (string-append lib "/evolution-data-server;")
6316 (string-join runpaths ";"))
6317 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
6318 #:phases
6319 (modify-phases %standard-phases
b468eedc
RW
6320 (add-after 'unpack 'disable-failing-tests
6321 (lambda _
6322 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
6323 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
6324 (delete-file-recursively "tests/book-migration")
6325 (substitute* "tests/CMakeLists.txt"
6326 (("add_subdirectory\\(book-migration\\)") ""))
b468eedc 6327 #t))
743aebd7 6328 (add-after 'unpack 'patch-paths
df217748 6329 (lambda _
b468eedc
RW
6330 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
6331 "tests/libedata-book/data-test-utils.c"
6332 "tests/libedata-book/test-book-cache-utils.c"
6333 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 6334 (("/bin/rm") (which "rm")))
ac033c7b
MB
6335 #t))
6336 (add-before 'configure 'dont-override-rpath
6337 (lambda _
6338 (substitute* "CMakeLists.txt"
6339 ;; CMakeLists.txt hard-codes runpath to just the libdir.
6340 ;; Remove it so the configure flag is respected.
6341 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 6342 #t)))))
df217748
SB
6343 (native-inputs
6344 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
6345 ("gobject-introspection" ,gobject-introspection)
6346 ("gperf" ,gperf)
6347 ("intltool" ,intltool)
6348 ("pkg-config" ,pkg-config)
a73c1cf8 6349 ("vala" ,vala)
743aebd7 6350 ("python" ,python-wrapper)))
df217748
SB
6351 (propagated-inputs
6352 ;; These are all in the Requires field of .pc files.
6353 `(("gtk+" ,gtk+)
6354 ("libical" ,libical)
6355 ("libsecret" ,libsecret)
6356 ("libsoup" ,libsoup)
6357 ("nss" ,nss)
6358 ("sqlite" ,sqlite)))
6359 (inputs
6360 `(("bdb" ,bdb)
6361 ("gcr" ,gcr)
14c297fd 6362 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 6363 ("json-glib" ,json-glib)
b468eedc 6364 ("libcanberra" ,libcanberra)
743aebd7
MB
6365 ("libgweather" ,libgweather)
6366 ("mit-krb5" ,mit-krb5)
891199c6
MW
6367 ("openldap" ,openldap)
6368 ("webkitgtk" ,webkitgtk)))
df217748
SB
6369 (synopsis "Store address books and calendars")
6370 (home-page "https://wiki.gnome.org/Apps/Evolution")
6371 (description
6372 "This package provides a unified backend for programs that work with
6373contacts, tasks, and calendar information. It was originally developed for
6374Evolution (hence the name), but is now used by other packages as well.")
6375 (license license:lgpl2.0)))
bd7dfafa
SB
6376
6377(define-public caribou
6378 (package
6379 (name "caribou")
fe964bb5 6380 (version "0.4.21")
bd7dfafa
SB
6381 (source (origin
6382 (method url-fetch)
6383 (uri (string-append "mirror://gnome/sources/" name "/"
6384 (version-major+minor version) "/"
6385 name "-" version ".tar.xz"))
6386 (sha256
6387 (base32
fe964bb5 6388 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
6389 (build-system glib-or-gtk-build-system)
6390 (arguments
6391 '(#:phases
6392 (modify-phases %standard-phases
6393 (add-before
6394 'build 'pre-build
6395 (lambda* (#:key outputs #:allow-other-keys)
6396 (let ((out (assoc-ref outputs "out")))
6397 ;; Use absolute shared library path in Caribou-1.0.typelib.
6398 (substitute* "libcaribou/Makefile"
6399 (("--shared-library=libcaribou.so")
6400 (string-append "--shared-library="
6401 out "/lib/libcaribou.so")))
6402 #t)))
6403 (add-after 'install 'wrap-programs
6404 (lambda* (#:key outputs #:allow-other-keys)
6405 (let* ((out (assoc-ref outputs "out"))
6406 (python-path (getenv "PYTHONPATH"))
6407 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6408 (for-each
6409 (lambda (prog)
6410 (wrap-program prog
6411 `("PYTHONPATH" ":" prefix (,python-path))
6412 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6413 (list (string-append out "/bin/caribou-preferences")
6414 (string-append out "/libexec/antler-keyboard"))))
6415 #t)))))
6416 (native-inputs
6417 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6418 ("gobject-introspection" ,gobject-introspection)
6419 ("intltool" ,intltool)
6420 ("pkg-config" ,pkg-config)
9f7f5ba2 6421 ("python" ,python)
bd7dfafa
SB
6422 ("vala" ,vala)
6423 ("xsltproc" ,libxslt)))
6424 (propagated-inputs
6425 ;; caribou-1.0.pc refers to all these.
6426 `(("libgee" ,libgee)
6427 ("libxklavier" ,libxklavier)
6428 ("libxtst" ,libxtst)
6429 ("gtk+" ,gtk+)))
6430 (inputs
6431 `(("clutter" ,clutter)
6432 ("dconf" ,dconf)
6433 ("gtk+-2" ,gtk+-2)
9f7f5ba2 6434 ("python-pygobject" ,python-pygobject)))
bd7dfafa
SB
6435 (synopsis "Text entry and UI navigation application")
6436 (home-page "https://wiki.gnome.org/Projects/Caribou")
6437 (description
6438 "Caribou is an input assistive technology intended for switch and pointer
6439users.")
6440 (license license:lgpl2.1)))
ba5dd105 6441
ba5dd105
SB
6442(define-public network-manager
6443 (package
6444 (name "network-manager")
01c22be7 6445 (version "1.24.0")
ba5dd105
SB
6446 (source (origin
6447 (method url-fetch)
6448 (uri (string-append "mirror://gnome/sources/NetworkManager/"
6449 (version-major+minor version) "/"
6450 "NetworkManager-" version ".tar.xz"))
8d0548fd 6451 (patches (search-patches "network-manager-plugin-path.patch"))
ba5dd105
SB
6452 (sha256
6453 (base32
01c22be7 6454 "06044fl60bjlj7c6rqqfbm5795h61h6yzp7ch392hzcnm46wwhn3"))
02710a9b 6455 (modules '((guix build utils)))
fd070f35 6456 (snippet
02710a9b
RW
6457 '(begin
6458 (substitute* "src/devices/wwan/nm-modem-manager.c"
6459 (("systemd") "elogind"))
6460 #t))))
255ff74f 6461 (build-system meson-build-system)
ba5dd105
SB
6462 (outputs '("out"
6463 "doc")) ; 8 MiB of gtk-doc HTML
6464 (arguments
255ff74f 6465 `(#:configure-flags
ba5dd105 6466 (let ((out (assoc-ref %outputs "out"))
ba5dd105
SB
6467 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
6468 "/sbin/dhclient")))
255ff74f
BW
6469 (list
6470 ;; Otherwise, the RUNPATH will lack the final 'NetworkManager' path
6471 ;; component.
6472 (string-append "-Dc_link_args=-Wl,-rpath="
6473 out "/lib:"
6474 out "/lib/NetworkManager/" ,version)
6475 "-Dsystemd_journal=false"
6476 "-Dsession_tracking=elogind"
6477 "-Dsuspend_resume=elogind"
6478 "-Dsystemdsystemunitdir=no"
6479 "-Dsession_tracking_consolekit=false"
6480 "-Ddhcpcd=no"
6481 "-Ddhcpcanon=no"
6482 "-Dcrypto=gnutls"
6483 "-Diwd=true"
6484 "-Dlibaudit=yes"
6485 "-Dqt=false"
6486 "-Ddocs=true"
6487 "--sysconfdir=/etc"
6488 "--localstatedir=/var"
6489 (string-append "-Dudev_dir="
6490 out "/lib/udev")
6491 (string-append "-Ddbus_conf_dir="
6492 out "/etc/dbus-1/system.d")
6493
6494 (string-append "-Ddhclient=" dhclient)))
ba5dd105
SB
6495 #:phases
6496 (modify-phases %standard-phases
b4f59d87
AW
6497 (add-before 'configure 'pre-configure
6498 (lambda _
6499 ;; These tests try to test aspects of network-manager's
6500 ;; functionality within restricted containers, but they don't
6501 ;; cope with being already in the Guix build jail as that jail
6502 ;; lacks some features that they would like to proxy over (like
6503 ;; a /sys mount).
255ff74f
BW
6504 (substitute* "src/platform/tests/meson.build"
6505 ((".*test-address-linux.*") "")
6506 ((".*test-cleanup-linux.*") "")
6507 ((".*test-link-linux.*") "")
6508 ((".*test-route-linux.*") ""))
6509 (substitute* "src/devices/tests/meson.build"
6510 ((".*test-acd.*") "")
6511 ((".*test-lldp.*") ""))
45f80fce 6512 #t))
255ff74f
BW
6513 (add-after 'unpack 'patch-docbook-xml
6514 (lambda* (#:key inputs #:allow-other-keys)
6515 (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
6516 "/xml/dtd/docbook")))
6517 (substitute* (find-files "." ".*\\.(xsl|xml)")
6518 (("http://.*/docbookx\\.dtd")
6519 (string-append xmldoc "/docbookx.dtd")))
6520 #t)))
ba5dd105
SB
6521 (add-before 'check 'pre-check
6522 (lambda _
6523 ;; For the missing /etc/machine-id.
6524 (setenv "DBUS_FATAL_WARNINGS" "0")
6525 #t))
255ff74f
BW
6526 (add-before 'install 'no-polkit-magic
6527 ;; Meson ‘magically’ invokes pkexec, which fails (not setuid).
ba5dd105 6528 (lambda _
255ff74f
BW
6529 (setenv "PKEXEC_UID" "something")
6530 #t))
6531 (add-after 'install 'move-doc
6532 (lambda* (#:key outputs #:allow-other-keys)
6533 (let ((out (assoc-ref outputs "out"))
6534 (doc (assoc-ref outputs "doc")))
6535 (mkdir-p (string-append doc "/share"))
6536 (for-each (lambda (directory)
6537 (copy-recursively (string-append out directory)
6538 (string-append doc directory))
6539 (delete-file-recursively
6540 (string-append out directory)))
6541 '("/share/doc" "/share/gtk-doc"))
6542 #t))))))
b93502d6
DC
6543 (propagated-inputs
6544 `(("glib" ,glib)))
ba5dd105 6545 (native-inputs
255ff74f
BW
6546 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
6547 ("gtk-doc" ,gtk-doc)
ba5dd105 6548 ("gobject-introspection" ,gobject-introspection)
255ff74f 6549 ("docbook-xml" ,docbook-xml)
d04687dc 6550 ("docbook-xsl" ,docbook-xsl)
ba5dd105 6551 ("intltool" ,intltool)
d04687dc
HG
6552 ("libxslt" ,libxslt)
6553 ("libxml2" ,libxml2)
ba5dd105 6554 ("pkg-config" ,pkg-config)
255ff74f 6555 ("vala" ,vala)
ba5dd105
SB
6556 ;; For testing.
6557 ("python" ,python-wrapper)
6558 ("python-dbus" ,python-dbus)
6559 ("python-pygobject" ,python-pygobject)))
6560 (inputs
255ff74f 6561 `(("curl" ,curl)
856ca567
KK
6562 ("cyrus-sasl" ,cyrus-sasl)
6563 ("dbus-glib" ,dbus-glib)
ba5dd105 6564 ("dnsmasq" ,dnsmasq)
856ca567 6565 ("eudev" ,eudev)
ba5dd105
SB
6566 ("gnutls" ,gnutls)
6567 ("iptables" ,iptables)
6568 ("isc-dhcp" ,isc-dhcp)
c2f236fa 6569 ("iwd" ,iwd) ; wpa_supplicant alternative
d04687dc 6570 ("jansson" ,jansson)
c2f236fa 6571 ("libaudit" ,audit)
ba5dd105
SB
6572 ("libgcrypt" ,libgcrypt)
6573 ("libgudev" ,libgudev)
6574 ("libndp" ,libndp)
6575 ("libnl" ,libnl)
6576 ("libsoup" ,libsoup)
255ff74f 6577 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
142bdcbc 6578 ("modem-manager" ,modem-manager)
c27e02bf 6579 ("newt" ,newt) ;for the 'nmtui' console interface
c2f236fa 6580 ("openresolv" ,openresolv) ; alternative resolv.conf manager
ba5dd105
SB
6581 ("polkit" ,polkit)
6582 ("ppp" ,ppp)
6583 ("readline" ,readline)
fd070f35
CM
6584 ("util-linux" ,util-linux)
6585 ("elogind" ,elogind)))
ba5dd105 6586 (synopsis "Network connection manager")
8d0548fd 6587 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
ba5dd105
SB
6588 (description
6589 "NetworkManager is a system network service that manages your network
6590devices and connections, attempting to keep active network connectivity when
6591available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
6592devices, and provides VPN integration with a variety of different VPN
6593services.")
255ff74f
BW
6594 ;; “This NetworkManager project consists of the daemon, client tools, and
6595 ;; libnm. libnm is licensed LGPL-2.1+, while the rest is licensed under
6596 ;; GPL-2.0+.”
6597 (license (list license:gpl2+
6598 license:lgpl2.1+))
29d2f451 6599 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 6600
f2b96b3a
LC
6601(define-public network-manager-openvpn
6602 (package
6603 (name "network-manager-openvpn")
3fe368c0 6604 (version "1.8.12")
f2b96b3a
LC
6605 (source (origin
6606 (method url-fetch)
6607 (uri (string-append
6608 "mirror://gnome/sources/NetworkManager-openvpn/"
6609 (version-major+minor version)
6610 "/NetworkManager-openvpn-" version ".tar.xz"))
6611 (sha256
6612 (base32
3fe368c0 6613 "062kh4zj7jfbwy4zzcwpq2m457bzbpm3l18s0ysnw3mgia3siz8f"))))
f2b96b3a
LC
6614 (build-system gnu-build-system)
6615 (arguments
633422b0
JL
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* ((ovpn (string-append (assoc-ref inputs "openvpn")
6622 "/sbin/openvpn"))
6623 (modprobe (string-append (assoc-ref inputs "kmod")
6624 "/bin/modprobe"))
6625 (pretty-ovpn (string-append "\"" ovpn "\"")))
6626 (for-each
6627 (lambda (file)
6628 (substitute* file
6629 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
6630 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
6631 (("\"/sbin/openvpn\"") pretty-ovpn)
6632 (("/sbin/modprobe") modprobe)))
6633 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
6634 #t)))))
f2b96b3a
LC
6635 (native-inputs
6636 `(("pkg-config" ,pkg-config)
6637 ("intltool" ,intltool)))
6638 (inputs
6639 `(("gtk+" ,gtk+)
633422b0 6640 ("kmod" ,kmod)
f2b96b3a
LC
6641 ("openvpn" ,openvpn)
6642 ("network-manager" ,network-manager)
3fe368c0 6643 ("libnma" ,libnma)
f2b96b3a
LC
6644 ("libsecret" ,libsecret)))
6645 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6646 (synopsis "OpenVPN plug-in for NetworkManager")
6647 (description
6648 "This extension of NetworkManager allows it to take care of connections
6649to virtual private networks (VPNs) via OpenVPN.")
6650 (license license:gpl2+)
6651 (properties `((upstream-name . "NetworkManager-openvpn")))))
6652
d376129f
JL
6653(define-public network-manager-vpnc
6654 (package
6655 (name "network-manager-vpnc")
6656 (version "1.2.6")
6657 (source (origin
6658 (method url-fetch)
6659 (uri (string-append
6660 "mirror://gnome/sources/NetworkManager-vpnc/"
6661 (version-major+minor version)
6662 "/NetworkManager-vpnc-" version ".tar.xz"))
6663 (sha256
6664 (base32
6665 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
6666 (build-system gnu-build-system)
6667 (arguments
7c43b78d
BW
6668 `(#:configure-flags '("--enable-absolute-paths"
6669 "--localstatedir=/var"
6670 ;; libnm-glib has been removed from network-manager
6671 ;; 1de8383ad9fdfc8f552117e5d109bdfa7005634b
6672 "--with-libnm-glib=no")
d376129f
JL
6673 #:phases
6674 (modify-phases %standard-phases
6675 (add-after 'configure 'patch-path
6676 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6677 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
6678 "/sbin/vpnc"))
6679 (modprobe (string-append (assoc-ref inputs "kmod")
6680 "/bin/modprobe"))
6681 (pretty-ovpn (string-append "\"" vpnc "\"")))
6682 (substitute* "src/nm-vpnc-service.c"
6683 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
6684 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
6685 (("\"/sbin/vpnc\"") pretty-ovpn)
6686 (("/sbin/modprobe") modprobe)))
6687 #t)))))
6688 (native-inputs
6689 `(("pkg-config" ,pkg-config)
6690 ("intltool" ,intltool)))
6691 (inputs
6692 `(("gtk+" ,gtk+)
6693 ("kmod" ,kmod)
6694 ("vpnc" ,vpnc)
6695 ("network-manager" ,network-manager)
7c43b78d 6696 ("libnma" ,libnma)
d376129f
JL
6697 ("libsecret" ,libsecret)))
6698 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6699 (synopsis "VPNC plug-in for NetworkManager")
6700 (description
6701 "Support for configuring virtual private networks based on VPNC.
6702Compatible with Cisco VPN concentrators configured to use IPsec.")
6703 (license license:gpl2+)
6704 (properties `((upstream-name . "NetworkManager-vpnc")))))
6705
8378c87a
EF
6706(define-public network-manager-openconnect
6707 (package
6708 (name "network-manager-openconnect")
6709 (version "1.2.6")
6710 (source (origin
6711 (method url-fetch)
6712 (uri (string-append
6713 "mirror://gnome/sources/NetworkManager-openconnect/"
6714 (version-major+minor version)
6715 "/NetworkManager-openconnect-" version ".tar.xz"))
6716 (sha256
6717 (base32
6718 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
6719 (build-system gnu-build-system)
6720 (arguments
6721 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6722 #:phases
6723 (modify-phases %standard-phases
6724 (add-after 'configure 'patch-path
6725 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6726 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
6727 "/sbin/openconnect"))
6728 (modprobe (string-append (assoc-ref inputs "kmod")
6729 "/bin/modprobe"))
6730 (pretty-ovpn (string-append "\"" openconnect "\"")))
6731 (substitute* "src/nm-openconnect-service.c"
6732 (("\"/usr/local/sbin/openconnect\"") pretty-ovpn)
6733 (("\"/usr/sbin/openconnect\"") pretty-ovpn)
6734 (("/sbin/modprobe") modprobe)))
6735 #t)))))
6736 (native-inputs
6737 `(("intltool" ,intltool)
4ca449c5 6738 ("libnma" ,libnma)
8378c87a
EF
6739 ("pkg-config" ,pkg-config)))
6740 (inputs
6741 `(("gcr" ,gcr)
6742 ("gtk+" ,gtk+)
6743 ("kmod" ,kmod)
6744 ("libsecret" ,libsecret)
6745 ("libxml2" ,libxml2)
b4fe5dab 6746 ("lz4" ,lz4)
8378c87a
EF
6747 ("network-manager" ,network-manager)
6748 ("openconnect" ,openconnect)))
6749 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6750 (synopsis "OpenConnect plug-in for NetworkManager")
6751 (description
6752 "This extension of NetworkManager allows it to take care of connections
6753to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
6754Cisco's AnyConnect SSL VPN.")
6755 (license license:gpl2+)
e52b9534
LC
6756 (properties `((upstream-name . "NetworkManager-openconnect")
6757
6758 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
6759 ;; file refers to account "nm-openconnect". Specify it here
6760 ;; so that 'network-manager-service-type' creates it.
6761 (user-accounts . ("nm-openconnect"))))))
8378c87a 6762
e5e1df4d
DC
6763(define-public mobile-broadband-provider-info
6764 (package
6765 (name "mobile-broadband-provider-info")
310c89e3 6766 (version "20190116")
e5e1df4d
DC
6767 (source (origin
6768 (method url-fetch)
6769 (uri (string-append
6770 "mirror://gnome/sources/"
6771 "mobile-broadband-provider-info/" version "/"
6772 "mobile-broadband-provider-info-" version ".tar.xz"))
6773 (sha256
6774 (base32
310c89e3 6775 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
6776 (build-system gnu-build-system)
6777 (arguments
310c89e3 6778 `(#:tests? #f)) ; no tests
e5e1df4d
DC
6779 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
6780 (synopsis "Database of broadband connection configuration")
6781 (description "Database of broadband connection configuration.")
6782 (license license:public-domain)))
6783
4d62a9d3
SB
6784(define-public network-manager-applet
6785 (package
6786 (name "network-manager-applet")
4c291112 6787 (version "1.16.0")
4d62a9d3
SB
6788 (source (origin
6789 (method url-fetch)
3df63444 6790 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 6791 (version-major+minor version) "/"
3df63444 6792 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
6793 (sha256
6794 (base32
4c291112 6795 "1rf3nm0hjcy9f8ajb4vmvwy503w8yj8d4daxkcb7w7i7b92qmyfn"))))
cd7f718e
RW
6796 (build-system meson-build-system)
6797 (arguments
4c291112 6798 '(#:glib-or-gtk? #t))
4d62a9d3
SB
6799 (native-inputs
6800 `(("intltool" ,intltool)
cd7f718e 6801 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 6802 ("gobject-introspection" ,gobject-introspection)
cd7f718e 6803 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
6804 ("pkg-config" ,pkg-config)))
6805 (propagated-inputs
6806 ;; libnm-gtk.pc refers to all these.
6807 `(("dbus-glib" ,dbus-glib)
6808 ("gtk+" ,gtk+)
415b90f2
BW
6809 ("network-manager" ,network-manager)
6810 ;; nm-applet need by org.gnome.nm-applet.gschema.xml
6811 ("libnma" ,libnma)))
4d62a9d3 6812 (inputs
cd7f718e 6813 `(("gcr" ,gcr)
4d62a9d3
SB
6814 ("libgudev" ,libgudev)
6815 ("libnotify" ,libnotify)
2116bfb3 6816 ("libsecret" ,libsecret)
240cee8a
KK
6817 ("libselinux" ,libselinux)
6818 ("jansson" ,jansson) ; for team support
4c291112 6819 ("modem-manager" ,modem-manager)))
4d62a9d3 6820 (synopsis "Applet for managing network connections")
8ce78609 6821 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
4d62a9d3
SB
6822 (description
6823 "This package contains a systray applet for NetworkManager. It displays
6824the available networks and allows users to easily switch between them.")
6825 (license license:gpl2+)))
56196594
RW
6826
6827(define-public libxml++
6828 (package
6829 (name "libxml++")
8344a85e 6830 (version "3.0.1")
56196594
RW
6831 (source (origin
6832 (method url-fetch)
6833 (uri (string-append "mirror://gnome/sources/" name "/"
6834 (version-major+minor version) "/"
6835 name "-" version ".tar.xz"))
6836 (sha256
6837 (base32
8344a85e 6838 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
6839 (build-system gnu-build-system)
6840 ;; libxml++-3.0.pc refers to all these.
6841 (propagated-inputs
6842 `(("libxml2" ,libxml2)
6843 ("glibmm" ,glibmm)))
6844 (native-inputs
6845 `(("perl" ,perl)
6846 ("pkg-config" ,pkg-config)))
6847 (home-page "http://libxmlplusplus.sourceforge.net/")
6848 (synopsis "C++ wrapper for XML parser library libxml2")
6849 (description
6850 "This package provides a C++ wrapper for the XML parser library
6851libxml2.")
6852 (license license:lgpl2.1+)))
df12f04a 6853
b61d9627
AW
6854(define-public libxml++-2
6855 (package
6856 (inherit libxml++)
6857 (name "libxml++")
6858 (version "2.40.1")
6859 (source (origin
6860 (method url-fetch)
6861 (uri (string-append "mirror://gnome/sources/" name "/"
6862 (version-major+minor version) "/"
6863 name "-" version ".tar.xz"))
6864 (sha256
6865 (base32
6866 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
6867
df12f04a
SB
6868(define-public gdm
6869 (package
6870 (name "gdm")
0fda99c5 6871 (version "3.34.1")
df12f04a
SB
6872 (source (origin
6873 (method url-fetch)
6874 (uri (string-append "mirror://gnome/sources/" name "/"
6875 (version-major+minor version) "/"
6876 name "-" version ".tar.xz"))
6877 (sha256
6878 (base32
0fda99c5 6879 "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8"))
f4ec5e1a 6880 (patches (search-patches "gdm-default-session.patch"))))
957dbc0a 6881 (build-system glib-or-gtk-build-system)
df12f04a
SB
6882 (arguments
6883 '(#:configure-flags
af37e6bb 6884 `("--without-plymouth"
957dbc0a 6885 "--disable-systemd-journal"
51bc8357
TS
6886
6887 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
6888 ;; instead of having to replace it (i.e., stopping the mingetty
6889 ;; service for TTY 1 before starting GDM).
6890 "--with-initial-vt=7"
6891
89c86562
TS
6892 ;; Use '/etc/environment' for locale settings instead of the
6893 ;; systemd-specific '/etc/locale.conf'.
6894 "--with-lang-file=/etc/environment"
6895
b74ef0ba
RW
6896 ,(string-append "--with-udevdir="
6897 (assoc-ref %outputs "out") "/lib/udev")
6898
af37e6bb
AW
6899 "--localstatedir=/var"
6900 ,(string-append "--with-default-path="
6901 (string-join '("/run/setuid-programs"
6902 "/run/current-system/profile/bin"
6903 "/run/current-system/profile/sbin")
957dbc0a
AW
6904 ":"))
6905 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
6906 ;; XDG_DATA_DIRS so that it finds its schemas.
6907 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
6908 #:phases
6909 (modify-phases %standard-phases
6910 (add-before
6911 'configure 'pre-configure
e8c6e771 6912 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
6913 ;; We don't have <systemd/sd-daemon.h>.
6914 (substitute* '("common/gdm-log.c"
6915 "daemon/gdm-server.c"
6916 "daemon/gdm-session-worker.c"
6917 "daemon/gdm-session-worker-job.c")
6918 (("#include <systemd/sd-daemon\\.h>") ""))
6919 ;; Use elogind for sd-login.
6920 (substitute* '("common/gdm-common.c"
0fda99c5 6921 "daemon/gdm-local-display-factory.c"
df12f04a
SB
6922 "daemon/gdm-manager.c"
6923 "libgdm/gdm-user-switching.c")
6924 (("#include <systemd/sd-login\\.h>")
6925 "#include <elogind/sd-login.h>"))
957dbc0a
AW
6926 ;; Check for elogind.
6927 (substitute* '("configure")
6928 (("libsystemd")
6929 "libelogind"))
af37e6bb
AW
6930 ;; Look for system-installed sessions in
6931 ;; /run/current-system/profile/share.
6932 (substitute* '("libgdm/gdm-sessions.c"
6933 "daemon/gdm-session.c"
6934 "daemon/gdm-display.c"
6935 "daemon/gdm-launch-environment.c")
6936 (("DATADIR \"/x")
6937 "\"/run/current-system/profile/share/x")
6938 (("DATADIR \"/wayland")
6939 "\"/run/current-system/profile/share/wayland")
6940 (("DATADIR \"/gnome")
6941 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 6942 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 6943 "GDM_DBUS_DAEMON"
c9ff92b5 6944 "GDM_X_SERVER"
41fa9f18 6945 "GDM_X_SESSION"
c9ff92b5
TS
6946 ;; XXX: Remove this once GNOME Shell is
6947 ;; a dependency of GDM.
6948 "XDG_DATA_DIRS")))
6949 (substitute* "daemon/gdm-session.c"
6950 (("set_up_session_environment \\(self\\);")
6951 (apply string-append
6952 "set_up_session_environment (self);\n"
6953 (map (lambda (name)
6954 (string-append
6955 "gdm_session_set_environment_variable "
6956 "(self, \"" name "\","
6957 "g_getenv (\"" name "\"));\n"))
6958 propagate)))))
a430a350
TS
6959 ;; Find the configuration file using an environment variable.
6960 (substitute* '("common/gdm-settings.c")
e0e6756f 6961 (("GDM_CUSTOM_CONF")
e57c2adb
TS
6962 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
6963 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
6964 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
6965 ;; Use service-supplied path to X.
6966 (substitute* '("daemon/gdm-server.c")
6967 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
6968 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
0fda99c5
KK
6969 (substitute* '("daemon/gdm-wayland-session.c"
6970 "daemon/gdm-x-session.c")
1f564c15
TS
6971 (("\"dbus-daemon\"")
6972 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 6973 (("X_SERVER")
41fa9f18
TS
6974 "g_getenv (\"GDM_X_SERVER\")")
6975 (("GDMCONFDIR \"/Xsession\"")
6976 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
6977 ;; Use an absolute path for GNOME Session.
6978 (substitute* "daemon/gdm-launch-environment.c"
6979 (("\"gnome-session\"")
6980 (string-append "\"" (assoc-ref inputs "gnome-session")
6981 "/bin/gnome-session\"")))
e8c6e771
TS
6982 ;; Do not automatically select the placeholder session.
6983 (substitute* "daemon/gdm-session.c"
6984 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
6985 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
6986 "(g_strcmp0(search_dirs[i], \""
6987 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
6988 "\") == 0 && "
6989 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
6990 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 6991 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 6992 #t))
8caa4589
TS
6993 ;; GDM requires that there be at least one desktop entry
6994 ;; file. This phase installs a hidden one that simply
6995 ;; fails. This enables users to use GDM with a
6996 ;; '~/.xsession' script with no other desktop entry files.
6997 ;; See <https://bugs.gnu.org/35068>.
6998 (add-after 'install 'install-placeholder-desktop-entry
6999 (lambda* (#:key inputs outputs #:allow-other-keys)
7000 (let* ((out (assoc-ref outputs "out"))
7001 (sessions (string-append out "/share/gdm/BuiltInSessions"))
7002 (fail (string-append sessions "/fail.desktop")))
7003 (mkdir-p sessions)
7004 (with-output-to-file fail
7005 (lambda ()
7006 (for-each
7007 display
7008 '("[Desktop Entry]\n"
7009 "Encoding=UTF-8\n"
7010 "Type=Application\n"
7011 "Name=Fail\n"
7012 "Comment=This session fails immediately.\n"
7013 "NoDisplay=true\n"
7014 "Exec=false\n"))))
7015 #t)))
69544798
TS
7016 ;; GDM needs GNOME Session to run these applications. We link
7017 ;; their autostart files in `share/gdm/greeter/autostart'
7018 ;; because GDM explicitly tells GNOME Session to look there.
7019 ;;
7020 ;; XXX: GNOME Shell should be linked here too, but currently
7021 ;; GNOME Shell depends on GDM.
7022 (add-after 'install 'link-autostart-files
7023 (lambda* (#:key inputs outputs #:allow-other-keys)
7024 (let* ((out (assoc-ref outputs "out"))
7025 (autostart (string-append out "/share/gdm/"
7026 "greeter/autostart"))
7027 (settings (assoc-ref inputs "gnome-settings-daemon")))
7028 (mkdir-p autostart)
7029 (with-directory-excursion autostart
7030 (for-each (lambda (desktop)
7031 (symlink desktop (basename desktop)))
7032 (find-files (string-append settings "/etc/xdg"))))
7033 #t))))))
df12f04a
SB
7034 (native-inputs
7035 `(("dconf" ,dconf)
7036 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7037 ("gobject-introspection" ,gobject-introspection)
7038 ("intltool" ,intltool)
7039 ("itstool" ,itstool)
7040 ("pkg-config" ,pkg-config)
7041 ("xmllint" ,libxml2)))
7042 (inputs
7043 `(("accountsservice" ,accountsservice)
7044 ("check" ,check) ; for testing
7045 ("elogind" ,elogind)
def6d6b6 7046 ("gnome-session" ,gnome-session)
69544798 7047 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
7048 ("gtk+" ,gtk+)
7049 ("iso-codes" ,iso-codes)
7050 ("libcanberra" ,libcanberra)
7051 ("linux-pam" ,linux-pam)))
7052 (synopsis "Display manager for GNOME")
f032d0be 7053 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
7054 (description
7055 "GNOME Display Manager is a system service that is responsible for
7056providing graphical log-ins and managing local and remote displays.")
7057 (license license:gpl2+)))
8e1dd04f
SB
7058
7059(define-public libgtop
7060 (package
7061 (name "libgtop")
015fc036 7062 (version "2.40.0")
8e1dd04f
SB
7063 (source (origin
7064 (method url-fetch)
59487fc2 7065 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 7066 (version-major+minor version) "/"
59487fc2 7067 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
7068 (sha256
7069 (base32
015fc036 7070 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
7071 (build-system gnu-build-system)
7072 (native-inputs
7073 `(("gobject-introspection" ,gobject-introspection)
7074 ("intltool" ,intltool)
7075 ("perl" ,perl)
7076 ("pkg-config" ,pkg-config)))
7077 (propagated-inputs
7078 `(("glib" ,glib))) ; required by libgtop-2.0.pc
7079 (synopsis "Portable system access library")
7080 (home-page "https://www.gnome.org/")
7081 (description
7082 "LibGTop is a library to get system specific data such as CPU and memory
7083usage and information about running processes.")
7084 (license license:gpl2+)))
b96c4260
SB
7085
7086(define-public gnome-bluetooth
7087 (package
7088 (name "gnome-bluetooth")
e8f4bf6b 7089 (version "3.34.0")
b96c4260
SB
7090 (source (origin
7091 (method url-fetch)
7092 (uri (string-append "mirror://gnome/sources/" name "/"
7093 (version-major+minor version) "/"
7094 name "-" version ".tar.xz"))
7095 (sha256
7096 (base32
e8f4bf6b 7097 "1bvbxcsjkyl0givy8nfm7112bq3c0vn1v89fdk2pip714dsfcrz8"))))
fd3b1171 7098 (build-system meson-build-system)
b96c4260
SB
7099 (native-inputs
7100 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 7101 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
7102 ("gobject-introspection" ,gobject-introspection)
7103 ("intltool" ,intltool)
7104 ("pkg-config" ,pkg-config)
7105 ("xmllint" ,libxml2)))
7106 (propagated-inputs
7107 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
7108 `(("glib" ,glib)
7109 ("gtk+" ,gtk+)))
b96c4260 7110 (inputs
723afae6
KK
7111 `(("eudev" ,eudev)
7112 ("libcanberra" ,libcanberra)
b96c4260
SB
7113 ("libnotify" ,libnotify)))
7114 (synopsis "GNOME Bluetooth subsystem")
7115 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
7116 (description
7117 "This package contains tools for managing and manipulating Bluetooth
7118devices using the GNOME desktop.")
7119 (license license:lgpl2.1+)))
b645146f
SB
7120
7121(define-public gnome-control-center
7122 (package
7123 (name "gnome-control-center")
c576328d 7124 (version "3.34.2")
b645146f
SB
7125 (source (origin
7126 (method url-fetch)
7127 (uri (string-append "mirror://gnome/sources/" name "/"
7128 (version-major+minor version) "/"
7129 name "-" version ".tar.xz"))
7130 (sha256
7131 (base32
c576328d 7132 "054igagvmyzpaa5nwzz98gv7bk7l5dwp6g813707132si3szlpx8"))))
59dac026 7133 (build-system meson-build-system)
b645146f 7134 (arguments
59dac026
RW
7135 '(#:glib-or-gtk? #t
7136 #:configure-flags
64c70430
KK
7137 (list "-Dcheese=false"
7138 (string-append "-Dgnome_session_libexecdir="
7139 (assoc-ref %build-inputs "gnome-session")
7140 "/libexec"))
59dac026 7141 #:phases
b645146f
SB
7142 (modify-phases %standard-phases
7143 (add-before 'configure 'patch-paths
7144 (lambda* (#:key inputs #:allow-other-keys)
7145 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 7146 (tzdata (assoc-ref inputs "tzdata"))
341225ac 7147 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
7148 (nm-applet (assoc-ref inputs "network-manager-applet"))
7149 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
7150 (substitute* "panels/datetime/tz.h"
7151 (("/usr/share/zoneinfo/zone.tab")
7152 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 7153 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
7154 (("/usr/share/locale")
7155 (string-append libc "/share/locale")))
1df38cfc
LC
7156 (substitute* "panels/region/cc-region-panel.c"
7157 (("\"gkbd-keyboard-display")
7158 (string-append "\"" libgnomekbd
7159 "/bin/gkbd-keyboard-display")))
341225ac
LC
7160 (substitute* '("panels/network/net-device-wifi.c"
7161 "panels/network/net-device.c"
7162 "panels/network/connection-editor/net-connection-editor.c")
7163 (("\"nm-connection-editor")
7164 (string-append "\"" nm-applet
7165 "/bin/nm-connection-editor")))
1acd107c
FP
7166 (substitute* '("panels/user-accounts/run-passwd.c")
7167 (("/usr/bin/passwd")
7168 "/run/setuid-programs/passwd"))
64c70430
KK
7169 (substitute* "panels/info/cc-info-overview-panel.c"
7170 (("DATADIR \"/gnome/gnome-version.xml\"")
7171 (string-append "\"" gnome-desktop
7172 "/share/gnome/gnome-version.xml\"")))
c576328d
KK
7173 #t)))
7174 (add-after 'unpack 'skip-gtk-update-icon-cache
7175 ;; Don't create 'icon-theme.cache'.
7176 (lambda _
7177 (substitute* "build-aux/meson/meson_post_install.py"
7178 (("gtk-update-icon-cache") (which "true")))
7179 #t)))))
b645146f
SB
7180 (native-inputs
7181 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7182 ("intltool" ,intltool)
7183 ("pkg-config" ,pkg-config)
a6938bac
KK
7184 ("xsltproc" ,libxslt)
7185 ;; For tests
7186 ("hicolor-icon-theme" ,hicolor-icon-theme)
7187 ("python-dbusmock" ,python-dbusmock)
7188 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
7189 (inputs
7190 `(("accountsservice" ,accountsservice)
7191 ("clutter-gtk" ,clutter-gtk)
7192 ("colord-gtk" ,colord-gtk)
7193 ("cups" ,cups)
7194 ("dconf" ,dconf)
7195 ("docbook-xsl" ,docbook-xsl)
3446ffb5 7196 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
7197 ("gnome-bluetooth" ,gnome-bluetooth)
7198 ("gnome-desktop" ,gnome-desktop)
7199 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 7200 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 7201 ("gnome-session" ,gnome-session)
b645146f
SB
7202 ("gnome-settings-daemon" ,gnome-settings-daemon)
7203 ("grilo" ,grilo)
a6938bac 7204 ("gsound" ,gsound)
b645146f
SB
7205 ("ibus" ,ibus)
7206 ("libcanberra" ,libcanberra)
1df38cfc 7207 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
7208 ("libgudev" ,libgudev)
7209 ("libgtop" ,libgtop)
46cf3434 7210 ("libnma" ,libnma)
b645146f 7211 ("libpwquality" ,libpwquality)
982c0b36 7212 ("libsecret" ,libsecret)
b645146f
SB
7213 ("libsoup" ,libsoup)
7214 ("libxml2" ,libxml2)
7215 ("libwacom" ,libwacom)
7216 ("mesa" ,mesa)
7217 ("mit-krb5" ,mit-krb5)
7218 ("modem-manager" ,modem-manager)
7219 ("network-manager-applet" ,network-manager-applet)
7220 ("polkit" ,polkit)
7221 ("pulseaudio" ,pulseaudio)
7222 ("smbclient" ,samba)
7223 ("tzdata" ,tzdata)
982c0b36 7224 ("udisks" ,udisks)
b645146f
SB
7225 ("upower" ,upower)))
7226 (synopsis "Utilities to configure the GNOME desktop")
7227 (home-page "https://www.gnome.org/")
7228 (description
7229 "This package contains configuration applets for the GNOME desktop,
7230allowing to set accessibility configuration, desktop fonts, keyboard and mouse
7231properties, sound setup, desktop theme and background, user interface
7232properties, screen resolution, and other GNOME parameters.")
7233 (license license:gpl2+)))
a4df5756
SB
7234
7235(define-public gnome-shell
7236 (package
7237 (name "gnome-shell")
28457ae6 7238 (version "3.34.2")
a4df5756
SB
7239 (source (origin
7240 (method url-fetch)
7241 (uri (string-append "mirror://gnome/sources/" name "/"
7242 (version-major+minor version) "/"
7243 name "-" version ".tar.xz"))
7244 (sha256
7245 (base32
28457ae6
KK
7246 "0k9vq2gh1nhdd6fpp7jnwx37qxaakawiqw1xnlfjvq5g5zdn8ckh"))
7247 (patches (search-patches "gnome-shell-theme.patch"
7248 "gnome-shell-disable-test.patch"))
a76d0f03
LC
7249 (modules '((guix build utils)))
7250 (snippet
7251 #~(begin
a76d0f03
LC
7252 ;; Copy images for use on the GDM log-in screen.
7253 (copy-file #$(file-append %artwork-repository
7254 "/slim/0.x/background.png")
7255 "data/theme/guix-background.png")
45fef894
LC
7256 (copy-file #$(file-append %artwork-repository
7257 "/logo/Guix-horizontal-white.svg")
7258 "data/theme/guix-logo.svg")
a76d0f03 7259 #t))))
2b0c755d 7260 (build-system meson-build-system)
a4df5756 7261 (arguments
08185081
MB
7262 `(#:glib-or-gtk? #t
7263 #:disallowed-references ((,glib "bin")
11e1df56
LC
7264 ,inkscape ,libxslt
7265 ,ruby-sass)
2b0c755d
RW
7266 #:configure-flags
7267 (list "-Dsystemd=false"
7268 ;; Otherwise, the RUNPATH will lack the final path component.
7269 (string-append "-Dc_link_args=-Wl,-rpath="
7270 (assoc-ref %outputs "out")
7271 "/lib/gnome-shell"))
11e1df56 7272
08185081 7273 #:modules ((guix build meson-build-system)
11e1df56
LC
7274 (guix build utils)
7275 (srfi srfi-1))
7276
2b0c755d 7277 #:phases
a4df5756 7278 (modify-phases %standard-phases
2b0c755d 7279 (add-after 'unpack 'fix-keysdir
a4df5756
SB
7280 (lambda* (#:key outputs #:allow-other-keys)
7281 (let* ((out (assoc-ref outputs "out"))
7282 (keysdir (string-append
7283 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
7284 (substitute* "meson.build"
7285 (("keysdir =.*")
7286 (string-append "keysdir = '" keysdir "'\n")))
7287 #t)))
ebfe259f
MB
7288 (add-before 'configure 'convert-logo-to-png
7289 (lambda* (#:key inputs #:allow-other-keys)
7290 ;; Convert the logo from SVG to PNG.
7291 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
7292 "data/theme/guix-logo.svg")))
ba00235a 7293 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
7294 (lambda* (#:key inputs #:allow-other-keys)
7295 (substitute* "js/misc/ibusManager.js"
7296 (("'ibus-daemon'")
7297 (string-append "'" (assoc-ref inputs "ibus")
7298 "/bin/ibus-daemon'")))
d6fda4d3
LC
7299 (substitute* "js/ui/status/keyboard.js"
7300 (("'gkbd-keyboard-display'")
7301 (string-append "'" (assoc-ref inputs "libgnomekbd")
7302 "/bin/gkbd-keyboard-display'")))
2472cdec 7303 #t))
2b0c755d
RW
7304 (add-before 'check 'pre-check
7305 (lambda* (#:key inputs #:allow-other-keys)
7306 ;; Tests require a running X server.
7307 (system "Xvfb :1 &")
7308 (setenv "DISPLAY" ":1")
7309 #t))
7310 (add-after 'install 'wrap-programs
7311 (lambda* (#:key inputs outputs #:allow-other-keys)
7312 (let ((out (assoc-ref outputs "out"))
7313 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7314 (python-path (getenv "PYTHONPATH")))
7315 (wrap-program (string-append out "/bin/gnome-shell")
7316 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7317 ;; FIXME: gnome-shell loads these libraries with unqualified
7318 ;; names only, so they need to be on LD_LIBRARY_PATH. The
7319 ;; alternative might be to patch gnome-shell.
7320 `("LD_LIBRARY_PATH" ":" prefix
7321 ,(map (lambda (pkg)
7322 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
7323 '("gdk-pixbuf"
7324 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
7325 (for-each
7326 (lambda (prog)
7327 (wrap-program (string-append out "/bin/" prog)
7328 `("PYTHONPATH" ":" prefix (,python-path))
7329 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7330 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 7331 #t)))
11e1df56
LC
7332 (replace 'glib-or-gtk-wrap
7333 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
7334 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
7335 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
7336 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
7337 ;; phase. Fix that since we don't need these.
7338 (wrap #:inputs (fold alist-delete inputs
7339 '("inkscape" "intltool" "glib:bin"))
7340 #:outputs outputs)))))))
a4df5756 7341 (native-inputs
28457ae6
KK
7342 `(("asciidoc" ,asciidoc)
7343 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 7344 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 7345 ("gobject-introspection" ,gobject-introspection)
ebfe259f 7346 ("inkscape" ,inkscape)
a4df5756
SB
7347 ("intltool" ,intltool)
7348 ("pkg-config" ,pkg-config)
7349 ("python" ,python)
2b0c755d
RW
7350 ("ruby-sass" ,ruby-sass)
7351 ("sassc" ,sassc)
a76d0f03 7352 ("xsltproc" ,libxslt)
2b0c755d 7353 ;; For tests
0b4504f6 7354 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
7355 (inputs
7356 `(("accountsservice" ,accountsservice)
7357 ("caribou" ,caribou)
7358 ("docbook-xsl" ,docbook-xsl)
7359 ("evolution-data-server" ,evolution-data-server)
7360 ("gcr" ,gcr)
7361 ("gdm" ,gdm)
c5db31d4 7362 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756 7363 ("gjs" ,gjs)
28457ae6 7364 ("gnome-autoar" ,gnome-autoar)
a4df5756 7365 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
7366 ("gnome-desktop" ,gnome-desktop)
7367 ("gnome-settings-daemon" ,gnome-settings-daemon)
7368 ("gst-plugins-base" ,gst-plugins-base)
7369 ("ibus" ,ibus)
7370 ("libcanberra" ,libcanberra)
7371 ("libcroco" ,libcroco)
d6fda4d3 7372 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756 7373 ("libgweather" ,libgweather)
e24d311f 7374 ("libnma" ,libnma)
a4df5756
SB
7375 ("libsoup" ,libsoup)
7376 ("mesa-headers" ,mesa-headers)
7377 ("mutter" ,mutter)
7378 ("network-manager-applet" ,network-manager-applet)
7379 ("polkit" ,polkit)
7380 ("pulseaudio" ,pulseaudio)
7381 ("python-pygobject" ,python-pygobject)
7382 ("startup-notification" ,startup-notification)
7383 ("telepathy-logger" ,telepathy-logger)
7384 ("upower" ,upower)
30e760f0
MB
7385 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
7386 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
7387 ("librsvg" ,librsvg)
2b0c755d 7388 ("geoclue" ,geoclue)))
a4df5756
SB
7389 (synopsis "Desktop shell for GNOME")
7390 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
7391 (description
7392 "GNOME Shell provides core user interface functions for the GNOME desktop,
7393like switching to windows and launching applications.")
7394 (license license:gpl2+)))
c3f29bc9
RS
7395
7396(define-public gtk-vnc
7397 (package
7398 (name "gtk-vnc")
965ff023 7399 (version "0.9.0")
c3f29bc9
RS
7400 (source
7401 (origin
7402 (method url-fetch)
7403 (uri (string-append "mirror://gnome/sources/" name "/"
7404 (version-major+minor version) "/"
7405 name "-" version ".tar.xz"))
7406 (sha256
7407 (base32
965ff023 7408 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
7409 (build-system gnu-build-system)
7410 (arguments
7411 '(#:configure-flags '("--with-gtk=3.0")))
7412 (propagated-inputs
7413 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
7414 (inputs
7415 `(("cyrus-sasl" ,cyrus-sasl)
7416 ("gnutls" ,gnutls)
7417 ("libgcrypt" ,libgcrypt)
7418 ("pulseaudio" ,pulseaudio)))
7419 (native-inputs
7420 `(("glib:bin" ,glib "bin")
7421 ("gobject-introspection" ,gobject-introspection)
7422 ("intltool" ,intltool)
7423 ("pkg-config" ,pkg-config)
2f17e939 7424 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
7425 ("vala" ,vala)))
7426 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
7427 (synopsis "VNC viewer widget for GTK+")
7428 (description
7429 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
7430applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
7431GTK-VNC implements client side RFB protocol and authentication extensions such
7432as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
7433 (license license:lgpl2.1+)))
8b877545 7434
dc69fe18
MW
7435(define-public gnome-autoar
7436 (package
7437 (name "gnome-autoar")
17969940 7438 (version "0.2.4")
dc69fe18
MW
7439 (source (origin
7440 (method url-fetch)
7441 (uri (string-append "mirror://gnome/sources/" name "/"
7442 (version-major+minor version) "/"
7443 name "-" version ".tar.xz"))
7444 (sha256
7445 (base32
17969940 7446 "0yk56ch46n3wfy633mq31kif9n7v06rlij4vqbsbn6l4z1vw6d0a"))))
dc69fe18
MW
7447 (build-system glib-or-gtk-build-system)
7448 (native-inputs
17969940 7449 `(("gobject-introspection" ,gobject-introspection)
dc69fe18
MW
7450 ("pkg-config" ,pkg-config)))
7451 (propagated-inputs
17969940 7452 `(("libarchive" ,libarchive))) ; Required by gnome-autoar-0.pc
dc69fe18 7453 (inputs
0a6e9e13 7454 `(("gtk+" ,gtk+)))
dc69fe18
MW
7455 (synopsis "Archives integration support for GNOME")
7456 (home-page "https://git.gnome.org/browse/gnome-autoar/")
7457 (description
7458 "GNOME Autoar is a library which makes creating and extracting archives
7459easy, safe, and automatic.")
7460 (license license:lgpl2.1+)))
7461
b64e217f
MW
7462(define-public tracker
7463 (package
7464 (name "tracker")
caaefa40 7465 (version "2.3.4")
b64e217f
MW
7466 (source (origin
7467 (method url-fetch)
b5b0fd23 7468 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 7469 (version-major+minor version) "/"
b5b0fd23 7470 "tracker-" version ".tar.xz"))
b64e217f
MW
7471 (sha256
7472 (base32
caaefa40 7473 "0vai0qz9jn3z5dlzysynwhbbmslp84ygdql81f5wfxxr98j54yap"))))
5ada561c 7474 (build-system meson-build-system)
c8bdf589 7475 (arguments
5ada561c
KK
7476 `(#:glib-or-gtk? #t
7477 #:configure-flags
7478 ;; Otherwise, the RUNPATH will lack the final path component.
7479 (list (string-append "-Dc_link_args=-Wl,-rpath="
7480 (assoc-ref %outputs "out") "/lib:"
7481 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
7482 #:phases
c8bdf589 7483 (modify-phases %standard-phases
c8bdf589
RW
7484 (add-before 'check 'pre-check
7485 (lambda _
63db190a
PN
7486 ;; Some tests expect to write to $HOME.
7487 (setenv "HOME" "/tmp")
c8bdf589 7488 #t)))))
b64e217f 7489 (native-inputs
5ada561c 7490 `(("glib:bin" ,glib "bin")
b64e217f 7491 ("gobject-introspection" ,gobject-introspection)
5ada561c 7492 ("python-pygobject" ,python-pygobject)
b64e217f
MW
7493 ("intltool" ,intltool)
7494 ("pkg-config" ,pkg-config)
7495 ("vala" ,vala)))
7496 (inputs
63db190a 7497 `(("dbus" ,dbus)
44ed6284 7498 ("sqlite" ,sqlite)
b64e217f 7499 ("libxml2" ,libxml2)
63db190a 7500 ("icu4c" ,icu4c) ; libunistring gets miner-miner-fs test to fail.
0ef48cd9 7501 ("json-glib" ,json-glib)
63db190a 7502 ("libsoup" ,libsoup)))
b64e217f
MW
7503 (synopsis "Metadata database, indexer and search tool")
7504 (home-page "https://wiki.gnome.org/Projects/Tracker")
7505 (description
63db190a
PN
7506 "Tracker is a search engine and triplestore for desktop, embedded and mobile.
7507
7508It is a middleware component aimed at desktop application developers who want
7509their apps to browse and search user content. It's not designed to be used
7510directly by desktop users, but it provides a commandline tool named
7511@command{tracker} for the adventurous.
7512
7513Tracker allows your application to instantly perform full-text searches across
7514all documents. This feature is used by the @{emph{search} bar in GNOME Files, for
7515example. This is achieved by indexing the user's home directory in the
7516background.
7517
7518Tracker also allows your application to query and list content that the user
7519has stored. For example, GNOME Music displays all the music files that are
7520found by Tracker. This means that GNOME Music doesn't need to maintain a
7521database of its own.
7522
7523If you need to go beyond simple searches, Tracker is also a linked data
7524endpoint and it understands SPARQL. ")
7525 ;; https://gitlab.gnome.org/GNOME/tracker/-/blob/master/COPYING:
b64e217f 7526 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
63db190a 7527 ;; libstemmer is bsd-3 and the rest is gpl2+.
b64e217f 7528 (license (list license:gpl2+
63db190a
PN
7529 license:bsd-3
7530 license:lgpl2.1+))))
b64e217f 7531
03be9874
KK
7532(define-public tracker-miners
7533 (package
7534 (name "tracker-miners")
de60ac2f 7535 (version "2.3.3")
03be9874
KK
7536 (source (origin
7537 (method url-fetch)
7538 (uri (string-append "mirror://gnome/sources/tracker-miners/"
7539 (version-major+minor version)
7540 "/tracker-miners-" version ".tar.xz"))
7541 (sha256
7542 (base32
de60ac2f 7543 "06abxrnrz7xayykrabn135rpsm6z0fqw7gibrb9j09l6swlalwkl"))))
03be9874
KK
7544 (build-system meson-build-system)
7545 (arguments
7546 `(#:glib-or-gtk? #t
7547 #:configure-flags
7548 (list "-Dminer_rss=false" ; libgrss is required.
7549 ;; Ensure the RUNPATH contains all installed library locations.
7550 (string-append "-Dc_link_args=-Wl,-rpath="
7551 (assoc-ref %outputs "out")
7552 "/lib/tracker-miners-2.0")
7553 ;; TODO: Enable functional tests. Currently, the following error
7554 ;; appears:
7555 ;; Exception: The functional tests require DConf to be the default
7556 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
7557 "-Dfunctional_tests=false")))
7558 (native-inputs
7559 `(("dbus" ,dbus)
7560 ("intltool" ,intltool)
7561 ("glib:bin" ,glib "bin")
7562 ("gobject-introspection" ,gobject-introspection)
7563 ("pkg-config" ,pkg-config)
7564 ("python-pygobject" ,python-pygobject)))
7565 (inputs
7566 `(("exempi" ,exempi)
7567 ("ffmpeg" ,ffmpeg)
7568 ("flac" ,flac)
7569 ("giflib" ,giflib)
7570 ("glib" ,glib)
7571 ("gstreamer" ,gstreamer)
7572 ("icu4c" ,icu4c)
7573 ("libcue" ,libcue)
7574 ("libexif" ,libexif)
7575 ("libgsf" ,libgsf)
7576 ("libgxps" ,libgxps)
7577 ("libiptcdata" ,libiptcdata)
4bd428a7 7578 ("libjpeg" ,libjpeg-turbo)
03be9874
KK
7579 ("libosinfo" ,libosinfo)
7580 ("libpng" ,libpng)
7581 ("libseccomp" ,libseccomp)
7582 ("libtiff" ,libtiff)
7583 ("libvorbis" ,libvorbis)
7584 ("libxml2" ,libxml2)
7585 ("poppler" ,poppler)
7586 ("taglib" ,taglib)
7587 ("totem-pl-parser" ,totem-pl-parser)
7588 ("tracker" ,tracker)
7589 ("upower" ,upower)
7590 ("zlib" ,zlib)))
b64e217f
MW
7591 (synopsis "Metadata database, indexer and search tool")
7592 (home-page "https://wiki.gnome.org/Projects/Tracker")
7593 (description
7594 "Tracker is an advanced framework for first class objects with associated
7595metadata and tags. It provides a one stop solution for all metadata, tags,
7596shared object databases, search tools and indexing.")
7597 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7598 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7599 (license (list license:gpl2+
7600 license:lgpl2.1+
7601 license:lgpl2.0+))))
7602
8b877545
RS
7603(define-public nautilus
7604 (package
7605 (name "nautilus")
8069ff0b 7606 (version "3.34.2")
8b877545
RS
7607 (source (origin
7608 (method url-fetch)
7609 (uri (string-append "mirror://gnome/sources/" name "/"
7610 (version-major+minor version) "/"
7611 name "-" version ".tar.xz"))
7612 (sha256
7613 (base32
8069ff0b 7614 "19zqwq4qyyncc5wq3xls0f7rsavnw741k336p2h7kx35p4kf41mv"))))
35e2d0cf 7615 (build-system meson-build-system)
8b877545 7616 (arguments
35e2d0cf 7617 '(#:glib-or-gtk? #t
8069ff0b
KK
7618 #:phases
7619 (modify-phases %standard-phases
7620 (add-after 'unpack 'skip-gtk-update-icon-cache
7621 ;; Don't create 'icon-theme.cache'.
7622 (lambda _
7623 (substitute* "build-aux/meson/postinstall.py"
7624 (("gtk-update-icon-cache") "true"))
7625 #t)))
8b877545
RS
7626 ;; XXX: FAIL: check-nautilus
7627 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
7628 #:tests? #f))
7629 (native-inputs
35e2d0cf
R
7630 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7631 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
8b877545
RS
7632 ("gobject-introspection" ,gobject-introspection)
7633 ("intltool" ,intltool)
7634 ("pkg-config" ,pkg-config)))
8b877545 7635 (inputs
8b877545 7636 `(("dconf" ,dconf)
caf6c363 7637 ("gexiv2" ,gexiv2)
dd05e731 7638 ("gvfs" ,gvfs)
8b877545
RS
7639 ("exempi" ,exempi)
7640 ("gnome-desktop" ,gnome-desktop)
09d88905 7641 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 7642 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 7643 ("libseccomp" ,libseccomp)
35e2d0cf 7644 ("libselinux" ,libselinux)
09d88905 7645 ("tracker" ,tracker)
3cafb9d4 7646 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
7647 ;; XXX: gtk+ is required by libnautilus-extension.pc
7648 ;;
7649 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
7650 ;; package. See:
7651 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
7652 ("gtk+" ,gtk+)
8b877545
RS
7653 ("libexif" ,libexif)
7654 ("libxml2" ,libxml2)))
7655 (synopsis "File manager for GNOME")
7656 (home-page "https://wiki.gnome.org/Apps/Nautilus")
7657 (description
7658 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
7659design and behaviour, giving the user a simple way to navigate and manage its
7660files.")
7661 (license license:gpl2+)))
3c697ffd
JR
7662
7663(define-public baobab
7664 (package
7665 (name "baobab")
e0c5f20c 7666 (version "3.32.0")
3c697ffd
JR
7667 (source (origin
7668 (method url-fetch)
7669 (uri (string-append
7670 "mirror://gnome/sources/" name "/"
7671 (version-major+minor version) "/"
7672 name "-" version ".tar.xz"))
7673 (sha256
7674 (base32
e0c5f20c 7675 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
7676 (build-system meson-build-system)
7677 (arguments
7678 '(#:glib-or-gtk? #t))
3c697ffd
JR
7679 (native-inputs
7680 `(("intltool" ,intltool)
7681 ("pkg-config" ,pkg-config)
d233d373
RJ
7682 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7683 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
7684 ("itstool" ,itstool)
7685 ("xmllint" ,libxml2)
7686 ("glib" ,glib "bin")
7687 ("vala" ,vala)))
7688 (inputs
7689 `(("gtk+" ,gtk+)))
7690 (synopsis "Disk usage analyzer for GNOME")
7691 (description
7692 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
7693usage in the GNOME desktop environment. It can easily scan device volumes or
7694a specific user-requested directory branch (local or remote). Once the scan
7695is complete it provides a graphical representation of each selected folder.")
7696 (home-page "https://wiki.gnome.org/Apps/Baobab")
7697 (license license:gpl2+)))
dc050251 7698
fdba447c
RS
7699(define-public gnome-backgrounds
7700 (package
7701 (name "gnome-backgrounds")
0856b0d9 7702 (version "3.34.0")
fdba447c
RS
7703 (source
7704 (origin
7705 (method url-fetch)
7706 (uri (string-append "mirror://gnome/sources/" name "/"
7707 (version-major+minor version) "/"
7708 name "-" version ".tar.xz"))
7709 (sha256
7710 (base32
0856b0d9 7711 "0zxlwy55fz7i582hch2wnj8zy1kzikssgaix0l2y41ccp5nzpdy2"))))
9ca381f0 7712 (build-system meson-build-system)
fdba447c
RS
7713 (native-inputs
7714 `(("intltool" ,intltool)))
e04e8a8c 7715 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
7716 (synopsis "Background images for the GNOME desktop")
7717 (description
7718 "GNOME backgrounds package contains a collection of graphics files which
7719can be used as backgrounds in the GNOME Desktop environment. Additionally,
7720the package creates the proper framework and directory structure so that you
7721can add your own files to the collection.")
7722 (license (list license:gpl2+
7723 license:cc-by2.0
7724 license:cc-by-sa2.0
7725 license:cc-by-sa3.0))))
7726
b784b1a9
RS
7727(define-public gnome-screenshot
7728 (package
7729 (name "gnome-screenshot")
d5101dab 7730 (version "3.34.0")
b784b1a9
RS
7731 (source
7732 (origin
7733 (method url-fetch)
7734 (uri (string-append "mirror://gnome/sources/" name "/"
7735 (version-major+minor version) "/"
7736 name "-" version ".tar.xz"))
7737 (sha256
7738 (base32
d5101dab 7739 "1rmiq890j7gfn5mcz31xy6jfnnxgc17dq67bhn2k9m5ylbvza2n8"))))
8356aefa 7740 (build-system meson-build-system)
d5101dab
KK
7741 (arguments
7742 '(#:phases
7743 (modify-phases %standard-phases
7744 (add-after 'unpack 'skip-gtk-update-icon-cache
7745 ;; Don't create 'icon-theme.cache'.
7746 (lambda _
7747 (substitute* "build-aux/postinstall.py"
7748 (("gtk-update-icon-cache") "true"))
7749 #t)))))
b784b1a9
RS
7750 (native-inputs
7751 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa 7752 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 7753 ("intltool" ,intltool)
8356aefa 7754 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
7755 ("pkg-config" ,pkg-config)))
7756 (inputs
7757 `(("gtk+" ,gtk+)
7758 ("libcanberra" ,libcanberra)
7759 ("libx11" ,libx11)
7760 ("libxext" ,libxext)))
676e7cb4 7761 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
7762 (synopsis "Take pictures of your screen")
7763 (description
7764 "GNOME Screenshot is a utility used for taking screenshots of the entire
7765screen, a window or a user defined area of the screen, with optional
7766beautifying border effects.")
7767 (license license:gpl2+)))
7768
66d59111
RS
7769(define-public dconf-editor
7770 (package
7771 (name "dconf-editor")
720aa20f 7772 (version "3.34.2")
66d59111
RS
7773 (source
7774 (origin
7775 (method url-fetch)
7776 (uri (string-append "mirror://gnome/sources/" name "/"
7777 (version-major+minor version) "/"
7778 name "-" version ".tar.xz"))
7779 (sha256
7780 (base32
720aa20f 7781 "0pwxjada2vaf69ihpjgp9nky54iykvxq63lp1vl8pxjanif2mk6f"))))
294ff39d 7782 (build-system meson-build-system)
66d59111
RS
7783 (native-inputs
7784 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 7785 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 7786 ("intltool" ,intltool)
294ff39d
RW
7787 ("pkg-config" ,pkg-config)
7788 ("vala" ,vala)))
66d59111
RS
7789 (inputs
7790 `(("dconf" ,dconf)
7791 ("gtk+" ,gtk+)
7792 ("libxml2" ,libxml2)))
720aa20f 7793 (home-page "https://gitlab.gnome.org/GNOME/dconf-editor")
66d59111
RS
7794 (synopsis "Graphical editor for GNOME's dconf configuration system")
7795 (description
7796 "Dconf-editor is a graphical tool for browsing and editing the dconf
7797configuration system for GNOME. It allows users to configure desktop
7798software that do not provide their own configuration interface.")
7799 (license license:lgpl2.1+)))
7800
96d36f38
AW
7801(define-public gnome-default-applications
7802 (package
7803 (name "gnome-default-applications")
7804 (version "0")
7805 (build-system trivial-build-system)
7806 (source #f)
7807 (propagated-inputs
8ad4f0aa
LC
7808 `(("nautilus" ,nautilus)
7809 ("evince" ,evince)))
96d36f38
AW
7810 (arguments
7811 `(#:modules ((guix build utils))
7812 #:builder
7813 (begin
7814 (use-modules (guix build utils))
7815 (let* ((out (assoc-ref %outputs "out"))
7816 (apps (string-append out "/share/applications")))
7817 (mkdir-p apps)
a6ac679f 7818 (call-with-output-file (string-append apps "/gnome-mimeapps.list")
96d36f38
AW
7819 (lambda (port)
7820 (format port "[Default Applications]\n")
8ad4f0aa
LC
7821 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
7822 (format port "application/pdf=evince.desktop\n")
7823 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
7824 #t))))
7825 (synopsis "Default MIME type associations for the GNOME desktop")
7826 (description
7827 "Given many installed packages which might handle a given MIME type, a
7828user running the GNOME desktop probably has some preferences: for example,
7829that folders be opened by default by the Nautilus file manager, not the Baobab
7830disk usage analyzer. This package establishes that set of default MIME type
7831associations for GNOME.")
7832 (license license:gpl3+)
7833 (home-page #f)))
7834
3f1ed953
RG
7835(define-public libgovirt
7836 (package
7837 (name "libgovirt")
7838 (version "0.3.6")
7839 (source (origin
7840 (method url-fetch)
7841 (uri (string-append "mirror://gnome/sources/" name "/"
7842 (version-major+minor version) "/"
7843 name "-" version ".tar.xz"))
7844 (sha256
7845 (base32
7846 "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg"))))
7847 (build-system glib-or-gtk-build-system)
7848 (native-inputs
7849 `(("gettext" ,gettext-minimal)
7850 ("glib:bin" ,glib "bin")
7851 ("gobject-introspection" ,gobject-introspection)
7852 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7853 ("gtk+:bin" ,gtk+ "bin")
7854 ("pkg-config" ,pkg-config)))
7855 (inputs
7856 `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
7857 ("librest" ,rest)))
7858 (synopsis "GoVirt Library")
7859 (description "GoVirt is a GObject wrapper for the oVirt REST API.")
7860 (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
7861 (license license:gpl2+)))
7862
8672e5e9
RG
7863(define-public gnome-weather
7864 (package
7865 (name "gnome-weather")
7866 (version "3.34.0")
7867 (source (origin
7868 (method url-fetch)
7869 (uri (string-append "mirror://gnome/sources/" name "/"
7870 (version-major+minor version) "/"
7871 name "-" version ".tar.xz"))
7872 (sha256
7873 (base32
7874 "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4"))))
7875 (build-system meson-build-system)
7876 (native-inputs
7877 `(("gettext" ,gettext-minimal)
7878 ("glib:bin" ,glib "bin")
7879 ("gobject-introspection" ,gobject-introspection)
7880 ("gtk+:bin" ,gtk+ "bin")
7881 ("pkg-config" ,pkg-config)))
7882 (inputs
7883 `( ;("adwaita-icon-theme" ,adwaita-icon-theme)
7884 ("appstream-glib" ,appstream-glib)
7885 ("geoclue" ,geoclue)
7886 ("gdk-pixbuf" ,gdk-pixbuf)
7887 ("gjs" ,gjs)
7888 ("gnome-desktop" ,gnome-desktop)
7889 ("libgweather" ,libgweather)))
4391fefc 7890 (arguments
2b68ba72
MB
7891 `(#:glib-or-gtk? #t
7892 #:phases
4391fefc
PN
7893 (modify-phases %standard-phases
7894 (add-after 'install 'fix-desktop-file
7895 ;; FIXME: "gapplication launch org.gnome.Weather" fails for some reason.
7896 ;; See https://issues.guix.gnu.org/issue/39324.
7897 (lambda* (#:key outputs #:allow-other-keys)
7898 (let* ((out (assoc-ref outputs "out"))
7899 (applications (string-append out "/share/applications")))
7900 (substitute* (string-append applications "/org.gnome.Weather.desktop")
2b68ba72
MB
7901 (("Exec=.*") "Exec=gnome-weather\n"))
7902 #t)))
7903 (add-after 'install 'wrap
7904 (lambda* (#:key inputs outputs #:allow-other-keys)
7905 (let ((out (assoc-ref outputs "out"))
7906 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
7907 ;; GNOME Weather needs the typelib files of GTK+, Pango etc at runtime.
7908 (wrap-program (string-append out "/bin/gnome-weather")
7909 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
7910 #t))))))
8672e5e9
RG
7911 (synopsis "Weather monitoring for GNOME desktop")
7912 (description "GNOME Weather is a small application that allows you to
7913monitor the current weather conditions for your city, or anywhere in the
7914world.")
7915 (home-page "https://wiki.gnome.org/Apps/Weather")
7916 (license license:gpl2+)))
7917
dc050251
SB
7918(define-public gnome
7919 (package
7920 (name "gnome")
7921 (version (package-version gnome-shell))
7922 (source #f)
7923 (build-system trivial-build-system)
e3cfef22 7924 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 7925 (propagated-inputs
8d8c6bff 7926 ;; TODO: Add or remove packages according to:
a8cda7f5 7927 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 7928 `(
8d8c6bff 7929 ;; GNOME-Core-OS-Services
7922b6f7 7930 ("accountsservice" ,accountsservice)
8d8c6bff
RG
7931 ("network-manager" ,network-manager)
7932 ("packagekit" ,packagekit)
7933 ("upower" ,upower)
7934 ;; GNOME-Core-Shell
7935 ("adwaita-icon-theme" ,adwaita-icon-theme)
7936 ("gdm" ,gdm)
7937 ("glib-networking" ,glib-networking)
7938 ("gnome-backgrounds" ,gnome-backgrounds)
7939 ("gnome-bluetooth" ,gnome-bluetooth)
d36fa50f 7940 ("gnome-color-manager" ,gnome-color-manager)
8d8c6bff
RG
7941 ("gnome-control-center" ,gnome-control-center)
7942 ("gnome-desktop" ,gnome-desktop)
7922b6f7 7943 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
d36fa50f 7944 ("gnome-initial-setup" ,gnome-initial-setup)
8d8c6bff 7945 ("gnome-keyring" ,gnome-keyring)
7922b6f7 7946 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
7947 ("gnome-session" ,gnome-session)
7948 ("gnome-settings-daemon" ,gnome-settings-daemon)
7949 ("gnome-shell-extensions" ,gnome-shell-extensions)
7950 ("gnome-shell" ,gnome-shell)
7951 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 7952 ("gnome-user-docs" ,gnome-user-docs)
d36fa50f 7953 ("gnome-user-share" ,gnome-user-share)
a8cda7f5 7954 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
7955 ("gvfs" ,gvfs)
7956 ("mutter" ,mutter)
7957 ("orca" ,orca)
d36fa50f
RG
7958 ("rygel" ,rygel)
7959 ("sushi" ,sushi)
8d8c6bff
RG
7960 ;; GNOME-Core-Utilities
7961 ("baobab" ,baobab)
7962 ("cheese" ,cheese)
ce784e6c
MB
7963 ;; XXX: EoG requires librsvg-next, which depends on Rust, which currently
7964 ;; only works on x86_64, so exclude it on other architectures.
7965 ,@(if (string-prefix? "x86_64" (%current-system))
7966 `(("eog" ,eog))
7967 '())
8d8c6bff
RG
7968 ("epiphany" ,epiphany)
7969 ("evince" ,evince)
7970 ("file-roller" ,file-roller)
7971 ("gedit" ,gedit)
897897bd 7972 ("gnome-boxes" ,gnome-boxes)
8d8c6bff
RG
7973 ("gnome-calculator" ,gnome-calculator)
7974 ("gnome-calendar" ,gnome-calendar)
7975 ("gnome-characters" ,gnome-characters)
7976 ("gnome-clocks" ,gnome-clocks)
7977 ("gnome-contacts" ,gnome-contacts)
7978 ("gnome-disk-utility" ,gnome-disk-utility)
7979 ("gnome-font-viewer" ,gnome-font-viewer)
7980 ("gnome-maps" ,gnome-maps)
d36fa50f
RG
7981 ; TODO: ("gnome-music" ,gnome-music)
7982 ; TODO: ("gnome-photos" ,gnome-photos)
8d8c6bff
RG
7983 ("gnome-screenshot" ,gnome-screenshot)
7984 ("gnome-system-monitor" ,gnome-system-monitor)
7985 ("gnome-terminal" ,gnome-terminal)
d36fa50f 7986 ("gnome-weather" ,gnome-weather)
8d8c6bff
RG
7987 ("nautilus" ,nautilus)
7988 ("simple-scan" ,simple-scan)
7989 ("totem" ,totem)
7922b6f7
RG
7990 ("yelp" ,yelp)
7991 ;; Others
7992 ("hicolor-icon-theme" ,hicolor-icon-theme)
9f2fef4f
LC
7993 ("gnome-online-accounts" ,gnome-online-accounts)
7994
7995 ;; Packages not part of GNOME proper but that are needed for a good
7996 ;; experience. See <https://bugs.gnu.org/39646>.
7997 ;; XXX: Find out exactly which ones are needed and why.
7998 ("font-cantarell" ,font-cantarell)
7999 ("font-dejavu" ,font-dejavu)
8000 ("at-spi2-core" ,at-spi2-core)
8001 ("dbus" ,dbus)
8002 ("dconf" ,dconf)
8003 ("desktop-file-utils" ,desktop-file-utils)
8004 ("gnome-default-applications" ,gnome-default-applications)
8005 ("gnome-themes-standard" ,gnome-themes-standard)
8006 ("gst-plugins-base" ,gst-plugins-base)
8007 ("gst-plugins-good" ,gst-plugins-good)
8008 ("gucharmap" ,gucharmap)
8009 ("pinentry-gnome3" ,pinentry-gnome3)
8010 ("pulseaudio" ,pulseaudio)
8011 ("shared-mime-info" ,shared-mime-info)
8012 ("system-config-printer" ,system-config-printer)
8013 ("xdg-user-dirs" ,xdg-user-dirs)
8014 ("yelp" ,yelp)
8015 ("zenity" ,zenity)))
fe4e698d 8016 (synopsis "The GNU desktop environment")
dc050251
SB
8017 (home-page "https://www.gnome.org/")
8018 (description
fe4e698d
LC
8019 "GNOME is the graphical desktop for GNU. It includes a wide variety of
8020applications for browsing the web, editing text and images, creating
8021documents and diagrams, playing media, scanning, and much more.")
dc050251 8022 (license license:gpl2+)))
4a526711
DT
8023
8024(define-public byzanz
8025 ;; The last stable release of Byzanz was in 2011, but there have been many
8026 ;; useful commits made to the Byzanz repository since then that it would be
8027 ;; silly to use such an old release.
8028 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
8029 (package
8030 (name "byzanz")
8031 (version (string-append "0.2-1." (string-take commit 7)))
8032 (source (origin
8033 (method git-fetch)
8034 (uri (git-reference
5f13bf09 8035 (url "https://git.gnome.org/browse/byzanz")
4a526711 8036 (commit commit)))
5a6527e4 8037 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
8038 (sha256
8039 (base32
8040 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
8041 (build-system glib-or-gtk-build-system)
8042 (arguments
8043 '(#:phases
8044 (modify-phases %standard-phases
778d6b52 8045 (add-before 'bootstrap 'build-without-Werror
4a526711
DT
8046 (lambda _
8047 ;; The build system cleverly detects that we're not building from
8048 ;; a release tarball and turns on -Werror for GCC.
8049 ;; Unsurprisingly, there is a warning during compilation that
8050 ;; causes the build to fail unnecessarily, so we remove the flag.
8051 (substitute* '("configure.ac")
8052 (("-Werror") ""))
778d6b52 8053 #t)))))
4a526711
DT
8054 (native-inputs
8055 `(("autoconf" ,autoconf)
8056 ("automake" ,automake)
8057 ("gnome-common" ,gnome-common)
8058 ("intltool" ,intltool)
8059 ("libtool" ,libtool)
8060 ("pkg-config" ,pkg-config)
8061 ("which" ,which)))
8062 (inputs
8063 `(("glib" ,glib)
8064 ("gstreamer" ,gstreamer)
8065 ("gst-plugins-base" ,gst-plugins-base)
8066 ("gtk+" ,gtk+)))
8067 (synopsis "Desktop recording program")
8068 (description "Byzanz is a simple desktop recording program with a
8069command-line interface. It can record part or all of an X display for a
8070specified duration and save it as a GIF encoded animated image file.")
8071 (home-page "https://git.gnome.org/browse/byzanz")
8072 (license license:gpl2+))))
3a9a4c51 8073
0ec171ec
MS
8074(define-public gsound
8075 (package
8076 (name "gsound")
8077 (version "1.0.2")
8078 (source (origin
8079 (method url-fetch)
8080 (uri (string-append "mirror://gnome/sources/" name "/"
8081 (version-major+minor version) "/"
8082 name "-" version ".tar.xz"))
8083 (sha256
8084 (base32
8085 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
8086 (build-system glib-or-gtk-build-system)
8087 (native-inputs
8088 `(("pkg-config" ,pkg-config)
8089 ("gobject-introspection" ,gobject-introspection)
8090 ("vala" ,vala)))
8091 (inputs
8092 `(("glib" ,glib)
8093 ("libcanberra" ,libcanberra)))
8094 (home-page "https://wiki.gnome.org/Projects/GSound")
8095 (synopsis "GObject wrapper for libcanberra")
8096 (description
8097 "GSound is a small library for playing system sounds. It's designed to be
8098used via GObject Introspection, and is a thin wrapper around the libcanberra C
8099library.")
8100 (license license:lgpl2.1+)))
8101
3a9a4c51
RS
8102(define-public libzapojit
8103 (package
8104 (name "libzapojit")
8105 (version "0.0.3")
8106 (source (origin
8107 (method url-fetch)
8108 (uri (string-append "mirror://gnome/sources/" name "/"
8109 (version-major+minor version) "/"
8110 name "-" version ".tar.xz"))
8111 (sha256
8112 (base32
8113 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
8114 (build-system gnu-build-system)
8115 (native-inputs
8116 `(("gobject-introspection" ,gobject-introspection)
8117 ("intltool" ,intltool)
8118 ("pkg-config" ,pkg-config)))
8119 (inputs
14c297fd 8120 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
8121 ("json-glib" ,json-glib)
8122 ("rest" ,rest)))
8123 (home-page "https://wiki.gnome.org/Projects/Zapojit")
8124 (synopsis "Library for accessing SkyDrive and Hotmail")
8125 (description
8126 "Libzapojit is a GLib-based library for accessing online service APIs of
8127Microsoft SkyDrive and Hotmail, using their REST protocols.")
8128 (license license:lgpl2.1+)))
9365ee1c 8129
60e2a9ae
MS
8130(define-public gnome-clocks
8131 (package
8132 (name "gnome-clocks")
feee5ff5 8133 (version "3.34.0")
60e2a9ae
MS
8134 (source (origin
8135 (method url-fetch)
8136 (uri (string-append "mirror://gnome/sources/" name "/"
8137 (version-major+minor version) "/"
8138 name "-" version ".tar.xz"))
8139 (sha256
8140 (base32
feee5ff5 8141 "0g7hjk55smhkd09hwa9kag3h5a12l494wj89w9smpdk3ghsmy6b1"))))
60e2a9ae
MS
8142 (build-system meson-build-system)
8143 (arguments
feee5ff5
KK
8144 '(#:glib-or-gtk? #t
8145 #:phases
8146 (modify-phases %standard-phases
8147 (add-after 'unpack 'skip-gtk-update-icon-cache
8148 ;; Don't create 'icon-theme.cache'.
8149 (lambda _
8150 (substitute* "build-aux/post-install.py"
8151 (("gtk-update-icon-cache") "true"))
8152 #t)))))
60e2a9ae
MS
8153 (native-inputs
8154 `(("vala" ,vala)
8155 ("pkg-config" ,pkg-config)
8156 ("glib" ,glib "bin") ; for glib-compile-resources
60e2a9ae
MS
8157 ("desktop-file-utils" ,desktop-file-utils)
8158 ("gettext" ,gettext-minimal)
8159 ("itstool" ,itstool)))
8160 (inputs
8161 `(("glib" ,glib)
8162 ("gtk+" ,gtk+)
8163 ("gsound" ,gsound)
8164 ("geoclue" ,geoclue)
8165 ("geocode-glib" ,geocode-glib)
8166 ("libgweather" ,libgweather)
8167 ("gnome-desktop" ,gnome-desktop)))
8168 (home-page "https://wiki.gnome.org/Apps/Clocks")
8169 (synopsis "GNOME's clock application")
8170 (description
8171 "GNOME Clocks is a simple clocks application designed to fit the GNOME
8172desktop. It supports world clock, stop watch, alarms, and count down timer.")
8173 (license license:gpl3+)))
8174
3c474897
KY
8175(define-public gnome-calendar
8176 (package
8177 (name "gnome-calendar")
27dd1d76 8178 (version "3.34.2")
3c474897
KY
8179 (source (origin
8180 (method url-fetch)
8181 (uri (string-append "mirror://gnome/sources/" name "/"
8182 (version-major+minor version) "/"
8183 name "-" version ".tar.xz"))
8184 (sha256
8185 (base32
27dd1d76 8186 "1bnmd191044zn2kr6f5vg7sm5q59qf7z652awll1f7s6ahijr8rw"))))
a49d3e37
MS
8187 (build-system meson-build-system)
8188 (arguments
8189 '(#:glib-or-gtk? #t
8190 ;; gnome-calendar has to be installed before the tests can be run
8191 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
27dd1d76
KK
8192 #:tests? #f
8193 #:phases
8194 (modify-phases %standard-phases
8195 (add-after 'unpack 'skip-gtk-update-icon-cache
8196 ;; Don't create 'icon-theme.cache'.
8197 (lambda _
8198 (substitute* "build-aux/meson/meson_post_install.py"
8199 (("gtk-update-icon-cache") "true"))
8200 #t)))))
3c474897 8201 (native-inputs
a49d3e37
MS
8202 `(("gettext" ,gettext-minimal)
8203 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
3c474897
KY
8204 ("pkg-config" ,pkg-config)))
8205 (inputs
27cb52a2 8206 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
8207 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8208 ("libdazzle" ,libdazzle)
b63c06f1 8209 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
8210 ("libgweather" ,libgweather)
8211 ("geoclue" ,geoclue)))
27cb52a2
RG
8212 (propagated-inputs
8213 `(("evolution-data-server" ,evolution-data-server)))
3c474897
KY
8214 (home-page "https://wiki.gnome.org/Apps/Calendar")
8215 (synopsis "GNOME's calendar application")
8216 (description
8217 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 8218desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
8219 (license license:gpl3+)))
8220
57b14665
MS
8221(define-public gnome-todo
8222 (package
8223 (name "gnome-todo")
9f3c6c88 8224 (version "3.28.1")
57b14665
MS
8225 (source (origin
8226 (method url-fetch)
8227 (uri (string-append "mirror://gnome/sources/" name "/"
8228 (version-major+minor version) "/"
8229 name "-" version ".tar.xz"))
8230 (sha256
8231 (base32
b17b2945
DM
8232 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))
8233 (patches
8234 (search-patches "gnome-todo-delete-esource-duplicate.patch"))))
57b14665
MS
8235 (build-system meson-build-system)
8236 (arguments
8237 '(#:glib-or-gtk? #t
8238 #:phases (modify-phases %standard-phases
8239 (add-after
8240 'install 'wrap-gnome-todo
8241 (lambda* (#:key inputs outputs #:allow-other-keys)
8242 (let ((out (assoc-ref outputs "out"))
8243 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8244 (python-path (getenv "PYTHONPATH")))
8245 (wrap-program (string-append out "/bin/gnome-todo")
8246 ;; XXX: gi plugins are broken.
8247 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
8248 ;; For plugins.
8249 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8250 `("PYTHONPATH" ":" prefix (,python-path))))
8251 #t)))))
8252 (native-inputs
8253 `(("gettext" ,gettext-minimal)
8254 ("gobject-introspection" ,gobject-introspection)
8255 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8256 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8257 ("pkg-config" ,pkg-config)))
8258 (inputs
8259 `(("rest" ,rest) ; For Todoist plugin
8260 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 8261 ("libedataserverui" ,evolution-data-server)
57b14665
MS
8262 ("libical" ,libical)
8263 ("libpeas" ,libpeas)
8264 ("python-pygobject" ,python-pygobject)
8265 ("evolution-data-server" ,evolution-data-server)
14c297fd 8266 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
8267 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
8268 (home-page "https://wiki.gnome.org/Apps/Todo")
8269 (synopsis "GNOME's ToDo Application")
8270 (description
8271 "GNOME To Do is a simplistic personal task manager designed to perfectly
8272fit the GNOME desktop.")
8273 (license license:gpl3+)))
8274
ab179eaf
SB
8275(define-public gnome-dictionary
8276 (package
8277 (name "gnome-dictionary")
cf81ddef 8278 (version "3.26.1")
ab179eaf
SB
8279 (source (origin
8280 (method url-fetch)
8281 (uri (string-append "mirror://gnome/sources/" name "/"
8282 (version-major+minor version) "/"
8283 name "-" version ".tar.xz"))
8284 (sha256
8285 (base32
cf81ddef
LC
8286 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
8287 (build-system meson-build-system)
2776b5d5
MB
8288 (arguments '(#:glib-or-gtk? #t
8289 #:phases (modify-phases %standard-phases
8290 (add-after 'unpack 'patch-install-script
8291 (lambda _
8292 ;; This script attempts to compile glib schemas
8293 ;; and create an empty MIME database. We do
8294 ;; that elsewhere, so prevent it from running.
8295 (substitute* "build-aux/post-install.sh"
8296 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
8297 #t)))))
ab179eaf
SB
8298 (native-inputs
8299 `(("glib:bin" ,glib "bin")
8300 ("gobject-introspection" ,gobject-introspection)
8301 ("intltool" ,intltool)
8302 ("itstool" ,itstool)
8303 ("pkg-config" ,pkg-config)
8304 ("xmllint" ,libxml2)))
8305 (inputs
8306 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8307 ("gtk+" ,gtk+)))
8308 (home-page "https://wiki.gnome.org/Apps/Dictionary")
8309 (synopsis "Look up words in dictionary sources")
8310 (description
8311 "GNOME Dictionary can look for the definition or translation of a word in
8312existing databases over the internet.")
8313 (license license:gpl3+)))
8314
d13f3a03 8315(define-public gnome-tweaks
9365ee1c 8316 (package
d13f3a03 8317 (name "gnome-tweaks")
4add1bae 8318 (version "3.34.0")
9365ee1c
JN
8319 (source (origin
8320 (method url-fetch)
d13f3a03 8321 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 8322 (version-major+minor version) "/"
d13f3a03
RW
8323 "gnome-tweaks-" version ".tar.xz"))
8324 (patches
8325 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
8326 (sha256
8327 (base32
4add1bae 8328 "0l2j42ba7v866iknygamnkiq7igh0fjvq92r93cslvvfnkx2ccq0"))))
d13f3a03 8329 (build-system meson-build-system)
9365ee1c 8330 (arguments
d13f3a03
RW
8331 `(#:glib-or-gtk? #t
8332 #:configure-flags '("-Dlocalstatedir=/tmp"
8333 "-Dsysconfdir=/tmp")
9365ee1c 8334 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
8335 ,@%meson-build-system-modules)
8336 #:phases
8337 (modify-phases %standard-phases
4add1bae
KK
8338 (add-after 'unpack 'skip-gtk-update-icon-cache
8339 ;; Don't create 'icon-theme.cache'.
8340 (lambda _
8341 (substitute* "meson-postinstall.py"
8342 (("gtk-update-icon-cache") "true"))
8343 #t))
d13f3a03
RW
8344 (add-after 'install 'wrap
8345 (@@ (guix build python-build-system) wrap))
8346 (add-after 'wrap 'wrap-gi-typelib
8347 (lambda* (#:key inputs outputs #:allow-other-keys)
8348 (let ((out (assoc-ref outputs "out"))
8349 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8350 (wrap-program (string-append out "/bin/gnome-tweaks")
8351 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8352 #t)))))
9365ee1c 8353 (native-inputs
4add1bae 8354 `(("intltool" ,intltool)
9365ee1c
JN
8355 ("pkg-config" ,pkg-config)))
8356 (inputs
c7fc414e
RH
8357 `(("gnome-desktop" ,gnome-desktop)
8358 ("gtk+" ,gtk+)
9365ee1c
JN
8359 ("gobject-introspection" ,gobject-introspection)
8360 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4add1bae 8361 ("libhandy" ,libhandy)
c7fc414e
RH
8362 ("libnotify" ,libnotify)
8363 ("libsoup" ,libsoup)
8364 ("nautilus" ,nautilus)
8365 ("python" ,python)
8366 ("python-pygobject" ,python-pygobject)))
9365ee1c 8367 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 8368 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 8369 (description
d13f3a03 8370 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
8371GNOME 3. This includes things like the fonts used in user interface elements,
8372alternative user interface themes, changes in window management behavior,
8373GNOME Shell appearance and extension, etc.")
8374 (license license:gpl3+)))
813f814a 8375
32ac717c
DT
8376(define-public gnome-shell-extensions
8377 (package
8378 (name "gnome-shell-extensions")
c7305466 8379 (version "3.34.2")
32ac717c
DT
8380 (source (origin
8381 (method url-fetch)
8382 (uri (string-append "mirror://gnome/sources/" name "/"
8383 (version-major+minor version) "/"
8384 name "-" version ".tar.xz"))
8385 (sha256
8386 (base32
c7305466 8387 "1f5l35l3kdkzrv49xmg1sh11vwmgjbg7hx3gb91i39bfl1snxqd1"))))
100f625b 8388 (build-system meson-build-system)
32ac717c 8389 (arguments
100f625b 8390 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 8391 (native-inputs
c9ea8873
LP
8392 `(("glib:bin" ,glib "bin")
8393 ("intltool" ,intltool)
32ac717c
DT
8394 ("pkg-config" ,pkg-config)))
8395 (propagated-inputs
c9ea8873 8396 `(("glib" ,glib)))
32ac717c
DT
8397 (synopsis "Extensions for GNOME Shell")
8398 (description "GNOME Shell extensions modify and extend GNOME Shell
8399functionality and behavior.")
8400 (home-page "https://extensions.gnome.org/")
8401 (license license:gpl3+)))
8402
813f814a
DT
8403(define-public arc-theme
8404 (package
8405 (name "arc-theme")
37781323 8406 (version "20190917")
813f814a 8407 (source (origin
a18f8eaf
BH
8408 (method git-fetch)
8409 (uri (git-reference
8410 (url "https://github.com/NicoHood/arc-theme.git")
8411 (commit version)))
8412 (file-name (git-file-name name version))
813f814a
DT
8413 (sha256
8414 (base32
37781323 8415 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 8416 (build-system gnu-build-system)
d88884fa
EF
8417 (arguments
8418 '(#:phases
8419 (modify-phases %standard-phases
8420 ;; autogen.sh calls configure at the end of the script.
8421 (replace 'bootstrap
4690e3a4
MC
8422 (lambda _ (invoke "autoreconf" "-vfi")))
8423 (add-before 'build 'set-home ;placate Inkscape
8424 (lambda _
8425 (setenv "HOME" (getcwd))
8426 #t)))))
813f814a
DT
8427 (native-inputs
8428 `(("autoconf" ,autoconf)
8429 ("automake" ,automake)
a18f8eaf
BH
8430 ("glib" ,glib "bin") ; for glib-compile-resources
8431 ("gnome-shell" ,gnome-shell)
8432 ("gtk+" ,gtk+)
8433 ("inkscape" ,inkscape)
8434 ("optipng" ,optipng)
8435 ("pkg-config" ,pkg-config)
bed24ecf 8436 ("sassc" ,sassc/libsass-3.5)))
813f814a
DT
8437 (synopsis "A flat GTK+ theme with transparent elements")
8438 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
84392, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
8440like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
8441 (home-page "https://github.com/horst3180/arc-theme")
8442 ;; No "or later" language found.
a18f8eaf 8443 (license license:gpl3+)))
9987c57c 8444
d935e6a1 8445(define-public faba-icon-theme
9987c57c 8446 (package
d935e6a1 8447 (name "faba-icon-theme")
2eee7ee3 8448 (version "4.3")
d935e6a1
BT
8449 (source
8450 (origin
757e4027
TGR
8451 (method git-fetch)
8452 (uri (git-reference
8453 (url "https://github.com/snwh/faba-icon-theme.git")
8454 (commit (string-append "v" version))))
8455 (file-name (git-file-name name version))
d935e6a1 8456 (sha256
757e4027 8457 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 8458 (build-system meson-build-system)
9987c57c 8459 (arguments
82da291a 8460 `(#:phases
9987c57c 8461 (modify-phases %standard-phases
82da291a 8462 (add-before 'configure 'disable-post-install
9987c57c 8463 (lambda _
82da291a
JL
8464 (substitute* "meson.build"
8465 (("meson.add_install_script.*") "")))))))
9987c57c
DT
8466 (native-inputs
8467 `(("autoconf" ,autoconf)
8468 ("automake" ,automake)))
d935e6a1
BT
8469 (synopsis "Faba icon theme")
8470 (description
8471 "Faba is a minimal icon set used as a basis for other themes such as
8472Moka")
8473 (home-page "https://snwh.org/moka")
8474 (license (list license:lgpl3+
8475 license:cc-by-sa4.0))))
8476
9987c57c
DT
8477(define-public moka-icon-theme
8478 (package
8b0e4177 8479 (inherit faba-icon-theme)
9987c57c 8480 (name "moka-icon-theme")
105a3625 8481 (version "5.4.0")
8c3f2170
TGR
8482 (source
8483 (origin
8484 (method git-fetch)
8485 (uri (git-reference
8486 (url "https://github.com/snwh/moka-icon-theme.git")
8487 (commit (string-append "v" version))))
8488 (file-name (git-file-name name version))
8489 (sha256
8490 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
8491 (propagated-inputs
8492 ;; Moka is based on Faba by using it as a fallback icon set instead of
8493 ;; bundling it, so we need to add it as a propagated input.
8494 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
8495 (synopsis "Moka icon theme")
8496 (description "Moka is a stylized desktop icon set, designed to be clear,
8497simple and consistent.")
fedde43b
BT
8498 (license (list license:gpl3+
8499 license:cc-by-sa4.0))))
6fd8f8d6
DT
8500
8501(define-public arc-icon-theme
8502 (package
8503 (name "arc-icon-theme")
c4180240 8504 (version "20161122")
bbf66cbf
TGR
8505 (source
8506 (origin
8507 (method git-fetch)
8508 (uri (git-reference
8509 (url "https://github.com/horst3180/arc-icon-theme.git")
8510 (commit version)))
8511 (file-name (git-file-name name version))
8512 (sha256
8513 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 8514 (build-system gnu-build-system)
9e1ede95
JL
8515 (arguments
8516 `(#:phases
8517 (modify-phases %standard-phases
8518 (add-after 'unpack 'disable-configure-during-bootstrap
8519 (lambda _
8520 (substitute* "autogen.sh"
8521 (("^\"\\$srcdir/configure\".*") ""))
8522 #t)))))
6fd8f8d6
DT
8523 (native-inputs
8524 `(("autoconf" ,autoconf)
8525 ("automake" ,automake)))
8526 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
8527 (propagated-inputs
8528 `(("moka-icon-theme" ,moka-icon-theme)))
8529 (synopsis "Arc icon theme")
8530 (description "The Arc icon theme provides a set of icons matching the
8531style of the Arc GTK theme. Icons missing from the Arc theme are provided by
8532the Moka icon theme.")
8533 (home-page "https://github.com/horst3180/arc-icon-theme")
8534 (license license:gpl3+)))
6064a4e8
LF
8535
8536(define-public folks
8537 (package
8538 (name "folks")
fd11f6f3 8539 (version "0.13.1")
6064a4e8
LF
8540 (source (origin
8541 (method url-fetch)
8542 (uri (string-append
e5f4796e 8543 "mirror://gnome/sources/folks/"
6064a4e8 8544 (version-major+minor version) "/"
e5f4796e 8545 "folks-" version ".tar.xz"))
6064a4e8
LF
8546 (sha256
8547 (base32
fd11f6f3
KK
8548 "0pda8sx4ap3lyri5fdrnakl29la1zkhwlc9bmnp13qigp1iwdw9x"))))
8549 (build-system meson-build-system)
8550 (arguments
8551 '(#:phases
8552 (modify-phases %standard-phases
8553 (add-after 'unpack 'skip-gtk-update-icon-cache
8554 ;; Don't create 'icon-theme.cache'.
8555 (lambda _
8556 (substitute* "meson_post_install.py"
8557 (("gtk-update-icon-cache") "true"))
8558 #t)))))
6064a4e8
LF
8559 (inputs
8560 `(("bdb" ,bdb)
8561 ("dbus-glib" ,dbus-glib)
8562 ("evolution-data-server" ,evolution-data-server)
8563 ("glib" ,glib)
8564 ("libgee" ,libgee)
fd11f6f3 8565 ("readline" ,readline)
6064a4e8
LF
8566 ("telepathy-glib" ,telepathy-glib)))
8567 (native-inputs
fd11f6f3
KK
8568 `(("glib:bin" ,glib "bin")
8569 ("gobject-introspection" ,gobject-introspection)
6064a4e8
LF
8570 ("intltool" ,intltool)
8571 ("pkg-config" ,pkg-config)
8572 ("vala" ,vala)))
8573 (synopsis "Library to aggregate data about people")
8574 (description "Libfolks is a library that aggregates information about people
8575from multiple sources (e.g., Telepathy connection managers for IM contacts,
8576Evolution Data Server for local contacts, libsocialweb for web service contacts,
8577etc.) to create metacontacts. It's written in Vala, which generates C code when
8578compiled.")
8579 (home-page "https://wiki.gnome.org/Projects/Folks")
8580 (license license:lgpl2.1+)))
01ea778f
LF
8581
8582(define-public gfbgraph
8583 (package
8584 (name "gfbgraph")
8585 (version "0.2.3")
8586 (source (origin
8587 (method url-fetch)
8588 (uri (string-append
237d4cf7 8589 "mirror://gnome/sources/gfbgraph/"
01ea778f 8590 (version-major+minor version) "/"
237d4cf7 8591 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
8592 (sha256
8593 (base32
8594 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
8595 (build-system glib-or-gtk-build-system)
8596 (arguments
8597 `(#:tests? #f ; Tests appear to require the network.
8598 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
8599 #:configure-flags '("--disable-gtk-doc"
8600 "--disable-static"
8601 "--enable-introspection")))
8602 (native-inputs
8603 `(("pkg-config" ,pkg-config)
8604 ("gobject-introspection" ,gobject-introspection)))
8605 (inputs
8606 `(("json-glib" ,json-glib)
14c297fd 8607 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
8608 ("rest" ,rest)))
8609 (synopsis "GLib/GObject wrapper for the Facebook API")
8610 (description "This library allows you to use the Facebook API from
8611GLib/GObject code.")
8612 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
8613 (license license:lgpl2.1+)))
3920868c 8614
8615(define-public libgnomekbd
8616 (package
8617 (name "libgnomekbd")
70f2b0f9 8618 (version "3.26.1")
3920868c 8619 (source (origin
8620 (method url-fetch)
d47fa82d 8621 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 8622 (version-major+minor version) "/"
d47fa82d 8623 "libgnomekbd-" version ".tar.xz"))
3920868c 8624 (sha256
8625 (base32
70f2b0f9 8626 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 8627 (build-system gnu-build-system)
8628 (native-inputs
8629 `(("pkg-config" ,pkg-config)
8630 ("glib" ,glib "bin")
8631 ("intltool" ,intltool)))
8632 (propagated-inputs
8633 ;; Referred to in .h files and .pc.
8634 `(("glib" ,glib)
8635 ("gtk+" ,gtk+)
8636 ("libxklavier" ,libxklavier)))
8637 (home-page "https://www.gnome.org")
8638 (synopsis "GNOME keyboard configuration library")
8639 (description
8640 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
8641environment, which can notably display keyboard layouts.")
8642 (license license:lgpl2.0+)))
85327d0d 8643
8644;;; This package is no longer maintained:
8645;;; https://wiki.gnome.org/Attic/LibUnique
8646;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
8647;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
8648(define-public libunique
8649 (package
8650 (name "libunique")
8651 (version "3.0.2")
8652 (source (origin
8653 (method url-fetch)
8654 (uri (string-append "mirror://gnome/sources/" name "/"
8655 (version-major+minor version) "/"
8656 name "-" version ".tar.xz"))
8657 (sha256
8658 (base32
8659 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
8660 (build-system glib-or-gtk-build-system)
8661 (arguments
8662 `(#:configure-flags '("--disable-static"
8663 "--disable-dbus" ; use gdbus
8664 "--enable-introspection")))
8665 (native-inputs
8666 `(("pkg-config" ,pkg-config)
8667 ("gobject-introspection" ,gobject-introspection)
8668 ("glib:bin" ,glib "bin")
8669 ("gtk-doc" ,gtk-doc)))
8670 (propagated-inputs
8671 ;; Referred to in .h files and .pc.
8672 `(("gtk+" ,gtk+)))
8673 (home-page "https://wiki.gnome.org/Attic/LibUnique")
8674 (synopsis "Library for writing single instance applications")
8675 (description
8676 "Libunique is a library for writing single instance applications. If you
8677launch a single instance application twice, the second instance will either just
8678quit or will send a message to the running instance. Libunique makes it easy to
8679write this kind of application, by providing a base class, taking care of all
8680the IPC machinery needed to send messages to a running instance, and also
8681handling the startup notification side.")
8682 (license license:lgpl2.1+)))
54021cd8
RS
8683
8684(define-public gnome-calculator
8685 (package
8686 (name "gnome-calculator")
4cb09502 8687 (version "3.34.1")
54021cd8
RS
8688 (source
8689 (origin
8690 (method url-fetch)
8691 (uri (string-append "mirror://gnome/sources/" name "/"
8692 (version-major+minor version) "/"
8693 name "-" version ".tar.xz"))
8694 (sha256
8695 (base32
4cb09502 8696 "0lbh87255zzggqzai6543qg920y52bl4vs5m5h5087ghzg14hlsd"))))
2d475910
RW
8697 (build-system meson-build-system)
8698 (arguments '(#:glib-or-gtk? #t))
54021cd8 8699 (native-inputs
4cb09502
MB
8700 `(("gettext" ,gettext-minimal)
8701 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 8702 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8 8703 ("itstool" ,itstool)
2d475910 8704 ("vala" ,vala)
54021cd8
RS
8705 ("pkg-config" ,pkg-config)))
8706 (inputs
112e9083 8707 `(("glib" ,glib)
07ace641 8708 ("gtksourceview" ,gtksourceview)
4cb09502 8709 ("libgee" ,libgee)
54021cd8 8710 ("libsoup" ,libsoup)
112e9083 8711 ("libxml2" ,libxml2)
2c2da7ec 8712 ("mpc" ,mpc)
54021cd8
RS
8713 ("mpfr" ,mpfr)))
8714 (home-page "https://wiki.gnome.org/Apps/Calculator")
8715 (synopsis "Desktop calculator")
8716 (description
8717 "Calculator is an application that solves mathematical equations and
8718is suitable as a default application in a Desktop environment.")
8719 (license license:gpl3)))
0bd69759
RS
8720
8721(define-public xpad
8722 (package
8723 (name "xpad")
c85626bb 8724 (version "5.1.0")
0bd69759
RS
8725 (source
8726 (origin
8727 (method url-fetch)
08fda9c6
R
8728 (uri (string-append "https://launchpad.net/xpad/trunk/"
8729 version "/+download/"
0bd69759
RS
8730 name "-" version ".tar.bz2"))
8731 (sha256
8732 (base32
c85626bb 8733 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
8734 (build-system gnu-build-system)
8735 (native-inputs
08fda9c6
R
8736 `(("autoconf" ,autoconf)
8737 ("automake" ,automake)
8738 ("gtk+:bin" ,gtk+ "bin")
8739 ("intltool" ,intltool)
0bd69759
RS
8740 ("pkg-config" ,pkg-config)))
8741 (inputs
c72647fb 8742 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
8743 ("libsm" ,libsm)))
8744 (home-page "https://wiki.gnome.org/Apps/Xpad")
8745 (synopsis "Virtual sticky note")
8746 (description
8747 "Xpad is a sticky note that strives to be simple, fault tolerant,
8748and customizable. Xpad consists of independent pad windows, each is
8749basically a text box in which notes can be written.")
8750 (license license:gpl3+)))
3ad7dce1
RS
8751
8752(define-public gucharmap
c60063ea
RW
8753 (let ((unicode-files
8754 '(("Blocks.txt"
1f8b5515 8755 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 8756 ("DerivedAge.txt"
1f8b5515 8757 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 8758 ("NamesList.txt"
1f8b5515 8759 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 8760 ("Scripts.txt"
1f8b5515 8761 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 8762 ("UnicodeData.txt"
1f8b5515 8763 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 8764 ("Unihan.zip"
1f8b5515 8765 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
8766 (package
8767 (name "gucharmap")
1f8b5515 8768 (version "12.0.1")
c60063ea
RW
8769 (source
8770 (origin
8771 (method url-fetch)
8772 (uri (string-append "mirror://gnome/sources/" name "/"
8773 (version-major+minor version) "/"
8774 name "-" version ".tar.xz"))
8775 (sha256
8776 (base32
1f8b5515 8777 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
8778 (build-system glib-or-gtk-build-system)
8779 (arguments
8780 `(#:modules ((ice-9 match)
8781 (guix build glib-or-gtk-build-system)
8782 (guix build utils))
8783 #:configure-flags
8784 (list "--with-unicode-data=../unicode-data")
8785 #:phases
8786 (modify-phases %standard-phases
8787 (add-after 'unpack 'prepare-unicode-data
8788 (lambda* (#:key inputs #:allow-other-keys)
8789 (mkdir-p "../unicode-data")
8790 (with-directory-excursion "../unicode-data"
8791 (for-each (match-lambda
8792 ((file _)
8793 (install-file (assoc-ref inputs file) ".")))
8794 ',unicode-files))
8795 #t)))))
8796 (native-inputs
8797 `(("desktop-file-utils" ,desktop-file-utils)
8798 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
8799 ("gobject-introspection" ,gobject-introspection)
8800 ("intltool" ,intltool)
8801 ("itstool" ,itstool)
8802 ("pkg-config" ,pkg-config)
8803 ,@(map (match-lambda
8804 ((file hash)
8805 `(,file
8806 ,(origin
8807 (method url-fetch)
8808 (uri (string-append
1f8b5515 8809 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
8810 file))
8811 (sha256 (base32 hash))))))
8812 unicode-files)
8813 ("unzip" ,unzip)))
8814 (inputs
8815 `(("gtk+" ,gtk+)
8816 ("xmllint" ,libxml2)))
8817 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
8818 (synopsis "Unicode character picker and font browser")
8819 (description
8820 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
8821characters and categories for the installed fonts, and to examine their
8822detailed properties. It is an easy way to find the character you might
8823only know by its Unicode name or code point.")
c60063ea 8824 (license license:gpl3+))))
04ce840a
RS
8825
8826(define-public bluefish
8827 (package
8828 (name "bluefish")
290fe81d 8829 (version "2.2.11")
04ce840a
RS
8830 (source
8831 (origin
8832 (method url-fetch)
8833 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
99aa7a2d 8834 "bluefish-" version ".tar.gz"))
04ce840a 8835 (sha256
290fe81d 8836 (base32 "0a7kf78q4cj2ap4igjks9kbmmr74brsrl4y2f9wbxpl0b0v2ck2x"))))
04ce840a
RS
8837 (build-system gnu-build-system)
8838 (native-inputs
8839 `(("desktop-file-utils" ,desktop-file-utils)
8840 ("intltool" ,intltool)
8841 ("pkg-config" ,pkg-config)))
8842 (inputs
8843 `(("enchant" ,enchant)
8844 ("gtk+" ,gtk+)
290fe81d 8845 ("python" ,python-wrapper)
04ce840a
RS
8846 ("xmllint" ,libxml2)
8847 ("gucharmap" ,gucharmap)))
8848 (home-page "http://bluefish.openoffice.nl")
8849 (synopsis "Web development studio")
8850 (description
8851 "Bluefish is an editor targeted towards programmers and web developers,
8852with many options to write web sites, scripts and other code.
8853Bluefish supports many programming and markup languages.")
8854 (license license:gpl3+)))
1f6a73ee
RS
8855
8856(define-public gnome-system-monitor
8857 (package
8858 (name "gnome-system-monitor")
083cffaf 8859 (version "3.32.1")
1f6a73ee
RS
8860 (source
8861 (origin
8862 (method url-fetch)
8863 (uri (string-append "mirror://gnome/sources/" name "/"
8864 (version-major+minor version) "/"
8865 name "-" version ".tar.xz"))
8866 (sha256
8867 (base32
083cffaf 8868 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
8869 (build-system meson-build-system)
8870 (arguments
8871 '(#:glib-or-gtk? #t
8872 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
8873 (native-inputs
8874 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 8875 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
8876 ("intltool" ,intltool)
8877 ("itstool" ,itstool)
8878 ("libgtop" ,libgtop)
4985d9aa 8879 ("polkit" ,polkit)
1f6a73ee
RS
8880 ("pkg-config" ,pkg-config)))
8881 (inputs
8882 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
8883 ("gtk+" ,gtk+)
8884 ("gtkmm" ,gtkmm)
8885 ("librsvg" ,librsvg)
4985d9aa
RW
8886 ("libxml2" ,libxml2)
8887 ("libwnck" ,libwnck)))
1f6a73ee
RS
8888 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
8889 (synopsis "Process viewer and system resource monitor for GNOME")
8890 (description
8891 "GNOME System Monitor is a GNOME process viewer and system monitor with
8892an attractive, easy-to-use interface. It has features, such as a tree view
8893for process dependencies, icons for processes, the ability to hide processes,
8894graphical time histories of CPU/memory/swap usage and the ability to
8895kill/reinice processes.")
8896 (license license:gpl2+)))
3e00ac47
SB
8897
8898(define-public python-pyatspi
8899 (package
8900 (name "python-pyatspi")
4f937a32 8901 (version "2.34.0")
3e00ac47
SB
8902 (source (origin
8903 (method url-fetch)
8904 (uri (string-append
8905 "mirror://gnome/sources/pyatspi/"
8906 (version-major+minor version)
8907 "/pyatspi-" version ".tar.xz"))
8908 (sha256
8909 (base32
4f937a32 8910 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 8911 (build-system gnu-build-system)
b95af3f6
JL
8912 (arguments
8913 `(#:phases
8914 (modify-phases %standard-phases
8915 (add-before 'build 'fix-atk-load
8916 (lambda _
8917 (substitute* "pyatspi/__init__.py"
8918 (("from gi.repository import Atspi")
8919 "gi.require_version('Gtk', '3.0')
8920from gi.repository import Gtk
8921from gi.repository import Atspi"))
8922 #t)))))
3e00ac47
SB
8923 (native-inputs
8924 `(("pkg-config" ,pkg-config)))
8925 (inputs
06fe35cf
CB
8926 `(("python" ,python)))
8927 (propagated-inputs
8928 `(("python-pygobject" ,python-pygobject)))
3e00ac47
SB
8929 (synopsis "Python client bindings for D-Bus AT-SPI")
8930 (home-page "https://wiki.linuxfoundation.org/accessibility\
8931/atk/at-spi/at-spi_on_d-bus")
8932 (description
8933 "This package includes a python client library for the AT-SPI D-Bus
8934accessibility infrastructure.")
8935 (license license:lgpl2.0)
8936 (properties '((upstream-name . "pyatspi")))))
53201c0d 8937
5d31933e
CB
8938(define-public python2-pyatspi
8939 (package
8940 (inherit python-pyatspi)
8941 (name "python2-pyatspi")
8942 (inputs
06fe35cf
CB
8943 `(("python" ,python-2)))
8944 (propagated-inputs
8945 `(("python-pygobject" ,python2-pygobject)))))
5d31933e 8946
53201c0d
SB
8947(define-public orca
8948 (package
8949 (name "orca")
30e76da1 8950 (version "3.34.1")
53201c0d
SB
8951 (source (origin
8952 (method url-fetch)
8953 (uri (string-append
8954 "mirror://gnome/sources/" name "/"
8955 (version-major+minor version) "/"
8956 name "-" version ".tar.xz"))
8957 (sha256
8958 (base32
30e76da1 8959 "1q38n7hyshkiszmn361skxjynxr31lcms7a1iny6d0zlpmh1vnk4"))))
53201c0d
SB
8960 (build-system glib-or-gtk-build-system)
8961 (arguments
8962 '(#:phases
8963 (modify-phases %standard-phases
8964 (add-before 'configure 'qualify-xkbcomp
8965 (lambda* (#:key inputs #:allow-other-keys)
8966 (let ((xkbcomp (string-append
8967 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
8968 (substitute* "src/orca/orca.py"
8969 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
8970 #t))
8971 (add-after 'install 'wrap-orca
8972 (lambda* (#:key outputs #:allow-other-keys)
8973 (let* ((out (assoc-ref outputs "out"))
8974 (prog (string-append out "/bin/orca")))
8975 (wrap-program prog
8976 `("GI_TYPELIB_PATH" ":" prefix
8977 (,(getenv "GI_TYPELIB_PATH")))
8978 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
8979 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
8980 `("PYTHONPATH" ":" prefix
8981 (,(getenv "PYTHONPATH")))))
8982 #t)))))
8983 (native-inputs
8984 `(("intltool" ,intltool)
8985 ("itstool" ,itstool)
8986 ("pkg-config" ,pkg-config)
8987 ("xmllint" ,libxml2)))
8988 (inputs
8989 `(("at-spi2-atk" ,at-spi2-atk)
8990 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8991 ("gstreamer" ,gstreamer)
8992 ("gst-plugins-base" ,gst-plugins-base)
8993 ("gst-plugins-good" ,gst-plugins-good)
8994 ("gtk+" ,gtk+)
8995 ("python" ,python)
8996 ("python-pygobject" ,python-pygobject)
8997 ("python-pyatspi" ,python-pyatspi)
8998 ("python-speechd" ,speech-dispatcher)
8999 ("xkbcomp" ,xkbcomp)))
9000 (synopsis
9001 "Screen reader for individuals who are blind or visually impaired")
9002 (home-page "https://wiki.gnome.org/Projects/Orca")
9003 (description
9004 "Orca is a screen reader that provides access to the graphical desktop
9005via speech and refreshable braille. Orca works with applications and toolkits
9006that support the Assistive Technology Service Provider Interface (AT-SPI).")
9007 (license license:lgpl2.1+)))
411ba511
LC
9008
9009(define-public gspell
9010 (package
9011 (name "gspell")
7a6bbe9b 9012 (version "1.8.2")
411ba511
LC
9013 (source (origin
9014 (method url-fetch)
9015 (uri (string-append "mirror://gnome/sources/" name "/"
9016 (version-major+minor version) "/"
9017 name "-" version ".tar.xz"))
9018 (sha256
9019 (base32
7a6bbe9b 9020 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
9021 (patches (search-patches "gspell-dash-test.patch"))))
9022 (build-system glib-or-gtk-build-system)
9023 (arguments
d0f50164 9024 '(#:configure-flags (list "--enable-vala")
9025 #:phases
411ba511
LC
9026 (modify-phases %standard-phases
9027 (add-before 'check 'pre-check
9028 (lambda* (#:key inputs #:allow-other-keys)
9029 ;; Tests require a running X server.
9030 (system "Xvfb :1 &")
9031 (setenv "DISPLAY" ":1")
9032
9033 ;; For the missing /etc/machine-id.
9034 (setenv "DBUS_FATAL_WARNINGS" "0")
9035
9036 ;; Allow Enchant and its Aspell backend to find the en_US
9037 ;; dictionary.
9038 (setenv "ASPELL_DICT_DIR"
9039 (string-append (assoc-ref inputs "aspell-dict-en")
9040 "/lib/aspell"))
9041 #t)))))
9042 (inputs
eccd35be 9043 `(("gtk+" ,gtk+)
a801ae4c
TGR
9044 ("glib" ,glib)
9045 ("iso-codes" ,iso-codes)))
411ba511
LC
9046 (native-inputs
9047 `(("glib" ,glib "bin")
26ba3f07 9048 ("gobject-introspection" ,gobject-introspection)
411ba511 9049 ("pkg-config" ,pkg-config)
d0f50164 9050 ("vala" ,vala) ;for VAPI, needed by Geary
411ba511
LC
9051 ("xmllint" ,libxml2)
9052
9053 ;; For tests.
a801ae4c 9054 ("aspell-dict-en" ,aspell-dict-en)
ff337525 9055 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 9056 (propagated-inputs
9b1bb757 9057 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
9058 (home-page "https://wiki.gnome.org/Projects/gspell")
9059 (synopsis "GNOME's alternative spell checker")
9060 (description
9061 "gspell provides a flexible API to add spell-checking to a GTK+
9062application. It provides a GObject API, spell-checking to text entries and
9063text views, and buttons to choose the language.")
9064 (license license:gpl2+)))
d1d739fa
CM
9065
9066(define-public gnome-planner
9067 (package
9068 (name "gnome-planner")
9069 (version "0.14.6")
9070 (source (origin
9071 (method url-fetch)
9072 (uri (string-append "mirror://gnome/sources/planner/"
9073 (version-major+minor version) "/planner-"
9074 version ".tar.xz"))
9075 (sha256
9076 (base32
9077 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
9078 (build-system glib-or-gtk-build-system)
9079 (arguments
9080 ;; Disable the Python bindings because the Planner program functions
9081 ;; without them, and (as of 2017-06-13) we have not packaged all of
9082 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
9083 `(#:configure-flags
9084 (list "--disable-python"
9085 ,@(if (string=? "aarch64-linux" (%current-system))
9086 '("--build=aarch64-unknown-linux-gnu")
9087 '()))))
d1d739fa
CM
9088 (inputs
9089 `(("libgnomecanvas" ,libgnomecanvas)
9090 ("libgnomeui" ,libgnomeui)
9091 ("libglade" ,libglade)
9092 ("gnome-vfs" ,gnome-vfs)
9093 ("gconf" ,gconf)
9094 ("libxml2" ,libxml2)
9095 ("libxslt" ,libxslt)
9096 ("gtk+" ,gtk+)
9097 ("glib" ,glib)))
9098 (native-inputs
9099 `(("intltool" ,intltool)
9100 ("scrollkeeper" ,scrollkeeper)
9101 ("pkg-config" ,pkg-config)))
9102 (home-page "https://wiki.gnome.org/Apps/Planner")
9103 (synopsis "Project management software for the GNOME desktop")
9104 (description
9105 "GNOME Planner is a project management tool based on the Work Breakdown
9106Structure (WBS). Its goal is to enable you to easily plan projects. Based on
9107the resources, tasks, and constraints that you define, Planner generates
9108various views into a project. For example, Planner can show a Gantt chart of
9109the project. It can show a detailed summary of tasks including their
9110duration, cost, and current progress. It can also show a report of resource
9111utilization that highlights under-utilized and over-utilized resources. These
9112views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 9113 (license license:gpl2+)))
64fce637
RS
9114
9115(define-public lollypop
9116 (package
9117 (name "lollypop")
24b5d8f7 9118 (version "1.2.32")
64fce637
RS
9119 (source
9120 (origin
9121 (method url-fetch)
24b5d8f7 9122 (uri (string-append "https://adishatz.org/lollypop/"
3275d43d 9123 "lollypop-" version ".tar.xz"))
64fce637 9124 (sha256
24b5d8f7 9125 (base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a"))))
aa498fc0 9126 (build-system meson-build-system)
64fce637 9127 (arguments
7a9543d7
TGR
9128 `(#:imported-modules
9129 (,@%meson-build-system-modules
9130 (guix build python-build-system))
9131 #:modules
9132 ((guix build meson-build-system)
9133 ((guix build python-build-system) #:prefix python:)
9134 (guix build utils))
aa498fc0 9135 #:glib-or-gtk? #t
7a9543d7 9136 #:tests? #f ; no test suite
5fc9b6c1
EF
9137 #:phases
9138 (modify-phases %standard-phases
5fc9b6c1
EF
9139 (add-after 'install 'wrap-program
9140 (lambda* (#:key outputs #:allow-other-keys)
9141 (let ((out (assoc-ref outputs "out"))
9142 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
9143 (wrap-program (string-append out "/bin/lollypop")
9144 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
9145 #t))
8ac8b3b3 9146 (add-after 'install 'wrap-python
7a9543d7 9147 (assoc-ref python:%standard-phases 'wrap)))))
64fce637
RS
9148 (native-inputs
9149 `(("intltool" ,intltool)
9150 ("itstool" ,itstool)
aa498fc0
TD
9151 ("glib:bin" ,glib "bin") ; For glib-compile-resources
9152 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
9153 ("pkg-config" ,pkg-config)))
9154 (inputs
9155 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 9156 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 9157 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
9158 ("libnotify" ,libnotify)
9159 ("libsecret" ,libsecret)
9160 ("libsoup" ,libsoup)
9161 ("python" ,python)
9162 ("python-beautifulsoup4" ,python-beautifulsoup4)
9163 ("python-gst" ,python-gst)
d029afdd 9164 ("python-pil" ,python-pillow)
64fce637 9165 ("python-pycairo" ,python-pycairo)
cc9c83c5 9166 ("python-pygobject" ,python-pygobject)
64fce637
RS
9167 ("python-pylast" ,python-pylast)
9168 ("totem-pl-parser" ,totem-pl-parser)
9169 ("webkitgtk" ,webkitgtk)))
9170 (propagated-inputs
9171 `(;; gst-plugins-base is required to start Lollypop,
9172 ;; the others are required to play streaming.
64fce637
RS
9173 ("gst-plugins-good" ,gst-plugins-good)
9174 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 9175 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
9176 (synopsis "GNOME music playing application")
9177 (description
9178 "Lollypop is a music player designed to play well with GNOME desktop.
9179Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
9180from artists and tracks from the web. It also fetches cover artworks
9181automatically and it can stream songs from online music services and charts.")
9182 (license license:gpl3+)))
d831d49d
AW
9183
9184(define-public gnome-video-effects
9185 (package
9186 (name "gnome-video-effects")
9187 (version "0.4.3")
9188 (source (origin
9189 (method url-fetch)
9190 (uri (string-append "mirror://gnome/sources/" name "/"
9191 (version-major+minor version) "/" name "-"
9192 version ".tar.xz"))
9193 (sha256
9194 (base32
9195 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
9196 (build-system glib-or-gtk-build-system)
9197 (arguments
9198 `(#:out-of-source? #f))
9199 (native-inputs
9200 `(("glib:bin" ,glib "bin")
9201 ("intltool" ,intltool)
9202 ("gettext" ,gettext-minimal)
9203 ("pkg-config" ,pkg-config)))
9204 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
9205 (synopsis "Video effects for Cheese and other GNOME applications")
9206 (description
9207 "A collection of GStreamer video filters and effects to be used in
9208photo-booth-like software, such as Cheese.")
9209 (license license:gpl2+)))
3511c780
AW
9210
9211(define-public cheese
9212 (package
9213 (name "cheese")
3a7e066f 9214 (version "3.34.0")
3511c780
AW
9215 (source (origin
9216 (method url-fetch)
9217 (uri (string-append "mirror://gnome/sources/" name "/"
9218 (version-major+minor version) "/" name "-"
9219 version ".tar.xz"))
9220 (sha256
9221 (base32
3a7e066f 9222 "0wvyc9wb0avrprvm529m42y5fkv3lirdphqydc9jw0c8mh05d1ni"))))
3511c780 9223 (arguments
3a7e066f
KK
9224 `(#:glib-or-gtk? #t
9225 ;; Tests require GDK.
9226 #:tests? #f
3511c780
AW
9227 #:phases
9228 (modify-phases %standard-phases
3a7e066f 9229 (add-after 'unpack 'skip-gtk-update-icon-cache
3511c780
AW
9230 (lambda _
9231 ;; Don't create 'icon-theme.cache'
3a7e066f 9232 (substitute* "meson_post_install.py"
3511c780
AW
9233 (("gtk-update-icon-cache") (which "true")))
9234 #t))
9235 (add-after 'install 'wrap-cheese
9236 (lambda* (#:key inputs outputs #:allow-other-keys)
9237 (let ((out (assoc-ref outputs "out"))
9238 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9239 (wrap-program (string-append out "/bin/cheese")
9240 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9241 #t)))))
3a7e066f 9242 (build-system meson-build-system)
3511c780 9243 (native-inputs
3a7e066f
KK
9244 `(("docbook-xsl" ,docbook-xsl)
9245 ("glib:bin" ,glib "bin")
9246 ("gtk-doc" ,gtk-doc)
3511c780
AW
9247 ("intltool" ,intltool)
9248 ("itstool" ,itstool)
9249 ("libxml2" ,libxml2)
3a7e066f 9250 ("libxslt" ,libxslt)
3511c780
AW
9251 ("pkg-config" ,pkg-config)
9252 ("vala" ,vala)))
9253 (propagated-inputs
6a19f03e
RW
9254 `(("gnome-video-effects" ,gnome-video-effects)
9255 ("clutter" ,clutter)
3511c780
AW
9256 ("clutter-gst" ,clutter-gst)
9257 ("clutter-gtk" ,clutter-gtk)
6a19f03e 9258 ("libcanberra" ,libcanberra)
3511c780
AW
9259 ("gdk-pixbuf" ,gdk-pixbuf)
9260 ("glib" ,glib)
6a19f03e
RW
9261 ("gstreamer" ,gstreamer)))
9262 (inputs
9263 `(("gnome-desktop" ,gnome-desktop)
3511c780 9264 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
9265 ("gst-plugins-base" ,gst-plugins-base)
9266 ("gst-plugins-bad" ,gst-plugins-bad)
9267 ("gtk+" ,gtk+)
3511c780
AW
9268 ("libx11" ,libx11)
9269 ("libxtst" ,libxtst)))
9270 (home-page "https://wiki.gnome.org/Apps/Cheese")
9271 (synopsis "Webcam photo booth software for GNOME")
9272 (description
9273 "Cheese uses your webcam to take photos and videos. Cheese can also
9274apply fancy special effects and lets you share the fun with others.")
9275 (license license:gpl2+)))
3c5dbd2b 9276
9277(define-public sound-juicer
9278 (package
9279 (name "sound-juicer")
9280 (version "3.24.0")
9281 (source
9282 (origin
9283 (method url-fetch)
9284 (uri (string-append "mirror://gnome/sources/" name "/"
9285 (version-major+minor version) "/"
9286 name "-" version ".tar.xz"))
9287 (sha256
9288 (base32
9289 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
9290 (build-system glib-or-gtk-build-system)
9291 (native-inputs
9292 `(("desktop-file-utils" ,desktop-file-utils)
9293 ("intltool" ,intltool)
9294 ("itstool" ,itstool)
9295 ("pkg-config" ,pkg-config)
9296 ("xmllint" ,libxml2)))
9297 (inputs
9298 `(("gtk+" ,gtk+)
9299 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9300 ("gstreamer" ,gstreamer)
9301 ("gst-plugins-base" ,gst-plugins-base)
9302 ("gst-plugins-good" ,gst-plugins-good)
9303 ("iso-codes" ,iso-codes)
9304 ("libbrasero-media3" ,brasero)
9305 ("libcanberra" ,libcanberra)
9306 ("libdiscid" ,libdiscid)
9307 ("libmusicbrainz" ,libmusicbrainz)
9308 ("neon" ,neon)))
9309 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
9310 (synopsis "Audio music cd ripper")
9311 (description "Sound Juicer extracts audio from compact discs and convert it
9312into audio files that a personal computer or digital audio player can play.
9313It supports ripping to any audio codec supported by a GStreamer plugin, such as
9314mp3, Ogg Vorbis and FLAC")
9315 (license license:gpl2+)))
4e3fdeb7 9316
0d3f1708
CB
9317(define-public soundconverter
9318 (package
9319 (name "soundconverter")
7f4b45a3 9320 (version "3.0.2")
0d3f1708
CB
9321 (source
9322 (origin
9323 (method url-fetch)
9324 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
9325 version "/+download/"
9326 "soundconverter-" version ".tar.xz"))
9327
9328 (sha256
7f4b45a3 9329 (base32 "1jv8m82hi23ilrgdznlc1jhp2jm8bw1yrw0chh3qw2l0sixvkl11"))))
0d3f1708
CB
9330 (build-system glib-or-gtk-build-system)
9331 (arguments
9332 `(#:imported-modules ((guix build python-build-system)
9333 (guix build glib-or-gtk-build-system)
9334 ,@%gnu-build-system-modules)
9335
9336 #:modules ((guix build glib-or-gtk-build-system)
9337 (guix build utils)
9338 ((guix build gnu-build-system) #:prefix gnu:)
9339 ((guix build python-build-system) #:prefix python:))
9340
9341 #:phases
9342 (modify-phases %standard-phases
0d3f1708
CB
9343 (add-after 'install 'wrap-soundconverter-for-python
9344 (assoc-ref python:%standard-phases 'wrap))
9345 (add-after 'install 'wrap-soundconverter
9346 (lambda* (#:key inputs outputs #:allow-other-keys)
9347 (let ((out (assoc-ref outputs "out"))
9348 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
9349 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9350 (wrap-program (string-append out "/bin/soundconverter")
9351 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
9352 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9353 #t)))))
9354 (native-inputs
9355 `(("intltool" ,intltool)
9356 ("pkg-config" ,pkg-config)
9357 ("glib:bin" ,glib "bin")))
9358 (inputs
9359 `(("gtk+" ,gtk+)
9360 ("python" ,python)
9361 ("python-pygobject" ,python-pygobject)
9362 ("gstreamer" ,gstreamer)
9363 ("gst-plugins-base" ,gst-plugins-base)))
e42399e8 9364 (home-page "https://soundconverter.org/")
0d3f1708
CB
9365 (synopsis "Convert between audio formats with a graphical interface")
9366 (description
9367 "SoundConverter supports converting between many audio formats including
9368Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
9369configurable file renaming. ")
9370 (license license:gpl3)))
9371
4e3fdeb7 9372(define-public workrave
89f2d736
TGR
9373 (package
9374 (name "workrave")
52fc6508 9375 (version "1.10.42")
89f2d736
TGR
9376 (source
9377 (origin
9378 (method git-fetch)
9379 (uri (git-reference
9380 (url "https://github.com/rcaelers/workrave.git")
c2e50474
TGR
9381 (commit (string-append "v" (string-map
9382 (match-lambda (#\. #\_) (chr chr))
9383 version)))))
89f2d736
TGR
9384 (file-name (git-file-name name version))
9385 (sha256
52fc6508 9386 (base32 "03i9kk8r1wgrfkkbwikx8wxaw4r4kn62vismr2zdq5g34fkkjh95"))))
89f2d736 9387 (build-system glib-or-gtk-build-system)
1b9e1648
TGR
9388 (arguments
9389 ;; The only tests are maintainer tests (in po/), which fail.
9390 `(#:tests? #f))
d1c96847
MC
9391 (inputs `(("glib" ,glib)
9392 ("gtk+" ,gtk+)
9393 ("gdk-pixbuf" ,gdk-pixbuf)
9394 ("gtkmm" ,gtkmm)
9395 ("glibmm" ,glibmm)
9396 ("libx11" ,libx11)
9397 ("libxtst" ,libxtst)
9398 ("dconf" ,dconf)
9399 ("libice" ,libice)
9400 ("libsm" ,libsm)
9401 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 9402 (native-inputs `(("boost" ,boost)
89f2d736 9403 ("pkg-config" ,pkg-config)
f2d97d57 9404 ("gettext" ,gettext-minimal)
89f2d736
TGR
9405 ("autoconf" ,autoconf)
9406 ("autoconf-archive" , autoconf-archive)
9407 ("automake" ,automake)
9408 ("libtool" ,libtool)
9409 ("intltool" ,intltool)
89f2d736 9410 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
9411 ("python3" ,python-3)
9412 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
9413 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
9414 (description
9415 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
9416repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
9417micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
9418 (home-page "http://www.workrave.org")
9419 (license license:gpl3+)))
312afa7d
LC
9420
9421(define-public ghex
9422 (package
9423 (name "ghex")
3748992a 9424 (version "3.18.4")
312afa7d
LC
9425 (source (origin
9426 (method url-fetch)
2fbab848 9427 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 9428 (version-major+minor version) "/"
2fbab848 9429 "ghex-" version ".tar.xz"))
312afa7d
LC
9430 (sha256
9431 (base32
3748992a
KK
9432 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
9433 (build-system meson-build-system)
9434 (arguments
9435 '(#:glib-or-gtk? #t
9436 #:phases
9437 (modify-phases %standard-phases
9438 (add-after 'unpack 'skip-gtk-update-icon-cache
9439 ;; Don't create 'icon-theme.cache'.
9440 (lambda _
9441 (substitute* "meson_post_install.py"
9442 (("gtk-update-icon-cache") (which "true")))
9443 #t)))))
312afa7d
LC
9444 (native-inputs
9445 `(("pkg-config" ,pkg-config)
3748992a 9446 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
9447 ("gnome-common" ,gnome-common)
9448 ("which" ,which)
9449 ("intltool" ,intltool)
9450 ("yelp-tools" ,yelp-tools)
2fbab848 9451 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
9452 (inputs
9453 `(("atk" ,atk)
9454 ("gtk" ,gtk+)))
9455 (synopsis "GNOME hexadecimal editor")
9456 (description "The GHex program can view and edit files in two ways:
9457hexadecimal or ASCII. It is useful for editing binary files in general.")
9458 (home-page "https://wiki.gnome.org/Apps/Ghex")
9459 (license license:gpl2)))
4b2ed6c2
RW
9460
9461(define-public libdazzle
9462 (package
9463 (name "libdazzle")
c94db354 9464 (version "3.34.1")
4b2ed6c2
RW
9465 (source (origin
9466 (method url-fetch)
687b4909 9467 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 9468 (version-major+minor version) "/"
687b4909 9469 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
9470 (sha256
9471 (base32
c94db354 9472 "01cmcrd75b7ns7j2b4p6h7pv68vjhkcl9zbvzzx7pf4vknxir61x"))))
4b2ed6c2
RW
9473 (build-system meson-build-system)
9474 (arguments
9475 `(#:phases
9476 (modify-phases %standard-phases
4b2ed6c2
RW
9477 (add-before 'check 'pre-check
9478 (lambda _
9479 ;; Tests require a running X server.
9480 (system "Xvfb :1 &")
9481 (setenv "DISPLAY" ":1")
9482 #t)))))
9483 (native-inputs
687b4909 9484 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 9485 ("pkg-config" ,pkg-config)
687b4909 9486 ;; For tests.
ff337525 9487 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
9488 (inputs
9489 `(("glib" ,glib)
9490 ("gobject-introspection" ,gobject-introspection)
9491 ("gtk+" ,gtk+)
9492 ("vala" ,vala)))
9493 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
9494 (synopsis "Companion library to GObject and Gtk+")
9495 (description "The libdazzle library is a companion library to GObject and
9496Gtk+. It provides various features that the authors wish were in the
9497underlying library but cannot for various reasons. In most cases, they are
9498wildly out of scope for those libraries. In other cases, they are not quite
9499generic enough to work for everyone.")
9500 (license license:gpl3+)))
7d3bb433
RW
9501
9502(define-public evolution
9503 (package
9504 (name "evolution")
0662fe86 9505 (version "3.34.2")
7d3bb433
RW
9506 (source (origin
9507 (method url-fetch)
9508 (uri (string-append "mirror://gnome/sources/evolution/"
9509 (version-major+minor version) "/"
9510 "evolution-" version ".tar.xz"))
9511 (sha256
9512 (base32
0662fe86 9513 "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c"))))
7d3bb433
RW
9514 (build-system cmake-build-system)
9515 (arguments
5229bea1
KK
9516 `(#:imported-modules (,@%cmake-build-system-modules
9517 (guix build glib-or-gtk-build-system))
9518 #:modules ((guix build cmake-build-system)
9519 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9520 (guix build utils))
9521 #:configure-flags
7d3bb433 9522 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 9523 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 9524 ; in four years and cannot be built.
5229bea1
KK
9525 #:phases
9526 (modify-phases %standard-phases
9527 ;; The build system attempts to install user interface modules to the
9528 ;; output directory of the "evolution-data-server" package. This
9529 ;; change redirects that change.
9530 (add-after 'unpack 'patch-ui-module-dir
9531 (lambda* (#:key outputs #:allow-other-keys)
9532 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
9533 (("\\$\\{edsuimoduledir\\}")
9534 (string-append (assoc-ref outputs "out")
9535 "/lib/evolution-data-server/ui-modules")))
9536 #t))
9537 (add-after 'install 'glib-or-gtk-compile-schemas
9538 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
9539 (add-after 'install 'glib-or-gtk-wrap
9540 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 9541 (native-inputs
ad6e168b 9542 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
9543 ("pkg-config" ,pkg-config)
9544 ("intltool" ,intltool)
9545 ("itstool" ,itstool)))
9546 (inputs
9547 `(("enchant" ,enchant)
9548 ("evolution-data-server" ,evolution-data-server) ; must be the same version
9549 ("gcr" ,gcr)
ad6e168b 9550 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
9551 ("gnome-autoar" ,gnome-autoar)
9552 ("gnome-desktop" ,gnome-desktop)
0662fe86 9553 ("gspell" ,gspell)
7d3bb433
RW
9554 ("highlight" ,highlight)
9555 ("libcanberra" ,libcanberra)
9556 ("libgweather" ,libgweather)
9557 ("libnotify" ,libnotify)
9558 ("libsoup" ,libsoup)
9559 ("nss" ,nss)
9560 ("openldap" ,openldap)
9561 ("webkitgtk" ,webkitgtk)
9562 ("ytnef" ,ytnef)))
9563 (home-page "https://gitlab.gnome.org/GNOME/evolution")
9564 (synopsis "Manage your email, contacts and schedule")
9565 (description "Evolution is a personal information management application
9566that provides integrated mail, calendaring and address book
9567functionality.")
9568 ;; See COPYING for details.
23dbe621 9569 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 9570 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 9571 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
9572
9573(define-public gthumb
9574 (package
9575 (name "gthumb")
8280676b 9576 (version "3.8.2")
169d63f5
AT
9577 (source (origin
9578 (method url-fetch)
9579 (uri (string-append "mirror://gnome/sources/gthumb/"
9580 (version-major+minor version) "/"
9581 "gthumb-" version ".tar.xz"))
9582 (sha256
9583 (base32
8280676b 9584 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
9585 (build-system meson-build-system)
9586 (arguments
9587 `(#:glib-or-gtk? #t
9588 #:configure-flags
9589 ;; Ensure the RUNPATH contains all installed library locations.
9590 (list (string-append "-Dc_link_args=-Wl,-rpath="
9591 (assoc-ref %outputs "out")
9592 "/lib/gthumb/extensions")
9593 (string-append "-Dcpp_link_args=-Wl,-rpath="
9594 (assoc-ref %outputs "out")
9595 "/lib/gthumb/extensions"))))
9596 (native-inputs
9597 `(("pkg-config" ,pkg-config)
9598 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9599 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9600 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9601 ("intltool" ,intltool)
9602 ("itstool" ,itstool)))
9603 (inputs
9604 `(("exiv2" ,exiv2)
9605 ("gtk" ,gtk+)
9606 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9607 ("gstreamer" ,gstreamer)
9608 ("clutter" ,clutter)
9609 ("clutter-gst" ,clutter-gst)
9610 ("clutter-gtk" ,clutter-gtk)
4bd428a7 9611 ("libjpeg" ,libjpeg-turbo)
169d63f5
AT
9612 ("libtiff" ,libtiff)
9613 ("libraw" ,libraw)))
9614 (home-page "https://wiki.gnome.org/Apps/Gthumb")
9615 (synopsis "GNOME image viewer and browser")
9616 (description "GThumb is an image viewer, browser, organizer, editor and
9617advanced image management tool")
9618 (license license:gpl2+)))
08be02be
AT
9619
9620(define-public terminator
9621 (package
9622 (name "terminator")
9623 (version "1.91")
9624 (source (origin
9625 (method url-fetch)
9626 (uri (string-append "https://launchpad.net/" name "/"
9627 "gtk3/" version "/" "+download/"
9628 name "-" version ".tar.gz"))
9629 (sha256
9630 (base32
9631 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
9632 (build-system python-build-system)
9633 (native-inputs
9634 `(("intltool" ,intltool)
9635 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9636 ("gettext" ,gettext-minimal)
9637 ("pkg-config" ,pkg-config)))
9638 (inputs
9639 `(("cairo" ,cairo)
9640 ("gobject-introspection" ,gobject-introspection)
96681d4b 9641 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
9642 ("python2-pycairo" ,python2-pycairo)
9643 ("python2-pygobject" ,python2-pygobject)
9644 ("python2-psutil" ,python2-psutil)
9645 ("vte" ,vte)))
9646 (arguments
96681d4b
TGR
9647 `(#:python ,python-2 ; Python 3 isn't supported
9648 #:imported-modules ((guix build glib-or-gtk-build-system)
9649 ,@%python-build-system-modules)
9650 #:modules ((guix build python-build-system)
9651 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9652 (guix build utils))
08be02be
AT
9653 #:phases
9654 (modify-phases %standard-phases
9655 (add-after
9656 'install 'wrap-program
9657 (lambda* (#:key outputs #:allow-other-keys)
9658 (let ((prog (string-append (assoc-ref outputs "out")
9659 "/bin/terminator")))
9660 (wrap-program prog
9661 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
9662 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
9663 #t)))
9664 (add-after 'wrap-program 'glib-or-gtk-wrap
9665 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
9666 (home-page "https://gnometerminator.blogspot.com/")
9667 (synopsis "Store and run multiple GNOME terminals in one window")
9668 (description
9669 "Terminator allows you to run multiple GNOME terminals in a grid and
9670+tabs, and it supports drag and drop re-ordering of terminals.")
9671 (license license:gpl2)))
213315d4
JF
9672
9673(define-public libhandy
9674 (package
9675 (name "libhandy")
f6501b9f 9676 (version "0.0.12")
213315d4
JF
9677 (source
9678 (origin
9679 (method git-fetch)
9680 (uri (git-reference
9681 (url "https://source.puri.sm/Librem5/libhandy")
9682 (commit (string-append "v" version))))
9683 (file-name (git-file-name name version))
9684 (sha256
f6501b9f 9685 (base32 "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw"))))
213315d4
JF
9686 (build-system meson-build-system)
9687 (arguments
9688 `(#:configure-flags
9689 '("-Dglade_catalog=disabled"
9690 "-Dgtk_doc=true")
9691 #:phases
9692 (modify-phases %standard-phases
213315d4
JF
9693 (add-before 'check 'pre-check
9694 (lambda _
9695 ;; Tests require a running X server.
9696 (system "Xvfb :1 &")
9697 (setenv "DISPLAY" ":1")
9698 #t)))))
9699 (inputs
9700 `(("gtk+" ,gtk+)))
9701 (native-inputs
9702 `(("glib:bin" ,glib "bin")
9703 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
9704 ("vala" ,vala)
9705 ("gtk-doc" ,gtk-doc)
9706 ("pkg-config" ,pkg-config)
9707 ("gettext" ,gettext-minimal)
d41ee146
TGR
9708
9709 ;; Test suite dependencies.
ff337525 9710 ("xorg-server" ,xorg-server-for-tests)
d41ee146 9711 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
9712 (home-page "https://source.puri.sm/Librem5/libhandy")
9713 (synopsis "Library full of GTK+ widgets for mobile phones")
9714 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
9715interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
9716for usage on small and big screens.")
213315d4 9717 (license license:lgpl2.1+)))
a830d14d
GL
9718
9719(define-public libgit2-glib
9720 (package
9721 (name "libgit2-glib")
6448c2e1 9722 (version "0.99.0.1")
a830d14d
GL
9723 (source (origin
9724 (method url-fetch)
9725 (uri (string-append "mirror://gnome/sources/" name "/"
9726 (version-major+minor version) "/"
9727 name "-" version ".tar.xz"))
9728 (sha256
9729 (base32
6448c2e1 9730 "1pmrcnsa7qdda73c3dxf47733mwprmj5ljpw3acxbj6r8k27anp0"))))
a830d14d
GL
9731 (build-system meson-build-system)
9732 (native-inputs
9733 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
9734 ("gobject-introspection" ,gobject-introspection)
a830d14d
GL
9735 ("pkg-config" ,pkg-config)
9736 ("python-pygobject" ,python-pygobject)
9737 ("python-wrapper" ,python-wrapper)
9738 ("vala" ,vala)))
9739 (inputs
9740 `(("glib" ,glib)
8c6aae46
MB
9741 ("libssh2" ,libssh2)))
9742 (propagated-inputs
9743 `(;; In Requires of libgit2-glib.pc.
a830d14d
GL
9744 ("libgit2" ,libgit2)))
9745 (synopsis "GLib wrapper around the libgit2 Git access library")
9746 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
9747access library. It only implements the core plumbing functions, not really the
9748higher level porcelain stuff.")
9749 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
9750 (license license:gpl2+)))
93beace0 9751
08db81c9
LP
9752(define-public gitg
9753 (package
9754 (name "gitg")
9755 (version "3.32.1")
9756 (source (origin
9757 (method url-fetch)
9758 (uri (string-append "mirror://gnome/sources/" name "/"
9759 (version-major+minor version) "/"
9760 name "-" version ".tar.xz"))
9761 (sha256
9762 (base32
9763 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
9764 (build-system meson-build-system)
9765 (arguments
9766 `(#:glib-or-gtk? #t
9767 #:phases
9768 (modify-phases %standard-phases
9769 (add-after 'unpack 'disable-post-install-partially
9770 (lambda _
9771 (substitute* "meson_post_install.py"
9772 (("'python'") ; there are no python sources to compile
9773 (string-append "'" (which "true") "'"))
9774 (("gtk-update-icon-cache") (which "true")))
9775 #t))
9776 (add-after 'unpack 'fix-test-sources
9777 (lambda _
9778 (substitute* "tests/libgitg/test-commit.vala"
9779 (("/bin/bash") (which "bash")))
9780 #t))
9781 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9782 (lambda* (#:key outputs #:allow-other-keys)
9783 (let ((prog (string-append (assoc-ref outputs "out")
9784 "/bin/gitg")))
9785 (wrap-program prog
9786 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9787 #t))))))
9788 (inputs
9789 `(("glib" ,glib)
9790 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9791 ("gtk+" ,gtk+)
9792 ("gtkspell3" ,gtkspell3)
9793 ("gtksourceview" ,gtksourceview-3)
9794 ("json-glib" ,json-glib)
9795 ("libdazzle" ,libdazzle)
9796 ("libgee" ,libgee)
08db81c9
LP
9797 ("libgit2-glib" ,libgit2-glib)
9798 ("libpeas" ,libpeas)
9799 ("libsecret" ,libsecret)
9800 ("libsoup" ,libsoup)
9801 ("libxml2" ,libxml2)))
9802 (native-inputs
9803 `(("glib:bin" ,glib "bin")
9804 ("gtk+:bin" ,gtk+ "bin")
9805 ("gobject-introspection" ,gobject-introspection)
9806 ("intltool" ,intltool)
9807 ("pkg-config" ,pkg-config)
9808 ("vala" ,vala)))
9809 (synopsis "Graphical user interface for git")
9810 (description
9811 "gitg is a graphical user interface for git. It aims at being a small,
9812fast and convenient tool to visualize the history of git repositories.
9813Besides visualization, gitg also provides several utilities to manage your
9814repository and commit your work.")
9815 (home-page "https://wiki.gnome.org/Apps/Gitg")
9816 (license license:gpl2+)))
9817
1e600ed0
RW
9818(define-public gamin
9819 (package
9820 (name "gamin")
9821 (version "0.1.10")
9822 (source (origin
9823 (method url-fetch)
9824 (uri (string-append "mirror://gnome/sources/" name "/"
9825 (version-major+minor version) "/"
9826 name "-" version ".tar.bz2"))
9827 (sha256
9828 (base32
9829 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
9830 (build-system gnu-build-system)
9831 (arguments
9832 `(#:phases
9833 (modify-phases %standard-phases
9834 (add-after 'unpack 'remove-deprecated-macro
9835 (lambda _
9836 (substitute* '("server/gam_node.c"
9837 "server/gam_subscription.h"
9838 "server/gam_node.h"
9839 "server/gam_subscription.c")
9840 (("G_CONST_RETURN") "const"))
9841 #t)))))
9842 (inputs
9843 `(("glib" ,glib)))
9844 (native-inputs
9845 `(("intltool" ,intltool)
9846 ("pkg-config" ,pkg-config)))
9847 (home-page "https://people.gnome.org/~veillard/gamin/")
9848 (synopsis "File alteration monitor")
9849 (description
9850 "Gamin is a file and directory monitoring system defined to be a subset
9851of the FAM (File Alteration Monitor) system. This is a service provided by a
bddd877f 9852library which detects when a file or a directory has been modified.")
1e600ed0
RW
9853 (license license:gpl2+)))
9854
93beace0
DW
9855(define-public gnome-mahjongg
9856 (package
9857 (name "gnome-mahjongg")
9858 (version "3.35.1")
9859 (source (origin
9860 (method git-fetch)
9861 (uri (git-reference
9862 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
9863 (commit version)))
9864 (file-name (git-file-name name version))
9865 (sha256
9866 (base32
9867 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
9868 (build-system meson-build-system)
9869 (arguments
9870 `(#:glib-or-gtk? #t))
9871 (native-inputs
9872 `(("appstream-glib" ,appstream-glib)
9873 ("gettext" ,gettext-minimal)
9874 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
9875 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
9876 ("itstool" ,itstool)
9877 ("pkg-config" ,pkg-config)
9878 ("vala" ,vala)))
9879 (propagated-inputs
9880 `(("dconf" ,dconf)))
9881 (inputs
9882 `(("glib" ,glib)
9883 ("gtk+" ,gtk+)
9884 ("librsvg" ,librsvg)))
9885 (synopsis "Mahjongg tile-matching game")
9886 (description "GNOME Mahjongg is a game based on the classic Chinese
9887tile-matching game Mahjong. It features multiple board layouts, tile themes,
9888and a high score table.")
9889 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
9890 (license license:gpl2+)))
f825476c 9891
76ea7632
RG
9892(define-public gnome-themes-extra
9893 (package
9894 (name "gnome-themes-extra")
9895 (version "3.28")
9896 (source
9897 (origin
9898 (method url-fetch)
9899 (uri (string-append "mirror://gnome/sources/" name "/"
9900 (version-major+minor version) "/" name "-"
9901 version ".tar.xz"))
9902 (sha256
9903 (base32
9904 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
9905 (build-system gnu-build-system)
885424bf
RG
9906 (arguments
9907 '(#:configure-flags
9908 ;; Don't create 'icon-theme.cache'.
9909 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
9910 (true (string-append coreutils "/bin/true")))
9911 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
9912 (native-inputs
9913 `(("glib:bin" ,glib "bin")
9914 ("intltool" ,intltool)
9915 ("pkg-config" ,pkg-config)))
9916 (inputs
9917 `(("glib" ,glib)
9918 ("gtk+" ,gtk+)
9919 ("gtk+-2" ,gtk+-2)
9920 ("librsvg" ,librsvg)
9921 ("libxml2" ,libxml2)))
9922 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
9923 (synopsis "GNOME Extra Themes")
9924 (description "This package provides themes and related elements that don't
9925really fit in other upstream packages. It offers legacy support for GTK+ 2
9926versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
9927index files needed for Adwaita to be used outside of GNOME.")
9928 (license license:lgpl2.1+)))
9929
f825476c
LP
9930(define-public polari
9931 (package
9932 (name "polari")
9933 (version "3.32.2")
9934 (source (origin
9935 (method url-fetch)
9936 (uri (string-append "mirror://gnome/sources/polari/"
9937 (version-major+minor version)
9938 "/polari-" version ".tar.xz"))
9939 (sha256
9940 (base32
9941 "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"))))
9942 (build-system meson-build-system)
9943 (arguments
9944 `(#:glib-or-gtk? #t
9945 #:phases
9946 (modify-phases %standard-phases
9947 (add-after 'unpack 'skip-gtk-update-icon-cache
9948 (lambda _
9949 (substitute* "meson/meson-postinstall.sh"
9950 (("gtk-update-icon-cache") (which "true")))
9951 #t))
9952 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9953 (lambda* (#:key outputs #:allow-other-keys)
9954 (let ((prog (string-append (assoc-ref outputs "out")
9955 "/bin/polari")))
9956 (wrap-program prog
9957 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9958 #t))))))
9959 (inputs
9960 `(("glib" ,glib)
9961 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9962 ("gspell" ,gspell)
9963 ("gtk+" ,gtk+)
9964 ("gjs" ,gjs)
9965 ("libsecret" ,libsecret)
9966 ("libsoup" ,libsoup)
9967 ("telepathy-glib" ,telepathy-glib)
9968 ("telepathy-logger" ,telepathy-logger)))
9969 (native-inputs
9970 `(("glib:bin" ,glib "bin")
9971 ("gobject-introspection" ,gobject-introspection)
9972 ("intltool" ,intltool)
9973 ("pkg-config" ,pkg-config)
9974 ("yelp-tools" ,yelp-tools)))
9975 (propagated-inputs
9976 `(("telepathy-idle" ,telepathy-idle)
9977 ("telepathy-mission-control" ,telepathy-mission-control)))
9978 (synopsis "Simple IRC Client")
9979 (description
9980 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
9981integrate seamlessly with the GNOME desktop.")
9982 (home-page "https://wiki.gnome.org/Apps/Polari")
9983 (license license:gpl2+)))
59d4c8c2
PN
9984
9985(define-public gnome-boxes
9986 (package
9987 (name "gnome-boxes")
bdfd5d6f 9988 (version "3.36.4")
59d4c8c2
PN
9989 (source
9990 (origin
9991 (method url-fetch)
9992 (uri (string-append "mirror://gnome/sources/gnome-boxes/"
9993 (version-major+minor version) "/"
9994 "gnome-boxes-" version ".tar.xz"))
9995 (sha256
bdfd5d6f 9996 (base32 "16l0mq2ydmywcdya1795mcy8syg4zkmz9ws3pzjcqv5y4m7cjj03"))))
59d4c8c2
PN
9997 (build-system meson-build-system)
9998 (arguments
9999 '(#:glib-or-gtk? #t
10000 #:configure-flags (list "-Drdp=false"
10001 (string-append "-Dc_link_args=-Wl,-rpath="
10002 (assoc-ref %outputs "out")
10003 "/lib/gnome-boxes"))))
10004 (native-inputs
10005 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
10006 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
10007 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
10008 ("itstool" ,itstool)
10009 ("intltool" ,intltool)
10010 ("vala" ,vala)
10011 ("pkg-config" ,pkg-config)))
10012 (inputs
10013 `(("libarchive" ,libarchive)
10014 ("gtk" ,gtk+)
10015 ("gtk-vnc" ,gtk-vnc)
10016 ("libosinfo" ,libosinfo)
10017 ("libsecret" ,libsecret)
10018 ("libsoup" ,libsoup)
10019 ("libusb" ,libusb)
10020 ("libvirt" ,libvirt)
10021 ("libvirt-glib" ,libvirt-glib)
10022 ("libxml" ,libxml2)
10023 ("spice-gtk" ,spice-gtk)
10024 ("sparql-query" ,sparql-query)
10025 ("vte" ,vte)
10026 ("webkitgtk" ,webkitgtk)
10027 ("tracker" ,tracker)
10028 ("libgudev" ,libgudev)))
10029 (home-page "https://wiki.gnome.org/Apps/Boxes")
10030 (synopsis "View, access, and manage remote and virtual systems")
10031 (description "GNOME Boxes is a simple application to view, access, and
10032manage remote and virtual systems.")
10033 (license (list
10034 ;; For data/icons/empty-boxes.png.
10035 license:cc-by2.0
10036 ;; For all others.
10037 license:lgpl2.0+))))
0e26c3cf 10038
10039(define-public geary
10040 (package
10041 (name "geary")
10042 (version "3.34.1")
10043 (source (origin
10044 (method git-fetch)
10045 (uri (git-reference
10046 (url "https://gitlab.gnome.org/GNOME/geary")
10047 (commit version)))
10048 (file-name (git-file-name name version))
10049 (sha256
10050 (base32
10051 "01cc921kyh3zxz07biqbdzkjgmdcc36kwjyajm4y382a75cl5zg7"))))
10052 (build-system meson-build-system)
10053 (arguments
10054 `(#:glib-or-gtk? #t
10055 #:phases (modify-phases %standard-phases
10056 (add-after 'unpack 'disable-failing-tests
10057 (lambda _
10058 (substitute* "test/meson.build"
10059 (("test\\('client-tests', geary_test_client_bin\\)")
10060 ""))
10061 #t))
10062 (add-after 'unpack 'disable-postinstall-script
10063 (lambda _
10064 (substitute* "meson.build"
10065 (("meson.add_install_script\\(\
10066join_paths\\('build-aux', 'post_install.py'\\)\\)")
10067 ""))
10068 #t))
10069 (add-before 'check 'setup-xvfb
10070 (lambda _
10071 (system "Xvfb :1 &")
10072 (setenv "DISPLAY" ":1")
10073 #t)))))
10074 (inputs
10075 `(("enchant" ,enchant)
10076 ("folks" ,folks)
10077 ("gcr" ,gcr)
10078 ("glib" ,glib)
10079 ("gmime" ,gmime-2.6)
10080 ("gnome-online-accounts:lib"
10081 ,gnome-online-accounts "lib")
10082 ("gspell" ,gspell)
10083 ("gtk+" ,gtk+)
10084 ("iso-codes" ,iso-codes)
10085 ("json-glib" ,json-glib)
10086 ("libcanberra" ,libcanberra)
10087 ("libgee" ,libgee)
10088 ("libhandy" ,libhandy)
10089 ("libpeas" ,libpeas)
10090 ("libsecret" ,libsecret)
10091 ("libunwind" ,libunwind)
10092 ("sqlite" ,sqlite)
10093 ("webkitgtk" ,webkitgtk)
10094 ("ytnef" ,ytnef)))
10095 (native-inputs
10096 `(("appstream-glib" ,appstream-glib)
10097 ("cmake-minimal" ,cmake-minimal)
10098 ("desktop-file-utils" ,desktop-file-utils)
f2d97d57 10099 ("gettext" ,gettext-minimal)
0e26c3cf 10100 ("glib:bin" ,glib "bin")
10101 ("gobject-introspection" ,gobject-introspection)
10102 ("itstool" ,itstool)
10103 ("libarchive" ,libarchive)
10104 ("libxml2" ,libxml2)
10105 ("pkg-config" ,pkg-config)
10106 ("vala" ,vala)
10107 ("xvfb" ,xorg-server-for-tests)))
10108 (synopsis "GNOME email application built around conversations")
10109 (description
10110 "Geary collects related messages together into conversations,
10111making it easy to find and follow your discussions. Full-text and keyword
10112search makes it easy to find the email you are looking for. Geary's
10113full-featured composer lets you send rich, styled text with images, links, and
10114lists, but also send lightweight, easy to read text messages. Geary
10115automatically picks up your existing GNOME Online Accounts, and adding more is
10116easy. Geary has a clean, fast, modern interface that works like you want it
10117to.")
10118 (home-page "https://wiki.gnome.org/Apps/Geary")
10119 (license (list
10120 ;; geary
10121 license:lgpl2.1+
10122 ;; icons
10123 license:cc-by3.0
10124 license:cc-by-sa3.0
10125 license:public-domain
10126 ;; snowball
10127 license:bsd-2))))
1a17d21b 10128
21051eb7
VM
10129(define-public glabels
10130 (package
10131 (name "glabels")
10132 (version "3.4.1")
10133 (source
10134 (origin
10135 (method url-fetch)
10136 (uri (string-append "mirror://gnome/sources/" name "/"
10137 (version-major+minor version) "/"
10138 "glabels-" version ".tar.xz"))
10139 (sha256
10140 (base32 "0f2rki8i27pkd9r0gz03cdl1g4vnmvp0j49nhxqn275vi8lmgr0q"))))
10141 (build-system glib-or-gtk-build-system)
10142 (native-inputs
10143 `(("gettext" ,gettext-minimal)
10144 ("glib:bin" ,glib "bin")
10145 ("intltool" ,intltool)
10146 ("itstool" ,itstool)
10147 ("pkg-config" ,pkg-config)))
10148 (inputs
10149 `(("gtk+" ,gtk+)
10150 ("librsvg" ,librsvg)
10151 ("libxml2" ,libxml2)))
10152 (home-page "https://glabels.org/")
10153 (synopsis "Program for creating labels and business cards")
10154 (description
10155 "gLabels is a program for creating labels and business cards. It is
10156designed to work with various laser/ink-jet peel-off label and business
10157card sheets that you’ll find at most office supply stores.")
10158 (license license:gpl3+)))
10159
2cd1de32
BT
10160(define-public libratbag
10161 (package
10162 (name "libratbag")
10163 (version "0.13")
10164 (source
10165 (origin
10166 (method git-fetch)
10167 (uri (git-reference
10168 (url "https://github.com/libratbag/libratbag.git")
10169 (commit (string-append "v" version))))
10170 (file-name (git-file-name name version))
10171 (sha256
10172 (base32 "18y8mfr63d91278m1kcid0wvrxa1sgjs8na9af1ks2n28ssvciwq"))))
10173 (build-system meson-build-system)
10174 (arguments
10175 `(#:configure-flags
10176 (list "-Dsystemd=false"
10177 "-Dlogind-provider=elogind")
10178 #:phases
10179 (modify-phases %standard-phases
10180 (add-after 'install 'wrap
10181 (lambda* (#:key inputs outputs #:allow-other-keys)
10182 (let* ((out (assoc-ref outputs "out"))
10183 (site (string-append
10184 "/lib/python"
10185 ,(version-major+minor (package-version python))
10186 "/site-packages"))
10187 (evdev (string-append
10188 (assoc-ref inputs "python-evdev") site))
10189 (pygo (string-append
10190 (assoc-ref inputs "python-pygobject") site))
10191 (python-wrap
10192 `("PYTHONPATH" = (,evdev ,pygo))))
10193 (wrap-program (string-append out "/bin/" "ratbagctl")
10194 python-wrap)
10195 #t))))))
10196 (native-inputs
10197 `(("check" ,check)
10198 ("pkg-config" ,pkg-config)
10199 ("swig" ,swig)
10200 ("valgrind" ,valgrind)))
10201 (inputs
10202 `(("glib" ,glib)
10203 ("json-glib" ,json-glib)
10204 ("libevdev" ,libevdev)
10205 ("libsystemd" ,elogind)
10206 ("libunistring" ,libunistring)
10207 ("python-evdev" ,python-evdev)
10208 ("python-pygobject" ,python-pygobject)
10209 ("udev" ,eudev)))
10210 (home-page "https://github.com/libratbag/libratbag")
10211 (synopsis "DBus daemon and utility for configuring gaming mice")
10212 (description "libratbag provides @command{ratbagd}, a DBus daemon to
10213configure input devices, mainly gaming mice. The daemon provides a generic
10214way to access the various features exposed by these mice and abstracts away
10215hardware-specific and kernel-specific quirks. There is also the
10216@command{ratbagctl} command line interface for configuring devices.
10217
10218libratbag currently supports devices from Logitech, Etekcity, GSkill, Roccat,
10219Steelseries.
10220
10221The ratbagd DBus service can be enabled by adding the following service to
10222your operating-system definition:
10223
10224 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
10225 (license license:expat)))
10226
50d31a40
BT
10227(define-public piper
10228 (package
10229 (name "piper")
73014984 10230 (version "0.5")
50d31a40
BT
10231 (source
10232 (origin
10233 (method git-fetch)
10234 (uri (git-reference
10235 (url "https://github.com/libratbag/piper.git")
10236 (commit version)))
10237 (sha256
81af0de9
TGR
10238 (base32 "00vrcsbsv2477l1ncpyzc61lhxgac84dsgr3sjs8qxw3nh1gaasv"))
10239 (file-name (git-file-name name version))))
50d31a40
BT
10240 (build-system meson-build-system)
10241 (native-inputs
10242 `(("gettext" ,gettext-minimal)
10243 ("glib:bin" ,glib "bin")
10244 ("gobject-introspection" ,gobject-introspection)
10245 ("pkg-config" ,pkg-config)
10246 ("python-flake8" ,python-flake8)))
10247 (inputs
10248 `(("adwaita-icon-theme" ,adwaita-icon-theme)
10249 ("gtk" ,gtk+)
10250 ("gtk:bin" ,gtk+ "bin")
10251 ("librsvg" ,librsvg)
10252 ("python-evdev" ,python-evdev)
10253 ("python-lxml" ,python-lxml)
10254 ("python-pycairo" ,python-pycairo)
10255 ("python-pygobject" ,python-pygobject)))
10256 (arguments
10257 `(#:imported-modules ((guix build python-build-system)
10258 ,@%meson-build-system-modules)
10259 #:modules (((guix build python-build-system) #:prefix python:)
10260 (guix build meson-build-system)
10261 (guix build utils))
10262 #:phases
10263 (modify-phases %standard-phases
10264 (add-after 'unpack 'dont-update-gtk-icon-cache
10265 (lambda _
10266 (substitute* "meson.build"
10267 (("meson.add_install_script('meson_install.sh')") ""))
10268 #t))
10269 ;; TODO: Switch to wrap-script when it is fixed.
10270 (add-after 'install 'wrap-python
10271 (assoc-ref python:%standard-phases 'wrap))
10272 (add-after 'wrap-python 'wrap
10273 (lambda* (#:key outputs #:allow-other-keys)
10274 (wrap-program
10275 (string-append (assoc-ref outputs "out" )"/bin/piper")
10276 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
10277 #t)))))
10278 (home-page "https://github.com/libratbag/piper/")
10279 (synopsis "Configure bindings and LEDs on gaming mice")
10280 (description "Piper is a GTK+ application for configuring gaming mice with
10281onboard configuration for key bindings via libratbag. Piper requires
10282a @command{ratbagd} daemon running with root privileges. It can be run
10283manually as root, but is preferably configured as a DBus service that can
10284launch on demand. This can be configured by enabling the following service,
10285provided there is a DBus service present:
10286
10287 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
10288 (license license:gpl2)))
10289
1a17d21b
NG
10290(define-public parlatype
10291 ;; This is one commit away from 2.0, because the latter introduced
10292 ;; a regression in ASR.
10293 (let ((commit "7d22ead13ef7578f99d24146663cc1bdb7d8c2a9")
10294 (revision "0"))
10295 (package
10296 (name "parlatype")
10297 (version (git-version "2.0" revision commit))
10298 (source
10299 (origin
10300 (method git-fetch)
10301 (uri (git-reference
10302 (url "https://github.com/gkarsay/parlatype.git")
10303 (commit commit)))
10304 (file-name (git-file-name name version))
10305 (sha256
10306 (base32 "0r3k3qczbzi7bs5s1rddhpsnadyr805df40bqkx0srlxgh5mfghf"))))
10307 (build-system meson-build-system)
10308 (arguments
10309 `(#:glib-or-gtk? #t
10310 #:tests? #f ;require internet access
10311 #:phases
10312 (modify-phases %standard-phases
10313 (add-after 'install 'wrap-parlatype
10314 ;; Add gstreamer plugin provided in this package to system's
10315 ;; plugins.
10316 (lambda* (#:key outputs #:allow-other-keys)
10317 (let* ((out (assoc-ref outputs "out"))
10318 (gst-plugin-path (string-append
10319 out "/lib/gstreamer-1.0/"
10320 ":"
10321 (getenv "GST_PLUGIN_SYSTEM_PATH"))))
10322 (wrap-program (string-append out "/bin/parlatype")
10323 `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path))))
10324 #t)))))
10325 (native-inputs
10326 `(("appstream-glib" ,appstream-glib)
10327 ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
10328 ("gettext" ,gettext-minimal)
10329 ("glib" ,glib "bin") ;for glib-compile-resources
10330 ("pkg-config" ,pkg-config)
10331 ("yelp-tools" ,yelp-tools)))
10332 (inputs
10333 `(("gst-plugins-base" ,gst-plugins-base)
10334 ("gst-plugins-good" ,gst-plugins-good)
10335 ("gstreamer" ,gstreamer)
10336 ("gtk+" ,gtk+)
10337 ("pocketsphinx" ,pocketsphinx)
10338 ("pulseaudio" ,pulseaudio)
10339 ("sphinxbase" ,sphinxbase)))
10340 (home-page "http://gkarsay.github.io/parlatype/")
10341 (synopsis "GNOME audio player for transcription")
10342 (description "Parlatype is an audio player for the GNOME desktop
10343environment. Its main purpose is the manual transcription of spoken
10344audio files.")
10345 (license license:gpl3+))))
95856a6e
AT
10346
10347(define-public jsonrpc-glib
10348 (package
10349 (name "jsonrpc-glib")
10350 (version "3.34.0")
10351 (source (origin
10352 (method url-fetch)
10353 (uri (string-append "mirror://gnome/sources/" name "/"
10354 (version-major+minor version) "/"
10355 name "-" version ".tar.xz"))
10356 (sha256
10357 (base32
10358 "0j05x4xv2cp3cbmp30m68z8g4rdw7b030ip4wszyfj9ya15v5kni"))))
10359 (build-system meson-build-system)
10360 (inputs
10361 `(("json-glib" ,json-glib)
10362 ("glib" ,glib)))
10363 (native-inputs
10364 `(("pkg-config" ,pkg-config)
10365 ("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
10366 ("gobject-introspection" ,gobject-introspection)
10367 ("vala" ,vala)))
10368 (home-page "https://gitlab.gnome.org/GNOME/jsonrpc-glib")
10369 (synopsis "JSON-RPC library for GLib")
10370 (description "Jsonrpc-GLib is a library to communicate with JSON-RPC based
10371peers in either a synchronous or asynchronous fashion. It also allows
10372communicating using the GVariant serialization format instead of JSON when
10373both peers support it. You might want that when communicating on a single
10374host to avoid parser overhead and memory-allocator fragmentation.")
10375 (license license:lgpl2.1+)))