gnu: vte: Update to 0.60.3.
[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>
754cfbdc 5;;; Copyright © 2014, 2016, 2020 Eric Bavier <bavier@posteo.net>
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>
0faed399 46;;; Copyright © 2019, 2020 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")
553f2f3f 292 (version "1.0.1")
4e8bdbf8
RG
293 (source (origin
294 (method url-fetch)
02cb4ca7 295 (uri (string-append "mirror://gnome/sources/mm-common/"
4e8bdbf8 296 (version-major+minor version) "/"
02cb4ca7 297 "mm-common-" version ".tar.xz"))
4e8bdbf8
RG
298 (sha256
299 (base32
553f2f3f 300 "1jasx9a9g7nqf7jcv3mrg4qh5cp9sq724jxjaz4wa1dzmxsxg8i8"))))
4e8bdbf8
RG
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 1288 #t)))
3857aba7
CB
1289 (add-before 'configure 'patch-bubblewrap
1290 (lambda* (#:key inputs #:allow-other-keys)
1291 (substitute* "libgnome-desktop/gnome-desktop-thumbnail-script.c"
1292 (("\"bwrap\",")
1293 (string-append "\"" (which "bwrap") "\","))
1294 (("\"--ro-bind\", \"/usr\", \"/usr\",")
1295 (string-append "\"--ro-bind\", \""
1296 (%store-directory)
1297 "\", \""
1298 (%store-directory)
1299 "\","))
1300 (("\"--ro-bind\", \"/etc/ld.so.cache\", \"/etc/ld.so.cache\",") ""))
1301 #t))
e8a26caa
KK
1302 (add-before 'check 'pre-check
1303 (lambda* (#:key inputs #:allow-other-keys)
1304 ;; Tests require a running X server and locales.
1305 (system "Xvfb :1 &")
1306 (setenv "DISPLAY" ":1")
1307 (setenv "GUIX_LOCPATH"
1308 (string-append (assoc-ref inputs "glibc-locales")
1309 "/lib/locale"))
1310 #t)))))
9cc98f8a 1311 (native-inputs
e8a26caa
KK
1312 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
1313 ("glibc-locales" ,glibc-locales) ; for tests
1314 ("gobject-introspection" ,gobject-introspection)
a8340482 1315 ("itstool" ,itstool)
bcb354ad
SB
1316 ("intltool" ,intltool)
1317 ("pkg-config" ,pkg-config)
e8a26caa
KK
1318 ("xmllint" ,libxml2)
1319 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
1320 (propagated-inputs
1321 ;; Required by gnome-desktop-3.0.pc.
1322 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 1323 ("gtk+" ,gtk+)
9cc98f8a 1324 ("iso-codes" ,iso-codes)
9863ce20 1325 ("libseccomp" ,libseccomp)
9cc98f8a 1326 ("libx11" ,libx11)
e8a26caa
KK
1327 ("xkeyboard-config" ,xkeyboard-config)))
1328 (inputs
1329 `(("gdk-pixbuf" ,gdk-pixbuf)
1330 ("glib" ,glib)
3857aba7 1331 ("bubblewrap" ,bubblewrap)
9cc98f8a
CR
1332 ("libxext" ,libxext)
1333 ("libxkbfile" ,libxkbfile)
e8a26caa 1334 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
1335 (home-page "https://www.gnome.org/")
1336 (synopsis
35b9e423 1337 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
1338 (description
1339 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
1340on the desktop, but that cannot live in the platform for various reasons.
1341There is no API or ABI guarantee, although we are doing our best to provide
1342stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
1343
1344The gnome-about program helps find which version of GNOME is installed.")
1345 ; Some bits under the LGPL.
1dd26275 1346 (license license:gpl2+)))
9cc98f8a 1347
995b7261
AE
1348(define-public gnome-doc-utils
1349 (package
1350 (name "gnome-doc-utils")
1351 (version "0.20.10")
1352 (source
1353 (origin
1354 (method url-fetch)
b38e45d8
EB
1355 (uri (string-append "mirror://gnome/sources/" name "/"
1356 (version-major+minor version) "/"
995b7261
AE
1357 name "-" version ".tar.xz"))
1358 (sha256
1359 (base32
1360 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
1361 (build-system gnu-build-system)
c4c4cc05 1362 (native-inputs
995b7261 1363 `(("intltool" ,intltool)
b4ce6300 1364 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 1365 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
1366 ("libxml2" ,libxml2)
1367 ("libxslt" ,libxslt)
1368 ("pkg-config" ,pkg-config)
1369 ("python-2" ,python-2)))
995b7261
AE
1370 (home-page "https://wiki.gnome.org/GnomeDocUtils")
1371 (synopsis
1372 "Documentation utilities for the Gnome project")
1373 (description
1374 "Gnome-doc-utils is a collection of documentation utilities for the
1375Gnome project. It includes xml2po tool which makes it easier to translate
1376and keep up to date translations of documentation.")
1dd26275 1377 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 1378
6c4f7022
DC
1379(define-public gnome-disk-utility
1380 (package
1381 (name "gnome-disk-utility")
262e660e 1382 (version "3.34.0")
6c4f7022
DC
1383 (source (origin
1384 (method url-fetch)
1385 (uri (string-append "mirror://gnome/sources/" name "/"
1386 (version-major+minor version) "/"
1387 name "-" version ".tar.xz"))
1388 (sha256
1389 (base32
262e660e 1390 "1mb7q90lnlp97dhxhnadhjagcfd12dfqzp0vj9h6b1r61pzhy97y"))))
4b9a65bf 1391 (build-system meson-build-system)
321c73c3 1392 (arguments
262e660e
KK
1393 '(#:configure-flags '("-Dlogind=libelogind")
1394 #:phases
321c73c3
EF
1395 (modify-phases %standard-phases
1396 (add-after 'unpack 'skip-gtk-update-icon-cache
1397 ;; Don't create 'icon-theme.cache'.
1398 (lambda _
1399 (substitute* "meson_post_install.py"
1400 (("gtk-update-icon-cache") "true"))
1401 #t)))))
6c4f7022
DC
1402 (native-inputs
1403 `(("glib:bin" ,glib "bin")
1404 ("intltool" ,intltool)
1405 ("pkg-config" ,pkg-config)
1406 ("docbook-xml" ,docbook-xml)
1407 ("docbook-xsl" ,docbook-xsl)
1408 ("libxml2" ,libxml2)
1409 ("libxslt" ,libxslt)))
1410 (inputs
262e660e
KK
1411 `(("elogind" ,elogind)
1412 ("glib" ,glib)
6c4f7022
DC
1413 ("appstream-glib" ,appstream-glib)
1414 ("gnome-settings-daemon" ,gnome-settings-daemon)
1415 ("gtk+" ,gtk+)
1416 ("libcanberra" ,libcanberra)
1417 ("libdvdread" ,libdvdread)
1418 ("libnotify" ,libnotify)
1419 ("libpwquality" ,libpwquality)
1420 ("libsecret" ,libsecret)
1421 ("udisks" ,udisks)))
1422 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
1423 (synopsis "Disk management utility for GNOME")
1424 (description "Disk management utility for GNOME.")
1425 (license license:gpl2+)))
1426
3d217317
RG
1427(define-public gnome-font-viewer
1428 (package
1429 (name "gnome-font-viewer")
1430 (version "3.30.0")
1431 (source (origin
1432 (method url-fetch)
1433 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
1434 (version-major+minor version)
1435 "/gnome-font-viewer-" version ".tar.xz"))
1436 (sha256
1437 (base32
1438 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
1439 (build-system meson-build-system)
1440 (arguments
1441 '(#:phases
1442 (modify-phases %standard-phases
1443 (add-after 'unpack 'patch-post-install-script
1444 (lambda _
1445 (substitute* "meson-postinstall.sh"
1446 (("update-desktop-database") (which "true")))
1447 #t)))))
1448 (native-inputs
1449 `(("gettext" ,gettext-minimal)
1450 ("glib:bin" ,glib "bin")
1451 ("pkg-config" ,pkg-config)))
1452 (inputs
1453 `(("glib" ,glib)
1454 ("gnome-desktop" ,gnome-desktop)
1455 ("gtk+" ,gtk+)))
1456 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
1457 (synopsis "GNOME Fonts")
1458 (description "Application to show you the fonts installed on your computer
1459for your use as thumbnails. Selecting any thumbnails shows the full view of how
1460the font would look under various sizes.")
1461 (license license:gpl2+)))
1462
8ff49011
RW
1463(define-public gcr
1464 (package
1465 (name "gcr")
1de804da 1466 (version "3.34.0")
8ff49011 1467 (source (origin
0daf0efb
RW
1468 (method url-fetch)
1469 (uri (string-append "mirror://gnome/sources/" name "/"
1470 (version-major+minor version) "/"
1471 name "-" version ".tar.xz"))
1472 (sha256
1473 (base32
1de804da 1474 "0925snsixzkwh49xiayqmj6fcrmklqk8kyy0jkv7m64h9abm1pr9"))))
8ff49011
RW
1475 (build-system gnu-build-system)
1476 (arguments
0daf0efb
RW
1477 '(#:phases
1478 (modify-phases %standard-phases
1479 ;; These fail because /var/lib/dbus/machine-id is not present in the
1480 ;; build environment.
1481 (add-after 'unpack 'disable-failing-tests
1482 (lambda _
1de804da
MB
1483 (substitute* "Makefile.in"
1484 (("[[:blank:]]+test-system-prompt\\$\\(EXEEXT\\)")
1485 ""))
0daf0efb
RW
1486 #t))
1487 (add-before 'check 'pre-check
1488 (lambda _
1489 ;; Some tests expect to write to $HOME.
1490 (setenv "HOME" "/tmp")
1491 #t)))))
8ff49011
RW
1492 (inputs
1493 `(("dbus" ,dbus)
0daf0efb 1494 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
1495 ("libgcrypt" ,libgcrypt)))
1496 (native-inputs
1de804da 1497 `(("python" ,python-wrapper) ;for tests
8ff49011 1498 ("pkg-config" ,pkg-config)
1de804da 1499 ("gettext" ,gettext-minimal)
8ff49011 1500 ("glib" ,glib "bin")
2af4f5b0 1501 ("gobject-introspection" ,gobject-introspection)
0daf0efb 1502 ("libxml2" ,libxml2)
bea6b829 1503 ("vala" ,vala)
2af4f5b0 1504 ("xsltproc" ,libxslt)))
8ff49011
RW
1505 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
1506 (propagated-inputs
1507 `(("p11-kit" ,p11-kit)
1508 ("glib" ,glib)
1509 ("gtk+" ,gtk+)))
f032d0be 1510 (home-page "https://www.gnome.org")
8ff49011
RW
1511 (synopsis "Libraries for displaying certificates and accessing key stores")
1512 (description
1513 "The GCR package contains libraries used for displaying certificates and
1514accessing key stores. It also provides the viewer for crypto files on the
1515GNOME Desktop.")
1516 (license license:lgpl2.1+)))
1517
88e61bd4
MC
1518(define-public gdl
1519 (package
1520 (name "gdl")
1521 (version "3.34.0")
1522 (source (origin
1523 (method git-fetch)
1524 (uri (git-reference
1525 (url "https://gitlab.gnome.org/GNOME/gdl.git")
1526 (commit (string-append "GDL_" (string-map (match-lambda
1527 (#\. #\_)
1528 (c c))
1529 version)))))
1530 (file-name (git-file-name name version))
1531 (sha256
1532 (base32
1533 "154qcr0x6f68f4q526y87imv0rscmp34n47nk1pp82rsq52h2zna"))))
1534 (build-system gnu-build-system)
88e61bd4
MC
1535 (native-inputs
1536 `(("autoconf" ,autoconf)
1537 ("automake" ,automake)
1538 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
1539 ("gnome-common" ,gnome-common)
1540 ("gtk-doc" ,gtk-doc)
1541 ("intltool" ,intltool)
1542 ("pkg-config" ,pkg-config)
1543 ("libtool" ,libtool)
1544 ("which" ,which)))
1545 (inputs
1546 `(("libxml2" ,libxml2)))
1547 (propagated-inputs
1548 ;; The gdl-3.0.pc file 'Requires' GTK+.
1549 `(("gtk+" ,gtk+)))
1550 (home-page "https://gitlab.gnome.org/GNOME/gdl/")
1551 (synopsis "GNOME docking library")
1552 (description "This library provides docking features for gtk+.")
1553 (license license:lgpl2.1+)))
1554
ca3adf26
MC
1555;;; A minimal variant used to break a cycle with Inkscape.
1556(define-public gdl-minimal
1557 (package
1558 (inherit gdl)
1559 (name "gdl-minimal")
1560 (arguments
70cf0113
EF
1561 '(#:phases
1562 (modify-phases %standard-phases
1563 (add-after 'unpack 'disable-doc-generation
1564 ;; XXX: There is no easy way to disable generating the
1565 ;; documentation.
1566 (lambda _
1567 (substitute* "configure.in"
1568 (("GTK_DOC_CHECK.*") "")
1569 (("docs/.*") ""))
1570 (substitute* "Makefile.am"
1571 (("gdl docs po") "gdl po"))
1572 #t)))))
ca3adf26
MC
1573 (native-inputs (alist-delete "gtk-doc" (package-native-inputs gdl)))))
1574
c1354b90
LC
1575(define-public libgnome-keyring
1576 (package
1577 (name "libgnome-keyring")
5e8aec2c 1578 (version "3.12.0")
c1354b90
LC
1579 (source (origin
1580 (method url-fetch)
b38e45d8
EB
1581 (uri (string-append "mirror://gnome/sources/" name "/"
1582 (version-major+minor version) "/"
1583 name "-" version ".tar.xz"))
c1354b90
LC
1584 (sha256
1585 (base32
5e8aec2c 1586 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 1587 (build-system gnu-build-system)
c1354b90 1588 (inputs
c4c4cc05 1589 `(("libgcrypt" ,libgcrypt)
c1354b90 1590 ("dbus" ,dbus)))
c4c4cc05
JD
1591 (native-inputs
1592 `(("pkg-config" ,pkg-config)
426adbe8 1593 ("glib" ,glib "bin")
c4c4cc05 1594 ("intltool" ,intltool)))
c1354b90
LC
1595 (propagated-inputs
1596 ;; Referred to in .h files and .pc.
1597 `(("glib" ,glib)))
f032d0be 1598 (home-page "https://www.gnome.org")
c1354b90
LC
1599 (synopsis "Accessing passwords from the GNOME keyring")
1600 (description
1601 "Client library to access passwords from the GNOME keyring.")
1602
1603 ;; Though a couple of files are LGPLv2.1+.
1dd26275 1604 (license license:lgpl2.0+)))
c1354b90 1605
e99a3d6f
RW
1606(define-public gnome-keyring
1607 (package
1608 (name "gnome-keyring")
14faeadd 1609 (version "3.34.0")
e99a3d6f
RW
1610 (source (origin
1611 (method url-fetch)
1612 (uri (string-append "mirror://gnome/sources/" name "/"
1613 (version-major+minor version) "/"
1614 name "-" version ".tar.xz"))
1615 (sha256
1616 (base32
14faeadd 1617 "0hqrsh5g9q9lm190f0m85q4nki8k4ng7wphl6qbccdry59aakkg9"))))
e99a3d6f
RW
1618 (build-system gnu-build-system)
1619 (arguments
1620 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
1621 ;not exist
1622 #:configure-flags
1623 (list
1624 (string-append "--with-pkcs11-config="
1625 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
1626 (string-append "--with-pkcs11-modules="
1627 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
1628 #:phases
1629 (modify-phases %standard-phases
ab35cc6e
RW
1630 (add-after 'unpack 'fix-/bin/sh-reference
1631 (lambda _
1632 (substitute* "po/Makefile.in.in"
1633 (("/bin/sh") (which "sh")))
1634 #t))
5120f24f
RW
1635 (add-after 'unpack 'fix-docbook
1636 (lambda* (#:key inputs #:allow-other-keys)
1637 (substitute* "docs/Makefile.am"
1638 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1639 (string-append (assoc-ref inputs "docbook-xsl")
1640 "/xml/xsl/docbook-xsl-"
1641 ,(package-version docbook-xsl)
1642 "/manpages/docbook.xsl")))
1643 (setenv "XML_CATALOG_FILES"
1644 (string-append (assoc-ref inputs "docbook-xml")
1645 "/xml/dtd/docbook/catalog.xml"))
1646 ;; Rerun the whole thing to avoid version mismatch ("This is
1647 ;; Automake 1.15.1, but the definition used by this
1648 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
1649 ;; use 'autoreconf' because it insists on running 'libtoolize'.
1650 (invoke "autoconf")
1651 (invoke "aclocal")
1652 (invoke "automake" "-ac"))))))
e99a3d6f
RW
1653 (inputs
1654 `(("libgcrypt" ,libgcrypt)
1a0b2d82 1655 ("linux-pam" ,linux-pam)
ab35cc6e 1656 ("openssh" ,openssh)
e99a3d6f
RW
1657 ("dbus" ,dbus)
1658 ("gcr" ,gcr)))
1659 (native-inputs
1660 `(("pkg-config" ,pkg-config)
1661 ("glib" ,glib "bin")
5120f24f 1662 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
1663 ("python" ,python-2) ;for tests
1664 ("intltool" ,intltool)
1665 ("autoconf" ,autoconf)
1666 ("automake" ,automake)
1667 ("libxslt" ,libxslt) ;for documentation
1668 ("docbook-xml" ,docbook-xml-4.2)
1669 ("docbook-xsl" ,docbook-xsl)))
f032d0be 1670 (home-page "https://www.gnome.org")
e99a3d6f
RW
1671 (synopsis "Daemon to store passwords and encryption keys")
1672 (description
1673 "gnome-keyring is a program that keeps passwords and other secrets for
1674users. It is run as a daemon in the session, similar to ssh-agent, and other
1675applications locate it via an environment variable or D-Bus.
1676
1677The program can manage several keyrings, each with its own master password,
1678and there is also a session keyring which is never stored to disk, but
1679forgotten when the session ends.")
1680 (license license:lgpl2.1+)))
1681
c1354b90
LC
1682(define-public evince
1683 (package
1684 (name "evince")
de08b5b2 1685 (version "3.36.5")
c1354b90
LC
1686 (source (origin
1687 (method url-fetch)
ac631328 1688 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 1689 (version-major+minor version) "/"
ac631328 1690 "evince-" version ".tar.xz"))
c1354b90
LC
1691 (sha256
1692 (base32
de08b5b2 1693 "0z79jl0j9xq9wgwkfr0d1w1qrdy4447y8shs407n5srr0vixc3bg"))))
121de2e1 1694 (build-system glib-or-gtk-build-system)
c1354b90 1695 (arguments
169b8f77 1696 `(#:configure-flags '("--disable-nautilus" "--enable-introspection")
554b2dac
SB
1697 #:phases
1698 (modify-phases %standard-phases
1699 (add-before 'install 'skip-gtk-update-icon-cache
1700 ;; Don't create 'icon-theme.cache'.
1701 (lambda _
1702 (substitute* "data/Makefile"
1703 (("gtk-update-icon-cache") "true"))
1704 #t)))))
c1354b90 1705 (inputs
9a096881
KK
1706 `(("libarchive" ,libarchive)
1707 ("libgxps" ,libgxps)
1708 ("libspectre" ,libspectre)
c769cf9f 1709 ("djvulibre" ,djvulibre)
c1354b90
LC
1710 ("ghostscript" ,ghostscript)
1711 ("poppler" ,poppler)
c769cf9f
SB
1712 ("libtiff" ,libtiff)
1713 ;; TODO:
c769cf9f
SB
1714 ;; Build libkpathsea as a shared library for DVI support.
1715 ;; ("libkpathsea" ,texlive-bin)
1716 ("gnome-desktop" ,gnome-desktop)
c1354b90 1717 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 1718 ("gspell" ,gspell)
c1354b90 1719 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 1720 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
1721 ("gdk-pixbuf" ,gdk-pixbuf)
1722 ("atk" ,atk)
1723 ("pango" ,pango)
1724 ("gtk+" ,gtk+)
1725 ("glib" ,glib)
1726 ("libxml2" ,libxml2)
c1354b90
LC
1727 ("libsm" ,libsm)
1728 ("libice" ,libice)
96e42467 1729 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
1730 ("dconf" ,dconf)
1731 ("libcanberra" ,libcanberra)
c769cf9f 1732 ("libsecret" ,libsecret)
a271096b 1733
c1354b90
LC
1734 ;; For tests.
1735 ("dogtail" ,python2-dogtail)))
96e42467 1736 (native-inputs
bcb354ad
SB
1737 `(("itstool" ,itstool)
1738 ("intltool" ,intltool)
426adbe8 1739 ("glib" ,glib "bin")
169b8f77 1740 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
1741 ("pkg-config" ,pkg-config)
1742 ("xmllint" ,libxml2)))
6f64a05e 1743 (home-page "https://www.gnome.org/projects/evince/")
c1354b90
LC
1744 (synopsis "GNOME's document viewer")
1745 (description
1746 "Evince is a document viewer for multiple document formats. It
1747currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
1748of Evince is to replace the multiple document viewers that exist
96e42467 1749on the GNOME Desktop with a single simple application.")
1dd26275 1750 (license license:gpl2+)))
c1354b90 1751
22e32e69
AE
1752(define-public gsettings-desktop-schemas
1753 (package
1754 (name "gsettings-desktop-schemas")
8468117e 1755 (version "3.34.0")
22e32e69
AE
1756 (source
1757 (origin
1758 (method url-fetch)
1759 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1760 (version-major+minor version) "/"
22e32e69
AE
1761 name "-" version ".tar.xz"))
1762 (sha256
1763 (base32
8468117e 1764 "1bayr76aylawf2fhyjhv9zgk4kpv7ivrrmd80khb0h3h1wk092r8"))))
c900dabd 1765 (build-system meson-build-system)
65209ffa
LC
1766 (arguments
1767 '(#:phases (modify-phases %standard-phases
3861fb1c 1768 (add-after 'unpack 'patch-schemas
65209ffa 1769 (lambda* (#:key inputs #:allow-other-keys)
65209ffa
LC
1770 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
1771 (substitute* (find-files "schemas"
1772 "\\.gschema\\.xml\\.in$")
3861fb1c
LP
1773 ;; Provide the correct file name of the default GNOME
1774 ;; background, 'adwaita-timed.xml'.
65209ffa 1775 (("@datadir@/backgrounds/gnome")
3861fb1c
LP
1776 (string-append theme "/share/backgrounds/gnome"))
1777 ;; Do not reference fonts, that may not exist.
1778 (("'Source Code Pro 10'") "'Monospace 11'"))
65209ffa 1779 #t))))))
22e32e69 1780 (inputs
65209ffa
LC
1781 `(("glib" ,glib)
1782 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
1783 (native-inputs
1784 `(("intltool" ,intltool)
426adbe8 1785 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 1786 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
1787 ("pkg-config" ,pkg-config)))
1788 (home-page "https://launchpad.net/gsettings-desktop-schemas")
1789 (synopsis
1790 "GNOME settings for various desktop components")
1791 (description
1792 "Gsettings-desktop-schemas contains a collection of GSettings schemas
1793for settings shared by various components of the GNOME desktop.")
1dd26275 1794 (license license:lgpl2.1+)))
22e32e69 1795
27477d2d
AE
1796(define-public icon-naming-utils
1797 (package
1798 (name "icon-naming-utils")
1799 (version "0.8.90")
1800 (source
1801 (origin
1802 (method url-fetch)
5cc3096c 1803 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
1804 version ".tar.bz2"))
1805 (sha256
1806 (base32
1807 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
1808 (build-system gnu-build-system)
1809 (inputs
1810 `(("perl" ,perl)
1811 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
1812 (arguments
1813 '(#:phases
dc1d3cde
KK
1814 (modify-phases %standard-phases
1815 (add-after 'install 'set-load-paths
1816 ;; Tell 'icon-name-mapping' where XML::Simple is.
1817 (lambda* (#:key outputs #:allow-other-keys)
1818 (let* ((out (assoc-ref outputs "out"))
1819 (prog (string-append out "/libexec/icon-name-mapping")))
1820 (wrap-program
1821 prog
1822 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
1823 #t)))))
27477d2d
AE
1824 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
1825 (synopsis
1826 "Utility to implement the Freedesktop Icon Naming Specification")
1827 (description
1828 "To help with the transition to the Freedesktop Icon Naming
1829Specification, the icon naming utility maps the icon names used by the
1830GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 1831 (license license:lgpl2.1+)))
27477d2d 1832
7d3f3651
AE
1833(define-public gnome-icon-theme
1834 (package
1835 (name "gnome-icon-theme")
b32f58dd 1836 (version "3.12.0")
7d3f3651
AE
1837 (source
1838 (origin
1839 (method url-fetch)
1840 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1841 (version-major+minor version) "/"
7d3f3651
AE
1842 name "-" version ".tar.xz"))
1843 (sha256
1844 (base32
b32f58dd 1845 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 1846 (build-system gnu-build-system)
5613c27d
SB
1847 (arguments
1848 '(#:configure-flags
1849 ;; Don't create 'icon-theme.cache'.
1850 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
1851 (true (string-append coreutils "/bin/true")))
1852 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 1853 (native-inputs
5613c27d 1854 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
1855 ("intltool" ,intltool)
1856 ("pkg-config" ,pkg-config)))
5c610d4f
KK
1857 (home-page "https://wiki.gnome.org/Personalization")
1858 (synopsis "GNOME icon theme")
1859 (description "Icons for the GNOME desktop.")
1dd26275 1860 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 1861
14eeefa2
SB
1862;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
1863(define-public adwaita-icon-theme
1864 (package (inherit gnome-icon-theme)
1865 (name "adwaita-icon-theme")
e21788f2 1866 (version "3.34.3")
14eeefa2
SB
1867 (source (origin
1868 (method url-fetch)
1869 (uri (string-append "mirror://gnome/sources/" name "/"
1870 (version-major+minor version) "/"
1871 name "-" version ".tar.xz"))
1872 (sha256
1873 (base32
e21788f2 1874 "025rj1fskw1y448hiar4a9icyzpyr242nlh9xhsmyp8jb71dihp7"))))
5613c27d
SB
1875 (native-inputs
1876 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 1877
ae792dba
RW
1878(define-public tango-icon-theme
1879 (package
1880 (name "tango-icon-theme")
1881 (version "0.8.90")
1882 (source (origin
1883 (method url-fetch)
1884 (uri (string-append "http://tango.freedesktop.org/releases/"
1885 "tango-icon-theme-" version ".tar.bz2"))
1886 (sha256
1887 (base32
1888 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
1889 (build-system gnu-build-system)
1890 (native-inputs
1891 `(("icon-naming-utils" ,icon-naming-utils)
1892 ("intltool" ,intltool)
1893 ("imagemagick" ,imagemagick)
1894 ("pkg-config" ,pkg-config)))
1895 (home-page "http://tango-project.org/")
1896 (synopsis "Tango icon theme")
1897 (description "This is an icon theme that follows the Tango visual
1898guidelines.")
1899 (license license:public-domain)))
1900
9167f8e6
LC
1901(define-public shared-mime-info
1902 (package
1903 (name "shared-mime-info")
404e386e 1904 (version "1.15")
9167f8e6
LC
1905 (source (origin
1906 (method url-fetch)
404e386e
MB
1907 (uri (string-append
1908 "https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/"
1909 "b27eb88e4155d8fccb8bb3cd12025d5b/shared-mime-info-" version
1910 ".tar.xz"))
9167f8e6
LC
1911 (sha256
1912 (base32
404e386e 1913 "146vynj78wcwdq0ms52jzm1r4m6dzi1rhyh3h4xyb6bw8ckv10pl"))))
9167f8e6
LC
1914 (build-system gnu-build-system)
1915 (arguments
1916 ;; The build system appears not to be parallel-safe.
1917 '(#:parallel-build? #f))
1918 (inputs
1919 `(("glib" ,glib)
c4c4cc05 1920 ("libxml2" ,libxml2)))
9167f8e6 1921 (native-inputs
404e386e
MB
1922 `(("gettext" ,gettext-minimal)
1923 ("itstool" ,itstool)
c4c4cc05 1924 ("pkg-config" ,pkg-config)))
57e7d748 1925 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
1926 (synopsis "Database of common MIME types")
1927 (description
1928 "The shared-mime-info package contains the core database of common types
1929and the update-mime-database command used to extend it. It requires glib2 to
1930be installed for building the update command. Additionally, it uses intltool
1931for translations, though this is only a dependency for the maintainers. This
1932database is translated at Transifex.")
1dd26275 1933 (license license:gpl2+)))
9167f8e6 1934
dd1fcddc
CB
1935(define-public system-config-printer
1936 (package
1937 (name "system-config-printer")
fa01e10d 1938 (version "1.5.12")
a5643044
TGR
1939 (source
1940 (origin
1941 (method url-fetch)
1942 (uri (string-append
1943 "https://github.com/OpenPrinting/system-config-printer/releases/"
1944 "download/" version
1945 "/system-config-printer-" version ".tar.xz"))
1946 (sha256
fa01e10d 1947 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
1948 (build-system glib-or-gtk-build-system)
1949 (arguments
1950 `(#:imported-modules ((guix build python-build-system)
1951 ,@%glib-or-gtk-build-system-modules)
1952 #:phases
1953 (modify-phases %standard-phases
1954 (add-after 'unpack 'patch-Makefile.am
1955 (lambda _
1956 ;; The Makefile generates some scripts, so set a valid shebang
1957 (substitute* "Makefile.am"
1958 (("/bin/bash") (which "bash")))
1959 (delete-file "configure")
1960 #t))
1961 (add-after 'unpack 'patch-docbook-xml
1962 (lambda* (#:key inputs #:allow-other-keys)
1963 ;; Modify the man XML otherwise xmlto tries to access the network
1964 (substitute* "man/system-config-printer.xml"
1965 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
1966 (string-append (assoc-ref inputs "docbook-xml")
1967 "/xml/dtd/docbook/")))
1968 #t))
1969 (add-after 'install 'wrap-for-python
1970 (@@ (guix build python-build-system) wrap))
1971 (add-after 'install 'wrap
1972 (lambda* (#:key outputs #:allow-other-keys)
1973 (let ((out (assoc-ref outputs "out"))
1974 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
1975 (for-each
1976 (lambda (program)
1977 (wrap-program program
1978 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
1979 (map (lambda (name)
1980 (string-append out "/bin/" name))
1981 '("system-config-printer"
1982 "system-config-printer-applet"
1983 "install-printerdriver"
1984 "scp-dbus-service"))))
1985 #t)))))
1986 (inputs
1987 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1988 ("gobject-introspection" ,gobject-introspection)
1989 ("python" ,python)
1990 ("cups" ,cups)
1991 ("python-dbus" ,python-dbus)
1992 ("python-pygobject" ,python-pygobject)
1993 ("python-pycups" ,python-pycups)
1994 ("python-requests" ,python-requests)
1995 ("python-pycairo" ,python-pycairo)
1996 ("libnotify" ,libnotify)
1997 ("packagekit" ,packagekit)))
1998 (native-inputs
1999 `(("pkg-config" ,pkg-config)
2000 ("desktop-file-utils" ,desktop-file-utils)
2001 ("glib" ,glib)
2002 ("autoconf" ,autoconf)
2003 ("automake" ,automake)
2004 ("intltool" ,intltool)
2005 ("xmlto" ,xmlto)
2006 ("docbook-xml" ,docbook-xml-4.1.2)
2007 ("docbook-xsl" ,docbook-xsl)
2008 ("libxml2" ,libxml2)))
2009 (home-page "https://github.com/zdohnal/system-config-printer")
2010 (synopsis "CUPS administration tool")
2011 (description
2012 "system-config-printer is a CUPS administration tool. It's written in
2013Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
2014configuring CUPS.")
2015 (license license:gpl2+)))
2016
bef4dd92
AE
2017(define-public hicolor-icon-theme
2018 (package
2019 (name "hicolor-icon-theme")
851cb6dd 2020 (version "0.17")
bef4dd92
AE
2021 (source
2022 (origin
2023 (method url-fetch)
5cc3096c 2024 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 2025 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
2026 (sha256
2027 (base32
851cb6dd 2028 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
2029 (build-system gnu-build-system)
2030 (arguments
2031 `(#:tests? #f)) ; no check target
57e7d748 2032 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
2033 (synopsis
2034 "Freedesktop icon theme")
2035 (description
2036 "Freedesktop icon theme.")
1dd26275 2037 (license license:gpl2)))
bef4dd92 2038
d9c1a22b
AE
2039(define-public libnotify
2040 (package
2041 (name "libnotify")
195bfa68 2042 (version "0.7.7")
d9c1a22b
AE
2043 (source
2044 (origin
2045 (method url-fetch)
2046 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2047 (version-major+minor version) "/"
d9c1a22b
AE
2048 name "-" version ".tar.xz"))
2049 (sha256
2050 (base32
195bfa68 2051 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 2052 (build-system gnu-build-system)
6acf6cec
MB
2053 (arguments
2054 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
2055 (propagated-inputs
2056 `(;; In Requires of libnotify.pc.
2057 ("gdk-pixbuf" ,gdk-pixbuf)
2058 ("glib" ,glib)))
d9c1a22b 2059 (inputs
7ef08efa 2060 `(("gtk+" ,gtk+)
c4c4cc05
JD
2061 ("libpng" ,libpng)))
2062 (native-inputs
426adbe8 2063 `(("pkg-config" ,pkg-config)
277a7d82
JN
2064 ("glib" ,glib "bin")
2065 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
2066 (home-page "https://developer-next.gnome.org/libnotify/")
2067 (synopsis
2068 "GNOME desktop notification library")
2069 (description
2070 "Libnotify is a library that sends desktop notifications to a
35b9e423 2071notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
2072notifications can be used to inform the user about an event or display
2073some form of information without getting in the user's way.")
1dd26275 2074 (license license:lgpl2.1+)))
7a8605ce
CR
2075
2076(define-public libpeas
2077 (package
2078 (name "libpeas")
f2d56e39 2079 (version "1.24.1")
7a8605ce
CR
2080 (source
2081 (origin
2082 (method url-fetch)
2083 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2084 (version-major+minor version) "/"
7a8605ce
CR
2085 name "-" version ".tar.xz"))
2086 (sha256
2087 (base32
f2d56e39
MB
2088 "1162dr7smmfb02czmhshr0f93hqj7w0nw29bys5lzfvwarxcyflw"))))
2089 (build-system meson-build-system)
2090 (arguments
2091 '(#:phases
2092 (modify-phases %standard-phases
2093 (add-before 'check 'start-xserver
2094 (lambda* (#:key inputs #:allow-other-keys)
2095 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2096 (disp ":1"))
2097 (setenv "DISPLAY" disp)
2098 ;; Tests require a running X server.
2099 (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))
2100 #t))))))
7a8605ce 2101 (inputs
2ed6522a
SB
2102 `(("gtk+" ,gtk+)
2103 ("glade" ,glade3)
2ed6522a
SB
2104 ("python" ,python)
2105 ("python-pygobject" ,python-pygobject)))
141aed80
LC
2106 (native-inputs
2107 `(("pkg-config" ,pkg-config)
f2d56e39 2108 ("gettext" ,gettext-minimal)
93622993 2109 ("glib:bin" ,glib "bin")
141aed80 2110 ("gobject-introspection" ,gobject-introspection)
f2d56e39 2111 ("xorg-server" ,xorg-server-for-tests)))
55b7bbd8
LC
2112 (propagated-inputs
2113 ;; The .pc file "Requires" gobject-introspection.
2114 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
2115 (home-page "https://wiki.gnome.org/Libpeas")
2116 (synopsis "GObject plugin system")
2117 (description
d1e4ad1b
TGR
2118 "Libpeas is a gobject-based plugin engine, targeted at giving every
2119application the chance to assume its own extensibility. It also has a set of
2120features including, but not limited to: multiple extension points; on-demand
2121(lazy) programming language support for C, Python and JS; simplicity of the
2122API.")
1dd26275 2123 (license license:lgpl2.0+)))
ed19903d
JD
2124
2125(define-public gtkglext
2126 (package
2127 (name "gtkglext")
2128 (version "1.2.0")
2129 (source (origin
2130 (method url-fetch)
0f971a04 2131 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
2132 version "/gtkglext-" version ".tar.gz"))
2133 (sha256
2134 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
2135 (patches (search-patches
2136 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 2137 (build-system gnu-build-system)
14e2f61a
RW
2138 (arguments
2139 `(#:phases
2140 (modify-phases %standard-phases
2141 ;; Fix a collision between a local variable and a definition from
2142 ;; glibc's string.h.
2143 (add-after 'unpack 'fix-collision
2144 (lambda _
2145 (substitute* "gdk/gdkglshapes.c"
2146 ((" index") " triangle_index"))
2147 #t)))))
ed19903d
JD
2148 (inputs `(("gtk+" ,gtk+-2)
2149 ("mesa" ,mesa)
cc8b02f4 2150 ("glu" ,glu)
ed19903d
JD
2151 ("libx11" ,libx11)
2152 ("libxt" ,libxt)))
426adbe8
LC
2153 (native-inputs `(("pkg-config" ,pkg-config)
2154 ("glib" ,glib "bin")))
a83b6a06 2155 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 2156 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 2157 (synopsis "OpenGL extension to GTK+")
35b9e423 2158 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
2159additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
2160API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 2161 (license license:lgpl2.1+)))
3600420e
JD
2162
2163(define-public glade3
2164 (package
2165 (name "glade")
031315e4 2166 (version "3.36.0")
b38e45d8
EB
2167 (source (origin
2168 (method url-fetch)
2169 (uri (string-append "mirror://gnome/sources/" name "/"
2170 (version-major+minor version) "/"
f5ca44b8 2171 name "-" version ".tar.xz"))
3600420e 2172 (sha256
f714d9fe 2173 (base32
031315e4 2174 "023gx8rj51njn8fsb6ma5kz1irjpxi4js0n8rwy22inc4ysldd8r"))))
6983ba56 2175 (build-system glib-or-gtk-build-system)
f5ca44b8 2176 (arguments
ec8e1c91 2177 `(#:phases
f5ca44b8
RW
2178 (modify-phases %standard-phases
2179 (add-before 'configure 'fix-docbook
2180 (lambda* (#:key inputs #:allow-other-keys)
2181 (substitute* "man/Makefile.in"
2182 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2183 (string-append (assoc-ref inputs "docbook-xsl")
2184 "/xml/xsl/docbook-xsl-"
2185 ,(package-version docbook-xsl)
2186 "/manpages/docbook.xsl")))
ec8e1c91
AI
2187 #t))
2188 (add-before 'check 'pre-check
2189 (lambda _
2190 (setenv "HOME" "/tmp")
2191 ;; Tests require a running X server.
2192 (system "Xvfb :1 &")
2193 (setenv "DISPLAY" ":1")
f5ca44b8 2194 #t)))))
3600420e 2195 (inputs
f5ca44b8 2196 `(("gtk+" ,gtk+)
3600420e
JD
2197 ("libxml2" ,libxml2)))
2198 (native-inputs
ec8e1c91
AI
2199 `(("hicolor-icon-theme" ,hicolor-icon-theme)
2200 ("intltool" ,intltool)
f5ca44b8
RW
2201 ("itstool" ,itstool)
2202 ("libxslt" ,libxslt) ;for xsltproc
2203 ("docbook-xml" ,docbook-xml-4.2)
2204 ("docbook-xsl" ,docbook-xsl)
2205 ("python" ,python-2)
ec8e1c91
AI
2206 ("pkg-config" ,pkg-config)
2207 ("xorg-server" ,xorg-server-for-tests)))
3600420e
JD
2208 (home-page "https://glade.gnome.org")
2209 (synopsis "GTK+ rapid application development tool")
2210 (description "Glade is a rapid application development (RAD) tool to
2211enable quick & easy development of user interfaces for the GTK+ toolkit and
2212the GNOME desktop environment.")
1dd26275
LC
2213 (license license:lgpl2.0+)))
2214
2215(define-public libcroco
2216 (package
2217 (name "libcroco")
8bdacad2 2218 (version "0.6.13")
1dd26275
LC
2219 (source (origin
2220 (method url-fetch)
b38e45d8
EB
2221 (uri (string-append "mirror://gnome/sources/" name "/"
2222 (version-major+minor version) "/"
2223 name "-" version ".tar.xz"))
1dd26275
LC
2224 (sha256
2225 (base32
8bdacad2 2226 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
2227 (build-system gnu-build-system)
2228 (native-inputs
2229 `(("pkg-config" ,pkg-config)))
2230 (inputs
2231 `(("glib" ,glib)
2232 ("libxml2" ,libxml2)
2233 ("zlib" ,zlib)))
2234 (home-page "https://github.com/GNOME/libcroco")
2235 (synopsis "CSS2 parsing and manipulation library")
2236 (description
2237 "Libcroco is a standalone CSS2 parsing and manipulation library.
2238The parser provides a low level event driven SAC-like API and a CSS object
2239model like API. Libcroco provides a CSS2 selection engine and an experimental
2240XML/CSS rendering engine.")
2241
2242 ;; LGPLv2.1-only.
2243 (license license:lgpl2.1)))
25178594
LC
2244
2245(define-public libgsf
2246 (package
2247 (name "libgsf")
2b9b854c 2248 (version "1.14.47")
25178594
LC
2249 (source (origin
2250 (method url-fetch)
b38e45d8
EB
2251 (uri (string-append "mirror://gnome/sources/" name "/"
2252 (version-major+minor version) "/"
2253 name "-" version ".tar.xz"))
25178594
LC
2254 (sha256
2255 (base32
2b9b854c 2256 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
25178594 2257 (build-system gnu-build-system)
23904adb
MB
2258 (arguments
2259 '(#:configure-flags '("--disable-static")))
25178594 2260 (native-inputs
0a1559cc
MB
2261 `(("pkg-config" ,pkg-config)
2262 ("gettext" ,gettext-minimal)
2263
2264 ;; For tests.
2265 ("perl" ,perl)
2266 ("perl-xml-parser" ,perl-xml-parser)))
25178594 2267 (inputs
4ffa9f6b 2268 `(("zlib" ,zlib)
25178594
LC
2269 ("bzip2" ,bzip2)))
2270 (propagated-inputs
2271 `(("gdk-pixbuf" ,gdk-pixbuf)
2272 ("glib" ,glib)
2273 ("libxml2" ,libxml2)))
f032d0be 2274 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
2275 (synopsis "GNOME's Structured File Library")
2276 (description
2277 "Libgsf aims to provide an efficient extensible I/O abstraction for
2278dealing with different structured file formats.")
2279
2280 ;; LGPLv2.1-only.
2281 (license license:lgpl2.1)))
63016e7c
LC
2282
2283(define-public librsvg
f67417a1
MB
2284 (package
2285 (name "librsvg")
c1cc52a2 2286 (version "2.40.21")
f67417a1
MB
2287 (source (origin
2288 (method url-fetch)
2289 (uri (string-append "mirror://gnome/sources/" name "/"
2290 (version-major+minor version) "/"
2291 name "-" version ".tar.xz"))
2292 (sha256
2293 (base32
c1cc52a2 2294 "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))
f67417a1
MB
2295 (build-system gnu-build-system)
2296 (arguments
2297 `(#:configure-flags
2298 (list "--disable-static"
2299 "--enable-vala") ; needed for e.g. gnome-mines
2300 #:phases
2301 (modify-phases %standard-phases
2302 (add-before 'configure 'pre-configure
2303 (lambda* (#:key inputs #:allow-other-keys)
2304 (substitute* "gdk-pixbuf-loader/Makefile.in"
2305 ;; By default the gdk-pixbuf loader is installed under
2306 ;; gdk-pixbuf's prefix. Work around that.
2307 (("gdk_pixbuf_moduledir = .*$")
2308 (string-append "gdk_pixbuf_moduledir = "
2309 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2310 "loaders\n"))
2311 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2312 (("gdk_pixbuf_cache_file = .*$")
2313 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2314 #t))
2315 (add-before 'check 'remove-failing-tests
2316 (lambda _
2317 (with-directory-excursion "tests/fixtures/reftests"
2318 (for-each delete-file
2319 '(;; This test fails on i686:
2320 "svg1.1/masking-path-04-b.svg"
2321 ;; This test fails on armhf:
2322 "svg1.1/masking-mask-01-b.svg"
2323 ;; This test fails on aarch64:
2324 "bugs/777834-empty-text-children.svg")))
2325 #t)))))
2326 (native-inputs
2327 `(("pkg-config" ,pkg-config)
2328 ("vala" ,vala)
2329 ("glib" ,glib "bin") ; glib-mkenums, etc.
2330 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2331 (inputs
869b63cb
MB
2332 `(;; XXX: 1.44 causes some test failures, so we stick with 1.42 for
2333 ;; this ancient version of librsvg.
2334 ("pango" ,pango-1.42)
f67417a1
MB
2335 ("libcroco" ,libcroco)
2336 ("bzip2" ,bzip2)
2337 ("libgsf" ,libgsf)
2338 ("libxml2" ,libxml2)))
2339 (propagated-inputs
2340 ;; librsvg-2.0.pc refers to all of that.
2341 `(("cairo" ,cairo)
2342 ("gdk-pixbuf" ,gdk-pixbuf)
2343 ("glib" ,glib)))
2344 (home-page "https://wiki.gnome.org/LibRsvg")
2345 (synopsis "Render SVG files using Cairo")
2346 (description
2347 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
2348library.")
2349 (license license:lgpl2.0+)))
2350
2351(define-public librsvg-next
63016e7c 2352 (package
25d39a2a 2353 (inherit librsvg)
63016e7c 2354 (name "librsvg")
4f9db569 2355 (version "2.48.8")
69568670
EF
2356 (source (origin
2357 (method url-fetch)
2358 (uri (string-append "mirror://gnome/sources/librsvg/"
2359 (version-major+minor version) "/"
2360 "librsvg-" version ".tar.xz"))
2361 (sha256
2362 (base32
4f9db569 2363 "14i6xzghcidv64cyd3g0wdjbl82rph737yxn9s3x29nzpcjs707l"))
69568670
EF
2364 (modules '((guix build utils)))
2365 (snippet
2366 '(begin (delete-file-recursively "vendor")
69568670
EF
2367 #t))))
2368 (build-system cargo-build-system)
63016e7c 2369 (arguments
69568670
EF
2370 `(#:modules ((guix build cargo-build-system)
2371 (guix build utils)
2372 ((guix build gnu-build-system) #:prefix gnu:))
2373 #:vendor-dir "vendor"
2374 #:cargo-inputs
2375 (("rust-bitflags" ,rust-bitflags-1)
4f9db569 2376 ("rust-cairo-rs" ,rust-cairo-rs-0.8)
69568670 2377 ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
4f9db569
EF
2378 ("rust-cast" ,rust-cast-0.2)
2379 ("rust-cssparser" ,rust-cssparser-0.27)
69568670
EF
2380 ("rust-data-url" ,rust-data-url-0.1)
2381 ("rust-downcast-rs" ,rust-downcast-rs-1.1)
2382 ("rust-encoding" ,rust-encoding-0.2)
4f9db569
EF
2383 ("rust-float-cmp" ,rust-float-cmp-0.6)
2384 ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8)
69568670 2385 ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
4f9db569 2386 ("rust-gio" ,rust-gio-0.8)
69568670 2387 ("rust-gio-sys" ,rust-gio-sys-0.9)
4f9db569 2388 ("rust-glib" ,rust-glib-0.9)
69568670
EF
2389 ("rust-glib-sys" ,rust-glib-sys-0.9)
2390 ("rust-gobject-sys" ,rust-gobject-sys-0.9)
2391 ("rust-itertools" ,rust-itertools-0.8)
2392 ("rust-language-tags" ,rust-language-tags-0.2)
69568670
EF
2393 ("rust-libc" ,rust-libc-0.2)
2394 ("rust-locale-config" ,rust-locale-config-0.3)
4f9db569
EF
2395 ("rust-markup5ever" ,rust-markup5ever-0.10)
2396 ("rust-nalgebra" ,rust-nalgebra-0.19)
69568670 2397 ("rust-num-traits" ,rust-num-traits-0.2)
4f9db569 2398 ("rust-once-cell" ,rust-once-cell-1.2)
69568670 2399 ("rust-pkg-config" ,rust-pkg-config-0.3)
4f9db569 2400 ("rust-pango" ,rust-pango-0.8)
69568670 2401 ("rust-pango-sys" ,rust-pango-sys-0.9)
4f9db569 2402 ("rust-pangocairo" ,rust-pangocairo-0.9)
a5630553 2403 ("rust-rayon" ,rust-rayon-1)
69568670 2404 ("rust-rctree" ,rust-rctree-0.3)
4f9db569 2405 ("rust-rgb" ,rust-rgb-0.8)
6cd7b355 2406 ("rust-regex" ,rust-regex-1)
4f9db569 2407 ("rust-selectors" ,rust-selectors-0.22)
69568670 2408 ("rust-url" ,rust-url-2.1)
4f9db569 2409 ("rust-xml5ever" ,rust-xml5ever-0.16))
69568670 2410 #:cargo-development-inputs
4f9db569
EF
2411 (("rust-cairo-rs" ,rust-cairo-rs-0.8)
2412 ("rust-criterion" ,rust-criterion-0.3))
ec47c07d 2413 #:phases
b6239e45 2414 (modify-phases %standard-phases
69568670 2415 (add-after 'unpack 'prepare-for-build
ec47c07d 2416 (lambda _
69568670 2417 ;; In lieu of #:make-flags
4f9db569 2418 (setenv "CC" ,(cc-for-target))
69568670
EF
2419 ;; Something about the build environment resists building
2420 ;; successfully with the '--locked' flag.
2421 (substitute* '("Makefile.am"
2422 "Makefile.in")
2423 (("--locked") ""))
2424 #t))
b6239e45 2425 (add-before 'configure 'pre-configure
69568670 2426 (lambda _
b6239e45
EF
2427 (substitute* "gdk-pixbuf-loader/Makefile.in"
2428 ;; By default the gdk-pixbuf loader is installed under
2429 ;; gdk-pixbuf's prefix. Work around that.
2430 (("gdk_pixbuf_moduledir = .*$")
2431 (string-append "gdk_pixbuf_moduledir = "
2432 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2433 "loaders\n"))
2434 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2435 (("gdk_pixbuf_cache_file = .*$")
2436 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2437 #t))
69568670 2438 (add-after 'configure 'gnu-configure
4b16cb64
EF
2439 (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
2440 ((assoc-ref gnu:%standard-phases 'configure)
2441 #:native-inputs native-inputs
2442 #:inputs inputs
2443 #:outputs outputs
2444 #:configure-flags (list "--disable-static"
2445 "--enable-vala"))))
69568670
EF
2446 (add-after 'configure 'dont-vendor-self
2447 (lambda* (#:key vendor-dir #:allow-other-keys)
2448 ;; Don't keep the whole tarball in the vendor directory
2449 (delete-file-recursively
2450 (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))
2451 #t))
2452 (replace 'build
2453 (assoc-ref gnu:%standard-phases 'build))
2454 (replace 'check
2455 (lambda* args
2456 ((assoc-ref gnu:%standard-phases 'check)
2457 #:test-target "check")))
2458 (replace 'install
4f9db569
EF
2459 (assoc-ref gnu:%standard-phases 'install)))))
2460 (inputs
2461 `(("pango" ,pango)
2462 ,@(alist-delete "pango" (package-inputs librsvg))))
cf9dad6c 2463 (license license:lgpl2.1+)))
5698b8b8
JD
2464
2465(define-public libidl
2466 (package
2467 (name "libidl")
2468 (version "0.8.14")
2469 (source (origin
2470 (method url-fetch)
80a06e62
EF
2471 (uri (string-append "mirror://gnome/sources/libIDL/"
2472 (version-major+minor version) "/"
2473 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
2474 (sha256
2475 (base32
2476 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
2477 (build-system gnu-build-system)
2478 (inputs `(("glib" ,glib)))
2479 (native-inputs
2480 `(("pkg-config" ,pkg-config)
b3546174 2481 ("flex" ,flex)
5698b8b8
JD
2482 ("bison" ,bison)))
2483 (home-page "http://freecode.com/projects/libidl")
2484 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 2485 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
2486Definition Language (idl) files, which is a specification for defining
2487portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 2488GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 2489functionality was designed to be as reusable and portable as possible.")
ef2c55bb 2490 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
2491 (license license:lgpl2.0+)))
2492
2493
2494(define-public orbit2
2495 (package
2496 (name "orbit2")
2497 (version "2.14.19")
2498 (source (origin
2499 (method url-fetch)
2e6ecc5c 2500 (uri (let ((upstream-name "ORBit2"))
a124bbd2 2501 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2502 (version-major+minor version) "/"
2503 upstream-name "-" version ".tar.bz2")))
5698b8b8 2504 (sha256
a124bbd2
SB
2505 (base32
2506 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
2507 (build-system gnu-build-system)
2508 (arguments
c2d837b9
MB
2509 `(;; The "timeout-server" test hangs when run in parallel.
2510 #:parallel-tests? #f
2511 #:configure-flags
8aad2e32
LC
2512 '(;; We don't need static libraries, plus they don't build reproducibly
2513 ;; (non-deterministic ordering of .o files in the archive.)
2514 "--disable-static"
2515
2516 ;; The programmer kindly gives us a hook to turn off deprecation
2517 ;; warnings ...
2518 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
2519 ;; ... which they then completly ignore !!
2520 #:phases
dc1d3cde
KK
2521 (modify-phases %standard-phases
2522 (add-before 'configure 'ignore-deprecations
2523 (lambda _
2524 (substitute* "linc2/src/Makefile.in"
2525 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2526 #t)))))
5698b8b8
JD
2527 (inputs `(("glib" ,glib)
2528 ("libidl" ,libidl)))
2529 (native-inputs
2530 `(("pkg-config" ,pkg-config)))
2531 (home-page "https://projects.gnome.org/orbit2/")
2532 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 2533 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 2534featuring mature C, C++ and Python bindings.")
a124bbd2
SB
2535 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
2536 ;; a version. SOME of the code files have licence notices for GPLv2+.
2537 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
2538 (license license:gpl2+)
2539 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
2540
2541
2542(define-public libbonobo
2543 (package
2544 (name "libbonobo")
2545 (version "2.32.1")
2546 (source (origin
2547 (method url-fetch)
5becd025 2548 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 2549 (version-major+minor version)
5becd025 2550 "/" name "-" version ".tar.bz2"))
5698b8b8 2551 (sha256
f1fc45a9 2552 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
2553 (patches (search-patches
2554 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
2555 (build-system gnu-build-system)
2556 (arguments
2557 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
2558 `(#:configure-flags
2559 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
2560 ;; ... which they then completly ignore !!
2561 #:phases
dc1d3cde
KK
2562 (modify-phases %standard-phases
2563 (add-before 'configure 'ignore-deprecations
2564 (lambda _
2565 (substitute* "activation-server/Makefile.in"
2566 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
2567 #t)))
2568
2569 ;; There's apparently a race condition between the server stub
2570 ;; generation and linking of the example under 'samples/echo' that can
2571 ;; lead do undefined references when building in parallel, as reported
2572 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
2573 ;; Thus, disable parallel builds.
2574 #:parallel-build? #f))
5698b8b8
JD
2575 (inputs `(("popt" ,popt)
2576 ("libxml2" ,libxml2)))
2577 ;; The following are Required by the .pc file
44add1ce 2578 (propagated-inputs
5698b8b8
JD
2579 `(("glib" ,glib)
2580 ("orbit2" ,orbit2)))
2581 (native-inputs
2582 `(("intltool" ,intltool)
2583 ("pkg-config" ,pkg-config)
221ed17a 2584 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2585 ("flex" ,flex)
2586 ("bison" ,bison)))
2587 (home-page "https://developer.gnome.org/libbonobo/")
2588 (synopsis "Framework for creating reusable components for use in GNOME applications")
2589 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 2590use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
2591 ;; Licence not explicitly stated. Source files contain no licence notices.
2592 ;; Tarball contains text of both GPLv2 and LGPLv2
2593 ;; GPLv2 covers both conditions
2594 (license license:gpl2+)))
2595
2596
2597(define-public gconf
2598 (package
2599 (name "gconf")
2600 (version "3.2.6")
2601 (source (origin
2602 (method url-fetch)
a124bbd2
SB
2603 (uri
2604 (let ((upstream-name "GConf"))
2605 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2606 (version-major+minor version) "/"
2607 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
2608 (sha256
2609 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
2610 (build-system gnu-build-system)
2e88d113 2611 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 2612 ("libxml2" ,libxml2)))
2e6ecc5c
AE
2613 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
2614 ("orbit2" ,orbit2)))
5698b8b8
JD
2615 (native-inputs
2616 `(("intltool" ,intltool)
221ed17a 2617 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2618 ("pkg-config" ,pkg-config)))
2619 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
2620 (synopsis "Store application preferences")
2621 (description "Gconf is a system for storing application preferences. It
2622is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
2623 (license license:lgpl2.0+)
2624 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
2625
2626
2627(define-public gnome-mime-data
2628 (package
2629 (name "gnome-mime-data")
2630 (version "2.18.0")
2631 (source (origin
2632 (method url-fetch)
b38e45d8
EB
2633 (uri (string-append "mirror://gnome/sources/" name "/"
2634 (version-major+minor version) "/"
2635 name "-" version ".tar.bz2"))
5698b8b8
JD
2636 (sha256
2637 (base32
2638 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
2639 (build-system gnu-build-system)
2640 (native-inputs
2641 `(("perl" ,perl)
2642 ("intltool" ,intltool)))
3e6add96
LC
2643 (arguments
2644 '(#:phases (modify-phases %standard-phases
2645 (add-after 'configure 'use-our-intltool
2646 (lambda _
2647 ;; Do not use the bundled intltool commands, which lack
2648 ;; the "dotless @INC" fixes of our 'intltool' package.
2649 (substitute* (find-files "." "^Makefile$")
2650 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
2651 (string-append "INTLTOOL_" tool " = intltool-"
2652 (string-downcase tool) "\n")))
2653 #t)))))
f032d0be 2654 (home-page "https://www.gnome.org")
35b9e423 2655 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
2656 (description "GNOME Mime Data is a module which contains the base MIME
2657and Application database for GNOME. The data stored by this module is
2658designed to be accessed through the MIME functions in GnomeVFS.")
2659 (license license:gpl2+)))
2660
2661
2662(define-public gnome-vfs
2663 (package
2664 (name "gnome-vfs")
2665 (version "2.24.4")
2666 (source (origin
2667 (method url-fetch)
b38e45d8
EB
2668 (uri (string-append "mirror://gnome/sources/" name "/"
2669 (version-major+minor version) "/"
2670 name "-" version ".tar.bz2"))
5698b8b8 2671 (sha256
9e12bc34
MW
2672 (base32
2673 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
2674 (build-system gnu-build-system)
2675 (arguments
db5127d8 2676 `(#:phases
dc1d3cde
KK
2677 (modify-phases %standard-phases
2678 (add-before 'configure 'ignore-deprecations
2679 (lambda _
2680 (substitute* '("libgnomevfs/Makefile.in"
2681 "daemon/Makefile.in")
2682 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2683 #t))
2684 (add-before 'configure 'patch-test-async-cancel-to-never-fail
2685 (lambda _
2686 (substitute* "test/test-async-cancel.c"
2687 (("EXIT_FAILURE") "77"))
2688 #t)))))
2e6ecc5c 2689 (inputs `(("libxml2" ,libxml2)
5698b8b8 2690 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
2691 ("gconf" ,gconf)
2692 ("gnome-mime-data" ,gnome-mime-data)
2693 ("zlib" ,zlib)))
2694 (native-inputs
221ed17a
EB
2695 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2696 ("intltool" ,intltool)
5698b8b8
JD
2697 ("pkg-config" ,pkg-config)))
2698 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 2699 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
2700 (description
2701 "GnomeVFS is the core library used to access files and folders in GNOME
2702applications. It provides a file system abstraction which allows applications
2703to access local and remote files with a single consistent API.")
5698b8b8
JD
2704 (license license:lgpl2.0+)))
2705
2706
2707
2708(define-public libgnome
2709 (package
2710 (name "libgnome")
2711 (version "2.32.1")
2712 (source (origin
2713 (method url-fetch)
b38e45d8
EB
2714 (uri (string-append "mirror://gnome/sources/" name "/"
2715 (version-major+minor version) "/"
2716 name "-" version ".tar.bz2"))
5698b8b8
JD
2717 (sha256
2718 (base32
17c3eea7
LC
2719 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
2720 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
2721 (build-system gnu-build-system)
2722 (arguments
2723 `(#:phases
dc1d3cde
KK
2724 (modify-phases %standard-phases
2725 (add-before 'configure 'enable-deprecated
2726 (lambda _
2727 (substitute* "libgnome/Makefile.in"
2728 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2729 #t)))))
25338e9f 2730 (inputs `(("libxml2" ,libxml2)))
5698b8b8 2731 (native-inputs
221ed17a
EB
2732 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2733 ("intltool" ,intltool)
5698b8b8
JD
2734 ("pkg-config" ,pkg-config)))
2735 ;; The following are listed as Required in the .pc file
2736 ;; (except for libcanberra -- which seems to be oversight on the part
2737 ;; of the upstream developers -- anything that links against libgnome,
2738 ;; must also link against libcanberra
2739 (propagated-inputs
2740 `(("libcanberra" ,libcanberra)
2741 ("libbonobo" ,libbonobo)
2742 ("gconf" ,gconf)
a640d3d5
LC
2743 ("gnome-vfs" ,gnome-vfs)
2744 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
2745 (home-page "https://developer.gnome.org/libgnome/")
2746 (synopsis "Useful routines for building applications")
2747 (description "The libgnome library provides a number of useful routines
2748for building modern applications, including session management, activation of
2749files and URIs, and displaying help.")
2750 (license license:lgpl2.0+)))
2751
2752
2753(define-public libart-lgpl
2754 (package
2755 (name "libart-lgpl")
76c9b6aa 2756 (version "2.3.21")
5698b8b8
JD
2757 (source (origin
2758 (method url-fetch)
2759 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
2760 (string-append "mirror://gnome/sources/" upstream-name "/"
2761 (version-major+minor version) "/"
2762 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
2763 (sha256
2764 (base32
76c9b6aa 2765 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
2766 (build-system gnu-build-system)
2767 (native-inputs
2768 `(("pkg-config" ,pkg-config)))
2769 (home-page "https://people.gnome.org/~mathieu/libart")
2770 (synopsis "2D drawing library")
2e6ecc5c 2771 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
2772high-quality vector-based 2D library with antialiasing and alpha composition.")
2773 (license license:lgpl2.0+)))
2774
2775
2776
2777(define-public libgnomecanvas
2778 (package
2779 (name "libgnomecanvas")
2780 (version "2.30.3")
2781 (source (origin
2782 (method url-fetch)
b38e45d8
EB
2783 (uri (string-append "mirror://gnome/sources/" name "/"
2784 (version-major+minor version) "/"
2785 name "-" version ".tar.gz"))
5698b8b8
JD
2786 (sha256
2787 (base32
2788 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
2789 (build-system gnu-build-system)
2790 ;; Mentioned as Required in the .pc file
2791 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
2792 ("gtk+" ,gtk+-2)))
2793 (native-inputs
2794 `(("intltool" ,intltool)
221ed17a 2795 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2796 ("pkg-config" ,pkg-config)))
2797 (home-page "https://developer.gnome.org/libgnomecanvas/")
2798 (synopsis "Flexible widget for creating interactive structured graphics")
2799 (description "The GnomeCanvas widget provides a flexible widget for
2800creating interactive structured graphics.")
2801 (license license:lgpl2.0+)))
2802
eadc734e
RW
2803(define-public libgnomecanvasmm
2804 (package
2805 (name "libgnomecanvasmm")
2806 (version "2.26.0")
2807 (source (origin
2808 (method url-fetch)
2809 (uri (string-append "mirror://gnome/sources/" name "/"
2810 (version-major+minor version) "/"
2811 name "-" version ".tar.bz2"))
2812 (sha256
2813 (base32
2814 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
2815 (build-system gnu-build-system)
2816 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
2817 (native-inputs
2818 `(("gtkmm-2" ,gtkmm-2)
2819 ("pkg-config" ,pkg-config)))
8e933cb3 2820 (home-page "https://gtkmm.org")
eadc734e
RW
2821 (synopsis "C++ bindings to the GNOME Canvas library")
2822 (description "C++ bindings to the GNOME Canvas library.")
2823 (license license:lgpl2.0+)))
2824
5698b8b8
JD
2825(define-public libgnomeui
2826 (package
2827 (name "libgnomeui")
2828 (version "2.24.5")
2829 (source (origin
2830 (method url-fetch)
b38e45d8
EB
2831 (uri (string-append "mirror://gnome/sources/" name "/"
2832 (version-major+minor version) "/"
2833 name "-" version ".tar.bz2"))
8fa1872a 2834 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
2835 (sha256
2836 (base32
2837 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
2838 (build-system gnu-build-system)
2839 ;; Mentioned as Required in the .pc file
0a38a497
AE
2840 (propagated-inputs `(("libbonoboui" ,libbonoboui)
2841 ("libgnome" ,libgnome)
2842 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 2843 ("libgnome-keyring" ,libgnome-keyring)))
4bd428a7 2844 (inputs `(("libjpeg" ,libjpeg-turbo)
5698b8b8
JD
2845 ("popt" ,popt)
2846 ("libbonobo" ,libbonobo)
2847 ("libxml2" ,libxml2)
2848 ("libglade" ,libglade)))
2849 (native-inputs
221ed17a
EB
2850 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2851 ("intltool" ,intltool)
5698b8b8
JD
2852 ("pkg-config" ,pkg-config)))
2853 (home-page "https://developer.gnome.org/libgnomeui/")
2854 (synopsis "Additional widgets for applications")
35b9e423 2855 (description "The libgnomeui library provides additional widgets for
e881752c
AK
2856applications. Many of the widgets from libgnomeui have already been
2857ported to GTK+.")
5698b8b8
JD
2858 (license license:lgpl2.0+)))
2859
2860(define-public libglade
2861 (package
2862 (name "libglade")
2863 (version "2.6.4")
2864 (source (origin
2865 (method url-fetch)
b38e45d8
EB
2866 (uri (string-append "mirror://gnome/sources/" name "/"
2867 (version-major+minor version) "/"
2868 name "-" version ".tar.bz2"))
5698b8b8
JD
2869 (sha256
2870 (base32
2871 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
2872 (build-system gnu-build-system)
2873 (inputs
92dcc23d
AE
2874 `(("python" ,python))) ;; needed for the optional libglade-convert program
2875 (propagated-inputs
5698b8b8 2876 `(("gtk+-2" ,gtk+-2)
92dcc23d 2877 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
2878 (native-inputs
2879 `(("pkg-config" ,pkg-config)))
2880 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
2881 (synopsis "Load glade interfaces and access the glade built widgets")
2882 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
2883graphical interfaces described in glade files and for accessing the
2884widgets built in the loading process.")
2885 (license license:gpl2+))) ; This is correct. GPL not LGPL
2886
2887(define-public libgnomeprint
eb497b66
LC
2888 ;; This library has been deprecated since 2006; see
2889 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
2890 (package
2891 (name "libgnomeprint")
d19db454 2892 (version "2.18.8")
5698b8b8
JD
2893 (source (origin
2894 (method url-fetch)
b38e45d8
EB
2895 (uri (string-append "mirror://gnome/sources/" name "/"
2896 (version-major+minor version) "/"
2897 name "-" version ".tar.bz2"))
5698b8b8
JD
2898 (sha256
2899 (base32
d19db454 2900 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
2901 (build-system gnu-build-system)
2902 (inputs
2903 `(("popt" ,popt)
2904 ("libart-lgpl" ,libart-lgpl)
2905 ("gtk+" ,gtk+-2)
44add1ce 2906 ("libxml2" ,libxml2)))
5698b8b8
JD
2907 (native-inputs
2908 `(("intltool" ,intltool)
221ed17a 2909 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2910 ("pkg-config" ,pkg-config)))
2911 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 2912 (synopsis "Printing framework for GNOME")
eb497b66
LC
2913 (description
2914 "GNOME-print was a printing framework for GNOME. It has been deprecated
2915since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
2916 (license license:lgpl2.0+)))
2917
2918
2919(define-public libgnomeprintui
eb497b66 2920 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
2921 (package
2922 (name "libgnomeprintui")
36053d7f 2923 (version "2.18.6")
5698b8b8
JD
2924 (source (origin
2925 (method url-fetch)
b38e45d8
EB
2926 (uri (string-append "mirror://gnome/sources/" name "/"
2927 (version-major+minor version) "/"
2928 name "-" version ".tar.bz2"))
5698b8b8
JD
2929 (sha256
2930 (base32
36053d7f 2931 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
2932 (build-system gnu-build-system)
2933 ;; Mentioned as Required in the .pc file
2934 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
2935 (inputs `(("gtk+" ,gtk+-2)
2936 ("glib" ,glib)
2937 ("gnome-icon-theme" ,gnome-icon-theme)
2938 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 2939 ("libxml2" ,libxml2)))
5698b8b8
JD
2940 (native-inputs
2941 `(("intltool" ,intltool)
2942 ("pkg-config" ,pkg-config)))
2943 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
2944 (synopsis "Printing framework for GNOME")
eb497b66 2945 (description (package-description libgnomeprint))
5698b8b8
JD
2946 (license license:lgpl2.0+)))
2947
5698b8b8
JD
2948(define-public libbonoboui
2949 (package
2950 (name "libbonoboui")
2951 (version "2.24.5")
2952 (source (origin
2953 (method url-fetch)
b38e45d8
EB
2954 (uri (string-append "mirror://gnome/sources/" name "/"
2955 (version-major+minor version) "/"
2956 name "-" version ".tar.bz2"))
5698b8b8
JD
2957 (sha256
2958 (base32
2959 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
2960 (build-system gnu-build-system)
2961 (arguments
2962 `(#:phases
dc1d3cde
KK
2963 (modify-phases %standard-phases
2964 (add-before 'check 'start-xserver
2965 (lambda* (#:key inputs #:allow-other-keys)
2966 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2967 (disp ":1"))
2968
2969 (setenv "HOME" (getcwd))
2970 (setenv "DISPLAY" disp)
2971 ;; There must be a running X server and make check doesn't start one.
2972 ;; Therefore we must do it.
2973 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
2974 ;; Mentioned as Required by the .pc file
2975 (propagated-inputs `(("libxml2" ,libxml2)))
2976 (inputs
2977 `(("popt" ,popt)
2978 ("pangox-compat" ,pangox-compat)
2979 ("libgnome" ,libgnome)
2980 ("libgnomecanvas" ,libgnomecanvas)
2981 ("libglade" ,libglade)))
2982 (native-inputs
221ed17a
EB
2983 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
2984 ("intltool" ,intltool)
ff337525 2985 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
2986 ("pkg-config" ,pkg-config)))
2987 (home-page "https://developer.gnome.org/libbonoboui/")
2988 (synopsis "Some user interface controls using Bonobo")
2989 (description "The Bonobo UI library provides a number of user interface
2990controls using the Bonobo component framework.")
2991 (license license:lgpl2.0+)))
2992
fecbf86e
SB
2993(define-public libwnck
2994 (package
2995 (name "libwnck")
d3b40696 2996 (version "3.32.0")
fecbf86e
SB
2997 (source (origin
2998 (method url-fetch)
2999 (uri (string-append "mirror://gnome/sources/" name "/"
3000 (version-major+minor version) "/"
3001 name "-" version ".tar.xz"))
3002 (sha256
ad9b8987 3003 (base32
d3b40696
KK
3004 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
3005 (build-system meson-build-system)
fecbf86e
SB
3006 (native-inputs
3007 `(("pkg-config" ,pkg-config)
d3b40696
KK
3008 ("glib" ,glib "bin") ; for glib-mkenums
3009 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
3010 ("intltool" ,intltool)))
3011 (propagated-inputs
427476d5
SB
3012 `(("gtk+" ,gtk+)
3013 ("libxres" ,libxres)
3014 ("startup-notification" ,startup-notification)))
fecbf86e
SB
3015 (home-page "https://developer.gnome.org/libwnck/")
3016 (synopsis "Window Navigator Construction Kit")
3017 (description
3018 "Libwnck is the Window Navigator Construction Kit, a library for use in
3019writing pagers, tasklists, and more generally applications that are dealing
3020with window management. It tries hard to respect the Extended Window Manager
3021Hints specification (EWMH).")
3022 (license license:lgpl2.0+)))
3023
3024;; stable version for gtk2, required by xfwm4.
dbb7a081 3025(define-public libwnck-2
fecbf86e
SB
3026 (package (inherit libwnck)
3027 (name "libwnck")
3028 (version "2.30.7")
3029 (source (origin
3030 (method url-fetch)
3031 (uri (string-append "mirror://gnome/sources/" name "/"
3032 (version-major+minor version) "/"
3033 name "-" version ".tar.xz"))
3034 (sha256
3035 (base32
3036 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
3037 (build-system gnu-build-system)
3038 (native-inputs
3039 `(("pkg-config" ,pkg-config)
3040 ("intltool" ,intltool)))
fecbf86e 3041 (propagated-inputs
427476d5
SB
3042 `(("gtk+" ,gtk+-2)
3043 ("libxres" ,libxres)
3044 ("startup-notification" ,startup-notification)))))
b804c61e
JD
3045
3046(define-public goffice
3047 (package
3048 (name "goffice")
09abffcc 3049 (version "0.10.46")
b804c61e
JD
3050 (source (origin
3051 (method url-fetch)
16243f0b 3052 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 3053 (version-major+minor version) "/"
16243f0b 3054 "goffice-" version ".tar.xz"))
b804c61e 3055 (sha256
09abffcc 3056 (base32 "1a8kba36zwzr0ilafc0d1nsxxma1qibviiifd0jhbxp180x6v385"))))
b804c61e 3057 (build-system gnu-build-system)
72a06d3e 3058 (outputs '("out"
355420c6 3059 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
3060 (arguments
3061 '(#:configure-flags (list (string-append "--with-html-dir="
3062 (assoc-ref %outputs "doc")
3063 "/share/gtk-doc/html"))))
b804c61e
JD
3064 (inputs
3065 `(("gtk+" ,gtk+)
3066 ("libgsf" ,libgsf)
3067 ("librsvg" ,librsvg)
3068 ("libxslt" ,libxslt)
3069 ("libxml2" ,libxml2)))
3070 (native-inputs
3071 `(("intltool" ,intltool)
f280cdb1 3072 ("glib" ,glib "bin")
b804c61e
JD
3073 ("pkg-config" ,pkg-config)))
3074 (home-page "https://developer.gnome.org/goffice/")
3075 (synopsis "Document-centric objects and utilities")
3076 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 3077 (license
b804c61e
JD
3078 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3079 ;; Note: NOT LGPL
3080 (list license:gpl2 license:gpl3))))
3081
c024ae36
RW
3082(define-public goffice-0.8
3083 (package (inherit goffice)
3084 (version "0.8.17")
3085 (source (origin
3086 (method url-fetch)
3087 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
3088 (version-major+minor version) "/"
3089 (package-name goffice) "-" version ".tar.xz"))
3090 (sha256
3091 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
3092 (arguments
3093 `(#:phases
dc1d3cde
KK
3094 (modify-phases %standard-phases
3095 (add-after 'unpack 'fix-pcre-check
3096 (lambda _
3097 ;; Only glib.h can be included directly. See
3098 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
3099 (substitute* "configure"
3100 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
3101
3102 ,@(package-arguments goffice)))
c024ae36
RW
3103 (propagated-inputs
3104 ;; libgoffice-0.8.pc mentions libgsf-1
3105 `(("libgsf" ,libgsf)))
3106 (inputs
3107 `(("gtk" ,gtk+-2)
3108 ,@(alist-delete "gtk" (package-inputs goffice))))))
3109
b804c61e
JD
3110(define-public gnumeric
3111 (package
3112 (name "gnumeric")
f0517b5d 3113 (version "1.12.46")
b804c61e
JD
3114 (source (origin
3115 (method url-fetch)
b7fd0217 3116 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 3117 (version-major+minor version) "/"
b7fd0217 3118 "gnumeric-" version ".tar.xz"))
b804c61e
JD
3119 (sha256
3120 (base32
f0517b5d 3121 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 3122 (build-system glib-or-gtk-build-system)
b804c61e
JD
3123 (arguments
3124 `(;; The gnumeric developers don't worry much about failing tests.
3125 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 3126 #:tests? #f
b804c61e 3127 #:phases
7bcbd40d
EF
3128 (modify-phases %standard-phases
3129 (add-before
3130 'configure 'pre-conf
3131 (lambda* (#:key outputs #:allow-other-keys)
3132 ;; Make install tries to write into the directory of goffice
3133 ;; I am informed that this only affects the possibility to embed a
3134 ;; spreadsheet inside an Abiword document. So presumably when we
3135 ;; package Abiword we'll have to refer it to this directory.
3136 (substitute* "configure"
3137 (("^GOFFICE_PLUGINS_DIR=.*")
3138 (string-append "GOFFICE_PLUGINS_DIR="
3139 (assoc-ref outputs "out")
3140 "/goffice/plugins"))))))))
b804c61e
JD
3141 (inputs
3142 `(("glib" ,glib)
3143 ("gtk+" ,gtk+)
3144 ("goffice" ,goffice)
3145 ("libgsf" ,libgsf)
7bcbd40d 3146 ("librsvg" ,librsvg)
b804c61e 3147 ("libxml2" ,libxml2)
7bcbd40d 3148 ("libxslt" ,libxslt)
2e4c5457 3149 ("python" ,python-2)
6983ba56 3150 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
3151 ("zlib" ,zlib)))
3152 (native-inputs
6983ba56 3153 `(("bison" ,bison)
1ed398d1 3154 ("docbook-xml" ,docbook-xml)
6983ba56 3155 ("intltool" ,intltool)
785fcb62 3156 ("itstool" ,itstool)
b9663471 3157 ("glib:bin" ,glib "bin")
b804c61e
JD
3158 ("pkg-config" ,pkg-config)))
3159 (home-page "http://www.gnumeric.org")
66672a45
LC
3160 (synopsis "Spreadsheet application")
3161 (description
3162 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
3163interoperable with other spreadsheet applications. It has a vast array of
3164features beyond typical spreadsheet functionality, such as support for linear
3165and non-linear solvers, statistical analysis, and telecommunication
3166engineering.")
3167 (license
b804c61e
JD
3168 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3169 (list license:gpl2 license:gpl3))))
6f885c05
FB
3170
3171(define-public gnome-themes-standard
3172 (package
3173 (name "gnome-themes-standard")
0b7b8fb0 3174 (version "3.22.3")
6f885c05
FB
3175 (source
3176 (origin
3177 (method url-fetch)
2e6ecc5c 3178 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
3179 (version-major+minor version) "/" name "-"
3180 version ".tar.xz"))
3181 (sha256
3182 (base32
0b7b8fb0 3183 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 3184 (build-system gnu-build-system)
8ac70c7f
SB
3185 (arguments
3186 '(#:configure-flags
3187 ;; Don't create 'icon-theme.cache'.
3188 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
3189 (true (string-append coreutils "/bin/true")))
3190 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
3191 (inputs
3192 `(("gtk+" ,gtk+)
3193 ("gtk+-2" ,gtk+-2)
3194 ("librsvg" ,librsvg)
3195 ("libxml2" ,libxml2)
3196 ("glib" ,glib)))
3197 (native-inputs
3198 `(("intltool" ,intltool)
3199 ("glib:bin" ,glib "bin")
3200 ("pkg-config" ,pkg-config)))
6f885c05
FB
3201 (home-page "https://launchpad.net/gnome-themes-standard")
3202 (synopsis "Default GNOME 3 themes")
3203 (description
3204 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
3205 (license license:lgpl2.1+)))
5a659a48 3206
df90c701
RW
3207(define-public seahorse
3208 (package
3209 (name "seahorse")
1efcf722 3210 (version "3.34")
df90c701
RW
3211 (source
3212 (origin
3213 (method url-fetch)
3214 (uri (string-append "mirror://gnome/sources/" name "/"
3215 (version-major+minor version) "/" name "-"
3216 version ".tar.xz"))
3217 (sha256
3218 (base32
1efcf722 3219 "16sfnqrdlr5xx6kixx2ln1mva7nngjlw1k3f5n454vyaigffjh2v"))))
af561664
MÁAV
3220 (build-system meson-build-system)
3221 (arguments
bcea3c11
KK
3222 '(#:glib-or-gtk? #t
3223 #:phases
af561664
MÁAV
3224 (modify-phases %standard-phases
3225 (add-after 'unpack 'skip-gtk-update-icon-cache
3226 ;; Don't create 'icon-theme.cache'.
3227 (lambda _
3228 (substitute* "build-aux/meson_post_install.py"
3229 (("gtk-update-icon-cache") "true"))
3230 #t)))))
df90c701
RW
3231 (inputs
3232 `(("gtk+" ,gtk+)
3233 ("gcr" ,gcr)
34b979b9 3234 ("gnupg" ,gnupg)
df90c701 3235 ("gpgme" ,gpgme)
34b979b9 3236 ("openldap" ,openldap)
4a1bf090 3237 ("openssh" ,openssh)
af561664 3238 ("avahi" ,avahi)
bcea3c11 3239 ("libpwquality" ,libpwquality)
34b979b9
EF
3240 ("libsecret" ,libsecret)
3241 ("libsoup" ,libsoup)))
df90c701 3242 (native-inputs
af561664 3243 `(("gettext" ,gettext-minimal)
df90c701
RW
3244 ("glib:bin" ,glib "bin")
3245 ("itstool" ,itstool)
bcb354ad 3246 ("pkg-config" ,pkg-config)
af561664 3247 ("vala" ,vala)
bcb354ad 3248 ("xmllint" ,libxml2)))
bcea3c11 3249 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
3250 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
3251 (description
3252 "Seahorse is a GNOME application for managing encryption keys and
3253passwords in the GNOME keyring.")
3254 (license license:gpl2+)))
3255
5a659a48
SB
3256(define-public vala
3257 (package
3258 (name "vala")
b92a36db 3259 (version "0.46.5")
5a659a48
SB
3260 (source (origin
3261 (method url-fetch)
3262 (uri (string-append "mirror://gnome/sources/" name "/"
3263 (version-major+minor version) "/"
3264 name "-" version ".tar.xz"))
3265 (sha256
3266 (base32
b92a36db 3267 "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s"))))
5a659a48 3268 (build-system gnu-build-system)
1ea90625
SB
3269 (arguments
3270 '(#:phases
3271 (modify-phases %standard-phases
f4925a4f 3272 (add-before 'check 'pre-check
1ea90625
SB
3273 (lambda _
3274 (setenv "CC" "gcc")
8839b6be
RW
3275 (substitute* "valadoc/tests/testrunner.sh"
3276 (("export PKG_CONFIG_PATH=" m)
3277 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
3278 ;; For missing '/etc/machine-id'.
3279 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 3280 #t)))))
5a659a48
SB
3281 (native-inputs
3282 `(("pkg-config" ,pkg-config)
3283 ("flex" ,flex)
3284 ("bison" ,bison)
3285 ("xsltproc" ,libxslt)
3286 ("dbus" ,dbus) ; for dbus tests
3287 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
3288 (inputs
3289 `(("graphviz" ,graphviz)))
5a659a48 3290 (propagated-inputs
8839b6be 3291 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 3292 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
3293 (synopsis "Compiler for the GObject type system")
3294 (description
3295 "Vala is a programming language that aims to bring modern programming
3296language features to GNOME developers without imposing any additional runtime
3297requirements and without using a different ABI compared to applications and
3298libraries written in C.")
3299 (license license:lgpl2.1+)))
ea57378f 3300
2dcaa760
RP
3301(define-public vala-0.48
3302 (package
3303 (inherit vala)
3304 (version "0.48.6")
3305 (source (origin
3306 (method url-fetch)
3307 (uri (string-append "mirror://gnome/sources/vala/"
3308 (version-major+minor version) "/"
3309 "vala-" version ".tar.xz"))
3310 (sha256
3311 (base32
3312 "01wppzgacdmp8dgf8047myz1any2yffmrhgl8kqf1q0c0gnhi3fi"))))))
3313
ea57378f
SB
3314(define-public vte
3315 (package
3316 (name "vte")
53865a93 3317 (version "0.60.3")
ea57378f
SB
3318 (source (origin
3319 (method url-fetch)
ac87ffb8 3320 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 3321 (version-major+minor version) "/"
ac87ffb8 3322 "vte-" version ".tar.xz"))
ea57378f
SB
3323 (sha256
3324 (base32
53865a93 3325 "0al2v6fn061v4j1wwvppim1q283y2a6s0iyl29hxhmx3h48nxdzy"))))
68c47474 3326 (build-system meson-build-system)
663def11
RPG
3327 (arguments
3328 `(#:configure-flags
11491e1b
DM
3329 '("-Dvapi=true"
3330 "-D_systemd=false")))
ea57378f
SB
3331 (native-inputs
3332 `(("pkg-config" ,pkg-config)
4684580a 3333 ("gettext" ,gettext-minimal)
ea57378f
SB
3334 ("vala" ,vala)
3335 ("gobject-introspection" ,gobject-introspection)
68c47474 3336 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 3337 ("gperf" ,gperf)
ea57378f
SB
3338 ("xmllint" ,libxml2)))
3339 (propagated-inputs
68c47474
TGR
3340 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
3341 ("gnutls" ,gnutls) ; ditto
3342 ("pcre2" ,pcre2))) ; ditto
f032d0be 3343 (home-page "https://www.gnome.org/")
ea57378f
SB
3344 (synopsis "Virtual Terminal Emulator")
3345 (description
3346 "VTE is a library (libvte) implementing a terminal emulator widget for
3347GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
3348gnome-terminal, but can also be used to embed a console/terminal in games,
3349editors, IDEs, etc.")
3350 (license license:lgpl2.1+)))
3351
c44fb4df
MO
3352(define-public vte-ng
3353 (package
3354 (inherit vte)
3355 (name "vte-ng")
24f4fcbe 3356 (version "0.58.2.a")
afd90f8d 3357 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
3358 (source (origin
3359 (method git-fetch)
3360 (uri (git-reference (url home-page) (commit version)))
3361 (file-name (git-file-name name version))
3362 (sha256
3363 (base32
24f4fcbe
MB
3364 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
3365 (build-system meson-build-system)
c44fb4df
MO
3366 (native-inputs
3367 `(("gtk-doc" ,gtk-doc)
c44fb4df 3368 ,@(package-native-inputs vte)))
c44fb4df 3369 (arguments
24f4fcbe 3370 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
3371 (synopsis "Enhanced VTE terminal widget")
3372 (description
3373 "VTE is a library (libvte) implementing a terminal emulator widget for
3374GTK+, this fork provides additional functions exposed for keyboard text
3375selection and URL hints.")))
3376
2776d72c
EF
3377;; provides vte 2.90, required for some terminal emulators
3378;; tilda bug: https://github.com/lanoxx/tilda/issues/94
3379;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
3380;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
3381;; pantheon-terminal, roxterm are not currently packaged
3382(define-public vte-0.36
3383 (package (inherit vte)
3384 (name "vte")
3385 (version "0.36.5")
3386 (source (origin
3387 (method url-fetch)
3388 (uri (string-append "mirror://gnome/sources/" name "/"
3389 (version-major+minor version) "/"
3390 name "-" version ".tar.xz"))
3391 (sha256
3392 (base32
3393 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
3394 (propagated-inputs
3395 `(("gtk" ,gtk+)
3396 ("ncurses" ,ncurses)))))
3397
ea57378f
SB
3398;; stable version for gtk2, required by xfce4-terminal.
3399(define-public vte/gtk+-2
3400 (package (inherit vte)
3401 (name "vte")
3402 (version "0.28.2")
3403 (source (origin
3404 (method url-fetch)
3405 (uri (string-append "mirror://gnome/sources/" name "/"
3406 (version-major+minor version) "/"
3407 name "-" version ".tar.xz"))
3408 (sha256
3409 (base32
7d48938a
EF
3410 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
3411 (patches (search-patches
3412 "vte-CVE-2012-2738-pt1.patch"
3413 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 3414 (build-system gnu-build-system)
ea57378f
SB
3415 (arguments
3416 '(#:configure-flags '("--disable-python")))
3417 (native-inputs
3418 `(("pkg-config" ,pkg-config)
3419 ("intltool" ,intltool)
3420 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
3421 (propagated-inputs
3422 `(("gtk+" ,gtk+-2) ; required by libvte.pc
3423 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 3424
cce0da5e
TD
3425(define-public vinagre
3426 (package
3427 (name "vinagre")
3428 (version "3.22.0")
3429 (source (origin
3430 (method url-fetch)
3431 (uri (string-append "mirror://gnome/sources/" name "/"
3432 (version-major+minor version) "/"
3433 name "-" version ".tar.xz"))
684f97f8
EF
3434 (patches (search-patches "vinagre-newer-freerdp.patch"
3435 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
3436 (sha256
3437 (base32
3438 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
3439 (build-system glib-or-gtk-build-system)
684f97f8 3440 (arguments
7f486d25
MC
3441 ;; Disable -Werror and such, to avoid build failures on compilation
3442 ;; warnings.
3443 '(#:configure-flags '("--enable-compile-warnings=minimum")
3444 #:phases
684f97f8 3445 (modify-phases %standard-phases
1839768c
EF
3446 (add-before 'install 'skip-gtk-update-icon-cache
3447 (lambda _
3448 ;; Don't create 'icon-theme.cache'
3449 (substitute* (find-files "." "^Makefile$")
3450 (("gtk-update-icon-cache") (which "true")))
3451 #t))
684f97f8
EF
3452 (add-after 'unpack 'patch-configure
3453 (lambda _
3454 (substitute* "configure"
3455 (("freerdp") "freerdp2"))
3456 #t)))))
cce0da5e
TD
3457 (native-inputs
3458 `(("pkg-config" ,pkg-config)
3459 ("intltool" ,intltool)
3460 ("itstool" ,itstool)
1839768c 3461 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
3462 (inputs
3463 `(("libxml2" ,libxml2)
3464 ("gtk-vnc" ,gtk-vnc)
3465 ("gnome-keyring" ,gnome-keyring)
3466 ("libsecret" ,libsecret)
3467 ("freerdp" ,freerdp)
3468 ("spice" ,spice)
3469 ("spice-gtk" ,spice-gtk)
3470 ("telepathy-glib" ,telepathy-glib)
3471 ("vte" ,vte)))
cce0da5e
TD
3472 (home-page "https://wiki.gnome.org/Apps/Vinagre")
3473 (synopsis "Remote desktop viewer for GNOME")
3474 (description "Vinagre is a remote display client supporting the VNC, SPICE
3475and RDP protocols.")
3476 (license license:gpl3+)))
3477
b47e1b20
FB
3478(define-public dconf
3479 (package
3480 (name "dconf")
7f4d075d 3481 (version "0.34.0")
b47e1b20
FB
3482 (source (origin
3483 (method url-fetch)
3484 (uri (string-append
2e6ecc5c 3485 "mirror://gnome/sources/" name "/"
b47e1b20
FB
3486 (version-major+minor version) "/"
3487 name "-" version ".tar.xz"))
46c3a08b 3488 (patches (search-patches "dconf-meson-0.52.patch"))
b47e1b20 3489 (sha256
f05c809f 3490 (base32
7f4d075d 3491 "0lnsl85cp2vpzgp8pkf6l6yd2i3lp02jdvga1icfa78j2smr8fll"))))
35fa923d 3492 (build-system meson-build-system)
bc036f4c
MB
3493 (propagated-inputs
3494 ;; In Requires of dconf.pc.
3495 `(("glib" ,glib)))
b47e1b20
FB
3496 (inputs
3497 `(("gtk+" ,gtk+)
bc036f4c 3498 ("dbus" ,dbus)))
b47e1b20 3499 (native-inputs
1e33331c
MB
3500 `(("bash-completion" ,bash-completion)
3501 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 3502 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
3503 ("docbook-xml" ,docbook-xml-4.2)
3504 ("docbook-xsl" ,docbook-xsl)
35fa923d 3505 ("glib:bin" ,glib "bin")
03676d6f 3506 ("gtk-doc" ,gtk-doc)
35fa923d
MB
3507 ("pkg-config" ,pkg-config)
3508 ("vala" ,vala)))
b47e1b20
FB
3509 (arguments
3510 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
3511 ; or /etc/machine-id.
35fa923d
MB
3512 #:glib-or-gtk? #t
3513 #:configure-flags '("-Denable-gtk-doc=true")))
79d7b527 3514 (home-page "https://developer.gnome.org/dconf/")
b47e1b20
FB
3515 (synopsis "Low-level GNOME configuration system")
3516 (description "Dconf is a low-level configuration system. Its main purpose
3517is to provide a backend to GSettings on platforms that don't already have
3518configuration storage systems.")
e20e6b40 3519 (license license:lgpl2.1+)))
109da1c0
AE
3520
3521(define-public json-glib
3522 (package
3523 (name "json-glib")
4115e8ea 3524 (version "1.4.4")
109da1c0
AE
3525 (source (origin
3526 (method url-fetch)
3527 (uri (string-append "mirror://gnome/sources/" name "/"
3528 (version-major+minor version) "/"
3529 name "-" version ".tar.xz"))
3530 (sha256
3531 (base32
4115e8ea 3532 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 3533 (build-system meson-build-system)
109da1c0 3534 (native-inputs
98afa184
MB
3535 `(("gettext" ,gettext-minimal)
3536 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
3537 ("gobject-introspection" ,gobject-introspection)
3538 ("pkg-config" ,pkg-config)))
3539 (propagated-inputs
88c6b580 3540 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
3541 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
3542 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
3543 (description
3544 "JSON-GLib is a C library based on GLib providing serialization and
3545deserialization support for the JavaScript Object Notation (JSON) format
3546described by RFC 4627. It provides parser and generator GObject classes and
3547various wrappers for the complex data types employed by JSON, such as arrays
3548and objects.")
109da1c0 3549 (license license:lgpl2.1+)))
6f96a359
SB
3550
3551(define-public libxklavier
3552 (package
3553 (name "libxklavier")
5f39050b 3554 (version "5.4")
6f96a359 3555 (source (origin
5f39050b 3556 ;; Note: There's no tarball at ftp.gnome.org for this version.
3557 (method git-fetch)
3558 (uri (git-reference
3559 (url "https://anongit.freedesktop.org/git/libxklavier")
3560 (commit (string-append "libxklavier-" version))))
6f96a359
SB
3561 (sha256
3562 (base32
5f39050b 3563 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
3564 (file-name (git-file-name name version))))
6f96a359
SB
3565 (build-system gnu-build-system)
3566 (arguments
778d6b52 3567 '(#:configure-flags
6f96a359
SB
3568 (list (string-append "--with-xkb-base="
3569 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 3570 "/share/X11/xkb")
3571 "--disable-xmodmap-support")))
6f96a359
SB
3572 (native-inputs
3573 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
3574 ("gobject-introspection" ,gobject-introspection)
5f39050b 3575 ("pkg-config" ,pkg-config)
3576 ("gtk-doc" ,gtk-doc)
3577 ("intltool" ,intltool)
3578 ("which" ,which)
3579 ("autoconf" ,autoconf)
3580 ("automake" ,automake)
3581 ("libtool" ,libtool)))
6f96a359
SB
3582 (propagated-inputs
3583 ;; Required by libxklavier.pc.
3584 `(("glib" ,glib)
3585 ("libxml2" ,libxml2)))
3586 (inputs
3587 `(("iso-codes" ,iso-codes)
3588 ("libxi" ,libxi)
3589 ("libxkbfile" ,libxkbfile)
3590 ("xkbcomp" ,xkbcomp)
3591 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 3592 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
3593 (synopsis "High-level API for X Keyboard Extension")
3594 (description
3595 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
3596Extension known as XKB. This library is intended to support XFree86 and other
3597commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
3598indicators etc).")
3599 (license license:lgpl2.0+)))
619936a4
LC
3600
3601(define-public python2-rsvg
3602 ;; XXX: This is actually a subset of gnome-python-desktop.
3603 (package
3604 (name "python2-rsvg")
3605 (version "2.32.0")
3606 (source
3607 (origin
3608 (method url-fetch)
3609 (uri (string-append
3610 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
3611 version ".tar.bz2"))
3612 (sha256
3613 (base32
3614 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
3615 (build-system gnu-build-system)
3616 (native-inputs
3617 `(("pkg-config" ,pkg-config)))
3618 (inputs
3619 `(("python" ,python-2)
3620 ("python2-pygtk" ,python2-pygtk)
3621 ("librsvg" ,librsvg)))
f032d0be 3622 (home-page "https://www.gnome.org")
619936a4
LC
3623 (synopsis "Python bindings to librsvg")
3624 (description
3ad75446 3625 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
3626library.")
3627
3628 ;; This is the license of the rsvg bindings. The license of each module
3629 ;; of gnome-python-desktop is given in 'COPYING'.
3630 (license license:lgpl2.1+)))
a31a6d22 3631
f2ca414a
SB
3632(define-public glib-networking
3633 (package
3634 (name "glib-networking")
ea9f74b0 3635 (version "2.62.2")
f2ca414a
SB
3636 (source (origin
3637 (method url-fetch)
3638 (uri (string-append "mirror://gnome/sources/glib-networking/"
3639 (version-major+minor version) "/"
fb8fe1e8 3640 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
3641 (sha256
3642 (base32
ea9f74b0 3643 "0i2mw75297ql72h47vyvff3hqa0kcmqybblj52fqrarb0kfbhi06"))))
65211552 3644 (build-system meson-build-system)
f2ca414a 3645 (arguments
0d75c64d 3646 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
3647 (native-inputs
3648 `(("pkg-config" ,pkg-config)
3649 ("intltool" ,intltool)))
3650 (inputs
3651 `(("glib" ,glib)
3652 ("gnutls" ,gnutls)
4b8f1313 3653 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 3654 (home-page "https://www.gnome.org")
f2ca414a
SB
3655 (synopsis "Network-related GIO modules")
3656 (description
3657 "This package contains various network related extensions for the GIO
3658library.")
3659 (license license:lgpl2.0+)))
3660
ca649680 3661(define-public rest
4510b2da 3662 (package
ca649680 3663 (name "rest")
a4194d16 3664 (version "0.8.1")
4510b2da
SB
3665 (source (origin
3666 (method url-fetch)
3667 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
3668 (version-major+minor version) "/"
3669 name "-" version ".tar.xz"))
4510b2da
SB
3670 (sha256
3671 (base32
a4194d16 3672 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
3673 (build-system gnu-build-system)
3674 (arguments
3675 '(#:tests? #f ; tests require internet connection
3676 #:configure-flags
3677 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
3678 (native-inputs
3679 `(("glib-mkenums" ,glib "bin")
3680 ("gobject-introspection" ,gobject-introspection)
3681 ("pkg-config" ,pkg-config)))
3682 (propagated-inputs
3683 ;; rest-0.7.pc refers to all these.
3684 `(("glib" ,glib)
3685 ("libsoup" ,libsoup)
3686 ("libxml2" ,libxml2)))
24d6cc1d 3687 (home-page "https://www.gtk.org/")
4510b2da
SB
3688 (synopsis "RESTful web api query library")
3689 (description
3690 "This library was designed to make it easier to access web services that
3691claim to be \"RESTful\". It includes convenience wrappers for libsoup and
3692libxml to ease remote use of the RESTful API.")
3693 (license license:lgpl2.1+)))
3694
6e1bb642
SB
3695(define-public libsoup
3696 (package
3697 (name "libsoup")
9a9cd9bc 3698 (version "2.70.0")
6e1bb642
SB
3699 (source (origin
3700 (method url-fetch)
3701 (uri (string-append "mirror://gnome/sources/libsoup/"
3702 (version-major+minor version) "/"
c1b79b36 3703 "libsoup-" version ".tar.xz"))
6e1bb642
SB
3704 (sha256
3705 (base32
9a9cd9bc 3706 "0hjk9lgppc5435my0lyywbpmj7ib5vvcylwfin8ki97g9bvj1c2l"))))
eccaa8bf 3707 (build-system meson-build-system)
6e1bb642
SB
3708 (outputs '("out" "doc"))
3709 (arguments
2deb146f 3710 `(#:modules ((guix build utils)
eccaa8bf 3711 (guix build meson-build-system)
2deb146f
LC
3712 (ice-9 popen))
3713
f8026a79 3714 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
3715 #:phases
3716 (modify-phases %standard-phases
eccaa8bf 3717 (add-after 'unpack 'adjust-tests
26c228f9 3718 (lambda _
eccaa8bf
MB
3719 ;; This test fails due to missing /etc/nsswitch.conf
3720 ;; in the build environment.
26c228f9
LC
3721 (substitute* "tests/socket-test.c"
3722 ((".*/sockets/unconnected.*") ""))
2deb146f 3723
f8026a79
MB
3724 ;; These fail because "subdomain.localhost" does not resolve in
3725 ;; the build environment.
3726 (substitute* "tests/hsts-test.c"
3727 ((".*/hsts/basic.*") "")
3728 ((".*/hsts/subdomains.*") "")
3729 ((".*/hsts/superdomain.*") "")
3730 ((".*/hsts/utf8-address.*") ""))
3731 (substitute* "tests/hsts-db-test.c"
3732 ((".*/hsts-db/subdomains.*") ""))
3733
2deb146f
LC
3734 ;; Generate a self-signed certificate that has "localhost" as its
3735 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
3736 ;; 3.5.12, tests such as "ssl-tests" fail:
3737 ;;
3738 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
3739 ;;
3740 ;; 'certtool' is interactive so we have to pipe it the answers.
3741 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
3742 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
3743 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
3744 (for-each (lambda (line)
3745 (display line pipe)
3746 (newline pipe))
3747 '("" ;Common name
3748 "" ;UID
3749 "Guix" ;Organizational unit name
3750 "GNU" ;Organization name
3751 "" ;Locality name
3752 "" ;State or province
3753 "" ;Country
3754 "" ;subject's domain component (DC)
3755 "" ;E-mail
3756 "" ;serial number
3757 "-1" ;expiration time
3758 "N" ;belong to authority?
3759 "N" ;web client certificate?
3760 "N" ;IPsec IKE?
3761 "Y" ;web server certificate?
3762 "localhost" ;dnsName of subject
3763 "" ;dnsName of subject (end)
3764 "" ;URI of subject
3765 "127.0.0.1" ;IP address of subject
3766 "" ;signing?
06f5bc4e
MB
3767 "" ;encryption (RSA)?
3768 "" ;data encryption?
2deb146f
LC
3769 "" ;sign OCSP requests?
3770 "" ;sign code?
3771 "" ;time stamping?
3772 "" ;email protection?
3773 "" ;URI of the CRL distribution point
3774 "y" ;above info OK?
3775 ))
3776 (close-pipe pipe))
26c228f9 3777 #t))
eccaa8bf
MB
3778 (add-after 'install 'move-doc
3779 (lambda* (#:key outputs #:allow-other-keys)
3780 (let ((out (assoc-ref outputs "out"))
3781 (doc (assoc-ref outputs "doc")))
3782 (mkdir-p (string-append doc "/share"))
3783 (copy-recursively (string-append out "/share/gtk-doc")
3784 (string-append doc "/share/gtk-doc"))
3785 (delete-file-recursively (string-append out "/share/gtk-doc"))
3786 #t))))))
6e1bb642 3787 (native-inputs
26c228f9 3788 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 3789 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 3790 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
3791 ("intltool" ,intltool)
3792 ("pkg-config" ,pkg-config)
3793 ("python" ,python-wrapper)
fd730590 3794 ("vala" ,vala)
53c41e95 3795 ("php" ,php)
6e1bb642 3796 ("curl" ,curl)
2deb146f 3797 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
3798 ("httpd" ,httpd)))
3799 (propagated-inputs
3800 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
3801 `(("brotli" ,google-brotli)
3802 ("glib" ,glib)
249846bf 3803 ("libpsl" ,libpsl)
eccaa8bf 3804 ("libxml2" ,libxml2)
f8026a79
MB
3805 ("sqlite" ,sqlite)
3806 ("zlib" ,zlib)))
eccaa8bf
MB
3807 (inputs
3808 `(("glib-networking" ,glib-networking)
3809 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
3810 (home-page "https://live.gnome.org/LibSoup/")
3811 (synopsis "GLib-based HTTP Library")
3812 (description
3813 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
3814and the GLib main loop, to integrate well with GNOME applications.")
3815 (license license:lgpl2.0+)))
3816
43b6b45e
MC
3817
3818;;; A minimal version of libsoup used to prevent a cycle with Inkscape.
3819(define-public libsoup-minimal
3820 (package
3821 (inherit libsoup)
3822 (name "libsoup-minimal")
3823 (outputs (delete "doc" (package-outputs libsoup)))
3824 (arguments
3825 (substitute-keyword-arguments (package-arguments libsoup)
3826 ((#:configure-flags configure-flags)
3827 `(delete "-Dgtk_doc=true" ,configure-flags))
3828 ((#:phases phases)
3829 `(modify-phases ,phases
3830 (delete 'move-doc)))))
3831 (native-inputs (alist-delete "gtk-doc" (package-native-inputs libsoup)))))
3832
bba229a3
SB
3833(define-public libsecret
3834 (package
3835 (name "libsecret")
b05a2f62 3836 (version "0.20.3")
bba229a3
SB
3837 (source (origin
3838 (method url-fetch)
3839 (uri (string-append
896dcbc7
EF
3840 "mirror://gnome/sources/libsecret/"
3841 (version-major+minor version) "/"
0ada4e29 3842 "libsecret-" version ".tar.xz"))
bba229a3
SB
3843 (sha256
3844 (base32
b05a2f62 3845 "1r4habxdzmn02id324m0m4mg5isf22q1z436bg3vjjmcz1b3rjsg"))))
bba229a3
SB
3846 (build-system gnu-build-system)
3847 (outputs '("out" "doc"))
3848 (arguments
3849 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
3850 #:configure-flags
3851 (list (string-append "--with-html-dir="
3852 (assoc-ref %outputs "doc")
3853 "/share/gtk-doc/html"))))
3854 (native-inputs
c06ef010
MB
3855 `(("gettext" ,gettext-minimal)
3856 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 3857 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
3858 ("pkg-config" ,pkg-config)
3859 ("vala" ,vala)
3860 ("xsltproc" ,libxslt)))
3861 ;; These are needed for the tests.
3862 ;; FIXME: Add gjs once available.
3863 ;("dbus" ,dbus)
3864 ;("python2" ,python-2)
3865 ;("python2-dbus" ,python2-dbus)
3866 ;("python2-pygobject" ,python2-pygobject)
3867 ;("python2-pygobject-2" ,python2-pygobject-2)))
3868 (propagated-inputs
3869 `(("glib" ,glib))) ; required by libsecret-1.pc
3870 (inputs
3871 `(("docbook-xsl" ,docbook-xsl)
3872 ("libgcrypt" ,libgcrypt)
3873 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
3874 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
3875 (synopsis "GObject bindings for \"Secret Service\" API")
3876 (description
3877 "Libsecret is a GObject based library for storing and retrieving passwords
3878and other secrets. It communicates with the \"Secret Service\" using DBus.")
3879 (license license:lgpl2.1+)))
3880
b6821ee0 3881(define-public five-or-more
3882 (package
3883 (name "five-or-more")
ee75b46f 3884 (version "3.32.2")
b6821ee0 3885 (source
3886 (origin
3887 (method url-fetch)
bf782bfc 3888 (uri (string-append "mirror://gnome/sources/five-or-more/"
b6821ee0 3889 (version-major+minor version) "/"
bf782bfc 3890 "five-or-more-" version ".tar.xz"))
b6821ee0 3891 (sha256
ee75b46f 3892 (base32 "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii"))))
d9795e93
KK
3893 (build-system meson-build-system)
3894 (arguments
3895 '(#:glib-or-gtk? #t
3896 #:phases
3897 (modify-phases %standard-phases
3898 (add-after 'unpack 'skip-gtk-update-icon-cache
3899 (lambda _
3900 (substitute* "meson_post_install.py"
3901 (("gtk-update-icon-cache") (which "true")))
3902 #t)))))
b6821ee0 3903 (native-inputs
3904 `(("pkg-config" ,pkg-config)
d9795e93 3905 ("appstream-glib" ,appstream-glib)
b6821ee0 3906 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 3907 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 3908 ("intltool" ,intltool)
3909 ("itstool" ,itstool)
d9795e93 3910 ("vala" ,vala)
b6821ee0 3911 ("xmllint" ,libxml2)))
3912 (inputs
3913 `(("gtk+" ,gtk+)
d9795e93 3914 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 3915 ("librsvg" ,librsvg)))
3916 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
3917 (synopsis "Logic puzzle game")
3918 (description "Five or More is a game where you try to align
3919 five or more objects of the same color and shape causing them to disappear.
3920 On every turn more objects will appear, until the board is full.
3921 Try to last as long as possible.")
3922 (license license:gpl2+)))
3923
a31a6d22
SB
3924(define-public gnome-mines
3925 (package
3926 (name "gnome-mines")
d79e9b1b 3927 (version "3.34.0")
a31a6d22
SB
3928 (source
3929 (origin
3930 (method url-fetch)
3931 (uri (string-append "mirror://gnome/sources/" name "/"
3932 (version-major+minor version) "/"
3933 name "-" version ".tar.xz"))
3934 (sha256
3935 (base32
d79e9b1b 3936 "1spxa6qr1y8s5rrsvpciywpvhk812ngn95s1apaxaigwy2g1iw54"))))
8c0fab36 3937 (build-system meson-build-system)
a31a6d22 3938 (arguments
2d817e41
KK
3939 '(#:glib-or-gtk? #t
3940 #:phases
a31a6d22 3941 (modify-phases %standard-phases
2d817e41
KK
3942 (add-after 'unpack 'skip-gtk-update-icon-cache
3943 (lambda _
3944 (substitute* "build-aux/meson_post_install.py"
3945 (("gtk-update-icon-cache") (which "true")))
3946 #t)))))
a31a6d22 3947 (native-inputs
8c0fab36
RW
3948 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
3949 ("pkg-config" ,pkg-config)
a31a6d22
SB
3950 ("desktop-file-utils" ,desktop-file-utils)
3951 ("intltool" ,intltool)
bcb354ad 3952 ("itstool" ,itstool)
8c0fab36
RW
3953 ("vala" ,vala)
3954 ("yelp" ,yelp)
3955 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
3956 (inputs
3957 `(("gtk+" ,gtk+)
73992962 3958 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
3959 ("librsvg" ,librsvg)))
3960 (home-page "https://wiki.gnome.org/Apps/Mines")
3961 (synopsis "Minesweeper game")
3962 (description
3963 "Mines (previously gnomine) is a puzzle game where you locate mines
3964floating in an ocean using only your brain and a little bit of luck.")
754cfbdc
EB
3965 (license license:gpl2+)))
3966
3967(define-public gnome-multi-writer
3968 (package
3969 (name "gnome-multi-writer")
3970 (version "3.35.90")
3971 (source
3972 (origin
3973 (method url-fetch)
3974 (uri (string-append "mirror://gnome/sources/gnome-multi-writer/"
3975 (version-major+minor version) "/"
3976 "gnome-multi-writer-" version ".tar.xz"))
3977 (sha256
3978 (base32
3979 "07vgzjjdrxcp7h73z13h9agafxb4vmqx5i81bcfyw0ilw9kkdzmp"))))
3980 (build-system meson-build-system)
3981 (arguments
3982 '(#:glib-or-gtk? #t
3983 #:phases
3984 (modify-phases %standard-phases
3985 (add-after 'unpack 'skip-post-install
3986 (lambda _
3987 (substitute* "meson.build"
3988 (("meson.add_install_script" &) (string-append "# " &)))
3989 #t)))))
3990 (native-inputs
3991 `(("glib:bin" ,glib "bin")
3992 ("pkg-config" ,pkg-config)))
3993 (inputs
3994 `(("gtk+" ,gtk+)
3995 ("glib" ,glib) ; for gio
3996 ("gusb" ,gusb)
3997 ("udisks" ,udisks)
3998 ("libgudev" ,libgudev)
3999 ("libcanberra" ,libcanberra)
4000 ("polkit" ,polkit)))
4001 (home-page "https://wiki.gnome.org/Apps/MultiWriter")
4002 (synopsis "Write to multiple USB devices at once")
4003 (description
4004 "MultiWriter can be used to write an ISO file to multiple USB devices at
4005once.")
a31a6d22 4006 (license license:gpl2+)))
88f70665 4007
dfc407f3
KY
4008(define-public gnome-sudoku
4009 (package
4010 (name "gnome-sudoku")
857eb190 4011 (version "3.34.1")
dfc407f3
KY
4012 (source
4013 (origin
4014 (method url-fetch)
4015 (uri (string-append "mirror://gnome/sources/" name "/"
4016 (version-major+minor version) "/"
4017 name "-" version ".tar.xz"))
4018 (sha256
4019 (base32
857eb190 4020 "025y85r4qqardivvwiwhbmgarziykdy224m8zlrq8b79zv82793b"))))
7dc728c4
KK
4021 (build-system meson-build-system)
4022 (arguments
4023 '(#:glib-or-gtk? #t
4024 #:phases
4025 (modify-phases %standard-phases
4026 (add-after 'unpack 'skip-gtk-update-icon-cache
4027 (lambda _
4028 (substitute* "build-aux/post_install.py"
4029 (("gtk-update-icon-cache") (which "true")))
4030 #t)))))
dfc407f3
KY
4031 (native-inputs
4032 `(("pkg-config" ,pkg-config)
4033 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 4034 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
4035 ("intltool" ,intltool)
4036 ("itstool" ,itstool)
7dc728c4 4037 ("vala" ,vala)
dfc407f3
KY
4038 ("xmllint" ,libxml2)))
4039 (inputs
4040 `(("gtk+" ,gtk+)
4041 ("json-glib" ,json-glib)
4042 ("libgee" ,libgee)
4043 ("librsvg" ,librsvg)
4044 ("qqwing" ,qqwing)))
4045 (home-page "https://wiki.gnome.org/Apps/Sudoku")
4046 (synopsis "Japanese logic game")
4047 (description
4048 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
4049GNOME Sudoku is meant to have an interface as simple and unobstrusive as
4050possible while still providing features that make playing difficult Sudoku
4051more fun.")
4052 (license license:gpl2+)))
4053
88f70665
AW
4054(define-public gnome-terminal
4055 (package
4056 (name "gnome-terminal")
80f6f9d8 4057 (version "3.34.2")
88f70665
AW
4058 (source
4059 (origin
4060 (method url-fetch)
4061 (uri (string-append "mirror://gnome/sources/" name "/"
4062 (version-major+minor version) "/"
4063 name "-" version ".tar.xz"))
4064 (sha256
4065 (base32
80f6f9d8 4066 "0gc004f9b5k94gkdanmqjz3wqgnpny0l3nqm8zd19h4f0ps27mrv"))))
88f70665
AW
4067 (build-system glib-or-gtk-build-system)
4068 (arguments
4069 '(#:configure-flags
4070 (list "--disable-migration" "--disable-search-provider"
4071 "--without-nautilus-extension")
4072 #:phases
4073 (modify-phases %standard-phases
3a4de6b2 4074 (add-before 'configure 'patch-/bin/true
88f70665
AW
4075 (lambda _
4076 (substitute* "configure"
4077 (("/bin/true") (which "true"))))))))
4078 (native-inputs
4079 `(("pkg-config" ,pkg-config)
4080 ("desktop-file-utils" ,desktop-file-utils)
4081 ("intltool" ,intltool)
bcb354ad
SB
4082 ("itstool" ,itstool)
4083 ("xmllint" ,libxml2)))
68702167
MW
4084 (propagated-inputs
4085 `(("dconf" ,dconf)))
88f70665
AW
4086 (inputs
4087 `(("gtk+" ,gtk+)
4088 ("vte" ,vte)
4089 ("gnutls" ,gnutls)
88f70665 4090 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
bb93042c 4091 ("util-linux" ,util-linux "lib")
88f70665
AW
4092 ("vala" ,vala)))
4093 (home-page "https://wiki.gnome.org/Apps/Terminal")
4094 (synopsis "Terminal emulator")
4095 (description
4096 "GNOME Terminal is a terminal emulator application for accessing a
4097UNIX shell environment which can be used to run programs available on
4098your system.
4099
4100It supports several profiles, multiple tabs and implements several
4101keyboard shortcuts.")
4102 (license license:gpl3+)))
75016d07
AW
4103
4104(define-public colord
4105 (package
4106 (name "colord")
f98be942 4107 (version "1.4.4")
75016d07
AW
4108 (source
4109 (origin
4110 (method url-fetch)
5cc3096c 4111 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 4112 "colord-" version ".tar.xz"))
75016d07 4113 (sha256
f98be942 4114 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 4115 (build-system meson-build-system)
75016d07 4116 (arguments
a68544a8
RW
4117 '(;; FIXME: One test fails:
4118 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
4119 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
4120 ;; application/x-zerosize
75016d07 4121 #:tests? #f
a68544a8
RW
4122 #:glib-or-gtk? #t
4123 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 4124 ;; No dep on systemd.
a68544a8 4125 "-Dsystemd=false"
75016d07
AW
4126 ;; Wants to install to global completion dir;
4127 ;; punt.
a68544a8 4128 "-Dbash_completion=false"
a68544a8
RW
4129 "-Ddaemon_user=colord"
4130 "-Dsane=true"
dac26e22 4131 "-Dvapi=true"
6f20e2dc 4132 ;; Requires spotread.
a68544a8 4133 "-Dargyllcms_sensor=false"
6f20e2dc 4134 ;; TODO: Requires docbook2x.
a68544a8 4135 "-Dman=false")
75016d07
AW
4136 #:phases
4137 (modify-phases %standard-phases
a68544a8
RW
4138 (add-before 'configure 'patch-build-system
4139 (lambda* (#:key outputs #:allow-other-keys)
4140 (substitute* "rules/meson.build"
4141 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
4142 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
4143 #t))
4144 (add-before 'configure 'set-sqlite3-file-name
4145 (lambda* (#:key inputs #:allow-other-keys)
4146 ;; "colormgr dump" works by invoking the "sqlite3" command.
4147 ;; Record its absolute file name.
4148 (let ((sqlite (assoc-ref inputs "sqlite")))
4149 (substitute* "client/cd-util.c"
4150 (("\"sqlite3\"")
4151 (string-append "\"" sqlite "/bin/sqlite3\"")))
4152 #t))))))
75016d07 4153 (native-inputs
6f20e2dc 4154 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 4155 ("gettext" ,gettext-minimal)
75016d07 4156 ("gobject-introspection" ,gobject-introspection)
a68544a8 4157 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
4158 ("pkg-config" ,pkg-config)
4159 ("vala" ,vala)))
65cb2d61
SB
4160 (propagated-inputs
4161 ;; colord.pc refers to all these.
4162 `(("glib" ,glib)
6f20e2dc
TGR
4163 ("lcms" ,lcms)
4164 ("udev" ,eudev)))
75016d07 4165 (inputs
65cb2d61 4166 `(("dbus-glib" ,dbus-glib)
a68544a8 4167 ("gusb" ,gusb)
80c7dd1a 4168 ("libgudev" ,libgudev)
75016d07 4169 ("libusb" ,libusb)
75016d07 4170 ("polkit" ,polkit)
a68544a8 4171 ("python" ,python-wrapper)
6f20e2dc 4172 ("sqlite" ,sqlite)
4c928743 4173 ("sane-backends" ,sane-backends)))
57e7d748 4174 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
4175 (synopsis "Color management service")
4176 (description "Colord is a system service that makes it easy to manage,
4177install and generate color profiles to accurately color manage input and
4178output devices.")
4179 (license license:gpl2+)))
7b2abd00
AW
4180
4181(define-public geoclue
4182 (package
4183 (name "geoclue")
2bf0a5cb 4184 (version "2.5.6")
7b2abd00
AW
4185 (source
4186 (origin
4187 (method url-fetch)
50e96d25
MB
4188 (uri
4189 (string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
4190 version "/geoclue-" version ".tar.bz2"))
7b2abd00 4191 (sha256
2bf0a5cb 4192 (base32 "0a833x5apzabxj80ywvsh8crd635vni2i9v9c1p095f6hvmfc45k"))
fc1adab1 4193 (patches (search-patches "geoclue-config.patch"))))
50e96d25 4194 (build-system meson-build-system)
7b2abd00 4195 (arguments
50e96d25 4196 '(#:configure-flags (list "-Dbus-srv-user=geoclue")))
7b2abd00
AW
4197 (native-inputs
4198 `(("pkg-config" ,pkg-config)
758798a9 4199 ("gobject-introspection" ,gobject-introspection)
50e96d25
MB
4200 ("modem-manager" ,modem-manager)
4201 ("libnotify" ,libnotify)
4202 ("gtk-doc", gtk-doc)
7b2abd00
AW
4203 ("intltool" ,intltool)))
4204 (inputs
54e911bc 4205 `(("avahi" ,avahi)
50e96d25
MB
4206 ("glib:bin" ,glib "bin")
4207 ("glib-networking" ,glib-networking)
7b2abd00
AW
4208 ("json-glib" ,json-glib)
4209 ("libsoup" ,libsoup)))
50e96d25 4210 (home-page "https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home")
7b2abd00
AW
4211 (synopsis "Geolocation service")
4212 (description "Geoclue is a D-Bus service that provides location
4213information. The primary goal of the Geoclue project is to make creating
4214location-aware applications as simple as possible, while the secondary goal is
4215to ensure that no application can access location information without explicit
e881752c 4216permission from user.")
7b2abd00 4217 (license license:gpl2+)))
2bfe7437
AW
4218
4219(define-public geocode-glib
4220 (package
4221 (name "geocode-glib")
65de725f 4222 (version "3.26.1")
2bfe7437
AW
4223 (source (origin
4224 (method url-fetch)
4225 (uri (string-append "mirror://gnome/sources/geocode-glib/"
4226 (version-major+minor version) "/"
d485cdc0 4227 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
4228 (sha256
4229 (base32
65de725f 4230 "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv"))))
a7dd0c02 4231 (build-system meson-build-system)
2bfe7437 4232 (arguments
a7dd0c02
RW
4233 `(#:phases
4234 (modify-phases %standard-phases
4235 ;; The tests require a bunch of locales.
4236 (add-before 'check 'set-locales
4237 (lambda* (#:key inputs #:allow-other-keys)
4238 (setenv "GUIX_LOCPATH"
4239 (string-append (assoc-ref inputs "glibc-locales")
4240 "/lib/locale"))
4241 #t)))))
2bfe7437
AW
4242 (native-inputs
4243 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
4244 ("glibc-locales" ,glibc-locales) ; for tests
4245 ("gettext" ,gettext-minimal)
2bfe7437 4246 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 4247 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
4248 ("pkg-config" ,pkg-config)
4249 ("json-glib" ,json-glib)))
4250 (propagated-inputs
4251 ;; geocode-glib-1.0.pc refers to GIO.
4252 `(("glib" ,glib)))
4253 (inputs
4254 `(("libsoup" ,libsoup)))
4255 (home-page "https://github.com/GNOME/geocode-glib/")
4256 (synopsis "Geocoding and reverse-geocoding library")
4257 (description
4258 "geocode-glib is a convenience library for geocoding (finding longitude,
4259and latitude from an address) and reverse geocoding (finding an address from
4260coordinates) using the Nominatim service. geocode-glib caches requests for
4261faster results and to avoid unnecessary server load.")
4262 (license license:lgpl2.0+)))
a1d5bb0e
AW
4263
4264(define-public upower
4265 (package
4266 (name "upower")
df45af90 4267 (version "0.99.11")
a1d5bb0e
AW
4268 (source (origin
4269 (method url-fetch)
df45af90 4270 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 4271 "upower-" version ".tar.xz"))
a1d5bb0e
AW
4272 (sha256
4273 (base32
df45af90 4274 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
5dc6d5ce
LC
4275 (patches (search-patches "upower-builddir.patch"))
4276 (modules '((guix build utils)))
4277 (snippet
4278 '(begin
4279 ;; Upstream commit
4280 ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
4281 ;; moved 'dbus-1/system.d' from etc/ to share/. However,
4282 ;; 'dbus-configuration-directory' in (gnu services dbus)
4283 ;; expects it in etc/. Thus, move it back to its previous
4284 ;; location.
4285 (substitute* "src/Makefile.in"
4286 (("^dbusconfdir =.*$")
4287 "dbusconfdir = $(sysconfdir)/dbus-1/system.d\n"))
4288 #t))))
a1d5bb0e
AW
4289 (build-system glib-or-gtk-build-system)
4290 (arguments
6039031a
BW
4291 '(#:phases
4292 (modify-phases %standard-phases
4293 (add-before 'check 'pre-check
4294 (lambda* (#:key inputs #:allow-other-keys)
4295 (let ((umockdev (string-append (assoc-ref inputs "umockdev")
4296 "/lib")))
4297 (setenv "LD_LIBRARY_PATH" umockdev))
4298 #t)))
a1d5bb0e
AW
4299 #:configure-flags (list "--localstatedir=/var"
4300 (string-append "--with-udevrulesdir="
4301 (assoc-ref %outputs "out")
9ec54965 4302 "/lib/udev/rules.d"))))
a1d5bb0e 4303 (native-inputs
ebeabe2d
SB
4304 `(("gobject-introspection" ,gobject-introspection)
4305 ("pkg-config" ,pkg-config)
a1d5bb0e 4306 ("intltool" ,intltool)
55409295
LC
4307 ("python" ,python)
4308
6039031a
BW
4309 ;; For tests.
4310 ("python-dbus" ,python-dbus)
4311 ("python-dbusmock" ,python-dbusmock)
4312 ("python-pygobject" ,python-pygobject)
4313 ("umockdev" ,umockdev)
4314
55409295
LC
4315 ;; For man pages.
4316 ("libxslt" ,libxslt) ;for 'xsltproc'
4317 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
4318 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 4319 (inputs
ea226291
SB
4320 `(("dbus-glib" ,dbus-glib)
4321 ("libgudev" ,libgudev)
a1d5bb0e 4322 ("libusb" ,libusb)))
d7a503fc
MB
4323 (propagated-inputs
4324 ;; In Requires of upower-glib.pc.
4325 `(("glib" ,glib)))
57e7d748 4326 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
4327 (synopsis "System daemon for managing power devices")
4328 (description
4329 "UPower is an abstraction for enumerating power devices,
4330listening to device events and querying history and statistics. Any
4331application or service on the system can access the org.freedesktop.UPower
4332service via the system message bus.")
4333 (license license:gpl2+)))
6a180f6f
AW
4334
4335(define-public libgweather
4336 (package
4337 (name "libgweather")
462d3416 4338 (version "3.34.0")
6a180f6f
AW
4339 (source (origin
4340 (method url-fetch)
4341 (uri (string-append "mirror://gnome/sources/" name "/"
4342 (version-major+minor version) "/"
4343 name "-" version ".tar.xz"))
4344 (sha256
4345 (base32
462d3416 4346 "1fgiqswkhiaijanml3mb16ajn5aanrk7x6yiwagp9n9rssam6902"))))
cf6cbc34 4347 (build-system meson-build-system)
6a180f6f 4348 (arguments
cf6cbc34
RW
4349 `(#:tests? #f ; one of two tests requires network access
4350 #:configure-flags
4351 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 4352 (assoc-ref %build-inputs "tzdata")
cf6cbc34 4353 "/share/zoneinfo"))))
6a180f6f
AW
4354 (native-inputs
4355 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 4356 ("gobject-introspection" ,gobject-introspection)
6a180f6f 4357 ("pkg-config" ,pkg-config)
1d3fcf94 4358 ("vala" ,vala)
6a180f6f
AW
4359 ("intltool" ,intltool)))
4360 (propagated-inputs
4361 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
4362 ;; libsoup.
4363 `(("gtk+" ,gtk+)
4364 ("gdk-pixbuf" ,gdk-pixbuf)
4365 ("libxml2" ,libxml2)
cf6cbc34 4366 ("libsoup" ,libsoup)
6a180f6f 4367 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
4368 (inputs
4369 `(("tzdata" ,tzdata)))
6a180f6f
AW
4370 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
4371 (synopsis "Location, time zone, and weather library for GNOME")
4372 (description
4373 "libgweather is a library to access weather information from online
4374services for numerous locations.")
4375 (license license:gpl2+)))
23a22af6
AW
4376
4377(define-public gnome-settings-daemon
4378 (package
4379 (name "gnome-settings-daemon")
20154759 4380 (version "3.34.1")
23a22af6
AW
4381 (source
4382 (origin
4383 (method url-fetch)
4384 (uri (string-append "mirror://gnome/sources/" name "/"
4385 (version-major+minor version) "/"
4386 name "-" version ".tar.xz"))
4387 (sha256
4388 (base32
20154759 4389 "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr"))))
e644f9fa 4390 (build-system meson-build-system)
23a22af6 4391 (arguments
e644f9fa
RW
4392 `(#:glib-or-gtk? #t
4393 #:configure-flags
4394 (list (string-append "-Dudev_dir="
4395 (assoc-ref %outputs "out")
4d0e085b 4396 "/lib/udev/rules.d/")
20154759 4397 "-Dsystemd=false"
4d0e085b
RW
4398 ;; Otherwise, the RUNPATH will lack the final path component.
4399 (string-append "-Dc_link_args=-Wl,-rpath="
4400 (assoc-ref %outputs "out")
4401 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 4402 ;; Color management test can't reach the colord system service.
23a22af6
AW
4403 #:tests? #f))
4404 (native-inputs
e644f9fa
RW
4405 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4406 ("pkg-config" ,pkg-config)
23a22af6
AW
4407 ("intltool" ,intltool)
4408 ("xsltproc" ,libxslt)
4409 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
4410 ("docbook-xml" ,docbook-xml-4.2)
4411 ("docbook-xsl" ,docbook-xsl)))
4412 (inputs
e644f9fa
RW
4413 `(("alsa-lib" ,alsa-lib)
4414 ("colord" ,colord)
ea226291 4415 ("libgudev" ,libgudev)
23a22af6
AW
4416 ("upower" ,upower)
4417 ("polkit" ,polkit)
4418 ("pulseaudio" ,pulseaudio)
4419 ("libcanberra" ,libcanberra)
4420 ("libx11" ,libx11)
4421 ("libxtst" ,libxtst)
4422 ("lcms" ,lcms)
4423 ("libnotify" ,libnotify)
4424 ("geoclue" ,geoclue)
4425 ("geocode-glib" ,geocode-glib)
4426 ("libgweather" ,libgweather)
4427 ("gnome-desktop" ,gnome-desktop)
4428 ("nss" ,nss)
4429 ("cups" ,cups)
ec2b1921
AW
4430 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4431 ("libwacom" ,libwacom)
4432 ("librsvg" ,librsvg)
eee7878f 4433 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 4434 ("wayland" ,wayland)
20154759
KK
4435 ("network-manager" ,network-manager)
4436 ("gcr" ,gcr)
4437 ("modem-manager" ,modem-manager)))
f032d0be 4438 (home-page "https://www.gnome.org")
23a22af6
AW
4439 (synopsis "GNOME settings daemon")
4440 (description
4441 "This package contains the daemon responsible for setting the various
4442parameters of a GNOME session and the applications that run under it. It
4443handles settings such keyboard layout, shortcuts, and accessibility, clipboard
4444settings, themes, mouse settings, and startup of other daemons.")
4445 (license license:gpl2+)))
1e7464a9
DH
4446
4447(define-public totem-pl-parser
4448 (package
4449 (name "totem-pl-parser")
77425f04 4450 (version "3.26.3")
1e7464a9
DH
4451 (source (origin
4452 (method url-fetch)
e980cbe9
MW
4453 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
4454 (version-major+minor version) "/"
1e7464a9
DH
4455 "totem-pl-parser-" version ".tar.xz"))
4456 (sha256
4457 (base32
77425f04 4458 "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
1e9b19dd 4459 (build-system meson-build-system)
1e7464a9
DH
4460 (arguments
4461 ;; FIXME: Tests require gvfs.
4462 `(#:tests? #f))
4463 (native-inputs
4464 `(("intltool" ,intltool)
4465 ("glib" ,glib "bin")
4d6d8281 4466 ("gobject-introspection" ,gobject-introspection)
1e7464a9 4467 ("pkg-config" ,pkg-config)))
22a6ad6a 4468 (propagated-inputs
1e7464a9
DH
4469 `(("glib" ,glib)
4470 ("gmime" ,gmime)
1e9b19dd
RW
4471 ("libarchive" ,libarchive)
4472 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
4473 ("libxml2" ,libxml2)))
4474 (inputs
0a6e9e13 4475 `(("libsoup" ,libsoup)))
1e7464a9
DH
4476 (home-page "https://projects.gnome.org/totem")
4477 (synopsis "Library to parse and save media playlists for GNOME")
4478 (description "Totem-pl-parser is a GObjects-based library to parse and save
4479playlists in a variety of formats.")
4480 (license license:lgpl2.0+)))
4481
6b888eff
SB
4482(define-public aisleriot
4483 (package
4484 (name "aisleriot")
36ed9b46 4485 (version "3.22.9")
6b888eff
SB
4486 (source (origin
4487 (method url-fetch)
e43f622a 4488 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 4489 (version-major+minor version) "/"
e43f622a 4490 "aisleriot-" version ".tar.xz"))
6b888eff
SB
4491 (sha256
4492 (base32
36ed9b46 4493 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
4494 (build-system glib-or-gtk-build-system)
4495 (arguments
4496 '(#:configure-flags
4497 '("--with-platform=gtk-only"
4498 "--with-card-theme-formats=svg")))
4499 (native-inputs
4500 `(("desktop-file-utils" ,desktop-file-utils)
4501 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4502 ("intltool" ,intltool)
4503 ("itstool" ,itstool)
4504 ("pkg-config" ,pkg-config)
4505 ("xmllint" ,libxml2)))
4506 (inputs
4507 `(("gtk+" ,gtk+)
226e57d6 4508 ("guile" ,guile-2.2)
6b888eff
SB
4509 ("libcanberra" ,libcanberra)
4510 ("librsvg" ,librsvg)))
4511 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
4512 (synopsis "Solitaire card games")
4513 (description
4514 "Aisleriot (also known as Solitaire or sol) is a collection of card games
4515which are easy to play with the aid of a mouse.")
4516 (license license:gpl3+)))
4a79e256 4517
f828d05b
KK
4518(define-public amtk
4519 (package
4520 (name "amtk")
0e08ca14 4521 (version "5.0.2")
f828d05b
KK
4522 (source (origin
4523 (method url-fetch)
bf92ba6b 4524 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 4525 (version-major+minor version) "/"
bf92ba6b 4526 "amtk-" version ".tar.xz"))
f828d05b
KK
4527 (sha256
4528 (base32
0e08ca14 4529 "11jgz2i9wjzv4alrxl1qyxiapb52w7vs5ygfgsw0qgdap8gqkk3i"))))
f828d05b
KK
4530 (build-system gnu-build-system)
4531 (arguments
4532 '(#:configure-flags '("--enable-gtk-doc")))
4533 (native-inputs
4534 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 4535 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
4536 ("gtk-doc" ,gtk-doc)
4537 ("pkg-config" ,pkg-config)))
4538 (inputs
4539 `(("glib" ,glib)
4540 ("gtk+" ,gtk+)))
4541 (home-page "https://wiki.gnome.org/Projects/Amtk")
4542 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
4543 (description
4544 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
4545It is a basic GtkUIManager replacement based on GAction. It is suitable for
4546both a traditional UI or a modern UI with a GtkHeaderBar.")
4547 (license license:lgpl2.1+)))
4548
4a79e256
SB
4549(define-public devhelp
4550 (package
4551 (name "devhelp")
8ae23a1d 4552 (version "3.34.0")
4a79e256
SB
4553 (source (origin
4554 (method url-fetch)
4555 (uri (string-append "mirror://gnome/sources/" name "/"
4556 (version-major+minor version) "/"
4557 name "-" version ".tar.xz"))
4558 (sha256
4559 (base32
8ae23a1d 4560 "0zpmn6fgkgiayvn4diia5df0s6s7dqrdnp3nrvpavsmgn0vhb4pg"))))
11d28bd9 4561 (build-system meson-build-system)
35407f94 4562 (arguments
20db7a3d
KK
4563 '(#:glib-or-gtk? #t
4564 #:phases
35407f94
EF
4565 (modify-phases %standard-phases
4566 (add-after 'unpack 'skip-gtk-update-icon-cache
4567 ;; Don't create 'icon-theme.cache'.
4568 (lambda _
4569 (substitute* "meson_post_install.py"
4570 (("gtk-update-icon-cache") "true"))
4571 #t)))))
4a79e256
SB
4572 (native-inputs
4573 `(("intltool" ,intltool)
5dd12afc 4574 ("itstool" ,itstool)
11d28bd9
KK
4575 ("gobject-introspection" ,gobject-introspection)
4576 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
4577 ("pkg-config" ,pkg-config)))
4578 (inputs
11d28bd9
KK
4579 `(("amtk" ,amtk)
4580 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
4581 ("webkitgtk" ,webkitgtk)))
4582 (home-page "https://wiki.gnome.org/Apps/Devhelp")
4583 (synopsis "API documentation browser for GNOME")
4584 (description
4585 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
4586natively with GTK-Doc (the API reference system developed for GTK+ and used
4587throughout GNOME for API documentation).")
4588 (license license:gpl2+)))
ba421ab7
MW
4589
4590(define-public cogl
4591 (package
4592 (name "cogl")
c668a880 4593 (version "1.22.8")
ba421ab7
MW
4594 (source
4595 (origin
4596 (method url-fetch)
5754f0cf 4597 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 4598 (version-major+minor version) "/"
5754f0cf 4599 "cogl-" version ".tar.xz"))
ba421ab7 4600 (sha256
c668a880 4601 (base32 "0nfph4ai60ncdx7hy6hl1i1cmp761jgnyjfhagzi0iqq36qb41d8"))))
a88d5a0c
MW
4602 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
4603 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
4604 (build-system gnu-build-system)
4605 (native-inputs
4606 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4607 ("gobject-introspection" ,gobject-introspection)
b4f04e0e 4608 ("xorg-server" ,xorg-server-for-tests)
ba421ab7
MW
4609 ("pkg-config" ,pkg-config)))
4610 (propagated-inputs
4611 `(("glib" ,glib)
4612 ("gdk-pixbuf" ,gdk-pixbuf)
4613 ("libx11" ,libx11)
4614 ("libxext" ,libxext)
4615 ("libxfixes" ,libxfixes)
4616 ("libxdamage" ,libxdamage)
4617 ("libxcomposite" ,libxcomposite)
4618 ("libxrandr" ,libxrandr)))
4619 (inputs
4620 `(("mesa" ,mesa)
4621 ("cairo" ,cairo)
4622 ("pango" ,pango)
4623 ("gstreamer" ,gstreamer)
31860852
KK
4624 ("gst-plugins-base" ,gst-plugins-base)
4625 ("wayland" ,wayland)))
ba421ab7 4626 (arguments
b4f04e0e
MB
4627 `(#:disallowed-references (,xorg-server-for-tests)
4628 #:configure-flags (list "--enable-cogl-gst"
31860852
KK
4629 "--enable-wayland-egl-platform"
4630 "--enable-wayland-egl-server"
4631
ba421ab7
MW
4632 ;; Arrange to pass an absolute file name to
4633 ;; dlopen for libGL.so.
4634 (string-append "--with-gl-libname="
4635 (assoc-ref %build-inputs "mesa")
4636 "/lib/libGL.so"))
b4f04e0e 4637 #:phases
ba421ab7 4638 (modify-phases %standard-phases
0c8a51c7
MB
4639 (add-after 'unpack 'fix-build-with-mesa-20
4640 (lambda _
4641 ;; Work around a problem with Mesa 20 where some macros used by
4642 ;; Cogl went missing from eglext.h. This can likely be removed
4643 ;; for newer versions of Cogl or Mesa.
4644 ;; https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/19
4645 (substitute* '("configure"
4646 "cogl/winsys/cogl-winsys-egl-kms.c")
4647 (("#include <EGL/eglext.h>" all)
4648 (string-append all "\n#include <EGL/eglmesaext.h>\n")))
4649 #t))
ba421ab7 4650 (add-before 'check 'start-xorg-server
b4f04e0e
MB
4651 (lambda* (#:key tests? inputs #:allow-other-keys)
4652 (if tests?
4653 (begin
4654 ;; The test suite requires a running X server.
4655 (system (format #f "~a/bin/Xvfb :1 +extension GLX &"
4656 (assoc-ref inputs "xorg-server")))
4657 (setenv "DISPLAY" ":1")
4658 #t)
4659 (format #t "test suite not run~%"))
ba421ab7 4660 #t)))))
89b49245 4661 (home-page "https://www.cogl3d.org")
ba421ab7
MW
4662 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
4663 (description
4664 "Cogl is a small library for using 3D graphics hardware to draw pretty
4665pictures. The API departs from the flat state machine style of OpenGL and is
4666designed to make it easy to write orthogonal components that can render
4667without stepping on each others toes.")
4668 (license (list license:expat ; most of the code
4669 license:bsd-3 ; cogl/cogl-point-in-poly.c
4670 license:sgifreeb2.0 ; cogl-path/tesselator/
4671 license:asl2.0)))) ; examples/android/
fb182b8a
MW
4672
4673(define-public clutter
4674 (package
4675 (name "clutter")
6a88e4ee 4676 (version "1.26.2")
fb182b8a
MW
4677 (source
4678 (origin
4679 (method url-fetch)
4680 (uri (string-append "mirror://gnome/sources/" name "/"
4681 (version-major+minor version) "/"
4682 name "-" version ".tar.xz"))
4683 (sha256
4684 (base32
6a88e4ee 4685 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
4686 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
4687 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 4688 (build-system gnu-build-system)
600233bd
LC
4689 (outputs '("out"
4690 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
4691 (native-inputs
4692 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
4693 ("gobject-introspection" ,gobject-introspection)
4694 ("pkg-config" ,pkg-config)
4695 ("xsltproc" ,libxslt)))
4696 (propagated-inputs
4697 `(("cogl" ,cogl)
4698 ("cairo" ,cairo)
4699 ("atk" ,atk)
4700 ("gtk+" ,gtk+)
4701 ("json-glib" ,json-glib)
4702 ("glib" ,glib)
4703 ("libxcomposite" ,libxcomposite)
4704 ("libxdamage" ,libxdamage)
4705 ("libxext" ,libxext)
4706 ("xinput" ,xinput)))
4707 (inputs
4708 `(("libxkbcommon" ,libxkbcommon)
4709 ("udev" ,eudev)))
4710 (arguments
600233bd
LC
4711 `(#:configure-flags (list "--enable-x11-backend=yes"
4712
4713 ;; This produces share/doc/{clutter,cally}.
4714 (string-append "--with-html-dir="
4715 (assoc-ref %outputs "doc")
4716 "/share/doc"))
fb182b8a
MW
4717 ;; XXX FIXME: Get test suite working. It would probably fail in the
4718 ;; same way the cogl tests fail, since clutter is based on cogl.
4719 #:tests? #f))
4720 (home-page "http://www.clutter-project.org")
476af713 4721 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 4722 (description
476af713 4723 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
4724creating fast, mainly 2D single window applications such as media box UIs,
4725presentations, kiosk style applications and so on.")
4726 (license license:lgpl2.0+)))
bf7f17ba
MW
4727
4728(define-public clutter-gtk
4729 (package
4730 (name "clutter-gtk")
5d1a3219 4731 (version "1.8.4")
bf7f17ba
MW
4732 (source
4733 (origin
4734 (method url-fetch)
4735 (uri (string-append "mirror://gnome/sources/" name "/"
4736 (version-major+minor version) "/"
4737 name "-" version ".tar.xz"))
4738 (sha256
4739 (base32
5d1a3219 4740 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
4741 (build-system gnu-build-system)
4742 (native-inputs
4743 `(("pkg-config" ,pkg-config)
4744 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
4745 (propagated-inputs
4746 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
4747 `(("clutter" ,clutter)
4748 ("gtk+" ,gtk+)))
4749 (home-page "http://www.clutter-project.org")
476af713 4750 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 4751 (description
476af713 4752 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
4753creating fast, mainly 2D single window applications such as media box UIs,
4754presentations, kiosk style applications and so on.")
4755 (license license:lgpl2.0+)))
86d6a893
MW
4756
4757(define-public clutter-gst
4758 (package
4759 (name "clutter-gst")
ba07ac19 4760 (version "3.0.27")
86d6a893
MW
4761 (source
4762 (origin
4763 (method url-fetch)
f010f89b 4764 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 4765 (version-major+minor version) "/"
f010f89b 4766 "clutter-gst-" version ".tar.xz"))
86d6a893 4767 (sha256
ba07ac19 4768 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
4769 (build-system gnu-build-system)
4770 (native-inputs
ba07ac19 4771 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
4772 ("pkg-config" ,pkg-config)
4773 ("gobject-introspection" ,gobject-introspection)))
4774 (inputs
4775 `(("clutter" ,clutter)
4776 ("gstreamer" ,gstreamer)
4777 ("gst-plugins-base" ,gst-plugins-base)))
4778 (home-page "http://www.clutter-project.org")
4779 (synopsis "Integration library for using GStreamer with Clutter")
4780 (description
4781 "Clutter-Gst is an integration library for using GStreamer with Clutter.
4782It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
4783implements the ClutterGstPlayer interface using playbin. Clutter is an
4784OpenGL-based interactive canvas library.")
86d6a893 4785 (license license:lgpl2.0+)))
607a04ae 4786
30dc88d9
LC
4787(define-public libchamplain
4788 (package
4789 (name "libchamplain")
5564b2c5 4790 (version "0.12.16")
30dc88d9
LC
4791 (source (origin
4792 (method url-fetch)
4793 (uri (string-append
4794 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
4795 version ".tar.xz"))
4796 (sha256
4797 (base32
5564b2c5 4798 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 4799 (build-system gnu-build-system)
f7c6833f
LF
4800 (arguments '(#:configure-flags '("--enable-vala")))
4801 (native-inputs
4802 `(("gobject-introspection" ,gobject-introspection)
4803 ("pkg-config" ,pkg-config)
4804 ("vala" ,vala)))
30dc88d9
LC
4805 (propagated-inputs
4806 `(("libsoup" ,libsoup)
4807 ("sqlite" ,sqlite)
4808 ("clutter" ,clutter)
4809 ("clutter-gtk" ,clutter-gtk)
4810 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
4811 ("cairo" ,cairo)
4812 ("gtk+3" ,gtk+)
4813 ("glib" ,glib)))
f032d0be 4814 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
4815 (synopsis "C library providing a ClutterActor to display maps")
4816 (description
4817 "libchamplain is a C library providing a ClutterActor to display maps.
4818It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
4819and Perl bindings are also available. It supports numerous free map sources
4820such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
4821 (license license:lgpl2.1+)))
4822
607a04ae
MW
4823(define-public gom
4824 (package
4825 (name "gom")
0510440b 4826 (version "0.3.2")
607a04ae
MW
4827 (source
4828 (origin
4829 (method url-fetch)
6c8a0b6f 4830 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 4831 (version-major+minor version) "/"
6c8a0b6f 4832 "gom-" version ".tar.xz"))
607a04ae
MW
4833 (sha256
4834 (base32
0510440b 4835 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
4836 (build-system gnu-build-system)
4837 (native-inputs
4838 `(("intltool" ,intltool)
4839 ("pkg-config" ,pkg-config)
4840 ("gobject-introspection" ,gobject-introspection)))
4841 (inputs
4842 `(("glib" ,glib)
4843 ("gdk-pixbuf" ,gdk-pixbuf)
4844 ("sqlite" ,sqlite)))
4845 ;; XXX TODO: Figure out how to run the test suite.
4846 (arguments `(#:tests? #f))
4847 (home-page "https://wiki.gnome.org/Projects/Gom")
4848 (synopsis "Object mapper from GObjects to SQLite")
4849 (description
4850 "Gom provides an object mapper from GObjects to SQLite. It helps you
4851write applications that need to store structured data as well as make complex
4852queries upon that data.")
4853 (license license:lgpl2.1+)))
b7a3cf11 4854
865aacc9 4855(define-public libgnome-games-support
f09520db 4856 (package
865aacc9 4857 (name "libgnome-games-support")
4c6d15cf 4858 (version "1.4.4")
f09520db
SB
4859 (source (origin
4860 (method url-fetch)
2d8dca9d 4861 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 4862 (version-major+minor version) "/"
2d8dca9d 4863 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
4864 (sha256
4865 (base32
4c6d15cf 4866 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
4867 (build-system gnu-build-system)
4868 (arguments
4869 '(#:phases
4870 (modify-phases %standard-phases
4871 (add-before 'check 'pre-check
4872 (lambda _
865aacc9 4873 ;; Tests require a writable HOME.
f09520db
SB
4874 (setenv "HOME" (getcwd))
4875 #t)))))
4876 (native-inputs
4877 `(("intltool" ,intltool)
4878 ("pkg-config" ,pkg-config)
4879 ("vala" ,vala)))
4880 (propagated-inputs
865aacc9 4881 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
4882 `(("gtk+" ,gtk+)
4883 ("libgee" ,libgee)))
4884 (home-page "https://www.gnome.org/")
4885 (synopsis "Useful functionality shared among GNOME games")
4886 (description
865aacc9 4887 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
4888GNOME Games, but it may be used by others.")
4889 (license license:lgpl3+)))
4890
b7a3cf11
SB
4891(define-public gnome-klotski
4892 (package
4893 (name "gnome-klotski")
18364fbc 4894 (version "3.34.0")
b7a3cf11
SB
4895 (source (origin
4896 (method url-fetch)
4897 (uri (string-append "mirror://gnome/sources/" name "/"
4898 (version-major+minor version) "/"
4899 name "-" version ".tar.xz"))
4900 (sha256
4901 (base32
18364fbc 4902 "0sbx0bzy32lh2c9jp8v7gz788wn9y1la8mr5a7gf7370szsl4d4f"))))
c1e419c4
KK
4903 (build-system meson-build-system)
4904 (arguments
4905 '(#:glib-or-gtk? #t
4906 #:phases
4907 (modify-phases %standard-phases
4908 (add-after 'unpack 'skip-gtk-update-icon-cache
4909 ;; Don't create 'icon-theme.cache'.
4910 (lambda _
4911 (substitute* "build-aux/meson_post_install.py"
4912 (("gtk-update-icon-cache") (which "true")))
4913 #t)))))
b7a3cf11
SB
4914 (native-inputs
4915 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 4916 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
4917 ("intltool" ,intltool)
4918 ("itstool" ,itstool)
bcb354ad 4919 ("pkg-config" ,pkg-config)
c1e419c4 4920 ("vala" ,vala)
bcb354ad 4921 ("xmllint" ,libxml2)))
b7a3cf11
SB
4922 (inputs
4923 `(("gtk+" ,gtk+)
f4eae76f 4924 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
4925 ("librsvg" ,librsvg)))
4926 (home-page "https://wiki.gnome.org/Apps/Klotski")
4927 (synopsis "Sliding block puzzles")
4928 (description
4929 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
4930the patterned block to the area bordered by green markers. To do so, you will
4931need to slide other blocks out of the way. Complete each puzzle in as few moves
4932as possible!")
4933 (license license:gpl2+)))
8d4791bf
MW
4934
4935(define-public grilo
4936 (package
4937 (name "grilo")
a865e938 4938 (version "0.3.10")
8d4791bf
MW
4939 (source
4940 (origin
4941 (method url-fetch)
4942 (uri (string-append "mirror://gnome/sources/" name "/"
4943 (version-major+minor version) "/"
4944 name "-" version ".tar.xz"))
4945 (sha256
4946 (base32
a865e938 4947 "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y"))))
d48d4c98 4948 (build-system meson-build-system)
8d4791bf
MW
4949 (native-inputs
4950 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
4951 ("intltool" ,intltool)
4952 ("pkg-config" ,pkg-config)
d48d4c98
KK
4953 ("gobject-introspection" ,gobject-introspection)
4954 ("gtk-doc" ,gtk-doc)
4955 ("vala" ,vala)))
8d4791bf 4956 (inputs
6d7273a0
KK
4957 `(("cyrus-sasl" ,cyrus-sasl)
4958 ("glib" ,glib)
8d4791bf
MW
4959 ("gtk+" ,gtk+)
4960 ("libxml2" ,libxml2)
6d7273a0 4961 ("liboauth" ,liboauth)
8d4791bf
MW
4962 ("libsoup" ,libsoup)
4963 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
4964 (native-search-paths
4965 (list (search-path-specification
4966 (variable "GRL_PLUGIN_PATH")
4967 (files (list (string-append "lib/grilo-"
4968 (version-major+minor version)))))))
d48d4c98 4969 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
4970 (synopsis "Framework for discovering and browsing media")
4971 (description
4972 "Grilo is a framework focused on making media discovery and browsing easy
4973for application developers.")
4974 (license license:lgpl2.1+)))
7b212526
MW
4975
4976(define-public grilo-plugins
4977 (package
4978 (name "grilo-plugins")
281f6b3a 4979 (version "0.3.10")
7b212526
MW
4980 (source
4981 (origin
4982 (method url-fetch)
4983 (uri (string-append "mirror://gnome/sources/" name "/"
4984 (version-major+minor version) "/"
4985 name "-" version ".tar.xz"))
4986 (sha256
4987 (base32
281f6b3a
RG
4988 "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0"))))
4989 (build-system meson-build-system)
7b212526 4990 (native-inputs
281f6b3a
RG
4991 `(("gettext" ,gettext-minimal)
4992 ("glib:bin" ,glib "bin")
4993 ("gtk+:bin" ,gtk+ "bin")
7b212526
MW
4994 ("itstool" ,itstool)
4995 ("pkg-config" ,pkg-config)))
281f6b3a 4996 ;; TODO: ahavi, gstreamer
7b212526
MW
4997 (inputs
4998 `(("grilo" ,grilo)
281f6b3a
RG
4999 ;("gmime" ,gmime) ; unused
5000 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
7b212526 5001 ("gom" ,gom)
281f6b3a
RG
5002 ;("gssdp" ,gssdp) ; unused
5003 ;("gupnp" ,gupnp) ; unused
5004 ;("gupnp-av" ,gupnp-av) ; unused
7b212526
MW
5005 ("json-glib" ,json-glib)
5006 ("avahi" ,avahi)
281f6b3a
RG
5007 ("libgdata" ,libgdata)
5008 ("libmediaart" ,libmediaart)
5009 ;("librest" ,rest) ; unused
7b212526 5010 ("libsoup" ,libsoup)
281f6b3a
RG
5011 ("totam-pl-parser" ,totem-pl-parser)
5012 ("tracker" ,tracker))) ; unused because it's too old
7b212526 5013 (arguments
281f6b3a
RG
5014 `(#:glib-or-gtk? #t
5015 ;;Disable lua-factory as it needs missing dependencies
5016 #:configure-flags '("-Denable-lua-factory=no")))
f032d0be 5017 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
5018 (synopsis "Plugins for the Grilo media discovery library")
5019 (description
5020 "Grilo is a framework focused on making media discovery and browsing easy
281f6b3a
RG
5021for application developers. This package provides plugins for common media
5022discovery protocols.")
7b212526 5023 (license license:lgpl2.1+)))
4e3fc547
MW
5024
5025(define-public totem
5026 (package
5027 (name "totem")
961dc62d 5028 (version "3.34.1")
4e3fc547
MW
5029 (source
5030 (origin
5031 (method url-fetch)
2a9761b1 5032 (uri (string-append "mirror://gnome/sources/totem/"
4e3fc547 5033 (version-major+minor version) "/"
2a9761b1 5034 "totem-" version ".tar.xz"))
4e3fc547
MW
5035 (sha256
5036 (base32
961dc62d 5037 "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b"))))
7ad81b8b 5038 (build-system meson-build-system)
4e3fc547
MW
5039 (native-inputs
5040 `(("pkg-config" ,pkg-config)
5041 ("desktop-file-utils" ,desktop-file-utils)
5042 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 5043 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 5044 ("intltool" ,intltool)
bcb354ad 5045 ("itstool" ,itstool)
995ef5ea 5046 ("xmllint" ,libxml2)
995ef5ea 5047 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
5048 (propagated-inputs
5049 `(("dconf" ,dconf)))
5050 (inputs
5051 `(("gtk+" ,gtk+)
5052 ("gdk-pixbuf" ,gdk-pixbuf)
5053 ("atk" ,atk)
5054 ("cairo" ,cairo)
5055 ("dbus-glib" ,dbus-glib)
5056 ("clutter" ,clutter)
5057 ("clutter-gtk" ,clutter-gtk)
5058 ("clutter-gst" ,clutter-gst)
6a6db57f 5059 ("xorgproto" ,xorgproto)
4e3fc547
MW
5060 ("libxxf86vm" ,libxxf86vm)
5061 ("libxtst" ,libxtst)
5062 ("libxrandr" ,libxrandr)
5063 ("libxml2" ,libxml2)
5064 ("libsoup" ,libsoup)
5065 ("libpeas" ,libpeas)
5066 ("librsvg" ,librsvg)
5067 ("lirc" ,lirc)
5068 ("gnome-desktop" ,gnome-desktop)
5069 ("gstreamer" ,gstreamer)
5070 ("gst-plugins-base" ,gst-plugins-base)
5071 ("gst-plugins-good" ,gst-plugins-good)
5072 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5073 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 5074 ("python" ,python)
995ef5ea 5075 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
5076 ("totem-pl-parser" ,totem-pl-parser)
5077 ("grilo" ,grilo)
5078 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
5079 ("vala" ,vala)))
5080 (arguments
7ad81b8b
LC
5081 `(#:glib-or-gtk? #t
5082
5083 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 5084 ;; all that.
7ad81b8b 5085 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
5086
5087 ;; Do not build .a files for the plugins, it's
5088 ;; completely useless. This saves 2 MiB.
7ad81b8b 5089 "--default-library" "shared")
ec5c24f9 5090 #:phases
4e3fc547 5091 (modify-phases %standard-phases
d51b19ad
EF
5092 (add-after 'unpack 'skip-gtk-update-icon-cache
5093 ;; Don't create 'icon-theme.cache'.
5094 (lambda _
5095 (substitute* "meson_post_install.py"
5096 (("gtk-update-icon-cache") "true"))
5097 #t))
6368eb39
DM
5098 (add-before
5099 'install 'disable-cache-generation
5100 (lambda _
5101 (setenv "DESTDIR" "/")
5102 #t))
995ef5ea
KK
5103 (add-before
5104 'check 'pre-check
5105 (lambda _
5106 ;; Tests require a running X server.
5107 (system "Xvfb :1 &")
5108 (setenv "DISPLAY" ":1")
5109 #t))
4e3fc547
MW
5110 (add-after
5111 'install 'wrap-totem
5112 (lambda* (#:key inputs outputs #:allow-other-keys)
5113 (let ((out (assoc-ref outputs "out"))
5114 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
5115 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
5116 (wrap-program (string-append out "/bin/totem")
5117 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
5118 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
5119 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
5120 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
5121 #t)))))
5122 (home-page "https://wiki.gnome.org/Apps/Videos")
5123 (synopsis "Simple media player for GNOME based on GStreamer")
5124 (description "Totem is a simple yet featureful media player for GNOME
5125which can read a large number of file formats.")
5126 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
5127 ;; to be used and distributed together with GStreamer and Totem. See
5128 ;; file://COPYING in the source distribution for details.
5129 (license license:gpl2+)))
f0afb0c8
DH
5130
5131(define-public rhythmbox
5132 (package
5133 (name "rhythmbox")
eda580c0 5134 (version "3.4.4")
f0afb0c8
DH
5135 (source (origin
5136 (method url-fetch)
2588693d 5137 (uri (string-append "mirror://gnome/sources/rhythmbox/"
f0afb0c8 5138 (version-major+minor version) "/"
2588693d 5139 "rhythmbox-" version ".tar.xz"))
f0afb0c8
DH
5140 (sha256
5141 (base32
eda580c0 5142 "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf"))))
f0afb0c8
DH
5143 (build-system glib-or-gtk-build-system)
5144 (arguments
5145 `(#:configure-flags
5146 (list "--enable-lirc"
5147 "--enable-python"
5148 "--enable-vala"
5149 "--with-brasero"
5150 "--with-gudev"
5151 "--with-libsecret")
5152 #:phases
5153 (modify-phases %standard-phases
5154 (add-after
5155 'install 'wrap-rhythmbox
5156 (lambda* (#:key inputs outputs #:allow-other-keys)
5157 (let ((out (assoc-ref outputs "out"))
5158 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5159 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
5160 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
5161 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
5162 (wrap-program (string-append out "/bin/rhythmbox")
5163 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5164 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
5165 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
5166 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
5167 #t)))))
5168 (propagated-inputs
5169 `(("dconf" ,dconf)))
5170 (native-inputs
bcb354ad
SB
5171 `(("itstool" ,itstool)
5172 ("intltool" ,intltool)
f0afb0c8
DH
5173 ("glib" ,glib "bin")
5174 ("gobject-introspection" ,gobject-introspection)
5175 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
5176 ("pkg-config" ,pkg-config)
5177 ("xmllint" ,libxml2)))
f0afb0c8
DH
5178 (inputs
5179 `(("json-glib" ,json-glib)
5180 ("tdb" ,tdb)
5181 ("gnome-desktop" ,gnome-desktop)
5182 ("python" ,python)
5183 ("python-pygobject" ,python2-pygobject)
5184 ("vala" ,vala)
5185 ("gmime" ,gmime)
f0afb0c8
DH
5186 ("adwaita-icon-theme" ,adwaita-icon-theme)
5187 ("grilo" ,grilo)
5188 ("grilo-plugins" ,grilo-plugins)
5189 ("gstreamer" ,gstreamer)
5190 ("gst-plugins-base" ,gst-plugins-base)
5191 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 5192 ("totem-pl-parser" ,totem-pl-parser)
ea226291 5193 ("libgudev" ,libgudev)
f0afb0c8
DH
5194 ;;("libmtp" ,libmtp) FIXME: Not detected
5195 ("libsecret" ,libsecret)
5196 ("libsoup" ,libsoup)
5197 ("libnotify" ,libnotify)
5198 ("libpeas" ,libpeas)
5199 ("lirc" ,lirc)
5200 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
5201 ;;("clutter" ,clutter)
5202 ;;("clutter-gtk" ,clutter-gtk)
5203 ;;("clutter-gst" ,clutter-gst)
5204 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5205 ("atk" ,atk)
5206 ("pango" ,pango)
5207 ("gtk+" ,gtk+)
5208 ;; TODO:
5209 ;; * libgpod
5210 ;; * mx
f0afb0c8
DH
5211 ("brasero" ,brasero)))
5212 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
5213 (synopsis "Music player for GNOME")
5214 (description "Rhythmbox is a music playing application for GNOME. It
5215supports playlists, song ratings, and any codecs installed through gstreamer.")
5216 (license license:gpl2+)))
f70d8383
DH
5217
5218(define-public eog
5219 (package
5220 (name "eog")
0c9031fa 5221 (version "3.34.1")
f70d8383
DH
5222 (source (origin
5223 (method url-fetch)
5224 (uri (string-append "mirror://gnome/sources/" name "/"
5225 (version-major+minor version) "/"
5226 name "-" version ".tar.xz"))
5227 (sha256
5228 (base32
0c9031fa 5229 "0b7ld4azs9xbdjsk9b91ywhdzvxgajhndiwiivxjzbr0hjgp7c7x"))))
61fb581f 5230 (build-system meson-build-system)
f70d8383 5231 (arguments
34c44a34
RW
5232 `(#:configure-flags
5233 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
5234 (list (string-append "-Dc_link_args=-Wl,-rpath="
5235 (assoc-ref %outputs "out") "/lib/eog"))
5236 #:phases
f70d8383 5237 (modify-phases %standard-phases
7a034665
EF
5238 (add-after 'unpack 'skip-gtk-update-icon-cache
5239 ;; Don't create 'icon-theme.cache'.
5240 (lambda _
5241 (substitute* "meson_post_install.py"
5242 (("gtk-update-icon-cache") "true"))
5243 #t))
61fb581f
RW
5244 (add-after 'install 'wrap-eog
5245 (lambda* (#:key outputs #:allow-other-keys)
5246 (let ((out (assoc-ref outputs "out"))
5247 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5248 (wrap-program (string-append out "/bin/eog")
5249 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5250 #t)))))
f70d8383
DH
5251 (propagated-inputs
5252 `(("dconf" ,dconf)))
5253 (native-inputs
5254 `(("intltool" ,intltool)
b3546174 5255 ("itstool" ,itstool)
f70d8383
DH
5256 ("glib" ,glib "bin")
5257 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
5258 ("pkg-config" ,pkg-config)
5259 ("xmllint" ,libxml2)))
f70d8383
DH
5260 (inputs
5261 `(("gnome-desktop" ,gnome-desktop)
5262 ("shared-mime-info" ,shared-mime-info)
5263 ("adwaita-icon-theme" ,adwaita-icon-theme)
5264 ("exempi" ,exempi)
5265 ("lcms" ,lcms)
5266 ("libexif" ,libexif)
5267 ("libpeas" ,libpeas)
4bd428a7 5268 ("libjpeg" ,libjpeg-turbo)
0c9031fa 5269 ("librsvg" ,librsvg-next)
f70d8383
DH
5270 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5271 ("gtk+" ,gtk+)))
5272 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
5273 (synopsis "GNOME image viewer")
5274 (description "Eye of GNOME is the GNOME image viewer. It
5275supports image conversion, rotation, and slideshows.")
5276 (license license:gpl2+)))
41af5e7b 5277
0c3f8cb8
LC
5278(define-public eog-plugins
5279 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
5280 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
5281 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
5282 ;; 'XDG_DATA_DIRS' appropriately set.
5283 (package
5284 (name "eog-plugins")
54b74cc6 5285 (version "3.26.4")
0c3f8cb8
LC
5286 (source (origin
5287 (method url-fetch)
f3b88ed2 5288 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 5289 (version-major+minor version) "/"
f3b88ed2 5290 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
5291 (sha256
5292 (base32
54b74cc6 5293 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
5294 (build-system gnu-build-system)
5295 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
5296 (synopsis "Extensions for the Eye of GNOME image viewer")
5297 (native-inputs
5298 `(("pkg-config" ,pkg-config)
f2d97d57 5299 ("gettext" ,gettext-minimal)))
0c3f8cb8
LC
5300 (inputs
5301 `(("eog" ,eog)
5302 ("glib" ,glib)
5303 ("gtk+" ,gtk+)
5304 ("libpeas" ,libpeas)
5305 ("libexif" ,libexif)
5306 ("libchamplain" ,libchamplain)))
5307 (description
5308 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
5309notably:
5310
5311@itemize
5312@item @dfn{EXIF Display}, which displays camera (EXIF) information;
5313@item @dfn{Map}, which displays a map of where the picture was taken on the
5314side panel;
5315@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
5316@end itemize\n")
5317
5318 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
5319 ;; long suspicious byte stream that goes to a
5320 ;; ".gresource.eog_postasa_plugin" ELF section.
5321 (license license:gpl2+)))
5322
41af5e7b
SB
5323(define-public libgudev
5324 (package
5325 (name "libgudev")
b78f5118 5326 (version "232")
41af5e7b
SB
5327 (source (origin
5328 (method url-fetch)
5329 (uri (string-append "mirror://gnome/sources/" name "/"
5330 version "/" name "-" version ".tar.xz"))
5331 (sha256
5332 (base32
b78f5118 5333 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 5334 (build-system gnu-build-system)
b78f5118
RW
5335 (arguments
5336 '(#:configure-flags
5337 ;; umockdev depends on libgudev.
5338 (list "--disable-umockdev")))
41af5e7b
SB
5339 (native-inputs
5340 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5341 ("gobject-introspection" ,gobject-introspection)
5342 ("pkg-config" ,pkg-config)))
5343 (propagated-inputs
5344 `(("glib" ,glib))) ; required by gudev-1.0.pc
5345 (inputs
5346 `(("udev" ,eudev)))
5347 (home-page "https://wiki.gnome.org/Projects/libgudev")
5348 (synopsis "GObject bindings for libudev")
5349 (description
5350 "This library provides GObject bindings for libudev. It was originally
5351part of udev-extras, then udev, then systemd. It's now a project on its own.")
5352 (license license:lgpl2.1+)))
3dc8828f
SB
5353
5354(define-public gvfs
5355 (package
5356 (name "gvfs")
12fe4846 5357 (version "1.40.1")
3dc8828f
SB
5358 (source (origin
5359 (method url-fetch)
1d68eb32 5360 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 5361 (version-major+minor version) "/"
1d68eb32 5362 "gvfs-" version ".tar.xz"))
3dc8828f
SB
5363 (sha256
5364 (base32
12fe4846 5365 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))))
e762d943 5366 (build-system meson-build-system)
3dc8828f 5367 (arguments
e762d943
RW
5368 '(#:glib-or-gtk? #t
5369 #:configure-flags
5370 (list "-Dsystemduserunitdir=no"
5371 "-Dtmpfilesdir=no"
5372 ;; Otherwise, the RUNPATH will lack the final path component.
5373 (string-append "-Dc_link_args=-Wl,-rpath="
5374 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
5375 (native-inputs
5376 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
5377 ("gettext" ,gettext-minimal)
5378 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
5379 ("pkg-config" ,pkg-config)
5380 ("xsltproc" ,libxslt)))
5381 (inputs
5382 `(("avahi" ,avahi)
5383 ("docbook-xml" ,docbook-xml-4.2)
5384 ("docbook-xsl" ,docbook-xsl)
5385 ("dbus" ,dbus)
e762d943 5386 ("elogind" ,elogind)
3dc8828f 5387 ("fuse" ,fuse)
24a78aa6 5388 ("gcr" ,gcr)
3dc8828f 5389 ("glib" ,glib)
e762d943 5390 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
5391 ("libarchive" ,libarchive)
5392 ("libbluray" ,libbluray)
8852ca24 5393 ("libcap" ,libcap)
3dc8828f
SB
5394 ("libcdio-paranoia" ,libcdio-paranoia)
5395 ("libgcrypt" ,libgcrypt)
e762d943 5396 ("libgdata" ,libgdata)
3dc8828f
SB
5397 ("libgphoto2" ,libgphoto2)
5398 ("libgudev" ,libgudev)
0ab9f949 5399 ("libimobiledevice" ,libimobiledevice)
3dc8828f 5400 ("libmtp" ,libmtp)
e762d943 5401 ("libnfs" ,libnfs)
3dc8828f
SB
5402 ("libsecret" ,libsecret)
5403 ("libsmbclient" ,samba)
5404 ("libsoup" ,libsoup)
5405 ("libxml2" ,libxml2)
e762d943 5406 ("openssh" ,openssh)
8852ca24 5407 ("polkit" ,polkit)
3dc8828f
SB
5408 ("udisks" ,udisks)))
5409 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 5410 (synopsis "Userspace virtual file system for GIO")
3dc8828f 5411 (description
8f65585b 5412 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
5413abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
5414to all applications using the GIO API. It also supports exposing the GVFS
5415mounts to non-GIO applications using FUSE.
5416
5417GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
5418DAV, and others.")
5419 (license license:lgpl2.0+)))
7c88b6bd
AW
5420
5421(define-public gusb
5422 (package
5423 (name "gusb")
536b3274 5424 (version "0.3.0")
7c88b6bd 5425 (source (origin
bbfb36f9
EF
5426 (method git-fetch)
5427 (uri (git-reference
b0e7b699 5428 (url "https://github.com/hughsie/libgusb")
bbfb36f9
EF
5429 (commit version)))
5430 (file-name (git-file-name name version))
7c88b6bd
AW
5431 (sha256
5432 (base32
bbfb36f9 5433 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 5434 (build-system meson-build-system)
7c88b6bd 5435 (native-inputs
536b3274 5436 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
5437 ("pkg-config" ,pkg-config)
5438 ("vala" ,vala)
7c88b6bd
AW
5439 ("gtk-doc" ,gtk-doc)))
5440 (propagated-inputs
5441 ;; Both of these are required by gusb.pc.
5442 `(("glib" ,glib)
5443 ("libusb" ,libusb)))
5444 (arguments
536b3274 5445 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 5446 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 5447 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
5448 (description
5449 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
5450asynchronous control, bulk and interrupt transfers with proper cancellation
5451and integration into a mainloop. This makes it easy to integrate low level
5452USB transfers with your high-level application or system daemon.")
5453 (license license:lgpl2.1+)))
0abe1d86
AW
5454
5455(define-public simple-scan
5456 (package
5457 (name "simple-scan")
3f352df0 5458 (version "3.36.3")
d9f6d587
TGR
5459 (source
5460 (origin
5461 (method url-fetch)
5462 (uri (string-append "mirror://gnome/sources/simple-scan/"
5463 (version-major+minor version) "/"
5464 "simple-scan-" version ".tar.xz"))
5465 (sha256
3f352df0 5466 (base32 "0gsz7jqk0fdj0mama3cnss9i1adw18cpdnlcjcjh4r5qijmvx0vh"))))
d9f6d587
TGR
5467 (build-system meson-build-system)
5468 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
5469 (arguments
5470 '(#:glib-or-gtk? #t))
0abe1d86
AW
5471 (inputs
5472 `(("gtk" ,gtk+)
5473 ("zlib" ,zlib)
5474 ("cairo" ,cairo)
c501f592 5475 ("colord" ,colord)
0abe1d86
AW
5476 ("gdk-pixbuf" ,gdk-pixbuf)
5477 ("gusb" ,gusb)
4c928743 5478 ("libsane" ,sane-backends)))
0abe1d86 5479 (native-inputs
b94a6ca0 5480 `(("gettext" ,gettext-minimal)
0abe1d86 5481 ("itstool" ,itstool)
c501f592 5482 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 5483 ("pkg-config" ,pkg-config)
bcb354ad
SB
5484 ("vala" ,vala)
5485 ("xmllint" ,libxml2)))
dff0eedb 5486 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 5487 (synopsis "Document and image scanner")
d9f6d587
TGR
5488 (description
5489 "Document Scanner is an easy-to-use application that lets you connect your
5490scanner and quickly capture images and documents in an appropriate format. It
5491supports any scanner for which a suitable SANE driver is available, which is
5492almost all of them.")
0abe1d86 5493 (license license:gpl3+)))
7549f984 5494
ab466d79
RW
5495(define-public eolie
5496 (package
5497 (name "eolie")
ed783404 5498 (version "0.9.98.1")
ab466d79
RW
5499 (source (origin
5500 (method url-fetch)
ed783404
RW
5501 (uri (string-append "https://adishatz.org/eolie/eolie-"
5502 version ".tar.xz"))
ab466d79
RW
5503 (sha256
5504 (base32
ed783404 5505 "1d844zva5w4p9pnp9c2g7zyb4vayr2g2drf78spxsdlc5lbd7lqr"))))
00014781 5506 (build-system meson-build-system)
ab466d79 5507 (arguments
00014781
RW
5508 `(#:glib-or-gtk? #t
5509 #:phases
ab466d79 5510 (modify-phases %standard-phases
f0c68100
EF
5511 (add-after 'unpack 'skip-gtk-update-icon-cache
5512 ;; Don't create 'icon-theme.cache'.
5513 (lambda _
5514 (substitute* "meson_post_install.py"
5515 (("gtk-update-icon-cache") "true"))
5516 #t))
ab466d79
RW
5517 (add-after 'wrap 'wrap-more
5518 (lambda* (#:key inputs outputs #:allow-other-keys)
5519 (let* ((out (assoc-ref outputs "out"))
5520 ;; These libraries must be on LD_LIBRARY_PATH.
5521 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
5522 "atk" "gtk+" "gsettings-desktop-schemas"
5523 "gobject-introspection"))
5524 (path (string-join
5525 (map (lambda (lib)
5526 (string-append (assoc-ref inputs lib) "/lib"))
5527 libs)
5528 ":")))
5529 (wrap-program (string-append out "/bin/eolie")
5530 `("LD_LIBRARY_PATH" ":" prefix (,path))
5531 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
5532 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
5533 #t)))))
5534 (native-inputs
f85ca6ed 5535 `(("intltool" ,intltool)
ab466d79 5536 ("itstool" ,itstool)
d95f1041 5537 ("pkg-config" ,pkg-config)
d95f1041 5538 ("python" ,python)
f0c68100 5539 ("glib:bin" ,glib "bin")))
ab466d79
RW
5540 (inputs
5541 `(("gobject-introspection" ,gobject-introspection)
5542 ("glib-networking" ,glib-networking)
5543 ("cairo" ,cairo)
5544 ("gtk+" ,gtk+)
5545 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
5546 ("python" ,python-wrapper)
d72f76df 5547 ("python-dateutil" ,python-dateutil)
00014781 5548 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
5549 ("python-pygobject" ,python-pygobject)
5550 ("python-pycairo" ,python-pycairo)
00014781 5551 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
5552 ("libsecret" ,libsecret)
5553 ("gtkspell3" ,gtkspell3)
5554 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 5555 ("webkitgtk" ,webkitgtk)))
166b2c97 5556 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
5557 (synopsis "Web browser for GNOME")
5558 (description
5559 "Eolie is a new web browser for GNOME. It features Firefox sync support,
5560a secret password store, an adblocker, and a modern UI.")
5561 (license license:gpl3+)))
5562
7549f984
SB
5563(define-public epiphany
5564 (package
5565 (name "epiphany")
68fdd237 5566 (version "3.34.4")
7549f984
SB
5567 (source (origin
5568 (method url-fetch)
dd3266ec 5569 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 5570 (version-major+minor version) "/"
dd3266ec 5571 "epiphany-" version ".tar.xz"))
7549f984
SB
5572 (sha256
5573 (base32
68fdd237 5574 "13ar3s40cds1rplwbzx0fzigf120w0rydiv05r3k6zpc0zy91qb0"))))
fc5c5b92
R
5575
5576 (build-system meson-build-system)
7549f984 5577 (arguments
20710b91 5578 '(#:glib-or-gtk? #t
bb7ff88f
EF
5579 #:phases
5580 (modify-phases %standard-phases
5581 (add-after 'unpack 'skip-gtk-update-icon-cache
5582 ;; Don't create 'icon-theme.cache'.
5583 (lambda _
5584 (substitute* "post_install.py"
5585 (("gtk-update-icon-cache") "true"))
20710b91
LP
5586 #t))
5587 (add-after 'unpack 'disable-failing-tests
5588 (lambda _
5589 (substitute* "tests/meson.build"
5590 ;; embed_shell fails, because webkitgtk apparently no longer supports
5591 ;; overriding the ftp schema
5592 ;; web_app_utils fails due to missing network access
5593 (("(embed_shell|web_app_utils)_test,")
5594 "find_program('sh'), args: ['-c', 'exit 77'],"))
5595 #t))
5596 (add-before 'check 'pre-check
5597 (lambda _
5598 ;; Tests require a running X server.
5599 (system "Xvfb :1 &")
5600 (setenv "DISPLAY" ":1")
bb7ff88f 5601 #t)))
e19f9c24
LF
5602 #:configure-flags
5603 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
5604 (list (string-append "-Dc_link_args=-Wl,-rpath="
5605 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
5606 (propagated-inputs
5607 `(("dconf" ,dconf)))
7549f984 5608 (native-inputs
fc5c5b92
R
5609 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5610 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 5611 ("intltool" ,intltool)
7549f984 5612 ("itstool" ,itstool)
bcb354ad 5613 ("pkg-config" ,pkg-config)
20710b91
LP
5614 ("xmllint" ,libxml2)
5615 ("xorg-server" ,xorg-server-for-tests)))
7549f984
SB
5616 (inputs
5617 `(("avahi" ,avahi)
5618 ("gcr" ,gcr)
fc5c5b92 5619 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
5620 ("glib-networking" ,glib-networking)
5621 ("gnome-desktop" ,gnome-desktop)
5622 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 5623 ("json-glib" ,json-glib)
7549f984 5624 ("iso-codes" ,iso-codes)
8748e29c 5625 ("libdazzle" ,libdazzle)
7549f984
SB
5626 ("libnotify" ,libnotify)
5627 ("libsecret" ,libsecret)
7549f984 5628 ("libxslt" ,libxslt)
fc5c5b92 5629 ("nettle" ,nettle) ; for hogweed
7549f984 5630 ("sqlite" ,sqlite)
f85ca6ed 5631 ("webkitgtk" ,webkitgtk)))
7549f984
SB
5632 (home-page "https://wiki.gnome.org/Apps/Web")
5633 (synopsis "GNOME web browser")
5634 (description
5635 "Epiphany is a GNOME web browser targeted at non-technical users. Its
5636principles are simplicity and standards compliance.")
5637 (license license:gpl2+)))
a3856b2c
SB
5638
5639(define-public d-feet
5640 (package
5641 (name "d-feet")
458e9221 5642 (version "0.3.14")
a3856b2c
SB
5643 (source (origin
5644 (method url-fetch)
5645 (uri (string-append "mirror://gnome/sources/" name "/"
5646 (version-major+minor version) "/"
5647 name "-" version ".tar.xz"))
5648 (sha256
5649 (base32
458e9221 5650 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
5651 (build-system glib-or-gtk-build-system)
5652 (arguments
5653 '(#:out-of-source? #f ; tests need to run in the source directory.
5654 #:phases
5655 (modify-phases %standard-phases
5656 (add-before
5657 'check 'pre-check
86aff791 5658 (lambda _
a3856b2c
SB
5659 ;; The test suite requires a running X server.
5660 (system "Xvfb :1 &")
5661 (setenv "DISPLAY" ":1")
5662 ;; Don't fail on missing '/etc/machine-id'.
5663 (setenv "DBUS_FATAL_WARNINGS" "0")
5664 ;; tests.py and window.py don't meet E402:
5665 ;; E402 module level import not at top of file
5666 (substitute* "src/tests/Makefile"
86aff791
MW
5667 (("--ignore=E123") "--ignore=E123,E402"))
5668 #t))
a3856b2c
SB
5669 (add-after
5670 'install 'wrap-program
5671 (lambda* (#:key outputs #:allow-other-keys)
5672 (let ((prog (string-append (assoc-ref outputs "out")
5673 "/bin/d-feet")))
5674 (wrap-program prog
5675 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
5676 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
5677 #t))))))
a3856b2c
SB
5678 (native-inputs
5679 `(("intltool" ,intltool)
5680 ("itstool" ,itstool)
5681 ("pkg-config" ,pkg-config)
5682 ("python-pep8" ,python-pep8)
5683 ("xmllint" ,libxml2)
ff337525 5684 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
5685 (inputs
5686 `(("gobject-introspection" ,gobject-introspection)
5687 ("gtk+" ,gtk+)
5688 ("python" ,python-wrapper)
458e9221 5689 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
5690 ("python-pygobject" ,python-pygobject)))
5691 (home-page "https://wiki.gnome.org/Apps/DFeet")
5692 (synopsis "D-Bus debugger")
5693 (description
5694 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
5695of running programs and invoke methods on those interfaces.")
5696 (license license:gpl2+)))
c3b97bd9
SB
5697
5698(define-public yelp-xsl
5699 (package
5700 (name "yelp-xsl")
632a9b32 5701 (version "3.34.2")
c3b97bd9
SB
5702 (source (origin
5703 (method url-fetch)
5704 (uri (string-append "mirror://gnome/sources/" name "/"
5705 (version-major+minor version) "/"
5706 name "-" version ".tar.xz"))
5707 (sha256
5708 (base32
632a9b32 5709 "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
c3b97bd9
SB
5710 (build-system gnu-build-system)
5711 (native-inputs
632a9b32 5712 `(("gettext-minimal" ,gettext-minimal)
c3b97bd9
SB
5713 ("itstool" ,itstool)
5714 ("xmllint" ,libxml2)))
5715 (home-page "https://wiki.gnome.org/Apps/Yelp")
5716 (synopsis "XSL stylesheets for Yelp")
5717 (description
5718 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
5719to format Docbook and Mallard documents.")
5720 (license license:gpl2+)))
de3d612a
SB
5721
5722(define-public yelp
5723 (package
5724 (name "yelp")
1f1b6d60 5725 (version "3.32.2")
de3d612a
SB
5726 (source (origin
5727 (method url-fetch)
5728 (uri (string-append "mirror://gnome/sources/" name "/"
5729 (version-major+minor version) "/"
5730 name "-" version ".tar.xz"))
5731 (sha256
5732 (base32
1f1b6d60 5733 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
5734 (build-system glib-or-gtk-build-system)
5735 (native-inputs
5736 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5737 ("intltool" ,intltool)
5738 ("itstool" ,itstool)
5739 ("pkg-config" ,pkg-config)))
5740 (propagated-inputs
5741 `(("dconf" ,dconf)))
5742 (inputs
ad1b7d8b
SB
5743 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5744 ("libxslt" ,libxslt)
de3d612a 5745 ("sqlite" ,sqlite)
4c28ca1d
SB
5746 ("webkitgtk" ,webkitgtk)
5747 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
5748 (home-page "https://wiki.gnome.org/Apps/Yelp")
5749 (synopsis "GNOME help browser")
5750 (description
5751 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
5752man, info, and HTML documents. It can locate documents according to the
5753freedesktop.org help system specification.")
5754 (license license:gpl2+)))
122d0d10
SB
5755
5756(define-public yelp-tools
5757 (package
5758 (name "yelp-tools")
8fe8a42a 5759 (version "3.32.2")
122d0d10
SB
5760 (source (origin
5761 (method url-fetch)
5762 (uri (string-append "mirror://gnome/sources/" name "/"
5763 (version-major+minor version) "/"
5764 name "-" version ".tar.xz"))
5765 (sha256
5766 (base32
8fe8a42a 5767 "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q"))))
122d0d10
SB
5768 (build-system gnu-build-system)
5769 (native-inputs
5770 `(("pkg-config" ,pkg-config)))
5771 (propagated-inputs
5772 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
5773 `(("itstool" ,itstool)
5774 ("xmllint" ,libxml2)
5775 ("xsltproc" ,libxslt)))
5776 (inputs
5777 `(("yelp-xsl" ,yelp-xsl)))
5778 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
5779 (synopsis "Yelp documentation tools")
5780 (description
5781 "Yelp-tools is a collection of scripts and build utilities to help create,
5782manage, and publish documentation for Yelp and the web. Most of the heavy
5783lifting is done by packages like yelp-xsl and itstool. This package just
5784wraps things up in a developer-friendly way.")
5785 (license license:gpl2+)))
af8f9f23
RW
5786
5787(define-public libgee
5788 (package
5789 (name "libgee")
9cedae2a 5790 (version "0.20.3")
af8f9f23
RW
5791 (source (origin
5792 (method url-fetch)
84a1b007 5793 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 5794 (version-major+minor version) "/"
84a1b007 5795 "libgee-" version ".tar.xz"))
af8f9f23
RW
5796 (sha256
5797 (base32
9cedae2a 5798 "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
af8f9f23
RW
5799 (build-system gnu-build-system)
5800 (arguments
5801 `(#:phases
5802 (modify-phases %standard-phases
5803 (add-after 'unpack 'fix-introspection-install-dir
5804 (lambda* (#:key outputs #:allow-other-keys)
5805 (let ((out (assoc-ref outputs "out")))
5806 (substitute* "gee/Makefile.in"
5807 (("@INTROSPECTION_GIRDIR@")
5808 (string-append out "/share/gir-1.0/"))
5809 (("@INTROSPECTION_TYPELIBDIR@")
5810 (string-append out "/lib/girepository-1.0/")))))))))
5811 (native-inputs
5812 `(("glib" ,glib "bin")
5813 ("pkg-config" ,pkg-config)))
5814 (inputs
5815 `(("glib" ,glib)
5816 ("gobject-introspection" ,gobject-introspection)))
5817 (home-page "https://wiki.gnome.org/Projects/Libgee")
5818 (synopsis "GObject collection library")
5819 (description
5820 "Libgee is a utility library providing GObject-based interfaces and
5821classes for commonly used data structures.")
5822 (license license:lgpl2.1+)))
b0f9c4b8
RW
5823
5824(define-public gexiv2
5825 (package
5826 (name "gexiv2")
efc396ef 5827 (version "0.12.1")
b0f9c4b8
RW
5828 (source (origin
5829 (method url-fetch)
5830 (uri (string-append "mirror://gnome/sources/" name "/"
5831 (version-major+minor version) "/"
5832 name "-" version ".tar.xz"))
5833 (sha256
5834 (base32
efc396ef 5835 "0xxxq8xdkgkn146my307jgws4qgxx477h0ybg1mqza1ycmczvsla"))))
51c482e4 5836 (build-system meson-build-system)
b0f9c4b8 5837 (native-inputs
b1a8b408
KK
5838 `(("gcr" ,gcr)
5839 ("glib" ,glib "bin")
5840 ("pkg-config" ,pkg-config)
5841 ("vala" ,vala)))
b0f9c4b8
RW
5842 (propagated-inputs
5843 ;; Listed in "Requires" section of gexiv2.pc
5844 `(("exiv2" ,exiv2)))
5845 (inputs
5846 `(("glib" ,glib)
5847 ("gobject-introspection" ,gobject-introspection)))
5848 (home-page "https://wiki.gnome.org/Projects/gexiv2")
5849 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
5850 (description
5851 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
5852allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
5853metadata in photo and video files of various formats.")
5854 (license license:gpl2+)))
fed5a689
RW
5855
5856(define-public shotwell
5857 (package
5858 (name "shotwell")
b82a45d8 5859 (version "0.30.9")
fed5a689
RW
5860 (source (origin
5861 (method url-fetch)
5497d682 5862 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 5863 (version-major+minor version) "/"
5497d682 5864 "shotwell-" version ".tar.xz"))
fed5a689
RW
5865 (sha256
5866 (base32
b82a45d8 5867 "1y556yyzfya0310v5wqjkf17hy5lhf028iminvvgi2pdfva344id"))))
3b79afa6
KK
5868 (build-system meson-build-system)
5869 (arguments
5a0beca3
EF
5870 '(#:glib-or-gtk? #t
5871 #:phases
5872 (modify-phases %standard-phases
5873 (add-after 'unpack 'skip-gtk-update-icon-cache
5874 (lambda _
5875 (substitute* "build-aux/meson/postinstall.py"
5876 (("gtk-update-icon-cache") (which "true"))
5877 (("update-desktop-database") (which "true")))
5878 #t)))))
735b8db6
TGR
5879 (propagated-inputs
5880 `(("dconf" ,dconf)))
fed5a689 5881 (native-inputs
5a0beca3
EF
5882 `(("gettext" ,gettext-minimal)
5883 ("glib:bin" ,glib "bin")
735b8db6 5884 ("itstool" ,itstool)
3b79afa6 5885 ("pkg-config" ,pkg-config)
735b8db6 5886 ("vala" ,vala)))
fed5a689 5887 (inputs
5a0beca3
EF
5888 `(("gcr" ,gcr)
5889 ("gexiv2" ,gexiv2)
fed5a689 5890 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
5891 ("gstreamer" ,gstreamer)
5892 ("json-glib" ,json-glib)
dfb0323d 5893 ("libgdata" ,libgdata)
fed5a689 5894 ("libgee" ,libgee)
5a0beca3
EF
5895 ("libgphoto2" ,libgphoto2)
5896 ("libgudev" ,libgudev)
fed5a689 5897 ("libraw" ,libraw)
fed5a689
RW
5898 ("libsoup" ,libsoup)
5899 ("libxml2" ,libxml2)
5a0beca3
EF
5900 ("sqlite" ,sqlite)
5901 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
5902 (home-page "https://wiki.gnome.org/Apps/Shotwell")
5903 (synopsis "Photo manager for GNOME 3")
5904 (description
5905 "Shotwell is a digital photo manager designed for the GNOME desktop
5906environment. It allows you to import photos from disk or camera, organize
5907them by keywords and events, view them in full-window or fullscreen mode, and
5908share them with others via social networking and more.")
5909 (license license:lgpl2.1+)))
293ff8b2
DT
5910
5911(define-public file-roller
5912 (package
5913 (name "file-roller")
dcae4270 5914 (version "3.32.3")
293ff8b2
DT
5915 (source (origin
5916 (method url-fetch)
f89a27c6 5917 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 5918 (version-major+minor version) "/"
f89a27c6 5919 "file-roller-" version ".tar.xz"))
293ff8b2
DT
5920 (sha256
5921 (base32
dcae4270 5922 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 5923 (build-system meson-build-system)
293ff8b2 5924 (native-inputs
0a500745
RW
5925 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5926 ("intltool" ,intltool)
4c96e5d1 5927 ("itstool" ,itstool)
0a500745
RW
5928 ("pkg-config" ,pkg-config)
5929 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
5930 ("glib:bin" ,glib "bin")))
293ff8b2
DT
5931 ;; TODO: Add libnautilus.
5932 (inputs
5933 `(("gtk+" ,gtk+)
5934 ("gdk-pixbuf" ,gdk-pixbuf)
5935 ("json-glib" ,json-glib)
5936 ("libarchive" ,libarchive)
5937 ("libnotify" ,libnotify)
4c96e5d1 5938 ("nettle" ,nettle)
293ff8b2
DT
5939 ("libxml2" ,libxml2)))
5940 (synopsis "Graphical archive manager for GNOME")
5941 (description "File Roller is an archive manager for the GNOME desktop
5942environment that allows users to view, unpack, and create compressed archives
5943such as gzip tarballs.")
5944 (home-page "http://fileroller.sourceforge.net/")
5945 (license license:gpl2+)))
7ce49365
SB
5946
5947(define-public gnome-session
5948 (package
5949 (name "gnome-session")
f67ce006 5950 (version "3.34.2")
7ce49365
SB
5951 (source (origin
5952 (method url-fetch)
5953 (uri (string-append "mirror://gnome/sources/" name "/"
5954 (version-major+minor version) "/"
5955 name "-" version ".tar.xz"))
5956 (sha256
5957 (base32
f67ce006 5958 "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb"))))
2914af3c 5959 (arguments
df278071
RW
5960 '(#:glib-or-gtk? #t
5961 #:phases
2914af3c
AW
5962 (modify-phases %standard-phases
5963 (add-before 'configure 'pre-configure
5964 (lambda* (#:key outputs #:allow-other-keys)
5965 ;; Use elogind instead of systemd.
df278071
RW
5966 (substitute* "meson.build"
5967 (("libsystemd-login") "libelogind")
5968 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
5969 (substitute* "gnome-session/gsm-systemd.c"
5970 (("#include <systemd/sd-login.h>")
5971 "#include <elogind/sd-login.h>"))
df278071 5972 ;; Remove uses of the systemd daemon.
803ab416
SB
5973 (substitute* "gnome-session/gsm-autostart-app.c"
5974 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
5975 #t))
5976 (add-after 'install 'wrap-gnome-session
5977 (lambda* (#:key inputs outputs #:allow-other-keys)
5978 ;; Make sure 'gnome-session' finds the 'gsettings' program.
5979 (let ((glib (assoc-ref inputs "glib:bin"))
5980 (out (assoc-ref outputs "out")))
5981 (wrap-program (string-append out "/bin/gnome-session")
5982 `("PATH" ":" prefix (,(string-append glib "/bin"))))
5983 #t))))
6cbc8d57 5984
2914af3c 5985 #:configure-flags
df278071
RW
5986 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
5987 "-Dman=false" ; FIXME: disabled because of docbook validation error
5988 "-Dsystemd_journal=false")))
5989 (build-system meson-build-system)
7ce49365
SB
5990 (native-inputs
5991 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5992 ("pkg-config" ,pkg-config)
5993 ("intltool" ,intltool)
df278071
RW
5994 ("xsltproc" ,libxslt)
5995 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5996 ("docbook-xsl" ,docbook-xsl)
5997 ("docbook-xml" ,docbook-xml)
5998 ("xmlto" ,xmlto)))
7ce49365 5999 (inputs
2914af3c
AW
6000 `(("elogind" ,elogind)
6001 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 6002 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
6003 ("gtk+" ,gtk+)
6004 ("json-glib" ,json-glib)
6005 ("libsm" ,libsm)
6006 ("libxcomposite" ,libxcomposite)
6007 ("libxtst" ,libxtst)
6008 ("mesa" ,mesa)
6009 ("upower" ,upower)
6010 ("xtrans" ,xtrans)))
6011 (synopsis "Session manager for GNOME")
6012 (description
6013 "This package contains the GNOME session manager, as well as a
6014configuration program to choose applications starting on login.")
6015 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
6016 (license license:gpl2+)))
f47ba77e
SB
6017
6018(define-public gjs
6019 (package
6020 (name "gjs")
76e1830c 6021 (version "1.58.3")
f47ba77e
SB
6022 (source (origin
6023 (method url-fetch)
6024 (uri (string-append "mirror://gnome/sources/" name "/"
6025 (version-major+minor version) "/"
6026 name "-" version ".tar.xz"))
6027 (sha256
6028 (base32
76e1830c 6029 "1bkksx362007zs8c31ydygb29spwa5g5kch1ad2grc2sp53wv7ya"))))
f47ba77e
SB
6030 (build-system gnu-build-system)
6031 (arguments
6032 '(#:phases
6033 (modify-phases %standard-phases
6034 (add-before
6035 'check 'pre-check
6036 (lambda _
fc119619
MW
6037 ;; The test suite requires a running X server.
6038 (system "Xvfb :1 &")
6039 (setenv "DISPLAY" ":1")
6040
f47ba77e
SB
6041 ;; For the missing /etc/machine-id.
6042 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 6043
144f94d0
KK
6044 ;; Our mozjs-38 package does not compile the required Intl API
6045 ;; support for these failing tests.
6046 (substitute* "installed-tests/js/testLocale.js"
6047 ((".*toBeDefined.*") "")
6048 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
6049 (substitute* "installed-tests/scripts/testCommandLine.sh"
6050 (("Valentín") "")
6051 (("☭") ""))
f47ba77e
SB
6052 #t)))))
6053 (native-inputs
8a831c6f 6054 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
6055 ("pkg-config" ,pkg-config)
6056 ("xmllint" ,libxml2)
6057 ;; For testing
6058 ("dbus-launch" ,dbus)
76e1830c 6059 ("dconf" ,dconf) ; required to properly store settings
f47ba77e 6060 ("uuidgen" ,util-linux)
ebebee94 6061 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
6062 (propagated-inputs
6063 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
6064 `(("cairo" ,cairo)
6065 ("gobject-introspection" ,gobject-introspection)
d054fbf5 6066 ("mozjs" ,mozjs-60)))
f47ba77e
SB
6067 (inputs
6068 `(("gtk+" ,gtk+)
6069 ("readline" ,readline)))
6070 (synopsis "Javascript bindings for GNOME")
f032d0be 6071 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
6072 (description
6073 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
6074javascript engine and the GObject introspection framework.")
6075 (license license:gpl2+)))
329d731b
DH
6076
6077(define-public gedit
6078 (package
6079 (name "gedit")
edec7128 6080 (version "3.34.1")
329d731b
DH
6081 (source (origin
6082 (method url-fetch)
6083 (uri (string-append "mirror://gnome/sources/" name "/"
6084 (version-major+minor version) "/"
6085 name "-" version ".tar.xz"))
6086 (sha256
6087 (base32
edec7128 6088 "1inm50sdfw63by1lf4f1swb59mpyxlly0g5rdg99j5l3357fzygb"))))
480c9226 6089 (build-system meson-build-system)
329d731b 6090 (arguments
480c9226
KK
6091 `(#:glib-or-gtk? #t
6092 #:configure-flags
6093 ;; Otherwise, the RUNPATH will lack the final path component.
6094 (list (string-append "-Dc_link_args=-Wl,-rpath="
6095 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
6096
6097 ;; XXX: Generated .h files are sometimes used before being built.
6098 #:parallel-build? #f
6099
480c9226 6100 #:phases
329d731b 6101 (modify-phases %standard-phases
480c9226
KK
6102 (add-after 'unpack 'skip-gtk-update-icon-cache
6103 ;; Don't create 'icon-theme.cache'.
6104 (lambda _
6105 (substitute* "build-aux/meson/post_install.py"
6106 (("gtk-update-icon-cache") (which "true")))
6107 #t))
6108 (add-after 'unpack 'patch-libgd-fetch
6109 (lambda* (#:key inputs #:allow-other-keys)
6110 (let ((libgd (assoc-ref inputs "libgd")))
6111 ;; Calling git is unnecessary because libgd is fetched as a
6112 ;; native input to this package.
6113 (substitute* "meson.build"
6114 ((".*git.*") ""))
6115 (copy-recursively libgd "subprojects/libgd")
6116 #t)))
6117 (add-after 'install 'wrap-gedit
6118 (lambda* (#:key inputs outputs #:allow-other-keys)
6119 (let ((out (assoc-ref outputs "out"))
6120 (gtksourceview (assoc-ref inputs "gtksourceview"))
6121 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
6122 (python-path (getenv "PYTHONPATH")))
6123 (wrap-program (string-append out "/bin/gedit")
6124 ;; For plugins.
6125 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
6126 `("PYTHONPATH" ":" prefix (,python-path))
6127 ;; For language-specs.
6128 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
6129 "/share")))))
6130 #t)))))
329d731b
DH
6131 (propagated-inputs
6132 `(("dconf" ,dconf)))
6133 (native-inputs
480c9226
KK
6134 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6135 ("intltool" ,intltool)
b3546174 6136 ("itstool" ,itstool)
480c9226 6137 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 6138 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
6139 ("libgd"
6140 ,(origin
6141 (method git-fetch)
6142 (uri (git-reference
6143 (url "https://gitlab.gnome.org/GNOME/libgd")
6144 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
6145 (file-name (git-file-name "libgd" version))
6146 (sha256
6147 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
6148 ("pkg-config" ,pkg-config)))
6149 (inputs
6150 `(("glib" ,glib)
0d2df50c 6151 ("gspell" ,gspell)
329d731b 6152 ("gtk+" ,gtk+)
480c9226 6153 ("gtksourceview" ,gtksourceview)
329d731b
DH
6154 ("libpeas" ,libpeas)
6155 ("libxml2" ,libxml2)
329d731b
DH
6156 ("iso-codes" ,iso-codes)
6157 ("python-pygobject" ,python-pygobject)
6158 ("python" ,python)
6159 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6160 ("libx11" ,libx11)
6161 ("vala" ,vala)
6162 ("adwaita-icon-theme" ,adwaita-icon-theme)
6163 ("libsoup" ,libsoup)
6164 ("gnome-desktop" ,gnome-desktop)))
6165 (home-page "https://wiki.gnome.org/Apps/Gedit")
6166 (synopsis "GNOME text editor")
6167 (description "While aiming at simplicity and ease of use, gedit is a
6168powerful general purpose text editor.")
6169 (license license:gpl2+)))
b7179363
SB
6170
6171(define-public zenity
6172 (package
6173 (name "zenity")
4f581bd0 6174 (version "3.32.0")
b7179363
SB
6175 (source (origin
6176 (method url-fetch)
5958df04 6177 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 6178 (version-major+minor version) "/"
5958df04 6179 "zenity-" version ".tar.xz"))
b7179363
SB
6180 (sha256
6181 (base32
4f581bd0 6182 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
6183 (build-system gnu-build-system)
6184 (native-inputs
b94a6ca0 6185 `(("gettext" ,gettext-minimal)
b7179363
SB
6186 ("itstool" ,itstool)
6187 ("pkg-config" ,pkg-config)))
6188 (inputs
6189 `(("libnotify" ,libnotify)
6190 ("webkitgtk" ,webkitgtk)))
6191 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 6192 (home-page "https://www.gnome.org")
b7179363
SB
6193 (description
6194 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
6195to display dialog boxes from the commandline and shell scripts.")
6196 (license license:lgpl2.0+)))
60c3627c
SB
6197
6198(define-public mutter
6199 (package
6200 (name "mutter")
ec3ceabd 6201 (version "3.34.2")
60c3627c 6202 (source (origin
86c44e72
KK
6203 (method url-fetch)
6204 (uri (string-append "mirror://gnome/sources/" name "/"
6205 (version-major+minor version) "/"
6206 name "-" version ".tar.xz"))
60c3627c
SB
6207 (sha256
6208 (base32
ec3ceabd 6209 "0b8bz5kvs7rlwvqsg87cf6jhrrj95vgd1l235mjx8rip35ipfvrd"))))
86c44e72
KK
6210 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
6211 ;; versions of cogl and clutter. As a result, many of the inputs,
6212 ;; propagated-inputs, and configure flags used in cogl and clutter are
6213 ;; needed here as well.
edf43f68 6214 (build-system meson-build-system)
60c3627c 6215 (arguments
edf43f68
KK
6216 '(;; XXX: All mutter tests fail with the following error:
6217 ;; Settings schema 'org.gnome.mutter' is not installed
6218 #:tests? #f
6219 #:glib-or-gtk? #t
6220 #:configure-flags
ec3ceabd
KK
6221 ;; TODO: Enable profiler when Sysprof is packaged.
6222 (list "-Dprofiler=false"
6223 ;; Otherwise, the RUNPATH will lack the final path component.
6224 (string-append "-Dc_link_args=-Wl,-rpath="
edf43f68 6225 (assoc-ref %outputs "out") "/lib:"
ec3ceabd 6226 (assoc-ref %outputs "out") "/lib/mutter-5")
a88d5a0c
MW
6227
6228 ;; The following flags are needed for the bundled clutter
edf43f68 6229 (string-append "-Dxwayland_path="
d633f2f6
RH
6230 (assoc-ref %build-inputs "xorg-server-xwayland")
6231 "/bin/Xwayland")
6232
a88d5a0c 6233 ;; the remaining flags are needed for the bundled cogl
edf43f68 6234 (string-append "-Dopengl_libname="
a88d5a0c 6235 (assoc-ref %build-inputs "mesa")
682ae6f9
MB
6236 "/lib/libGL.so"))
6237 #:phases (modify-phases %standard-phases
6238 (add-after 'unpack 'fix-build-with-mesa-20
6239 (lambda _
6240 ;; Mimic upstream commit a444a4c5f58ea516ad for
6241 ;; compatibility with Mesa 20. Remove for 3.36.
6242 (substitute* '("src/backends/meta-egl-ext.h"
6243 "src/backends/meta-egl.c"
6244 "src/backends/meta-egl.h")
6245 (("#include <EGL/eglext\\.h>" all)
6246 (string-append all "\n#include <EGL/eglmesaext.h>")))
6247 (substitute* "cogl/cogl/meson.build"
6248 (("#include <EGL/eglext\\.h>" all)
6249 (string-append all "\\n#include <EGL/eglmesaext.h>")))
6250 #t)))))
60c3627c 6251 (native-inputs
ec3ceabd
KK
6252 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6253 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
60c3627c
SB
6254 ("gobject-introspection" ,gobject-introspection)
6255 ("intltool" ,intltool)
f23052a6 6256 ("pkg-config" ,pkg-config)
edf43f68 6257 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
6258 ;; For git build
6259 ("autoconf" ,autoconf)
6260 ("automake" ,automake)
6261 ("libtool" ,libtool)))
60c3627c 6262 (propagated-inputs
a88d5a0c
MW
6263 `(;; libmutter.pc refers to these:
6264 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6265 ("gtk+" ,gtk+)
6266 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
6267 ("atk" ,atk)
6268 ("cairo" ,cairo)
6269 ("gdk-pixbuf" ,gdk-pixbuf)
6270 ("glib" ,glib)
a88d5a0c
MW
6271 ("json-glib" ,json-glib)
6272 ("libinput" ,libinput)
6273 ("libx11" ,libx11)
6274 ("libxcomposite" ,libxcomposite)
6275 ("libxdamage" ,libxdamage)
6276 ("libxext" ,libxext)
6277 ("libxfixes" ,libxfixes)
6278 ("libxkbcommon" ,libxkbcommon)
6279 ("libxrandr" ,libxrandr)
6280 ("mesa" ,mesa)
6281 ("pango" ,pango)
6282 ("udev" ,eudev)
a88d5a0c 6283 ("xinput" ,xinput)))
60c3627c 6284 (inputs
86c44e72
KK
6285 `(("elogind" ,elogind)
6286 ("gnome-desktop" ,gnome-desktop)
edf43f68 6287 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 6288 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 6289 ("libgudev" ,libgudev)
60c3627c
SB
6290 ("libice" ,libice)
6291 ("libsm" ,libsm)
edf43f68 6292 ("libwacom" ,libwacom)
60c3627c 6293 ("libxkbfile" ,libxkbfile)
a88d5a0c 6294 ("libxrandr" ,libxrandr)
86c44e72 6295 ("libxtst" ,libxtst)
edf43f68 6296 ("pipewire" ,pipewire)
60c3627c
SB
6297 ("startup-notification" ,startup-notification)
6298 ("upower-glib" ,upower)
6299 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 6300 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
6301 ("zenity" ,zenity)))
6302 (synopsis "Window and compositing manager")
f032d0be 6303 (home-page "https://www.gnome.org")
60c3627c
SB
6304 (description
6305 "Mutter is a window and compositing manager that displays and manages your
6306desktop via OpenGL. Mutter combines a sophisticated display engine using the
6307Clutter toolkit with solid window-management logic inherited from the Metacity
6308window manager.")
86c44e72 6309 (license license:gpl2+)))
685cee87
SB
6310
6311(define-public gnome-online-accounts
6312 (package
6313 (name "gnome-online-accounts")
dd233e4d 6314 (version "3.36.0")
685cee87
SB
6315 (source (origin
6316 (method url-fetch)
6317 (uri (string-append "mirror://gnome/sources/" name "/"
6318 (version-major+minor version) "/"
6319 name "-" version ".tar.xz"))
6320 (sha256
6321 (base32
dd233e4d 6322 "0bigfi225g1prnxpb9lcc1i7mdcrkplwb05vilc43jik12cn53qw"))))
14c297fd 6323 (outputs '("out" "lib"))
685cee87 6324 (build-system glib-or-gtk-build-system)
14c297fd
TS
6325 (arguments
6326 `(#:configure-flags
6327 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
6328 #:phases
6329 (modify-phases %standard-phases
6330 (add-before 'configure 'patch-libgoa-output
6331 (lambda* (#:key outputs #:allow-other-keys)
6332 (let ((lib (assoc-ref outputs "lib")))
6333 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
6334 (("@prefix@") lib)
6335 (("@exec_prefix@") lib)
6336 (("@libdir@") (string-append lib "/lib"))
6337 (("@includedir@") (string-append lib "/include"))
6338 (("@datadir@") (string-append lib "/share")))
7555d539
MB
6339 ;; Make sure gobject-introspection knows about the output
6340 ;; too (see <https://bugs.gnu.org/36535>).
6341 (setenv "outputs" "out lib")
14c297fd 6342 #t))))))
685cee87
SB
6343 (native-inputs
6344 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6345 ("gobject-introspection" ,gobject-introspection)
6346 ("intltool" ,intltool)
6347 ("pkg-config" ,pkg-config)
ebb2873d 6348 ("vala" ,vala)
685cee87
SB
6349 ("xsltproc" ,libxslt)))
6350 (propagated-inputs
6351 `(("glib" ,glib) ; required by goa-1.0.pc
6352 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
6353 (inputs
6354 `(("docbook-xsl" ,docbook-xsl)
6355 ("json-glib" ,json-glib)
6356 ("libsecret" ,libsecret)
6357 ("rest" ,rest)
685cee87
SB
6358 ("webkitgtk" ,webkitgtk)))
6359 (synopsis "Single sign-on framework for GNOME")
6360 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
6361 (description
6362 "GNOME Online Accounts provides interfaces so that applications and
6363libraries in GNOME can access the user's online accounts. It has providers for
6364Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
6365Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
6366 (license license:lgpl2.0+)))
df217748
SB
6367
6368(define-public evolution-data-server
6369 (package
6370 (name "evolution-data-server")
162048be 6371 (version "3.34.2")
df217748
SB
6372 (source (origin
6373 (method url-fetch)
6374 (uri (string-append "mirror://gnome/sources/" name "/"
6375 (version-major+minor version) "/"
6376 name "-" version ".tar.xz"))
43190ac6
MB
6377 (patches (search-patches "evolution-data-server-locales.patch"
6378 "evolution-data-server-libical-compat.patch"))
df217748
SB
6379 (sha256
6380 (base32
162048be 6381 "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y"))))
743aebd7 6382 (build-system cmake-build-system)
df217748 6383 (arguments
b468eedc
RW
6384 '(#:configure-flags
6385 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
6386 (runpaths (map (lambda (s)
6387 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
6388 '("addressbook-backends" "calendar-backends"
6389 "camel-providers" "credential-modules"
6390 "registry-modules"))))
6391 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
6392 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
6393 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
6394 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
6395 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
6396 (string-append lib "/evolution-data-server;")
6397 (string-join runpaths ";"))
6398 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
6399 #:phases
6400 (modify-phases %standard-phases
b468eedc
RW
6401 (add-after 'unpack 'disable-failing-tests
6402 (lambda _
6403 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
6404 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
6405 (delete-file-recursively "tests/book-migration")
6406 (substitute* "tests/CMakeLists.txt"
6407 (("add_subdirectory\\(book-migration\\)") ""))
b468eedc 6408 #t))
743aebd7 6409 (add-after 'unpack 'patch-paths
df217748 6410 (lambda _
b468eedc
RW
6411 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
6412 "tests/libedata-book/data-test-utils.c"
6413 "tests/libedata-book/test-book-cache-utils.c"
6414 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 6415 (("/bin/rm") (which "rm")))
ac033c7b
MB
6416 #t))
6417 (add-before 'configure 'dont-override-rpath
6418 (lambda _
6419 (substitute* "CMakeLists.txt"
6420 ;; CMakeLists.txt hard-codes runpath to just the libdir.
6421 ;; Remove it so the configure flag is respected.
6422 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 6423 #t)))))
df217748
SB
6424 (native-inputs
6425 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
6426 ("gobject-introspection" ,gobject-introspection)
6427 ("gperf" ,gperf)
6428 ("intltool" ,intltool)
6429 ("pkg-config" ,pkg-config)
a73c1cf8 6430 ("vala" ,vala)
743aebd7 6431 ("python" ,python-wrapper)))
df217748
SB
6432 (propagated-inputs
6433 ;; These are all in the Requires field of .pc files.
6434 `(("gtk+" ,gtk+)
6435 ("libical" ,libical)
6436 ("libsecret" ,libsecret)
6437 ("libsoup" ,libsoup)
6438 ("nss" ,nss)
6439 ("sqlite" ,sqlite)))
6440 (inputs
6441 `(("bdb" ,bdb)
6442 ("gcr" ,gcr)
14c297fd 6443 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 6444 ("json-glib" ,json-glib)
b468eedc 6445 ("libcanberra" ,libcanberra)
743aebd7
MB
6446 ("libgweather" ,libgweather)
6447 ("mit-krb5" ,mit-krb5)
891199c6
MW
6448 ("openldap" ,openldap)
6449 ("webkitgtk" ,webkitgtk)))
df217748
SB
6450 (synopsis "Store address books and calendars")
6451 (home-page "https://wiki.gnome.org/Apps/Evolution")
6452 (description
6453 "This package provides a unified backend for programs that work with
6454contacts, tasks, and calendar information. It was originally developed for
6455Evolution (hence the name), but is now used by other packages as well.")
6456 (license license:lgpl2.0)))
bd7dfafa
SB
6457
6458(define-public caribou
6459 (package
6460 (name "caribou")
fe964bb5 6461 (version "0.4.21")
bd7dfafa
SB
6462 (source (origin
6463 (method url-fetch)
6464 (uri (string-append "mirror://gnome/sources/" name "/"
6465 (version-major+minor version) "/"
6466 name "-" version ".tar.xz"))
6467 (sha256
6468 (base32
fe964bb5 6469 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
6470 (build-system glib-or-gtk-build-system)
6471 (arguments
6472 '(#:phases
6473 (modify-phases %standard-phases
6474 (add-before
6475 'build 'pre-build
6476 (lambda* (#:key outputs #:allow-other-keys)
6477 (let ((out (assoc-ref outputs "out")))
6478 ;; Use absolute shared library path in Caribou-1.0.typelib.
6479 (substitute* "libcaribou/Makefile"
6480 (("--shared-library=libcaribou.so")
6481 (string-append "--shared-library="
6482 out "/lib/libcaribou.so")))
6483 #t)))
6484 (add-after 'install 'wrap-programs
6485 (lambda* (#:key outputs #:allow-other-keys)
6486 (let* ((out (assoc-ref outputs "out"))
6487 (python-path (getenv "PYTHONPATH"))
6488 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6489 (for-each
6490 (lambda (prog)
6491 (wrap-program prog
6492 `("PYTHONPATH" ":" prefix (,python-path))
6493 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6494 (list (string-append out "/bin/caribou-preferences")
6495 (string-append out "/libexec/antler-keyboard"))))
6496 #t)))))
6497 (native-inputs
6498 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6499 ("gobject-introspection" ,gobject-introspection)
6500 ("intltool" ,intltool)
6501 ("pkg-config" ,pkg-config)
9f7f5ba2 6502 ("python" ,python)
bd7dfafa
SB
6503 ("vala" ,vala)
6504 ("xsltproc" ,libxslt)))
6505 (propagated-inputs
6506 ;; caribou-1.0.pc refers to all these.
6507 `(("libgee" ,libgee)
6508 ("libxklavier" ,libxklavier)
6509 ("libxtst" ,libxtst)
6510 ("gtk+" ,gtk+)))
6511 (inputs
6512 `(("clutter" ,clutter)
6513 ("dconf" ,dconf)
6514 ("gtk+-2" ,gtk+-2)
9f7f5ba2 6515 ("python-pygobject" ,python-pygobject)))
bd7dfafa
SB
6516 (synopsis "Text entry and UI navigation application")
6517 (home-page "https://wiki.gnome.org/Projects/Caribou")
6518 (description
6519 "Caribou is an input assistive technology intended for switch and pointer
6520users.")
6521 (license license:lgpl2.1)))
ba5dd105 6522
ba5dd105
SB
6523(define-public network-manager
6524 (package
6525 (name "network-manager")
01c22be7 6526 (version "1.24.0")
ba5dd105
SB
6527 (source (origin
6528 (method url-fetch)
6529 (uri (string-append "mirror://gnome/sources/NetworkManager/"
6530 (version-major+minor version) "/"
6531 "NetworkManager-" version ".tar.xz"))
8d0548fd 6532 (patches (search-patches "network-manager-plugin-path.patch"))
ba5dd105
SB
6533 (sha256
6534 (base32
01c22be7 6535 "06044fl60bjlj7c6rqqfbm5795h61h6yzp7ch392hzcnm46wwhn3"))
02710a9b 6536 (modules '((guix build utils)))
fd070f35 6537 (snippet
02710a9b
RW
6538 '(begin
6539 (substitute* "src/devices/wwan/nm-modem-manager.c"
6540 (("systemd") "elogind"))
6541 #t))))
255ff74f 6542 (build-system meson-build-system)
ba5dd105
SB
6543 (outputs '("out"
6544 "doc")) ; 8 MiB of gtk-doc HTML
6545 (arguments
255ff74f 6546 `(#:configure-flags
ba5dd105 6547 (let ((out (assoc-ref %outputs "out"))
ba5dd105
SB
6548 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
6549 "/sbin/dhclient")))
255ff74f
BW
6550 (list
6551 ;; Otherwise, the RUNPATH will lack the final 'NetworkManager' path
6552 ;; component.
6553 (string-append "-Dc_link_args=-Wl,-rpath="
6554 out "/lib:"
6555 out "/lib/NetworkManager/" ,version)
6556 "-Dsystemd_journal=false"
6557 "-Dsession_tracking=elogind"
6558 "-Dsuspend_resume=elogind"
6559 "-Dsystemdsystemunitdir=no"
6560 "-Dsession_tracking_consolekit=false"
6561 "-Ddhcpcd=no"
6562 "-Ddhcpcanon=no"
6563 "-Dcrypto=gnutls"
6564 "-Diwd=true"
6565 "-Dlibaudit=yes"
6566 "-Dqt=false"
6567 "-Ddocs=true"
6568 "--sysconfdir=/etc"
6569 "--localstatedir=/var"
6570 (string-append "-Dudev_dir="
6571 out "/lib/udev")
6572 (string-append "-Ddbus_conf_dir="
6573 out "/etc/dbus-1/system.d")
6574
6575 (string-append "-Ddhclient=" dhclient)))
ba5dd105
SB
6576 #:phases
6577 (modify-phases %standard-phases
b4f59d87
AW
6578 (add-before 'configure 'pre-configure
6579 (lambda _
6580 ;; These tests try to test aspects of network-manager's
6581 ;; functionality within restricted containers, but they don't
6582 ;; cope with being already in the Guix build jail as that jail
6583 ;; lacks some features that they would like to proxy over (like
6584 ;; a /sys mount).
255ff74f
BW
6585 (substitute* "src/platform/tests/meson.build"
6586 ((".*test-address-linux.*") "")
6587 ((".*test-cleanup-linux.*") "")
6588 ((".*test-link-linux.*") "")
6589 ((".*test-route-linux.*") ""))
6590 (substitute* "src/devices/tests/meson.build"
6591 ((".*test-acd.*") "")
6592 ((".*test-lldp.*") ""))
45f80fce 6593 #t))
255ff74f
BW
6594 (add-after 'unpack 'patch-docbook-xml
6595 (lambda* (#:key inputs #:allow-other-keys)
6596 (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
6597 "/xml/dtd/docbook")))
6598 (substitute* (find-files "." ".*\\.(xsl|xml)")
6599 (("http://.*/docbookx\\.dtd")
6600 (string-append xmldoc "/docbookx.dtd")))
6601 #t)))
ba5dd105
SB
6602 (add-before 'check 'pre-check
6603 (lambda _
6604 ;; For the missing /etc/machine-id.
6605 (setenv "DBUS_FATAL_WARNINGS" "0")
6606 #t))
255ff74f
BW
6607 (add-before 'install 'no-polkit-magic
6608 ;; Meson ‘magically’ invokes pkexec, which fails (not setuid).
ba5dd105 6609 (lambda _
255ff74f
BW
6610 (setenv "PKEXEC_UID" "something")
6611 #t))
6612 (add-after 'install 'move-doc
6613 (lambda* (#:key outputs #:allow-other-keys)
6614 (let ((out (assoc-ref outputs "out"))
6615 (doc (assoc-ref outputs "doc")))
6616 (mkdir-p (string-append doc "/share"))
6617 (for-each (lambda (directory)
6618 (copy-recursively (string-append out directory)
6619 (string-append doc directory))
6620 (delete-file-recursively
6621 (string-append out directory)))
6622 '("/share/doc" "/share/gtk-doc"))
6623 #t))))))
b93502d6
DC
6624 (propagated-inputs
6625 `(("glib" ,glib)))
ba5dd105 6626 (native-inputs
255ff74f
BW
6627 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
6628 ("gtk-doc" ,gtk-doc)
ba5dd105 6629 ("gobject-introspection" ,gobject-introspection)
255ff74f 6630 ("docbook-xml" ,docbook-xml)
d04687dc 6631 ("docbook-xsl" ,docbook-xsl)
ba5dd105 6632 ("intltool" ,intltool)
d04687dc
HG
6633 ("libxslt" ,libxslt)
6634 ("libxml2" ,libxml2)
ba5dd105 6635 ("pkg-config" ,pkg-config)
255ff74f 6636 ("vala" ,vala)
ba5dd105
SB
6637 ;; For testing.
6638 ("python" ,python-wrapper)
6639 ("python-dbus" ,python-dbus)
6640 ("python-pygobject" ,python-pygobject)))
6641 (inputs
255ff74f 6642 `(("curl" ,curl)
856ca567
KK
6643 ("cyrus-sasl" ,cyrus-sasl)
6644 ("dbus-glib" ,dbus-glib)
ba5dd105 6645 ("dnsmasq" ,dnsmasq)
856ca567 6646 ("eudev" ,eudev)
ba5dd105
SB
6647 ("gnutls" ,gnutls)
6648 ("iptables" ,iptables)
6649 ("isc-dhcp" ,isc-dhcp)
c2f236fa 6650 ("iwd" ,iwd) ; wpa_supplicant alternative
d04687dc 6651 ("jansson" ,jansson)
c2f236fa 6652 ("libaudit" ,audit)
ba5dd105
SB
6653 ("libgcrypt" ,libgcrypt)
6654 ("libgudev" ,libgudev)
6655 ("libndp" ,libndp)
6656 ("libnl" ,libnl)
6657 ("libsoup" ,libsoup)
255ff74f 6658 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
142bdcbc 6659 ("modem-manager" ,modem-manager)
c27e02bf 6660 ("newt" ,newt) ;for the 'nmtui' console interface
c2f236fa 6661 ("openresolv" ,openresolv) ; alternative resolv.conf manager
ba5dd105
SB
6662 ("polkit" ,polkit)
6663 ("ppp" ,ppp)
6664 ("readline" ,readline)
fd070f35
CM
6665 ("util-linux" ,util-linux)
6666 ("elogind" ,elogind)))
ba5dd105 6667 (synopsis "Network connection manager")
8d0548fd 6668 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
ba5dd105
SB
6669 (description
6670 "NetworkManager is a system network service that manages your network
6671devices and connections, attempting to keep active network connectivity when
6672available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
6673devices, and provides VPN integration with a variety of different VPN
6674services.")
255ff74f
BW
6675 ;; “This NetworkManager project consists of the daemon, client tools, and
6676 ;; libnm. libnm is licensed LGPL-2.1+, while the rest is licensed under
6677 ;; GPL-2.0+.”
6678 (license (list license:gpl2+
6679 license:lgpl2.1+))
29d2f451 6680 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 6681
f2b96b3a
LC
6682(define-public network-manager-openvpn
6683 (package
6684 (name "network-manager-openvpn")
3fe368c0 6685 (version "1.8.12")
f2b96b3a
LC
6686 (source (origin
6687 (method url-fetch)
6688 (uri (string-append
6689 "mirror://gnome/sources/NetworkManager-openvpn/"
6690 (version-major+minor version)
6691 "/NetworkManager-openvpn-" version ".tar.xz"))
6692 (sha256
6693 (base32
3fe368c0 6694 "062kh4zj7jfbwy4zzcwpq2m457bzbpm3l18s0ysnw3mgia3siz8f"))))
f2b96b3a
LC
6695 (build-system gnu-build-system)
6696 (arguments
633422b0
JL
6697 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6698 #:phases
6699 (modify-phases %standard-phases
6700 (add-after 'configure 'patch-path
6701 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6702 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
6703 "/sbin/openvpn"))
6704 (modprobe (string-append (assoc-ref inputs "kmod")
6705 "/bin/modprobe"))
6706 (pretty-ovpn (string-append "\"" ovpn "\"")))
6707 (for-each
6708 (lambda (file)
6709 (substitute* file
6710 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
6711 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
6712 (("\"/sbin/openvpn\"") pretty-ovpn)
6713 (("/sbin/modprobe") modprobe)))
6714 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
6715 #t)))))
f2b96b3a
LC
6716 (native-inputs
6717 `(("pkg-config" ,pkg-config)
6718 ("intltool" ,intltool)))
6719 (inputs
6720 `(("gtk+" ,gtk+)
633422b0 6721 ("kmod" ,kmod)
f2b96b3a
LC
6722 ("openvpn" ,openvpn)
6723 ("network-manager" ,network-manager)
3fe368c0 6724 ("libnma" ,libnma)
f2b96b3a
LC
6725 ("libsecret" ,libsecret)))
6726 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6727 (synopsis "OpenVPN plug-in for NetworkManager")
6728 (description
6729 "This extension of NetworkManager allows it to take care of connections
6730to virtual private networks (VPNs) via OpenVPN.")
6731 (license license:gpl2+)
6732 (properties `((upstream-name . "NetworkManager-openvpn")))))
6733
d376129f
JL
6734(define-public network-manager-vpnc
6735 (package
6736 (name "network-manager-vpnc")
6737 (version "1.2.6")
6738 (source (origin
6739 (method url-fetch)
6740 (uri (string-append
6741 "mirror://gnome/sources/NetworkManager-vpnc/"
6742 (version-major+minor version)
6743 "/NetworkManager-vpnc-" version ".tar.xz"))
6744 (sha256
6745 (base32
6746 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
6747 (build-system gnu-build-system)
6748 (arguments
7c43b78d
BW
6749 `(#:configure-flags '("--enable-absolute-paths"
6750 "--localstatedir=/var"
6751 ;; libnm-glib has been removed from network-manager
6752 ;; 1de8383ad9fdfc8f552117e5d109bdfa7005634b
6753 "--with-libnm-glib=no")
d376129f
JL
6754 #:phases
6755 (modify-phases %standard-phases
6756 (add-after 'configure 'patch-path
6757 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6758 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
6759 "/sbin/vpnc"))
6760 (modprobe (string-append (assoc-ref inputs "kmod")
6761 "/bin/modprobe"))
6762 (pretty-ovpn (string-append "\"" vpnc "\"")))
6763 (substitute* "src/nm-vpnc-service.c"
6764 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
6765 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
6766 (("\"/sbin/vpnc\"") pretty-ovpn)
6767 (("/sbin/modprobe") modprobe)))
6768 #t)))))
6769 (native-inputs
6770 `(("pkg-config" ,pkg-config)
6771 ("intltool" ,intltool)))
6772 (inputs
6773 `(("gtk+" ,gtk+)
6774 ("kmod" ,kmod)
6775 ("vpnc" ,vpnc)
6776 ("network-manager" ,network-manager)
7c43b78d 6777 ("libnma" ,libnma)
d376129f
JL
6778 ("libsecret" ,libsecret)))
6779 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6780 (synopsis "VPNC plug-in for NetworkManager")
6781 (description
6782 "Support for configuring virtual private networks based on VPNC.
6783Compatible with Cisco VPN concentrators configured to use IPsec.")
6784 (license license:gpl2+)
6785 (properties `((upstream-name . "NetworkManager-vpnc")))))
6786
8378c87a
EF
6787(define-public network-manager-openconnect
6788 (package
6789 (name "network-manager-openconnect")
6790 (version "1.2.6")
6791 (source (origin
6792 (method url-fetch)
6793 (uri (string-append
6794 "mirror://gnome/sources/NetworkManager-openconnect/"
6795 (version-major+minor version)
6796 "/NetworkManager-openconnect-" version ".tar.xz"))
6797 (sha256
6798 (base32
6799 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
6800 (build-system gnu-build-system)
6801 (arguments
6802 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6803 #:phases
6804 (modify-phases %standard-phases
6805 (add-after 'configure 'patch-path
6806 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6807 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
6808 "/sbin/openconnect"))
6809 (modprobe (string-append (assoc-ref inputs "kmod")
6810 "/bin/modprobe"))
6811 (pretty-ovpn (string-append "\"" openconnect "\"")))
6812 (substitute* "src/nm-openconnect-service.c"
2807a843 6813 (("\"/usr(/local)?/s?bin/openconnect\"") pretty-ovpn)
8378c87a
EF
6814 (("/sbin/modprobe") modprobe)))
6815 #t)))))
6816 (native-inputs
6817 `(("intltool" ,intltool)
4ca449c5 6818 ("libnma" ,libnma)
8378c87a
EF
6819 ("pkg-config" ,pkg-config)))
6820 (inputs
6821 `(("gcr" ,gcr)
6822 ("gtk+" ,gtk+)
6823 ("kmod" ,kmod)
6824 ("libsecret" ,libsecret)
6825 ("libxml2" ,libxml2)
b4fe5dab 6826 ("lz4" ,lz4)
8378c87a
EF
6827 ("network-manager" ,network-manager)
6828 ("openconnect" ,openconnect)))
6829 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6830 (synopsis "OpenConnect plug-in for NetworkManager")
6831 (description
6832 "This extension of NetworkManager allows it to take care of connections
6833to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
6834Cisco's AnyConnect SSL VPN.")
6835 (license license:gpl2+)
e52b9534
LC
6836 (properties `((upstream-name . "NetworkManager-openconnect")
6837
6838 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
6839 ;; file refers to account "nm-openconnect". Specify it here
6840 ;; so that 'network-manager-service-type' creates it.
6841 (user-accounts . ("nm-openconnect"))))))
8378c87a 6842
e5e1df4d
DC
6843(define-public mobile-broadband-provider-info
6844 (package
6845 (name "mobile-broadband-provider-info")
310c89e3 6846 (version "20190116")
e5e1df4d
DC
6847 (source (origin
6848 (method url-fetch)
6849 (uri (string-append
6850 "mirror://gnome/sources/"
6851 "mobile-broadband-provider-info/" version "/"
6852 "mobile-broadband-provider-info-" version ".tar.xz"))
6853 (sha256
6854 (base32
310c89e3 6855 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
6856 (build-system gnu-build-system)
6857 (arguments
310c89e3 6858 `(#:tests? #f)) ; no tests
e5e1df4d
DC
6859 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
6860 (synopsis "Database of broadband connection configuration")
6861 (description "Database of broadband connection configuration.")
6862 (license license:public-domain)))
6863
4d62a9d3
SB
6864(define-public network-manager-applet
6865 (package
6866 (name "network-manager-applet")
4c291112 6867 (version "1.16.0")
4d62a9d3
SB
6868 (source (origin
6869 (method url-fetch)
3df63444 6870 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 6871 (version-major+minor version) "/"
3df63444 6872 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
6873 (sha256
6874 (base32
4c291112 6875 "1rf3nm0hjcy9f8ajb4vmvwy503w8yj8d4daxkcb7w7i7b92qmyfn"))))
cd7f718e
RW
6876 (build-system meson-build-system)
6877 (arguments
4c291112 6878 '(#:glib-or-gtk? #t))
4d62a9d3
SB
6879 (native-inputs
6880 `(("intltool" ,intltool)
cd7f718e 6881 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 6882 ("gobject-introspection" ,gobject-introspection)
cd7f718e 6883 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
6884 ("pkg-config" ,pkg-config)))
6885 (propagated-inputs
6886 ;; libnm-gtk.pc refers to all these.
6887 `(("dbus-glib" ,dbus-glib)
6888 ("gtk+" ,gtk+)
415b90f2
BW
6889 ("network-manager" ,network-manager)
6890 ;; nm-applet need by org.gnome.nm-applet.gschema.xml
6891 ("libnma" ,libnma)))
4d62a9d3 6892 (inputs
cd7f718e 6893 `(("gcr" ,gcr)
4d62a9d3
SB
6894 ("libgudev" ,libgudev)
6895 ("libnotify" ,libnotify)
2116bfb3 6896 ("libsecret" ,libsecret)
240cee8a
KK
6897 ("libselinux" ,libselinux)
6898 ("jansson" ,jansson) ; for team support
4c291112 6899 ("modem-manager" ,modem-manager)))
4d62a9d3 6900 (synopsis "Applet for managing network connections")
8ce78609 6901 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
4d62a9d3
SB
6902 (description
6903 "This package contains a systray applet for NetworkManager. It displays
6904the available networks and allows users to easily switch between them.")
6905 (license license:gpl2+)))
56196594
RW
6906
6907(define-public libxml++
6908 (package
6909 (name "libxml++")
8344a85e 6910 (version "3.0.1")
56196594
RW
6911 (source (origin
6912 (method url-fetch)
6913 (uri (string-append "mirror://gnome/sources/" name "/"
6914 (version-major+minor version) "/"
6915 name "-" version ".tar.xz"))
6916 (sha256
6917 (base32
8344a85e 6918 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
6919 (build-system gnu-build-system)
6920 ;; libxml++-3.0.pc refers to all these.
6921 (propagated-inputs
6922 `(("libxml2" ,libxml2)
6923 ("glibmm" ,glibmm)))
6924 (native-inputs
6925 `(("perl" ,perl)
6926 ("pkg-config" ,pkg-config)))
6927 (home-page "http://libxmlplusplus.sourceforge.net/")
6928 (synopsis "C++ wrapper for XML parser library libxml2")
6929 (description
6930 "This package provides a C++ wrapper for the XML parser library
6931libxml2.")
6932 (license license:lgpl2.1+)))
df12f04a 6933
b61d9627
AW
6934(define-public libxml++-2
6935 (package
6936 (inherit libxml++)
6937 (name "libxml++")
6938 (version "2.40.1")
6939 (source (origin
6940 (method url-fetch)
6941 (uri (string-append "mirror://gnome/sources/" name "/"
6942 (version-major+minor version) "/"
6943 name "-" version ".tar.xz"))
6944 (sha256
6945 (base32
6946 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
6947
df12f04a
SB
6948(define-public gdm
6949 (package
6950 (name "gdm")
0fda99c5 6951 (version "3.34.1")
df12f04a
SB
6952 (source (origin
6953 (method url-fetch)
6954 (uri (string-append "mirror://gnome/sources/" name "/"
6955 (version-major+minor version) "/"
6956 name "-" version ".tar.xz"))
6957 (sha256
6958 (base32
0fda99c5 6959 "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8"))
f4ec5e1a 6960 (patches (search-patches "gdm-default-session.patch"))))
957dbc0a 6961 (build-system glib-or-gtk-build-system)
df12f04a
SB
6962 (arguments
6963 '(#:configure-flags
af37e6bb 6964 `("--without-plymouth"
957dbc0a 6965 "--disable-systemd-journal"
51bc8357
TS
6966
6967 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
6968 ;; instead of having to replace it (i.e., stopping the mingetty
6969 ;; service for TTY 1 before starting GDM).
6970 "--with-initial-vt=7"
6971
89c86562
TS
6972 ;; Use '/etc/environment' for locale settings instead of the
6973 ;; systemd-specific '/etc/locale.conf'.
6974 "--with-lang-file=/etc/environment"
6975
b74ef0ba
RW
6976 ,(string-append "--with-udevdir="
6977 (assoc-ref %outputs "out") "/lib/udev")
6978
af37e6bb
AW
6979 "--localstatedir=/var"
6980 ,(string-append "--with-default-path="
6981 (string-join '("/run/setuid-programs"
6982 "/run/current-system/profile/bin"
6983 "/run/current-system/profile/sbin")
957dbc0a
AW
6984 ":"))
6985 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
6986 ;; XDG_DATA_DIRS so that it finds its schemas.
6987 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
6988 #:phases
6989 (modify-phases %standard-phases
6990 (add-before
6991 'configure 'pre-configure
e8c6e771 6992 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
6993 ;; We don't have <systemd/sd-daemon.h>.
6994 (substitute* '("common/gdm-log.c"
6995 "daemon/gdm-server.c"
6996 "daemon/gdm-session-worker.c"
6997 "daemon/gdm-session-worker-job.c")
6998 (("#include <systemd/sd-daemon\\.h>") ""))
6999 ;; Use elogind for sd-login.
7000 (substitute* '("common/gdm-common.c"
0fda99c5 7001 "daemon/gdm-local-display-factory.c"
df12f04a
SB
7002 "daemon/gdm-manager.c"
7003 "libgdm/gdm-user-switching.c")
7004 (("#include <systemd/sd-login\\.h>")
7005 "#include <elogind/sd-login.h>"))
957dbc0a
AW
7006 ;; Check for elogind.
7007 (substitute* '("configure")
7008 (("libsystemd")
7009 "libelogind"))
af37e6bb
AW
7010 ;; Look for system-installed sessions in
7011 ;; /run/current-system/profile/share.
7012 (substitute* '("libgdm/gdm-sessions.c"
7013 "daemon/gdm-session.c"
7014 "daemon/gdm-display.c"
7015 "daemon/gdm-launch-environment.c")
7016 (("DATADIR \"/x")
7017 "\"/run/current-system/profile/share/x")
7018 (("DATADIR \"/wayland")
7019 "\"/run/current-system/profile/share/wayland")
7020 (("DATADIR \"/gnome")
7021 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 7022 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 7023 "GDM_DBUS_DAEMON"
c9ff92b5 7024 "GDM_X_SERVER"
41fa9f18 7025 "GDM_X_SESSION"
c9ff92b5
TS
7026 ;; XXX: Remove this once GNOME Shell is
7027 ;; a dependency of GDM.
7028 "XDG_DATA_DIRS")))
7029 (substitute* "daemon/gdm-session.c"
7030 (("set_up_session_environment \\(self\\);")
7031 (apply string-append
7032 "set_up_session_environment (self);\n"
7033 (map (lambda (name)
7034 (string-append
7035 "gdm_session_set_environment_variable "
7036 "(self, \"" name "\","
7037 "g_getenv (\"" name "\"));\n"))
7038 propagate)))))
a430a350
TS
7039 ;; Find the configuration file using an environment variable.
7040 (substitute* '("common/gdm-settings.c")
e0e6756f 7041 (("GDM_CUSTOM_CONF")
e57c2adb
TS
7042 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
7043 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
7044 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
7045 ;; Use service-supplied path to X.
7046 (substitute* '("daemon/gdm-server.c")
7047 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
7048 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
0fda99c5
KK
7049 (substitute* '("daemon/gdm-wayland-session.c"
7050 "daemon/gdm-x-session.c")
1f564c15
TS
7051 (("\"dbus-daemon\"")
7052 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 7053 (("X_SERVER")
41fa9f18
TS
7054 "g_getenv (\"GDM_X_SERVER\")")
7055 (("GDMCONFDIR \"/Xsession\"")
7056 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
7057 ;; Use an absolute path for GNOME Session.
7058 (substitute* "daemon/gdm-launch-environment.c"
7059 (("\"gnome-session\"")
7060 (string-append "\"" (assoc-ref inputs "gnome-session")
7061 "/bin/gnome-session\"")))
e8c6e771
TS
7062 ;; Do not automatically select the placeholder session.
7063 (substitute* "daemon/gdm-session.c"
7064 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
7065 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
7066 "(g_strcmp0(search_dirs[i], \""
7067 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
7068 "\") == 0 && "
7069 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
7070 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 7071 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 7072 #t))
8caa4589
TS
7073 ;; GDM requires that there be at least one desktop entry
7074 ;; file. This phase installs a hidden one that simply
7075 ;; fails. This enables users to use GDM with a
7076 ;; '~/.xsession' script with no other desktop entry files.
7077 ;; See <https://bugs.gnu.org/35068>.
7078 (add-after 'install 'install-placeholder-desktop-entry
7079 (lambda* (#:key inputs outputs #:allow-other-keys)
7080 (let* ((out (assoc-ref outputs "out"))
7081 (sessions (string-append out "/share/gdm/BuiltInSessions"))
7082 (fail (string-append sessions "/fail.desktop")))
7083 (mkdir-p sessions)
7084 (with-output-to-file fail
7085 (lambda ()
7086 (for-each
7087 display
7088 '("[Desktop Entry]\n"
7089 "Encoding=UTF-8\n"
7090 "Type=Application\n"
7091 "Name=Fail\n"
7092 "Comment=This session fails immediately.\n"
7093 "NoDisplay=true\n"
7094 "Exec=false\n"))))
7095 #t)))
69544798
TS
7096 ;; GDM needs GNOME Session to run these applications. We link
7097 ;; their autostart files in `share/gdm/greeter/autostart'
7098 ;; because GDM explicitly tells GNOME Session to look there.
7099 ;;
7100 ;; XXX: GNOME Shell should be linked here too, but currently
7101 ;; GNOME Shell depends on GDM.
7102 (add-after 'install 'link-autostart-files
7103 (lambda* (#:key inputs outputs #:allow-other-keys)
7104 (let* ((out (assoc-ref outputs "out"))
7105 (autostart (string-append out "/share/gdm/"
7106 "greeter/autostart"))
7107 (settings (assoc-ref inputs "gnome-settings-daemon")))
7108 (mkdir-p autostart)
7109 (with-directory-excursion autostart
7110 (for-each (lambda (desktop)
7111 (symlink desktop (basename desktop)))
7112 (find-files (string-append settings "/etc/xdg"))))
7113 #t))))))
df12f04a
SB
7114 (native-inputs
7115 `(("dconf" ,dconf)
7116 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7117 ("gobject-introspection" ,gobject-introspection)
7118 ("intltool" ,intltool)
7119 ("itstool" ,itstool)
7120 ("pkg-config" ,pkg-config)
7121 ("xmllint" ,libxml2)))
7122 (inputs
7123 `(("accountsservice" ,accountsservice)
7124 ("check" ,check) ; for testing
7125 ("elogind" ,elogind)
def6d6b6 7126 ("gnome-session" ,gnome-session)
69544798 7127 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
7128 ("gtk+" ,gtk+)
7129 ("iso-codes" ,iso-codes)
7130 ("libcanberra" ,libcanberra)
7131 ("linux-pam" ,linux-pam)))
7132 (synopsis "Display manager for GNOME")
f032d0be 7133 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
7134 (description
7135 "GNOME Display Manager is a system service that is responsible for
7136providing graphical log-ins and managing local and remote displays.")
7137 (license license:gpl2+)))
8e1dd04f
SB
7138
7139(define-public libgtop
7140 (package
7141 (name "libgtop")
015fc036 7142 (version "2.40.0")
8e1dd04f
SB
7143 (source (origin
7144 (method url-fetch)
59487fc2 7145 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 7146 (version-major+minor version) "/"
59487fc2 7147 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
7148 (sha256
7149 (base32
015fc036 7150 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
7151 (build-system gnu-build-system)
7152 (native-inputs
7153 `(("gobject-introspection" ,gobject-introspection)
7154 ("intltool" ,intltool)
7155 ("perl" ,perl)
7156 ("pkg-config" ,pkg-config)))
7157 (propagated-inputs
7158 `(("glib" ,glib))) ; required by libgtop-2.0.pc
7159 (synopsis "Portable system access library")
7160 (home-page "https://www.gnome.org/")
7161 (description
7162 "LibGTop is a library to get system specific data such as CPU and memory
7163usage and information about running processes.")
7164 (license license:gpl2+)))
b96c4260
SB
7165
7166(define-public gnome-bluetooth
7167 (package
7168 (name "gnome-bluetooth")
e8f4bf6b 7169 (version "3.34.0")
b96c4260
SB
7170 (source (origin
7171 (method url-fetch)
7172 (uri (string-append "mirror://gnome/sources/" name "/"
7173 (version-major+minor version) "/"
7174 name "-" version ".tar.xz"))
7175 (sha256
7176 (base32
e8f4bf6b 7177 "1bvbxcsjkyl0givy8nfm7112bq3c0vn1v89fdk2pip714dsfcrz8"))))
fd3b1171 7178 (build-system meson-build-system)
b96c4260
SB
7179 (native-inputs
7180 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 7181 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
7182 ("gobject-introspection" ,gobject-introspection)
7183 ("intltool" ,intltool)
7184 ("pkg-config" ,pkg-config)
7185 ("xmllint" ,libxml2)))
7186 (propagated-inputs
7187 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
7188 `(("glib" ,glib)
7189 ("gtk+" ,gtk+)))
b96c4260 7190 (inputs
723afae6
KK
7191 `(("eudev" ,eudev)
7192 ("libcanberra" ,libcanberra)
b96c4260
SB
7193 ("libnotify" ,libnotify)))
7194 (synopsis "GNOME Bluetooth subsystem")
7195 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
7196 (description
7197 "This package contains tools for managing and manipulating Bluetooth
7198devices using the GNOME desktop.")
7199 (license license:lgpl2.1+)))
b645146f
SB
7200
7201(define-public gnome-control-center
7202 (package
7203 (name "gnome-control-center")
c576328d 7204 (version "3.34.2")
b645146f
SB
7205 (source (origin
7206 (method url-fetch)
7207 (uri (string-append "mirror://gnome/sources/" name "/"
7208 (version-major+minor version) "/"
7209 name "-" version ".tar.xz"))
7210 (sha256
7211 (base32
c576328d 7212 "054igagvmyzpaa5nwzz98gv7bk7l5dwp6g813707132si3szlpx8"))))
59dac026 7213 (build-system meson-build-system)
b645146f 7214 (arguments
59dac026
RW
7215 '(#:glib-or-gtk? #t
7216 #:configure-flags
64c70430
KK
7217 (list "-Dcheese=false"
7218 (string-append "-Dgnome_session_libexecdir="
7219 (assoc-ref %build-inputs "gnome-session")
7220 "/libexec"))
59dac026 7221 #:phases
b645146f
SB
7222 (modify-phases %standard-phases
7223 (add-before 'configure 'patch-paths
7224 (lambda* (#:key inputs #:allow-other-keys)
7225 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 7226 (tzdata (assoc-ref inputs "tzdata"))
341225ac 7227 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
7228 (nm-applet (assoc-ref inputs "network-manager-applet"))
7229 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
7230 (substitute* "panels/datetime/tz.h"
7231 (("/usr/share/zoneinfo/zone.tab")
7232 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 7233 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
7234 (("/usr/share/locale")
7235 (string-append libc "/share/locale")))
1df38cfc
LC
7236 (substitute* "panels/region/cc-region-panel.c"
7237 (("\"gkbd-keyboard-display")
7238 (string-append "\"" libgnomekbd
7239 "/bin/gkbd-keyboard-display")))
341225ac
LC
7240 (substitute* '("panels/network/net-device-wifi.c"
7241 "panels/network/net-device.c"
7242 "panels/network/connection-editor/net-connection-editor.c")
7243 (("\"nm-connection-editor")
7244 (string-append "\"" nm-applet
7245 "/bin/nm-connection-editor")))
1acd107c
FP
7246 (substitute* '("panels/user-accounts/run-passwd.c")
7247 (("/usr/bin/passwd")
7248 "/run/setuid-programs/passwd"))
64c70430
KK
7249 (substitute* "panels/info/cc-info-overview-panel.c"
7250 (("DATADIR \"/gnome/gnome-version.xml\"")
7251 (string-append "\"" gnome-desktop
7252 "/share/gnome/gnome-version.xml\"")))
c576328d
KK
7253 #t)))
7254 (add-after 'unpack 'skip-gtk-update-icon-cache
7255 ;; Don't create 'icon-theme.cache'.
7256 (lambda _
7257 (substitute* "build-aux/meson/meson_post_install.py"
7258 (("gtk-update-icon-cache") (which "true")))
7259 #t)))))
b645146f
SB
7260 (native-inputs
7261 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7262 ("intltool" ,intltool)
7263 ("pkg-config" ,pkg-config)
a6938bac
KK
7264 ("xsltproc" ,libxslt)
7265 ;; For tests
7266 ("hicolor-icon-theme" ,hicolor-icon-theme)
7267 ("python-dbusmock" ,python-dbusmock)
7268 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
7269 (inputs
7270 `(("accountsservice" ,accountsservice)
7271 ("clutter-gtk" ,clutter-gtk)
7272 ("colord-gtk" ,colord-gtk)
7273 ("cups" ,cups)
7274 ("dconf" ,dconf)
7275 ("docbook-xsl" ,docbook-xsl)
3446ffb5 7276 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
7277 ("gnome-bluetooth" ,gnome-bluetooth)
7278 ("gnome-desktop" ,gnome-desktop)
7279 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 7280 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 7281 ("gnome-session" ,gnome-session)
b645146f
SB
7282 ("gnome-settings-daemon" ,gnome-settings-daemon)
7283 ("grilo" ,grilo)
a6938bac 7284 ("gsound" ,gsound)
b645146f
SB
7285 ("ibus" ,ibus)
7286 ("libcanberra" ,libcanberra)
1df38cfc 7287 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
7288 ("libgudev" ,libgudev)
7289 ("libgtop" ,libgtop)
46cf3434 7290 ("libnma" ,libnma)
b645146f 7291 ("libpwquality" ,libpwquality)
982c0b36 7292 ("libsecret" ,libsecret)
b645146f
SB
7293 ("libsoup" ,libsoup)
7294 ("libxml2" ,libxml2)
7295 ("libwacom" ,libwacom)
7296 ("mesa" ,mesa)
7297 ("mit-krb5" ,mit-krb5)
7298 ("modem-manager" ,modem-manager)
7299 ("network-manager-applet" ,network-manager-applet)
7300 ("polkit" ,polkit)
7301 ("pulseaudio" ,pulseaudio)
7302 ("smbclient" ,samba)
7303 ("tzdata" ,tzdata)
982c0b36 7304 ("udisks" ,udisks)
b645146f
SB
7305 ("upower" ,upower)))
7306 (synopsis "Utilities to configure the GNOME desktop")
7307 (home-page "https://www.gnome.org/")
7308 (description
7309 "This package contains configuration applets for the GNOME desktop,
7310allowing to set accessibility configuration, desktop fonts, keyboard and mouse
7311properties, sound setup, desktop theme and background, user interface
7312properties, screen resolution, and other GNOME parameters.")
7313 (license license:gpl2+)))
a4df5756
SB
7314
7315(define-public gnome-shell
7316 (package
7317 (name "gnome-shell")
28457ae6 7318 (version "3.34.2")
a4df5756
SB
7319 (source (origin
7320 (method url-fetch)
7321 (uri (string-append "mirror://gnome/sources/" name "/"
7322 (version-major+minor version) "/"
7323 name "-" version ".tar.xz"))
7324 (sha256
7325 (base32
28457ae6
KK
7326 "0k9vq2gh1nhdd6fpp7jnwx37qxaakawiqw1xnlfjvq5g5zdn8ckh"))
7327 (patches (search-patches "gnome-shell-theme.patch"
7328 "gnome-shell-disable-test.patch"))
a76d0f03
LC
7329 (modules '((guix build utils)))
7330 (snippet
7331 #~(begin
a76d0f03
LC
7332 ;; Copy images for use on the GDM log-in screen.
7333 (copy-file #$(file-append %artwork-repository
7334 "/slim/0.x/background.png")
7335 "data/theme/guix-background.png")
45fef894
LC
7336 (copy-file #$(file-append %artwork-repository
7337 "/logo/Guix-horizontal-white.svg")
7338 "data/theme/guix-logo.svg")
a76d0f03 7339 #t))))
2b0c755d 7340 (build-system meson-build-system)
a4df5756 7341 (arguments
08185081
MB
7342 `(#:glib-or-gtk? #t
7343 #:disallowed-references ((,glib "bin")
11e1df56
LC
7344 ,inkscape ,libxslt
7345 ,ruby-sass)
2b0c755d
RW
7346 #:configure-flags
7347 (list "-Dsystemd=false"
7348 ;; Otherwise, the RUNPATH will lack the final path component.
7349 (string-append "-Dc_link_args=-Wl,-rpath="
7350 (assoc-ref %outputs "out")
7351 "/lib/gnome-shell"))
11e1df56 7352
08185081 7353 #:modules ((guix build meson-build-system)
11e1df56
LC
7354 (guix build utils)
7355 (srfi srfi-1))
7356
2b0c755d 7357 #:phases
a4df5756 7358 (modify-phases %standard-phases
2b0c755d 7359 (add-after 'unpack 'fix-keysdir
a4df5756
SB
7360 (lambda* (#:key outputs #:allow-other-keys)
7361 (let* ((out (assoc-ref outputs "out"))
7362 (keysdir (string-append
7363 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
7364 (substitute* "meson.build"
7365 (("keysdir =.*")
7366 (string-append "keysdir = '" keysdir "'\n")))
7367 #t)))
ebfe259f
MB
7368 (add-before 'configure 'convert-logo-to-png
7369 (lambda* (#:key inputs #:allow-other-keys)
7370 ;; Convert the logo from SVG to PNG.
7371 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
7372 "data/theme/guix-logo.svg")))
ba00235a 7373 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
7374 (lambda* (#:key inputs #:allow-other-keys)
7375 (substitute* "js/misc/ibusManager.js"
7376 (("'ibus-daemon'")
7377 (string-append "'" (assoc-ref inputs "ibus")
7378 "/bin/ibus-daemon'")))
d6fda4d3
LC
7379 (substitute* "js/ui/status/keyboard.js"
7380 (("'gkbd-keyboard-display'")
7381 (string-append "'" (assoc-ref inputs "libgnomekbd")
7382 "/bin/gkbd-keyboard-display'")))
2472cdec 7383 #t))
2b0c755d
RW
7384 (add-before 'check 'pre-check
7385 (lambda* (#:key inputs #:allow-other-keys)
7386 ;; Tests require a running X server.
7387 (system "Xvfb :1 &")
7388 (setenv "DISPLAY" ":1")
7389 #t))
7390 (add-after 'install 'wrap-programs
7391 (lambda* (#:key inputs outputs #:allow-other-keys)
7392 (let ((out (assoc-ref outputs "out"))
7393 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7394 (python-path (getenv "PYTHONPATH")))
7395 (wrap-program (string-append out "/bin/gnome-shell")
7396 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7397 ;; FIXME: gnome-shell loads these libraries with unqualified
7398 ;; names only, so they need to be on LD_LIBRARY_PATH. The
7399 ;; alternative might be to patch gnome-shell.
7400 `("LD_LIBRARY_PATH" ":" prefix
7401 ,(map (lambda (pkg)
7402 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
7403 '("gdk-pixbuf"
7404 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
7405 (for-each
7406 (lambda (prog)
7407 (wrap-program (string-append out "/bin/" prog)
7408 `("PYTHONPATH" ":" prefix (,python-path))
7409 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7410 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 7411 #t)))
11e1df56
LC
7412 (replace 'glib-or-gtk-wrap
7413 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
7414 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
7415 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
7416 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
7417 ;; phase. Fix that since we don't need these.
7418 (wrap #:inputs (fold alist-delete inputs
7419 '("inkscape" "intltool" "glib:bin"))
7420 #:outputs outputs)))))))
a4df5756 7421 (native-inputs
28457ae6
KK
7422 `(("asciidoc" ,asciidoc)
7423 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 7424 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 7425 ("gobject-introspection" ,gobject-introspection)
ebfe259f 7426 ("inkscape" ,inkscape)
a4df5756
SB
7427 ("intltool" ,intltool)
7428 ("pkg-config" ,pkg-config)
7429 ("python" ,python)
2b0c755d
RW
7430 ("ruby-sass" ,ruby-sass)
7431 ("sassc" ,sassc)
a76d0f03 7432 ("xsltproc" ,libxslt)
2b0c755d 7433 ;; For tests
0b4504f6 7434 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
7435 (inputs
7436 `(("accountsservice" ,accountsservice)
7437 ("caribou" ,caribou)
7438 ("docbook-xsl" ,docbook-xsl)
7439 ("evolution-data-server" ,evolution-data-server)
7440 ("gcr" ,gcr)
7441 ("gdm" ,gdm)
c5db31d4 7442 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756 7443 ("gjs" ,gjs)
28457ae6 7444 ("gnome-autoar" ,gnome-autoar)
a4df5756 7445 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
7446 ("gnome-desktop" ,gnome-desktop)
7447 ("gnome-settings-daemon" ,gnome-settings-daemon)
7448 ("gst-plugins-base" ,gst-plugins-base)
7449 ("ibus" ,ibus)
7450 ("libcanberra" ,libcanberra)
7451 ("libcroco" ,libcroco)
d6fda4d3 7452 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756 7453 ("libgweather" ,libgweather)
e24d311f 7454 ("libnma" ,libnma)
a4df5756
SB
7455 ("libsoup" ,libsoup)
7456 ("mesa-headers" ,mesa-headers)
7457 ("mutter" ,mutter)
7458 ("network-manager-applet" ,network-manager-applet)
7459 ("polkit" ,polkit)
7460 ("pulseaudio" ,pulseaudio)
7461 ("python-pygobject" ,python-pygobject)
7462 ("startup-notification" ,startup-notification)
7463 ("telepathy-logger" ,telepathy-logger)
7464 ("upower" ,upower)
30e760f0
MB
7465 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
7466 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
7467 ("librsvg" ,librsvg)
2b0c755d 7468 ("geoclue" ,geoclue)))
a4df5756
SB
7469 (synopsis "Desktop shell for GNOME")
7470 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
7471 (description
7472 "GNOME Shell provides core user interface functions for the GNOME desktop,
7473like switching to windows and launching applications.")
7474 (license license:gpl2+)))
c3f29bc9
RS
7475
7476(define-public gtk-vnc
7477 (package
7478 (name "gtk-vnc")
965ff023 7479 (version "0.9.0")
c3f29bc9
RS
7480 (source
7481 (origin
7482 (method url-fetch)
7483 (uri (string-append "mirror://gnome/sources/" name "/"
7484 (version-major+minor version) "/"
7485 name "-" version ".tar.xz"))
7486 (sha256
7487 (base32
965ff023 7488 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
7489 (build-system gnu-build-system)
7490 (arguments
7491 '(#:configure-flags '("--with-gtk=3.0")))
7492 (propagated-inputs
7493 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
7494 (inputs
7495 `(("cyrus-sasl" ,cyrus-sasl)
7496 ("gnutls" ,gnutls)
7497 ("libgcrypt" ,libgcrypt)
7498 ("pulseaudio" ,pulseaudio)))
7499 (native-inputs
7500 `(("glib:bin" ,glib "bin")
7501 ("gobject-introspection" ,gobject-introspection)
7502 ("intltool" ,intltool)
7503 ("pkg-config" ,pkg-config)
2f17e939 7504 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
7505 ("vala" ,vala)))
7506 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
7507 (synopsis "VNC viewer widget for GTK+")
7508 (description
7509 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
7510applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
7511GTK-VNC implements client side RFB protocol and authentication extensions such
7512as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
7513 (license license:lgpl2.1+)))
8b877545 7514
dc69fe18
MW
7515(define-public gnome-autoar
7516 (package
7517 (name "gnome-autoar")
17969940 7518 (version "0.2.4")
dc69fe18
MW
7519 (source (origin
7520 (method url-fetch)
7521 (uri (string-append "mirror://gnome/sources/" name "/"
7522 (version-major+minor version) "/"
7523 name "-" version ".tar.xz"))
7524 (sha256
7525 (base32
17969940 7526 "0yk56ch46n3wfy633mq31kif9n7v06rlij4vqbsbn6l4z1vw6d0a"))))
dc69fe18
MW
7527 (build-system glib-or-gtk-build-system)
7528 (native-inputs
17969940 7529 `(("gobject-introspection" ,gobject-introspection)
dc69fe18
MW
7530 ("pkg-config" ,pkg-config)))
7531 (propagated-inputs
17969940 7532 `(("libarchive" ,libarchive))) ; Required by gnome-autoar-0.pc
dc69fe18 7533 (inputs
0a6e9e13 7534 `(("gtk+" ,gtk+)))
dc69fe18
MW
7535 (synopsis "Archives integration support for GNOME")
7536 (home-page "https://git.gnome.org/browse/gnome-autoar/")
7537 (description
7538 "GNOME Autoar is a library which makes creating and extracting archives
7539easy, safe, and automatic.")
7540 (license license:lgpl2.1+)))
7541
b64e217f
MW
7542(define-public tracker
7543 (package
7544 (name "tracker")
caaefa40 7545 (version "2.3.4")
b64e217f
MW
7546 (source (origin
7547 (method url-fetch)
b5b0fd23 7548 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 7549 (version-major+minor version) "/"
b5b0fd23 7550 "tracker-" version ".tar.xz"))
b64e217f
MW
7551 (sha256
7552 (base32
caaefa40 7553 "0vai0qz9jn3z5dlzysynwhbbmslp84ygdql81f5wfxxr98j54yap"))))
5ada561c 7554 (build-system meson-build-system)
c8bdf589 7555 (arguments
5ada561c
KK
7556 `(#:glib-or-gtk? #t
7557 #:configure-flags
7558 ;; Otherwise, the RUNPATH will lack the final path component.
7559 (list (string-append "-Dc_link_args=-Wl,-rpath="
7560 (assoc-ref %outputs "out") "/lib:"
7561 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
7562 #:phases
c8bdf589 7563 (modify-phases %standard-phases
c8bdf589
RW
7564 (add-before 'check 'pre-check
7565 (lambda _
63db190a
PN
7566 ;; Some tests expect to write to $HOME.
7567 (setenv "HOME" "/tmp")
c8bdf589 7568 #t)))))
b64e217f 7569 (native-inputs
5ada561c 7570 `(("glib:bin" ,glib "bin")
b64e217f 7571 ("gobject-introspection" ,gobject-introspection)
5ada561c 7572 ("python-pygobject" ,python-pygobject)
b64e217f
MW
7573 ("intltool" ,intltool)
7574 ("pkg-config" ,pkg-config)
7575 ("vala" ,vala)))
7576 (inputs
63db190a 7577 `(("dbus" ,dbus)
44ed6284 7578 ("sqlite" ,sqlite)
b64e217f 7579 ("libxml2" ,libxml2)
63db190a 7580 ("icu4c" ,icu4c) ; libunistring gets miner-miner-fs test to fail.
0ef48cd9 7581 ("json-glib" ,json-glib)
63db190a 7582 ("libsoup" ,libsoup)))
b64e217f
MW
7583 (synopsis "Metadata database, indexer and search tool")
7584 (home-page "https://wiki.gnome.org/Projects/Tracker")
7585 (description
63db190a
PN
7586 "Tracker is a search engine and triplestore for desktop, embedded and mobile.
7587
7588It is a middleware component aimed at desktop application developers who want
7589their apps to browse and search user content. It's not designed to be used
7590directly by desktop users, but it provides a commandline tool named
7591@command{tracker} for the adventurous.
7592
7593Tracker allows your application to instantly perform full-text searches across
7594all documents. This feature is used by the @{emph{search} bar in GNOME Files, for
7595example. This is achieved by indexing the user's home directory in the
7596background.
7597
7598Tracker also allows your application to query and list content that the user
7599has stored. For example, GNOME Music displays all the music files that are
7600found by Tracker. This means that GNOME Music doesn't need to maintain a
7601database of its own.
7602
7603If you need to go beyond simple searches, Tracker is also a linked data
7604endpoint and it understands SPARQL. ")
7605 ;; https://gitlab.gnome.org/GNOME/tracker/-/blob/master/COPYING:
b64e217f 7606 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
63db190a 7607 ;; libstemmer is bsd-3 and the rest is gpl2+.
b64e217f 7608 (license (list license:gpl2+
63db190a
PN
7609 license:bsd-3
7610 license:lgpl2.1+))))
b64e217f 7611
03be9874
KK
7612(define-public tracker-miners
7613 (package
7614 (name "tracker-miners")
de60ac2f 7615 (version "2.3.3")
03be9874
KK
7616 (source (origin
7617 (method url-fetch)
7618 (uri (string-append "mirror://gnome/sources/tracker-miners/"
7619 (version-major+minor version)
7620 "/tracker-miners-" version ".tar.xz"))
7621 (sha256
7622 (base32
de60ac2f 7623 "06abxrnrz7xayykrabn135rpsm6z0fqw7gibrb9j09l6swlalwkl"))))
03be9874
KK
7624 (build-system meson-build-system)
7625 (arguments
7626 `(#:glib-or-gtk? #t
7627 #:configure-flags
7628 (list "-Dminer_rss=false" ; libgrss is required.
7629 ;; Ensure the RUNPATH contains all installed library locations.
7630 (string-append "-Dc_link_args=-Wl,-rpath="
7631 (assoc-ref %outputs "out")
7632 "/lib/tracker-miners-2.0")
7633 ;; TODO: Enable functional tests. Currently, the following error
7634 ;; appears:
7635 ;; Exception: The functional tests require DConf to be the default
7636 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
7637 "-Dfunctional_tests=false")))
7638 (native-inputs
7639 `(("dbus" ,dbus)
7640 ("intltool" ,intltool)
7641 ("glib:bin" ,glib "bin")
7642 ("gobject-introspection" ,gobject-introspection)
7643 ("pkg-config" ,pkg-config)
7644 ("python-pygobject" ,python-pygobject)))
7645 (inputs
7646 `(("exempi" ,exempi)
7647 ("ffmpeg" ,ffmpeg)
7648 ("flac" ,flac)
7649 ("giflib" ,giflib)
7650 ("glib" ,glib)
7651 ("gstreamer" ,gstreamer)
7652 ("icu4c" ,icu4c)
7653 ("libcue" ,libcue)
7654 ("libexif" ,libexif)
7655 ("libgsf" ,libgsf)
7656 ("libgxps" ,libgxps)
7657 ("libiptcdata" ,libiptcdata)
4bd428a7 7658 ("libjpeg" ,libjpeg-turbo)
03be9874
KK
7659 ("libosinfo" ,libosinfo)
7660 ("libpng" ,libpng)
7661 ("libseccomp" ,libseccomp)
7662 ("libtiff" ,libtiff)
7663 ("libvorbis" ,libvorbis)
7664 ("libxml2" ,libxml2)
7665 ("poppler" ,poppler)
7666 ("taglib" ,taglib)
7667 ("totem-pl-parser" ,totem-pl-parser)
7668 ("tracker" ,tracker)
7669 ("upower" ,upower)
7670 ("zlib" ,zlib)))
b64e217f
MW
7671 (synopsis "Metadata database, indexer and search tool")
7672 (home-page "https://wiki.gnome.org/Projects/Tracker")
7673 (description
7674 "Tracker is an advanced framework for first class objects with associated
7675metadata and tags. It provides a one stop solution for all metadata, tags,
7676shared object databases, search tools and indexing.")
7677 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7678 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7679 (license (list license:gpl2+
7680 license:lgpl2.1+
7681 license:lgpl2.0+))))
7682
8b877545
RS
7683(define-public nautilus
7684 (package
7685 (name "nautilus")
8069ff0b 7686 (version "3.34.2")
8b877545
RS
7687 (source (origin
7688 (method url-fetch)
7689 (uri (string-append "mirror://gnome/sources/" name "/"
7690 (version-major+minor version) "/"
7691 name "-" version ".tar.xz"))
7692 (sha256
7693 (base32
8069ff0b 7694 "19zqwq4qyyncc5wq3xls0f7rsavnw741k336p2h7kx35p4kf41mv"))))
35e2d0cf 7695 (build-system meson-build-system)
8b877545 7696 (arguments
35e2d0cf 7697 '(#:glib-or-gtk? #t
8069ff0b
KK
7698 #:phases
7699 (modify-phases %standard-phases
7700 (add-after 'unpack 'skip-gtk-update-icon-cache
7701 ;; Don't create 'icon-theme.cache'.
7702 (lambda _
7703 (substitute* "build-aux/meson/postinstall.py"
7704 (("gtk-update-icon-cache") "true"))
7705 #t)))
8b877545
RS
7706 ;; XXX: FAIL: check-nautilus
7707 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
7708 #:tests? #f))
7709 (native-inputs
35e2d0cf
R
7710 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7711 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
8b877545
RS
7712 ("gobject-introspection" ,gobject-introspection)
7713 ("intltool" ,intltool)
7714 ("pkg-config" ,pkg-config)))
8b877545 7715 (inputs
8b877545 7716 `(("dconf" ,dconf)
caf6c363 7717 ("gexiv2" ,gexiv2)
dd05e731 7718 ("gvfs" ,gvfs)
8b877545
RS
7719 ("exempi" ,exempi)
7720 ("gnome-desktop" ,gnome-desktop)
09d88905 7721 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 7722 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 7723 ("libseccomp" ,libseccomp)
35e2d0cf 7724 ("libselinux" ,libselinux)
09d88905 7725 ("tracker" ,tracker)
3cafb9d4 7726 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
7727 ;; XXX: gtk+ is required by libnautilus-extension.pc
7728 ;;
7729 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
7730 ;; package. See:
7731 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
7732 ("gtk+" ,gtk+)
8b877545
RS
7733 ("libexif" ,libexif)
7734 ("libxml2" ,libxml2)))
7735 (synopsis "File manager for GNOME")
7736 (home-page "https://wiki.gnome.org/Apps/Nautilus")
7737 (description
7738 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
7739design and behaviour, giving the user a simple way to navigate and manage its
7740files.")
7741 (license license:gpl2+)))
3c697ffd
JR
7742
7743(define-public baobab
7744 (package
7745 (name "baobab")
e0c5f20c 7746 (version "3.32.0")
3c697ffd
JR
7747 (source (origin
7748 (method url-fetch)
7749 (uri (string-append
7750 "mirror://gnome/sources/" name "/"
7751 (version-major+minor version) "/"
7752 name "-" version ".tar.xz"))
7753 (sha256
7754 (base32
e0c5f20c 7755 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
7756 (build-system meson-build-system)
7757 (arguments
7758 '(#:glib-or-gtk? #t))
3c697ffd
JR
7759 (native-inputs
7760 `(("intltool" ,intltool)
7761 ("pkg-config" ,pkg-config)
d233d373
RJ
7762 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7763 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
7764 ("itstool" ,itstool)
7765 ("xmllint" ,libxml2)
7766 ("glib" ,glib "bin")
7767 ("vala" ,vala)))
7768 (inputs
7769 `(("gtk+" ,gtk+)))
7770 (synopsis "Disk usage analyzer for GNOME")
7771 (description
7772 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
7773usage in the GNOME desktop environment. It can easily scan device volumes or
7774a specific user-requested directory branch (local or remote). Once the scan
7775is complete it provides a graphical representation of each selected folder.")
7776 (home-page "https://wiki.gnome.org/Apps/Baobab")
7777 (license license:gpl2+)))
dc050251 7778
fdba447c
RS
7779(define-public gnome-backgrounds
7780 (package
7781 (name "gnome-backgrounds")
0856b0d9 7782 (version "3.34.0")
fdba447c
RS
7783 (source
7784 (origin
7785 (method url-fetch)
7786 (uri (string-append "mirror://gnome/sources/" name "/"
7787 (version-major+minor version) "/"
7788 name "-" version ".tar.xz"))
7789 (sha256
7790 (base32
0856b0d9 7791 "0zxlwy55fz7i582hch2wnj8zy1kzikssgaix0l2y41ccp5nzpdy2"))))
9ca381f0 7792 (build-system meson-build-system)
fdba447c
RS
7793 (native-inputs
7794 `(("intltool" ,intltool)))
e04e8a8c 7795 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
7796 (synopsis "Background images for the GNOME desktop")
7797 (description
7798 "GNOME backgrounds package contains a collection of graphics files which
7799can be used as backgrounds in the GNOME Desktop environment. Additionally,
7800the package creates the proper framework and directory structure so that you
7801can add your own files to the collection.")
7802 (license (list license:gpl2+
7803 license:cc-by2.0
7804 license:cc-by-sa2.0
7805 license:cc-by-sa3.0))))
7806
b784b1a9
RS
7807(define-public gnome-screenshot
7808 (package
7809 (name "gnome-screenshot")
d5101dab 7810 (version "3.34.0")
b784b1a9
RS
7811 (source
7812 (origin
7813 (method url-fetch)
7814 (uri (string-append "mirror://gnome/sources/" name "/"
7815 (version-major+minor version) "/"
7816 name "-" version ".tar.xz"))
7817 (sha256
7818 (base32
d5101dab 7819 "1rmiq890j7gfn5mcz31xy6jfnnxgc17dq67bhn2k9m5ylbvza2n8"))))
8356aefa 7820 (build-system meson-build-system)
d5101dab
KK
7821 (arguments
7822 '(#:phases
7823 (modify-phases %standard-phases
7824 (add-after 'unpack 'skip-gtk-update-icon-cache
7825 ;; Don't create 'icon-theme.cache'.
7826 (lambda _
7827 (substitute* "build-aux/postinstall.py"
7828 (("gtk-update-icon-cache") "true"))
7829 #t)))))
b784b1a9
RS
7830 (native-inputs
7831 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa 7832 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 7833 ("intltool" ,intltool)
8356aefa 7834 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
7835 ("pkg-config" ,pkg-config)))
7836 (inputs
7837 `(("gtk+" ,gtk+)
7838 ("libcanberra" ,libcanberra)
7839 ("libx11" ,libx11)
7840 ("libxext" ,libxext)))
676e7cb4 7841 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
7842 (synopsis "Take pictures of your screen")
7843 (description
7844 "GNOME Screenshot is a utility used for taking screenshots of the entire
7845screen, a window or a user defined area of the screen, with optional
7846beautifying border effects.")
7847 (license license:gpl2+)))
7848
66d59111
RS
7849(define-public dconf-editor
7850 (package
7851 (name "dconf-editor")
720aa20f 7852 (version "3.34.2")
66d59111
RS
7853 (source
7854 (origin
7855 (method url-fetch)
7856 (uri (string-append "mirror://gnome/sources/" name "/"
7857 (version-major+minor version) "/"
7858 name "-" version ".tar.xz"))
7859 (sha256
7860 (base32
720aa20f 7861 "0pwxjada2vaf69ihpjgp9nky54iykvxq63lp1vl8pxjanif2mk6f"))))
294ff39d 7862 (build-system meson-build-system)
66d59111
RS
7863 (native-inputs
7864 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 7865 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 7866 ("intltool" ,intltool)
294ff39d
RW
7867 ("pkg-config" ,pkg-config)
7868 ("vala" ,vala)))
66d59111
RS
7869 (inputs
7870 `(("dconf" ,dconf)
7871 ("gtk+" ,gtk+)
7872 ("libxml2" ,libxml2)))
720aa20f 7873 (home-page "https://gitlab.gnome.org/GNOME/dconf-editor")
66d59111
RS
7874 (synopsis "Graphical editor for GNOME's dconf configuration system")
7875 (description
7876 "Dconf-editor is a graphical tool for browsing and editing the dconf
7877configuration system for GNOME. It allows users to configure desktop
7878software that do not provide their own configuration interface.")
7879 (license license:lgpl2.1+)))
7880
96d36f38
AW
7881(define-public gnome-default-applications
7882 (package
7883 (name "gnome-default-applications")
7884 (version "0")
7885 (build-system trivial-build-system)
7886 (source #f)
7887 (propagated-inputs
8ad4f0aa
LC
7888 `(("nautilus" ,nautilus)
7889 ("evince" ,evince)))
96d36f38
AW
7890 (arguments
7891 `(#:modules ((guix build utils))
7892 #:builder
7893 (begin
7894 (use-modules (guix build utils))
7895 (let* ((out (assoc-ref %outputs "out"))
7896 (apps (string-append out "/share/applications")))
7897 (mkdir-p apps)
a6ac679f 7898 (call-with-output-file (string-append apps "/gnome-mimeapps.list")
96d36f38
AW
7899 (lambda (port)
7900 (format port "[Default Applications]\n")
8ad4f0aa
LC
7901 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
7902 (format port "application/pdf=evince.desktop\n")
7903 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
7904 #t))))
7905 (synopsis "Default MIME type associations for the GNOME desktop")
7906 (description
7907 "Given many installed packages which might handle a given MIME type, a
7908user running the GNOME desktop probably has some preferences: for example,
7909that folders be opened by default by the Nautilus file manager, not the Baobab
7910disk usage analyzer. This package establishes that set of default MIME type
7911associations for GNOME.")
7912 (license license:gpl3+)
7913 (home-page #f)))
7914
3f1ed953
RG
7915(define-public libgovirt
7916 (package
7917 (name "libgovirt")
7918 (version "0.3.6")
7919 (source (origin
7920 (method url-fetch)
7921 (uri (string-append "mirror://gnome/sources/" name "/"
7922 (version-major+minor version) "/"
7923 name "-" version ".tar.xz"))
7924 (sha256
7925 (base32
7926 "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg"))))
7927 (build-system glib-or-gtk-build-system)
7928 (native-inputs
7929 `(("gettext" ,gettext-minimal)
7930 ("glib:bin" ,glib "bin")
7931 ("gobject-introspection" ,gobject-introspection)
7932 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7933 ("gtk+:bin" ,gtk+ "bin")
7934 ("pkg-config" ,pkg-config)))
7935 (inputs
7936 `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
7937 ("librest" ,rest)))
7938 (synopsis "GoVirt Library")
7939 (description "GoVirt is a GObject wrapper for the oVirt REST API.")
7940 (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
7941 (license license:gpl2+)))
7942
8672e5e9
RG
7943(define-public gnome-weather
7944 (package
7945 (name "gnome-weather")
7946 (version "3.34.0")
7947 (source (origin
7948 (method url-fetch)
7949 (uri (string-append "mirror://gnome/sources/" name "/"
7950 (version-major+minor version) "/"
7951 name "-" version ".tar.xz"))
7952 (sha256
7953 (base32
7954 "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4"))))
7955 (build-system meson-build-system)
7956 (native-inputs
7957 `(("gettext" ,gettext-minimal)
7958 ("glib:bin" ,glib "bin")
7959 ("gobject-introspection" ,gobject-introspection)
7960 ("gtk+:bin" ,gtk+ "bin")
7961 ("pkg-config" ,pkg-config)))
7962 (inputs
7963 `( ;("adwaita-icon-theme" ,adwaita-icon-theme)
7964 ("appstream-glib" ,appstream-glib)
7965 ("geoclue" ,geoclue)
7966 ("gdk-pixbuf" ,gdk-pixbuf)
7967 ("gjs" ,gjs)
7968 ("gnome-desktop" ,gnome-desktop)
7969 ("libgweather" ,libgweather)))
4391fefc 7970 (arguments
2b68ba72
MB
7971 `(#:glib-or-gtk? #t
7972 #:phases
4391fefc
PN
7973 (modify-phases %standard-phases
7974 (add-after 'install 'fix-desktop-file
7975 ;; FIXME: "gapplication launch org.gnome.Weather" fails for some reason.
7976 ;; See https://issues.guix.gnu.org/issue/39324.
7977 (lambda* (#:key outputs #:allow-other-keys)
7978 (let* ((out (assoc-ref outputs "out"))
7979 (applications (string-append out "/share/applications")))
7980 (substitute* (string-append applications "/org.gnome.Weather.desktop")
2b68ba72
MB
7981 (("Exec=.*") "Exec=gnome-weather\n"))
7982 #t)))
7983 (add-after 'install 'wrap
7984 (lambda* (#:key inputs outputs #:allow-other-keys)
7985 (let ((out (assoc-ref outputs "out"))
7986 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
7987 ;; GNOME Weather needs the typelib files of GTK+, Pango etc at runtime.
7988 (wrap-program (string-append out "/bin/gnome-weather")
7989 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
7990 #t))))))
8672e5e9
RG
7991 (synopsis "Weather monitoring for GNOME desktop")
7992 (description "GNOME Weather is a small application that allows you to
7993monitor the current weather conditions for your city, or anywhere in the
7994world.")
7995 (home-page "https://wiki.gnome.org/Apps/Weather")
7996 (license license:gpl2+)))
7997
dc050251
SB
7998(define-public gnome
7999 (package
8000 (name "gnome")
8001 (version (package-version gnome-shell))
8002 (source #f)
8003 (build-system trivial-build-system)
e3cfef22 8004 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 8005 (propagated-inputs
8d8c6bff 8006 ;; TODO: Add or remove packages according to:
a8cda7f5 8007 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 8008 `(
8d8c6bff 8009 ;; GNOME-Core-OS-Services
7922b6f7 8010 ("accountsservice" ,accountsservice)
8d8c6bff
RG
8011 ("network-manager" ,network-manager)
8012 ("packagekit" ,packagekit)
8013 ("upower" ,upower)
8014 ;; GNOME-Core-Shell
8015 ("adwaita-icon-theme" ,adwaita-icon-theme)
8016 ("gdm" ,gdm)
8017 ("glib-networking" ,glib-networking)
8018 ("gnome-backgrounds" ,gnome-backgrounds)
8019 ("gnome-bluetooth" ,gnome-bluetooth)
d36fa50f 8020 ("gnome-color-manager" ,gnome-color-manager)
8d8c6bff
RG
8021 ("gnome-control-center" ,gnome-control-center)
8022 ("gnome-desktop" ,gnome-desktop)
7922b6f7 8023 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
d36fa50f 8024 ("gnome-initial-setup" ,gnome-initial-setup)
8d8c6bff 8025 ("gnome-keyring" ,gnome-keyring)
7922b6f7 8026 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
8027 ("gnome-session" ,gnome-session)
8028 ("gnome-settings-daemon" ,gnome-settings-daemon)
8029 ("gnome-shell-extensions" ,gnome-shell-extensions)
8030 ("gnome-shell" ,gnome-shell)
8031 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 8032 ("gnome-user-docs" ,gnome-user-docs)
d36fa50f 8033 ("gnome-user-share" ,gnome-user-share)
a8cda7f5 8034 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
8035 ("gvfs" ,gvfs)
8036 ("mutter" ,mutter)
8037 ("orca" ,orca)
d36fa50f
RG
8038 ("rygel" ,rygel)
8039 ("sushi" ,sushi)
8d8c6bff
RG
8040 ;; GNOME-Core-Utilities
8041 ("baobab" ,baobab)
8042 ("cheese" ,cheese)
ce784e6c
MB
8043 ;; XXX: EoG requires librsvg-next, which depends on Rust, which currently
8044 ;; only works on x86_64, so exclude it on other architectures.
8045 ,@(if (string-prefix? "x86_64" (%current-system))
8046 `(("eog" ,eog))
8047 '())
8d8c6bff
RG
8048 ("epiphany" ,epiphany)
8049 ("evince" ,evince)
8050 ("file-roller" ,file-roller)
8051 ("gedit" ,gedit)
897897bd 8052 ("gnome-boxes" ,gnome-boxes)
8d8c6bff
RG
8053 ("gnome-calculator" ,gnome-calculator)
8054 ("gnome-calendar" ,gnome-calendar)
8055 ("gnome-characters" ,gnome-characters)
8056 ("gnome-clocks" ,gnome-clocks)
8057 ("gnome-contacts" ,gnome-contacts)
8058 ("gnome-disk-utility" ,gnome-disk-utility)
8059 ("gnome-font-viewer" ,gnome-font-viewer)
8060 ("gnome-maps" ,gnome-maps)
d36fa50f
RG
8061 ; TODO: ("gnome-music" ,gnome-music)
8062 ; TODO: ("gnome-photos" ,gnome-photos)
8d8c6bff
RG
8063 ("gnome-screenshot" ,gnome-screenshot)
8064 ("gnome-system-monitor" ,gnome-system-monitor)
8065 ("gnome-terminal" ,gnome-terminal)
d36fa50f 8066 ("gnome-weather" ,gnome-weather)
8d8c6bff
RG
8067 ("nautilus" ,nautilus)
8068 ("simple-scan" ,simple-scan)
8069 ("totem" ,totem)
7922b6f7
RG
8070 ("yelp" ,yelp)
8071 ;; Others
8072 ("hicolor-icon-theme" ,hicolor-icon-theme)
9f2fef4f
LC
8073 ("gnome-online-accounts" ,gnome-online-accounts)
8074
8075 ;; Packages not part of GNOME proper but that are needed for a good
8076 ;; experience. See <https://bugs.gnu.org/39646>.
8077 ;; XXX: Find out exactly which ones are needed and why.
8078 ("font-cantarell" ,font-cantarell)
8079 ("font-dejavu" ,font-dejavu)
8080 ("at-spi2-core" ,at-spi2-core)
8081 ("dbus" ,dbus)
8082 ("dconf" ,dconf)
8083 ("desktop-file-utils" ,desktop-file-utils)
8084 ("gnome-default-applications" ,gnome-default-applications)
8085 ("gnome-themes-standard" ,gnome-themes-standard)
8086 ("gst-plugins-base" ,gst-plugins-base)
8087 ("gst-plugins-good" ,gst-plugins-good)
8088 ("gucharmap" ,gucharmap)
8089 ("pinentry-gnome3" ,pinentry-gnome3)
8090 ("pulseaudio" ,pulseaudio)
8091 ("shared-mime-info" ,shared-mime-info)
8092 ("system-config-printer" ,system-config-printer)
8093 ("xdg-user-dirs" ,xdg-user-dirs)
8094 ("yelp" ,yelp)
8095 ("zenity" ,zenity)))
fe4e698d 8096 (synopsis "The GNU desktop environment")
dc050251
SB
8097 (home-page "https://www.gnome.org/")
8098 (description
fe4e698d
LC
8099 "GNOME is the graphical desktop for GNU. It includes a wide variety of
8100applications for browsing the web, editing text and images, creating
8101documents and diagrams, playing media, scanning, and much more.")
dc050251 8102 (license license:gpl2+)))
4a526711
DT
8103
8104(define-public byzanz
8105 ;; The last stable release of Byzanz was in 2011, but there have been many
8106 ;; useful commits made to the Byzanz repository since then that it would be
8107 ;; silly to use such an old release.
8108 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
8109 (package
8110 (name "byzanz")
8111 (version (string-append "0.2-1." (string-take commit 7)))
8112 (source (origin
8113 (method git-fetch)
8114 (uri (git-reference
5f13bf09 8115 (url "https://git.gnome.org/browse/byzanz")
4a526711 8116 (commit commit)))
5a6527e4 8117 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
8118 (sha256
8119 (base32
8120 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
8121 (build-system glib-or-gtk-build-system)
8122 (arguments
8123 '(#:phases
8124 (modify-phases %standard-phases
778d6b52 8125 (add-before 'bootstrap 'build-without-Werror
4a526711
DT
8126 (lambda _
8127 ;; The build system cleverly detects that we're not building from
8128 ;; a release tarball and turns on -Werror for GCC.
8129 ;; Unsurprisingly, there is a warning during compilation that
8130 ;; causes the build to fail unnecessarily, so we remove the flag.
8131 (substitute* '("configure.ac")
8132 (("-Werror") ""))
778d6b52 8133 #t)))))
4a526711
DT
8134 (native-inputs
8135 `(("autoconf" ,autoconf)
8136 ("automake" ,automake)
8137 ("gnome-common" ,gnome-common)
8138 ("intltool" ,intltool)
8139 ("libtool" ,libtool)
8140 ("pkg-config" ,pkg-config)
8141 ("which" ,which)))
8142 (inputs
8143 `(("glib" ,glib)
8144 ("gstreamer" ,gstreamer)
8145 ("gst-plugins-base" ,gst-plugins-base)
8146 ("gtk+" ,gtk+)))
8147 (synopsis "Desktop recording program")
8148 (description "Byzanz is a simple desktop recording program with a
8149command-line interface. It can record part or all of an X display for a
8150specified duration and save it as a GIF encoded animated image file.")
8151 (home-page "https://git.gnome.org/browse/byzanz")
8152 (license license:gpl2+))))
3a9a4c51 8153
0ec171ec
MS
8154(define-public gsound
8155 (package
8156 (name "gsound")
8157 (version "1.0.2")
8158 (source (origin
8159 (method url-fetch)
8160 (uri (string-append "mirror://gnome/sources/" name "/"
8161 (version-major+minor version) "/"
8162 name "-" version ".tar.xz"))
8163 (sha256
8164 (base32
8165 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
8166 (build-system glib-or-gtk-build-system)
8167 (native-inputs
8168 `(("pkg-config" ,pkg-config)
8169 ("gobject-introspection" ,gobject-introspection)
8170 ("vala" ,vala)))
8171 (inputs
8172 `(("glib" ,glib)
8173 ("libcanberra" ,libcanberra)))
8174 (home-page "https://wiki.gnome.org/Projects/GSound")
8175 (synopsis "GObject wrapper for libcanberra")
8176 (description
8177 "GSound is a small library for playing system sounds. It's designed to be
8178used via GObject Introspection, and is a thin wrapper around the libcanberra C
8179library.")
8180 (license license:lgpl2.1+)))
8181
3a9a4c51
RS
8182(define-public libzapojit
8183 (package
8184 (name "libzapojit")
8185 (version "0.0.3")
8186 (source (origin
8187 (method url-fetch)
8188 (uri (string-append "mirror://gnome/sources/" name "/"
8189 (version-major+minor version) "/"
8190 name "-" version ".tar.xz"))
8191 (sha256
8192 (base32
8193 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
8194 (build-system gnu-build-system)
8195 (native-inputs
8196 `(("gobject-introspection" ,gobject-introspection)
8197 ("intltool" ,intltool)
8198 ("pkg-config" ,pkg-config)))
8199 (inputs
14c297fd 8200 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
8201 ("json-glib" ,json-glib)
8202 ("rest" ,rest)))
8203 (home-page "https://wiki.gnome.org/Projects/Zapojit")
8204 (synopsis "Library for accessing SkyDrive and Hotmail")
8205 (description
8206 "Libzapojit is a GLib-based library for accessing online service APIs of
8207Microsoft SkyDrive and Hotmail, using their REST protocols.")
8208 (license license:lgpl2.1+)))
9365ee1c 8209
60e2a9ae
MS
8210(define-public gnome-clocks
8211 (package
8212 (name "gnome-clocks")
feee5ff5 8213 (version "3.34.0")
60e2a9ae
MS
8214 (source (origin
8215 (method url-fetch)
8216 (uri (string-append "mirror://gnome/sources/" name "/"
8217 (version-major+minor version) "/"
8218 name "-" version ".tar.xz"))
8219 (sha256
8220 (base32
feee5ff5 8221 "0g7hjk55smhkd09hwa9kag3h5a12l494wj89w9smpdk3ghsmy6b1"))))
60e2a9ae
MS
8222 (build-system meson-build-system)
8223 (arguments
feee5ff5
KK
8224 '(#:glib-or-gtk? #t
8225 #:phases
8226 (modify-phases %standard-phases
8227 (add-after 'unpack 'skip-gtk-update-icon-cache
8228 ;; Don't create 'icon-theme.cache'.
8229 (lambda _
8230 (substitute* "build-aux/post-install.py"
8231 (("gtk-update-icon-cache") "true"))
8232 #t)))))
60e2a9ae
MS
8233 (native-inputs
8234 `(("vala" ,vala)
8235 ("pkg-config" ,pkg-config)
8236 ("glib" ,glib "bin") ; for glib-compile-resources
60e2a9ae
MS
8237 ("desktop-file-utils" ,desktop-file-utils)
8238 ("gettext" ,gettext-minimal)
8239 ("itstool" ,itstool)))
8240 (inputs
8241 `(("glib" ,glib)
8242 ("gtk+" ,gtk+)
8243 ("gsound" ,gsound)
8244 ("geoclue" ,geoclue)
8245 ("geocode-glib" ,geocode-glib)
8246 ("libgweather" ,libgweather)
8247 ("gnome-desktop" ,gnome-desktop)))
8248 (home-page "https://wiki.gnome.org/Apps/Clocks")
8249 (synopsis "GNOME's clock application")
8250 (description
8251 "GNOME Clocks is a simple clocks application designed to fit the GNOME
8252desktop. It supports world clock, stop watch, alarms, and count down timer.")
8253 (license license:gpl3+)))
8254
3c474897
KY
8255(define-public gnome-calendar
8256 (package
8257 (name "gnome-calendar")
27dd1d76 8258 (version "3.34.2")
3c474897
KY
8259 (source (origin
8260 (method url-fetch)
8261 (uri (string-append "mirror://gnome/sources/" name "/"
8262 (version-major+minor version) "/"
8263 name "-" version ".tar.xz"))
8264 (sha256
8265 (base32
27dd1d76 8266 "1bnmd191044zn2kr6f5vg7sm5q59qf7z652awll1f7s6ahijr8rw"))))
a49d3e37
MS
8267 (build-system meson-build-system)
8268 (arguments
8269 '(#:glib-or-gtk? #t
8270 ;; gnome-calendar has to be installed before the tests can be run
8271 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
27dd1d76
KK
8272 #:tests? #f
8273 #:phases
8274 (modify-phases %standard-phases
8275 (add-after 'unpack 'skip-gtk-update-icon-cache
8276 ;; Don't create 'icon-theme.cache'.
8277 (lambda _
8278 (substitute* "build-aux/meson/meson_post_install.py"
8279 (("gtk-update-icon-cache") "true"))
8280 #t)))))
3c474897 8281 (native-inputs
a49d3e37
MS
8282 `(("gettext" ,gettext-minimal)
8283 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
3c474897
KY
8284 ("pkg-config" ,pkg-config)))
8285 (inputs
27cb52a2 8286 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
8287 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8288 ("libdazzle" ,libdazzle)
b63c06f1 8289 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
8290 ("libgweather" ,libgweather)
8291 ("geoclue" ,geoclue)))
27cb52a2
RG
8292 (propagated-inputs
8293 `(("evolution-data-server" ,evolution-data-server)))
3c474897
KY
8294 (home-page "https://wiki.gnome.org/Apps/Calendar")
8295 (synopsis "GNOME's calendar application")
8296 (description
8297 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 8298desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
8299 (license license:gpl3+)))
8300
57b14665
MS
8301(define-public gnome-todo
8302 (package
8303 (name "gnome-todo")
9f3c6c88 8304 (version "3.28.1")
57b14665
MS
8305 (source (origin
8306 (method url-fetch)
8307 (uri (string-append "mirror://gnome/sources/" name "/"
8308 (version-major+minor version) "/"
8309 name "-" version ".tar.xz"))
8310 (sha256
8311 (base32
b17b2945
DM
8312 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))
8313 (patches
8314 (search-patches "gnome-todo-delete-esource-duplicate.patch"))))
57b14665
MS
8315 (build-system meson-build-system)
8316 (arguments
8317 '(#:glib-or-gtk? #t
8318 #:phases (modify-phases %standard-phases
8319 (add-after
8320 'install 'wrap-gnome-todo
8321 (lambda* (#:key inputs outputs #:allow-other-keys)
8322 (let ((out (assoc-ref outputs "out"))
8323 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8324 (python-path (getenv "PYTHONPATH")))
8325 (wrap-program (string-append out "/bin/gnome-todo")
8326 ;; XXX: gi plugins are broken.
8327 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
8328 ;; For plugins.
8329 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8330 `("PYTHONPATH" ":" prefix (,python-path))))
8331 #t)))))
8332 (native-inputs
8333 `(("gettext" ,gettext-minimal)
8334 ("gobject-introspection" ,gobject-introspection)
8335 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8336 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
8337 ("pkg-config" ,pkg-config)))
8338 (inputs
8339 `(("rest" ,rest) ; For Todoist plugin
8340 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 8341 ("libedataserverui" ,evolution-data-server)
57b14665
MS
8342 ("libical" ,libical)
8343 ("libpeas" ,libpeas)
8344 ("python-pygobject" ,python-pygobject)
8345 ("evolution-data-server" ,evolution-data-server)
14c297fd 8346 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
8347 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
8348 (home-page "https://wiki.gnome.org/Apps/Todo")
8349 (synopsis "GNOME's ToDo Application")
8350 (description
8351 "GNOME To Do is a simplistic personal task manager designed to perfectly
8352fit the GNOME desktop.")
8353 (license license:gpl3+)))
8354
ab179eaf
SB
8355(define-public gnome-dictionary
8356 (package
8357 (name "gnome-dictionary")
cf81ddef 8358 (version "3.26.1")
ab179eaf
SB
8359 (source (origin
8360 (method url-fetch)
8361 (uri (string-append "mirror://gnome/sources/" name "/"
8362 (version-major+minor version) "/"
8363 name "-" version ".tar.xz"))
8364 (sha256
8365 (base32
cf81ddef
LC
8366 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
8367 (build-system meson-build-system)
2776b5d5
MB
8368 (arguments '(#:glib-or-gtk? #t
8369 #:phases (modify-phases %standard-phases
8370 (add-after 'unpack 'patch-install-script
8371 (lambda _
8372 ;; This script attempts to compile glib schemas
8373 ;; and create an empty MIME database. We do
8374 ;; that elsewhere, so prevent it from running.
8375 (substitute* "build-aux/post-install.sh"
8376 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
8377 #t)))))
ab179eaf
SB
8378 (native-inputs
8379 `(("glib:bin" ,glib "bin")
8380 ("gobject-introspection" ,gobject-introspection)
8381 ("intltool" ,intltool)
8382 ("itstool" ,itstool)
8383 ("pkg-config" ,pkg-config)
8384 ("xmllint" ,libxml2)))
8385 (inputs
8386 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8387 ("gtk+" ,gtk+)))
8388 (home-page "https://wiki.gnome.org/Apps/Dictionary")
8389 (synopsis "Look up words in dictionary sources")
8390 (description
8391 "GNOME Dictionary can look for the definition or translation of a word in
8392existing databases over the internet.")
8393 (license license:gpl3+)))
8394
d13f3a03 8395(define-public gnome-tweaks
9365ee1c 8396 (package
d13f3a03 8397 (name "gnome-tweaks")
4add1bae 8398 (version "3.34.0")
9365ee1c
JN
8399 (source (origin
8400 (method url-fetch)
d13f3a03 8401 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 8402 (version-major+minor version) "/"
d13f3a03
RW
8403 "gnome-tweaks-" version ".tar.xz"))
8404 (patches
8405 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
8406 (sha256
8407 (base32
4add1bae 8408 "0l2j42ba7v866iknygamnkiq7igh0fjvq92r93cslvvfnkx2ccq0"))))
d13f3a03 8409 (build-system meson-build-system)
9365ee1c 8410 (arguments
d13f3a03
RW
8411 `(#:glib-or-gtk? #t
8412 #:configure-flags '("-Dlocalstatedir=/tmp"
8413 "-Dsysconfdir=/tmp")
9365ee1c 8414 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
8415 ,@%meson-build-system-modules)
8416 #:phases
8417 (modify-phases %standard-phases
4add1bae
KK
8418 (add-after 'unpack 'skip-gtk-update-icon-cache
8419 ;; Don't create 'icon-theme.cache'.
8420 (lambda _
8421 (substitute* "meson-postinstall.py"
8422 (("gtk-update-icon-cache") "true"))
8423 #t))
d13f3a03
RW
8424 (add-after 'install 'wrap
8425 (@@ (guix build python-build-system) wrap))
8426 (add-after 'wrap 'wrap-gi-typelib
8427 (lambda* (#:key inputs outputs #:allow-other-keys)
8428 (let ((out (assoc-ref outputs "out"))
8429 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8430 (wrap-program (string-append out "/bin/gnome-tweaks")
8431 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8432 #t)))))
9365ee1c 8433 (native-inputs
4add1bae 8434 `(("intltool" ,intltool)
9365ee1c
JN
8435 ("pkg-config" ,pkg-config)))
8436 (inputs
c7fc414e
RH
8437 `(("gnome-desktop" ,gnome-desktop)
8438 ("gtk+" ,gtk+)
9365ee1c
JN
8439 ("gobject-introspection" ,gobject-introspection)
8440 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4add1bae 8441 ("libhandy" ,libhandy)
c7fc414e
RH
8442 ("libnotify" ,libnotify)
8443 ("libsoup" ,libsoup)
8444 ("nautilus" ,nautilus)
8445 ("python" ,python)
8446 ("python-pygobject" ,python-pygobject)))
9365ee1c 8447 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 8448 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 8449 (description
d13f3a03 8450 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
8451GNOME 3. This includes things like the fonts used in user interface elements,
8452alternative user interface themes, changes in window management behavior,
8453GNOME Shell appearance and extension, etc.")
8454 (license license:gpl3+)))
813f814a 8455
32ac717c
DT
8456(define-public gnome-shell-extensions
8457 (package
8458 (name "gnome-shell-extensions")
c7305466 8459 (version "3.34.2")
32ac717c
DT
8460 (source (origin
8461 (method url-fetch)
8462 (uri (string-append "mirror://gnome/sources/" name "/"
8463 (version-major+minor version) "/"
8464 name "-" version ".tar.xz"))
8465 (sha256
8466 (base32
c7305466 8467 "1f5l35l3kdkzrv49xmg1sh11vwmgjbg7hx3gb91i39bfl1snxqd1"))))
100f625b 8468 (build-system meson-build-system)
32ac717c 8469 (arguments
100f625b 8470 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 8471 (native-inputs
c9ea8873
LP
8472 `(("glib:bin" ,glib "bin")
8473 ("intltool" ,intltool)
32ac717c
DT
8474 ("pkg-config" ,pkg-config)))
8475 (propagated-inputs
c9ea8873 8476 `(("glib" ,glib)))
32ac717c
DT
8477 (synopsis "Extensions for GNOME Shell")
8478 (description "GNOME Shell extensions modify and extend GNOME Shell
8479functionality and behavior.")
8480 (home-page "https://extensions.gnome.org/")
8481 (license license:gpl3+)))
8482
813f814a
DT
8483(define-public arc-theme
8484 (package
8485 (name "arc-theme")
37781323 8486 (version "20190917")
813f814a 8487 (source (origin
a18f8eaf
BH
8488 (method git-fetch)
8489 (uri (git-reference
b0e7b699 8490 (url "https://github.com/NicoHood/arc-theme")
a18f8eaf
BH
8491 (commit version)))
8492 (file-name (git-file-name name version))
813f814a
DT
8493 (sha256
8494 (base32
37781323 8495 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 8496 (build-system gnu-build-system)
d88884fa
EF
8497 (arguments
8498 '(#:phases
8499 (modify-phases %standard-phases
8500 ;; autogen.sh calls configure at the end of the script.
8501 (replace 'bootstrap
4690e3a4
MC
8502 (lambda _ (invoke "autoreconf" "-vfi")))
8503 (add-before 'build 'set-home ;placate Inkscape
8504 (lambda _
8505 (setenv "HOME" (getcwd))
8506 #t)))))
813f814a
DT
8507 (native-inputs
8508 `(("autoconf" ,autoconf)
8509 ("automake" ,automake)
a18f8eaf
BH
8510 ("glib" ,glib "bin") ; for glib-compile-resources
8511 ("gnome-shell" ,gnome-shell)
8512 ("gtk+" ,gtk+)
8513 ("inkscape" ,inkscape)
8514 ("optipng" ,optipng)
8515 ("pkg-config" ,pkg-config)
bed24ecf 8516 ("sassc" ,sassc/libsass-3.5)))
813f814a
DT
8517 (synopsis "A flat GTK+ theme with transparent elements")
8518 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
85192, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
8520like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
8521 (home-page "https://github.com/horst3180/arc-theme")
8522 ;; No "or later" language found.
a18f8eaf 8523 (license license:gpl3+)))
9987c57c 8524
d935e6a1 8525(define-public faba-icon-theme
9987c57c 8526 (package
d935e6a1 8527 (name "faba-icon-theme")
2eee7ee3 8528 (version "4.3")
d935e6a1
BT
8529 (source
8530 (origin
757e4027
TGR
8531 (method git-fetch)
8532 (uri (git-reference
b0e7b699 8533 (url "https://github.com/snwh/faba-icon-theme")
757e4027
TGR
8534 (commit (string-append "v" version))))
8535 (file-name (git-file-name name version))
d935e6a1 8536 (sha256
757e4027 8537 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 8538 (build-system meson-build-system)
9987c57c 8539 (arguments
82da291a 8540 `(#:phases
9987c57c 8541 (modify-phases %standard-phases
82da291a 8542 (add-before 'configure 'disable-post-install
9987c57c 8543 (lambda _
82da291a
JL
8544 (substitute* "meson.build"
8545 (("meson.add_install_script.*") "")))))))
9987c57c
DT
8546 (native-inputs
8547 `(("autoconf" ,autoconf)
8548 ("automake" ,automake)))
d935e6a1
BT
8549 (synopsis "Faba icon theme")
8550 (description
8551 "Faba is a minimal icon set used as a basis for other themes such as
8552Moka")
8553 (home-page "https://snwh.org/moka")
8554 (license (list license:lgpl3+
8555 license:cc-by-sa4.0))))
8556
9987c57c
DT
8557(define-public moka-icon-theme
8558 (package
8b0e4177 8559 (inherit faba-icon-theme)
9987c57c 8560 (name "moka-icon-theme")
105a3625 8561 (version "5.4.0")
8c3f2170
TGR
8562 (source
8563 (origin
8564 (method git-fetch)
8565 (uri (git-reference
b0e7b699 8566 (url "https://github.com/snwh/moka-icon-theme")
8c3f2170
TGR
8567 (commit (string-append "v" version))))
8568 (file-name (git-file-name name version))
8569 (sha256
8570 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
8571 (propagated-inputs
8572 ;; Moka is based on Faba by using it as a fallback icon set instead of
8573 ;; bundling it, so we need to add it as a propagated input.
8574 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
8575 (synopsis "Moka icon theme")
8576 (description "Moka is a stylized desktop icon set, designed to be clear,
8577simple and consistent.")
fedde43b
BT
8578 (license (list license:gpl3+
8579 license:cc-by-sa4.0))))
6fd8f8d6
DT
8580
8581(define-public arc-icon-theme
8582 (package
8583 (name "arc-icon-theme")
c4180240 8584 (version "20161122")
bbf66cbf
TGR
8585 (source
8586 (origin
8587 (method git-fetch)
8588 (uri (git-reference
b0e7b699 8589 (url "https://github.com/horst3180/arc-icon-theme")
bbf66cbf
TGR
8590 (commit version)))
8591 (file-name (git-file-name name version))
8592 (sha256
8593 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 8594 (build-system gnu-build-system)
9e1ede95
JL
8595 (arguments
8596 `(#:phases
8597 (modify-phases %standard-phases
8598 (add-after 'unpack 'disable-configure-during-bootstrap
8599 (lambda _
8600 (substitute* "autogen.sh"
8601 (("^\"\\$srcdir/configure\".*") ""))
8602 #t)))))
6fd8f8d6
DT
8603 (native-inputs
8604 `(("autoconf" ,autoconf)
8605 ("automake" ,automake)))
8606 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
8607 (propagated-inputs
8608 `(("moka-icon-theme" ,moka-icon-theme)))
8609 (synopsis "Arc icon theme")
8610 (description "The Arc icon theme provides a set of icons matching the
8611style of the Arc GTK theme. Icons missing from the Arc theme are provided by
8612the Moka icon theme.")
8613 (home-page "https://github.com/horst3180/arc-icon-theme")
8614 (license license:gpl3+)))
6064a4e8
LF
8615
8616(define-public folks
8617 (package
8618 (name "folks")
fd11f6f3 8619 (version "0.13.1")
6064a4e8
LF
8620 (source (origin
8621 (method url-fetch)
8622 (uri (string-append
e5f4796e 8623 "mirror://gnome/sources/folks/"
6064a4e8 8624 (version-major+minor version) "/"
e5f4796e 8625 "folks-" version ".tar.xz"))
6064a4e8
LF
8626 (sha256
8627 (base32
fd11f6f3
KK
8628 "0pda8sx4ap3lyri5fdrnakl29la1zkhwlc9bmnp13qigp1iwdw9x"))))
8629 (build-system meson-build-system)
8630 (arguments
8631 '(#:phases
8632 (modify-phases %standard-phases
8633 (add-after 'unpack 'skip-gtk-update-icon-cache
8634 ;; Don't create 'icon-theme.cache'.
8635 (lambda _
8636 (substitute* "meson_post_install.py"
8637 (("gtk-update-icon-cache") "true"))
8638 #t)))))
6064a4e8
LF
8639 (inputs
8640 `(("bdb" ,bdb)
8641 ("dbus-glib" ,dbus-glib)
8642 ("evolution-data-server" ,evolution-data-server)
8643 ("glib" ,glib)
8644 ("libgee" ,libgee)
fd11f6f3 8645 ("readline" ,readline)
6064a4e8
LF
8646 ("telepathy-glib" ,telepathy-glib)))
8647 (native-inputs
fd11f6f3
KK
8648 `(("glib:bin" ,glib "bin")
8649 ("gobject-introspection" ,gobject-introspection)
6064a4e8
LF
8650 ("intltool" ,intltool)
8651 ("pkg-config" ,pkg-config)
8652 ("vala" ,vala)))
8653 (synopsis "Library to aggregate data about people")
8654 (description "Libfolks is a library that aggregates information about people
8655from multiple sources (e.g., Telepathy connection managers for IM contacts,
8656Evolution Data Server for local contacts, libsocialweb for web service contacts,
8657etc.) to create metacontacts. It's written in Vala, which generates C code when
8658compiled.")
8659 (home-page "https://wiki.gnome.org/Projects/Folks")
8660 (license license:lgpl2.1+)))
01ea778f
LF
8661
8662(define-public gfbgraph
8663 (package
8664 (name "gfbgraph")
8665 (version "0.2.3")
8666 (source (origin
8667 (method url-fetch)
8668 (uri (string-append
237d4cf7 8669 "mirror://gnome/sources/gfbgraph/"
01ea778f 8670 (version-major+minor version) "/"
237d4cf7 8671 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
8672 (sha256
8673 (base32
8674 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
8675 (build-system glib-or-gtk-build-system)
8676 (arguments
8677 `(#:tests? #f ; Tests appear to require the network.
8678 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
8679 #:configure-flags '("--disable-gtk-doc"
8680 "--disable-static"
8681 "--enable-introspection")))
8682 (native-inputs
8683 `(("pkg-config" ,pkg-config)
8684 ("gobject-introspection" ,gobject-introspection)))
8685 (inputs
8686 `(("json-glib" ,json-glib)
14c297fd 8687 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
8688 ("rest" ,rest)))
8689 (synopsis "GLib/GObject wrapper for the Facebook API")
8690 (description "This library allows you to use the Facebook API from
8691GLib/GObject code.")
8692 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
8693 (license license:lgpl2.1+)))
3920868c 8694
8695(define-public libgnomekbd
8696 (package
8697 (name "libgnomekbd")
70f2b0f9 8698 (version "3.26.1")
3920868c 8699 (source (origin
8700 (method url-fetch)
d47fa82d 8701 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 8702 (version-major+minor version) "/"
d47fa82d 8703 "libgnomekbd-" version ".tar.xz"))
3920868c 8704 (sha256
8705 (base32
70f2b0f9 8706 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 8707 (build-system gnu-build-system)
8708 (native-inputs
8709 `(("pkg-config" ,pkg-config)
8710 ("glib" ,glib "bin")
8711 ("intltool" ,intltool)))
8712 (propagated-inputs
8713 ;; Referred to in .h files and .pc.
8714 `(("glib" ,glib)
8715 ("gtk+" ,gtk+)
8716 ("libxklavier" ,libxklavier)))
8717 (home-page "https://www.gnome.org")
8718 (synopsis "GNOME keyboard configuration library")
8719 (description
8720 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
8721environment, which can notably display keyboard layouts.")
8722 (license license:lgpl2.0+)))
85327d0d 8723
8724;;; This package is no longer maintained:
8725;;; https://wiki.gnome.org/Attic/LibUnique
8726;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
8727;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
8728(define-public libunique
8729 (package
8730 (name "libunique")
8731 (version "3.0.2")
8732 (source (origin
8733 (method url-fetch)
8734 (uri (string-append "mirror://gnome/sources/" name "/"
8735 (version-major+minor version) "/"
8736 name "-" version ".tar.xz"))
8737 (sha256
8738 (base32
8739 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
8740 (build-system glib-or-gtk-build-system)
8741 (arguments
8742 `(#:configure-flags '("--disable-static"
8743 "--disable-dbus" ; use gdbus
8744 "--enable-introspection")))
8745 (native-inputs
8746 `(("pkg-config" ,pkg-config)
8747 ("gobject-introspection" ,gobject-introspection)
8748 ("glib:bin" ,glib "bin")
8749 ("gtk-doc" ,gtk-doc)))
8750 (propagated-inputs
8751 ;; Referred to in .h files and .pc.
8752 `(("gtk+" ,gtk+)))
8753 (home-page "https://wiki.gnome.org/Attic/LibUnique")
8754 (synopsis "Library for writing single instance applications")
8755 (description
8756 "Libunique is a library for writing single instance applications. If you
8757launch a single instance application twice, the second instance will either just
8758quit or will send a message to the running instance. Libunique makes it easy to
8759write this kind of application, by providing a base class, taking care of all
8760the IPC machinery needed to send messages to a running instance, and also
8761handling the startup notification side.")
8762 (license license:lgpl2.1+)))
54021cd8
RS
8763
8764(define-public gnome-calculator
8765 (package
8766 (name "gnome-calculator")
4cb09502 8767 (version "3.34.1")
54021cd8
RS
8768 (source
8769 (origin
8770 (method url-fetch)
8771 (uri (string-append "mirror://gnome/sources/" name "/"
8772 (version-major+minor version) "/"
8773 name "-" version ".tar.xz"))
8774 (sha256
8775 (base32
4cb09502 8776 "0lbh87255zzggqzai6543qg920y52bl4vs5m5h5087ghzg14hlsd"))))
2d475910
RW
8777 (build-system meson-build-system)
8778 (arguments '(#:glib-or-gtk? #t))
54021cd8 8779 (native-inputs
4cb09502
MB
8780 `(("gettext" ,gettext-minimal)
8781 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 8782 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8 8783 ("itstool" ,itstool)
2d475910 8784 ("vala" ,vala)
54021cd8
RS
8785 ("pkg-config" ,pkg-config)))
8786 (inputs
112e9083 8787 `(("glib" ,glib)
07ace641 8788 ("gtksourceview" ,gtksourceview)
4cb09502 8789 ("libgee" ,libgee)
54021cd8 8790 ("libsoup" ,libsoup)
112e9083 8791 ("libxml2" ,libxml2)
2c2da7ec 8792 ("mpc" ,mpc)
54021cd8
RS
8793 ("mpfr" ,mpfr)))
8794 (home-page "https://wiki.gnome.org/Apps/Calculator")
8795 (synopsis "Desktop calculator")
8796 (description
8797 "Calculator is an application that solves mathematical equations and
8798is suitable as a default application in a Desktop environment.")
8799 (license license:gpl3)))
0bd69759
RS
8800
8801(define-public xpad
8802 (package
8803 (name "xpad")
c85626bb 8804 (version "5.1.0")
0bd69759
RS
8805 (source
8806 (origin
8807 (method url-fetch)
08fda9c6
R
8808 (uri (string-append "https://launchpad.net/xpad/trunk/"
8809 version "/+download/"
0bd69759
RS
8810 name "-" version ".tar.bz2"))
8811 (sha256
8812 (base32
c85626bb 8813 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
8814 (build-system gnu-build-system)
8815 (native-inputs
08fda9c6
R
8816 `(("autoconf" ,autoconf)
8817 ("automake" ,automake)
8818 ("gtk+:bin" ,gtk+ "bin")
8819 ("intltool" ,intltool)
0bd69759
RS
8820 ("pkg-config" ,pkg-config)))
8821 (inputs
c72647fb 8822 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
8823 ("libsm" ,libsm)))
8824 (home-page "https://wiki.gnome.org/Apps/Xpad")
8825 (synopsis "Virtual sticky note")
8826 (description
8827 "Xpad is a sticky note that strives to be simple, fault tolerant,
8828and customizable. Xpad consists of independent pad windows, each is
8829basically a text box in which notes can be written.")
8830 (license license:gpl3+)))
3ad7dce1
RS
8831
8832(define-public gucharmap
c60063ea
RW
8833 (let ((unicode-files
8834 '(("Blocks.txt"
1f8b5515 8835 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 8836 ("DerivedAge.txt"
1f8b5515 8837 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 8838 ("NamesList.txt"
1f8b5515 8839 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 8840 ("Scripts.txt"
1f8b5515 8841 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 8842 ("UnicodeData.txt"
1f8b5515 8843 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 8844 ("Unihan.zip"
1f8b5515 8845 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
8846 (package
8847 (name "gucharmap")
1f8b5515 8848 (version "12.0.1")
c60063ea
RW
8849 (source
8850 (origin
8851 (method url-fetch)
8852 (uri (string-append "mirror://gnome/sources/" name "/"
8853 (version-major+minor version) "/"
8854 name "-" version ".tar.xz"))
8855 (sha256
8856 (base32
1f8b5515 8857 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
8858 (build-system glib-or-gtk-build-system)
8859 (arguments
8860 `(#:modules ((ice-9 match)
8861 (guix build glib-or-gtk-build-system)
8862 (guix build utils))
8863 #:configure-flags
8864 (list "--with-unicode-data=../unicode-data")
8865 #:phases
8866 (modify-phases %standard-phases
8867 (add-after 'unpack 'prepare-unicode-data
8868 (lambda* (#:key inputs #:allow-other-keys)
8869 (mkdir-p "../unicode-data")
8870 (with-directory-excursion "../unicode-data"
8871 (for-each (match-lambda
8872 ((file _)
8873 (install-file (assoc-ref inputs file) ".")))
8874 ',unicode-files))
8875 #t)))))
8876 (native-inputs
8877 `(("desktop-file-utils" ,desktop-file-utils)
8878 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
8879 ("gobject-introspection" ,gobject-introspection)
8880 ("intltool" ,intltool)
8881 ("itstool" ,itstool)
8882 ("pkg-config" ,pkg-config)
8883 ,@(map (match-lambda
8884 ((file hash)
8885 `(,file
8886 ,(origin
8887 (method url-fetch)
8888 (uri (string-append
1f8b5515 8889 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
8890 file))
8891 (sha256 (base32 hash))))))
8892 unicode-files)
8893 ("unzip" ,unzip)))
8894 (inputs
8895 `(("gtk+" ,gtk+)
8896 ("xmllint" ,libxml2)))
8897 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
8898 (synopsis "Unicode character picker and font browser")
8899 (description
8900 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
8901characters and categories for the installed fonts, and to examine their
8902detailed properties. It is an easy way to find the character you might
8903only know by its Unicode name or code point.")
c60063ea 8904 (license license:gpl3+))))
04ce840a
RS
8905
8906(define-public bluefish
8907 (package
8908 (name "bluefish")
290fe81d 8909 (version "2.2.11")
04ce840a
RS
8910 (source
8911 (origin
8912 (method url-fetch)
8913 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
99aa7a2d 8914 "bluefish-" version ".tar.gz"))
04ce840a 8915 (sha256
290fe81d 8916 (base32 "0a7kf78q4cj2ap4igjks9kbmmr74brsrl4y2f9wbxpl0b0v2ck2x"))))
04ce840a
RS
8917 (build-system gnu-build-system)
8918 (native-inputs
8919 `(("desktop-file-utils" ,desktop-file-utils)
8920 ("intltool" ,intltool)
8921 ("pkg-config" ,pkg-config)))
8922 (inputs
8923 `(("enchant" ,enchant)
8924 ("gtk+" ,gtk+)
290fe81d 8925 ("python" ,python-wrapper)
04ce840a
RS
8926 ("xmllint" ,libxml2)
8927 ("gucharmap" ,gucharmap)))
8928 (home-page "http://bluefish.openoffice.nl")
8929 (synopsis "Web development studio")
8930 (description
8931 "Bluefish is an editor targeted towards programmers and web developers,
8932with many options to write web sites, scripts and other code.
8933Bluefish supports many programming and markup languages.")
8934 (license license:gpl3+)))
1f6a73ee
RS
8935
8936(define-public gnome-system-monitor
8937 (package
8938 (name "gnome-system-monitor")
083cffaf 8939 (version "3.32.1")
1f6a73ee
RS
8940 (source
8941 (origin
8942 (method url-fetch)
8943 (uri (string-append "mirror://gnome/sources/" name "/"
8944 (version-major+minor version) "/"
8945 name "-" version ".tar.xz"))
8946 (sha256
8947 (base32
083cffaf 8948 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
8949 (build-system meson-build-system)
8950 (arguments
8951 '(#:glib-or-gtk? #t
8952 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
8953 (native-inputs
8954 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 8955 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
8956 ("intltool" ,intltool)
8957 ("itstool" ,itstool)
8958 ("libgtop" ,libgtop)
4985d9aa 8959 ("polkit" ,polkit)
1f6a73ee
RS
8960 ("pkg-config" ,pkg-config)))
8961 (inputs
8962 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
8963 ("gtk+" ,gtk+)
8964 ("gtkmm" ,gtkmm)
8965 ("librsvg" ,librsvg)
4985d9aa
RW
8966 ("libxml2" ,libxml2)
8967 ("libwnck" ,libwnck)))
1f6a73ee
RS
8968 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
8969 (synopsis "Process viewer and system resource monitor for GNOME")
8970 (description
8971 "GNOME System Monitor is a GNOME process viewer and system monitor with
8972an attractive, easy-to-use interface. It has features, such as a tree view
8973for process dependencies, icons for processes, the ability to hide processes,
8974graphical time histories of CPU/memory/swap usage and the ability to
8975kill/reinice processes.")
8976 (license license:gpl2+)))
3e00ac47
SB
8977
8978(define-public python-pyatspi
8979 (package
8980 (name "python-pyatspi")
4f937a32 8981 (version "2.34.0")
3e00ac47
SB
8982 (source (origin
8983 (method url-fetch)
8984 (uri (string-append
8985 "mirror://gnome/sources/pyatspi/"
8986 (version-major+minor version)
8987 "/pyatspi-" version ".tar.xz"))
8988 (sha256
8989 (base32
4f937a32 8990 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 8991 (build-system gnu-build-system)
b95af3f6
JL
8992 (arguments
8993 `(#:phases
8994 (modify-phases %standard-phases
8995 (add-before 'build 'fix-atk-load
8996 (lambda _
8997 (substitute* "pyatspi/__init__.py"
8998 (("from gi.repository import Atspi")
8999 "gi.require_version('Gtk', '3.0')
9000from gi.repository import Gtk
9001from gi.repository import Atspi"))
9002 #t)))))
3e00ac47
SB
9003 (native-inputs
9004 `(("pkg-config" ,pkg-config)))
9005 (inputs
06fe35cf
CB
9006 `(("python" ,python)))
9007 (propagated-inputs
9008 `(("python-pygobject" ,python-pygobject)))
3e00ac47
SB
9009 (synopsis "Python client bindings for D-Bus AT-SPI")
9010 (home-page "https://wiki.linuxfoundation.org/accessibility\
9011/atk/at-spi/at-spi_on_d-bus")
9012 (description
9013 "This package includes a python client library for the AT-SPI D-Bus
9014accessibility infrastructure.")
9015 (license license:lgpl2.0)
9016 (properties '((upstream-name . "pyatspi")))))
53201c0d 9017
5d31933e
CB
9018(define-public python2-pyatspi
9019 (package
9020 (inherit python-pyatspi)
9021 (name "python2-pyatspi")
9022 (inputs
06fe35cf
CB
9023 `(("python" ,python-2)))
9024 (propagated-inputs
9025 `(("python-pygobject" ,python2-pygobject)))))
5d31933e 9026
53201c0d
SB
9027(define-public orca
9028 (package
9029 (name "orca")
30e76da1 9030 (version "3.34.1")
53201c0d
SB
9031 (source (origin
9032 (method url-fetch)
9033 (uri (string-append
9034 "mirror://gnome/sources/" name "/"
9035 (version-major+minor version) "/"
9036 name "-" version ".tar.xz"))
9037 (sha256
9038 (base32
30e76da1 9039 "1q38n7hyshkiszmn361skxjynxr31lcms7a1iny6d0zlpmh1vnk4"))))
53201c0d
SB
9040 (build-system glib-or-gtk-build-system)
9041 (arguments
9042 '(#:phases
9043 (modify-phases %standard-phases
9044 (add-before 'configure 'qualify-xkbcomp
9045 (lambda* (#:key inputs #:allow-other-keys)
9046 (let ((xkbcomp (string-append
9047 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
9048 (substitute* "src/orca/orca.py"
9049 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
9050 #t))
9051 (add-after 'install 'wrap-orca
9052 (lambda* (#:key outputs #:allow-other-keys)
9053 (let* ((out (assoc-ref outputs "out"))
9054 (prog (string-append out "/bin/orca")))
9055 (wrap-program prog
9056 `("GI_TYPELIB_PATH" ":" prefix
9057 (,(getenv "GI_TYPELIB_PATH")))
9058 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
9059 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
9060 `("PYTHONPATH" ":" prefix
9061 (,(getenv "PYTHONPATH")))))
9062 #t)))))
9063 (native-inputs
9064 `(("intltool" ,intltool)
9065 ("itstool" ,itstool)
9066 ("pkg-config" ,pkg-config)
9067 ("xmllint" ,libxml2)))
9068 (inputs
9069 `(("at-spi2-atk" ,at-spi2-atk)
9070 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9071 ("gstreamer" ,gstreamer)
9072 ("gst-plugins-base" ,gst-plugins-base)
9073 ("gst-plugins-good" ,gst-plugins-good)
9074 ("gtk+" ,gtk+)
9075 ("python" ,python)
9076 ("python-pygobject" ,python-pygobject)
9077 ("python-pyatspi" ,python-pyatspi)
9078 ("python-speechd" ,speech-dispatcher)
9079 ("xkbcomp" ,xkbcomp)))
9080 (synopsis
9081 "Screen reader for individuals who are blind or visually impaired")
9082 (home-page "https://wiki.gnome.org/Projects/Orca")
9083 (description
9084 "Orca is a screen reader that provides access to the graphical desktop
9085via speech and refreshable braille. Orca works with applications and toolkits
9086that support the Assistive Technology Service Provider Interface (AT-SPI).")
9087 (license license:lgpl2.1+)))
411ba511
LC
9088
9089(define-public gspell
9090 (package
9091 (name "gspell")
7a6bbe9b 9092 (version "1.8.2")
411ba511
LC
9093 (source (origin
9094 (method url-fetch)
9095 (uri (string-append "mirror://gnome/sources/" name "/"
9096 (version-major+minor version) "/"
9097 name "-" version ".tar.xz"))
9098 (sha256
9099 (base32
7a6bbe9b 9100 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
9101 (patches (search-patches "gspell-dash-test.patch"))))
9102 (build-system glib-or-gtk-build-system)
9103 (arguments
d0f50164 9104 '(#:configure-flags (list "--enable-vala")
9105 #:phases
411ba511
LC
9106 (modify-phases %standard-phases
9107 (add-before 'check 'pre-check
9108 (lambda* (#:key inputs #:allow-other-keys)
9109 ;; Tests require a running X server.
9110 (system "Xvfb :1 &")
9111 (setenv "DISPLAY" ":1")
9112
9113 ;; For the missing /etc/machine-id.
9114 (setenv "DBUS_FATAL_WARNINGS" "0")
9115
9116 ;; Allow Enchant and its Aspell backend to find the en_US
9117 ;; dictionary.
9118 (setenv "ASPELL_DICT_DIR"
9119 (string-append (assoc-ref inputs "aspell-dict-en")
9120 "/lib/aspell"))
9121 #t)))))
9122 (inputs
eccd35be 9123 `(("gtk+" ,gtk+)
a801ae4c
TGR
9124 ("glib" ,glib)
9125 ("iso-codes" ,iso-codes)))
411ba511
LC
9126 (native-inputs
9127 `(("glib" ,glib "bin")
26ba3f07 9128 ("gobject-introspection" ,gobject-introspection)
411ba511 9129 ("pkg-config" ,pkg-config)
d0f50164 9130 ("vala" ,vala) ;for VAPI, needed by Geary
411ba511
LC
9131 ("xmllint" ,libxml2)
9132
9133 ;; For tests.
a801ae4c 9134 ("aspell-dict-en" ,aspell-dict-en)
ff337525 9135 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 9136 (propagated-inputs
9b1bb757 9137 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
9138 (home-page "https://wiki.gnome.org/Projects/gspell")
9139 (synopsis "GNOME's alternative spell checker")
9140 (description
9141 "gspell provides a flexible API to add spell-checking to a GTK+
9142application. It provides a GObject API, spell-checking to text entries and
9143text views, and buttons to choose the language.")
9144 (license license:gpl2+)))
d1d739fa
CM
9145
9146(define-public gnome-planner
9147 (package
9148 (name "gnome-planner")
9149 (version "0.14.6")
9150 (source (origin
9151 (method url-fetch)
9152 (uri (string-append "mirror://gnome/sources/planner/"
9153 (version-major+minor version) "/planner-"
9154 version ".tar.xz"))
9155 (sha256
9156 (base32
9157 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
9158 (build-system glib-or-gtk-build-system)
9159 (arguments
9160 ;; Disable the Python bindings because the Planner program functions
9161 ;; without them, and (as of 2017-06-13) we have not packaged all of
9162 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
9163 `(#:configure-flags
9164 (list "--disable-python"
9165 ,@(if (string=? "aarch64-linux" (%current-system))
9166 '("--build=aarch64-unknown-linux-gnu")
9167 '()))))
d1d739fa
CM
9168 (inputs
9169 `(("libgnomecanvas" ,libgnomecanvas)
9170 ("libgnomeui" ,libgnomeui)
9171 ("libglade" ,libglade)
9172 ("gnome-vfs" ,gnome-vfs)
9173 ("gconf" ,gconf)
9174 ("libxml2" ,libxml2)
9175 ("libxslt" ,libxslt)
9176 ("gtk+" ,gtk+)
9177 ("glib" ,glib)))
9178 (native-inputs
9179 `(("intltool" ,intltool)
9180 ("scrollkeeper" ,scrollkeeper)
9181 ("pkg-config" ,pkg-config)))
9182 (home-page "https://wiki.gnome.org/Apps/Planner")
9183 (synopsis "Project management software for the GNOME desktop")
9184 (description
9185 "GNOME Planner is a project management tool based on the Work Breakdown
9186Structure (WBS). Its goal is to enable you to easily plan projects. Based on
9187the resources, tasks, and constraints that you define, Planner generates
9188various views into a project. For example, Planner can show a Gantt chart of
9189the project. It can show a detailed summary of tasks including their
9190duration, cost, and current progress. It can also show a report of resource
9191utilization that highlights under-utilized and over-utilized resources. These
9192views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 9193 (license license:gpl2+)))
64fce637
RS
9194
9195(define-public lollypop
9196 (package
9197 (name "lollypop")
24b5d8f7 9198 (version "1.2.32")
64fce637
RS
9199 (source
9200 (origin
9201 (method url-fetch)
24b5d8f7 9202 (uri (string-append "https://adishatz.org/lollypop/"
3275d43d 9203 "lollypop-" version ".tar.xz"))
64fce637 9204 (sha256
24b5d8f7 9205 (base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a"))))
aa498fc0 9206 (build-system meson-build-system)
64fce637 9207 (arguments
7a9543d7
TGR
9208 `(#:imported-modules
9209 (,@%meson-build-system-modules
9210 (guix build python-build-system))
9211 #:modules
9212 ((guix build meson-build-system)
9213 ((guix build python-build-system) #:prefix python:)
9214 (guix build utils))
aa498fc0 9215 #:glib-or-gtk? #t
7a9543d7 9216 #:tests? #f ; no test suite
5fc9b6c1
EF
9217 #:phases
9218 (modify-phases %standard-phases
5fc9b6c1
EF
9219 (add-after 'install 'wrap-program
9220 (lambda* (#:key outputs #:allow-other-keys)
9221 (let ((out (assoc-ref outputs "out"))
9222 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
9223 (wrap-program (string-append out "/bin/lollypop")
9224 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
9225 #t))
8ac8b3b3 9226 (add-after 'install 'wrap-python
7a9543d7 9227 (assoc-ref python:%standard-phases 'wrap)))))
64fce637
RS
9228 (native-inputs
9229 `(("intltool" ,intltool)
9230 ("itstool" ,itstool)
aa498fc0
TD
9231 ("glib:bin" ,glib "bin") ; For glib-compile-resources
9232 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
9233 ("pkg-config" ,pkg-config)))
9234 (inputs
9235 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 9236 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 9237 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
9238 ("libnotify" ,libnotify)
9239 ("libsecret" ,libsecret)
9240 ("libsoup" ,libsoup)
9241 ("python" ,python)
9242 ("python-beautifulsoup4" ,python-beautifulsoup4)
9243 ("python-gst" ,python-gst)
d029afdd 9244 ("python-pil" ,python-pillow)
64fce637 9245 ("python-pycairo" ,python-pycairo)
cc9c83c5 9246 ("python-pygobject" ,python-pygobject)
64fce637
RS
9247 ("python-pylast" ,python-pylast)
9248 ("totem-pl-parser" ,totem-pl-parser)
9249 ("webkitgtk" ,webkitgtk)))
9250 (propagated-inputs
9251 `(;; gst-plugins-base is required to start Lollypop,
9252 ;; the others are required to play streaming.
64fce637
RS
9253 ("gst-plugins-good" ,gst-plugins-good)
9254 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 9255 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
9256 (synopsis "GNOME music playing application")
9257 (description
9258 "Lollypop is a music player designed to play well with GNOME desktop.
9259Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
9260from artists and tracks from the web. It also fetches cover artworks
9261automatically and it can stream songs from online music services and charts.")
9262 (license license:gpl3+)))
d831d49d
AW
9263
9264(define-public gnome-video-effects
9265 (package
9266 (name "gnome-video-effects")
9267 (version "0.4.3")
9268 (source (origin
9269 (method url-fetch)
9270 (uri (string-append "mirror://gnome/sources/" name "/"
9271 (version-major+minor version) "/" name "-"
9272 version ".tar.xz"))
9273 (sha256
9274 (base32
9275 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
9276 (build-system glib-or-gtk-build-system)
9277 (arguments
9278 `(#:out-of-source? #f))
9279 (native-inputs
9280 `(("glib:bin" ,glib "bin")
9281 ("intltool" ,intltool)
9282 ("gettext" ,gettext-minimal)
9283 ("pkg-config" ,pkg-config)))
9284 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
9285 (synopsis "Video effects for Cheese and other GNOME applications")
9286 (description
9287 "A collection of GStreamer video filters and effects to be used in
9288photo-booth-like software, such as Cheese.")
9289 (license license:gpl2+)))
3511c780
AW
9290
9291(define-public cheese
9292 (package
9293 (name "cheese")
3a7e066f 9294 (version "3.34.0")
3511c780
AW
9295 (source (origin
9296 (method url-fetch)
9297 (uri (string-append "mirror://gnome/sources/" name "/"
9298 (version-major+minor version) "/" name "-"
9299 version ".tar.xz"))
9300 (sha256
9301 (base32
3a7e066f 9302 "0wvyc9wb0avrprvm529m42y5fkv3lirdphqydc9jw0c8mh05d1ni"))))
3511c780 9303 (arguments
3a7e066f
KK
9304 `(#:glib-or-gtk? #t
9305 ;; Tests require GDK.
9306 #:tests? #f
3511c780
AW
9307 #:phases
9308 (modify-phases %standard-phases
3a7e066f 9309 (add-after 'unpack 'skip-gtk-update-icon-cache
3511c780
AW
9310 (lambda _
9311 ;; Don't create 'icon-theme.cache'
3a7e066f 9312 (substitute* "meson_post_install.py"
3511c780
AW
9313 (("gtk-update-icon-cache") (which "true")))
9314 #t))
9315 (add-after 'install 'wrap-cheese
9316 (lambda* (#:key inputs outputs #:allow-other-keys)
9317 (let ((out (assoc-ref outputs "out"))
9318 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9319 (wrap-program (string-append out "/bin/cheese")
9320 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9321 #t)))))
3a7e066f 9322 (build-system meson-build-system)
3511c780 9323 (native-inputs
3a7e066f
KK
9324 `(("docbook-xsl" ,docbook-xsl)
9325 ("glib:bin" ,glib "bin")
9326 ("gtk-doc" ,gtk-doc)
3511c780
AW
9327 ("intltool" ,intltool)
9328 ("itstool" ,itstool)
9329 ("libxml2" ,libxml2)
3a7e066f 9330 ("libxslt" ,libxslt)
3511c780
AW
9331 ("pkg-config" ,pkg-config)
9332 ("vala" ,vala)))
9333 (propagated-inputs
6a19f03e
RW
9334 `(("gnome-video-effects" ,gnome-video-effects)
9335 ("clutter" ,clutter)
3511c780
AW
9336 ("clutter-gst" ,clutter-gst)
9337 ("clutter-gtk" ,clutter-gtk)
6a19f03e 9338 ("libcanberra" ,libcanberra)
3511c780
AW
9339 ("gdk-pixbuf" ,gdk-pixbuf)
9340 ("glib" ,glib)
6a19f03e
RW
9341 ("gstreamer" ,gstreamer)))
9342 (inputs
9343 `(("gnome-desktop" ,gnome-desktop)
3511c780 9344 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
9345 ("gst-plugins-base" ,gst-plugins-base)
9346 ("gst-plugins-bad" ,gst-plugins-bad)
9347 ("gtk+" ,gtk+)
3511c780
AW
9348 ("libx11" ,libx11)
9349 ("libxtst" ,libxtst)))
9350 (home-page "https://wiki.gnome.org/Apps/Cheese")
9351 (synopsis "Webcam photo booth software for GNOME")
9352 (description
9353 "Cheese uses your webcam to take photos and videos. Cheese can also
9354apply fancy special effects and lets you share the fun with others.")
9355 (license license:gpl2+)))
3c5dbd2b 9356
9357(define-public sound-juicer
9358 (package
9359 (name "sound-juicer")
9360 (version "3.24.0")
9361 (source
9362 (origin
9363 (method url-fetch)
9364 (uri (string-append "mirror://gnome/sources/" name "/"
9365 (version-major+minor version) "/"
9366 name "-" version ".tar.xz"))
9367 (sha256
9368 (base32
9369 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
9370 (build-system glib-or-gtk-build-system)
9371 (native-inputs
9372 `(("desktop-file-utils" ,desktop-file-utils)
9373 ("intltool" ,intltool)
9374 ("itstool" ,itstool)
9375 ("pkg-config" ,pkg-config)
9376 ("xmllint" ,libxml2)))
9377 (inputs
9378 `(("gtk+" ,gtk+)
9379 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9380 ("gstreamer" ,gstreamer)
9381 ("gst-plugins-base" ,gst-plugins-base)
9382 ("gst-plugins-good" ,gst-plugins-good)
9383 ("iso-codes" ,iso-codes)
9384 ("libbrasero-media3" ,brasero)
9385 ("libcanberra" ,libcanberra)
9386 ("libdiscid" ,libdiscid)
9387 ("libmusicbrainz" ,libmusicbrainz)
9388 ("neon" ,neon)))
9389 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
9390 (synopsis "Audio music cd ripper")
9391 (description "Sound Juicer extracts audio from compact discs and convert it
9392into audio files that a personal computer or digital audio player can play.
9393It supports ripping to any audio codec supported by a GStreamer plugin, such as
9394mp3, Ogg Vorbis and FLAC")
9395 (license license:gpl2+)))
4e3fdeb7 9396
0d3f1708
CB
9397(define-public soundconverter
9398 (package
9399 (name "soundconverter")
7f4b45a3 9400 (version "3.0.2")
0d3f1708
CB
9401 (source
9402 (origin
9403 (method url-fetch)
9404 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
9405 version "/+download/"
9406 "soundconverter-" version ".tar.xz"))
9407
9408 (sha256
7f4b45a3 9409 (base32 "1jv8m82hi23ilrgdznlc1jhp2jm8bw1yrw0chh3qw2l0sixvkl11"))))
0d3f1708
CB
9410 (build-system glib-or-gtk-build-system)
9411 (arguments
9412 `(#:imported-modules ((guix build python-build-system)
9413 (guix build glib-or-gtk-build-system)
9414 ,@%gnu-build-system-modules)
9415
9416 #:modules ((guix build glib-or-gtk-build-system)
9417 (guix build utils)
9418 ((guix build gnu-build-system) #:prefix gnu:)
9419 ((guix build python-build-system) #:prefix python:))
9420
9421 #:phases
9422 (modify-phases %standard-phases
0d3f1708
CB
9423 (add-after 'install 'wrap-soundconverter-for-python
9424 (assoc-ref python:%standard-phases 'wrap))
9425 (add-after 'install 'wrap-soundconverter
9426 (lambda* (#:key inputs outputs #:allow-other-keys)
9427 (let ((out (assoc-ref outputs "out"))
9428 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
9429 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
9430 (wrap-program (string-append out "/bin/soundconverter")
9431 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
9432 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
9433 #t)))))
9434 (native-inputs
9435 `(("intltool" ,intltool)
9436 ("pkg-config" ,pkg-config)
9437 ("glib:bin" ,glib "bin")))
9438 (inputs
9439 `(("gtk+" ,gtk+)
9440 ("python" ,python)
9441 ("python-pygobject" ,python-pygobject)
9442 ("gstreamer" ,gstreamer)
9443 ("gst-plugins-base" ,gst-plugins-base)))
e42399e8 9444 (home-page "https://soundconverter.org/")
0d3f1708
CB
9445 (synopsis "Convert between audio formats with a graphical interface")
9446 (description
9447 "SoundConverter supports converting between many audio formats including
9448Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
9449configurable file renaming. ")
9450 (license license:gpl3)))
9451
4e3fdeb7 9452(define-public workrave
89f2d736
TGR
9453 (package
9454 (name "workrave")
52fc6508 9455 (version "1.10.42")
89f2d736
TGR
9456 (source
9457 (origin
9458 (method git-fetch)
9459 (uri (git-reference
b0e7b699 9460 (url "https://github.com/rcaelers/workrave")
c2e50474
TGR
9461 (commit (string-append "v" (string-map
9462 (match-lambda (#\. #\_) (chr chr))
9463 version)))))
89f2d736
TGR
9464 (file-name (git-file-name name version))
9465 (sha256
52fc6508 9466 (base32 "03i9kk8r1wgrfkkbwikx8wxaw4r4kn62vismr2zdq5g34fkkjh95"))))
89f2d736 9467 (build-system glib-or-gtk-build-system)
1b9e1648
TGR
9468 (arguments
9469 ;; The only tests are maintainer tests (in po/), which fail.
9470 `(#:tests? #f))
d1c96847
MC
9471 (inputs `(("glib" ,glib)
9472 ("gtk+" ,gtk+)
9473 ("gdk-pixbuf" ,gdk-pixbuf)
9474 ("gtkmm" ,gtkmm)
9475 ("glibmm" ,glibmm)
9476 ("libx11" ,libx11)
9477 ("libxtst" ,libxtst)
9478 ("dconf" ,dconf)
9479 ("libice" ,libice)
9480 ("libsm" ,libsm)
9481 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 9482 (native-inputs `(("boost" ,boost)
89f2d736 9483 ("pkg-config" ,pkg-config)
f2d97d57 9484 ("gettext" ,gettext-minimal)
89f2d736
TGR
9485 ("autoconf" ,autoconf)
9486 ("autoconf-archive" , autoconf-archive)
9487 ("automake" ,automake)
9488 ("libtool" ,libtool)
9489 ("intltool" ,intltool)
89f2d736 9490 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
9491 ("python3" ,python-3)
9492 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
9493 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
9494 (description
9495 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
9496repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
9497micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
9498 (home-page "http://www.workrave.org")
9499 (license license:gpl3+)))
312afa7d
LC
9500
9501(define-public ghex
9502 (package
9503 (name "ghex")
3748992a 9504 (version "3.18.4")
312afa7d
LC
9505 (source (origin
9506 (method url-fetch)
2fbab848 9507 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 9508 (version-major+minor version) "/"
2fbab848 9509 "ghex-" version ".tar.xz"))
312afa7d
LC
9510 (sha256
9511 (base32
3748992a
KK
9512 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
9513 (build-system meson-build-system)
9514 (arguments
9515 '(#:glib-or-gtk? #t
9516 #:phases
9517 (modify-phases %standard-phases
9518 (add-after 'unpack 'skip-gtk-update-icon-cache
9519 ;; Don't create 'icon-theme.cache'.
9520 (lambda _
9521 (substitute* "meson_post_install.py"
9522 (("gtk-update-icon-cache") (which "true")))
9523 #t)))))
312afa7d
LC
9524 (native-inputs
9525 `(("pkg-config" ,pkg-config)
3748992a 9526 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
9527 ("gnome-common" ,gnome-common)
9528 ("which" ,which)
9529 ("intltool" ,intltool)
9530 ("yelp-tools" ,yelp-tools)
2fbab848 9531 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
9532 (inputs
9533 `(("atk" ,atk)
9534 ("gtk" ,gtk+)))
9535 (synopsis "GNOME hexadecimal editor")
9536 (description "The GHex program can view and edit files in two ways:
9537hexadecimal or ASCII. It is useful for editing binary files in general.")
9538 (home-page "https://wiki.gnome.org/Apps/Ghex")
9539 (license license:gpl2)))
4b2ed6c2
RW
9540
9541(define-public libdazzle
9542 (package
9543 (name "libdazzle")
c94db354 9544 (version "3.34.1")
4b2ed6c2
RW
9545 (source (origin
9546 (method url-fetch)
687b4909 9547 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 9548 (version-major+minor version) "/"
687b4909 9549 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
9550 (sha256
9551 (base32
c94db354 9552 "01cmcrd75b7ns7j2b4p6h7pv68vjhkcl9zbvzzx7pf4vknxir61x"))))
4b2ed6c2
RW
9553 (build-system meson-build-system)
9554 (arguments
9555 `(#:phases
9556 (modify-phases %standard-phases
4b2ed6c2
RW
9557 (add-before 'check 'pre-check
9558 (lambda _
9559 ;; Tests require a running X server.
9560 (system "Xvfb :1 &")
9561 (setenv "DISPLAY" ":1")
9562 #t)))))
9563 (native-inputs
687b4909 9564 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 9565 ("pkg-config" ,pkg-config)
687b4909 9566 ;; For tests.
ff337525 9567 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
9568 (inputs
9569 `(("glib" ,glib)
9570 ("gobject-introspection" ,gobject-introspection)
9571 ("gtk+" ,gtk+)
9572 ("vala" ,vala)))
9573 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
9574 (synopsis "Companion library to GObject and Gtk+")
9575 (description "The libdazzle library is a companion library to GObject and
9576Gtk+. It provides various features that the authors wish were in the
9577underlying library but cannot for various reasons. In most cases, they are
9578wildly out of scope for those libraries. In other cases, they are not quite
9579generic enough to work for everyone.")
9580 (license license:gpl3+)))
7d3bb433
RW
9581
9582(define-public evolution
9583 (package
9584 (name "evolution")
0662fe86 9585 (version "3.34.2")
7d3bb433
RW
9586 (source (origin
9587 (method url-fetch)
9588 (uri (string-append "mirror://gnome/sources/evolution/"
9589 (version-major+minor version) "/"
9590 "evolution-" version ".tar.xz"))
9591 (sha256
9592 (base32
0662fe86 9593 "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c"))))
7d3bb433
RW
9594 (build-system cmake-build-system)
9595 (arguments
5229bea1
KK
9596 `(#:imported-modules (,@%cmake-build-system-modules
9597 (guix build glib-or-gtk-build-system))
9598 #:modules ((guix build cmake-build-system)
9599 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9600 (guix build utils))
9601 #:configure-flags
7d3bb433 9602 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 9603 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 9604 ; in four years and cannot be built.
5229bea1
KK
9605 #:phases
9606 (modify-phases %standard-phases
9607 ;; The build system attempts to install user interface modules to the
9608 ;; output directory of the "evolution-data-server" package. This
9609 ;; change redirects that change.
9610 (add-after 'unpack 'patch-ui-module-dir
9611 (lambda* (#:key outputs #:allow-other-keys)
9612 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
9613 (("\\$\\{edsuimoduledir\\}")
9614 (string-append (assoc-ref outputs "out")
9615 "/lib/evolution-data-server/ui-modules")))
9616 #t))
9617 (add-after 'install 'glib-or-gtk-compile-schemas
9618 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
9619 (add-after 'install 'glib-or-gtk-wrap
9620 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 9621 (native-inputs
ad6e168b 9622 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
9623 ("pkg-config" ,pkg-config)
9624 ("intltool" ,intltool)
9625 ("itstool" ,itstool)))
9626 (inputs
9627 `(("enchant" ,enchant)
9628 ("evolution-data-server" ,evolution-data-server) ; must be the same version
9629 ("gcr" ,gcr)
ad6e168b 9630 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
9631 ("gnome-autoar" ,gnome-autoar)
9632 ("gnome-desktop" ,gnome-desktop)
0662fe86 9633 ("gspell" ,gspell)
7d3bb433
RW
9634 ("highlight" ,highlight)
9635 ("libcanberra" ,libcanberra)
9636 ("libgweather" ,libgweather)
9637 ("libnotify" ,libnotify)
9638 ("libsoup" ,libsoup)
9639 ("nss" ,nss)
9640 ("openldap" ,openldap)
9641 ("webkitgtk" ,webkitgtk)
9642 ("ytnef" ,ytnef)))
9643 (home-page "https://gitlab.gnome.org/GNOME/evolution")
9644 (synopsis "Manage your email, contacts and schedule")
9645 (description "Evolution is a personal information management application
9646that provides integrated mail, calendaring and address book
9647functionality.")
9648 ;; See COPYING for details.
23dbe621 9649 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 9650 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 9651 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
9652
9653(define-public gthumb
9654 (package
9655 (name "gthumb")
8280676b 9656 (version "3.8.2")
169d63f5
AT
9657 (source (origin
9658 (method url-fetch)
9659 (uri (string-append "mirror://gnome/sources/gthumb/"
9660 (version-major+minor version) "/"
9661 "gthumb-" version ".tar.xz"))
9662 (sha256
9663 (base32
8280676b 9664 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
9665 (build-system meson-build-system)
9666 (arguments
9667 `(#:glib-or-gtk? #t
9668 #:configure-flags
9669 ;; Ensure the RUNPATH contains all installed library locations.
9670 (list (string-append "-Dc_link_args=-Wl,-rpath="
9671 (assoc-ref %outputs "out")
9672 "/lib/gthumb/extensions")
9673 (string-append "-Dcpp_link_args=-Wl,-rpath="
9674 (assoc-ref %outputs "out")
9675 "/lib/gthumb/extensions"))))
9676 (native-inputs
9677 `(("pkg-config" ,pkg-config)
9678 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9679 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9680 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9681 ("intltool" ,intltool)
9682 ("itstool" ,itstool)))
9683 (inputs
9684 `(("exiv2" ,exiv2)
9685 ("gtk" ,gtk+)
9686 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9687 ("gstreamer" ,gstreamer)
9688 ("clutter" ,clutter)
9689 ("clutter-gst" ,clutter-gst)
9690 ("clutter-gtk" ,clutter-gtk)
4bd428a7 9691 ("libjpeg" ,libjpeg-turbo)
169d63f5
AT
9692 ("libtiff" ,libtiff)
9693 ("libraw" ,libraw)))
9694 (home-page "https://wiki.gnome.org/Apps/Gthumb")
9695 (synopsis "GNOME image viewer and browser")
9696 (description "GThumb is an image viewer, browser, organizer, editor and
9697advanced image management tool")
9698 (license license:gpl2+)))
08be02be
AT
9699
9700(define-public terminator
9701 (package
9702 (name "terminator")
9703 (version "1.91")
9704 (source (origin
9705 (method url-fetch)
9706 (uri (string-append "https://launchpad.net/" name "/"
9707 "gtk3/" version "/" "+download/"
9708 name "-" version ".tar.gz"))
9709 (sha256
9710 (base32
9711 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
9712 (build-system python-build-system)
9713 (native-inputs
9714 `(("intltool" ,intltool)
9715 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9716 ("gettext" ,gettext-minimal)
9717 ("pkg-config" ,pkg-config)))
9718 (inputs
9719 `(("cairo" ,cairo)
9720 ("gobject-introspection" ,gobject-introspection)
96681d4b 9721 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
9722 ("python2-pycairo" ,python2-pycairo)
9723 ("python2-pygobject" ,python2-pygobject)
9724 ("python2-psutil" ,python2-psutil)
9725 ("vte" ,vte)))
9726 (arguments
96681d4b
TGR
9727 `(#:python ,python-2 ; Python 3 isn't supported
9728 #:imported-modules ((guix build glib-or-gtk-build-system)
9729 ,@%python-build-system-modules)
9730 #:modules ((guix build python-build-system)
9731 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9732 (guix build utils))
08be02be
AT
9733 #:phases
9734 (modify-phases %standard-phases
9735 (add-after
9736 'install 'wrap-program
9737 (lambda* (#:key outputs #:allow-other-keys)
9738 (let ((prog (string-append (assoc-ref outputs "out")
9739 "/bin/terminator")))
9740 (wrap-program prog
9741 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
9742 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
9743 #t)))
9744 (add-after 'wrap-program 'glib-or-gtk-wrap
9745 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
9746 (home-page "https://gnometerminator.blogspot.com/")
9747 (synopsis "Store and run multiple GNOME terminals in one window")
9748 (description
9749 "Terminator allows you to run multiple GNOME terminals in a grid and
9750+tabs, and it supports drag and drop re-ordering of terminals.")
9751 (license license:gpl2)))
213315d4
JF
9752
9753(define-public libhandy
9754 (package
9755 (name "libhandy")
f6501b9f 9756 (version "0.0.12")
213315d4
JF
9757 (source
9758 (origin
9759 (method git-fetch)
9760 (uri (git-reference
9761 (url "https://source.puri.sm/Librem5/libhandy")
9762 (commit (string-append "v" version))))
9763 (file-name (git-file-name name version))
9764 (sha256
f6501b9f 9765 (base32 "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw"))))
213315d4
JF
9766 (build-system meson-build-system)
9767 (arguments
9768 `(#:configure-flags
9769 '("-Dglade_catalog=disabled"
9770 "-Dgtk_doc=true")
9771 #:phases
9772 (modify-phases %standard-phases
213315d4
JF
9773 (add-before 'check 'pre-check
9774 (lambda _
9775 ;; Tests require a running X server.
9776 (system "Xvfb :1 &")
9777 (setenv "DISPLAY" ":1")
9778 #t)))))
9779 (inputs
9780 `(("gtk+" ,gtk+)))
9781 (native-inputs
9782 `(("glib:bin" ,glib "bin")
9783 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
9784 ("vala" ,vala)
9785 ("gtk-doc" ,gtk-doc)
9786 ("pkg-config" ,pkg-config)
9787 ("gettext" ,gettext-minimal)
d41ee146
TGR
9788
9789 ;; Test suite dependencies.
ff337525 9790 ("xorg-server" ,xorg-server-for-tests)
d41ee146 9791 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
9792 (home-page "https://source.puri.sm/Librem5/libhandy")
9793 (synopsis "Library full of GTK+ widgets for mobile phones")
9794 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
9795interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
9796for usage on small and big screens.")
213315d4 9797 (license license:lgpl2.1+)))
a830d14d
GL
9798
9799(define-public libgit2-glib
9800 (package
9801 (name "libgit2-glib")
6448c2e1 9802 (version "0.99.0.1")
a830d14d
GL
9803 (source (origin
9804 (method url-fetch)
9805 (uri (string-append "mirror://gnome/sources/" name "/"
9806 (version-major+minor version) "/"
9807 name "-" version ".tar.xz"))
9808 (sha256
9809 (base32
6448c2e1 9810 "1pmrcnsa7qdda73c3dxf47733mwprmj5ljpw3acxbj6r8k27anp0"))))
a830d14d
GL
9811 (build-system meson-build-system)
9812 (native-inputs
9813 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
9814 ("gobject-introspection" ,gobject-introspection)
a830d14d
GL
9815 ("pkg-config" ,pkg-config)
9816 ("python-pygobject" ,python-pygobject)
9817 ("python-wrapper" ,python-wrapper)
9818 ("vala" ,vala)))
9819 (inputs
9820 `(("glib" ,glib)
8c6aae46
MB
9821 ("libssh2" ,libssh2)))
9822 (propagated-inputs
9823 `(;; In Requires of libgit2-glib.pc.
a830d14d
GL
9824 ("libgit2" ,libgit2)))
9825 (synopsis "GLib wrapper around the libgit2 Git access library")
9826 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
9827access library. It only implements the core plumbing functions, not really the
9828higher level porcelain stuff.")
9829 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
9830 (license license:gpl2+)))
93beace0 9831
08db81c9
LP
9832(define-public gitg
9833 (package
9834 (name "gitg")
9835 (version "3.32.1")
9836 (source (origin
9837 (method url-fetch)
9838 (uri (string-append "mirror://gnome/sources/" name "/"
9839 (version-major+minor version) "/"
9840 name "-" version ".tar.xz"))
9841 (sha256
9842 (base32
9843 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
9844 (build-system meson-build-system)
9845 (arguments
9846 `(#:glib-or-gtk? #t
9847 #:phases
9848 (modify-phases %standard-phases
9849 (add-after 'unpack 'disable-post-install-partially
9850 (lambda _
9851 (substitute* "meson_post_install.py"
9852 (("'python'") ; there are no python sources to compile
9853 (string-append "'" (which "true") "'"))
9854 (("gtk-update-icon-cache") (which "true")))
9855 #t))
9856 (add-after 'unpack 'fix-test-sources
9857 (lambda _
9858 (substitute* "tests/libgitg/test-commit.vala"
9859 (("/bin/bash") (which "bash")))
9860 #t))
9861 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9862 (lambda* (#:key outputs #:allow-other-keys)
9863 (let ((prog (string-append (assoc-ref outputs "out")
9864 "/bin/gitg")))
9865 (wrap-program prog
9866 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9867 #t))))))
9868 (inputs
9869 `(("glib" ,glib)
9870 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9871 ("gtk+" ,gtk+)
9872 ("gtkspell3" ,gtkspell3)
9873 ("gtksourceview" ,gtksourceview-3)
9874 ("json-glib" ,json-glib)
9875 ("libdazzle" ,libdazzle)
9876 ("libgee" ,libgee)
08db81c9
LP
9877 ("libgit2-glib" ,libgit2-glib)
9878 ("libpeas" ,libpeas)
9879 ("libsecret" ,libsecret)
9880 ("libsoup" ,libsoup)
9881 ("libxml2" ,libxml2)))
9882 (native-inputs
9883 `(("glib:bin" ,glib "bin")
9884 ("gtk+:bin" ,gtk+ "bin")
9885 ("gobject-introspection" ,gobject-introspection)
9886 ("intltool" ,intltool)
9887 ("pkg-config" ,pkg-config)
9888 ("vala" ,vala)))
9889 (synopsis "Graphical user interface for git")
9890 (description
9891 "gitg is a graphical user interface for git. It aims at being a small,
9892fast and convenient tool to visualize the history of git repositories.
9893Besides visualization, gitg also provides several utilities to manage your
9894repository and commit your work.")
9895 (home-page "https://wiki.gnome.org/Apps/Gitg")
9896 (license license:gpl2+)))
9897
1e600ed0
RW
9898(define-public gamin
9899 (package
9900 (name "gamin")
9901 (version "0.1.10")
9902 (source (origin
9903 (method url-fetch)
9904 (uri (string-append "mirror://gnome/sources/" name "/"
9905 (version-major+minor version) "/"
9906 name "-" version ".tar.bz2"))
9907 (sha256
9908 (base32
9909 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
9910 (build-system gnu-build-system)
9911 (arguments
9912 `(#:phases
9913 (modify-phases %standard-phases
9914 (add-after 'unpack 'remove-deprecated-macro
9915 (lambda _
9916 (substitute* '("server/gam_node.c"
9917 "server/gam_subscription.h"
9918 "server/gam_node.h"
9919 "server/gam_subscription.c")
9920 (("G_CONST_RETURN") "const"))
9921 #t)))))
9922 (inputs
9923 `(("glib" ,glib)))
9924 (native-inputs
9925 `(("intltool" ,intltool)
9926 ("pkg-config" ,pkg-config)))
9927 (home-page "https://people.gnome.org/~veillard/gamin/")
9928 (synopsis "File alteration monitor")
9929 (description
9930 "Gamin is a file and directory monitoring system defined to be a subset
9931of the FAM (File Alteration Monitor) system. This is a service provided by a
bddd877f 9932library which detects when a file or a directory has been modified.")
1e600ed0
RW
9933 (license license:gpl2+)))
9934
93beace0
DW
9935(define-public gnome-mahjongg
9936 (package
9937 (name "gnome-mahjongg")
9938 (version "3.35.1")
9939 (source (origin
9940 (method git-fetch)
9941 (uri (git-reference
9942 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
9943 (commit version)))
9944 (file-name (git-file-name name version))
9945 (sha256
9946 (base32
9947 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
9948 (build-system meson-build-system)
9949 (arguments
9950 `(#:glib-or-gtk? #t))
9951 (native-inputs
9952 `(("appstream-glib" ,appstream-glib)
9953 ("gettext" ,gettext-minimal)
9954 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
9955 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
9956 ("itstool" ,itstool)
9957 ("pkg-config" ,pkg-config)
9958 ("vala" ,vala)))
9959 (propagated-inputs
9960 `(("dconf" ,dconf)))
9961 (inputs
9962 `(("glib" ,glib)
9963 ("gtk+" ,gtk+)
9964 ("librsvg" ,librsvg)))
9965 (synopsis "Mahjongg tile-matching game")
9966 (description "GNOME Mahjongg is a game based on the classic Chinese
9967tile-matching game Mahjong. It features multiple board layouts, tile themes,
9968and a high score table.")
9969 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
9970 (license license:gpl2+)))
f825476c 9971
76ea7632
RG
9972(define-public gnome-themes-extra
9973 (package
9974 (name "gnome-themes-extra")
9975 (version "3.28")
9976 (source
9977 (origin
9978 (method url-fetch)
9979 (uri (string-append "mirror://gnome/sources/" name "/"
9980 (version-major+minor version) "/" name "-"
9981 version ".tar.xz"))
9982 (sha256
9983 (base32
9984 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
9985 (build-system gnu-build-system)
885424bf
RG
9986 (arguments
9987 '(#:configure-flags
9988 ;; Don't create 'icon-theme.cache'.
9989 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
9990 (true (string-append coreutils "/bin/true")))
9991 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
9992 (native-inputs
9993 `(("glib:bin" ,glib "bin")
9994 ("intltool" ,intltool)
9995 ("pkg-config" ,pkg-config)))
9996 (inputs
9997 `(("glib" ,glib)
9998 ("gtk+" ,gtk+)
9999 ("gtk+-2" ,gtk+-2)
10000 ("librsvg" ,librsvg)
10001 ("libxml2" ,libxml2)))
10002 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
10003 (synopsis "GNOME Extra Themes")
10004 (description "This package provides themes and related elements that don't
10005really fit in other upstream packages. It offers legacy support for GTK+ 2
10006versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
10007index files needed for Adwaita to be used outside of GNOME.")
10008 (license license:lgpl2.1+)))
10009
f825476c
LP
10010(define-public polari
10011 (package
10012 (name "polari")
10013 (version "3.32.2")
10014 (source (origin
10015 (method url-fetch)
10016 (uri (string-append "mirror://gnome/sources/polari/"
10017 (version-major+minor version)
10018 "/polari-" version ".tar.xz"))
10019 (sha256
10020 (base32
10021 "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"))))
10022 (build-system meson-build-system)
10023 (arguments
10024 `(#:glib-or-gtk? #t
10025 #:phases
10026 (modify-phases %standard-phases
10027 (add-after 'unpack 'skip-gtk-update-icon-cache
10028 (lambda _
10029 (substitute* "meson/meson-postinstall.sh"
10030 (("gtk-update-icon-cache") (which "true")))
10031 #t))
10032 (add-after 'glib-or-gtk-wrap 'wrap-typelib
10033 (lambda* (#:key outputs #:allow-other-keys)
10034 (let ((prog (string-append (assoc-ref outputs "out")
10035 "/bin/polari")))
10036 (wrap-program prog
10037 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
10038 #t))))))
10039 (inputs
10040 `(("glib" ,glib)
10041 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10042 ("gspell" ,gspell)
10043 ("gtk+" ,gtk+)
10044 ("gjs" ,gjs)
10045 ("libsecret" ,libsecret)
10046 ("libsoup" ,libsoup)
10047 ("telepathy-glib" ,telepathy-glib)
10048 ("telepathy-logger" ,telepathy-logger)))
10049 (native-inputs
10050 `(("glib:bin" ,glib "bin")
10051 ("gobject-introspection" ,gobject-introspection)
10052 ("intltool" ,intltool)
10053 ("pkg-config" ,pkg-config)
10054 ("yelp-tools" ,yelp-tools)))
10055 (propagated-inputs
10056 `(("telepathy-idle" ,telepathy-idle)
10057 ("telepathy-mission-control" ,telepathy-mission-control)))
10058 (synopsis "Simple IRC Client")
10059 (description
10060 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
10061integrate seamlessly with the GNOME desktop.")
10062 (home-page "https://wiki.gnome.org/Apps/Polari")
10063 (license license:gpl2+)))
59d4c8c2
PN
10064
10065(define-public gnome-boxes
10066 (package
10067 (name "gnome-boxes")
69300c0d 10068 (version "3.36.5")
59d4c8c2
PN
10069 (source
10070 (origin
10071 (method url-fetch)
10072 (uri (string-append "mirror://gnome/sources/gnome-boxes/"
10073 (version-major+minor version) "/"
10074 "gnome-boxes-" version ".tar.xz"))
10075 (sha256
69300c0d 10076 (base32 "1khvyhgd3p41fvvknga1hdl0p1ks4kj4cwsiaw28v1sy6nzclm2c"))))
59d4c8c2
PN
10077 (build-system meson-build-system)
10078 (arguments
10079 '(#:glib-or-gtk? #t
10080 #:configure-flags (list "-Drdp=false"
10081 (string-append "-Dc_link_args=-Wl,-rpath="
10082 (assoc-ref %outputs "out")
10083 "/lib/gnome-boxes"))))
10084 (native-inputs
10085 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
10086 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
10087 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
10088 ("itstool" ,itstool)
10089 ("intltool" ,intltool)
10090 ("vala" ,vala)
10091 ("pkg-config" ,pkg-config)))
10092 (inputs
10093 `(("libarchive" ,libarchive)
f0d7897e
MC
10094 ("glib-networking" ,glib-networking) ;for TLS support
10095 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
59d4c8c2
PN
10096 ("gtk" ,gtk+)
10097 ("gtk-vnc" ,gtk-vnc)
10098 ("libosinfo" ,libosinfo)
10099 ("libsecret" ,libsecret)
10100 ("libsoup" ,libsoup)
10101 ("libusb" ,libusb)
10102 ("libvirt" ,libvirt)
10103 ("libvirt-glib" ,libvirt-glib)
10104 ("libxml" ,libxml2)
10105 ("spice-gtk" ,spice-gtk)
10106 ("sparql-query" ,sparql-query)
10107 ("vte" ,vte)
10108 ("webkitgtk" ,webkitgtk)
10109 ("tracker" ,tracker)
10110 ("libgudev" ,libgudev)))
10111 (home-page "https://wiki.gnome.org/Apps/Boxes")
10112 (synopsis "View, access, and manage remote and virtual systems")
10113 (description "GNOME Boxes is a simple application to view, access, and
f0d7897e
MC
10114manage remote and virtual systems. Note that this application requires the
10115@code{libvirt} and @code{virtlog} daemons to run. Use the command
10116@command{info '(guix) Virtualization Services'} to learn how to configure
10117these services on the Guix System.")
59d4c8c2
PN
10118 (license (list
10119 ;; For data/icons/empty-boxes.png.
10120 license:cc-by2.0
10121 ;; For all others.
10122 license:lgpl2.0+))))
0e26c3cf 10123
10124(define-public geary
10125 (package
10126 (name "geary")
10127 (version "3.34.1")
10128 (source (origin
10129 (method git-fetch)
10130 (uri (git-reference
10131 (url "https://gitlab.gnome.org/GNOME/geary")
10132 (commit version)))
10133 (file-name (git-file-name name version))
10134 (sha256
10135 (base32
10136 "01cc921kyh3zxz07biqbdzkjgmdcc36kwjyajm4y382a75cl5zg7"))))
10137 (build-system meson-build-system)
10138 (arguments
10139 `(#:glib-or-gtk? #t
10140 #:phases (modify-phases %standard-phases
10141 (add-after 'unpack 'disable-failing-tests
10142 (lambda _
10143 (substitute* "test/meson.build"
10144 (("test\\('client-tests', geary_test_client_bin\\)")
10145 ""))
10146 #t))
10147 (add-after 'unpack 'disable-postinstall-script
10148 (lambda _
10149 (substitute* "meson.build"
10150 (("meson.add_install_script\\(\
10151join_paths\\('build-aux', 'post_install.py'\\)\\)")
10152 ""))
10153 #t))
10154 (add-before 'check 'setup-xvfb
10155 (lambda _
10156 (system "Xvfb :1 &")
10157 (setenv "DISPLAY" ":1")
10158 #t)))))
10159 (inputs
10160 `(("enchant" ,enchant)
10161 ("folks" ,folks)
10162 ("gcr" ,gcr)
10163 ("glib" ,glib)
10164 ("gmime" ,gmime-2.6)
10165 ("gnome-online-accounts:lib"
10166 ,gnome-online-accounts "lib")
10167 ("gspell" ,gspell)
10168 ("gtk+" ,gtk+)
10169 ("iso-codes" ,iso-codes)
10170 ("json-glib" ,json-glib)
10171 ("libcanberra" ,libcanberra)
10172 ("libgee" ,libgee)
10173 ("libhandy" ,libhandy)
10174 ("libpeas" ,libpeas)
10175 ("libsecret" ,libsecret)
10176 ("libunwind" ,libunwind)
10177 ("sqlite" ,sqlite)
10178 ("webkitgtk" ,webkitgtk)
10179 ("ytnef" ,ytnef)))
10180 (native-inputs
10181 `(("appstream-glib" ,appstream-glib)
10182 ("cmake-minimal" ,cmake-minimal)
10183 ("desktop-file-utils" ,desktop-file-utils)
f2d97d57 10184 ("gettext" ,gettext-minimal)
0e26c3cf 10185 ("glib:bin" ,glib "bin")
10186 ("gobject-introspection" ,gobject-introspection)
10187 ("itstool" ,itstool)
10188 ("libarchive" ,libarchive)
10189 ("libxml2" ,libxml2)
10190 ("pkg-config" ,pkg-config)
10191 ("vala" ,vala)
10192 ("xvfb" ,xorg-server-for-tests)))
10193 (synopsis "GNOME email application built around conversations")
10194 (description
10195 "Geary collects related messages together into conversations,
10196making it easy to find and follow your discussions. Full-text and keyword
10197search makes it easy to find the email you are looking for. Geary's
10198full-featured composer lets you send rich, styled text with images, links, and
10199lists, but also send lightweight, easy to read text messages. Geary
10200automatically picks up your existing GNOME Online Accounts, and adding more is
10201easy. Geary has a clean, fast, modern interface that works like you want it
10202to.")
10203 (home-page "https://wiki.gnome.org/Apps/Geary")
10204 (license (list
10205 ;; geary
10206 license:lgpl2.1+
10207 ;; icons
10208 license:cc-by3.0
10209 license:cc-by-sa3.0
10210 license:public-domain
10211 ;; snowball
10212 license:bsd-2))))
1a17d21b 10213
21051eb7
VM
10214(define-public glabels
10215 (package
10216 (name "glabels")
10217 (version "3.4.1")
10218 (source
10219 (origin
10220 (method url-fetch)
10221 (uri (string-append "mirror://gnome/sources/" name "/"
10222 (version-major+minor version) "/"
10223 "glabels-" version ".tar.xz"))
10224 (sha256
10225 (base32 "0f2rki8i27pkd9r0gz03cdl1g4vnmvp0j49nhxqn275vi8lmgr0q"))))
10226 (build-system glib-or-gtk-build-system)
10227 (native-inputs
10228 `(("gettext" ,gettext-minimal)
10229 ("glib:bin" ,glib "bin")
10230 ("intltool" ,intltool)
10231 ("itstool" ,itstool)
10232 ("pkg-config" ,pkg-config)))
10233 (inputs
10234 `(("gtk+" ,gtk+)
10235 ("librsvg" ,librsvg)
10236 ("libxml2" ,libxml2)))
10237 (home-page "https://glabels.org/")
10238 (synopsis "Program for creating labels and business cards")
10239 (description
10240 "gLabels is a program for creating labels and business cards. It is
10241designed to work with various laser/ink-jet peel-off label and business
10242card sheets that you’ll find at most office supply stores.")
10243 (license license:gpl3+)))
10244
2cd1de32
BT
10245(define-public libratbag
10246 (package
10247 (name "libratbag")
10248 (version "0.13")
10249 (source
10250 (origin
10251 (method git-fetch)
10252 (uri (git-reference
b0e7b699 10253 (url "https://github.com/libratbag/libratbag")
2cd1de32
BT
10254 (commit (string-append "v" version))))
10255 (file-name (git-file-name name version))
10256 (sha256
10257 (base32 "18y8mfr63d91278m1kcid0wvrxa1sgjs8na9af1ks2n28ssvciwq"))))
10258 (build-system meson-build-system)
10259 (arguments
10260 `(#:configure-flags
10261 (list "-Dsystemd=false"
10262 "-Dlogind-provider=elogind")
10263 #:phases
10264 (modify-phases %standard-phases
10265 (add-after 'install 'wrap
10266 (lambda* (#:key inputs outputs #:allow-other-keys)
10267 (let* ((out (assoc-ref outputs "out"))
10268 (site (string-append
10269 "/lib/python"
10270 ,(version-major+minor (package-version python))
10271 "/site-packages"))
10272 (evdev (string-append
10273 (assoc-ref inputs "python-evdev") site))
10274 (pygo (string-append
10275 (assoc-ref inputs "python-pygobject") site))
10276 (python-wrap
10277 `("PYTHONPATH" = (,evdev ,pygo))))
10278 (wrap-program (string-append out "/bin/" "ratbagctl")
10279 python-wrap)
10280 #t))))))
10281 (native-inputs
10282 `(("check" ,check)
10283 ("pkg-config" ,pkg-config)
10284 ("swig" ,swig)
10285 ("valgrind" ,valgrind)))
10286 (inputs
10287 `(("glib" ,glib)
10288 ("json-glib" ,json-glib)
10289 ("libevdev" ,libevdev)
10290 ("libsystemd" ,elogind)
10291 ("libunistring" ,libunistring)
10292 ("python-evdev" ,python-evdev)
10293 ("python-pygobject" ,python-pygobject)
10294 ("udev" ,eudev)))
10295 (home-page "https://github.com/libratbag/libratbag")
10296 (synopsis "DBus daemon and utility for configuring gaming mice")
10297 (description "libratbag provides @command{ratbagd}, a DBus daemon to
10298configure input devices, mainly gaming mice. The daemon provides a generic
10299way to access the various features exposed by these mice and abstracts away
10300hardware-specific and kernel-specific quirks. There is also the
10301@command{ratbagctl} command line interface for configuring devices.
10302
10303libratbag currently supports devices from Logitech, Etekcity, GSkill, Roccat,
10304Steelseries.
10305
10306The ratbagd DBus service can be enabled by adding the following service to
10307your operating-system definition:
10308
10309 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
10310 (license license:expat)))
10311
50d31a40
BT
10312(define-public piper
10313 (package
10314 (name "piper")
73014984 10315 (version "0.5")
50d31a40
BT
10316 (source
10317 (origin
10318 (method git-fetch)
10319 (uri (git-reference
b0e7b699 10320 (url "https://github.com/libratbag/piper")
50d31a40
BT
10321 (commit version)))
10322 (sha256
81af0de9
TGR
10323 (base32 "00vrcsbsv2477l1ncpyzc61lhxgac84dsgr3sjs8qxw3nh1gaasv"))
10324 (file-name (git-file-name name version))))
50d31a40
BT
10325 (build-system meson-build-system)
10326 (native-inputs
10327 `(("gettext" ,gettext-minimal)
10328 ("glib:bin" ,glib "bin")
10329 ("gobject-introspection" ,gobject-introspection)
10330 ("pkg-config" ,pkg-config)
10331 ("python-flake8" ,python-flake8)))
10332 (inputs
10333 `(("adwaita-icon-theme" ,adwaita-icon-theme)
10334 ("gtk" ,gtk+)
10335 ("gtk:bin" ,gtk+ "bin")
10336 ("librsvg" ,librsvg)
10337 ("python-evdev" ,python-evdev)
10338 ("python-lxml" ,python-lxml)
10339 ("python-pycairo" ,python-pycairo)
10340 ("python-pygobject" ,python-pygobject)))
10341 (arguments
10342 `(#:imported-modules ((guix build python-build-system)
10343 ,@%meson-build-system-modules)
10344 #:modules (((guix build python-build-system) #:prefix python:)
10345 (guix build meson-build-system)
10346 (guix build utils))
10347 #:phases
10348 (modify-phases %standard-phases
10349 (add-after 'unpack 'dont-update-gtk-icon-cache
10350 (lambda _
10351 (substitute* "meson.build"
10352 (("meson.add_install_script('meson_install.sh')") ""))
10353 #t))
10354 ;; TODO: Switch to wrap-script when it is fixed.
10355 (add-after 'install 'wrap-python
10356 (assoc-ref python:%standard-phases 'wrap))
10357 (add-after 'wrap-python 'wrap
10358 (lambda* (#:key outputs #:allow-other-keys)
10359 (wrap-program
10360 (string-append (assoc-ref outputs "out" )"/bin/piper")
10361 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
10362 #t)))))
10363 (home-page "https://github.com/libratbag/piper/")
10364 (synopsis "Configure bindings and LEDs on gaming mice")
10365 (description "Piper is a GTK+ application for configuring gaming mice with
10366onboard configuration for key bindings via libratbag. Piper requires
10367a @command{ratbagd} daemon running with root privileges. It can be run
10368manually as root, but is preferably configured as a DBus service that can
10369launch on demand. This can be configured by enabling the following service,
10370provided there is a DBus service present:
10371
10372 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
10373 (license license:gpl2)))
10374
1a17d21b
NG
10375(define-public parlatype
10376 ;; This is one commit away from 2.0, because the latter introduced
10377 ;; a regression in ASR.
10378 (let ((commit "7d22ead13ef7578f99d24146663cc1bdb7d8c2a9")
10379 (revision "0"))
10380 (package
10381 (name "parlatype")
10382 (version (git-version "2.0" revision commit))
10383 (source
10384 (origin
10385 (method git-fetch)
10386 (uri (git-reference
b0e7b699 10387 (url "https://github.com/gkarsay/parlatype")
1a17d21b
NG
10388 (commit commit)))
10389 (file-name (git-file-name name version))
10390 (sha256
10391 (base32 "0r3k3qczbzi7bs5s1rddhpsnadyr805df40bqkx0srlxgh5mfghf"))))
10392 (build-system meson-build-system)
10393 (arguments
10394 `(#:glib-or-gtk? #t
10395 #:tests? #f ;require internet access
10396 #:phases
10397 (modify-phases %standard-phases
10398 (add-after 'install 'wrap-parlatype
10399 ;; Add gstreamer plugin provided in this package to system's
10400 ;; plugins.
10401 (lambda* (#:key outputs #:allow-other-keys)
10402 (let* ((out (assoc-ref outputs "out"))
10403 (gst-plugin-path (string-append
10404 out "/lib/gstreamer-1.0/"
10405 ":"
10406 (getenv "GST_PLUGIN_SYSTEM_PATH"))))
10407 (wrap-program (string-append out "/bin/parlatype")
10408 `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path))))
10409 #t)))))
10410 (native-inputs
10411 `(("appstream-glib" ,appstream-glib)
10412 ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
10413 ("gettext" ,gettext-minimal)
10414 ("glib" ,glib "bin") ;for glib-compile-resources
10415 ("pkg-config" ,pkg-config)
10416 ("yelp-tools" ,yelp-tools)))
10417 (inputs
10418 `(("gst-plugins-base" ,gst-plugins-base)
10419 ("gst-plugins-good" ,gst-plugins-good)
10420 ("gstreamer" ,gstreamer)
10421 ("gtk+" ,gtk+)
10422 ("pocketsphinx" ,pocketsphinx)
10423 ("pulseaudio" ,pulseaudio)
10424 ("sphinxbase" ,sphinxbase)))
10425 (home-page "http://gkarsay.github.io/parlatype/")
10426 (synopsis "GNOME audio player for transcription")
10427 (description "Parlatype is an audio player for the GNOME desktop
10428environment. Its main purpose is the manual transcription of spoken
10429audio files.")
10430 (license license:gpl3+))))
95856a6e
AT
10431
10432(define-public jsonrpc-glib
10433 (package
10434 (name "jsonrpc-glib")
10435 (version "3.34.0")
10436 (source (origin
10437 (method url-fetch)
10438 (uri (string-append "mirror://gnome/sources/" name "/"
10439 (version-major+minor version) "/"
10440 name "-" version ".tar.xz"))
10441 (sha256
10442 (base32
10443 "0j05x4xv2cp3cbmp30m68z8g4rdw7b030ip4wszyfj9ya15v5kni"))))
10444 (build-system meson-build-system)
10445 (inputs
10446 `(("json-glib" ,json-glib)
10447 ("glib" ,glib)))
10448 (native-inputs
10449 `(("pkg-config" ,pkg-config)
10450 ("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
10451 ("gobject-introspection" ,gobject-introspection)
10452 ("vala" ,vala)))
10453 (home-page "https://gitlab.gnome.org/GNOME/jsonrpc-glib")
10454 (synopsis "JSON-RPC library for GLib")
10455 (description "Jsonrpc-GLib is a library to communicate with JSON-RPC based
10456peers in either a synchronous or asynchronous fashion. It also allows
10457communicating using the GVariant serialization format instead of JSON when
10458both peers support it. You might want that when communicating on a single
10459host to avoid parser overhead and memory-allocator fragmentation.")
10460 (license license:lgpl2.1+)))
0faed399
JB
10461
10462(define-public feedbackd
10463 (package
10464 (name "feedbackd")
10465 (version "0.0.0+git20200527")
10466 (source (origin
10467 (method git-fetch)
10468 (uri (git-reference
10469 (url "https://source.puri.sm/Librem5/feedbackd.git")
10470 (commit (string-append "v" version))))
10471 (file-name (git-file-name name version))
10472 (sha256
10473 (base32
10474 "1wbkzxnqjydfgjvp7vz4ghczcz740zcb1yn90cb6gb5md4n6qx2y"))))
10475 (build-system meson-build-system)
10476 (native-inputs
10477 `(("glib:bin" ,glib "bin")
10478 ("gobject-introspection" ,gobject-introspection)
10479 ("pkg-config" ,pkg-config)
10480 ("vala" ,vala)))
10481 (inputs
10482 `(("dbus" ,dbus)
10483 ("gsound" ,gsound)
10484 ("json-glib" ,json-glib)
10485 ("libgudev" ,libgudev)))
10486 (propagated-inputs
10487 `(("glib" ,glib))) ; in Requires of libfeedback-0.0.pc
10488 (synopsis "Haptic/visual/audio feedback via DBus")
10489 (description "Feedbackd provides a DBus daemon to act on events to provide
10490haptic, visual and audio feedback. It offers the libfeedbackd library and
10491GObject introspection bindings.")
10492 (home-page "https://source.puri.sm/Librem5/feedbackd")
10493 (license (list license:lgpl2.1+ ; libfeedbackd
10494 license:lgpl3+)))) ; the rest
dcb4f7b7
LP
10495
10496(define-public sysprof
10497 (package
10498 (name "sysprof")
10499 (version "3.34.1")
10500 (source (origin
10501 (method url-fetch)
10502 (uri (string-append "mirror://gnome/sources/" name "/"
10503 (version-major+minor version) "/"
10504 name "-" version ".tar.xz"))
10505 (sha256
10506 (base32
10507 "1l4kr1av7933vb4zql9c5lgzivlw64hyky4nr8xin1v5if6vnjw4"))))
10508 (build-system meson-build-system)
10509 (arguments
10510 `(#:configure-flags
10511 (list (string-append "-Dsystemdunitdir="
10512 %output
10513 "/share/systemd"))
10514 #:tests? #f ; 3/4 test-model-filter barfs some dbus nonsense
10515 #:phases
10516 (modify-phases %standard-phases
10517 (add-after 'unpack 'patch-install-script
10518 (lambda _
10519 (substitute* "build-aux/meson/post_install.sh"
10520 (("gtk-update-icon-cache") "true")
10521 (("update-desktop-database") "true"))
10522 #t)))))
10523 (inputs
10524 `(("glib" ,glib)
10525 ("gtk+" ,gtk+)
10526 ("libdazzle" ,libdazzle)
10527 ("polkit" ,polkit)))
10528 (native-inputs
10529 `(("gettext" ,gettext-minimal)
10530 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
10531 ("itstool" ,itstool)
10532 ("pkg-config" ,pkg-config)
10533 ("xmllint" ,libxml2)))
10534 (home-page "http://www.sysprof.com/")
10535 (synopsis "System-wide performance profiler")
10536 (description "Sysprof is a sampling profiler that uses a kernel module
10537to generate stacktraces which are then interpreted by the userspace program
10538@command{sysprof}.")
10539 (license license:gpl3+)))
683cac58
LP
10540
10541(define-public gnome-builder
10542 (package
10543 (name "gnome-builder")
10544 (version "3.36.1")
10545 (source (origin
10546 (method url-fetch)
10547 (uri (string-append "mirror://gnome/sources/" name "/"
10548 (version-major+minor version) "/"
10549 name "-" version ".tar.xz"))
10550 (sha256
10551 (base32
10552 "17pvmd5jypar8dkr6w56hvf7jnq4l1wih2wwgkrv7sblr7rkkar2"))))
10553 (build-system meson-build-system)
10554 (arguments
10555 `(#:configure-flags (list "-Dnetwork_tests=false"
10556 ;; TODO: Enable all plugins...
10557 "-Dplugin_clang=false"
10558 "-Dplugin_flatpak=false"
10559 "-Dplugin_glade=false"
10560 ;; ... except this one.
10561 "-Dplugin_update_manager=false")
10562 #:phases
10563 (modify-phases %standard-phases
10564 (add-after 'unpack 'patch-meson
10565 (lambda* (#:key inputs #:allow-other-keys)
10566 (substitute* "build-aux/meson/post_install.py"
10567 (("gtk-update-icon-cache") "true")
10568 (("update-desktop-database") "true"))
10569 (substitute* "src/libide/meson.build"
10570 (("/usr/lib")
10571 (string-append (assoc-ref inputs "python-pygobject")
10572 "/lib")))
10573 #t))
10574 (add-before 'check 'pre-check
10575 (lambda _
10576 (system "Xvfb :1 &")
10577 (setenv "DISPLAY" ":1")
10578 #t)))))
10579 (inputs
10580 `(("devhelp" ,devhelp)
10581 ("gspell" ,gspell)
10582 ("gtk+" ,gtk+)
10583 ("json-glib" ,json-glib)
10584 ("jsonrpc-glib" ,jsonrpc-glib)
10585 ("libdazzle" ,libdazzle)
10586 ("libgit2-glib" ,libgit2-glib)
10587 ("libpeas" ,libpeas)
10588 ("python-pygobject" ,python-pygobject)
10589 ("sysprof" ,sysprof)
10590 ("template-glib" ,template-glib)
10591 ("vte" ,vte)
10592 ("webkitgtk" ,webkitgtk)))
10593 (propagated-inputs
10594 `(("gtksourceview" ,gtksourceview))) ;needed for settings
10595 (native-inputs
10596 `(("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
10597 ("glib:bin" ,glib "bin")
10598 ("gettext" ,gettext-minimal)
10599 ("pkg-config" ,pkg-config)
10600 ("vala" ,vala)
10601 ("xorg-server" ,xorg-server-for-tests)))
10602 (home-page "https://wiki.gnome.org/Apps/Builder")
10603 (synopsis "Toolsmith for GNOME-based applications")
876d022c
LC
10604 (description "Builder aims to be an integrated development
10605environment (IDE) for writing GNOME-based software. It features fuzzy search,
10606auto-completion, a mini code map, documentation browsing, Git integration, an
10607integrated profiler via Sysprof, debugging support, and more.")
683cac58 10608 (license license:gpl3+)))