gnu: linux-libre@5.4: Update to 5.4.64.
[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>
92b9cdd5 57;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
995b7261
AE
58;;;
59;;; This file is part of GNU Guix.
60;;;
61;;; GNU Guix is free software; you can redistribute it and/or modify it
62;;; under the terms of the GNU General Public License as published by
63;;; the Free Software Foundation; either version 3 of the License, or (at
64;;; your option) any later version.
65;;;
66;;; GNU Guix is distributed in the hope that it will be useful, but
67;;; WITHOUT ANY WARRANTY; without even the implied warranty of
68;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
69;;; GNU General Public License for more details.
70;;;
71;;; You should have received a copy of the GNU General Public License
72;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
73
74(define-module (gnu packages gnome)
ed19903d 75 #:use-module (gnu packages)
ba5dd105 76 #:use-module (gnu packages admin)
411ba511 77 #:use-module (gnu packages aspell)
75016d07 78 #:use-module (gnu packages autotools)
7b212526 79 #:use-module (gnu packages avahi)
b29909b4 80 #:use-module (gnu packages backup)
6a180f6f 81 #:use-module (gnu packages base)
1e33331c 82 #:use-module (gnu packages bash)
5698b8b8 83 #:use-module (gnu packages bison)
aa51d92c 84 #:use-module (gnu packages boost)
5fc9b6c1 85 #:use-module (gnu packages build-tools)
df217748 86 #:use-module (gnu packages calendar)
b29909b4 87 #:use-module (gnu packages cdrom)
df12f04a 88 #:use-module (gnu packages check)
d61a894b 89 #:use-module (gnu packages cmake)
b29909b4 90 #:use-module (gnu packages compression)
8f523eb9 91 #:use-module (gnu packages crates-io)
23a22af6 92 #:use-module (gnu packages cups)
6e1bb642 93 #:use-module (gnu packages curl)
c3f29bc9 94 #:use-module (gnu packages cyrus-sasl)
6e1bb642 95 #:use-module (gnu packages databases)
255d1bbe 96 #:use-module (gnu packages dbm)
c769cf9f 97 #:use-module (gnu packages djvu)
ba5dd105 98 #:use-module (gnu packages dns)
b4ce6300 99 #:use-module (gnu packages docbook)
b29909b4 100 #:use-module (gnu packages documentation)
329d731b 101 #:use-module (gnu packages enchant)
b29909b4
TGR
102 #:use-module (gnu packages flex)
103 #:use-module (gnu packages fonts)
e762d943 104 #:use-module (gnu packages file-systems)
a56be436 105 #:use-module (gnu packages fontutils)
b29909b4 106 #:use-module (gnu packages freedesktop)
dfc407f3 107 #:use-module (gnu packages game-development)
fed5a689 108 #:use-module (gnu packages gettext)
b29909b4 109 #:use-module (gnu packages ghostscript)
56db7a66 110 #:use-module (gnu packages gimp)
b29909b4 111 #:use-module (gnu packages gl)
995b7261 112 #:use-module (gnu packages glib)
c1354b90 113 #:use-module (gnu packages gnupg)
23a22af6 114 #:use-module (gnu packages gnuzilla)
8d8c6bff 115 #:use-module (gnu packages geo)
b29909b4
TGR
116 #:use-module (gnu packages gperf)
117 #:use-module (gnu packages graphviz)
85f5dc19 118 #:use-module (gnu packages gstreamer)
d9c1a22b 119 #:use-module (gnu packages gtk)
6b888eff 120 #:use-module (gnu packages guile)
b645146f 121 #:use-module (gnu packages ibus)
03be9874 122 #:use-module (gnu packages icu4c)
b29909b4
TGR
123 #:use-module (gnu packages image)
124 #:use-module (gnu packages imagemagick)
125 #:use-module (gnu packages inkscape)
9cc98f8a 126 #:use-module (gnu packages iso-codes)
b29909b4 127 #:use-module (gnu packages kerberos)
85f5dc19 128 #:use-module (gnu packages libcanberra)
6a00302b 129 #:use-module (gnu packages libffi)
b64e217f 130 #:use-module (gnu packages libunistring)
0e26c3cf 131 #:use-module (gnu packages libunwind)
75016d07 132 #:use-module (gnu packages libusb)
b29909b4 133 #:use-module (gnu packages linux)
4e3fc547 134 #:use-module (gnu packages lirc)
7b212526 135 #:use-module (gnu packages lua)
b29909b4 136 #:use-module (gnu packages mail)
03be9874 137 #:use-module (gnu packages mp3)
b29909b4 138 #:use-module (gnu packages multiprecision)
64fce637 139 #:use-module (gnu packages music)
b29909b4
TGR
140 #:use-module (gnu packages ncurses)
141 #:use-module (gnu packages nettle)
ba5dd105 142 #:use-module (gnu packages networking)
5fc9b6c1 143 #:use-module (gnu packages ninja)
97787a24 144 #:use-module (gnu packages node)
aff0cce9 145 #:use-module (gnu packages nss)
b29909b4 146 #:use-module (gnu packages openldap)
72fd1b3f 147 #:use-module (gnu packages package-management)
b645146f 148 #:use-module (gnu packages password-utils)
de1215e2 149 #:use-module (gnu packages pcre)
b29909b4 150 #:use-module (gnu packages pdf)
27477d2d 151 #:use-module (gnu packages perl)
f70d8383 152 #:use-module (gnu packages photo)
53c41e95 153 #:use-module (gnu packages php)
995b7261 154 #:use-module (gnu packages pkg-config)
b29909b4
TGR
155 #:use-module (gnu packages polkit)
156 #:use-module (gnu packages popt)
7d3bb433 157 #:use-module (gnu packages pretty-print)
438c4ee1 158 #:use-module (gnu packages protobuf)
23a22af6 159 #:use-module (gnu packages pulseaudio)
995b7261 160 #:use-module (gnu packages python)
00014781
RW
161 #:use-module (gnu packages python-crypto)
162 #:use-module (gnu packages python-web)
44d10b1f 163 #:use-module (gnu packages python-xyz)
cce0da5e 164 #:use-module (gnu packages rdesktop)
70f33d3c 165 #:use-module (gnu packages rdf)
b29909b4 166 #:use-module (gnu packages readline)
a76d0f03 167 #:use-module (gnu packages ruby)
ec47c07d 168 #:use-module (gnu packages rust)
b29909b4 169 #:use-module (gnu packages samba)
75016d07 170 #:use-module (gnu packages scanner)
70f33d3c
RG
171 #:use-module (gnu packages sdl)
172 #:use-module (gnu packages search)
240cee8a 173 #:use-module (gnu packages selinux)
c27e02bf 174 #:use-module (gnu packages slang)
b29909b4
TGR
175 #:use-module (gnu packages speech)
176 #:use-module (gnu packages spice)
cd0322a3 177 #:use-module (gnu packages sqlite)
4a1bf090 178 #:use-module (gnu packages ssh)
2cd1de32 179 #:use-module (gnu packages swig)
8f9ac901 180 #:use-module (gnu packages tex)
33dc54b0 181 #:use-module (gnu packages time)
a7fd7b68 182 #:use-module (gnu packages tls)
2cd1de32 183 #:use-module (gnu packages valgrind)
3c5dbd2b 184 #:use-module (gnu packages version-control)
b29909b4 185 #:use-module (gnu packages video)
59132b80 186 #:use-module (gnu packages virtualization)
f2b96b3a 187 #:use-module (gnu packages vpn)
a18f8eaf 188 #:use-module (gnu packages web)
b29909b4
TGR
189 #:use-module (gnu packages webkit)
190 #:use-module (gnu packages xdisorg)
191 #:use-module (gnu packages xiph)
192 #:use-module (gnu packages xml)
d633f2f6 193 #:use-module (gnu packages xorg)
a76d0f03 194 #:use-module (gnu artwork)
43b6b45e 195 #:use-module ((guix build utils) #:select (modify-phases))
8f523eb9 196 #:use-module (guix build-system cargo)
b29909b4
TGR
197 #:use-module (guix build-system cmake)
198 #:use-module (guix build-system glib-or-gtk)
199 #:use-module (guix build-system gnu)
200 #:use-module (guix build-system meson)
08be02be 201 #:use-module (guix build-system python)
b29909b4
TGR
202 #:use-module (guix build-system trivial)
203 #:use-module (guix download)
204 #:use-module (guix git-download)
205 #:use-module ((guix licenses) #:prefix license:)
206 #:use-module (guix packages)
207 #:use-module (guix utils)
a76d0f03 208 #:use-module (guix gexp)
8f523eb9
EF
209 #:use-module (guix monads)
210 #:use-module (guix store)
4e3fdeb7 211 #:use-module (ice-9 match)
c024ae36 212 #:use-module (srfi srfi-1))
85f5dc19
AE
213
214(define-public brasero
215 (package
216 (name "brasero")
e2bf423a 217 (version "3.12.2")
85f5dc19
AE
218 (source (origin
219 (method url-fetch)
d1df7554 220 (uri (string-append "mirror://gnome/sources/brasero/"
e8627cd9 221 (version-major+minor version) "/"
d1df7554 222 "brasero-" version ".tar.xz"))
85f5dc19
AE
223 (sha256
224 (base32
e2bf423a 225 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 226 (build-system glib-or-gtk-build-system)
e8627cd9
DH
227 (arguments
228 `(#:configure-flags (list
229 (string-append "--with-girdir="
230 (assoc-ref %outputs "out")
231 "/share/gir-1.0")
232 (string-append "--with-typelibdir="
233 (assoc-ref %outputs "out")
ce426deb
TD
234 "/lib/girepository-1.0"))
235 #:phases
236 (modify-phases %standard-phases
237 (add-before 'configure 'embed-growisofs
238 (lambda* (#:key inputs #:allow-other-keys)
239 (substitute* "plugins/growisofs/burn-growisofs.c"
240 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 241 #t)))))
85f5dc19
AE
242 (propagated-inputs
243 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
244 (native-inputs
245 `(("intltool" ,intltool)
ba549e17 246 ("itstool" ,itstool)
426adbe8 247 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 248 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 249 ("pkg-config" ,pkg-config)))
85f5dc19 250 (inputs
ce426deb
TD
251 `(("dvd+rw-tools" ,dvd+rw-tools)
252 ("glib" ,glib)
85f5dc19
AE
253 ("gnome-doc-utils" ,gnome-doc-utils)
254 ("gstreamer" ,gstreamer)
255 ("gst-plugins-base" ,gst-plugins-base)
256 ("gtk+" ,gtk+)
85f5dc19
AE
257 ("libcanberra" ,libcanberra)
258 ("libice" ,libice)
259 ("libnotify" ,libnotify)
260 ("libsm" ,libsm)
e8627cd9 261 ("libxml2" ,libxml2)
e8627cd9 262 ("totem-pl-parser" ,totem-pl-parser)))
fb9399e9 263 (home-page "https://wiki.gnome.org/Apps/Brasero")
85f5dc19
AE
264 (synopsis "CD/DVD burning tool for Gnome")
265 (description "Brasero is an application to burn CD/DVD for the Gnome
266Desktop. It is designed to be as simple as possible and has some unique
267features to enable users to create their discs easily and quickly.")
1dd26275 268 (license license:gpl2+)))
995b7261 269
63d71ff0
RG
270(define-public libcloudproviders
271 (package
272 (name "libcloudproviders")
273 (version "0.3.1")
274 (source
275 (origin
276 (method url-fetch)
277 (uri
278 (string-append "mirror://gnome/sources/" name "/"
279 (version-major+minor version) "/"
280 name "-" version ".tar.xz"))
281 (sha256
282 (base32 "0aars24myf6n8b8hm1n12hsgcm54097kpbpm4ba31zp1l4y22qs7"))))
283 (build-system meson-build-system)
284 (outputs '("out" "doc"))
285 (arguments
286 `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
287 #:configure-flags
288 (list
289 "-Denable-gtk-doc=true")
290 #:phases
291 (modify-phases %standard-phases
292 (add-after 'install 'move-doc
293 (lambda* (#:key outputs #:allow-other-keys)
294 (let* ((out (assoc-ref outputs "out"))
295 (doc (assoc-ref outputs "doc")))
296 (mkdir-p (string-append doc "/share"))
297 (rename-file
298 (string-append out "/share/gtk-doc")
299 (string-append doc "/share/gtk-doc"))
300 #t))))))
301 (native-inputs
302 `(("glib:bin" ,glib "bin")
303 ("gobject-introspection" ,gobject-introspection)
304 ("gtk-doc" ,gtk-doc)
305 ("pkg-config" ,pkg-config)
306 ("vala" ,vala)))
307 (inputs
308 `(("glib" ,glib)
309 ("glib-networking" ,glib-networking)))
310 (synopsis "Cloudproviders Integration API")
311 (description "Libcloudproviders is a DBus API that allows cloud storage sync
312clients to expose their services. Clients such as file managers and desktop
313environments can then provide integrated access to the cloud providers
314services.")
315 (home-page "https://csorianognome.wordpress.com/2015/07/07/cloud-providers/")
316 (license license:lgpl3+)))
317
f10b58ca
RG
318(define-public libgrss
319 (package
320 (name "libgrss")
321 (version "0.7.0")
322 (source
323 (origin
324 (method url-fetch)
325 (uri
326 (string-append "mirror://gnome/sources/" name "/"
327 (version-major+minor version) "/"
328 name "-" version ".tar.xz"))
329 (sha256
330 (base32 "1nalslgyglvhpva3px06fj6lv5zgfg0qmj0sbxyyl5d963vc02b7"))))
331 (build-system glib-or-gtk-build-system)
332 (outputs '("out" "doc"))
333 (arguments
334 `(#:configure-flags
335 (list
336 "--enable-gtk-doc"
337 (string-append "--with-html-dir="
338 (assoc-ref %outputs "doc")
339 "/share/gtk-doc/html"))
340 #:phases
341 (modify-phases %standard-phases
342 (add-after 'unpack 'patch-docbook-xml
343 (lambda* (#:key inputs #:allow-other-keys)
344 (with-directory-excursion "doc/reference"
345 (substitute* "libgrss-docs.sgml"
346 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
347 (string-append (assoc-ref inputs "docbook-xml")
348 "/xml/dtd/docbook/"))))
349 #t)))))
350 (native-inputs
351 `(("docbook-xml" ,docbook-xml-4.1.2)
352 ("gobject-introspection" ,gobject-introspection)
353 ("gtk-doc" ,gtk-doc)
354 ("pkg-config" ,pkg-config)))
355 (propagated-inputs
356 `(("glib" ,glib)
357 ("libsoup" ,libsoup)
358 ("libxml2" ,libxml2)))
359 (synopsis "Glib library for feeds")
360 (description "LibGRSS is a Glib abstaction to handle feeds in RSS, Atom and
361other formats.")
362 (home-page "https://wiki.gnome.org/Projects/Libgrss")
363 (license license:lgpl3+)))
364
c1082b02
RG
365(define-public gnome-js-common
366 (package
367 (name "gnome-js-common")
368 (version "0.1.2")
369 (source
370 (origin
371 (method url-fetch)
372 (uri
373 (string-append "mirror://gnome/sources/" name "/"
374 (version-major+minor version) "/"
375 name "-" version ".tar.gz"))
376 (sha256
377 (base32 "1zv5b9bcbclzj64xd9kgql4ndmbwvvi6cl937ykw8fp21xgh8z7y"))))
378 (build-system glib-or-gtk-build-system)
379 (arguments
380 `(#:configure-flags
381 (list
382 "--disable-static")))
383 (native-inputs
384 `(("gettext" ,gettext-minimal)
385 ("intltool" ,intltool)
386 ("pkg-config" ,pkg-config)))
387 (synopsis "Common JS Modules")
388 (description "GNOME-JS-Common provides common modules for GNOME JavaScript
389bindings.")
390 (home-page "https://wiki.gnome.org/Projects/Seed")
391 (license license:gpl3+)))
392
77d7bbf4
RG
393(define-public seed
394 (package
395 (name "seed")
396 (version "3.8.1")
397 (source
398 (origin
399 (method url-fetch)
400 (uri
401 (string-append "mirror://gnome/sources/" name "/"
402 (version-major+minor version) "/"
403 name "-" version ".tar.xz"))
404 (sha256
405 (base32 "0cmcxaggcdcy13j27gy8id2qsf2p2sl4bz2mwb9zhv3gzavlvjw0"))
406 (patches
407 (search-patches "seed-webkit.patch"))))
408 (build-system glib-or-gtk-build-system)
409 (outputs '("out" "doc"))
410 (arguments
411 `(#:configure-flags
412 (list
413 "--disable-static"
414 "--enable-xorg-module"
415 (string-append "--with-html-dir="
416 (assoc-ref %outputs "doc")
417 "/share/gtk-doc/html")
418 "--with-webkit=4.0")
419 #:phases
420 (modify-phases %standard-phases
421 ;; The seed-webkit.patch patches configure.ac.
422 ;; So the source files need to be re-bootstrapped.
423 (add-after 'unpack 'trigger-bootstrap
424 (lambda _
425 (for-each delete-file
426 (list
427 "configure"
428 "Makefile.in"))
429 #t))
14528483
DM
430 (add-after 'unpack 'patch-tests
431 (lambda* (#:key outputs #:allow-other-keys)
432 (substitute* (find-files "." "\\.js$")
433 (("#!/usr/bin/env seed")
434 (string-append "#!" (getcwd) "/src/seed")))
435 #t))
77d7bbf4
RG
436 (add-before 'build 'patch-docbook-xml
437 (lambda* (#:key inputs #:allow-other-keys)
438 (with-directory-excursion "doc"
439 (substitute* '("reference/seed-docs.sgml" "modules/book.xml")
440 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
441 (string-append (assoc-ref inputs "docbook-xml")
442 "/xml/dtd/docbook/"))))
443 #t)))))
444 (native-inputs
445 `(("autoconf" ,autoconf)
446 ("automake" ,automake)
447 ("docbook-xml" ,docbook-xml-4.1.2)
448 ("gettext" ,gettext-minimal)
449 ("gobject-introspection" ,gobject-introspection)
450 ("gtk-doc" ,gtk-doc)
451 ("intltool" ,intltool)
452 ("libtool" ,libtool)
453 ("pkg-config" ,pkg-config)))
454 (inputs
455 `(("cairo" ,cairo)
456 ("dbus" ,dbus)
457 ("dbus-glib" ,dbus-glib)
458 ("gnome-js-common" ,gnome-js-common)
459 ("gtk+" ,gtk+)
460 ("gtk+-2" ,gtk+-2)
461 ("libffi" ,libffi)
462 ("libxml2" ,libxml2)
463 ("mpfr" ,mpfr)
464 ("readline" ,readline)
465 ("sqlite" ,sqlite)
466 ("xscrnsaver" ,libxscrnsaver)))
467 (propagated-inputs
468 `(("glib" ,glib)
469 ("webkit" ,webkitgtk)))
470 (synopsis "GObject JavaScriptCore bridge")
471 (description "Seed is a library and interpreter, dynamically bridging
472(through GObjectIntrospection) the WebKit JavaScriptCore engine, with the
473GNOME platform. It serves as something which enables you to write standalone
474applications in JavaScript, or easily enable your application to be extensible
475in JavaScript.")
476 (home-page "https://wiki.gnome.org/Projects/Seed")
477 (license license:lgpl2.0+)))
478
d668963d
RG
479(define-public libdmapsharing
480 (package
481 (name "libdmapsharing")
482 (version "3.9.10")
483 (source
484 (origin
485 (method url-fetch)
486 (uri
487 (string-append "https://www.flyn.org/projects/"
488 name "/" name "-" version ".tar.gz"))
489 (sha256
490 (base32 "152hnddwxv590cn802awv3mn27ixc3s6ac691a7z02d1c5fl45p2"))))
491 (build-system glib-or-gtk-build-system)
492 (outputs '("out" "doc"))
493 (arguments
494 `(#:tests? #f ; Tests require networking.
495 #:configure-flags
496 (list
497 "--disable-static"
498 (string-append "--with-html-dir="
499 (assoc-ref %outputs "doc")
500 "/share/gtk-doc/html"))
501 #:phases
502 (modify-phases %standard-phases
503 (add-after 'unpack 'patch-docbook-xml
504 (lambda* (#:key inputs #:allow-other-keys)
505 (with-directory-excursion "doc"
506 (substitute* "libdmapsharing-4.0-docs.xml"
507 (("http://www.oasis-open.org/docbook/xml/4.3/")
508 (string-append (assoc-ref inputs "docbook-xml")
509 "/xml/dtd/docbook/"))))
510 #t)))))
511 (native-inputs
512 `(("check" ,check)
513 ("docbook-xml" ,docbook-xml-4.3)
514 ("gobject-introspection" ,gobject-introspection)
515 ("pedansee" ,pedansee)
516 ("pkg-config" ,pkg-config)
517 ("vala" ,vala)))
518 (inputs
519 `(("avahi" ,avahi)
520 ("gdk-pixbuf" ,gdk-pixbuf+svg)
521 ("gee" ,libgee)
522 ("gst-plugins-base" ,gst-plugins-base)
523 ("gtk+" ,gtk+)))
524 (propagated-inputs
525 `(("glib" ,glib)
526 ("glib-networking" ,glib-networking)
527 ("gstreamer" ,gstreamer)
528 ("libsoup" ,libsoup)))
529 (synopsis "Media management library")
530 (description "Libdmapsharing is a library which allows programs to access,
531share and control the playback of media content using DMAP (DAAP, DPAP & DACP).
532It is written in C using GObject and libsoup.")
533 (home-page "https://launchpad.net/gtx")
534 (license license:lgpl2.1+)))
535
c15ff237
RG
536(define-public gtx
537 (package
538 (name "gtx")
539 (version "0.2.2")
540 (source
541 (origin
542 (method url-fetch)
543 (uri
544 (string-append "https://launchpad.net/gtx/trunk/"
545 version "/+download/gtx-" version ".tar.gz"))
546 (sha256
547 (base32 "0i4zvn5v4rf0cw3fxylk6j2pyy5lkrswdiw8jdxkys0ph0nan33n"))))
548 (build-system glib-or-gtk-build-system)
549 (outputs '("out" "doc"))
550 (arguments
551 `(#:configure-flags
552 (list
553 "--disable-static"
554 "--enable-gtk-doc"
555 (string-append "--with-html-dir="
556 (assoc-ref %outputs "doc")
557 "/share/gtk-doc/html"))))
558 (native-inputs
559 `(("gobject-introspection" ,gobject-introspection)
560 ("gtk-doc" ,gtk-doc)
561 ("pkg-config" ,pkg-config)))
562 (propagated-inputs
563 `(("glib" ,glib)))
564 (synopsis "GLib Testing Framework")
565 (description "GTX is a small collection of convenience functions intended to
566enhance the GLib testing framework. With specific emphasis on easing the pain
567of writing test cases for asynchronous interactions.")
568 (home-page "https://launchpad.net/gtx")
569 (license license:lgpl2.1+)))
570
8fd769dd
RG
571(define-public dee
572 (package
573 (name "dee")
574 (version "1.2.7")
575 (source
576 (origin
577 (method url-fetch)
578 (uri
579 (string-append "https://launchpad.net/dee/1.0/"
580 version "/+download/dee-" version ".tar.gz"))
581 (sha256
582 (base32 "12mzffk0lyd566y46x57jlvb9af152b4dqpasr40zal4wrn37w0v"))
583 (patches
584 (search-patches "dee-vapi.patch"))))
585 (build-system glib-or-gtk-build-system)
586 (outputs '("out" "doc"))
587 (arguments
588 `(#:configure-flags
589 (list
590 "--disable-maintainer-flags"
591 (string-append "--with-pygi-overrides-dir="
592 (assoc-ref %outputs "out")
593 "/lib/python"
594 ,(version-major+minor
595 (package-version python))
596 "/site-packages/gi/overrides")
597 (string-append "--with-html-dir="
598 (assoc-ref %outputs "doc")
599 "/share/gtk-doc/html"))
600 #:phases
601 (modify-phases %standard-phases
602 (add-after 'unpack 'patch-docbook-xml
603 (lambda* (#:key inputs #:allow-other-keys)
604 (with-directory-excursion "doc/reference/dee-1.0"
605 (substitute* "dee-1.0-docs.sgml"
606 (("http://www.oasis-open.org/docbook/xml/4.3/")
607 (string-append (assoc-ref inputs "docbook-xml")
608 "/xml/dtd/docbook/"))))
609 #t))
610 (add-after 'patch-docbook-xml 'disable-failing-tests
611 (lambda _
612 (substitute* "tests/test-icu.c"
613 (("g_test_add \\(DOMAIN\"/Default/AsciiFolder\", Fixture, 0,")
614 "")
615 (("setup, test_ascii_folder, teardown\\);")
616 ""))
617 #t))
618 (add-before 'check 'pre-check
619 (lambda _
620 ;; Tests require a running dbus-daemon.
621 (system "dbus-daemon &")
622 ;; For missing '/etc/machine-id'.
623 (setenv "DBUS_FATAL_WARNINGS" "0")
624 #t)))))
625 (native-inputs
626 `(("dbus" ,dbus)
627 ("dbus-test-runner" ,dbus-test-runner)
628 ("docbook-xml" ,docbook-xml-4.3)
629 ("gobject-introspection" ,gobject-introspection)
630 ("gtk-doc" ,gtk-doc)
631 ;; Would only be required by configure flag "--enable-extended-tests".
632 ;("gtx" ,gtx)
633 ("pkg-config" ,pkg-config)
634 ("pygobject" ,python-pygobject)
635 ("python" ,python-wrapper)
636 ("vala" ,vala)))
637 (inputs
638 `(("icu" ,icu4c)))
639 (propagated-inputs
640 `(("glib" ,glib)))
641 (synopsis "Model to synchronize multiple instances over DBus")
642 (description "Dee is a library that uses DBus to provide objects allowing
643you to create Model-View-Controller type programs across DBus. It also consists
644of utility objects which extend DBus allowing for peer-to-peer discoverability
645of known objects without needing a central registrar.")
646 (home-page "https://launchpad.net/dee")
647 (license
648 ;; Dual-licensed
649 (list
650 license:lgpl3+
651 license:gpl3+))))
652
70f33d3c
RG
653(define-public zeitgeist
654 (package
655 (name "zeitgeist")
656 (version "1.0.2")
657 (source
658 (origin
659 (method git-fetch)
660 (uri
661 (git-reference
662 (url "https://gitlab.freedesktop.org/zeitgeist/zeitgeist.git")
663 (commit
664 (string-append "v" version))))
665 (file-name
666 (git-file-name name version))
667 (sha256
668 (base32 "0ig3d3j1n0ghaxsgfww6g2hhcdwx8cljwwfmp9jk1nrvkxd6rnmv"))))
669 (build-system glib-or-gtk-build-system)
670 (arguments
671 `(#:configure-flags
672 (list
673 "--enable-explain-queries"
674 "--enable-fts"
675 "--enable-docs")
676 #:phases
677 (modify-phases %standard-phases
678 (add-after 'unpack 'patch-docbook-xml
679 (lambda* (#:key inputs #:allow-other-keys)
680 (with-directory-excursion "doc/libzeitgeist"
681 (substitute* "zeitgeist-gtkdoc-index.sgml"
682 (("http://www.oasis-open.org/docbook/xml/4.3/")
683 (string-append (assoc-ref inputs "docbook-xml")
684 "/xml/dtd/docbook/"))))
685 #t))
686 (add-after 'patch-docbook-xml 'disable-failing-tests
687 (lambda _
688 (substitute* "test/direct/Makefile.am"
689 ((" log-test ")
690 ""))
691 (substitute* "test/c/Makefile.am"
692 ((" test-log ")
693 ""))
694 #t))
695 (add-before 'bootstrap 'remove-autogen-script
696 (lambda _
697 ;; To honor `autoreconf -vif` by build-system.
698 (delete-file "autogen.sh")
699 #t)))))
700 (native-inputs
701 `(("autoconf" ,autoconf)
702 ("automake" ,automake)
703 ("docbook-xml" ,docbook-xml-4.3)
704 ("gettext" ,gettext-minimal)
705 ("gobject-introspection" ,gobject-introspection)
706 ("gtk-doc" ,gtk-doc)
707 ("libtool" ,libtool)
708 ("pkg-config" ,pkg-config)
709 ("vala" ,vala)
710 ("xorg-server-for-tests" ,xorg-server-for-tests)))
711 (inputs
712 `(("dee-icu" ,dee)
713 ("gtk+" ,gtk+)
714 ("json-glib" ,json-glib)
715 ("sqlite" ,sqlite)
716 ("telepathy-glib" ,telepathy-glib)
717 ("python" ,python-wrapper)
718 ("python-rdflib" ,python-rdflib)
719 ("xapian-config" ,xapian)))
720 (propagated-inputs
721 `(("glib" ,glib)))
722 (synopsis "Desktop Activity Logging")
723 (description "Zeitgeist is a service which logs the users’s activities and
724events, anywhere from files opened to websites visited and conversations. It
725makes this information readily available for other applications to use. It is
726able to establish relationships between items based on similarity and usage
727patterns.")
728 (home-page "https://zeitgeist.freedesktop.org/")
729 (license
730 ;; Dual-licensed
731 (list
732 license:lgpl2.1+
733 license:gpl2+))))
734
56db7a66
RG
735(define-public gnome-photos
736 (package
737 (name "gnome-photos")
738 (version "3.34.2")
739 (source
740 (origin
741 (method url-fetch)
742 (uri
743 (string-append "mirror://gnome/sources/" name "/"
744 (version-major+minor version) "/"
745 name "-" version ".tar.xz"))
746 (sha256
747 (base32
748 "06ml5sf8xhpan410msqz085hmfc7082d368pb82yq646y9pcfn9w"))))
749 (build-system meson-build-system)
750 (arguments
751 `(#:glib-or-gtk? #t
752 #:configure-flags
753 (list "-Ddogtail=false" ; Not available
754 ;; Required for RUNPATH validation.
755 (string-append "-Dc_link_args=-Wl,-rpath="
756 (assoc-ref %outputs "out") "/lib/gnome-photos"))
757 #:phases
758 (modify-phases %standard-phases
759 (add-after 'install 'wrap-gnome-photos
760 (lambda* (#:key inputs outputs #:allow-other-keys)
761 (let*
762 ((out (assoc-ref outputs "out")))
763 (wrap-program (string-append out "/bin/gnome-photos")
764 `("GRL_PLUGIN_PATH" = (,(getenv "GRL_PLUGIN_PATH")))))
765 #t)))))
766 (native-inputs
767 `(("dbus" ,dbus)
768 ("desktop-file-utils" ,desktop-file-utils)
769 ("gettext" ,gettext-minimal)
770 ("git" ,git-minimal)
771 ("glib:bin" ,glib "bin")
772 ("gobject-introspection" ,gobject-introspection)
773 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
774 ("gtk+:bin" ,gtk+ "bin")
775 ("itstool" ,itstool)
776 ("pkg-config" ,pkg-config)))
777 (inputs
778 `(("babl" ,babl)
779 ("cairo" ,cairo)
780 ("gdk-pixbuf" ,gdk-pixbuf+svg)
781 ("gegl" ,gegl)
782 ("geocode-glib" ,geocode-glib)
783 ("gexiv2" ,gexiv2)
784 ("gnome-online-accounts" ,gnome-online-accounts)
785 ("gnome-online-miners" ,gnome-online-miners)
786 ("grilo" ,grilo)
787 ("grilo-plugins" ,grilo-plugins)
788 ("gtk+" ,gtk+)
789 ("libdazzle" ,libdazzle)
790 ("libgdata" ,libgdata)
791 ("libgfbgraph" ,gfbgraph)
792 ("libjpeg" ,libjpeg-turbo)
793 ("libpng" ,libpng)
794 ("librest" ,rest)
795 ("pygobject" ,python-pygobject)
796 ("tracker" ,tracker)
797 ("tracker-miners" ,tracker-miners)))
798 (synopsis "Access, organize and share your photos on GNOME desktop")
799 (description "GNOME Photos is a simple and elegant replacement for using a
800file manager to deal with photos. Enhance, crop and edit in a snap. Seamless
801cloud integration is offered through GNOME Online Accounts.")
802 (home-page "https://wiki.gnome.org/Apps/Photos")
803 (license license:gpl3+)))
804
1aefe650
RG
805(define-public gnome-music
806 (package
807 (name "gnome-music")
808 (version "3.34.5")
809 (source
810 (origin
811 (method url-fetch)
812 (uri
813 (string-append "mirror://gnome/sources/" name "/"
814 (version-major+minor version) "/"
815 name "-" version ".tar.xz"))
816 (sha256
817 (base32
818 "1r5sfw5cbd6qqh27lzhblazir0bfi3k7nqppw66qw990isqm5psy"))))
819 (build-system meson-build-system)
820 (arguments
821 `(#:glib-or-gtk? #t
822 #:phases
823 (modify-phases %standard-phases
824 (add-after 'install 'wrap-gnome-music
825 (lambda* (#:key inputs outputs #:allow-other-keys)
826 (let*
827 ((out (assoc-ref outputs "out"))
828 (pylib (string-append out "/lib/python"
829 ,(version-major+minor
830 (package-version python))
831 "/site-packages")))
832 (wrap-program (string-append out "/bin/gnome-music")
833 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))
834 `("GST_PLUGIN_SYSTEM_PATH" = (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
835 `("GRL_PLUGIN_PATH" = (,(getenv "GRL_PLUGIN_PATH")))
836 `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))))
837 #t)))))
838 (native-inputs
839 `(("desktop-file-utils" ,desktop-file-utils)
840 ("gettext" ,gettext-minimal)
841 ("glib:bin" ,glib "bin")
842 ("gobject-introspection" ,gobject-introspection)
843 ("gtk+:bin" ,gtk+ "bin")
844 ("itstools" ,itstool)
845 ("pkg-config" ,pkg-config)))
846 (inputs
847 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
848 ("grilo" ,grilo)
849 ("grilo-plugins" ,grilo-plugins)
850 ("gst-plugins-base" ,gst-plugins-base)
851 ("gstreamer" ,gstreamer)
852 ("gvfs" ,gvfs)
853 ("libdazzle" ,libdazzle)
854 ("libmediaart" ,libmediaart)
855 ("libsoup" ,libsoup)
856 ("pycairo" ,python-pycairo)
857 ("pygobject" ,python-pygobject)
858 ("tracker" ,tracker)
859 ("tracker-miners" ,tracker-miners)))
860 (synopsis "Simple music player for GNOME desktop")
861 (description "GNOME Music is the new GNOME music playing application that
862aims to combine an elegant and immersive browsing experience with simple
863and straightforward controls.")
864 (home-page "https://wiki.gnome.org/Apps/Music")
865 (license license:gpl2+)))
866
72fd1b3f
RG
867(define-public portablexdr
868 (package
869 (name "portablexdr")
870 (version "4.9.1")
871 (source
872 (origin
873 (method url-fetch)
874 (uri
875 (string-append "https://people.redhat.com/~rjones/" name "/files/"
876 name "-" version ".tar.gz"))
877 (sha256
878 (base32
879 "0b77ipvvi520nv7rr6jb1c3xryhc3m2mywhby7m48kfgag8vvx2w"))))
880 (build-system gnu-build-system)
881 (synopsis "External Data Representation Library")
882 (description "PortableXDR is an implementation of External Data
883Representation (XDR) Library. It is a standard data serialization format, for
884uses such as computer network protocols. It allows data to be transferred
885between different kinds of computer systems.")
886 (home-page "https://people.redhat.com/~rjones/portablexdr/")
887 (license
888 (list
889 license:gpl2+
890 license:lgpl2.1+))))
891
30003a64
RG
892(define-public tepl
893 (package
894 (name "tepl")
895 (version "4.4.0")
896 (source
897 (origin
898 (method url-fetch)
899 (uri
900 (string-append "mirror://gnome/sources/" name "/"
901 (version-major+minor version) "/"
902 name "-" version ".tar.xz"))
903 (sha256
904 (base32
905 "0mm2z849hnni7597an05mrv0dckrxjngpf2xfa0g5s17i8x6gxp6"))))
906 (build-system glib-or-gtk-build-system)
907 (arguments
908 `(#:tests? #f)) ; FIX-ME: Requires gvfs
909 (native-inputs
910 `(("gobject-introspection" ,gobject-introspection)
911 ("pkg-config" ,pkg-config)))
912 (inputs
913 `(("amtk" ,amtk)
914 ("glib" ,glib)
915 ("gtk+" ,gtk+)
916 ("gtksourceview" ,gtksourceview)
917 ("libxml2" ,libxml2)
918 ("uchardet" ,uchardet)))
919 (synopsis "Text editor product line")
920 (description "Tepl is a library that eases the development of
921GtkSourceView-based text editors and IDEs.")
922 (home-page "https://wiki.gnome.org/Projects/Tepl")
923 (license license:lgpl2.1+)))
924
2e6bc595
RG
925(define-public krb5-auth-dialog
926 (package
927 (name "krb5-auth-dialog")
928 (version "3.26.1")
929 (source
930 (origin
931 (method url-fetch)
932 (uri
933 (string-append "mirror://gnome/sources/" name "/"
934 (version-major+minor version) "/"
935 name "-" version ".tar.xz"))
936 (sha256
937 (base32
938 "1w91gsvmifqhiam3xqf88i5rk2w6qadjalmbvvamjdc37j0vdc6x"))))
939 (build-system glib-or-gtk-build-system)
940 (native-inputs
941 `(("intltool" ,intltool)
942 ("itstool" ,itstool)
943 ("libxml2" ,libxml2)
944 ("pkg-config" ,pkg-config)
945 ("python-wrapper" ,python-wrapper)))
946 (inputs
947 `(("glib" ,glib)
948 ("gtk+" ,gtk+)
949 ("libnotify" ,libnotify)
950 ("mit-krb5" ,mit-krb5)
951 ("network-manager" ,network-manager)))
952 (synopsis "Popup dialogs for Kerberos 5")
953 (description "krb5-auth-dialog is a simple dialog that monitors Kerberos
954tickets, and pops up a dialog when they are about to expire.")
955 (home-page "https://gitlab.gnome.org/GNOME/krb5-auth-dialog")
956 (license license:gpl2+)))
957
a3cbcbaf
RG
958(define-public notification-daemon
959 (package
960 (name "notification-daemon")
961 (version "3.20.0")
962 (source
963 (origin
964 (method url-fetch)
965 (uri
966 (string-append "mirror://gnome/sources/" name "/"
967 (version-major+minor version) "/"
968 name "-" version ".tar.xz"))
969 (sha256
970 (base32
971 "1rgchqi4j2ll7d6a7lgy7id0w9rrkwkgic1096fbm2zx6n7pc4yx"))))
972 (build-system glib-or-gtk-build-system)
973 (native-inputs
974 `(("intltool" ,intltool)
975 ("pkg-config" ,pkg-config)))
976 (inputs
977 `(("glib" ,glib)
978 ("gtk+" ,gtk+)
979 ("x11" ,libx11)))
980 (synopsis "Notification Daemon for GNOME Desktop")
981 (description "Notification-Daemon is the server implementation of the
982freedesktop.org desktop notification specification.")
983 (home-page "https://wiki.gnome.org/Projects/NotificationDaemon")
984 (license license:gpl2+)))
985
4e8bdbf8
RG
986(define-public mm-common
987 (package
988 (name "mm-common")
553f2f3f 989 (version "1.0.1")
4e8bdbf8
RG
990 (source (origin
991 (method url-fetch)
02cb4ca7 992 (uri (string-append "mirror://gnome/sources/mm-common/"
4e8bdbf8 993 (version-major+minor version) "/"
02cb4ca7 994 "mm-common-" version ".tar.xz"))
4e8bdbf8
RG
995 (sha256
996 (base32
553f2f3f 997 "1jasx9a9g7nqf7jcv3mrg4qh5cp9sq724jxjaz4wa1dzmxsxg8i8"))))
4e8bdbf8
RG
998 (build-system meson-build-system)
999 (arguments
1000 `(#:phases
1001 (modify-phases %standard-phases
1002 (add-after 'unpack 'patch
1003 (lambda* (#:key inputs #:allow-other-keys)
1004 (substitute* "util/mm-common-prepare.in"
1005 (("ln") (string-append (assoc-ref inputs "coreutils")
1006 "/bin/ln"))
1007 (("cp") (string-append (assoc-ref inputs "coreutils")
1008 "/bin/cp"))
1009 (("sed") (string-append (assoc-ref inputs "sed")
1010 "/bin/sed"))
1011 (("cat") (string-append (assoc-ref inputs "coreutils")
1012 "/bin/cat")))
1013 #t)))))
1014 (native-inputs
4e8bdbf8 1015 `(("coreutils" ,coreutils)
74a65885
DM
1016 ("gettext" ,gettext-minimal)
1017 ("pkg-config" ,pkg-config)
4e8bdbf8 1018 ("sed" ,sed)))
74a65885
DM
1019 (inputs
1020 `(("python" ,python)))
4e8bdbf8
RG
1021 (synopsis "Module of GNOME C++ bindings")
1022 (description "The mm-common module provides the build infrastructure
1023and utilities shared among the GNOME C++ binding libraries. Release
1024archives of mm-common include the Doxygen tag file for the GNU C++
1025Library reference documentation.")
1026 (home-page "https://gitlab.gnome.org/GNOME/mm-common")
1027 (license license:gpl2+)))
1028
e05ce17d
RG
1029(define-public phodav
1030 (package
1031 (name "phodav")
1c17a61b 1032 (version "2.5")
e05ce17d
RG
1033 (source (origin
1034 (method url-fetch)
1035 (uri (string-append "mirror://gnome/sources/" name "/"
1036 (version-major+minor version) "/"
1037 name "-" version ".tar.xz"))
1038 (sha256
1039 (base32
1c17a61b 1040 "045rdzf8isqmzix12lkz6z073b5qvcqq6ad028advm5gf36skw3i"))))
e05ce17d 1041 (build-system meson-build-system)
1c17a61b
TGR
1042 (arguments
1043 `(#:phases
1044 (modify-phases %standard-phases
1045 (add-before 'check 'start-virtual-dir-server
1046 ;; The same server when started by tests/virtual-dir returns an
1047 ;; unexpected status (4 instead of 200) and fails a test. It is
1048 ;; unclear why starting it manually here makes it pass.
1049 (lambda _
1050 (system "tests/virtual-dir-server &")
1051 #t)))))
e05ce17d 1052 (native-inputs
1c17a61b
TGR
1053 `(("docbook-xml" ,docbook-xml-4.3)
1054 ("gettext" ,gettext-minimal)
e05ce17d
RG
1055 ("glib:bin" ,glib "bin")
1056 ("gtk-doc" ,gtk-doc)
1057 ("pkg-config" ,pkg-config)))
1058 (inputs
1059 `(("avahi" ,avahi)
1060 ("libgudev" ,libgudev)
1061 ("libsoup" ,libsoup)))
1062 (synopsis "WebDav server implementation using libsoup")
1063 (description "PhoDav was initially developed as a file-sharing mechanism for Spice,
1064but it is generic enough to be reused in other projects,
1065in particular in the GNOME desktop.")
1066 (home-page "https://wiki.gnome.org/phodav")
1067 (license license:lgpl2.1+)))
1068
29ae18db
RG
1069(define-public gnome-color-manager
1070 (package
1071 (name "gnome-color-manager")
1072 (version "3.32.0")
1073 (source (origin
1074 (method url-fetch)
1075 (uri (string-append "mirror://gnome/sources/" name "/"
1076 (version-major+minor version) "/"
1077 name "-" version ".tar.xz"))
1078 (sha256
1079 (base32
1080 "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"))))
1081 (build-system meson-build-system)
1082 (arguments
1083 `(#:glib-or-gtk? #t
1084 #:phases
1085 (modify-phases %standard-phases
1086 (add-before
1087 'check 'pre-check
1088 (lambda _
1089 ;; Tests require a running X server.
1090 (system "Xvfb :1 &")
1091 (setenv "DISPLAY" ":1")
1092 #t)))))
1093 (native-inputs
1094 `(("desktop-file-utils" ,desktop-file-utils)
1095 ("gettext" ,gettext-minimal)
1096 ("glib:bin" ,glib "bin")
1097 ("gtk+:bin" ,gtk+ "bin")
1098 ("itstool" ,itstool)
1099 ("pkg-config" ,pkg-config)
1100 ("xorg-server" ,xorg-server-for-tests)))
1101 (inputs
1102 `(("adwaita-icon-theme" ,adwaita-icon-theme)
1103 ("appstream-glib" ,appstream-glib)
1104 ("colord-gtk" ,colord-gtk)
1105 ("exiv2" ,exiv2)
1106 ("gnome-desktop" ,gnome-desktop)
1107 ("libcanberra" ,libcanberra)
1108 ("libexif" ,libexif)
1109 ("libtiff" ,libtiff)
1110 ("libxrandr" ,libxrandr)
1111 ("libxtst" ,libxtst)
1112 ("libxxf86vm" ,libxxf86vm)
1113 ("vte" ,vte)
1114 ("xorgproto" ,xorgproto)))
1115 (synopsis "Color profile manager for the GNOME desktop")
1116 (description "GNOME Color Manager is a session framework that makes
1117it easy to manage, install and generate color profiles
1118in the GNOME desktop.")
1119 (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
7bd000d1 1120 (license license:gpl2+)))
29ae18db 1121
e05471a1
RG
1122(define-public gnome-online-miners
1123 (package
1124 (name "gnome-online-miners")
49dcd7fc 1125 (version "3.34.0")
e05471a1
RG
1126 (source (origin
1127 (method url-fetch)
1128 (uri (string-append "mirror://gnome/sources/" name "/"
1129 (version-major+minor version) "/"
1130 name "-" version ".tar.xz"))
1131 (sha256
1132 (base32
49dcd7fc 1133 "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44"))))
e05471a1
RG
1134 (build-system glib-or-gtk-build-system)
1135 (native-inputs
1136 `(("gettext" ,gettext-minimal)
1137 ("glib:bin" ,glib "bin")
29ae18db 1138 ("gobject-introspection" ,gobject-introspection)
e05471a1
RG
1139 ("gtk+:bin" ,gtk+ "bin")
1140 ("pkg-config" ,pkg-config)))
1141 (inputs
1142 `(("gnome-online-accounts" ,gnome-online-accounts)
1143 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
e05471a1
RG
1144 ("grilo" ,grilo)
1145 ("libgdata" ,libgdata)
1146 ("libgfbgraph" ,gfbgraph)
1147 ("libzapojit" ,libzapojit)
1148 ("rest" ,rest)
1149 ("tracker" ,tracker)))
1150 (synopsis "Web Crawlers for GNOME")
1151 (description "GNOME Online Miners provides a set of crawlers that
1152go through your online content and index them locally in Tracker.
1153It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
1154 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
7bd000d1 1155 (license license:gpl2+)))
e05471a1 1156
e2aed29c
RG
1157(define-public gssdp
1158 (package
1159 (name "gssdp")
c257e0ec 1160 (version "1.2.3")
e2aed29c
RG
1161 (source (origin
1162 (method url-fetch)
1163 (uri (string-append "mirror://gnome/sources/" name "/"
1164 (version-major+minor version) "/"
1165 name "-" version ".tar.xz"))
1166 (sha256
1167 (base32
c257e0ec 1168 "1s57i8a8wnnxnsfl27cq4503dkdlzbrhry5zpg23sfqfffvdqqx2"))))
e2aed29c
RG
1169 (build-system meson-build-system)
1170 (native-inputs
1171 `(("gettext" ,gettext-minimal)
1172 ("glib:bin" ,glib "bin")
1173 ("gobject-introspection" ,gobject-introspection)
1174 ("gtk-doc" ,gtk-doc)
1175 ("pkg-config" ,pkg-config)
1176 ("vala" ,vala)))
1177 (inputs
1178 `(("gtk+" ,gtk+)
1179 ("libsoup" ,libsoup)))
1180 (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery
1181Protocol} for GNOME")
1182 (description "This package provides a library to handle resource discovery
1183and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and
1184a debugging tool, @command{gssdp-device-sniffer}.")
1185 (home-page "https://gitlab.gnome.org/GNOME/gssdp")
1186 (license license:lgpl2.0+)))
1187
291a85b2
RG
1188(define-public gupnp
1189 (package
1190 (name "gupnp")
5b882f47 1191 (version "1.2.4")
291a85b2
RG
1192 (source (origin
1193 (method url-fetch)
1194 (uri (string-append "mirror://gnome/sources/" name "/"
1195 (version-major+minor version) "/"
1196 name "-" version ".tar.xz"))
1197 (sha256
1198 (base32
5b882f47 1199 "1ld7mrpdv9cszmfzh7i19qx4li25j3fr7x1jp38l8phzlmz3187p"))))
291a85b2
RG
1200 (build-system meson-build-system)
1201 (native-inputs
1202 `(("gettext" ,gettext-minimal)
1203 ("glib:bin" ,glib "bin")
1204 ("gobject-introspection" ,gobject-introspection)
1205 ("gtk-doc" ,gtk-doc)
1206 ("pkg-config" ,pkg-config)
1207 ("vala" ,vala)))
1208 (inputs
1209 `(("gssdp" ,gssdp)
1210 ("gtk+" ,gtk+)
1211 ("libsoup" ,libsoup)))
1212 (synopsis "PnP API for GNOME")
1213 (description "This package provides GUPnP, an object-oriented framework
1214for creating UPnP devices and control points, written in C using
1215@code{GObject} and @code{libsoup}.")
1216 (home-page "https://gitlab.gnome.org/GNOME/gupnp")
1217 (license license:lgpl2.0+)))
1218
747d7fe4
RG
1219(define-public gupnp-dlna
1220 (package
1221 (name "gupnp-dlna")
1222 (version "0.10.5")
1223 (source (origin
1224 (method url-fetch)
1225 (uri (string-append "mirror://gnome/sources/" name "/"
1226 (version-major+minor version) "/"
1227 name "-" version ".tar.xz"))
1228 (sha256
1229 (base32
1230 "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj"))))
1231 (build-system gnu-build-system)
1232 (native-inputs
1233 `(("gettext" ,gettext-minimal)
1234 ("glib:bin" ,glib "bin")
1235 ("gobject-introspection" ,gobject-introspection)
1236 ("gtk-doc" ,gtk-doc)
1237 ("libxml" ,libxml2)
1238 ("pkg-config" ,pkg-config)
1239 ("vala" ,vala)))
1240 (inputs
1241 `(("gstreamer" ,gstreamer)
1242 ("gupnp" ,gupnp)))
1243 (propagated-inputs
1244 `(("gst-plugins-base" ,gst-plugins-base)
1245 ("gst-plugins-good" ,gst-plugins-good)))
1246 (synopsis "GUPnP DLNA for GNOME")
1247 (description "This package provides a small utility library to
1248support DLNA-related tasks such as media profile guessing, transcoding to a
1249given profile, etc. DLNA is a subset of UPnP A/V.")
1250 (home-page "https://gitlab.gnome.org/GNOME/gupnp-dlna")
1251 (license license:lgpl2.0+)))
1252
1b4cb628
RG
1253(define-public gupnp-av
1254 (package
1255 (name "gupnp-av")
1256 (version "0.12.11")
1257 (source (origin
1258 (method url-fetch)
1259 (uri (string-append "mirror://gnome/sources/" name "/"
1260 (version-major+minor version) "/"
1261 name "-" version ".tar.xz"))
1262 (sha256
1263 (base32
1264 "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8"))))
1265 (build-system gnu-build-system)
1266 (native-inputs
1267 `(("gettext" ,gettext-minimal)
1268 ("glib:bin" ,glib "bin")
1269 ("gobject-introspection" ,gobject-introspection)
1270 ("gtk-doc" ,gtk-doc)
1271 ("libxml" ,libxml2)
1272 ("pkg-config" ,pkg-config)))
1273 (inputs
1274 `(("gtk+" ,gtk+)
1275 ("gupnp" ,gupnp)))
1276 (synopsis "GUPnP A/V for GNOME")
1277 (description "This package provides a small library for handling
1278and implementation of UPnP A/V profiles.")
1279 (home-page "https://gitlab.gnome.org/GNOME/gupnp-av")
1280 (license license:lgpl2.0+)))
e05471a1 1281
02ebbca8
RG
1282(define-public libmediaart
1283 (package
1284 (name "libmediaart")
1285 (version "1.9.4")
1286 (source (origin
1287 (method url-fetch)
1288 (uri (string-append "mirror://gnome/sources/" name "/"
1289 (version-major+minor version) "/"
1290 name "-" version ".tar.xz"))
1291 (sha256
1292 (base32
1293 "0gc10imyabk57ar54m0qzms0x9dnmkymhkzyk8w1aj3y4lby0yx5"))))
1294 (build-system gnu-build-system)
1295 (native-inputs
1296 `(("glib:bin" ,glib "bin")
1297 ("pkg-config" ,pkg-config)))
1298 (inputs
1299 `(("gdk-pixbuf" ,gdk-pixbuf)
1300 ("gettext" ,gettext-minimal)
1301 ("gobject-introspection" ,gobject-introspection)
1302 ("gtk+:doc", gtk+ "doc")
1303 ("vala" ,vala)))
1304 (synopsis "Media art library for the GNOME desktop")
1305 (description
1306 "The libmediaart library is the foundation for media art caching,
1307extraction, and lookup for applications on the desktop.")
1308 (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
1309 (license license:lgpl2.1+)))
1310
a26680eb
RG
1311(define-public gnome-initial-setup
1312 (package
1313 (name "gnome-initial-setup")
1314 (version "3.32.1")
1315 (source (origin
1316 (method url-fetch)
1317 (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
1318 (version-major+minor version)
1319 "/gnome-initial-setup-" version ".tar.xz"))
1320 (sha256
1321 (base32
1322 "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
1323 (build-system meson-build-system)
1324 (arguments
a65cc579
DM
1325 '(#:configure-flags '(;; Enable camera support for user selfie.
1326 "-Dcheese=auto"
c627e2cb
LC
1327 "-Dsystemd=false")
1328 #:phases (modify-phases %standard-phases
1329 (add-after 'unpack 'set-gkbd-file-name
1330 (lambda* (#:key inputs #:allow-other-keys)
1331 ;; Allow the "Preview" button in the keyboard layout
1332 ;; selection dialog to display the layout.
1333 (let ((libgnomekbd (assoc-ref inputs "libgnomekbd")))
1334 (substitute* "gnome-initial-setup/pages/keyboard/cc-input-chooser.c"
1335 (("\"gkbd-keyboard-display")
1336 (string-append "\"" libgnomekbd
1337 "/bin/gkbd-keyboard-display")))
1338 #t))))))
a26680eb
RG
1339 (native-inputs
1340 `(("gettext" ,gettext-minimal)
1341 ("glib:bin" ,glib "bin")
1342 ("gobject-introspection" ,gobject-introspection)
1343 ("gtk+:bin" ,gtk+ "bin")
1344 ("pkg-config" ,pkg-config)))
1345 (inputs
1346 `(("accountsservice" ,accountsservice)
1347 ;("adwaita-icon-theme" ,adwaita-icon-theme)
1348 ("gdm" ,gdm)
1349 ("geoclue" ,geoclue)
1350 ("gnome-desktop" ,gnome-desktop)
1351 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
1352 ("gnome-online-accounts" ,gnome-online-accounts)
1353 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1354 ("gstreamer" ,gstreamer)
1355 ("ibus" ,ibus)
1356 ("json-glib" ,json-glib)
1357 ("krb5" ,mit-krb5)
1358 ("libgweather" ,libgweather)
8d9477b8 1359 ("libnma" ,libnma)
a26680eb
RG
1360 ("libsecret" ,libsecret)
1361 ("network-manager" ,network-manager)
a26680eb
RG
1362 ("packagekit" ,packagekit)
1363 ("polkit" ,polkit)
1364 ("pwquality" ,libpwquality)
1365 ("rest" ,rest)
1366 ("upower" ,upower)
c627e2cb
LC
1367 ("webkitgtk" ,webkitgtk)
1368 ("libgnomekbd" ,libgnomekbd)))
a26680eb 1369 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
1370 (description "This package provides a set-up wizard when a
1371user logs into GNOME for the first time. It typically provides a
1372tour of all gnome components and allows the user to set them up.")
a26680eb
RG
1373 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
1374 (license license:gpl2)))
1375
b5f01392
RG
1376(define-public gnome-user-share
1377 (package
1378 (name "gnome-user-share")
1379 (version "3.33.1")
1380 (source (origin
1381 (method url-fetch)
1382 (uri (string-append "mirror://gnome/sources/" name "/"
1383 (version-major+minor version) "/"
1384 name "-" version ".tar.xz"))
1385 (sha256
1386 (base32
1387 "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7"))))
1388 (build-system meson-build-system)
1389 (arguments
1390 `(#:glib-or-gtk? #t
1391 #:configure-flags
1392 `("-Dsystemd=false"
1393 ;; Enable nautilus extension for file sharing.
1394 "-Dnautilus_extension=true")))
1395 (native-inputs
1396 `(("gettext" ,gettext-minimal)
1397 ("glib:bin" ,glib "bin")
1398 ("gobject-introspection" ,gobject-introspection)
1399 ("gtk+:bin" ,gtk+ "bin")
1400 ("pkg-config" ,pkg-config)
1401 ("yelp-tools" ,yelp-tools)))
1402 (inputs
1403 `(("glib" ,glib)
1404 ("gnome-bluetooth" ,gnome-bluetooth)
1405 ("gtk+" ,gtk+)
1406 ("libcanberra" ,libcanberra)
1407 ("libnotify" ,libnotify)
1408 ("nautilus" ,nautilus))) ; For nautilus extension.
1409 (synopsis "File sharing for GNOME desktop")
1410 (description "GNOME User Share is a small package that binds together
1411various free software projects to bring easy to use user-level file
1412sharing to the masses.")
1413 (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
2aeca24b 1414 (license license:gpl2+)))
b5f01392 1415
04b201bb
RG
1416(define-public sushi
1417 (package
1418 (name "sushi")
1419 (version "3.32.1")
1420 (source (origin
1421 (method url-fetch)
1422 (uri (string-append "mirror://gnome/sources/" name "/"
1423 (version-major+minor version) "/"
1424 name "-" version ".tar.xz"))
1425 (sha256
1426 (base32
1427 "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj"))))
1428 (build-system meson-build-system)
1429 (arguments
1430 `(#:glib-or-gtk? #t
1431 #:phases
1432 (modify-phases %standard-phases
1433 (add-after 'glib-or-gtk-wrap 'wrap-typelib
1434 (lambda* (#:key outputs #:allow-other-keys)
1435 (let ((prog (string-append (assoc-ref outputs "out")
1436 "/bin/sushi")))
1437 ;; Put existing typelibs before sushi's deps, so as to correctly
1438 ;; infer gdk-pixbuf
1439 (wrap-program prog
1440 `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH"))))
1441 #t))))))
1442 (native-inputs
1443 `(("glib:bin" ,glib "bin")
1444 ("gettext" ,gettext-minimal)
1445 ("gobject-introspection" ,gobject-introspection)
1446 ("pkg-config" ,pkg-config)))
1447 (inputs
1448 `(("clutter" ,clutter)
1449 ("clutter-gst" ,clutter-gst)
1450 ("clutter-gtk" ,clutter-gtk)
1451 ("evince" ,evince) ; For file previewing.
1452 ("freetype" ,freetype)
1453 ("gdk-pixbuf" ,gdk-pixbuf)
1454 ("gjs" ,gjs)
1455 ("gst-plugins-base" ,gst-plugins-base)
1456 ("gstreamer" ,gstreamer)
1457 ("gtksourceview" ,gtksourceview-3)
1458 ("harfbuzz" ,harfbuzz)
1459 ("libepoxy" ,libepoxy)
1460 ("libmusicbrainz" ,libmusicbrainz)
1461 ("libxml2" ,libxml2)
1462 ("neon" ,neon)
1463 ("webkitgtk" ,webkitgtk)))
1464 (synopsis "File previewer for the GNOME desktop")
1465 (description "Sushi is a DBus-activated service that allows applications to
1466preview files on the GNOME desktop.")
1467 (home-page "https://gitlab.gnome.org/GNOME/sushi")
1468 (license license:gpl2+)))
1469
89af0902
RG
1470(define-public rygel
1471 (package
1472 (name "rygel")
1473 (version "0.38.3")
1474 (source (origin
1475 (method url-fetch)
1476 (uri (string-append "mirror://gnome/sources/" name "/"
1477 (version-major+minor version) "/"
1478 name "-" version ".tar.xz"))
1479 (sha256
1480 (base32
1481 "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8"))))
1482 (build-system gnu-build-system)
1483 (native-inputs
1484 `(("gettext" ,gettext-minimal)
1485 ("gobject-introspection" ,gobject-introspection)
1486 ("gtk-doc" ,gtk-doc)
1487 ("pkg-config" ,pkg-config)
1488 ("vala" ,vala)))
1489 (inputs
1490 `(("gdk-pixbuf" ,gdk-pixbuf)
1491 ("gssdp" ,gssdp)
1492 ("gstreamer" ,gstreamer)
1493 ("gst-plugins-base" ,gst-plugins-base)
1494 ("gtk+" ,gtk+)
1495 ("gupnp" ,gupnp)
1496 ("gupnp-av" ,gupnp-av)
1497 ("gupnp-dlna" ,gupnp-dlna)
1498 ("libgee" ,libgee)
1499 ("libmediaart" ,libmediaart)
1500 ("libsoup" ,libsoup)
1501 ("libxslt" ,libxslt)
1502 ("libunistring" ,libunistring)
1503 ("tracker" ,tracker)))
1504 (synopsis "Share audio, video, and pictures with other devices")
1505 (description
1506 "Rygel is a home media solution (@dfn{UPnP AV MediaServer and
1507MediaRenderer}) for GNOME that allows you to easily share audio, video, and
1508pictures, and to control a media player on your home network.
1509
1510Rygel achieves interoperability with other devices by trying to conform to the
1511strict requirements of DLNA and by converting media on-the-fly to formats that
1512client devices can handle.")
1513 (home-page "https://wiki.gnome.org/Projects/Rygel")
1514 (license (list
1515 ;; For logo (data/icons/*).
1516 license:cc-by-sa3.0
1517 ;; For all others.
1518 license:lgpl2.1+))))
1519
47e87093
RG
1520(define-public libnma
1521 (package
b1da33d9
BW
1522 (name "libnma")
1523 (version "1.8.28")
1524 (source (origin
1525 (method url-fetch)
1526 (uri (string-append "mirror://gnome/sources/" name "/"
1527 (version-major+minor version) "/"
1528 name "-" version ".tar.xz"))
1529 (sha256
1530 (base32
1531 "09mp6k0hfam1vyyv9kcd8j4gb2r58i05ipx2nswb58ris599bxja"))))
1532 (build-system meson-build-system)
1533 (arguments
1534 `(#:phases
1535 (modify-phases %standard-phases
1536 (add-after 'unpack 'patch-docbook-xml
1537 (lambda* (#:key inputs #:allow-other-keys)
1538 (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
1539 "/xml/dtd/docbook")))
1540 (substitute* "libnma-docs.xml"
1541 (("http://.*/docbookx\\.dtd")
1542 (string-append xmldoc "/docbookx.dtd")))
1543 #t))))))
1544 (native-inputs
1545 `(("docbook-xml" ,docbook-xml-4.3)
1546 ("gettext" ,gettext-minimal)
1547 ("glib:bin" ,glib "bin")
1548 ("gtk-doc" ,gtk-doc)
1549 ("gobject-introspection" ,gobject-introspection)
1550 ("pkg-config" ,pkg-config)
1551 ("vala" ,vala)))
1552 (inputs
1553 `(("gcr" ,gcr)
1554 ("gtk+" ,gtk+)
1555 ("iso-codes" ,iso-codes)
1556 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
1557 ("network-manager" ,network-manager)))
1558 (synopsis "Network Manager's applet library")
1559 (description "Libnma is an applet library for Network Manager. It was
47e87093
RG
1560initially part of network-manager-applet and has now become a separate
1561project.")
c25ca6b7
BW
1562 (home-page "https://gitlab.gnome.org/GNOME/libnma")
1563 ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
1564 ;; "LGPL-2.1+".
1565 (license license:gpl2+)))
47e87093 1566
30416265
RG
1567(define-public gnome-menus
1568 (package
1569 (name "gnome-menus")
1570 (version "3.32.0")
1571 (source (origin
1572 (method url-fetch)
1573 (uri (string-append "mirror://gnome/sources/gnome-menus/"
1574 (version-major+minor version) "/"
1575 name "-" version ".tar.xz"))
1576 (sha256
1577 (base32
1578 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
1579 (build-system gnu-build-system)
1580 (native-inputs
1581 `(("gettext" ,gettext-minimal)
1582 ("glib" ,glib)
1583 ("pkg-config" ,pkg-config)))
1584 (synopsis "Menu support for GNOME desktop")
1585 (description "GNOME Menus contains the libgnome-menu library, the layout
1586configuration files for the GNOME menu, as well as a simple menu editor.")
1587 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 1588 (license license:lgpl2.0+)))
30416265 1589
d61a894b
CB
1590(define-public deja-dup
1591 (package
1592 (name "deja-dup")
899ffa13 1593 (version "40.6")
d61a894b 1594 (source (origin
899ffa13
BW
1595 (method url-fetch)
1596 (uri (string-append "https://gitlab.gnome.org/World/deja-dup/-/archive/"
1597 version "/deja-dup-" version ".tar.bz2"))
1598 (sha256
1599 (base32
1600 "0lwazh6crby5wpy9fg6zvwy4plqbhs2f98bm5lbizjdlbh88n5q0"))))
1601 (build-system meson-build-system)
d61a894b 1602 (arguments
899ffa13
BW
1603 `(#:glib-or-gtk? #t
1604 #:configure-flags
1605 (list
1606 ;; Otherwise, the RUNPATH will lack the final path component.
1607 (string-append "-Dc_link_args=-Wl,-rpath="
1608 (assoc-ref %outputs "out") "/lib/deja-dup"))
d61a894b
CB
1609 #:phases
1610 (modify-phases %standard-phases
899ffa13
BW
1611 (add-after 'unpack 'patch-paths
1612 (lambda* (#:key inputs #:allow-other-keys)
1613 (let ((python (assoc-ref inputs "python")))
1614 (substitute* '("libdeja/tools/duplicity/DuplicityInstance.vala"
1615 "libdeja/tests/scripts/instance-error.test")
1616 (("/bin/rm")
1617 (which "rm")))
1618 (substitute* "libdeja/tests/runner.vala"
1619 (("/bin/sh")
1620 (which "sh")))
1621 (substitute* "libdeja/tests/scripts/instance-error.test"
1622 (("`which python3`")
1623 (string-append python "/bin/python3"))))))
1624 (add-after 'unpack 'patch-libgpg-error
1625 (lambda* (#:key inputs #:allow-other-keys)
1626 (let ((libgpg-error (assoc-ref inputs "libgpg-error")))
1627 (substitute* "meson.build"
1628 (("(gpgerror_libs = ).*" _ var)
1629 (format #f "~a '-L~a/lib -lgpg-error'\n" var libgpg-error))))
1630 #t))
1631 (add-after 'unpack 'skip-gtk-update-icon-cache
1632 ;; Don't create 'icon-theme.cache'.
1633 (lambda _
1634 (substitute* "data/post-install.sh"
1635 (("gtk-update-icon-cache") "true"))
1636 #t)))))
d61a894b
CB
1637 (inputs
1638 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
d61a894b 1639 ("duplicity" ,duplicity)
899ffa13
BW
1640 ("python" ,python)
1641 ("python-pygobject" ,python-pygobject)
d61a894b 1642 ("gtk+" ,gtk+)
899ffa13 1643 ("json-glib" ,json-glib)
d61a894b 1644 ("libnotify" ,libnotify)
899ffa13 1645 ("libgpg-error" ,libgpg-error)
d61a894b 1646 ("libsecret" ,libsecret)
899ffa13 1647 ("libsoup" ,libsoup)
d61a894b
CB
1648 ("packagekit" ,packagekit)))
1649 (native-inputs
899ffa13
BW
1650 `(("appstream-glib" ,appstream-glib)
1651 ("desktop-file-utils" ,desktop-file-utils)
d61a894b 1652 ("gettext" ,gettext-minimal)
899ffa13
BW
1653 ("glib" ,glib "bin") ; for glib-compile-schemas.
1654 ("gobject-introspection" ,gobject-introspection)
d61a894b 1655 ("itstool" ,itstool)
899ffa13
BW
1656 ("pkg-config" ,pkg-config)
1657 ("vala" ,vala)))
1658 (home-page "https://wiki.gnome.org/Apps/DejaDup")
d61a894b
CB
1659 (synopsis "Simple backup tool, for regular encrypted backups")
1660 (description
1661 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
1662uses duplicity as the backend, which supports incremental backups and storage
1663either on a local, or remote machine via a number of methods.")
1664 (license license:gpl3+)))
1665
823b77fb
RG
1666(define-public gnome-user-docs
1667 (package
1668 (name "gnome-user-docs")
1669 (version "3.32.3")
1670 (source
1671 (origin
1672 (method url-fetch)
1673 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
1674 (version-major+minor version)
1675 "/gnome-user-docs-" version ".tar.xz"))
1676 (sha256
1677 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
1678 (build-system gnu-build-system)
1679 (native-inputs
1680 `(("gettext" ,gettext-minimal)
1681 ("itstool" ,itstool)
1682 ("pkg-config" ,pkg-config)
1683 ("xmllint" ,libxml2)))
1684 (synopsis "User documentation for the GNOME desktop")
1685 (description
1686 "The GNOME User Documentation explains how to use the GNOME desktop and its
1687components. It covers usage and setup of the core GNOME programs by end-users
1688and system administrators.")
1689 (home-page "https://live.gnome.org/DocumentationProject")
1690 (license license:cc-by3.0)))
1691
be93299d
RG
1692(define-public gnome-getting-started-docs
1693 (package
1694 (name "gnome-getting-started-docs")
1695 (version "3.32.2")
1696 (source
1697 (origin
1698 (method url-fetch)
1699 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
1700 (version-major+minor version)
1701 "/gnome-getting-started-docs-" version ".tar.xz"))
1702 (sha256
1703 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
1704 (build-system gnu-build-system)
1705 (native-inputs
1706 `(("gettext" ,gettext-minimal)
1707 ("itstool" ,itstool)
1708 ("pkg-config" ,pkg-config)
1709 ("xmllint" ,libxml2)))
1710 (synopsis "Help to get new users started with the GNOME desktop")
1711 (description
1712 "The GNOME Getting Started Documentation contains GNOME's intuitive
1713\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
1714
1715It is normally used together with @command{gnome-initial-setup}, but is also
1716useful as a tutorial and users' guide for new or less experienced users.")
1717 (home-page "https://live.gnome.org/DocumentationProject")
1718 (license license:cc-by-sa3.0)))
1719
a56be436
RJ
1720(define-public dia
1721 ;; This version from GNOME's repository includes fixes for compiling with
1722 ;; recent versions of the build tools. The latest activity on the
1723 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
f8687cb2
TGR
1724 ;; fixes since.
1725 (let ((commit "3cf7ec4c2e5bca139a7f3e17f9fc9009c237fcc5")
1726 (revision "2"))
a56be436
RJ
1727 (package
1728 (name "dia")
f8687cb2 1729 (version (git-version "0.97.3" revision commit))
a56be436
RJ
1730 (source (origin
1731 (method git-fetch)
1732 (uri (git-reference
914c8cdf 1733 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 1734 (commit commit)))
914c8cdf 1735 (file-name (git-file-name name version))
a56be436
RJ
1736 (sha256
1737 (base32
f8687cb2
TGR
1738 "04r8dspa6nmicrifhi3sh46hqvyy88hzq37xx99q3q1mwsrpmwy8"))))
1739 (build-system meson-build-system)
a56be436 1740 (inputs
f8687cb2 1741 `(("graphene" ,graphene)
a56be436
RJ
1742 ("gtk+" ,gtk+-2)
1743 ("libxml2" ,libxml2)
f8687cb2
TGR
1744 ("libxslt" ,libxslt)
1745 ("poppler" ,poppler)
1746 ;; Without Python 2, build fails: plug-ins/python/meson.build:4:0:
1747 ;; ERROR: Unknown method "dependency" in object.
1748 ("python-2" ,python-2)))
a56be436 1749 (native-inputs
f8687cb2
TGR
1750 `(("appstream-glib" ,appstream-glib)
1751 ("docbook-xsl" ,docbook-xsl)
a315afa3 1752 ("glib" ,glib "bin")
f8687cb2
TGR
1753 ("intltool" ,intltool)
1754 ("pkg-config" ,pkg-config)))
a56be436
RJ
1755 (home-page "https://wiki.gnome.org/Apps/Dia")
1756 (synopsis "Diagram creation for GNOME")
1757 (description "Dia can be used to draw different types of diagrams, and
1758includes support for UML static structure diagrams (class diagrams), entity
1759relationship modeling, and network diagrams. The program supports various file
1760formats like PNG, SVG, PDF and EPS.")
1761 (license license:gpl2+))))
1762
d0b19e44
RW
1763;; This is the unstable release, but it is required for the current stable
1764;; release of gvfs (1.38.1).
adc5cb1b
KK
1765(define-public libgdata
1766 (package
1767 (name "libgdata")
d0b19e44 1768 (version "0.17.9")
adc5cb1b
KK
1769 (source (origin
1770 (method url-fetch)
1771 (uri (string-append "mirror://gnome/sources/" name "/"
1772 (version-major+minor version) "/"
1773 name "-" version ".tar.xz"))
1774 (sha256
1775 (base32
d0b19e44 1776 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
1777 (build-system gnu-build-system)
1778 (arguments
1779 '(#:phases
1780 (modify-phases %standard-phases
448052b7
TGR
1781 (add-before 'check 'disable-failing-tests
1782 (lambda _
1783 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
1784 ;; They have been removed in libgdata 0.17.6, so just do the same.
1785 (substitute* "gdata/tests/Makefile"
1786 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
1787 #t)))))
1788 (native-inputs
1789 `(("glib:bin" ,glib "bin")
1790 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1791 ("intltool" ,intltool)
1792 ("pkg-config" ,pkg-config)
1793 ("uhttpmock" ,uhttpmock)))
1794 (inputs
1795 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 1796 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
1797 (propagated-inputs
1798 `(("gcr" ,gcr)
d0b19e44 1799 ("glib" ,glib)
14c297fd 1800 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 1801 ("json-glib" ,json-glib)
adc5cb1b 1802 ("liboauth" ,liboauth)
d0b19e44 1803 ("libsoup" ,libsoup)
adc5cb1b
KK
1804 ("libxml2" ,libxml2)))
1805 (home-page "https://wiki.gnome.org/Projects/libgdata")
1806 (synopsis "Library for accessing online service APIs")
1807 (description
1808 "libgdata is a GLib-based library for accessing online service APIs using
1809the GData protocol — most notably, Google's services. It provides APIs to
1810access the common Google services, and has full asynchronous support.")
1811 (license license:lgpl2.1+)))
1812
94e10cf4
KK
1813(define-public libgxps
1814 (package
1815 (name "libgxps")
66470a5a 1816 (version "0.3.1")
94e10cf4
KK
1817 (source (origin
1818 (method url-fetch)
7f10628c 1819 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
1820 (version-major+minor version) "/"
1821 name "-" version ".tar.xz"))
1822 (sha256
1823 (base32
66470a5a 1824 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 1825 (build-system meson-build-system)
94e10cf4
KK
1826 (native-inputs
1827 `(("gobject-introspection" ,gobject-introspection)
1828 ("pkg-config" ,pkg-config)))
1829 (inputs
c8d62d93 1830 `(("gtk+" ,gtk+)
b6b3e512 1831 ("libjpeg" ,libjpeg-turbo)
94e10cf4 1832 ("lcms" ,lcms)
0a6e9e13 1833 ("libtiff" ,libtiff)))
c8d62d93
MB
1834 (propagated-inputs
1835 ;; In Requires of libgxps.pc.
1836 `(("cairo" ,cairo)
1837 ("glib" ,glib)
1838 ("libarchive" ,libarchive)))
94e10cf4
KK
1839 (home-page "https://wiki.gnome.org/Projects/libgxps")
1840 (synopsis "GObject-based library for handling and rendering XPS documents")
1841 (description
1842 "libgxps is a GObject-based library for handling and rendering XPS
1843documents. This package also contains binaries that can convert XPS documents
1844to other formats.")
1845 (license license:lgpl2.1+)))
1846
4e09f57a
RG
1847(define-public gnome-characters
1848 (package
1849 (name "gnome-characters")
1850 (version "3.30.0")
1851 (source
1852 (origin
1853 (method url-fetch)
1854 (uri (string-append "mirror://gnome/sources/"
1855 "gnome-characters/" (version-major+minor version)
1856 "/gnome-characters-" version ".tar.xz"))
1857 (sha256
1858 (base32
1859 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
1860 (build-system meson-build-system)
5757c641 1861 (arguments
1862 `(#:glib-or-gtk? #t
1863 #:phases (modify-phases %standard-phases
1864 (add-after 'install 'wrap
1865 (lambda* (#:key outputs #:allow-other-keys)
1866 ;; GNOME Characters needs Typelib files from GTK and
1867 ;; gnome-desktop.
1868 (wrap-program (string-append (assoc-ref outputs "out")
1869 "/bin/gnome-characters")
1870 `("GI_TYPELIB_PATH" ":" prefix
1871 (,(getenv "GI_TYPELIB_PATH"))))
1872 #t)))))
4e09f57a
RG
1873 (native-inputs
1874 `(("gettext" ,gettext-minimal)
1875 ("glib:bin" ,glib "bin")
1876 ("gtk+:bin" ,gtk+ "bin")
1877 ("pkg-config" ,pkg-config)
1878 ("python" ,python-minimal)))
1879 (inputs
1880 `(("gjs" ,gjs)
1881 ("gtk+" ,gtk+)
5757c641 1882 ("libunistring" ,libunistring)
1883 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
1884 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
1885 (synopsis "Find and insert unusual characters")
1886 (description "Characters is a simple utility application to find
1887and insert unusual characters. It allows you to quickly find the
1888character you are looking for by searching for keywords.")
1889 (license license:bsd-3)))
1890
7aab13f1
ML
1891(define-public gnome-common
1892 (package
1893 (name "gnome-common")
af83490d 1894 (version "3.18.0")
7aab13f1
ML
1895 (source
1896 (origin
1897 (method url-fetch)
1898 (uri (string-append "mirror://gnome/sources/" name "/"
1899 (version-major+minor version) "/"
1900 name "-" version ".tar.xz"))
1901 (sha256
1902 (base32
af83490d 1903 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
1904 (build-system gnu-build-system)
1905 (home-page "https://www.gnome.org/")
1906 (synopsis "Bootstrap GNOME modules built from Git")
1907 (description "gnome-common contains various files needed to bootstrap
1908GNOME modules built from Git. It contains a common \"autogen.sh\" script that
1909can be used to configure a source directory checked out from Git and some
1910commonly used macros.")
1911 (license license:gpl2+)))
1912
4e868d22
RG
1913(define-public gnome-contacts
1914 (package
1915 (name "gnome-contacts")
b3492e39 1916 (version "3.34")
4e868d22
RG
1917 (source (origin
1918 (method url-fetch)
1919 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
1920 (version-major+minor version) "/"
1921 name "-" version ".tar.xz"))
1922 (sha256
1923 (base32
b3492e39 1924 "04igc9xvyc4kb5xf5g2missnvyvj9zv5cqxf5k4z7hb0sv42wq4r"))))
4e868d22
RG
1925 (build-system meson-build-system)
1926 (arguments
b3492e39
KK
1927 `(#:configure-flags '("-Dcheese=false")
1928 #:phases
4e868d22
RG
1929 (modify-phases %standard-phases
1930 (add-after 'unpack 'generate-vapis
1931 (lambda* (#:key inputs #:allow-other-keys)
1932 ;; To generate goa's missing .vapi file
1933 (define goa
1934 (assoc-ref inputs "gnome-online-accounts:lib"))
1935
1936 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
1937 "--library=goa-1.0"
1938 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
b3492e39
KK
1939 #t))
1940 (add-after 'unpack 'skip-gtk-update-icon-cache
1941 ;; Don't create 'icon-theme.cache'.
1942 (lambda _
1943 (substitute* "build-aux/meson_post_install.py"
1944 (("gtk-update-icon-cache") "true"))
4e868d22
RG
1945 #t)))))
1946 (native-inputs
1947 `(("glib:bin" ,glib "bin")
4e868d22
RG
1948 ("pkg-config" ,pkg-config)))
1949 (inputs
b3492e39 1950 `(("docbook-xml" ,docbook-xml)
4e868d22
RG
1951 ("dockbook-xsl" ,docbook-xsl)
1952 ("evolution-data-server" ,evolution-data-server)
1953 ("gettext" ,gettext-minimal)
1954 ("gnome-desktop" ,gnome-desktop)
1955 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1956 ("gobject-introspection" ,gobject-introspection)
1957 ("gst-plugins-base" ,gst-plugins-base)
1958 ("gtk+" ,gtk+)
1959 ("libgee" ,libgee)
1960 ("libxslt" ,libxslt)
1961 ("telepathy-glib" ,telepathy-glib)
1962 ("vala" ,vala)))
1963 (propagated-inputs
1964 `(("folks", folks)
1965 ("telepathy-mission-control" ,telepathy-mission-control)))
1966 (synopsis "GNOME's integrated address book")
1967 (description
1968 "GNOME Contacts organizes your contact information from online and
1969offline sources, providing a centralized place for managing your contacts.")
1970 (home-page "https://wiki.gnome.org/Apps/Contacts")
1971 (license license:gpl2+)))
1972
9cc98f8a
CR
1973(define-public gnome-desktop
1974 (package
1975 (name "gnome-desktop")
8a7afc81 1976 (version "3.34.2")
9cc98f8a
CR
1977 (source
1978 (origin
1979 (method url-fetch)
b38e45d8
EB
1980 (uri (string-append "mirror://gnome/sources/" name "/"
1981 (version-major+minor version) "/"
9cc98f8a
CR
1982 name "-" version ".tar.xz"))
1983 (sha256
1984 (base32
8a7afc81 1985 "1v983xirwp1y6ggz97bh742ak6gff0hxb359dgn37nikjxhvm0a0"))))
e8a26caa 1986 (build-system meson-build-system)
a0fe7c06
CB
1987 (arguments
1988 '(#:phases
1989 (modify-phases %standard-phases
1990 (add-before 'configure 'patch-path
1991 (lambda* (#:key inputs #:allow-other-keys)
1992 (let ((libc (assoc-ref inputs "libc")))
1993 (substitute* "libgnome-desktop/gnome-languages.c"
1994 (("\"locale\"")
1995 (string-append "\"" libc "/bin/locale\"")))
e8a26caa 1996 #t)))
3857aba7
CB
1997 (add-before 'configure 'patch-bubblewrap
1998 (lambda* (#:key inputs #:allow-other-keys)
1999 (substitute* "libgnome-desktop/gnome-desktop-thumbnail-script.c"
2000 (("\"bwrap\",")
2001 (string-append "\"" (which "bwrap") "\","))
2002 (("\"--ro-bind\", \"/usr\", \"/usr\",")
2003 (string-append "\"--ro-bind\", \""
2004 (%store-directory)
2005 "\", \""
2006 (%store-directory)
2007 "\","))
2008 (("\"--ro-bind\", \"/etc/ld.so.cache\", \"/etc/ld.so.cache\",") ""))
2009 #t))
e8a26caa
KK
2010 (add-before 'check 'pre-check
2011 (lambda* (#:key inputs #:allow-other-keys)
2012 ;; Tests require a running X server and locales.
2013 (system "Xvfb :1 &")
2014 (setenv "DISPLAY" ":1")
2015 (setenv "GUIX_LOCPATH"
2016 (string-append (assoc-ref inputs "glibc-locales")
2017 "/lib/locale"))
2018 #t)))))
9cc98f8a 2019 (native-inputs
e8a26caa
KK
2020 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
2021 ("glibc-locales" ,glibc-locales) ; for tests
2022 ("gobject-introspection" ,gobject-introspection)
a8340482 2023 ("itstool" ,itstool)
bcb354ad
SB
2024 ("intltool" ,intltool)
2025 ("pkg-config" ,pkg-config)
e8a26caa
KK
2026 ("xmllint" ,libxml2)
2027 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
2028 (propagated-inputs
2029 ;; Required by gnome-desktop-3.0.pc.
2030 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 2031 ("gtk+" ,gtk+)
9cc98f8a 2032 ("iso-codes" ,iso-codes)
9863ce20 2033 ("libseccomp" ,libseccomp)
9cc98f8a 2034 ("libx11" ,libx11)
e8a26caa
KK
2035 ("xkeyboard-config" ,xkeyboard-config)))
2036 (inputs
2037 `(("gdk-pixbuf" ,gdk-pixbuf)
2038 ("glib" ,glib)
3857aba7 2039 ("bubblewrap" ,bubblewrap)
9cc98f8a
CR
2040 ("libxext" ,libxext)
2041 ("libxkbfile" ,libxkbfile)
e8a26caa 2042 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
2043 (home-page "https://www.gnome.org/")
2044 (synopsis
35b9e423 2045 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
2046 (description
2047 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
2048on the desktop, but that cannot live in the platform for various reasons.
2049There is no API or ABI guarantee, although we are doing our best to provide
2050stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
2051
2052The gnome-about program helps find which version of GNOME is installed.")
2053 ; Some bits under the LGPL.
1dd26275 2054 (license license:gpl2+)))
9cc98f8a 2055
995b7261
AE
2056(define-public gnome-doc-utils
2057 (package
2058 (name "gnome-doc-utils")
2059 (version "0.20.10")
2060 (source
2061 (origin
2062 (method url-fetch)
b38e45d8
EB
2063 (uri (string-append "mirror://gnome/sources/" name "/"
2064 (version-major+minor version) "/"
995b7261
AE
2065 name "-" version ".tar.xz"))
2066 (sha256
2067 (base32
2068 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
2069 (build-system gnu-build-system)
c4c4cc05 2070 (native-inputs
995b7261 2071 `(("intltool" ,intltool)
b4ce6300 2072 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 2073 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
2074 ("libxml2" ,libxml2)
2075 ("libxslt" ,libxslt)
2076 ("pkg-config" ,pkg-config)
2077 ("python-2" ,python-2)))
995b7261
AE
2078 (home-page "https://wiki.gnome.org/GnomeDocUtils")
2079 (synopsis
2080 "Documentation utilities for the Gnome project")
2081 (description
2082 "Gnome-doc-utils is a collection of documentation utilities for the
2083Gnome project. It includes xml2po tool which makes it easier to translate
2084and keep up to date translations of documentation.")
1dd26275 2085 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 2086
6c4f7022
DC
2087(define-public gnome-disk-utility
2088 (package
2089 (name "gnome-disk-utility")
262e660e 2090 (version "3.34.0")
6c4f7022
DC
2091 (source (origin
2092 (method url-fetch)
2093 (uri (string-append "mirror://gnome/sources/" name "/"
2094 (version-major+minor version) "/"
2095 name "-" version ".tar.xz"))
2096 (sha256
2097 (base32
262e660e 2098 "1mb7q90lnlp97dhxhnadhjagcfd12dfqzp0vj9h6b1r61pzhy97y"))))
4b9a65bf 2099 (build-system meson-build-system)
321c73c3 2100 (arguments
262e660e
KK
2101 '(#:configure-flags '("-Dlogind=libelogind")
2102 #:phases
321c73c3
EF
2103 (modify-phases %standard-phases
2104 (add-after 'unpack 'skip-gtk-update-icon-cache
2105 ;; Don't create 'icon-theme.cache'.
2106 (lambda _
2107 (substitute* "meson_post_install.py"
2108 (("gtk-update-icon-cache") "true"))
2109 #t)))))
6c4f7022
DC
2110 (native-inputs
2111 `(("glib:bin" ,glib "bin")
2112 ("intltool" ,intltool)
2113 ("pkg-config" ,pkg-config)
2114 ("docbook-xml" ,docbook-xml)
2115 ("docbook-xsl" ,docbook-xsl)
2116 ("libxml2" ,libxml2)
2117 ("libxslt" ,libxslt)))
2118 (inputs
262e660e
KK
2119 `(("elogind" ,elogind)
2120 ("glib" ,glib)
6c4f7022
DC
2121 ("appstream-glib" ,appstream-glib)
2122 ("gnome-settings-daemon" ,gnome-settings-daemon)
2123 ("gtk+" ,gtk+)
2124 ("libcanberra" ,libcanberra)
2125 ("libdvdread" ,libdvdread)
2126 ("libnotify" ,libnotify)
2127 ("libpwquality" ,libpwquality)
2128 ("libsecret" ,libsecret)
2129 ("udisks" ,udisks)))
2130 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
2131 (synopsis "Disk management utility for GNOME")
2132 (description "Disk management utility for GNOME.")
2133 (license license:gpl2+)))
2134
3d217317
RG
2135(define-public gnome-font-viewer
2136 (package
2137 (name "gnome-font-viewer")
2138 (version "3.30.0")
2139 (source (origin
2140 (method url-fetch)
2141 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
2142 (version-major+minor version)
2143 "/gnome-font-viewer-" version ".tar.xz"))
2144 (sha256
2145 (base32
2146 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
2147 (build-system meson-build-system)
2148 (arguments
2149 '(#:phases
2150 (modify-phases %standard-phases
2151 (add-after 'unpack 'patch-post-install-script
2152 (lambda _
2153 (substitute* "meson-postinstall.sh"
2154 (("update-desktop-database") (which "true")))
2155 #t)))))
2156 (native-inputs
2157 `(("gettext" ,gettext-minimal)
2158 ("glib:bin" ,glib "bin")
2159 ("pkg-config" ,pkg-config)))
2160 (inputs
2161 `(("glib" ,glib)
2162 ("gnome-desktop" ,gnome-desktop)
2163 ("gtk+" ,gtk+)))
2164 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
2165 (synopsis "GNOME Fonts")
2166 (description "Application to show you the fonts installed on your computer
2167for your use as thumbnails. Selecting any thumbnails shows the full view of how
2168the font would look under various sizes.")
2169 (license license:gpl2+)))
2170
8ff49011
RW
2171(define-public gcr
2172 (package
2173 (name "gcr")
1de804da 2174 (version "3.34.0")
8ff49011 2175 (source (origin
0daf0efb
RW
2176 (method url-fetch)
2177 (uri (string-append "mirror://gnome/sources/" name "/"
2178 (version-major+minor version) "/"
2179 name "-" version ".tar.xz"))
2180 (sha256
2181 (base32
1de804da 2182 "0925snsixzkwh49xiayqmj6fcrmklqk8kyy0jkv7m64h9abm1pr9"))))
8ff49011
RW
2183 (build-system gnu-build-system)
2184 (arguments
0daf0efb
RW
2185 '(#:phases
2186 (modify-phases %standard-phases
2187 ;; These fail because /var/lib/dbus/machine-id is not present in the
2188 ;; build environment.
2189 (add-after 'unpack 'disable-failing-tests
2190 (lambda _
1de804da
MB
2191 (substitute* "Makefile.in"
2192 (("[[:blank:]]+test-system-prompt\\$\\(EXEEXT\\)")
2193 ""))
0daf0efb
RW
2194 #t))
2195 (add-before 'check 'pre-check
2196 (lambda _
2197 ;; Some tests expect to write to $HOME.
2198 (setenv "HOME" "/tmp")
2199 #t)))))
8ff49011
RW
2200 (inputs
2201 `(("dbus" ,dbus)
0daf0efb 2202 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
2203 ("libgcrypt" ,libgcrypt)))
2204 (native-inputs
1de804da 2205 `(("python" ,python-wrapper) ;for tests
8ff49011 2206 ("pkg-config" ,pkg-config)
1de804da 2207 ("gettext" ,gettext-minimal)
8ff49011 2208 ("glib" ,glib "bin")
2af4f5b0 2209 ("gobject-introspection" ,gobject-introspection)
0daf0efb 2210 ("libxml2" ,libxml2)
bea6b829 2211 ("vala" ,vala)
2af4f5b0 2212 ("xsltproc" ,libxslt)))
8ff49011
RW
2213 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
2214 (propagated-inputs
2215 `(("p11-kit" ,p11-kit)
2216 ("glib" ,glib)
2217 ("gtk+" ,gtk+)))
f032d0be 2218 (home-page "https://www.gnome.org")
8ff49011
RW
2219 (synopsis "Libraries for displaying certificates and accessing key stores")
2220 (description
2221 "The GCR package contains libraries used for displaying certificates and
2222accessing key stores. It also provides the viewer for crypto files on the
2223GNOME Desktop.")
2224 (license license:lgpl2.1+)))
2225
88e61bd4
MC
2226(define-public gdl
2227 (package
2228 (name "gdl")
2229 (version "3.34.0")
2230 (source (origin
2231 (method git-fetch)
2232 (uri (git-reference
2233 (url "https://gitlab.gnome.org/GNOME/gdl.git")
2234 (commit (string-append "GDL_" (string-map (match-lambda
2235 (#\. #\_)
2236 (c c))
2237 version)))))
2238 (file-name (git-file-name name version))
2239 (sha256
2240 (base32
2241 "154qcr0x6f68f4q526y87imv0rscmp34n47nk1pp82rsq52h2zna"))))
2242 (build-system gnu-build-system)
88e61bd4
MC
2243 (native-inputs
2244 `(("autoconf" ,autoconf)
2245 ("automake" ,automake)
2246 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
2247 ("gnome-common" ,gnome-common)
2248 ("gtk-doc" ,gtk-doc)
2249 ("intltool" ,intltool)
2250 ("pkg-config" ,pkg-config)
2251 ("libtool" ,libtool)
2252 ("which" ,which)))
2253 (inputs
2254 `(("libxml2" ,libxml2)))
2255 (propagated-inputs
2256 ;; The gdl-3.0.pc file 'Requires' GTK+.
2257 `(("gtk+" ,gtk+)))
2258 (home-page "https://gitlab.gnome.org/GNOME/gdl/")
2259 (synopsis "GNOME docking library")
2260 (description "This library provides docking features for gtk+.")
2261 (license license:lgpl2.1+)))
2262
ca3adf26
MC
2263;;; A minimal variant used to break a cycle with Inkscape.
2264(define-public gdl-minimal
2265 (package
2266 (inherit gdl)
2267 (name "gdl-minimal")
2268 (arguments
70cf0113
EF
2269 '(#:phases
2270 (modify-phases %standard-phases
2271 (add-after 'unpack 'disable-doc-generation
2272 ;; XXX: There is no easy way to disable generating the
2273 ;; documentation.
2274 (lambda _
2275 (substitute* "configure.in"
2276 (("GTK_DOC_CHECK.*") "")
2277 (("docs/.*") ""))
2278 (substitute* "Makefile.am"
2279 (("gdl docs po") "gdl po"))
2280 #t)))))
ca3adf26
MC
2281 (native-inputs (alist-delete "gtk-doc" (package-native-inputs gdl)))))
2282
c1354b90
LC
2283(define-public libgnome-keyring
2284 (package
2285 (name "libgnome-keyring")
5e8aec2c 2286 (version "3.12.0")
c1354b90
LC
2287 (source (origin
2288 (method url-fetch)
b38e45d8
EB
2289 (uri (string-append "mirror://gnome/sources/" name "/"
2290 (version-major+minor version) "/"
2291 name "-" version ".tar.xz"))
c1354b90
LC
2292 (sha256
2293 (base32
5e8aec2c 2294 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 2295 (build-system gnu-build-system)
c1354b90 2296 (inputs
c4c4cc05 2297 `(("libgcrypt" ,libgcrypt)
c1354b90 2298 ("dbus" ,dbus)))
c4c4cc05
JD
2299 (native-inputs
2300 `(("pkg-config" ,pkg-config)
426adbe8 2301 ("glib" ,glib "bin")
c4c4cc05 2302 ("intltool" ,intltool)))
c1354b90
LC
2303 (propagated-inputs
2304 ;; Referred to in .h files and .pc.
2305 `(("glib" ,glib)))
f032d0be 2306 (home-page "https://www.gnome.org")
c1354b90
LC
2307 (synopsis "Accessing passwords from the GNOME keyring")
2308 (description
2309 "Client library to access passwords from the GNOME keyring.")
2310
2311 ;; Though a couple of files are LGPLv2.1+.
1dd26275 2312 (license license:lgpl2.0+)))
c1354b90 2313
e99a3d6f
RW
2314(define-public gnome-keyring
2315 (package
2316 (name "gnome-keyring")
14faeadd 2317 (version "3.34.0")
e99a3d6f
RW
2318 (source (origin
2319 (method url-fetch)
2320 (uri (string-append "mirror://gnome/sources/" name "/"
2321 (version-major+minor version) "/"
2322 name "-" version ".tar.xz"))
2323 (sha256
2324 (base32
14faeadd 2325 "0hqrsh5g9q9lm190f0m85q4nki8k4ng7wphl6qbccdry59aakkg9"))))
e99a3d6f
RW
2326 (build-system gnu-build-system)
2327 (arguments
2328 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
2329 ;not exist
2330 #:configure-flags
2331 (list
2332 (string-append "--with-pkcs11-config="
2333 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
2334 (string-append "--with-pkcs11-modules="
2335 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
2336 #:phases
2337 (modify-phases %standard-phases
ab35cc6e
RW
2338 (add-after 'unpack 'fix-/bin/sh-reference
2339 (lambda _
2340 (substitute* "po/Makefile.in.in"
2341 (("/bin/sh") (which "sh")))
2342 #t))
5120f24f
RW
2343 (add-after 'unpack 'fix-docbook
2344 (lambda* (#:key inputs #:allow-other-keys)
2345 (substitute* "docs/Makefile.am"
2346 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2347 (string-append (assoc-ref inputs "docbook-xsl")
2348 "/xml/xsl/docbook-xsl-"
2349 ,(package-version docbook-xsl)
2350 "/manpages/docbook.xsl")))
2351 (setenv "XML_CATALOG_FILES"
2352 (string-append (assoc-ref inputs "docbook-xml")
2353 "/xml/dtd/docbook/catalog.xml"))
2354 ;; Rerun the whole thing to avoid version mismatch ("This is
2355 ;; Automake 1.15.1, but the definition used by this
2356 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
2357 ;; use 'autoreconf' because it insists on running 'libtoolize'.
2358 (invoke "autoconf")
2359 (invoke "aclocal")
2360 (invoke "automake" "-ac"))))))
e99a3d6f
RW
2361 (inputs
2362 `(("libgcrypt" ,libgcrypt)
1a0b2d82 2363 ("linux-pam" ,linux-pam)
ab35cc6e 2364 ("openssh" ,openssh)
e99a3d6f
RW
2365 ("dbus" ,dbus)
2366 ("gcr" ,gcr)))
2367 (native-inputs
2368 `(("pkg-config" ,pkg-config)
2369 ("glib" ,glib "bin")
5120f24f 2370 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
2371 ("python" ,python-2) ;for tests
2372 ("intltool" ,intltool)
2373 ("autoconf" ,autoconf)
2374 ("automake" ,automake)
2375 ("libxslt" ,libxslt) ;for documentation
2376 ("docbook-xml" ,docbook-xml-4.2)
2377 ("docbook-xsl" ,docbook-xsl)))
f032d0be 2378 (home-page "https://www.gnome.org")
e99a3d6f
RW
2379 (synopsis "Daemon to store passwords and encryption keys")
2380 (description
2381 "gnome-keyring is a program that keeps passwords and other secrets for
2382users. It is run as a daemon in the session, similar to ssh-agent, and other
2383applications locate it via an environment variable or D-Bus.
2384
2385The program can manage several keyrings, each with its own master password,
2386and there is also a session keyring which is never stored to disk, but
2387forgotten when the session ends.")
2388 (license license:lgpl2.1+)))
2389
c1354b90
LC
2390(define-public evince
2391 (package
2392 (name "evince")
de08b5b2 2393 (version "3.36.5")
c1354b90
LC
2394 (source (origin
2395 (method url-fetch)
ac631328 2396 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 2397 (version-major+minor version) "/"
ac631328 2398 "evince-" version ".tar.xz"))
c1354b90
LC
2399 (sha256
2400 (base32
de08b5b2 2401 "0z79jl0j9xq9wgwkfr0d1w1qrdy4447y8shs407n5srr0vixc3bg"))))
121de2e1 2402 (build-system glib-or-gtk-build-system)
c1354b90 2403 (arguments
169b8f77 2404 `(#:configure-flags '("--disable-nautilus" "--enable-introspection")
554b2dac
SB
2405 #:phases
2406 (modify-phases %standard-phases
2407 (add-before 'install 'skip-gtk-update-icon-cache
2408 ;; Don't create 'icon-theme.cache'.
2409 (lambda _
2410 (substitute* "data/Makefile"
2411 (("gtk-update-icon-cache") "true"))
2412 #t)))))
c1354b90 2413 (inputs
9a096881
KK
2414 `(("libarchive" ,libarchive)
2415 ("libgxps" ,libgxps)
2416 ("libspectre" ,libspectre)
c769cf9f 2417 ("djvulibre" ,djvulibre)
c1354b90
LC
2418 ("ghostscript" ,ghostscript)
2419 ("poppler" ,poppler)
c769cf9f
SB
2420 ("libtiff" ,libtiff)
2421 ;; TODO:
c769cf9f
SB
2422 ;; Build libkpathsea as a shared library for DVI support.
2423 ;; ("libkpathsea" ,texlive-bin)
2424 ("gnome-desktop" ,gnome-desktop)
c1354b90 2425 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 2426 ("gspell" ,gspell)
c1354b90 2427 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 2428 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
2429 ("gdk-pixbuf" ,gdk-pixbuf)
2430 ("atk" ,atk)
2431 ("pango" ,pango)
2432 ("gtk+" ,gtk+)
2433 ("glib" ,glib)
2434 ("libxml2" ,libxml2)
c1354b90
LC
2435 ("libsm" ,libsm)
2436 ("libice" ,libice)
96e42467 2437 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
2438 ("dconf" ,dconf)
2439 ("libcanberra" ,libcanberra)
c769cf9f 2440 ("libsecret" ,libsecret)
a271096b 2441
c1354b90
LC
2442 ;; For tests.
2443 ("dogtail" ,python2-dogtail)))
96e42467 2444 (native-inputs
bcb354ad
SB
2445 `(("itstool" ,itstool)
2446 ("intltool" ,intltool)
426adbe8 2447 ("glib" ,glib "bin")
169b8f77 2448 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
2449 ("pkg-config" ,pkg-config)
2450 ("xmllint" ,libxml2)))
6f64a05e 2451 (home-page "https://www.gnome.org/projects/evince/")
c1354b90
LC
2452 (synopsis "GNOME's document viewer")
2453 (description
2454 "Evince is a document viewer for multiple document formats. It
2455currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
2456of Evince is to replace the multiple document viewers that exist
96e42467 2457on the GNOME Desktop with a single simple application.")
1dd26275 2458 (license license:gpl2+)))
c1354b90 2459
22e32e69
AE
2460(define-public gsettings-desktop-schemas
2461 (package
2462 (name "gsettings-desktop-schemas")
8468117e 2463 (version "3.34.0")
22e32e69
AE
2464 (source
2465 (origin
2466 (method url-fetch)
2467 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2468 (version-major+minor version) "/"
22e32e69
AE
2469 name "-" version ".tar.xz"))
2470 (sha256
2471 (base32
8468117e 2472 "1bayr76aylawf2fhyjhv9zgk4kpv7ivrrmd80khb0h3h1wk092r8"))))
c900dabd 2473 (build-system meson-build-system)
65209ffa
LC
2474 (arguments
2475 '(#:phases (modify-phases %standard-phases
3861fb1c 2476 (add-after 'unpack 'patch-schemas
65209ffa 2477 (lambda* (#:key inputs #:allow-other-keys)
65209ffa
LC
2478 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
2479 (substitute* (find-files "schemas"
2480 "\\.gschema\\.xml\\.in$")
3861fb1c
LP
2481 ;; Provide the correct file name of the default GNOME
2482 ;; background, 'adwaita-timed.xml'.
65209ffa 2483 (("@datadir@/backgrounds/gnome")
3861fb1c
LP
2484 (string-append theme "/share/backgrounds/gnome"))
2485 ;; Do not reference fonts, that may not exist.
2486 (("'Source Code Pro 10'") "'Monospace 11'"))
65209ffa 2487 #t))))))
22e32e69 2488 (inputs
65209ffa
LC
2489 `(("glib" ,glib)
2490 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
2491 (native-inputs
2492 `(("intltool" ,intltool)
426adbe8 2493 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 2494 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
2495 ("pkg-config" ,pkg-config)))
2496 (home-page "https://launchpad.net/gsettings-desktop-schemas")
2497 (synopsis
2498 "GNOME settings for various desktop components")
2499 (description
2500 "Gsettings-desktop-schemas contains a collection of GSettings schemas
2501for settings shared by various components of the GNOME desktop.")
1dd26275 2502 (license license:lgpl2.1+)))
22e32e69 2503
27477d2d
AE
2504(define-public icon-naming-utils
2505 (package
2506 (name "icon-naming-utils")
2507 (version "0.8.90")
2508 (source
2509 (origin
2510 (method url-fetch)
5cc3096c 2511 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
2512 version ".tar.bz2"))
2513 (sha256
2514 (base32
2515 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
2516 (build-system gnu-build-system)
2517 (inputs
2518 `(("perl" ,perl)
2519 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
2520 (arguments
2521 '(#:phases
dc1d3cde
KK
2522 (modify-phases %standard-phases
2523 (add-after 'install 'set-load-paths
2524 ;; Tell 'icon-name-mapping' where XML::Simple is.
2525 (lambda* (#:key outputs #:allow-other-keys)
2526 (let* ((out (assoc-ref outputs "out"))
2527 (prog (string-append out "/libexec/icon-name-mapping")))
2528 (wrap-program
2529 prog
2530 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
2531 #t)))))
27477d2d
AE
2532 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
2533 (synopsis
2534 "Utility to implement the Freedesktop Icon Naming Specification")
2535 (description
2536 "To help with the transition to the Freedesktop Icon Naming
2537Specification, the icon naming utility maps the icon names used by the
2538GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 2539 (license license:lgpl2.1+)))
27477d2d 2540
7d3f3651
AE
2541(define-public gnome-icon-theme
2542 (package
2543 (name "gnome-icon-theme")
b32f58dd 2544 (version "3.12.0")
7d3f3651
AE
2545 (source
2546 (origin
2547 (method url-fetch)
2548 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2549 (version-major+minor version) "/"
7d3f3651
AE
2550 name "-" version ".tar.xz"))
2551 (sha256
2552 (base32
b32f58dd 2553 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 2554 (build-system gnu-build-system)
5613c27d
SB
2555 (arguments
2556 '(#:configure-flags
2557 ;; Don't create 'icon-theme.cache'.
2558 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
2559 (true (string-append coreutils "/bin/true")))
2560 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 2561 (native-inputs
5613c27d 2562 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
2563 ("intltool" ,intltool)
2564 ("pkg-config" ,pkg-config)))
5c610d4f
KK
2565 (home-page "https://wiki.gnome.org/Personalization")
2566 (synopsis "GNOME icon theme")
2567 (description "Icons for the GNOME desktop.")
1dd26275 2568 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 2569
14eeefa2
SB
2570;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
2571(define-public adwaita-icon-theme
2572 (package (inherit gnome-icon-theme)
2573 (name "adwaita-icon-theme")
e21788f2 2574 (version "3.34.3")
14eeefa2
SB
2575 (source (origin
2576 (method url-fetch)
2577 (uri (string-append "mirror://gnome/sources/" name "/"
2578 (version-major+minor version) "/"
2579 name "-" version ".tar.xz"))
2580 (sha256
2581 (base32
e21788f2 2582 "025rj1fskw1y448hiar4a9icyzpyr242nlh9xhsmyp8jb71dihp7"))))
5613c27d
SB
2583 (native-inputs
2584 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 2585
ae792dba
RW
2586(define-public tango-icon-theme
2587 (package
2588 (name "tango-icon-theme")
2589 (version "0.8.90")
2590 (source (origin
2591 (method url-fetch)
2592 (uri (string-append "http://tango.freedesktop.org/releases/"
2593 "tango-icon-theme-" version ".tar.bz2"))
2594 (sha256
2595 (base32
2596 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
2597 (build-system gnu-build-system)
2598 (native-inputs
2599 `(("icon-naming-utils" ,icon-naming-utils)
2600 ("intltool" ,intltool)
2601 ("imagemagick" ,imagemagick)
2602 ("pkg-config" ,pkg-config)))
2603 (home-page "http://tango-project.org/")
2604 (synopsis "Tango icon theme")
2605 (description "This is an icon theme that follows the Tango visual
2606guidelines.")
2607 (license license:public-domain)))
2608
9167f8e6
LC
2609(define-public shared-mime-info
2610 (package
2611 (name "shared-mime-info")
404e386e 2612 (version "1.15")
9167f8e6
LC
2613 (source (origin
2614 (method url-fetch)
404e386e
MB
2615 (uri (string-append
2616 "https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/"
2617 "b27eb88e4155d8fccb8bb3cd12025d5b/shared-mime-info-" version
2618 ".tar.xz"))
9167f8e6
LC
2619 (sha256
2620 (base32
404e386e 2621 "146vynj78wcwdq0ms52jzm1r4m6dzi1rhyh3h4xyb6bw8ckv10pl"))))
9167f8e6
LC
2622 (build-system gnu-build-system)
2623 (arguments
2624 ;; The build system appears not to be parallel-safe.
2625 '(#:parallel-build? #f))
2626 (inputs
2627 `(("glib" ,glib)
c4c4cc05 2628 ("libxml2" ,libxml2)))
9167f8e6 2629 (native-inputs
404e386e
MB
2630 `(("gettext" ,gettext-minimal)
2631 ("itstool" ,itstool)
c4c4cc05 2632 ("pkg-config" ,pkg-config)))
57e7d748 2633 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
2634 (synopsis "Database of common MIME types")
2635 (description
2636 "The shared-mime-info package contains the core database of common types
2637and the update-mime-database command used to extend it. It requires glib2 to
2638be installed for building the update command. Additionally, it uses intltool
2639for translations, though this is only a dependency for the maintainers. This
2640database is translated at Transifex.")
1dd26275 2641 (license license:gpl2+)))
9167f8e6 2642
dd1fcddc
CB
2643(define-public system-config-printer
2644 (package
2645 (name "system-config-printer")
fa01e10d 2646 (version "1.5.12")
a5643044
TGR
2647 (source
2648 (origin
2649 (method url-fetch)
2650 (uri (string-append
2651 "https://github.com/OpenPrinting/system-config-printer/releases/"
2652 "download/" version
2653 "/system-config-printer-" version ".tar.xz"))
2654 (sha256
fa01e10d 2655 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
2656 (build-system glib-or-gtk-build-system)
2657 (arguments
2658 `(#:imported-modules ((guix build python-build-system)
2659 ,@%glib-or-gtk-build-system-modules)
2660 #:phases
2661 (modify-phases %standard-phases
2662 (add-after 'unpack 'patch-Makefile.am
2663 (lambda _
2664 ;; The Makefile generates some scripts, so set a valid shebang
2665 (substitute* "Makefile.am"
2666 (("/bin/bash") (which "bash")))
2667 (delete-file "configure")
2668 #t))
2669 (add-after 'unpack 'patch-docbook-xml
2670 (lambda* (#:key inputs #:allow-other-keys)
2671 ;; Modify the man XML otherwise xmlto tries to access the network
2672 (substitute* "man/system-config-printer.xml"
2673 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
2674 (string-append (assoc-ref inputs "docbook-xml")
2675 "/xml/dtd/docbook/")))
2676 #t))
2677 (add-after 'install 'wrap-for-python
2678 (@@ (guix build python-build-system) wrap))
2679 (add-after 'install 'wrap
2680 (lambda* (#:key outputs #:allow-other-keys)
2681 (let ((out (assoc-ref outputs "out"))
2682 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
2683 (for-each
2684 (lambda (program)
2685 (wrap-program program
2686 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
2687 (map (lambda (name)
2688 (string-append out "/bin/" name))
2689 '("system-config-printer"
2690 "system-config-printer-applet"
2691 "install-printerdriver"
2692 "scp-dbus-service"))))
2693 #t)))))
2694 (inputs
2695 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2696 ("gobject-introspection" ,gobject-introspection)
2697 ("python" ,python)
2698 ("cups" ,cups)
92b9cdd5 2699 ("gtk+" ,gtk+)
dd1fcddc
CB
2700 ("python-dbus" ,python-dbus)
2701 ("python-pygobject" ,python-pygobject)
2702 ("python-pycups" ,python-pycups)
2703 ("python-requests" ,python-requests)
2704 ("python-pycairo" ,python-pycairo)
2705 ("libnotify" ,libnotify)
2706 ("packagekit" ,packagekit)))
2707 (native-inputs
2708 `(("pkg-config" ,pkg-config)
2709 ("desktop-file-utils" ,desktop-file-utils)
2710 ("glib" ,glib)
2711 ("autoconf" ,autoconf)
2712 ("automake" ,automake)
2713 ("intltool" ,intltool)
2714 ("xmlto" ,xmlto)
2715 ("docbook-xml" ,docbook-xml-4.1.2)
2716 ("docbook-xsl" ,docbook-xsl)
2717 ("libxml2" ,libxml2)))
2718 (home-page "https://github.com/zdohnal/system-config-printer")
2719 (synopsis "CUPS administration tool")
2720 (description
2721 "system-config-printer is a CUPS administration tool. It's written in
2722Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
2723configuring CUPS.")
2724 (license license:gpl2+)))
2725
bef4dd92
AE
2726(define-public hicolor-icon-theme
2727 (package
2728 (name "hicolor-icon-theme")
851cb6dd 2729 (version "0.17")
bef4dd92
AE
2730 (source
2731 (origin
2732 (method url-fetch)
5cc3096c 2733 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 2734 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
2735 (sha256
2736 (base32
851cb6dd 2737 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
2738 (build-system gnu-build-system)
2739 (arguments
2740 `(#:tests? #f)) ; no check target
57e7d748 2741 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
2742 (synopsis
2743 "Freedesktop icon theme")
2744 (description
2745 "Freedesktop icon theme.")
1dd26275 2746 (license license:gpl2)))
bef4dd92 2747
d9c1a22b
AE
2748(define-public libnotify
2749 (package
2750 (name "libnotify")
195bfa68 2751 (version "0.7.7")
d9c1a22b
AE
2752 (source
2753 (origin
2754 (method url-fetch)
2755 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2756 (version-major+minor version) "/"
d9c1a22b
AE
2757 name "-" version ".tar.xz"))
2758 (sha256
2759 (base32
195bfa68 2760 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 2761 (build-system gnu-build-system)
6acf6cec
MB
2762 (arguments
2763 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
2764 (propagated-inputs
2765 `(;; In Requires of libnotify.pc.
2766 ("gdk-pixbuf" ,gdk-pixbuf)
2767 ("glib" ,glib)))
d9c1a22b 2768 (inputs
7ef08efa 2769 `(("gtk+" ,gtk+)
c4c4cc05
JD
2770 ("libpng" ,libpng)))
2771 (native-inputs
426adbe8 2772 `(("pkg-config" ,pkg-config)
277a7d82
JN
2773 ("glib" ,glib "bin")
2774 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
2775 (home-page "https://developer-next.gnome.org/libnotify/")
2776 (synopsis
2777 "GNOME desktop notification library")
2778 (description
2779 "Libnotify is a library that sends desktop notifications to a
35b9e423 2780notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
2781notifications can be used to inform the user about an event or display
2782some form of information without getting in the user's way.")
1dd26275 2783 (license license:lgpl2.1+)))
7a8605ce
CR
2784
2785(define-public libpeas
2786 (package
2787 (name "libpeas")
f2d56e39 2788 (version "1.24.1")
7a8605ce
CR
2789 (source
2790 (origin
2791 (method url-fetch)
2792 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2793 (version-major+minor version) "/"
7a8605ce
CR
2794 name "-" version ".tar.xz"))
2795 (sha256
2796 (base32
f2d56e39
MB
2797 "1162dr7smmfb02czmhshr0f93hqj7w0nw29bys5lzfvwarxcyflw"))))
2798 (build-system meson-build-system)
2799 (arguments
2800 '(#:phases
2801 (modify-phases %standard-phases
2802 (add-before 'check 'start-xserver
2803 (lambda* (#:key inputs #:allow-other-keys)
2804 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2805 (disp ":1"))
2806 (setenv "DISPLAY" disp)
2807 ;; Tests require a running X server.
2808 (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))
2809 #t))))))
7a8605ce 2810 (inputs
2ed6522a
SB
2811 `(("gtk+" ,gtk+)
2812 ("glade" ,glade3)
2ed6522a
SB
2813 ("python" ,python)
2814 ("python-pygobject" ,python-pygobject)))
141aed80
LC
2815 (native-inputs
2816 `(("pkg-config" ,pkg-config)
f2d56e39 2817 ("gettext" ,gettext-minimal)
93622993 2818 ("glib:bin" ,glib "bin")
141aed80 2819 ("gobject-introspection" ,gobject-introspection)
f2d56e39 2820 ("xorg-server" ,xorg-server-for-tests)))
55b7bbd8
LC
2821 (propagated-inputs
2822 ;; The .pc file "Requires" gobject-introspection.
2823 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
2824 (home-page "https://wiki.gnome.org/Libpeas")
2825 (synopsis "GObject plugin system")
2826 (description
d1e4ad1b
TGR
2827 "Libpeas is a gobject-based plugin engine, targeted at giving every
2828application the chance to assume its own extensibility. It also has a set of
2829features including, but not limited to: multiple extension points; on-demand
2830(lazy) programming language support for C, Python and JS; simplicity of the
2831API.")
1dd26275 2832 (license license:lgpl2.0+)))
ed19903d
JD
2833
2834(define-public gtkglext
2835 (package
2836 (name "gtkglext")
2837 (version "1.2.0")
2838 (source (origin
2839 (method url-fetch)
0f971a04 2840 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
2841 version "/gtkglext-" version ".tar.gz"))
2842 (sha256
2843 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
2844 (patches (search-patches
2845 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 2846 (build-system gnu-build-system)
14e2f61a
RW
2847 (arguments
2848 `(#:phases
2849 (modify-phases %standard-phases
2850 ;; Fix a collision between a local variable and a definition from
2851 ;; glibc's string.h.
2852 (add-after 'unpack 'fix-collision
2853 (lambda _
2854 (substitute* "gdk/gdkglshapes.c"
2855 ((" index") " triangle_index"))
2856 #t)))))
ed19903d
JD
2857 (inputs `(("gtk+" ,gtk+-2)
2858 ("mesa" ,mesa)
cc8b02f4 2859 ("glu" ,glu)
ed19903d
JD
2860 ("libx11" ,libx11)
2861 ("libxt" ,libxt)))
426adbe8
LC
2862 (native-inputs `(("pkg-config" ,pkg-config)
2863 ("glib" ,glib "bin")))
a83b6a06 2864 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 2865 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 2866 (synopsis "OpenGL extension to GTK+")
35b9e423 2867 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
2868additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
2869API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 2870 (license license:lgpl2.1+)))
3600420e
JD
2871
2872(define-public glade3
2873 (package
2874 (name "glade")
031315e4 2875 (version "3.36.0")
b38e45d8
EB
2876 (source (origin
2877 (method url-fetch)
2878 (uri (string-append "mirror://gnome/sources/" name "/"
2879 (version-major+minor version) "/"
f5ca44b8 2880 name "-" version ".tar.xz"))
3600420e 2881 (sha256
f714d9fe 2882 (base32
031315e4 2883 "023gx8rj51njn8fsb6ma5kz1irjpxi4js0n8rwy22inc4ysldd8r"))))
6983ba56 2884 (build-system glib-or-gtk-build-system)
f5ca44b8 2885 (arguments
ec8e1c91 2886 `(#:phases
f5ca44b8
RW
2887 (modify-phases %standard-phases
2888 (add-before 'configure 'fix-docbook
2889 (lambda* (#:key inputs #:allow-other-keys)
2890 (substitute* "man/Makefile.in"
2891 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2892 (string-append (assoc-ref inputs "docbook-xsl")
2893 "/xml/xsl/docbook-xsl-"
2894 ,(package-version docbook-xsl)
2895 "/manpages/docbook.xsl")))
ec8e1c91
AI
2896 #t))
2897 (add-before 'check 'pre-check
2898 (lambda _
2899 (setenv "HOME" "/tmp")
2900 ;; Tests require a running X server.
2901 (system "Xvfb :1 &")
2902 (setenv "DISPLAY" ":1")
f5ca44b8 2903 #t)))))
3600420e 2904 (inputs
f5ca44b8 2905 `(("gtk+" ,gtk+)
3600420e
JD
2906 ("libxml2" ,libxml2)))
2907 (native-inputs
ec8e1c91
AI
2908 `(("hicolor-icon-theme" ,hicolor-icon-theme)
2909 ("intltool" ,intltool)
f5ca44b8
RW
2910 ("itstool" ,itstool)
2911 ("libxslt" ,libxslt) ;for xsltproc
2912 ("docbook-xml" ,docbook-xml-4.2)
2913 ("docbook-xsl" ,docbook-xsl)
2914 ("python" ,python-2)
ec8e1c91
AI
2915 ("pkg-config" ,pkg-config)
2916 ("xorg-server" ,xorg-server-for-tests)))
3600420e
JD
2917 (home-page "https://glade.gnome.org")
2918 (synopsis "GTK+ rapid application development tool")
2919 (description "Glade is a rapid application development (RAD) tool to
2920enable quick & easy development of user interfaces for the GTK+ toolkit and
2921the GNOME desktop environment.")
1dd26275
LC
2922 (license license:lgpl2.0+)))
2923
2924(define-public libcroco
2925 (package
2926 (name "libcroco")
8bdacad2 2927 (version "0.6.13")
1dd26275
LC
2928 (source (origin
2929 (method url-fetch)
b38e45d8
EB
2930 (uri (string-append "mirror://gnome/sources/" name "/"
2931 (version-major+minor version) "/"
2932 name "-" version ".tar.xz"))
1dd26275
LC
2933 (sha256
2934 (base32
8bdacad2 2935 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
2936 (build-system gnu-build-system)
2937 (native-inputs
2938 `(("pkg-config" ,pkg-config)))
2939 (inputs
2940 `(("glib" ,glib)
2941 ("libxml2" ,libxml2)
2942 ("zlib" ,zlib)))
2943 (home-page "https://github.com/GNOME/libcroco")
2944 (synopsis "CSS2 parsing and manipulation library")
2945 (description
2946 "Libcroco is a standalone CSS2 parsing and manipulation library.
2947The parser provides a low level event driven SAC-like API and a CSS object
2948model like API. Libcroco provides a CSS2 selection engine and an experimental
2949XML/CSS rendering engine.")
2950
2951 ;; LGPLv2.1-only.
2952 (license license:lgpl2.1)))
25178594
LC
2953
2954(define-public libgsf
2955 (package
2956 (name "libgsf")
2b9b854c 2957 (version "1.14.47")
25178594
LC
2958 (source (origin
2959 (method url-fetch)
b38e45d8
EB
2960 (uri (string-append "mirror://gnome/sources/" name "/"
2961 (version-major+minor version) "/"
2962 name "-" version ".tar.xz"))
25178594
LC
2963 (sha256
2964 (base32
2b9b854c 2965 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
25178594 2966 (build-system gnu-build-system)
23904adb
MB
2967 (arguments
2968 '(#:configure-flags '("--disable-static")))
25178594 2969 (native-inputs
0a1559cc
MB
2970 `(("pkg-config" ,pkg-config)
2971 ("gettext" ,gettext-minimal)
2972
2973 ;; For tests.
2974 ("perl" ,perl)
2975 ("perl-xml-parser" ,perl-xml-parser)))
25178594 2976 (inputs
4ffa9f6b 2977 `(("zlib" ,zlib)
25178594
LC
2978 ("bzip2" ,bzip2)))
2979 (propagated-inputs
2980 `(("gdk-pixbuf" ,gdk-pixbuf)
2981 ("glib" ,glib)
2982 ("libxml2" ,libxml2)))
f032d0be 2983 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
2984 (synopsis "GNOME's Structured File Library")
2985 (description
2986 "Libgsf aims to provide an efficient extensible I/O abstraction for
2987dealing with different structured file formats.")
2988
2989 ;; LGPLv2.1-only.
2990 (license license:lgpl2.1)))
63016e7c
LC
2991
2992(define-public librsvg
f67417a1
MB
2993 (package
2994 (name "librsvg")
c1cc52a2 2995 (version "2.40.21")
f67417a1
MB
2996 (source (origin
2997 (method url-fetch)
2998 (uri (string-append "mirror://gnome/sources/" name "/"
2999 (version-major+minor version) "/"
3000 name "-" version ".tar.xz"))
3001 (sha256
3002 (base32
c1cc52a2 3003 "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))
f67417a1
MB
3004 (build-system gnu-build-system)
3005 (arguments
3006 `(#:configure-flags
3007 (list "--disable-static"
3008 "--enable-vala") ; needed for e.g. gnome-mines
3009 #:phases
3010 (modify-phases %standard-phases
3011 (add-before 'configure 'pre-configure
3012 (lambda* (#:key inputs #:allow-other-keys)
3013 (substitute* "gdk-pixbuf-loader/Makefile.in"
3014 ;; By default the gdk-pixbuf loader is installed under
3015 ;; gdk-pixbuf's prefix. Work around that.
3016 (("gdk_pixbuf_moduledir = .*$")
3017 (string-append "gdk_pixbuf_moduledir = "
3018 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
3019 "loaders\n"))
3020 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
3021 (("gdk_pixbuf_cache_file = .*$")
3022 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
3023 #t))
3024 (add-before 'check 'remove-failing-tests
3025 (lambda _
3026 (with-directory-excursion "tests/fixtures/reftests"
3027 (for-each delete-file
3028 '(;; This test fails on i686:
3029 "svg1.1/masking-path-04-b.svg"
3030 ;; This test fails on armhf:
3031 "svg1.1/masking-mask-01-b.svg"
3032 ;; This test fails on aarch64:
3033 "bugs/777834-empty-text-children.svg")))
3034 #t)))))
3035 (native-inputs
3036 `(("pkg-config" ,pkg-config)
3037 ("vala" ,vala)
3038 ("glib" ,glib "bin") ; glib-mkenums, etc.
3039 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
3040 (inputs
869b63cb
MB
3041 `(;; XXX: 1.44 causes some test failures, so we stick with 1.42 for
3042 ;; this ancient version of librsvg.
3043 ("pango" ,pango-1.42)
f67417a1
MB
3044 ("libcroco" ,libcroco)
3045 ("bzip2" ,bzip2)
3046 ("libgsf" ,libgsf)
3047 ("libxml2" ,libxml2)))
3048 (propagated-inputs
3049 ;; librsvg-2.0.pc refers to all of that.
3050 `(("cairo" ,cairo)
3051 ("gdk-pixbuf" ,gdk-pixbuf)
3052 ("glib" ,glib)))
3053 (home-page "https://wiki.gnome.org/LibRsvg")
3054 (synopsis "Render SVG files using Cairo")
3055 (description
3056 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
3057library.")
3058 (license license:lgpl2.0+)))
3059
3060(define-public librsvg-next
63016e7c
LC
3061 (package
3062 (name "librsvg")
4f9db569 3063 (version "2.48.8")
69568670
EF
3064 (source (origin
3065 (method url-fetch)
3066 (uri (string-append "mirror://gnome/sources/librsvg/"
3067 (version-major+minor version) "/"
3068 "librsvg-" version ".tar.xz"))
3069 (sha256
3070 (base32
4f9db569 3071 "14i6xzghcidv64cyd3g0wdjbl82rph737yxn9s3x29nzpcjs707l"))
69568670
EF
3072 (modules '((guix build utils)))
3073 (snippet
3074 '(begin (delete-file-recursively "vendor")
69568670
EF
3075 #t))))
3076 (build-system cargo-build-system)
b030bc0c 3077 (outputs '("out" "doc"))
63016e7c 3078 (arguments
b030bc0c
RG
3079 `(#:modules
3080 ((guix build cargo-build-system)
3081 (guix build utils)
3082 ((guix build gnu-build-system) #:prefix gnu:))
69568670
EF
3083 #:cargo-inputs
3084 (("rust-bitflags" ,rust-bitflags-1)
4f9db569 3085 ("rust-cairo-rs" ,rust-cairo-rs-0.8)
69568670 3086 ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
4f9db569
EF
3087 ("rust-cast" ,rust-cast-0.2)
3088 ("rust-cssparser" ,rust-cssparser-0.27)
69568670
EF
3089 ("rust-data-url" ,rust-data-url-0.1)
3090 ("rust-downcast-rs" ,rust-downcast-rs-1.1)
3091 ("rust-encoding" ,rust-encoding-0.2)
4f9db569
EF
3092 ("rust-float-cmp" ,rust-float-cmp-0.6)
3093 ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8)
69568670 3094 ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
4f9db569 3095 ("rust-gio" ,rust-gio-0.8)
69568670 3096 ("rust-gio-sys" ,rust-gio-sys-0.9)
4f9db569 3097 ("rust-glib" ,rust-glib-0.9)
69568670
EF
3098 ("rust-glib-sys" ,rust-glib-sys-0.9)
3099 ("rust-gobject-sys" ,rust-gobject-sys-0.9)
3100 ("rust-itertools" ,rust-itertools-0.8)
3101 ("rust-language-tags" ,rust-language-tags-0.2)
69568670
EF
3102 ("rust-libc" ,rust-libc-0.2)
3103 ("rust-locale-config" ,rust-locale-config-0.3)
4f9db569
EF
3104 ("rust-markup5ever" ,rust-markup5ever-0.10)
3105 ("rust-nalgebra" ,rust-nalgebra-0.19)
69568670 3106 ("rust-num-traits" ,rust-num-traits-0.2)
4f9db569 3107 ("rust-once-cell" ,rust-once-cell-1.2)
69568670 3108 ("rust-pkg-config" ,rust-pkg-config-0.3)
4f9db569 3109 ("rust-pango" ,rust-pango-0.8)
69568670 3110 ("rust-pango-sys" ,rust-pango-sys-0.9)
4f9db569 3111 ("rust-pangocairo" ,rust-pangocairo-0.9)
a5630553 3112 ("rust-rayon" ,rust-rayon-1)
69568670 3113 ("rust-rctree" ,rust-rctree-0.3)
4f9db569 3114 ("rust-rgb" ,rust-rgb-0.8)
6cd7b355 3115 ("rust-regex" ,rust-regex-1)
4f9db569 3116 ("rust-selectors" ,rust-selectors-0.22)
69568670 3117 ("rust-url" ,rust-url-2.1)
4f9db569 3118 ("rust-xml5ever" ,rust-xml5ever-0.16))
69568670 3119 #:cargo-development-inputs
4f9db569
EF
3120 (("rust-cairo-rs" ,rust-cairo-rs-0.8)
3121 ("rust-criterion" ,rust-criterion-0.3))
ec47c07d 3122 #:phases
b6239e45 3123 (modify-phases %standard-phases
b030bc0c
RG
3124 (add-after 'unpack 'patch-docbook-xml
3125 (lambda* (#:key inputs #:allow-other-keys)
3126 (with-directory-excursion "doc"
3127 (substitute* "rsvg-docs.xml"
3128 (("http://www.oasis-open.org/docbook/xml/4.3/")
3129 (string-append (assoc-ref inputs "docbook-xml")
3130 "/xml/dtd/docbook/"))))
3131 #t))
69568670 3132 (add-after 'unpack 'prepare-for-build
ec47c07d 3133 (lambda _
69568670 3134 ;; In lieu of #:make-flags
4f9db569 3135 (setenv "CC" ,(cc-for-target))
69568670
EF
3136 ;; Something about the build environment resists building
3137 ;; successfully with the '--locked' flag.
b030bc0c 3138 (substitute* '("Makefile.am" "Makefile.in")
69568670
EF
3139 (("--locked") ""))
3140 #t))
b6239e45 3141 (add-before 'configure 'pre-configure
69568670 3142 (lambda _
b6239e45
EF
3143 (substitute* "gdk-pixbuf-loader/Makefile.in"
3144 ;; By default the gdk-pixbuf loader is installed under
3145 ;; gdk-pixbuf's prefix. Work around that.
3146 (("gdk_pixbuf_moduledir = .*$")
3147 (string-append "gdk_pixbuf_moduledir = "
3148 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
b030bc0c 3149 "loaders\n"))
b6239e45
EF
3150 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
3151 (("gdk_pixbuf_cache_file = .*$")
3152 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
3153 #t))
69568670 3154 (add-after 'configure 'gnu-configure
4b16cb64
EF
3155 (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
3156 ((assoc-ref gnu:%standard-phases 'configure)
3157 #:native-inputs native-inputs
3158 #:inputs inputs
3159 #:outputs outputs
b030bc0c
RG
3160 #:configure-flags
3161 (list "--disable-static"
3162 "--enable-vala"
3163 (string-append "--with-html-dir="
3164 (assoc-ref %outputs "doc")
3165 "/share/gtk-doc/html")))))
69568670
EF
3166 (add-after 'configure 'dont-vendor-self
3167 (lambda* (#:key vendor-dir #:allow-other-keys)
3168 ;; Don't keep the whole tarball in the vendor directory
3169 (delete-file-recursively
b030bc0c 3170 (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))
69568670
EF
3171 #t))
3172 (replace 'build
3173 (assoc-ref gnu:%standard-phases 'build))
3174 (replace 'check
3175 (lambda* args
3176 ((assoc-ref gnu:%standard-phases 'check)
3177 #:test-target "check")))
3178 (replace 'install
4f9db569 3179 (assoc-ref gnu:%standard-phases 'install)))))
b030bc0c
RG
3180 (native-inputs
3181 `(("docbook-xml" ,docbook-xml-4.3)
3182 ("glib" ,glib "bin")
3183 ("gobject-introspection" ,gobject-introspection)
3184 ("pkg-config" ,pkg-config)
3185 ("python" ,python-wrapper)
3186 ("ruby" ,ruby)
3187 ("vala" ,vala)))
4f9db569 3188 (inputs
b030bc0c
RG
3189 `(("bzip2" ,bzip2)
3190 ("fontconfig" ,fontconfig)
3191 ("freetype" ,freetype)
3192 ("harfbuzz" ,harfbuzz)
3193 ("libcroco" ,libcroco)
3194 ("libgsf" ,libgsf)
3195 ("libxml2" ,libxml2)
3196 ("pango" ,pango)))
3197 (propagated-inputs
3198 `(("cairo" ,cairo)
3199 ("gdk-pixbuf" ,gdk-pixbuf)
3200 ("glib" ,glib)))
3201 (synopsis "SVG rendering library")
3202 (description "Librsvg is a library to render SVG images to Cairo surfaces.
3203GNOME uses this to render SVG icons. Outside of GNOME, other desktop
3204environments use it for similar purposes. Wikimedia uses it for Wikipedia's SVG
3205diagrams.")
3206 (home-page "https://wiki.gnome.org/LibRsvg")
cf9dad6c 3207 (license license:lgpl2.1+)))
5698b8b8
JD
3208
3209(define-public libidl
3210 (package
3211 (name "libidl")
3212 (version "0.8.14")
3213 (source (origin
3214 (method url-fetch)
80a06e62
EF
3215 (uri (string-append "mirror://gnome/sources/libIDL/"
3216 (version-major+minor version) "/"
3217 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
3218 (sha256
3219 (base32
3220 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
3221 (build-system gnu-build-system)
3222 (inputs `(("glib" ,glib)))
3223 (native-inputs
3224 `(("pkg-config" ,pkg-config)
b3546174 3225 ("flex" ,flex)
5698b8b8
JD
3226 ("bison" ,bison)))
3227 (home-page "http://freecode.com/projects/libidl")
3228 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 3229 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
3230Definition Language (idl) files, which is a specification for defining
3231portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 3232GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 3233functionality was designed to be as reusable and portable as possible.")
ef2c55bb 3234 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
3235 (license license:lgpl2.0+)))
3236
3237
3238(define-public orbit2
3239 (package
3240 (name "orbit2")
3241 (version "2.14.19")
3242 (source (origin
3243 (method url-fetch)
2e6ecc5c 3244 (uri (let ((upstream-name "ORBit2"))
a124bbd2 3245 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
3246 (version-major+minor version) "/"
3247 upstream-name "-" version ".tar.bz2")))
5698b8b8 3248 (sha256
a124bbd2
SB
3249 (base32
3250 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
3251 (build-system gnu-build-system)
3252 (arguments
c2d837b9
MB
3253 `(;; The "timeout-server" test hangs when run in parallel.
3254 #:parallel-tests? #f
3255 #:configure-flags
8aad2e32
LC
3256 '(;; We don't need static libraries, plus they don't build reproducibly
3257 ;; (non-deterministic ordering of .o files in the archive.)
3258 "--disable-static"
3259
3260 ;; The programmer kindly gives us a hook to turn off deprecation
3261 ;; warnings ...
3262 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
3263 ;; ... which they then completly ignore !!
3264 #:phases
dc1d3cde
KK
3265 (modify-phases %standard-phases
3266 (add-before 'configure 'ignore-deprecations
3267 (lambda _
3268 (substitute* "linc2/src/Makefile.in"
3269 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
3270 #t)))))
5698b8b8
JD
3271 (inputs `(("glib" ,glib)
3272 ("libidl" ,libidl)))
3273 (native-inputs
3274 `(("pkg-config" ,pkg-config)))
3275 (home-page "https://projects.gnome.org/orbit2/")
3276 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 3277 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 3278featuring mature C, C++ and Python bindings.")
a124bbd2
SB
3279 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
3280 ;; a version. SOME of the code files have licence notices for GPLv2+.
3281 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
3282 (license license:gpl2+)
3283 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
3284
3285
3286(define-public libbonobo
3287 (package
3288 (name "libbonobo")
3289 (version "2.32.1")
3290 (source (origin
3291 (method url-fetch)
5becd025 3292 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 3293 (version-major+minor version)
5becd025 3294 "/" name "-" version ".tar.bz2"))
5698b8b8 3295 (sha256
f1fc45a9 3296 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
3297 (patches (search-patches
3298 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
3299 (build-system gnu-build-system)
3300 (arguments
3301 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
3302 `(#:configure-flags
3303 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
3304 ;; ... which they then completly ignore !!
3305 #:phases
dc1d3cde
KK
3306 (modify-phases %standard-phases
3307 (add-before 'configure 'ignore-deprecations
3308 (lambda _
3309 (substitute* "activation-server/Makefile.in"
3310 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
3311 #t)))
3312
3313 ;; There's apparently a race condition between the server stub
3314 ;; generation and linking of the example under 'samples/echo' that can
3315 ;; lead do undefined references when building in parallel, as reported
3316 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
3317 ;; Thus, disable parallel builds.
3318 #:parallel-build? #f))
5698b8b8
JD
3319 (inputs `(("popt" ,popt)
3320 ("libxml2" ,libxml2)))
3321 ;; The following are Required by the .pc file
44add1ce 3322 (propagated-inputs
5698b8b8
JD
3323 `(("glib" ,glib)
3324 ("orbit2" ,orbit2)))
3325 (native-inputs
3326 `(("intltool" ,intltool)
3327 ("pkg-config" ,pkg-config)
221ed17a 3328 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3329 ("flex" ,flex)
3330 ("bison" ,bison)))
3331 (home-page "https://developer.gnome.org/libbonobo/")
3332 (synopsis "Framework for creating reusable components for use in GNOME applications")
3333 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 3334use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
3335 ;; Licence not explicitly stated. Source files contain no licence notices.
3336 ;; Tarball contains text of both GPLv2 and LGPLv2
3337 ;; GPLv2 covers both conditions
3338 (license license:gpl2+)))
3339
3340
3341(define-public gconf
3342 (package
3343 (name "gconf")
3344 (version "3.2.6")
3345 (source (origin
3346 (method url-fetch)
a124bbd2
SB
3347 (uri
3348 (let ((upstream-name "GConf"))
3349 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
3350 (version-major+minor version) "/"
3351 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
3352 (sha256
3353 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
3354 (build-system gnu-build-system)
2e88d113 3355 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 3356 ("libxml2" ,libxml2)))
2e6ecc5c
AE
3357 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
3358 ("orbit2" ,orbit2)))
5698b8b8
JD
3359 (native-inputs
3360 `(("intltool" ,intltool)
221ed17a 3361 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3362 ("pkg-config" ,pkg-config)))
3363 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
3364 (synopsis "Store application preferences")
3365 (description "Gconf is a system for storing application preferences. It
3366is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
3367 (license license:lgpl2.0+)
3368 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
3369
3370
3371(define-public gnome-mime-data
3372 (package
3373 (name "gnome-mime-data")
3374 (version "2.18.0")
3375 (source (origin
3376 (method url-fetch)
b38e45d8
EB
3377 (uri (string-append "mirror://gnome/sources/" name "/"
3378 (version-major+minor version) "/"
3379 name "-" version ".tar.bz2"))
5698b8b8
JD
3380 (sha256
3381 (base32
3382 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
3383 (build-system gnu-build-system)
3384 (native-inputs
3385 `(("perl" ,perl)
3386 ("intltool" ,intltool)))
3e6add96
LC
3387 (arguments
3388 '(#:phases (modify-phases %standard-phases
3389 (add-after 'configure 'use-our-intltool
3390 (lambda _
3391 ;; Do not use the bundled intltool commands, which lack
3392 ;; the "dotless @INC" fixes of our 'intltool' package.
3393 (substitute* (find-files "." "^Makefile$")
3394 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
3395 (string-append "INTLTOOL_" tool " = intltool-"
3396 (string-downcase tool) "\n")))
3397 #t)))))
f032d0be 3398 (home-page "https://www.gnome.org")
35b9e423 3399 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
3400 (description "GNOME Mime Data is a module which contains the base MIME
3401and Application database for GNOME. The data stored by this module is
3402designed to be accessed through the MIME functions in GnomeVFS.")
3403 (license license:gpl2+)))
3404
3405
3406(define-public gnome-vfs
3407 (package
3408 (name "gnome-vfs")
3409 (version "2.24.4")
3410 (source (origin
3411 (method url-fetch)
b38e45d8
EB
3412 (uri (string-append "mirror://gnome/sources/" name "/"
3413 (version-major+minor version) "/"
3414 name "-" version ".tar.bz2"))
5698b8b8 3415 (sha256
9e12bc34
MW
3416 (base32
3417 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
3418 (build-system gnu-build-system)
3419 (arguments
db5127d8 3420 `(#:phases
dc1d3cde
KK
3421 (modify-phases %standard-phases
3422 (add-before 'configure 'ignore-deprecations
3423 (lambda _
3424 (substitute* '("libgnomevfs/Makefile.in"
3425 "daemon/Makefile.in")
3426 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
3427 #t))
3428 (add-before 'configure 'patch-test-async-cancel-to-never-fail
3429 (lambda _
3430 (substitute* "test/test-async-cancel.c"
3431 (("EXIT_FAILURE") "77"))
3432 #t)))))
2e6ecc5c 3433 (inputs `(("libxml2" ,libxml2)
5698b8b8 3434 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
3435 ("gconf" ,gconf)
3436 ("gnome-mime-data" ,gnome-mime-data)
3437 ("zlib" ,zlib)))
3438 (native-inputs
221ed17a
EB
3439 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
3440 ("intltool" ,intltool)
5698b8b8
JD
3441 ("pkg-config" ,pkg-config)))
3442 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 3443 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
3444 (description
3445 "GnomeVFS is the core library used to access files and folders in GNOME
3446applications. It provides a file system abstraction which allows applications
3447to access local and remote files with a single consistent API.")
5698b8b8
JD
3448 (license license:lgpl2.0+)))
3449
3450
3451
3452(define-public libgnome
3453 (package
3454 (name "libgnome")
3455 (version "2.32.1")
3456 (source (origin
3457 (method url-fetch)
b38e45d8
EB
3458 (uri (string-append "mirror://gnome/sources/" name "/"
3459 (version-major+minor version) "/"
3460 name "-" version ".tar.bz2"))
5698b8b8
JD
3461 (sha256
3462 (base32
17c3eea7
LC
3463 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
3464 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
3465 (build-system gnu-build-system)
3466 (arguments
3467 `(#:phases
dc1d3cde
KK
3468 (modify-phases %standard-phases
3469 (add-before 'configure 'enable-deprecated
3470 (lambda _
3471 (substitute* "libgnome/Makefile.in"
3472 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
3473 #t)))))
25338e9f 3474 (inputs `(("libxml2" ,libxml2)))
5698b8b8 3475 (native-inputs
221ed17a
EB
3476 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
3477 ("intltool" ,intltool)
5698b8b8
JD
3478 ("pkg-config" ,pkg-config)))
3479 ;; The following are listed as Required in the .pc file
3480 ;; (except for libcanberra -- which seems to be oversight on the part
3481 ;; of the upstream developers -- anything that links against libgnome,
3482 ;; must also link against libcanberra
3483 (propagated-inputs
3484 `(("libcanberra" ,libcanberra)
3485 ("libbonobo" ,libbonobo)
3486 ("gconf" ,gconf)
a640d3d5
LC
3487 ("gnome-vfs" ,gnome-vfs)
3488 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
3489 (home-page "https://developer.gnome.org/libgnome/")
3490 (synopsis "Useful routines for building applications")
3491 (description "The libgnome library provides a number of useful routines
3492for building modern applications, including session management, activation of
3493files and URIs, and displaying help.")
3494 (license license:lgpl2.0+)))
3495
3496
3497(define-public libart-lgpl
3498 (package
3499 (name "libart-lgpl")
76c9b6aa 3500 (version "2.3.21")
5698b8b8
JD
3501 (source (origin
3502 (method url-fetch)
3503 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
3504 (string-append "mirror://gnome/sources/" upstream-name "/"
3505 (version-major+minor version) "/"
3506 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
3507 (sha256
3508 (base32
76c9b6aa 3509 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
3510 (build-system gnu-build-system)
3511 (native-inputs
3512 `(("pkg-config" ,pkg-config)))
3513 (home-page "https://people.gnome.org/~mathieu/libart")
3514 (synopsis "2D drawing library")
2e6ecc5c 3515 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
3516high-quality vector-based 2D library with antialiasing and alpha composition.")
3517 (license license:lgpl2.0+)))
3518
3519
3520
3521(define-public libgnomecanvas
3522 (package
3523 (name "libgnomecanvas")
3524 (version "2.30.3")
3525 (source (origin
3526 (method url-fetch)
b38e45d8
EB
3527 (uri (string-append "mirror://gnome/sources/" name "/"
3528 (version-major+minor version) "/"
3529 name "-" version ".tar.gz"))
5698b8b8
JD
3530 (sha256
3531 (base32
3532 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
3533 (build-system gnu-build-system)
3534 ;; Mentioned as Required in the .pc file
3535 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
3536 ("gtk+" ,gtk+-2)))
3537 (native-inputs
3538 `(("intltool" ,intltool)
221ed17a 3539 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3540 ("pkg-config" ,pkg-config)))
3541 (home-page "https://developer.gnome.org/libgnomecanvas/")
3542 (synopsis "Flexible widget for creating interactive structured graphics")
3543 (description "The GnomeCanvas widget provides a flexible widget for
3544creating interactive structured graphics.")
3545 (license license:lgpl2.0+)))
3546
eadc734e
RW
3547(define-public libgnomecanvasmm
3548 (package
3549 (name "libgnomecanvasmm")
3550 (version "2.26.0")
3551 (source (origin
3552 (method url-fetch)
3553 (uri (string-append "mirror://gnome/sources/" name "/"
3554 (version-major+minor version) "/"
3555 name "-" version ".tar.bz2"))
3556 (sha256
3557 (base32
3558 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
3559 (build-system gnu-build-system)
3560 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
3561 (native-inputs
3562 `(("gtkmm-2" ,gtkmm-2)
3563 ("pkg-config" ,pkg-config)))
8e933cb3 3564 (home-page "https://gtkmm.org")
eadc734e
RW
3565 (synopsis "C++ bindings to the GNOME Canvas library")
3566 (description "C++ bindings to the GNOME Canvas library.")
3567 (license license:lgpl2.0+)))
3568
5698b8b8
JD
3569(define-public libgnomeui
3570 (package
3571 (name "libgnomeui")
3572 (version "2.24.5")
3573 (source (origin
3574 (method url-fetch)
b38e45d8
EB
3575 (uri (string-append "mirror://gnome/sources/" name "/"
3576 (version-major+minor version) "/"
3577 name "-" version ".tar.bz2"))
8fa1872a 3578 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
3579 (sha256
3580 (base32
3581 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
3582 (build-system gnu-build-system)
3583 ;; Mentioned as Required in the .pc file
0a38a497
AE
3584 (propagated-inputs `(("libbonoboui" ,libbonoboui)
3585 ("libgnome" ,libgnome)
3586 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 3587 ("libgnome-keyring" ,libgnome-keyring)))
4bd428a7 3588 (inputs `(("libjpeg" ,libjpeg-turbo)
5698b8b8
JD
3589 ("popt" ,popt)
3590 ("libbonobo" ,libbonobo)
3591 ("libxml2" ,libxml2)
3592 ("libglade" ,libglade)))
3593 (native-inputs
221ed17a
EB
3594 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
3595 ("intltool" ,intltool)
5698b8b8
JD
3596 ("pkg-config" ,pkg-config)))
3597 (home-page "https://developer.gnome.org/libgnomeui/")
3598 (synopsis "Additional widgets for applications")
35b9e423 3599 (description "The libgnomeui library provides additional widgets for
e881752c
AK
3600applications. Many of the widgets from libgnomeui have already been
3601ported to GTK+.")
5698b8b8
JD
3602 (license license:lgpl2.0+)))
3603
3604(define-public libglade
3605 (package
3606 (name "libglade")
3607 (version "2.6.4")
3608 (source (origin
3609 (method url-fetch)
b38e45d8
EB
3610 (uri (string-append "mirror://gnome/sources/" name "/"
3611 (version-major+minor version) "/"
3612 name "-" version ".tar.bz2"))
5698b8b8
JD
3613 (sha256
3614 (base32
3615 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
3616 (build-system gnu-build-system)
3617 (inputs
92dcc23d
AE
3618 `(("python" ,python))) ;; needed for the optional libglade-convert program
3619 (propagated-inputs
5698b8b8 3620 `(("gtk+-2" ,gtk+-2)
92dcc23d 3621 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
3622 (native-inputs
3623 `(("pkg-config" ,pkg-config)))
3624 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
3625 (synopsis "Load glade interfaces and access the glade built widgets")
3626 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
3627graphical interfaces described in glade files and for accessing the
3628widgets built in the loading process.")
3629 (license license:gpl2+))) ; This is correct. GPL not LGPL
3630
3631(define-public libgnomeprint
eb497b66
LC
3632 ;; This library has been deprecated since 2006; see
3633 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
3634 (package
3635 (name "libgnomeprint")
d19db454 3636 (version "2.18.8")
5698b8b8
JD
3637 (source (origin
3638 (method url-fetch)
b38e45d8
EB
3639 (uri (string-append "mirror://gnome/sources/" name "/"
3640 (version-major+minor version) "/"
3641 name "-" version ".tar.bz2"))
5698b8b8
JD
3642 (sha256
3643 (base32
d19db454 3644 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
3645 (build-system gnu-build-system)
3646 (inputs
3647 `(("popt" ,popt)
3648 ("libart-lgpl" ,libart-lgpl)
3649 ("gtk+" ,gtk+-2)
44add1ce 3650 ("libxml2" ,libxml2)))
5698b8b8
JD
3651 (native-inputs
3652 `(("intltool" ,intltool)
221ed17a 3653 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3654 ("pkg-config" ,pkg-config)))
3655 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 3656 (synopsis "Printing framework for GNOME")
eb497b66
LC
3657 (description
3658 "GNOME-print was a printing framework for GNOME. It has been deprecated
3659since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
3660 (license license:lgpl2.0+)))
3661
3662
3663(define-public libgnomeprintui
eb497b66 3664 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
3665 (package
3666 (name "libgnomeprintui")
36053d7f 3667 (version "2.18.6")
5698b8b8
JD
3668 (source (origin
3669 (method url-fetch)
b38e45d8
EB
3670 (uri (string-append "mirror://gnome/sources/" name "/"
3671 (version-major+minor version) "/"
3672 name "-" version ".tar.bz2"))
5698b8b8
JD
3673 (sha256
3674 (base32
36053d7f 3675 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
3676 (build-system gnu-build-system)
3677 ;; Mentioned as Required in the .pc file
3678 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
3679 (inputs `(("gtk+" ,gtk+-2)
3680 ("glib" ,glib)
3681 ("gnome-icon-theme" ,gnome-icon-theme)
3682 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 3683 ("libxml2" ,libxml2)))
5698b8b8
JD
3684 (native-inputs
3685 `(("intltool" ,intltool)
3686 ("pkg-config" ,pkg-config)))
3687 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
3688 (synopsis "Printing framework for GNOME")
eb497b66 3689 (description (package-description libgnomeprint))
5698b8b8
JD
3690 (license license:lgpl2.0+)))
3691
5698b8b8
JD
3692(define-public libbonoboui
3693 (package
3694 (name "libbonoboui")
3695 (version "2.24.5")
3696 (source (origin
3697 (method url-fetch)
b38e45d8
EB
3698 (uri (string-append "mirror://gnome/sources/" name "/"
3699 (version-major+minor version) "/"
3700 name "-" version ".tar.bz2"))
5698b8b8
JD
3701 (sha256
3702 (base32
3703 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
3704 (build-system gnu-build-system)
3705 (arguments
3706 `(#:phases
dc1d3cde
KK
3707 (modify-phases %standard-phases
3708 (add-before 'check 'start-xserver
3709 (lambda* (#:key inputs #:allow-other-keys)
3710 (let ((xorg-server (assoc-ref inputs "xorg-server"))
3711 (disp ":1"))
3712
3713 (setenv "HOME" (getcwd))
3714 (setenv "DISPLAY" disp)
3715 ;; There must be a running X server and make check doesn't start one.
3716 ;; Therefore we must do it.
3717 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
3718 ;; Mentioned as Required by the .pc file
3719 (propagated-inputs `(("libxml2" ,libxml2)))
3720 (inputs
3721 `(("popt" ,popt)
3722 ("pangox-compat" ,pangox-compat)
3723 ("libgnome" ,libgnome)
3724 ("libgnomecanvas" ,libgnomecanvas)
3725 ("libglade" ,libglade)))
3726 (native-inputs
221ed17a
EB
3727 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
3728 ("intltool" ,intltool)
ff337525 3729 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
3730 ("pkg-config" ,pkg-config)))
3731 (home-page "https://developer.gnome.org/libbonoboui/")
3732 (synopsis "Some user interface controls using Bonobo")
3733 (description "The Bonobo UI library provides a number of user interface
3734controls using the Bonobo component framework.")
3735 (license license:lgpl2.0+)))
3736
fecbf86e
SB
3737(define-public libwnck
3738 (package
3739 (name "libwnck")
d3b40696 3740 (version "3.32.0")
fecbf86e
SB
3741 (source (origin
3742 (method url-fetch)
3743 (uri (string-append "mirror://gnome/sources/" name "/"
3744 (version-major+minor version) "/"
3745 name "-" version ".tar.xz"))
3746 (sha256
ad9b8987 3747 (base32
d3b40696
KK
3748 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
3749 (build-system meson-build-system)
fecbf86e
SB
3750 (native-inputs
3751 `(("pkg-config" ,pkg-config)
d3b40696
KK
3752 ("glib" ,glib "bin") ; for glib-mkenums
3753 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
3754 ("intltool" ,intltool)))
3755 (propagated-inputs
427476d5
SB
3756 `(("gtk+" ,gtk+)
3757 ("libxres" ,libxres)
3758 ("startup-notification" ,startup-notification)))
fecbf86e
SB
3759 (home-page "https://developer.gnome.org/libwnck/")
3760 (synopsis "Window Navigator Construction Kit")
3761 (description
3762 "Libwnck is the Window Navigator Construction Kit, a library for use in
3763writing pagers, tasklists, and more generally applications that are dealing
3764with window management. It tries hard to respect the Extended Window Manager
3765Hints specification (EWMH).")
3766 (license license:lgpl2.0+)))
3767
3768;; stable version for gtk2, required by xfwm4.
dbb7a081 3769(define-public libwnck-2
fecbf86e
SB
3770 (package (inherit libwnck)
3771 (name "libwnck")
3772 (version "2.30.7")
3773 (source (origin
3774 (method url-fetch)
3775 (uri (string-append "mirror://gnome/sources/" name "/"
3776 (version-major+minor version) "/"
3777 name "-" version ".tar.xz"))
3778 (sha256
3779 (base32
3780 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
3781 (build-system gnu-build-system)
3782 (native-inputs
3783 `(("pkg-config" ,pkg-config)
3784 ("intltool" ,intltool)))
fecbf86e 3785 (propagated-inputs
427476d5
SB
3786 `(("gtk+" ,gtk+-2)
3787 ("libxres" ,libxres)
3788 ("startup-notification" ,startup-notification)))))
b804c61e
JD
3789
3790(define-public goffice
3791 (package
3792 (name "goffice")
2e60eafb 3793 (version "0.10.47")
b804c61e
JD
3794 (source (origin
3795 (method url-fetch)
16243f0b 3796 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 3797 (version-major+minor version) "/"
16243f0b 3798 "goffice-" version ".tar.xz"))
b804c61e 3799 (sha256
2e60eafb 3800 (base32 "0xmigfdzvmlpa0fw79mf3xwchmxc8rlidryn5syv8bz7msmrb215"))))
b804c61e 3801 (build-system gnu-build-system)
72a06d3e 3802 (outputs '("out"
355420c6 3803 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
3804 (arguments
3805 '(#:configure-flags (list (string-append "--with-html-dir="
3806 (assoc-ref %outputs "doc")
3807 "/share/gtk-doc/html"))))
b804c61e
JD
3808 (inputs
3809 `(("gtk+" ,gtk+)
3810 ("libgsf" ,libgsf)
3811 ("librsvg" ,librsvg)
3812 ("libxslt" ,libxslt)
3813 ("libxml2" ,libxml2)))
3814 (native-inputs
3815 `(("intltool" ,intltool)
f280cdb1 3816 ("glib" ,glib "bin")
b804c61e
JD
3817 ("pkg-config" ,pkg-config)))
3818 (home-page "https://developer.gnome.org/goffice/")
3819 (synopsis "Document-centric objects and utilities")
3820 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 3821 (license
b804c61e
JD
3822 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3823 ;; Note: NOT LGPL
3824 (list license:gpl2 license:gpl3))))
3825
c024ae36
RW
3826(define-public goffice-0.8
3827 (package (inherit goffice)
3828 (version "0.8.17")
3829 (source (origin
3830 (method url-fetch)
3831 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
3832 (version-major+minor version) "/"
3833 (package-name goffice) "-" version ".tar.xz"))
3834 (sha256
3835 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
3836 (arguments
3837 `(#:phases
dc1d3cde
KK
3838 (modify-phases %standard-phases
3839 (add-after 'unpack 'fix-pcre-check
3840 (lambda _
3841 ;; Only glib.h can be included directly. See
3842 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
3843 (substitute* "configure"
3844 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
3845
3846 ,@(package-arguments goffice)))
c024ae36
RW
3847 (propagated-inputs
3848 ;; libgoffice-0.8.pc mentions libgsf-1
3849 `(("libgsf" ,libgsf)))
3850 (inputs
3851 `(("gtk" ,gtk+-2)
3852 ,@(alist-delete "gtk" (package-inputs goffice))))))
3853
b804c61e
JD
3854(define-public gnumeric
3855 (package
3856 (name "gnumeric")
f0517b5d 3857 (version "1.12.46")
b804c61e
JD
3858 (source (origin
3859 (method url-fetch)
b7fd0217 3860 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 3861 (version-major+minor version) "/"
b7fd0217 3862 "gnumeric-" version ".tar.xz"))
b804c61e
JD
3863 (sha256
3864 (base32
f0517b5d 3865 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 3866 (build-system glib-or-gtk-build-system)
b804c61e
JD
3867 (arguments
3868 `(;; The gnumeric developers don't worry much about failing tests.
3869 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 3870 #:tests? #f
b804c61e 3871 #:phases
7bcbd40d
EF
3872 (modify-phases %standard-phases
3873 (add-before
3874 'configure 'pre-conf
3875 (lambda* (#:key outputs #:allow-other-keys)
3876 ;; Make install tries to write into the directory of goffice
3877 ;; I am informed that this only affects the possibility to embed a
3878 ;; spreadsheet inside an Abiword document. So presumably when we
3879 ;; package Abiword we'll have to refer it to this directory.
3880 (substitute* "configure"
3881 (("^GOFFICE_PLUGINS_DIR=.*")
3882 (string-append "GOFFICE_PLUGINS_DIR="
3883 (assoc-ref outputs "out")
3884 "/goffice/plugins"))))))))
b804c61e
JD
3885 (inputs
3886 `(("glib" ,glib)
3887 ("gtk+" ,gtk+)
3888 ("goffice" ,goffice)
3889 ("libgsf" ,libgsf)
7bcbd40d 3890 ("librsvg" ,librsvg)
b804c61e 3891 ("libxml2" ,libxml2)
7bcbd40d 3892 ("libxslt" ,libxslt)
2e4c5457 3893 ("python" ,python-2)
6983ba56 3894 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
3895 ("zlib" ,zlib)))
3896 (native-inputs
6983ba56 3897 `(("bison" ,bison)
1ed398d1 3898 ("docbook-xml" ,docbook-xml)
6983ba56 3899 ("intltool" ,intltool)
785fcb62 3900 ("itstool" ,itstool)
b9663471 3901 ("glib:bin" ,glib "bin")
b804c61e
JD
3902 ("pkg-config" ,pkg-config)))
3903 (home-page "http://www.gnumeric.org")
66672a45
LC
3904 (synopsis "Spreadsheet application")
3905 (description
3906 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
3907interoperable with other spreadsheet applications. It has a vast array of
3908features beyond typical spreadsheet functionality, such as support for linear
3909and non-linear solvers, statistical analysis, and telecommunication
3910engineering.")
3911 (license
b804c61e
JD
3912 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3913 (list license:gpl2 license:gpl3))))
6f885c05
FB
3914
3915(define-public gnome-themes-standard
3916 (package
3917 (name "gnome-themes-standard")
0b7b8fb0 3918 (version "3.22.3")
6f885c05
FB
3919 (source
3920 (origin
3921 (method url-fetch)
2e6ecc5c 3922 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
3923 (version-major+minor version) "/" name "-"
3924 version ".tar.xz"))
3925 (sha256
3926 (base32
0b7b8fb0 3927 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 3928 (build-system gnu-build-system)
8ac70c7f
SB
3929 (arguments
3930 '(#:configure-flags
3931 ;; Don't create 'icon-theme.cache'.
3932 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
3933 (true (string-append coreutils "/bin/true")))
3934 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
3935 (inputs
3936 `(("gtk+" ,gtk+)
3937 ("gtk+-2" ,gtk+-2)
3938 ("librsvg" ,librsvg)
3939 ("libxml2" ,libxml2)
3940 ("glib" ,glib)))
3941 (native-inputs
3942 `(("intltool" ,intltool)
3943 ("glib:bin" ,glib "bin")
3944 ("pkg-config" ,pkg-config)))
6f885c05
FB
3945 (home-page "https://launchpad.net/gnome-themes-standard")
3946 (synopsis "Default GNOME 3 themes")
3947 (description
3948 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
3949 (license license:lgpl2.1+)))
5a659a48 3950
df90c701
RW
3951(define-public seahorse
3952 (package
3953 (name "seahorse")
1efcf722 3954 (version "3.34")
df90c701
RW
3955 (source
3956 (origin
3957 (method url-fetch)
3958 (uri (string-append "mirror://gnome/sources/" name "/"
3959 (version-major+minor version) "/" name "-"
3960 version ".tar.xz"))
3961 (sha256
3962 (base32
1efcf722 3963 "16sfnqrdlr5xx6kixx2ln1mva7nngjlw1k3f5n454vyaigffjh2v"))))
af561664
MÁAV
3964 (build-system meson-build-system)
3965 (arguments
bcea3c11
KK
3966 '(#:glib-or-gtk? #t
3967 #:phases
af561664
MÁAV
3968 (modify-phases %standard-phases
3969 (add-after 'unpack 'skip-gtk-update-icon-cache
3970 ;; Don't create 'icon-theme.cache'.
3971 (lambda _
3972 (substitute* "build-aux/meson_post_install.py"
3973 (("gtk-update-icon-cache") "true"))
3974 #t)))))
df90c701
RW
3975 (inputs
3976 `(("gtk+" ,gtk+)
3977 ("gcr" ,gcr)
34b979b9 3978 ("gnupg" ,gnupg)
df90c701 3979 ("gpgme" ,gpgme)
34b979b9 3980 ("openldap" ,openldap)
4a1bf090 3981 ("openssh" ,openssh)
af561664 3982 ("avahi" ,avahi)
bcea3c11 3983 ("libpwquality" ,libpwquality)
34b979b9
EF
3984 ("libsecret" ,libsecret)
3985 ("libsoup" ,libsoup)))
df90c701 3986 (native-inputs
af561664 3987 `(("gettext" ,gettext-minimal)
df90c701
RW
3988 ("glib:bin" ,glib "bin")
3989 ("itstool" ,itstool)
bcb354ad 3990 ("pkg-config" ,pkg-config)
af561664 3991 ("vala" ,vala)
bcb354ad 3992 ("xmllint" ,libxml2)))
bcea3c11 3993 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
3994 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
3995 (description
3996 "Seahorse is a GNOME application for managing encryption keys and
3997passwords in the GNOME keyring.")
3998 (license license:gpl2+)))
3999
5a659a48
SB
4000(define-public vala
4001 (package
4002 (name "vala")
b92a36db 4003 (version "0.46.5")
5a659a48
SB
4004 (source (origin
4005 (method url-fetch)
4006 (uri (string-append "mirror://gnome/sources/" name "/"
4007 (version-major+minor version) "/"
4008 name "-" version ".tar.xz"))
4009 (sha256
4010 (base32
b92a36db 4011 "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s"))))
5a659a48 4012 (build-system gnu-build-system)
1ea90625
SB
4013 (arguments
4014 '(#:phases
4015 (modify-phases %standard-phases
f4925a4f 4016 (add-before 'check 'pre-check
1ea90625
SB
4017 (lambda _
4018 (setenv "CC" "gcc")
8839b6be
RW
4019 (substitute* "valadoc/tests/testrunner.sh"
4020 (("export PKG_CONFIG_PATH=" m)
4021 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
4022 ;; For missing '/etc/machine-id'.
4023 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 4024 #t)))))
5a659a48
SB
4025 (native-inputs
4026 `(("pkg-config" ,pkg-config)
4027 ("flex" ,flex)
4028 ("bison" ,bison)
4029 ("xsltproc" ,libxslt)
4030 ("dbus" ,dbus) ; for dbus tests
4031 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
4032 (inputs
4033 `(("graphviz" ,graphviz)))
5a659a48 4034 (propagated-inputs
8839b6be 4035 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 4036 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
4037 (synopsis "Compiler for the GObject type system")
4038 (description
4039 "Vala is a programming language that aims to bring modern programming
4040language features to GNOME developers without imposing any additional runtime
4041requirements and without using a different ABI compared to applications and
4042libraries written in C.")
4043 (license license:lgpl2.1+)))
ea57378f 4044
2dcaa760
RP
4045(define-public vala-0.48
4046 (package
4047 (inherit vala)
10341411 4048 (version "0.48.9")
2dcaa760
RP
4049 (source (origin
4050 (method url-fetch)
4051 (uri (string-append "mirror://gnome/sources/vala/"
4052 (version-major+minor version) "/"
4053 "vala-" version ".tar.xz"))
4054 (sha256
4055 (base32
10341411 4056 "1agyrvslv2yh9ikiw7k5nw6j6il1l2zrzfan0pzdpb9xpg9idslw"))))))
2dcaa760 4057
ea57378f
SB
4058(define-public vte
4059 (package
4060 (name "vte")
53865a93 4061 (version "0.60.3")
ea57378f
SB
4062 (source (origin
4063 (method url-fetch)
ac87ffb8 4064 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 4065 (version-major+minor version) "/"
ac87ffb8 4066 "vte-" version ".tar.xz"))
ea57378f
SB
4067 (sha256
4068 (base32
53865a93 4069 "0al2v6fn061v4j1wwvppim1q283y2a6s0iyl29hxhmx3h48nxdzy"))))
68c47474 4070 (build-system meson-build-system)
663def11
RPG
4071 (arguments
4072 `(#:configure-flags
11491e1b
DM
4073 '("-Dvapi=true"
4074 "-D_systemd=false")))
ea57378f
SB
4075 (native-inputs
4076 `(("pkg-config" ,pkg-config)
4684580a 4077 ("gettext" ,gettext-minimal)
ea57378f
SB
4078 ("vala" ,vala)
4079 ("gobject-introspection" ,gobject-introspection)
68c47474 4080 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 4081 ("gperf" ,gperf)
ea57378f
SB
4082 ("xmllint" ,libxml2)))
4083 (propagated-inputs
68c47474
TGR
4084 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
4085 ("gnutls" ,gnutls) ; ditto
4086 ("pcre2" ,pcre2))) ; ditto
f032d0be 4087 (home-page "https://www.gnome.org/")
ea57378f
SB
4088 (synopsis "Virtual Terminal Emulator")
4089 (description
4090 "VTE is a library (libvte) implementing a terminal emulator widget for
4091GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
4092gnome-terminal, but can also be used to embed a console/terminal in games,
4093editors, IDEs, etc.")
4094 (license license:lgpl2.1+)))
4095
c44fb4df
MO
4096(define-public vte-ng
4097 (package
4098 (inherit vte)
4099 (name "vte-ng")
24f4fcbe 4100 (version "0.58.2.a")
afd90f8d 4101 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
4102 (source (origin
4103 (method git-fetch)
4104 (uri (git-reference (url home-page) (commit version)))
4105 (file-name (git-file-name name version))
4106 (sha256
4107 (base32
24f4fcbe
MB
4108 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
4109 (build-system meson-build-system)
c44fb4df
MO
4110 (native-inputs
4111 `(("gtk-doc" ,gtk-doc)
c44fb4df 4112 ,@(package-native-inputs vte)))
c44fb4df 4113 (arguments
24f4fcbe 4114 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
4115 (synopsis "Enhanced VTE terminal widget")
4116 (description
4117 "VTE is a library (libvte) implementing a terminal emulator widget for
4118GTK+, this fork provides additional functions exposed for keyboard text
4119selection and URL hints.")))
4120
da11c16b 4121;; Stable version for gtk2, required by gnurobots and lxterminal as of 2020-07.
ea57378f
SB
4122(define-public vte/gtk+-2
4123 (package (inherit vte)
4124 (name "vte")
4125 (version "0.28.2")
4126 (source (origin
4127 (method url-fetch)
4128 (uri (string-append "mirror://gnome/sources/" name "/"
4129 (version-major+minor version) "/"
4130 name "-" version ".tar.xz"))
4131 (sha256
4132 (base32
7d48938a
EF
4133 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
4134 (patches (search-patches
4135 "vte-CVE-2012-2738-pt1.patch"
4136 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 4137 (build-system gnu-build-system)
ea57378f
SB
4138 (arguments
4139 '(#:configure-flags '("--disable-python")))
4140 (native-inputs
4141 `(("pkg-config" ,pkg-config)
4142 ("intltool" ,intltool)
4143 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
4144 (propagated-inputs
4145 `(("gtk+" ,gtk+-2) ; required by libvte.pc
4146 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 4147
cce0da5e
TD
4148(define-public vinagre
4149 (package
4150 (name "vinagre")
4151 (version "3.22.0")
4152 (source (origin
4153 (method url-fetch)
4154 (uri (string-append "mirror://gnome/sources/" name "/"
4155 (version-major+minor version) "/"
4156 name "-" version ".tar.xz"))
684f97f8
EF
4157 (patches (search-patches "vinagre-newer-freerdp.patch"
4158 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
4159 (sha256
4160 (base32
4161 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
4162 (build-system glib-or-gtk-build-system)
684f97f8 4163 (arguments
7f486d25
MC
4164 ;; Disable -Werror and such, to avoid build failures on compilation
4165 ;; warnings.
4166 '(#:configure-flags '("--enable-compile-warnings=minimum")
4167 #:phases
684f97f8 4168 (modify-phases %standard-phases
1839768c
EF
4169 (add-before 'install 'skip-gtk-update-icon-cache
4170 (lambda _
4171 ;; Don't create 'icon-theme.cache'
4172 (substitute* (find-files "." "^Makefile$")
4173 (("gtk-update-icon-cache") (which "true")))
4174 #t))
684f97f8
EF
4175 (add-after 'unpack 'patch-configure
4176 (lambda _
4177 (substitute* "configure"
4178 (("freerdp") "freerdp2"))
4179 #t)))))
cce0da5e
TD
4180 (native-inputs
4181 `(("pkg-config" ,pkg-config)
4182 ("intltool" ,intltool)
4183 ("itstool" ,itstool)
1839768c 4184 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
4185 (inputs
4186 `(("libxml2" ,libxml2)
4187 ("gtk-vnc" ,gtk-vnc)
4188 ("gnome-keyring" ,gnome-keyring)
4189 ("libsecret" ,libsecret)
4190 ("freerdp" ,freerdp)
4191 ("spice" ,spice)
4192 ("spice-gtk" ,spice-gtk)
4193 ("telepathy-glib" ,telepathy-glib)
4194 ("vte" ,vte)))
cce0da5e
TD
4195 (home-page "https://wiki.gnome.org/Apps/Vinagre")
4196 (synopsis "Remote desktop viewer for GNOME")
4197 (description "Vinagre is a remote display client supporting the VNC, SPICE
4198and RDP protocols.")
4199 (license license:gpl3+)))
4200
b47e1b20
FB
4201(define-public dconf
4202 (package
4203 (name "dconf")
7f4d075d 4204 (version "0.34.0")
b47e1b20
FB
4205 (source (origin
4206 (method url-fetch)
4207 (uri (string-append
2e6ecc5c 4208 "mirror://gnome/sources/" name "/"
b47e1b20
FB
4209 (version-major+minor version) "/"
4210 name "-" version ".tar.xz"))
46c3a08b 4211 (patches (search-patches "dconf-meson-0.52.patch"))
b47e1b20 4212 (sha256
f05c809f 4213 (base32
7f4d075d 4214 "0lnsl85cp2vpzgp8pkf6l6yd2i3lp02jdvga1icfa78j2smr8fll"))))
35fa923d 4215 (build-system meson-build-system)
bc036f4c
MB
4216 (propagated-inputs
4217 ;; In Requires of dconf.pc.
4218 `(("glib" ,glib)))
b47e1b20
FB
4219 (inputs
4220 `(("gtk+" ,gtk+)
bc036f4c 4221 ("dbus" ,dbus)))
b47e1b20 4222 (native-inputs
1e33331c
MB
4223 `(("bash-completion" ,bash-completion)
4224 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 4225 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
4226 ("docbook-xml" ,docbook-xml-4.2)
4227 ("docbook-xsl" ,docbook-xsl)
35fa923d 4228 ("glib:bin" ,glib "bin")
03676d6f 4229 ("gtk-doc" ,gtk-doc)
35fa923d
MB
4230 ("pkg-config" ,pkg-config)
4231 ("vala" ,vala)))
b47e1b20
FB
4232 (arguments
4233 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
4234 ; or /etc/machine-id.
35fa923d
MB
4235 #:glib-or-gtk? #t
4236 #:configure-flags '("-Denable-gtk-doc=true")))
79d7b527 4237 (home-page "https://developer.gnome.org/dconf/")
b47e1b20
FB
4238 (synopsis "Low-level GNOME configuration system")
4239 (description "Dconf is a low-level configuration system. Its main purpose
4240is to provide a backend to GSettings on platforms that don't already have
4241configuration storage systems.")
e20e6b40 4242 (license license:lgpl2.1+)))
109da1c0
AE
4243
4244(define-public json-glib
4245 (package
4246 (name "json-glib")
4115e8ea 4247 (version "1.4.4")
109da1c0
AE
4248 (source (origin
4249 (method url-fetch)
4250 (uri (string-append "mirror://gnome/sources/" name "/"
4251 (version-major+minor version) "/"
4252 name "-" version ".tar.xz"))
4253 (sha256
4254 (base32
4115e8ea 4255 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 4256 (build-system meson-build-system)
109da1c0 4257 (native-inputs
98afa184
MB
4258 `(("gettext" ,gettext-minimal)
4259 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
4260 ("gobject-introspection" ,gobject-introspection)
4261 ("pkg-config" ,pkg-config)))
4262 (propagated-inputs
88c6b580 4263 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
4264 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
4265 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
4266 (description
4267 "JSON-GLib is a C library based on GLib providing serialization and
4268deserialization support for the JavaScript Object Notation (JSON) format
4269described by RFC 4627. It provides parser and generator GObject classes and
4270various wrappers for the complex data types employed by JSON, such as arrays
4271and objects.")
109da1c0 4272 (license license:lgpl2.1+)))
6f96a359
SB
4273
4274(define-public libxklavier
4275 (package
4276 (name "libxklavier")
5f39050b 4277 (version "5.4")
6f96a359 4278 (source (origin
5f39050b 4279 ;; Note: There's no tarball at ftp.gnome.org for this version.
4280 (method git-fetch)
4281 (uri (git-reference
4282 (url "https://anongit.freedesktop.org/git/libxklavier")
4283 (commit (string-append "libxklavier-" version))))
6f96a359
SB
4284 (sha256
4285 (base32
5f39050b 4286 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
4287 (file-name (git-file-name name version))))
6f96a359
SB
4288 (build-system gnu-build-system)
4289 (arguments
778d6b52 4290 '(#:configure-flags
6f96a359
SB
4291 (list (string-append "--with-xkb-base="
4292 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 4293 "/share/X11/xkb")
4294 "--disable-xmodmap-support")))
6f96a359
SB
4295 (native-inputs
4296 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4297 ("gobject-introspection" ,gobject-introspection)
5f39050b 4298 ("pkg-config" ,pkg-config)
4299 ("gtk-doc" ,gtk-doc)
4300 ("intltool" ,intltool)
4301 ("which" ,which)
4302 ("autoconf" ,autoconf)
4303 ("automake" ,automake)
4304 ("libtool" ,libtool)))
6f96a359
SB
4305 (propagated-inputs
4306 ;; Required by libxklavier.pc.
4307 `(("glib" ,glib)
4308 ("libxml2" ,libxml2)))
4309 (inputs
4310 `(("iso-codes" ,iso-codes)
4311 ("libxi" ,libxi)
4312 ("libxkbfile" ,libxkbfile)
4313 ("xkbcomp" ,xkbcomp)
4314 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 4315 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
4316 (synopsis "High-level API for X Keyboard Extension")
4317 (description
4318 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
4319Extension known as XKB. This library is intended to support XFree86 and other
4320commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
4321indicators etc).")
4322 (license license:lgpl2.0+)))
619936a4
LC
4323
4324(define-public python2-rsvg
4325 ;; XXX: This is actually a subset of gnome-python-desktop.
4326 (package
4327 (name "python2-rsvg")
4328 (version "2.32.0")
4329 (source
4330 (origin
4331 (method url-fetch)
4332 (uri (string-append
4333 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
4334 version ".tar.bz2"))
4335 (sha256
4336 (base32
4337 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
4338 (build-system gnu-build-system)
4339 (native-inputs
4340 `(("pkg-config" ,pkg-config)))
4341 (inputs
4342 `(("python" ,python-2)
4343 ("python2-pygtk" ,python2-pygtk)
4344 ("librsvg" ,librsvg)))
f032d0be 4345 (home-page "https://www.gnome.org")
619936a4
LC
4346 (synopsis "Python bindings to librsvg")
4347 (description
3ad75446 4348 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
4349library.")
4350
4351 ;; This is the license of the rsvg bindings. The license of each module
4352 ;; of gnome-python-desktop is given in 'COPYING'.
4353 (license license:lgpl2.1+)))
a31a6d22 4354
f2ca414a
SB
4355(define-public glib-networking
4356 (package
4357 (name "glib-networking")
ea9f74b0 4358 (version "2.62.2")
f2ca414a
SB
4359 (source (origin
4360 (method url-fetch)
4361 (uri (string-append "mirror://gnome/sources/glib-networking/"
4362 (version-major+minor version) "/"
fb8fe1e8 4363 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
4364 (sha256
4365 (base32
ea9f74b0 4366 "0i2mw75297ql72h47vyvff3hqa0kcmqybblj52fqrarb0kfbhi06"))))
65211552 4367 (build-system meson-build-system)
f2ca414a 4368 (arguments
0d75c64d 4369 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
4370 (native-inputs
4371 `(("pkg-config" ,pkg-config)
4372 ("intltool" ,intltool)))
4373 (inputs
4374 `(("glib" ,glib)
4375 ("gnutls" ,gnutls)
4b8f1313 4376 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 4377 (home-page "https://www.gnome.org")
f2ca414a
SB
4378 (synopsis "Network-related GIO modules")
4379 (description
4380 "This package contains various network related extensions for the GIO
4381library.")
4382 (license license:lgpl2.0+)))
4383
ca649680 4384(define-public rest
4510b2da 4385 (package
ca649680 4386 (name "rest")
a4194d16 4387 (version "0.8.1")
4510b2da
SB
4388 (source (origin
4389 (method url-fetch)
4390 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
4391 (version-major+minor version) "/"
4392 name "-" version ".tar.xz"))
4510b2da
SB
4393 (sha256
4394 (base32
a4194d16 4395 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
4396 (build-system gnu-build-system)
4397 (arguments
4398 '(#:tests? #f ; tests require internet connection
4399 #:configure-flags
4400 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
4401 (native-inputs
4402 `(("glib-mkenums" ,glib "bin")
4403 ("gobject-introspection" ,gobject-introspection)
4404 ("pkg-config" ,pkg-config)))
4405 (propagated-inputs
4406 ;; rest-0.7.pc refers to all these.
4407 `(("glib" ,glib)
4408 ("libsoup" ,libsoup)
4409 ("libxml2" ,libxml2)))
24d6cc1d 4410 (home-page "https://www.gtk.org/")
4510b2da
SB
4411 (synopsis "RESTful web api query library")
4412 (description
4413 "This library was designed to make it easier to access web services that
4414claim to be \"RESTful\". It includes convenience wrappers for libsoup and
4415libxml to ease remote use of the RESTful API.")
4416 (license license:lgpl2.1+)))
4417
6e1bb642
SB
4418(define-public libsoup
4419 (package
4420 (name "libsoup")
9a9cd9bc 4421 (version "2.70.0")
6e1bb642
SB
4422 (source (origin
4423 (method url-fetch)
4424 (uri (string-append "mirror://gnome/sources/libsoup/"
4425 (version-major+minor version) "/"
c1b79b36 4426 "libsoup-" version ".tar.xz"))
6e1bb642
SB
4427 (sha256
4428 (base32
9a9cd9bc 4429 "0hjk9lgppc5435my0lyywbpmj7ib5vvcylwfin8ki97g9bvj1c2l"))))
eccaa8bf 4430 (build-system meson-build-system)
6e1bb642
SB
4431 (outputs '("out" "doc"))
4432 (arguments
2deb146f 4433 `(#:modules ((guix build utils)
eccaa8bf 4434 (guix build meson-build-system)
2deb146f
LC
4435 (ice-9 popen))
4436
f8026a79 4437 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
4438 #:phases
4439 (modify-phases %standard-phases
eccaa8bf 4440 (add-after 'unpack 'adjust-tests
26c228f9 4441 (lambda _
eccaa8bf
MB
4442 ;; This test fails due to missing /etc/nsswitch.conf
4443 ;; in the build environment.
26c228f9
LC
4444 (substitute* "tests/socket-test.c"
4445 ((".*/sockets/unconnected.*") ""))
2deb146f 4446
f8026a79
MB
4447 ;; These fail because "subdomain.localhost" does not resolve in
4448 ;; the build environment.
4449 (substitute* "tests/hsts-test.c"
4450 ((".*/hsts/basic.*") "")
4451 ((".*/hsts/subdomains.*") "")
4452 ((".*/hsts/superdomain.*") "")
4453 ((".*/hsts/utf8-address.*") ""))
4454 (substitute* "tests/hsts-db-test.c"
4455 ((".*/hsts-db/subdomains.*") ""))
4456
2deb146f
LC
4457 ;; Generate a self-signed certificate that has "localhost" as its
4458 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
4459 ;; 3.5.12, tests such as "ssl-tests" fail:
4460 ;;
4461 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
4462 ;;
4463 ;; 'certtool' is interactive so we have to pipe it the answers.
4464 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
4465 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
4466 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
4467 (for-each (lambda (line)
4468 (display line pipe)
4469 (newline pipe))
4470 '("" ;Common name
4471 "" ;UID
4472 "Guix" ;Organizational unit name
4473 "GNU" ;Organization name
4474 "" ;Locality name
4475 "" ;State or province
4476 "" ;Country
4477 "" ;subject's domain component (DC)
4478 "" ;E-mail
4479 "" ;serial number
4480 "-1" ;expiration time
4481 "N" ;belong to authority?
4482 "N" ;web client certificate?
4483 "N" ;IPsec IKE?
4484 "Y" ;web server certificate?
4485 "localhost" ;dnsName of subject
4486 "" ;dnsName of subject (end)
4487 "" ;URI of subject
4488 "127.0.0.1" ;IP address of subject
4489 "" ;signing?
06f5bc4e
MB
4490 "" ;encryption (RSA)?
4491 "" ;data encryption?
2deb146f
LC
4492 "" ;sign OCSP requests?
4493 "" ;sign code?
4494 "" ;time stamping?
4495 "" ;email protection?
4496 "" ;URI of the CRL distribution point
4497 "y" ;above info OK?
4498 ))
4499 (close-pipe pipe))
26c228f9 4500 #t))
eccaa8bf
MB
4501 (add-after 'install 'move-doc
4502 (lambda* (#:key outputs #:allow-other-keys)
4503 (let ((out (assoc-ref outputs "out"))
4504 (doc (assoc-ref outputs "doc")))
4505 (mkdir-p (string-append doc "/share"))
4506 (copy-recursively (string-append out "/share/gtk-doc")
4507 (string-append doc "/share/gtk-doc"))
4508 (delete-file-recursively (string-append out "/share/gtk-doc"))
4509 #t))))))
6e1bb642 4510 (native-inputs
26c228f9 4511 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 4512 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 4513 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
4514 ("intltool" ,intltool)
4515 ("pkg-config" ,pkg-config)
4516 ("python" ,python-wrapper)
fd730590 4517 ("vala" ,vala)
53c41e95 4518 ("php" ,php)
6e1bb642 4519 ("curl" ,curl)
2deb146f 4520 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
4521 ("httpd" ,httpd)))
4522 (propagated-inputs
4523 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
4524 `(("brotli" ,google-brotli)
4525 ("glib" ,glib)
249846bf 4526 ("libpsl" ,libpsl)
eccaa8bf 4527 ("libxml2" ,libxml2)
f8026a79
MB
4528 ("sqlite" ,sqlite)
4529 ("zlib" ,zlib)))
eccaa8bf
MB
4530 (inputs
4531 `(("glib-networking" ,glib-networking)
4532 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
4533 (home-page "https://live.gnome.org/LibSoup/")
4534 (synopsis "GLib-based HTTP Library")
4535 (description
4536 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
4537and the GLib main loop, to integrate well with GNOME applications.")
4538 (license license:lgpl2.0+)))
4539
43b6b45e
MC
4540
4541;;; A minimal version of libsoup used to prevent a cycle with Inkscape.
4542(define-public libsoup-minimal
4543 (package
4544 (inherit libsoup)
4545 (name "libsoup-minimal")
4546 (outputs (delete "doc" (package-outputs libsoup)))
4547 (arguments
4548 (substitute-keyword-arguments (package-arguments libsoup)
4549 ((#:configure-flags configure-flags)
4550 `(delete "-Dgtk_doc=true" ,configure-flags))
4551 ((#:phases phases)
4552 `(modify-phases ,phases
4553 (delete 'move-doc)))))
4554 (native-inputs (alist-delete "gtk-doc" (package-native-inputs libsoup)))))
4555
bba229a3
SB
4556(define-public libsecret
4557 (package
4558 (name "libsecret")
b05a2f62 4559 (version "0.20.3")
bba229a3
SB
4560 (source (origin
4561 (method url-fetch)
4562 (uri (string-append
896dcbc7
EF
4563 "mirror://gnome/sources/libsecret/"
4564 (version-major+minor version) "/"
0ada4e29 4565 "libsecret-" version ".tar.xz"))
bba229a3
SB
4566 (sha256
4567 (base32
b05a2f62 4568 "1r4habxdzmn02id324m0m4mg5isf22q1z436bg3vjjmcz1b3rjsg"))))
bba229a3
SB
4569 (build-system gnu-build-system)
4570 (outputs '("out" "doc"))
4571 (arguments
4572 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
4573 #:configure-flags
4574 (list (string-append "--with-html-dir="
4575 (assoc-ref %outputs "doc")
4576 "/share/gtk-doc/html"))))
4577 (native-inputs
c06ef010
MB
4578 `(("gettext" ,gettext-minimal)
4579 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 4580 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
4581 ("pkg-config" ,pkg-config)
4582 ("vala" ,vala)
4583 ("xsltproc" ,libxslt)))
4584 ;; These are needed for the tests.
4585 ;; FIXME: Add gjs once available.
4586 ;("dbus" ,dbus)
4587 ;("python2" ,python-2)
4588 ;("python2-dbus" ,python2-dbus)
4589 ;("python2-pygobject" ,python2-pygobject)
4590 ;("python2-pygobject-2" ,python2-pygobject-2)))
4591 (propagated-inputs
4592 `(("glib" ,glib))) ; required by libsecret-1.pc
4593 (inputs
4594 `(("docbook-xsl" ,docbook-xsl)
4595 ("libgcrypt" ,libgcrypt)
4596 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
4597 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
4598 (synopsis "GObject bindings for \"Secret Service\" API")
4599 (description
4600 "Libsecret is a GObject based library for storing and retrieving passwords
4601and other secrets. It communicates with the \"Secret Service\" using DBus.")
4602 (license license:lgpl2.1+)))
4603
b6821ee0 4604(define-public five-or-more
4605 (package
4606 (name "five-or-more")
ee75b46f 4607 (version "3.32.2")
b6821ee0 4608 (source
4609 (origin
4610 (method url-fetch)
bf782bfc 4611 (uri (string-append "mirror://gnome/sources/five-or-more/"
b6821ee0 4612 (version-major+minor version) "/"
bf782bfc 4613 "five-or-more-" version ".tar.xz"))
b6821ee0 4614 (sha256
ee75b46f 4615 (base32 "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii"))))
d9795e93
KK
4616 (build-system meson-build-system)
4617 (arguments
4618 '(#:glib-or-gtk? #t
4619 #:phases
4620 (modify-phases %standard-phases
4621 (add-after 'unpack 'skip-gtk-update-icon-cache
4622 (lambda _
4623 (substitute* "meson_post_install.py"
4624 (("gtk-update-icon-cache") (which "true")))
4625 #t)))))
b6821ee0 4626 (native-inputs
4627 `(("pkg-config" ,pkg-config)
d9795e93 4628 ("appstream-glib" ,appstream-glib)
b6821ee0 4629 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 4630 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 4631 ("intltool" ,intltool)
4632 ("itstool" ,itstool)
d9795e93 4633 ("vala" ,vala)
b6821ee0 4634 ("xmllint" ,libxml2)))
4635 (inputs
4636 `(("gtk+" ,gtk+)
d9795e93 4637 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 4638 ("librsvg" ,librsvg)))
4639 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
4640 (synopsis "Logic puzzle game")
4641 (description "Five or More is a game where you try to align
4642 five or more objects of the same color and shape causing them to disappear.
4643 On every turn more objects will appear, until the board is full.
4644 Try to last as long as possible.")
4645 (license license:gpl2+)))
4646
a31a6d22
SB
4647(define-public gnome-mines
4648 (package
4649 (name "gnome-mines")
583ea8f5 4650 (version "3.36.1")
a31a6d22
SB
4651 (source
4652 (origin
4653 (method url-fetch)
4654 (uri (string-append "mirror://gnome/sources/" name "/"
4655 (version-major+minor version) "/"
4656 name "-" version ".tar.xz"))
4657 (sha256
583ea8f5 4658 (base32 "0m2680r94nk61imym4x73j03jwfjd8cxm592m5ybiqdfdw6i723i"))))
8c0fab36 4659 (build-system meson-build-system)
a31a6d22 4660 (arguments
2d817e41
KK
4661 '(#:glib-or-gtk? #t
4662 #:phases
a31a6d22 4663 (modify-phases %standard-phases
2d817e41
KK
4664 (add-after 'unpack 'skip-gtk-update-icon-cache
4665 (lambda _
4666 (substitute* "build-aux/meson_post_install.py"
4667 (("gtk-update-icon-cache") (which "true")))
4668 #t)))))
a31a6d22 4669 (native-inputs
8c0fab36
RW
4670 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
4671 ("pkg-config" ,pkg-config)
a31a6d22
SB
4672 ("desktop-file-utils" ,desktop-file-utils)
4673 ("intltool" ,intltool)
bcb354ad 4674 ("itstool" ,itstool)
8c0fab36
RW
4675 ("vala" ,vala)
4676 ("yelp" ,yelp)
4677 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
4678 (inputs
4679 `(("gtk+" ,gtk+)
73992962 4680 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
4681 ("librsvg" ,librsvg)))
4682 (home-page "https://wiki.gnome.org/Apps/Mines")
4683 (synopsis "Minesweeper game")
4684 (description
4685 "Mines (previously gnomine) is a puzzle game where you locate mines
4686floating in an ocean using only your brain and a little bit of luck.")
754cfbdc
EB
4687 (license license:gpl2+)))
4688
4689(define-public gnome-multi-writer
4690 (package
4691 (name "gnome-multi-writer")
4692 (version "3.35.90")
4693 (source
4694 (origin
4695 (method url-fetch)
4696 (uri (string-append "mirror://gnome/sources/gnome-multi-writer/"
4697 (version-major+minor version) "/"
4698 "gnome-multi-writer-" version ".tar.xz"))
4699 (sha256
4700 (base32
4701 "07vgzjjdrxcp7h73z13h9agafxb4vmqx5i81bcfyw0ilw9kkdzmp"))))
4702 (build-system meson-build-system)
4703 (arguments
4704 '(#:glib-or-gtk? #t
4705 #:phases
4706 (modify-phases %standard-phases
4707 (add-after 'unpack 'skip-post-install
4708 (lambda _
4709 (substitute* "meson.build"
4710 (("meson.add_install_script" &) (string-append "# " &)))
4711 #t)))))
4712 (native-inputs
4713 `(("glib:bin" ,glib "bin")
4714 ("pkg-config" ,pkg-config)))
4715 (inputs
4716 `(("gtk+" ,gtk+)
4717 ("glib" ,glib) ; for gio
4718 ("gusb" ,gusb)
4719 ("udisks" ,udisks)
4720 ("libgudev" ,libgudev)
4721 ("libcanberra" ,libcanberra)
4722 ("polkit" ,polkit)))
4723 (home-page "https://wiki.gnome.org/Apps/MultiWriter")
4724 (synopsis "Write to multiple USB devices at once")
4725 (description
4726 "MultiWriter can be used to write an ISO file to multiple USB devices at
4727once.")
a31a6d22 4728 (license license:gpl2+)))
88f70665 4729
dfc407f3
KY
4730(define-public gnome-sudoku
4731 (package
4732 (name "gnome-sudoku")
857eb190 4733 (version "3.34.1")
dfc407f3
KY
4734 (source
4735 (origin
4736 (method url-fetch)
4737 (uri (string-append "mirror://gnome/sources/" name "/"
4738 (version-major+minor version) "/"
4739 name "-" version ".tar.xz"))
4740 (sha256
4741 (base32
857eb190 4742 "025y85r4qqardivvwiwhbmgarziykdy224m8zlrq8b79zv82793b"))))
7dc728c4
KK
4743 (build-system meson-build-system)
4744 (arguments
4745 '(#:glib-or-gtk? #t
4746 #:phases
4747 (modify-phases %standard-phases
4748 (add-after 'unpack 'skip-gtk-update-icon-cache
4749 (lambda _
4750 (substitute* "build-aux/post_install.py"
4751 (("gtk-update-icon-cache") (which "true")))
4752 #t)))))
dfc407f3
KY
4753 (native-inputs
4754 `(("pkg-config" ,pkg-config)
4755 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 4756 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
4757 ("intltool" ,intltool)
4758 ("itstool" ,itstool)
7dc728c4 4759 ("vala" ,vala)
dfc407f3
KY
4760 ("xmllint" ,libxml2)))
4761 (inputs
4762 `(("gtk+" ,gtk+)
4763 ("json-glib" ,json-glib)
4764 ("libgee" ,libgee)
4765 ("librsvg" ,librsvg)
4766 ("qqwing" ,qqwing)))
4767 (home-page "https://wiki.gnome.org/Apps/Sudoku")
4768 (synopsis "Japanese logic game")
4769 (description
4770 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
4771GNOME Sudoku is meant to have an interface as simple and unobstrusive as
4772possible while still providing features that make playing difficult Sudoku
4773more fun.")
4774 (license license:gpl2+)))
4775
88f70665
AW
4776(define-public gnome-terminal
4777 (package
4778 (name "gnome-terminal")
80f6f9d8 4779 (version "3.34.2")
88f70665
AW
4780 (source
4781 (origin
4782 (method url-fetch)
4783 (uri (string-append "mirror://gnome/sources/" name "/"
4784 (version-major+minor version) "/"
4785 name "-" version ".tar.xz"))
4786 (sha256
4787 (base32
80f6f9d8 4788 "0gc004f9b5k94gkdanmqjz3wqgnpny0l3nqm8zd19h4f0ps27mrv"))))
88f70665
AW
4789 (build-system glib-or-gtk-build-system)
4790 (arguments
4791 '(#:configure-flags
4792 (list "--disable-migration" "--disable-search-provider"
4793 "--without-nautilus-extension")
4794 #:phases
4795 (modify-phases %standard-phases
3a4de6b2 4796 (add-before 'configure 'patch-/bin/true
88f70665
AW
4797 (lambda _
4798 (substitute* "configure"
4799 (("/bin/true") (which "true"))))))))
4800 (native-inputs
4801 `(("pkg-config" ,pkg-config)
4802 ("desktop-file-utils" ,desktop-file-utils)
4803 ("intltool" ,intltool)
bcb354ad
SB
4804 ("itstool" ,itstool)
4805 ("xmllint" ,libxml2)))
68702167
MW
4806 (propagated-inputs
4807 `(("dconf" ,dconf)))
88f70665
AW
4808 (inputs
4809 `(("gtk+" ,gtk+)
4810 ("vte" ,vte)
4811 ("gnutls" ,gnutls)
88f70665 4812 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
bb93042c 4813 ("util-linux" ,util-linux "lib")
88f70665
AW
4814 ("vala" ,vala)))
4815 (home-page "https://wiki.gnome.org/Apps/Terminal")
4816 (synopsis "Terminal emulator")
4817 (description
4818 "GNOME Terminal is a terminal emulator application for accessing a
4819UNIX shell environment which can be used to run programs available on
4820your system.
4821
4822It supports several profiles, multiple tabs and implements several
4823keyboard shortcuts.")
4824 (license license:gpl3+)))
75016d07
AW
4825
4826(define-public colord
4827 (package
4828 (name "colord")
f98be942 4829 (version "1.4.4")
75016d07
AW
4830 (source
4831 (origin
4832 (method url-fetch)
5cc3096c 4833 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 4834 "colord-" version ".tar.xz"))
75016d07 4835 (sha256
f98be942 4836 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 4837 (build-system meson-build-system)
75016d07 4838 (arguments
a68544a8
RW
4839 '(;; FIXME: One test fails:
4840 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
4841 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
4842 ;; application/x-zerosize
75016d07 4843 #:tests? #f
a68544a8
RW
4844 #:glib-or-gtk? #t
4845 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 4846 ;; No dep on systemd.
a68544a8 4847 "-Dsystemd=false"
75016d07
AW
4848 ;; Wants to install to global completion dir;
4849 ;; punt.
a68544a8 4850 "-Dbash_completion=false"
a68544a8
RW
4851 "-Ddaemon_user=colord"
4852 "-Dsane=true"
dac26e22 4853 "-Dvapi=true"
6f20e2dc 4854 ;; Requires spotread.
a68544a8 4855 "-Dargyllcms_sensor=false"
6f20e2dc 4856 ;; TODO: Requires docbook2x.
a68544a8 4857 "-Dman=false")
75016d07
AW
4858 #:phases
4859 (modify-phases %standard-phases
a68544a8
RW
4860 (add-before 'configure 'patch-build-system
4861 (lambda* (#:key outputs #:allow-other-keys)
4862 (substitute* "rules/meson.build"
4863 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
4864 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
4865 #t))
4866 (add-before 'configure 'set-sqlite3-file-name
4867 (lambda* (#:key inputs #:allow-other-keys)
4868 ;; "colormgr dump" works by invoking the "sqlite3" command.
4869 ;; Record its absolute file name.
4870 (let ((sqlite (assoc-ref inputs "sqlite")))
4871 (substitute* "client/cd-util.c"
4872 (("\"sqlite3\"")
4873 (string-append "\"" sqlite "/bin/sqlite3\"")))
4874 #t))))))
75016d07 4875 (native-inputs
6f20e2dc 4876 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 4877 ("gettext" ,gettext-minimal)
75016d07 4878 ("gobject-introspection" ,gobject-introspection)
a68544a8 4879 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
4880 ("pkg-config" ,pkg-config)
4881 ("vala" ,vala)))
65cb2d61
SB
4882 (propagated-inputs
4883 ;; colord.pc refers to all these.
4884 `(("glib" ,glib)
6f20e2dc
TGR
4885 ("lcms" ,lcms)
4886 ("udev" ,eudev)))
75016d07 4887 (inputs
65cb2d61 4888 `(("dbus-glib" ,dbus-glib)
a68544a8 4889 ("gusb" ,gusb)
80c7dd1a 4890 ("libgudev" ,libgudev)
75016d07 4891 ("libusb" ,libusb)
75016d07 4892 ("polkit" ,polkit)
a68544a8 4893 ("python" ,python-wrapper)
6f20e2dc 4894 ("sqlite" ,sqlite)
4c928743 4895 ("sane-backends" ,sane-backends)))
57e7d748 4896 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
4897 (synopsis "Color management service")
4898 (description "Colord is a system service that makes it easy to manage,
4899install and generate color profiles to accurately color manage input and
4900output devices.")
4901 (license license:gpl2+)))
7b2abd00
AW
4902
4903(define-public geoclue
4904 (package
4905 (name "geoclue")
2bf0a5cb 4906 (version "2.5.6")
7b2abd00
AW
4907 (source
4908 (origin
4909 (method url-fetch)
50e96d25
MB
4910 (uri
4911 (string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
4912 version "/geoclue-" version ".tar.bz2"))
7b2abd00 4913 (sha256
2bf0a5cb 4914 (base32 "0a833x5apzabxj80ywvsh8crd635vni2i9v9c1p095f6hvmfc45k"))
fc1adab1 4915 (patches (search-patches "geoclue-config.patch"))))
50e96d25 4916 (build-system meson-build-system)
7b2abd00 4917 (arguments
50e96d25 4918 '(#:configure-flags (list "-Dbus-srv-user=geoclue")))
7b2abd00
AW
4919 (native-inputs
4920 `(("pkg-config" ,pkg-config)
758798a9 4921 ("gobject-introspection" ,gobject-introspection)
50e96d25
MB
4922 ("modem-manager" ,modem-manager)
4923 ("libnotify" ,libnotify)
4924 ("gtk-doc", gtk-doc)
7b2abd00
AW
4925 ("intltool" ,intltool)))
4926 (inputs
54e911bc 4927 `(("avahi" ,avahi)
50e96d25
MB
4928 ("glib:bin" ,glib "bin")
4929 ("glib-networking" ,glib-networking)
7b2abd00
AW
4930 ("json-glib" ,json-glib)
4931 ("libsoup" ,libsoup)))
50e96d25 4932 (home-page "https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home")
7b2abd00
AW
4933 (synopsis "Geolocation service")
4934 (description "Geoclue is a D-Bus service that provides location
4935information. The primary goal of the Geoclue project is to make creating
4936location-aware applications as simple as possible, while the secondary goal is
4937to ensure that no application can access location information without explicit
e881752c 4938permission from user.")
7b2abd00 4939 (license license:gpl2+)))
2bfe7437
AW
4940
4941(define-public geocode-glib
4942 (package
4943 (name "geocode-glib")
6f4d4ccc 4944 (version "3.26.2")
2bfe7437
AW
4945 (source (origin
4946 (method url-fetch)
4947 (uri (string-append "mirror://gnome/sources/geocode-glib/"
4948 (version-major+minor version) "/"
d485cdc0 4949 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
4950 (sha256
4951 (base32
6f4d4ccc 4952 "1l8g0f13xgkrk335afr9w8k46mziwb2jnyhl07jccl5yl37q9zh1"))))
a7dd0c02 4953 (build-system meson-build-system)
2bfe7437 4954 (arguments
a7dd0c02
RW
4955 `(#:phases
4956 (modify-phases %standard-phases
4957 ;; The tests require a bunch of locales.
4958 (add-before 'check 'set-locales
4959 (lambda* (#:key inputs #:allow-other-keys)
4960 (setenv "GUIX_LOCPATH"
4961 (string-append (assoc-ref inputs "glibc-locales")
4962 "/lib/locale"))
4963 #t)))))
2bfe7437
AW
4964 (native-inputs
4965 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
4966 ("glibc-locales" ,glibc-locales) ; for tests
4967 ("gettext" ,gettext-minimal)
2bfe7437 4968 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 4969 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
4970 ("pkg-config" ,pkg-config)
4971 ("json-glib" ,json-glib)))
4972 (propagated-inputs
4973 ;; geocode-glib-1.0.pc refers to GIO.
4974 `(("glib" ,glib)))
4975 (inputs
4976 `(("libsoup" ,libsoup)))
4977 (home-page "https://github.com/GNOME/geocode-glib/")
4978 (synopsis "Geocoding and reverse-geocoding library")
4979 (description
4980 "geocode-glib is a convenience library for geocoding (finding longitude,
4981and latitude from an address) and reverse geocoding (finding an address from
4982coordinates) using the Nominatim service. geocode-glib caches requests for
4983faster results and to avoid unnecessary server load.")
4984 (license license:lgpl2.0+)))
a1d5bb0e
AW
4985
4986(define-public upower
4987 (package
4988 (name "upower")
df45af90 4989 (version "0.99.11")
a1d5bb0e
AW
4990 (source (origin
4991 (method url-fetch)
df45af90 4992 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 4993 "upower-" version ".tar.xz"))
a1d5bb0e
AW
4994 (sha256
4995 (base32
df45af90 4996 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
5dc6d5ce
LC
4997 (patches (search-patches "upower-builddir.patch"))
4998 (modules '((guix build utils)))
4999 (snippet
5000 '(begin
5001 ;; Upstream commit
5002 ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
5003 ;; moved 'dbus-1/system.d' from etc/ to share/. However,
5004 ;; 'dbus-configuration-directory' in (gnu services dbus)
5005 ;; expects it in etc/. Thus, move it back to its previous
5006 ;; location.
5007 (substitute* "src/Makefile.in"
5008 (("^dbusconfdir =.*$")
5009 "dbusconfdir = $(sysconfdir)/dbus-1/system.d\n"))
5010 #t))))
a1d5bb0e
AW
5011 (build-system glib-or-gtk-build-system)
5012 (arguments
6039031a
BW
5013 '(#:phases
5014 (modify-phases %standard-phases
5015 (add-before 'check 'pre-check
5016 (lambda* (#:key inputs #:allow-other-keys)
5017 (let ((umockdev (string-append (assoc-ref inputs "umockdev")
5018 "/lib")))
5019 (setenv "LD_LIBRARY_PATH" umockdev))
5020 #t)))
a1d5bb0e
AW
5021 #:configure-flags (list "--localstatedir=/var"
5022 (string-append "--with-udevrulesdir="
5023 (assoc-ref %outputs "out")
9ec54965 5024 "/lib/udev/rules.d"))))
a1d5bb0e 5025 (native-inputs
ebeabe2d
SB
5026 `(("gobject-introspection" ,gobject-introspection)
5027 ("pkg-config" ,pkg-config)
a1d5bb0e 5028 ("intltool" ,intltool)
55409295
LC
5029 ("python" ,python)
5030
6039031a
BW
5031 ;; For tests.
5032 ("python-dbus" ,python-dbus)
5033 ("python-dbusmock" ,python-dbusmock)
5034 ("python-pygobject" ,python-pygobject)
5035 ("umockdev" ,umockdev)
5036
55409295
LC
5037 ;; For man pages.
5038 ("libxslt" ,libxslt) ;for 'xsltproc'
5039 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5040 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 5041 (inputs
ea226291
SB
5042 `(("dbus-glib" ,dbus-glib)
5043 ("libgudev" ,libgudev)
a1d5bb0e 5044 ("libusb" ,libusb)))
d7a503fc
MB
5045 (propagated-inputs
5046 ;; In Requires of upower-glib.pc.
5047 `(("glib" ,glib)))
57e7d748 5048 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
5049 (synopsis "System daemon for managing power devices")
5050 (description
5051 "UPower is an abstraction for enumerating power devices,
5052listening to device events and querying history and statistics. Any
5053application or service on the system can access the org.freedesktop.UPower
5054service via the system message bus.")
5055 (license license:gpl2+)))
6a180f6f
AW
5056
5057(define-public libgweather
5058 (package
5059 (name "libgweather")
462d3416 5060 (version "3.34.0")
6a180f6f
AW
5061 (source (origin
5062 (method url-fetch)
5063 (uri (string-append "mirror://gnome/sources/" name "/"
5064 (version-major+minor version) "/"
5065 name "-" version ".tar.xz"))
5066 (sha256
5067 (base32
462d3416 5068 "1fgiqswkhiaijanml3mb16ajn5aanrk7x6yiwagp9n9rssam6902"))))
cf6cbc34 5069 (build-system meson-build-system)
6a180f6f 5070 (arguments
cf6cbc34
RW
5071 `(#:tests? #f ; one of two tests requires network access
5072 #:configure-flags
5073 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 5074 (assoc-ref %build-inputs "tzdata")
cf6cbc34 5075 "/share/zoneinfo"))))
6a180f6f
AW
5076 (native-inputs
5077 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 5078 ("gobject-introspection" ,gobject-introspection)
6a180f6f 5079 ("pkg-config" ,pkg-config)
1d3fcf94 5080 ("vala" ,vala)
6a180f6f
AW
5081 ("intltool" ,intltool)))
5082 (propagated-inputs
5083 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
5084 ;; libsoup.
5085 `(("gtk+" ,gtk+)
5086 ("gdk-pixbuf" ,gdk-pixbuf)
5087 ("libxml2" ,libxml2)
cf6cbc34 5088 ("libsoup" ,libsoup)
6a180f6f 5089 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
5090 (inputs
5091 `(("tzdata" ,tzdata)))
6a180f6f
AW
5092 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
5093 (synopsis "Location, time zone, and weather library for GNOME")
5094 (description
5095 "libgweather is a library to access weather information from online
5096services for numerous locations.")
5097 (license license:gpl2+)))
23a22af6
AW
5098
5099(define-public gnome-settings-daemon
5100 (package
5101 (name "gnome-settings-daemon")
20154759 5102 (version "3.34.1")
23a22af6
AW
5103 (source
5104 (origin
5105 (method url-fetch)
5106 (uri (string-append "mirror://gnome/sources/" name "/"
5107 (version-major+minor version) "/"
5108 name "-" version ".tar.xz"))
5109 (sha256
5110 (base32
20154759 5111 "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr"))))
e644f9fa 5112 (build-system meson-build-system)
23a22af6 5113 (arguments
e644f9fa
RW
5114 `(#:glib-or-gtk? #t
5115 #:configure-flags
5116 (list (string-append "-Dudev_dir="
5117 (assoc-ref %outputs "out")
4d0e085b 5118 "/lib/udev/rules.d/")
20154759 5119 "-Dsystemd=false"
4d0e085b
RW
5120 ;; Otherwise, the RUNPATH will lack the final path component.
5121 (string-append "-Dc_link_args=-Wl,-rpath="
5122 (assoc-ref %outputs "out")
5123 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 5124 ;; Color management test can't reach the colord system service.
23a22af6
AW
5125 #:tests? #f))
5126 (native-inputs
e644f9fa
RW
5127 `(("glib:bin" ,glib "bin") ; for glib-mkenums
5128 ("pkg-config" ,pkg-config)
23a22af6
AW
5129 ("intltool" ,intltool)
5130 ("xsltproc" ,libxslt)
5131 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
5132 ("docbook-xml" ,docbook-xml-4.2)
5133 ("docbook-xsl" ,docbook-xsl)))
5134 (inputs
e644f9fa
RW
5135 `(("alsa-lib" ,alsa-lib)
5136 ("colord" ,colord)
ea226291 5137 ("libgudev" ,libgudev)
23a22af6
AW
5138 ("upower" ,upower)
5139 ("polkit" ,polkit)
5140 ("pulseaudio" ,pulseaudio)
5141 ("libcanberra" ,libcanberra)
5142 ("libx11" ,libx11)
5143 ("libxtst" ,libxtst)
5144 ("lcms" ,lcms)
5145 ("libnotify" ,libnotify)
5146 ("geoclue" ,geoclue)
5147 ("geocode-glib" ,geocode-glib)
5148 ("libgweather" ,libgweather)
5149 ("gnome-desktop" ,gnome-desktop)
5150 ("nss" ,nss)
5151 ("cups" ,cups)
ec2b1921
AW
5152 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5153 ("libwacom" ,libwacom)
5154 ("librsvg" ,librsvg)
eee7878f 5155 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 5156 ("wayland" ,wayland)
20154759
KK
5157 ("network-manager" ,network-manager)
5158 ("gcr" ,gcr)
5159 ("modem-manager" ,modem-manager)))
f032d0be 5160 (home-page "https://www.gnome.org")
23a22af6
AW
5161 (synopsis "GNOME settings daemon")
5162 (description
5163 "This package contains the daemon responsible for setting the various
5164parameters of a GNOME session and the applications that run under it. It
5165handles settings such keyboard layout, shortcuts, and accessibility, clipboard
5166settings, themes, mouse settings, and startup of other daemons.")
5167 (license license:gpl2+)))
1e7464a9
DH
5168
5169(define-public totem-pl-parser
5170 (package
5171 (name "totem-pl-parser")
f9c182ad 5172 (version "3.26.5")
1e7464a9
DH
5173 (source (origin
5174 (method url-fetch)
e980cbe9
MW
5175 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
5176 (version-major+minor version) "/"
1e7464a9
DH
5177 "totem-pl-parser-" version ".tar.xz"))
5178 (sha256
5179 (base32
f9c182ad 5180 "132jihnf51zs98yjkc6jxyqib4f3dawpjm17g4bj4j78y93dww2k"))))
1e9b19dd 5181 (build-system meson-build-system)
1e7464a9
DH
5182 (arguments
5183 ;; FIXME: Tests require gvfs.
5184 `(#:tests? #f))
5185 (native-inputs
5186 `(("intltool" ,intltool)
5187 ("glib" ,glib "bin")
4d6d8281 5188 ("gobject-introspection" ,gobject-introspection)
1e7464a9 5189 ("pkg-config" ,pkg-config)))
22a6ad6a 5190 (propagated-inputs
1e7464a9
DH
5191 `(("glib" ,glib)
5192 ("gmime" ,gmime)
1e9b19dd
RW
5193 ("libarchive" ,libarchive)
5194 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
5195 ("libxml2" ,libxml2)))
5196 (inputs
0a6e9e13 5197 `(("libsoup" ,libsoup)))
1e7464a9
DH
5198 (home-page "https://projects.gnome.org/totem")
5199 (synopsis "Library to parse and save media playlists for GNOME")
5200 (description "Totem-pl-parser is a GObjects-based library to parse and save
5201playlists in a variety of formats.")
5202 (license license:lgpl2.0+)))
5203
6b888eff
SB
5204(define-public aisleriot
5205 (package
5206 (name "aisleriot")
36ed9b46 5207 (version "3.22.9")
6b888eff
SB
5208 (source (origin
5209 (method url-fetch)
e43f622a 5210 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 5211 (version-major+minor version) "/"
e43f622a 5212 "aisleriot-" version ".tar.xz"))
6b888eff
SB
5213 (sha256
5214 (base32
36ed9b46 5215 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
5216 (build-system glib-or-gtk-build-system)
5217 (arguments
5218 '(#:configure-flags
5219 '("--with-platform=gtk-only"
5220 "--with-card-theme-formats=svg")))
5221 (native-inputs
5222 `(("desktop-file-utils" ,desktop-file-utils)
5223 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5224 ("intltool" ,intltool)
5225 ("itstool" ,itstool)
5226 ("pkg-config" ,pkg-config)
5227 ("xmllint" ,libxml2)))
5228 (inputs
5229 `(("gtk+" ,gtk+)
226e57d6 5230 ("guile" ,guile-2.2)
6b888eff
SB
5231 ("libcanberra" ,libcanberra)
5232 ("librsvg" ,librsvg)))
5233 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
5234 (synopsis "Solitaire card games")
5235 (description
5236 "Aisleriot (also known as Solitaire or sol) is a collection of card games
5237which are easy to play with the aid of a mouse.")
5238 (license license:gpl3+)))
4a79e256 5239
f828d05b
KK
5240(define-public amtk
5241 (package
5242 (name "amtk")
0e08ca14 5243 (version "5.0.2")
f828d05b
KK
5244 (source (origin
5245 (method url-fetch)
bf92ba6b 5246 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 5247 (version-major+minor version) "/"
bf92ba6b 5248 "amtk-" version ".tar.xz"))
f828d05b
KK
5249 (sha256
5250 (base32
0e08ca14 5251 "11jgz2i9wjzv4alrxl1qyxiapb52w7vs5ygfgsw0qgdap8gqkk3i"))))
f828d05b
KK
5252 (build-system gnu-build-system)
5253 (arguments
5254 '(#:configure-flags '("--enable-gtk-doc")))
5255 (native-inputs
5256 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 5257 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
5258 ("gtk-doc" ,gtk-doc)
5259 ("pkg-config" ,pkg-config)))
5260 (inputs
5261 `(("glib" ,glib)
5262 ("gtk+" ,gtk+)))
5263 (home-page "https://wiki.gnome.org/Projects/Amtk")
5264 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
5265 (description
5266 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
5267It is a basic GtkUIManager replacement based on GAction. It is suitable for
5268both a traditional UI or a modern UI with a GtkHeaderBar.")
5269 (license license:lgpl2.1+)))
5270
4a79e256
SB
5271(define-public devhelp
5272 (package
5273 (name "devhelp")
8ae23a1d 5274 (version "3.34.0")
4a79e256
SB
5275 (source (origin
5276 (method url-fetch)
5277 (uri (string-append "mirror://gnome/sources/" name "/"
5278 (version-major+minor version) "/"
5279 name "-" version ".tar.xz"))
5280 (sha256
5281 (base32
8ae23a1d 5282 "0zpmn6fgkgiayvn4diia5df0s6s7dqrdnp3nrvpavsmgn0vhb4pg"))))
11d28bd9 5283 (build-system meson-build-system)
35407f94 5284 (arguments
20db7a3d
KK
5285 '(#:glib-or-gtk? #t
5286 #:phases
35407f94
EF
5287 (modify-phases %standard-phases
5288 (add-after 'unpack 'skip-gtk-update-icon-cache
5289 ;; Don't create 'icon-theme.cache'.
5290 (lambda _
5291 (substitute* "meson_post_install.py"
5292 (("gtk-update-icon-cache") "true"))
5293 #t)))))
4a79e256
SB
5294 (native-inputs
5295 `(("intltool" ,intltool)
5dd12afc 5296 ("itstool" ,itstool)
11d28bd9
KK
5297 ("gobject-introspection" ,gobject-introspection)
5298 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
5299 ("pkg-config" ,pkg-config)))
5300 (inputs
11d28bd9
KK
5301 `(("amtk" ,amtk)
5302 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
5303 ("webkitgtk" ,webkitgtk)))
5304 (home-page "https://wiki.gnome.org/Apps/Devhelp")
5305 (synopsis "API documentation browser for GNOME")
5306 (description
5307 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
5308natively with GTK-Doc (the API reference system developed for GTK+ and used
5309throughout GNOME for API documentation).")
5310 (license license:gpl2+)))
ba421ab7
MW
5311
5312(define-public cogl
5313 (package
5314 (name "cogl")
c668a880 5315 (version "1.22.8")
ba421ab7
MW
5316 (source
5317 (origin
5318 (method url-fetch)
5754f0cf 5319 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 5320 (version-major+minor version) "/"
5754f0cf 5321 "cogl-" version ".tar.xz"))
ba421ab7 5322 (sha256
c668a880 5323 (base32 "0nfph4ai60ncdx7hy6hl1i1cmp761jgnyjfhagzi0iqq36qb41d8"))))
a88d5a0c
MW
5324 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
5325 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
5326 (build-system gnu-build-system)
5327 (native-inputs
5328 `(("glib:bin" ,glib "bin") ; for glib-mkenums
5329 ("gobject-introspection" ,gobject-introspection)
b4f04e0e 5330 ("xorg-server" ,xorg-server-for-tests)
ba421ab7
MW
5331 ("pkg-config" ,pkg-config)))
5332 (propagated-inputs
5333 `(("glib" ,glib)
5334 ("gdk-pixbuf" ,gdk-pixbuf)
5335 ("libx11" ,libx11)
5336 ("libxext" ,libxext)
5337 ("libxfixes" ,libxfixes)
5338 ("libxdamage" ,libxdamage)
5339 ("libxcomposite" ,libxcomposite)
5340 ("libxrandr" ,libxrandr)))
5341 (inputs
5342 `(("mesa" ,mesa)
5343 ("cairo" ,cairo)
5344 ("pango" ,pango)
5345 ("gstreamer" ,gstreamer)
31860852
KK
5346 ("gst-plugins-base" ,gst-plugins-base)
5347 ("wayland" ,wayland)))
ba421ab7 5348 (arguments
b4f04e0e
MB
5349 `(#:disallowed-references (,xorg-server-for-tests)
5350 #:configure-flags (list "--enable-cogl-gst"
31860852
KK
5351 "--enable-wayland-egl-platform"
5352 "--enable-wayland-egl-server"
5353
ba421ab7
MW
5354 ;; Arrange to pass an absolute file name to
5355 ;; dlopen for libGL.so.
5356 (string-append "--with-gl-libname="
5357 (assoc-ref %build-inputs "mesa")
5358 "/lib/libGL.so"))
b4f04e0e 5359 #:phases
ba421ab7 5360 (modify-phases %standard-phases
0c8a51c7
MB
5361 (add-after 'unpack 'fix-build-with-mesa-20
5362 (lambda _
5363 ;; Work around a problem with Mesa 20 where some macros used by
5364 ;; Cogl went missing from eglext.h. This can likely be removed
5365 ;; for newer versions of Cogl or Mesa.
5366 ;; https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/19
5367 (substitute* '("configure"
5368 "cogl/winsys/cogl-winsys-egl-kms.c")
5369 (("#include <EGL/eglext.h>" all)
5370 (string-append all "\n#include <EGL/eglmesaext.h>\n")))
5371 #t))
ba421ab7 5372 (add-before 'check 'start-xorg-server
b4f04e0e
MB
5373 (lambda* (#:key tests? inputs #:allow-other-keys)
5374 (if tests?
5375 (begin
5376 ;; The test suite requires a running X server.
5377 (system (format #f "~a/bin/Xvfb :1 +extension GLX &"
5378 (assoc-ref inputs "xorg-server")))
5379 (setenv "DISPLAY" ":1")
5380 #t)
5381 (format #t "test suite not run~%"))
ba421ab7 5382 #t)))))
89b49245 5383 (home-page "https://www.cogl3d.org")
ba421ab7
MW
5384 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
5385 (description
5386 "Cogl is a small library for using 3D graphics hardware to draw pretty
5387pictures. The API departs from the flat state machine style of OpenGL and is
5388designed to make it easy to write orthogonal components that can render
5389without stepping on each others toes.")
5390 (license (list license:expat ; most of the code
5391 license:bsd-3 ; cogl/cogl-point-in-poly.c
5392 license:sgifreeb2.0 ; cogl-path/tesselator/
5393 license:asl2.0)))) ; examples/android/
fb182b8a
MW
5394
5395(define-public clutter
5396 (package
5397 (name "clutter")
6a88e4ee 5398 (version "1.26.2")
fb182b8a
MW
5399 (source
5400 (origin
5401 (method url-fetch)
5402 (uri (string-append "mirror://gnome/sources/" name "/"
5403 (version-major+minor version) "/"
5404 name "-" version ".tar.xz"))
5405 (sha256
5406 (base32
6a88e4ee 5407 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
5408 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
5409 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 5410 (build-system gnu-build-system)
600233bd
LC
5411 (outputs '("out"
5412 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
5413 (native-inputs
5414 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
5415 ("gobject-introspection" ,gobject-introspection)
5416 ("pkg-config" ,pkg-config)
5417 ("xsltproc" ,libxslt)))
5418 (propagated-inputs
5419 `(("cogl" ,cogl)
5420 ("cairo" ,cairo)
5421 ("atk" ,atk)
5422 ("gtk+" ,gtk+)
5423 ("json-glib" ,json-glib)
5424 ("glib" ,glib)
5425 ("libxcomposite" ,libxcomposite)
5426 ("libxdamage" ,libxdamage)
5427 ("libxext" ,libxext)
5428 ("xinput" ,xinput)))
5429 (inputs
5430 `(("libxkbcommon" ,libxkbcommon)
5431 ("udev" ,eudev)))
5432 (arguments
600233bd
LC
5433 `(#:configure-flags (list "--enable-x11-backend=yes"
5434
5435 ;; This produces share/doc/{clutter,cally}.
5436 (string-append "--with-html-dir="
5437 (assoc-ref %outputs "doc")
5438 "/share/doc"))
fb182b8a
MW
5439 ;; XXX FIXME: Get test suite working. It would probably fail in the
5440 ;; same way the cogl tests fail, since clutter is based on cogl.
5441 #:tests? #f))
5442 (home-page "http://www.clutter-project.org")
476af713 5443 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 5444 (description
476af713 5445 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
5446creating fast, mainly 2D single window applications such as media box UIs,
5447presentations, kiosk style applications and so on.")
5448 (license license:lgpl2.0+)))
bf7f17ba
MW
5449
5450(define-public clutter-gtk
5451 (package
5452 (name "clutter-gtk")
5d1a3219 5453 (version "1.8.4")
bf7f17ba
MW
5454 (source
5455 (origin
5456 (method url-fetch)
5457 (uri (string-append "mirror://gnome/sources/" name "/"
5458 (version-major+minor version) "/"
5459 name "-" version ".tar.xz"))
5460 (sha256
5461 (base32
5d1a3219 5462 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
5463 (build-system gnu-build-system)
5464 (native-inputs
5465 `(("pkg-config" ,pkg-config)
5466 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
5467 (propagated-inputs
5468 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
5469 `(("clutter" ,clutter)
5470 ("gtk+" ,gtk+)))
5471 (home-page "http://www.clutter-project.org")
476af713 5472 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 5473 (description
476af713 5474 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
5475creating fast, mainly 2D single window applications such as media box UIs,
5476presentations, kiosk style applications and so on.")
5477 (license license:lgpl2.0+)))
86d6a893
MW
5478
5479(define-public clutter-gst
5480 (package
5481 (name "clutter-gst")
ba07ac19 5482 (version "3.0.27")
86d6a893
MW
5483 (source
5484 (origin
5485 (method url-fetch)
f010f89b 5486 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 5487 (version-major+minor version) "/"
f010f89b 5488 "clutter-gst-" version ".tar.xz"))
86d6a893 5489 (sha256
ba07ac19 5490 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
5491 (build-system gnu-build-system)
5492 (native-inputs
ba07ac19 5493 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
5494 ("pkg-config" ,pkg-config)
5495 ("gobject-introspection" ,gobject-introspection)))
5496 (inputs
5497 `(("clutter" ,clutter)
5498 ("gstreamer" ,gstreamer)
5499 ("gst-plugins-base" ,gst-plugins-base)))
5500 (home-page "http://www.clutter-project.org")
5501 (synopsis "Integration library for using GStreamer with Clutter")
5502 (description
5503 "Clutter-Gst is an integration library for using GStreamer with Clutter.
5504It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
5505implements the ClutterGstPlayer interface using playbin. Clutter is an
5506OpenGL-based interactive canvas library.")
86d6a893 5507 (license license:lgpl2.0+)))
607a04ae 5508
30dc88d9
LC
5509(define-public libchamplain
5510 (package
5511 (name "libchamplain")
5564b2c5 5512 (version "0.12.16")
30dc88d9
LC
5513 (source (origin
5514 (method url-fetch)
5515 (uri (string-append
5516 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
5517 version ".tar.xz"))
5518 (sha256
5519 (base32
5564b2c5 5520 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 5521 (build-system gnu-build-system)
f7c6833f
LF
5522 (arguments '(#:configure-flags '("--enable-vala")))
5523 (native-inputs
5524 `(("gobject-introspection" ,gobject-introspection)
5525 ("pkg-config" ,pkg-config)
5526 ("vala" ,vala)))
30dc88d9
LC
5527 (propagated-inputs
5528 `(("libsoup" ,libsoup)
5529 ("sqlite" ,sqlite)
5530 ("clutter" ,clutter)
5531 ("clutter-gtk" ,clutter-gtk)
5532 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
5533 ("cairo" ,cairo)
5534 ("gtk+3" ,gtk+)
5535 ("glib" ,glib)))
f032d0be 5536 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
5537 (synopsis "C library providing a ClutterActor to display maps")
5538 (description
5539 "libchamplain is a C library providing a ClutterActor to display maps.
5540It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
5541and Perl bindings are also available. It supports numerous free map sources
5542such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
5543 (license license:lgpl2.1+)))
5544
607a04ae
MW
5545(define-public gom
5546 (package
5547 (name "gom")
0510440b 5548 (version "0.3.2")
607a04ae
MW
5549 (source
5550 (origin
5551 (method url-fetch)
6c8a0b6f 5552 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 5553 (version-major+minor version) "/"
6c8a0b6f 5554 "gom-" version ".tar.xz"))
607a04ae
MW
5555 (sha256
5556 (base32
0510440b 5557 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
5558 (build-system gnu-build-system)
5559 (native-inputs
5560 `(("intltool" ,intltool)
5561 ("pkg-config" ,pkg-config)
5562 ("gobject-introspection" ,gobject-introspection)))
5563 (inputs
5564 `(("glib" ,glib)
5565 ("gdk-pixbuf" ,gdk-pixbuf)
5566 ("sqlite" ,sqlite)))
5567 ;; XXX TODO: Figure out how to run the test suite.
5568 (arguments `(#:tests? #f))
5569 (home-page "https://wiki.gnome.org/Projects/Gom")
5570 (synopsis "Object mapper from GObjects to SQLite")
5571 (description
5572 "Gom provides an object mapper from GObjects to SQLite. It helps you
5573write applications that need to store structured data as well as make complex
5574queries upon that data.")
5575 (license license:lgpl2.1+)))
b7a3cf11 5576
865aacc9 5577(define-public libgnome-games-support
f09520db 5578 (package
865aacc9 5579 (name "libgnome-games-support")
4c6d15cf 5580 (version "1.4.4")
f09520db
SB
5581 (source (origin
5582 (method url-fetch)
2d8dca9d 5583 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 5584 (version-major+minor version) "/"
2d8dca9d 5585 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
5586 (sha256
5587 (base32
4c6d15cf 5588 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
5589 (build-system gnu-build-system)
5590 (arguments
5591 '(#:phases
5592 (modify-phases %standard-phases
5593 (add-before 'check 'pre-check
5594 (lambda _
865aacc9 5595 ;; Tests require a writable HOME.
f09520db
SB
5596 (setenv "HOME" (getcwd))
5597 #t)))))
5598 (native-inputs
5599 `(("intltool" ,intltool)
5600 ("pkg-config" ,pkg-config)
5601 ("vala" ,vala)))
5602 (propagated-inputs
865aacc9 5603 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
5604 `(("gtk+" ,gtk+)
5605 ("libgee" ,libgee)))
5606 (home-page "https://www.gnome.org/")
5607 (synopsis "Useful functionality shared among GNOME games")
5608 (description
865aacc9 5609 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
5610GNOME Games, but it may be used by others.")
5611 (license license:lgpl3+)))
5612
b7a3cf11
SB
5613(define-public gnome-klotski
5614 (package
5615 (name "gnome-klotski")
18364fbc 5616 (version "3.34.0")
b7a3cf11
SB
5617 (source (origin
5618 (method url-fetch)
5619 (uri (string-append "mirror://gnome/sources/" name "/"
5620 (version-major+minor version) "/"
5621 name "-" version ".tar.xz"))
5622 (sha256
5623 (base32
18364fbc 5624 "0sbx0bzy32lh2c9jp8v7gz788wn9y1la8mr5a7gf7370szsl4d4f"))))
c1e419c4
KK
5625 (build-system meson-build-system)
5626 (arguments
5627 '(#:glib-or-gtk? #t
5628 #:phases
5629 (modify-phases %standard-phases
5630 (add-after 'unpack 'skip-gtk-update-icon-cache
5631 ;; Don't create 'icon-theme.cache'.
5632 (lambda _
5633 (substitute* "build-aux/meson_post_install.py"
5634 (("gtk-update-icon-cache") (which "true")))
5635 #t)))))
b7a3cf11
SB
5636 (native-inputs
5637 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 5638 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
5639 ("intltool" ,intltool)
5640 ("itstool" ,itstool)
bcb354ad 5641 ("pkg-config" ,pkg-config)
c1e419c4 5642 ("vala" ,vala)
bcb354ad 5643 ("xmllint" ,libxml2)))
b7a3cf11
SB
5644 (inputs
5645 `(("gtk+" ,gtk+)
f4eae76f 5646 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
5647 ("librsvg" ,librsvg)))
5648 (home-page "https://wiki.gnome.org/Apps/Klotski")
5649 (synopsis "Sliding block puzzles")
5650 (description
5651 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
5652the patterned block to the area bordered by green markers. To do so, you will
5653need to slide other blocks out of the way. Complete each puzzle in as few moves
5654as possible!")
5655 (license license:gpl2+)))
8d4791bf
MW
5656
5657(define-public grilo
5658 (package
5659 (name "grilo")
71dc411b 5660 (version "0.3.12")
8d4791bf
MW
5661 (source
5662 (origin
5663 (method url-fetch)
71dc411b 5664 (uri (string-append "mirror://gnome/sources/grilo/"
8d4791bf 5665 (version-major+minor version) "/"
71dc411b 5666 "grilo-" version ".tar.xz"))
8d4791bf 5667 (sha256
71dc411b 5668 (base32 "0w8sq5g6g1rg85h53vbll8va70fcp6082mlpmy98aa03444ddyyv"))))
d48d4c98 5669 (build-system meson-build-system)
8d4791bf
MW
5670 (native-inputs
5671 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
5672 ("intltool" ,intltool)
5673 ("pkg-config" ,pkg-config)
d48d4c98
KK
5674 ("gobject-introspection" ,gobject-introspection)
5675 ("gtk-doc" ,gtk-doc)
5676 ("vala" ,vala)))
8d4791bf 5677 (inputs
6d7273a0
KK
5678 `(("cyrus-sasl" ,cyrus-sasl)
5679 ("glib" ,glib)
8d4791bf
MW
5680 ("gtk+" ,gtk+)
5681 ("libxml2" ,libxml2)
6d7273a0 5682 ("liboauth" ,liboauth)
8d4791bf
MW
5683 ("libsoup" ,libsoup)
5684 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
5685 (native-search-paths
5686 (list (search-path-specification
5687 (variable "GRL_PLUGIN_PATH")
5688 (files (list (string-append "lib/grilo-"
5689 (version-major+minor version)))))))
d48d4c98 5690 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
5691 (synopsis "Framework for discovering and browsing media")
5692 (description
5693 "Grilo is a framework focused on making media discovery and browsing easy
5694for application developers.")
5695 (license license:lgpl2.1+)))
7b212526
MW
5696
5697(define-public grilo-plugins
5698 (package
5699 (name "grilo-plugins")
62a68b73 5700 (version "0.3.11")
7b212526
MW
5701 (source
5702 (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
62a68b73 5708 (base32 "0wyd3n5mn7b77hxylkc3f62v01mlavh96901pz342hwrn42ydqnx"))))
281f6b3a 5709 (build-system meson-build-system)
7b212526 5710 (native-inputs
281f6b3a
RG
5711 `(("gettext" ,gettext-minimal)
5712 ("glib:bin" ,glib "bin")
5713 ("gtk+:bin" ,gtk+ "bin")
7b212526
MW
5714 ("itstool" ,itstool)
5715 ("pkg-config" ,pkg-config)))
281f6b3a 5716 ;; TODO: ahavi, gstreamer
7b212526
MW
5717 (inputs
5718 `(("grilo" ,grilo)
281f6b3a
RG
5719 ;("gmime" ,gmime) ; unused
5720 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
7b212526 5721 ("gom" ,gom)
281f6b3a
RG
5722 ;("gssdp" ,gssdp) ; unused
5723 ;("gupnp" ,gupnp) ; unused
5724 ;("gupnp-av" ,gupnp-av) ; unused
7b212526
MW
5725 ("json-glib" ,json-glib)
5726 ("avahi" ,avahi)
281f6b3a
RG
5727 ("libgdata" ,libgdata)
5728 ("libmediaart" ,libmediaart)
5729 ;("librest" ,rest) ; unused
7b212526 5730 ("libsoup" ,libsoup)
281f6b3a
RG
5731 ("totam-pl-parser" ,totem-pl-parser)
5732 ("tracker" ,tracker))) ; unused because it's too old
7b212526 5733 (arguments
281f6b3a
RG
5734 `(#:glib-or-gtk? #t
5735 ;;Disable lua-factory as it needs missing dependencies
5736 #:configure-flags '("-Denable-lua-factory=no")))
f032d0be 5737 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
5738 (synopsis "Plugins for the Grilo media discovery library")
5739 (description
5740 "Grilo is a framework focused on making media discovery and browsing easy
281f6b3a
RG
5741for application developers. This package provides plugins for common media
5742discovery protocols.")
7b212526 5743 (license license:lgpl2.1+)))
4e3fc547
MW
5744
5745(define-public totem
5746 (package
5747 (name "totem")
961dc62d 5748 (version "3.34.1")
4e3fc547
MW
5749 (source
5750 (origin
5751 (method url-fetch)
2a9761b1 5752 (uri (string-append "mirror://gnome/sources/totem/"
4e3fc547 5753 (version-major+minor version) "/"
2a9761b1 5754 "totem-" version ".tar.xz"))
4e3fc547
MW
5755 (sha256
5756 (base32
961dc62d 5757 "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b"))))
7ad81b8b 5758 (build-system meson-build-system)
4e3fc547
MW
5759 (native-inputs
5760 `(("pkg-config" ,pkg-config)
5761 ("desktop-file-utils" ,desktop-file-utils)
5762 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 5763 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 5764 ("intltool" ,intltool)
bcb354ad 5765 ("itstool" ,itstool)
995ef5ea 5766 ("xmllint" ,libxml2)
995ef5ea 5767 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
5768 (propagated-inputs
5769 `(("dconf" ,dconf)))
5770 (inputs
5771 `(("gtk+" ,gtk+)
5772 ("gdk-pixbuf" ,gdk-pixbuf)
5773 ("atk" ,atk)
5774 ("cairo" ,cairo)
5775 ("dbus-glib" ,dbus-glib)
5776 ("clutter" ,clutter)
5777 ("clutter-gtk" ,clutter-gtk)
5778 ("clutter-gst" ,clutter-gst)
6a6db57f 5779 ("xorgproto" ,xorgproto)
4e3fc547
MW
5780 ("libxxf86vm" ,libxxf86vm)
5781 ("libxtst" ,libxtst)
5782 ("libxrandr" ,libxrandr)
5783 ("libxml2" ,libxml2)
5784 ("libsoup" ,libsoup)
5785 ("libpeas" ,libpeas)
5786 ("librsvg" ,librsvg)
5787 ("lirc" ,lirc)
5788 ("gnome-desktop" ,gnome-desktop)
5789 ("gstreamer" ,gstreamer)
5790 ("gst-plugins-base" ,gst-plugins-base)
5791 ("gst-plugins-good" ,gst-plugins-good)
5792 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5793 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 5794 ("python" ,python)
995ef5ea 5795 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
5796 ("totem-pl-parser" ,totem-pl-parser)
5797 ("grilo" ,grilo)
5798 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
5799 ("vala" ,vala)))
5800 (arguments
7ad81b8b
LC
5801 `(#:glib-or-gtk? #t
5802
5803 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 5804 ;; all that.
7ad81b8b 5805 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
5806
5807 ;; Do not build .a files for the plugins, it's
5808 ;; completely useless. This saves 2 MiB.
7ad81b8b 5809 "--default-library" "shared")
ec5c24f9 5810 #:phases
4e3fc547 5811 (modify-phases %standard-phases
d51b19ad
EF
5812 (add-after 'unpack 'skip-gtk-update-icon-cache
5813 ;; Don't create 'icon-theme.cache'.
5814 (lambda _
5815 (substitute* "meson_post_install.py"
5816 (("gtk-update-icon-cache") "true"))
5817 #t))
6368eb39
DM
5818 (add-before
5819 'install 'disable-cache-generation
5820 (lambda _
5821 (setenv "DESTDIR" "/")
5822 #t))
995ef5ea
KK
5823 (add-before
5824 'check 'pre-check
5825 (lambda _
5826 ;; Tests require a running X server.
5827 (system "Xvfb :1 &")
5828 (setenv "DISPLAY" ":1")
5829 #t))
4e3fc547
MW
5830 (add-after
5831 'install 'wrap-totem
5832 (lambda* (#:key inputs outputs #:allow-other-keys)
5833 (let ((out (assoc-ref outputs "out"))
5834 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
5835 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
5836 (wrap-program (string-append out "/bin/totem")
5837 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
5838 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
5839 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
5840 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
5841 #t)))))
5842 (home-page "https://wiki.gnome.org/Apps/Videos")
5843 (synopsis "Simple media player for GNOME based on GStreamer")
5844 (description "Totem is a simple yet featureful media player for GNOME
5845which can read a large number of file formats.")
5846 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
5847 ;; to be used and distributed together with GStreamer and Totem. See
5848 ;; file://COPYING in the source distribution for details.
5849 (license license:gpl2+)))
f0afb0c8
DH
5850
5851(define-public rhythmbox
5852 (package
5853 (name "rhythmbox")
eda580c0 5854 (version "3.4.4")
f0afb0c8
DH
5855 (source (origin
5856 (method url-fetch)
2588693d 5857 (uri (string-append "mirror://gnome/sources/rhythmbox/"
f0afb0c8 5858 (version-major+minor version) "/"
2588693d 5859 "rhythmbox-" version ".tar.xz"))
f0afb0c8
DH
5860 (sha256
5861 (base32
eda580c0 5862 "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf"))))
f0afb0c8
DH
5863 (build-system glib-or-gtk-build-system)
5864 (arguments
5865 `(#:configure-flags
5866 (list "--enable-lirc"
5867 "--enable-python"
5868 "--enable-vala"
5869 "--with-brasero"
5870 "--with-gudev"
5871 "--with-libsecret")
5872 #:phases
5873 (modify-phases %standard-phases
5874 (add-after
5875 'install 'wrap-rhythmbox
5876 (lambda* (#:key inputs outputs #:allow-other-keys)
5877 (let ((out (assoc-ref outputs "out"))
5878 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5879 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
5880 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
5881 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
5882 (wrap-program (string-append out "/bin/rhythmbox")
5883 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5884 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
5885 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
5886 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
5887 #t)))))
5888 (propagated-inputs
5889 `(("dconf" ,dconf)))
5890 (native-inputs
bcb354ad
SB
5891 `(("itstool" ,itstool)
5892 ("intltool" ,intltool)
f0afb0c8
DH
5893 ("glib" ,glib "bin")
5894 ("gobject-introspection" ,gobject-introspection)
5895 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
5896 ("pkg-config" ,pkg-config)
5897 ("xmllint" ,libxml2)))
f0afb0c8
DH
5898 (inputs
5899 `(("json-glib" ,json-glib)
5900 ("tdb" ,tdb)
5901 ("gnome-desktop" ,gnome-desktop)
5902 ("python" ,python)
5903 ("python-pygobject" ,python2-pygobject)
5904 ("vala" ,vala)
5905 ("gmime" ,gmime)
f0afb0c8
DH
5906 ("adwaita-icon-theme" ,adwaita-icon-theme)
5907 ("grilo" ,grilo)
5908 ("grilo-plugins" ,grilo-plugins)
5909 ("gstreamer" ,gstreamer)
5910 ("gst-plugins-base" ,gst-plugins-base)
5911 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 5912 ("totem-pl-parser" ,totem-pl-parser)
ea226291 5913 ("libgudev" ,libgudev)
f0afb0c8
DH
5914 ;;("libmtp" ,libmtp) FIXME: Not detected
5915 ("libsecret" ,libsecret)
5916 ("libsoup" ,libsoup)
5917 ("libnotify" ,libnotify)
5918 ("libpeas" ,libpeas)
5919 ("lirc" ,lirc)
5920 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
5921 ;;("clutter" ,clutter)
5922 ;;("clutter-gtk" ,clutter-gtk)
5923 ;;("clutter-gst" ,clutter-gst)
5924 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5925 ("atk" ,atk)
5926 ("pango" ,pango)
5927 ("gtk+" ,gtk+)
5928 ;; TODO:
5929 ;; * libgpod
5930 ;; * mx
f0afb0c8
DH
5931 ("brasero" ,brasero)))
5932 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
5933 (synopsis "Music player for GNOME")
5934 (description "Rhythmbox is a music playing application for GNOME. It
5935supports playlists, song ratings, and any codecs installed through gstreamer.")
5936 (license license:gpl2+)))
f70d8383
DH
5937
5938(define-public eog
5939 (package
5940 (name "eog")
0c9031fa 5941 (version "3.34.1")
f70d8383
DH
5942 (source (origin
5943 (method url-fetch)
5944 (uri (string-append "mirror://gnome/sources/" name "/"
5945 (version-major+minor version) "/"
5946 name "-" version ".tar.xz"))
5947 (sha256
5948 (base32
0c9031fa 5949 "0b7ld4azs9xbdjsk9b91ywhdzvxgajhndiwiivxjzbr0hjgp7c7x"))))
61fb581f 5950 (build-system meson-build-system)
f70d8383 5951 (arguments
34c44a34
RW
5952 `(#:configure-flags
5953 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
5954 (list (string-append "-Dc_link_args=-Wl,-rpath="
5955 (assoc-ref %outputs "out") "/lib/eog"))
5956 #:phases
f70d8383 5957 (modify-phases %standard-phases
7a034665
EF
5958 (add-after 'unpack 'skip-gtk-update-icon-cache
5959 ;; Don't create 'icon-theme.cache'.
5960 (lambda _
5961 (substitute* "meson_post_install.py"
5962 (("gtk-update-icon-cache") "true"))
5963 #t))
61fb581f
RW
5964 (add-after 'install 'wrap-eog
5965 (lambda* (#:key outputs #:allow-other-keys)
5966 (let ((out (assoc-ref outputs "out"))
5967 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5968 (wrap-program (string-append out "/bin/eog")
5969 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5970 #t)))))
f70d8383
DH
5971 (propagated-inputs
5972 `(("dconf" ,dconf)))
5973 (native-inputs
5974 `(("intltool" ,intltool)
b3546174 5975 ("itstool" ,itstool)
f70d8383
DH
5976 ("glib" ,glib "bin")
5977 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
5978 ("pkg-config" ,pkg-config)
5979 ("xmllint" ,libxml2)))
f70d8383
DH
5980 (inputs
5981 `(("gnome-desktop" ,gnome-desktop)
5982 ("shared-mime-info" ,shared-mime-info)
5983 ("adwaita-icon-theme" ,adwaita-icon-theme)
5984 ("exempi" ,exempi)
5985 ("lcms" ,lcms)
5986 ("libexif" ,libexif)
5987 ("libpeas" ,libpeas)
4bd428a7 5988 ("libjpeg" ,libjpeg-turbo)
0c9031fa 5989 ("librsvg" ,librsvg-next)
f70d8383
DH
5990 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5991 ("gtk+" ,gtk+)))
5992 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
5993 (synopsis "GNOME image viewer")
5994 (description "Eye of GNOME is the GNOME image viewer. It
5995supports image conversion, rotation, and slideshows.")
5996 (license license:gpl2+)))
41af5e7b 5997
0c3f8cb8
LC
5998(define-public eog-plugins
5999 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
6000 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
6001 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
6002 ;; 'XDG_DATA_DIRS' appropriately set.
6003 (package
6004 (name "eog-plugins")
54b74cc6 6005 (version "3.26.4")
0c3f8cb8
LC
6006 (source (origin
6007 (method url-fetch)
f3b88ed2 6008 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 6009 (version-major+minor version) "/"
f3b88ed2 6010 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
6011 (sha256
6012 (base32
54b74cc6 6013 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
6014 (build-system gnu-build-system)
6015 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
6016 (synopsis "Extensions for the Eye of GNOME image viewer")
6017 (native-inputs
6018 `(("pkg-config" ,pkg-config)
f2d97d57 6019 ("gettext" ,gettext-minimal)))
0c3f8cb8
LC
6020 (inputs
6021 `(("eog" ,eog)
6022 ("glib" ,glib)
6023 ("gtk+" ,gtk+)
6024 ("libpeas" ,libpeas)
6025 ("libexif" ,libexif)
6026 ("libchamplain" ,libchamplain)))
6027 (description
6028 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
6029notably:
6030
6031@itemize
6032@item @dfn{EXIF Display}, which displays camera (EXIF) information;
6033@item @dfn{Map}, which displays a map of where the picture was taken on the
6034side panel;
6035@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
6036@end itemize\n")
6037
6038 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
6039 ;; long suspicious byte stream that goes to a
6040 ;; ".gresource.eog_postasa_plugin" ELF section.
6041 (license license:gpl2+)))
6042
41af5e7b
SB
6043(define-public libgudev
6044 (package
6045 (name "libgudev")
b78f5118 6046 (version "232")
41af5e7b
SB
6047 (source (origin
6048 (method url-fetch)
6049 (uri (string-append "mirror://gnome/sources/" name "/"
6050 version "/" name "-" version ".tar.xz"))
6051 (sha256
6052 (base32
b78f5118 6053 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 6054 (build-system gnu-build-system)
b78f5118
RW
6055 (arguments
6056 '(#:configure-flags
6057 ;; umockdev depends on libgudev.
6058 (list "--disable-umockdev")))
41af5e7b
SB
6059 (native-inputs
6060 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
6061 ("gobject-introspection" ,gobject-introspection)
6062 ("pkg-config" ,pkg-config)))
6063 (propagated-inputs
6064 `(("glib" ,glib))) ; required by gudev-1.0.pc
6065 (inputs
6066 `(("udev" ,eudev)))
6067 (home-page "https://wiki.gnome.org/Projects/libgudev")
6068 (synopsis "GObject bindings for libudev")
6069 (description
6070 "This library provides GObject bindings for libudev. It was originally
6071part of udev-extras, then udev, then systemd. It's now a project on its own.")
6072 (license license:lgpl2.1+)))
3dc8828f
SB
6073
6074(define-public gvfs
6075 (package
6076 (name "gvfs")
12fe4846 6077 (version "1.40.1")
3dc8828f
SB
6078 (source (origin
6079 (method url-fetch)
1d68eb32 6080 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 6081 (version-major+minor version) "/"
1d68eb32 6082 "gvfs-" version ".tar.xz"))
3dc8828f
SB
6083 (sha256
6084 (base32
95b90dec
KK
6085 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))
6086 ;; This patch may be removed when upgrading to version 1.46.x.
6087 (patches
6088 (search-patches "gvfs-add-support-for-libplist-2.2.patch"))))
e762d943 6089 (build-system meson-build-system)
3dc8828f 6090 (arguments
e762d943
RW
6091 '(#:glib-or-gtk? #t
6092 #:configure-flags
6093 (list "-Dsystemduserunitdir=no"
6094 "-Dtmpfilesdir=no"
6095 ;; Otherwise, the RUNPATH will lack the final path component.
6096 (string-append "-Dc_link_args=-Wl,-rpath="
6097 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
6098 (native-inputs
6099 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
6100 ("gettext" ,gettext-minimal)
6101 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
6102 ("pkg-config" ,pkg-config)
6103 ("xsltproc" ,libxslt)))
6104 (inputs
6105 `(("avahi" ,avahi)
6106 ("docbook-xml" ,docbook-xml-4.2)
6107 ("docbook-xsl" ,docbook-xsl)
6108 ("dbus" ,dbus)
e762d943 6109 ("elogind" ,elogind)
3dc8828f 6110 ("fuse" ,fuse)
24a78aa6 6111 ("gcr" ,gcr)
3dc8828f 6112 ("glib" ,glib)
e762d943 6113 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
6114 ("libarchive" ,libarchive)
6115 ("libbluray" ,libbluray)
8852ca24 6116 ("libcap" ,libcap)
3dc8828f
SB
6117 ("libcdio-paranoia" ,libcdio-paranoia)
6118 ("libgcrypt" ,libgcrypt)
e762d943 6119 ("libgdata" ,libgdata)
3dc8828f
SB
6120 ("libgphoto2" ,libgphoto2)
6121 ("libgudev" ,libgudev)
0ab9f949 6122 ("libimobiledevice" ,libimobiledevice)
3dc8828f 6123 ("libmtp" ,libmtp)
e762d943 6124 ("libnfs" ,libnfs)
3dc8828f
SB
6125 ("libsecret" ,libsecret)
6126 ("libsmbclient" ,samba)
6127 ("libsoup" ,libsoup)
6128 ("libxml2" ,libxml2)
e762d943 6129 ("openssh" ,openssh)
8852ca24 6130 ("polkit" ,polkit)
3dc8828f
SB
6131 ("udisks" ,udisks)))
6132 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 6133 (synopsis "Userspace virtual file system for GIO")
3dc8828f 6134 (description
8f65585b 6135 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
6136abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
6137to all applications using the GIO API. It also supports exposing the GVFS
6138mounts to non-GIO applications using FUSE.
6139
6140GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
6141DAV, and others.")
6142 (license license:lgpl2.0+)))
7c88b6bd
AW
6143
6144(define-public gusb
6145 (package
6146 (name "gusb")
536b3274 6147 (version "0.3.0")
7c88b6bd 6148 (source (origin
bbfb36f9
EF
6149 (method git-fetch)
6150 (uri (git-reference
b0e7b699 6151 (url "https://github.com/hughsie/libgusb")
bbfb36f9
EF
6152 (commit version)))
6153 (file-name (git-file-name name version))
7c88b6bd
AW
6154 (sha256
6155 (base32
bbfb36f9 6156 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 6157 (build-system meson-build-system)
7c88b6bd 6158 (native-inputs
536b3274 6159 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
6160 ("pkg-config" ,pkg-config)
6161 ("vala" ,vala)
7c88b6bd
AW
6162 ("gtk-doc" ,gtk-doc)))
6163 (propagated-inputs
6164 ;; Both of these are required by gusb.pc.
6165 `(("glib" ,glib)
6166 ("libusb" ,libusb)))
6167 (arguments
536b3274 6168 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 6169 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 6170 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
6171 (description
6172 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
6173asynchronous control, bulk and interrupt transfers with proper cancellation
6174and integration into a mainloop. This makes it easy to integrate low level
6175USB transfers with your high-level application or system daemon.")
6176 (license license:lgpl2.1+)))
0abe1d86
AW
6177
6178(define-public simple-scan
6179 (package
6180 (name "simple-scan")
42040a03 6181 (version "3.36.6")
d9f6d587
TGR
6182 (source
6183 (origin
6184 (method url-fetch)
6185 (uri (string-append "mirror://gnome/sources/simple-scan/"
6186 (version-major+minor version) "/"
6187 "simple-scan-" version ".tar.xz"))
6188 (sha256
42040a03 6189 (base32 "0x9hzqnji5l966yy2k5gppl8hqasn3sd5an4sr8srjmncxcs80ys"))))
d9f6d587
TGR
6190 (build-system meson-build-system)
6191 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
6192 (arguments
6193 '(#:glib-or-gtk? #t))
0abe1d86
AW
6194 (inputs
6195 `(("gtk" ,gtk+)
6196 ("zlib" ,zlib)
6197 ("cairo" ,cairo)
c501f592 6198 ("colord" ,colord)
0abe1d86
AW
6199 ("gdk-pixbuf" ,gdk-pixbuf)
6200 ("gusb" ,gusb)
4c928743 6201 ("libsane" ,sane-backends)))
0abe1d86 6202 (native-inputs
b94a6ca0 6203 `(("gettext" ,gettext-minimal)
0abe1d86 6204 ("itstool" ,itstool)
c501f592 6205 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 6206 ("pkg-config" ,pkg-config)
bcb354ad
SB
6207 ("vala" ,vala)
6208 ("xmllint" ,libxml2)))
dff0eedb 6209 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 6210 (synopsis "Document and image scanner")
d9f6d587
TGR
6211 (description
6212 "Document Scanner is an easy-to-use application that lets you connect your
6213scanner and quickly capture images and documents in an appropriate format. It
6214supports any scanner for which a suitable SANE driver is available, which is
6215almost all of them.")
0abe1d86 6216 (license license:gpl3+)))
7549f984 6217
ab466d79
RW
6218(define-public eolie
6219 (package
6220 (name "eolie")
ed783404 6221 (version "0.9.98.1")
ab466d79
RW
6222 (source (origin
6223 (method url-fetch)
ed783404
RW
6224 (uri (string-append "https://adishatz.org/eolie/eolie-"
6225 version ".tar.xz"))
ab466d79
RW
6226 (sha256
6227 (base32
ed783404 6228 "1d844zva5w4p9pnp9c2g7zyb4vayr2g2drf78spxsdlc5lbd7lqr"))))
00014781 6229 (build-system meson-build-system)
ab466d79 6230 (arguments
00014781
RW
6231 `(#:glib-or-gtk? #t
6232 #:phases
ab466d79 6233 (modify-phases %standard-phases
f0c68100
EF
6234 (add-after 'unpack 'skip-gtk-update-icon-cache
6235 ;; Don't create 'icon-theme.cache'.
6236 (lambda _
6237 (substitute* "meson_post_install.py"
6238 (("gtk-update-icon-cache") "true"))
6239 #t))
ab466d79
RW
6240 (add-after 'wrap 'wrap-more
6241 (lambda* (#:key inputs outputs #:allow-other-keys)
6242 (let* ((out (assoc-ref outputs "out"))
6243 ;; These libraries must be on LD_LIBRARY_PATH.
6244 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
6245 "atk" "gtk+" "gsettings-desktop-schemas"
6246 "gobject-introspection"))
6247 (path (string-join
6248 (map (lambda (lib)
6249 (string-append (assoc-ref inputs lib) "/lib"))
6250 libs)
6251 ":")))
6252 (wrap-program (string-append out "/bin/eolie")
6253 `("LD_LIBRARY_PATH" ":" prefix (,path))
6254 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
6255 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
6256 #t)))))
6257 (native-inputs
f85ca6ed 6258 `(("intltool" ,intltool)
ab466d79 6259 ("itstool" ,itstool)
d95f1041 6260 ("pkg-config" ,pkg-config)
d95f1041 6261 ("python" ,python)
f0c68100 6262 ("glib:bin" ,glib "bin")))
ab466d79
RW
6263 (inputs
6264 `(("gobject-introspection" ,gobject-introspection)
6265 ("glib-networking" ,glib-networking)
6266 ("cairo" ,cairo)
6267 ("gtk+" ,gtk+)
6268 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
6269 ("python" ,python-wrapper)
d72f76df 6270 ("python-dateutil" ,python-dateutil)
00014781 6271 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
6272 ("python-pygobject" ,python-pygobject)
6273 ("python-pycairo" ,python-pycairo)
00014781 6274 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
6275 ("libsecret" ,libsecret)
6276 ("gtkspell3" ,gtkspell3)
6277 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 6278 ("webkitgtk" ,webkitgtk)))
166b2c97 6279 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
6280 (synopsis "Web browser for GNOME")
6281 (description
6282 "Eolie is a new web browser for GNOME. It features Firefox sync support,
6283a secret password store, an adblocker, and a modern UI.")
6284 (license license:gpl3+)))
6285
7549f984
SB
6286(define-public epiphany
6287 (package
6288 (name "epiphany")
68fdd237 6289 (version "3.34.4")
7549f984
SB
6290 (source (origin
6291 (method url-fetch)
dd3266ec 6292 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 6293 (version-major+minor version) "/"
dd3266ec 6294 "epiphany-" version ".tar.xz"))
7549f984
SB
6295 (sha256
6296 (base32
68fdd237 6297 "13ar3s40cds1rplwbzx0fzigf120w0rydiv05r3k6zpc0zy91qb0"))))
fc5c5b92
R
6298
6299 (build-system meson-build-system)
7549f984 6300 (arguments
20710b91 6301 '(#:glib-or-gtk? #t
bb7ff88f
EF
6302 #:phases
6303 (modify-phases %standard-phases
6304 (add-after 'unpack 'skip-gtk-update-icon-cache
6305 ;; Don't create 'icon-theme.cache'.
6306 (lambda _
6307 (substitute* "post_install.py"
6308 (("gtk-update-icon-cache") "true"))
20710b91
LP
6309 #t))
6310 (add-after 'unpack 'disable-failing-tests
6311 (lambda _
6312 (substitute* "tests/meson.build"
6313 ;; embed_shell fails, because webkitgtk apparently no longer supports
6314 ;; overriding the ftp schema
6315 ;; web_app_utils fails due to missing network access
6316 (("(embed_shell|web_app_utils)_test,")
6317 "find_program('sh'), args: ['-c', 'exit 77'],"))
6318 #t))
6319 (add-before 'check 'pre-check
6320 (lambda _
6321 ;; Tests require a running X server.
6322 (system "Xvfb :1 &")
6323 (setenv "DISPLAY" ":1")
bb7ff88f 6324 #t)))
e19f9c24
LF
6325 #:configure-flags
6326 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
6327 (list (string-append "-Dc_link_args=-Wl,-rpath="
6328 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
6329 (propagated-inputs
6330 `(("dconf" ,dconf)))
7549f984 6331 (native-inputs
fc5c5b92
R
6332 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6333 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 6334 ("intltool" ,intltool)
7549f984 6335 ("itstool" ,itstool)
bcb354ad 6336 ("pkg-config" ,pkg-config)
20710b91
LP
6337 ("xmllint" ,libxml2)
6338 ("xorg-server" ,xorg-server-for-tests)))
7549f984
SB
6339 (inputs
6340 `(("avahi" ,avahi)
6341 ("gcr" ,gcr)
fc5c5b92 6342 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
6343 ("glib-networking" ,glib-networking)
6344 ("gnome-desktop" ,gnome-desktop)
6345 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 6346 ("json-glib" ,json-glib)
7549f984 6347 ("iso-codes" ,iso-codes)
8748e29c 6348 ("libdazzle" ,libdazzle)
7549f984
SB
6349 ("libnotify" ,libnotify)
6350 ("libsecret" ,libsecret)
7549f984 6351 ("libxslt" ,libxslt)
fc5c5b92 6352 ("nettle" ,nettle) ; for hogweed
7549f984 6353 ("sqlite" ,sqlite)
f85ca6ed 6354 ("webkitgtk" ,webkitgtk)))
7549f984
SB
6355 (home-page "https://wiki.gnome.org/Apps/Web")
6356 (synopsis "GNOME web browser")
6357 (description
6358 "Epiphany is a GNOME web browser targeted at non-technical users. Its
6359principles are simplicity and standards compliance.")
6360 (license license:gpl2+)))
a3856b2c
SB
6361
6362(define-public d-feet
6363 (package
6364 (name "d-feet")
458e9221 6365 (version "0.3.14")
a3856b2c
SB
6366 (source (origin
6367 (method url-fetch)
6368 (uri (string-append "mirror://gnome/sources/" name "/"
6369 (version-major+minor version) "/"
6370 name "-" version ".tar.xz"))
6371 (sha256
6372 (base32
458e9221 6373 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
6374 (build-system glib-or-gtk-build-system)
6375 (arguments
6376 '(#:out-of-source? #f ; tests need to run in the source directory.
6377 #:phases
6378 (modify-phases %standard-phases
6379 (add-before
6380 'check 'pre-check
86aff791 6381 (lambda _
a3856b2c
SB
6382 ;; The test suite requires a running X server.
6383 (system "Xvfb :1 &")
6384 (setenv "DISPLAY" ":1")
6385 ;; Don't fail on missing '/etc/machine-id'.
6386 (setenv "DBUS_FATAL_WARNINGS" "0")
6387 ;; tests.py and window.py don't meet E402:
6388 ;; E402 module level import not at top of file
6389 (substitute* "src/tests/Makefile"
86aff791
MW
6390 (("--ignore=E123") "--ignore=E123,E402"))
6391 #t))
a3856b2c
SB
6392 (add-after
6393 'install 'wrap-program
6394 (lambda* (#:key outputs #:allow-other-keys)
6395 (let ((prog (string-append (assoc-ref outputs "out")
6396 "/bin/d-feet")))
6397 (wrap-program prog
6398 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
6399 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
6400 #t))))))
a3856b2c
SB
6401 (native-inputs
6402 `(("intltool" ,intltool)
6403 ("itstool" ,itstool)
6404 ("pkg-config" ,pkg-config)
6405 ("python-pep8" ,python-pep8)
6406 ("xmllint" ,libxml2)
ff337525 6407 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
6408 (inputs
6409 `(("gobject-introspection" ,gobject-introspection)
6410 ("gtk+" ,gtk+)
6411 ("python" ,python-wrapper)
458e9221 6412 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
6413 ("python-pygobject" ,python-pygobject)))
6414 (home-page "https://wiki.gnome.org/Apps/DFeet")
6415 (synopsis "D-Bus debugger")
6416 (description
6417 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
6418of running programs and invoke methods on those interfaces.")
6419 (license license:gpl2+)))
c3b97bd9
SB
6420
6421(define-public yelp-xsl
6422 (package
6423 (name "yelp-xsl")
632a9b32 6424 (version "3.34.2")
c3b97bd9
SB
6425 (source (origin
6426 (method url-fetch)
6427 (uri (string-append "mirror://gnome/sources/" name "/"
6428 (version-major+minor version) "/"
6429 name "-" version ".tar.xz"))
6430 (sha256
6431 (base32
632a9b32 6432 "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
c3b97bd9
SB
6433 (build-system gnu-build-system)
6434 (native-inputs
632a9b32 6435 `(("gettext-minimal" ,gettext-minimal)
c3b97bd9
SB
6436 ("itstool" ,itstool)
6437 ("xmllint" ,libxml2)))
6438 (home-page "https://wiki.gnome.org/Apps/Yelp")
6439 (synopsis "XSL stylesheets for Yelp")
6440 (description
6441 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
6442to format Docbook and Mallard documents.")
6443 (license license:gpl2+)))
de3d612a
SB
6444
6445(define-public yelp
6446 (package
6447 (name "yelp")
1f1b6d60 6448 (version "3.32.2")
de3d612a
SB
6449 (source (origin
6450 (method url-fetch)
6451 (uri (string-append "mirror://gnome/sources/" name "/"
6452 (version-major+minor version) "/"
6453 name "-" version ".tar.xz"))
6454 (sha256
6455 (base32
1f1b6d60 6456 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
6457 (build-system glib-or-gtk-build-system)
6458 (native-inputs
6459 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
6460 ("intltool" ,intltool)
6461 ("itstool" ,itstool)
6462 ("pkg-config" ,pkg-config)))
6463 (propagated-inputs
6464 `(("dconf" ,dconf)))
6465 (inputs
ad1b7d8b
SB
6466 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6467 ("libxslt" ,libxslt)
de3d612a 6468 ("sqlite" ,sqlite)
4c28ca1d
SB
6469 ("webkitgtk" ,webkitgtk)
6470 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
6471 (home-page "https://wiki.gnome.org/Apps/Yelp")
6472 (synopsis "GNOME help browser")
6473 (description
6474 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
6475man, info, and HTML documents. It can locate documents according to the
6476freedesktop.org help system specification.")
6477 (license license:gpl2+)))
122d0d10
SB
6478
6479(define-public yelp-tools
6480 (package
6481 (name "yelp-tools")
8fe8a42a 6482 (version "3.32.2")
122d0d10
SB
6483 (source (origin
6484 (method url-fetch)
6485 (uri (string-append "mirror://gnome/sources/" name "/"
6486 (version-major+minor version) "/"
6487 name "-" version ".tar.xz"))
6488 (sha256
6489 (base32
8fe8a42a 6490 "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q"))))
122d0d10
SB
6491 (build-system gnu-build-system)
6492 (native-inputs
6493 `(("pkg-config" ,pkg-config)))
6494 (propagated-inputs
6495 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
6496 `(("itstool" ,itstool)
6497 ("xmllint" ,libxml2)
6498 ("xsltproc" ,libxslt)))
6499 (inputs
6500 `(("yelp-xsl" ,yelp-xsl)))
6501 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
6502 (synopsis "Yelp documentation tools")
6503 (description
6504 "Yelp-tools is a collection of scripts and build utilities to help create,
6505manage, and publish documentation for Yelp and the web. Most of the heavy
6506lifting is done by packages like yelp-xsl and itstool. This package just
6507wraps things up in a developer-friendly way.")
6508 (license license:gpl2+)))
af8f9f23
RW
6509
6510(define-public libgee
6511 (package
6512 (name "libgee")
9cedae2a 6513 (version "0.20.3")
af8f9f23
RW
6514 (source (origin
6515 (method url-fetch)
84a1b007 6516 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 6517 (version-major+minor version) "/"
84a1b007 6518 "libgee-" version ".tar.xz"))
af8f9f23
RW
6519 (sha256
6520 (base32
9cedae2a 6521 "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
af8f9f23
RW
6522 (build-system gnu-build-system)
6523 (arguments
6524 `(#:phases
6525 (modify-phases %standard-phases
6526 (add-after 'unpack 'fix-introspection-install-dir
6527 (lambda* (#:key outputs #:allow-other-keys)
6528 (let ((out (assoc-ref outputs "out")))
6529 (substitute* "gee/Makefile.in"
6530 (("@INTROSPECTION_GIRDIR@")
6531 (string-append out "/share/gir-1.0/"))
6532 (("@INTROSPECTION_TYPELIBDIR@")
6533 (string-append out "/lib/girepository-1.0/")))))))))
6534 (native-inputs
6535 `(("glib" ,glib "bin")
6536 ("pkg-config" ,pkg-config)))
6537 (inputs
6538 `(("glib" ,glib)
6539 ("gobject-introspection" ,gobject-introspection)))
6540 (home-page "https://wiki.gnome.org/Projects/Libgee")
6541 (synopsis "GObject collection library")
6542 (description
6543 "Libgee is a utility library providing GObject-based interfaces and
6544classes for commonly used data structures.")
6545 (license license:lgpl2.1+)))
b0f9c4b8
RW
6546
6547(define-public gexiv2
6548 (package
6549 (name "gexiv2")
efc396ef 6550 (version "0.12.1")
b0f9c4b8
RW
6551 (source (origin
6552 (method url-fetch)
6553 (uri (string-append "mirror://gnome/sources/" name "/"
6554 (version-major+minor version) "/"
6555 name "-" version ".tar.xz"))
6556 (sha256
6557 (base32
efc396ef 6558 "0xxxq8xdkgkn146my307jgws4qgxx477h0ybg1mqza1ycmczvsla"))))
51c482e4 6559 (build-system meson-build-system)
b0f9c4b8 6560 (native-inputs
b1a8b408
KK
6561 `(("gcr" ,gcr)
6562 ("glib" ,glib "bin")
6563 ("pkg-config" ,pkg-config)
6564 ("vala" ,vala)))
b0f9c4b8
RW
6565 (propagated-inputs
6566 ;; Listed in "Requires" section of gexiv2.pc
6567 `(("exiv2" ,exiv2)))
6568 (inputs
6569 `(("glib" ,glib)
6570 ("gobject-introspection" ,gobject-introspection)))
6571 (home-page "https://wiki.gnome.org/Projects/gexiv2")
6572 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
6573 (description
6574 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
6575allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
6576metadata in photo and video files of various formats.")
6577 (license license:gpl2+)))
fed5a689
RW
6578
6579(define-public shotwell
6580 (package
6581 (name "shotwell")
b82a45d8 6582 (version "0.30.9")
fed5a689
RW
6583 (source (origin
6584 (method url-fetch)
5497d682 6585 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 6586 (version-major+minor version) "/"
5497d682 6587 "shotwell-" version ".tar.xz"))
fed5a689
RW
6588 (sha256
6589 (base32
b82a45d8 6590 "1y556yyzfya0310v5wqjkf17hy5lhf028iminvvgi2pdfva344id"))))
3b79afa6
KK
6591 (build-system meson-build-system)
6592 (arguments
5a0beca3
EF
6593 '(#:glib-or-gtk? #t
6594 #:phases
6595 (modify-phases %standard-phases
6596 (add-after 'unpack 'skip-gtk-update-icon-cache
6597 (lambda _
6598 (substitute* "build-aux/meson/postinstall.py"
6599 (("gtk-update-icon-cache") (which "true"))
6600 (("update-desktop-database") (which "true")))
6601 #t)))))
735b8db6
TGR
6602 (propagated-inputs
6603 `(("dconf" ,dconf)))
fed5a689 6604 (native-inputs
5a0beca3
EF
6605 `(("gettext" ,gettext-minimal)
6606 ("glib:bin" ,glib "bin")
735b8db6 6607 ("itstool" ,itstool)
3b79afa6 6608 ("pkg-config" ,pkg-config)
735b8db6 6609 ("vala" ,vala)))
fed5a689 6610 (inputs
5a0beca3
EF
6611 `(("gcr" ,gcr)
6612 ("gexiv2" ,gexiv2)
fed5a689 6613 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
6614 ("gstreamer" ,gstreamer)
6615 ("json-glib" ,json-glib)
dfb0323d 6616 ("libgdata" ,libgdata)
fed5a689 6617 ("libgee" ,libgee)
5a0beca3
EF
6618 ("libgphoto2" ,libgphoto2)
6619 ("libgudev" ,libgudev)
fed5a689 6620 ("libraw" ,libraw)
fed5a689
RW
6621 ("libsoup" ,libsoup)
6622 ("libxml2" ,libxml2)
5a0beca3
EF
6623 ("sqlite" ,sqlite)
6624 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
6625 (home-page "https://wiki.gnome.org/Apps/Shotwell")
6626 (synopsis "Photo manager for GNOME 3")
6627 (description
6628 "Shotwell is a digital photo manager designed for the GNOME desktop
6629environment. It allows you to import photos from disk or camera, organize
6630them by keywords and events, view them in full-window or fullscreen mode, and
6631share them with others via social networking and more.")
6632 (license license:lgpl2.1+)))
293ff8b2
DT
6633
6634(define-public file-roller
6635 (package
6636 (name "file-roller")
dcae4270 6637 (version "3.32.3")
293ff8b2
DT
6638 (source (origin
6639 (method url-fetch)
f89a27c6 6640 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 6641 (version-major+minor version) "/"
f89a27c6 6642 "file-roller-" version ".tar.xz"))
293ff8b2
DT
6643 (sha256
6644 (base32
dcae4270 6645 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 6646 (build-system meson-build-system)
293ff8b2 6647 (native-inputs
0a500745
RW
6648 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6649 ("intltool" ,intltool)
4c96e5d1 6650 ("itstool" ,itstool)
0a500745
RW
6651 ("pkg-config" ,pkg-config)
6652 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
6653 ("glib:bin" ,glib "bin")))
293ff8b2
DT
6654 ;; TODO: Add libnautilus.
6655 (inputs
6656 `(("gtk+" ,gtk+)
6657 ("gdk-pixbuf" ,gdk-pixbuf)
6658 ("json-glib" ,json-glib)
6659 ("libarchive" ,libarchive)
6660 ("libnotify" ,libnotify)
4c96e5d1 6661 ("nettle" ,nettle)
293ff8b2
DT
6662 ("libxml2" ,libxml2)))
6663 (synopsis "Graphical archive manager for GNOME")
6664 (description "File Roller is an archive manager for the GNOME desktop
6665environment that allows users to view, unpack, and create compressed archives
6666such as gzip tarballs.")
6667 (home-page "http://fileroller.sourceforge.net/")
6668 (license license:gpl2+)))
7ce49365
SB
6669
6670(define-public gnome-session
6671 (package
6672 (name "gnome-session")
f67ce006 6673 (version "3.34.2")
7ce49365
SB
6674 (source (origin
6675 (method url-fetch)
6676 (uri (string-append "mirror://gnome/sources/" name "/"
6677 (version-major+minor version) "/"
6678 name "-" version ".tar.xz"))
6679 (sha256
6680 (base32
f67ce006 6681 "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb"))))
2914af3c 6682 (arguments
df278071
RW
6683 '(#:glib-or-gtk? #t
6684 #:phases
2914af3c
AW
6685 (modify-phases %standard-phases
6686 (add-before 'configure 'pre-configure
6687 (lambda* (#:key outputs #:allow-other-keys)
6688 ;; Use elogind instead of systemd.
df278071
RW
6689 (substitute* "meson.build"
6690 (("libsystemd-login") "libelogind")
6691 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
6692 (substitute* "gnome-session/gsm-systemd.c"
6693 (("#include <systemd/sd-login.h>")
6694 "#include <elogind/sd-login.h>"))
df278071 6695 ;; Remove uses of the systemd daemon.
803ab416
SB
6696 (substitute* "gnome-session/gsm-autostart-app.c"
6697 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
6698 #t))
6699 (add-after 'install 'wrap-gnome-session
6700 (lambda* (#:key inputs outputs #:allow-other-keys)
6701 ;; Make sure 'gnome-session' finds the 'gsettings' program.
6702 (let ((glib (assoc-ref inputs "glib:bin"))
6703 (out (assoc-ref outputs "out")))
6704 (wrap-program (string-append out "/bin/gnome-session")
6705 `("PATH" ":" prefix (,(string-append glib "/bin"))))
6706 #t))))
6cbc8d57 6707
2914af3c 6708 #:configure-flags
df278071
RW
6709 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
6710 "-Dman=false" ; FIXME: disabled because of docbook validation error
6711 "-Dsystemd_journal=false")))
6712 (build-system meson-build-system)
7ce49365
SB
6713 (native-inputs
6714 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6715 ("pkg-config" ,pkg-config)
6716 ("intltool" ,intltool)
df278071
RW
6717 ("xsltproc" ,libxslt)
6718 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
6719 ("docbook-xsl" ,docbook-xsl)
6720 ("docbook-xml" ,docbook-xml)
6721 ("xmlto" ,xmlto)))
7ce49365 6722 (inputs
2914af3c
AW
6723 `(("elogind" ,elogind)
6724 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 6725 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
6726 ("gtk+" ,gtk+)
6727 ("json-glib" ,json-glib)
6728 ("libsm" ,libsm)
6729 ("libxcomposite" ,libxcomposite)
6730 ("libxtst" ,libxtst)
6731 ("mesa" ,mesa)
6732 ("upower" ,upower)
6733 ("xtrans" ,xtrans)))
6734 (synopsis "Session manager for GNOME")
6735 (description
6736 "This package contains the GNOME session manager, as well as a
6737configuration program to choose applications starting on login.")
6738 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
6739 (license license:gpl2+)))
f47ba77e
SB
6740
6741(define-public gjs
6742 (package
6743 (name "gjs")
76e1830c 6744 (version "1.58.3")
f47ba77e
SB
6745 (source (origin
6746 (method url-fetch)
6747 (uri (string-append "mirror://gnome/sources/" name "/"
6748 (version-major+minor version) "/"
6749 name "-" version ".tar.xz"))
6750 (sha256
6751 (base32
76e1830c 6752 "1bkksx362007zs8c31ydygb29spwa5g5kch1ad2grc2sp53wv7ya"))))
f47ba77e
SB
6753 (build-system gnu-build-system)
6754 (arguments
6755 '(#:phases
6756 (modify-phases %standard-phases
6757 (add-before
6758 'check 'pre-check
6759 (lambda _
fc119619
MW
6760 ;; The test suite requires a running X server.
6761 (system "Xvfb :1 &")
6762 (setenv "DISPLAY" ":1")
6763
f47ba77e
SB
6764 ;; For the missing /etc/machine-id.
6765 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 6766
144f94d0
KK
6767 ;; Our mozjs-38 package does not compile the required Intl API
6768 ;; support for these failing tests.
6769 (substitute* "installed-tests/js/testLocale.js"
6770 ((".*toBeDefined.*") "")
6771 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
6772 (substitute* "installed-tests/scripts/testCommandLine.sh"
6773 (("Valentín") "")
6774 (("☭") ""))
f47ba77e
SB
6775 #t)))))
6776 (native-inputs
8a831c6f 6777 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
6778 ("pkg-config" ,pkg-config)
6779 ("xmllint" ,libxml2)
6780 ;; For testing
6781 ("dbus-launch" ,dbus)
76e1830c 6782 ("dconf" ,dconf) ; required to properly store settings
f47ba77e 6783 ("uuidgen" ,util-linux)
ebebee94 6784 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
6785 (propagated-inputs
6786 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
6787 `(("cairo" ,cairo)
6788 ("gobject-introspection" ,gobject-introspection)
d054fbf5 6789 ("mozjs" ,mozjs-60)))
f47ba77e
SB
6790 (inputs
6791 `(("gtk+" ,gtk+)
6792 ("readline" ,readline)))
6793 (synopsis "Javascript bindings for GNOME")
f032d0be 6794 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
6795 (description
6796 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
6797javascript engine and the GObject introspection framework.")
6798 (license license:gpl2+)))
329d731b
DH
6799
6800(define-public gedit
6801 (package
6802 (name "gedit")
edec7128 6803 (version "3.34.1")
329d731b
DH
6804 (source (origin
6805 (method url-fetch)
6806 (uri (string-append "mirror://gnome/sources/" name "/"
6807 (version-major+minor version) "/"
6808 name "-" version ".tar.xz"))
6809 (sha256
6810 (base32
edec7128 6811 "1inm50sdfw63by1lf4f1swb59mpyxlly0g5rdg99j5l3357fzygb"))))
480c9226 6812 (build-system meson-build-system)
329d731b 6813 (arguments
480c9226
KK
6814 `(#:glib-or-gtk? #t
6815 #:configure-flags
6816 ;; Otherwise, the RUNPATH will lack the final path component.
6817 (list (string-append "-Dc_link_args=-Wl,-rpath="
6818 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
6819
6820 ;; XXX: Generated .h files are sometimes used before being built.
6821 #:parallel-build? #f
6822
480c9226 6823 #:phases
329d731b 6824 (modify-phases %standard-phases
480c9226
KK
6825 (add-after 'unpack 'skip-gtk-update-icon-cache
6826 ;; Don't create 'icon-theme.cache'.
6827 (lambda _
6828 (substitute* "build-aux/meson/post_install.py"
6829 (("gtk-update-icon-cache") (which "true")))
6830 #t))
6831 (add-after 'unpack 'patch-libgd-fetch
6832 (lambda* (#:key inputs #:allow-other-keys)
6833 (let ((libgd (assoc-ref inputs "libgd")))
6834 ;; Calling git is unnecessary because libgd is fetched as a
6835 ;; native input to this package.
6836 (substitute* "meson.build"
6837 ((".*git.*") ""))
6838 (copy-recursively libgd "subprojects/libgd")
6839 #t)))
6840 (add-after 'install 'wrap-gedit
6841 (lambda* (#:key inputs outputs #:allow-other-keys)
6842 (let ((out (assoc-ref outputs "out"))
6843 (gtksourceview (assoc-ref inputs "gtksourceview"))
6844 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
6845 (python-path (getenv "PYTHONPATH")))
6846 (wrap-program (string-append out "/bin/gedit")
6847 ;; For plugins.
6848 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
6849 `("PYTHONPATH" ":" prefix (,python-path))
6850 ;; For language-specs.
6851 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
6852 "/share")))))
6853 #t)))))
329d731b
DH
6854 (propagated-inputs
6855 `(("dconf" ,dconf)))
6856 (native-inputs
480c9226
KK
6857 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6858 ("intltool" ,intltool)
b3546174 6859 ("itstool" ,itstool)
480c9226 6860 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 6861 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
6862 ("libgd"
6863 ,(origin
6864 (method git-fetch)
6865 (uri (git-reference
6866 (url "https://gitlab.gnome.org/GNOME/libgd")
6867 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
6868 (file-name (git-file-name "libgd" version))
6869 (sha256
6870 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
6871 ("pkg-config" ,pkg-config)))
6872 (inputs
6873 `(("glib" ,glib)
0d2df50c 6874 ("gspell" ,gspell)
329d731b 6875 ("gtk+" ,gtk+)
480c9226 6876 ("gtksourceview" ,gtksourceview)
329d731b
DH
6877 ("libpeas" ,libpeas)
6878 ("libxml2" ,libxml2)
329d731b
DH
6879 ("iso-codes" ,iso-codes)
6880 ("python-pygobject" ,python-pygobject)
6881 ("python" ,python)
6882 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6883 ("libx11" ,libx11)
6884 ("vala" ,vala)
6885 ("adwaita-icon-theme" ,adwaita-icon-theme)
6886 ("libsoup" ,libsoup)
6887 ("gnome-desktop" ,gnome-desktop)))
6888 (home-page "https://wiki.gnome.org/Apps/Gedit")
6889 (synopsis "GNOME text editor")
6890 (description "While aiming at simplicity and ease of use, gedit is a
6891powerful general purpose text editor.")
6892 (license license:gpl2+)))
b7179363
SB
6893
6894(define-public zenity
6895 (package
6896 (name "zenity")
4f581bd0 6897 (version "3.32.0")
b7179363
SB
6898 (source (origin
6899 (method url-fetch)
5958df04 6900 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 6901 (version-major+minor version) "/"
5958df04 6902 "zenity-" version ".tar.xz"))
b7179363
SB
6903 (sha256
6904 (base32
4f581bd0 6905 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
6906 (build-system gnu-build-system)
6907 (native-inputs
b94a6ca0 6908 `(("gettext" ,gettext-minimal)
b7179363
SB
6909 ("itstool" ,itstool)
6910 ("pkg-config" ,pkg-config)))
6911 (inputs
6912 `(("libnotify" ,libnotify)
6913 ("webkitgtk" ,webkitgtk)))
6914 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 6915 (home-page "https://www.gnome.org")
b7179363
SB
6916 (description
6917 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
6918to display dialog boxes from the commandline and shell scripts.")
6919 (license license:lgpl2.0+)))
60c3627c
SB
6920
6921(define-public mutter
6922 (package
6923 (name "mutter")
ec3ceabd 6924 (version "3.34.2")
60c3627c 6925 (source (origin
86c44e72
KK
6926 (method url-fetch)
6927 (uri (string-append "mirror://gnome/sources/" name "/"
6928 (version-major+minor version) "/"
6929 name "-" version ".tar.xz"))
60c3627c
SB
6930 (sha256
6931 (base32
ec3ceabd 6932 "0b8bz5kvs7rlwvqsg87cf6jhrrj95vgd1l235mjx8rip35ipfvrd"))))
86c44e72
KK
6933 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
6934 ;; versions of cogl and clutter. As a result, many of the inputs,
6935 ;; propagated-inputs, and configure flags used in cogl and clutter are
6936 ;; needed here as well.
edf43f68 6937 (build-system meson-build-system)
60c3627c 6938 (arguments
edf43f68
KK
6939 '(;; XXX: All mutter tests fail with the following error:
6940 ;; Settings schema 'org.gnome.mutter' is not installed
6941 #:tests? #f
6942 #:glib-or-gtk? #t
6943 #:configure-flags
ec3ceabd
KK
6944 ;; TODO: Enable profiler when Sysprof is packaged.
6945 (list "-Dprofiler=false"
6946 ;; Otherwise, the RUNPATH will lack the final path component.
6947 (string-append "-Dc_link_args=-Wl,-rpath="
edf43f68 6948 (assoc-ref %outputs "out") "/lib:"
ec3ceabd 6949 (assoc-ref %outputs "out") "/lib/mutter-5")
a88d5a0c
MW
6950
6951 ;; The following flags are needed for the bundled clutter
edf43f68 6952 (string-append "-Dxwayland_path="
d633f2f6
RH
6953 (assoc-ref %build-inputs "xorg-server-xwayland")
6954 "/bin/Xwayland")
6955
a88d5a0c 6956 ;; the remaining flags are needed for the bundled cogl
edf43f68 6957 (string-append "-Dopengl_libname="
a88d5a0c 6958 (assoc-ref %build-inputs "mesa")
682ae6f9
MB
6959 "/lib/libGL.so"))
6960 #:phases (modify-phases %standard-phases
6961 (add-after 'unpack 'fix-build-with-mesa-20
6962 (lambda _
6963 ;; Mimic upstream commit a444a4c5f58ea516ad for
6964 ;; compatibility with Mesa 20. Remove for 3.36.
6965 (substitute* '("src/backends/meta-egl-ext.h"
6966 "src/backends/meta-egl.c"
6967 "src/backends/meta-egl.h")
6968 (("#include <EGL/eglext\\.h>" all)
6969 (string-append all "\n#include <EGL/eglmesaext.h>")))
6970 (substitute* "cogl/cogl/meson.build"
6971 (("#include <EGL/eglext\\.h>" all)
6972 (string-append all "\\n#include <EGL/eglmesaext.h>")))
6973 #t)))))
60c3627c 6974 (native-inputs
ec3ceabd
KK
6975 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6976 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
60c3627c
SB
6977 ("gobject-introspection" ,gobject-introspection)
6978 ("intltool" ,intltool)
f23052a6 6979 ("pkg-config" ,pkg-config)
edf43f68 6980 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
6981 ;; For git build
6982 ("autoconf" ,autoconf)
6983 ("automake" ,automake)
6984 ("libtool" ,libtool)))
60c3627c 6985 (propagated-inputs
a88d5a0c
MW
6986 `(;; libmutter.pc refers to these:
6987 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6988 ("gtk+" ,gtk+)
6989 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
6990 ("atk" ,atk)
6991 ("cairo" ,cairo)
6992 ("gdk-pixbuf" ,gdk-pixbuf)
6993 ("glib" ,glib)
a88d5a0c
MW
6994 ("json-glib" ,json-glib)
6995 ("libinput" ,libinput)
6996 ("libx11" ,libx11)
6997 ("libxcomposite" ,libxcomposite)
6998 ("libxdamage" ,libxdamage)
6999 ("libxext" ,libxext)
7000 ("libxfixes" ,libxfixes)
7001 ("libxkbcommon" ,libxkbcommon)
7002 ("libxrandr" ,libxrandr)
7003 ("mesa" ,mesa)
7004 ("pango" ,pango)
7005 ("udev" ,eudev)
a88d5a0c 7006 ("xinput" ,xinput)))
60c3627c 7007 (inputs
86c44e72
KK
7008 `(("elogind" ,elogind)
7009 ("gnome-desktop" ,gnome-desktop)
edf43f68 7010 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 7011 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 7012 ("libgudev" ,libgudev)
60c3627c
SB
7013 ("libice" ,libice)
7014 ("libsm" ,libsm)
edf43f68 7015 ("libwacom" ,libwacom)
60c3627c 7016 ("libxkbfile" ,libxkbfile)
a88d5a0c 7017 ("libxrandr" ,libxrandr)
86c44e72 7018 ("libxtst" ,libxtst)
edf43f68 7019 ("pipewire" ,pipewire)
60c3627c
SB
7020 ("startup-notification" ,startup-notification)
7021 ("upower-glib" ,upower)
7022 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 7023 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
7024 ("zenity" ,zenity)))
7025 (synopsis "Window and compositing manager")
f032d0be 7026 (home-page "https://www.gnome.org")
60c3627c
SB
7027 (description
7028 "Mutter is a window and compositing manager that displays and manages your
7029desktop via OpenGL. Mutter combines a sophisticated display engine using the
7030Clutter toolkit with solid window-management logic inherited from the Metacity
7031window manager.")
86c44e72 7032 (license license:gpl2+)))
685cee87
SB
7033
7034(define-public gnome-online-accounts
7035 (package
7036 (name "gnome-online-accounts")
dd233e4d 7037 (version "3.36.0")
685cee87
SB
7038 (source (origin
7039 (method url-fetch)
7040 (uri (string-append "mirror://gnome/sources/" name "/"
7041 (version-major+minor version) "/"
7042 name "-" version ".tar.xz"))
7043 (sha256
7044 (base32
dd233e4d 7045 "0bigfi225g1prnxpb9lcc1i7mdcrkplwb05vilc43jik12cn53qw"))))
14c297fd 7046 (outputs '("out" "lib"))
685cee87 7047 (build-system glib-or-gtk-build-system)
14c297fd
TS
7048 (arguments
7049 `(#:configure-flags
7050 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
7051 #:phases
7052 (modify-phases %standard-phases
7053 (add-before 'configure 'patch-libgoa-output
7054 (lambda* (#:key outputs #:allow-other-keys)
7055 (let ((lib (assoc-ref outputs "lib")))
7056 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
7057 (("@prefix@") lib)
7058 (("@exec_prefix@") lib)
7059 (("@libdir@") (string-append lib "/lib"))
7060 (("@includedir@") (string-append lib "/include"))
7061 (("@datadir@") (string-append lib "/share")))
7555d539
MB
7062 ;; Make sure gobject-introspection knows about the output
7063 ;; too (see <https://bugs.gnu.org/36535>).
7064 (setenv "outputs" "out lib")
14c297fd 7065 #t))))))
685cee87
SB
7066 (native-inputs
7067 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7068 ("gobject-introspection" ,gobject-introspection)
7069 ("intltool" ,intltool)
7070 ("pkg-config" ,pkg-config)
ebb2873d 7071 ("vala" ,vala)
685cee87
SB
7072 ("xsltproc" ,libxslt)))
7073 (propagated-inputs
7074 `(("glib" ,glib) ; required by goa-1.0.pc
7075 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
7076 (inputs
7077 `(("docbook-xsl" ,docbook-xsl)
7078 ("json-glib" ,json-glib)
7079 ("libsecret" ,libsecret)
7080 ("rest" ,rest)
685cee87
SB
7081 ("webkitgtk" ,webkitgtk)))
7082 (synopsis "Single sign-on framework for GNOME")
7083 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
7084 (description
7085 "GNOME Online Accounts provides interfaces so that applications and
7086libraries in GNOME can access the user's online accounts. It has providers for
7087Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
7088Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
7089 (license license:lgpl2.0+)))
df217748
SB
7090
7091(define-public evolution-data-server
7092 (package
7093 (name "evolution-data-server")
162048be 7094 (version "3.34.2")
df217748
SB
7095 (source (origin
7096 (method url-fetch)
7097 (uri (string-append "mirror://gnome/sources/" name "/"
7098 (version-major+minor version) "/"
7099 name "-" version ".tar.xz"))
43190ac6
MB
7100 (patches (search-patches "evolution-data-server-locales.patch"
7101 "evolution-data-server-libical-compat.patch"))
df217748
SB
7102 (sha256
7103 (base32
162048be 7104 "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y"))))
743aebd7 7105 (build-system cmake-build-system)
df217748 7106 (arguments
b468eedc
RW
7107 '(#:configure-flags
7108 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
7109 (runpaths (map (lambda (s)
7110 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
7111 '("addressbook-backends" "calendar-backends"
7112 "camel-providers" "credential-modules"
7113 "registry-modules"))))
7114 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
7115 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
7116 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
7117 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
7118 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
7119 (string-append lib "/evolution-data-server;")
7120 (string-join runpaths ";"))
7121 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
7122 #:phases
7123 (modify-phases %standard-phases
b468eedc
RW
7124 (add-after 'unpack 'disable-failing-tests
7125 (lambda _
7126 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
7127 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
7128 (delete-file-recursively "tests/book-migration")
7129 (substitute* "tests/CMakeLists.txt"
7130 (("add_subdirectory\\(book-migration\\)") ""))
b468eedc 7131 #t))
743aebd7 7132 (add-after 'unpack 'patch-paths
df217748 7133 (lambda _
b468eedc
RW
7134 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
7135 "tests/libedata-book/data-test-utils.c"
7136 "tests/libedata-book/test-book-cache-utils.c"
7137 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 7138 (("/bin/rm") (which "rm")))
ac033c7b
MB
7139 #t))
7140 (add-before 'configure 'dont-override-rpath
7141 (lambda _
7142 (substitute* "CMakeLists.txt"
7143 ;; CMakeLists.txt hard-codes runpath to just the libdir.
7144 ;; Remove it so the configure flag is respected.
7145 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 7146 #t)))))
df217748
SB
7147 (native-inputs
7148 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7149 ("gobject-introspection" ,gobject-introspection)
7150 ("gperf" ,gperf)
7151 ("intltool" ,intltool)
7152 ("pkg-config" ,pkg-config)
a73c1cf8 7153 ("vala" ,vala)
743aebd7 7154 ("python" ,python-wrapper)))
df217748
SB
7155 (propagated-inputs
7156 ;; These are all in the Requires field of .pc files.
7157 `(("gtk+" ,gtk+)
7158 ("libical" ,libical)
7159 ("libsecret" ,libsecret)
7160 ("libsoup" ,libsoup)
7161 ("nss" ,nss)
7162 ("sqlite" ,sqlite)))
7163 (inputs
7164 `(("bdb" ,bdb)
7165 ("gcr" ,gcr)
14c297fd 7166 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 7167 ("json-glib" ,json-glib)
b468eedc 7168 ("libcanberra" ,libcanberra)
743aebd7
MB
7169 ("libgweather" ,libgweather)
7170 ("mit-krb5" ,mit-krb5)
891199c6
MW
7171 ("openldap" ,openldap)
7172 ("webkitgtk" ,webkitgtk)))
df217748
SB
7173 (synopsis "Store address books and calendars")
7174 (home-page "https://wiki.gnome.org/Apps/Evolution")
7175 (description
7176 "This package provides a unified backend for programs that work with
7177contacts, tasks, and calendar information. It was originally developed for
7178Evolution (hence the name), but is now used by other packages as well.")
7179 (license license:lgpl2.0)))
bd7dfafa
SB
7180
7181(define-public caribou
7182 (package
7183 (name "caribou")
fe964bb5 7184 (version "0.4.21")
bd7dfafa
SB
7185 (source (origin
7186 (method url-fetch)
7187 (uri (string-append "mirror://gnome/sources/" name "/"
7188 (version-major+minor version) "/"
7189 name "-" version ".tar.xz"))
7190 (sha256
7191 (base32
fe964bb5 7192 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
7193 (build-system glib-or-gtk-build-system)
7194 (arguments
7195 '(#:phases
7196 (modify-phases %standard-phases
7197 (add-before
7198 'build 'pre-build
7199 (lambda* (#:key outputs #:allow-other-keys)
7200 (let ((out (assoc-ref outputs "out")))
7201 ;; Use absolute shared library path in Caribou-1.0.typelib.
7202 (substitute* "libcaribou/Makefile"
7203 (("--shared-library=libcaribou.so")
7204 (string-append "--shared-library="
7205 out "/lib/libcaribou.so")))
7206 #t)))
7207 (add-after 'install 'wrap-programs
7208 (lambda* (#:key outputs #:allow-other-keys)
7209 (let* ((out (assoc-ref outputs "out"))
7210 (python-path (getenv "PYTHONPATH"))
7211 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
7212 (for-each
7213 (lambda (prog)
7214 (wrap-program prog
7215 `("PYTHONPATH" ":" prefix (,python-path))
7216 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7217 (list (string-append out "/bin/caribou-preferences")
7218 (string-append out "/libexec/antler-keyboard"))))
7219 #t)))))
7220 (native-inputs
7221 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7222 ("gobject-introspection" ,gobject-introspection)
7223 ("intltool" ,intltool)
7224 ("pkg-config" ,pkg-config)
9f7f5ba2 7225 ("python" ,python)
bd7dfafa
SB
7226 ("vala" ,vala)
7227 ("xsltproc" ,libxslt)))
7228 (propagated-inputs
7229 ;; caribou-1.0.pc refers to all these.
7230 `(("libgee" ,libgee)
7231 ("libxklavier" ,libxklavier)
7232 ("libxtst" ,libxtst)
7233 ("gtk+" ,gtk+)))
7234 (inputs
7235 `(("clutter" ,clutter)
7236 ("dconf" ,dconf)
7237 ("gtk+-2" ,gtk+-2)
9f7f5ba2 7238 ("python-pygobject" ,python-pygobject)))
bd7dfafa
SB
7239 (synopsis "Text entry and UI navigation application")
7240 (home-page "https://wiki.gnome.org/Projects/Caribou")
7241 (description
7242 "Caribou is an input assistive technology intended for switch and pointer
7243users.")
7244 (license license:lgpl2.1)))
ba5dd105 7245
ba5dd105
SB
7246(define-public network-manager
7247 (package
7248 (name "network-manager")
01c22be7 7249 (version "1.24.0")
ba5dd105
SB
7250 (source (origin
7251 (method url-fetch)
7252 (uri (string-append "mirror://gnome/sources/NetworkManager/"
7253 (version-major+minor version) "/"
7254 "NetworkManager-" version ".tar.xz"))
8d0548fd 7255 (patches (search-patches "network-manager-plugin-path.patch"))
ba5dd105
SB
7256 (sha256
7257 (base32
01c22be7 7258 "06044fl60bjlj7c6rqqfbm5795h61h6yzp7ch392hzcnm46wwhn3"))
02710a9b 7259 (modules '((guix build utils)))
fd070f35 7260 (snippet
02710a9b
RW
7261 '(begin
7262 (substitute* "src/devices/wwan/nm-modem-manager.c"
7263 (("systemd") "elogind"))
7264 #t))))
255ff74f 7265 (build-system meson-build-system)
ba5dd105
SB
7266 (outputs '("out"
7267 "doc")) ; 8 MiB of gtk-doc HTML
7268 (arguments
255ff74f 7269 `(#:configure-flags
ba5dd105 7270 (let ((out (assoc-ref %outputs "out"))
ba5dd105
SB
7271 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
7272 "/sbin/dhclient")))
255ff74f
BW
7273 (list
7274 ;; Otherwise, the RUNPATH will lack the final 'NetworkManager' path
7275 ;; component.
7276 (string-append "-Dc_link_args=-Wl,-rpath="
7277 out "/lib:"
7278 out "/lib/NetworkManager/" ,version)
7279 "-Dsystemd_journal=false"
7280 "-Dsession_tracking=elogind"
7281 "-Dsuspend_resume=elogind"
7282 "-Dsystemdsystemunitdir=no"
7283 "-Dsession_tracking_consolekit=false"
7284 "-Ddhcpcd=no"
7285 "-Ddhcpcanon=no"
7286 "-Dcrypto=gnutls"
7287 "-Diwd=true"
7288 "-Dlibaudit=yes"
7289 "-Dqt=false"
7290 "-Ddocs=true"
7291 "--sysconfdir=/etc"
7292 "--localstatedir=/var"
7293 (string-append "-Dudev_dir="
7294 out "/lib/udev")
7295 (string-append "-Ddbus_conf_dir="
7296 out "/etc/dbus-1/system.d")
7297
7298 (string-append "-Ddhclient=" dhclient)))
ba5dd105
SB
7299 #:phases
7300 (modify-phases %standard-phases
b4f59d87
AW
7301 (add-before 'configure 'pre-configure
7302 (lambda _
7303 ;; These tests try to test aspects of network-manager's
7304 ;; functionality within restricted containers, but they don't
7305 ;; cope with being already in the Guix build jail as that jail
7306 ;; lacks some features that they would like to proxy over (like
7307 ;; a /sys mount).
255ff74f
BW
7308 (substitute* "src/platform/tests/meson.build"
7309 ((".*test-address-linux.*") "")
7310 ((".*test-cleanup-linux.*") "")
7311 ((".*test-link-linux.*") "")
7312 ((".*test-route-linux.*") ""))
7313 (substitute* "src/devices/tests/meson.build"
7314 ((".*test-acd.*") "")
7315 ((".*test-lldp.*") ""))
45f80fce 7316 #t))
255ff74f
BW
7317 (add-after 'unpack 'patch-docbook-xml
7318 (lambda* (#:key inputs #:allow-other-keys)
7319 (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
7320 "/xml/dtd/docbook")))
7321 (substitute* (find-files "." ".*\\.(xsl|xml)")
7322 (("http://.*/docbookx\\.dtd")
7323 (string-append xmldoc "/docbookx.dtd")))
7324 #t)))
ba5dd105
SB
7325 (add-before 'check 'pre-check
7326 (lambda _
7327 ;; For the missing /etc/machine-id.
7328 (setenv "DBUS_FATAL_WARNINGS" "0")
7329 #t))
255ff74f
BW
7330 (add-before 'install 'no-polkit-magic
7331 ;; Meson ‘magically’ invokes pkexec, which fails (not setuid).
ba5dd105 7332 (lambda _
255ff74f
BW
7333 (setenv "PKEXEC_UID" "something")
7334 #t))
7335 (add-after 'install 'move-doc
7336 (lambda* (#:key outputs #:allow-other-keys)
7337 (let ((out (assoc-ref outputs "out"))
7338 (doc (assoc-ref outputs "doc")))
7339 (mkdir-p (string-append doc "/share"))
7340 (for-each (lambda (directory)
7341 (copy-recursively (string-append out directory)
7342 (string-append doc directory))
7343 (delete-file-recursively
7344 (string-append out directory)))
7345 '("/share/doc" "/share/gtk-doc"))
7346 #t))))))
b93502d6
DC
7347 (propagated-inputs
7348 `(("glib" ,glib)))
ba5dd105 7349 (native-inputs
255ff74f
BW
7350 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
7351 ("gtk-doc" ,gtk-doc)
ba5dd105 7352 ("gobject-introspection" ,gobject-introspection)
255ff74f 7353 ("docbook-xml" ,docbook-xml)
d04687dc 7354 ("docbook-xsl" ,docbook-xsl)
ba5dd105 7355 ("intltool" ,intltool)
d04687dc
HG
7356 ("libxslt" ,libxslt)
7357 ("libxml2" ,libxml2)
ba5dd105 7358 ("pkg-config" ,pkg-config)
255ff74f 7359 ("vala" ,vala)
ba5dd105
SB
7360 ;; For testing.
7361 ("python" ,python-wrapper)
7362 ("python-dbus" ,python-dbus)
7363 ("python-pygobject" ,python-pygobject)))
7364 (inputs
255ff74f 7365 `(("curl" ,curl)
856ca567
KK
7366 ("cyrus-sasl" ,cyrus-sasl)
7367 ("dbus-glib" ,dbus-glib)
ba5dd105 7368 ("dnsmasq" ,dnsmasq)
856ca567 7369 ("eudev" ,eudev)
ba5dd105
SB
7370 ("gnutls" ,gnutls)
7371 ("iptables" ,iptables)
7372 ("isc-dhcp" ,isc-dhcp)
c2f236fa 7373 ("iwd" ,iwd) ; wpa_supplicant alternative
d04687dc 7374 ("jansson" ,jansson)
c2f236fa 7375 ("libaudit" ,audit)
ba5dd105
SB
7376 ("libgcrypt" ,libgcrypt)
7377 ("libgudev" ,libgudev)
7378 ("libndp" ,libndp)
7379 ("libnl" ,libnl)
7380 ("libsoup" ,libsoup)
255ff74f 7381 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
142bdcbc 7382 ("modem-manager" ,modem-manager)
c27e02bf 7383 ("newt" ,newt) ;for the 'nmtui' console interface
c2f236fa 7384 ("openresolv" ,openresolv) ; alternative resolv.conf manager
ba5dd105
SB
7385 ("polkit" ,polkit)
7386 ("ppp" ,ppp)
7387 ("readline" ,readline)
fd070f35
CM
7388 ("util-linux" ,util-linux)
7389 ("elogind" ,elogind)))
ba5dd105 7390 (synopsis "Network connection manager")
8d0548fd 7391 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
ba5dd105
SB
7392 (description
7393 "NetworkManager is a system network service that manages your network
7394devices and connections, attempting to keep active network connectivity when
7395available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
7396devices, and provides VPN integration with a variety of different VPN
7397services.")
255ff74f
BW
7398 ;; “This NetworkManager project consists of the daemon, client tools, and
7399 ;; libnm. libnm is licensed LGPL-2.1+, while the rest is licensed under
7400 ;; GPL-2.0+.”
7401 (license (list license:gpl2+
7402 license:lgpl2.1+))
29d2f451 7403 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 7404
f2b96b3a
LC
7405(define-public network-manager-openvpn
7406 (package
7407 (name "network-manager-openvpn")
3fe368c0 7408 (version "1.8.12")
f2b96b3a
LC
7409 (source (origin
7410 (method url-fetch)
7411 (uri (string-append
7412 "mirror://gnome/sources/NetworkManager-openvpn/"
7413 (version-major+minor version)
7414 "/NetworkManager-openvpn-" version ".tar.xz"))
7415 (sha256
7416 (base32
3fe368c0 7417 "062kh4zj7jfbwy4zzcwpq2m457bzbpm3l18s0ysnw3mgia3siz8f"))))
f2b96b3a
LC
7418 (build-system gnu-build-system)
7419 (arguments
633422b0
JL
7420 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
7421 #:phases
7422 (modify-phases %standard-phases
7423 (add-after 'configure 'patch-path
7424 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
7425 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
7426 "/sbin/openvpn"))
7427 (modprobe (string-append (assoc-ref inputs "kmod")
7428 "/bin/modprobe"))
7429 (pretty-ovpn (string-append "\"" ovpn "\"")))
7430 (for-each
7431 (lambda (file)
7432 (substitute* file
7433 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
7434 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
7435 (("\"/sbin/openvpn\"") pretty-ovpn)
7436 (("/sbin/modprobe") modprobe)))
7437 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
7438 #t)))))
f2b96b3a
LC
7439 (native-inputs
7440 `(("pkg-config" ,pkg-config)
7441 ("intltool" ,intltool)))
7442 (inputs
7443 `(("gtk+" ,gtk+)
633422b0 7444 ("kmod" ,kmod)
f2b96b3a
LC
7445 ("openvpn" ,openvpn)
7446 ("network-manager" ,network-manager)
3fe368c0 7447 ("libnma" ,libnma)
f2b96b3a
LC
7448 ("libsecret" ,libsecret)))
7449 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
7450 (synopsis "OpenVPN plug-in for NetworkManager")
7451 (description
7452 "This extension of NetworkManager allows it to take care of connections
7453to virtual private networks (VPNs) via OpenVPN.")
7454 (license license:gpl2+)
7455 (properties `((upstream-name . "NetworkManager-openvpn")))))
7456
d376129f
JL
7457(define-public network-manager-vpnc
7458 (package
7459 (name "network-manager-vpnc")
7460 (version "1.2.6")
7461 (source (origin
7462 (method url-fetch)
7463 (uri (string-append
7464 "mirror://gnome/sources/NetworkManager-vpnc/"
7465 (version-major+minor version)
7466 "/NetworkManager-vpnc-" version ".tar.xz"))
7467 (sha256
7468 (base32
7469 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
7470 (build-system gnu-build-system)
7471 (arguments
7c43b78d
BW
7472 `(#:configure-flags '("--enable-absolute-paths"
7473 "--localstatedir=/var"
7474 ;; libnm-glib has been removed from network-manager
7475 ;; 1de8383ad9fdfc8f552117e5d109bdfa7005634b
7476 "--with-libnm-glib=no")
d376129f
JL
7477 #:phases
7478 (modify-phases %standard-phases
7479 (add-after 'configure 'patch-path
7480 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
7481 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
7482 "/sbin/vpnc"))
7483 (modprobe (string-append (assoc-ref inputs "kmod")
7484 "/bin/modprobe"))
7485 (pretty-ovpn (string-append "\"" vpnc "\"")))
7486 (substitute* "src/nm-vpnc-service.c"
7487 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
7488 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
7489 (("\"/sbin/vpnc\"") pretty-ovpn)
7490 (("/sbin/modprobe") modprobe)))
7491 #t)))))
7492 (native-inputs
7493 `(("pkg-config" ,pkg-config)
7494 ("intltool" ,intltool)))
7495 (inputs
7496 `(("gtk+" ,gtk+)
7497 ("kmod" ,kmod)
7498 ("vpnc" ,vpnc)
7499 ("network-manager" ,network-manager)
7c43b78d 7500 ("libnma" ,libnma)
d376129f
JL
7501 ("libsecret" ,libsecret)))
7502 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
7503 (synopsis "VPNC plug-in for NetworkManager")
7504 (description
7505 "Support for configuring virtual private networks based on VPNC.
7506Compatible with Cisco VPN concentrators configured to use IPsec.")
7507 (license license:gpl2+)
7508 (properties `((upstream-name . "NetworkManager-vpnc")))))
7509
8378c87a
EF
7510(define-public network-manager-openconnect
7511 (package
7512 (name "network-manager-openconnect")
7513 (version "1.2.6")
7514 (source (origin
7515 (method url-fetch)
7516 (uri (string-append
7517 "mirror://gnome/sources/NetworkManager-openconnect/"
7518 (version-major+minor version)
7519 "/NetworkManager-openconnect-" version ".tar.xz"))
7520 (sha256
7521 (base32
7522 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
7523 (build-system gnu-build-system)
7524 (arguments
7525 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
7526 #:phases
7527 (modify-phases %standard-phases
7528 (add-after 'configure 'patch-path
7529 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
7530 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
7531 "/sbin/openconnect"))
7532 (modprobe (string-append (assoc-ref inputs "kmod")
7533 "/bin/modprobe"))
7534 (pretty-ovpn (string-append "\"" openconnect "\"")))
7535 (substitute* "src/nm-openconnect-service.c"
2807a843 7536 (("\"/usr(/local)?/s?bin/openconnect\"") pretty-ovpn)
8378c87a
EF
7537 (("/sbin/modprobe") modprobe)))
7538 #t)))))
7539 (native-inputs
7540 `(("intltool" ,intltool)
4ca449c5 7541 ("libnma" ,libnma)
8378c87a
EF
7542 ("pkg-config" ,pkg-config)))
7543 (inputs
7544 `(("gcr" ,gcr)
7545 ("gtk+" ,gtk+)
7546 ("kmod" ,kmod)
7547 ("libsecret" ,libsecret)
7548 ("libxml2" ,libxml2)
b4fe5dab 7549 ("lz4" ,lz4)
8378c87a
EF
7550 ("network-manager" ,network-manager)
7551 ("openconnect" ,openconnect)))
7552 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
7553 (synopsis "OpenConnect plug-in for NetworkManager")
7554 (description
7555 "This extension of NetworkManager allows it to take care of connections
7556to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
7557Cisco's AnyConnect SSL VPN.")
7558 (license license:gpl2+)
e52b9534
LC
7559 (properties `((upstream-name . "NetworkManager-openconnect")
7560
7561 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
7562 ;; file refers to account "nm-openconnect". Specify it here
7563 ;; so that 'network-manager-service-type' creates it.
7564 (user-accounts . ("nm-openconnect"))))))
8378c87a 7565
e5e1df4d
DC
7566(define-public mobile-broadband-provider-info
7567 (package
7568 (name "mobile-broadband-provider-info")
310c89e3 7569 (version "20190116")
e5e1df4d
DC
7570 (source (origin
7571 (method url-fetch)
7572 (uri (string-append
7573 "mirror://gnome/sources/"
7574 "mobile-broadband-provider-info/" version "/"
7575 "mobile-broadband-provider-info-" version ".tar.xz"))
7576 (sha256
7577 (base32
310c89e3 7578 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
7579 (build-system gnu-build-system)
7580 (arguments
310c89e3 7581 `(#:tests? #f)) ; no tests
e5e1df4d
DC
7582 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
7583 (synopsis "Database of broadband connection configuration")
7584 (description "Database of broadband connection configuration.")
7585 (license license:public-domain)))
7586
4d62a9d3
SB
7587(define-public network-manager-applet
7588 (package
7589 (name "network-manager-applet")
4c291112 7590 (version "1.16.0")
4d62a9d3
SB
7591 (source (origin
7592 (method url-fetch)
3df63444 7593 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 7594 (version-major+minor version) "/"
3df63444 7595 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
7596 (sha256
7597 (base32
4c291112 7598 "1rf3nm0hjcy9f8ajb4vmvwy503w8yj8d4daxkcb7w7i7b92qmyfn"))))
cd7f718e
RW
7599 (build-system meson-build-system)
7600 (arguments
4c291112 7601 '(#:glib-or-gtk? #t))
4d62a9d3
SB
7602 (native-inputs
7603 `(("intltool" ,intltool)
cd7f718e 7604 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 7605 ("gobject-introspection" ,gobject-introspection)
cd7f718e 7606 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
7607 ("pkg-config" ,pkg-config)))
7608 (propagated-inputs
7609 ;; libnm-gtk.pc refers to all these.
7610 `(("dbus-glib" ,dbus-glib)
7611 ("gtk+" ,gtk+)
415b90f2
BW
7612 ("network-manager" ,network-manager)
7613 ;; nm-applet need by org.gnome.nm-applet.gschema.xml
7614 ("libnma" ,libnma)))
4d62a9d3 7615 (inputs
cd7f718e 7616 `(("gcr" ,gcr)
4d62a9d3
SB
7617 ("libgudev" ,libgudev)
7618 ("libnotify" ,libnotify)
2116bfb3 7619 ("libsecret" ,libsecret)
240cee8a
KK
7620 ("libselinux" ,libselinux)
7621 ("jansson" ,jansson) ; for team support
4c291112 7622 ("modem-manager" ,modem-manager)))
4d62a9d3 7623 (synopsis "Applet for managing network connections")
8ce78609 7624 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
4d62a9d3
SB
7625 (description
7626 "This package contains a systray applet for NetworkManager. It displays
7627the available networks and allows users to easily switch between them.")
7628 (license license:gpl2+)))
56196594
RW
7629
7630(define-public libxml++
7631 (package
7632 (name "libxml++")
8344a85e 7633 (version "3.0.1")
56196594
RW
7634 (source (origin
7635 (method url-fetch)
7636 (uri (string-append "mirror://gnome/sources/" name "/"
7637 (version-major+minor version) "/"
7638 name "-" version ".tar.xz"))
7639 (sha256
7640 (base32
8344a85e 7641 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
7642 (build-system gnu-build-system)
7643 ;; libxml++-3.0.pc refers to all these.
7644 (propagated-inputs
7645 `(("libxml2" ,libxml2)
7646 ("glibmm" ,glibmm)))
7647 (native-inputs
7648 `(("perl" ,perl)
7649 ("pkg-config" ,pkg-config)))
7650 (home-page "http://libxmlplusplus.sourceforge.net/")
7651 (synopsis "C++ wrapper for XML parser library libxml2")
7652 (description
7653 "This package provides a C++ wrapper for the XML parser library
7654libxml2.")
7655 (license license:lgpl2.1+)))
df12f04a 7656
b61d9627
AW
7657(define-public libxml++-2
7658 (package
7659 (inherit libxml++)
7660 (name "libxml++")
7661 (version "2.40.1")
7662 (source (origin
7663 (method url-fetch)
7664 (uri (string-append "mirror://gnome/sources/" name "/"
7665 (version-major+minor version) "/"
7666 name "-" version ".tar.xz"))
7667 (sha256
7668 (base32
7669 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
7670
df12f04a
SB
7671(define-public gdm
7672 (package
7673 (name "gdm")
0fda99c5 7674 (version "3.34.1")
df12f04a
SB
7675 (source (origin
7676 (method url-fetch)
7677 (uri (string-append "mirror://gnome/sources/" name "/"
7678 (version-major+minor version) "/"
7679 name "-" version ".tar.xz"))
7680 (sha256
7681 (base32
0fda99c5 7682 "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8"))
f4ec5e1a 7683 (patches (search-patches "gdm-default-session.patch"))))
957dbc0a 7684 (build-system glib-or-gtk-build-system)
df12f04a
SB
7685 (arguments
7686 '(#:configure-flags
af37e6bb 7687 `("--without-plymouth"
957dbc0a 7688 "--disable-systemd-journal"
51bc8357
TS
7689
7690 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
7691 ;; instead of having to replace it (i.e., stopping the mingetty
7692 ;; service for TTY 1 before starting GDM).
7693 "--with-initial-vt=7"
7694
89c86562
TS
7695 ;; Use '/etc/environment' for locale settings instead of the
7696 ;; systemd-specific '/etc/locale.conf'.
7697 "--with-lang-file=/etc/environment"
7698
b74ef0ba
RW
7699 ,(string-append "--with-udevdir="
7700 (assoc-ref %outputs "out") "/lib/udev")
7701
af37e6bb
AW
7702 "--localstatedir=/var"
7703 ,(string-append "--with-default-path="
7704 (string-join '("/run/setuid-programs"
7705 "/run/current-system/profile/bin"
7706 "/run/current-system/profile/sbin")
957dbc0a
AW
7707 ":"))
7708 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
7709 ;; XDG_DATA_DIRS so that it finds its schemas.
7710 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
7711 #:phases
7712 (modify-phases %standard-phases
7713 (add-before
7714 'configure 'pre-configure
e8c6e771 7715 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
7716 ;; We don't have <systemd/sd-daemon.h>.
7717 (substitute* '("common/gdm-log.c"
7718 "daemon/gdm-server.c"
7719 "daemon/gdm-session-worker.c"
7720 "daemon/gdm-session-worker-job.c")
7721 (("#include <systemd/sd-daemon\\.h>") ""))
7722 ;; Use elogind for sd-login.
7723 (substitute* '("common/gdm-common.c"
0fda99c5 7724 "daemon/gdm-local-display-factory.c"
df12f04a
SB
7725 "daemon/gdm-manager.c"
7726 "libgdm/gdm-user-switching.c")
7727 (("#include <systemd/sd-login\\.h>")
7728 "#include <elogind/sd-login.h>"))
957dbc0a
AW
7729 ;; Check for elogind.
7730 (substitute* '("configure")
7731 (("libsystemd")
7732 "libelogind"))
af37e6bb
AW
7733 ;; Look for system-installed sessions in
7734 ;; /run/current-system/profile/share.
7735 (substitute* '("libgdm/gdm-sessions.c"
7736 "daemon/gdm-session.c"
7737 "daemon/gdm-display.c"
7738 "daemon/gdm-launch-environment.c")
7739 (("DATADIR \"/x")
7740 "\"/run/current-system/profile/share/x")
7741 (("DATADIR \"/wayland")
7742 "\"/run/current-system/profile/share/wayland")
7743 (("DATADIR \"/gnome")
7744 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 7745 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 7746 "GDM_DBUS_DAEMON"
c9ff92b5 7747 "GDM_X_SERVER"
41fa9f18 7748 "GDM_X_SESSION"
c9ff92b5
TS
7749 ;; XXX: Remove this once GNOME Shell is
7750 ;; a dependency of GDM.
7751 "XDG_DATA_DIRS")))
7752 (substitute* "daemon/gdm-session.c"
7753 (("set_up_session_environment \\(self\\);")
7754 (apply string-append
7755 "set_up_session_environment (self);\n"
7756 (map (lambda (name)
7757 (string-append
7758 "gdm_session_set_environment_variable "
7759 "(self, \"" name "\","
7760 "g_getenv (\"" name "\"));\n"))
7761 propagate)))))
a430a350
TS
7762 ;; Find the configuration file using an environment variable.
7763 (substitute* '("common/gdm-settings.c")
e0e6756f 7764 (("GDM_CUSTOM_CONF")
e57c2adb
TS
7765 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
7766 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
7767 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
7768 ;; Use service-supplied path to X.
7769 (substitute* '("daemon/gdm-server.c")
7770 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
7771 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
0fda99c5
KK
7772 (substitute* '("daemon/gdm-wayland-session.c"
7773 "daemon/gdm-x-session.c")
1f564c15
TS
7774 (("\"dbus-daemon\"")
7775 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 7776 (("X_SERVER")
41fa9f18
TS
7777 "g_getenv (\"GDM_X_SERVER\")")
7778 (("GDMCONFDIR \"/Xsession\"")
7779 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
7780 ;; Use an absolute path for GNOME Session.
7781 (substitute* "daemon/gdm-launch-environment.c"
7782 (("\"gnome-session\"")
7783 (string-append "\"" (assoc-ref inputs "gnome-session")
7784 "/bin/gnome-session\"")))
e8c6e771
TS
7785 ;; Do not automatically select the placeholder session.
7786 (substitute* "daemon/gdm-session.c"
7787 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
7788 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
7789 "(g_strcmp0(search_dirs[i], \""
7790 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
7791 "\") == 0 && "
7792 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
7793 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 7794 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 7795 #t))
8caa4589
TS
7796 ;; GDM requires that there be at least one desktop entry
7797 ;; file. This phase installs a hidden one that simply
7798 ;; fails. This enables users to use GDM with a
7799 ;; '~/.xsession' script with no other desktop entry files.
7800 ;; See <https://bugs.gnu.org/35068>.
7801 (add-after 'install 'install-placeholder-desktop-entry
7802 (lambda* (#:key inputs outputs #:allow-other-keys)
7803 (let* ((out (assoc-ref outputs "out"))
7804 (sessions (string-append out "/share/gdm/BuiltInSessions"))
7805 (fail (string-append sessions "/fail.desktop")))
7806 (mkdir-p sessions)
7807 (with-output-to-file fail
7808 (lambda ()
7809 (for-each
7810 display
7811 '("[Desktop Entry]\n"
7812 "Encoding=UTF-8\n"
7813 "Type=Application\n"
7814 "Name=Fail\n"
7815 "Comment=This session fails immediately.\n"
7816 "NoDisplay=true\n"
7817 "Exec=false\n"))))
7818 #t)))
69544798
TS
7819 ;; GDM needs GNOME Session to run these applications. We link
7820 ;; their autostart files in `share/gdm/greeter/autostart'
7821 ;; because GDM explicitly tells GNOME Session to look there.
7822 ;;
7823 ;; XXX: GNOME Shell should be linked here too, but currently
7824 ;; GNOME Shell depends on GDM.
7825 (add-after 'install 'link-autostart-files
7826 (lambda* (#:key inputs outputs #:allow-other-keys)
7827 (let* ((out (assoc-ref outputs "out"))
7828 (autostart (string-append out "/share/gdm/"
7829 "greeter/autostart"))
7830 (settings (assoc-ref inputs "gnome-settings-daemon")))
7831 (mkdir-p autostart)
7832 (with-directory-excursion autostart
7833 (for-each (lambda (desktop)
7834 (symlink desktop (basename desktop)))
7835 (find-files (string-append settings "/etc/xdg"))))
7836 #t))))))
df12f04a
SB
7837 (native-inputs
7838 `(("dconf" ,dconf)
7839 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7840 ("gobject-introspection" ,gobject-introspection)
7841 ("intltool" ,intltool)
7842 ("itstool" ,itstool)
7843 ("pkg-config" ,pkg-config)
7844 ("xmllint" ,libxml2)))
7845 (inputs
7846 `(("accountsservice" ,accountsservice)
7847 ("check" ,check) ; for testing
7848 ("elogind" ,elogind)
def6d6b6 7849 ("gnome-session" ,gnome-session)
69544798 7850 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
7851 ("gtk+" ,gtk+)
7852 ("iso-codes" ,iso-codes)
7853 ("libcanberra" ,libcanberra)
7854 ("linux-pam" ,linux-pam)))
7855 (synopsis "Display manager for GNOME")
f032d0be 7856 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
7857 (description
7858 "GNOME Display Manager is a system service that is responsible for
7859providing graphical log-ins and managing local and remote displays.")
7860 (license license:gpl2+)))
8e1dd04f
SB
7861
7862(define-public libgtop
7863 (package
7864 (name "libgtop")
015fc036 7865 (version "2.40.0")
8e1dd04f
SB
7866 (source (origin
7867 (method url-fetch)
59487fc2 7868 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 7869 (version-major+minor version) "/"
59487fc2 7870 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
7871 (sha256
7872 (base32
015fc036 7873 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
7874 (build-system gnu-build-system)
7875 (native-inputs
7876 `(("gobject-introspection" ,gobject-introspection)
7877 ("intltool" ,intltool)
7878 ("perl" ,perl)
7879 ("pkg-config" ,pkg-config)))
7880 (propagated-inputs
7881 `(("glib" ,glib))) ; required by libgtop-2.0.pc
7882 (synopsis "Portable system access library")
7883 (home-page "https://www.gnome.org/")
7884 (description
7885 "LibGTop is a library to get system specific data such as CPU and memory
7886usage and information about running processes.")
7887 (license license:gpl2+)))
b96c4260
SB
7888
7889(define-public gnome-bluetooth
7890 (package
7891 (name "gnome-bluetooth")
e8f4bf6b 7892 (version "3.34.0")
b96c4260
SB
7893 (source (origin
7894 (method url-fetch)
7895 (uri (string-append "mirror://gnome/sources/" name "/"
7896 (version-major+minor version) "/"
7897 name "-" version ".tar.xz"))
7898 (sha256
7899 (base32
e8f4bf6b 7900 "1bvbxcsjkyl0givy8nfm7112bq3c0vn1v89fdk2pip714dsfcrz8"))))
fd3b1171 7901 (build-system meson-build-system)
b96c4260
SB
7902 (native-inputs
7903 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 7904 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
7905 ("gobject-introspection" ,gobject-introspection)
7906 ("intltool" ,intltool)
7907 ("pkg-config" ,pkg-config)
7908 ("xmllint" ,libxml2)))
7909 (propagated-inputs
7910 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
7911 `(("glib" ,glib)
7912 ("gtk+" ,gtk+)))
b96c4260 7913 (inputs
723afae6
KK
7914 `(("eudev" ,eudev)
7915 ("libcanberra" ,libcanberra)
b96c4260
SB
7916 ("libnotify" ,libnotify)))
7917 (synopsis "GNOME Bluetooth subsystem")
7918 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
7919 (description
7920 "This package contains tools for managing and manipulating Bluetooth
7921devices using the GNOME desktop.")
7922 (license license:lgpl2.1+)))
b645146f
SB
7923
7924(define-public gnome-control-center
7925 (package
7926 (name "gnome-control-center")
c576328d 7927 (version "3.34.2")
b645146f
SB
7928 (source (origin
7929 (method url-fetch)
7930 (uri (string-append "mirror://gnome/sources/" name "/"
7931 (version-major+minor version) "/"
7932 name "-" version ".tar.xz"))
7933 (sha256
7934 (base32
c576328d 7935 "054igagvmyzpaa5nwzz98gv7bk7l5dwp6g813707132si3szlpx8"))))
59dac026 7936 (build-system meson-build-system)
b645146f 7937 (arguments
59dac026
RW
7938 '(#:glib-or-gtk? #t
7939 #:configure-flags
64c70430
KK
7940 (list "-Dcheese=false"
7941 (string-append "-Dgnome_session_libexecdir="
7942 (assoc-ref %build-inputs "gnome-session")
7943 "/libexec"))
59dac026 7944 #:phases
b645146f
SB
7945 (modify-phases %standard-phases
7946 (add-before 'configure 'patch-paths
7947 (lambda* (#:key inputs #:allow-other-keys)
7948 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 7949 (tzdata (assoc-ref inputs "tzdata"))
341225ac 7950 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
7951 (nm-applet (assoc-ref inputs "network-manager-applet"))
7952 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
7953 (substitute* "panels/datetime/tz.h"
7954 (("/usr/share/zoneinfo/zone.tab")
7955 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 7956 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
7957 (("/usr/share/locale")
7958 (string-append libc "/share/locale")))
1df38cfc
LC
7959 (substitute* "panels/region/cc-region-panel.c"
7960 (("\"gkbd-keyboard-display")
7961 (string-append "\"" libgnomekbd
7962 "/bin/gkbd-keyboard-display")))
341225ac
LC
7963 (substitute* '("panels/network/net-device-wifi.c"
7964 "panels/network/net-device.c"
7965 "panels/network/connection-editor/net-connection-editor.c")
7966 (("\"nm-connection-editor")
7967 (string-append "\"" nm-applet
7968 "/bin/nm-connection-editor")))
1acd107c
FP
7969 (substitute* '("panels/user-accounts/run-passwd.c")
7970 (("/usr/bin/passwd")
7971 "/run/setuid-programs/passwd"))
64c70430
KK
7972 (substitute* "panels/info/cc-info-overview-panel.c"
7973 (("DATADIR \"/gnome/gnome-version.xml\"")
7974 (string-append "\"" gnome-desktop
7975 "/share/gnome/gnome-version.xml\"")))
c576328d
KK
7976 #t)))
7977 (add-after 'unpack 'skip-gtk-update-icon-cache
7978 ;; Don't create 'icon-theme.cache'.
7979 (lambda _
7980 (substitute* "build-aux/meson/meson_post_install.py"
7981 (("gtk-update-icon-cache") (which "true")))
7982 #t)))))
b645146f
SB
7983 (native-inputs
7984 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7985 ("intltool" ,intltool)
7986 ("pkg-config" ,pkg-config)
a6938bac
KK
7987 ("xsltproc" ,libxslt)
7988 ;; For tests
7989 ("hicolor-icon-theme" ,hicolor-icon-theme)
7990 ("python-dbusmock" ,python-dbusmock)
7991 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
7992 (inputs
7993 `(("accountsservice" ,accountsservice)
7994 ("clutter-gtk" ,clutter-gtk)
7995 ("colord-gtk" ,colord-gtk)
7996 ("cups" ,cups)
7997 ("dconf" ,dconf)
7998 ("docbook-xsl" ,docbook-xsl)
3446ffb5 7999 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
8000 ("gnome-bluetooth" ,gnome-bluetooth)
8001 ("gnome-desktop" ,gnome-desktop)
8002 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 8003 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 8004 ("gnome-session" ,gnome-session)
b645146f
SB
8005 ("gnome-settings-daemon" ,gnome-settings-daemon)
8006 ("grilo" ,grilo)
a6938bac 8007 ("gsound" ,gsound)
b645146f
SB
8008 ("ibus" ,ibus)
8009 ("libcanberra" ,libcanberra)
1df38cfc 8010 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
8011 ("libgudev" ,libgudev)
8012 ("libgtop" ,libgtop)
46cf3434 8013 ("libnma" ,libnma)
b645146f 8014 ("libpwquality" ,libpwquality)
982c0b36 8015 ("libsecret" ,libsecret)
b645146f
SB
8016 ("libsoup" ,libsoup)
8017 ("libxml2" ,libxml2)
8018 ("libwacom" ,libwacom)
8019 ("mesa" ,mesa)
8020 ("mit-krb5" ,mit-krb5)
8021 ("modem-manager" ,modem-manager)
8022 ("network-manager-applet" ,network-manager-applet)
8023 ("polkit" ,polkit)
8024 ("pulseaudio" ,pulseaudio)
8025 ("smbclient" ,samba)
8026 ("tzdata" ,tzdata)
982c0b36 8027 ("udisks" ,udisks)
b645146f
SB
8028 ("upower" ,upower)))
8029 (synopsis "Utilities to configure the GNOME desktop")
8030 (home-page "https://www.gnome.org/")
8031 (description
8032 "This package contains configuration applets for the GNOME desktop,
8033allowing to set accessibility configuration, desktop fonts, keyboard and mouse
8034properties, sound setup, desktop theme and background, user interface
8035properties, screen resolution, and other GNOME parameters.")
8036 (license license:gpl2+)))
a4df5756
SB
8037
8038(define-public gnome-shell
8039 (package
8040 (name "gnome-shell")
28457ae6 8041 (version "3.34.2")
a4df5756
SB
8042 (source (origin
8043 (method url-fetch)
8044 (uri (string-append "mirror://gnome/sources/" name "/"
8045 (version-major+minor version) "/"
8046 name "-" version ".tar.xz"))
8047 (sha256
8048 (base32
28457ae6
KK
8049 "0k9vq2gh1nhdd6fpp7jnwx37qxaakawiqw1xnlfjvq5g5zdn8ckh"))
8050 (patches (search-patches "gnome-shell-theme.patch"
8051 "gnome-shell-disable-test.patch"))
a76d0f03
LC
8052 (modules '((guix build utils)))
8053 (snippet
8054 #~(begin
a76d0f03
LC
8055 ;; Copy images for use on the GDM log-in screen.
8056 (copy-file #$(file-append %artwork-repository
8057 "/slim/0.x/background.png")
8058 "data/theme/guix-background.png")
45fef894
LC
8059 (copy-file #$(file-append %artwork-repository
8060 "/logo/Guix-horizontal-white.svg")
8061 "data/theme/guix-logo.svg")
a76d0f03 8062 #t))))
2b0c755d 8063 (build-system meson-build-system)
a4df5756 8064 (arguments
08185081
MB
8065 `(#:glib-or-gtk? #t
8066 #:disallowed-references ((,glib "bin")
11e1df56
LC
8067 ,inkscape ,libxslt
8068 ,ruby-sass)
2b0c755d
RW
8069 #:configure-flags
8070 (list "-Dsystemd=false"
8071 ;; Otherwise, the RUNPATH will lack the final path component.
8072 (string-append "-Dc_link_args=-Wl,-rpath="
8073 (assoc-ref %outputs "out")
8074 "/lib/gnome-shell"))
11e1df56 8075
08185081 8076 #:modules ((guix build meson-build-system)
11e1df56
LC
8077 (guix build utils)
8078 (srfi srfi-1))
8079
2b0c755d 8080 #:phases
a4df5756 8081 (modify-phases %standard-phases
2b0c755d 8082 (add-after 'unpack 'fix-keysdir
a4df5756
SB
8083 (lambda* (#:key outputs #:allow-other-keys)
8084 (let* ((out (assoc-ref outputs "out"))
8085 (keysdir (string-append
8086 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
8087 (substitute* "meson.build"
8088 (("keysdir =.*")
8089 (string-append "keysdir = '" keysdir "'\n")))
8090 #t)))
ebfe259f
MB
8091 (add-before 'configure 'convert-logo-to-png
8092 (lambda* (#:key inputs #:allow-other-keys)
8093 ;; Convert the logo from SVG to PNG.
8094 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
8095 "data/theme/guix-logo.svg")))
ba00235a 8096 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
8097 (lambda* (#:key inputs #:allow-other-keys)
8098 (substitute* "js/misc/ibusManager.js"
8099 (("'ibus-daemon'")
8100 (string-append "'" (assoc-ref inputs "ibus")
8101 "/bin/ibus-daemon'")))
d6fda4d3
LC
8102 (substitute* "js/ui/status/keyboard.js"
8103 (("'gkbd-keyboard-display'")
8104 (string-append "'" (assoc-ref inputs "libgnomekbd")
8105 "/bin/gkbd-keyboard-display'")))
2472cdec 8106 #t))
2b0c755d
RW
8107 (add-before 'check 'pre-check
8108 (lambda* (#:key inputs #:allow-other-keys)
8109 ;; Tests require a running X server.
8110 (system "Xvfb :1 &")
8111 (setenv "DISPLAY" ":1")
8112 #t))
8113 (add-after 'install 'wrap-programs
8114 (lambda* (#:key inputs outputs #:allow-other-keys)
8115 (let ((out (assoc-ref outputs "out"))
8116 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8117 (python-path (getenv "PYTHONPATH")))
8118 (wrap-program (string-append out "/bin/gnome-shell")
8119 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8120 ;; FIXME: gnome-shell loads these libraries with unqualified
8121 ;; names only, so they need to be on LD_LIBRARY_PATH. The
8122 ;; alternative might be to patch gnome-shell.
8123 `("LD_LIBRARY_PATH" ":" prefix
8124 ,(map (lambda (pkg)
8125 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
8126 '("gdk-pixbuf"
8127 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
8128 (for-each
8129 (lambda (prog)
8130 (wrap-program (string-append out "/bin/" prog)
8131 `("PYTHONPATH" ":" prefix (,python-path))
8132 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8133 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 8134 #t)))
11e1df56
LC
8135 (replace 'glib-or-gtk-wrap
8136 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
8137 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
8138 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
8139 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
8140 ;; phase. Fix that since we don't need these.
8141 (wrap #:inputs (fold alist-delete inputs
8142 '("inkscape" "intltool" "glib:bin"))
8143 #:outputs outputs)))))))
a4df5756 8144 (native-inputs
28457ae6
KK
8145 `(("asciidoc" ,asciidoc)
8146 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 8147 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 8148 ("gobject-introspection" ,gobject-introspection)
ebfe259f 8149 ("inkscape" ,inkscape)
a4df5756
SB
8150 ("intltool" ,intltool)
8151 ("pkg-config" ,pkg-config)
8152 ("python" ,python)
2b0c755d
RW
8153 ("ruby-sass" ,ruby-sass)
8154 ("sassc" ,sassc)
a76d0f03 8155 ("xsltproc" ,libxslt)
2b0c755d 8156 ;; For tests
0b4504f6 8157 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
8158 (inputs
8159 `(("accountsservice" ,accountsservice)
8160 ("caribou" ,caribou)
8161 ("docbook-xsl" ,docbook-xsl)
8162 ("evolution-data-server" ,evolution-data-server)
8163 ("gcr" ,gcr)
8164 ("gdm" ,gdm)
c5db31d4 8165 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756 8166 ("gjs" ,gjs)
28457ae6 8167 ("gnome-autoar" ,gnome-autoar)
a4df5756 8168 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
8169 ("gnome-desktop" ,gnome-desktop)
8170 ("gnome-settings-daemon" ,gnome-settings-daemon)
8171 ("gst-plugins-base" ,gst-plugins-base)
8172 ("ibus" ,ibus)
8173 ("libcanberra" ,libcanberra)
8174 ("libcroco" ,libcroco)
d6fda4d3 8175 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756 8176 ("libgweather" ,libgweather)
e24d311f 8177 ("libnma" ,libnma)
a4df5756
SB
8178 ("libsoup" ,libsoup)
8179 ("mesa-headers" ,mesa-headers)
8180 ("mutter" ,mutter)
8181 ("network-manager-applet" ,network-manager-applet)
8182 ("polkit" ,polkit)
8183 ("pulseaudio" ,pulseaudio)
8184 ("python-pygobject" ,python-pygobject)
8185 ("startup-notification" ,startup-notification)
8186 ("telepathy-logger" ,telepathy-logger)
8187 ("upower" ,upower)
30e760f0
MB
8188 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
8189 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
8190 ("librsvg" ,librsvg)
2b0c755d 8191 ("geoclue" ,geoclue)))
a4df5756
SB
8192 (synopsis "Desktop shell for GNOME")
8193 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
8194 (description
8195 "GNOME Shell provides core user interface functions for the GNOME desktop,
8196like switching to windows and launching applications.")
8197 (license license:gpl2+)))
c3f29bc9
RS
8198
8199(define-public gtk-vnc
8200 (package
8201 (name "gtk-vnc")
97787a24 8202 (version "1.0.0")
c3f29bc9
RS
8203 (source
8204 (origin
8205 (method url-fetch)
97787a24
RG
8206 (uri
8207 (string-append "mirror://gnome/sources/" name "/"
8208 (version-major+minor version) "/"
8209 name "-" version ".tar.xz"))
c3f29bc9 8210 (sha256
97787a24
RG
8211 (base32 "1060ws037v556rx1qhfrcg02859rscksrzr8fq11himdg4d1y6m8"))))
8212 (build-system meson-build-system)
c3f29bc9 8213 (arguments
97787a24 8214 `(#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas
c3f29bc9 8215 (native-inputs
97787a24
RG
8216 `(("gjs" ,gjs)
8217 ("glib:bin" ,glib "bin")
c3f29bc9
RS
8218 ("gobject-introspection" ,gobject-introspection)
8219 ("intltool" ,intltool)
97787a24
RG
8220 ("node" ,node)
8221 ("perl" ,perl)
c3f29bc9 8222 ("pkg-config" ,pkg-config)
97787a24 8223 ("python" ,python-wrapper)
c3f29bc9 8224 ("vala" ,vala)))
97787a24
RG
8225 (inputs
8226 `(("cairo" ,cairo)
8227 ("gdk-pixbuf" ,gdk-pixbuf+svg)
8228 ("glib" ,glib)
8229 ("gnutls" ,gnutls)
8230 ("libgcrypt" ,libgcrypt)
8231 ("libsasl" ,cyrus-sasl)
8232 ("pulseaudio" ,pulseaudio)
8233 ("x11" ,libx11)
8234 ("zlib" ,zlib)))
8235 (propagated-inputs
8236 `(("gtk+" ,gtk+)))
8237 (synopsis "VNC client viewer widget for GTK+")
8238 (description "GTK-VNC is a project providing client side APIs for the RFB
8239protocol / VNC remote desktop technology. It is built using coroutines allowing
8240it to be completely asynchronous while remaining single threaded. It provides a
8241core C library, and bindings for Python (PyGTK).")
c3f29bc9 8242 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
c3f29bc9 8243 (license license:lgpl2.1+)))
8b877545 8244
dc69fe18
MW
8245(define-public gnome-autoar
8246 (package
8247 (name "gnome-autoar")
17969940 8248 (version "0.2.4")
dc69fe18
MW
8249 (source (origin
8250 (method url-fetch)
8251 (uri (string-append "mirror://gnome/sources/" name "/"
8252 (version-major+minor version) "/"
8253 name "-" version ".tar.xz"))
8254 (sha256
8255 (base32
17969940 8256 "0yk56ch46n3wfy633mq31kif9n7v06rlij4vqbsbn6l4z1vw6d0a"))))
dc69fe18
MW
8257 (build-system glib-or-gtk-build-system)
8258 (native-inputs
17969940 8259 `(("gobject-introspection" ,gobject-introspection)
dc69fe18
MW
8260 ("pkg-config" ,pkg-config)))
8261 (propagated-inputs
17969940 8262 `(("libarchive" ,libarchive))) ; Required by gnome-autoar-0.pc
dc69fe18 8263 (inputs
0a6e9e13 8264 `(("gtk+" ,gtk+)))
dc69fe18
MW
8265 (synopsis "Archives integration support for GNOME")
8266 (home-page "https://git.gnome.org/browse/gnome-autoar/")
8267 (description
8268 "GNOME Autoar is a library which makes creating and extracting archives
8269easy, safe, and automatic.")
8270 (license license:lgpl2.1+)))
8271
b64e217f
MW
8272(define-public tracker
8273 (package
8274 (name "tracker")
51780eac 8275 (version "2.3.5")
b64e217f
MW
8276 (source (origin
8277 (method url-fetch)
b5b0fd23 8278 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 8279 (version-major+minor version) "/"
b5b0fd23 8280 "tracker-" version ".tar.xz"))
b64e217f
MW
8281 (sha256
8282 (base32
51780eac 8283 "1ixxyqjlv7pnl4j8g6b72fkbjvzfspza8y71ppkncry8i6xkr223"))))
5ada561c 8284 (build-system meson-build-system)
c8bdf589 8285 (arguments
5ada561c
KK
8286 `(#:glib-or-gtk? #t
8287 #:configure-flags
8288 ;; Otherwise, the RUNPATH will lack the final path component.
8289 (list (string-append "-Dc_link_args=-Wl,-rpath="
8290 (assoc-ref %outputs "out") "/lib:"
8291 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
8292 #:phases
c8bdf589 8293 (modify-phases %standard-phases
c8bdf589
RW
8294 (add-before 'check 'pre-check
8295 (lambda _
63db190a
PN
8296 ;; Some tests expect to write to $HOME.
8297 (setenv "HOME" "/tmp")
c8bdf589 8298 #t)))))
b64e217f 8299 (native-inputs
5ada561c 8300 `(("glib:bin" ,glib "bin")
b64e217f 8301 ("gobject-introspection" ,gobject-introspection)
5ada561c 8302 ("python-pygobject" ,python-pygobject)
b64e217f
MW
8303 ("intltool" ,intltool)
8304 ("pkg-config" ,pkg-config)
8305 ("vala" ,vala)))
8306 (inputs
63db190a 8307 `(("dbus" ,dbus)
44ed6284 8308 ("sqlite" ,sqlite)
b64e217f 8309 ("libxml2" ,libxml2)
63db190a 8310 ("icu4c" ,icu4c) ; libunistring gets miner-miner-fs test to fail.
0ef48cd9 8311 ("json-glib" ,json-glib)
63db190a 8312 ("libsoup" ,libsoup)))
b64e217f
MW
8313 (synopsis "Metadata database, indexer and search tool")
8314 (home-page "https://wiki.gnome.org/Projects/Tracker")
8315 (description
63db190a
PN
8316 "Tracker is a search engine and triplestore for desktop, embedded and mobile.
8317
8318It is a middleware component aimed at desktop application developers who want
8319their apps to browse and search user content. It's not designed to be used
8320directly by desktop users, but it provides a commandline tool named
8321@command{tracker} for the adventurous.
8322
8323Tracker allows your application to instantly perform full-text searches across
8324all documents. This feature is used by the @{emph{search} bar in GNOME Files, for
8325example. This is achieved by indexing the user's home directory in the
8326background.
8327
8328Tracker also allows your application to query and list content that the user
8329has stored. For example, GNOME Music displays all the music files that are
8330found by Tracker. This means that GNOME Music doesn't need to maintain a
8331database of its own.
8332
8333If you need to go beyond simple searches, Tracker is also a linked data
8334endpoint and it understands SPARQL. ")
8335 ;; https://gitlab.gnome.org/GNOME/tracker/-/blob/master/COPYING:
b64e217f 8336 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
63db190a 8337 ;; libstemmer is bsd-3 and the rest is gpl2+.
b64e217f 8338 (license (list license:gpl2+
63db190a
PN
8339 license:bsd-3
8340 license:lgpl2.1+))))
b64e217f 8341
03be9874
KK
8342(define-public tracker-miners
8343 (package
8344 (name "tracker-miners")
afa3994c 8345 (version "2.3.4")
03be9874
KK
8346 (source (origin
8347 (method url-fetch)
8348 (uri (string-append "mirror://gnome/sources/tracker-miners/"
8349 (version-major+minor version)
8350 "/tracker-miners-" version ".tar.xz"))
8351 (sha256
8352 (base32
afa3994c 8353 "10wy8d8ski52k809p7s6lbw72qmg05bbmhnl00vx4qrbzqyxvc0b"))))
03be9874
KK
8354 (build-system meson-build-system)
8355 (arguments
8356 `(#:glib-or-gtk? #t
8357 #:configure-flags
8358 (list "-Dminer_rss=false" ; libgrss is required.
8359 ;; Ensure the RUNPATH contains all installed library locations.
8360 (string-append "-Dc_link_args=-Wl,-rpath="
8361 (assoc-ref %outputs "out")
8362 "/lib/tracker-miners-2.0")
8363 ;; TODO: Enable functional tests. Currently, the following error
8364 ;; appears:
8365 ;; Exception: The functional tests require DConf to be the default
8366 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
8367 "-Dfunctional_tests=false")))
8368 (native-inputs
8369 `(("dbus" ,dbus)
8370 ("intltool" ,intltool)
8371 ("glib:bin" ,glib "bin")
8372 ("gobject-introspection" ,gobject-introspection)
8373 ("pkg-config" ,pkg-config)
8374 ("python-pygobject" ,python-pygobject)))
8375 (inputs
8376 `(("exempi" ,exempi)
8377 ("ffmpeg" ,ffmpeg)
8378 ("flac" ,flac)
8379 ("giflib" ,giflib)
8380 ("glib" ,glib)
8381 ("gstreamer" ,gstreamer)
8382 ("icu4c" ,icu4c)
8383 ("libcue" ,libcue)
8384 ("libexif" ,libexif)
8385 ("libgsf" ,libgsf)
8386 ("libgxps" ,libgxps)
8387 ("libiptcdata" ,libiptcdata)
4bd428a7 8388 ("libjpeg" ,libjpeg-turbo)
03be9874
KK
8389 ("libosinfo" ,libosinfo)
8390 ("libpng" ,libpng)
8391 ("libseccomp" ,libseccomp)
8392 ("libtiff" ,libtiff)
8393 ("libvorbis" ,libvorbis)
8394 ("libxml2" ,libxml2)
8395 ("poppler" ,poppler)
8396 ("taglib" ,taglib)
8397 ("totem-pl-parser" ,totem-pl-parser)
8398 ("tracker" ,tracker)
8399 ("upower" ,upower)
8400 ("zlib" ,zlib)))
b64e217f
MW
8401 (synopsis "Metadata database, indexer and search tool")
8402 (home-page "https://wiki.gnome.org/Projects/Tracker")
8403 (description
8404 "Tracker is an advanced framework for first class objects with associated
8405metadata and tags. It provides a one stop solution for all metadata, tags,
8406shared object databases, search tools and indexing.")
8407 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
8408 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
8409 (license (list license:gpl2+
8410 license:lgpl2.1+
8411 license:lgpl2.0+))))
8412
8b877545
RS
8413(define-public nautilus
8414 (package
8415 (name "nautilus")
8069ff0b 8416 (version "3.34.2")
8b877545
RS
8417 (source (origin
8418 (method url-fetch)
8419 (uri (string-append "mirror://gnome/sources/" name "/"
8420 (version-major+minor version) "/"
8421 name "-" version ".tar.xz"))
8422 (sha256
8423 (base32
8069ff0b 8424 "19zqwq4qyyncc5wq3xls0f7rsavnw741k336p2h7kx35p4kf41mv"))))
35e2d0cf 8425 (build-system meson-build-system)
8b877545 8426 (arguments
35e2d0cf 8427 '(#:glib-or-gtk? #t
8069ff0b
KK
8428 #:phases
8429 (modify-phases %standard-phases
8430 (add-after 'unpack 'skip-gtk-update-icon-cache
8431 ;; Don't create 'icon-theme.cache'.
8432 (lambda _
8433 (substitute* "build-aux/meson/postinstall.py"
8434 (("gtk-update-icon-cache") "true"))
8435 #t)))
8b877545
RS
8436 ;; XXX: FAIL: check-nautilus
8437 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
8438 #:tests? #f))
8439 (native-inputs
35e2d0cf
R
8440 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
8441 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
8b877545
RS
8442 ("gobject-introspection" ,gobject-introspection)
8443 ("intltool" ,intltool)
8444 ("pkg-config" ,pkg-config)))
8b877545 8445 (inputs
8b877545 8446 `(("dconf" ,dconf)
caf6c363 8447 ("gexiv2" ,gexiv2)
dd05e731 8448 ("gvfs" ,gvfs)
8b877545
RS
8449 ("exempi" ,exempi)
8450 ("gnome-desktop" ,gnome-desktop)
09d88905 8451 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 8452 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 8453 ("libseccomp" ,libseccomp)
35e2d0cf 8454 ("libselinux" ,libselinux)
09d88905 8455 ("tracker" ,tracker)
3cafb9d4 8456 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
8457 ;; XXX: gtk+ is required by libnautilus-extension.pc
8458 ;;
8459 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
8460 ;; package. See:
8461 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
8462 ("gtk+" ,gtk+)
8b877545
RS
8463 ("libexif" ,libexif)
8464 ("libxml2" ,libxml2)))
8465 (synopsis "File manager for GNOME")
8466 (home-page "https://wiki.gnome.org/Apps/Nautilus")
8467 (description
8468 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
8469design and behaviour, giving the user a simple way to navigate and manage its
8470files.")
8471 (license license:gpl2+)))
3c697ffd
JR
8472
8473(define-public baobab
8474 (package
8475 (name "baobab")
e0c5f20c 8476 (version "3.32.0")
3c697ffd
JR
8477 (source (origin
8478 (method url-fetch)
8479 (uri (string-append
8480 "mirror://gnome/sources/" name "/"
8481 (version-major+minor version) "/"
8482 name "-" version ".tar.xz"))
8483 (sha256
8484 (base32
e0c5f20c 8485 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
8486 (build-system meson-build-system)
8487 (arguments
8488 '(#:glib-or-gtk? #t))
3c697ffd
JR
8489 (native-inputs
8490 `(("intltool" ,intltool)
8491 ("pkg-config" ,pkg-config)
d233d373
RJ
8492 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
8493 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
8494 ("itstool" ,itstool)
8495 ("xmllint" ,libxml2)
8496 ("glib" ,glib "bin")
8497 ("vala" ,vala)))
8498 (inputs
8499 `(("gtk+" ,gtk+)))
8500 (synopsis "Disk usage analyzer for GNOME")
8501 (description
8502 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
8503usage in the GNOME desktop environment. It can easily scan device volumes or
8504a specific user-requested directory branch (local or remote). Once the scan
8505is complete it provides a graphical representation of each selected folder.")
8506 (home-page "https://wiki.gnome.org/Apps/Baobab")
8507 (license license:gpl2+)))
dc050251 8508
fdba447c
RS
8509(define-public gnome-backgrounds
8510 (package
8511 (name "gnome-backgrounds")
0856b0d9 8512 (version "3.34.0")
fdba447c
RS
8513 (source
8514 (origin
8515 (method url-fetch)
8516 (uri (string-append "mirror://gnome/sources/" name "/"
8517 (version-major+minor version) "/"
8518 name "-" version ".tar.xz"))
8519 (sha256
8520 (base32
0856b0d9 8521 "0zxlwy55fz7i582hch2wnj8zy1kzikssgaix0l2y41ccp5nzpdy2"))))
9ca381f0 8522 (build-system meson-build-system)
fdba447c
RS
8523 (native-inputs
8524 `(("intltool" ,intltool)))
e04e8a8c 8525 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
8526 (synopsis "Background images for the GNOME desktop")
8527 (description
8528 "GNOME backgrounds package contains a collection of graphics files which
8529can be used as backgrounds in the GNOME Desktop environment. Additionally,
8530the package creates the proper framework and directory structure so that you
8531can add your own files to the collection.")
8532 (license (list license:gpl2+
8533 license:cc-by2.0
8534 license:cc-by-sa2.0
8535 license:cc-by-sa3.0))))
8536
b784b1a9
RS
8537(define-public gnome-screenshot
8538 (package
8539 (name "gnome-screenshot")
d5101dab 8540 (version "3.34.0")
b784b1a9
RS
8541 (source
8542 (origin
8543 (method url-fetch)
8544 (uri (string-append "mirror://gnome/sources/" name "/"
8545 (version-major+minor version) "/"
8546 name "-" version ".tar.xz"))
8547 (sha256
8548 (base32
d5101dab 8549 "1rmiq890j7gfn5mcz31xy6jfnnxgc17dq67bhn2k9m5ylbvza2n8"))))
8356aefa 8550 (build-system meson-build-system)
d5101dab
KK
8551 (arguments
8552 '(#:phases
8553 (modify-phases %standard-phases
8554 (add-after 'unpack 'skip-gtk-update-icon-cache
8555 ;; Don't create 'icon-theme.cache'.
8556 (lambda _
8557 (substitute* "build-aux/postinstall.py"
8558 (("gtk-update-icon-cache") "true"))
8559 #t)))))
b784b1a9
RS
8560 (native-inputs
8561 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa 8562 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 8563 ("intltool" ,intltool)
8356aefa 8564 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
8565 ("pkg-config" ,pkg-config)))
8566 (inputs
8567 `(("gtk+" ,gtk+)
8568 ("libcanberra" ,libcanberra)
8569 ("libx11" ,libx11)
8570 ("libxext" ,libxext)))
676e7cb4 8571 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
8572 (synopsis "Take pictures of your screen")
8573 (description
8574 "GNOME Screenshot is a utility used for taking screenshots of the entire
8575screen, a window or a user defined area of the screen, with optional
8576beautifying border effects.")
8577 (license license:gpl2+)))
8578
66d59111
RS
8579(define-public dconf-editor
8580 (package
8581 (name "dconf-editor")
720aa20f 8582 (version "3.34.2")
66d59111
RS
8583 (source
8584 (origin
8585 (method url-fetch)
8586 (uri (string-append "mirror://gnome/sources/" name "/"
8587 (version-major+minor version) "/"
8588 name "-" version ".tar.xz"))
8589 (sha256
8590 (base32
720aa20f 8591 "0pwxjada2vaf69ihpjgp9nky54iykvxq63lp1vl8pxjanif2mk6f"))))
294ff39d 8592 (build-system meson-build-system)
66d59111
RS
8593 (native-inputs
8594 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 8595 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 8596 ("intltool" ,intltool)
294ff39d
RW
8597 ("pkg-config" ,pkg-config)
8598 ("vala" ,vala)))
66d59111
RS
8599 (inputs
8600 `(("dconf" ,dconf)
8601 ("gtk+" ,gtk+)
8602 ("libxml2" ,libxml2)))
720aa20f 8603 (home-page "https://gitlab.gnome.org/GNOME/dconf-editor")
66d59111
RS
8604 (synopsis "Graphical editor for GNOME's dconf configuration system")
8605 (description
8606 "Dconf-editor is a graphical tool for browsing and editing the dconf
8607configuration system for GNOME. It allows users to configure desktop
8608software that do not provide their own configuration interface.")
8609 (license license:lgpl2.1+)))
8610
96d36f38
AW
8611(define-public gnome-default-applications
8612 (package
8613 (name "gnome-default-applications")
8614 (version "0")
8615 (build-system trivial-build-system)
8616 (source #f)
8617 (propagated-inputs
8ad4f0aa
LC
8618 `(("nautilus" ,nautilus)
8619 ("evince" ,evince)))
96d36f38
AW
8620 (arguments
8621 `(#:modules ((guix build utils))
8622 #:builder
8623 (begin
8624 (use-modules (guix build utils))
8625 (let* ((out (assoc-ref %outputs "out"))
8626 (apps (string-append out "/share/applications")))
8627 (mkdir-p apps)
a6ac679f 8628 (call-with-output-file (string-append apps "/gnome-mimeapps.list")
96d36f38
AW
8629 (lambda (port)
8630 (format port "[Default Applications]\n")
8ad4f0aa
LC
8631 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
8632 (format port "application/pdf=evince.desktop\n")
8633 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
8634 #t))))
8635 (synopsis "Default MIME type associations for the GNOME desktop")
8636 (description
8637 "Given many installed packages which might handle a given MIME type, a
8638user running the GNOME desktop probably has some preferences: for example,
8639that folders be opened by default by the Nautilus file manager, not the Baobab
8640disk usage analyzer. This package establishes that set of default MIME type
8641associations for GNOME.")
8642 (license license:gpl3+)
8643 (home-page #f)))
8644
3f1ed953
RG
8645(define-public libgovirt
8646 (package
8647 (name "libgovirt")
8648 (version "0.3.6")
8649 (source (origin
8650 (method url-fetch)
8651 (uri (string-append "mirror://gnome/sources/" name "/"
8652 (version-major+minor version) "/"
8653 name "-" version ".tar.xz"))
8654 (sha256
8655 (base32
8656 "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg"))))
8657 (build-system glib-or-gtk-build-system)
8658 (native-inputs
8659 `(("gettext" ,gettext-minimal)
8660 ("glib:bin" ,glib "bin")
8661 ("gobject-introspection" ,gobject-introspection)
8662 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8663 ("gtk+:bin" ,gtk+ "bin")
8664 ("pkg-config" ,pkg-config)))
8665 (inputs
8666 `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
8667 ("librest" ,rest)))
8668 (synopsis "GoVirt Library")
8669 (description "GoVirt is a GObject wrapper for the oVirt REST API.")
8670 (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
8671 (license license:gpl2+)))
8672
8672e5e9
RG
8673(define-public gnome-weather
8674 (package
8675 (name "gnome-weather")
8676 (version "3.34.0")
8677 (source (origin
8678 (method url-fetch)
8679 (uri (string-append "mirror://gnome/sources/" name "/"
8680 (version-major+minor version) "/"
8681 name "-" version ".tar.xz"))
8682 (sha256
8683 (base32
8684 "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4"))))
8685 (build-system meson-build-system)
8686 (native-inputs
8687 `(("gettext" ,gettext-minimal)
8688 ("glib:bin" ,glib "bin")
8689 ("gobject-introspection" ,gobject-introspection)
8690 ("gtk+:bin" ,gtk+ "bin")
8691 ("pkg-config" ,pkg-config)))
8692 (inputs
8693 `( ;("adwaita-icon-theme" ,adwaita-icon-theme)
8694 ("appstream-glib" ,appstream-glib)
8695 ("geoclue" ,geoclue)
8696 ("gdk-pixbuf" ,gdk-pixbuf)
8697 ("gjs" ,gjs)
8698 ("gnome-desktop" ,gnome-desktop)
8699 ("libgweather" ,libgweather)))
4391fefc 8700 (arguments
2b68ba72
MB
8701 `(#:glib-or-gtk? #t
8702 #:phases
4391fefc
PN
8703 (modify-phases %standard-phases
8704 (add-after 'install 'fix-desktop-file
8705 ;; FIXME: "gapplication launch org.gnome.Weather" fails for some reason.
8706 ;; See https://issues.guix.gnu.org/issue/39324.
8707 (lambda* (#:key outputs #:allow-other-keys)
8708 (let* ((out (assoc-ref outputs "out"))
8709 (applications (string-append out "/share/applications")))
8710 (substitute* (string-append applications "/org.gnome.Weather.desktop")
2b68ba72
MB
8711 (("Exec=.*") "Exec=gnome-weather\n"))
8712 #t)))
8713 (add-after 'install 'wrap
8714 (lambda* (#:key inputs outputs #:allow-other-keys)
8715 (let ((out (assoc-ref outputs "out"))
8716 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8717 ;; GNOME Weather needs the typelib files of GTK+, Pango etc at runtime.
8718 (wrap-program (string-append out "/bin/gnome-weather")
8719 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
8720 #t))))))
8672e5e9
RG
8721 (synopsis "Weather monitoring for GNOME desktop")
8722 (description "GNOME Weather is a small application that allows you to
8723monitor the current weather conditions for your city, or anywhere in the
8724world.")
8725 (home-page "https://wiki.gnome.org/Apps/Weather")
8726 (license license:gpl2+)))
8727
dc050251
SB
8728(define-public gnome
8729 (package
8730 (name "gnome")
8731 (version (package-version gnome-shell))
8732 (source #f)
8733 (build-system trivial-build-system)
e3cfef22 8734 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 8735 (propagated-inputs
8d8c6bff 8736 ;; TODO: Add or remove packages according to:
a8cda7f5 8737 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 8738 `(
8d8c6bff 8739 ;; GNOME-Core-OS-Services
7922b6f7 8740 ("accountsservice" ,accountsservice)
8d8c6bff
RG
8741 ("network-manager" ,network-manager)
8742 ("packagekit" ,packagekit)
8743 ("upower" ,upower)
8744 ;; GNOME-Core-Shell
8745 ("adwaita-icon-theme" ,adwaita-icon-theme)
8746 ("gdm" ,gdm)
8747 ("glib-networking" ,glib-networking)
8748 ("gnome-backgrounds" ,gnome-backgrounds)
8749 ("gnome-bluetooth" ,gnome-bluetooth)
d36fa50f 8750 ("gnome-color-manager" ,gnome-color-manager)
8d8c6bff
RG
8751 ("gnome-control-center" ,gnome-control-center)
8752 ("gnome-desktop" ,gnome-desktop)
7922b6f7 8753 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
d36fa50f 8754 ("gnome-initial-setup" ,gnome-initial-setup)
8d8c6bff 8755 ("gnome-keyring" ,gnome-keyring)
7922b6f7 8756 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
8757 ("gnome-session" ,gnome-session)
8758 ("gnome-settings-daemon" ,gnome-settings-daemon)
8759 ("gnome-shell-extensions" ,gnome-shell-extensions)
8760 ("gnome-shell" ,gnome-shell)
8761 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 8762 ("gnome-user-docs" ,gnome-user-docs)
d36fa50f 8763 ("gnome-user-share" ,gnome-user-share)
a8cda7f5 8764 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
8765 ("gvfs" ,gvfs)
8766 ("mutter" ,mutter)
8767 ("orca" ,orca)
d36fa50f
RG
8768 ("rygel" ,rygel)
8769 ("sushi" ,sushi)
8d8c6bff
RG
8770 ;; GNOME-Core-Utilities
8771 ("baobab" ,baobab)
8772 ("cheese" ,cheese)
ce784e6c
MB
8773 ;; XXX: EoG requires librsvg-next, which depends on Rust, which currently
8774 ;; only works on x86_64, so exclude it on other architectures.
8775 ,@(if (string-prefix? "x86_64" (%current-system))
8776 `(("eog" ,eog))
8777 '())
8d8c6bff
RG
8778 ("epiphany" ,epiphany)
8779 ("evince" ,evince)
8780 ("file-roller" ,file-roller)
8781 ("gedit" ,gedit)
897897bd 8782 ("gnome-boxes" ,gnome-boxes)
8d8c6bff
RG
8783 ("gnome-calculator" ,gnome-calculator)
8784 ("gnome-calendar" ,gnome-calendar)
8785 ("gnome-characters" ,gnome-characters)
8786 ("gnome-clocks" ,gnome-clocks)
8787 ("gnome-contacts" ,gnome-contacts)
8788 ("gnome-disk-utility" ,gnome-disk-utility)
8789 ("gnome-font-viewer" ,gnome-font-viewer)
8790 ("gnome-maps" ,gnome-maps)
d36fa50f
RG
8791 ; TODO: ("gnome-music" ,gnome-music)
8792 ; TODO: ("gnome-photos" ,gnome-photos)
8d8c6bff
RG
8793 ("gnome-screenshot" ,gnome-screenshot)
8794 ("gnome-system-monitor" ,gnome-system-monitor)
8795 ("gnome-terminal" ,gnome-terminal)
d36fa50f 8796 ("gnome-weather" ,gnome-weather)
8d8c6bff
RG
8797 ("nautilus" ,nautilus)
8798 ("simple-scan" ,simple-scan)
8799 ("totem" ,totem)
7922b6f7
RG
8800 ("yelp" ,yelp)
8801 ;; Others
8802 ("hicolor-icon-theme" ,hicolor-icon-theme)
9f2fef4f
LC
8803 ("gnome-online-accounts" ,gnome-online-accounts)
8804
8805 ;; Packages not part of GNOME proper but that are needed for a good
8806 ;; experience. See <https://bugs.gnu.org/39646>.
8807 ;; XXX: Find out exactly which ones are needed and why.
8808 ("font-cantarell" ,font-cantarell)
8809 ("font-dejavu" ,font-dejavu)
8810 ("at-spi2-core" ,at-spi2-core)
8811 ("dbus" ,dbus)
8812 ("dconf" ,dconf)
8813 ("desktop-file-utils" ,desktop-file-utils)
8814 ("gnome-default-applications" ,gnome-default-applications)
8815 ("gnome-themes-standard" ,gnome-themes-standard)
8816 ("gst-plugins-base" ,gst-plugins-base)
8817 ("gst-plugins-good" ,gst-plugins-good)
8818 ("gucharmap" ,gucharmap)
8819 ("pinentry-gnome3" ,pinentry-gnome3)
8820 ("pulseaudio" ,pulseaudio)
8821 ("shared-mime-info" ,shared-mime-info)
8822 ("system-config-printer" ,system-config-printer)
8823 ("xdg-user-dirs" ,xdg-user-dirs)
8824 ("yelp" ,yelp)
8825 ("zenity" ,zenity)))
fe4e698d 8826 (synopsis "The GNU desktop environment")
dc050251
SB
8827 (home-page "https://www.gnome.org/")
8828 (description
fe4e698d
LC
8829 "GNOME is the graphical desktop for GNU. It includes a wide variety of
8830applications for browsing the web, editing text and images, creating
8831documents and diagrams, playing media, scanning, and much more.")
dc050251 8832 (license license:gpl2+)))
4a526711
DT
8833
8834(define-public byzanz
8835 ;; The last stable release of Byzanz was in 2011, but there have been many
8836 ;; useful commits made to the Byzanz repository since then that it would be
8837 ;; silly to use such an old release.
8838 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
8839 (package
8840 (name "byzanz")
8841 (version (string-append "0.2-1." (string-take commit 7)))
8842 (source (origin
8843 (method git-fetch)
8844 (uri (git-reference
5f13bf09 8845 (url "https://git.gnome.org/browse/byzanz")
4a526711 8846 (commit commit)))
5a6527e4 8847 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
8848 (sha256
8849 (base32
8850 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
8851 (build-system glib-or-gtk-build-system)
8852 (arguments
8853 '(#:phases
8854 (modify-phases %standard-phases
778d6b52 8855 (add-before 'bootstrap 'build-without-Werror
4a526711
DT
8856 (lambda _
8857 ;; The build system cleverly detects that we're not building from
8858 ;; a release tarball and turns on -Werror for GCC.
8859 ;; Unsurprisingly, there is a warning during compilation that
8860 ;; causes the build to fail unnecessarily, so we remove the flag.
8861 (substitute* '("configure.ac")
8862 (("-Werror") ""))
778d6b52 8863 #t)))))
4a526711
DT
8864 (native-inputs
8865 `(("autoconf" ,autoconf)
8866 ("automake" ,automake)
8867 ("gnome-common" ,gnome-common)
8868 ("intltool" ,intltool)
8869 ("libtool" ,libtool)
8870 ("pkg-config" ,pkg-config)
8871 ("which" ,which)))
8872 (inputs
8873 `(("glib" ,glib)
8874 ("gstreamer" ,gstreamer)
8875 ("gst-plugins-base" ,gst-plugins-base)
8876 ("gtk+" ,gtk+)))
8877 (synopsis "Desktop recording program")
8878 (description "Byzanz is a simple desktop recording program with a
8879command-line interface. It can record part or all of an X display for a
8880specified duration and save it as a GIF encoded animated image file.")
8881 (home-page "https://git.gnome.org/browse/byzanz")
8882 (license license:gpl2+))))
3a9a4c51 8883
0ec171ec
MS
8884(define-public gsound
8885 (package
8886 (name "gsound")
8887 (version "1.0.2")
8888 (source (origin
8889 (method url-fetch)
8890 (uri (string-append "mirror://gnome/sources/" name "/"
8891 (version-major+minor version) "/"
8892 name "-" version ".tar.xz"))
8893 (sha256
8894 (base32
8895 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
8896 (build-system glib-or-gtk-build-system)
8897 (native-inputs
8898 `(("pkg-config" ,pkg-config)
8899 ("gobject-introspection" ,gobject-introspection)
8900 ("vala" ,vala)))
8901 (inputs
8902 `(("glib" ,glib)
8903 ("libcanberra" ,libcanberra)))
8904 (home-page "https://wiki.gnome.org/Projects/GSound")
8905 (synopsis "GObject wrapper for libcanberra")
8906 (description
8907 "GSound is a small library for playing system sounds. It's designed to be
8908used via GObject Introspection, and is a thin wrapper around the libcanberra C
8909library.")
8910 (license license:lgpl2.1+)))
8911
3a9a4c51
RS
8912(define-public libzapojit
8913 (package
8914 (name "libzapojit")
8915 (version "0.0.3")
8916 (source (origin
8917 (method url-fetch)
8918 (uri (string-append "mirror://gnome/sources/" name "/"
8919 (version-major+minor version) "/"
8920 name "-" version ".tar.xz"))
8921 (sha256
8922 (base32
8923 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
8924 (build-system gnu-build-system)
8925 (native-inputs
8926 `(("gobject-introspection" ,gobject-introspection)
8927 ("intltool" ,intltool)
8928 ("pkg-config" ,pkg-config)))
8929 (inputs
14c297fd 8930 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
8931 ("json-glib" ,json-glib)
8932 ("rest" ,rest)))
8933 (home-page "https://wiki.gnome.org/Projects/Zapojit")
8934 (synopsis "Library for accessing SkyDrive and Hotmail")
8935 (description
8936 "Libzapojit is a GLib-based library for accessing online service APIs of
8937Microsoft SkyDrive and Hotmail, using their REST protocols.")
8938 (license license:lgpl2.1+)))
9365ee1c 8939
60e2a9ae
MS
8940(define-public gnome-clocks
8941 (package
8942 (name "gnome-clocks")
feee5ff5 8943 (version "3.34.0")
60e2a9ae
MS
8944 (source (origin
8945 (method url-fetch)
8946 (uri (string-append "mirror://gnome/sources/" name "/"
8947 (version-major+minor version) "/"
8948 name "-" version ".tar.xz"))
8949 (sha256
8950 (base32
feee5ff5 8951 "0g7hjk55smhkd09hwa9kag3h5a12l494wj89w9smpdk3ghsmy6b1"))))
60e2a9ae
MS
8952 (build-system meson-build-system)
8953 (arguments
feee5ff5
KK
8954 '(#:glib-or-gtk? #t
8955 #:phases
8956 (modify-phases %standard-phases
8957 (add-after 'unpack 'skip-gtk-update-icon-cache
8958 ;; Don't create 'icon-theme.cache'.
8959 (lambda _
8960 (substitute* "build-aux/post-install.py"
8961 (("gtk-update-icon-cache") "true"))
8962 #t)))))
60e2a9ae
MS
8963 (native-inputs
8964 `(("vala" ,vala)
8965 ("pkg-config" ,pkg-config)
8966 ("glib" ,glib "bin") ; for glib-compile-resources
60e2a9ae
MS
8967 ("desktop-file-utils" ,desktop-file-utils)
8968 ("gettext" ,gettext-minimal)
8969 ("itstool" ,itstool)))
8970 (inputs
8971 `(("glib" ,glib)
8972 ("gtk+" ,gtk+)
8973 ("gsound" ,gsound)
8974 ("geoclue" ,geoclue)
8975 ("geocode-glib" ,geocode-glib)
8976 ("libgweather" ,libgweather)
8977 ("gnome-desktop" ,gnome-desktop)))
8978 (home-page "https://wiki.gnome.org/Apps/Clocks")
8979 (synopsis "GNOME's clock application")
8980 (description
8981 "GNOME Clocks is a simple clocks application designed to fit the GNOME
8982desktop. It supports world clock, stop watch, alarms, and count down timer.")
8983 (license license:gpl3+)))
8984
3c474897
KY
8985(define-public gnome-calendar
8986 (package
8987 (name "gnome-calendar")
27dd1d76 8988 (version "3.34.2")
3c474897
KY
8989 (source (origin
8990 (method url-fetch)
8991 (uri (string-append "mirror://gnome/sources/" name "/"
8992 (version-major+minor version) "/"
8993 name "-" version ".tar.xz"))
8994 (sha256
8995 (base32
27dd1d76 8996 "1bnmd191044zn2kr6f5vg7sm5q59qf7z652awll1f7s6ahijr8rw"))))
a49d3e37
MS
8997 (build-system meson-build-system)
8998 (arguments
8999 '(#:glib-or-gtk? #t
9000 ;; gnome-calendar has to be installed before the tests can be run
9001 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
27dd1d76
KK
9002 #:tests? #f
9003 #:phases
9004 (modify-phases %standard-phases
9005 (add-after 'unpack 'skip-gtk-update-icon-cache
9006 ;; Don't create 'icon-theme.cache'.
9007 (lambda _
9008 (substitute* "build-aux/meson/meson_post_install.py"
9009 (("gtk-update-icon-cache") "true"))
9010 #t)))))
3c474897 9011 (native-inputs
a49d3e37
MS
9012 `(("gettext" ,gettext-minimal)
9013 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
3c474897
KY
9014 ("pkg-config" ,pkg-config)))
9015 (inputs
27cb52a2 9016 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
9017 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9018 ("libdazzle" ,libdazzle)
b63c06f1 9019 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
9020 ("libgweather" ,libgweather)
9021 ("geoclue" ,geoclue)))
27cb52a2
RG
9022 (propagated-inputs
9023 `(("evolution-data-server" ,evolution-data-server)))
3c474897
KY
9024 (home-page "https://wiki.gnome.org/Apps/Calendar")
9025 (synopsis "GNOME's calendar application")
9026 (description
9027 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 9028desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
9029 (license license:gpl3+)))
9030
57b14665
MS
9031(define-public gnome-todo
9032 (package
9033 (name "gnome-todo")
9f3c6c88 9034 (version "3.28.1")
57b14665
MS
9035 (source (origin
9036 (method url-fetch)
9037 (uri (string-append "mirror://gnome/sources/" name "/"
9038 (version-major+minor version) "/"
9039 name "-" version ".tar.xz"))
9040 (sha256
9041 (base32
b17b2945
DM
9042 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))
9043 (patches
9044 (search-patches "gnome-todo-delete-esource-duplicate.patch"))))
57b14665
MS
9045 (build-system meson-build-system)
9046 (arguments
9047 '(#:glib-or-gtk? #t
9048 #:phases (modify-phases %standard-phases
9049 (add-after
9050 'install 'wrap-gnome-todo
9051 (lambda* (#:key inputs outputs #:allow-other-keys)
9052 (let ((out (assoc-ref outputs "out"))
9053 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
9054 (python-path (getenv "PYTHONPATH")))
9055 (wrap-program (string-append out "/bin/gnome-todo")
9056 ;; XXX: gi plugins are broken.
9057 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
9058 ;; For plugins.
9059 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
9060 `("PYTHONPATH" ":" prefix (,python-path))))
9061 #t)))))
9062 (native-inputs
9063 `(("gettext" ,gettext-minimal)
9064 ("gobject-introspection" ,gobject-introspection)
9065 ("glib:bin" ,glib "bin") ; For glib-compile-resources
9066 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
9067 ("pkg-config" ,pkg-config)))
9068 (inputs
9069 `(("rest" ,rest) ; For Todoist plugin
9070 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 9071 ("libedataserverui" ,evolution-data-server)
57b14665
MS
9072 ("libical" ,libical)
9073 ("libpeas" ,libpeas)
9074 ("python-pygobject" ,python-pygobject)
9075 ("evolution-data-server" ,evolution-data-server)
14c297fd 9076 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
9077 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
9078 (home-page "https://wiki.gnome.org/Apps/Todo")
9079 (synopsis "GNOME's ToDo Application")
9080 (description
9081 "GNOME To Do is a simplistic personal task manager designed to perfectly
9082fit the GNOME desktop.")
9083 (license license:gpl3+)))
9084
ab179eaf
SB
9085(define-public gnome-dictionary
9086 (package
9087 (name "gnome-dictionary")
cf81ddef 9088 (version "3.26.1")
ab179eaf
SB
9089 (source (origin
9090 (method url-fetch)
9091 (uri (string-append "mirror://gnome/sources/" name "/"
9092 (version-major+minor version) "/"
9093 name "-" version ".tar.xz"))
9094 (sha256
9095 (base32
cf81ddef
LC
9096 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
9097 (build-system meson-build-system)
2776b5d5
MB
9098 (arguments '(#:glib-or-gtk? #t
9099 #:phases (modify-phases %standard-phases
9100 (add-after 'unpack 'patch-install-script
9101 (lambda _
9102 ;; This script attempts to compile glib schemas
9103 ;; and create an empty MIME database. We do
9104 ;; that elsewhere, so prevent it from running.
9105 (substitute* "build-aux/post-install.sh"
9106 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
9107 #t)))))
ab179eaf
SB
9108 (native-inputs
9109 `(("glib:bin" ,glib "bin")
9110 ("gobject-introspection" ,gobject-introspection)
9111 ("intltool" ,intltool)
9112 ("itstool" ,itstool)
9113 ("pkg-config" ,pkg-config)
9114 ("xmllint" ,libxml2)))
9115 (inputs
9116 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9117 ("gtk+" ,gtk+)))
9118 (home-page "https://wiki.gnome.org/Apps/Dictionary")
9119 (synopsis "Look up words in dictionary sources")
9120 (description
9121 "GNOME Dictionary can look for the definition or translation of a word in
9122existing databases over the internet.")
9123 (license license:gpl3+)))
9124
d13f3a03 9125(define-public gnome-tweaks
9365ee1c 9126 (package
d13f3a03 9127 (name "gnome-tweaks")
4add1bae 9128 (version "3.34.0")
9365ee1c
JN
9129 (source (origin
9130 (method url-fetch)
d13f3a03 9131 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 9132 (version-major+minor version) "/"
d13f3a03
RW
9133 "gnome-tweaks-" version ".tar.xz"))
9134 (patches
9135 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
9136 (sha256
9137 (base32
4add1bae 9138 "0l2j42ba7v866iknygamnkiq7igh0fjvq92r93cslvvfnkx2ccq0"))))
d13f3a03 9139 (build-system meson-build-system)
9365ee1c 9140 (arguments
d13f3a03
RW
9141 `(#:glib-or-gtk? #t
9142 #:configure-flags '("-Dlocalstatedir=/tmp"
9143 "-Dsysconfdir=/tmp")
9365ee1c 9144 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
9145 ,@%meson-build-system-modules)
9146 #:phases
9147 (modify-phases %standard-phases
4add1bae
KK
9148 (add-after 'unpack 'skip-gtk-update-icon-cache
9149 ;; Don't create 'icon-theme.cache'.
9150 (lambda _
9151 (substitute* "meson-postinstall.py"
9152 (("gtk-update-icon-cache") "true"))
9153 #t))
d13f3a03
RW
9154 (add-after 'install 'wrap
9155 (@@ (guix build python-build-system) wrap))
9156 (add-after 'wrap 'wrap-gi-typelib
9157 (lambda* (#:key inputs outputs #:allow-other-keys)
9158 (let ((out (assoc-ref outputs "out"))
9159 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
9160 (wrap-program (string-append out "/bin/gnome-tweaks")
9161 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
9162 #t)))))
9365ee1c 9163 (native-inputs
4add1bae 9164 `(("intltool" ,intltool)
9365ee1c
JN
9165 ("pkg-config" ,pkg-config)))
9166 (inputs
c7fc414e
RH
9167 `(("gnome-desktop" ,gnome-desktop)
9168 ("gtk+" ,gtk+)
9365ee1c
JN
9169 ("gobject-introspection" ,gobject-introspection)
9170 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
a790dfe8 9171 ("libhandy" ,libhandy-0.0)
c7fc414e
RH
9172 ("libnotify" ,libnotify)
9173 ("libsoup" ,libsoup)
9174 ("nautilus" ,nautilus)
9175 ("python" ,python)
9176 ("python-pygobject" ,python-pygobject)))
9365ee1c 9177 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 9178 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 9179 (description
d13f3a03 9180 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
9181GNOME 3. This includes things like the fonts used in user interface elements,
9182alternative user interface themes, changes in window management behavior,
9183GNOME Shell appearance and extension, etc.")
9184 (license license:gpl3+)))
813f814a 9185
32ac717c
DT
9186(define-public gnome-shell-extensions
9187 (package
9188 (name "gnome-shell-extensions")
c7305466 9189 (version "3.34.2")
32ac717c
DT
9190 (source (origin
9191 (method url-fetch)
9192 (uri (string-append "mirror://gnome/sources/" name "/"
9193 (version-major+minor version) "/"
9194 name "-" version ".tar.xz"))
9195 (sha256
9196 (base32
c7305466 9197 "1f5l35l3kdkzrv49xmg1sh11vwmgjbg7hx3gb91i39bfl1snxqd1"))))
100f625b 9198 (build-system meson-build-system)
32ac717c 9199 (arguments
100f625b 9200 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 9201 (native-inputs
c9ea8873
LP
9202 `(("glib:bin" ,glib "bin")
9203 ("intltool" ,intltool)
32ac717c
DT
9204 ("pkg-config" ,pkg-config)))
9205 (propagated-inputs
c9ea8873 9206 `(("glib" ,glib)))
32ac717c
DT
9207 (synopsis "Extensions for GNOME Shell")
9208 (description "GNOME Shell extensions modify and extend GNOME Shell
9209functionality and behavior.")
9210 (home-page "https://extensions.gnome.org/")
9211 (license license:gpl3+)))
9212
813f814a
DT
9213(define-public arc-theme
9214 (package
9215 (name "arc-theme")
37781323 9216 (version "20190917")
813f814a 9217 (source (origin
a18f8eaf
BH
9218 (method git-fetch)
9219 (uri (git-reference
b0e7b699 9220 (url "https://github.com/NicoHood/arc-theme")
a18f8eaf
BH
9221 (commit version)))
9222 (file-name (git-file-name name version))
813f814a
DT
9223 (sha256
9224 (base32
37781323 9225 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 9226 (build-system gnu-build-system)
d88884fa
EF
9227 (arguments
9228 '(#:phases
9229 (modify-phases %standard-phases
9230 ;; autogen.sh calls configure at the end of the script.
9231 (replace 'bootstrap
4690e3a4
MC
9232 (lambda _ (invoke "autoreconf" "-vfi")))
9233 (add-before 'build 'set-home ;placate Inkscape
9234 (lambda _
9235 (setenv "HOME" (getcwd))
9236 #t)))))
813f814a
DT
9237 (native-inputs
9238 `(("autoconf" ,autoconf)
9239 ("automake" ,automake)
a18f8eaf
BH
9240 ("glib" ,glib "bin") ; for glib-compile-resources
9241 ("gnome-shell" ,gnome-shell)
9242 ("gtk+" ,gtk+)
9243 ("inkscape" ,inkscape)
9244 ("optipng" ,optipng)
9245 ("pkg-config" ,pkg-config)
bed24ecf 9246 ("sassc" ,sassc/libsass-3.5)))
813f814a
DT
9247 (synopsis "A flat GTK+ theme with transparent elements")
9248 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
92492, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
9250like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
9251 (home-page "https://github.com/horst3180/arc-theme")
9252 ;; No "or later" language found.
a18f8eaf 9253 (license license:gpl3+)))
9987c57c 9254
d935e6a1 9255(define-public faba-icon-theme
9987c57c 9256 (package
d935e6a1 9257 (name "faba-icon-theme")
2eee7ee3 9258 (version "4.3")
d935e6a1
BT
9259 (source
9260 (origin
757e4027
TGR
9261 (method git-fetch)
9262 (uri (git-reference
b0e7b699 9263 (url "https://github.com/snwh/faba-icon-theme")
757e4027
TGR
9264 (commit (string-append "v" version))))
9265 (file-name (git-file-name name version))
d935e6a1 9266 (sha256
757e4027 9267 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 9268 (build-system meson-build-system)
9987c57c 9269 (arguments
82da291a 9270 `(#:phases
9987c57c 9271 (modify-phases %standard-phases
82da291a 9272 (add-before 'configure 'disable-post-install
9987c57c 9273 (lambda _
82da291a
JL
9274 (substitute* "meson.build"
9275 (("meson.add_install_script.*") "")))))))
9987c57c
DT
9276 (native-inputs
9277 `(("autoconf" ,autoconf)
9278 ("automake" ,automake)))
d935e6a1
BT
9279 (synopsis "Faba icon theme")
9280 (description
9281 "Faba is a minimal icon set used as a basis for other themes such as
9282Moka")
9283 (home-page "https://snwh.org/moka")
9284 (license (list license:lgpl3+
9285 license:cc-by-sa4.0))))
9286
9987c57c
DT
9287(define-public moka-icon-theme
9288 (package
8b0e4177 9289 (inherit faba-icon-theme)
9987c57c 9290 (name "moka-icon-theme")
105a3625 9291 (version "5.4.0")
8c3f2170
TGR
9292 (source
9293 (origin
9294 (method git-fetch)
9295 (uri (git-reference
b0e7b699 9296 (url "https://github.com/snwh/moka-icon-theme")
8c3f2170
TGR
9297 (commit (string-append "v" version))))
9298 (file-name (git-file-name name version))
9299 (sha256
9300 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
9301 (propagated-inputs
9302 ;; Moka is based on Faba by using it as a fallback icon set instead of
9303 ;; bundling it, so we need to add it as a propagated input.
9304 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
9305 (synopsis "Moka icon theme")
9306 (description "Moka is a stylized desktop icon set, designed to be clear,
9307simple and consistent.")
fedde43b
BT
9308 (license (list license:gpl3+
9309 license:cc-by-sa4.0))))
6fd8f8d6
DT
9310
9311(define-public arc-icon-theme
9312 (package
9313 (name "arc-icon-theme")
c4180240 9314 (version "20161122")
bbf66cbf
TGR
9315 (source
9316 (origin
9317 (method git-fetch)
9318 (uri (git-reference
b0e7b699 9319 (url "https://github.com/horst3180/arc-icon-theme")
bbf66cbf
TGR
9320 (commit version)))
9321 (file-name (git-file-name name version))
9322 (sha256
9323 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 9324 (build-system gnu-build-system)
9e1ede95
JL
9325 (arguments
9326 `(#:phases
9327 (modify-phases %standard-phases
9328 (add-after 'unpack 'disable-configure-during-bootstrap
9329 (lambda _
9330 (substitute* "autogen.sh"
9331 (("^\"\\$srcdir/configure\".*") ""))
9332 #t)))))
6fd8f8d6
DT
9333 (native-inputs
9334 `(("autoconf" ,autoconf)
9335 ("automake" ,automake)))
9336 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
9337 (propagated-inputs
9338 `(("moka-icon-theme" ,moka-icon-theme)))
9339 (synopsis "Arc icon theme")
9340 (description "The Arc icon theme provides a set of icons matching the
9341style of the Arc GTK theme. Icons missing from the Arc theme are provided by
9342the Moka icon theme.")
9343 (home-page "https://github.com/horst3180/arc-icon-theme")
9344 (license license:gpl3+)))
6064a4e8
LF
9345
9346(define-public folks
9347 (package
9348 (name "folks")
fd11f6f3 9349 (version "0.13.1")
6064a4e8
LF
9350 (source (origin
9351 (method url-fetch)
9352 (uri (string-append
e5f4796e 9353 "mirror://gnome/sources/folks/"
6064a4e8 9354 (version-major+minor version) "/"
e5f4796e 9355 "folks-" version ".tar.xz"))
6064a4e8
LF
9356 (sha256
9357 (base32
fd11f6f3
KK
9358 "0pda8sx4ap3lyri5fdrnakl29la1zkhwlc9bmnp13qigp1iwdw9x"))))
9359 (build-system meson-build-system)
9360 (arguments
9361 '(#:phases
9362 (modify-phases %standard-phases
9363 (add-after 'unpack 'skip-gtk-update-icon-cache
9364 ;; Don't create 'icon-theme.cache'.
9365 (lambda _
9366 (substitute* "meson_post_install.py"
9367 (("gtk-update-icon-cache") "true"))
9368 #t)))))
6064a4e8
LF
9369 (inputs
9370 `(("bdb" ,bdb)
9371 ("dbus-glib" ,dbus-glib)
9372 ("evolution-data-server" ,evolution-data-server)
9373 ("glib" ,glib)
9374 ("libgee" ,libgee)
fd11f6f3 9375 ("readline" ,readline)
6064a4e8
LF
9376 ("telepathy-glib" ,telepathy-glib)))
9377 (native-inputs
fd11f6f3
KK
9378 `(("glib:bin" ,glib "bin")
9379 ("gobject-introspection" ,gobject-introspection)
6064a4e8
LF
9380 ("intltool" ,intltool)
9381 ("pkg-config" ,pkg-config)
9382 ("vala" ,vala)))
9383 (synopsis "Library to aggregate data about people")
9384 (description "Libfolks is a library that aggregates information about people
9385from multiple sources (e.g., Telepathy connection managers for IM contacts,
9386Evolution Data Server for local contacts, libsocialweb for web service contacts,
9387etc.) to create metacontacts. It's written in Vala, which generates C code when
9388compiled.")
9389 (home-page "https://wiki.gnome.org/Projects/Folks")
9390 (license license:lgpl2.1+)))
01ea778f
LF
9391
9392(define-public gfbgraph
9393 (package
9394 (name "gfbgraph")
556e33c8 9395 (version "0.2.4")
01ea778f
LF
9396 (source (origin
9397 (method url-fetch)
9398 (uri (string-append
237d4cf7 9399 "mirror://gnome/sources/gfbgraph/"
01ea778f 9400 (version-major+minor version) "/"
237d4cf7 9401 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
9402 (sha256
9403 (base32
556e33c8 9404 "0yck7dwvjk16a52nafjpi0a39rxwmg0w833brj45acz76lgkjrb0"))))
01ea778f
LF
9405 (build-system glib-or-gtk-build-system)
9406 (arguments
492ad09f
TGR
9407 `(#:tests? #f ; tests appear to require the network
9408 #:configure-flags '("--disable-static"
9409 "--enable-gtk-doc"
01ea778f
LF
9410 "--enable-introspection")))
9411 (native-inputs
492ad09f
TGR
9412 `(("gobject-introspection" ,gobject-introspection)
9413 ("gtk-doc" ,gtk-doc)
556e33c8
TGR
9414 ("pkg-config" ,pkg-config)
9415
9416 ;; The 0.2.4 ‘release’ tarball isn't bootstrapped.
9417 ("autoconf" ,autoconf)
9418 ("automake" ,automake)
9419 ("libtool" ,libtool)
9420 ("which" ,which)))
01ea778f
LF
9421 (inputs
9422 `(("json-glib" ,json-glib)
14c297fd 9423 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
9424 ("rest" ,rest)))
9425 (synopsis "GLib/GObject wrapper for the Facebook API")
9426 (description "This library allows you to use the Facebook API from
9427GLib/GObject code.")
9428 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
9429 (license license:lgpl2.1+)))
3920868c 9430
9431(define-public libgnomekbd
9432 (package
9433 (name "libgnomekbd")
70f2b0f9 9434 (version "3.26.1")
3920868c 9435 (source (origin
9436 (method url-fetch)
d47fa82d 9437 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 9438 (version-major+minor version) "/"
d47fa82d 9439 "libgnomekbd-" version ".tar.xz"))
3920868c 9440 (sha256
9441 (base32
70f2b0f9 9442 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 9443 (build-system gnu-build-system)
9444 (native-inputs
9445 `(("pkg-config" ,pkg-config)
9446 ("glib" ,glib "bin")
9447 ("intltool" ,intltool)))
9448 (propagated-inputs
9449 ;; Referred to in .h files and .pc.
9450 `(("glib" ,glib)
9451 ("gtk+" ,gtk+)
9452 ("libxklavier" ,libxklavier)))
9453 (home-page "https://www.gnome.org")
9454 (synopsis "GNOME keyboard configuration library")
9455 (description
9456 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
9457environment, which can notably display keyboard layouts.")
9458 (license license:lgpl2.0+)))
85327d0d 9459
9460;;; This package is no longer maintained:
9461;;; https://wiki.gnome.org/Attic/LibUnique
9462;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
9463;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
9464(define-public libunique
9465 (package
9466 (name "libunique")
9467 (version "3.0.2")
9468 (source (origin
9469 (method url-fetch)
9470 (uri (string-append "mirror://gnome/sources/" name "/"
9471 (version-major+minor version) "/"
9472 name "-" version ".tar.xz"))
9473 (sha256
9474 (base32
9475 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
9476 (build-system glib-or-gtk-build-system)
9477 (arguments
9478 `(#:configure-flags '("--disable-static"
9479 "--disable-dbus" ; use gdbus
9480 "--enable-introspection")))
9481 (native-inputs
9482 `(("pkg-config" ,pkg-config)
9483 ("gobject-introspection" ,gobject-introspection)
9484 ("glib:bin" ,glib "bin")
9485 ("gtk-doc" ,gtk-doc)))
9486 (propagated-inputs
9487 ;; Referred to in .h files and .pc.
9488 `(("gtk+" ,gtk+)))
9489 (home-page "https://wiki.gnome.org/Attic/LibUnique")
9490 (synopsis "Library for writing single instance applications")
9491 (description
9492 "Libunique is a library for writing single instance applications. If you
9493launch a single instance application twice, the second instance will either just
9494quit or will send a message to the running instance. Libunique makes it easy to
9495write this kind of application, by providing a base class, taking care of all
9496the IPC machinery needed to send messages to a running instance, and also
9497handling the startup notification side.")
9498 (license license:lgpl2.1+)))
54021cd8
RS
9499
9500(define-public gnome-calculator
9501 (package
9502 (name "gnome-calculator")
4cb09502 9503 (version "3.34.1")
54021cd8
RS
9504 (source
9505 (origin
9506 (method url-fetch)
9507 (uri (string-append "mirror://gnome/sources/" name "/"
9508 (version-major+minor version) "/"
9509 name "-" version ".tar.xz"))
9510 (sha256
9511 (base32
4cb09502 9512 "0lbh87255zzggqzai6543qg920y52bl4vs5m5h5087ghzg14hlsd"))))
2d475910
RW
9513 (build-system meson-build-system)
9514 (arguments '(#:glib-or-gtk? #t))
54021cd8 9515 (native-inputs
4cb09502
MB
9516 `(("gettext" ,gettext-minimal)
9517 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 9518 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8 9519 ("itstool" ,itstool)
2d475910 9520 ("vala" ,vala)
54021cd8
RS
9521 ("pkg-config" ,pkg-config)))
9522 (inputs
112e9083 9523 `(("glib" ,glib)
07ace641 9524 ("gtksourceview" ,gtksourceview)
4cb09502 9525 ("libgee" ,libgee)
54021cd8 9526 ("libsoup" ,libsoup)
112e9083 9527 ("libxml2" ,libxml2)
2c2da7ec 9528 ("mpc" ,mpc)
54021cd8
RS
9529 ("mpfr" ,mpfr)))
9530 (home-page "https://wiki.gnome.org/Apps/Calculator")
9531 (synopsis "Desktop calculator")
9532 (description
9533 "Calculator is an application that solves mathematical equations and
9534is suitable as a default application in a Desktop environment.")
9535 (license license:gpl3)))
0bd69759
RS
9536
9537(define-public xpad
9538 (package
9539 (name "xpad")
c85626bb 9540 (version "5.1.0")
0bd69759
RS
9541 (source
9542 (origin
9543 (method url-fetch)
08fda9c6
R
9544 (uri (string-append "https://launchpad.net/xpad/trunk/"
9545 version "/+download/"
0bd69759
RS
9546 name "-" version ".tar.bz2"))
9547 (sha256
9548 (base32
c85626bb 9549 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
9550 (build-system gnu-build-system)
9551 (native-inputs
08fda9c6
R
9552 `(("autoconf" ,autoconf)
9553 ("automake" ,automake)
9554 ("gtk+:bin" ,gtk+ "bin")
9555 ("intltool" ,intltool)
0bd69759
RS
9556 ("pkg-config" ,pkg-config)))
9557 (inputs
c72647fb 9558 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
9559 ("libsm" ,libsm)))
9560 (home-page "https://wiki.gnome.org/Apps/Xpad")
9561 (synopsis "Virtual sticky note")
9562 (description
9563 "Xpad is a sticky note that strives to be simple, fault tolerant,
9564and customizable. Xpad consists of independent pad windows, each is
9565basically a text box in which notes can be written.")
9566 (license license:gpl3+)))
3ad7dce1
RS
9567
9568(define-public gucharmap
c60063ea
RW
9569 (let ((unicode-files
9570 '(("Blocks.txt"
1f8b5515 9571 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 9572 ("DerivedAge.txt"
1f8b5515 9573 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 9574 ("NamesList.txt"
1f8b5515 9575 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 9576 ("Scripts.txt"
1f8b5515 9577 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 9578 ("UnicodeData.txt"
1f8b5515 9579 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 9580 ("Unihan.zip"
1f8b5515 9581 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
9582 (package
9583 (name "gucharmap")
1f8b5515 9584 (version "12.0.1")
c60063ea
RW
9585 (source
9586 (origin
9587 (method url-fetch)
9588 (uri (string-append "mirror://gnome/sources/" name "/"
9589 (version-major+minor version) "/"
9590 name "-" version ".tar.xz"))
9591 (sha256
9592 (base32
1f8b5515 9593 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
9594 (build-system glib-or-gtk-build-system)
9595 (arguments
9596 `(#:modules ((ice-9 match)
9597 (guix build glib-or-gtk-build-system)
9598 (guix build utils))
9599 #:configure-flags
9600 (list "--with-unicode-data=../unicode-data")
9601 #:phases
9602 (modify-phases %standard-phases
9603 (add-after 'unpack 'prepare-unicode-data
9604 (lambda* (#:key inputs #:allow-other-keys)
9605 (mkdir-p "../unicode-data")
9606 (with-directory-excursion "../unicode-data"
9607 (for-each (match-lambda
9608 ((file _)
9609 (install-file (assoc-ref inputs file) ".")))
9610 ',unicode-files))
9611 #t)))))
9612 (native-inputs
9613 `(("desktop-file-utils" ,desktop-file-utils)
9614 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
9615 ("gobject-introspection" ,gobject-introspection)
9616 ("intltool" ,intltool)
9617 ("itstool" ,itstool)
9618 ("pkg-config" ,pkg-config)
9619 ,@(map (match-lambda
9620 ((file hash)
9621 `(,file
9622 ,(origin
9623 (method url-fetch)
9624 (uri (string-append
1f8b5515 9625 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
9626 file))
9627 (sha256 (base32 hash))))))
9628 unicode-files)
9629 ("unzip" ,unzip)))
9630 (inputs
9631 `(("gtk+" ,gtk+)
9632 ("xmllint" ,libxml2)))
9633 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
9634 (synopsis "Unicode character picker and font browser")
9635 (description
9636 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
9637characters and categories for the installed fonts, and to examine their
9638detailed properties. It is an easy way to find the character you might
9639only know by its Unicode name or code point.")
c60063ea 9640 (license license:gpl3+))))
04ce840a
RS
9641
9642(define-public bluefish
9643 (package
9644 (name "bluefish")
290fe81d 9645 (version "2.2.11")
04ce840a
RS
9646 (source
9647 (origin
9648 (method url-fetch)
9649 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
99aa7a2d 9650 "bluefish-" version ".tar.gz"))
04ce840a 9651 (sha256
290fe81d 9652 (base32 "0a7kf78q4cj2ap4igjks9kbmmr74brsrl4y2f9wbxpl0b0v2ck2x"))))
04ce840a
RS
9653 (build-system gnu-build-system)
9654 (native-inputs
9655 `(("desktop-file-utils" ,desktop-file-utils)
9656 ("intltool" ,intltool)
9657 ("pkg-config" ,pkg-config)))
9658 (inputs
9659 `(("enchant" ,enchant)
9660 ("gtk+" ,gtk+)
290fe81d 9661 ("python" ,python-wrapper)
04ce840a
RS
9662 ("xmllint" ,libxml2)
9663 ("gucharmap" ,gucharmap)))
9664 (home-page "http://bluefish.openoffice.nl")
9665 (synopsis "Web development studio")
9666 (description
9667 "Bluefish is an editor targeted towards programmers and web developers,
9668with many options to write web sites, scripts and other code.
9669Bluefish supports many programming and markup languages.")
9670 (license license:gpl3+)))
1f6a73ee
RS
9671
9672(define-public gnome-system-monitor
9673 (package
9674 (name "gnome-system-monitor")
083cffaf 9675 (version "3.32.1")
1f6a73ee
RS
9676 (source
9677 (origin
9678 (method url-fetch)
9679 (uri (string-append "mirror://gnome/sources/" name "/"
9680 (version-major+minor version) "/"
9681 name "-" version ".tar.xz"))
9682 (sha256
9683 (base32
083cffaf 9684 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
9685 (build-system meson-build-system)
9686 (arguments
9687 '(#:glib-or-gtk? #t
9688 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
9689 (native-inputs
9690 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 9691 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
9692 ("intltool" ,intltool)
9693 ("itstool" ,itstool)
9694 ("libgtop" ,libgtop)
4985d9aa 9695 ("polkit" ,polkit)
1f6a73ee
RS
9696 ("pkg-config" ,pkg-config)))
9697 (inputs
9698 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
9699 ("gtk+" ,gtk+)
9700 ("gtkmm" ,gtkmm)
9701 ("librsvg" ,librsvg)
4985d9aa
RW
9702 ("libxml2" ,libxml2)
9703 ("libwnck" ,libwnck)))
1f6a73ee
RS
9704 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
9705 (synopsis "Process viewer and system resource monitor for GNOME")
9706 (description
9707 "GNOME System Monitor is a GNOME process viewer and system monitor with
9708an attractive, easy-to-use interface. It has features, such as a tree view
9709for process dependencies, icons for processes, the ability to hide processes,
9710graphical time histories of CPU/memory/swap usage and the ability to
9711kill/reinice processes.")
9712 (license license:gpl2+)))
3e00ac47
SB
9713
9714(define-public python-pyatspi
9715 (package
9716 (name "python-pyatspi")
4f937a32 9717 (version "2.34.0")
3e00ac47
SB
9718 (source (origin
9719 (method url-fetch)
9720 (uri (string-append
9721 "mirror://gnome/sources/pyatspi/"
9722 (version-major+minor version)
9723 "/pyatspi-" version ".tar.xz"))
9724 (sha256
9725 (base32
4f937a32 9726 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 9727 (build-system gnu-build-system)
b95af3f6
JL
9728 (arguments
9729 `(#:phases
9730 (modify-phases %standard-phases
9731 (add-before 'build 'fix-atk-load
9732 (lambda _
9733 (substitute* "pyatspi/__init__.py"
9734 (("from gi.repository import Atspi")
9735 "gi.require_version('Gtk', '3.0')
9736from gi.repository import Gtk
9737from gi.repository import Atspi"))
9738 #t)))))
3e00ac47
SB
9739 (native-inputs
9740 `(("pkg-config" ,pkg-config)))
9741 (inputs
06fe35cf
CB
9742 `(("python" ,python)))
9743 (propagated-inputs
9744 `(("python-pygobject" ,python-pygobject)))
3e00ac47
SB
9745 (synopsis "Python client bindings for D-Bus AT-SPI")
9746 (home-page "https://wiki.linuxfoundation.org/accessibility\
9747/atk/at-spi/at-spi_on_d-bus")
9748 (description
9749 "This package includes a python client library for the AT-SPI D-Bus
9750accessibility infrastructure.")
9751 (license license:lgpl2.0)
9752 (properties '((upstream-name . "pyatspi")))))
53201c0d 9753
5d31933e
CB
9754(define-public python2-pyatspi
9755 (package
9756 (inherit python-pyatspi)
9757 (name "python2-pyatspi")
9758 (inputs
06fe35cf
CB
9759 `(("python" ,python-2)))
9760 (propagated-inputs
9761 `(("python-pygobject" ,python2-pygobject)))))
5d31933e 9762
53201c0d
SB
9763(define-public orca
9764 (package
9765 (name "orca")
30e76da1 9766 (version "3.34.1")
53201c0d
SB
9767 (source (origin
9768 (method url-fetch)
9769 (uri (string-append
9770 "mirror://gnome/sources/" name "/"
9771 (version-major+minor version) "/"
9772 name "-" version ".tar.xz"))
9773 (sha256
9774 (base32
30e76da1 9775 "1q38n7hyshkiszmn361skxjynxr31lcms7a1iny6d0zlpmh1vnk4"))))
53201c0d
SB
9776 (build-system glib-or-gtk-build-system)
9777 (arguments
9778 '(#:phases
9779 (modify-phases %standard-phases
9780 (add-before 'configure 'qualify-xkbcomp
9781 (lambda* (#:key inputs #:allow-other-keys)
9782 (let ((xkbcomp (string-append
9783 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
9784 (substitute* "src/orca/orca.py"
9785 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
9786 #t))
9787 (add-after 'install 'wrap-orca
9788 (lambda* (#:key outputs #:allow-other-keys)
9789 (let* ((out (assoc-ref outputs "out"))
9790 (prog (string-append out "/bin/orca")))
9791 (wrap-program prog
9792 `("GI_TYPELIB_PATH" ":" prefix
9793 (,(getenv "GI_TYPELIB_PATH")))
9794 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
9795 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
9796 `("PYTHONPATH" ":" prefix
9797 (,(getenv "PYTHONPATH")))))
9798 #t)))))
9799 (native-inputs
9800 `(("intltool" ,intltool)
9801 ("itstool" ,itstool)
9802 ("pkg-config" ,pkg-config)
9803 ("xmllint" ,libxml2)))
9804 (inputs
9805 `(("at-spi2-atk" ,at-spi2-atk)
9806 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9807 ("gstreamer" ,gstreamer)
9808 ("gst-plugins-base" ,gst-plugins-base)
9809 ("gst-plugins-good" ,gst-plugins-good)
9810 ("gtk+" ,gtk+)
9811 ("python" ,python)
9812 ("python-pygobject" ,python-pygobject)
9813 ("python-pyatspi" ,python-pyatspi)
9814 ("python-speechd" ,speech-dispatcher)
9815 ("xkbcomp" ,xkbcomp)))
9816 (synopsis
9817 "Screen reader for individuals who are blind or visually impaired")
9818 (home-page "https://wiki.gnome.org/Projects/Orca")
9819 (description
9820 "Orca is a screen reader that provides access to the graphical desktop
9821via speech and refreshable braille. Orca works with applications and toolkits
9822that support the Assistive Technology Service Provider Interface (AT-SPI).")
9823 (license license:lgpl2.1+)))
411ba511
LC
9824
9825(define-public gspell
9826 (package
9827 (name "gspell")
7a6bbe9b 9828 (version "1.8.2")
411ba511
LC
9829 (source (origin
9830 (method url-fetch)
9831 (uri (string-append "mirror://gnome/sources/" name "/"
9832 (version-major+minor version) "/"
9833 name "-" version ".tar.xz"))
9834 (sha256
9835 (base32
7a6bbe9b 9836 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
9837 (patches (search-patches "gspell-dash-test.patch"))))
9838 (build-system glib-or-gtk-build-system)
9839 (arguments
d0f50164 9840 '(#:configure-flags (list "--enable-vala")
9841 #:phases
411ba511
LC
9842 (modify-phases %standard-phases
9843 (add-before 'check 'pre-check
9844 (lambda* (#:key inputs #:allow-other-keys)
9845 ;; Tests require a running X server.
9846 (system "Xvfb :1 &")
9847 (setenv "DISPLAY" ":1")
9848
9849 ;; For the missing /etc/machine-id.
9850 (setenv "DBUS_FATAL_WARNINGS" "0")
9851
9852 ;; Allow Enchant and its Aspell backend to find the en_US
9853 ;; dictionary.
9854 (setenv "ASPELL_DICT_DIR"
9855 (string-append (assoc-ref inputs "aspell-dict-en")
9856 "/lib/aspell"))
9857 #t)))))
9858 (inputs
eccd35be 9859 `(("gtk+" ,gtk+)
a801ae4c
TGR
9860 ("glib" ,glib)
9861 ("iso-codes" ,iso-codes)))
411ba511
LC
9862 (native-inputs
9863 `(("glib" ,glib "bin")
26ba3f07 9864 ("gobject-introspection" ,gobject-introspection)
411ba511 9865 ("pkg-config" ,pkg-config)
d0f50164 9866 ("vala" ,vala) ;for VAPI, needed by Geary
411ba511
LC
9867 ("xmllint" ,libxml2)
9868
9869 ;; For tests.
a801ae4c 9870 ("aspell-dict-en" ,aspell-dict-en)
ff337525 9871 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 9872 (propagated-inputs
9b1bb757 9873 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
9874 (home-page "https://wiki.gnome.org/Projects/gspell")
9875 (synopsis "GNOME's alternative spell checker")
9876 (description
9877 "gspell provides a flexible API to add spell-checking to a GTK+
9878application. It provides a GObject API, spell-checking to text entries and
9879text views, and buttons to choose the language.")
9880 (license license:gpl2+)))
d1d739fa
CM
9881
9882(define-public gnome-planner
9883 (package
9884 (name "gnome-planner")
9885 (version "0.14.6")
9886 (source (origin
9887 (method url-fetch)
9888 (uri (string-append "mirror://gnome/sources/planner/"
9889 (version-major+minor version) "/planner-"
9890 version ".tar.xz"))
9891 (sha256
9892 (base32
9893 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
9894 (build-system glib-or-gtk-build-system)
9895 (arguments
9896 ;; Disable the Python bindings because the Planner program functions
9897 ;; without them, and (as of 2017-06-13) we have not packaged all of
9898 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
9899 `(#:configure-flags
9900 (list "--disable-python"
9901 ,@(if (string=? "aarch64-linux" (%current-system))
9902 '("--build=aarch64-unknown-linux-gnu")
9903 '()))))
d1d739fa
CM
9904 (inputs
9905 `(("libgnomecanvas" ,libgnomecanvas)
9906 ("libgnomeui" ,libgnomeui)
9907 ("libglade" ,libglade)
9908 ("gnome-vfs" ,gnome-vfs)
9909 ("gconf" ,gconf)
9910 ("libxml2" ,libxml2)
9911 ("libxslt" ,libxslt)
9912 ("gtk+" ,gtk+)
9913 ("glib" ,glib)))
9914 (native-inputs
9915 `(("intltool" ,intltool)
9916 ("scrollkeeper" ,scrollkeeper)
9917 ("pkg-config" ,pkg-config)))
9918 (home-page "https://wiki.gnome.org/Apps/Planner")
9919 (synopsis "Project management software for the GNOME desktop")
9920 (description
9921 "GNOME Planner is a project management tool based on the Work Breakdown
9922Structure (WBS). Its goal is to enable you to easily plan projects. Based on
9923the resources, tasks, and constraints that you define, Planner generates
9924various views into a project. For example, Planner can show a Gantt chart of
9925the project. It can show a detailed summary of tasks including their
9926duration, cost, and current progress. It can also show a report of resource
9927utilization that highlights under-utilized and over-utilized resources. These
9928views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 9929 (license license:gpl2+)))
64fce637
RS
9930
9931(define-public lollypop
9932 (package
9933 (name "lollypop")
24b5d8f7 9934 (version "1.2.32")
64fce637
RS
9935 (source
9936 (origin
9937 (method url-fetch)
24b5d8f7 9938 (uri (string-append "https://adishatz.org/lollypop/"
3275d43d 9939 "lollypop-" version ".tar.xz"))
64fce637 9940 (sha256
24b5d8f7 9941 (base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a"))))
aa498fc0 9942 (build-system meson-build-system)
64fce637 9943 (arguments
7a9543d7
TGR
9944 `(#:imported-modules
9945 (,@%meson-build-system-modules
9946 (guix build python-build-system))
9947 #:modules
9948 ((guix build meson-build-system)
9949 ((guix build python-build-system) #:prefix python:)
9950 (guix build utils))
aa498fc0 9951 #:glib-or-gtk? #t
7a9543d7 9952 #:tests? #f ; no test suite
5fc9b6c1
EF
9953 #:phases
9954 (modify-phases %standard-phases
5fc9b6c1
EF
9955 (add-after 'install 'wrap-program
9956 (lambda* (#:key outputs #:allow-other-keys)
9957 (let ((out (assoc-ref outputs "out"))
9958 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
9959 (wrap-program (string-append out "/bin/lollypop")
9960 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
9961 #t))
8ac8b3b3 9962 (add-after 'install 'wrap-python
7a9543d7 9963 (assoc-ref python:%standard-phases 'wrap)))))
64fce637
RS
9964 (native-inputs
9965 `(("intltool" ,intltool)
9966 ("itstool" ,itstool)
aa498fc0
TD
9967 ("glib:bin" ,glib "bin") ; For glib-compile-resources
9968 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
9969 ("pkg-config" ,pkg-config)))
9970 (inputs
9971 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 9972 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 9973 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
9974 ("libnotify" ,libnotify)
9975 ("libsecret" ,libsecret)
9976 ("libsoup" ,libsoup)
9977 ("python" ,python)
9978 ("python-beautifulsoup4" ,python-beautifulsoup4)
9979 ("python-gst" ,python-gst)
d029afdd 9980 ("python-pil" ,python-pillow)
64fce637 9981 ("python-pycairo" ,python-pycairo)
cc9c83c5 9982 ("python-pygobject" ,python-pygobject)
64fce637
RS
9983 ("python-pylast" ,python-pylast)
9984 ("totem-pl-parser" ,totem-pl-parser)
9985 ("webkitgtk" ,webkitgtk)))
9986 (propagated-inputs
9987 `(;; gst-plugins-base is required to start Lollypop,
9988 ;; the others are required to play streaming.
64fce637
RS
9989 ("gst-plugins-good" ,gst-plugins-good)
9990 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 9991 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
9992 (synopsis "GNOME music playing application")
9993 (description
9994 "Lollypop is a music player designed to play well with GNOME desktop.
9995Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
9996from artists and tracks from the web. It also fetches cover artworks
9997automatically and it can stream songs from online music services and charts.")
9998 (license license:gpl3+)))
d831d49d
AW
9999
10000(define-public gnome-video-effects
10001 (package
10002 (name "gnome-video-effects")
10003 (version "0.4.3")
10004 (source (origin
10005 (method url-fetch)
10006 (uri (string-append "mirror://gnome/sources/" name "/"
10007 (version-major+minor version) "/" name "-"
10008 version ".tar.xz"))
10009 (sha256
10010 (base32
10011 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
10012 (build-system glib-or-gtk-build-system)
10013 (arguments
10014 `(#:out-of-source? #f))
10015 (native-inputs
10016 `(("glib:bin" ,glib "bin")
10017 ("intltool" ,intltool)
10018 ("gettext" ,gettext-minimal)
10019 ("pkg-config" ,pkg-config)))
10020 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
10021 (synopsis "Video effects for Cheese and other GNOME applications")
10022 (description
10023 "A collection of GStreamer video filters and effects to be used in
10024photo-booth-like software, such as Cheese.")
10025 (license license:gpl2+)))
3511c780
AW
10026
10027(define-public cheese
10028 (package
10029 (name "cheese")
3a7e066f 10030 (version "3.34.0")
3511c780
AW
10031 (source (origin
10032 (method url-fetch)
10033 (uri (string-append "mirror://gnome/sources/" name "/"
10034 (version-major+minor version) "/" name "-"
10035 version ".tar.xz"))
10036 (sha256
10037 (base32
3a7e066f 10038 "0wvyc9wb0avrprvm529m42y5fkv3lirdphqydc9jw0c8mh05d1ni"))))
3511c780 10039 (arguments
3a7e066f
KK
10040 `(#:glib-or-gtk? #t
10041 ;; Tests require GDK.
10042 #:tests? #f
3511c780
AW
10043 #:phases
10044 (modify-phases %standard-phases
3a7e066f 10045 (add-after 'unpack 'skip-gtk-update-icon-cache
3511c780
AW
10046 (lambda _
10047 ;; Don't create 'icon-theme.cache'
3a7e066f 10048 (substitute* "meson_post_install.py"
3511c780
AW
10049 (("gtk-update-icon-cache") (which "true")))
10050 #t))
10051 (add-after 'install 'wrap-cheese
10052 (lambda* (#:key inputs outputs #:allow-other-keys)
10053 (let ((out (assoc-ref outputs "out"))
10054 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
10055 (wrap-program (string-append out "/bin/cheese")
10056 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
10057 #t)))))
3a7e066f 10058 (build-system meson-build-system)
3511c780 10059 (native-inputs
3a7e066f
KK
10060 `(("docbook-xsl" ,docbook-xsl)
10061 ("glib:bin" ,glib "bin")
10062 ("gtk-doc" ,gtk-doc)
3511c780
AW
10063 ("intltool" ,intltool)
10064 ("itstool" ,itstool)
10065 ("libxml2" ,libxml2)
3a7e066f 10066 ("libxslt" ,libxslt)
3511c780
AW
10067 ("pkg-config" ,pkg-config)
10068 ("vala" ,vala)))
10069 (propagated-inputs
6a19f03e
RW
10070 `(("gnome-video-effects" ,gnome-video-effects)
10071 ("clutter" ,clutter)
3511c780
AW
10072 ("clutter-gst" ,clutter-gst)
10073 ("clutter-gtk" ,clutter-gtk)
6a19f03e 10074 ("libcanberra" ,libcanberra)
3511c780
AW
10075 ("gdk-pixbuf" ,gdk-pixbuf)
10076 ("glib" ,glib)
6a19f03e
RW
10077 ("gstreamer" ,gstreamer)))
10078 (inputs
10079 `(("gnome-desktop" ,gnome-desktop)
3511c780 10080 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
10081 ("gst-plugins-base" ,gst-plugins-base)
10082 ("gst-plugins-bad" ,gst-plugins-bad)
10083 ("gtk+" ,gtk+)
3511c780
AW
10084 ("libx11" ,libx11)
10085 ("libxtst" ,libxtst)))
10086 (home-page "https://wiki.gnome.org/Apps/Cheese")
10087 (synopsis "Webcam photo booth software for GNOME")
10088 (description
10089 "Cheese uses your webcam to take photos and videos. Cheese can also
10090apply fancy special effects and lets you share the fun with others.")
10091 (license license:gpl2+)))
3c5dbd2b 10092
10093(define-public sound-juicer
10094 (package
10095 (name "sound-juicer")
10096 (version "3.24.0")
10097 (source
10098 (origin
10099 (method url-fetch)
10100 (uri (string-append "mirror://gnome/sources/" name "/"
10101 (version-major+minor version) "/"
10102 name "-" version ".tar.xz"))
10103 (sha256
10104 (base32
10105 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
10106 (build-system glib-or-gtk-build-system)
10107 (native-inputs
10108 `(("desktop-file-utils" ,desktop-file-utils)
10109 ("intltool" ,intltool)
10110 ("itstool" ,itstool)
10111 ("pkg-config" ,pkg-config)
10112 ("xmllint" ,libxml2)))
10113 (inputs
10114 `(("gtk+" ,gtk+)
10115 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10116 ("gstreamer" ,gstreamer)
10117 ("gst-plugins-base" ,gst-plugins-base)
10118 ("gst-plugins-good" ,gst-plugins-good)
10119 ("iso-codes" ,iso-codes)
10120 ("libbrasero-media3" ,brasero)
10121 ("libcanberra" ,libcanberra)
10122 ("libdiscid" ,libdiscid)
10123 ("libmusicbrainz" ,libmusicbrainz)
10124 ("neon" ,neon)))
10125 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
10126 (synopsis "Audio music cd ripper")
10127 (description "Sound Juicer extracts audio from compact discs and convert it
10128into audio files that a personal computer or digital audio player can play.
10129It supports ripping to any audio codec supported by a GStreamer plugin, such as
10130mp3, Ogg Vorbis and FLAC")
10131 (license license:gpl2+)))
4e3fdeb7 10132
0d3f1708
CB
10133(define-public soundconverter
10134 (package
10135 (name "soundconverter")
7f4b45a3 10136 (version "3.0.2")
0d3f1708
CB
10137 (source
10138 (origin
10139 (method url-fetch)
10140 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
10141 version "/+download/"
10142 "soundconverter-" version ".tar.xz"))
10143
10144 (sha256
7f4b45a3 10145 (base32 "1jv8m82hi23ilrgdznlc1jhp2jm8bw1yrw0chh3qw2l0sixvkl11"))))
0d3f1708
CB
10146 (build-system glib-or-gtk-build-system)
10147 (arguments
10148 `(#:imported-modules ((guix build python-build-system)
10149 (guix build glib-or-gtk-build-system)
10150 ,@%gnu-build-system-modules)
10151
10152 #:modules ((guix build glib-or-gtk-build-system)
10153 (guix build utils)
10154 ((guix build gnu-build-system) #:prefix gnu:)
10155 ((guix build python-build-system) #:prefix python:))
10156
10157 #:phases
10158 (modify-phases %standard-phases
0d3f1708
CB
10159 (add-after 'install 'wrap-soundconverter-for-python
10160 (assoc-ref python:%standard-phases 'wrap))
10161 (add-after 'install 'wrap-soundconverter
10162 (lambda* (#:key inputs outputs #:allow-other-keys)
10163 (let ((out (assoc-ref outputs "out"))
10164 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
10165 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
10166 (wrap-program (string-append out "/bin/soundconverter")
10167 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
10168 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
10169 #t)))))
10170 (native-inputs
10171 `(("intltool" ,intltool)
10172 ("pkg-config" ,pkg-config)
10173 ("glib:bin" ,glib "bin")))
10174 (inputs
10175 `(("gtk+" ,gtk+)
10176 ("python" ,python)
10177 ("python-pygobject" ,python-pygobject)
10178 ("gstreamer" ,gstreamer)
10179 ("gst-plugins-base" ,gst-plugins-base)))
e42399e8 10180 (home-page "https://soundconverter.org/")
0d3f1708
CB
10181 (synopsis "Convert between audio formats with a graphical interface")
10182 (description
10183 "SoundConverter supports converting between many audio formats including
10184Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
10185configurable file renaming. ")
10186 (license license:gpl3)))
10187
4e3fdeb7 10188(define-public workrave
89f2d736
TGR
10189 (package
10190 (name "workrave")
52fc6508 10191 (version "1.10.42")
89f2d736
TGR
10192 (source
10193 (origin
10194 (method git-fetch)
10195 (uri (git-reference
b0e7b699 10196 (url "https://github.com/rcaelers/workrave")
c2e50474
TGR
10197 (commit (string-append "v" (string-map
10198 (match-lambda (#\. #\_) (chr chr))
10199 version)))))
89f2d736
TGR
10200 (file-name (git-file-name name version))
10201 (sha256
52fc6508 10202 (base32 "03i9kk8r1wgrfkkbwikx8wxaw4r4kn62vismr2zdq5g34fkkjh95"))))
89f2d736 10203 (build-system glib-or-gtk-build-system)
1b9e1648
TGR
10204 (arguments
10205 ;; The only tests are maintainer tests (in po/), which fail.
10206 `(#:tests? #f))
d1c96847
MC
10207 (inputs `(("glib" ,glib)
10208 ("gtk+" ,gtk+)
10209 ("gdk-pixbuf" ,gdk-pixbuf)
10210 ("gtkmm" ,gtkmm)
10211 ("glibmm" ,glibmm)
10212 ("libx11" ,libx11)
10213 ("libxtst" ,libxtst)
10214 ("dconf" ,dconf)
10215 ("libice" ,libice)
10216 ("libsm" ,libsm)
10217 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 10218 (native-inputs `(("boost" ,boost)
89f2d736 10219 ("pkg-config" ,pkg-config)
f2d97d57 10220 ("gettext" ,gettext-minimal)
89f2d736
TGR
10221 ("autoconf" ,autoconf)
10222 ("autoconf-archive" , autoconf-archive)
10223 ("automake" ,automake)
10224 ("libtool" ,libtool)
10225 ("intltool" ,intltool)
89f2d736 10226 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
10227 ("python3" ,python-3)
10228 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
10229 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
10230 (description
10231 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
10232repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
10233micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
10234 (home-page "http://www.workrave.org")
10235 (license license:gpl3+)))
312afa7d
LC
10236
10237(define-public ghex
10238 (package
10239 (name "ghex")
3748992a 10240 (version "3.18.4")
312afa7d
LC
10241 (source (origin
10242 (method url-fetch)
2fbab848 10243 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 10244 (version-major+minor version) "/"
2fbab848 10245 "ghex-" version ".tar.xz"))
312afa7d
LC
10246 (sha256
10247 (base32
3748992a
KK
10248 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
10249 (build-system meson-build-system)
10250 (arguments
10251 '(#:glib-or-gtk? #t
10252 #:phases
10253 (modify-phases %standard-phases
10254 (add-after 'unpack 'skip-gtk-update-icon-cache
10255 ;; Don't create 'icon-theme.cache'.
10256 (lambda _
10257 (substitute* "meson_post_install.py"
10258 (("gtk-update-icon-cache") (which "true")))
10259 #t)))))
312afa7d
LC
10260 (native-inputs
10261 `(("pkg-config" ,pkg-config)
3748992a 10262 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
10263 ("gnome-common" ,gnome-common)
10264 ("which" ,which)
10265 ("intltool" ,intltool)
10266 ("yelp-tools" ,yelp-tools)
2fbab848 10267 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
10268 (inputs
10269 `(("atk" ,atk)
10270 ("gtk" ,gtk+)))
10271 (synopsis "GNOME hexadecimal editor")
10272 (description "The GHex program can view and edit files in two ways:
10273hexadecimal or ASCII. It is useful for editing binary files in general.")
10274 (home-page "https://wiki.gnome.org/Apps/Ghex")
10275 (license license:gpl2)))
4b2ed6c2
RW
10276
10277(define-public libdazzle
10278 (package
10279 (name "libdazzle")
80260be4 10280 (version "3.37.1")
4b2ed6c2
RW
10281 (source (origin
10282 (method url-fetch)
687b4909 10283 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 10284 (version-major+minor version) "/"
687b4909 10285 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
10286 (sha256
10287 (base32
80260be4 10288 "03r5cr11dc031qa3694bpgm3lajrhiiln67kvl7vjj4q0scf7w7x"))))
4b2ed6c2
RW
10289 (build-system meson-build-system)
10290 (arguments
10291 `(#:phases
10292 (modify-phases %standard-phases
4b2ed6c2
RW
10293 (add-before 'check 'pre-check
10294 (lambda _
10295 ;; Tests require a running X server.
10296 (system "Xvfb :1 &")
10297 (setenv "DISPLAY" ":1")
10298 #t)))))
10299 (native-inputs
687b4909 10300 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 10301 ("pkg-config" ,pkg-config)
687b4909 10302 ;; For tests.
ff337525 10303 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
10304 (inputs
10305 `(("glib" ,glib)
10306 ("gobject-introspection" ,gobject-introspection)
10307 ("gtk+" ,gtk+)
10308 ("vala" ,vala)))
10309 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
10310 (synopsis "Companion library to GObject and Gtk+")
10311 (description "The libdazzle library is a companion library to GObject and
10312Gtk+. It provides various features that the authors wish were in the
10313underlying library but cannot for various reasons. In most cases, they are
10314wildly out of scope for those libraries. In other cases, they are not quite
10315generic enough to work for everyone.")
10316 (license license:gpl3+)))
7d3bb433
RW
10317
10318(define-public evolution
10319 (package
10320 (name "evolution")
0662fe86 10321 (version "3.34.2")
7d3bb433
RW
10322 (source (origin
10323 (method url-fetch)
10324 (uri (string-append "mirror://gnome/sources/evolution/"
10325 (version-major+minor version) "/"
10326 "evolution-" version ".tar.xz"))
10327 (sha256
10328 (base32
0662fe86 10329 "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c"))))
7d3bb433
RW
10330 (build-system cmake-build-system)
10331 (arguments
5229bea1
KK
10332 `(#:imported-modules (,@%cmake-build-system-modules
10333 (guix build glib-or-gtk-build-system))
10334 #:modules ((guix build cmake-build-system)
10335 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
10336 (guix build utils))
10337 #:configure-flags
7d3bb433 10338 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 10339 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 10340 ; in four years and cannot be built.
5229bea1
KK
10341 #:phases
10342 (modify-phases %standard-phases
10343 ;; The build system attempts to install user interface modules to the
10344 ;; output directory of the "evolution-data-server" package. This
10345 ;; change redirects that change.
10346 (add-after 'unpack 'patch-ui-module-dir
10347 (lambda* (#:key outputs #:allow-other-keys)
10348 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
10349 (("\\$\\{edsuimoduledir\\}")
10350 (string-append (assoc-ref outputs "out")
10351 "/lib/evolution-data-server/ui-modules")))
10352 #t))
10353 (add-after 'install 'glib-or-gtk-compile-schemas
10354 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
10355 (add-after 'install 'glib-or-gtk-wrap
10356 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 10357 (native-inputs
ad6e168b 10358 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
10359 ("pkg-config" ,pkg-config)
10360 ("intltool" ,intltool)
10361 ("itstool" ,itstool)))
10362 (inputs
10363 `(("enchant" ,enchant)
10364 ("evolution-data-server" ,evolution-data-server) ; must be the same version
10365 ("gcr" ,gcr)
ad6e168b 10366 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
10367 ("gnome-autoar" ,gnome-autoar)
10368 ("gnome-desktop" ,gnome-desktop)
0662fe86 10369 ("gspell" ,gspell)
7d3bb433
RW
10370 ("highlight" ,highlight)
10371 ("libcanberra" ,libcanberra)
10372 ("libgweather" ,libgweather)
10373 ("libnotify" ,libnotify)
10374 ("libsoup" ,libsoup)
10375 ("nss" ,nss)
10376 ("openldap" ,openldap)
10377 ("webkitgtk" ,webkitgtk)
10378 ("ytnef" ,ytnef)))
10379 (home-page "https://gitlab.gnome.org/GNOME/evolution")
10380 (synopsis "Manage your email, contacts and schedule")
10381 (description "Evolution is a personal information management application
10382that provides integrated mail, calendaring and address book
10383functionality.")
10384 ;; See COPYING for details.
23dbe621 10385 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 10386 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 10387 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
10388
10389(define-public gthumb
10390 (package
10391 (name "gthumb")
8280676b 10392 (version "3.8.2")
169d63f5
AT
10393 (source (origin
10394 (method url-fetch)
10395 (uri (string-append "mirror://gnome/sources/gthumb/"
10396 (version-major+minor version) "/"
10397 "gthumb-" version ".tar.xz"))
10398 (sha256
10399 (base32
8280676b 10400 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
10401 (build-system meson-build-system)
10402 (arguments
10403 `(#:glib-or-gtk? #t
10404 #:configure-flags
10405 ;; Ensure the RUNPATH contains all installed library locations.
10406 (list (string-append "-Dc_link_args=-Wl,-rpath="
10407 (assoc-ref %outputs "out")
10408 "/lib/gthumb/extensions")
10409 (string-append "-Dcpp_link_args=-Wl,-rpath="
10410 (assoc-ref %outputs "out")
10411 "/lib/gthumb/extensions"))))
10412 (native-inputs
10413 `(("pkg-config" ,pkg-config)
10414 ("glib:bin" ,glib "bin") ; for glib-compile-resources
10415 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
10416 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
10417 ("intltool" ,intltool)
10418 ("itstool" ,itstool)))
10419 (inputs
10420 `(("exiv2" ,exiv2)
10421 ("gtk" ,gtk+)
10422 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10423 ("gstreamer" ,gstreamer)
10424 ("clutter" ,clutter)
10425 ("clutter-gst" ,clutter-gst)
10426 ("clutter-gtk" ,clutter-gtk)
4bd428a7 10427 ("libjpeg" ,libjpeg-turbo)
169d63f5
AT
10428 ("libtiff" ,libtiff)
10429 ("libraw" ,libraw)))
10430 (home-page "https://wiki.gnome.org/Apps/Gthumb")
10431 (synopsis "GNOME image viewer and browser")
10432 (description "GThumb is an image viewer, browser, organizer, editor and
10433advanced image management tool")
10434 (license license:gpl2+)))
08be02be
AT
10435
10436(define-public terminator
10437 (package
10438 (name "terminator")
10439 (version "1.91")
10440 (source (origin
10441 (method url-fetch)
10442 (uri (string-append "https://launchpad.net/" name "/"
10443 "gtk3/" version "/" "+download/"
10444 name "-" version ".tar.gz"))
10445 (sha256
10446 (base32
10447 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
10448 (build-system python-build-system)
10449 (native-inputs
10450 `(("intltool" ,intltool)
10451 ("glib:bin" ,glib "bin") ; for glib-compile-resources
10452 ("gettext" ,gettext-minimal)
10453 ("pkg-config" ,pkg-config)))
10454 (inputs
10455 `(("cairo" ,cairo)
10456 ("gobject-introspection" ,gobject-introspection)
96681d4b 10457 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
10458 ("python2-pycairo" ,python2-pycairo)
10459 ("python2-pygobject" ,python2-pygobject)
10460 ("python2-psutil" ,python2-psutil)
10461 ("vte" ,vte)))
10462 (arguments
96681d4b
TGR
10463 `(#:python ,python-2 ; Python 3 isn't supported
10464 #:imported-modules ((guix build glib-or-gtk-build-system)
10465 ,@%python-build-system-modules)
10466 #:modules ((guix build python-build-system)
10467 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
10468 (guix build utils))
08be02be
AT
10469 #:phases
10470 (modify-phases %standard-phases
10471 (add-after
10472 'install 'wrap-program
10473 (lambda* (#:key outputs #:allow-other-keys)
10474 (let ((prog (string-append (assoc-ref outputs "out")
10475 "/bin/terminator")))
10476 (wrap-program prog
10477 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
10478 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
10479 #t)))
10480 (add-after 'wrap-program 'glib-or-gtk-wrap
10481 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
10482 (home-page "https://gnometerminator.blogspot.com/")
10483 (synopsis "Store and run multiple GNOME terminals in one window")
10484 (description
10485 "Terminator allows you to run multiple GNOME terminals in a grid and
10486+tabs, and it supports drag and drop re-ordering of terminals.")
10487 (license license:gpl2)))
213315d4
JF
10488
10489(define-public libhandy
10490 (package
10491 (name "libhandy")
ff4260d2 10492 (version "0.91.0")
213315d4
JF
10493 (source
10494 (origin
10495 (method git-fetch)
10496 (uri (git-reference
355761c2
LP
10497 (url "https://gitlab.gnome.org/GNOME/libhandy")
10498 (commit version)))
213315d4
JF
10499 (file-name (git-file-name name version))
10500 (sha256
ff4260d2 10501 (base32 "1n3ybx8qvr3n8ph252gy3dl3am7ryxkvplz9yp8nmzb57xbhc6fs"))))
213315d4
JF
10502 (build-system meson-build-system)
10503 (arguments
10504 `(#:configure-flags
10505 '("-Dglade_catalog=disabled"
10506 "-Dgtk_doc=true")
10507 #:phases
10508 (modify-phases %standard-phases
213315d4
JF
10509 (add-before 'check 'pre-check
10510 (lambda _
10511 ;; Tests require a running X server.
10512 (system "Xvfb :1 &")
10513 (setenv "DISPLAY" ":1")
10514 #t)))))
10515 (inputs
10516 `(("gtk+" ,gtk+)))
10517 (native-inputs
10518 `(("glib:bin" ,glib "bin")
10519 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
10520 ("vala" ,vala)
10521 ("gtk-doc" ,gtk-doc)
10522 ("pkg-config" ,pkg-config)
10523 ("gettext" ,gettext-minimal)
d41ee146
TGR
10524
10525 ;; Test suite dependencies.
ff337525 10526 ("xorg-server" ,xorg-server-for-tests)
d41ee146 10527 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
10528 (home-page "https://source.puri.sm/Librem5/libhandy")
10529 (synopsis "Library full of GTK+ widgets for mobile phones")
10530 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
10531interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
10532for usage on small and big screens.")
213315d4 10533 (license license:lgpl2.1+)))
a830d14d 10534
a790dfe8
LP
10535(define-public libhandy-0.0
10536 (package
10537 (inherit libhandy)
10538 (version "0.0.13")
10539 (source
10540 (origin
10541 (method git-fetch)
10542 (uri (git-reference
10543 (url "https://gitlab.gnome.org/GNOME/libhandy")
10544 (commit (string-append "v" version))))
10545 (file-name (git-file-name "libhandy" version))
10546 (sha256
10547 (base32 "1y23k623sjkldfrdiwfarpchg5mg58smcy1pkgnwfwca15wm1ra5"))))))
10548
a830d14d
GL
10549(define-public libgit2-glib
10550 (package
10551 (name "libgit2-glib")
6448c2e1 10552 (version "0.99.0.1")
a830d14d
GL
10553 (source (origin
10554 (method url-fetch)
10555 (uri (string-append "mirror://gnome/sources/" name "/"
10556 (version-major+minor version) "/"
10557 name "-" version ".tar.xz"))
10558 (sha256
10559 (base32
6448c2e1 10560 "1pmrcnsa7qdda73c3dxf47733mwprmj5ljpw3acxbj6r8k27anp0"))))
a830d14d
GL
10561 (build-system meson-build-system)
10562 (native-inputs
10563 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
10564 ("gobject-introspection" ,gobject-introspection)
a830d14d
GL
10565 ("pkg-config" ,pkg-config)
10566 ("python-pygobject" ,python-pygobject)
10567 ("python-wrapper" ,python-wrapper)
10568 ("vala" ,vala)))
10569 (inputs
10570 `(("glib" ,glib)
8c6aae46
MB
10571 ("libssh2" ,libssh2)))
10572 (propagated-inputs
10573 `(;; In Requires of libgit2-glib.pc.
a830d14d
GL
10574 ("libgit2" ,libgit2)))
10575 (synopsis "GLib wrapper around the libgit2 Git access library")
10576 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
10577access library. It only implements the core plumbing functions, not really the
10578higher level porcelain stuff.")
10579 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
10580 (license license:gpl2+)))
93beace0 10581
08db81c9
LP
10582(define-public gitg
10583 (package
10584 (name "gitg")
10585 (version "3.32.1")
10586 (source (origin
10587 (method url-fetch)
10588 (uri (string-append "mirror://gnome/sources/" name "/"
10589 (version-major+minor version) "/"
10590 name "-" version ".tar.xz"))
10591 (sha256
10592 (base32
10593 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
10594 (build-system meson-build-system)
10595 (arguments
10596 `(#:glib-or-gtk? #t
10597 #:phases
10598 (modify-phases %standard-phases
10599 (add-after 'unpack 'disable-post-install-partially
10600 (lambda _
10601 (substitute* "meson_post_install.py"
10602 (("'python'") ; there are no python sources to compile
10603 (string-append "'" (which "true") "'"))
10604 (("gtk-update-icon-cache") (which "true")))
10605 #t))
10606 (add-after 'unpack 'fix-test-sources
10607 (lambda _
10608 (substitute* "tests/libgitg/test-commit.vala"
10609 (("/bin/bash") (which "bash")))
10610 #t))
10611 (add-after 'glib-or-gtk-wrap 'wrap-typelib
10612 (lambda* (#:key outputs #:allow-other-keys)
10613 (let ((prog (string-append (assoc-ref outputs "out")
10614 "/bin/gitg")))
10615 (wrap-program prog
10616 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
10617 #t))))))
10618 (inputs
10619 `(("glib" ,glib)
10620 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10621 ("gtk+" ,gtk+)
10622 ("gtkspell3" ,gtkspell3)
10623 ("gtksourceview" ,gtksourceview-3)
10624 ("json-glib" ,json-glib)
10625 ("libdazzle" ,libdazzle)
10626 ("libgee" ,libgee)
08db81c9
LP
10627 ("libgit2-glib" ,libgit2-glib)
10628 ("libpeas" ,libpeas)
10629 ("libsecret" ,libsecret)
10630 ("libsoup" ,libsoup)
10631 ("libxml2" ,libxml2)))
10632 (native-inputs
10633 `(("glib:bin" ,glib "bin")
10634 ("gtk+:bin" ,gtk+ "bin")
10635 ("gobject-introspection" ,gobject-introspection)
10636 ("intltool" ,intltool)
10637 ("pkg-config" ,pkg-config)
10638 ("vala" ,vala)))
10639 (synopsis "Graphical user interface for git")
10640 (description
10641 "gitg is a graphical user interface for git. It aims at being a small,
10642fast and convenient tool to visualize the history of git repositories.
10643Besides visualization, gitg also provides several utilities to manage your
10644repository and commit your work.")
10645 (home-page "https://wiki.gnome.org/Apps/Gitg")
10646 (license license:gpl2+)))
10647
1e600ed0
RW
10648(define-public gamin
10649 (package
10650 (name "gamin")
10651 (version "0.1.10")
10652 (source (origin
10653 (method url-fetch)
10654 (uri (string-append "mirror://gnome/sources/" name "/"
10655 (version-major+minor version) "/"
10656 name "-" version ".tar.bz2"))
10657 (sha256
10658 (base32
10659 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
10660 (build-system gnu-build-system)
10661 (arguments
10662 `(#:phases
10663 (modify-phases %standard-phases
10664 (add-after 'unpack 'remove-deprecated-macro
10665 (lambda _
10666 (substitute* '("server/gam_node.c"
10667 "server/gam_subscription.h"
10668 "server/gam_node.h"
10669 "server/gam_subscription.c")
10670 (("G_CONST_RETURN") "const"))
10671 #t)))))
10672 (inputs
10673 `(("glib" ,glib)))
10674 (native-inputs
10675 `(("intltool" ,intltool)
10676 ("pkg-config" ,pkg-config)))
10677 (home-page "https://people.gnome.org/~veillard/gamin/")
10678 (synopsis "File alteration monitor")
10679 (description
10680 "Gamin is a file and directory monitoring system defined to be a subset
10681of the FAM (File Alteration Monitor) system. This is a service provided by a
bddd877f 10682library which detects when a file or a directory has been modified.")
1e600ed0
RW
10683 (license license:gpl2+)))
10684
93beace0
DW
10685(define-public gnome-mahjongg
10686 (package
10687 (name "gnome-mahjongg")
10688 (version "3.35.1")
10689 (source (origin
10690 (method git-fetch)
10691 (uri (git-reference
10692 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
10693 (commit version)))
10694 (file-name (git-file-name name version))
10695 (sha256
10696 (base32
10697 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
10698 (build-system meson-build-system)
10699 (arguments
10700 `(#:glib-or-gtk? #t))
10701 (native-inputs
10702 `(("appstream-glib" ,appstream-glib)
10703 ("gettext" ,gettext-minimal)
10704 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
10705 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
10706 ("itstool" ,itstool)
10707 ("pkg-config" ,pkg-config)
10708 ("vala" ,vala)))
10709 (propagated-inputs
10710 `(("dconf" ,dconf)))
10711 (inputs
10712 `(("glib" ,glib)
10713 ("gtk+" ,gtk+)
10714 ("librsvg" ,librsvg)))
10715 (synopsis "Mahjongg tile-matching game")
10716 (description "GNOME Mahjongg is a game based on the classic Chinese
10717tile-matching game Mahjong. It features multiple board layouts, tile themes,
10718and a high score table.")
10719 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
10720 (license license:gpl2+)))
f825476c 10721
76ea7632
RG
10722(define-public gnome-themes-extra
10723 (package
10724 (name "gnome-themes-extra")
10725 (version "3.28")
10726 (source
10727 (origin
10728 (method url-fetch)
10729 (uri (string-append "mirror://gnome/sources/" name "/"
10730 (version-major+minor version) "/" name "-"
10731 version ".tar.xz"))
10732 (sha256
10733 (base32
10734 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
10735 (build-system gnu-build-system)
885424bf
RG
10736 (arguments
10737 '(#:configure-flags
10738 ;; Don't create 'icon-theme.cache'.
10739 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
10740 (true (string-append coreutils "/bin/true")))
10741 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
10742 (native-inputs
10743 `(("glib:bin" ,glib "bin")
10744 ("intltool" ,intltool)
10745 ("pkg-config" ,pkg-config)))
10746 (inputs
10747 `(("glib" ,glib)
10748 ("gtk+" ,gtk+)
10749 ("gtk+-2" ,gtk+-2)
10750 ("librsvg" ,librsvg)
10751 ("libxml2" ,libxml2)))
10752 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
10753 (synopsis "GNOME Extra Themes")
10754 (description "This package provides themes and related elements that don't
10755really fit in other upstream packages. It offers legacy support for GTK+ 2
10756versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
10757index files needed for Adwaita to be used outside of GNOME.")
10758 (license license:lgpl2.1+)))
10759
f825476c
LP
10760(define-public polari
10761 (package
10762 (name "polari")
c6a7ae4f 10763 (version "3.36.3")
f825476c
LP
10764 (source (origin
10765 (method url-fetch)
10766 (uri (string-append "mirror://gnome/sources/polari/"
10767 (version-major+minor version)
10768 "/polari-" version ".tar.xz"))
10769 (sha256
10770 (base32
c6a7ae4f 10771 "0fpmrvhd40yay051bzn4x3gsrzdv42nav0pm5ps0np8wk1z689jg"))))
f825476c
LP
10772 (build-system meson-build-system)
10773 (arguments
10774 `(#:glib-or-gtk? #t
10775 #:phases
10776 (modify-phases %standard-phases
10777 (add-after 'unpack 'skip-gtk-update-icon-cache
10778 (lambda _
10779 (substitute* "meson/meson-postinstall.sh"
10780 (("gtk-update-icon-cache") (which "true")))
10781 #t))
10782 (add-after 'glib-or-gtk-wrap 'wrap-typelib
10783 (lambda* (#:key outputs #:allow-other-keys)
10784 (let ((prog (string-append (assoc-ref outputs "out")
10785 "/bin/polari")))
10786 (wrap-program prog
10787 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
10788 #t))))))
10789 (inputs
10790 `(("glib" ,glib)
10791 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10792 ("gspell" ,gspell)
10793 ("gtk+" ,gtk+)
10794 ("gjs" ,gjs)
10795 ("libsecret" ,libsecret)
10796 ("libsoup" ,libsoup)
10797 ("telepathy-glib" ,telepathy-glib)
10798 ("telepathy-logger" ,telepathy-logger)))
10799 (native-inputs
10800 `(("glib:bin" ,glib "bin")
10801 ("gobject-introspection" ,gobject-introspection)
10802 ("intltool" ,intltool)
10803 ("pkg-config" ,pkg-config)
10804 ("yelp-tools" ,yelp-tools)))
10805 (propagated-inputs
10806 `(("telepathy-idle" ,telepathy-idle)
10807 ("telepathy-mission-control" ,telepathy-mission-control)))
10808 (synopsis "Simple IRC Client")
10809 (description
10810 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
10811integrate seamlessly with the GNOME desktop.")
10812 (home-page "https://wiki.gnome.org/Apps/Polari")
10813 (license license:gpl2+)))
59d4c8c2
PN
10814
10815(define-public gnome-boxes
10816 (package
10817 (name "gnome-boxes")
915c2ad3 10818 (version "3.36.6")
59d4c8c2
PN
10819 (source
10820 (origin
10821 (method url-fetch)
10822 (uri (string-append "mirror://gnome/sources/gnome-boxes/"
10823 (version-major+minor version) "/"
10824 "gnome-boxes-" version ".tar.xz"))
10825 (sha256
915c2ad3 10826 (base32 "0c3cw90xqqcpacc2z06ljs0gg8saxizfgjzg9alhpwgz3gl4c5pg"))))
59d4c8c2
PN
10827 (build-system meson-build-system)
10828 (arguments
10829 '(#:glib-or-gtk? #t
10830 #:configure-flags (list "-Drdp=false"
10831 (string-append "-Dc_link_args=-Wl,-rpath="
10832 (assoc-ref %outputs "out")
10833 "/lib/gnome-boxes"))))
10834 (native-inputs
10835 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
10836 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
10837 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
10838 ("itstool" ,itstool)
10839 ("intltool" ,intltool)
10840 ("vala" ,vala)
10841 ("pkg-config" ,pkg-config)))
10842 (inputs
10843 `(("libarchive" ,libarchive)
f0d7897e
MC
10844 ("glib-networking" ,glib-networking) ;for TLS support
10845 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
59d4c8c2
PN
10846 ("gtk" ,gtk+)
10847 ("gtk-vnc" ,gtk-vnc)
10848 ("libosinfo" ,libosinfo)
10849 ("libsecret" ,libsecret)
10850 ("libsoup" ,libsoup)
10851 ("libusb" ,libusb)
10852 ("libvirt" ,libvirt)
10853 ("libvirt-glib" ,libvirt-glib)
10854 ("libxml" ,libxml2)
10855 ("spice-gtk" ,spice-gtk)
10856 ("sparql-query" ,sparql-query)
10857 ("vte" ,vte)
10858 ("webkitgtk" ,webkitgtk)
10859 ("tracker" ,tracker)
10860 ("libgudev" ,libgudev)))
10861 (home-page "https://wiki.gnome.org/Apps/Boxes")
10862 (synopsis "View, access, and manage remote and virtual systems")
10863 (description "GNOME Boxes is a simple application to view, access, and
f0d7897e
MC
10864manage remote and virtual systems. Note that this application requires the
10865@code{libvirt} and @code{virtlog} daemons to run. Use the command
10866@command{info '(guix) Virtualization Services'} to learn how to configure
10867these services on the Guix System.")
59d4c8c2
PN
10868 (license (list
10869 ;; For data/icons/empty-boxes.png.
10870 license:cc-by2.0
10871 ;; For all others.
10872 license:lgpl2.0+))))
0e26c3cf 10873
10874(define-public geary
10875 (package
10876 (name "geary")
10877 (version "3.34.1")
10878 (source (origin
10879 (method git-fetch)
10880 (uri (git-reference
10881 (url "https://gitlab.gnome.org/GNOME/geary")
10882 (commit version)))
10883 (file-name (git-file-name name version))
10884 (sha256
10885 (base32
10886 "01cc921kyh3zxz07biqbdzkjgmdcc36kwjyajm4y382a75cl5zg7"))))
10887 (build-system meson-build-system)
10888 (arguments
10889 `(#:glib-or-gtk? #t
10890 #:phases (modify-phases %standard-phases
10891 (add-after 'unpack 'disable-failing-tests
10892 (lambda _
10893 (substitute* "test/meson.build"
10894 (("test\\('client-tests', geary_test_client_bin\\)")
10895 ""))
10896 #t))
10897 (add-after 'unpack 'disable-postinstall-script
10898 (lambda _
10899 (substitute* "meson.build"
10900 (("meson.add_install_script\\(\
10901join_paths\\('build-aux', 'post_install.py'\\)\\)")
10902 ""))
10903 #t))
10904 (add-before 'check 'setup-xvfb
10905 (lambda _
10906 (system "Xvfb :1 &")
10907 (setenv "DISPLAY" ":1")
10908 #t)))))
10909 (inputs
10910 `(("enchant" ,enchant)
10911 ("folks" ,folks)
10912 ("gcr" ,gcr)
10913 ("glib" ,glib)
10914 ("gmime" ,gmime-2.6)
10915 ("gnome-online-accounts:lib"
10916 ,gnome-online-accounts "lib")
10917 ("gspell" ,gspell)
10918 ("gtk+" ,gtk+)
10919 ("iso-codes" ,iso-codes)
10920 ("json-glib" ,json-glib)
10921 ("libcanberra" ,libcanberra)
10922 ("libgee" ,libgee)
a790dfe8 10923 ("libhandy" ,libhandy-0.0)
0e26c3cf 10924 ("libpeas" ,libpeas)
10925 ("libsecret" ,libsecret)
10926 ("libunwind" ,libunwind)
10927 ("sqlite" ,sqlite)
10928 ("webkitgtk" ,webkitgtk)
10929 ("ytnef" ,ytnef)))
10930 (native-inputs
10931 `(("appstream-glib" ,appstream-glib)
10932 ("cmake-minimal" ,cmake-minimal)
10933 ("desktop-file-utils" ,desktop-file-utils)
f2d97d57 10934 ("gettext" ,gettext-minimal)
0e26c3cf 10935 ("glib:bin" ,glib "bin")
10936 ("gobject-introspection" ,gobject-introspection)
10937 ("itstool" ,itstool)
10938 ("libarchive" ,libarchive)
10939 ("libxml2" ,libxml2)
10940 ("pkg-config" ,pkg-config)
10941 ("vala" ,vala)
10942 ("xvfb" ,xorg-server-for-tests)))
10943 (synopsis "GNOME email application built around conversations")
10944 (description
10945 "Geary collects related messages together into conversations,
10946making it easy to find and follow your discussions. Full-text and keyword
10947search makes it easy to find the email you are looking for. Geary's
10948full-featured composer lets you send rich, styled text with images, links, and
10949lists, but also send lightweight, easy to read text messages. Geary
10950automatically picks up your existing GNOME Online Accounts, and adding more is
10951easy. Geary has a clean, fast, modern interface that works like you want it
10952to.")
10953 (home-page "https://wiki.gnome.org/Apps/Geary")
10954 (license (list
10955 ;; geary
10956 license:lgpl2.1+
10957 ;; icons
10958 license:cc-by3.0
10959 license:cc-by-sa3.0
10960 license:public-domain
10961 ;; snowball
10962 license:bsd-2))))
1a17d21b 10963
21051eb7
VM
10964(define-public glabels
10965 (package
10966 (name "glabels")
10967 (version "3.4.1")
10968 (source
10969 (origin
10970 (method url-fetch)
10971 (uri (string-append "mirror://gnome/sources/" name "/"
10972 (version-major+minor version) "/"
10973 "glabels-" version ".tar.xz"))
10974 (sha256
10975 (base32 "0f2rki8i27pkd9r0gz03cdl1g4vnmvp0j49nhxqn275vi8lmgr0q"))))
10976 (build-system glib-or-gtk-build-system)
10977 (native-inputs
10978 `(("gettext" ,gettext-minimal)
10979 ("glib:bin" ,glib "bin")
10980 ("intltool" ,intltool)
10981 ("itstool" ,itstool)
10982 ("pkg-config" ,pkg-config)))
10983 (inputs
10984 `(("gtk+" ,gtk+)
10985 ("librsvg" ,librsvg)
10986 ("libxml2" ,libxml2)))
10987 (home-page "https://glabels.org/")
10988 (synopsis "Program for creating labels and business cards")
10989 (description
10990 "gLabels is a program for creating labels and business cards. It is
10991designed to work with various laser/ink-jet peel-off label and business
10992card sheets that you’ll find at most office supply stores.")
10993 (license license:gpl3+)))
10994
2cd1de32
BT
10995(define-public libratbag
10996 (package
10997 (name "libratbag")
34036792 10998 (version "0.14")
2cd1de32
BT
10999 (source
11000 (origin
11001 (method git-fetch)
11002 (uri (git-reference
b0e7b699 11003 (url "https://github.com/libratbag/libratbag")
2cd1de32
BT
11004 (commit (string-append "v" version))))
11005 (file-name (git-file-name name version))
11006 (sha256
34036792 11007 (base32 "1fpwp2sj8mf98bqasq2h8qwgprxi7k3iw33gcfid3d1lbyiacw0x"))))
2cd1de32
BT
11008 (build-system meson-build-system)
11009 (arguments
11010 `(#:configure-flags
11011 (list "-Dsystemd=false"
11012 "-Dlogind-provider=elogind")
11013 #:phases
11014 (modify-phases %standard-phases
11015 (add-after 'install 'wrap
11016 (lambda* (#:key inputs outputs #:allow-other-keys)
11017 (let* ((out (assoc-ref outputs "out"))
11018 (site (string-append
11019 "/lib/python"
11020 ,(version-major+minor (package-version python))
11021 "/site-packages"))
11022 (evdev (string-append
11023 (assoc-ref inputs "python-evdev") site))
11024 (pygo (string-append
11025 (assoc-ref inputs "python-pygobject") site))
11026 (python-wrap
11027 `("PYTHONPATH" = (,evdev ,pygo))))
11028 (wrap-program (string-append out "/bin/" "ratbagctl")
11029 python-wrap)
11030 #t))))))
11031 (native-inputs
11032 `(("check" ,check)
11033 ("pkg-config" ,pkg-config)
11034 ("swig" ,swig)
11035 ("valgrind" ,valgrind)))
11036 (inputs
11037 `(("glib" ,glib)
11038 ("json-glib" ,json-glib)
11039 ("libevdev" ,libevdev)
11040 ("libsystemd" ,elogind)
11041 ("libunistring" ,libunistring)
11042 ("python-evdev" ,python-evdev)
11043 ("python-pygobject" ,python-pygobject)
11044 ("udev" ,eudev)))
11045 (home-page "https://github.com/libratbag/libratbag")
11046 (synopsis "DBus daemon and utility for configuring gaming mice")
11047 (description "libratbag provides @command{ratbagd}, a DBus daemon to
11048configure input devices, mainly gaming mice. The daemon provides a generic
11049way to access the various features exposed by these mice and abstracts away
11050hardware-specific and kernel-specific quirks. There is also the
11051@command{ratbagctl} command line interface for configuring devices.
11052
11053libratbag currently supports devices from Logitech, Etekcity, GSkill, Roccat,
11054Steelseries.
11055
11056The ratbagd DBus service can be enabled by adding the following service to
11057your operating-system definition:
11058
11059 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
11060 (license license:expat)))
11061
50d31a40
BT
11062(define-public piper
11063 (package
11064 (name "piper")
d8e83969 11065 (version "0.5.1")
50d31a40
BT
11066 (source
11067 (origin
11068 (method git-fetch)
11069 (uri (git-reference
b0e7b699 11070 (url "https://github.com/libratbag/piper")
50d31a40
BT
11071 (commit version)))
11072 (sha256
d8e83969 11073 (base32 "1nfjnsiwg2rs6gkjsxzhr2708i6di149dgwq3cf6l12rxqpb8arj"))
81af0de9 11074 (file-name (git-file-name name version))))
50d31a40
BT
11075 (build-system meson-build-system)
11076 (native-inputs
11077 `(("gettext" ,gettext-minimal)
11078 ("glib:bin" ,glib "bin")
11079 ("gobject-introspection" ,gobject-introspection)
11080 ("pkg-config" ,pkg-config)
11081 ("python-flake8" ,python-flake8)))
11082 (inputs
11083 `(("adwaita-icon-theme" ,adwaita-icon-theme)
11084 ("gtk" ,gtk+)
11085 ("gtk:bin" ,gtk+ "bin")
11086 ("librsvg" ,librsvg)
11087 ("python-evdev" ,python-evdev)
11088 ("python-lxml" ,python-lxml)
11089 ("python-pycairo" ,python-pycairo)
11090 ("python-pygobject" ,python-pygobject)))
11091 (arguments
11092 `(#:imported-modules ((guix build python-build-system)
11093 ,@%meson-build-system-modules)
11094 #:modules (((guix build python-build-system) #:prefix python:)
11095 (guix build meson-build-system)
11096 (guix build utils))
d8e83969 11097 #:tests? #f ;; The flake8 test fails trying to validate piper.in as code.
50d31a40
BT
11098 #:phases
11099 (modify-phases %standard-phases
11100 (add-after 'unpack 'dont-update-gtk-icon-cache
11101 (lambda _
11102 (substitute* "meson.build"
11103 (("meson.add_install_script('meson_install.sh')") ""))
11104 #t))
11105 ;; TODO: Switch to wrap-script when it is fixed.
11106 (add-after 'install 'wrap-python
11107 (assoc-ref python:%standard-phases 'wrap))
11108 (add-after 'wrap-python 'wrap
11109 (lambda* (#:key outputs #:allow-other-keys)
11110 (wrap-program
11111 (string-append (assoc-ref outputs "out" )"/bin/piper")
11112 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
11113 #t)))))
11114 (home-page "https://github.com/libratbag/piper/")
11115 (synopsis "Configure bindings and LEDs on gaming mice")
11116 (description "Piper is a GTK+ application for configuring gaming mice with
11117onboard configuration for key bindings via libratbag. Piper requires
11118a @command{ratbagd} daemon running with root privileges. It can be run
11119manually as root, but is preferably configured as a DBus service that can
11120launch on demand. This can be configured by enabling the following service,
11121provided there is a DBus service present:
11122
11123 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
11124 (license license:gpl2)))
11125
1a17d21b 11126(define-public parlatype
c10fb9fd
NG
11127 (package
11128 (name "parlatype")
11129 (version "2.1")
11130 (source
11131 (origin
11132 (method git-fetch)
11133 (uri (git-reference
11134 (url "https://github.com/gkarsay/parlatype.git")
11135 (commit (string-append "v" version))))
11136 (file-name (git-file-name name version))
11137 (sha256
11138 (base32 "1c15ja0rwz3jj8bnqdq0nmqka39iwrhy8krdv2a2x8nl4shfpmv0"))))
11139 (build-system meson-build-system)
11140 (arguments
11141 `(#:glib-or-gtk? #t
11142 #:tests? #f ;require internet access
11143 #:phases
11144 (modify-phases %standard-phases
11145 (add-after 'install 'wrap-parlatype
11146 ;; Add gstreamer plugin provided in this package to system's
11147 ;; plugins.
11148 (lambda* (#:key outputs #:allow-other-keys)
11149 (let* ((out (assoc-ref outputs "out"))
11150 (gst-plugin-path (string-append
11151 out "/lib/gstreamer-1.0/"
11152 ":"
11153 (getenv "GST_PLUGIN_SYSTEM_PATH"))))
11154 (wrap-program (string-append out "/bin/parlatype")
11155 `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path))))
11156 #t)))))
11157 (native-inputs
11158 `(("appstream-glib" ,appstream-glib)
11159 ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
11160 ("gettext" ,gettext-minimal)
11161 ("glib" ,glib "bin") ;for glib-compile-resources
11162 ("pkg-config" ,pkg-config)
11163 ("yelp-tools" ,yelp-tools)))
11164 (inputs
11165 `(("gst-plugins-base" ,gst-plugins-base)
11166 ("gst-plugins-good" ,gst-plugins-good)
11167 ("gstreamer" ,gstreamer)
11168 ("gtk+" ,gtk+)
11169 ("pocketsphinx" ,pocketsphinx)
11170 ("pulseaudio" ,pulseaudio)
11171 ("sphinxbase" ,sphinxbase)))
11172 (home-page "http://gkarsay.github.io/parlatype/")
11173 (synopsis "GNOME audio player for transcription")
11174 (description "Parlatype is an audio player for the GNOME desktop
1a17d21b
NG
11175environment. Its main purpose is the manual transcription of spoken
11176audio files.")
c10fb9fd 11177 (license license:gpl3+)))
95856a6e
AT
11178
11179(define-public jsonrpc-glib
11180 (package
11181 (name "jsonrpc-glib")
11182 (version "3.34.0")
11183 (source (origin
11184 (method url-fetch)
11185 (uri (string-append "mirror://gnome/sources/" name "/"
11186 (version-major+minor version) "/"
11187 name "-" version ".tar.xz"))
11188 (sha256
11189 (base32
11190 "0j05x4xv2cp3cbmp30m68z8g4rdw7b030ip4wszyfj9ya15v5kni"))))
11191 (build-system meson-build-system)
11192 (inputs
11193 `(("json-glib" ,json-glib)
11194 ("glib" ,glib)))
11195 (native-inputs
11196 `(("pkg-config" ,pkg-config)
11197 ("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
11198 ("gobject-introspection" ,gobject-introspection)
11199 ("vala" ,vala)))
11200 (home-page "https://gitlab.gnome.org/GNOME/jsonrpc-glib")
11201 (synopsis "JSON-RPC library for GLib")
11202 (description "Jsonrpc-GLib is a library to communicate with JSON-RPC based
11203peers in either a synchronous or asynchronous fashion. It also allows
11204communicating using the GVariant serialization format instead of JSON when
11205both peers support it. You might want that when communicating on a single
11206host to avoid parser overhead and memory-allocator fragmentation.")
11207 (license license:lgpl2.1+)))
0faed399
JB
11208
11209(define-public feedbackd
11210 (package
11211 (name "feedbackd")
11212 (version "0.0.0+git20200527")
11213 (source (origin
11214 (method git-fetch)
11215 (uri (git-reference
11216 (url "https://source.puri.sm/Librem5/feedbackd.git")
11217 (commit (string-append "v" version))))
11218 (file-name (git-file-name name version))
11219 (sha256
11220 (base32
11221 "1wbkzxnqjydfgjvp7vz4ghczcz740zcb1yn90cb6gb5md4n6qx2y"))))
11222 (build-system meson-build-system)
11223 (native-inputs
11224 `(("glib:bin" ,glib "bin")
11225 ("gobject-introspection" ,gobject-introspection)
11226 ("pkg-config" ,pkg-config)
11227 ("vala" ,vala)))
11228 (inputs
11229 `(("dbus" ,dbus)
11230 ("gsound" ,gsound)
11231 ("json-glib" ,json-glib)
11232 ("libgudev" ,libgudev)))
11233 (propagated-inputs
11234 `(("glib" ,glib))) ; in Requires of libfeedback-0.0.pc
11235 (synopsis "Haptic/visual/audio feedback via DBus")
11236 (description "Feedbackd provides a DBus daemon to act on events to provide
11237haptic, visual and audio feedback. It offers the libfeedbackd library and
11238GObject introspection bindings.")
11239 (home-page "https://source.puri.sm/Librem5/feedbackd")
11240 (license (list license:lgpl2.1+ ; libfeedbackd
11241 license:lgpl3+)))) ; the rest
dcb4f7b7
LP
11242
11243(define-public sysprof
11244 (package
11245 (name "sysprof")
f9812690
TGR
11246 (version "3.36.0")
11247 (source
11248 (origin
11249 (method url-fetch)
11250 (uri (string-append "mirror://gnome/sources/sysprof/"
11251 (version-major+minor version) "/"
11252 "sysprof-" version ".tar.xz"))
11253 (sha256
11254 (base32 "024i0gzqnm79rpr4gqxdvcj6gvf82xdlcp2p1k9ikcppmi6xnw46"))))
dcb4f7b7
LP
11255 (build-system meson-build-system)
11256 (arguments
11257 `(#:configure-flags
11258 (list (string-append "-Dsystemdunitdir="
11259 %output
11260 "/share/systemd"))
11261 #:tests? #f ; 3/4 test-model-filter barfs some dbus nonsense
11262 #:phases
11263 (modify-phases %standard-phases
11264 (add-after 'unpack 'patch-install-script
11265 (lambda _
11266 (substitute* "build-aux/meson/post_install.sh"
11267 (("gtk-update-icon-cache") "true")
11268 (("update-desktop-database") "true"))
11269 #t)))))
11270 (inputs
11271 `(("glib" ,glib)
11272 ("gtk+" ,gtk+)
11273 ("libdazzle" ,libdazzle)
11274 ("polkit" ,polkit)))
11275 (native-inputs
11276 `(("gettext" ,gettext-minimal)
11277 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
11278 ("itstool" ,itstool)
11279 ("pkg-config" ,pkg-config)
11280 ("xmllint" ,libxml2)))
b478c9b0
TGR
11281 ;; This home page is so woefully out of date as to be essentially useless.
11282 ;; (home-page "http://www.sysprof.com")
11283 (home-page "https://wiki.gnome.org/Apps/Sysprof")
95cd53c1
TGR
11284 (synopsis "System-wide performance profiler for GNU/Linux")
11285 (description
11286 "Sysprof performs detailed, accurate, and fast CPU profiling of an entire
11287GNU/Linux system including the kernel and all user-space applications. This
11288helps find the function(s) in which a program spends most of its time.
11289
11290It uses the kernel's built-in @code{ptrace} feature and handles shared
11291libraries. Applications do not need to be recompiled--or even restarted.")
dcb4f7b7 11292 (license license:gpl3+)))
683cac58
LP
11293
11294(define-public gnome-builder
11295 (package
11296 (name "gnome-builder")
11297 (version "3.36.1")
11298 (source (origin
11299 (method url-fetch)
11300 (uri (string-append "mirror://gnome/sources/" name "/"
11301 (version-major+minor version) "/"
11302 name "-" version ".tar.xz"))
11303 (sha256
11304 (base32
11305 "17pvmd5jypar8dkr6w56hvf7jnq4l1wih2wwgkrv7sblr7rkkar2"))))
11306 (build-system meson-build-system)
11307 (arguments
11308 `(#:configure-flags (list "-Dnetwork_tests=false"
11309 ;; TODO: Enable all plugins...
11310 "-Dplugin_clang=false"
11311 "-Dplugin_flatpak=false"
11312 "-Dplugin_glade=false"
11313 ;; ... except this one.
11314 "-Dplugin_update_manager=false")
11315 #:phases
11316 (modify-phases %standard-phases
11317 (add-after 'unpack 'patch-meson
11318 (lambda* (#:key inputs #:allow-other-keys)
11319 (substitute* "build-aux/meson/post_install.py"
11320 (("gtk-update-icon-cache") "true")
11321 (("update-desktop-database") "true"))
11322 (substitute* "src/libide/meson.build"
11323 (("/usr/lib")
11324 (string-append (assoc-ref inputs "python-pygobject")
11325 "/lib")))
11326 #t))
11327 (add-before 'check 'pre-check
11328 (lambda _
11329 (system "Xvfb :1 &")
11330 (setenv "DISPLAY" ":1")
11331 #t)))))
11332 (inputs
11333 `(("devhelp" ,devhelp)
11334 ("gspell" ,gspell)
11335 ("gtk+" ,gtk+)
11336 ("json-glib" ,json-glib)
11337 ("jsonrpc-glib" ,jsonrpc-glib)
11338 ("libdazzle" ,libdazzle)
11339 ("libgit2-glib" ,libgit2-glib)
11340 ("libpeas" ,libpeas)
11341 ("python-pygobject" ,python-pygobject)
11342 ("sysprof" ,sysprof)
11343 ("template-glib" ,template-glib)
11344 ("vte" ,vte)
11345 ("webkitgtk" ,webkitgtk)))
11346 (propagated-inputs
11347 `(("gtksourceview" ,gtksourceview))) ;needed for settings
11348 (native-inputs
11349 `(("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
11350 ("glib:bin" ,glib "bin")
11351 ("gettext" ,gettext-minimal)
11352 ("pkg-config" ,pkg-config)
11353 ("vala" ,vala)
11354 ("xorg-server" ,xorg-server-for-tests)))
11355 (home-page "https://wiki.gnome.org/Apps/Builder")
11356 (synopsis "Toolsmith for GNOME-based applications")
876d022c
LC
11357 (description "Builder aims to be an integrated development
11358environment (IDE) for writing GNOME-based software. It features fuzzy search,
11359auto-completion, a mini code map, documentation browsing, Git integration, an
11360integrated profiler via Sysprof, debugging support, and more.")
683cac58 11361 (license license:gpl3+)))
438c4ee1
LP
11362
11363(define-public komikku
11364 (package
11365 (name "komikku")
11366 (version "0.19.0")
11367 (source
11368 (origin
11369 (method git-fetch)
11370 (uri (git-reference
11371 (url "https://gitlab.com/valos/Komikku/")
11372 (commit (string-append "v" version))))
11373 (file-name (git-file-name name version))
11374 (sha256
11375 (base32
11376 "16d7k500nd9klnjqqcgk3glhv2sy78yndkz3n0x7lynvblsy45kk"))))
11377 (build-system meson-build-system)
11378 (arguments
11379 `(#:glib-or-gtk? #t
11380 #:phases
11381 (modify-phases %standard-phases
11382 (add-after 'unpack 'patch-sources
11383 (lambda _
11384 (substitute* "komikku/utils.py"
11385 (("from komikku\\.servers import get_servers_list")
11386 ;; code following that line should migrate old databases
11387 ;; but the line itself results in an import error
11388 "return data_dir_path"))))
11389 (add-after 'unpack 'skip-gtk-update-icon-cache
11390 (lambda _
11391 (substitute* "meson_post_install.py"
11392 (("gtk-update-icon-cache") (which "true")))
11393 #t))
11394 (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
11395 (lambda* (#:key outputs #:allow-other-keys)
11396 (let ((prog (string-append (assoc-ref outputs "out")
11397 "/bin/komikku")))
11398 (wrap-program prog
11399 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
11400 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
11401 #t))))))
11402 (inputs
11403 `(("gtk+" ,gtk+)
11404 ("libhandy" ,libhandy)
11405 ("libnotify" ,libnotify)
11406 ("libsecret" ,libsecret)
11407 ("python-beautifulsoup4" ,python-beautifulsoup4)
11408 ("python-cloudscraper" ,python-cloudscraper)
11409 ("python-dateparser" ,python-dateparser)
11410 ("python-keyring" ,python-keyring)
11411 ("python-lxml" ,python-lxml)
11412 ("python-magic" ,python-magic)
11413 ("python-pillow" ,python-pillow)
11414 ("python-pure-protobuf" ,python-pure-protobuf)
11415 ("python-pycairo" ,python-pycairo)
11416 ("python-pygobject" ,python-pygobject)
11417 ("python-unidecode" ,python-unidecode)))
11418 (native-inputs
a4782e40
LP
11419 `(("desktop-file-utils" ,desktop-file-utils)
11420 ("gettext" ,gettext-minimal)
11421 ("glib:bin" ,glib "bin")
438c4ee1
LP
11422 ("gobject-introspection" ,gobject-introspection)
11423 ("pkg-config" ,pkg-config)))
11424 (home-page "https://gitlab.com/valos/Komikku")
11425 (synopsis "Manga reader for GNOME")
11426 (description "Komikku is an online/offline manga reader for GNOME,
11427developed with the aim of being used with the Librem 5 phone.")
11428 (license license:gpl3+)))