gnu: gnome-mines: Update to 3.36.1.
[jackhill/guix/guix.git] / gnu / packages / gnome.scm
CommitLineData
995b7261 1;;; GNU Guix --- Functional package management for GNU
109da1c0 2;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
5dc6d5ce 3;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
29a7c98a 4;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
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")
1032 (version "2.4")
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
1040 "1hxq8c5qfah3w7mxcyy3yhzdgswplll31a69p5mqdl04bsvw5pbx"))))
1041 (build-system meson-build-system)
1042 (native-inputs
1043 `(("gettext" ,gettext-minimal)
1044 ("glib:bin" ,glib "bin")
1045 ("gtk-doc" ,gtk-doc)
1046 ("pkg-config" ,pkg-config)))
1047 (inputs
1048 `(("avahi" ,avahi)
1049 ("libgudev" ,libgudev)
1050 ("libsoup" ,libsoup)))
1051 (synopsis "WebDav server implementation using libsoup")
1052 (description "PhoDav was initially developed as a file-sharing mechanism for Spice,
1053but it is generic enough to be reused in other projects,
1054in particular in the GNOME desktop.")
1055 (home-page "https://wiki.gnome.org/phodav")
1056 (license license:lgpl2.1+)))
1057
29ae18db
RG
1058(define-public gnome-color-manager
1059 (package
1060 (name "gnome-color-manager")
1061 (version "3.32.0")
1062 (source (origin
1063 (method url-fetch)
1064 (uri (string-append "mirror://gnome/sources/" name "/"
1065 (version-major+minor version) "/"
1066 name "-" version ".tar.xz"))
1067 (sha256
1068 (base32
1069 "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"))))
1070 (build-system meson-build-system)
1071 (arguments
1072 `(#:glib-or-gtk? #t
1073 #:phases
1074 (modify-phases %standard-phases
1075 (add-before
1076 'check 'pre-check
1077 (lambda _
1078 ;; Tests require a running X server.
1079 (system "Xvfb :1 &")
1080 (setenv "DISPLAY" ":1")
1081 #t)))))
1082 (native-inputs
1083 `(("desktop-file-utils" ,desktop-file-utils)
1084 ("gettext" ,gettext-minimal)
1085 ("glib:bin" ,glib "bin")
1086 ("gtk+:bin" ,gtk+ "bin")
1087 ("itstool" ,itstool)
1088 ("pkg-config" ,pkg-config)
1089 ("xorg-server" ,xorg-server-for-tests)))
1090 (inputs
1091 `(("adwaita-icon-theme" ,adwaita-icon-theme)
1092 ("appstream-glib" ,appstream-glib)
1093 ("colord-gtk" ,colord-gtk)
1094 ("exiv2" ,exiv2)
1095 ("gnome-desktop" ,gnome-desktop)
1096 ("libcanberra" ,libcanberra)
1097 ("libexif" ,libexif)
1098 ("libtiff" ,libtiff)
1099 ("libxrandr" ,libxrandr)
1100 ("libxtst" ,libxtst)
1101 ("libxxf86vm" ,libxxf86vm)
1102 ("vte" ,vte)
1103 ("xorgproto" ,xorgproto)))
1104 (synopsis "Color profile manager for the GNOME desktop")
1105 (description "GNOME Color Manager is a session framework that makes
1106it easy to manage, install and generate color profiles
1107in the GNOME desktop.")
1108 (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
7bd000d1 1109 (license license:gpl2+)))
29ae18db 1110
e05471a1
RG
1111(define-public gnome-online-miners
1112 (package
1113 (name "gnome-online-miners")
49dcd7fc 1114 (version "3.34.0")
e05471a1
RG
1115 (source (origin
1116 (method url-fetch)
1117 (uri (string-append "mirror://gnome/sources/" name "/"
1118 (version-major+minor version) "/"
1119 name "-" version ".tar.xz"))
1120 (sha256
1121 (base32
49dcd7fc 1122 "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44"))))
e05471a1
RG
1123 (build-system glib-or-gtk-build-system)
1124 (native-inputs
1125 `(("gettext" ,gettext-minimal)
1126 ("glib:bin" ,glib "bin")
29ae18db 1127 ("gobject-introspection" ,gobject-introspection)
e05471a1
RG
1128 ("gtk+:bin" ,gtk+ "bin")
1129 ("pkg-config" ,pkg-config)))
1130 (inputs
1131 `(("gnome-online-accounts" ,gnome-online-accounts)
1132 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
e05471a1
RG
1133 ("grilo" ,grilo)
1134 ("libgdata" ,libgdata)
1135 ("libgfbgraph" ,gfbgraph)
1136 ("libzapojit" ,libzapojit)
1137 ("rest" ,rest)
1138 ("tracker" ,tracker)))
1139 (synopsis "Web Crawlers for GNOME")
1140 (description "GNOME Online Miners provides a set of crawlers that
1141go through your online content and index them locally in Tracker.
1142It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
1143 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
7bd000d1 1144 (license license:gpl2+)))
e05471a1 1145
e2aed29c
RG
1146(define-public gssdp
1147 (package
1148 (name "gssdp")
c257e0ec 1149 (version "1.2.3")
e2aed29c
RG
1150 (source (origin
1151 (method url-fetch)
1152 (uri (string-append "mirror://gnome/sources/" name "/"
1153 (version-major+minor version) "/"
1154 name "-" version ".tar.xz"))
1155 (sha256
1156 (base32
c257e0ec 1157 "1s57i8a8wnnxnsfl27cq4503dkdlzbrhry5zpg23sfqfffvdqqx2"))))
e2aed29c
RG
1158 (build-system meson-build-system)
1159 (native-inputs
1160 `(("gettext" ,gettext-minimal)
1161 ("glib:bin" ,glib "bin")
1162 ("gobject-introspection" ,gobject-introspection)
1163 ("gtk-doc" ,gtk-doc)
1164 ("pkg-config" ,pkg-config)
1165 ("vala" ,vala)))
1166 (inputs
1167 `(("gtk+" ,gtk+)
1168 ("libsoup" ,libsoup)))
1169 (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery
1170Protocol} for GNOME")
1171 (description "This package provides a library to handle resource discovery
1172and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and
1173a debugging tool, @command{gssdp-device-sniffer}.")
1174 (home-page "https://gitlab.gnome.org/GNOME/gssdp")
1175 (license license:lgpl2.0+)))
1176
291a85b2
RG
1177(define-public gupnp
1178 (package
1179 (name "gupnp")
5b882f47 1180 (version "1.2.4")
291a85b2
RG
1181 (source (origin
1182 (method url-fetch)
1183 (uri (string-append "mirror://gnome/sources/" name "/"
1184 (version-major+minor version) "/"
1185 name "-" version ".tar.xz"))
1186 (sha256
1187 (base32
5b882f47 1188 "1ld7mrpdv9cszmfzh7i19qx4li25j3fr7x1jp38l8phzlmz3187p"))))
291a85b2
RG
1189 (build-system meson-build-system)
1190 (native-inputs
1191 `(("gettext" ,gettext-minimal)
1192 ("glib:bin" ,glib "bin")
1193 ("gobject-introspection" ,gobject-introspection)
1194 ("gtk-doc" ,gtk-doc)
1195 ("pkg-config" ,pkg-config)
1196 ("vala" ,vala)))
1197 (inputs
1198 `(("gssdp" ,gssdp)
1199 ("gtk+" ,gtk+)
1200 ("libsoup" ,libsoup)))
1201 (synopsis "PnP API for GNOME")
1202 (description "This package provides GUPnP, an object-oriented framework
1203for creating UPnP devices and control points, written in C using
1204@code{GObject} and @code{libsoup}.")
1205 (home-page "https://gitlab.gnome.org/GNOME/gupnp")
1206 (license license:lgpl2.0+)))
1207
747d7fe4
RG
1208(define-public gupnp-dlna
1209 (package
1210 (name "gupnp-dlna")
1211 (version "0.10.5")
1212 (source (origin
1213 (method url-fetch)
1214 (uri (string-append "mirror://gnome/sources/" name "/"
1215 (version-major+minor version) "/"
1216 name "-" version ".tar.xz"))
1217 (sha256
1218 (base32
1219 "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj"))))
1220 (build-system gnu-build-system)
1221 (native-inputs
1222 `(("gettext" ,gettext-minimal)
1223 ("glib:bin" ,glib "bin")
1224 ("gobject-introspection" ,gobject-introspection)
1225 ("gtk-doc" ,gtk-doc)
1226 ("libxml" ,libxml2)
1227 ("pkg-config" ,pkg-config)
1228 ("vala" ,vala)))
1229 (inputs
1230 `(("gstreamer" ,gstreamer)
1231 ("gupnp" ,gupnp)))
1232 (propagated-inputs
1233 `(("gst-plugins-base" ,gst-plugins-base)
1234 ("gst-plugins-good" ,gst-plugins-good)))
1235 (synopsis "GUPnP DLNA for GNOME")
1236 (description "This package provides a small utility library to
1237support DLNA-related tasks such as media profile guessing, transcoding to a
1238given profile, etc. DLNA is a subset of UPnP A/V.")
1239 (home-page "https://gitlab.gnome.org/GNOME/gupnp-dlna")
1240 (license license:lgpl2.0+)))
1241
1b4cb628
RG
1242(define-public gupnp-av
1243 (package
1244 (name "gupnp-av")
1245 (version "0.12.11")
1246 (source (origin
1247 (method url-fetch)
1248 (uri (string-append "mirror://gnome/sources/" name "/"
1249 (version-major+minor version) "/"
1250 name "-" version ".tar.xz"))
1251 (sha256
1252 (base32
1253 "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8"))))
1254 (build-system gnu-build-system)
1255 (native-inputs
1256 `(("gettext" ,gettext-minimal)
1257 ("glib:bin" ,glib "bin")
1258 ("gobject-introspection" ,gobject-introspection)
1259 ("gtk-doc" ,gtk-doc)
1260 ("libxml" ,libxml2)
1261 ("pkg-config" ,pkg-config)))
1262 (inputs
1263 `(("gtk+" ,gtk+)
1264 ("gupnp" ,gupnp)))
1265 (synopsis "GUPnP A/V for GNOME")
1266 (description "This package provides a small library for handling
1267and implementation of UPnP A/V profiles.")
1268 (home-page "https://gitlab.gnome.org/GNOME/gupnp-av")
1269 (license license:lgpl2.0+)))
e05471a1 1270
02ebbca8
RG
1271(define-public libmediaart
1272 (package
1273 (name "libmediaart")
1274 (version "1.9.4")
1275 (source (origin
1276 (method url-fetch)
1277 (uri (string-append "mirror://gnome/sources/" name "/"
1278 (version-major+minor version) "/"
1279 name "-" version ".tar.xz"))
1280 (sha256
1281 (base32
1282 "0gc10imyabk57ar54m0qzms0x9dnmkymhkzyk8w1aj3y4lby0yx5"))))
1283 (build-system gnu-build-system)
1284 (native-inputs
1285 `(("glib:bin" ,glib "bin")
1286 ("pkg-config" ,pkg-config)))
1287 (inputs
1288 `(("gdk-pixbuf" ,gdk-pixbuf)
1289 ("gettext" ,gettext-minimal)
1290 ("gobject-introspection" ,gobject-introspection)
1291 ("gtk+:doc", gtk+ "doc")
1292 ("vala" ,vala)))
1293 (synopsis "Media art library for the GNOME desktop")
1294 (description
1295 "The libmediaart library is the foundation for media art caching,
1296extraction, and lookup for applications on the desktop.")
1297 (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
1298 (license license:lgpl2.1+)))
1299
a26680eb
RG
1300(define-public gnome-initial-setup
1301 (package
1302 (name "gnome-initial-setup")
1303 (version "3.32.1")
1304 (source (origin
1305 (method url-fetch)
1306 (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
1307 (version-major+minor version)
1308 "/gnome-initial-setup-" version ".tar.xz"))
1309 (sha256
1310 (base32
1311 "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
1312 (build-system meson-build-system)
1313 (arguments
a65cc579
DM
1314 '(#:configure-flags '(;; Enable camera support for user selfie.
1315 "-Dcheese=auto"
c627e2cb
LC
1316 "-Dsystemd=false")
1317 #:phases (modify-phases %standard-phases
1318 (add-after 'unpack 'set-gkbd-file-name
1319 (lambda* (#:key inputs #:allow-other-keys)
1320 ;; Allow the "Preview" button in the keyboard layout
1321 ;; selection dialog to display the layout.
1322 (let ((libgnomekbd (assoc-ref inputs "libgnomekbd")))
1323 (substitute* "gnome-initial-setup/pages/keyboard/cc-input-chooser.c"
1324 (("\"gkbd-keyboard-display")
1325 (string-append "\"" libgnomekbd
1326 "/bin/gkbd-keyboard-display")))
1327 #t))))))
a26680eb
RG
1328 (native-inputs
1329 `(("gettext" ,gettext-minimal)
1330 ("glib:bin" ,glib "bin")
1331 ("gobject-introspection" ,gobject-introspection)
1332 ("gtk+:bin" ,gtk+ "bin")
1333 ("pkg-config" ,pkg-config)))
1334 (inputs
1335 `(("accountsservice" ,accountsservice)
1336 ;("adwaita-icon-theme" ,adwaita-icon-theme)
1337 ("gdm" ,gdm)
1338 ("geoclue" ,geoclue)
1339 ("gnome-desktop" ,gnome-desktop)
1340 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
1341 ("gnome-online-accounts" ,gnome-online-accounts)
1342 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1343 ("gstreamer" ,gstreamer)
1344 ("ibus" ,ibus)
1345 ("json-glib" ,json-glib)
1346 ("krb5" ,mit-krb5)
1347 ("libgweather" ,libgweather)
8d9477b8 1348 ("libnma" ,libnma)
a26680eb
RG
1349 ("libsecret" ,libsecret)
1350 ("network-manager" ,network-manager)
a26680eb
RG
1351 ("packagekit" ,packagekit)
1352 ("polkit" ,polkit)
1353 ("pwquality" ,libpwquality)
1354 ("rest" ,rest)
1355 ("upower" ,upower)
c627e2cb
LC
1356 ("webkitgtk" ,webkitgtk)
1357 ("libgnomekbd" ,libgnomekbd)))
a26680eb 1358 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
1359 (description "This package provides a set-up wizard when a
1360user logs into GNOME for the first time. It typically provides a
1361tour of all gnome components and allows the user to set them up.")
a26680eb
RG
1362 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
1363 (license license:gpl2)))
1364
b5f01392
RG
1365(define-public gnome-user-share
1366 (package
1367 (name "gnome-user-share")
1368 (version "3.33.1")
1369 (source (origin
1370 (method url-fetch)
1371 (uri (string-append "mirror://gnome/sources/" name "/"
1372 (version-major+minor version) "/"
1373 name "-" version ".tar.xz"))
1374 (sha256
1375 (base32
1376 "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7"))))
1377 (build-system meson-build-system)
1378 (arguments
1379 `(#:glib-or-gtk? #t
1380 #:configure-flags
1381 `("-Dsystemd=false"
1382 ;; Enable nautilus extension for file sharing.
1383 "-Dnautilus_extension=true")))
1384 (native-inputs
1385 `(("gettext" ,gettext-minimal)
1386 ("glib:bin" ,glib "bin")
1387 ("gobject-introspection" ,gobject-introspection)
1388 ("gtk+:bin" ,gtk+ "bin")
1389 ("pkg-config" ,pkg-config)
1390 ("yelp-tools" ,yelp-tools)))
1391 (inputs
1392 `(("glib" ,glib)
1393 ("gnome-bluetooth" ,gnome-bluetooth)
1394 ("gtk+" ,gtk+)
1395 ("libcanberra" ,libcanberra)
1396 ("libnotify" ,libnotify)
1397 ("nautilus" ,nautilus))) ; For nautilus extension.
1398 (synopsis "File sharing for GNOME desktop")
1399 (description "GNOME User Share is a small package that binds together
1400various free software projects to bring easy to use user-level file
1401sharing to the masses.")
1402 (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
2aeca24b 1403 (license license:gpl2+)))
b5f01392 1404
04b201bb
RG
1405(define-public sushi
1406 (package
1407 (name "sushi")
1408 (version "3.32.1")
1409 (source (origin
1410 (method url-fetch)
1411 (uri (string-append "mirror://gnome/sources/" name "/"
1412 (version-major+minor version) "/"
1413 name "-" version ".tar.xz"))
1414 (sha256
1415 (base32
1416 "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj"))))
1417 (build-system meson-build-system)
1418 (arguments
1419 `(#:glib-or-gtk? #t
1420 #:phases
1421 (modify-phases %standard-phases
1422 (add-after 'glib-or-gtk-wrap 'wrap-typelib
1423 (lambda* (#:key outputs #:allow-other-keys)
1424 (let ((prog (string-append (assoc-ref outputs "out")
1425 "/bin/sushi")))
1426 ;; Put existing typelibs before sushi's deps, so as to correctly
1427 ;; infer gdk-pixbuf
1428 (wrap-program prog
1429 `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH"))))
1430 #t))))))
1431 (native-inputs
1432 `(("glib:bin" ,glib "bin")
1433 ("gettext" ,gettext-minimal)
1434 ("gobject-introspection" ,gobject-introspection)
1435 ("pkg-config" ,pkg-config)))
1436 (inputs
1437 `(("clutter" ,clutter)
1438 ("clutter-gst" ,clutter-gst)
1439 ("clutter-gtk" ,clutter-gtk)
1440 ("evince" ,evince) ; For file previewing.
1441 ("freetype" ,freetype)
1442 ("gdk-pixbuf" ,gdk-pixbuf)
1443 ("gjs" ,gjs)
1444 ("gst-plugins-base" ,gst-plugins-base)
1445 ("gstreamer" ,gstreamer)
1446 ("gtksourceview" ,gtksourceview-3)
1447 ("harfbuzz" ,harfbuzz)
1448 ("libepoxy" ,libepoxy)
1449 ("libmusicbrainz" ,libmusicbrainz)
1450 ("libxml2" ,libxml2)
1451 ("neon" ,neon)
1452 ("webkitgtk" ,webkitgtk)))
1453 (synopsis "File previewer for the GNOME desktop")
1454 (description "Sushi is a DBus-activated service that allows applications to
1455preview files on the GNOME desktop.")
1456 (home-page "https://gitlab.gnome.org/GNOME/sushi")
1457 (license license:gpl2+)))
1458
89af0902
RG
1459(define-public rygel
1460 (package
1461 (name "rygel")
1462 (version "0.38.3")
1463 (source (origin
1464 (method url-fetch)
1465 (uri (string-append "mirror://gnome/sources/" name "/"
1466 (version-major+minor version) "/"
1467 name "-" version ".tar.xz"))
1468 (sha256
1469 (base32
1470 "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8"))))
1471 (build-system gnu-build-system)
1472 (native-inputs
1473 `(("gettext" ,gettext-minimal)
1474 ("gobject-introspection" ,gobject-introspection)
1475 ("gtk-doc" ,gtk-doc)
1476 ("pkg-config" ,pkg-config)
1477 ("vala" ,vala)))
1478 (inputs
1479 `(("gdk-pixbuf" ,gdk-pixbuf)
1480 ("gssdp" ,gssdp)
1481 ("gstreamer" ,gstreamer)
1482 ("gst-plugins-base" ,gst-plugins-base)
1483 ("gtk+" ,gtk+)
1484 ("gupnp" ,gupnp)
1485 ("gupnp-av" ,gupnp-av)
1486 ("gupnp-dlna" ,gupnp-dlna)
1487 ("libgee" ,libgee)
1488 ("libmediaart" ,libmediaart)
1489 ("libsoup" ,libsoup)
1490 ("libxslt" ,libxslt)
1491 ("libunistring" ,libunistring)
1492 ("tracker" ,tracker)))
1493 (synopsis "Share audio, video, and pictures with other devices")
1494 (description
1495 "Rygel is a home media solution (@dfn{UPnP AV MediaServer and
1496MediaRenderer}) for GNOME that allows you to easily share audio, video, and
1497pictures, and to control a media player on your home network.
1498
1499Rygel achieves interoperability with other devices by trying to conform to the
1500strict requirements of DLNA and by converting media on-the-fly to formats that
1501client devices can handle.")
1502 (home-page "https://wiki.gnome.org/Projects/Rygel")
1503 (license (list
1504 ;; For logo (data/icons/*).
1505 license:cc-by-sa3.0
1506 ;; For all others.
1507 license:lgpl2.1+))))
1508
47e87093
RG
1509(define-public libnma
1510 (package
b1da33d9
BW
1511 (name "libnma")
1512 (version "1.8.28")
1513 (source (origin
1514 (method url-fetch)
1515 (uri (string-append "mirror://gnome/sources/" name "/"
1516 (version-major+minor version) "/"
1517 name "-" version ".tar.xz"))
1518 (sha256
1519 (base32
1520 "09mp6k0hfam1vyyv9kcd8j4gb2r58i05ipx2nswb58ris599bxja"))))
1521 (build-system meson-build-system)
1522 (arguments
1523 `(#:phases
1524 (modify-phases %standard-phases
1525 (add-after 'unpack 'patch-docbook-xml
1526 (lambda* (#:key inputs #:allow-other-keys)
1527 (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
1528 "/xml/dtd/docbook")))
1529 (substitute* "libnma-docs.xml"
1530 (("http://.*/docbookx\\.dtd")
1531 (string-append xmldoc "/docbookx.dtd")))
1532 #t))))))
1533 (native-inputs
1534 `(("docbook-xml" ,docbook-xml-4.3)
1535 ("gettext" ,gettext-minimal)
1536 ("glib:bin" ,glib "bin")
1537 ("gtk-doc" ,gtk-doc)
1538 ("gobject-introspection" ,gobject-introspection)
1539 ("pkg-config" ,pkg-config)
1540 ("vala" ,vala)))
1541 (inputs
1542 `(("gcr" ,gcr)
1543 ("gtk+" ,gtk+)
1544 ("iso-codes" ,iso-codes)
1545 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
1546 ("network-manager" ,network-manager)))
1547 (synopsis "Network Manager's applet library")
1548 (description "Libnma is an applet library for Network Manager. It was
47e87093
RG
1549initially part of network-manager-applet and has now become a separate
1550project.")
c25ca6b7
BW
1551 (home-page "https://gitlab.gnome.org/GNOME/libnma")
1552 ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
1553 ;; "LGPL-2.1+".
1554 (license license:gpl2+)))
47e87093 1555
30416265
RG
1556(define-public gnome-menus
1557 (package
1558 (name "gnome-menus")
1559 (version "3.32.0")
1560 (source (origin
1561 (method url-fetch)
1562 (uri (string-append "mirror://gnome/sources/gnome-menus/"
1563 (version-major+minor version) "/"
1564 name "-" version ".tar.xz"))
1565 (sha256
1566 (base32
1567 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
1568 (build-system gnu-build-system)
1569 (native-inputs
1570 `(("gettext" ,gettext-minimal)
1571 ("glib" ,glib)
1572 ("pkg-config" ,pkg-config)))
1573 (synopsis "Menu support for GNOME desktop")
1574 (description "GNOME Menus contains the libgnome-menu library, the layout
1575configuration files for the GNOME menu, as well as a simple menu editor.")
1576 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 1577 (license license:lgpl2.0+)))
30416265 1578
d61a894b
CB
1579(define-public deja-dup
1580 (package
1581 (name "deja-dup")
899ffa13 1582 (version "40.6")
d61a894b 1583 (source (origin
899ffa13
BW
1584 (method url-fetch)
1585 (uri (string-append "https://gitlab.gnome.org/World/deja-dup/-/archive/"
1586 version "/deja-dup-" version ".tar.bz2"))
1587 (sha256
1588 (base32
1589 "0lwazh6crby5wpy9fg6zvwy4plqbhs2f98bm5lbizjdlbh88n5q0"))))
1590 (build-system meson-build-system)
d61a894b 1591 (arguments
899ffa13
BW
1592 `(#:glib-or-gtk? #t
1593 #:configure-flags
1594 (list
1595 ;; Otherwise, the RUNPATH will lack the final path component.
1596 (string-append "-Dc_link_args=-Wl,-rpath="
1597 (assoc-ref %outputs "out") "/lib/deja-dup"))
d61a894b
CB
1598 #:phases
1599 (modify-phases %standard-phases
899ffa13
BW
1600 (add-after 'unpack 'patch-paths
1601 (lambda* (#:key inputs #:allow-other-keys)
1602 (let ((python (assoc-ref inputs "python")))
1603 (substitute* '("libdeja/tools/duplicity/DuplicityInstance.vala"
1604 "libdeja/tests/scripts/instance-error.test")
1605 (("/bin/rm")
1606 (which "rm")))
1607 (substitute* "libdeja/tests/runner.vala"
1608 (("/bin/sh")
1609 (which "sh")))
1610 (substitute* "libdeja/tests/scripts/instance-error.test"
1611 (("`which python3`")
1612 (string-append python "/bin/python3"))))))
1613 (add-after 'unpack 'patch-libgpg-error
1614 (lambda* (#:key inputs #:allow-other-keys)
1615 (let ((libgpg-error (assoc-ref inputs "libgpg-error")))
1616 (substitute* "meson.build"
1617 (("(gpgerror_libs = ).*" _ var)
1618 (format #f "~a '-L~a/lib -lgpg-error'\n" var libgpg-error))))
1619 #t))
1620 (add-after 'unpack 'skip-gtk-update-icon-cache
1621 ;; Don't create 'icon-theme.cache'.
1622 (lambda _
1623 (substitute* "data/post-install.sh"
1624 (("gtk-update-icon-cache") "true"))
1625 #t)))))
d61a894b
CB
1626 (inputs
1627 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
d61a894b 1628 ("duplicity" ,duplicity)
899ffa13
BW
1629 ("python" ,python)
1630 ("python-pygobject" ,python-pygobject)
d61a894b 1631 ("gtk+" ,gtk+)
899ffa13 1632 ("json-glib" ,json-glib)
d61a894b 1633 ("libnotify" ,libnotify)
899ffa13 1634 ("libgpg-error" ,libgpg-error)
d61a894b 1635 ("libsecret" ,libsecret)
899ffa13 1636 ("libsoup" ,libsoup)
d61a894b
CB
1637 ("packagekit" ,packagekit)))
1638 (native-inputs
899ffa13
BW
1639 `(("appstream-glib" ,appstream-glib)
1640 ("desktop-file-utils" ,desktop-file-utils)
d61a894b 1641 ("gettext" ,gettext-minimal)
899ffa13
BW
1642 ("glib" ,glib "bin") ; for glib-compile-schemas.
1643 ("gobject-introspection" ,gobject-introspection)
d61a894b 1644 ("itstool" ,itstool)
899ffa13
BW
1645 ("pkg-config" ,pkg-config)
1646 ("vala" ,vala)))
1647 (home-page "https://wiki.gnome.org/Apps/DejaDup")
d61a894b
CB
1648 (synopsis "Simple backup tool, for regular encrypted backups")
1649 (description
1650 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
1651uses duplicity as the backend, which supports incremental backups and storage
1652either on a local, or remote machine via a number of methods.")
1653 (license license:gpl3+)))
1654
823b77fb
RG
1655(define-public gnome-user-docs
1656 (package
1657 (name "gnome-user-docs")
1658 (version "3.32.3")
1659 (source
1660 (origin
1661 (method url-fetch)
1662 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
1663 (version-major+minor version)
1664 "/gnome-user-docs-" version ".tar.xz"))
1665 (sha256
1666 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
1667 (build-system gnu-build-system)
1668 (native-inputs
1669 `(("gettext" ,gettext-minimal)
1670 ("itstool" ,itstool)
1671 ("pkg-config" ,pkg-config)
1672 ("xmllint" ,libxml2)))
1673 (synopsis "User documentation for the GNOME desktop")
1674 (description
1675 "The GNOME User Documentation explains how to use the GNOME desktop and its
1676components. It covers usage and setup of the core GNOME programs by end-users
1677and system administrators.")
1678 (home-page "https://live.gnome.org/DocumentationProject")
1679 (license license:cc-by3.0)))
1680
be93299d
RG
1681(define-public gnome-getting-started-docs
1682 (package
1683 (name "gnome-getting-started-docs")
1684 (version "3.32.2")
1685 (source
1686 (origin
1687 (method url-fetch)
1688 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
1689 (version-major+minor version)
1690 "/gnome-getting-started-docs-" version ".tar.xz"))
1691 (sha256
1692 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
1693 (build-system gnu-build-system)
1694 (native-inputs
1695 `(("gettext" ,gettext-minimal)
1696 ("itstool" ,itstool)
1697 ("pkg-config" ,pkg-config)
1698 ("xmllint" ,libxml2)))
1699 (synopsis "Help to get new users started with the GNOME desktop")
1700 (description
1701 "The GNOME Getting Started Documentation contains GNOME's intuitive
1702\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
1703
1704It is normally used together with @command{gnome-initial-setup}, but is also
1705useful as a tutorial and users' guide for new or less experienced users.")
1706 (home-page "https://live.gnome.org/DocumentationProject")
1707 (license license:cc-by-sa3.0)))
1708
a56be436
RJ
1709(define-public dia
1710 ;; This version from GNOME's repository includes fixes for compiling with
1711 ;; recent versions of the build tools. The latest activity on the
1712 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
f8687cb2
TGR
1713 ;; fixes since.
1714 (let ((commit "3cf7ec4c2e5bca139a7f3e17f9fc9009c237fcc5")
1715 (revision "2"))
a56be436
RJ
1716 (package
1717 (name "dia")
f8687cb2 1718 (version (git-version "0.97.3" revision commit))
a56be436
RJ
1719 (source (origin
1720 (method git-fetch)
1721 (uri (git-reference
914c8cdf 1722 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 1723 (commit commit)))
914c8cdf 1724 (file-name (git-file-name name version))
a56be436
RJ
1725 (sha256
1726 (base32
f8687cb2
TGR
1727 "04r8dspa6nmicrifhi3sh46hqvyy88hzq37xx99q3q1mwsrpmwy8"))))
1728 (build-system meson-build-system)
a56be436 1729 (inputs
f8687cb2 1730 `(("graphene" ,graphene)
a56be436
RJ
1731 ("gtk+" ,gtk+-2)
1732 ("libxml2" ,libxml2)
f8687cb2
TGR
1733 ("libxslt" ,libxslt)
1734 ("poppler" ,poppler)
1735 ;; Without Python 2, build fails: plug-ins/python/meson.build:4:0:
1736 ;; ERROR: Unknown method "dependency" in object.
1737 ("python-2" ,python-2)))
a56be436 1738 (native-inputs
f8687cb2
TGR
1739 `(("appstream-glib" ,appstream-glib)
1740 ("docbook-xsl" ,docbook-xsl)
a315afa3 1741 ("glib" ,glib "bin")
f8687cb2
TGR
1742 ("intltool" ,intltool)
1743 ("pkg-config" ,pkg-config)))
a56be436
RJ
1744 (home-page "https://wiki.gnome.org/Apps/Dia")
1745 (synopsis "Diagram creation for GNOME")
1746 (description "Dia can be used to draw different types of diagrams, and
1747includes support for UML static structure diagrams (class diagrams), entity
1748relationship modeling, and network diagrams. The program supports various file
1749formats like PNG, SVG, PDF and EPS.")
1750 (license license:gpl2+))))
1751
d0b19e44
RW
1752;; This is the unstable release, but it is required for the current stable
1753;; release of gvfs (1.38.1).
adc5cb1b
KK
1754(define-public libgdata
1755 (package
1756 (name "libgdata")
d0b19e44 1757 (version "0.17.9")
adc5cb1b
KK
1758 (source (origin
1759 (method url-fetch)
1760 (uri (string-append "mirror://gnome/sources/" name "/"
1761 (version-major+minor version) "/"
1762 name "-" version ".tar.xz"))
1763 (sha256
1764 (base32
d0b19e44 1765 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
1766 (build-system gnu-build-system)
1767 (arguments
1768 '(#:phases
1769 (modify-phases %standard-phases
448052b7
TGR
1770 (add-before 'check 'disable-failing-tests
1771 (lambda _
1772 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
1773 ;; They have been removed in libgdata 0.17.6, so just do the same.
1774 (substitute* "gdata/tests/Makefile"
1775 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
1776 #t)))))
1777 (native-inputs
1778 `(("glib:bin" ,glib "bin")
1779 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1780 ("intltool" ,intltool)
1781 ("pkg-config" ,pkg-config)
1782 ("uhttpmock" ,uhttpmock)))
1783 (inputs
1784 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 1785 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
1786 (propagated-inputs
1787 `(("gcr" ,gcr)
d0b19e44 1788 ("glib" ,glib)
14c297fd 1789 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 1790 ("json-glib" ,json-glib)
adc5cb1b 1791 ("liboauth" ,liboauth)
d0b19e44 1792 ("libsoup" ,libsoup)
adc5cb1b
KK
1793 ("libxml2" ,libxml2)))
1794 (home-page "https://wiki.gnome.org/Projects/libgdata")
1795 (synopsis "Library for accessing online service APIs")
1796 (description
1797 "libgdata is a GLib-based library for accessing online service APIs using
1798the GData protocol — most notably, Google's services. It provides APIs to
1799access the common Google services, and has full asynchronous support.")
1800 (license license:lgpl2.1+)))
1801
94e10cf4
KK
1802(define-public libgxps
1803 (package
1804 (name "libgxps")
66470a5a 1805 (version "0.3.1")
94e10cf4
KK
1806 (source (origin
1807 (method url-fetch)
7f10628c 1808 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
1809 (version-major+minor version) "/"
1810 name "-" version ".tar.xz"))
1811 (sha256
1812 (base32
66470a5a 1813 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 1814 (build-system meson-build-system)
94e10cf4
KK
1815 (native-inputs
1816 `(("gobject-introspection" ,gobject-introspection)
1817 ("pkg-config" ,pkg-config)))
1818 (inputs
c8d62d93 1819 `(("gtk+" ,gtk+)
b6b3e512 1820 ("libjpeg" ,libjpeg-turbo)
94e10cf4 1821 ("lcms" ,lcms)
0a6e9e13 1822 ("libtiff" ,libtiff)))
c8d62d93
MB
1823 (propagated-inputs
1824 ;; In Requires of libgxps.pc.
1825 `(("cairo" ,cairo)
1826 ("glib" ,glib)
1827 ("libarchive" ,libarchive)))
94e10cf4
KK
1828 (home-page "https://wiki.gnome.org/Projects/libgxps")
1829 (synopsis "GObject-based library for handling and rendering XPS documents")
1830 (description
1831 "libgxps is a GObject-based library for handling and rendering XPS
1832documents. This package also contains binaries that can convert XPS documents
1833to other formats.")
1834 (license license:lgpl2.1+)))
1835
4e09f57a
RG
1836(define-public gnome-characters
1837 (package
1838 (name "gnome-characters")
1839 (version "3.30.0")
1840 (source
1841 (origin
1842 (method url-fetch)
1843 (uri (string-append "mirror://gnome/sources/"
1844 "gnome-characters/" (version-major+minor version)
1845 "/gnome-characters-" version ".tar.xz"))
1846 (sha256
1847 (base32
1848 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
1849 (build-system meson-build-system)
5757c641 1850 (arguments
1851 `(#:glib-or-gtk? #t
1852 #:phases (modify-phases %standard-phases
1853 (add-after 'install 'wrap
1854 (lambda* (#:key outputs #:allow-other-keys)
1855 ;; GNOME Characters needs Typelib files from GTK and
1856 ;; gnome-desktop.
1857 (wrap-program (string-append (assoc-ref outputs "out")
1858 "/bin/gnome-characters")
1859 `("GI_TYPELIB_PATH" ":" prefix
1860 (,(getenv "GI_TYPELIB_PATH"))))
1861 #t)))))
4e09f57a
RG
1862 (native-inputs
1863 `(("gettext" ,gettext-minimal)
1864 ("glib:bin" ,glib "bin")
1865 ("gtk+:bin" ,gtk+ "bin")
1866 ("pkg-config" ,pkg-config)
1867 ("python" ,python-minimal)))
1868 (inputs
1869 `(("gjs" ,gjs)
1870 ("gtk+" ,gtk+)
5757c641 1871 ("libunistring" ,libunistring)
1872 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
1873 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
1874 (synopsis "Find and insert unusual characters")
1875 (description "Characters is a simple utility application to find
1876and insert unusual characters. It allows you to quickly find the
1877character you are looking for by searching for keywords.")
1878 (license license:bsd-3)))
1879
7aab13f1
ML
1880(define-public gnome-common
1881 (package
1882 (name "gnome-common")
af83490d 1883 (version "3.18.0")
7aab13f1
ML
1884 (source
1885 (origin
1886 (method url-fetch)
1887 (uri (string-append "mirror://gnome/sources/" name "/"
1888 (version-major+minor version) "/"
1889 name "-" version ".tar.xz"))
1890 (sha256
1891 (base32
af83490d 1892 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
1893 (build-system gnu-build-system)
1894 (home-page "https://www.gnome.org/")
1895 (synopsis "Bootstrap GNOME modules built from Git")
1896 (description "gnome-common contains various files needed to bootstrap
1897GNOME modules built from Git. It contains a common \"autogen.sh\" script that
1898can be used to configure a source directory checked out from Git and some
1899commonly used macros.")
1900 (license license:gpl2+)))
1901
4e868d22
RG
1902(define-public gnome-contacts
1903 (package
1904 (name "gnome-contacts")
b3492e39 1905 (version "3.34")
4e868d22
RG
1906 (source (origin
1907 (method url-fetch)
1908 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
1909 (version-major+minor version) "/"
1910 name "-" version ".tar.xz"))
1911 (sha256
1912 (base32
b3492e39 1913 "04igc9xvyc4kb5xf5g2missnvyvj9zv5cqxf5k4z7hb0sv42wq4r"))))
4e868d22
RG
1914 (build-system meson-build-system)
1915 (arguments
b3492e39
KK
1916 `(#:configure-flags '("-Dcheese=false")
1917 #:phases
4e868d22
RG
1918 (modify-phases %standard-phases
1919 (add-after 'unpack 'generate-vapis
1920 (lambda* (#:key inputs #:allow-other-keys)
1921 ;; To generate goa's missing .vapi file
1922 (define goa
1923 (assoc-ref inputs "gnome-online-accounts:lib"))
1924
1925 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
1926 "--library=goa-1.0"
1927 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
b3492e39
KK
1928 #t))
1929 (add-after 'unpack 'skip-gtk-update-icon-cache
1930 ;; Don't create 'icon-theme.cache'.
1931 (lambda _
1932 (substitute* "build-aux/meson_post_install.py"
1933 (("gtk-update-icon-cache") "true"))
4e868d22
RG
1934 #t)))))
1935 (native-inputs
1936 `(("glib:bin" ,glib "bin")
4e868d22
RG
1937 ("pkg-config" ,pkg-config)))
1938 (inputs
b3492e39 1939 `(("docbook-xml" ,docbook-xml)
4e868d22
RG
1940 ("dockbook-xsl" ,docbook-xsl)
1941 ("evolution-data-server" ,evolution-data-server)
1942 ("gettext" ,gettext-minimal)
1943 ("gnome-desktop" ,gnome-desktop)
1944 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1945 ("gobject-introspection" ,gobject-introspection)
1946 ("gst-plugins-base" ,gst-plugins-base)
1947 ("gtk+" ,gtk+)
1948 ("libgee" ,libgee)
1949 ("libxslt" ,libxslt)
1950 ("telepathy-glib" ,telepathy-glib)
1951 ("vala" ,vala)))
1952 (propagated-inputs
1953 `(("folks", folks)
1954 ("telepathy-mission-control" ,telepathy-mission-control)))
1955 (synopsis "GNOME's integrated address book")
1956 (description
1957 "GNOME Contacts organizes your contact information from online and
1958offline sources, providing a centralized place for managing your contacts.")
1959 (home-page "https://wiki.gnome.org/Apps/Contacts")
1960 (license license:gpl2+)))
1961
9cc98f8a
CR
1962(define-public gnome-desktop
1963 (package
1964 (name "gnome-desktop")
8a7afc81 1965 (version "3.34.2")
9cc98f8a
CR
1966 (source
1967 (origin
1968 (method url-fetch)
b38e45d8
EB
1969 (uri (string-append "mirror://gnome/sources/" name "/"
1970 (version-major+minor version) "/"
9cc98f8a
CR
1971 name "-" version ".tar.xz"))
1972 (sha256
1973 (base32
8a7afc81 1974 "1v983xirwp1y6ggz97bh742ak6gff0hxb359dgn37nikjxhvm0a0"))))
e8a26caa 1975 (build-system meson-build-system)
a0fe7c06
CB
1976 (arguments
1977 '(#:phases
1978 (modify-phases %standard-phases
1979 (add-before 'configure 'patch-path
1980 (lambda* (#:key inputs #:allow-other-keys)
1981 (let ((libc (assoc-ref inputs "libc")))
1982 (substitute* "libgnome-desktop/gnome-languages.c"
1983 (("\"locale\"")
1984 (string-append "\"" libc "/bin/locale\"")))
e8a26caa 1985 #t)))
3857aba7
CB
1986 (add-before 'configure 'patch-bubblewrap
1987 (lambda* (#:key inputs #:allow-other-keys)
1988 (substitute* "libgnome-desktop/gnome-desktop-thumbnail-script.c"
1989 (("\"bwrap\",")
1990 (string-append "\"" (which "bwrap") "\","))
1991 (("\"--ro-bind\", \"/usr\", \"/usr\",")
1992 (string-append "\"--ro-bind\", \""
1993 (%store-directory)
1994 "\", \""
1995 (%store-directory)
1996 "\","))
1997 (("\"--ro-bind\", \"/etc/ld.so.cache\", \"/etc/ld.so.cache\",") ""))
1998 #t))
e8a26caa
KK
1999 (add-before 'check 'pre-check
2000 (lambda* (#:key inputs #:allow-other-keys)
2001 ;; Tests require a running X server and locales.
2002 (system "Xvfb :1 &")
2003 (setenv "DISPLAY" ":1")
2004 (setenv "GUIX_LOCPATH"
2005 (string-append (assoc-ref inputs "glibc-locales")
2006 "/lib/locale"))
2007 #t)))))
9cc98f8a 2008 (native-inputs
e8a26caa
KK
2009 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
2010 ("glibc-locales" ,glibc-locales) ; for tests
2011 ("gobject-introspection" ,gobject-introspection)
a8340482 2012 ("itstool" ,itstool)
bcb354ad
SB
2013 ("intltool" ,intltool)
2014 ("pkg-config" ,pkg-config)
e8a26caa
KK
2015 ("xmllint" ,libxml2)
2016 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
2017 (propagated-inputs
2018 ;; Required by gnome-desktop-3.0.pc.
2019 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 2020 ("gtk+" ,gtk+)
9cc98f8a 2021 ("iso-codes" ,iso-codes)
9863ce20 2022 ("libseccomp" ,libseccomp)
9cc98f8a 2023 ("libx11" ,libx11)
e8a26caa
KK
2024 ("xkeyboard-config" ,xkeyboard-config)))
2025 (inputs
2026 `(("gdk-pixbuf" ,gdk-pixbuf)
2027 ("glib" ,glib)
3857aba7 2028 ("bubblewrap" ,bubblewrap)
9cc98f8a
CR
2029 ("libxext" ,libxext)
2030 ("libxkbfile" ,libxkbfile)
e8a26caa 2031 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
2032 (home-page "https://www.gnome.org/")
2033 (synopsis
35b9e423 2034 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
2035 (description
2036 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
2037on the desktop, but that cannot live in the platform for various reasons.
2038There is no API or ABI guarantee, although we are doing our best to provide
2039stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
2040
2041The gnome-about program helps find which version of GNOME is installed.")
2042 ; Some bits under the LGPL.
1dd26275 2043 (license license:gpl2+)))
9cc98f8a 2044
995b7261
AE
2045(define-public gnome-doc-utils
2046 (package
2047 (name "gnome-doc-utils")
2048 (version "0.20.10")
2049 (source
2050 (origin
2051 (method url-fetch)
b38e45d8
EB
2052 (uri (string-append "mirror://gnome/sources/" name "/"
2053 (version-major+minor version) "/"
995b7261
AE
2054 name "-" version ".tar.xz"))
2055 (sha256
2056 (base32
2057 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
2058 (build-system gnu-build-system)
c4c4cc05 2059 (native-inputs
995b7261 2060 `(("intltool" ,intltool)
b4ce6300 2061 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 2062 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
2063 ("libxml2" ,libxml2)
2064 ("libxslt" ,libxslt)
2065 ("pkg-config" ,pkg-config)
2066 ("python-2" ,python-2)))
995b7261
AE
2067 (home-page "https://wiki.gnome.org/GnomeDocUtils")
2068 (synopsis
2069 "Documentation utilities for the Gnome project")
2070 (description
2071 "Gnome-doc-utils is a collection of documentation utilities for the
2072Gnome project. It includes xml2po tool which makes it easier to translate
2073and keep up to date translations of documentation.")
1dd26275 2074 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 2075
6c4f7022
DC
2076(define-public gnome-disk-utility
2077 (package
2078 (name "gnome-disk-utility")
262e660e 2079 (version "3.34.0")
6c4f7022
DC
2080 (source (origin
2081 (method url-fetch)
2082 (uri (string-append "mirror://gnome/sources/" name "/"
2083 (version-major+minor version) "/"
2084 name "-" version ".tar.xz"))
2085 (sha256
2086 (base32
262e660e 2087 "1mb7q90lnlp97dhxhnadhjagcfd12dfqzp0vj9h6b1r61pzhy97y"))))
4b9a65bf 2088 (build-system meson-build-system)
321c73c3 2089 (arguments
262e660e
KK
2090 '(#:configure-flags '("-Dlogind=libelogind")
2091 #:phases
321c73c3
EF
2092 (modify-phases %standard-phases
2093 (add-after 'unpack 'skip-gtk-update-icon-cache
2094 ;; Don't create 'icon-theme.cache'.
2095 (lambda _
2096 (substitute* "meson_post_install.py"
2097 (("gtk-update-icon-cache") "true"))
2098 #t)))))
6c4f7022
DC
2099 (native-inputs
2100 `(("glib:bin" ,glib "bin")
2101 ("intltool" ,intltool)
2102 ("pkg-config" ,pkg-config)
2103 ("docbook-xml" ,docbook-xml)
2104 ("docbook-xsl" ,docbook-xsl)
2105 ("libxml2" ,libxml2)
2106 ("libxslt" ,libxslt)))
2107 (inputs
262e660e
KK
2108 `(("elogind" ,elogind)
2109 ("glib" ,glib)
6c4f7022
DC
2110 ("appstream-glib" ,appstream-glib)
2111 ("gnome-settings-daemon" ,gnome-settings-daemon)
2112 ("gtk+" ,gtk+)
2113 ("libcanberra" ,libcanberra)
2114 ("libdvdread" ,libdvdread)
2115 ("libnotify" ,libnotify)
2116 ("libpwquality" ,libpwquality)
2117 ("libsecret" ,libsecret)
2118 ("udisks" ,udisks)))
2119 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
2120 (synopsis "Disk management utility for GNOME")
2121 (description "Disk management utility for GNOME.")
2122 (license license:gpl2+)))
2123
3d217317
RG
2124(define-public gnome-font-viewer
2125 (package
2126 (name "gnome-font-viewer")
2127 (version "3.30.0")
2128 (source (origin
2129 (method url-fetch)
2130 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
2131 (version-major+minor version)
2132 "/gnome-font-viewer-" version ".tar.xz"))
2133 (sha256
2134 (base32
2135 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
2136 (build-system meson-build-system)
2137 (arguments
2138 '(#:phases
2139 (modify-phases %standard-phases
2140 (add-after 'unpack 'patch-post-install-script
2141 (lambda _
2142 (substitute* "meson-postinstall.sh"
2143 (("update-desktop-database") (which "true")))
2144 #t)))))
2145 (native-inputs
2146 `(("gettext" ,gettext-minimal)
2147 ("glib:bin" ,glib "bin")
2148 ("pkg-config" ,pkg-config)))
2149 (inputs
2150 `(("glib" ,glib)
2151 ("gnome-desktop" ,gnome-desktop)
2152 ("gtk+" ,gtk+)))
2153 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
2154 (synopsis "GNOME Fonts")
2155 (description "Application to show you the fonts installed on your computer
2156for your use as thumbnails. Selecting any thumbnails shows the full view of how
2157the font would look under various sizes.")
2158 (license license:gpl2+)))
2159
8ff49011
RW
2160(define-public gcr
2161 (package
2162 (name "gcr")
1de804da 2163 (version "3.34.0")
8ff49011 2164 (source (origin
0daf0efb
RW
2165 (method url-fetch)
2166 (uri (string-append "mirror://gnome/sources/" name "/"
2167 (version-major+minor version) "/"
2168 name "-" version ".tar.xz"))
2169 (sha256
2170 (base32
1de804da 2171 "0925snsixzkwh49xiayqmj6fcrmklqk8kyy0jkv7m64h9abm1pr9"))))
8ff49011
RW
2172 (build-system gnu-build-system)
2173 (arguments
0daf0efb
RW
2174 '(#:phases
2175 (modify-phases %standard-phases
2176 ;; These fail because /var/lib/dbus/machine-id is not present in the
2177 ;; build environment.
2178 (add-after 'unpack 'disable-failing-tests
2179 (lambda _
1de804da
MB
2180 (substitute* "Makefile.in"
2181 (("[[:blank:]]+test-system-prompt\\$\\(EXEEXT\\)")
2182 ""))
0daf0efb
RW
2183 #t))
2184 (add-before 'check 'pre-check
2185 (lambda _
2186 ;; Some tests expect to write to $HOME.
2187 (setenv "HOME" "/tmp")
2188 #t)))))
8ff49011
RW
2189 (inputs
2190 `(("dbus" ,dbus)
0daf0efb 2191 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
2192 ("libgcrypt" ,libgcrypt)))
2193 (native-inputs
1de804da 2194 `(("python" ,python-wrapper) ;for tests
8ff49011 2195 ("pkg-config" ,pkg-config)
1de804da 2196 ("gettext" ,gettext-minimal)
8ff49011 2197 ("glib" ,glib "bin")
2af4f5b0 2198 ("gobject-introspection" ,gobject-introspection)
0daf0efb 2199 ("libxml2" ,libxml2)
bea6b829 2200 ("vala" ,vala)
2af4f5b0 2201 ("xsltproc" ,libxslt)))
8ff49011
RW
2202 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
2203 (propagated-inputs
2204 `(("p11-kit" ,p11-kit)
2205 ("glib" ,glib)
2206 ("gtk+" ,gtk+)))
f032d0be 2207 (home-page "https://www.gnome.org")
8ff49011
RW
2208 (synopsis "Libraries for displaying certificates and accessing key stores")
2209 (description
2210 "The GCR package contains libraries used for displaying certificates and
2211accessing key stores. It also provides the viewer for crypto files on the
2212GNOME Desktop.")
2213 (license license:lgpl2.1+)))
2214
88e61bd4
MC
2215(define-public gdl
2216 (package
2217 (name "gdl")
2218 (version "3.34.0")
2219 (source (origin
2220 (method git-fetch)
2221 (uri (git-reference
2222 (url "https://gitlab.gnome.org/GNOME/gdl.git")
2223 (commit (string-append "GDL_" (string-map (match-lambda
2224 (#\. #\_)
2225 (c c))
2226 version)))))
2227 (file-name (git-file-name name version))
2228 (sha256
2229 (base32
2230 "154qcr0x6f68f4q526y87imv0rscmp34n47nk1pp82rsq52h2zna"))))
2231 (build-system gnu-build-system)
88e61bd4
MC
2232 (native-inputs
2233 `(("autoconf" ,autoconf)
2234 ("automake" ,automake)
2235 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
2236 ("gnome-common" ,gnome-common)
2237 ("gtk-doc" ,gtk-doc)
2238 ("intltool" ,intltool)
2239 ("pkg-config" ,pkg-config)
2240 ("libtool" ,libtool)
2241 ("which" ,which)))
2242 (inputs
2243 `(("libxml2" ,libxml2)))
2244 (propagated-inputs
2245 ;; The gdl-3.0.pc file 'Requires' GTK+.
2246 `(("gtk+" ,gtk+)))
2247 (home-page "https://gitlab.gnome.org/GNOME/gdl/")
2248 (synopsis "GNOME docking library")
2249 (description "This library provides docking features for gtk+.")
2250 (license license:lgpl2.1+)))
2251
ca3adf26
MC
2252;;; A minimal variant used to break a cycle with Inkscape.
2253(define-public gdl-minimal
2254 (package
2255 (inherit gdl)
2256 (name "gdl-minimal")
2257 (arguments
70cf0113
EF
2258 '(#:phases
2259 (modify-phases %standard-phases
2260 (add-after 'unpack 'disable-doc-generation
2261 ;; XXX: There is no easy way to disable generating the
2262 ;; documentation.
2263 (lambda _
2264 (substitute* "configure.in"
2265 (("GTK_DOC_CHECK.*") "")
2266 (("docs/.*") ""))
2267 (substitute* "Makefile.am"
2268 (("gdl docs po") "gdl po"))
2269 #t)))))
ca3adf26
MC
2270 (native-inputs (alist-delete "gtk-doc" (package-native-inputs gdl)))))
2271
c1354b90
LC
2272(define-public libgnome-keyring
2273 (package
2274 (name "libgnome-keyring")
5e8aec2c 2275 (version "3.12.0")
c1354b90
LC
2276 (source (origin
2277 (method url-fetch)
b38e45d8
EB
2278 (uri (string-append "mirror://gnome/sources/" name "/"
2279 (version-major+minor version) "/"
2280 name "-" version ".tar.xz"))
c1354b90
LC
2281 (sha256
2282 (base32
5e8aec2c 2283 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 2284 (build-system gnu-build-system)
c1354b90 2285 (inputs
c4c4cc05 2286 `(("libgcrypt" ,libgcrypt)
c1354b90 2287 ("dbus" ,dbus)))
c4c4cc05
JD
2288 (native-inputs
2289 `(("pkg-config" ,pkg-config)
426adbe8 2290 ("glib" ,glib "bin")
c4c4cc05 2291 ("intltool" ,intltool)))
c1354b90
LC
2292 (propagated-inputs
2293 ;; Referred to in .h files and .pc.
2294 `(("glib" ,glib)))
f032d0be 2295 (home-page "https://www.gnome.org")
c1354b90
LC
2296 (synopsis "Accessing passwords from the GNOME keyring")
2297 (description
2298 "Client library to access passwords from the GNOME keyring.")
2299
2300 ;; Though a couple of files are LGPLv2.1+.
1dd26275 2301 (license license:lgpl2.0+)))
c1354b90 2302
e99a3d6f
RW
2303(define-public gnome-keyring
2304 (package
2305 (name "gnome-keyring")
14faeadd 2306 (version "3.34.0")
e99a3d6f
RW
2307 (source (origin
2308 (method url-fetch)
2309 (uri (string-append "mirror://gnome/sources/" name "/"
2310 (version-major+minor version) "/"
2311 name "-" version ".tar.xz"))
2312 (sha256
2313 (base32
14faeadd 2314 "0hqrsh5g9q9lm190f0m85q4nki8k4ng7wphl6qbccdry59aakkg9"))))
e99a3d6f
RW
2315 (build-system gnu-build-system)
2316 (arguments
2317 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
2318 ;not exist
2319 #:configure-flags
2320 (list
2321 (string-append "--with-pkcs11-config="
2322 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
2323 (string-append "--with-pkcs11-modules="
2324 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
2325 #:phases
2326 (modify-phases %standard-phases
ab35cc6e
RW
2327 (add-after 'unpack 'fix-/bin/sh-reference
2328 (lambda _
2329 (substitute* "po/Makefile.in.in"
2330 (("/bin/sh") (which "sh")))
2331 #t))
5120f24f
RW
2332 (add-after 'unpack 'fix-docbook
2333 (lambda* (#:key inputs #:allow-other-keys)
2334 (substitute* "docs/Makefile.am"
2335 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2336 (string-append (assoc-ref inputs "docbook-xsl")
2337 "/xml/xsl/docbook-xsl-"
2338 ,(package-version docbook-xsl)
2339 "/manpages/docbook.xsl")))
2340 (setenv "XML_CATALOG_FILES"
2341 (string-append (assoc-ref inputs "docbook-xml")
2342 "/xml/dtd/docbook/catalog.xml"))
2343 ;; Rerun the whole thing to avoid version mismatch ("This is
2344 ;; Automake 1.15.1, but the definition used by this
2345 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
2346 ;; use 'autoreconf' because it insists on running 'libtoolize'.
2347 (invoke "autoconf")
2348 (invoke "aclocal")
2349 (invoke "automake" "-ac"))))))
e99a3d6f
RW
2350 (inputs
2351 `(("libgcrypt" ,libgcrypt)
1a0b2d82 2352 ("linux-pam" ,linux-pam)
ab35cc6e 2353 ("openssh" ,openssh)
e99a3d6f
RW
2354 ("dbus" ,dbus)
2355 ("gcr" ,gcr)))
2356 (native-inputs
2357 `(("pkg-config" ,pkg-config)
2358 ("glib" ,glib "bin")
5120f24f 2359 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
2360 ("python" ,python-2) ;for tests
2361 ("intltool" ,intltool)
2362 ("autoconf" ,autoconf)
2363 ("automake" ,automake)
2364 ("libxslt" ,libxslt) ;for documentation
2365 ("docbook-xml" ,docbook-xml-4.2)
2366 ("docbook-xsl" ,docbook-xsl)))
f032d0be 2367 (home-page "https://www.gnome.org")
e99a3d6f
RW
2368 (synopsis "Daemon to store passwords and encryption keys")
2369 (description
2370 "gnome-keyring is a program that keeps passwords and other secrets for
2371users. It is run as a daemon in the session, similar to ssh-agent, and other
2372applications locate it via an environment variable or D-Bus.
2373
2374The program can manage several keyrings, each with its own master password,
2375and there is also a session keyring which is never stored to disk, but
2376forgotten when the session ends.")
2377 (license license:lgpl2.1+)))
2378
c1354b90
LC
2379(define-public evince
2380 (package
2381 (name "evince")
de08b5b2 2382 (version "3.36.5")
c1354b90
LC
2383 (source (origin
2384 (method url-fetch)
ac631328 2385 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 2386 (version-major+minor version) "/"
ac631328 2387 "evince-" version ".tar.xz"))
c1354b90
LC
2388 (sha256
2389 (base32
de08b5b2 2390 "0z79jl0j9xq9wgwkfr0d1w1qrdy4447y8shs407n5srr0vixc3bg"))))
121de2e1 2391 (build-system glib-or-gtk-build-system)
c1354b90 2392 (arguments
169b8f77 2393 `(#:configure-flags '("--disable-nautilus" "--enable-introspection")
554b2dac
SB
2394 #:phases
2395 (modify-phases %standard-phases
2396 (add-before 'install 'skip-gtk-update-icon-cache
2397 ;; Don't create 'icon-theme.cache'.
2398 (lambda _
2399 (substitute* "data/Makefile"
2400 (("gtk-update-icon-cache") "true"))
2401 #t)))))
c1354b90 2402 (inputs
9a096881
KK
2403 `(("libarchive" ,libarchive)
2404 ("libgxps" ,libgxps)
2405 ("libspectre" ,libspectre)
c769cf9f 2406 ("djvulibre" ,djvulibre)
c1354b90
LC
2407 ("ghostscript" ,ghostscript)
2408 ("poppler" ,poppler)
c769cf9f
SB
2409 ("libtiff" ,libtiff)
2410 ;; TODO:
c769cf9f
SB
2411 ;; Build libkpathsea as a shared library for DVI support.
2412 ;; ("libkpathsea" ,texlive-bin)
2413 ("gnome-desktop" ,gnome-desktop)
c1354b90 2414 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 2415 ("gspell" ,gspell)
c1354b90 2416 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 2417 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
2418 ("gdk-pixbuf" ,gdk-pixbuf)
2419 ("atk" ,atk)
2420 ("pango" ,pango)
2421 ("gtk+" ,gtk+)
2422 ("glib" ,glib)
2423 ("libxml2" ,libxml2)
c1354b90
LC
2424 ("libsm" ,libsm)
2425 ("libice" ,libice)
96e42467 2426 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
2427 ("dconf" ,dconf)
2428 ("libcanberra" ,libcanberra)
c769cf9f 2429 ("libsecret" ,libsecret)
a271096b 2430
c1354b90
LC
2431 ;; For tests.
2432 ("dogtail" ,python2-dogtail)))
96e42467 2433 (native-inputs
bcb354ad
SB
2434 `(("itstool" ,itstool)
2435 ("intltool" ,intltool)
426adbe8 2436 ("glib" ,glib "bin")
169b8f77 2437 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
2438 ("pkg-config" ,pkg-config)
2439 ("xmllint" ,libxml2)))
6f64a05e 2440 (home-page "https://www.gnome.org/projects/evince/")
c1354b90
LC
2441 (synopsis "GNOME's document viewer")
2442 (description
2443 "Evince is a document viewer for multiple document formats. It
2444currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
2445of Evince is to replace the multiple document viewers that exist
96e42467 2446on the GNOME Desktop with a single simple application.")
1dd26275 2447 (license license:gpl2+)))
c1354b90 2448
22e32e69
AE
2449(define-public gsettings-desktop-schemas
2450 (package
2451 (name "gsettings-desktop-schemas")
8468117e 2452 (version "3.34.0")
22e32e69
AE
2453 (source
2454 (origin
2455 (method url-fetch)
2456 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2457 (version-major+minor version) "/"
22e32e69
AE
2458 name "-" version ".tar.xz"))
2459 (sha256
2460 (base32
8468117e 2461 "1bayr76aylawf2fhyjhv9zgk4kpv7ivrrmd80khb0h3h1wk092r8"))))
c900dabd 2462 (build-system meson-build-system)
65209ffa
LC
2463 (arguments
2464 '(#:phases (modify-phases %standard-phases
3861fb1c 2465 (add-after 'unpack 'patch-schemas
65209ffa 2466 (lambda* (#:key inputs #:allow-other-keys)
65209ffa
LC
2467 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
2468 (substitute* (find-files "schemas"
2469 "\\.gschema\\.xml\\.in$")
3861fb1c
LP
2470 ;; Provide the correct file name of the default GNOME
2471 ;; background, 'adwaita-timed.xml'.
65209ffa 2472 (("@datadir@/backgrounds/gnome")
3861fb1c
LP
2473 (string-append theme "/share/backgrounds/gnome"))
2474 ;; Do not reference fonts, that may not exist.
2475 (("'Source Code Pro 10'") "'Monospace 11'"))
65209ffa 2476 #t))))))
22e32e69 2477 (inputs
65209ffa
LC
2478 `(("glib" ,glib)
2479 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
2480 (native-inputs
2481 `(("intltool" ,intltool)
426adbe8 2482 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 2483 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
2484 ("pkg-config" ,pkg-config)))
2485 (home-page "https://launchpad.net/gsettings-desktop-schemas")
2486 (synopsis
2487 "GNOME settings for various desktop components")
2488 (description
2489 "Gsettings-desktop-schemas contains a collection of GSettings schemas
2490for settings shared by various components of the GNOME desktop.")
1dd26275 2491 (license license:lgpl2.1+)))
22e32e69 2492
27477d2d
AE
2493(define-public icon-naming-utils
2494 (package
2495 (name "icon-naming-utils")
2496 (version "0.8.90")
2497 (source
2498 (origin
2499 (method url-fetch)
5cc3096c 2500 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
2501 version ".tar.bz2"))
2502 (sha256
2503 (base32
2504 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
2505 (build-system gnu-build-system)
2506 (inputs
2507 `(("perl" ,perl)
2508 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
2509 (arguments
2510 '(#:phases
dc1d3cde
KK
2511 (modify-phases %standard-phases
2512 (add-after 'install 'set-load-paths
2513 ;; Tell 'icon-name-mapping' where XML::Simple is.
2514 (lambda* (#:key outputs #:allow-other-keys)
2515 (let* ((out (assoc-ref outputs "out"))
2516 (prog (string-append out "/libexec/icon-name-mapping")))
2517 (wrap-program
2518 prog
2519 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
2520 #t)))))
27477d2d
AE
2521 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
2522 (synopsis
2523 "Utility to implement the Freedesktop Icon Naming Specification")
2524 (description
2525 "To help with the transition to the Freedesktop Icon Naming
2526Specification, the icon naming utility maps the icon names used by the
2527GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 2528 (license license:lgpl2.1+)))
27477d2d 2529
7d3f3651
AE
2530(define-public gnome-icon-theme
2531 (package
2532 (name "gnome-icon-theme")
b32f58dd 2533 (version "3.12.0")
7d3f3651
AE
2534 (source
2535 (origin
2536 (method url-fetch)
2537 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2538 (version-major+minor version) "/"
7d3f3651
AE
2539 name "-" version ".tar.xz"))
2540 (sha256
2541 (base32
b32f58dd 2542 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 2543 (build-system gnu-build-system)
5613c27d
SB
2544 (arguments
2545 '(#:configure-flags
2546 ;; Don't create 'icon-theme.cache'.
2547 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
2548 (true (string-append coreutils "/bin/true")))
2549 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 2550 (native-inputs
5613c27d 2551 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
2552 ("intltool" ,intltool)
2553 ("pkg-config" ,pkg-config)))
5c610d4f
KK
2554 (home-page "https://wiki.gnome.org/Personalization")
2555 (synopsis "GNOME icon theme")
2556 (description "Icons for the GNOME desktop.")
1dd26275 2557 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 2558
14eeefa2
SB
2559;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
2560(define-public adwaita-icon-theme
2561 (package (inherit gnome-icon-theme)
2562 (name "adwaita-icon-theme")
e21788f2 2563 (version "3.34.3")
14eeefa2
SB
2564 (source (origin
2565 (method url-fetch)
2566 (uri (string-append "mirror://gnome/sources/" name "/"
2567 (version-major+minor version) "/"
2568 name "-" version ".tar.xz"))
2569 (sha256
2570 (base32
e21788f2 2571 "025rj1fskw1y448hiar4a9icyzpyr242nlh9xhsmyp8jb71dihp7"))))
5613c27d
SB
2572 (native-inputs
2573 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 2574
ae792dba
RW
2575(define-public tango-icon-theme
2576 (package
2577 (name "tango-icon-theme")
2578 (version "0.8.90")
2579 (source (origin
2580 (method url-fetch)
2581 (uri (string-append "http://tango.freedesktop.org/releases/"
2582 "tango-icon-theme-" version ".tar.bz2"))
2583 (sha256
2584 (base32
2585 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
2586 (build-system gnu-build-system)
2587 (native-inputs
2588 `(("icon-naming-utils" ,icon-naming-utils)
2589 ("intltool" ,intltool)
2590 ("imagemagick" ,imagemagick)
2591 ("pkg-config" ,pkg-config)))
2592 (home-page "http://tango-project.org/")
2593 (synopsis "Tango icon theme")
2594 (description "This is an icon theme that follows the Tango visual
2595guidelines.")
2596 (license license:public-domain)))
2597
9167f8e6
LC
2598(define-public shared-mime-info
2599 (package
2600 (name "shared-mime-info")
404e386e 2601 (version "1.15")
9167f8e6
LC
2602 (source (origin
2603 (method url-fetch)
404e386e
MB
2604 (uri (string-append
2605 "https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/"
2606 "b27eb88e4155d8fccb8bb3cd12025d5b/shared-mime-info-" version
2607 ".tar.xz"))
9167f8e6
LC
2608 (sha256
2609 (base32
404e386e 2610 "146vynj78wcwdq0ms52jzm1r4m6dzi1rhyh3h4xyb6bw8ckv10pl"))))
9167f8e6
LC
2611 (build-system gnu-build-system)
2612 (arguments
2613 ;; The build system appears not to be parallel-safe.
2614 '(#:parallel-build? #f))
2615 (inputs
2616 `(("glib" ,glib)
c4c4cc05 2617 ("libxml2" ,libxml2)))
9167f8e6 2618 (native-inputs
404e386e
MB
2619 `(("gettext" ,gettext-minimal)
2620 ("itstool" ,itstool)
c4c4cc05 2621 ("pkg-config" ,pkg-config)))
57e7d748 2622 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
2623 (synopsis "Database of common MIME types")
2624 (description
2625 "The shared-mime-info package contains the core database of common types
2626and the update-mime-database command used to extend it. It requires glib2 to
2627be installed for building the update command. Additionally, it uses intltool
2628for translations, though this is only a dependency for the maintainers. This
2629database is translated at Transifex.")
1dd26275 2630 (license license:gpl2+)))
9167f8e6 2631
dd1fcddc
CB
2632(define-public system-config-printer
2633 (package
2634 (name "system-config-printer")
fa01e10d 2635 (version "1.5.12")
a5643044
TGR
2636 (source
2637 (origin
2638 (method url-fetch)
2639 (uri (string-append
2640 "https://github.com/OpenPrinting/system-config-printer/releases/"
2641 "download/" version
2642 "/system-config-printer-" version ".tar.xz"))
2643 (sha256
fa01e10d 2644 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
2645 (build-system glib-or-gtk-build-system)
2646 (arguments
2647 `(#:imported-modules ((guix build python-build-system)
2648 ,@%glib-or-gtk-build-system-modules)
2649 #:phases
2650 (modify-phases %standard-phases
2651 (add-after 'unpack 'patch-Makefile.am
2652 (lambda _
2653 ;; The Makefile generates some scripts, so set a valid shebang
2654 (substitute* "Makefile.am"
2655 (("/bin/bash") (which "bash")))
2656 (delete-file "configure")
2657 #t))
2658 (add-after 'unpack 'patch-docbook-xml
2659 (lambda* (#:key inputs #:allow-other-keys)
2660 ;; Modify the man XML otherwise xmlto tries to access the network
2661 (substitute* "man/system-config-printer.xml"
2662 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
2663 (string-append (assoc-ref inputs "docbook-xml")
2664 "/xml/dtd/docbook/")))
2665 #t))
2666 (add-after 'install 'wrap-for-python
2667 (@@ (guix build python-build-system) wrap))
2668 (add-after 'install 'wrap
2669 (lambda* (#:key outputs #:allow-other-keys)
2670 (let ((out (assoc-ref outputs "out"))
2671 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
2672 (for-each
2673 (lambda (program)
2674 (wrap-program program
2675 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
2676 (map (lambda (name)
2677 (string-append out "/bin/" name))
2678 '("system-config-printer"
2679 "system-config-printer-applet"
2680 "install-printerdriver"
2681 "scp-dbus-service"))))
2682 #t)))))
2683 (inputs
2684 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2685 ("gobject-introspection" ,gobject-introspection)
2686 ("python" ,python)
2687 ("cups" ,cups)
92b9cdd5 2688 ("gtk+" ,gtk+)
dd1fcddc
CB
2689 ("python-dbus" ,python-dbus)
2690 ("python-pygobject" ,python-pygobject)
2691 ("python-pycups" ,python-pycups)
2692 ("python-requests" ,python-requests)
2693 ("python-pycairo" ,python-pycairo)
2694 ("libnotify" ,libnotify)
2695 ("packagekit" ,packagekit)))
2696 (native-inputs
2697 `(("pkg-config" ,pkg-config)
2698 ("desktop-file-utils" ,desktop-file-utils)
2699 ("glib" ,glib)
2700 ("autoconf" ,autoconf)
2701 ("automake" ,automake)
2702 ("intltool" ,intltool)
2703 ("xmlto" ,xmlto)
2704 ("docbook-xml" ,docbook-xml-4.1.2)
2705 ("docbook-xsl" ,docbook-xsl)
2706 ("libxml2" ,libxml2)))
2707 (home-page "https://github.com/zdohnal/system-config-printer")
2708 (synopsis "CUPS administration tool")
2709 (description
2710 "system-config-printer is a CUPS administration tool. It's written in
2711Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
2712configuring CUPS.")
2713 (license license:gpl2+)))
2714
bef4dd92
AE
2715(define-public hicolor-icon-theme
2716 (package
2717 (name "hicolor-icon-theme")
851cb6dd 2718 (version "0.17")
bef4dd92
AE
2719 (source
2720 (origin
2721 (method url-fetch)
5cc3096c 2722 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 2723 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
2724 (sha256
2725 (base32
851cb6dd 2726 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
2727 (build-system gnu-build-system)
2728 (arguments
2729 `(#:tests? #f)) ; no check target
57e7d748 2730 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
2731 (synopsis
2732 "Freedesktop icon theme")
2733 (description
2734 "Freedesktop icon theme.")
1dd26275 2735 (license license:gpl2)))
bef4dd92 2736
d9c1a22b
AE
2737(define-public libnotify
2738 (package
2739 (name "libnotify")
195bfa68 2740 (version "0.7.7")
d9c1a22b
AE
2741 (source
2742 (origin
2743 (method url-fetch)
2744 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2745 (version-major+minor version) "/"
d9c1a22b
AE
2746 name "-" version ".tar.xz"))
2747 (sha256
2748 (base32
195bfa68 2749 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 2750 (build-system gnu-build-system)
6acf6cec
MB
2751 (arguments
2752 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
2753 (propagated-inputs
2754 `(;; In Requires of libnotify.pc.
2755 ("gdk-pixbuf" ,gdk-pixbuf)
2756 ("glib" ,glib)))
d9c1a22b 2757 (inputs
7ef08efa 2758 `(("gtk+" ,gtk+)
c4c4cc05
JD
2759 ("libpng" ,libpng)))
2760 (native-inputs
426adbe8 2761 `(("pkg-config" ,pkg-config)
277a7d82
JN
2762 ("glib" ,glib "bin")
2763 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
2764 (home-page "https://developer-next.gnome.org/libnotify/")
2765 (synopsis
2766 "GNOME desktop notification library")
2767 (description
2768 "Libnotify is a library that sends desktop notifications to a
35b9e423 2769notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
2770notifications can be used to inform the user about an event or display
2771some form of information without getting in the user's way.")
1dd26275 2772 (license license:lgpl2.1+)))
7a8605ce
CR
2773
2774(define-public libpeas
2775 (package
2776 (name "libpeas")
f2d56e39 2777 (version "1.24.1")
7a8605ce
CR
2778 (source
2779 (origin
2780 (method url-fetch)
2781 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2782 (version-major+minor version) "/"
7a8605ce
CR
2783 name "-" version ".tar.xz"))
2784 (sha256
2785 (base32
f2d56e39
MB
2786 "1162dr7smmfb02czmhshr0f93hqj7w0nw29bys5lzfvwarxcyflw"))))
2787 (build-system meson-build-system)
2788 (arguments
2789 '(#:phases
2790 (modify-phases %standard-phases
2791 (add-before 'check 'start-xserver
2792 (lambda* (#:key inputs #:allow-other-keys)
2793 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2794 (disp ":1"))
2795 (setenv "DISPLAY" disp)
2796 ;; Tests require a running X server.
2797 (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))
2798 #t))))))
7a8605ce 2799 (inputs
2ed6522a
SB
2800 `(("gtk+" ,gtk+)
2801 ("glade" ,glade3)
2ed6522a
SB
2802 ("python" ,python)
2803 ("python-pygobject" ,python-pygobject)))
141aed80
LC
2804 (native-inputs
2805 `(("pkg-config" ,pkg-config)
f2d56e39 2806 ("gettext" ,gettext-minimal)
93622993 2807 ("glib:bin" ,glib "bin")
141aed80 2808 ("gobject-introspection" ,gobject-introspection)
f2d56e39 2809 ("xorg-server" ,xorg-server-for-tests)))
55b7bbd8
LC
2810 (propagated-inputs
2811 ;; The .pc file "Requires" gobject-introspection.
2812 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
2813 (home-page "https://wiki.gnome.org/Libpeas")
2814 (synopsis "GObject plugin system")
2815 (description
d1e4ad1b
TGR
2816 "Libpeas is a gobject-based plugin engine, targeted at giving every
2817application the chance to assume its own extensibility. It also has a set of
2818features including, but not limited to: multiple extension points; on-demand
2819(lazy) programming language support for C, Python and JS; simplicity of the
2820API.")
1dd26275 2821 (license license:lgpl2.0+)))
ed19903d
JD
2822
2823(define-public gtkglext
2824 (package
2825 (name "gtkglext")
2826 (version "1.2.0")
2827 (source (origin
2828 (method url-fetch)
0f971a04 2829 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
2830 version "/gtkglext-" version ".tar.gz"))
2831 (sha256
2832 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
2833 (patches (search-patches
2834 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 2835 (build-system gnu-build-system)
14e2f61a
RW
2836 (arguments
2837 `(#:phases
2838 (modify-phases %standard-phases
2839 ;; Fix a collision between a local variable and a definition from
2840 ;; glibc's string.h.
2841 (add-after 'unpack 'fix-collision
2842 (lambda _
2843 (substitute* "gdk/gdkglshapes.c"
2844 ((" index") " triangle_index"))
2845 #t)))))
ed19903d
JD
2846 (inputs `(("gtk+" ,gtk+-2)
2847 ("mesa" ,mesa)
cc8b02f4 2848 ("glu" ,glu)
ed19903d
JD
2849 ("libx11" ,libx11)
2850 ("libxt" ,libxt)))
426adbe8
LC
2851 (native-inputs `(("pkg-config" ,pkg-config)
2852 ("glib" ,glib "bin")))
a83b6a06 2853 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 2854 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 2855 (synopsis "OpenGL extension to GTK+")
35b9e423 2856 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
2857additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
2858API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 2859 (license license:lgpl2.1+)))
3600420e
JD
2860
2861(define-public glade3
2862 (package
2863 (name "glade")
031315e4 2864 (version "3.36.0")
b38e45d8
EB
2865 (source (origin
2866 (method url-fetch)
2867 (uri (string-append "mirror://gnome/sources/" name "/"
2868 (version-major+minor version) "/"
f5ca44b8 2869 name "-" version ".tar.xz"))
3600420e 2870 (sha256
f714d9fe 2871 (base32
031315e4 2872 "023gx8rj51njn8fsb6ma5kz1irjpxi4js0n8rwy22inc4ysldd8r"))))
6983ba56 2873 (build-system glib-or-gtk-build-system)
f5ca44b8 2874 (arguments
ec8e1c91 2875 `(#:phases
f5ca44b8
RW
2876 (modify-phases %standard-phases
2877 (add-before 'configure 'fix-docbook
2878 (lambda* (#:key inputs #:allow-other-keys)
2879 (substitute* "man/Makefile.in"
2880 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2881 (string-append (assoc-ref inputs "docbook-xsl")
2882 "/xml/xsl/docbook-xsl-"
2883 ,(package-version docbook-xsl)
2884 "/manpages/docbook.xsl")))
ec8e1c91
AI
2885 #t))
2886 (add-before 'check 'pre-check
2887 (lambda _
2888 (setenv "HOME" "/tmp")
2889 ;; Tests require a running X server.
2890 (system "Xvfb :1 &")
2891 (setenv "DISPLAY" ":1")
f5ca44b8 2892 #t)))))
3600420e 2893 (inputs
f5ca44b8 2894 `(("gtk+" ,gtk+)
3600420e
JD
2895 ("libxml2" ,libxml2)))
2896 (native-inputs
ec8e1c91
AI
2897 `(("hicolor-icon-theme" ,hicolor-icon-theme)
2898 ("intltool" ,intltool)
f5ca44b8
RW
2899 ("itstool" ,itstool)
2900 ("libxslt" ,libxslt) ;for xsltproc
2901 ("docbook-xml" ,docbook-xml-4.2)
2902 ("docbook-xsl" ,docbook-xsl)
2903 ("python" ,python-2)
ec8e1c91
AI
2904 ("pkg-config" ,pkg-config)
2905 ("xorg-server" ,xorg-server-for-tests)))
3600420e
JD
2906 (home-page "https://glade.gnome.org")
2907 (synopsis "GTK+ rapid application development tool")
2908 (description "Glade is a rapid application development (RAD) tool to
2909enable quick & easy development of user interfaces for the GTK+ toolkit and
2910the GNOME desktop environment.")
1dd26275
LC
2911 (license license:lgpl2.0+)))
2912
2913(define-public libcroco
2914 (package
2915 (name "libcroco")
8bdacad2 2916 (version "0.6.13")
1dd26275
LC
2917 (source (origin
2918 (method url-fetch)
b38e45d8
EB
2919 (uri (string-append "mirror://gnome/sources/" name "/"
2920 (version-major+minor version) "/"
2921 name "-" version ".tar.xz"))
1dd26275
LC
2922 (sha256
2923 (base32
8bdacad2 2924 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
2925 (build-system gnu-build-system)
2926 (native-inputs
2927 `(("pkg-config" ,pkg-config)))
2928 (inputs
2929 `(("glib" ,glib)
2930 ("libxml2" ,libxml2)
2931 ("zlib" ,zlib)))
2932 (home-page "https://github.com/GNOME/libcroco")
2933 (synopsis "CSS2 parsing and manipulation library")
2934 (description
2935 "Libcroco is a standalone CSS2 parsing and manipulation library.
2936The parser provides a low level event driven SAC-like API and a CSS object
2937model like API. Libcroco provides a CSS2 selection engine and an experimental
2938XML/CSS rendering engine.")
2939
2940 ;; LGPLv2.1-only.
2941 (license license:lgpl2.1)))
25178594
LC
2942
2943(define-public libgsf
2944 (package
2945 (name "libgsf")
2b9b854c 2946 (version "1.14.47")
25178594
LC
2947 (source (origin
2948 (method url-fetch)
b38e45d8
EB
2949 (uri (string-append "mirror://gnome/sources/" name "/"
2950 (version-major+minor version) "/"
2951 name "-" version ".tar.xz"))
25178594
LC
2952 (sha256
2953 (base32
2b9b854c 2954 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
25178594 2955 (build-system gnu-build-system)
23904adb
MB
2956 (arguments
2957 '(#:configure-flags '("--disable-static")))
25178594 2958 (native-inputs
0a1559cc
MB
2959 `(("pkg-config" ,pkg-config)
2960 ("gettext" ,gettext-minimal)
2961
2962 ;; For tests.
2963 ("perl" ,perl)
2964 ("perl-xml-parser" ,perl-xml-parser)))
25178594 2965 (inputs
4ffa9f6b 2966 `(("zlib" ,zlib)
25178594
LC
2967 ("bzip2" ,bzip2)))
2968 (propagated-inputs
2969 `(("gdk-pixbuf" ,gdk-pixbuf)
2970 ("glib" ,glib)
2971 ("libxml2" ,libxml2)))
f032d0be 2972 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
2973 (synopsis "GNOME's Structured File Library")
2974 (description
2975 "Libgsf aims to provide an efficient extensible I/O abstraction for
2976dealing with different structured file formats.")
2977
2978 ;; LGPLv2.1-only.
2979 (license license:lgpl2.1)))
63016e7c
LC
2980
2981(define-public librsvg
f67417a1
MB
2982 (package
2983 (name "librsvg")
c1cc52a2 2984 (version "2.40.21")
f67417a1
MB
2985 (source (origin
2986 (method url-fetch)
2987 (uri (string-append "mirror://gnome/sources/" name "/"
2988 (version-major+minor version) "/"
2989 name "-" version ".tar.xz"))
2990 (sha256
2991 (base32
c1cc52a2 2992 "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))
f67417a1
MB
2993 (build-system gnu-build-system)
2994 (arguments
2995 `(#:configure-flags
2996 (list "--disable-static"
2997 "--enable-vala") ; needed for e.g. gnome-mines
2998 #:phases
2999 (modify-phases %standard-phases
3000 (add-before 'configure 'pre-configure
3001 (lambda* (#:key inputs #:allow-other-keys)
3002 (substitute* "gdk-pixbuf-loader/Makefile.in"
3003 ;; By default the gdk-pixbuf loader is installed under
3004 ;; gdk-pixbuf's prefix. Work around that.
3005 (("gdk_pixbuf_moduledir = .*$")
3006 (string-append "gdk_pixbuf_moduledir = "
3007 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
3008 "loaders\n"))
3009 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
3010 (("gdk_pixbuf_cache_file = .*$")
3011 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
3012 #t))
3013 (add-before 'check 'remove-failing-tests
3014 (lambda _
3015 (with-directory-excursion "tests/fixtures/reftests"
3016 (for-each delete-file
3017 '(;; This test fails on i686:
3018 "svg1.1/masking-path-04-b.svg"
3019 ;; This test fails on armhf:
3020 "svg1.1/masking-mask-01-b.svg"
3021 ;; This test fails on aarch64:
3022 "bugs/777834-empty-text-children.svg")))
3023 #t)))))
3024 (native-inputs
3025 `(("pkg-config" ,pkg-config)
3026 ("vala" ,vala)
3027 ("glib" ,glib "bin") ; glib-mkenums, etc.
3028 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
3029 (inputs
869b63cb
MB
3030 `(;; XXX: 1.44 causes some test failures, so we stick with 1.42 for
3031 ;; this ancient version of librsvg.
3032 ("pango" ,pango-1.42)
f67417a1
MB
3033 ("libcroco" ,libcroco)
3034 ("bzip2" ,bzip2)
3035 ("libgsf" ,libgsf)
3036 ("libxml2" ,libxml2)))
3037 (propagated-inputs
3038 ;; librsvg-2.0.pc refers to all of that.
3039 `(("cairo" ,cairo)
3040 ("gdk-pixbuf" ,gdk-pixbuf)
3041 ("glib" ,glib)))
3042 (home-page "https://wiki.gnome.org/LibRsvg")
3043 (synopsis "Render SVG files using Cairo")
3044 (description
3045 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
3046library.")
3047 (license license:lgpl2.0+)))
3048
3049(define-public librsvg-next
63016e7c
LC
3050 (package
3051 (name "librsvg")
4f9db569 3052 (version "2.48.8")
69568670
EF
3053 (source (origin
3054 (method url-fetch)
3055 (uri (string-append "mirror://gnome/sources/librsvg/"
3056 (version-major+minor version) "/"
3057 "librsvg-" version ".tar.xz"))
3058 (sha256
3059 (base32
4f9db569 3060 "14i6xzghcidv64cyd3g0wdjbl82rph737yxn9s3x29nzpcjs707l"))
69568670
EF
3061 (modules '((guix build utils)))
3062 (snippet
3063 '(begin (delete-file-recursively "vendor")
69568670
EF
3064 #t))))
3065 (build-system cargo-build-system)
b030bc0c 3066 (outputs '("out" "doc"))
63016e7c 3067 (arguments
b030bc0c
RG
3068 `(#:modules
3069 ((guix build cargo-build-system)
3070 (guix build utils)
3071 ((guix build gnu-build-system) #:prefix gnu:))
69568670
EF
3072 #:cargo-inputs
3073 (("rust-bitflags" ,rust-bitflags-1)
4f9db569 3074 ("rust-cairo-rs" ,rust-cairo-rs-0.8)
69568670 3075 ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
4f9db569
EF
3076 ("rust-cast" ,rust-cast-0.2)
3077 ("rust-cssparser" ,rust-cssparser-0.27)
69568670
EF
3078 ("rust-data-url" ,rust-data-url-0.1)
3079 ("rust-downcast-rs" ,rust-downcast-rs-1.1)
3080 ("rust-encoding" ,rust-encoding-0.2)
4f9db569
EF
3081 ("rust-float-cmp" ,rust-float-cmp-0.6)
3082 ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8)
69568670 3083 ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
4f9db569 3084 ("rust-gio" ,rust-gio-0.8)
69568670 3085 ("rust-gio-sys" ,rust-gio-sys-0.9)
4f9db569 3086 ("rust-glib" ,rust-glib-0.9)
69568670
EF
3087 ("rust-glib-sys" ,rust-glib-sys-0.9)
3088 ("rust-gobject-sys" ,rust-gobject-sys-0.9)
3089 ("rust-itertools" ,rust-itertools-0.8)
3090 ("rust-language-tags" ,rust-language-tags-0.2)
69568670
EF
3091 ("rust-libc" ,rust-libc-0.2)
3092 ("rust-locale-config" ,rust-locale-config-0.3)
4f9db569
EF
3093 ("rust-markup5ever" ,rust-markup5ever-0.10)
3094 ("rust-nalgebra" ,rust-nalgebra-0.19)
69568670 3095 ("rust-num-traits" ,rust-num-traits-0.2)
4f9db569 3096 ("rust-once-cell" ,rust-once-cell-1.2)
69568670 3097 ("rust-pkg-config" ,rust-pkg-config-0.3)
4f9db569 3098 ("rust-pango" ,rust-pango-0.8)
69568670 3099 ("rust-pango-sys" ,rust-pango-sys-0.9)
4f9db569 3100 ("rust-pangocairo" ,rust-pangocairo-0.9)
a5630553 3101 ("rust-rayon" ,rust-rayon-1)
69568670 3102 ("rust-rctree" ,rust-rctree-0.3)
4f9db569 3103 ("rust-rgb" ,rust-rgb-0.8)
6cd7b355 3104 ("rust-regex" ,rust-regex-1)
4f9db569 3105 ("rust-selectors" ,rust-selectors-0.22)
69568670 3106 ("rust-url" ,rust-url-2.1)
4f9db569 3107 ("rust-xml5ever" ,rust-xml5ever-0.16))
69568670 3108 #:cargo-development-inputs
4f9db569
EF
3109 (("rust-cairo-rs" ,rust-cairo-rs-0.8)
3110 ("rust-criterion" ,rust-criterion-0.3))
ec47c07d 3111 #:phases
b6239e45 3112 (modify-phases %standard-phases
b030bc0c
RG
3113 (add-after 'unpack 'patch-docbook-xml
3114 (lambda* (#:key inputs #:allow-other-keys)
3115 (with-directory-excursion "doc"
3116 (substitute* "rsvg-docs.xml"
3117 (("http://www.oasis-open.org/docbook/xml/4.3/")
3118 (string-append (assoc-ref inputs "docbook-xml")
3119 "/xml/dtd/docbook/"))))
3120 #t))
69568670 3121 (add-after 'unpack 'prepare-for-build
ec47c07d 3122 (lambda _
69568670 3123 ;; In lieu of #:make-flags
4f9db569 3124 (setenv "CC" ,(cc-for-target))
69568670
EF
3125 ;; Something about the build environment resists building
3126 ;; successfully with the '--locked' flag.
b030bc0c 3127 (substitute* '("Makefile.am" "Makefile.in")
69568670
EF
3128 (("--locked") ""))
3129 #t))
b6239e45 3130 (add-before 'configure 'pre-configure
69568670 3131 (lambda _
b6239e45
EF
3132 (substitute* "gdk-pixbuf-loader/Makefile.in"
3133 ;; By default the gdk-pixbuf loader is installed under
3134 ;; gdk-pixbuf's prefix. Work around that.
3135 (("gdk_pixbuf_moduledir = .*$")
3136 (string-append "gdk_pixbuf_moduledir = "
3137 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
b030bc0c 3138 "loaders\n"))
b6239e45
EF
3139 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
3140 (("gdk_pixbuf_cache_file = .*$")
3141 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
3142 #t))
69568670 3143 (add-after 'configure 'gnu-configure
4b16cb64
EF
3144 (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
3145 ((assoc-ref gnu:%standard-phases 'configure)
3146 #:native-inputs native-inputs
3147 #:inputs inputs
3148 #:outputs outputs
b030bc0c
RG
3149 #:configure-flags
3150 (list "--disable-static"
3151 "--enable-vala"
3152 (string-append "--with-html-dir="
3153 (assoc-ref %outputs "doc")
3154 "/share/gtk-doc/html")))))
69568670
EF
3155 (add-after 'configure 'dont-vendor-self
3156 (lambda* (#:key vendor-dir #:allow-other-keys)
3157 ;; Don't keep the whole tarball in the vendor directory
3158 (delete-file-recursively
b030bc0c 3159 (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))
69568670
EF
3160 #t))
3161 (replace 'build
3162 (assoc-ref gnu:%standard-phases 'build))
3163 (replace 'check
3164 (lambda* args
3165 ((assoc-ref gnu:%standard-phases 'check)
3166 #:test-target "check")))
3167 (replace 'install
4f9db569 3168 (assoc-ref gnu:%standard-phases 'install)))))
b030bc0c
RG
3169 (native-inputs
3170 `(("docbook-xml" ,docbook-xml-4.3)
3171 ("glib" ,glib "bin")
3172 ("gobject-introspection" ,gobject-introspection)
3173 ("pkg-config" ,pkg-config)
3174 ("python" ,python-wrapper)
3175 ("ruby" ,ruby)
3176 ("vala" ,vala)))
4f9db569 3177 (inputs
b030bc0c
RG
3178 `(("bzip2" ,bzip2)
3179 ("fontconfig" ,fontconfig)
3180 ("freetype" ,freetype)
3181 ("harfbuzz" ,harfbuzz)
3182 ("libcroco" ,libcroco)
3183 ("libgsf" ,libgsf)
3184 ("libxml2" ,libxml2)
3185 ("pango" ,pango)))
3186 (propagated-inputs
3187 `(("cairo" ,cairo)
3188 ("gdk-pixbuf" ,gdk-pixbuf)
3189 ("glib" ,glib)))
3190 (synopsis "SVG rendering library")
3191 (description "Librsvg is a library to render SVG images to Cairo surfaces.
3192GNOME uses this to render SVG icons. Outside of GNOME, other desktop
3193environments use it for similar purposes. Wikimedia uses it for Wikipedia's SVG
3194diagrams.")
3195 (home-page "https://wiki.gnome.org/LibRsvg")
cf9dad6c 3196 (license license:lgpl2.1+)))
5698b8b8
JD
3197
3198(define-public libidl
3199 (package
3200 (name "libidl")
3201 (version "0.8.14")
3202 (source (origin
3203 (method url-fetch)
80a06e62
EF
3204 (uri (string-append "mirror://gnome/sources/libIDL/"
3205 (version-major+minor version) "/"
3206 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
3207 (sha256
3208 (base32
3209 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
3210 (build-system gnu-build-system)
3211 (inputs `(("glib" ,glib)))
3212 (native-inputs
3213 `(("pkg-config" ,pkg-config)
b3546174 3214 ("flex" ,flex)
5698b8b8
JD
3215 ("bison" ,bison)))
3216 (home-page "http://freecode.com/projects/libidl")
3217 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 3218 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
3219Definition Language (idl) files, which is a specification for defining
3220portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 3221GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 3222functionality was designed to be as reusable and portable as possible.")
ef2c55bb 3223 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
3224 (license license:lgpl2.0+)))
3225
3226
3227(define-public orbit2
3228 (package
3229 (name "orbit2")
3230 (version "2.14.19")
3231 (source (origin
3232 (method url-fetch)
2e6ecc5c 3233 (uri (let ((upstream-name "ORBit2"))
a124bbd2 3234 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
3235 (version-major+minor version) "/"
3236 upstream-name "-" version ".tar.bz2")))
5698b8b8 3237 (sha256
a124bbd2
SB
3238 (base32
3239 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
3240 (build-system gnu-build-system)
3241 (arguments
c2d837b9
MB
3242 `(;; The "timeout-server" test hangs when run in parallel.
3243 #:parallel-tests? #f
3244 #:configure-flags
8aad2e32
LC
3245 '(;; We don't need static libraries, plus they don't build reproducibly
3246 ;; (non-deterministic ordering of .o files in the archive.)
3247 "--disable-static"
3248
3249 ;; The programmer kindly gives us a hook to turn off deprecation
3250 ;; warnings ...
3251 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
3252 ;; ... which they then completly ignore !!
3253 #:phases
dc1d3cde
KK
3254 (modify-phases %standard-phases
3255 (add-before 'configure 'ignore-deprecations
3256 (lambda _
3257 (substitute* "linc2/src/Makefile.in"
3258 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
3259 #t)))))
5698b8b8
JD
3260 (inputs `(("glib" ,glib)
3261 ("libidl" ,libidl)))
3262 (native-inputs
3263 `(("pkg-config" ,pkg-config)))
3264 (home-page "https://projects.gnome.org/orbit2/")
3265 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 3266 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 3267featuring mature C, C++ and Python bindings.")
a124bbd2
SB
3268 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
3269 ;; a version. SOME of the code files have licence notices for GPLv2+.
3270 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
3271 (license license:gpl2+)
3272 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
3273
3274
3275(define-public libbonobo
3276 (package
3277 (name "libbonobo")
3278 (version "2.32.1")
3279 (source (origin
3280 (method url-fetch)
5becd025 3281 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 3282 (version-major+minor version)
5becd025 3283 "/" name "-" version ".tar.bz2"))
5698b8b8 3284 (sha256
f1fc45a9 3285 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
3286 (patches (search-patches
3287 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
3288 (build-system gnu-build-system)
3289 (arguments
3290 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
3291 `(#:configure-flags
3292 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
3293 ;; ... which they then completly ignore !!
3294 #:phases
dc1d3cde
KK
3295 (modify-phases %standard-phases
3296 (add-before 'configure 'ignore-deprecations
3297 (lambda _
3298 (substitute* "activation-server/Makefile.in"
3299 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
3300 #t)))
3301
3302 ;; There's apparently a race condition between the server stub
3303 ;; generation and linking of the example under 'samples/echo' that can
3304 ;; lead do undefined references when building in parallel, as reported
3305 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
3306 ;; Thus, disable parallel builds.
3307 #:parallel-build? #f))
5698b8b8
JD
3308 (inputs `(("popt" ,popt)
3309 ("libxml2" ,libxml2)))
3310 ;; The following are Required by the .pc file
44add1ce 3311 (propagated-inputs
5698b8b8
JD
3312 `(("glib" ,glib)
3313 ("orbit2" ,orbit2)))
3314 (native-inputs
3315 `(("intltool" ,intltool)
3316 ("pkg-config" ,pkg-config)
221ed17a 3317 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3318 ("flex" ,flex)
3319 ("bison" ,bison)))
3320 (home-page "https://developer.gnome.org/libbonobo/")
3321 (synopsis "Framework for creating reusable components for use in GNOME applications")
3322 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 3323use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
3324 ;; Licence not explicitly stated. Source files contain no licence notices.
3325 ;; Tarball contains text of both GPLv2 and LGPLv2
3326 ;; GPLv2 covers both conditions
3327 (license license:gpl2+)))
3328
3329
3330(define-public gconf
3331 (package
3332 (name "gconf")
3333 (version "3.2.6")
3334 (source (origin
3335 (method url-fetch)
a124bbd2
SB
3336 (uri
3337 (let ((upstream-name "GConf"))
3338 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
3339 (version-major+minor version) "/"
3340 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
3341 (sha256
3342 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
3343 (build-system gnu-build-system)
2e88d113 3344 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 3345 ("libxml2" ,libxml2)))
2e6ecc5c
AE
3346 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
3347 ("orbit2" ,orbit2)))
5698b8b8
JD
3348 (native-inputs
3349 `(("intltool" ,intltool)
221ed17a 3350 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3351 ("pkg-config" ,pkg-config)))
3352 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
3353 (synopsis "Store application preferences")
3354 (description "Gconf is a system for storing application preferences. It
3355is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
3356 (license license:lgpl2.0+)
3357 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
3358
3359
3360(define-public gnome-mime-data
3361 (package
3362 (name "gnome-mime-data")
3363 (version "2.18.0")
3364 (source (origin
3365 (method url-fetch)
b38e45d8
EB
3366 (uri (string-append "mirror://gnome/sources/" name "/"
3367 (version-major+minor version) "/"
3368 name "-" version ".tar.bz2"))
5698b8b8
JD
3369 (sha256
3370 (base32
3371 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
3372 (build-system gnu-build-system)
3373 (native-inputs
3374 `(("perl" ,perl)
3375 ("intltool" ,intltool)))
3e6add96
LC
3376 (arguments
3377 '(#:phases (modify-phases %standard-phases
3378 (add-after 'configure 'use-our-intltool
3379 (lambda _
3380 ;; Do not use the bundled intltool commands, which lack
3381 ;; the "dotless @INC" fixes of our 'intltool' package.
3382 (substitute* (find-files "." "^Makefile$")
3383 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
3384 (string-append "INTLTOOL_" tool " = intltool-"
3385 (string-downcase tool) "\n")))
3386 #t)))))
f032d0be 3387 (home-page "https://www.gnome.org")
35b9e423 3388 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
3389 (description "GNOME Mime Data is a module which contains the base MIME
3390and Application database for GNOME. The data stored by this module is
3391designed to be accessed through the MIME functions in GnomeVFS.")
3392 (license license:gpl2+)))
3393
3394
3395(define-public gnome-vfs
3396 (package
3397 (name "gnome-vfs")
3398 (version "2.24.4")
3399 (source (origin
3400 (method url-fetch)
b38e45d8
EB
3401 (uri (string-append "mirror://gnome/sources/" name "/"
3402 (version-major+minor version) "/"
3403 name "-" version ".tar.bz2"))
5698b8b8 3404 (sha256
9e12bc34
MW
3405 (base32
3406 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
3407 (build-system gnu-build-system)
3408 (arguments
db5127d8 3409 `(#:phases
dc1d3cde
KK
3410 (modify-phases %standard-phases
3411 (add-before 'configure 'ignore-deprecations
3412 (lambda _
3413 (substitute* '("libgnomevfs/Makefile.in"
3414 "daemon/Makefile.in")
3415 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
3416 #t))
3417 (add-before 'configure 'patch-test-async-cancel-to-never-fail
3418 (lambda _
3419 (substitute* "test/test-async-cancel.c"
3420 (("EXIT_FAILURE") "77"))
3421 #t)))))
2e6ecc5c 3422 (inputs `(("libxml2" ,libxml2)
5698b8b8 3423 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
3424 ("gconf" ,gconf)
3425 ("gnome-mime-data" ,gnome-mime-data)
3426 ("zlib" ,zlib)))
3427 (native-inputs
221ed17a
EB
3428 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
3429 ("intltool" ,intltool)
5698b8b8
JD
3430 ("pkg-config" ,pkg-config)))
3431 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 3432 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
3433 (description
3434 "GnomeVFS is the core library used to access files and folders in GNOME
3435applications. It provides a file system abstraction which allows applications
3436to access local and remote files with a single consistent API.")
5698b8b8
JD
3437 (license license:lgpl2.0+)))
3438
3439
3440
3441(define-public libgnome
3442 (package
3443 (name "libgnome")
3444 (version "2.32.1")
3445 (source (origin
3446 (method url-fetch)
b38e45d8
EB
3447 (uri (string-append "mirror://gnome/sources/" name "/"
3448 (version-major+minor version) "/"
3449 name "-" version ".tar.bz2"))
5698b8b8
JD
3450 (sha256
3451 (base32
17c3eea7
LC
3452 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
3453 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
3454 (build-system gnu-build-system)
3455 (arguments
3456 `(#:phases
dc1d3cde
KK
3457 (modify-phases %standard-phases
3458 (add-before 'configure 'enable-deprecated
3459 (lambda _
3460 (substitute* "libgnome/Makefile.in"
3461 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
3462 #t)))))
25338e9f 3463 (inputs `(("libxml2" ,libxml2)))
5698b8b8 3464 (native-inputs
221ed17a
EB
3465 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
3466 ("intltool" ,intltool)
5698b8b8
JD
3467 ("pkg-config" ,pkg-config)))
3468 ;; The following are listed as Required in the .pc file
3469 ;; (except for libcanberra -- which seems to be oversight on the part
3470 ;; of the upstream developers -- anything that links against libgnome,
3471 ;; must also link against libcanberra
3472 (propagated-inputs
3473 `(("libcanberra" ,libcanberra)
3474 ("libbonobo" ,libbonobo)
3475 ("gconf" ,gconf)
a640d3d5
LC
3476 ("gnome-vfs" ,gnome-vfs)
3477 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
3478 (home-page "https://developer.gnome.org/libgnome/")
3479 (synopsis "Useful routines for building applications")
3480 (description "The libgnome library provides a number of useful routines
3481for building modern applications, including session management, activation of
3482files and URIs, and displaying help.")
3483 (license license:lgpl2.0+)))
3484
3485
3486(define-public libart-lgpl
3487 (package
3488 (name "libart-lgpl")
76c9b6aa 3489 (version "2.3.21")
5698b8b8
JD
3490 (source (origin
3491 (method url-fetch)
3492 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
3493 (string-append "mirror://gnome/sources/" upstream-name "/"
3494 (version-major+minor version) "/"
3495 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
3496 (sha256
3497 (base32
76c9b6aa 3498 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
3499 (build-system gnu-build-system)
3500 (native-inputs
3501 `(("pkg-config" ,pkg-config)))
3502 (home-page "https://people.gnome.org/~mathieu/libart")
3503 (synopsis "2D drawing library")
2e6ecc5c 3504 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
3505high-quality vector-based 2D library with antialiasing and alpha composition.")
3506 (license license:lgpl2.0+)))
3507
3508
3509
3510(define-public libgnomecanvas
3511 (package
3512 (name "libgnomecanvas")
3513 (version "2.30.3")
3514 (source (origin
3515 (method url-fetch)
b38e45d8
EB
3516 (uri (string-append "mirror://gnome/sources/" name "/"
3517 (version-major+minor version) "/"
3518 name "-" version ".tar.gz"))
5698b8b8
JD
3519 (sha256
3520 (base32
3521 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
3522 (build-system gnu-build-system)
3523 ;; Mentioned as Required in the .pc file
3524 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
3525 ("gtk+" ,gtk+-2)))
3526 (native-inputs
3527 `(("intltool" ,intltool)
221ed17a 3528 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3529 ("pkg-config" ,pkg-config)))
3530 (home-page "https://developer.gnome.org/libgnomecanvas/")
3531 (synopsis "Flexible widget for creating interactive structured graphics")
3532 (description "The GnomeCanvas widget provides a flexible widget for
3533creating interactive structured graphics.")
3534 (license license:lgpl2.0+)))
3535
eadc734e
RW
3536(define-public libgnomecanvasmm
3537 (package
3538 (name "libgnomecanvasmm")
3539 (version "2.26.0")
3540 (source (origin
3541 (method url-fetch)
3542 (uri (string-append "mirror://gnome/sources/" name "/"
3543 (version-major+minor version) "/"
3544 name "-" version ".tar.bz2"))
3545 (sha256
3546 (base32
3547 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
3548 (build-system gnu-build-system)
3549 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
3550 (native-inputs
3551 `(("gtkmm-2" ,gtkmm-2)
3552 ("pkg-config" ,pkg-config)))
8e933cb3 3553 (home-page "https://gtkmm.org")
eadc734e
RW
3554 (synopsis "C++ bindings to the GNOME Canvas library")
3555 (description "C++ bindings to the GNOME Canvas library.")
3556 (license license:lgpl2.0+)))
3557
5698b8b8
JD
3558(define-public libgnomeui
3559 (package
3560 (name "libgnomeui")
3561 (version "2.24.5")
3562 (source (origin
3563 (method url-fetch)
b38e45d8
EB
3564 (uri (string-append "mirror://gnome/sources/" name "/"
3565 (version-major+minor version) "/"
3566 name "-" version ".tar.bz2"))
8fa1872a 3567 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
3568 (sha256
3569 (base32
3570 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
3571 (build-system gnu-build-system)
3572 ;; Mentioned as Required in the .pc file
0a38a497
AE
3573 (propagated-inputs `(("libbonoboui" ,libbonoboui)
3574 ("libgnome" ,libgnome)
3575 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 3576 ("libgnome-keyring" ,libgnome-keyring)))
4bd428a7 3577 (inputs `(("libjpeg" ,libjpeg-turbo)
5698b8b8
JD
3578 ("popt" ,popt)
3579 ("libbonobo" ,libbonobo)
3580 ("libxml2" ,libxml2)
3581 ("libglade" ,libglade)))
3582 (native-inputs
221ed17a
EB
3583 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
3584 ("intltool" ,intltool)
5698b8b8
JD
3585 ("pkg-config" ,pkg-config)))
3586 (home-page "https://developer.gnome.org/libgnomeui/")
3587 (synopsis "Additional widgets for applications")
35b9e423 3588 (description "The libgnomeui library provides additional widgets for
e881752c
AK
3589applications. Many of the widgets from libgnomeui have already been
3590ported to GTK+.")
5698b8b8
JD
3591 (license license:lgpl2.0+)))
3592
3593(define-public libglade
3594 (package
3595 (name "libglade")
3596 (version "2.6.4")
3597 (source (origin
3598 (method url-fetch)
b38e45d8
EB
3599 (uri (string-append "mirror://gnome/sources/" name "/"
3600 (version-major+minor version) "/"
3601 name "-" version ".tar.bz2"))
5698b8b8
JD
3602 (sha256
3603 (base32
3604 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
3605 (build-system gnu-build-system)
3606 (inputs
92dcc23d
AE
3607 `(("python" ,python))) ;; needed for the optional libglade-convert program
3608 (propagated-inputs
5698b8b8 3609 `(("gtk+-2" ,gtk+-2)
92dcc23d 3610 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
3611 (native-inputs
3612 `(("pkg-config" ,pkg-config)))
3613 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
3614 (synopsis "Load glade interfaces and access the glade built widgets")
3615 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
3616graphical interfaces described in glade files and for accessing the
3617widgets built in the loading process.")
3618 (license license:gpl2+))) ; This is correct. GPL not LGPL
3619
3620(define-public libgnomeprint
eb497b66
LC
3621 ;; This library has been deprecated since 2006; see
3622 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
3623 (package
3624 (name "libgnomeprint")
d19db454 3625 (version "2.18.8")
5698b8b8
JD
3626 (source (origin
3627 (method url-fetch)
b38e45d8
EB
3628 (uri (string-append "mirror://gnome/sources/" name "/"
3629 (version-major+minor version) "/"
3630 name "-" version ".tar.bz2"))
5698b8b8
JD
3631 (sha256
3632 (base32
d19db454 3633 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
3634 (build-system gnu-build-system)
3635 (inputs
3636 `(("popt" ,popt)
3637 ("libart-lgpl" ,libart-lgpl)
3638 ("gtk+" ,gtk+-2)
44add1ce 3639 ("libxml2" ,libxml2)))
5698b8b8
JD
3640 (native-inputs
3641 `(("intltool" ,intltool)
221ed17a 3642 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3643 ("pkg-config" ,pkg-config)))
3644 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 3645 (synopsis "Printing framework for GNOME")
eb497b66
LC
3646 (description
3647 "GNOME-print was a printing framework for GNOME. It has been deprecated
3648since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
3649 (license license:lgpl2.0+)))
3650
3651
3652(define-public libgnomeprintui
eb497b66 3653 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
3654 (package
3655 (name "libgnomeprintui")
36053d7f 3656 (version "2.18.6")
5698b8b8
JD
3657 (source (origin
3658 (method url-fetch)
b38e45d8
EB
3659 (uri (string-append "mirror://gnome/sources/" name "/"
3660 (version-major+minor version) "/"
3661 name "-" version ".tar.bz2"))
5698b8b8
JD
3662 (sha256
3663 (base32
36053d7f 3664 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
3665 (build-system gnu-build-system)
3666 ;; Mentioned as Required in the .pc file
3667 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
3668 (inputs `(("gtk+" ,gtk+-2)
3669 ("glib" ,glib)
3670 ("gnome-icon-theme" ,gnome-icon-theme)
3671 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 3672 ("libxml2" ,libxml2)))
5698b8b8
JD
3673 (native-inputs
3674 `(("intltool" ,intltool)
3675 ("pkg-config" ,pkg-config)))
3676 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
3677 (synopsis "Printing framework for GNOME")
eb497b66 3678 (description (package-description libgnomeprint))
5698b8b8
JD
3679 (license license:lgpl2.0+)))
3680
5698b8b8
JD
3681(define-public libbonoboui
3682 (package
3683 (name "libbonoboui")
3684 (version "2.24.5")
3685 (source (origin
3686 (method url-fetch)
b38e45d8
EB
3687 (uri (string-append "mirror://gnome/sources/" name "/"
3688 (version-major+minor version) "/"
3689 name "-" version ".tar.bz2"))
5698b8b8
JD
3690 (sha256
3691 (base32
3692 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
3693 (build-system gnu-build-system)
3694 (arguments
3695 `(#:phases
dc1d3cde
KK
3696 (modify-phases %standard-phases
3697 (add-before 'check 'start-xserver
3698 (lambda* (#:key inputs #:allow-other-keys)
3699 (let ((xorg-server (assoc-ref inputs "xorg-server"))
3700 (disp ":1"))
3701
3702 (setenv "HOME" (getcwd))
3703 (setenv "DISPLAY" disp)
3704 ;; There must be a running X server and make check doesn't start one.
3705 ;; Therefore we must do it.
3706 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
3707 ;; Mentioned as Required by the .pc file
3708 (propagated-inputs `(("libxml2" ,libxml2)))
3709 (inputs
3710 `(("popt" ,popt)
3711 ("pangox-compat" ,pangox-compat)
3712 ("libgnome" ,libgnome)
3713 ("libgnomecanvas" ,libgnomecanvas)
3714 ("libglade" ,libglade)))
3715 (native-inputs
221ed17a
EB
3716 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
3717 ("intltool" ,intltool)
ff337525 3718 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
3719 ("pkg-config" ,pkg-config)))
3720 (home-page "https://developer.gnome.org/libbonoboui/")
3721 (synopsis "Some user interface controls using Bonobo")
3722 (description "The Bonobo UI library provides a number of user interface
3723controls using the Bonobo component framework.")
3724 (license license:lgpl2.0+)))
3725
fecbf86e
SB
3726(define-public libwnck
3727 (package
3728 (name "libwnck")
d3b40696 3729 (version "3.32.0")
fecbf86e
SB
3730 (source (origin
3731 (method url-fetch)
3732 (uri (string-append "mirror://gnome/sources/" name "/"
3733 (version-major+minor version) "/"
3734 name "-" version ".tar.xz"))
3735 (sha256
ad9b8987 3736 (base32
d3b40696
KK
3737 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
3738 (build-system meson-build-system)
fecbf86e
SB
3739 (native-inputs
3740 `(("pkg-config" ,pkg-config)
d3b40696
KK
3741 ("glib" ,glib "bin") ; for glib-mkenums
3742 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
3743 ("intltool" ,intltool)))
3744 (propagated-inputs
427476d5
SB
3745 `(("gtk+" ,gtk+)
3746 ("libxres" ,libxres)
3747 ("startup-notification" ,startup-notification)))
fecbf86e
SB
3748 (home-page "https://developer.gnome.org/libwnck/")
3749 (synopsis "Window Navigator Construction Kit")
3750 (description
3751 "Libwnck is the Window Navigator Construction Kit, a library for use in
3752writing pagers, tasklists, and more generally applications that are dealing
3753with window management. It tries hard to respect the Extended Window Manager
3754Hints specification (EWMH).")
3755 (license license:lgpl2.0+)))
3756
3757;; stable version for gtk2, required by xfwm4.
dbb7a081 3758(define-public libwnck-2
fecbf86e
SB
3759 (package (inherit libwnck)
3760 (name "libwnck")
3761 (version "2.30.7")
3762 (source (origin
3763 (method url-fetch)
3764 (uri (string-append "mirror://gnome/sources/" name "/"
3765 (version-major+minor version) "/"
3766 name "-" version ".tar.xz"))
3767 (sha256
3768 (base32
3769 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
3770 (build-system gnu-build-system)
3771 (native-inputs
3772 `(("pkg-config" ,pkg-config)
3773 ("intltool" ,intltool)))
fecbf86e 3774 (propagated-inputs
427476d5
SB
3775 `(("gtk+" ,gtk+-2)
3776 ("libxres" ,libxres)
3777 ("startup-notification" ,startup-notification)))))
b804c61e
JD
3778
3779(define-public goffice
3780 (package
3781 (name "goffice")
2e60eafb 3782 (version "0.10.47")
b804c61e
JD
3783 (source (origin
3784 (method url-fetch)
16243f0b 3785 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 3786 (version-major+minor version) "/"
16243f0b 3787 "goffice-" version ".tar.xz"))
b804c61e 3788 (sha256
2e60eafb 3789 (base32 "0xmigfdzvmlpa0fw79mf3xwchmxc8rlidryn5syv8bz7msmrb215"))))
b804c61e 3790 (build-system gnu-build-system)
72a06d3e 3791 (outputs '("out"
355420c6 3792 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
3793 (arguments
3794 '(#:configure-flags (list (string-append "--with-html-dir="
3795 (assoc-ref %outputs "doc")
3796 "/share/gtk-doc/html"))))
b804c61e
JD
3797 (inputs
3798 `(("gtk+" ,gtk+)
3799 ("libgsf" ,libgsf)
3800 ("librsvg" ,librsvg)
3801 ("libxslt" ,libxslt)
3802 ("libxml2" ,libxml2)))
3803 (native-inputs
3804 `(("intltool" ,intltool)
f280cdb1 3805 ("glib" ,glib "bin")
b804c61e
JD
3806 ("pkg-config" ,pkg-config)))
3807 (home-page "https://developer.gnome.org/goffice/")
3808 (synopsis "Document-centric objects and utilities")
3809 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 3810 (license
b804c61e
JD
3811 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3812 ;; Note: NOT LGPL
3813 (list license:gpl2 license:gpl3))))
3814
c024ae36
RW
3815(define-public goffice-0.8
3816 (package (inherit goffice)
3817 (version "0.8.17")
3818 (source (origin
3819 (method url-fetch)
3820 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
3821 (version-major+minor version) "/"
3822 (package-name goffice) "-" version ".tar.xz"))
3823 (sha256
3824 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
3825 (arguments
3826 `(#:phases
dc1d3cde
KK
3827 (modify-phases %standard-phases
3828 (add-after 'unpack 'fix-pcre-check
3829 (lambda _
3830 ;; Only glib.h can be included directly. See
3831 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
3832 (substitute* "configure"
3833 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
3834
3835 ,@(package-arguments goffice)))
c024ae36
RW
3836 (propagated-inputs
3837 ;; libgoffice-0.8.pc mentions libgsf-1
3838 `(("libgsf" ,libgsf)))
3839 (inputs
3840 `(("gtk" ,gtk+-2)
3841 ,@(alist-delete "gtk" (package-inputs goffice))))))
3842
b804c61e
JD
3843(define-public gnumeric
3844 (package
3845 (name "gnumeric")
f0517b5d 3846 (version "1.12.46")
b804c61e
JD
3847 (source (origin
3848 (method url-fetch)
b7fd0217 3849 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 3850 (version-major+minor version) "/"
b7fd0217 3851 "gnumeric-" version ".tar.xz"))
b804c61e
JD
3852 (sha256
3853 (base32
f0517b5d 3854 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 3855 (build-system glib-or-gtk-build-system)
b804c61e
JD
3856 (arguments
3857 `(;; The gnumeric developers don't worry much about failing tests.
3858 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 3859 #:tests? #f
b804c61e 3860 #:phases
7bcbd40d
EF
3861 (modify-phases %standard-phases
3862 (add-before
3863 'configure 'pre-conf
3864 (lambda* (#:key outputs #:allow-other-keys)
3865 ;; Make install tries to write into the directory of goffice
3866 ;; I am informed that this only affects the possibility to embed a
3867 ;; spreadsheet inside an Abiword document. So presumably when we
3868 ;; package Abiword we'll have to refer it to this directory.
3869 (substitute* "configure"
3870 (("^GOFFICE_PLUGINS_DIR=.*")
3871 (string-append "GOFFICE_PLUGINS_DIR="
3872 (assoc-ref outputs "out")
3873 "/goffice/plugins"))))))))
b804c61e
JD
3874 (inputs
3875 `(("glib" ,glib)
3876 ("gtk+" ,gtk+)
3877 ("goffice" ,goffice)
3878 ("libgsf" ,libgsf)
7bcbd40d 3879 ("librsvg" ,librsvg)
b804c61e 3880 ("libxml2" ,libxml2)
7bcbd40d 3881 ("libxslt" ,libxslt)
2e4c5457 3882 ("python" ,python-2)
6983ba56 3883 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
3884 ("zlib" ,zlib)))
3885 (native-inputs
6983ba56 3886 `(("bison" ,bison)
1ed398d1 3887 ("docbook-xml" ,docbook-xml)
6983ba56 3888 ("intltool" ,intltool)
785fcb62 3889 ("itstool" ,itstool)
b9663471 3890 ("glib:bin" ,glib "bin")
b804c61e
JD
3891 ("pkg-config" ,pkg-config)))
3892 (home-page "http://www.gnumeric.org")
66672a45
LC
3893 (synopsis "Spreadsheet application")
3894 (description
3895 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
3896interoperable with other spreadsheet applications. It has a vast array of
3897features beyond typical spreadsheet functionality, such as support for linear
3898and non-linear solvers, statistical analysis, and telecommunication
3899engineering.")
3900 (license
b804c61e
JD
3901 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3902 (list license:gpl2 license:gpl3))))
6f885c05
FB
3903
3904(define-public gnome-themes-standard
3905 (package
3906 (name "gnome-themes-standard")
0b7b8fb0 3907 (version "3.22.3")
6f885c05
FB
3908 (source
3909 (origin
3910 (method url-fetch)
2e6ecc5c 3911 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
3912 (version-major+minor version) "/" name "-"
3913 version ".tar.xz"))
3914 (sha256
3915 (base32
0b7b8fb0 3916 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 3917 (build-system gnu-build-system)
8ac70c7f
SB
3918 (arguments
3919 '(#:configure-flags
3920 ;; Don't create 'icon-theme.cache'.
3921 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
3922 (true (string-append coreutils "/bin/true")))
3923 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
3924 (inputs
3925 `(("gtk+" ,gtk+)
3926 ("gtk+-2" ,gtk+-2)
3927 ("librsvg" ,librsvg)
3928 ("libxml2" ,libxml2)
3929 ("glib" ,glib)))
3930 (native-inputs
3931 `(("intltool" ,intltool)
3932 ("glib:bin" ,glib "bin")
3933 ("pkg-config" ,pkg-config)))
6f885c05
FB
3934 (home-page "https://launchpad.net/gnome-themes-standard")
3935 (synopsis "Default GNOME 3 themes")
3936 (description
3937 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
3938 (license license:lgpl2.1+)))
5a659a48 3939
df90c701
RW
3940(define-public seahorse
3941 (package
3942 (name "seahorse")
1efcf722 3943 (version "3.34")
df90c701
RW
3944 (source
3945 (origin
3946 (method url-fetch)
3947 (uri (string-append "mirror://gnome/sources/" name "/"
3948 (version-major+minor version) "/" name "-"
3949 version ".tar.xz"))
3950 (sha256
3951 (base32
1efcf722 3952 "16sfnqrdlr5xx6kixx2ln1mva7nngjlw1k3f5n454vyaigffjh2v"))))
af561664
MÁAV
3953 (build-system meson-build-system)
3954 (arguments
bcea3c11
KK
3955 '(#:glib-or-gtk? #t
3956 #:phases
af561664
MÁAV
3957 (modify-phases %standard-phases
3958 (add-after 'unpack 'skip-gtk-update-icon-cache
3959 ;; Don't create 'icon-theme.cache'.
3960 (lambda _
3961 (substitute* "build-aux/meson_post_install.py"
3962 (("gtk-update-icon-cache") "true"))
3963 #t)))))
df90c701
RW
3964 (inputs
3965 `(("gtk+" ,gtk+)
3966 ("gcr" ,gcr)
34b979b9 3967 ("gnupg" ,gnupg)
df90c701 3968 ("gpgme" ,gpgme)
34b979b9 3969 ("openldap" ,openldap)
4a1bf090 3970 ("openssh" ,openssh)
af561664 3971 ("avahi" ,avahi)
bcea3c11 3972 ("libpwquality" ,libpwquality)
34b979b9
EF
3973 ("libsecret" ,libsecret)
3974 ("libsoup" ,libsoup)))
df90c701 3975 (native-inputs
af561664 3976 `(("gettext" ,gettext-minimal)
df90c701
RW
3977 ("glib:bin" ,glib "bin")
3978 ("itstool" ,itstool)
bcb354ad 3979 ("pkg-config" ,pkg-config)
af561664 3980 ("vala" ,vala)
bcb354ad 3981 ("xmllint" ,libxml2)))
bcea3c11 3982 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
3983 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
3984 (description
3985 "Seahorse is a GNOME application for managing encryption keys and
3986passwords in the GNOME keyring.")
3987 (license license:gpl2+)))
3988
5a659a48
SB
3989(define-public vala
3990 (package
3991 (name "vala")
b92a36db 3992 (version "0.46.5")
5a659a48
SB
3993 (source (origin
3994 (method url-fetch)
3995 (uri (string-append "mirror://gnome/sources/" name "/"
3996 (version-major+minor version) "/"
3997 name "-" version ".tar.xz"))
3998 (sha256
3999 (base32
b92a36db 4000 "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s"))))
5a659a48 4001 (build-system gnu-build-system)
1ea90625
SB
4002 (arguments
4003 '(#:phases
4004 (modify-phases %standard-phases
f4925a4f 4005 (add-before 'check 'pre-check
1ea90625
SB
4006 (lambda _
4007 (setenv "CC" "gcc")
8839b6be
RW
4008 (substitute* "valadoc/tests/testrunner.sh"
4009 (("export PKG_CONFIG_PATH=" m)
4010 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
4011 ;; For missing '/etc/machine-id'.
4012 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 4013 #t)))))
5a659a48
SB
4014 (native-inputs
4015 `(("pkg-config" ,pkg-config)
4016 ("flex" ,flex)
4017 ("bison" ,bison)
4018 ("xsltproc" ,libxslt)
4019 ("dbus" ,dbus) ; for dbus tests
4020 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
4021 (inputs
4022 `(("graphviz" ,graphviz)))
5a659a48 4023 (propagated-inputs
8839b6be 4024 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 4025 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
4026 (synopsis "Compiler for the GObject type system")
4027 (description
4028 "Vala is a programming language that aims to bring modern programming
4029language features to GNOME developers without imposing any additional runtime
4030requirements and without using a different ABI compared to applications and
4031libraries written in C.")
4032 (license license:lgpl2.1+)))
ea57378f 4033
2dcaa760
RP
4034(define-public vala-0.48
4035 (package
4036 (inherit vala)
9a299d4d 4037 (version "0.48.7")
2dcaa760
RP
4038 (source (origin
4039 (method url-fetch)
4040 (uri (string-append "mirror://gnome/sources/vala/"
4041 (version-major+minor version) "/"
4042 "vala-" version ".tar.xz"))
4043 (sha256
4044 (base32
9a299d4d 4045 "0lswkb7gj0chas9n3l3dbrm9l71hs77adhvm2v600id2ipi37pi8"))))))
2dcaa760 4046
ea57378f
SB
4047(define-public vte
4048 (package
4049 (name "vte")
53865a93 4050 (version "0.60.3")
ea57378f
SB
4051 (source (origin
4052 (method url-fetch)
ac87ffb8 4053 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 4054 (version-major+minor version) "/"
ac87ffb8 4055 "vte-" version ".tar.xz"))
ea57378f
SB
4056 (sha256
4057 (base32
53865a93 4058 "0al2v6fn061v4j1wwvppim1q283y2a6s0iyl29hxhmx3h48nxdzy"))))
68c47474 4059 (build-system meson-build-system)
663def11
RPG
4060 (arguments
4061 `(#:configure-flags
11491e1b
DM
4062 '("-Dvapi=true"
4063 "-D_systemd=false")))
ea57378f
SB
4064 (native-inputs
4065 `(("pkg-config" ,pkg-config)
4684580a 4066 ("gettext" ,gettext-minimal)
ea57378f
SB
4067 ("vala" ,vala)
4068 ("gobject-introspection" ,gobject-introspection)
68c47474 4069 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 4070 ("gperf" ,gperf)
ea57378f
SB
4071 ("xmllint" ,libxml2)))
4072 (propagated-inputs
68c47474
TGR
4073 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
4074 ("gnutls" ,gnutls) ; ditto
4075 ("pcre2" ,pcre2))) ; ditto
f032d0be 4076 (home-page "https://www.gnome.org/")
ea57378f
SB
4077 (synopsis "Virtual Terminal Emulator")
4078 (description
4079 "VTE is a library (libvte) implementing a terminal emulator widget for
4080GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
4081gnome-terminal, but can also be used to embed a console/terminal in games,
4082editors, IDEs, etc.")
4083 (license license:lgpl2.1+)))
4084
c44fb4df
MO
4085(define-public vte-ng
4086 (package
4087 (inherit vte)
4088 (name "vte-ng")
24f4fcbe 4089 (version "0.58.2.a")
afd90f8d 4090 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
4091 (source (origin
4092 (method git-fetch)
4093 (uri (git-reference (url home-page) (commit version)))
4094 (file-name (git-file-name name version))
4095 (sha256
4096 (base32
24f4fcbe
MB
4097 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
4098 (build-system meson-build-system)
c44fb4df
MO
4099 (native-inputs
4100 `(("gtk-doc" ,gtk-doc)
c44fb4df 4101 ,@(package-native-inputs vte)))
c44fb4df 4102 (arguments
24f4fcbe 4103 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
4104 (synopsis "Enhanced VTE terminal widget")
4105 (description
4106 "VTE is a library (libvte) implementing a terminal emulator widget for
4107GTK+, this fork provides additional functions exposed for keyboard text
4108selection and URL hints.")))
4109
da11c16b 4110;; Stable version for gtk2, required by gnurobots and lxterminal as of 2020-07.
ea57378f
SB
4111(define-public vte/gtk+-2
4112 (package (inherit vte)
4113 (name "vte")
4114 (version "0.28.2")
4115 (source (origin
4116 (method url-fetch)
4117 (uri (string-append "mirror://gnome/sources/" name "/"
4118 (version-major+minor version) "/"
4119 name "-" version ".tar.xz"))
4120 (sha256
4121 (base32
7d48938a
EF
4122 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
4123 (patches (search-patches
4124 "vte-CVE-2012-2738-pt1.patch"
4125 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 4126 (build-system gnu-build-system)
ea57378f
SB
4127 (arguments
4128 '(#:configure-flags '("--disable-python")))
4129 (native-inputs
4130 `(("pkg-config" ,pkg-config)
4131 ("intltool" ,intltool)
4132 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
4133 (propagated-inputs
4134 `(("gtk+" ,gtk+-2) ; required by libvte.pc
4135 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 4136
cce0da5e
TD
4137(define-public vinagre
4138 (package
4139 (name "vinagre")
4140 (version "3.22.0")
4141 (source (origin
4142 (method url-fetch)
4143 (uri (string-append "mirror://gnome/sources/" name "/"
4144 (version-major+minor version) "/"
4145 name "-" version ".tar.xz"))
684f97f8
EF
4146 (patches (search-patches "vinagre-newer-freerdp.patch"
4147 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
4148 (sha256
4149 (base32
4150 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
4151 (build-system glib-or-gtk-build-system)
684f97f8 4152 (arguments
7f486d25
MC
4153 ;; Disable -Werror and such, to avoid build failures on compilation
4154 ;; warnings.
4155 '(#:configure-flags '("--enable-compile-warnings=minimum")
4156 #:phases
684f97f8 4157 (modify-phases %standard-phases
1839768c
EF
4158 (add-before 'install 'skip-gtk-update-icon-cache
4159 (lambda _
4160 ;; Don't create 'icon-theme.cache'
4161 (substitute* (find-files "." "^Makefile$")
4162 (("gtk-update-icon-cache") (which "true")))
4163 #t))
684f97f8
EF
4164 (add-after 'unpack 'patch-configure
4165 (lambda _
4166 (substitute* "configure"
4167 (("freerdp") "freerdp2"))
4168 #t)))))
cce0da5e
TD
4169 (native-inputs
4170 `(("pkg-config" ,pkg-config)
4171 ("intltool" ,intltool)
4172 ("itstool" ,itstool)
1839768c 4173 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
4174 (inputs
4175 `(("libxml2" ,libxml2)
4176 ("gtk-vnc" ,gtk-vnc)
4177 ("gnome-keyring" ,gnome-keyring)
4178 ("libsecret" ,libsecret)
4179 ("freerdp" ,freerdp)
4180 ("spice" ,spice)
4181 ("spice-gtk" ,spice-gtk)
4182 ("telepathy-glib" ,telepathy-glib)
4183 ("vte" ,vte)))
cce0da5e
TD
4184 (home-page "https://wiki.gnome.org/Apps/Vinagre")
4185 (synopsis "Remote desktop viewer for GNOME")
4186 (description "Vinagre is a remote display client supporting the VNC, SPICE
4187and RDP protocols.")
4188 (license license:gpl3+)))
4189
b47e1b20
FB
4190(define-public dconf
4191 (package
4192 (name "dconf")
7f4d075d 4193 (version "0.34.0")
b47e1b20
FB
4194 (source (origin
4195 (method url-fetch)
4196 (uri (string-append
2e6ecc5c 4197 "mirror://gnome/sources/" name "/"
b47e1b20
FB
4198 (version-major+minor version) "/"
4199 name "-" version ".tar.xz"))
46c3a08b 4200 (patches (search-patches "dconf-meson-0.52.patch"))
b47e1b20 4201 (sha256
f05c809f 4202 (base32
7f4d075d 4203 "0lnsl85cp2vpzgp8pkf6l6yd2i3lp02jdvga1icfa78j2smr8fll"))))
35fa923d 4204 (build-system meson-build-system)
bc036f4c
MB
4205 (propagated-inputs
4206 ;; In Requires of dconf.pc.
4207 `(("glib" ,glib)))
b47e1b20
FB
4208 (inputs
4209 `(("gtk+" ,gtk+)
bc036f4c 4210 ("dbus" ,dbus)))
b47e1b20 4211 (native-inputs
1e33331c
MB
4212 `(("bash-completion" ,bash-completion)
4213 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 4214 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
4215 ("docbook-xml" ,docbook-xml-4.2)
4216 ("docbook-xsl" ,docbook-xsl)
35fa923d 4217 ("glib:bin" ,glib "bin")
03676d6f 4218 ("gtk-doc" ,gtk-doc)
35fa923d
MB
4219 ("pkg-config" ,pkg-config)
4220 ("vala" ,vala)))
b47e1b20
FB
4221 (arguments
4222 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
4223 ; or /etc/machine-id.
35fa923d
MB
4224 #:glib-or-gtk? #t
4225 #:configure-flags '("-Denable-gtk-doc=true")))
79d7b527 4226 (home-page "https://developer.gnome.org/dconf/")
b47e1b20
FB
4227 (synopsis "Low-level GNOME configuration system")
4228 (description "Dconf is a low-level configuration system. Its main purpose
4229is to provide a backend to GSettings on platforms that don't already have
4230configuration storage systems.")
e20e6b40 4231 (license license:lgpl2.1+)))
109da1c0
AE
4232
4233(define-public json-glib
4234 (package
4235 (name "json-glib")
4115e8ea 4236 (version "1.4.4")
109da1c0
AE
4237 (source (origin
4238 (method url-fetch)
4239 (uri (string-append "mirror://gnome/sources/" name "/"
4240 (version-major+minor version) "/"
4241 name "-" version ".tar.xz"))
4242 (sha256
4243 (base32
4115e8ea 4244 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 4245 (build-system meson-build-system)
109da1c0 4246 (native-inputs
98afa184
MB
4247 `(("gettext" ,gettext-minimal)
4248 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
4249 ("gobject-introspection" ,gobject-introspection)
4250 ("pkg-config" ,pkg-config)))
4251 (propagated-inputs
88c6b580 4252 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
4253 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
4254 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
4255 (description
4256 "JSON-GLib is a C library based on GLib providing serialization and
4257deserialization support for the JavaScript Object Notation (JSON) format
4258described by RFC 4627. It provides parser and generator GObject classes and
4259various wrappers for the complex data types employed by JSON, such as arrays
4260and objects.")
109da1c0 4261 (license license:lgpl2.1+)))
6f96a359
SB
4262
4263(define-public libxklavier
4264 (package
4265 (name "libxklavier")
5f39050b 4266 (version "5.4")
6f96a359 4267 (source (origin
5f39050b 4268 ;; Note: There's no tarball at ftp.gnome.org for this version.
4269 (method git-fetch)
4270 (uri (git-reference
4271 (url "https://anongit.freedesktop.org/git/libxklavier")
4272 (commit (string-append "libxklavier-" version))))
6f96a359
SB
4273 (sha256
4274 (base32
5f39050b 4275 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
4276 (file-name (git-file-name name version))))
6f96a359
SB
4277 (build-system gnu-build-system)
4278 (arguments
778d6b52 4279 '(#:configure-flags
6f96a359
SB
4280 (list (string-append "--with-xkb-base="
4281 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 4282 "/share/X11/xkb")
4283 "--disable-xmodmap-support")))
6f96a359
SB
4284 (native-inputs
4285 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4286 ("gobject-introspection" ,gobject-introspection)
5f39050b 4287 ("pkg-config" ,pkg-config)
4288 ("gtk-doc" ,gtk-doc)
4289 ("intltool" ,intltool)
4290 ("which" ,which)
4291 ("autoconf" ,autoconf)
4292 ("automake" ,automake)
4293 ("libtool" ,libtool)))
6f96a359
SB
4294 (propagated-inputs
4295 ;; Required by libxklavier.pc.
4296 `(("glib" ,glib)
4297 ("libxml2" ,libxml2)))
4298 (inputs
4299 `(("iso-codes" ,iso-codes)
4300 ("libxi" ,libxi)
4301 ("libxkbfile" ,libxkbfile)
4302 ("xkbcomp" ,xkbcomp)
4303 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 4304 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
4305 (synopsis "High-level API for X Keyboard Extension")
4306 (description
4307 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
4308Extension known as XKB. This library is intended to support XFree86 and other
4309commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
4310indicators etc).")
4311 (license license:lgpl2.0+)))
619936a4
LC
4312
4313(define-public python2-rsvg
4314 ;; XXX: This is actually a subset of gnome-python-desktop.
4315 (package
4316 (name "python2-rsvg")
4317 (version "2.32.0")
4318 (source
4319 (origin
4320 (method url-fetch)
4321 (uri (string-append
4322 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
4323 version ".tar.bz2"))
4324 (sha256
4325 (base32
4326 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
4327 (build-system gnu-build-system)
4328 (native-inputs
4329 `(("pkg-config" ,pkg-config)))
4330 (inputs
4331 `(("python" ,python-2)
4332 ("python2-pygtk" ,python2-pygtk)
4333 ("librsvg" ,librsvg)))
f032d0be 4334 (home-page "https://www.gnome.org")
619936a4
LC
4335 (synopsis "Python bindings to librsvg")
4336 (description
3ad75446 4337 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
4338library.")
4339
4340 ;; This is the license of the rsvg bindings. The license of each module
4341 ;; of gnome-python-desktop is given in 'COPYING'.
4342 (license license:lgpl2.1+)))
a31a6d22 4343
f2ca414a
SB
4344(define-public glib-networking
4345 (package
4346 (name "glib-networking")
ea9f74b0 4347 (version "2.62.2")
f2ca414a
SB
4348 (source (origin
4349 (method url-fetch)
4350 (uri (string-append "mirror://gnome/sources/glib-networking/"
4351 (version-major+minor version) "/"
fb8fe1e8 4352 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
4353 (sha256
4354 (base32
ea9f74b0 4355 "0i2mw75297ql72h47vyvff3hqa0kcmqybblj52fqrarb0kfbhi06"))))
65211552 4356 (build-system meson-build-system)
f2ca414a 4357 (arguments
0d75c64d 4358 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
4359 (native-inputs
4360 `(("pkg-config" ,pkg-config)
4361 ("intltool" ,intltool)))
4362 (inputs
4363 `(("glib" ,glib)
4364 ("gnutls" ,gnutls)
4b8f1313 4365 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 4366 (home-page "https://www.gnome.org")
f2ca414a
SB
4367 (synopsis "Network-related GIO modules")
4368 (description
4369 "This package contains various network related extensions for the GIO
4370library.")
4371 (license license:lgpl2.0+)))
4372
ca649680 4373(define-public rest
4510b2da 4374 (package
ca649680 4375 (name "rest")
a4194d16 4376 (version "0.8.1")
4510b2da
SB
4377 (source (origin
4378 (method url-fetch)
4379 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
4380 (version-major+minor version) "/"
4381 name "-" version ".tar.xz"))
4510b2da
SB
4382 (sha256
4383 (base32
a4194d16 4384 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
4385 (build-system gnu-build-system)
4386 (arguments
4387 '(#:tests? #f ; tests require internet connection
4388 #:configure-flags
4389 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
4390 (native-inputs
4391 `(("glib-mkenums" ,glib "bin")
4392 ("gobject-introspection" ,gobject-introspection)
4393 ("pkg-config" ,pkg-config)))
4394 (propagated-inputs
4395 ;; rest-0.7.pc refers to all these.
4396 `(("glib" ,glib)
4397 ("libsoup" ,libsoup)
4398 ("libxml2" ,libxml2)))
24d6cc1d 4399 (home-page "https://www.gtk.org/")
4510b2da
SB
4400 (synopsis "RESTful web api query library")
4401 (description
4402 "This library was designed to make it easier to access web services that
4403claim to be \"RESTful\". It includes convenience wrappers for libsoup and
4404libxml to ease remote use of the RESTful API.")
4405 (license license:lgpl2.1+)))
4406
6e1bb642
SB
4407(define-public libsoup
4408 (package
4409 (name "libsoup")
9a9cd9bc 4410 (version "2.70.0")
6e1bb642
SB
4411 (source (origin
4412 (method url-fetch)
4413 (uri (string-append "mirror://gnome/sources/libsoup/"
4414 (version-major+minor version) "/"
c1b79b36 4415 "libsoup-" version ".tar.xz"))
6e1bb642
SB
4416 (sha256
4417 (base32
9a9cd9bc 4418 "0hjk9lgppc5435my0lyywbpmj7ib5vvcylwfin8ki97g9bvj1c2l"))))
eccaa8bf 4419 (build-system meson-build-system)
6e1bb642
SB
4420 (outputs '("out" "doc"))
4421 (arguments
2deb146f 4422 `(#:modules ((guix build utils)
eccaa8bf 4423 (guix build meson-build-system)
2deb146f
LC
4424 (ice-9 popen))
4425
f8026a79 4426 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
4427 #:phases
4428 (modify-phases %standard-phases
eccaa8bf 4429 (add-after 'unpack 'adjust-tests
26c228f9 4430 (lambda _
eccaa8bf
MB
4431 ;; This test fails due to missing /etc/nsswitch.conf
4432 ;; in the build environment.
26c228f9
LC
4433 (substitute* "tests/socket-test.c"
4434 ((".*/sockets/unconnected.*") ""))
2deb146f 4435
f8026a79
MB
4436 ;; These fail because "subdomain.localhost" does not resolve in
4437 ;; the build environment.
4438 (substitute* "tests/hsts-test.c"
4439 ((".*/hsts/basic.*") "")
4440 ((".*/hsts/subdomains.*") "")
4441 ((".*/hsts/superdomain.*") "")
4442 ((".*/hsts/utf8-address.*") ""))
4443 (substitute* "tests/hsts-db-test.c"
4444 ((".*/hsts-db/subdomains.*") ""))
4445
2deb146f
LC
4446 ;; Generate a self-signed certificate that has "localhost" as its
4447 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
4448 ;; 3.5.12, tests such as "ssl-tests" fail:
4449 ;;
4450 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
4451 ;;
4452 ;; 'certtool' is interactive so we have to pipe it the answers.
4453 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
4454 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
4455 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
4456 (for-each (lambda (line)
4457 (display line pipe)
4458 (newline pipe))
4459 '("" ;Common name
4460 "" ;UID
4461 "Guix" ;Organizational unit name
4462 "GNU" ;Organization name
4463 "" ;Locality name
4464 "" ;State or province
4465 "" ;Country
4466 "" ;subject's domain component (DC)
4467 "" ;E-mail
4468 "" ;serial number
4469 "-1" ;expiration time
4470 "N" ;belong to authority?
4471 "N" ;web client certificate?
4472 "N" ;IPsec IKE?
4473 "Y" ;web server certificate?
4474 "localhost" ;dnsName of subject
4475 "" ;dnsName of subject (end)
4476 "" ;URI of subject
4477 "127.0.0.1" ;IP address of subject
4478 "" ;signing?
06f5bc4e
MB
4479 "" ;encryption (RSA)?
4480 "" ;data encryption?
2deb146f
LC
4481 "" ;sign OCSP requests?
4482 "" ;sign code?
4483 "" ;time stamping?
4484 "" ;email protection?
4485 "" ;URI of the CRL distribution point
4486 "y" ;above info OK?
4487 ))
4488 (close-pipe pipe))
26c228f9 4489 #t))
eccaa8bf
MB
4490 (add-after 'install 'move-doc
4491 (lambda* (#:key outputs #:allow-other-keys)
4492 (let ((out (assoc-ref outputs "out"))
4493 (doc (assoc-ref outputs "doc")))
4494 (mkdir-p (string-append doc "/share"))
4495 (copy-recursively (string-append out "/share/gtk-doc")
4496 (string-append doc "/share/gtk-doc"))
4497 (delete-file-recursively (string-append out "/share/gtk-doc"))
4498 #t))))))
6e1bb642 4499 (native-inputs
26c228f9 4500 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 4501 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 4502 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
4503 ("intltool" ,intltool)
4504 ("pkg-config" ,pkg-config)
4505 ("python" ,python-wrapper)
fd730590 4506 ("vala" ,vala)
53c41e95 4507 ("php" ,php)
6e1bb642 4508 ("curl" ,curl)
2deb146f 4509 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
4510 ("httpd" ,httpd)))
4511 (propagated-inputs
4512 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
4513 `(("brotli" ,google-brotli)
4514 ("glib" ,glib)
249846bf 4515 ("libpsl" ,libpsl)
eccaa8bf 4516 ("libxml2" ,libxml2)
f8026a79
MB
4517 ("sqlite" ,sqlite)
4518 ("zlib" ,zlib)))
eccaa8bf
MB
4519 (inputs
4520 `(("glib-networking" ,glib-networking)
4521 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
4522 (home-page "https://live.gnome.org/LibSoup/")
4523 (synopsis "GLib-based HTTP Library")
4524 (description
4525 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
4526and the GLib main loop, to integrate well with GNOME applications.")
4527 (license license:lgpl2.0+)))
4528
43b6b45e
MC
4529
4530;;; A minimal version of libsoup used to prevent a cycle with Inkscape.
4531(define-public libsoup-minimal
4532 (package
4533 (inherit libsoup)
4534 (name "libsoup-minimal")
4535 (outputs (delete "doc" (package-outputs libsoup)))
4536 (arguments
4537 (substitute-keyword-arguments (package-arguments libsoup)
4538 ((#:configure-flags configure-flags)
4539 `(delete "-Dgtk_doc=true" ,configure-flags))
4540 ((#:phases phases)
4541 `(modify-phases ,phases
4542 (delete 'move-doc)))))
4543 (native-inputs (alist-delete "gtk-doc" (package-native-inputs libsoup)))))
4544
bba229a3
SB
4545(define-public libsecret
4546 (package
4547 (name "libsecret")
b05a2f62 4548 (version "0.20.3")
bba229a3
SB
4549 (source (origin
4550 (method url-fetch)
4551 (uri (string-append
896dcbc7
EF
4552 "mirror://gnome/sources/libsecret/"
4553 (version-major+minor version) "/"
0ada4e29 4554 "libsecret-" version ".tar.xz"))
bba229a3
SB
4555 (sha256
4556 (base32
b05a2f62 4557 "1r4habxdzmn02id324m0m4mg5isf22q1z436bg3vjjmcz1b3rjsg"))))
bba229a3
SB
4558 (build-system gnu-build-system)
4559 (outputs '("out" "doc"))
4560 (arguments
4561 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
4562 #:configure-flags
4563 (list (string-append "--with-html-dir="
4564 (assoc-ref %outputs "doc")
4565 "/share/gtk-doc/html"))))
4566 (native-inputs
c06ef010
MB
4567 `(("gettext" ,gettext-minimal)
4568 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 4569 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
4570 ("pkg-config" ,pkg-config)
4571 ("vala" ,vala)
4572 ("xsltproc" ,libxslt)))
4573 ;; These are needed for the tests.
4574 ;; FIXME: Add gjs once available.
4575 ;("dbus" ,dbus)
4576 ;("python2" ,python-2)
4577 ;("python2-dbus" ,python2-dbus)
4578 ;("python2-pygobject" ,python2-pygobject)
4579 ;("python2-pygobject-2" ,python2-pygobject-2)))
4580 (propagated-inputs
4581 `(("glib" ,glib))) ; required by libsecret-1.pc
4582 (inputs
4583 `(("docbook-xsl" ,docbook-xsl)
4584 ("libgcrypt" ,libgcrypt)
4585 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
4586 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
4587 (synopsis "GObject bindings for \"Secret Service\" API")
4588 (description
4589 "Libsecret is a GObject based library for storing and retrieving passwords
4590and other secrets. It communicates with the \"Secret Service\" using DBus.")
4591 (license license:lgpl2.1+)))
4592
b6821ee0 4593(define-public five-or-more
4594 (package
4595 (name "five-or-more")
ee75b46f 4596 (version "3.32.2")
b6821ee0 4597 (source
4598 (origin
4599 (method url-fetch)
bf782bfc 4600 (uri (string-append "mirror://gnome/sources/five-or-more/"
b6821ee0 4601 (version-major+minor version) "/"
bf782bfc 4602 "five-or-more-" version ".tar.xz"))
b6821ee0 4603 (sha256
ee75b46f 4604 (base32 "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii"))))
d9795e93
KK
4605 (build-system meson-build-system)
4606 (arguments
4607 '(#:glib-or-gtk? #t
4608 #:phases
4609 (modify-phases %standard-phases
4610 (add-after 'unpack 'skip-gtk-update-icon-cache
4611 (lambda _
4612 (substitute* "meson_post_install.py"
4613 (("gtk-update-icon-cache") (which "true")))
4614 #t)))))
b6821ee0 4615 (native-inputs
4616 `(("pkg-config" ,pkg-config)
d9795e93 4617 ("appstream-glib" ,appstream-glib)
b6821ee0 4618 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 4619 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 4620 ("intltool" ,intltool)
4621 ("itstool" ,itstool)
d9795e93 4622 ("vala" ,vala)
b6821ee0 4623 ("xmllint" ,libxml2)))
4624 (inputs
4625 `(("gtk+" ,gtk+)
d9795e93 4626 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 4627 ("librsvg" ,librsvg)))
4628 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
4629 (synopsis "Logic puzzle game")
4630 (description "Five or More is a game where you try to align
4631 five or more objects of the same color and shape causing them to disappear.
4632 On every turn more objects will appear, until the board is full.
4633 Try to last as long as possible.")
4634 (license license:gpl2+)))
4635
a31a6d22
SB
4636(define-public gnome-mines
4637 (package
4638 (name "gnome-mines")
583ea8f5 4639 (version "3.36.1")
a31a6d22
SB
4640 (source
4641 (origin
4642 (method url-fetch)
4643 (uri (string-append "mirror://gnome/sources/" name "/"
4644 (version-major+minor version) "/"
4645 name "-" version ".tar.xz"))
4646 (sha256
583ea8f5 4647 (base32 "0m2680r94nk61imym4x73j03jwfjd8cxm592m5ybiqdfdw6i723i"))))
8c0fab36 4648 (build-system meson-build-system)
a31a6d22 4649 (arguments
2d817e41
KK
4650 '(#:glib-or-gtk? #t
4651 #:phases
a31a6d22 4652 (modify-phases %standard-phases
2d817e41
KK
4653 (add-after 'unpack 'skip-gtk-update-icon-cache
4654 (lambda _
4655 (substitute* "build-aux/meson_post_install.py"
4656 (("gtk-update-icon-cache") (which "true")))
4657 #t)))))
a31a6d22 4658 (native-inputs
8c0fab36
RW
4659 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
4660 ("pkg-config" ,pkg-config)
a31a6d22
SB
4661 ("desktop-file-utils" ,desktop-file-utils)
4662 ("intltool" ,intltool)
bcb354ad 4663 ("itstool" ,itstool)
8c0fab36
RW
4664 ("vala" ,vala)
4665 ("yelp" ,yelp)
4666 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
4667 (inputs
4668 `(("gtk+" ,gtk+)
73992962 4669 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
4670 ("librsvg" ,librsvg)))
4671 (home-page "https://wiki.gnome.org/Apps/Mines")
4672 (synopsis "Minesweeper game")
4673 (description
4674 "Mines (previously gnomine) is a puzzle game where you locate mines
4675floating in an ocean using only your brain and a little bit of luck.")
754cfbdc
EB
4676 (license license:gpl2+)))
4677
4678(define-public gnome-multi-writer
4679 (package
4680 (name "gnome-multi-writer")
4681 (version "3.35.90")
4682 (source
4683 (origin
4684 (method url-fetch)
4685 (uri (string-append "mirror://gnome/sources/gnome-multi-writer/"
4686 (version-major+minor version) "/"
4687 "gnome-multi-writer-" version ".tar.xz"))
4688 (sha256
4689 (base32
4690 "07vgzjjdrxcp7h73z13h9agafxb4vmqx5i81bcfyw0ilw9kkdzmp"))))
4691 (build-system meson-build-system)
4692 (arguments
4693 '(#:glib-or-gtk? #t
4694 #:phases
4695 (modify-phases %standard-phases
4696 (add-after 'unpack 'skip-post-install
4697 (lambda _
4698 (substitute* "meson.build"
4699 (("meson.add_install_script" &) (string-append "# " &)))
4700 #t)))))
4701 (native-inputs
4702 `(("glib:bin" ,glib "bin")
4703 ("pkg-config" ,pkg-config)))
4704 (inputs
4705 `(("gtk+" ,gtk+)
4706 ("glib" ,glib) ; for gio
4707 ("gusb" ,gusb)
4708 ("udisks" ,udisks)
4709 ("libgudev" ,libgudev)
4710 ("libcanberra" ,libcanberra)
4711 ("polkit" ,polkit)))
4712 (home-page "https://wiki.gnome.org/Apps/MultiWriter")
4713 (synopsis "Write to multiple USB devices at once")
4714 (description
4715 "MultiWriter can be used to write an ISO file to multiple USB devices at
4716once.")
a31a6d22 4717 (license license:gpl2+)))
88f70665 4718
dfc407f3
KY
4719(define-public gnome-sudoku
4720 (package
4721 (name "gnome-sudoku")
857eb190 4722 (version "3.34.1")
dfc407f3
KY
4723 (source
4724 (origin
4725 (method url-fetch)
4726 (uri (string-append "mirror://gnome/sources/" name "/"
4727 (version-major+minor version) "/"
4728 name "-" version ".tar.xz"))
4729 (sha256
4730 (base32
857eb190 4731 "025y85r4qqardivvwiwhbmgarziykdy224m8zlrq8b79zv82793b"))))
7dc728c4
KK
4732 (build-system meson-build-system)
4733 (arguments
4734 '(#:glib-or-gtk? #t
4735 #:phases
4736 (modify-phases %standard-phases
4737 (add-after 'unpack 'skip-gtk-update-icon-cache
4738 (lambda _
4739 (substitute* "build-aux/post_install.py"
4740 (("gtk-update-icon-cache") (which "true")))
4741 #t)))))
dfc407f3
KY
4742 (native-inputs
4743 `(("pkg-config" ,pkg-config)
4744 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 4745 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
4746 ("intltool" ,intltool)
4747 ("itstool" ,itstool)
7dc728c4 4748 ("vala" ,vala)
dfc407f3
KY
4749 ("xmllint" ,libxml2)))
4750 (inputs
4751 `(("gtk+" ,gtk+)
4752 ("json-glib" ,json-glib)
4753 ("libgee" ,libgee)
4754 ("librsvg" ,librsvg)
4755 ("qqwing" ,qqwing)))
4756 (home-page "https://wiki.gnome.org/Apps/Sudoku")
4757 (synopsis "Japanese logic game")
4758 (description
4759 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
4760GNOME Sudoku is meant to have an interface as simple and unobstrusive as
4761possible while still providing features that make playing difficult Sudoku
4762more fun.")
4763 (license license:gpl2+)))
4764
88f70665
AW
4765(define-public gnome-terminal
4766 (package
4767 (name "gnome-terminal")
80f6f9d8 4768 (version "3.34.2")
88f70665
AW
4769 (source
4770 (origin
4771 (method url-fetch)
4772 (uri (string-append "mirror://gnome/sources/" name "/"
4773 (version-major+minor version) "/"
4774 name "-" version ".tar.xz"))
4775 (sha256
4776 (base32
80f6f9d8 4777 "0gc004f9b5k94gkdanmqjz3wqgnpny0l3nqm8zd19h4f0ps27mrv"))))
88f70665
AW
4778 (build-system glib-or-gtk-build-system)
4779 (arguments
4780 '(#:configure-flags
4781 (list "--disable-migration" "--disable-search-provider"
4782 "--without-nautilus-extension")
4783 #:phases
4784 (modify-phases %standard-phases
3a4de6b2 4785 (add-before 'configure 'patch-/bin/true
88f70665
AW
4786 (lambda _
4787 (substitute* "configure"
4788 (("/bin/true") (which "true"))))))))
4789 (native-inputs
4790 `(("pkg-config" ,pkg-config)
4791 ("desktop-file-utils" ,desktop-file-utils)
4792 ("intltool" ,intltool)
bcb354ad
SB
4793 ("itstool" ,itstool)
4794 ("xmllint" ,libxml2)))
68702167
MW
4795 (propagated-inputs
4796 `(("dconf" ,dconf)))
88f70665
AW
4797 (inputs
4798 `(("gtk+" ,gtk+)
4799 ("vte" ,vte)
4800 ("gnutls" ,gnutls)
88f70665 4801 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
bb93042c 4802 ("util-linux" ,util-linux "lib")
88f70665
AW
4803 ("vala" ,vala)))
4804 (home-page "https://wiki.gnome.org/Apps/Terminal")
4805 (synopsis "Terminal emulator")
4806 (description
4807 "GNOME Terminal is a terminal emulator application for accessing a
4808UNIX shell environment which can be used to run programs available on
4809your system.
4810
4811It supports several profiles, multiple tabs and implements several
4812keyboard shortcuts.")
4813 (license license:gpl3+)))
75016d07
AW
4814
4815(define-public colord
4816 (package
4817 (name "colord")
f98be942 4818 (version "1.4.4")
75016d07
AW
4819 (source
4820 (origin
4821 (method url-fetch)
5cc3096c 4822 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 4823 "colord-" version ".tar.xz"))
75016d07 4824 (sha256
f98be942 4825 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 4826 (build-system meson-build-system)
75016d07 4827 (arguments
a68544a8
RW
4828 '(;; FIXME: One test fails:
4829 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
4830 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
4831 ;; application/x-zerosize
75016d07 4832 #:tests? #f
a68544a8
RW
4833 #:glib-or-gtk? #t
4834 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 4835 ;; No dep on systemd.
a68544a8 4836 "-Dsystemd=false"
75016d07
AW
4837 ;; Wants to install to global completion dir;
4838 ;; punt.
a68544a8 4839 "-Dbash_completion=false"
a68544a8
RW
4840 "-Ddaemon_user=colord"
4841 "-Dsane=true"
dac26e22 4842 "-Dvapi=true"
6f20e2dc 4843 ;; Requires spotread.
a68544a8 4844 "-Dargyllcms_sensor=false"
6f20e2dc 4845 ;; TODO: Requires docbook2x.
a68544a8 4846 "-Dman=false")
75016d07
AW
4847 #:phases
4848 (modify-phases %standard-phases
a68544a8
RW
4849 (add-before 'configure 'patch-build-system
4850 (lambda* (#:key outputs #:allow-other-keys)
4851 (substitute* "rules/meson.build"
4852 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
4853 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
4854 #t))
4855 (add-before 'configure 'set-sqlite3-file-name
4856 (lambda* (#:key inputs #:allow-other-keys)
4857 ;; "colormgr dump" works by invoking the "sqlite3" command.
4858 ;; Record its absolute file name.
4859 (let ((sqlite (assoc-ref inputs "sqlite")))
4860 (substitute* "client/cd-util.c"
4861 (("\"sqlite3\"")
4862 (string-append "\"" sqlite "/bin/sqlite3\"")))
4863 #t))))))
75016d07 4864 (native-inputs
6f20e2dc 4865 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 4866 ("gettext" ,gettext-minimal)
75016d07 4867 ("gobject-introspection" ,gobject-introspection)
a68544a8 4868 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
4869 ("pkg-config" ,pkg-config)
4870 ("vala" ,vala)))
65cb2d61
SB
4871 (propagated-inputs
4872 ;; colord.pc refers to all these.
4873 `(("glib" ,glib)
6f20e2dc
TGR
4874 ("lcms" ,lcms)
4875 ("udev" ,eudev)))
75016d07 4876 (inputs
65cb2d61 4877 `(("dbus-glib" ,dbus-glib)
a68544a8 4878 ("gusb" ,gusb)
80c7dd1a 4879 ("libgudev" ,libgudev)
75016d07 4880 ("libusb" ,libusb)
75016d07 4881 ("polkit" ,polkit)
a68544a8 4882 ("python" ,python-wrapper)
6f20e2dc 4883 ("sqlite" ,sqlite)
4c928743 4884 ("sane-backends" ,sane-backends)))
57e7d748 4885 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
4886 (synopsis "Color management service")
4887 (description "Colord is a system service that makes it easy to manage,
4888install and generate color profiles to accurately color manage input and
4889output devices.")
4890 (license license:gpl2+)))
7b2abd00
AW
4891
4892(define-public geoclue
4893 (package
4894 (name "geoclue")
2bf0a5cb 4895 (version "2.5.6")
7b2abd00
AW
4896 (source
4897 (origin
4898 (method url-fetch)
50e96d25
MB
4899 (uri
4900 (string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
4901 version "/geoclue-" version ".tar.bz2"))
7b2abd00 4902 (sha256
2bf0a5cb 4903 (base32 "0a833x5apzabxj80ywvsh8crd635vni2i9v9c1p095f6hvmfc45k"))
fc1adab1 4904 (patches (search-patches "geoclue-config.patch"))))
50e96d25 4905 (build-system meson-build-system)
7b2abd00 4906 (arguments
50e96d25 4907 '(#:configure-flags (list "-Dbus-srv-user=geoclue")))
7b2abd00
AW
4908 (native-inputs
4909 `(("pkg-config" ,pkg-config)
758798a9 4910 ("gobject-introspection" ,gobject-introspection)
50e96d25
MB
4911 ("modem-manager" ,modem-manager)
4912 ("libnotify" ,libnotify)
4913 ("gtk-doc", gtk-doc)
7b2abd00
AW
4914 ("intltool" ,intltool)))
4915 (inputs
54e911bc 4916 `(("avahi" ,avahi)
50e96d25
MB
4917 ("glib:bin" ,glib "bin")
4918 ("glib-networking" ,glib-networking)
7b2abd00
AW
4919 ("json-glib" ,json-glib)
4920 ("libsoup" ,libsoup)))
50e96d25 4921 (home-page "https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home")
7b2abd00
AW
4922 (synopsis "Geolocation service")
4923 (description "Geoclue is a D-Bus service that provides location
4924information. The primary goal of the Geoclue project is to make creating
4925location-aware applications as simple as possible, while the secondary goal is
4926to ensure that no application can access location information without explicit
e881752c 4927permission from user.")
7b2abd00 4928 (license license:gpl2+)))
2bfe7437
AW
4929
4930(define-public geocode-glib
4931 (package
4932 (name "geocode-glib")
6f4d4ccc 4933 (version "3.26.2")
2bfe7437
AW
4934 (source (origin
4935 (method url-fetch)
4936 (uri (string-append "mirror://gnome/sources/geocode-glib/"
4937 (version-major+minor version) "/"
d485cdc0 4938 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
4939 (sha256
4940 (base32
6f4d4ccc 4941 "1l8g0f13xgkrk335afr9w8k46mziwb2jnyhl07jccl5yl37q9zh1"))))
a7dd0c02 4942 (build-system meson-build-system)
2bfe7437 4943 (arguments
a7dd0c02
RW
4944 `(#:phases
4945 (modify-phases %standard-phases
4946 ;; The tests require a bunch of locales.
4947 (add-before 'check 'set-locales
4948 (lambda* (#:key inputs #:allow-other-keys)
4949 (setenv "GUIX_LOCPATH"
4950 (string-append (assoc-ref inputs "glibc-locales")
4951 "/lib/locale"))
4952 #t)))))
2bfe7437
AW
4953 (native-inputs
4954 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
4955 ("glibc-locales" ,glibc-locales) ; for tests
4956 ("gettext" ,gettext-minimal)
2bfe7437 4957 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 4958 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
4959 ("pkg-config" ,pkg-config)
4960 ("json-glib" ,json-glib)))
4961 (propagated-inputs
4962 ;; geocode-glib-1.0.pc refers to GIO.
4963 `(("glib" ,glib)))
4964 (inputs
4965 `(("libsoup" ,libsoup)))
4966 (home-page "https://github.com/GNOME/geocode-glib/")
4967 (synopsis "Geocoding and reverse-geocoding library")
4968 (description
4969 "geocode-glib is a convenience library for geocoding (finding longitude,
4970and latitude from an address) and reverse geocoding (finding an address from
4971coordinates) using the Nominatim service. geocode-glib caches requests for
4972faster results and to avoid unnecessary server load.")
4973 (license license:lgpl2.0+)))
a1d5bb0e
AW
4974
4975(define-public upower
4976 (package
4977 (name "upower")
df45af90 4978 (version "0.99.11")
a1d5bb0e
AW
4979 (source (origin
4980 (method url-fetch)
df45af90 4981 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 4982 "upower-" version ".tar.xz"))
a1d5bb0e
AW
4983 (sha256
4984 (base32
df45af90 4985 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
5dc6d5ce
LC
4986 (patches (search-patches "upower-builddir.patch"))
4987 (modules '((guix build utils)))
4988 (snippet
4989 '(begin
4990 ;; Upstream commit
4991 ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
4992 ;; moved 'dbus-1/system.d' from etc/ to share/. However,
4993 ;; 'dbus-configuration-directory' in (gnu services dbus)
4994 ;; expects it in etc/. Thus, move it back to its previous
4995 ;; location.
4996 (substitute* "src/Makefile.in"
4997 (("^dbusconfdir =.*$")
4998 "dbusconfdir = $(sysconfdir)/dbus-1/system.d\n"))
4999 #t))))
a1d5bb0e
AW
5000 (build-system glib-or-gtk-build-system)
5001 (arguments
6039031a
BW
5002 '(#:phases
5003 (modify-phases %standard-phases
5004 (add-before 'check 'pre-check
5005 (lambda* (#:key inputs #:allow-other-keys)
5006 (let ((umockdev (string-append (assoc-ref inputs "umockdev")
5007 "/lib")))
5008 (setenv "LD_LIBRARY_PATH" umockdev))
5009 #t)))
a1d5bb0e
AW
5010 #:configure-flags (list "--localstatedir=/var"
5011 (string-append "--with-udevrulesdir="
5012 (assoc-ref %outputs "out")
9ec54965 5013 "/lib/udev/rules.d"))))
a1d5bb0e 5014 (native-inputs
ebeabe2d
SB
5015 `(("gobject-introspection" ,gobject-introspection)
5016 ("pkg-config" ,pkg-config)
a1d5bb0e 5017 ("intltool" ,intltool)
55409295
LC
5018 ("python" ,python)
5019
6039031a
BW
5020 ;; For tests.
5021 ("python-dbus" ,python-dbus)
5022 ("python-dbusmock" ,python-dbusmock)
5023 ("python-pygobject" ,python-pygobject)
5024 ("umockdev" ,umockdev)
5025
55409295
LC
5026 ;; For man pages.
5027 ("libxslt" ,libxslt) ;for 'xsltproc'
5028 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5029 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 5030 (inputs
ea226291
SB
5031 `(("dbus-glib" ,dbus-glib)
5032 ("libgudev" ,libgudev)
a1d5bb0e 5033 ("libusb" ,libusb)))
d7a503fc
MB
5034 (propagated-inputs
5035 ;; In Requires of upower-glib.pc.
5036 `(("glib" ,glib)))
57e7d748 5037 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
5038 (synopsis "System daemon for managing power devices")
5039 (description
5040 "UPower is an abstraction for enumerating power devices,
5041listening to device events and querying history and statistics. Any
5042application or service on the system can access the org.freedesktop.UPower
5043service via the system message bus.")
5044 (license license:gpl2+)))
6a180f6f
AW
5045
5046(define-public libgweather
5047 (package
5048 (name "libgweather")
462d3416 5049 (version "3.34.0")
6a180f6f
AW
5050 (source (origin
5051 (method url-fetch)
5052 (uri (string-append "mirror://gnome/sources/" name "/"
5053 (version-major+minor version) "/"
5054 name "-" version ".tar.xz"))
5055 (sha256
5056 (base32
462d3416 5057 "1fgiqswkhiaijanml3mb16ajn5aanrk7x6yiwagp9n9rssam6902"))))
cf6cbc34 5058 (build-system meson-build-system)
6a180f6f 5059 (arguments
cf6cbc34
RW
5060 `(#:tests? #f ; one of two tests requires network access
5061 #:configure-flags
5062 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 5063 (assoc-ref %build-inputs "tzdata")
cf6cbc34 5064 "/share/zoneinfo"))))
6a180f6f
AW
5065 (native-inputs
5066 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 5067 ("gobject-introspection" ,gobject-introspection)
6a180f6f 5068 ("pkg-config" ,pkg-config)
1d3fcf94 5069 ("vala" ,vala)
6a180f6f
AW
5070 ("intltool" ,intltool)))
5071 (propagated-inputs
5072 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
5073 ;; libsoup.
5074 `(("gtk+" ,gtk+)
5075 ("gdk-pixbuf" ,gdk-pixbuf)
5076 ("libxml2" ,libxml2)
cf6cbc34 5077 ("libsoup" ,libsoup)
6a180f6f 5078 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
5079 (inputs
5080 `(("tzdata" ,tzdata)))
6a180f6f
AW
5081 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
5082 (synopsis "Location, time zone, and weather library for GNOME")
5083 (description
5084 "libgweather is a library to access weather information from online
5085services for numerous locations.")
5086 (license license:gpl2+)))
23a22af6
AW
5087
5088(define-public gnome-settings-daemon
5089 (package
5090 (name "gnome-settings-daemon")
20154759 5091 (version "3.34.1")
23a22af6
AW
5092 (source
5093 (origin
5094 (method url-fetch)
5095 (uri (string-append "mirror://gnome/sources/" name "/"
5096 (version-major+minor version) "/"
5097 name "-" version ".tar.xz"))
5098 (sha256
5099 (base32
20154759 5100 "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr"))))
e644f9fa 5101 (build-system meson-build-system)
23a22af6 5102 (arguments
e644f9fa
RW
5103 `(#:glib-or-gtk? #t
5104 #:configure-flags
5105 (list (string-append "-Dudev_dir="
5106 (assoc-ref %outputs "out")
4d0e085b 5107 "/lib/udev/rules.d/")
20154759 5108 "-Dsystemd=false"
4d0e085b
RW
5109 ;; Otherwise, the RUNPATH will lack the final path component.
5110 (string-append "-Dc_link_args=-Wl,-rpath="
5111 (assoc-ref %outputs "out")
5112 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 5113 ;; Color management test can't reach the colord system service.
23a22af6
AW
5114 #:tests? #f))
5115 (native-inputs
e644f9fa
RW
5116 `(("glib:bin" ,glib "bin") ; for glib-mkenums
5117 ("pkg-config" ,pkg-config)
23a22af6
AW
5118 ("intltool" ,intltool)
5119 ("xsltproc" ,libxslt)
5120 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
5121 ("docbook-xml" ,docbook-xml-4.2)
5122 ("docbook-xsl" ,docbook-xsl)))
5123 (inputs
e644f9fa
RW
5124 `(("alsa-lib" ,alsa-lib)
5125 ("colord" ,colord)
ea226291 5126 ("libgudev" ,libgudev)
23a22af6
AW
5127 ("upower" ,upower)
5128 ("polkit" ,polkit)
5129 ("pulseaudio" ,pulseaudio)
5130 ("libcanberra" ,libcanberra)
5131 ("libx11" ,libx11)
5132 ("libxtst" ,libxtst)
5133 ("lcms" ,lcms)
5134 ("libnotify" ,libnotify)
5135 ("geoclue" ,geoclue)
5136 ("geocode-glib" ,geocode-glib)
5137 ("libgweather" ,libgweather)
5138 ("gnome-desktop" ,gnome-desktop)
5139 ("nss" ,nss)
5140 ("cups" ,cups)
ec2b1921
AW
5141 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5142 ("libwacom" ,libwacom)
5143 ("librsvg" ,librsvg)
eee7878f 5144 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 5145 ("wayland" ,wayland)
20154759
KK
5146 ("network-manager" ,network-manager)
5147 ("gcr" ,gcr)
5148 ("modem-manager" ,modem-manager)))
f032d0be 5149 (home-page "https://www.gnome.org")
23a22af6
AW
5150 (synopsis "GNOME settings daemon")
5151 (description
5152 "This package contains the daemon responsible for setting the various
5153parameters of a GNOME session and the applications that run under it. It
5154handles settings such keyboard layout, shortcuts, and accessibility, clipboard
5155settings, themes, mouse settings, and startup of other daemons.")
5156 (license license:gpl2+)))
1e7464a9
DH
5157
5158(define-public totem-pl-parser
5159 (package
5160 (name "totem-pl-parser")
f9c182ad 5161 (version "3.26.5")
1e7464a9
DH
5162 (source (origin
5163 (method url-fetch)
e980cbe9
MW
5164 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
5165 (version-major+minor version) "/"
1e7464a9
DH
5166 "totem-pl-parser-" version ".tar.xz"))
5167 (sha256
5168 (base32
f9c182ad 5169 "132jihnf51zs98yjkc6jxyqib4f3dawpjm17g4bj4j78y93dww2k"))))
1e9b19dd 5170 (build-system meson-build-system)
1e7464a9
DH
5171 (arguments
5172 ;; FIXME: Tests require gvfs.
5173 `(#:tests? #f))
5174 (native-inputs
5175 `(("intltool" ,intltool)
5176 ("glib" ,glib "bin")
4d6d8281 5177 ("gobject-introspection" ,gobject-introspection)
1e7464a9 5178 ("pkg-config" ,pkg-config)))
22a6ad6a 5179 (propagated-inputs
1e7464a9
DH
5180 `(("glib" ,glib)
5181 ("gmime" ,gmime)
1e9b19dd
RW
5182 ("libarchive" ,libarchive)
5183 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
5184 ("libxml2" ,libxml2)))
5185 (inputs
0a6e9e13 5186 `(("libsoup" ,libsoup)))
1e7464a9
DH
5187 (home-page "https://projects.gnome.org/totem")
5188 (synopsis "Library to parse and save media playlists for GNOME")
5189 (description "Totem-pl-parser is a GObjects-based library to parse and save
5190playlists in a variety of formats.")
5191 (license license:lgpl2.0+)))
5192
6b888eff
SB
5193(define-public aisleriot
5194 (package
5195 (name "aisleriot")
36ed9b46 5196 (version "3.22.9")
6b888eff
SB
5197 (source (origin
5198 (method url-fetch)
e43f622a 5199 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 5200 (version-major+minor version) "/"
e43f622a 5201 "aisleriot-" version ".tar.xz"))
6b888eff
SB
5202 (sha256
5203 (base32
36ed9b46 5204 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
5205 (build-system glib-or-gtk-build-system)
5206 (arguments
5207 '(#:configure-flags
5208 '("--with-platform=gtk-only"
5209 "--with-card-theme-formats=svg")))
5210 (native-inputs
5211 `(("desktop-file-utils" ,desktop-file-utils)
5212 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5213 ("intltool" ,intltool)
5214 ("itstool" ,itstool)
5215 ("pkg-config" ,pkg-config)
5216 ("xmllint" ,libxml2)))
5217 (inputs
5218 `(("gtk+" ,gtk+)
226e57d6 5219 ("guile" ,guile-2.2)
6b888eff
SB
5220 ("libcanberra" ,libcanberra)
5221 ("librsvg" ,librsvg)))
5222 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
5223 (synopsis "Solitaire card games")
5224 (description
5225 "Aisleriot (also known as Solitaire or sol) is a collection of card games
5226which are easy to play with the aid of a mouse.")
5227 (license license:gpl3+)))
4a79e256 5228
f828d05b
KK
5229(define-public amtk
5230 (package
5231 (name "amtk")
0e08ca14 5232 (version "5.0.2")
f828d05b
KK
5233 (source (origin
5234 (method url-fetch)
bf92ba6b 5235 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 5236 (version-major+minor version) "/"
bf92ba6b 5237 "amtk-" version ".tar.xz"))
f828d05b
KK
5238 (sha256
5239 (base32
0e08ca14 5240 "11jgz2i9wjzv4alrxl1qyxiapb52w7vs5ygfgsw0qgdap8gqkk3i"))))
f828d05b
KK
5241 (build-system gnu-build-system)
5242 (arguments
5243 '(#:configure-flags '("--enable-gtk-doc")))
5244 (native-inputs
5245 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 5246 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
5247 ("gtk-doc" ,gtk-doc)
5248 ("pkg-config" ,pkg-config)))
5249 (inputs
5250 `(("glib" ,glib)
5251 ("gtk+" ,gtk+)))
5252 (home-page "https://wiki.gnome.org/Projects/Amtk")
5253 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
5254 (description
5255 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
5256It is a basic GtkUIManager replacement based on GAction. It is suitable for
5257both a traditional UI or a modern UI with a GtkHeaderBar.")
5258 (license license:lgpl2.1+)))
5259
4a79e256
SB
5260(define-public devhelp
5261 (package
5262 (name "devhelp")
8ae23a1d 5263 (version "3.34.0")
4a79e256
SB
5264 (source (origin
5265 (method url-fetch)
5266 (uri (string-append "mirror://gnome/sources/" name "/"
5267 (version-major+minor version) "/"
5268 name "-" version ".tar.xz"))
5269 (sha256
5270 (base32
8ae23a1d 5271 "0zpmn6fgkgiayvn4diia5df0s6s7dqrdnp3nrvpavsmgn0vhb4pg"))))
11d28bd9 5272 (build-system meson-build-system)
35407f94 5273 (arguments
20db7a3d
KK
5274 '(#:glib-or-gtk? #t
5275 #:phases
35407f94
EF
5276 (modify-phases %standard-phases
5277 (add-after 'unpack 'skip-gtk-update-icon-cache
5278 ;; Don't create 'icon-theme.cache'.
5279 (lambda _
5280 (substitute* "meson_post_install.py"
5281 (("gtk-update-icon-cache") "true"))
5282 #t)))))
4a79e256
SB
5283 (native-inputs
5284 `(("intltool" ,intltool)
5dd12afc 5285 ("itstool" ,itstool)
11d28bd9
KK
5286 ("gobject-introspection" ,gobject-introspection)
5287 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
5288 ("pkg-config" ,pkg-config)))
5289 (inputs
11d28bd9
KK
5290 `(("amtk" ,amtk)
5291 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
5292 ("webkitgtk" ,webkitgtk)))
5293 (home-page "https://wiki.gnome.org/Apps/Devhelp")
5294 (synopsis "API documentation browser for GNOME")
5295 (description
5296 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
5297natively with GTK-Doc (the API reference system developed for GTK+ and used
5298throughout GNOME for API documentation).")
5299 (license license:gpl2+)))
ba421ab7
MW
5300
5301(define-public cogl
5302 (package
5303 (name "cogl")
c668a880 5304 (version "1.22.8")
ba421ab7
MW
5305 (source
5306 (origin
5307 (method url-fetch)
5754f0cf 5308 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 5309 (version-major+minor version) "/"
5754f0cf 5310 "cogl-" version ".tar.xz"))
ba421ab7 5311 (sha256
c668a880 5312 (base32 "0nfph4ai60ncdx7hy6hl1i1cmp761jgnyjfhagzi0iqq36qb41d8"))))
a88d5a0c
MW
5313 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
5314 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
5315 (build-system gnu-build-system)
5316 (native-inputs
5317 `(("glib:bin" ,glib "bin") ; for glib-mkenums
5318 ("gobject-introspection" ,gobject-introspection)
b4f04e0e 5319 ("xorg-server" ,xorg-server-for-tests)
ba421ab7
MW
5320 ("pkg-config" ,pkg-config)))
5321 (propagated-inputs
5322 `(("glib" ,glib)
5323 ("gdk-pixbuf" ,gdk-pixbuf)
5324 ("libx11" ,libx11)
5325 ("libxext" ,libxext)
5326 ("libxfixes" ,libxfixes)
5327 ("libxdamage" ,libxdamage)
5328 ("libxcomposite" ,libxcomposite)
5329 ("libxrandr" ,libxrandr)))
5330 (inputs
5331 `(("mesa" ,mesa)
5332 ("cairo" ,cairo)
5333 ("pango" ,pango)
5334 ("gstreamer" ,gstreamer)
31860852
KK
5335 ("gst-plugins-base" ,gst-plugins-base)
5336 ("wayland" ,wayland)))
ba421ab7 5337 (arguments
b4f04e0e
MB
5338 `(#:disallowed-references (,xorg-server-for-tests)
5339 #:configure-flags (list "--enable-cogl-gst"
31860852
KK
5340 "--enable-wayland-egl-platform"
5341 "--enable-wayland-egl-server"
5342
ba421ab7
MW
5343 ;; Arrange to pass an absolute file name to
5344 ;; dlopen for libGL.so.
5345 (string-append "--with-gl-libname="
5346 (assoc-ref %build-inputs "mesa")
5347 "/lib/libGL.so"))
b4f04e0e 5348 #:phases
ba421ab7 5349 (modify-phases %standard-phases
0c8a51c7
MB
5350 (add-after 'unpack 'fix-build-with-mesa-20
5351 (lambda _
5352 ;; Work around a problem with Mesa 20 where some macros used by
5353 ;; Cogl went missing from eglext.h. This can likely be removed
5354 ;; for newer versions of Cogl or Mesa.
5355 ;; https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/19
5356 (substitute* '("configure"
5357 "cogl/winsys/cogl-winsys-egl-kms.c")
5358 (("#include <EGL/eglext.h>" all)
5359 (string-append all "\n#include <EGL/eglmesaext.h>\n")))
5360 #t))
ba421ab7 5361 (add-before 'check 'start-xorg-server
b4f04e0e
MB
5362 (lambda* (#:key tests? inputs #:allow-other-keys)
5363 (if tests?
5364 (begin
5365 ;; The test suite requires a running X server.
5366 (system (format #f "~a/bin/Xvfb :1 +extension GLX &"
5367 (assoc-ref inputs "xorg-server")))
5368 (setenv "DISPLAY" ":1")
5369 #t)
5370 (format #t "test suite not run~%"))
ba421ab7 5371 #t)))))
89b49245 5372 (home-page "https://www.cogl3d.org")
ba421ab7
MW
5373 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
5374 (description
5375 "Cogl is a small library for using 3D graphics hardware to draw pretty
5376pictures. The API departs from the flat state machine style of OpenGL and is
5377designed to make it easy to write orthogonal components that can render
5378without stepping on each others toes.")
5379 (license (list license:expat ; most of the code
5380 license:bsd-3 ; cogl/cogl-point-in-poly.c
5381 license:sgifreeb2.0 ; cogl-path/tesselator/
5382 license:asl2.0)))) ; examples/android/
fb182b8a
MW
5383
5384(define-public clutter
5385 (package
5386 (name "clutter")
6a88e4ee 5387 (version "1.26.2")
fb182b8a
MW
5388 (source
5389 (origin
5390 (method url-fetch)
5391 (uri (string-append "mirror://gnome/sources/" name "/"
5392 (version-major+minor version) "/"
5393 name "-" version ".tar.xz"))
5394 (sha256
5395 (base32
6a88e4ee 5396 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
5397 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
5398 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 5399 (build-system gnu-build-system)
600233bd
LC
5400 (outputs '("out"
5401 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
5402 (native-inputs
5403 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
5404 ("gobject-introspection" ,gobject-introspection)
5405 ("pkg-config" ,pkg-config)
5406 ("xsltproc" ,libxslt)))
5407 (propagated-inputs
5408 `(("cogl" ,cogl)
5409 ("cairo" ,cairo)
5410 ("atk" ,atk)
5411 ("gtk+" ,gtk+)
5412 ("json-glib" ,json-glib)
5413 ("glib" ,glib)
5414 ("libxcomposite" ,libxcomposite)
5415 ("libxdamage" ,libxdamage)
5416 ("libxext" ,libxext)
5417 ("xinput" ,xinput)))
5418 (inputs
5419 `(("libxkbcommon" ,libxkbcommon)
5420 ("udev" ,eudev)))
5421 (arguments
600233bd
LC
5422 `(#:configure-flags (list "--enable-x11-backend=yes"
5423
5424 ;; This produces share/doc/{clutter,cally}.
5425 (string-append "--with-html-dir="
5426 (assoc-ref %outputs "doc")
5427 "/share/doc"))
fb182b8a
MW
5428 ;; XXX FIXME: Get test suite working. It would probably fail in the
5429 ;; same way the cogl tests fail, since clutter is based on cogl.
5430 #:tests? #f))
5431 (home-page "http://www.clutter-project.org")
476af713 5432 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 5433 (description
476af713 5434 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
5435creating fast, mainly 2D single window applications such as media box UIs,
5436presentations, kiosk style applications and so on.")
5437 (license license:lgpl2.0+)))
bf7f17ba
MW
5438
5439(define-public clutter-gtk
5440 (package
5441 (name "clutter-gtk")
5d1a3219 5442 (version "1.8.4")
bf7f17ba
MW
5443 (source
5444 (origin
5445 (method url-fetch)
5446 (uri (string-append "mirror://gnome/sources/" name "/"
5447 (version-major+minor version) "/"
5448 name "-" version ".tar.xz"))
5449 (sha256
5450 (base32
5d1a3219 5451 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
5452 (build-system gnu-build-system)
5453 (native-inputs
5454 `(("pkg-config" ,pkg-config)
5455 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
5456 (propagated-inputs
5457 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
5458 `(("clutter" ,clutter)
5459 ("gtk+" ,gtk+)))
5460 (home-page "http://www.clutter-project.org")
476af713 5461 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 5462 (description
476af713 5463 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
5464creating fast, mainly 2D single window applications such as media box UIs,
5465presentations, kiosk style applications and so on.")
5466 (license license:lgpl2.0+)))
86d6a893
MW
5467
5468(define-public clutter-gst
5469 (package
5470 (name "clutter-gst")
ba07ac19 5471 (version "3.0.27")
86d6a893
MW
5472 (source
5473 (origin
5474 (method url-fetch)
f010f89b 5475 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 5476 (version-major+minor version) "/"
f010f89b 5477 "clutter-gst-" version ".tar.xz"))
86d6a893 5478 (sha256
ba07ac19 5479 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
5480 (build-system gnu-build-system)
5481 (native-inputs
ba07ac19 5482 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
5483 ("pkg-config" ,pkg-config)
5484 ("gobject-introspection" ,gobject-introspection)))
5485 (inputs
5486 `(("clutter" ,clutter)
5487 ("gstreamer" ,gstreamer)
5488 ("gst-plugins-base" ,gst-plugins-base)))
5489 (home-page "http://www.clutter-project.org")
5490 (synopsis "Integration library for using GStreamer with Clutter")
5491 (description
5492 "Clutter-Gst is an integration library for using GStreamer with Clutter.
5493It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
5494implements the ClutterGstPlayer interface using playbin. Clutter is an
5495OpenGL-based interactive canvas library.")
86d6a893 5496 (license license:lgpl2.0+)))
607a04ae 5497
30dc88d9
LC
5498(define-public libchamplain
5499 (package
5500 (name "libchamplain")
5564b2c5 5501 (version "0.12.16")
30dc88d9
LC
5502 (source (origin
5503 (method url-fetch)
5504 (uri (string-append
5505 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
5506 version ".tar.xz"))
5507 (sha256
5508 (base32
5564b2c5 5509 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 5510 (build-system gnu-build-system)
f7c6833f
LF
5511 (arguments '(#:configure-flags '("--enable-vala")))
5512 (native-inputs
5513 `(("gobject-introspection" ,gobject-introspection)
5514 ("pkg-config" ,pkg-config)
5515 ("vala" ,vala)))
30dc88d9
LC
5516 (propagated-inputs
5517 `(("libsoup" ,libsoup)
5518 ("sqlite" ,sqlite)
5519 ("clutter" ,clutter)
5520 ("clutter-gtk" ,clutter-gtk)
5521 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
5522 ("cairo" ,cairo)
5523 ("gtk+3" ,gtk+)
5524 ("glib" ,glib)))
f032d0be 5525 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
5526 (synopsis "C library providing a ClutterActor to display maps")
5527 (description
5528 "libchamplain is a C library providing a ClutterActor to display maps.
5529It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
5530and Perl bindings are also available. It supports numerous free map sources
5531such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
5532 (license license:lgpl2.1+)))
5533
607a04ae
MW
5534(define-public gom
5535 (package
5536 (name "gom")
0510440b 5537 (version "0.3.2")
607a04ae
MW
5538 (source
5539 (origin
5540 (method url-fetch)
6c8a0b6f 5541 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 5542 (version-major+minor version) "/"
6c8a0b6f 5543 "gom-" version ".tar.xz"))
607a04ae
MW
5544 (sha256
5545 (base32
0510440b 5546 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
5547 (build-system gnu-build-system)
5548 (native-inputs
5549 `(("intltool" ,intltool)
5550 ("pkg-config" ,pkg-config)
5551 ("gobject-introspection" ,gobject-introspection)))
5552 (inputs
5553 `(("glib" ,glib)
5554 ("gdk-pixbuf" ,gdk-pixbuf)
5555 ("sqlite" ,sqlite)))
5556 ;; XXX TODO: Figure out how to run the test suite.
5557 (arguments `(#:tests? #f))
5558 (home-page "https://wiki.gnome.org/Projects/Gom")
5559 (synopsis "Object mapper from GObjects to SQLite")
5560 (description
5561 "Gom provides an object mapper from GObjects to SQLite. It helps you
5562write applications that need to store structured data as well as make complex
5563queries upon that data.")
5564 (license license:lgpl2.1+)))
b7a3cf11 5565
865aacc9 5566(define-public libgnome-games-support
f09520db 5567 (package
865aacc9 5568 (name "libgnome-games-support")
4c6d15cf 5569 (version "1.4.4")
f09520db
SB
5570 (source (origin
5571 (method url-fetch)
2d8dca9d 5572 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 5573 (version-major+minor version) "/"
2d8dca9d 5574 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
5575 (sha256
5576 (base32
4c6d15cf 5577 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
5578 (build-system gnu-build-system)
5579 (arguments
5580 '(#:phases
5581 (modify-phases %standard-phases
5582 (add-before 'check 'pre-check
5583 (lambda _
865aacc9 5584 ;; Tests require a writable HOME.
f09520db
SB
5585 (setenv "HOME" (getcwd))
5586 #t)))))
5587 (native-inputs
5588 `(("intltool" ,intltool)
5589 ("pkg-config" ,pkg-config)
5590 ("vala" ,vala)))
5591 (propagated-inputs
865aacc9 5592 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
5593 `(("gtk+" ,gtk+)
5594 ("libgee" ,libgee)))
5595 (home-page "https://www.gnome.org/")
5596 (synopsis "Useful functionality shared among GNOME games")
5597 (description
865aacc9 5598 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
5599GNOME Games, but it may be used by others.")
5600 (license license:lgpl3+)))
5601
b7a3cf11
SB
5602(define-public gnome-klotski
5603 (package
5604 (name "gnome-klotski")
18364fbc 5605 (version "3.34.0")
b7a3cf11
SB
5606 (source (origin
5607 (method url-fetch)
5608 (uri (string-append "mirror://gnome/sources/" name "/"
5609 (version-major+minor version) "/"
5610 name "-" version ".tar.xz"))
5611 (sha256
5612 (base32
18364fbc 5613 "0sbx0bzy32lh2c9jp8v7gz788wn9y1la8mr5a7gf7370szsl4d4f"))))
c1e419c4
KK
5614 (build-system meson-build-system)
5615 (arguments
5616 '(#:glib-or-gtk? #t
5617 #:phases
5618 (modify-phases %standard-phases
5619 (add-after 'unpack 'skip-gtk-update-icon-cache
5620 ;; Don't create 'icon-theme.cache'.
5621 (lambda _
5622 (substitute* "build-aux/meson_post_install.py"
5623 (("gtk-update-icon-cache") (which "true")))
5624 #t)))))
b7a3cf11
SB
5625 (native-inputs
5626 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 5627 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
5628 ("intltool" ,intltool)
5629 ("itstool" ,itstool)
bcb354ad 5630 ("pkg-config" ,pkg-config)
c1e419c4 5631 ("vala" ,vala)
bcb354ad 5632 ("xmllint" ,libxml2)))
b7a3cf11
SB
5633 (inputs
5634 `(("gtk+" ,gtk+)
f4eae76f 5635 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
5636 ("librsvg" ,librsvg)))
5637 (home-page "https://wiki.gnome.org/Apps/Klotski")
5638 (synopsis "Sliding block puzzles")
5639 (description
5640 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
5641the patterned block to the area bordered by green markers. To do so, you will
5642need to slide other blocks out of the way. Complete each puzzle in as few moves
5643as possible!")
5644 (license license:gpl2+)))
8d4791bf
MW
5645
5646(define-public grilo
5647 (package
5648 (name "grilo")
71dc411b 5649 (version "0.3.12")
8d4791bf
MW
5650 (source
5651 (origin
5652 (method url-fetch)
71dc411b 5653 (uri (string-append "mirror://gnome/sources/grilo/"
8d4791bf 5654 (version-major+minor version) "/"
71dc411b 5655 "grilo-" version ".tar.xz"))
8d4791bf 5656 (sha256
71dc411b 5657 (base32 "0w8sq5g6g1rg85h53vbll8va70fcp6082mlpmy98aa03444ddyyv"))))
d48d4c98 5658 (build-system meson-build-system)
8d4791bf
MW
5659 (native-inputs
5660 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
5661 ("intltool" ,intltool)
5662 ("pkg-config" ,pkg-config)
d48d4c98
KK
5663 ("gobject-introspection" ,gobject-introspection)
5664 ("gtk-doc" ,gtk-doc)
5665 ("vala" ,vala)))
8d4791bf 5666 (inputs
6d7273a0
KK
5667 `(("cyrus-sasl" ,cyrus-sasl)
5668 ("glib" ,glib)
8d4791bf
MW
5669 ("gtk+" ,gtk+)
5670 ("libxml2" ,libxml2)
6d7273a0 5671 ("liboauth" ,liboauth)
8d4791bf
MW
5672 ("libsoup" ,libsoup)
5673 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
5674 (native-search-paths
5675 (list (search-path-specification
5676 (variable "GRL_PLUGIN_PATH")
5677 (files (list (string-append "lib/grilo-"
5678 (version-major+minor version)))))))
d48d4c98 5679 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
5680 (synopsis "Framework for discovering and browsing media")
5681 (description
5682 "Grilo is a framework focused on making media discovery and browsing easy
5683for application developers.")
5684 (license license:lgpl2.1+)))
7b212526
MW
5685
5686(define-public grilo-plugins
5687 (package
5688 (name "grilo-plugins")
281f6b3a 5689 (version "0.3.10")
7b212526
MW
5690 (source
5691 (origin
5692 (method url-fetch)
5693 (uri (string-append "mirror://gnome/sources/" name "/"
5694 (version-major+minor version) "/"
5695 name "-" version ".tar.xz"))
5696 (sha256
5697 (base32
281f6b3a
RG
5698 "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0"))))
5699 (build-system meson-build-system)
7b212526 5700 (native-inputs
281f6b3a
RG
5701 `(("gettext" ,gettext-minimal)
5702 ("glib:bin" ,glib "bin")
5703 ("gtk+:bin" ,gtk+ "bin")
7b212526
MW
5704 ("itstool" ,itstool)
5705 ("pkg-config" ,pkg-config)))
281f6b3a 5706 ;; TODO: ahavi, gstreamer
7b212526
MW
5707 (inputs
5708 `(("grilo" ,grilo)
281f6b3a
RG
5709 ;("gmime" ,gmime) ; unused
5710 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
7b212526 5711 ("gom" ,gom)
281f6b3a
RG
5712 ;("gssdp" ,gssdp) ; unused
5713 ;("gupnp" ,gupnp) ; unused
5714 ;("gupnp-av" ,gupnp-av) ; unused
7b212526
MW
5715 ("json-glib" ,json-glib)
5716 ("avahi" ,avahi)
281f6b3a
RG
5717 ("libgdata" ,libgdata)
5718 ("libmediaart" ,libmediaart)
5719 ;("librest" ,rest) ; unused
7b212526 5720 ("libsoup" ,libsoup)
281f6b3a
RG
5721 ("totam-pl-parser" ,totem-pl-parser)
5722 ("tracker" ,tracker))) ; unused because it's too old
7b212526 5723 (arguments
281f6b3a
RG
5724 `(#:glib-or-gtk? #t
5725 ;;Disable lua-factory as it needs missing dependencies
5726 #:configure-flags '("-Denable-lua-factory=no")))
f032d0be 5727 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
5728 (synopsis "Plugins for the Grilo media discovery library")
5729 (description
5730 "Grilo is a framework focused on making media discovery and browsing easy
281f6b3a
RG
5731for application developers. This package provides plugins for common media
5732discovery protocols.")
7b212526 5733 (license license:lgpl2.1+)))
4e3fc547
MW
5734
5735(define-public totem
5736 (package
5737 (name "totem")
961dc62d 5738 (version "3.34.1")
4e3fc547
MW
5739 (source
5740 (origin
5741 (method url-fetch)
2a9761b1 5742 (uri (string-append "mirror://gnome/sources/totem/"
4e3fc547 5743 (version-major+minor version) "/"
2a9761b1 5744 "totem-" version ".tar.xz"))
4e3fc547
MW
5745 (sha256
5746 (base32
961dc62d 5747 "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b"))))
7ad81b8b 5748 (build-system meson-build-system)
4e3fc547
MW
5749 (native-inputs
5750 `(("pkg-config" ,pkg-config)
5751 ("desktop-file-utils" ,desktop-file-utils)
5752 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 5753 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 5754 ("intltool" ,intltool)
bcb354ad 5755 ("itstool" ,itstool)
995ef5ea 5756 ("xmllint" ,libxml2)
995ef5ea 5757 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
5758 (propagated-inputs
5759 `(("dconf" ,dconf)))
5760 (inputs
5761 `(("gtk+" ,gtk+)
5762 ("gdk-pixbuf" ,gdk-pixbuf)
5763 ("atk" ,atk)
5764 ("cairo" ,cairo)
5765 ("dbus-glib" ,dbus-glib)
5766 ("clutter" ,clutter)
5767 ("clutter-gtk" ,clutter-gtk)
5768 ("clutter-gst" ,clutter-gst)
6a6db57f 5769 ("xorgproto" ,xorgproto)
4e3fc547
MW
5770 ("libxxf86vm" ,libxxf86vm)
5771 ("libxtst" ,libxtst)
5772 ("libxrandr" ,libxrandr)
5773 ("libxml2" ,libxml2)
5774 ("libsoup" ,libsoup)
5775 ("libpeas" ,libpeas)
5776 ("librsvg" ,librsvg)
5777 ("lirc" ,lirc)
5778 ("gnome-desktop" ,gnome-desktop)
5779 ("gstreamer" ,gstreamer)
5780 ("gst-plugins-base" ,gst-plugins-base)
5781 ("gst-plugins-good" ,gst-plugins-good)
5782 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5783 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 5784 ("python" ,python)
995ef5ea 5785 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
5786 ("totem-pl-parser" ,totem-pl-parser)
5787 ("grilo" ,grilo)
5788 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
5789 ("vala" ,vala)))
5790 (arguments
7ad81b8b
LC
5791 `(#:glib-or-gtk? #t
5792
5793 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 5794 ;; all that.
7ad81b8b 5795 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
5796
5797 ;; Do not build .a files for the plugins, it's
5798 ;; completely useless. This saves 2 MiB.
7ad81b8b 5799 "--default-library" "shared")
ec5c24f9 5800 #:phases
4e3fc547 5801 (modify-phases %standard-phases
d51b19ad
EF
5802 (add-after 'unpack 'skip-gtk-update-icon-cache
5803 ;; Don't create 'icon-theme.cache'.
5804 (lambda _
5805 (substitute* "meson_post_install.py"
5806 (("gtk-update-icon-cache") "true"))
5807 #t))
6368eb39
DM
5808 (add-before
5809 'install 'disable-cache-generation
5810 (lambda _
5811 (setenv "DESTDIR" "/")
5812 #t))
995ef5ea
KK
5813 (add-before
5814 'check 'pre-check
5815 (lambda _
5816 ;; Tests require a running X server.
5817 (system "Xvfb :1 &")
5818 (setenv "DISPLAY" ":1")
5819 #t))
4e3fc547
MW
5820 (add-after
5821 'install 'wrap-totem
5822 (lambda* (#:key inputs outputs #:allow-other-keys)
5823 (let ((out (assoc-ref outputs "out"))
5824 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
5825 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
5826 (wrap-program (string-append out "/bin/totem")
5827 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
5828 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
5829 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
5830 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
5831 #t)))))
5832 (home-page "https://wiki.gnome.org/Apps/Videos")
5833 (synopsis "Simple media player for GNOME based on GStreamer")
5834 (description "Totem is a simple yet featureful media player for GNOME
5835which can read a large number of file formats.")
5836 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
5837 ;; to be used and distributed together with GStreamer and Totem. See
5838 ;; file://COPYING in the source distribution for details.
5839 (license license:gpl2+)))
f0afb0c8
DH
5840
5841(define-public rhythmbox
5842 (package
5843 (name "rhythmbox")
eda580c0 5844 (version "3.4.4")
f0afb0c8
DH
5845 (source (origin
5846 (method url-fetch)
2588693d 5847 (uri (string-append "mirror://gnome/sources/rhythmbox/"
f0afb0c8 5848 (version-major+minor version) "/"
2588693d 5849 "rhythmbox-" version ".tar.xz"))
f0afb0c8
DH
5850 (sha256
5851 (base32
eda580c0 5852 "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf"))))
f0afb0c8
DH
5853 (build-system glib-or-gtk-build-system)
5854 (arguments
5855 `(#:configure-flags
5856 (list "--enable-lirc"
5857 "--enable-python"
5858 "--enable-vala"
5859 "--with-brasero"
5860 "--with-gudev"
5861 "--with-libsecret")
5862 #:phases
5863 (modify-phases %standard-phases
5864 (add-after
5865 'install 'wrap-rhythmbox
5866 (lambda* (#:key inputs outputs #:allow-other-keys)
5867 (let ((out (assoc-ref outputs "out"))
5868 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5869 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
5870 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
5871 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
5872 (wrap-program (string-append out "/bin/rhythmbox")
5873 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5874 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
5875 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
5876 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
5877 #t)))))
5878 (propagated-inputs
5879 `(("dconf" ,dconf)))
5880 (native-inputs
bcb354ad
SB
5881 `(("itstool" ,itstool)
5882 ("intltool" ,intltool)
f0afb0c8
DH
5883 ("glib" ,glib "bin")
5884 ("gobject-introspection" ,gobject-introspection)
5885 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
5886 ("pkg-config" ,pkg-config)
5887 ("xmllint" ,libxml2)))
f0afb0c8
DH
5888 (inputs
5889 `(("json-glib" ,json-glib)
5890 ("tdb" ,tdb)
5891 ("gnome-desktop" ,gnome-desktop)
5892 ("python" ,python)
5893 ("python-pygobject" ,python2-pygobject)
5894 ("vala" ,vala)
5895 ("gmime" ,gmime)
f0afb0c8
DH
5896 ("adwaita-icon-theme" ,adwaita-icon-theme)
5897 ("grilo" ,grilo)
5898 ("grilo-plugins" ,grilo-plugins)
5899 ("gstreamer" ,gstreamer)
5900 ("gst-plugins-base" ,gst-plugins-base)
5901 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 5902 ("totem-pl-parser" ,totem-pl-parser)
ea226291 5903 ("libgudev" ,libgudev)
f0afb0c8
DH
5904 ;;("libmtp" ,libmtp) FIXME: Not detected
5905 ("libsecret" ,libsecret)
5906 ("libsoup" ,libsoup)
5907 ("libnotify" ,libnotify)
5908 ("libpeas" ,libpeas)
5909 ("lirc" ,lirc)
5910 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
5911 ;;("clutter" ,clutter)
5912 ;;("clutter-gtk" ,clutter-gtk)
5913 ;;("clutter-gst" ,clutter-gst)
5914 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5915 ("atk" ,atk)
5916 ("pango" ,pango)
5917 ("gtk+" ,gtk+)
5918 ;; TODO:
5919 ;; * libgpod
5920 ;; * mx
f0afb0c8
DH
5921 ("brasero" ,brasero)))
5922 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
5923 (synopsis "Music player for GNOME")
5924 (description "Rhythmbox is a music playing application for GNOME. It
5925supports playlists, song ratings, and any codecs installed through gstreamer.")
5926 (license license:gpl2+)))
f70d8383
DH
5927
5928(define-public eog
5929 (package
5930 (name "eog")
0c9031fa 5931 (version "3.34.1")
f70d8383
DH
5932 (source (origin
5933 (method url-fetch)
5934 (uri (string-append "mirror://gnome/sources/" name "/"
5935 (version-major+minor version) "/"
5936 name "-" version ".tar.xz"))
5937 (sha256
5938 (base32
0c9031fa 5939 "0b7ld4azs9xbdjsk9b91ywhdzvxgajhndiwiivxjzbr0hjgp7c7x"))))
61fb581f 5940 (build-system meson-build-system)
f70d8383 5941 (arguments
34c44a34
RW
5942 `(#:configure-flags
5943 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
5944 (list (string-append "-Dc_link_args=-Wl,-rpath="
5945 (assoc-ref %outputs "out") "/lib/eog"))
5946 #:phases
f70d8383 5947 (modify-phases %standard-phases
7a034665
EF
5948 (add-after 'unpack 'skip-gtk-update-icon-cache
5949 ;; Don't create 'icon-theme.cache'.
5950 (lambda _
5951 (substitute* "meson_post_install.py"
5952 (("gtk-update-icon-cache") "true"))
5953 #t))
61fb581f
RW
5954 (add-after 'install 'wrap-eog
5955 (lambda* (#:key outputs #:allow-other-keys)
5956 (let ((out (assoc-ref outputs "out"))
5957 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5958 (wrap-program (string-append out "/bin/eog")
5959 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5960 #t)))))
f70d8383
DH
5961 (propagated-inputs
5962 `(("dconf" ,dconf)))
5963 (native-inputs
5964 `(("intltool" ,intltool)
b3546174 5965 ("itstool" ,itstool)
f70d8383
DH
5966 ("glib" ,glib "bin")
5967 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
5968 ("pkg-config" ,pkg-config)
5969 ("xmllint" ,libxml2)))
f70d8383
DH
5970 (inputs
5971 `(("gnome-desktop" ,gnome-desktop)
5972 ("shared-mime-info" ,shared-mime-info)
5973 ("adwaita-icon-theme" ,adwaita-icon-theme)
5974 ("exempi" ,exempi)
5975 ("lcms" ,lcms)
5976 ("libexif" ,libexif)
5977 ("libpeas" ,libpeas)
4bd428a7 5978 ("libjpeg" ,libjpeg-turbo)
0c9031fa 5979 ("librsvg" ,librsvg-next)
f70d8383
DH
5980 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5981 ("gtk+" ,gtk+)))
5982 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
5983 (synopsis "GNOME image viewer")
5984 (description "Eye of GNOME is the GNOME image viewer. It
5985supports image conversion, rotation, and slideshows.")
5986 (license license:gpl2+)))
41af5e7b 5987
0c3f8cb8
LC
5988(define-public eog-plugins
5989 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
5990 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
5991 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
5992 ;; 'XDG_DATA_DIRS' appropriately set.
5993 (package
5994 (name "eog-plugins")
54b74cc6 5995 (version "3.26.4")
0c3f8cb8
LC
5996 (source (origin
5997 (method url-fetch)
f3b88ed2 5998 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 5999 (version-major+minor version) "/"
f3b88ed2 6000 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
6001 (sha256
6002 (base32
54b74cc6 6003 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
6004 (build-system gnu-build-system)
6005 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
6006 (synopsis "Extensions for the Eye of GNOME image viewer")
6007 (native-inputs
6008 `(("pkg-config" ,pkg-config)
f2d97d57 6009 ("gettext" ,gettext-minimal)))
0c3f8cb8
LC
6010 (inputs
6011 `(("eog" ,eog)
6012 ("glib" ,glib)
6013 ("gtk+" ,gtk+)
6014 ("libpeas" ,libpeas)
6015 ("libexif" ,libexif)
6016 ("libchamplain" ,libchamplain)))
6017 (description
6018 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
6019notably:
6020
6021@itemize
6022@item @dfn{EXIF Display}, which displays camera (EXIF) information;
6023@item @dfn{Map}, which displays a map of where the picture was taken on the
6024side panel;
6025@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
6026@end itemize\n")
6027
6028 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
6029 ;; long suspicious byte stream that goes to a
6030 ;; ".gresource.eog_postasa_plugin" ELF section.
6031 (license license:gpl2+)))
6032
41af5e7b
SB
6033(define-public libgudev
6034 (package
6035 (name "libgudev")
b78f5118 6036 (version "232")
41af5e7b
SB
6037 (source (origin
6038 (method url-fetch)
6039 (uri (string-append "mirror://gnome/sources/" name "/"
6040 version "/" name "-" version ".tar.xz"))
6041 (sha256
6042 (base32
b78f5118 6043 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 6044 (build-system gnu-build-system)
b78f5118
RW
6045 (arguments
6046 '(#:configure-flags
6047 ;; umockdev depends on libgudev.
6048 (list "--disable-umockdev")))
41af5e7b
SB
6049 (native-inputs
6050 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
6051 ("gobject-introspection" ,gobject-introspection)
6052 ("pkg-config" ,pkg-config)))
6053 (propagated-inputs
6054 `(("glib" ,glib))) ; required by gudev-1.0.pc
6055 (inputs
6056 `(("udev" ,eudev)))
6057 (home-page "https://wiki.gnome.org/Projects/libgudev")
6058 (synopsis "GObject bindings for libudev")
6059 (description
6060 "This library provides GObject bindings for libudev. It was originally
6061part of udev-extras, then udev, then systemd. It's now a project on its own.")
6062 (license license:lgpl2.1+)))
3dc8828f
SB
6063
6064(define-public gvfs
6065 (package
6066 (name "gvfs")
12fe4846 6067 (version "1.40.1")
3dc8828f
SB
6068 (source (origin
6069 (method url-fetch)
1d68eb32 6070 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 6071 (version-major+minor version) "/"
1d68eb32 6072 "gvfs-" version ".tar.xz"))
3dc8828f
SB
6073 (sha256
6074 (base32
95b90dec
KK
6075 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))
6076 ;; This patch may be removed when upgrading to version 1.46.x.
6077 (patches
6078 (search-patches "gvfs-add-support-for-libplist-2.2.patch"))))
e762d943 6079 (build-system meson-build-system)
3dc8828f 6080 (arguments
e762d943
RW
6081 '(#:glib-or-gtk? #t
6082 #:configure-flags
6083 (list "-Dsystemduserunitdir=no"
6084 "-Dtmpfilesdir=no"
6085 ;; Otherwise, the RUNPATH will lack the final path component.
6086 (string-append "-Dc_link_args=-Wl,-rpath="
6087 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
6088 (native-inputs
6089 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
6090 ("gettext" ,gettext-minimal)
6091 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
6092 ("pkg-config" ,pkg-config)
6093 ("xsltproc" ,libxslt)))
6094 (inputs
6095 `(("avahi" ,avahi)
6096 ("docbook-xml" ,docbook-xml-4.2)
6097 ("docbook-xsl" ,docbook-xsl)
6098 ("dbus" ,dbus)
e762d943 6099 ("elogind" ,elogind)
3dc8828f 6100 ("fuse" ,fuse)
24a78aa6 6101 ("gcr" ,gcr)
3dc8828f 6102 ("glib" ,glib)
e762d943 6103 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
6104 ("libarchive" ,libarchive)
6105 ("libbluray" ,libbluray)
8852ca24 6106 ("libcap" ,libcap)
3dc8828f
SB
6107 ("libcdio-paranoia" ,libcdio-paranoia)
6108 ("libgcrypt" ,libgcrypt)
e762d943 6109 ("libgdata" ,libgdata)
3dc8828f
SB
6110 ("libgphoto2" ,libgphoto2)
6111 ("libgudev" ,libgudev)
0ab9f949 6112 ("libimobiledevice" ,libimobiledevice)
3dc8828f 6113 ("libmtp" ,libmtp)
e762d943 6114 ("libnfs" ,libnfs)
3dc8828f
SB
6115 ("libsecret" ,libsecret)
6116 ("libsmbclient" ,samba)
6117 ("libsoup" ,libsoup)
6118 ("libxml2" ,libxml2)
e762d943 6119 ("openssh" ,openssh)
8852ca24 6120 ("polkit" ,polkit)
3dc8828f
SB
6121 ("udisks" ,udisks)))
6122 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 6123 (synopsis "Userspace virtual file system for GIO")
3dc8828f 6124 (description
8f65585b 6125 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
6126abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
6127to all applications using the GIO API. It also supports exposing the GVFS
6128mounts to non-GIO applications using FUSE.
6129
6130GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
6131DAV, and others.")
6132 (license license:lgpl2.0+)))
7c88b6bd
AW
6133
6134(define-public gusb
6135 (package
6136 (name "gusb")
536b3274 6137 (version "0.3.0")
7c88b6bd 6138 (source (origin
bbfb36f9
EF
6139 (method git-fetch)
6140 (uri (git-reference
b0e7b699 6141 (url "https://github.com/hughsie/libgusb")
bbfb36f9
EF
6142 (commit version)))
6143 (file-name (git-file-name name version))
7c88b6bd
AW
6144 (sha256
6145 (base32
bbfb36f9 6146 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 6147 (build-system meson-build-system)
7c88b6bd 6148 (native-inputs
536b3274 6149 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
6150 ("pkg-config" ,pkg-config)
6151 ("vala" ,vala)
7c88b6bd
AW
6152 ("gtk-doc" ,gtk-doc)))
6153 (propagated-inputs
6154 ;; Both of these are required by gusb.pc.
6155 `(("glib" ,glib)
6156 ("libusb" ,libusb)))
6157 (arguments
536b3274 6158 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 6159 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 6160 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
6161 (description
6162 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
6163asynchronous control, bulk and interrupt transfers with proper cancellation
6164and integration into a mainloop. This makes it easy to integrate low level
6165USB transfers with your high-level application or system daemon.")
6166 (license license:lgpl2.1+)))
0abe1d86
AW
6167
6168(define-public simple-scan
6169 (package
6170 (name "simple-scan")
c96f9178 6171 (version "3.36.4")
d9f6d587
TGR
6172 (source
6173 (origin
6174 (method url-fetch)
6175 (uri (string-append "mirror://gnome/sources/simple-scan/"
6176 (version-major+minor version) "/"
6177 "simple-scan-" version ".tar.xz"))
6178 (sha256
c96f9178 6179 (base32 "09gmzrlljdqkj3w6wa1c27wypy6j8z9dw3jzv9izfqvp38liibsn"))))
d9f6d587
TGR
6180 (build-system meson-build-system)
6181 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
6182 (arguments
6183 '(#:glib-or-gtk? #t))
0abe1d86
AW
6184 (inputs
6185 `(("gtk" ,gtk+)
6186 ("zlib" ,zlib)
6187 ("cairo" ,cairo)
c501f592 6188 ("colord" ,colord)
0abe1d86
AW
6189 ("gdk-pixbuf" ,gdk-pixbuf)
6190 ("gusb" ,gusb)
4c928743 6191 ("libsane" ,sane-backends)))
0abe1d86 6192 (native-inputs
b94a6ca0 6193 `(("gettext" ,gettext-minimal)
0abe1d86 6194 ("itstool" ,itstool)
c501f592 6195 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 6196 ("pkg-config" ,pkg-config)
bcb354ad
SB
6197 ("vala" ,vala)
6198 ("xmllint" ,libxml2)))
dff0eedb 6199 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 6200 (synopsis "Document and image scanner")
d9f6d587
TGR
6201 (description
6202 "Document Scanner is an easy-to-use application that lets you connect your
6203scanner and quickly capture images and documents in an appropriate format. It
6204supports any scanner for which a suitable SANE driver is available, which is
6205almost all of them.")
0abe1d86 6206 (license license:gpl3+)))
7549f984 6207
ab466d79
RW
6208(define-public eolie
6209 (package
6210 (name "eolie")
ed783404 6211 (version "0.9.98.1")
ab466d79
RW
6212 (source (origin
6213 (method url-fetch)
ed783404
RW
6214 (uri (string-append "https://adishatz.org/eolie/eolie-"
6215 version ".tar.xz"))
ab466d79
RW
6216 (sha256
6217 (base32
ed783404 6218 "1d844zva5w4p9pnp9c2g7zyb4vayr2g2drf78spxsdlc5lbd7lqr"))))
00014781 6219 (build-system meson-build-system)
ab466d79 6220 (arguments
00014781
RW
6221 `(#:glib-or-gtk? #t
6222 #:phases
ab466d79 6223 (modify-phases %standard-phases
f0c68100
EF
6224 (add-after 'unpack 'skip-gtk-update-icon-cache
6225 ;; Don't create 'icon-theme.cache'.
6226 (lambda _
6227 (substitute* "meson_post_install.py"
6228 (("gtk-update-icon-cache") "true"))
6229 #t))
ab466d79
RW
6230 (add-after 'wrap 'wrap-more
6231 (lambda* (#:key inputs outputs #:allow-other-keys)
6232 (let* ((out (assoc-ref outputs "out"))
6233 ;; These libraries must be on LD_LIBRARY_PATH.
6234 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
6235 "atk" "gtk+" "gsettings-desktop-schemas"
6236 "gobject-introspection"))
6237 (path (string-join
6238 (map (lambda (lib)
6239 (string-append (assoc-ref inputs lib) "/lib"))
6240 libs)
6241 ":")))
6242 (wrap-program (string-append out "/bin/eolie")
6243 `("LD_LIBRARY_PATH" ":" prefix (,path))
6244 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
6245 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
6246 #t)))))
6247 (native-inputs
f85ca6ed 6248 `(("intltool" ,intltool)
ab466d79 6249 ("itstool" ,itstool)
d95f1041 6250 ("pkg-config" ,pkg-config)
d95f1041 6251 ("python" ,python)
f0c68100 6252 ("glib:bin" ,glib "bin")))
ab466d79
RW
6253 (inputs
6254 `(("gobject-introspection" ,gobject-introspection)
6255 ("glib-networking" ,glib-networking)
6256 ("cairo" ,cairo)
6257 ("gtk+" ,gtk+)
6258 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
6259 ("python" ,python-wrapper)
d72f76df 6260 ("python-dateutil" ,python-dateutil)
00014781 6261 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
6262 ("python-pygobject" ,python-pygobject)
6263 ("python-pycairo" ,python-pycairo)
00014781 6264 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
6265 ("libsecret" ,libsecret)
6266 ("gtkspell3" ,gtkspell3)
6267 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 6268 ("webkitgtk" ,webkitgtk)))
166b2c97 6269 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
6270 (synopsis "Web browser for GNOME")
6271 (description
6272 "Eolie is a new web browser for GNOME. It features Firefox sync support,
6273a secret password store, an adblocker, and a modern UI.")
6274 (license license:gpl3+)))
6275
7549f984
SB
6276(define-public epiphany
6277 (package
6278 (name "epiphany")
68fdd237 6279 (version "3.34.4")
7549f984
SB
6280 (source (origin
6281 (method url-fetch)
dd3266ec 6282 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 6283 (version-major+minor version) "/"
dd3266ec 6284 "epiphany-" version ".tar.xz"))
7549f984
SB
6285 (sha256
6286 (base32
68fdd237 6287 "13ar3s40cds1rplwbzx0fzigf120w0rydiv05r3k6zpc0zy91qb0"))))
fc5c5b92
R
6288
6289 (build-system meson-build-system)
7549f984 6290 (arguments
20710b91 6291 '(#:glib-or-gtk? #t
bb7ff88f
EF
6292 #:phases
6293 (modify-phases %standard-phases
6294 (add-after 'unpack 'skip-gtk-update-icon-cache
6295 ;; Don't create 'icon-theme.cache'.
6296 (lambda _
6297 (substitute* "post_install.py"
6298 (("gtk-update-icon-cache") "true"))
20710b91
LP
6299 #t))
6300 (add-after 'unpack 'disable-failing-tests
6301 (lambda _
6302 (substitute* "tests/meson.build"
6303 ;; embed_shell fails, because webkitgtk apparently no longer supports
6304 ;; overriding the ftp schema
6305 ;; web_app_utils fails due to missing network access
6306 (("(embed_shell|web_app_utils)_test,")
6307 "find_program('sh'), args: ['-c', 'exit 77'],"))
6308 #t))
6309 (add-before 'check 'pre-check
6310 (lambda _
6311 ;; Tests require a running X server.
6312 (system "Xvfb :1 &")
6313 (setenv "DISPLAY" ":1")
bb7ff88f 6314 #t)))
e19f9c24
LF
6315 #:configure-flags
6316 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
6317 (list (string-append "-Dc_link_args=-Wl,-rpath="
6318 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
6319 (propagated-inputs
6320 `(("dconf" ,dconf)))
7549f984 6321 (native-inputs
fc5c5b92
R
6322 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6323 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 6324 ("intltool" ,intltool)
7549f984 6325 ("itstool" ,itstool)
bcb354ad 6326 ("pkg-config" ,pkg-config)
20710b91
LP
6327 ("xmllint" ,libxml2)
6328 ("xorg-server" ,xorg-server-for-tests)))
7549f984
SB
6329 (inputs
6330 `(("avahi" ,avahi)
6331 ("gcr" ,gcr)
fc5c5b92 6332 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
6333 ("glib-networking" ,glib-networking)
6334 ("gnome-desktop" ,gnome-desktop)
6335 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 6336 ("json-glib" ,json-glib)
7549f984 6337 ("iso-codes" ,iso-codes)
8748e29c 6338 ("libdazzle" ,libdazzle)
7549f984
SB
6339 ("libnotify" ,libnotify)
6340 ("libsecret" ,libsecret)
7549f984 6341 ("libxslt" ,libxslt)
fc5c5b92 6342 ("nettle" ,nettle) ; for hogweed
7549f984 6343 ("sqlite" ,sqlite)
f85ca6ed 6344 ("webkitgtk" ,webkitgtk)))
7549f984
SB
6345 (home-page "https://wiki.gnome.org/Apps/Web")
6346 (synopsis "GNOME web browser")
6347 (description
6348 "Epiphany is a GNOME web browser targeted at non-technical users. Its
6349principles are simplicity and standards compliance.")
6350 (license license:gpl2+)))
a3856b2c
SB
6351
6352(define-public d-feet
6353 (package
6354 (name "d-feet")
458e9221 6355 (version "0.3.14")
a3856b2c
SB
6356 (source (origin
6357 (method url-fetch)
6358 (uri (string-append "mirror://gnome/sources/" name "/"
6359 (version-major+minor version) "/"
6360 name "-" version ".tar.xz"))
6361 (sha256
6362 (base32
458e9221 6363 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
6364 (build-system glib-or-gtk-build-system)
6365 (arguments
6366 '(#:out-of-source? #f ; tests need to run in the source directory.
6367 #:phases
6368 (modify-phases %standard-phases
6369 (add-before
6370 'check 'pre-check
86aff791 6371 (lambda _
a3856b2c
SB
6372 ;; The test suite requires a running X server.
6373 (system "Xvfb :1 &")
6374 (setenv "DISPLAY" ":1")
6375 ;; Don't fail on missing '/etc/machine-id'.
6376 (setenv "DBUS_FATAL_WARNINGS" "0")
6377 ;; tests.py and window.py don't meet E402:
6378 ;; E402 module level import not at top of file
6379 (substitute* "src/tests/Makefile"
86aff791
MW
6380 (("--ignore=E123") "--ignore=E123,E402"))
6381 #t))
a3856b2c
SB
6382 (add-after
6383 'install 'wrap-program
6384 (lambda* (#:key outputs #:allow-other-keys)
6385 (let ((prog (string-append (assoc-ref outputs "out")
6386 "/bin/d-feet")))
6387 (wrap-program prog
6388 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
6389 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
6390 #t))))))
a3856b2c
SB
6391 (native-inputs
6392 `(("intltool" ,intltool)
6393 ("itstool" ,itstool)
6394 ("pkg-config" ,pkg-config)
6395 ("python-pep8" ,python-pep8)
6396 ("xmllint" ,libxml2)
ff337525 6397 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
6398 (inputs
6399 `(("gobject-introspection" ,gobject-introspection)
6400 ("gtk+" ,gtk+)
6401 ("python" ,python-wrapper)
458e9221 6402 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
6403 ("python-pygobject" ,python-pygobject)))
6404 (home-page "https://wiki.gnome.org/Apps/DFeet")
6405 (synopsis "D-Bus debugger")
6406 (description
6407 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
6408of running programs and invoke methods on those interfaces.")
6409 (license license:gpl2+)))
c3b97bd9
SB
6410
6411(define-public yelp-xsl
6412 (package
6413 (name "yelp-xsl")
632a9b32 6414 (version "3.34.2")
c3b97bd9
SB
6415 (source (origin
6416 (method url-fetch)
6417 (uri (string-append "mirror://gnome/sources/" name "/"
6418 (version-major+minor version) "/"
6419 name "-" version ".tar.xz"))
6420 (sha256
6421 (base32
632a9b32 6422 "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
c3b97bd9
SB
6423 (build-system gnu-build-system)
6424 (native-inputs
632a9b32 6425 `(("gettext-minimal" ,gettext-minimal)
c3b97bd9
SB
6426 ("itstool" ,itstool)
6427 ("xmllint" ,libxml2)))
6428 (home-page "https://wiki.gnome.org/Apps/Yelp")
6429 (synopsis "XSL stylesheets for Yelp")
6430 (description
6431 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
6432to format Docbook and Mallard documents.")
6433 (license license:gpl2+)))
de3d612a
SB
6434
6435(define-public yelp
6436 (package
6437 (name "yelp")
1f1b6d60 6438 (version "3.32.2")
de3d612a
SB
6439 (source (origin
6440 (method url-fetch)
6441 (uri (string-append "mirror://gnome/sources/" name "/"
6442 (version-major+minor version) "/"
6443 name "-" version ".tar.xz"))
6444 (sha256
6445 (base32
1f1b6d60 6446 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
6447 (build-system glib-or-gtk-build-system)
6448 (native-inputs
6449 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
6450 ("intltool" ,intltool)
6451 ("itstool" ,itstool)
6452 ("pkg-config" ,pkg-config)))
6453 (propagated-inputs
6454 `(("dconf" ,dconf)))
6455 (inputs
ad1b7d8b
SB
6456 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6457 ("libxslt" ,libxslt)
de3d612a 6458 ("sqlite" ,sqlite)
4c28ca1d
SB
6459 ("webkitgtk" ,webkitgtk)
6460 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
6461 (home-page "https://wiki.gnome.org/Apps/Yelp")
6462 (synopsis "GNOME help browser")
6463 (description
6464 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
6465man, info, and HTML documents. It can locate documents according to the
6466freedesktop.org help system specification.")
6467 (license license:gpl2+)))
122d0d10
SB
6468
6469(define-public yelp-tools
6470 (package
6471 (name "yelp-tools")
8fe8a42a 6472 (version "3.32.2")
122d0d10
SB
6473 (source (origin
6474 (method url-fetch)
6475 (uri (string-append "mirror://gnome/sources/" name "/"
6476 (version-major+minor version) "/"
6477 name "-" version ".tar.xz"))
6478 (sha256
6479 (base32
8fe8a42a 6480 "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q"))))
122d0d10
SB
6481 (build-system gnu-build-system)
6482 (native-inputs
6483 `(("pkg-config" ,pkg-config)))
6484 (propagated-inputs
6485 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
6486 `(("itstool" ,itstool)
6487 ("xmllint" ,libxml2)
6488 ("xsltproc" ,libxslt)))
6489 (inputs
6490 `(("yelp-xsl" ,yelp-xsl)))
6491 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
6492 (synopsis "Yelp documentation tools")
6493 (description
6494 "Yelp-tools is a collection of scripts and build utilities to help create,
6495manage, and publish documentation for Yelp and the web. Most of the heavy
6496lifting is done by packages like yelp-xsl and itstool. This package just
6497wraps things up in a developer-friendly way.")
6498 (license license:gpl2+)))
af8f9f23
RW
6499
6500(define-public libgee
6501 (package
6502 (name "libgee")
9cedae2a 6503 (version "0.20.3")
af8f9f23
RW
6504 (source (origin
6505 (method url-fetch)
84a1b007 6506 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 6507 (version-major+minor version) "/"
84a1b007 6508 "libgee-" version ".tar.xz"))
af8f9f23
RW
6509 (sha256
6510 (base32
9cedae2a 6511 "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
af8f9f23
RW
6512 (build-system gnu-build-system)
6513 (arguments
6514 `(#:phases
6515 (modify-phases %standard-phases
6516 (add-after 'unpack 'fix-introspection-install-dir
6517 (lambda* (#:key outputs #:allow-other-keys)
6518 (let ((out (assoc-ref outputs "out")))
6519 (substitute* "gee/Makefile.in"
6520 (("@INTROSPECTION_GIRDIR@")
6521 (string-append out "/share/gir-1.0/"))
6522 (("@INTROSPECTION_TYPELIBDIR@")
6523 (string-append out "/lib/girepository-1.0/")))))))))
6524 (native-inputs
6525 `(("glib" ,glib "bin")
6526 ("pkg-config" ,pkg-config)))
6527 (inputs
6528 `(("glib" ,glib)
6529 ("gobject-introspection" ,gobject-introspection)))
6530 (home-page "https://wiki.gnome.org/Projects/Libgee")
6531 (synopsis "GObject collection library")
6532 (description
6533 "Libgee is a utility library providing GObject-based interfaces and
6534classes for commonly used data structures.")
6535 (license license:lgpl2.1+)))
b0f9c4b8
RW
6536
6537(define-public gexiv2
6538 (package
6539 (name "gexiv2")
efc396ef 6540 (version "0.12.1")
b0f9c4b8
RW
6541 (source (origin
6542 (method url-fetch)
6543 (uri (string-append "mirror://gnome/sources/" name "/"
6544 (version-major+minor version) "/"
6545 name "-" version ".tar.xz"))
6546 (sha256
6547 (base32
efc396ef 6548 "0xxxq8xdkgkn146my307jgws4qgxx477h0ybg1mqza1ycmczvsla"))))
51c482e4 6549 (build-system meson-build-system)
b0f9c4b8 6550 (native-inputs
b1a8b408
KK
6551 `(("gcr" ,gcr)
6552 ("glib" ,glib "bin")
6553 ("pkg-config" ,pkg-config)
6554 ("vala" ,vala)))
b0f9c4b8
RW
6555 (propagated-inputs
6556 ;; Listed in "Requires" section of gexiv2.pc
6557 `(("exiv2" ,exiv2)))
6558 (inputs
6559 `(("glib" ,glib)
6560 ("gobject-introspection" ,gobject-introspection)))
6561 (home-page "https://wiki.gnome.org/Projects/gexiv2")
6562 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
6563 (description
6564 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
6565allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
6566metadata in photo and video files of various formats.")
6567 (license license:gpl2+)))
fed5a689
RW
6568
6569(define-public shotwell
6570 (package
6571 (name "shotwell")
b82a45d8 6572 (version "0.30.9")
fed5a689
RW
6573 (source (origin
6574 (method url-fetch)
5497d682 6575 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 6576 (version-major+minor version) "/"
5497d682 6577 "shotwell-" version ".tar.xz"))
fed5a689
RW
6578 (sha256
6579 (base32
b82a45d8 6580 "1y556yyzfya0310v5wqjkf17hy5lhf028iminvvgi2pdfva344id"))))
3b79afa6
KK
6581 (build-system meson-build-system)
6582 (arguments
5a0beca3
EF
6583 '(#:glib-or-gtk? #t
6584 #:phases
6585 (modify-phases %standard-phases
6586 (add-after 'unpack 'skip-gtk-update-icon-cache
6587 (lambda _
6588 (substitute* "build-aux/meson/postinstall.py"
6589 (("gtk-update-icon-cache") (which "true"))
6590 (("update-desktop-database") (which "true")))
6591 #t)))))
735b8db6
TGR
6592 (propagated-inputs
6593 `(("dconf" ,dconf)))
fed5a689 6594 (native-inputs
5a0beca3
EF
6595 `(("gettext" ,gettext-minimal)
6596 ("glib:bin" ,glib "bin")
735b8db6 6597 ("itstool" ,itstool)
3b79afa6 6598 ("pkg-config" ,pkg-config)
735b8db6 6599 ("vala" ,vala)))
fed5a689 6600 (inputs
5a0beca3
EF
6601 `(("gcr" ,gcr)
6602 ("gexiv2" ,gexiv2)
fed5a689 6603 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
6604 ("gstreamer" ,gstreamer)
6605 ("json-glib" ,json-glib)
dfb0323d 6606 ("libgdata" ,libgdata)
fed5a689 6607 ("libgee" ,libgee)
5a0beca3
EF
6608 ("libgphoto2" ,libgphoto2)
6609 ("libgudev" ,libgudev)
fed5a689 6610 ("libraw" ,libraw)
fed5a689
RW
6611 ("libsoup" ,libsoup)
6612 ("libxml2" ,libxml2)
5a0beca3
EF
6613 ("sqlite" ,sqlite)
6614 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
6615 (home-page "https://wiki.gnome.org/Apps/Shotwell")
6616 (synopsis "Photo manager for GNOME 3")
6617 (description
6618 "Shotwell is a digital photo manager designed for the GNOME desktop
6619environment. It allows you to import photos from disk or camera, organize
6620them by keywords and events, view them in full-window or fullscreen mode, and
6621share them with others via social networking and more.")
6622 (license license:lgpl2.1+)))
293ff8b2
DT
6623
6624(define-public file-roller
6625 (package
6626 (name "file-roller")
dcae4270 6627 (version "3.32.3")
293ff8b2
DT
6628 (source (origin
6629 (method url-fetch)
f89a27c6 6630 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 6631 (version-major+minor version) "/"
f89a27c6 6632 "file-roller-" version ".tar.xz"))
293ff8b2
DT
6633 (sha256
6634 (base32
dcae4270 6635 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 6636 (build-system meson-build-system)
293ff8b2 6637 (native-inputs
0a500745
RW
6638 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6639 ("intltool" ,intltool)
4c96e5d1 6640 ("itstool" ,itstool)
0a500745
RW
6641 ("pkg-config" ,pkg-config)
6642 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
6643 ("glib:bin" ,glib "bin")))
293ff8b2
DT
6644 ;; TODO: Add libnautilus.
6645 (inputs
6646 `(("gtk+" ,gtk+)
6647 ("gdk-pixbuf" ,gdk-pixbuf)
6648 ("json-glib" ,json-glib)
6649 ("libarchive" ,libarchive)
6650 ("libnotify" ,libnotify)
4c96e5d1 6651 ("nettle" ,nettle)
293ff8b2
DT
6652 ("libxml2" ,libxml2)))
6653 (synopsis "Graphical archive manager for GNOME")
6654 (description "File Roller is an archive manager for the GNOME desktop
6655environment that allows users to view, unpack, and create compressed archives
6656such as gzip tarballs.")
6657 (home-page "http://fileroller.sourceforge.net/")
6658 (license license:gpl2+)))
7ce49365
SB
6659
6660(define-public gnome-session
6661 (package
6662 (name "gnome-session")
f67ce006 6663 (version "3.34.2")
7ce49365
SB
6664 (source (origin
6665 (method url-fetch)
6666 (uri (string-append "mirror://gnome/sources/" name "/"
6667 (version-major+minor version) "/"
6668 name "-" version ".tar.xz"))
6669 (sha256
6670 (base32
f67ce006 6671 "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb"))))
2914af3c 6672 (arguments
df278071
RW
6673 '(#:glib-or-gtk? #t
6674 #:phases
2914af3c
AW
6675 (modify-phases %standard-phases
6676 (add-before 'configure 'pre-configure
6677 (lambda* (#:key outputs #:allow-other-keys)
6678 ;; Use elogind instead of systemd.
df278071
RW
6679 (substitute* "meson.build"
6680 (("libsystemd-login") "libelogind")
6681 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
6682 (substitute* "gnome-session/gsm-systemd.c"
6683 (("#include <systemd/sd-login.h>")
6684 "#include <elogind/sd-login.h>"))
df278071 6685 ;; Remove uses of the systemd daemon.
803ab416
SB
6686 (substitute* "gnome-session/gsm-autostart-app.c"
6687 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
6688 #t))
6689 (add-after 'install 'wrap-gnome-session
6690 (lambda* (#:key inputs outputs #:allow-other-keys)
6691 ;; Make sure 'gnome-session' finds the 'gsettings' program.
6692 (let ((glib (assoc-ref inputs "glib:bin"))
6693 (out (assoc-ref outputs "out")))
6694 (wrap-program (string-append out "/bin/gnome-session")
6695 `("PATH" ":" prefix (,(string-append glib "/bin"))))
6696 #t))))
6cbc8d57 6697
2914af3c 6698 #:configure-flags
df278071
RW
6699 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
6700 "-Dman=false" ; FIXME: disabled because of docbook validation error
6701 "-Dsystemd_journal=false")))
6702 (build-system meson-build-system)
7ce49365
SB
6703 (native-inputs
6704 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6705 ("pkg-config" ,pkg-config)
6706 ("intltool" ,intltool)
df278071
RW
6707 ("xsltproc" ,libxslt)
6708 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
6709 ("docbook-xsl" ,docbook-xsl)
6710 ("docbook-xml" ,docbook-xml)
6711 ("xmlto" ,xmlto)))
7ce49365 6712 (inputs
2914af3c
AW
6713 `(("elogind" ,elogind)
6714 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 6715 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
6716 ("gtk+" ,gtk+)
6717 ("json-glib" ,json-glib)
6718 ("libsm" ,libsm)
6719 ("libxcomposite" ,libxcomposite)
6720 ("libxtst" ,libxtst)
6721 ("mesa" ,mesa)
6722 ("upower" ,upower)
6723 ("xtrans" ,xtrans)))
6724 (synopsis "Session manager for GNOME")
6725 (description
6726 "This package contains the GNOME session manager, as well as a
6727configuration program to choose applications starting on login.")
6728 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
6729 (license license:gpl2+)))
f47ba77e
SB
6730
6731(define-public gjs
6732 (package
6733 (name "gjs")
76e1830c 6734 (version "1.58.3")
f47ba77e
SB
6735 (source (origin
6736 (method url-fetch)
6737 (uri (string-append "mirror://gnome/sources/" name "/"
6738 (version-major+minor version) "/"
6739 name "-" version ".tar.xz"))
6740 (sha256
6741 (base32
76e1830c 6742 "1bkksx362007zs8c31ydygb29spwa5g5kch1ad2grc2sp53wv7ya"))))
f47ba77e
SB
6743 (build-system gnu-build-system)
6744 (arguments
6745 '(#:phases
6746 (modify-phases %standard-phases
6747 (add-before
6748 'check 'pre-check
6749 (lambda _
fc119619
MW
6750 ;; The test suite requires a running X server.
6751 (system "Xvfb :1 &")
6752 (setenv "DISPLAY" ":1")
6753
f47ba77e
SB
6754 ;; For the missing /etc/machine-id.
6755 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 6756
144f94d0
KK
6757 ;; Our mozjs-38 package does not compile the required Intl API
6758 ;; support for these failing tests.
6759 (substitute* "installed-tests/js/testLocale.js"
6760 ((".*toBeDefined.*") "")
6761 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
6762 (substitute* "installed-tests/scripts/testCommandLine.sh"
6763 (("Valentín") "")
6764 (("☭") ""))
f47ba77e
SB
6765 #t)))))
6766 (native-inputs
8a831c6f 6767 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
6768 ("pkg-config" ,pkg-config)
6769 ("xmllint" ,libxml2)
6770 ;; For testing
6771 ("dbus-launch" ,dbus)
76e1830c 6772 ("dconf" ,dconf) ; required to properly store settings
f47ba77e 6773 ("uuidgen" ,util-linux)
ebebee94 6774 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
6775 (propagated-inputs
6776 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
6777 `(("cairo" ,cairo)
6778 ("gobject-introspection" ,gobject-introspection)
d054fbf5 6779 ("mozjs" ,mozjs-60)))
f47ba77e
SB
6780 (inputs
6781 `(("gtk+" ,gtk+)
6782 ("readline" ,readline)))
6783 (synopsis "Javascript bindings for GNOME")
f032d0be 6784 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
6785 (description
6786 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
6787javascript engine and the GObject introspection framework.")
6788 (license license:gpl2+)))
329d731b
DH
6789
6790(define-public gedit
6791 (package
6792 (name "gedit")
edec7128 6793 (version "3.34.1")
329d731b
DH
6794 (source (origin
6795 (method url-fetch)
6796 (uri (string-append "mirror://gnome/sources/" name "/"
6797 (version-major+minor version) "/"
6798 name "-" version ".tar.xz"))
6799 (sha256
6800 (base32
edec7128 6801 "1inm50sdfw63by1lf4f1swb59mpyxlly0g5rdg99j5l3357fzygb"))))
480c9226 6802 (build-system meson-build-system)
329d731b 6803 (arguments
480c9226
KK
6804 `(#:glib-or-gtk? #t
6805 #:configure-flags
6806 ;; Otherwise, the RUNPATH will lack the final path component.
6807 (list (string-append "-Dc_link_args=-Wl,-rpath="
6808 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
6809
6810 ;; XXX: Generated .h files are sometimes used before being built.
6811 #:parallel-build? #f
6812
480c9226 6813 #:phases
329d731b 6814 (modify-phases %standard-phases
480c9226
KK
6815 (add-after 'unpack 'skip-gtk-update-icon-cache
6816 ;; Don't create 'icon-theme.cache'.
6817 (lambda _
6818 (substitute* "build-aux/meson/post_install.py"
6819 (("gtk-update-icon-cache") (which "true")))
6820 #t))
6821 (add-after 'unpack 'patch-libgd-fetch
6822 (lambda* (#:key inputs #:allow-other-keys)
6823 (let ((libgd (assoc-ref inputs "libgd")))
6824 ;; Calling git is unnecessary because libgd is fetched as a
6825 ;; native input to this package.
6826 (substitute* "meson.build"
6827 ((".*git.*") ""))
6828 (copy-recursively libgd "subprojects/libgd")
6829 #t)))
6830 (add-after 'install 'wrap-gedit
6831 (lambda* (#:key inputs outputs #:allow-other-keys)
6832 (let ((out (assoc-ref outputs "out"))
6833 (gtksourceview (assoc-ref inputs "gtksourceview"))
6834 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
6835 (python-path (getenv "PYTHONPATH")))
6836 (wrap-program (string-append out "/bin/gedit")
6837 ;; For plugins.
6838 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
6839 `("PYTHONPATH" ":" prefix (,python-path))
6840 ;; For language-specs.
6841 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
6842 "/share")))))
6843 #t)))))
329d731b
DH
6844 (propagated-inputs
6845 `(("dconf" ,dconf)))
6846 (native-inputs
480c9226
KK
6847 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6848 ("intltool" ,intltool)
b3546174 6849 ("itstool" ,itstool)
480c9226 6850 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 6851 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
6852 ("libgd"
6853 ,(origin
6854 (method git-fetch)
6855 (uri (git-reference
6856 (url "https://gitlab.gnome.org/GNOME/libgd")
6857 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
6858 (file-name (git-file-name "libgd" version))
6859 (sha256
6860 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
6861 ("pkg-config" ,pkg-config)))
6862 (inputs
6863 `(("glib" ,glib)
0d2df50c 6864 ("gspell" ,gspell)
329d731b 6865 ("gtk+" ,gtk+)
480c9226 6866 ("gtksourceview" ,gtksourceview)
329d731b
DH
6867 ("libpeas" ,libpeas)
6868 ("libxml2" ,libxml2)
329d731b
DH
6869 ("iso-codes" ,iso-codes)
6870 ("python-pygobject" ,python-pygobject)
6871 ("python" ,python)
6872 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6873 ("libx11" ,libx11)
6874 ("vala" ,vala)
6875 ("adwaita-icon-theme" ,adwaita-icon-theme)
6876 ("libsoup" ,libsoup)
6877 ("gnome-desktop" ,gnome-desktop)))
6878 (home-page "https://wiki.gnome.org/Apps/Gedit")
6879 (synopsis "GNOME text editor")
6880 (description "While aiming at simplicity and ease of use, gedit is a
6881powerful general purpose text editor.")
6882 (license license:gpl2+)))
b7179363
SB
6883
6884(define-public zenity
6885 (package
6886 (name "zenity")
4f581bd0 6887 (version "3.32.0")
b7179363
SB
6888 (source (origin
6889 (method url-fetch)
5958df04 6890 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 6891 (version-major+minor version) "/"
5958df04 6892 "zenity-" version ".tar.xz"))
b7179363
SB
6893 (sha256
6894 (base32
4f581bd0 6895 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
6896 (build-system gnu-build-system)
6897 (native-inputs
b94a6ca0 6898 `(("gettext" ,gettext-minimal)
b7179363
SB
6899 ("itstool" ,itstool)
6900 ("pkg-config" ,pkg-config)))
6901 (inputs
6902 `(("libnotify" ,libnotify)
6903 ("webkitgtk" ,webkitgtk)))
6904 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 6905 (home-page "https://www.gnome.org")
b7179363
SB
6906 (description
6907 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
6908to display dialog boxes from the commandline and shell scripts.")
6909 (license license:lgpl2.0+)))
60c3627c
SB
6910
6911(define-public mutter
6912 (package
6913 (name "mutter")
ec3ceabd 6914 (version "3.34.2")
60c3627c 6915 (source (origin
86c44e72
KK
6916 (method url-fetch)
6917 (uri (string-append "mirror://gnome/sources/" name "/"
6918 (version-major+minor version) "/"
6919 name "-" version ".tar.xz"))
60c3627c
SB
6920 (sha256
6921 (base32
ec3ceabd 6922 "0b8bz5kvs7rlwvqsg87cf6jhrrj95vgd1l235mjx8rip35ipfvrd"))))
86c44e72
KK
6923 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
6924 ;; versions of cogl and clutter. As a result, many of the inputs,
6925 ;; propagated-inputs, and configure flags used in cogl and clutter are
6926 ;; needed here as well.
edf43f68 6927 (build-system meson-build-system)
60c3627c 6928 (arguments
edf43f68
KK
6929 '(;; XXX: All mutter tests fail with the following error:
6930 ;; Settings schema 'org.gnome.mutter' is not installed
6931 #:tests? #f
6932 #:glib-or-gtk? #t
6933 #:configure-flags
ec3ceabd
KK
6934 ;; TODO: Enable profiler when Sysprof is packaged.
6935 (list "-Dprofiler=false"
6936 ;; Otherwise, the RUNPATH will lack the final path component.
6937 (string-append "-Dc_link_args=-Wl,-rpath="
edf43f68 6938 (assoc-ref %outputs "out") "/lib:"
ec3ceabd 6939 (assoc-ref %outputs "out") "/lib/mutter-5")
a88d5a0c
MW
6940
6941 ;; The following flags are needed for the bundled clutter
edf43f68 6942 (string-append "-Dxwayland_path="
d633f2f6
RH
6943 (assoc-ref %build-inputs "xorg-server-xwayland")
6944 "/bin/Xwayland")
6945
a88d5a0c 6946 ;; the remaining flags are needed for the bundled cogl
edf43f68 6947 (string-append "-Dopengl_libname="
a88d5a0c 6948 (assoc-ref %build-inputs "mesa")
682ae6f9
MB
6949 "/lib/libGL.so"))
6950 #:phases (modify-phases %standard-phases
6951 (add-after 'unpack 'fix-build-with-mesa-20
6952 (lambda _
6953 ;; Mimic upstream commit a444a4c5f58ea516ad for
6954 ;; compatibility with Mesa 20. Remove for 3.36.
6955 (substitute* '("src/backends/meta-egl-ext.h"
6956 "src/backends/meta-egl.c"
6957 "src/backends/meta-egl.h")
6958 (("#include <EGL/eglext\\.h>" all)
6959 (string-append all "\n#include <EGL/eglmesaext.h>")))
6960 (substitute* "cogl/cogl/meson.build"
6961 (("#include <EGL/eglext\\.h>" all)
6962 (string-append all "\\n#include <EGL/eglmesaext.h>")))
6963 #t)))))
60c3627c 6964 (native-inputs
ec3ceabd
KK
6965 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6966 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
60c3627c
SB
6967 ("gobject-introspection" ,gobject-introspection)
6968 ("intltool" ,intltool)
f23052a6 6969 ("pkg-config" ,pkg-config)
edf43f68 6970 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
6971 ;; For git build
6972 ("autoconf" ,autoconf)
6973 ("automake" ,automake)
6974 ("libtool" ,libtool)))
60c3627c 6975 (propagated-inputs
a88d5a0c
MW
6976 `(;; libmutter.pc refers to these:
6977 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6978 ("gtk+" ,gtk+)
6979 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
6980 ("atk" ,atk)
6981 ("cairo" ,cairo)
6982 ("gdk-pixbuf" ,gdk-pixbuf)
6983 ("glib" ,glib)
a88d5a0c
MW
6984 ("json-glib" ,json-glib)
6985 ("libinput" ,libinput)
6986 ("libx11" ,libx11)
6987 ("libxcomposite" ,libxcomposite)
6988 ("libxdamage" ,libxdamage)
6989 ("libxext" ,libxext)
6990 ("libxfixes" ,libxfixes)
6991 ("libxkbcommon" ,libxkbcommon)
6992 ("libxrandr" ,libxrandr)
6993 ("mesa" ,mesa)
6994 ("pango" ,pango)
6995 ("udev" ,eudev)
a88d5a0c 6996 ("xinput" ,xinput)))
60c3627c 6997 (inputs
86c44e72
KK
6998 `(("elogind" ,elogind)
6999 ("gnome-desktop" ,gnome-desktop)
edf43f68 7000 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 7001 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 7002 ("libgudev" ,libgudev)
60c3627c
SB
7003 ("libice" ,libice)
7004 ("libsm" ,libsm)
edf43f68 7005 ("libwacom" ,libwacom)
60c3627c 7006 ("libxkbfile" ,libxkbfile)
a88d5a0c 7007 ("libxrandr" ,libxrandr)
86c44e72 7008 ("libxtst" ,libxtst)
edf43f68 7009 ("pipewire" ,pipewire)
60c3627c
SB
7010 ("startup-notification" ,startup-notification)
7011 ("upower-glib" ,upower)
7012 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 7013 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
7014 ("zenity" ,zenity)))
7015 (synopsis "Window and compositing manager")
f032d0be 7016 (home-page "https://www.gnome.org")
60c3627c
SB
7017 (description
7018 "Mutter is a window and compositing manager that displays and manages your
7019desktop via OpenGL. Mutter combines a sophisticated display engine using the
7020Clutter toolkit with solid window-management logic inherited from the Metacity
7021window manager.")
86c44e72 7022 (license license:gpl2+)))
685cee87
SB
7023
7024(define-public gnome-online-accounts
7025 (package
7026 (name "gnome-online-accounts")
dd233e4d 7027 (version "3.36.0")
685cee87
SB
7028 (source (origin
7029 (method url-fetch)
7030 (uri (string-append "mirror://gnome/sources/" name "/"
7031 (version-major+minor version) "/"
7032 name "-" version ".tar.xz"))
7033 (sha256
7034 (base32
dd233e4d 7035 "0bigfi225g1prnxpb9lcc1i7mdcrkplwb05vilc43jik12cn53qw"))))
14c297fd 7036 (outputs '("out" "lib"))
685cee87 7037 (build-system glib-or-gtk-build-system)
14c297fd
TS
7038 (arguments
7039 `(#:configure-flags
7040 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
7041 #:phases
7042 (modify-phases %standard-phases
7043 (add-before 'configure 'patch-libgoa-output
7044 (lambda* (#:key outputs #:allow-other-keys)
7045 (let ((lib (assoc-ref outputs "lib")))
7046 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
7047 (("@prefix@") lib)
7048 (("@exec_prefix@") lib)
7049 (("@libdir@") (string-append lib "/lib"))
7050 (("@includedir@") (string-append lib "/include"))
7051 (("@datadir@") (string-append lib "/share")))
7555d539
MB
7052 ;; Make sure gobject-introspection knows about the output
7053 ;; too (see <https://bugs.gnu.org/36535>).
7054 (setenv "outputs" "out lib")
14c297fd 7055 #t))))))
685cee87
SB
7056 (native-inputs
7057 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7058 ("gobject-introspection" ,gobject-introspection)
7059 ("intltool" ,intltool)
7060 ("pkg-config" ,pkg-config)
ebb2873d 7061 ("vala" ,vala)
685cee87
SB
7062 ("xsltproc" ,libxslt)))
7063 (propagated-inputs
7064 `(("glib" ,glib) ; required by goa-1.0.pc
7065 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
7066 (inputs
7067 `(("docbook-xsl" ,docbook-xsl)
7068 ("json-glib" ,json-glib)
7069 ("libsecret" ,libsecret)
7070 ("rest" ,rest)
685cee87
SB
7071 ("webkitgtk" ,webkitgtk)))
7072 (synopsis "Single sign-on framework for GNOME")
7073 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
7074 (description
7075 "GNOME Online Accounts provides interfaces so that applications and
7076libraries in GNOME can access the user's online accounts. It has providers for
7077Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
7078Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
7079 (license license:lgpl2.0+)))
df217748
SB
7080
7081(define-public evolution-data-server
7082 (package
7083 (name "evolution-data-server")
162048be 7084 (version "3.34.2")
df217748
SB
7085 (source (origin
7086 (method url-fetch)
7087 (uri (string-append "mirror://gnome/sources/" name "/"
7088 (version-major+minor version) "/"
7089 name "-" version ".tar.xz"))
43190ac6
MB
7090 (patches (search-patches "evolution-data-server-locales.patch"
7091 "evolution-data-server-libical-compat.patch"))
df217748
SB
7092 (sha256
7093 (base32
162048be 7094 "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y"))))
743aebd7 7095 (build-system cmake-build-system)
df217748 7096 (arguments
b468eedc
RW
7097 '(#:configure-flags
7098 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
7099 (runpaths (map (lambda (s)
7100 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
7101 '("addressbook-backends" "calendar-backends"
7102 "camel-providers" "credential-modules"
7103 "registry-modules"))))
7104 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
7105 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
7106 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
7107 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
7108 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
7109 (string-append lib "/evolution-data-server;")
7110 (string-join runpaths ";"))
7111 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
7112 #:phases
7113 (modify-phases %standard-phases
b468eedc
RW
7114 (add-after 'unpack 'disable-failing-tests
7115 (lambda _
7116 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
7117 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
7118 (delete-file-recursively "tests/book-migration")
7119 (substitute* "tests/CMakeLists.txt"
7120 (("add_subdirectory\\(book-migration\\)") ""))
b468eedc 7121 #t))
743aebd7 7122 (add-after 'unpack 'patch-paths
df217748 7123 (lambda _
b468eedc
RW
7124 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
7125 "tests/libedata-book/data-test-utils.c"
7126 "tests/libedata-book/test-book-cache-utils.c"
7127 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 7128 (("/bin/rm") (which "rm")))
ac033c7b
MB
7129 #t))
7130 (add-before 'configure 'dont-override-rpath
7131 (lambda _
7132 (substitute* "CMakeLists.txt"
7133 ;; CMakeLists.txt hard-codes runpath to just the libdir.
7134 ;; Remove it so the configure flag is respected.
7135 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 7136 #t)))))
df217748
SB
7137 (native-inputs
7138 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7139 ("gobject-introspection" ,gobject-introspection)
7140 ("gperf" ,gperf)
7141 ("intltool" ,intltool)
7142 ("pkg-config" ,pkg-config)
a73c1cf8 7143 ("vala" ,vala)
743aebd7 7144 ("python" ,python-wrapper)))
df217748
SB
7145 (propagated-inputs
7146 ;; These are all in the Requires field of .pc files.
7147 `(("gtk+" ,gtk+)
7148 ("libical" ,libical)
7149 ("libsecret" ,libsecret)
7150 ("libsoup" ,libsoup)
7151 ("nss" ,nss)
7152 ("sqlite" ,sqlite)))
7153 (inputs
7154 `(("bdb" ,bdb)
7155 ("gcr" ,gcr)
14c297fd 7156 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 7157 ("json-glib" ,json-glib)
b468eedc 7158 ("libcanberra" ,libcanberra)
743aebd7
MB
7159 ("libgweather" ,libgweather)
7160 ("mit-krb5" ,mit-krb5)
891199c6
MW
7161 ("openldap" ,openldap)
7162 ("webkitgtk" ,webkitgtk)))
df217748
SB
7163 (synopsis "Store address books and calendars")
7164 (home-page "https://wiki.gnome.org/Apps/Evolution")
7165 (description
7166 "This package provides a unified backend for programs that work with
7167contacts, tasks, and calendar information. It was originally developed for
7168Evolution (hence the name), but is now used by other packages as well.")
7169 (license license:lgpl2.0)))
bd7dfafa
SB
7170
7171(define-public caribou
7172 (package
7173 (name "caribou")
fe964bb5 7174 (version "0.4.21")
bd7dfafa
SB
7175 (source (origin
7176 (method url-fetch)
7177 (uri (string-append "mirror://gnome/sources/" name "/"
7178 (version-major+minor version) "/"
7179 name "-" version ".tar.xz"))
7180 (sha256
7181 (base32
fe964bb5 7182 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
7183 (build-system glib-or-gtk-build-system)
7184 (arguments
7185 '(#:phases
7186 (modify-phases %standard-phases
7187 (add-before
7188 'build 'pre-build
7189 (lambda* (#:key outputs #:allow-other-keys)
7190 (let ((out (assoc-ref outputs "out")))
7191 ;; Use absolute shared library path in Caribou-1.0.typelib.
7192 (substitute* "libcaribou/Makefile"
7193 (("--shared-library=libcaribou.so")
7194 (string-append "--shared-library="
7195 out "/lib/libcaribou.so")))
7196 #t)))
7197 (add-after 'install 'wrap-programs
7198 (lambda* (#:key outputs #:allow-other-keys)
7199 (let* ((out (assoc-ref outputs "out"))
7200 (python-path (getenv "PYTHONPATH"))
7201 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
7202 (for-each
7203 (lambda (prog)
7204 (wrap-program prog
7205 `("PYTHONPATH" ":" prefix (,python-path))
7206 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7207 (list (string-append out "/bin/caribou-preferences")
7208 (string-append out "/libexec/antler-keyboard"))))
7209 #t)))))
7210 (native-inputs
7211 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7212 ("gobject-introspection" ,gobject-introspection)
7213 ("intltool" ,intltool)
7214 ("pkg-config" ,pkg-config)
9f7f5ba2 7215 ("python" ,python)
bd7dfafa
SB
7216 ("vala" ,vala)
7217 ("xsltproc" ,libxslt)))
7218 (propagated-inputs
7219 ;; caribou-1.0.pc refers to all these.
7220 `(("libgee" ,libgee)
7221 ("libxklavier" ,libxklavier)
7222 ("libxtst" ,libxtst)
7223 ("gtk+" ,gtk+)))
7224 (inputs
7225 `(("clutter" ,clutter)
7226 ("dconf" ,dconf)
7227 ("gtk+-2" ,gtk+-2)
9f7f5ba2 7228 ("python-pygobject" ,python-pygobject)))
bd7dfafa
SB
7229 (synopsis "Text entry and UI navigation application")
7230 (home-page "https://wiki.gnome.org/Projects/Caribou")
7231 (description
7232 "Caribou is an input assistive technology intended for switch and pointer
7233users.")
7234 (license license:lgpl2.1)))
ba5dd105 7235
ba5dd105
SB
7236(define-public network-manager
7237 (package
7238 (name "network-manager")
01c22be7 7239 (version "1.24.0")
ba5dd105
SB
7240 (source (origin
7241 (method url-fetch)
7242 (uri (string-append "mirror://gnome/sources/NetworkManager/"
7243 (version-major+minor version) "/"
7244 "NetworkManager-" version ".tar.xz"))
8d0548fd 7245 (patches (search-patches "network-manager-plugin-path.patch"))
ba5dd105
SB
7246 (sha256
7247 (base32
01c22be7 7248 "06044fl60bjlj7c6rqqfbm5795h61h6yzp7ch392hzcnm46wwhn3"))
02710a9b 7249 (modules '((guix build utils)))
fd070f35 7250 (snippet
02710a9b
RW
7251 '(begin
7252 (substitute* "src/devices/wwan/nm-modem-manager.c"
7253 (("systemd") "elogind"))
7254 #t))))
255ff74f 7255 (build-system meson-build-system)
ba5dd105
SB
7256 (outputs '("out"
7257 "doc")) ; 8 MiB of gtk-doc HTML
7258 (arguments
255ff74f 7259 `(#:configure-flags
ba5dd105 7260 (let ((out (assoc-ref %outputs "out"))
ba5dd105
SB
7261 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
7262 "/sbin/dhclient")))
255ff74f
BW
7263 (list
7264 ;; Otherwise, the RUNPATH will lack the final 'NetworkManager' path
7265 ;; component.
7266 (string-append "-Dc_link_args=-Wl,-rpath="
7267 out "/lib:"
7268 out "/lib/NetworkManager/" ,version)
7269 "-Dsystemd_journal=false"
7270 "-Dsession_tracking=elogind"
7271 "-Dsuspend_resume=elogind"
7272 "-Dsystemdsystemunitdir=no"
7273 "-Dsession_tracking_consolekit=false"
7274 "-Ddhcpcd=no"
7275 "-Ddhcpcanon=no"
7276 "-Dcrypto=gnutls"
7277 "-Diwd=true"
7278 "-Dlibaudit=yes"
7279 "-Dqt=false"
7280 "-Ddocs=true"
7281 "--sysconfdir=/etc"
7282 "--localstatedir=/var"
7283 (string-append "-Dudev_dir="
7284 out "/lib/udev")
7285 (string-append "-Ddbus_conf_dir="
7286 out "/etc/dbus-1/system.d")
7287
7288 (string-append "-Ddhclient=" dhclient)))
ba5dd105
SB
7289 #:phases
7290 (modify-phases %standard-phases
b4f59d87
AW
7291 (add-before 'configure 'pre-configure
7292 (lambda _
7293 ;; These tests try to test aspects of network-manager's
7294 ;; functionality within restricted containers, but they don't
7295 ;; cope with being already in the Guix build jail as that jail
7296 ;; lacks some features that they would like to proxy over (like
7297 ;; a /sys mount).
255ff74f
BW
7298 (substitute* "src/platform/tests/meson.build"
7299 ((".*test-address-linux.*") "")
7300 ((".*test-cleanup-linux.*") "")
7301 ((".*test-link-linux.*") "")
7302 ((".*test-route-linux.*") ""))
7303 (substitute* "src/devices/tests/meson.build"
7304 ((".*test-acd.*") "")
7305 ((".*test-lldp.*") ""))
45f80fce 7306 #t))
255ff74f
BW
7307 (add-after 'unpack 'patch-docbook-xml
7308 (lambda* (#:key inputs #:allow-other-keys)
7309 (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
7310 "/xml/dtd/docbook")))
7311 (substitute* (find-files "." ".*\\.(xsl|xml)")
7312 (("http://.*/docbookx\\.dtd")
7313 (string-append xmldoc "/docbookx.dtd")))
7314 #t)))
ba5dd105
SB
7315 (add-before 'check 'pre-check
7316 (lambda _
7317 ;; For the missing /etc/machine-id.
7318 (setenv "DBUS_FATAL_WARNINGS" "0")
7319 #t))
255ff74f
BW
7320 (add-before 'install 'no-polkit-magic
7321 ;; Meson ‘magically’ invokes pkexec, which fails (not setuid).
ba5dd105 7322 (lambda _
255ff74f
BW
7323 (setenv "PKEXEC_UID" "something")
7324 #t))
7325 (add-after 'install 'move-doc
7326 (lambda* (#:key outputs #:allow-other-keys)
7327 (let ((out (assoc-ref outputs "out"))
7328 (doc (assoc-ref outputs "doc")))
7329 (mkdir-p (string-append doc "/share"))
7330 (for-each (lambda (directory)
7331 (copy-recursively (string-append out directory)
7332 (string-append doc directory))
7333 (delete-file-recursively
7334 (string-append out directory)))
7335 '("/share/doc" "/share/gtk-doc"))
7336 #t))))))
b93502d6
DC
7337 (propagated-inputs
7338 `(("glib" ,glib)))
ba5dd105 7339 (native-inputs
255ff74f
BW
7340 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
7341 ("gtk-doc" ,gtk-doc)
ba5dd105 7342 ("gobject-introspection" ,gobject-introspection)
255ff74f 7343 ("docbook-xml" ,docbook-xml)
d04687dc 7344 ("docbook-xsl" ,docbook-xsl)
ba5dd105 7345 ("intltool" ,intltool)
d04687dc
HG
7346 ("libxslt" ,libxslt)
7347 ("libxml2" ,libxml2)
ba5dd105 7348 ("pkg-config" ,pkg-config)
255ff74f 7349 ("vala" ,vala)
ba5dd105
SB
7350 ;; For testing.
7351 ("python" ,python-wrapper)
7352 ("python-dbus" ,python-dbus)
7353 ("python-pygobject" ,python-pygobject)))
7354 (inputs
255ff74f 7355 `(("curl" ,curl)
856ca567
KK
7356 ("cyrus-sasl" ,cyrus-sasl)
7357 ("dbus-glib" ,dbus-glib)
ba5dd105 7358 ("dnsmasq" ,dnsmasq)
856ca567 7359 ("eudev" ,eudev)
ba5dd105
SB
7360 ("gnutls" ,gnutls)
7361 ("iptables" ,iptables)
7362 ("isc-dhcp" ,isc-dhcp)
c2f236fa 7363 ("iwd" ,iwd) ; wpa_supplicant alternative
d04687dc 7364 ("jansson" ,jansson)
c2f236fa 7365 ("libaudit" ,audit)
ba5dd105
SB
7366 ("libgcrypt" ,libgcrypt)
7367 ("libgudev" ,libgudev)
7368 ("libndp" ,libndp)
7369 ("libnl" ,libnl)
7370 ("libsoup" ,libsoup)
255ff74f 7371 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
142bdcbc 7372 ("modem-manager" ,modem-manager)
c27e02bf 7373 ("newt" ,newt) ;for the 'nmtui' console interface
c2f236fa 7374 ("openresolv" ,openresolv) ; alternative resolv.conf manager
ba5dd105
SB
7375 ("polkit" ,polkit)
7376 ("ppp" ,ppp)
7377 ("readline" ,readline)
fd070f35
CM
7378 ("util-linux" ,util-linux)
7379 ("elogind" ,elogind)))
ba5dd105 7380 (synopsis "Network connection manager")
8d0548fd 7381 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
ba5dd105
SB
7382 (description
7383 "NetworkManager is a system network service that manages your network
7384devices and connections, attempting to keep active network connectivity when
7385available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
7386devices, and provides VPN integration with a variety of different VPN
7387services.")
255ff74f
BW
7388 ;; “This NetworkManager project consists of the daemon, client tools, and
7389 ;; libnm. libnm is licensed LGPL-2.1+, while the rest is licensed under
7390 ;; GPL-2.0+.”
7391 (license (list license:gpl2+
7392 license:lgpl2.1+))
29d2f451 7393 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 7394
f2b96b3a
LC
7395(define-public network-manager-openvpn
7396 (package
7397 (name "network-manager-openvpn")
3fe368c0 7398 (version "1.8.12")
f2b96b3a
LC
7399 (source (origin
7400 (method url-fetch)
7401 (uri (string-append
7402 "mirror://gnome/sources/NetworkManager-openvpn/"
7403 (version-major+minor version)
7404 "/NetworkManager-openvpn-" version ".tar.xz"))
7405 (sha256
7406 (base32
3fe368c0 7407 "062kh4zj7jfbwy4zzcwpq2m457bzbpm3l18s0ysnw3mgia3siz8f"))))
f2b96b3a
LC
7408 (build-system gnu-build-system)
7409 (arguments
633422b0
JL
7410 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
7411 #:phases
7412 (modify-phases %standard-phases
7413 (add-after 'configure 'patch-path
7414 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
7415 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
7416 "/sbin/openvpn"))
7417 (modprobe (string-append (assoc-ref inputs "kmod")
7418 "/bin/modprobe"))
7419 (pretty-ovpn (string-append "\"" ovpn "\"")))
7420 (for-each
7421 (lambda (file)
7422 (substitute* file
7423 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
7424 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
7425 (("\"/sbin/openvpn\"") pretty-ovpn)
7426 (("/sbin/modprobe") modprobe)))
7427 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
7428 #t)))))
f2b96b3a
LC
7429 (native-inputs
7430 `(("pkg-config" ,pkg-config)
7431 ("intltool" ,intltool)))
7432 (inputs
7433 `(("gtk+" ,gtk+)
633422b0 7434 ("kmod" ,kmod)
f2b96b3a
LC
7435 ("openvpn" ,openvpn)
7436 ("network-manager" ,network-manager)
3fe368c0 7437 ("libnma" ,libnma)
f2b96b3a
LC
7438 ("libsecret" ,libsecret)))
7439 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
7440 (synopsis "OpenVPN plug-in for NetworkManager")
7441 (description
7442 "This extension of NetworkManager allows it to take care of connections
7443to virtual private networks (VPNs) via OpenVPN.")
7444 (license license:gpl2+)
7445 (properties `((upstream-name . "NetworkManager-openvpn")))))
7446
d376129f
JL
7447(define-public network-manager-vpnc
7448 (package
7449 (name "network-manager-vpnc")
7450 (version "1.2.6")
7451 (source (origin
7452 (method url-fetch)
7453 (uri (string-append
7454 "mirror://gnome/sources/NetworkManager-vpnc/"
7455 (version-major+minor version)
7456 "/NetworkManager-vpnc-" version ".tar.xz"))
7457 (sha256
7458 (base32
7459 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
7460 (build-system gnu-build-system)
7461 (arguments
7c43b78d
BW
7462 `(#:configure-flags '("--enable-absolute-paths"
7463 "--localstatedir=/var"
7464 ;; libnm-glib has been removed from network-manager
7465 ;; 1de8383ad9fdfc8f552117e5d109bdfa7005634b
7466 "--with-libnm-glib=no")
d376129f
JL
7467 #:phases
7468 (modify-phases %standard-phases
7469 (add-after 'configure 'patch-path
7470 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
7471 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
7472 "/sbin/vpnc"))
7473 (modprobe (string-append (assoc-ref inputs "kmod")
7474 "/bin/modprobe"))
7475 (pretty-ovpn (string-append "\"" vpnc "\"")))
7476 (substitute* "src/nm-vpnc-service.c"
7477 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
7478 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
7479 (("\"/sbin/vpnc\"") pretty-ovpn)
7480 (("/sbin/modprobe") modprobe)))
7481 #t)))))
7482 (native-inputs
7483 `(("pkg-config" ,pkg-config)
7484 ("intltool" ,intltool)))
7485 (inputs
7486 `(("gtk+" ,gtk+)
7487 ("kmod" ,kmod)
7488 ("vpnc" ,vpnc)
7489 ("network-manager" ,network-manager)
7c43b78d 7490 ("libnma" ,libnma)
d376129f
JL
7491 ("libsecret" ,libsecret)))
7492 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
7493 (synopsis "VPNC plug-in for NetworkManager")
7494 (description
7495 "Support for configuring virtual private networks based on VPNC.
7496Compatible with Cisco VPN concentrators configured to use IPsec.")
7497 (license license:gpl2+)
7498 (properties `((upstream-name . "NetworkManager-vpnc")))))
7499
8378c87a
EF
7500(define-public network-manager-openconnect
7501 (package
7502 (name "network-manager-openconnect")
7503 (version "1.2.6")
7504 (source (origin
7505 (method url-fetch)
7506 (uri (string-append
7507 "mirror://gnome/sources/NetworkManager-openconnect/"
7508 (version-major+minor version)
7509 "/NetworkManager-openconnect-" version ".tar.xz"))
7510 (sha256
7511 (base32
7512 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
7513 (build-system gnu-build-system)
7514 (arguments
7515 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
7516 #:phases
7517 (modify-phases %standard-phases
7518 (add-after 'configure 'patch-path
7519 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
7520 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
7521 "/sbin/openconnect"))
7522 (modprobe (string-append (assoc-ref inputs "kmod")
7523 "/bin/modprobe"))
7524 (pretty-ovpn (string-append "\"" openconnect "\"")))
7525 (substitute* "src/nm-openconnect-service.c"
2807a843 7526 (("\"/usr(/local)?/s?bin/openconnect\"") pretty-ovpn)
8378c87a
EF
7527 (("/sbin/modprobe") modprobe)))
7528 #t)))))
7529 (native-inputs
7530 `(("intltool" ,intltool)
4ca449c5 7531 ("libnma" ,libnma)
8378c87a
EF
7532 ("pkg-config" ,pkg-config)))
7533 (inputs
7534 `(("gcr" ,gcr)
7535 ("gtk+" ,gtk+)
7536 ("kmod" ,kmod)
7537 ("libsecret" ,libsecret)
7538 ("libxml2" ,libxml2)
b4fe5dab 7539 ("lz4" ,lz4)
8378c87a
EF
7540 ("network-manager" ,network-manager)
7541 ("openconnect" ,openconnect)))
7542 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
7543 (synopsis "OpenConnect plug-in for NetworkManager")
7544 (description
7545 "This extension of NetworkManager allows it to take care of connections
7546to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
7547Cisco's AnyConnect SSL VPN.")
7548 (license license:gpl2+)
e52b9534
LC
7549 (properties `((upstream-name . "NetworkManager-openconnect")
7550
7551 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
7552 ;; file refers to account "nm-openconnect". Specify it here
7553 ;; so that 'network-manager-service-type' creates it.
7554 (user-accounts . ("nm-openconnect"))))))
8378c87a 7555
e5e1df4d
DC
7556(define-public mobile-broadband-provider-info
7557 (package
7558 (name "mobile-broadband-provider-info")
310c89e3 7559 (version "20190116")
e5e1df4d
DC
7560 (source (origin
7561 (method url-fetch)
7562 (uri (string-append
7563 "mirror://gnome/sources/"
7564 "mobile-broadband-provider-info/" version "/"
7565 "mobile-broadband-provider-info-" version ".tar.xz"))
7566 (sha256
7567 (base32
310c89e3 7568 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
7569 (build-system gnu-build-system)
7570 (arguments
310c89e3 7571 `(#:tests? #f)) ; no tests
e5e1df4d
DC
7572 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
7573 (synopsis "Database of broadband connection configuration")
7574 (description "Database of broadband connection configuration.")
7575 (license license:public-domain)))
7576
4d62a9d3
SB
7577(define-public network-manager-applet
7578 (package
7579 (name "network-manager-applet")
4c291112 7580 (version "1.16.0")
4d62a9d3
SB
7581 (source (origin
7582 (method url-fetch)
3df63444 7583 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 7584 (version-major+minor version) "/"
3df63444 7585 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
7586 (sha256
7587 (base32
4c291112 7588 "1rf3nm0hjcy9f8ajb4vmvwy503w8yj8d4daxkcb7w7i7b92qmyfn"))))
cd7f718e
RW
7589 (build-system meson-build-system)
7590 (arguments
4c291112 7591 '(#:glib-or-gtk? #t))
4d62a9d3
SB
7592 (native-inputs
7593 `(("intltool" ,intltool)
cd7f718e 7594 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 7595 ("gobject-introspection" ,gobject-introspection)
cd7f718e 7596 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
7597 ("pkg-config" ,pkg-config)))
7598 (propagated-inputs
7599 ;; libnm-gtk.pc refers to all these.
7600 `(("dbus-glib" ,dbus-glib)
7601 ("gtk+" ,gtk+)
415b90f2
BW
7602 ("network-manager" ,network-manager)
7603 ;; nm-applet need by org.gnome.nm-applet.gschema.xml
7604 ("libnma" ,libnma)))
4d62a9d3 7605 (inputs
cd7f718e 7606 `(("gcr" ,gcr)
4d62a9d3
SB
7607 ("libgudev" ,libgudev)
7608 ("libnotify" ,libnotify)
2116bfb3 7609 ("libsecret" ,libsecret)
240cee8a
KK
7610 ("libselinux" ,libselinux)
7611 ("jansson" ,jansson) ; for team support
4c291112 7612 ("modem-manager" ,modem-manager)))
4d62a9d3 7613 (synopsis "Applet for managing network connections")
8ce78609 7614 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
4d62a9d3
SB
7615 (description
7616 "This package contains a systray applet for NetworkManager. It displays
7617the available networks and allows users to easily switch between them.")
7618 (license license:gpl2+)))
56196594
RW
7619
7620(define-public libxml++
7621 (package
7622 (name "libxml++")
8344a85e 7623 (version "3.0.1")
56196594
RW
7624 (source (origin
7625 (method url-fetch)
7626 (uri (string-append "mirror://gnome/sources/" name "/"
7627 (version-major+minor version) "/"
7628 name "-" version ".tar.xz"))
7629 (sha256
7630 (base32
8344a85e 7631 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
7632 (build-system gnu-build-system)
7633 ;; libxml++-3.0.pc refers to all these.
7634 (propagated-inputs
7635 `(("libxml2" ,libxml2)
7636 ("glibmm" ,glibmm)))
7637 (native-inputs
7638 `(("perl" ,perl)
7639 ("pkg-config" ,pkg-config)))
7640 (home-page "http://libxmlplusplus.sourceforge.net/")
7641 (synopsis "C++ wrapper for XML parser library libxml2")
7642 (description
7643 "This package provides a C++ wrapper for the XML parser library
7644libxml2.")
7645 (license license:lgpl2.1+)))
df12f04a 7646
b61d9627
AW
7647(define-public libxml++-2
7648 (package
7649 (inherit libxml++)
7650 (name "libxml++")
7651 (version "2.40.1")
7652 (source (origin
7653 (method url-fetch)
7654 (uri (string-append "mirror://gnome/sources/" name "/"
7655 (version-major+minor version) "/"
7656 name "-" version ".tar.xz"))
7657 (sha256
7658 (base32
7659 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
7660
df12f04a
SB
7661(define-public gdm
7662 (package
7663 (name "gdm")
0fda99c5 7664 (version "3.34.1")
df12f04a
SB
7665 (source (origin
7666 (method url-fetch)
7667 (uri (string-append "mirror://gnome/sources/" name "/"
7668 (version-major+minor version) "/"
7669 name "-" version ".tar.xz"))
7670 (sha256
7671 (base32
0fda99c5 7672 "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8"))
f4ec5e1a 7673 (patches (search-patches "gdm-default-session.patch"))))
957dbc0a 7674 (build-system glib-or-gtk-build-system)
df12f04a
SB
7675 (arguments
7676 '(#:configure-flags
af37e6bb 7677 `("--without-plymouth"
957dbc0a 7678 "--disable-systemd-journal"
51bc8357
TS
7679
7680 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
7681 ;; instead of having to replace it (i.e., stopping the mingetty
7682 ;; service for TTY 1 before starting GDM).
7683 "--with-initial-vt=7"
7684
89c86562
TS
7685 ;; Use '/etc/environment' for locale settings instead of the
7686 ;; systemd-specific '/etc/locale.conf'.
7687 "--with-lang-file=/etc/environment"
7688
b74ef0ba
RW
7689 ,(string-append "--with-udevdir="
7690 (assoc-ref %outputs "out") "/lib/udev")
7691
af37e6bb
AW
7692 "--localstatedir=/var"
7693 ,(string-append "--with-default-path="
7694 (string-join '("/run/setuid-programs"
7695 "/run/current-system/profile/bin"
7696 "/run/current-system/profile/sbin")
957dbc0a
AW
7697 ":"))
7698 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
7699 ;; XDG_DATA_DIRS so that it finds its schemas.
7700 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
7701 #:phases
7702 (modify-phases %standard-phases
7703 (add-before
7704 'configure 'pre-configure
e8c6e771 7705 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
7706 ;; We don't have <systemd/sd-daemon.h>.
7707 (substitute* '("common/gdm-log.c"
7708 "daemon/gdm-server.c"
7709 "daemon/gdm-session-worker.c"
7710 "daemon/gdm-session-worker-job.c")
7711 (("#include <systemd/sd-daemon\\.h>") ""))
7712 ;; Use elogind for sd-login.
7713 (substitute* '("common/gdm-common.c"
0fda99c5 7714 "daemon/gdm-local-display-factory.c"
df12f04a
SB
7715 "daemon/gdm-manager.c"
7716 "libgdm/gdm-user-switching.c")
7717 (("#include <systemd/sd-login\\.h>")
7718 "#include <elogind/sd-login.h>"))
957dbc0a
AW
7719 ;; Check for elogind.
7720 (substitute* '("configure")
7721 (("libsystemd")
7722 "libelogind"))
af37e6bb
AW
7723 ;; Look for system-installed sessions in
7724 ;; /run/current-system/profile/share.
7725 (substitute* '("libgdm/gdm-sessions.c"
7726 "daemon/gdm-session.c"
7727 "daemon/gdm-display.c"
7728 "daemon/gdm-launch-environment.c")
7729 (("DATADIR \"/x")
7730 "\"/run/current-system/profile/share/x")
7731 (("DATADIR \"/wayland")
7732 "\"/run/current-system/profile/share/wayland")
7733 (("DATADIR \"/gnome")
7734 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 7735 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 7736 "GDM_DBUS_DAEMON"
c9ff92b5 7737 "GDM_X_SERVER"
41fa9f18 7738 "GDM_X_SESSION"
c9ff92b5
TS
7739 ;; XXX: Remove this once GNOME Shell is
7740 ;; a dependency of GDM.
7741 "XDG_DATA_DIRS")))
7742 (substitute* "daemon/gdm-session.c"
7743 (("set_up_session_environment \\(self\\);")
7744 (apply string-append
7745 "set_up_session_environment (self);\n"
7746 (map (lambda (name)
7747 (string-append
7748 "gdm_session_set_environment_variable "
7749 "(self, \"" name "\","
7750 "g_getenv (\"" name "\"));\n"))
7751 propagate)))))
a430a350
TS
7752 ;; Find the configuration file using an environment variable.
7753 (substitute* '("common/gdm-settings.c")
e0e6756f 7754 (("GDM_CUSTOM_CONF")
e57c2adb
TS
7755 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
7756 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
7757 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
7758 ;; Use service-supplied path to X.
7759 (substitute* '("daemon/gdm-server.c")
7760 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
7761 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
0fda99c5
KK
7762 (substitute* '("daemon/gdm-wayland-session.c"
7763 "daemon/gdm-x-session.c")
1f564c15
TS
7764 (("\"dbus-daemon\"")
7765 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 7766 (("X_SERVER")
41fa9f18
TS
7767 "g_getenv (\"GDM_X_SERVER\")")
7768 (("GDMCONFDIR \"/Xsession\"")
7769 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
7770 ;; Use an absolute path for GNOME Session.
7771 (substitute* "daemon/gdm-launch-environment.c"
7772 (("\"gnome-session\"")
7773 (string-append "\"" (assoc-ref inputs "gnome-session")
7774 "/bin/gnome-session\"")))
e8c6e771
TS
7775 ;; Do not automatically select the placeholder session.
7776 (substitute* "daemon/gdm-session.c"
7777 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
7778 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
7779 "(g_strcmp0(search_dirs[i], \""
7780 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
7781 "\") == 0 && "
7782 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
7783 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 7784 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 7785 #t))
8caa4589
TS
7786 ;; GDM requires that there be at least one desktop entry
7787 ;; file. This phase installs a hidden one that simply
7788 ;; fails. This enables users to use GDM with a
7789 ;; '~/.xsession' script with no other desktop entry files.
7790 ;; See <https://bugs.gnu.org/35068>.
7791 (add-after 'install 'install-placeholder-desktop-entry
7792 (lambda* (#:key inputs outputs #:allow-other-keys)
7793 (let* ((out (assoc-ref outputs "out"))
7794 (sessions (string-append out "/share/gdm/BuiltInSessions"))
7795 (fail (string-append sessions "/fail.desktop")))
7796 (mkdir-p sessions)
7797 (with-output-to-file fail
7798 (lambda ()
7799 (for-each
7800 display
7801 '("[Desktop Entry]\n"
7802 "Encoding=UTF-8\n"
7803 "Type=Application\n"
7804 "Name=Fail\n"
7805 "Comment=This session fails immediately.\n"
7806 "NoDisplay=true\n"
7807 "Exec=false\n"))))
7808 #t)))
69544798
TS
7809 ;; GDM needs GNOME Session to run these applications. We link
7810 ;; their autostart files in `share/gdm/greeter/autostart'
7811 ;; because GDM explicitly tells GNOME Session to look there.
7812 ;;
7813 ;; XXX: GNOME Shell should be linked here too, but currently
7814 ;; GNOME Shell depends on GDM.
7815 (add-after 'install 'link-autostart-files
7816 (lambda* (#:key inputs outputs #:allow-other-keys)
7817 (let* ((out (assoc-ref outputs "out"))
7818 (autostart (string-append out "/share/gdm/"
7819 "greeter/autostart"))
7820 (settings (assoc-ref inputs "gnome-settings-daemon")))
7821 (mkdir-p autostart)
7822 (with-directory-excursion autostart
7823 (for-each (lambda (desktop)
7824 (symlink desktop (basename desktop)))
7825 (find-files (string-append settings "/etc/xdg"))))
7826 #t))))))
df12f04a
SB
7827 (native-inputs
7828 `(("dconf" ,dconf)
7829 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7830 ("gobject-introspection" ,gobject-introspection)
7831 ("intltool" ,intltool)
7832 ("itstool" ,itstool)
7833 ("pkg-config" ,pkg-config)
7834 ("xmllint" ,libxml2)))
7835 (inputs
7836 `(("accountsservice" ,accountsservice)
7837 ("check" ,check) ; for testing
7838 ("elogind" ,elogind)
def6d6b6 7839 ("gnome-session" ,gnome-session)
69544798 7840 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
7841 ("gtk+" ,gtk+)
7842 ("iso-codes" ,iso-codes)
7843 ("libcanberra" ,libcanberra)
7844 ("linux-pam" ,linux-pam)))
7845 (synopsis "Display manager for GNOME")
f032d0be 7846 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
7847 (description
7848 "GNOME Display Manager is a system service that is responsible for
7849providing graphical log-ins and managing local and remote displays.")
7850 (license license:gpl2+)))
8e1dd04f
SB
7851
7852(define-public libgtop
7853 (package
7854 (name "libgtop")
015fc036 7855 (version "2.40.0")
8e1dd04f
SB
7856 (source (origin
7857 (method url-fetch)
59487fc2 7858 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 7859 (version-major+minor version) "/"
59487fc2 7860 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
7861 (sha256
7862 (base32
015fc036 7863 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
7864 (build-system gnu-build-system)
7865 (native-inputs
7866 `(("gobject-introspection" ,gobject-introspection)
7867 ("intltool" ,intltool)
7868 ("perl" ,perl)
7869 ("pkg-config" ,pkg-config)))
7870 (propagated-inputs
7871 `(("glib" ,glib))) ; required by libgtop-2.0.pc
7872 (synopsis "Portable system access library")
7873 (home-page "https://www.gnome.org/")
7874 (description
7875 "LibGTop is a library to get system specific data such as CPU and memory
7876usage and information about running processes.")
7877 (license license:gpl2+)))
b96c4260
SB
7878
7879(define-public gnome-bluetooth
7880 (package
7881 (name "gnome-bluetooth")
e8f4bf6b 7882 (version "3.34.0")
b96c4260
SB
7883 (source (origin
7884 (method url-fetch)
7885 (uri (string-append "mirror://gnome/sources/" name "/"
7886 (version-major+minor version) "/"
7887 name "-" version ".tar.xz"))
7888 (sha256
7889 (base32
e8f4bf6b 7890 "1bvbxcsjkyl0givy8nfm7112bq3c0vn1v89fdk2pip714dsfcrz8"))))
fd3b1171 7891 (build-system meson-build-system)
b96c4260
SB
7892 (native-inputs
7893 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 7894 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
7895 ("gobject-introspection" ,gobject-introspection)
7896 ("intltool" ,intltool)
7897 ("pkg-config" ,pkg-config)
7898 ("xmllint" ,libxml2)))
7899 (propagated-inputs
7900 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
7901 `(("glib" ,glib)
7902 ("gtk+" ,gtk+)))
b96c4260 7903 (inputs
723afae6
KK
7904 `(("eudev" ,eudev)
7905 ("libcanberra" ,libcanberra)
b96c4260
SB
7906 ("libnotify" ,libnotify)))
7907 (synopsis "GNOME Bluetooth subsystem")
7908 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
7909 (description
7910 "This package contains tools for managing and manipulating Bluetooth
7911devices using the GNOME desktop.")
7912 (license license:lgpl2.1+)))
b645146f
SB
7913
7914(define-public gnome-control-center
7915 (package
7916 (name "gnome-control-center")
c576328d 7917 (version "3.34.2")
b645146f
SB
7918 (source (origin
7919 (method url-fetch)
7920 (uri (string-append "mirror://gnome/sources/" name "/"
7921 (version-major+minor version) "/"
7922 name "-" version ".tar.xz"))
7923 (sha256
7924 (base32
c576328d 7925 "054igagvmyzpaa5nwzz98gv7bk7l5dwp6g813707132si3szlpx8"))))
59dac026 7926 (build-system meson-build-system)
b645146f 7927 (arguments
59dac026
RW
7928 '(#:glib-or-gtk? #t
7929 #:configure-flags
64c70430
KK
7930 (list "-Dcheese=false"
7931 (string-append "-Dgnome_session_libexecdir="
7932 (assoc-ref %build-inputs "gnome-session")
7933 "/libexec"))
59dac026 7934 #:phases
b645146f
SB
7935 (modify-phases %standard-phases
7936 (add-before 'configure 'patch-paths
7937 (lambda* (#:key inputs #:allow-other-keys)
7938 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 7939 (tzdata (assoc-ref inputs "tzdata"))
341225ac 7940 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
7941 (nm-applet (assoc-ref inputs "network-manager-applet"))
7942 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
7943 (substitute* "panels/datetime/tz.h"
7944 (("/usr/share/zoneinfo/zone.tab")
7945 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 7946 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
7947 (("/usr/share/locale")
7948 (string-append libc "/share/locale")))
1df38cfc
LC
7949 (substitute* "panels/region/cc-region-panel.c"
7950 (("\"gkbd-keyboard-display")
7951 (string-append "\"" libgnomekbd
7952 "/bin/gkbd-keyboard-display")))
341225ac
LC
7953 (substitute* '("panels/network/net-device-wifi.c"
7954 "panels/network/net-device.c"
7955 "panels/network/connection-editor/net-connection-editor.c")
7956 (("\"nm-connection-editor")
7957 (string-append "\"" nm-applet
7958 "/bin/nm-connection-editor")))
1acd107c
FP
7959 (substitute* '("panels/user-accounts/run-passwd.c")
7960 (("/usr/bin/passwd")
7961 "/run/setuid-programs/passwd"))
64c70430
KK
7962 (substitute* "panels/info/cc-info-overview-panel.c"
7963 (("DATADIR \"/gnome/gnome-version.xml\"")
7964 (string-append "\"" gnome-desktop
7965 "/share/gnome/gnome-version.xml\"")))
c576328d
KK
7966 #t)))
7967 (add-after 'unpack 'skip-gtk-update-icon-cache
7968 ;; Don't create 'icon-theme.cache'.
7969 (lambda _
7970 (substitute* "build-aux/meson/meson_post_install.py"
7971 (("gtk-update-icon-cache") (which "true")))
7972 #t)))))
b645146f
SB
7973 (native-inputs
7974 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7975 ("intltool" ,intltool)
7976 ("pkg-config" ,pkg-config)
a6938bac
KK
7977 ("xsltproc" ,libxslt)
7978 ;; For tests
7979 ("hicolor-icon-theme" ,hicolor-icon-theme)
7980 ("python-dbusmock" ,python-dbusmock)
7981 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
7982 (inputs
7983 `(("accountsservice" ,accountsservice)
7984 ("clutter-gtk" ,clutter-gtk)
7985 ("colord-gtk" ,colord-gtk)
7986 ("cups" ,cups)
7987 ("dconf" ,dconf)
7988 ("docbook-xsl" ,docbook-xsl)
3446ffb5 7989 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
7990 ("gnome-bluetooth" ,gnome-bluetooth)
7991 ("gnome-desktop" ,gnome-desktop)
7992 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 7993 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 7994 ("gnome-session" ,gnome-session)
b645146f
SB
7995 ("gnome-settings-daemon" ,gnome-settings-daemon)
7996 ("grilo" ,grilo)
a6938bac 7997 ("gsound" ,gsound)
b645146f
SB
7998 ("ibus" ,ibus)
7999 ("libcanberra" ,libcanberra)
1df38cfc 8000 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
8001 ("libgudev" ,libgudev)
8002 ("libgtop" ,libgtop)
46cf3434 8003 ("libnma" ,libnma)
b645146f 8004 ("libpwquality" ,libpwquality)
982c0b36 8005 ("libsecret" ,libsecret)
b645146f
SB
8006 ("libsoup" ,libsoup)
8007 ("libxml2" ,libxml2)
8008 ("libwacom" ,libwacom)
8009 ("mesa" ,mesa)
8010 ("mit-krb5" ,mit-krb5)
8011 ("modem-manager" ,modem-manager)
8012 ("network-manager-applet" ,network-manager-applet)
8013 ("polkit" ,polkit)
8014 ("pulseaudio" ,pulseaudio)
8015 ("smbclient" ,samba)
8016 ("tzdata" ,tzdata)
982c0b36 8017 ("udisks" ,udisks)
b645146f
SB
8018 ("upower" ,upower)))
8019 (synopsis "Utilities to configure the GNOME desktop")
8020 (home-page "https://www.gnome.org/")
8021 (description
8022 "This package contains configuration applets for the GNOME desktop,
8023allowing to set accessibility configuration, desktop fonts, keyboard and mouse
8024properties, sound setup, desktop theme and background, user interface
8025properties, screen resolution, and other GNOME parameters.")
8026 (license license:gpl2+)))
a4df5756
SB
8027
8028(define-public gnome-shell
8029 (package
8030 (name "gnome-shell")
28457ae6 8031 (version "3.34.2")
a4df5756
SB
8032 (source (origin
8033 (method url-fetch)
8034 (uri (string-append "mirror://gnome/sources/" name "/"
8035 (version-major+minor version) "/"
8036 name "-" version ".tar.xz"))
8037 (sha256
8038 (base32
28457ae6
KK
8039 "0k9vq2gh1nhdd6fpp7jnwx37qxaakawiqw1xnlfjvq5g5zdn8ckh"))
8040 (patches (search-patches "gnome-shell-theme.patch"
8041 "gnome-shell-disable-test.patch"))
a76d0f03
LC
8042 (modules '((guix build utils)))
8043 (snippet
8044 #~(begin
a76d0f03
LC
8045 ;; Copy images for use on the GDM log-in screen.
8046 (copy-file #$(file-append %artwork-repository
8047 "/slim/0.x/background.png")
8048 "data/theme/guix-background.png")
45fef894
LC
8049 (copy-file #$(file-append %artwork-repository
8050 "/logo/Guix-horizontal-white.svg")
8051 "data/theme/guix-logo.svg")
a76d0f03 8052 #t))))
2b0c755d 8053 (build-system meson-build-system)
a4df5756 8054 (arguments
08185081
MB
8055 `(#:glib-or-gtk? #t
8056 #:disallowed-references ((,glib "bin")
11e1df56
LC
8057 ,inkscape ,libxslt
8058 ,ruby-sass)
2b0c755d
RW
8059 #:configure-flags
8060 (list "-Dsystemd=false"
8061 ;; Otherwise, the RUNPATH will lack the final path component.
8062 (string-append "-Dc_link_args=-Wl,-rpath="
8063 (assoc-ref %outputs "out")
8064 "/lib/gnome-shell"))
11e1df56 8065
08185081 8066 #:modules ((guix build meson-build-system)
11e1df56
LC
8067 (guix build utils)
8068 (srfi srfi-1))
8069
2b0c755d 8070 #:phases
a4df5756 8071 (modify-phases %standard-phases
2b0c755d 8072 (add-after 'unpack 'fix-keysdir
a4df5756
SB
8073 (lambda* (#:key outputs #:allow-other-keys)
8074 (let* ((out (assoc-ref outputs "out"))
8075 (keysdir (string-append
8076 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
8077 (substitute* "meson.build"
8078 (("keysdir =.*")
8079 (string-append "keysdir = '" keysdir "'\n")))
8080 #t)))
ebfe259f
MB
8081 (add-before 'configure 'convert-logo-to-png
8082 (lambda* (#:key inputs #:allow-other-keys)
8083 ;; Convert the logo from SVG to PNG.
8084 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
8085 "data/theme/guix-logo.svg")))
ba00235a 8086 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
8087 (lambda* (#:key inputs #:allow-other-keys)
8088 (substitute* "js/misc/ibusManager.js"
8089 (("'ibus-daemon'")
8090 (string-append "'" (assoc-ref inputs "ibus")
8091 "/bin/ibus-daemon'")))
d6fda4d3
LC
8092 (substitute* "js/ui/status/keyboard.js"
8093 (("'gkbd-keyboard-display'")
8094 (string-append "'" (assoc-ref inputs "libgnomekbd")
8095 "/bin/gkbd-keyboard-display'")))
2472cdec 8096 #t))
2b0c755d
RW
8097 (add-before 'check 'pre-check
8098 (lambda* (#:key inputs #:allow-other-keys)
8099 ;; Tests require a running X server.
8100 (system "Xvfb :1 &")
8101 (setenv "DISPLAY" ":1")
8102 #t))
8103 (add-after 'install 'wrap-programs
8104 (lambda* (#:key inputs outputs #:allow-other-keys)
8105 (let ((out (assoc-ref outputs "out"))
8106 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8107 (python-path (getenv "PYTHONPATH")))
8108 (wrap-program (string-append out "/bin/gnome-shell")
8109 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8110 ;; FIXME: gnome-shell loads these libraries with unqualified
8111 ;; names only, so they need to be on LD_LIBRARY_PATH. The
8112 ;; alternative might be to patch gnome-shell.
8113 `("LD_LIBRARY_PATH" ":" prefix
8114 ,(map (lambda (pkg)
8115 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
8116 '("gdk-pixbuf"
8117 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
8118 (for-each
8119 (lambda (prog)
8120 (wrap-program (string-append out "/bin/" prog)
8121 `("PYTHONPATH" ":" prefix (,python-path))
8122 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8123 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 8124 #t)))
11e1df56
LC
8125 (replace 'glib-or-gtk-wrap
8126 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
8127 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
8128 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
8129 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
8130 ;; phase. Fix that since we don't need these.
8131 (wrap #:inputs (fold alist-delete inputs
8132 '("inkscape" "intltool" "glib:bin"))
8133 #:outputs outputs)))))))
a4df5756 8134 (native-inputs
28457ae6
KK
8135 `(("asciidoc" ,asciidoc)
8136 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 8137 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 8138 ("gobject-introspection" ,gobject-introspection)
ebfe259f 8139 ("inkscape" ,inkscape)
a4df5756
SB
8140 ("intltool" ,intltool)
8141 ("pkg-config" ,pkg-config)
8142 ("python" ,python)
2b0c755d
RW
8143 ("ruby-sass" ,ruby-sass)
8144 ("sassc" ,sassc)
a76d0f03 8145 ("xsltproc" ,libxslt)
2b0c755d 8146 ;; For tests
0b4504f6 8147 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
8148 (inputs
8149 `(("accountsservice" ,accountsservice)
8150 ("caribou" ,caribou)
8151 ("docbook-xsl" ,docbook-xsl)
8152 ("evolution-data-server" ,evolution-data-server)
8153 ("gcr" ,gcr)
8154 ("gdm" ,gdm)
c5db31d4 8155 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756 8156 ("gjs" ,gjs)
28457ae6 8157 ("gnome-autoar" ,gnome-autoar)
a4df5756 8158 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
8159 ("gnome-desktop" ,gnome-desktop)
8160 ("gnome-settings-daemon" ,gnome-settings-daemon)
8161 ("gst-plugins-base" ,gst-plugins-base)
8162 ("ibus" ,ibus)
8163 ("libcanberra" ,libcanberra)
8164 ("libcroco" ,libcroco)
d6fda4d3 8165 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756 8166 ("libgweather" ,libgweather)
e24d311f 8167 ("libnma" ,libnma)
a4df5756
SB
8168 ("libsoup" ,libsoup)
8169 ("mesa-headers" ,mesa-headers)
8170 ("mutter" ,mutter)
8171 ("network-manager-applet" ,network-manager-applet)
8172 ("polkit" ,polkit)
8173 ("pulseaudio" ,pulseaudio)
8174 ("python-pygobject" ,python-pygobject)
8175 ("startup-notification" ,startup-notification)
8176 ("telepathy-logger" ,telepathy-logger)
8177 ("upower" ,upower)
30e760f0
MB
8178 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
8179 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
8180 ("librsvg" ,librsvg)
2b0c755d 8181 ("geoclue" ,geoclue)))
a4df5756
SB
8182 (synopsis "Desktop shell for GNOME")
8183 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
8184 (description
8185 "GNOME Shell provides core user interface functions for the GNOME desktop,
8186like switching to windows and launching applications.")
8187 (license license:gpl2+)))
c3f29bc9
RS
8188
8189(define-public gtk-vnc
8190 (package
8191 (name "gtk-vnc")
97787a24 8192 (version "1.0.0")
c3f29bc9
RS
8193 (source
8194 (origin
8195 (method url-fetch)
97787a24
RG
8196 (uri
8197 (string-append "mirror://gnome/sources/" name "/"
8198 (version-major+minor version) "/"
8199 name "-" version ".tar.xz"))
c3f29bc9 8200 (sha256
97787a24
RG
8201 (base32 "1060ws037v556rx1qhfrcg02859rscksrzr8fq11himdg4d1y6m8"))))
8202 (build-system meson-build-system)
c3f29bc9 8203 (arguments
97787a24 8204 `(#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas
c3f29bc9 8205 (native-inputs
97787a24
RG
8206 `(("gjs" ,gjs)
8207 ("glib:bin" ,glib "bin")
c3f29bc9
RS
8208 ("gobject-introspection" ,gobject-introspection)
8209 ("intltool" ,intltool)
97787a24
RG
8210 ("node" ,node)
8211 ("perl" ,perl)
c3f29bc9 8212 ("pkg-config" ,pkg-config)
97787a24 8213 ("python" ,python-wrapper)
c3f29bc9 8214 ("vala" ,vala)))
97787a24
RG
8215 (inputs
8216 `(("cairo" ,cairo)
8217 ("gdk-pixbuf" ,gdk-pixbuf+svg)
8218 ("glib" ,glib)
8219 ("gnutls" ,gnutls)
8220 ("libgcrypt" ,libgcrypt)
8221 ("libsasl" ,cyrus-sasl)
8222 ("pulseaudio" ,pulseaudio)
8223 ("x11" ,libx11)
8224 ("zlib" ,zlib)))
8225 (propagated-inputs
8226 `(("gtk+" ,gtk+)))
8227 (synopsis "VNC client viewer widget for GTK+")
8228 (description "GTK-VNC is a project providing client side APIs for the RFB
8229protocol / VNC remote desktop technology. It is built using coroutines allowing
8230it to be completely asynchronous while remaining single threaded. It provides a
8231core C library, and bindings for Python (PyGTK).")
c3f29bc9 8232 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
c3f29bc9 8233 (license license:lgpl2.1+)))
8b877545 8234
dc69fe18
MW
8235(define-public gnome-autoar
8236 (package
8237 (name "gnome-autoar")
17969940 8238 (version "0.2.4")
dc69fe18
MW
8239 (source (origin
8240 (method url-fetch)
8241 (uri (string-append "mirror://gnome/sources/" name "/"
8242 (version-major+minor version) "/"
8243 name "-" version ".tar.xz"))
8244 (sha256
8245 (base32
17969940 8246 "0yk56ch46n3wfy633mq31kif9n7v06rlij4vqbsbn6l4z1vw6d0a"))))
dc69fe18
MW
8247 (build-system glib-or-gtk-build-system)
8248 (native-inputs
17969940 8249 `(("gobject-introspection" ,gobject-introspection)
dc69fe18
MW
8250 ("pkg-config" ,pkg-config)))
8251 (propagated-inputs
17969940 8252 `(("libarchive" ,libarchive))) ; Required by gnome-autoar-0.pc
dc69fe18 8253 (inputs
0a6e9e13 8254 `(("gtk+" ,gtk+)))
dc69fe18
MW
8255 (synopsis "Archives integration support for GNOME")
8256 (home-page "https://git.gnome.org/browse/gnome-autoar/")
8257 (description
8258 "GNOME Autoar is a library which makes creating and extracting archives
8259easy, safe, and automatic.")
8260 (license license:lgpl2.1+)))
8261
b64e217f
MW
8262(define-public tracker
8263 (package
8264 (name "tracker")
caaefa40 8265 (version "2.3.4")
b64e217f
MW
8266 (source (origin
8267 (method url-fetch)
b5b0fd23 8268 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 8269 (version-major+minor version) "/"
b5b0fd23 8270 "tracker-" version ".tar.xz"))
b64e217f
MW
8271 (sha256
8272 (base32
caaefa40 8273 "0vai0qz9jn3z5dlzysynwhbbmslp84ygdql81f5wfxxr98j54yap"))))
5ada561c 8274 (build-system meson-build-system)
c8bdf589 8275 (arguments
5ada561c
KK
8276 `(#:glib-or-gtk? #t
8277 #:configure-flags
8278 ;; Otherwise, the RUNPATH will lack the final path component.
8279 (list (string-append "-Dc_link_args=-Wl,-rpath="
8280 (assoc-ref %outputs "out") "/lib:"
8281 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
8282 #:phases
c8bdf589 8283 (modify-phases %standard-phases
c8bdf589
RW
8284 (add-before 'check 'pre-check
8285 (lambda _
63db190a
PN
8286 ;; Some tests expect to write to $HOME.
8287 (setenv "HOME" "/tmp")
c8bdf589 8288 #t)))))
b64e217f 8289 (native-inputs
5ada561c 8290 `(("glib:bin" ,glib "bin")
b64e217f 8291 ("gobject-introspection" ,gobject-introspection)
5ada561c 8292 ("python-pygobject" ,python-pygobject)
b64e217f
MW
8293 ("intltool" ,intltool)
8294 ("pkg-config" ,pkg-config)
8295 ("vala" ,vala)))
8296 (inputs
63db190a 8297 `(("dbus" ,dbus)
44ed6284 8298 ("sqlite" ,sqlite)
b64e217f 8299 ("libxml2" ,libxml2)
63db190a 8300 ("icu4c" ,icu4c) ; libunistring gets miner-miner-fs test to fail.
0ef48cd9 8301 ("json-glib" ,json-glib)
63db190a 8302 ("libsoup" ,libsoup)))
b64e217f
MW
8303 (synopsis "Metadata database, indexer and search tool")
8304 (home-page "https://wiki.gnome.org/Projects/Tracker")
8305 (description
63db190a
PN
8306 "Tracker is a search engine and triplestore for desktop, embedded and mobile.
8307
8308It is a middleware component aimed at desktop application developers who want
8309their apps to browse and search user content. It's not designed to be used
8310directly by desktop users, but it provides a commandline tool named
8311@command{tracker} for the adventurous.
8312
8313Tracker allows your application to instantly perform full-text searches across
8314all documents. This feature is used by the @{emph{search} bar in GNOME Files, for
8315example. This is achieved by indexing the user's home directory in the
8316background.
8317
8318Tracker also allows your application to query and list content that the user
8319has stored. For example, GNOME Music displays all the music files that are
8320found by Tracker. This means that GNOME Music doesn't need to maintain a
8321database of its own.
8322
8323If you need to go beyond simple searches, Tracker is also a linked data
8324endpoint and it understands SPARQL. ")
8325 ;; https://gitlab.gnome.org/GNOME/tracker/-/blob/master/COPYING:
b64e217f 8326 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
63db190a 8327 ;; libstemmer is bsd-3 and the rest is gpl2+.
b64e217f 8328 (license (list license:gpl2+
63db190a
PN
8329 license:bsd-3
8330 license:lgpl2.1+))))
b64e217f 8331
03be9874
KK
8332(define-public tracker-miners
8333 (package
8334 (name "tracker-miners")
de60ac2f 8335 (version "2.3.3")
03be9874
KK
8336 (source (origin
8337 (method url-fetch)
8338 (uri (string-append "mirror://gnome/sources/tracker-miners/"
8339 (version-major+minor version)
8340 "/tracker-miners-" version ".tar.xz"))
8341 (sha256
8342 (base32
de60ac2f 8343 "06abxrnrz7xayykrabn135rpsm6z0fqw7gibrb9j09l6swlalwkl"))))
03be9874
KK
8344 (build-system meson-build-system)
8345 (arguments
8346 `(#:glib-or-gtk? #t
8347 #:configure-flags
8348 (list "-Dminer_rss=false" ; libgrss is required.
8349 ;; Ensure the RUNPATH contains all installed library locations.
8350 (string-append "-Dc_link_args=-Wl,-rpath="
8351 (assoc-ref %outputs "out")
8352 "/lib/tracker-miners-2.0")
8353 ;; TODO: Enable functional tests. Currently, the following error
8354 ;; appears:
8355 ;; Exception: The functional tests require DConf to be the default
8356 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
8357 "-Dfunctional_tests=false")))
8358 (native-inputs
8359 `(("dbus" ,dbus)
8360 ("intltool" ,intltool)
8361 ("glib:bin" ,glib "bin")
8362 ("gobject-introspection" ,gobject-introspection)
8363 ("pkg-config" ,pkg-config)
8364 ("python-pygobject" ,python-pygobject)))
8365 (inputs
8366 `(("exempi" ,exempi)
8367 ("ffmpeg" ,ffmpeg)
8368 ("flac" ,flac)
8369 ("giflib" ,giflib)
8370 ("glib" ,glib)
8371 ("gstreamer" ,gstreamer)
8372 ("icu4c" ,icu4c)
8373 ("libcue" ,libcue)
8374 ("libexif" ,libexif)
8375 ("libgsf" ,libgsf)
8376 ("libgxps" ,libgxps)
8377 ("libiptcdata" ,libiptcdata)
4bd428a7 8378 ("libjpeg" ,libjpeg-turbo)
03be9874
KK
8379 ("libosinfo" ,libosinfo)
8380 ("libpng" ,libpng)
8381 ("libseccomp" ,libseccomp)
8382 ("libtiff" ,libtiff)
8383 ("libvorbis" ,libvorbis)
8384 ("libxml2" ,libxml2)
8385 ("poppler" ,poppler)
8386 ("taglib" ,taglib)
8387 ("totem-pl-parser" ,totem-pl-parser)
8388 ("tracker" ,tracker)
8389 ("upower" ,upower)
8390 ("zlib" ,zlib)))
b64e217f
MW
8391 (synopsis "Metadata database, indexer and search tool")
8392 (home-page "https://wiki.gnome.org/Projects/Tracker")
8393 (description
8394 "Tracker is an advanced framework for first class objects with associated
8395metadata and tags. It provides a one stop solution for all metadata, tags,
8396shared object databases, search tools and indexing.")
8397 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
8398 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
8399 (license (list license:gpl2+
8400 license:lgpl2.1+
8401 license:lgpl2.0+))))
8402
8b877545
RS
8403(define-public nautilus
8404 (package
8405 (name "nautilus")
8069ff0b 8406 (version "3.34.2")
8b877545
RS
8407 (source (origin
8408 (method url-fetch)
8409 (uri (string-append "mirror://gnome/sources/" name "/"
8410 (version-major+minor version) "/"
8411 name "-" version ".tar.xz"))
8412 (sha256
8413 (base32
8069ff0b 8414 "19zqwq4qyyncc5wq3xls0f7rsavnw741k336p2h7kx35p4kf41mv"))))
35e2d0cf 8415 (build-system meson-build-system)
8b877545 8416 (arguments
35e2d0cf 8417 '(#:glib-or-gtk? #t
8069ff0b
KK
8418 #:phases
8419 (modify-phases %standard-phases
8420 (add-after 'unpack 'skip-gtk-update-icon-cache
8421 ;; Don't create 'icon-theme.cache'.
8422 (lambda _
8423 (substitute* "build-aux/meson/postinstall.py"
8424 (("gtk-update-icon-cache") "true"))
8425 #t)))
8b877545
RS
8426 ;; XXX: FAIL: check-nautilus
8427 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
8428 #:tests? #f))
8429 (native-inputs
35e2d0cf
R
8430 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
8431 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
8b877545
RS
8432 ("gobject-introspection" ,gobject-introspection)
8433 ("intltool" ,intltool)
8434 ("pkg-config" ,pkg-config)))
8b877545 8435 (inputs
8b877545 8436 `(("dconf" ,dconf)
caf6c363 8437 ("gexiv2" ,gexiv2)
dd05e731 8438 ("gvfs" ,gvfs)
8b877545
RS
8439 ("exempi" ,exempi)
8440 ("gnome-desktop" ,gnome-desktop)
09d88905 8441 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 8442 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 8443 ("libseccomp" ,libseccomp)
35e2d0cf 8444 ("libselinux" ,libselinux)
09d88905 8445 ("tracker" ,tracker)
3cafb9d4 8446 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
8447 ;; XXX: gtk+ is required by libnautilus-extension.pc
8448 ;;
8449 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
8450 ;; package. See:
8451 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
8452 ("gtk+" ,gtk+)
8b877545
RS
8453 ("libexif" ,libexif)
8454 ("libxml2" ,libxml2)))
8455 (synopsis "File manager for GNOME")
8456 (home-page "https://wiki.gnome.org/Apps/Nautilus")
8457 (description
8458 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
8459design and behaviour, giving the user a simple way to navigate and manage its
8460files.")
8461 (license license:gpl2+)))
3c697ffd
JR
8462
8463(define-public baobab
8464 (package
8465 (name "baobab")
e0c5f20c 8466 (version "3.32.0")
3c697ffd
JR
8467 (source (origin
8468 (method url-fetch)
8469 (uri (string-append
8470 "mirror://gnome/sources/" name "/"
8471 (version-major+minor version) "/"
8472 name "-" version ".tar.xz"))
8473 (sha256
8474 (base32
e0c5f20c 8475 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
8476 (build-system meson-build-system)
8477 (arguments
8478 '(#:glib-or-gtk? #t))
3c697ffd
JR
8479 (native-inputs
8480 `(("intltool" ,intltool)
8481 ("pkg-config" ,pkg-config)
d233d373
RJ
8482 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
8483 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
8484 ("itstool" ,itstool)
8485 ("xmllint" ,libxml2)
8486 ("glib" ,glib "bin")
8487 ("vala" ,vala)))
8488 (inputs
8489 `(("gtk+" ,gtk+)))
8490 (synopsis "Disk usage analyzer for GNOME")
8491 (description
8492 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
8493usage in the GNOME desktop environment. It can easily scan device volumes or
8494a specific user-requested directory branch (local or remote). Once the scan
8495is complete it provides a graphical representation of each selected folder.")
8496 (home-page "https://wiki.gnome.org/Apps/Baobab")
8497 (license license:gpl2+)))
dc050251 8498
fdba447c
RS
8499(define-public gnome-backgrounds
8500 (package
8501 (name "gnome-backgrounds")
0856b0d9 8502 (version "3.34.0")
fdba447c
RS
8503 (source
8504 (origin
8505 (method url-fetch)
8506 (uri (string-append "mirror://gnome/sources/" name "/"
8507 (version-major+minor version) "/"
8508 name "-" version ".tar.xz"))
8509 (sha256
8510 (base32
0856b0d9 8511 "0zxlwy55fz7i582hch2wnj8zy1kzikssgaix0l2y41ccp5nzpdy2"))))
9ca381f0 8512 (build-system meson-build-system)
fdba447c
RS
8513 (native-inputs
8514 `(("intltool" ,intltool)))
e04e8a8c 8515 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
8516 (synopsis "Background images for the GNOME desktop")
8517 (description
8518 "GNOME backgrounds package contains a collection of graphics files which
8519can be used as backgrounds in the GNOME Desktop environment. Additionally,
8520the package creates the proper framework and directory structure so that you
8521can add your own files to the collection.")
8522 (license (list license:gpl2+
8523 license:cc-by2.0
8524 license:cc-by-sa2.0
8525 license:cc-by-sa3.0))))
8526
b784b1a9
RS
8527(define-public gnome-screenshot
8528 (package
8529 (name "gnome-screenshot")
d5101dab 8530 (version "3.34.0")
b784b1a9
RS
8531 (source
8532 (origin
8533 (method url-fetch)
8534 (uri (string-append "mirror://gnome/sources/" name "/"
8535 (version-major+minor version) "/"
8536 name "-" version ".tar.xz"))
8537 (sha256
8538 (base32
d5101dab 8539 "1rmiq890j7gfn5mcz31xy6jfnnxgc17dq67bhn2k9m5ylbvza2n8"))))
8356aefa 8540 (build-system meson-build-system)
d5101dab
KK
8541 (arguments
8542 '(#:phases
8543 (modify-phases %standard-phases
8544 (add-after 'unpack 'skip-gtk-update-icon-cache
8545 ;; Don't create 'icon-theme.cache'.
8546 (lambda _
8547 (substitute* "build-aux/postinstall.py"
8548 (("gtk-update-icon-cache") "true"))
8549 #t)))))
b784b1a9
RS
8550 (native-inputs
8551 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa 8552 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 8553 ("intltool" ,intltool)
8356aefa 8554 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
8555 ("pkg-config" ,pkg-config)))
8556 (inputs
8557 `(("gtk+" ,gtk+)
8558 ("libcanberra" ,libcanberra)
8559 ("libx11" ,libx11)
8560 ("libxext" ,libxext)))
676e7cb4 8561 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
8562 (synopsis "Take pictures of your screen")
8563 (description
8564 "GNOME Screenshot is a utility used for taking screenshots of the entire
8565screen, a window or a user defined area of the screen, with optional
8566beautifying border effects.")
8567 (license license:gpl2+)))
8568
66d59111
RS
8569(define-public dconf-editor
8570 (package
8571 (name "dconf-editor")
720aa20f 8572 (version "3.34.2")
66d59111
RS
8573 (source
8574 (origin
8575 (method url-fetch)
8576 (uri (string-append "mirror://gnome/sources/" name "/"
8577 (version-major+minor version) "/"
8578 name "-" version ".tar.xz"))
8579 (sha256
8580 (base32
720aa20f 8581 "0pwxjada2vaf69ihpjgp9nky54iykvxq63lp1vl8pxjanif2mk6f"))))
294ff39d 8582 (build-system meson-build-system)
66d59111
RS
8583 (native-inputs
8584 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 8585 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 8586 ("intltool" ,intltool)
294ff39d
RW
8587 ("pkg-config" ,pkg-config)
8588 ("vala" ,vala)))
66d59111
RS
8589 (inputs
8590 `(("dconf" ,dconf)
8591 ("gtk+" ,gtk+)
8592 ("libxml2" ,libxml2)))
720aa20f 8593 (home-page "https://gitlab.gnome.org/GNOME/dconf-editor")
66d59111
RS
8594 (synopsis "Graphical editor for GNOME's dconf configuration system")
8595 (description
8596 "Dconf-editor is a graphical tool for browsing and editing the dconf
8597configuration system for GNOME. It allows users to configure desktop
8598software that do not provide their own configuration interface.")
8599 (license license:lgpl2.1+)))
8600
96d36f38
AW
8601(define-public gnome-default-applications
8602 (package
8603 (name "gnome-default-applications")
8604 (version "0")
8605 (build-system trivial-build-system)
8606 (source #f)
8607 (propagated-inputs
8ad4f0aa
LC
8608 `(("nautilus" ,nautilus)
8609 ("evince" ,evince)))
96d36f38
AW
8610 (arguments
8611 `(#:modules ((guix build utils))
8612 #:builder
8613 (begin
8614 (use-modules (guix build utils))
8615 (let* ((out (assoc-ref %outputs "out"))
8616 (apps (string-append out "/share/applications")))
8617 (mkdir-p apps)
a6ac679f 8618 (call-with-output-file (string-append apps "/gnome-mimeapps.list")
96d36f38
AW
8619 (lambda (port)
8620 (format port "[Default Applications]\n")
8ad4f0aa
LC
8621 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
8622 (format port "application/pdf=evince.desktop\n")
8623 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
8624 #t))))
8625 (synopsis "Default MIME type associations for the GNOME desktop")
8626 (description
8627 "Given many installed packages which might handle a given MIME type, a
8628user running the GNOME desktop probably has some preferences: for example,
8629that folders be opened by default by the Nautilus file manager, not the Baobab
8630disk usage analyzer. This package establishes that set of default MIME type
8631associations for GNOME.")
8632 (license license:gpl3+)
8633 (home-page #f)))
8634
3f1ed953
RG
8635(define-public libgovirt
8636 (package
8637 (name "libgovirt")
8638 (version "0.3.6")
8639 (source (origin
8640 (method url-fetch)
8641 (uri (string-append "mirror://gnome/sources/" name "/"
8642 (version-major+minor version) "/"
8643 name "-" version ".tar.xz"))
8644 (sha256
8645 (base32
8646 "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg"))))
8647 (build-system glib-or-gtk-build-system)
8648 (native-inputs
8649 `(("gettext" ,gettext-minimal)
8650 ("glib:bin" ,glib "bin")
8651 ("gobject-introspection" ,gobject-introspection)
8652 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8653 ("gtk+:bin" ,gtk+ "bin")
8654 ("pkg-config" ,pkg-config)))
8655 (inputs
8656 `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
8657 ("librest" ,rest)))
8658 (synopsis "GoVirt Library")
8659 (description "GoVirt is a GObject wrapper for the oVirt REST API.")
8660 (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
8661 (license license:gpl2+)))
8662
8672e5e9
RG
8663(define-public gnome-weather
8664 (package
8665 (name "gnome-weather")
8666 (version "3.34.0")
8667 (source (origin
8668 (method url-fetch)
8669 (uri (string-append "mirror://gnome/sources/" name "/"
8670 (version-major+minor version) "/"
8671 name "-" version ".tar.xz"))
8672 (sha256
8673 (base32
8674 "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4"))))
8675 (build-system meson-build-system)
8676 (native-inputs
8677 `(("gettext" ,gettext-minimal)
8678 ("glib:bin" ,glib "bin")
8679 ("gobject-introspection" ,gobject-introspection)
8680 ("gtk+:bin" ,gtk+ "bin")
8681 ("pkg-config" ,pkg-config)))
8682 (inputs
8683 `( ;("adwaita-icon-theme" ,adwaita-icon-theme)
8684 ("appstream-glib" ,appstream-glib)
8685 ("geoclue" ,geoclue)
8686 ("gdk-pixbuf" ,gdk-pixbuf)
8687 ("gjs" ,gjs)
8688 ("gnome-desktop" ,gnome-desktop)
8689 ("libgweather" ,libgweather)))
4391fefc 8690 (arguments
2b68ba72
MB
8691 `(#:glib-or-gtk? #t
8692 #:phases
4391fefc
PN
8693 (modify-phases %standard-phases
8694 (add-after 'install 'fix-desktop-file
8695 ;; FIXME: "gapplication launch org.gnome.Weather" fails for some reason.
8696 ;; See https://issues.guix.gnu.org/issue/39324.
8697 (lambda* (#:key outputs #:allow-other-keys)
8698 (let* ((out (assoc-ref outputs "out"))
8699 (applications (string-append out "/share/applications")))
8700 (substitute* (string-append applications "/org.gnome.Weather.desktop")
2b68ba72
MB
8701 (("Exec=.*") "Exec=gnome-weather\n"))
8702 #t)))
8703 (add-after 'install 'wrap
8704 (lambda* (#:key inputs outputs #:allow-other-keys)
8705 (let ((out (assoc-ref outputs "out"))
8706 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8707 ;; GNOME Weather needs the typelib files of GTK+, Pango etc at runtime.
8708 (wrap-program (string-append out "/bin/gnome-weather")
8709 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
8710 #t))))))
8672e5e9
RG
8711 (synopsis "Weather monitoring for GNOME desktop")
8712 (description "GNOME Weather is a small application that allows you to
8713monitor the current weather conditions for your city, or anywhere in the
8714world.")
8715 (home-page "https://wiki.gnome.org/Apps/Weather")
8716 (license license:gpl2+)))
8717
dc050251
SB
8718(define-public gnome
8719 (package
8720 (name "gnome")
8721 (version (package-version gnome-shell))
8722 (source #f)
8723 (build-system trivial-build-system)
e3cfef22 8724 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 8725 (propagated-inputs
8d8c6bff 8726 ;; TODO: Add or remove packages according to:
a8cda7f5 8727 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 8728 `(
8d8c6bff 8729 ;; GNOME-Core-OS-Services
7922b6f7 8730 ("accountsservice" ,accountsservice)
8d8c6bff
RG
8731 ("network-manager" ,network-manager)
8732 ("packagekit" ,packagekit)
8733 ("upower" ,upower)
8734 ;; GNOME-Core-Shell
8735 ("adwaita-icon-theme" ,adwaita-icon-theme)
8736 ("gdm" ,gdm)
8737 ("glib-networking" ,glib-networking)
8738 ("gnome-backgrounds" ,gnome-backgrounds)
8739 ("gnome-bluetooth" ,gnome-bluetooth)
d36fa50f 8740 ("gnome-color-manager" ,gnome-color-manager)
8d8c6bff
RG
8741 ("gnome-control-center" ,gnome-control-center)
8742 ("gnome-desktop" ,gnome-desktop)
7922b6f7 8743 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
d36fa50f 8744 ("gnome-initial-setup" ,gnome-initial-setup)
8d8c6bff 8745 ("gnome-keyring" ,gnome-keyring)
7922b6f7 8746 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
8747 ("gnome-session" ,gnome-session)
8748 ("gnome-settings-daemon" ,gnome-settings-daemon)
8749 ("gnome-shell-extensions" ,gnome-shell-extensions)
8750 ("gnome-shell" ,gnome-shell)
8751 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 8752 ("gnome-user-docs" ,gnome-user-docs)
d36fa50f 8753 ("gnome-user-share" ,gnome-user-share)
a8cda7f5 8754 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
8755 ("gvfs" ,gvfs)
8756 ("mutter" ,mutter)
8757 ("orca" ,orca)
d36fa50f
RG
8758 ("rygel" ,rygel)
8759 ("sushi" ,sushi)
8d8c6bff
RG
8760 ;; GNOME-Core-Utilities
8761 ("baobab" ,baobab)
8762 ("cheese" ,cheese)
ce784e6c
MB
8763 ;; XXX: EoG requires librsvg-next, which depends on Rust, which currently
8764 ;; only works on x86_64, so exclude it on other architectures.
8765 ,@(if (string-prefix? "x86_64" (%current-system))
8766 `(("eog" ,eog))
8767 '())
8d8c6bff
RG
8768 ("epiphany" ,epiphany)
8769 ("evince" ,evince)
8770 ("file-roller" ,file-roller)
8771 ("gedit" ,gedit)
897897bd 8772 ("gnome-boxes" ,gnome-boxes)
8d8c6bff
RG
8773 ("gnome-calculator" ,gnome-calculator)
8774 ("gnome-calendar" ,gnome-calendar)
8775 ("gnome-characters" ,gnome-characters)
8776 ("gnome-clocks" ,gnome-clocks)
8777 ("gnome-contacts" ,gnome-contacts)
8778 ("gnome-disk-utility" ,gnome-disk-utility)
8779 ("gnome-font-viewer" ,gnome-font-viewer)
8780 ("gnome-maps" ,gnome-maps)
d36fa50f
RG
8781 ; TODO: ("gnome-music" ,gnome-music)
8782 ; TODO: ("gnome-photos" ,gnome-photos)
8d8c6bff
RG
8783 ("gnome-screenshot" ,gnome-screenshot)
8784 ("gnome-system-monitor" ,gnome-system-monitor)
8785 ("gnome-terminal" ,gnome-terminal)
d36fa50f 8786 ("gnome-weather" ,gnome-weather)
8d8c6bff
RG
8787 ("nautilus" ,nautilus)
8788 ("simple-scan" ,simple-scan)
8789 ("totem" ,totem)
7922b6f7
RG
8790 ("yelp" ,yelp)
8791 ;; Others
8792 ("hicolor-icon-theme" ,hicolor-icon-theme)
9f2fef4f
LC
8793 ("gnome-online-accounts" ,gnome-online-accounts)
8794
8795 ;; Packages not part of GNOME proper but that are needed for a good
8796 ;; experience. See <https://bugs.gnu.org/39646>.
8797 ;; XXX: Find out exactly which ones are needed and why.
8798 ("font-cantarell" ,font-cantarell)
8799 ("font-dejavu" ,font-dejavu)
8800 ("at-spi2-core" ,at-spi2-core)
8801 ("dbus" ,dbus)
8802 ("dconf" ,dconf)
8803 ("desktop-file-utils" ,desktop-file-utils)
8804 ("gnome-default-applications" ,gnome-default-applications)
8805 ("gnome-themes-standard" ,gnome-themes-standard)
8806 ("gst-plugins-base" ,gst-plugins-base)
8807 ("gst-plugins-good" ,gst-plugins-good)
8808 ("gucharmap" ,gucharmap)
8809 ("pinentry-gnome3" ,pinentry-gnome3)
8810 ("pulseaudio" ,pulseaudio)
8811 ("shared-mime-info" ,shared-mime-info)
8812 ("system-config-printer" ,system-config-printer)
8813 ("xdg-user-dirs" ,xdg-user-dirs)
8814 ("yelp" ,yelp)
8815 ("zenity" ,zenity)))
fe4e698d 8816 (synopsis "The GNU desktop environment")
dc050251
SB
8817 (home-page "https://www.gnome.org/")
8818 (description
fe4e698d
LC
8819 "GNOME is the graphical desktop for GNU. It includes a wide variety of
8820applications for browsing the web, editing text and images, creating
8821documents and diagrams, playing media, scanning, and much more.")
dc050251 8822 (license license:gpl2+)))
4a526711
DT
8823
8824(define-public byzanz
8825 ;; The last stable release of Byzanz was in 2011, but there have been many
8826 ;; useful commits made to the Byzanz repository since then that it would be
8827 ;; silly to use such an old release.
8828 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
8829 (package
8830 (name "byzanz")
8831 (version (string-append "0.2-1." (string-take commit 7)))
8832 (source (origin
8833 (method git-fetch)
8834 (uri (git-reference
5f13bf09 8835 (url "https://git.gnome.org/browse/byzanz")
4a526711 8836 (commit commit)))
5a6527e4 8837 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
8838 (sha256
8839 (base32
8840 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
8841 (build-system glib-or-gtk-build-system)
8842 (arguments
8843 '(#:phases
8844 (modify-phases %standard-phases
778d6b52 8845 (add-before 'bootstrap 'build-without-Werror
4a526711
DT
8846 (lambda _
8847 ;; The build system cleverly detects that we're not building from
8848 ;; a release tarball and turns on -Werror for GCC.
8849 ;; Unsurprisingly, there is a warning during compilation that
8850 ;; causes the build to fail unnecessarily, so we remove the flag.
8851 (substitute* '("configure.ac")
8852 (("-Werror") ""))
778d6b52 8853 #t)))))
4a526711
DT
8854 (native-inputs
8855 `(("autoconf" ,autoconf)
8856 ("automake" ,automake)
8857 ("gnome-common" ,gnome-common)
8858 ("intltool" ,intltool)
8859 ("libtool" ,libtool)
8860 ("pkg-config" ,pkg-config)
8861 ("which" ,which)))
8862 (inputs
8863 `(("glib" ,glib)
8864 ("gstreamer" ,gstreamer)
8865 ("gst-plugins-base" ,gst-plugins-base)
8866 ("gtk+" ,gtk+)))
8867 (synopsis "Desktop recording program")
8868 (description "Byzanz is a simple desktop recording program with a
8869command-line interface. It can record part or all of an X display for a
8870specified duration and save it as a GIF encoded animated image file.")
8871 (home-page "https://git.gnome.org/browse/byzanz")
8872 (license license:gpl2+))))
3a9a4c51 8873
0ec171ec
MS
8874(define-public gsound
8875 (package
8876 (name "gsound")
8877 (version "1.0.2")
8878 (source (origin
8879 (method url-fetch)
8880 (uri (string-append "mirror://gnome/sources/" name "/"
8881 (version-major+minor version) "/"
8882 name "-" version ".tar.xz"))
8883 (sha256
8884 (base32
8885 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
8886 (build-system glib-or-gtk-build-system)
8887 (native-inputs
8888 `(("pkg-config" ,pkg-config)
8889 ("gobject-introspection" ,gobject-introspection)
8890 ("vala" ,vala)))
8891 (inputs
8892 `(("glib" ,glib)
8893 ("libcanberra" ,libcanberra)))
8894 (home-page "https://wiki.gnome.org/Projects/GSound")
8895 (synopsis "GObject wrapper for libcanberra")
8896 (description
8897 "GSound is a small library for playing system sounds. It's designed to be
8898used via GObject Introspection, and is a thin wrapper around the libcanberra C
8899library.")
8900 (license license:lgpl2.1+)))
8901
3a9a4c51
RS
8902(define-public libzapojit
8903 (package
8904 (name "libzapojit")
8905 (version "0.0.3")
8906 (source (origin
8907 (method url-fetch)
8908 (uri (string-append "mirror://gnome/sources/" name "/"
8909 (version-major+minor version) "/"
8910 name "-" version ".tar.xz"))
8911 (sha256
8912 (base32
8913 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
8914 (build-system gnu-build-system)
8915 (native-inputs
8916 `(("gobject-introspection" ,gobject-introspection)
8917 ("intltool" ,intltool)
8918 ("pkg-config" ,pkg-config)))
8919 (inputs
14c297fd 8920 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
8921 ("json-glib" ,json-glib)
8922 ("rest" ,rest)))
8923 (home-page "https://wiki.gnome.org/Projects/Zapojit")
8924 (synopsis "Library for accessing SkyDrive and Hotmail")
8925 (description
8926 "Libzapojit is a GLib-based library for accessing online service APIs of
8927Microsoft SkyDrive and Hotmail, using their REST protocols.")
8928 (license license:lgpl2.1+)))
9365ee1c 8929
60e2a9ae
MS
8930(define-public gnome-clocks
8931 (package
8932 (name "gnome-clocks")
feee5ff5 8933 (version "3.34.0")
60e2a9ae
MS
8934 (source (origin
8935 (method url-fetch)
8936 (uri (string-append "mirror://gnome/sources/" name "/"
8937 (version-major+minor version) "/"
8938 name "-" version ".tar.xz"))
8939 (sha256
8940 (base32
feee5ff5 8941 "0g7hjk55smhkd09hwa9kag3h5a12l494wj89w9smpdk3ghsmy6b1"))))
60e2a9ae
MS
8942 (build-system meson-build-system)
8943 (arguments
feee5ff5
KK
8944 '(#:glib-or-gtk? #t
8945 #:phases
8946 (modify-phases %standard-phases
8947 (add-after 'unpack 'skip-gtk-update-icon-cache
8948 ;; Don't create 'icon-theme.cache'.
8949 (lambda _
8950 (substitute* "build-aux/post-install.py"
8951 (("gtk-update-icon-cache") "true"))
8952 #t)))))
60e2a9ae
MS
8953 (native-inputs
8954 `(("vala" ,vala)
8955 ("pkg-config" ,pkg-config)
8956 ("glib" ,glib "bin") ; for glib-compile-resources
60e2a9ae
MS
8957 ("desktop-file-utils" ,desktop-file-utils)
8958 ("gettext" ,gettext-minimal)
8959 ("itstool" ,itstool)))
8960 (inputs
8961 `(("glib" ,glib)
8962 ("gtk+" ,gtk+)
8963 ("gsound" ,gsound)
8964 ("geoclue" ,geoclue)
8965 ("geocode-glib" ,geocode-glib)
8966 ("libgweather" ,libgweather)
8967 ("gnome-desktop" ,gnome-desktop)))
8968 (home-page "https://wiki.gnome.org/Apps/Clocks")
8969 (synopsis "GNOME's clock application")
8970 (description
8971 "GNOME Clocks is a simple clocks application designed to fit the GNOME
8972desktop. It supports world clock, stop watch, alarms, and count down timer.")
8973 (license license:gpl3+)))
8974
3c474897
KY
8975(define-public gnome-calendar
8976 (package
8977 (name "gnome-calendar")
27dd1d76 8978 (version "3.34.2")
3c474897
KY
8979 (source (origin
8980 (method url-fetch)
8981 (uri (string-append "mirror://gnome/sources/" name "/"
8982 (version-major+minor version) "/"
8983 name "-" version ".tar.xz"))
8984 (sha256
8985 (base32
27dd1d76 8986 "1bnmd191044zn2kr6f5vg7sm5q59qf7z652awll1f7s6ahijr8rw"))))
a49d3e37
MS
8987 (build-system meson-build-system)
8988 (arguments
8989 '(#:glib-or-gtk? #t
8990 ;; gnome-calendar has to be installed before the tests can be run
8991 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
27dd1d76
KK
8992 #:tests? #f
8993 #:phases
8994 (modify-phases %standard-phases
8995 (add-after 'unpack 'skip-gtk-update-icon-cache
8996 ;; Don't create 'icon-theme.cache'.
8997 (lambda _
8998 (substitute* "build-aux/meson/meson_post_install.py"
8999 (("gtk-update-icon-cache") "true"))
9000 #t)))))
3c474897 9001 (native-inputs
a49d3e37
MS
9002 `(("gettext" ,gettext-minimal)
9003 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
3c474897
KY
9004 ("pkg-config" ,pkg-config)))
9005 (inputs
27cb52a2 9006 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
9007 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9008 ("libdazzle" ,libdazzle)
b63c06f1 9009 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
9010 ("libgweather" ,libgweather)
9011 ("geoclue" ,geoclue)))
27cb52a2
RG
9012 (propagated-inputs
9013 `(("evolution-data-server" ,evolution-data-server)))
3c474897
KY
9014 (home-page "https://wiki.gnome.org/Apps/Calendar")
9015 (synopsis "GNOME's calendar application")
9016 (description
9017 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 9018desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
9019 (license license:gpl3+)))
9020
57b14665
MS
9021(define-public gnome-todo
9022 (package
9023 (name "gnome-todo")
9f3c6c88 9024 (version "3.28.1")
57b14665
MS
9025 (source (origin
9026 (method url-fetch)
9027 (uri (string-append "mirror://gnome/sources/" name "/"
9028 (version-major+minor version) "/"
9029 name "-" version ".tar.xz"))
9030 (sha256
9031 (base32
b17b2945
DM
9032 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))
9033 (patches
9034 (search-patches "gnome-todo-delete-esource-duplicate.patch"))))
57b14665
MS
9035 (build-system meson-build-system)
9036 (arguments
9037 '(#:glib-or-gtk? #t
9038 #:phases (modify-phases %standard-phases
9039 (add-after
9040 'install 'wrap-gnome-todo
9041 (lambda* (#:key inputs outputs #:allow-other-keys)
9042 (let ((out (assoc-ref outputs "out"))
9043 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
9044 (python-path (getenv "PYTHONPATH")))
9045 (wrap-program (string-append out "/bin/gnome-todo")
9046 ;; XXX: gi plugins are broken.
9047 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
9048 ;; For plugins.
9049 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
9050 `("PYTHONPATH" ":" prefix (,python-path))))
9051 #t)))))
9052 (native-inputs
9053 `(("gettext" ,gettext-minimal)
9054 ("gobject-introspection" ,gobject-introspection)
9055 ("glib:bin" ,glib "bin") ; For glib-compile-resources
9056 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
9057 ("pkg-config" ,pkg-config)))
9058 (inputs
9059 `(("rest" ,rest) ; For Todoist plugin
9060 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 9061 ("libedataserverui" ,evolution-data-server)
57b14665
MS
9062 ("libical" ,libical)
9063 ("libpeas" ,libpeas)
9064 ("python-pygobject" ,python-pygobject)
9065 ("evolution-data-server" ,evolution-data-server)
14c297fd 9066 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
9067 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
9068 (home-page "https://wiki.gnome.org/Apps/Todo")
9069 (synopsis "GNOME's ToDo Application")
9070 (description
9071 "GNOME To Do is a simplistic personal task manager designed to perfectly
9072fit the GNOME desktop.")
9073 (license license:gpl3+)))
9074
ab179eaf
SB
9075(define-public gnome-dictionary
9076 (package
9077 (name "gnome-dictionary")
cf81ddef 9078 (version "3.26.1")
ab179eaf
SB
9079 (source (origin
9080 (method url-fetch)
9081 (uri (string-append "mirror://gnome/sources/" name "/"
9082 (version-major+minor version) "/"
9083 name "-" version ".tar.xz"))
9084 (sha256
9085 (base32
cf81ddef
LC
9086 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
9087 (build-system meson-build-system)
2776b5d5
MB
9088 (arguments '(#:glib-or-gtk? #t
9089 #:phases (modify-phases %standard-phases
9090 (add-after 'unpack 'patch-install-script
9091 (lambda _
9092 ;; This script attempts to compile glib schemas
9093 ;; and create an empty MIME database. We do
9094 ;; that elsewhere, so prevent it from running.
9095 (substitute* "build-aux/post-install.sh"
9096 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
9097 #t)))))
ab179eaf
SB
9098 (native-inputs
9099 `(("glib:bin" ,glib "bin")
9100 ("gobject-introspection" ,gobject-introspection)
9101 ("intltool" ,intltool)
9102 ("itstool" ,itstool)
9103 ("pkg-config" ,pkg-config)
9104 ("xmllint" ,libxml2)))
9105 (inputs
9106 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9107 ("gtk+" ,gtk+)))
9108 (home-page "https://wiki.gnome.org/Apps/Dictionary")
9109 (synopsis "Look up words in dictionary sources")
9110 (description
9111 "GNOME Dictionary can look for the definition or translation of a word in
9112existing databases over the internet.")
9113 (license license:gpl3+)))
9114
d13f3a03 9115(define-public gnome-tweaks
9365ee1c 9116 (package
d13f3a03 9117 (name "gnome-tweaks")
4add1bae 9118 (version "3.34.0")
9365ee1c
JN
9119 (source (origin
9120 (method url-fetch)
d13f3a03 9121 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 9122 (version-major+minor version) "/"
d13f3a03
RW
9123 "gnome-tweaks-" version ".tar.xz"))
9124 (patches
9125 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
9126 (sha256
9127 (base32
4add1bae 9128 "0l2j42ba7v866iknygamnkiq7igh0fjvq92r93cslvvfnkx2ccq0"))))
d13f3a03 9129 (build-system meson-build-system)
9365ee1c 9130 (arguments
d13f3a03
RW
9131 `(#:glib-or-gtk? #t
9132 #:configure-flags '("-Dlocalstatedir=/tmp"
9133 "-Dsysconfdir=/tmp")
9365ee1c 9134 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
9135 ,@%meson-build-system-modules)
9136 #:phases
9137 (modify-phases %standard-phases
4add1bae
KK
9138 (add-after 'unpack 'skip-gtk-update-icon-cache
9139 ;; Don't create 'icon-theme.cache'.
9140 (lambda _
9141 (substitute* "meson-postinstall.py"
9142 (("gtk-update-icon-cache") "true"))
9143 #t))
d13f3a03
RW
9144 (add-after 'install 'wrap
9145 (@@ (guix build python-build-system) wrap))
9146 (add-after 'wrap 'wrap-gi-typelib
9147 (lambda* (#:key inputs outputs #:allow-other-keys)
9148 (let ((out (assoc-ref outputs "out"))
9149 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
9150 (wrap-program (string-append out "/bin/gnome-tweaks")
9151 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
9152 #t)))))
9365ee1c 9153 (native-inputs
4add1bae 9154 `(("intltool" ,intltool)
9365ee1c
JN
9155 ("pkg-config" ,pkg-config)))
9156 (inputs
c7fc414e
RH
9157 `(("gnome-desktop" ,gnome-desktop)
9158 ("gtk+" ,gtk+)
9365ee1c
JN
9159 ("gobject-introspection" ,gobject-introspection)
9160 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4add1bae 9161 ("libhandy" ,libhandy)
c7fc414e
RH
9162 ("libnotify" ,libnotify)
9163 ("libsoup" ,libsoup)
9164 ("nautilus" ,nautilus)
9165 ("python" ,python)
9166 ("python-pygobject" ,python-pygobject)))
9365ee1c 9167 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 9168 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 9169 (description
d13f3a03 9170 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
9171GNOME 3. This includes things like the fonts used in user interface elements,
9172alternative user interface themes, changes in window management behavior,
9173GNOME Shell appearance and extension, etc.")
9174 (license license:gpl3+)))
813f814a 9175
32ac717c
DT
9176(define-public gnome-shell-extensions
9177 (package
9178 (name "gnome-shell-extensions")
c7305466 9179 (version "3.34.2")
32ac717c
DT
9180 (source (origin
9181 (method url-fetch)
9182 (uri (string-append "mirror://gnome/sources/" name "/"
9183 (version-major+minor version) "/"
9184 name "-" version ".tar.xz"))
9185 (sha256
9186 (base32
c7305466 9187 "1f5l35l3kdkzrv49xmg1sh11vwmgjbg7hx3gb91i39bfl1snxqd1"))))
100f625b 9188 (build-system meson-build-system)
32ac717c 9189 (arguments
100f625b 9190 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 9191 (native-inputs
c9ea8873
LP
9192 `(("glib:bin" ,glib "bin")
9193 ("intltool" ,intltool)
32ac717c
DT
9194 ("pkg-config" ,pkg-config)))
9195 (propagated-inputs
c9ea8873 9196 `(("glib" ,glib)))
32ac717c
DT
9197 (synopsis "Extensions for GNOME Shell")
9198 (description "GNOME Shell extensions modify and extend GNOME Shell
9199functionality and behavior.")
9200 (home-page "https://extensions.gnome.org/")
9201 (license license:gpl3+)))
9202
813f814a
DT
9203(define-public arc-theme
9204 (package
9205 (name "arc-theme")
37781323 9206 (version "20190917")
813f814a 9207 (source (origin
a18f8eaf
BH
9208 (method git-fetch)
9209 (uri (git-reference
b0e7b699 9210 (url "https://github.com/NicoHood/arc-theme")
a18f8eaf
BH
9211 (commit version)))
9212 (file-name (git-file-name name version))
813f814a
DT
9213 (sha256
9214 (base32
37781323 9215 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 9216 (build-system gnu-build-system)
d88884fa
EF
9217 (arguments
9218 '(#:phases
9219 (modify-phases %standard-phases
9220 ;; autogen.sh calls configure at the end of the script.
9221 (replace 'bootstrap
4690e3a4
MC
9222 (lambda _ (invoke "autoreconf" "-vfi")))
9223 (add-before 'build 'set-home ;placate Inkscape
9224 (lambda _
9225 (setenv "HOME" (getcwd))
9226 #t)))))
813f814a
DT
9227 (native-inputs
9228 `(("autoconf" ,autoconf)
9229 ("automake" ,automake)
a18f8eaf
BH
9230 ("glib" ,glib "bin") ; for glib-compile-resources
9231 ("gnome-shell" ,gnome-shell)
9232 ("gtk+" ,gtk+)
9233 ("inkscape" ,inkscape)
9234 ("optipng" ,optipng)
9235 ("pkg-config" ,pkg-config)
bed24ecf 9236 ("sassc" ,sassc/libsass-3.5)))
813f814a
DT
9237 (synopsis "A flat GTK+ theme with transparent elements")
9238 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
92392, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
9240like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
9241 (home-page "https://github.com/horst3180/arc-theme")
9242 ;; No "or later" language found.
a18f8eaf 9243 (license license:gpl3+)))
9987c57c 9244
d935e6a1 9245(define-public faba-icon-theme
9987c57c 9246 (package
d935e6a1 9247 (name "faba-icon-theme")
2eee7ee3 9248 (version "4.3")
d935e6a1
BT
9249 (source
9250 (origin
757e4027
TGR
9251 (method git-fetch)
9252 (uri (git-reference
b0e7b699 9253 (url "https://github.com/snwh/faba-icon-theme")
757e4027
TGR
9254 (commit (string-append "v" version))))
9255 (file-name (git-file-name name version))
d935e6a1 9256 (sha256
757e4027 9257 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 9258 (build-system meson-build-system)
9987c57c 9259 (arguments
82da291a 9260 `(#:phases
9987c57c 9261 (modify-phases %standard-phases
82da291a 9262 (add-before 'configure 'disable-post-install
9987c57c 9263 (lambda _
82da291a
JL
9264 (substitute* "meson.build"
9265 (("meson.add_install_script.*") "")))))))
9987c57c
DT
9266 (native-inputs
9267 `(("autoconf" ,autoconf)
9268 ("automake" ,automake)))
d935e6a1
BT
9269 (synopsis "Faba icon theme")
9270 (description
9271 "Faba is a minimal icon set used as a basis for other themes such as
9272Moka")
9273 (home-page "https://snwh.org/moka")
9274 (license (list license:lgpl3+
9275 license:cc-by-sa4.0))))
9276
9987c57c
DT
9277(define-public moka-icon-theme
9278 (package
8b0e4177 9279 (inherit faba-icon-theme)
9987c57c 9280 (name "moka-icon-theme")
105a3625 9281 (version "5.4.0")
8c3f2170
TGR
9282 (source
9283 (origin
9284 (method git-fetch)
9285 (uri (git-reference
b0e7b699 9286 (url "https://github.com/snwh/moka-icon-theme")
8c3f2170
TGR
9287 (commit (string-append "v" version))))
9288 (file-name (git-file-name name version))
9289 (sha256
9290 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
9291 (propagated-inputs
9292 ;; Moka is based on Faba by using it as a fallback icon set instead of
9293 ;; bundling it, so we need to add it as a propagated input.
9294 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
9295 (synopsis "Moka icon theme")
9296 (description "Moka is a stylized desktop icon set, designed to be clear,
9297simple and consistent.")
fedde43b
BT
9298 (license (list license:gpl3+
9299 license:cc-by-sa4.0))))
6fd8f8d6
DT
9300
9301(define-public arc-icon-theme
9302 (package
9303 (name "arc-icon-theme")
c4180240 9304 (version "20161122")
bbf66cbf
TGR
9305 (source
9306 (origin
9307 (method git-fetch)
9308 (uri (git-reference
b0e7b699 9309 (url "https://github.com/horst3180/arc-icon-theme")
bbf66cbf
TGR
9310 (commit version)))
9311 (file-name (git-file-name name version))
9312 (sha256
9313 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 9314 (build-system gnu-build-system)
9e1ede95
JL
9315 (arguments
9316 `(#:phases
9317 (modify-phases %standard-phases
9318 (add-after 'unpack 'disable-configure-during-bootstrap
9319 (lambda _
9320 (substitute* "autogen.sh"
9321 (("^\"\\$srcdir/configure\".*") ""))
9322 #t)))))
6fd8f8d6
DT
9323 (native-inputs
9324 `(("autoconf" ,autoconf)
9325 ("automake" ,automake)))
9326 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
9327 (propagated-inputs
9328 `(("moka-icon-theme" ,moka-icon-theme)))
9329 (synopsis "Arc icon theme")
9330 (description "The Arc icon theme provides a set of icons matching the
9331style of the Arc GTK theme. Icons missing from the Arc theme are provided by
9332the Moka icon theme.")
9333 (home-page "https://github.com/horst3180/arc-icon-theme")
9334 (license license:gpl3+)))
6064a4e8
LF
9335
9336(define-public folks
9337 (package
9338 (name "folks")
fd11f6f3 9339 (version "0.13.1")
6064a4e8
LF
9340 (source (origin
9341 (method url-fetch)
9342 (uri (string-append
e5f4796e 9343 "mirror://gnome/sources/folks/"
6064a4e8 9344 (version-major+minor version) "/"
e5f4796e 9345 "folks-" version ".tar.xz"))
6064a4e8
LF
9346 (sha256
9347 (base32
fd11f6f3
KK
9348 "0pda8sx4ap3lyri5fdrnakl29la1zkhwlc9bmnp13qigp1iwdw9x"))))
9349 (build-system meson-build-system)
9350 (arguments
9351 '(#:phases
9352 (modify-phases %standard-phases
9353 (add-after 'unpack 'skip-gtk-update-icon-cache
9354 ;; Don't create 'icon-theme.cache'.
9355 (lambda _
9356 (substitute* "meson_post_install.py"
9357 (("gtk-update-icon-cache") "true"))
9358 #t)))))
6064a4e8
LF
9359 (inputs
9360 `(("bdb" ,bdb)
9361 ("dbus-glib" ,dbus-glib)
9362 ("evolution-data-server" ,evolution-data-server)
9363 ("glib" ,glib)
9364 ("libgee" ,libgee)
fd11f6f3 9365 ("readline" ,readline)
6064a4e8
LF
9366 ("telepathy-glib" ,telepathy-glib)))
9367 (native-inputs
fd11f6f3
KK
9368 `(("glib:bin" ,glib "bin")
9369 ("gobject-introspection" ,gobject-introspection)
6064a4e8
LF
9370 ("intltool" ,intltool)
9371 ("pkg-config" ,pkg-config)
9372 ("vala" ,vala)))
9373 (synopsis "Library to aggregate data about people")
9374 (description "Libfolks is a library that aggregates information about people
9375from multiple sources (e.g., Telepathy connection managers for IM contacts,
9376Evolution Data Server for local contacts, libsocialweb for web service contacts,
9377etc.) to create metacontacts. It's written in Vala, which generates C code when
9378compiled.")
9379 (home-page "https://wiki.gnome.org/Projects/Folks")
9380 (license license:lgpl2.1+)))
01ea778f
LF
9381
9382(define-public gfbgraph
9383 (package
9384 (name "gfbgraph")
556e33c8 9385 (version "0.2.4")
01ea778f
LF
9386 (source (origin
9387 (method url-fetch)
9388 (uri (string-append
237d4cf7 9389 "mirror://gnome/sources/gfbgraph/"
01ea778f 9390 (version-major+minor version) "/"
237d4cf7 9391 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
9392 (sha256
9393 (base32
556e33c8 9394 "0yck7dwvjk16a52nafjpi0a39rxwmg0w833brj45acz76lgkjrb0"))))
01ea778f
LF
9395 (build-system glib-or-gtk-build-system)
9396 (arguments
492ad09f
TGR
9397 `(#:tests? #f ; tests appear to require the network
9398 #:configure-flags '("--disable-static"
9399 "--enable-gtk-doc"
01ea778f
LF
9400 "--enable-introspection")))
9401 (native-inputs
492ad09f
TGR
9402 `(("gobject-introspection" ,gobject-introspection)
9403 ("gtk-doc" ,gtk-doc)
556e33c8
TGR
9404 ("pkg-config" ,pkg-config)
9405
9406 ;; The 0.2.4 ‘release’ tarball isn't bootstrapped.
9407 ("autoconf" ,autoconf)
9408 ("automake" ,automake)
9409 ("libtool" ,libtool)
9410 ("which" ,which)))
01ea778f
LF
9411 (inputs
9412 `(("json-glib" ,json-glib)
14c297fd 9413 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
9414 ("rest" ,rest)))
9415 (synopsis "GLib/GObject wrapper for the Facebook API")
9416 (description "This library allows you to use the Facebook API from
9417GLib/GObject code.")
9418 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
9419 (license license:lgpl2.1+)))
3920868c 9420
9421(define-public libgnomekbd
9422 (package
9423 (name "libgnomekbd")
70f2b0f9 9424 (version "3.26.1")
3920868c 9425 (source (origin
9426 (method url-fetch)
d47fa82d 9427 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 9428 (version-major+minor version) "/"
d47fa82d 9429 "libgnomekbd-" version ".tar.xz"))
3920868c 9430 (sha256
9431 (base32
70f2b0f9 9432 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 9433 (build-system gnu-build-system)
9434 (native-inputs
9435 `(("pkg-config" ,pkg-config)
9436 ("glib" ,glib "bin")
9437 ("intltool" ,intltool)))
9438 (propagated-inputs
9439 ;; Referred to in .h files and .pc.
9440 `(("glib" ,glib)
9441 ("gtk+" ,gtk+)
9442 ("libxklavier" ,libxklavier)))
9443 (home-page "https://www.gnome.org")
9444 (synopsis "GNOME keyboard configuration library")
9445 (description
9446 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
9447environment, which can notably display keyboard layouts.")
9448 (license license:lgpl2.0+)))
85327d0d 9449
9450;;; This package is no longer maintained:
9451;;; https://wiki.gnome.org/Attic/LibUnique
9452;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
9453;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
9454(define-public libunique
9455 (package
9456 (name "libunique")
9457 (version "3.0.2")
9458 (source (origin
9459 (method url-fetch)
9460 (uri (string-append "mirror://gnome/sources/" name "/"
9461 (version-major+minor version) "/"
9462 name "-" version ".tar.xz"))
9463 (sha256
9464 (base32
9465 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
9466 (build-system glib-or-gtk-build-system)
9467 (arguments
9468 `(#:configure-flags '("--disable-static"
9469 "--disable-dbus" ; use gdbus
9470 "--enable-introspection")))
9471 (native-inputs
9472 `(("pkg-config" ,pkg-config)
9473 ("gobject-introspection" ,gobject-introspection)
9474 ("glib:bin" ,glib "bin")
9475 ("gtk-doc" ,gtk-doc)))
9476 (propagated-inputs
9477 ;; Referred to in .h files and .pc.
9478 `(("gtk+" ,gtk+)))
9479 (home-page "https://wiki.gnome.org/Attic/LibUnique")
9480 (synopsis "Library for writing single instance applications")
9481 (description
9482 "Libunique is a library for writing single instance applications. If you
9483launch a single instance application twice, the second instance will either just
9484quit or will send a message to the running instance. Libunique makes it easy to
9485write this kind of application, by providing a base class, taking care of all
9486the IPC machinery needed to send messages to a running instance, and also
9487handling the startup notification side.")
9488 (license license:lgpl2.1+)))
54021cd8
RS
9489
9490(define-public gnome-calculator
9491 (package
9492 (name "gnome-calculator")
4cb09502 9493 (version "3.34.1")
54021cd8
RS
9494 (source
9495 (origin
9496 (method url-fetch)
9497 (uri (string-append "mirror://gnome/sources/" name "/"
9498 (version-major+minor version) "/"
9499 name "-" version ".tar.xz"))
9500 (sha256
9501 (base32
4cb09502 9502 "0lbh87255zzggqzai6543qg920y52bl4vs5m5h5087ghzg14hlsd"))))
2d475910
RW
9503 (build-system meson-build-system)
9504 (arguments '(#:glib-or-gtk? #t))
54021cd8 9505 (native-inputs
4cb09502
MB
9506 `(("gettext" ,gettext-minimal)
9507 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 9508 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8 9509 ("itstool" ,itstool)
2d475910 9510 ("vala" ,vala)
54021cd8
RS
9511 ("pkg-config" ,pkg-config)))
9512 (inputs
112e9083 9513 `(("glib" ,glib)
07ace641 9514 ("gtksourceview" ,gtksourceview)
4cb09502 9515 ("libgee" ,libgee)
54021cd8 9516 ("libsoup" ,libsoup)
112e9083 9517 ("libxml2" ,libxml2)
2c2da7ec 9518 ("mpc" ,mpc)
54021cd8
RS
9519 ("mpfr" ,mpfr)))
9520 (home-page "https://wiki.gnome.org/Apps/Calculator")
9521 (synopsis "Desktop calculator")
9522 (description
9523 "Calculator is an application that solves mathematical equations and
9524is suitable as a default application in a Desktop environment.")
9525 (license license:gpl3)))
0bd69759
RS
9526
9527(define-public xpad
9528 (package
9529 (name "xpad")
c85626bb 9530 (version "5.1.0")
0bd69759
RS
9531 (source
9532 (origin
9533 (method url-fetch)
08fda9c6
R
9534 (uri (string-append "https://launchpad.net/xpad/trunk/"
9535 version "/+download/"
0bd69759
RS
9536 name "-" version ".tar.bz2"))
9537 (sha256
9538 (base32
c85626bb 9539 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
9540 (build-system gnu-build-system)
9541 (native-inputs
08fda9c6
R
9542 `(("autoconf" ,autoconf)
9543 ("automake" ,automake)
9544 ("gtk+:bin" ,gtk+ "bin")
9545 ("intltool" ,intltool)
0bd69759
RS
9546 ("pkg-config" ,pkg-config)))
9547 (inputs
c72647fb 9548 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
9549 ("libsm" ,libsm)))
9550 (home-page "https://wiki.gnome.org/Apps/Xpad")
9551 (synopsis "Virtual sticky note")
9552 (description
9553 "Xpad is a sticky note that strives to be simple, fault tolerant,
9554and customizable. Xpad consists of independent pad windows, each is
9555basically a text box in which notes can be written.")
9556 (license license:gpl3+)))
3ad7dce1
RS
9557
9558(define-public gucharmap
c60063ea
RW
9559 (let ((unicode-files
9560 '(("Blocks.txt"
1f8b5515 9561 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 9562 ("DerivedAge.txt"
1f8b5515 9563 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 9564 ("NamesList.txt"
1f8b5515 9565 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 9566 ("Scripts.txt"
1f8b5515 9567 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 9568 ("UnicodeData.txt"
1f8b5515 9569 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 9570 ("Unihan.zip"
1f8b5515 9571 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
9572 (package
9573 (name "gucharmap")
1f8b5515 9574 (version "12.0.1")
c60063ea
RW
9575 (source
9576 (origin
9577 (method url-fetch)
9578 (uri (string-append "mirror://gnome/sources/" name "/"
9579 (version-major+minor version) "/"
9580 name "-" version ".tar.xz"))
9581 (sha256
9582 (base32
1f8b5515 9583 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
9584 (build-system glib-or-gtk-build-system)
9585 (arguments
9586 `(#:modules ((ice-9 match)
9587 (guix build glib-or-gtk-build-system)
9588 (guix build utils))
9589 #:configure-flags
9590 (list "--with-unicode-data=../unicode-data")
9591 #:phases
9592 (modify-phases %standard-phases
9593 (add-after 'unpack 'prepare-unicode-data
9594 (lambda* (#:key inputs #:allow-other-keys)
9595 (mkdir-p "../unicode-data")
9596 (with-directory-excursion "../unicode-data"
9597 (for-each (match-lambda
9598 ((file _)
9599 (install-file (assoc-ref inputs file) ".")))
9600 ',unicode-files))
9601 #t)))))
9602 (native-inputs
9603 `(("desktop-file-utils" ,desktop-file-utils)
9604 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
9605 ("gobject-introspection" ,gobject-introspection)
9606 ("intltool" ,intltool)
9607 ("itstool" ,itstool)
9608 ("pkg-config" ,pkg-config)
9609 ,@(map (match-lambda
9610 ((file hash)
9611 `(,file
9612 ,(origin
9613 (method url-fetch)
9614 (uri (string-append
1f8b5515 9615 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
9616 file))
9617 (sha256 (base32 hash))))))
9618 unicode-files)
9619 ("unzip" ,unzip)))
9620 (inputs
9621 `(("gtk+" ,gtk+)
9622 ("xmllint" ,libxml2)))
9623 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
9624 (synopsis "Unicode character picker and font browser")
9625 (description
9626 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
9627characters and categories for the installed fonts, and to examine their
9628detailed properties. It is an easy way to find the character you might
9629only know by its Unicode name or code point.")
c60063ea 9630 (license license:gpl3+))))
04ce840a
RS
9631
9632(define-public bluefish
9633 (package
9634 (name "bluefish")
290fe81d 9635 (version "2.2.11")
04ce840a
RS
9636 (source
9637 (origin
9638 (method url-fetch)
9639 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
99aa7a2d 9640 "bluefish-" version ".tar.gz"))
04ce840a 9641 (sha256
290fe81d 9642 (base32 "0a7kf78q4cj2ap4igjks9kbmmr74brsrl4y2f9wbxpl0b0v2ck2x"))))
04ce840a
RS
9643 (build-system gnu-build-system)
9644 (native-inputs
9645 `(("desktop-file-utils" ,desktop-file-utils)
9646 ("intltool" ,intltool)
9647 ("pkg-config" ,pkg-config)))
9648 (inputs
9649 `(("enchant" ,enchant)
9650 ("gtk+" ,gtk+)
290fe81d 9651 ("python" ,python-wrapper)
04ce840a
RS
9652 ("xmllint" ,libxml2)
9653 ("gucharmap" ,gucharmap)))
9654 (home-page "http://bluefish.openoffice.nl")
9655 (synopsis "Web development studio")
9656 (description
9657 "Bluefish is an editor targeted towards programmers and web developers,
9658with many options to write web sites, scripts and other code.
9659Bluefish supports many programming and markup languages.")
9660 (license license:gpl3+)))
1f6a73ee
RS
9661
9662(define-public gnome-system-monitor
9663 (package
9664 (name "gnome-system-monitor")
083cffaf 9665 (version "3.32.1")
1f6a73ee
RS
9666 (source
9667 (origin
9668 (method url-fetch)
9669 (uri (string-append "mirror://gnome/sources/" name "/"
9670 (version-major+minor version) "/"
9671 name "-" version ".tar.xz"))
9672 (sha256
9673 (base32
083cffaf 9674 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
9675 (build-system meson-build-system)
9676 (arguments
9677 '(#:glib-or-gtk? #t
9678 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
9679 (native-inputs
9680 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 9681 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
9682 ("intltool" ,intltool)
9683 ("itstool" ,itstool)
9684 ("libgtop" ,libgtop)
4985d9aa 9685 ("polkit" ,polkit)
1f6a73ee
RS
9686 ("pkg-config" ,pkg-config)))
9687 (inputs
9688 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
9689 ("gtk+" ,gtk+)
9690 ("gtkmm" ,gtkmm)
9691 ("librsvg" ,librsvg)
4985d9aa
RW
9692 ("libxml2" ,libxml2)
9693 ("libwnck" ,libwnck)))
1f6a73ee
RS
9694 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
9695 (synopsis "Process viewer and system resource monitor for GNOME")
9696 (description
9697 "GNOME System Monitor is a GNOME process viewer and system monitor with
9698an attractive, easy-to-use interface. It has features, such as a tree view
9699for process dependencies, icons for processes, the ability to hide processes,
9700graphical time histories of CPU/memory/swap usage and the ability to
9701kill/reinice processes.")
9702 (license license:gpl2+)))
3e00ac47
SB
9703
9704(define-public python-pyatspi
9705 (package
9706 (name "python-pyatspi")
4f937a32 9707 (version "2.34.0")
3e00ac47
SB
9708 (source (origin
9709 (method url-fetch)
9710 (uri (string-append
9711 "mirror://gnome/sources/pyatspi/"
9712 (version-major+minor version)
9713 "/pyatspi-" version ".tar.xz"))
9714 (sha256
9715 (base32
4f937a32 9716 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 9717 (build-system gnu-build-system)
b95af3f6
JL
9718 (arguments
9719 `(#:phases
9720 (modify-phases %standard-phases
9721 (add-before 'build 'fix-atk-load
9722 (lambda _
9723 (substitute* "pyatspi/__init__.py"
9724 (("from gi.repository import Atspi")
9725 "gi.require_version('Gtk', '3.0')
9726from gi.repository import Gtk
9727from gi.repository import Atspi"))
9728 #t)))))
3e00ac47
SB
9729 (native-inputs
9730 `(("pkg-config" ,pkg-config)))
9731 (inputs
06fe35cf
CB
9732 `(("python" ,python)))
9733 (propagated-inputs
9734 `(("python-pygobject" ,python-pygobject)))
3e00ac47
SB
9735 (synopsis "Python client bindings for D-Bus AT-SPI")
9736 (home-page "https://wiki.linuxfoundation.org/accessibility\
9737/atk/at-spi/at-spi_on_d-bus")
9738 (description
9739 "This package includes a python client library for the AT-SPI D-Bus
9740accessibility infrastructure.")
9741 (license license:lgpl2.0)
9742 (properties '((upstream-name . "pyatspi")))))
53201c0d 9743
5d31933e
CB
9744(define-public python2-pyatspi
9745 (package
9746 (inherit python-pyatspi)
9747 (name "python2-pyatspi")
9748 (inputs
06fe35cf
CB
9749 `(("python" ,python-2)))
9750 (propagated-inputs
9751 `(("python-pygobject" ,python2-pygobject)))))
5d31933e 9752
53201c0d
SB
9753(define-public orca
9754 (package
9755 (name "orca")
30e76da1 9756 (version "3.34.1")
53201c0d
SB
9757 (source (origin
9758 (method url-fetch)
9759 (uri (string-append
9760 "mirror://gnome/sources/" name "/"
9761 (version-major+minor version) "/"
9762 name "-" version ".tar.xz"))
9763 (sha256
9764 (base32
30e76da1 9765 "1q38n7hyshkiszmn361skxjynxr31lcms7a1iny6d0zlpmh1vnk4"))))
53201c0d
SB
9766 (build-system glib-or-gtk-build-system)
9767 (arguments
9768 '(#:phases
9769 (modify-phases %standard-phases
9770 (add-before 'configure 'qualify-xkbcomp
9771 (lambda* (#:key inputs #:allow-other-keys)
9772 (let ((xkbcomp (string-append
9773 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
9774 (substitute* "src/orca/orca.py"
9775 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
9776 #t))
9777 (add-after 'install 'wrap-orca
9778 (lambda* (#:key outputs #:allow-other-keys)
9779 (let* ((out (assoc-ref outputs "out"))
9780 (prog (string-append out "/bin/orca")))
9781 (wrap-program prog
9782 `("GI_TYPELIB_PATH" ":" prefix
9783 (,(getenv "GI_TYPELIB_PATH")))
9784 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
9785 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
9786 `("PYTHONPATH" ":" prefix
9787 (,(getenv "PYTHONPATH")))))
9788 #t)))))
9789 (native-inputs
9790 `(("intltool" ,intltool)
9791 ("itstool" ,itstool)
9792 ("pkg-config" ,pkg-config)
9793 ("xmllint" ,libxml2)))
9794 (inputs
9795 `(("at-spi2-atk" ,at-spi2-atk)
9796 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9797 ("gstreamer" ,gstreamer)
9798 ("gst-plugins-base" ,gst-plugins-base)
9799 ("gst-plugins-good" ,gst-plugins-good)
9800 ("gtk+" ,gtk+)
9801 ("python" ,python)
9802 ("python-pygobject" ,python-pygobject)
9803 ("python-pyatspi" ,python-pyatspi)
9804 ("python-speechd" ,speech-dispatcher)
9805 ("xkbcomp" ,xkbcomp)))
9806 (synopsis
9807 "Screen reader for individuals who are blind or visually impaired")
9808 (home-page "https://wiki.gnome.org/Projects/Orca")
9809 (description
9810 "Orca is a screen reader that provides access to the graphical desktop
9811via speech and refreshable braille. Orca works with applications and toolkits
9812that support the Assistive Technology Service Provider Interface (AT-SPI).")
9813 (license license:lgpl2.1+)))
411ba511
LC
9814
9815(define-public gspell
9816 (package
9817 (name "gspell")
7a6bbe9b 9818 (version "1.8.2")
411ba511
LC
9819 (source (origin
9820 (method url-fetch)
9821 (uri (string-append "mirror://gnome/sources/" name "/"
9822 (version-major+minor version) "/"
9823 name "-" version ".tar.xz"))
9824 (sha256
9825 (base32
7a6bbe9b 9826 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
9827 (patches (search-patches "gspell-dash-test.patch"))))
9828 (build-system glib-or-gtk-build-system)
9829 (arguments
d0f50164 9830 '(#:configure-flags (list "--enable-vala")
9831 #:phases
411ba511
LC
9832 (modify-phases %standard-phases
9833 (add-before 'check 'pre-check
9834 (lambda* (#:key inputs #:allow-other-keys)
9835 ;; Tests require a running X server.
9836 (system "Xvfb :1 &")
9837 (setenv "DISPLAY" ":1")
9838
9839 ;; For the missing /etc/machine-id.
9840 (setenv "DBUS_FATAL_WARNINGS" "0")
9841
9842 ;; Allow Enchant and its Aspell backend to find the en_US
9843 ;; dictionary.
9844 (setenv "ASPELL_DICT_DIR"
9845 (string-append (assoc-ref inputs "aspell-dict-en")
9846 "/lib/aspell"))
9847 #t)))))
9848 (inputs
eccd35be 9849 `(("gtk+" ,gtk+)
a801ae4c
TGR
9850 ("glib" ,glib)
9851 ("iso-codes" ,iso-codes)))
411ba511
LC
9852 (native-inputs
9853 `(("glib" ,glib "bin")
26ba3f07 9854 ("gobject-introspection" ,gobject-introspection)
411ba511 9855 ("pkg-config" ,pkg-config)
d0f50164 9856 ("vala" ,vala) ;for VAPI, needed by Geary
411ba511
LC
9857 ("xmllint" ,libxml2)
9858
9859 ;; For tests.
a801ae4c 9860 ("aspell-dict-en" ,aspell-dict-en)
ff337525 9861 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 9862 (propagated-inputs
9b1bb757 9863 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
9864 (home-page "https://wiki.gnome.org/Projects/gspell")
9865 (synopsis "GNOME's alternative spell checker")
9866 (description
9867 "gspell provides a flexible API to add spell-checking to a GTK+
9868application. It provides a GObject API, spell-checking to text entries and
9869text views, and buttons to choose the language.")
9870 (license license:gpl2+)))
d1d739fa
CM
9871
9872(define-public gnome-planner
9873 (package
9874 (name "gnome-planner")
9875 (version "0.14.6")
9876 (source (origin
9877 (method url-fetch)
9878 (uri (string-append "mirror://gnome/sources/planner/"
9879 (version-major+minor version) "/planner-"
9880 version ".tar.xz"))
9881 (sha256
9882 (base32
9883 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
9884 (build-system glib-or-gtk-build-system)
9885 (arguments
9886 ;; Disable the Python bindings because the Planner program functions
9887 ;; without them, and (as of 2017-06-13) we have not packaged all of
9888 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
9889 `(#:configure-flags
9890 (list "--disable-python"
9891 ,@(if (string=? "aarch64-linux" (%current-system))
9892 '("--build=aarch64-unknown-linux-gnu")
9893 '()))))
d1d739fa
CM
9894 (inputs
9895 `(("libgnomecanvas" ,libgnomecanvas)
9896 ("libgnomeui" ,libgnomeui)
9897 ("libglade" ,libglade)
9898 ("gnome-vfs" ,gnome-vfs)
9899 ("gconf" ,gconf)
9900 ("libxml2" ,libxml2)
9901 ("libxslt" ,libxslt)
9902 ("gtk+" ,gtk+)
9903 ("glib" ,glib)))
9904 (native-inputs
9905 `(("intltool" ,intltool)
9906 ("scrollkeeper" ,scrollkeeper)
9907 ("pkg-config" ,pkg-config)))
9908 (home-page "https://wiki.gnome.org/Apps/Planner")
9909 (synopsis "Project management software for the GNOME desktop")
9910 (description
9911 "GNOME Planner is a project management tool based on the Work Breakdown
9912Structure (WBS). Its goal is to enable you to easily plan projects. Based on
9913the resources, tasks, and constraints that you define, Planner generates
9914various views into a project. For example, Planner can show a Gantt chart of
9915the project. It can show a detailed summary of tasks including their
9916duration, cost, and current progress. It can also show a report of resource
9917utilization that highlights under-utilized and over-utilized resources. These
9918views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 9919 (license license:gpl2+)))
64fce637
RS
9920
9921(define-public lollypop
9922 (package
9923 (name "lollypop")
24b5d8f7 9924 (version "1.2.32")
64fce637
RS
9925 (source
9926 (origin
9927 (method url-fetch)
24b5d8f7 9928 (uri (string-append "https://adishatz.org/lollypop/"
3275d43d 9929 "lollypop-" version ".tar.xz"))
64fce637 9930 (sha256
24b5d8f7 9931 (base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a"))))
aa498fc0 9932 (build-system meson-build-system)
64fce637 9933 (arguments
7a9543d7
TGR
9934 `(#:imported-modules
9935 (,@%meson-build-system-modules
9936 (guix build python-build-system))
9937 #:modules
9938 ((guix build meson-build-system)
9939 ((guix build python-build-system) #:prefix python:)
9940 (guix build utils))
aa498fc0 9941 #:glib-or-gtk? #t
7a9543d7 9942 #:tests? #f ; no test suite
5fc9b6c1
EF
9943 #:phases
9944 (modify-phases %standard-phases
5fc9b6c1
EF
9945 (add-after 'install 'wrap-program
9946 (lambda* (#:key outputs #:allow-other-keys)
9947 (let ((out (assoc-ref outputs "out"))
9948 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
9949 (wrap-program (string-append out "/bin/lollypop")
9950 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
9951 #t))
8ac8b3b3 9952 (add-after 'install 'wrap-python
7a9543d7 9953 (assoc-ref python:%standard-phases 'wrap)))))
64fce637
RS
9954 (native-inputs
9955 `(("intltool" ,intltool)
9956 ("itstool" ,itstool)
aa498fc0
TD
9957 ("glib:bin" ,glib "bin") ; For glib-compile-resources
9958 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
9959 ("pkg-config" ,pkg-config)))
9960 (inputs
9961 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 9962 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 9963 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
9964 ("libnotify" ,libnotify)
9965 ("libsecret" ,libsecret)
9966 ("libsoup" ,libsoup)
9967 ("python" ,python)
9968 ("python-beautifulsoup4" ,python-beautifulsoup4)
9969 ("python-gst" ,python-gst)
d029afdd 9970 ("python-pil" ,python-pillow)
64fce637 9971 ("python-pycairo" ,python-pycairo)
cc9c83c5 9972 ("python-pygobject" ,python-pygobject)
64fce637
RS
9973 ("python-pylast" ,python-pylast)
9974 ("totem-pl-parser" ,totem-pl-parser)
9975 ("webkitgtk" ,webkitgtk)))
9976 (propagated-inputs
9977 `(;; gst-plugins-base is required to start Lollypop,
9978 ;; the others are required to play streaming.
64fce637
RS
9979 ("gst-plugins-good" ,gst-plugins-good)
9980 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 9981 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
9982 (synopsis "GNOME music playing application")
9983 (description
9984 "Lollypop is a music player designed to play well with GNOME desktop.
9985Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
9986from artists and tracks from the web. It also fetches cover artworks
9987automatically and it can stream songs from online music services and charts.")
9988 (license license:gpl3+)))
d831d49d
AW
9989
9990(define-public gnome-video-effects
9991 (package
9992 (name "gnome-video-effects")
9993 (version "0.4.3")
9994 (source (origin
9995 (method url-fetch)
9996 (uri (string-append "mirror://gnome/sources/" name "/"
9997 (version-major+minor version) "/" name "-"
9998 version ".tar.xz"))
9999 (sha256
10000 (base32
10001 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
10002 (build-system glib-or-gtk-build-system)
10003 (arguments
10004 `(#:out-of-source? #f))
10005 (native-inputs
10006 `(("glib:bin" ,glib "bin")
10007 ("intltool" ,intltool)
10008 ("gettext" ,gettext-minimal)
10009 ("pkg-config" ,pkg-config)))
10010 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
10011 (synopsis "Video effects for Cheese and other GNOME applications")
10012 (description
10013 "A collection of GStreamer video filters and effects to be used in
10014photo-booth-like software, such as Cheese.")
10015 (license license:gpl2+)))
3511c780
AW
10016
10017(define-public cheese
10018 (package
10019 (name "cheese")
3a7e066f 10020 (version "3.34.0")
3511c780
AW
10021 (source (origin
10022 (method url-fetch)
10023 (uri (string-append "mirror://gnome/sources/" name "/"
10024 (version-major+minor version) "/" name "-"
10025 version ".tar.xz"))
10026 (sha256
10027 (base32
3a7e066f 10028 "0wvyc9wb0avrprvm529m42y5fkv3lirdphqydc9jw0c8mh05d1ni"))))
3511c780 10029 (arguments
3a7e066f
KK
10030 `(#:glib-or-gtk? #t
10031 ;; Tests require GDK.
10032 #:tests? #f
3511c780
AW
10033 #:phases
10034 (modify-phases %standard-phases
3a7e066f 10035 (add-after 'unpack 'skip-gtk-update-icon-cache
3511c780
AW
10036 (lambda _
10037 ;; Don't create 'icon-theme.cache'
3a7e066f 10038 (substitute* "meson_post_install.py"
3511c780
AW
10039 (("gtk-update-icon-cache") (which "true")))
10040 #t))
10041 (add-after 'install 'wrap-cheese
10042 (lambda* (#:key inputs outputs #:allow-other-keys)
10043 (let ((out (assoc-ref outputs "out"))
10044 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
10045 (wrap-program (string-append out "/bin/cheese")
10046 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
10047 #t)))))
3a7e066f 10048 (build-system meson-build-system)
3511c780 10049 (native-inputs
3a7e066f
KK
10050 `(("docbook-xsl" ,docbook-xsl)
10051 ("glib:bin" ,glib "bin")
10052 ("gtk-doc" ,gtk-doc)
3511c780
AW
10053 ("intltool" ,intltool)
10054 ("itstool" ,itstool)
10055 ("libxml2" ,libxml2)
3a7e066f 10056 ("libxslt" ,libxslt)
3511c780
AW
10057 ("pkg-config" ,pkg-config)
10058 ("vala" ,vala)))
10059 (propagated-inputs
6a19f03e
RW
10060 `(("gnome-video-effects" ,gnome-video-effects)
10061 ("clutter" ,clutter)
3511c780
AW
10062 ("clutter-gst" ,clutter-gst)
10063 ("clutter-gtk" ,clutter-gtk)
6a19f03e 10064 ("libcanberra" ,libcanberra)
3511c780
AW
10065 ("gdk-pixbuf" ,gdk-pixbuf)
10066 ("glib" ,glib)
6a19f03e
RW
10067 ("gstreamer" ,gstreamer)))
10068 (inputs
10069 `(("gnome-desktop" ,gnome-desktop)
3511c780 10070 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
10071 ("gst-plugins-base" ,gst-plugins-base)
10072 ("gst-plugins-bad" ,gst-plugins-bad)
10073 ("gtk+" ,gtk+)
3511c780
AW
10074 ("libx11" ,libx11)
10075 ("libxtst" ,libxtst)))
10076 (home-page "https://wiki.gnome.org/Apps/Cheese")
10077 (synopsis "Webcam photo booth software for GNOME")
10078 (description
10079 "Cheese uses your webcam to take photos and videos. Cheese can also
10080apply fancy special effects and lets you share the fun with others.")
10081 (license license:gpl2+)))
3c5dbd2b 10082
10083(define-public sound-juicer
10084 (package
10085 (name "sound-juicer")
10086 (version "3.24.0")
10087 (source
10088 (origin
10089 (method url-fetch)
10090 (uri (string-append "mirror://gnome/sources/" name "/"
10091 (version-major+minor version) "/"
10092 name "-" version ".tar.xz"))
10093 (sha256
10094 (base32
10095 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
10096 (build-system glib-or-gtk-build-system)
10097 (native-inputs
10098 `(("desktop-file-utils" ,desktop-file-utils)
10099 ("intltool" ,intltool)
10100 ("itstool" ,itstool)
10101 ("pkg-config" ,pkg-config)
10102 ("xmllint" ,libxml2)))
10103 (inputs
10104 `(("gtk+" ,gtk+)
10105 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10106 ("gstreamer" ,gstreamer)
10107 ("gst-plugins-base" ,gst-plugins-base)
10108 ("gst-plugins-good" ,gst-plugins-good)
10109 ("iso-codes" ,iso-codes)
10110 ("libbrasero-media3" ,brasero)
10111 ("libcanberra" ,libcanberra)
10112 ("libdiscid" ,libdiscid)
10113 ("libmusicbrainz" ,libmusicbrainz)
10114 ("neon" ,neon)))
10115 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
10116 (synopsis "Audio music cd ripper")
10117 (description "Sound Juicer extracts audio from compact discs and convert it
10118into audio files that a personal computer or digital audio player can play.
10119It supports ripping to any audio codec supported by a GStreamer plugin, such as
10120mp3, Ogg Vorbis and FLAC")
10121 (license license:gpl2+)))
4e3fdeb7 10122
0d3f1708
CB
10123(define-public soundconverter
10124 (package
10125 (name "soundconverter")
7f4b45a3 10126 (version "3.0.2")
0d3f1708
CB
10127 (source
10128 (origin
10129 (method url-fetch)
10130 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
10131 version "/+download/"
10132 "soundconverter-" version ".tar.xz"))
10133
10134 (sha256
7f4b45a3 10135 (base32 "1jv8m82hi23ilrgdznlc1jhp2jm8bw1yrw0chh3qw2l0sixvkl11"))))
0d3f1708
CB
10136 (build-system glib-or-gtk-build-system)
10137 (arguments
10138 `(#:imported-modules ((guix build python-build-system)
10139 (guix build glib-or-gtk-build-system)
10140 ,@%gnu-build-system-modules)
10141
10142 #:modules ((guix build glib-or-gtk-build-system)
10143 (guix build utils)
10144 ((guix build gnu-build-system) #:prefix gnu:)
10145 ((guix build python-build-system) #:prefix python:))
10146
10147 #:phases
10148 (modify-phases %standard-phases
0d3f1708
CB
10149 (add-after 'install 'wrap-soundconverter-for-python
10150 (assoc-ref python:%standard-phases 'wrap))
10151 (add-after 'install 'wrap-soundconverter
10152 (lambda* (#:key inputs outputs #:allow-other-keys)
10153 (let ((out (assoc-ref outputs "out"))
10154 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
10155 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
10156 (wrap-program (string-append out "/bin/soundconverter")
10157 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
10158 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
10159 #t)))))
10160 (native-inputs
10161 `(("intltool" ,intltool)
10162 ("pkg-config" ,pkg-config)
10163 ("glib:bin" ,glib "bin")))
10164 (inputs
10165 `(("gtk+" ,gtk+)
10166 ("python" ,python)
10167 ("python-pygobject" ,python-pygobject)
10168 ("gstreamer" ,gstreamer)
10169 ("gst-plugins-base" ,gst-plugins-base)))
e42399e8 10170 (home-page "https://soundconverter.org/")
0d3f1708
CB
10171 (synopsis "Convert between audio formats with a graphical interface")
10172 (description
10173 "SoundConverter supports converting between many audio formats including
10174Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
10175configurable file renaming. ")
10176 (license license:gpl3)))
10177
4e3fdeb7 10178(define-public workrave
89f2d736
TGR
10179 (package
10180 (name "workrave")
52fc6508 10181 (version "1.10.42")
89f2d736
TGR
10182 (source
10183 (origin
10184 (method git-fetch)
10185 (uri (git-reference
b0e7b699 10186 (url "https://github.com/rcaelers/workrave")
c2e50474
TGR
10187 (commit (string-append "v" (string-map
10188 (match-lambda (#\. #\_) (chr chr))
10189 version)))))
89f2d736
TGR
10190 (file-name (git-file-name name version))
10191 (sha256
52fc6508 10192 (base32 "03i9kk8r1wgrfkkbwikx8wxaw4r4kn62vismr2zdq5g34fkkjh95"))))
89f2d736 10193 (build-system glib-or-gtk-build-system)
1b9e1648
TGR
10194 (arguments
10195 ;; The only tests are maintainer tests (in po/), which fail.
10196 `(#:tests? #f))
d1c96847
MC
10197 (inputs `(("glib" ,glib)
10198 ("gtk+" ,gtk+)
10199 ("gdk-pixbuf" ,gdk-pixbuf)
10200 ("gtkmm" ,gtkmm)
10201 ("glibmm" ,glibmm)
10202 ("libx11" ,libx11)
10203 ("libxtst" ,libxtst)
10204 ("dconf" ,dconf)
10205 ("libice" ,libice)
10206 ("libsm" ,libsm)
10207 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 10208 (native-inputs `(("boost" ,boost)
89f2d736 10209 ("pkg-config" ,pkg-config)
f2d97d57 10210 ("gettext" ,gettext-minimal)
89f2d736
TGR
10211 ("autoconf" ,autoconf)
10212 ("autoconf-archive" , autoconf-archive)
10213 ("automake" ,automake)
10214 ("libtool" ,libtool)
10215 ("intltool" ,intltool)
89f2d736 10216 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
10217 ("python3" ,python-3)
10218 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
10219 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
10220 (description
10221 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
10222repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
10223micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
10224 (home-page "http://www.workrave.org")
10225 (license license:gpl3+)))
312afa7d
LC
10226
10227(define-public ghex
10228 (package
10229 (name "ghex")
3748992a 10230 (version "3.18.4")
312afa7d
LC
10231 (source (origin
10232 (method url-fetch)
2fbab848 10233 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 10234 (version-major+minor version) "/"
2fbab848 10235 "ghex-" version ".tar.xz"))
312afa7d
LC
10236 (sha256
10237 (base32
3748992a
KK
10238 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
10239 (build-system meson-build-system)
10240 (arguments
10241 '(#:glib-or-gtk? #t
10242 #:phases
10243 (modify-phases %standard-phases
10244 (add-after 'unpack 'skip-gtk-update-icon-cache
10245 ;; Don't create 'icon-theme.cache'.
10246 (lambda _
10247 (substitute* "meson_post_install.py"
10248 (("gtk-update-icon-cache") (which "true")))
10249 #t)))))
312afa7d
LC
10250 (native-inputs
10251 `(("pkg-config" ,pkg-config)
3748992a 10252 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
10253 ("gnome-common" ,gnome-common)
10254 ("which" ,which)
10255 ("intltool" ,intltool)
10256 ("yelp-tools" ,yelp-tools)
2fbab848 10257 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
10258 (inputs
10259 `(("atk" ,atk)
10260 ("gtk" ,gtk+)))
10261 (synopsis "GNOME hexadecimal editor")
10262 (description "The GHex program can view and edit files in two ways:
10263hexadecimal or ASCII. It is useful for editing binary files in general.")
10264 (home-page "https://wiki.gnome.org/Apps/Ghex")
10265 (license license:gpl2)))
4b2ed6c2
RW
10266
10267(define-public libdazzle
10268 (package
10269 (name "libdazzle")
80260be4 10270 (version "3.37.1")
4b2ed6c2
RW
10271 (source (origin
10272 (method url-fetch)
687b4909 10273 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 10274 (version-major+minor version) "/"
687b4909 10275 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
10276 (sha256
10277 (base32
80260be4 10278 "03r5cr11dc031qa3694bpgm3lajrhiiln67kvl7vjj4q0scf7w7x"))))
4b2ed6c2
RW
10279 (build-system meson-build-system)
10280 (arguments
10281 `(#:phases
10282 (modify-phases %standard-phases
4b2ed6c2
RW
10283 (add-before 'check 'pre-check
10284 (lambda _
10285 ;; Tests require a running X server.
10286 (system "Xvfb :1 &")
10287 (setenv "DISPLAY" ":1")
10288 #t)))))
10289 (native-inputs
687b4909 10290 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 10291 ("pkg-config" ,pkg-config)
687b4909 10292 ;; For tests.
ff337525 10293 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
10294 (inputs
10295 `(("glib" ,glib)
10296 ("gobject-introspection" ,gobject-introspection)
10297 ("gtk+" ,gtk+)
10298 ("vala" ,vala)))
10299 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
10300 (synopsis "Companion library to GObject and Gtk+")
10301 (description "The libdazzle library is a companion library to GObject and
10302Gtk+. It provides various features that the authors wish were in the
10303underlying library but cannot for various reasons. In most cases, they are
10304wildly out of scope for those libraries. In other cases, they are not quite
10305generic enough to work for everyone.")
10306 (license license:gpl3+)))
7d3bb433
RW
10307
10308(define-public evolution
10309 (package
10310 (name "evolution")
0662fe86 10311 (version "3.34.2")
7d3bb433
RW
10312 (source (origin
10313 (method url-fetch)
10314 (uri (string-append "mirror://gnome/sources/evolution/"
10315 (version-major+minor version) "/"
10316 "evolution-" version ".tar.xz"))
10317 (sha256
10318 (base32
0662fe86 10319 "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c"))))
7d3bb433
RW
10320 (build-system cmake-build-system)
10321 (arguments
5229bea1
KK
10322 `(#:imported-modules (,@%cmake-build-system-modules
10323 (guix build glib-or-gtk-build-system))
10324 #:modules ((guix build cmake-build-system)
10325 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
10326 (guix build utils))
10327 #:configure-flags
7d3bb433 10328 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 10329 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 10330 ; in four years and cannot be built.
5229bea1
KK
10331 #:phases
10332 (modify-phases %standard-phases
10333 ;; The build system attempts to install user interface modules to the
10334 ;; output directory of the "evolution-data-server" package. This
10335 ;; change redirects that change.
10336 (add-after 'unpack 'patch-ui-module-dir
10337 (lambda* (#:key outputs #:allow-other-keys)
10338 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
10339 (("\\$\\{edsuimoduledir\\}")
10340 (string-append (assoc-ref outputs "out")
10341 "/lib/evolution-data-server/ui-modules")))
10342 #t))
10343 (add-after 'install 'glib-or-gtk-compile-schemas
10344 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
10345 (add-after 'install 'glib-or-gtk-wrap
10346 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 10347 (native-inputs
ad6e168b 10348 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
10349 ("pkg-config" ,pkg-config)
10350 ("intltool" ,intltool)
10351 ("itstool" ,itstool)))
10352 (inputs
10353 `(("enchant" ,enchant)
10354 ("evolution-data-server" ,evolution-data-server) ; must be the same version
10355 ("gcr" ,gcr)
ad6e168b 10356 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
10357 ("gnome-autoar" ,gnome-autoar)
10358 ("gnome-desktop" ,gnome-desktop)
0662fe86 10359 ("gspell" ,gspell)
7d3bb433
RW
10360 ("highlight" ,highlight)
10361 ("libcanberra" ,libcanberra)
10362 ("libgweather" ,libgweather)
10363 ("libnotify" ,libnotify)
10364 ("libsoup" ,libsoup)
10365 ("nss" ,nss)
10366 ("openldap" ,openldap)
10367 ("webkitgtk" ,webkitgtk)
10368 ("ytnef" ,ytnef)))
10369 (home-page "https://gitlab.gnome.org/GNOME/evolution")
10370 (synopsis "Manage your email, contacts and schedule")
10371 (description "Evolution is a personal information management application
10372that provides integrated mail, calendaring and address book
10373functionality.")
10374 ;; See COPYING for details.
23dbe621 10375 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 10376 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 10377 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
10378
10379(define-public gthumb
10380 (package
10381 (name "gthumb")
8280676b 10382 (version "3.8.2")
169d63f5
AT
10383 (source (origin
10384 (method url-fetch)
10385 (uri (string-append "mirror://gnome/sources/gthumb/"
10386 (version-major+minor version) "/"
10387 "gthumb-" version ".tar.xz"))
10388 (sha256
10389 (base32
8280676b 10390 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
10391 (build-system meson-build-system)
10392 (arguments
10393 `(#:glib-or-gtk? #t
10394 #:configure-flags
10395 ;; Ensure the RUNPATH contains all installed library locations.
10396 (list (string-append "-Dc_link_args=-Wl,-rpath="
10397 (assoc-ref %outputs "out")
10398 "/lib/gthumb/extensions")
10399 (string-append "-Dcpp_link_args=-Wl,-rpath="
10400 (assoc-ref %outputs "out")
10401 "/lib/gthumb/extensions"))))
10402 (native-inputs
10403 `(("pkg-config" ,pkg-config)
10404 ("glib:bin" ,glib "bin") ; for glib-compile-resources
10405 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
10406 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
10407 ("intltool" ,intltool)
10408 ("itstool" ,itstool)))
10409 (inputs
10410 `(("exiv2" ,exiv2)
10411 ("gtk" ,gtk+)
10412 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10413 ("gstreamer" ,gstreamer)
10414 ("clutter" ,clutter)
10415 ("clutter-gst" ,clutter-gst)
10416 ("clutter-gtk" ,clutter-gtk)
4bd428a7 10417 ("libjpeg" ,libjpeg-turbo)
169d63f5
AT
10418 ("libtiff" ,libtiff)
10419 ("libraw" ,libraw)))
10420 (home-page "https://wiki.gnome.org/Apps/Gthumb")
10421 (synopsis "GNOME image viewer and browser")
10422 (description "GThumb is an image viewer, browser, organizer, editor and
10423advanced image management tool")
10424 (license license:gpl2+)))
08be02be
AT
10425
10426(define-public terminator
10427 (package
10428 (name "terminator")
10429 (version "1.91")
10430 (source (origin
10431 (method url-fetch)
10432 (uri (string-append "https://launchpad.net/" name "/"
10433 "gtk3/" version "/" "+download/"
10434 name "-" version ".tar.gz"))
10435 (sha256
10436 (base32
10437 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
10438 (build-system python-build-system)
10439 (native-inputs
10440 `(("intltool" ,intltool)
10441 ("glib:bin" ,glib "bin") ; for glib-compile-resources
10442 ("gettext" ,gettext-minimal)
10443 ("pkg-config" ,pkg-config)))
10444 (inputs
10445 `(("cairo" ,cairo)
10446 ("gobject-introspection" ,gobject-introspection)
96681d4b 10447 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
10448 ("python2-pycairo" ,python2-pycairo)
10449 ("python2-pygobject" ,python2-pygobject)
10450 ("python2-psutil" ,python2-psutil)
10451 ("vte" ,vte)))
10452 (arguments
96681d4b
TGR
10453 `(#:python ,python-2 ; Python 3 isn't supported
10454 #:imported-modules ((guix build glib-or-gtk-build-system)
10455 ,@%python-build-system-modules)
10456 #:modules ((guix build python-build-system)
10457 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
10458 (guix build utils))
08be02be
AT
10459 #:phases
10460 (modify-phases %standard-phases
10461 (add-after
10462 'install 'wrap-program
10463 (lambda* (#:key outputs #:allow-other-keys)
10464 (let ((prog (string-append (assoc-ref outputs "out")
10465 "/bin/terminator")))
10466 (wrap-program prog
10467 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
10468 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
10469 #t)))
10470 (add-after 'wrap-program 'glib-or-gtk-wrap
10471 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
10472 (home-page "https://gnometerminator.blogspot.com/")
10473 (synopsis "Store and run multiple GNOME terminals in one window")
10474 (description
10475 "Terminator allows you to run multiple GNOME terminals in a grid and
10476+tabs, and it supports drag and drop re-ordering of terminals.")
10477 (license license:gpl2)))
213315d4
JF
10478
10479(define-public libhandy
10480 (package
10481 (name "libhandy")
355761c2 10482 (version "0.90.0")
213315d4
JF
10483 (source
10484 (origin
10485 (method git-fetch)
10486 (uri (git-reference
355761c2
LP
10487 (url "https://gitlab.gnome.org/GNOME/libhandy")
10488 (commit version)))
213315d4
JF
10489 (file-name (git-file-name name version))
10490 (sha256
355761c2 10491 (base32 "1zpfbn2x27lp69w819afxf3ylkgfz9k44srfgmkbb2c33r14ajwy"))))
213315d4
JF
10492 (build-system meson-build-system)
10493 (arguments
10494 `(#:configure-flags
10495 '("-Dglade_catalog=disabled"
10496 "-Dgtk_doc=true")
10497 #:phases
10498 (modify-phases %standard-phases
213315d4
JF
10499 (add-before 'check 'pre-check
10500 (lambda _
10501 ;; Tests require a running X server.
10502 (system "Xvfb :1 &")
10503 (setenv "DISPLAY" ":1")
10504 #t)))))
10505 (inputs
10506 `(("gtk+" ,gtk+)))
10507 (native-inputs
10508 `(("glib:bin" ,glib "bin")
10509 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
10510 ("vala" ,vala)
10511 ("gtk-doc" ,gtk-doc)
10512 ("pkg-config" ,pkg-config)
10513 ("gettext" ,gettext-minimal)
d41ee146
TGR
10514
10515 ;; Test suite dependencies.
ff337525 10516 ("xorg-server" ,xorg-server-for-tests)
d41ee146 10517 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
10518 (home-page "https://source.puri.sm/Librem5/libhandy")
10519 (synopsis "Library full of GTK+ widgets for mobile phones")
10520 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
10521interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
10522for usage on small and big screens.")
213315d4 10523 (license license:lgpl2.1+)))
a830d14d
GL
10524
10525(define-public libgit2-glib
10526 (package
10527 (name "libgit2-glib")
6448c2e1 10528 (version "0.99.0.1")
a830d14d
GL
10529 (source (origin
10530 (method url-fetch)
10531 (uri (string-append "mirror://gnome/sources/" name "/"
10532 (version-major+minor version) "/"
10533 name "-" version ".tar.xz"))
10534 (sha256
10535 (base32
6448c2e1 10536 "1pmrcnsa7qdda73c3dxf47733mwprmj5ljpw3acxbj6r8k27anp0"))))
a830d14d
GL
10537 (build-system meson-build-system)
10538 (native-inputs
10539 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
10540 ("gobject-introspection" ,gobject-introspection)
a830d14d
GL
10541 ("pkg-config" ,pkg-config)
10542 ("python-pygobject" ,python-pygobject)
10543 ("python-wrapper" ,python-wrapper)
10544 ("vala" ,vala)))
10545 (inputs
10546 `(("glib" ,glib)
8c6aae46
MB
10547 ("libssh2" ,libssh2)))
10548 (propagated-inputs
10549 `(;; In Requires of libgit2-glib.pc.
a830d14d
GL
10550 ("libgit2" ,libgit2)))
10551 (synopsis "GLib wrapper around the libgit2 Git access library")
10552 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
10553access library. It only implements the core plumbing functions, not really the
10554higher level porcelain stuff.")
10555 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
10556 (license license:gpl2+)))
93beace0 10557
08db81c9
LP
10558(define-public gitg
10559 (package
10560 (name "gitg")
10561 (version "3.32.1")
10562 (source (origin
10563 (method url-fetch)
10564 (uri (string-append "mirror://gnome/sources/" name "/"
10565 (version-major+minor version) "/"
10566 name "-" version ".tar.xz"))
10567 (sha256
10568 (base32
10569 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
10570 (build-system meson-build-system)
10571 (arguments
10572 `(#:glib-or-gtk? #t
10573 #:phases
10574 (modify-phases %standard-phases
10575 (add-after 'unpack 'disable-post-install-partially
10576 (lambda _
10577 (substitute* "meson_post_install.py"
10578 (("'python'") ; there are no python sources to compile
10579 (string-append "'" (which "true") "'"))
10580 (("gtk-update-icon-cache") (which "true")))
10581 #t))
10582 (add-after 'unpack 'fix-test-sources
10583 (lambda _
10584 (substitute* "tests/libgitg/test-commit.vala"
10585 (("/bin/bash") (which "bash")))
10586 #t))
10587 (add-after 'glib-or-gtk-wrap 'wrap-typelib
10588 (lambda* (#:key outputs #:allow-other-keys)
10589 (let ((prog (string-append (assoc-ref outputs "out")
10590 "/bin/gitg")))
10591 (wrap-program prog
10592 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
10593 #t))))))
10594 (inputs
10595 `(("glib" ,glib)
10596 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10597 ("gtk+" ,gtk+)
10598 ("gtkspell3" ,gtkspell3)
10599 ("gtksourceview" ,gtksourceview-3)
10600 ("json-glib" ,json-glib)
10601 ("libdazzle" ,libdazzle)
10602 ("libgee" ,libgee)
08db81c9
LP
10603 ("libgit2-glib" ,libgit2-glib)
10604 ("libpeas" ,libpeas)
10605 ("libsecret" ,libsecret)
10606 ("libsoup" ,libsoup)
10607 ("libxml2" ,libxml2)))
10608 (native-inputs
10609 `(("glib:bin" ,glib "bin")
10610 ("gtk+:bin" ,gtk+ "bin")
10611 ("gobject-introspection" ,gobject-introspection)
10612 ("intltool" ,intltool)
10613 ("pkg-config" ,pkg-config)
10614 ("vala" ,vala)))
10615 (synopsis "Graphical user interface for git")
10616 (description
10617 "gitg is a graphical user interface for git. It aims at being a small,
10618fast and convenient tool to visualize the history of git repositories.
10619Besides visualization, gitg also provides several utilities to manage your
10620repository and commit your work.")
10621 (home-page "https://wiki.gnome.org/Apps/Gitg")
10622 (license license:gpl2+)))
10623
1e600ed0
RW
10624(define-public gamin
10625 (package
10626 (name "gamin")
10627 (version "0.1.10")
10628 (source (origin
10629 (method url-fetch)
10630 (uri (string-append "mirror://gnome/sources/" name "/"
10631 (version-major+minor version) "/"
10632 name "-" version ".tar.bz2"))
10633 (sha256
10634 (base32
10635 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
10636 (build-system gnu-build-system)
10637 (arguments
10638 `(#:phases
10639 (modify-phases %standard-phases
10640 (add-after 'unpack 'remove-deprecated-macro
10641 (lambda _
10642 (substitute* '("server/gam_node.c"
10643 "server/gam_subscription.h"
10644 "server/gam_node.h"
10645 "server/gam_subscription.c")
10646 (("G_CONST_RETURN") "const"))
10647 #t)))))
10648 (inputs
10649 `(("glib" ,glib)))
10650 (native-inputs
10651 `(("intltool" ,intltool)
10652 ("pkg-config" ,pkg-config)))
10653 (home-page "https://people.gnome.org/~veillard/gamin/")
10654 (synopsis "File alteration monitor")
10655 (description
10656 "Gamin is a file and directory monitoring system defined to be a subset
10657of the FAM (File Alteration Monitor) system. This is a service provided by a
bddd877f 10658library which detects when a file or a directory has been modified.")
1e600ed0
RW
10659 (license license:gpl2+)))
10660
93beace0
DW
10661(define-public gnome-mahjongg
10662 (package
10663 (name "gnome-mahjongg")
10664 (version "3.35.1")
10665 (source (origin
10666 (method git-fetch)
10667 (uri (git-reference
10668 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
10669 (commit version)))
10670 (file-name (git-file-name name version))
10671 (sha256
10672 (base32
10673 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
10674 (build-system meson-build-system)
10675 (arguments
10676 `(#:glib-or-gtk? #t))
10677 (native-inputs
10678 `(("appstream-glib" ,appstream-glib)
10679 ("gettext" ,gettext-minimal)
10680 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
10681 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
10682 ("itstool" ,itstool)
10683 ("pkg-config" ,pkg-config)
10684 ("vala" ,vala)))
10685 (propagated-inputs
10686 `(("dconf" ,dconf)))
10687 (inputs
10688 `(("glib" ,glib)
10689 ("gtk+" ,gtk+)
10690 ("librsvg" ,librsvg)))
10691 (synopsis "Mahjongg tile-matching game")
10692 (description "GNOME Mahjongg is a game based on the classic Chinese
10693tile-matching game Mahjong. It features multiple board layouts, tile themes,
10694and a high score table.")
10695 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
10696 (license license:gpl2+)))
f825476c 10697
76ea7632
RG
10698(define-public gnome-themes-extra
10699 (package
10700 (name "gnome-themes-extra")
10701 (version "3.28")
10702 (source
10703 (origin
10704 (method url-fetch)
10705 (uri (string-append "mirror://gnome/sources/" name "/"
10706 (version-major+minor version) "/" name "-"
10707 version ".tar.xz"))
10708 (sha256
10709 (base32
10710 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
10711 (build-system gnu-build-system)
885424bf
RG
10712 (arguments
10713 '(#:configure-flags
10714 ;; Don't create 'icon-theme.cache'.
10715 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
10716 (true (string-append coreutils "/bin/true")))
10717 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
10718 (native-inputs
10719 `(("glib:bin" ,glib "bin")
10720 ("intltool" ,intltool)
10721 ("pkg-config" ,pkg-config)))
10722 (inputs
10723 `(("glib" ,glib)
10724 ("gtk+" ,gtk+)
10725 ("gtk+-2" ,gtk+-2)
10726 ("librsvg" ,librsvg)
10727 ("libxml2" ,libxml2)))
10728 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
10729 (synopsis "GNOME Extra Themes")
10730 (description "This package provides themes and related elements that don't
10731really fit in other upstream packages. It offers legacy support for GTK+ 2
10732versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
10733index files needed for Adwaita to be used outside of GNOME.")
10734 (license license:lgpl2.1+)))
10735
f825476c
LP
10736(define-public polari
10737 (package
10738 (name "polari")
c6a7ae4f 10739 (version "3.36.3")
f825476c
LP
10740 (source (origin
10741 (method url-fetch)
10742 (uri (string-append "mirror://gnome/sources/polari/"
10743 (version-major+minor version)
10744 "/polari-" version ".tar.xz"))
10745 (sha256
10746 (base32
c6a7ae4f 10747 "0fpmrvhd40yay051bzn4x3gsrzdv42nav0pm5ps0np8wk1z689jg"))))
f825476c
LP
10748 (build-system meson-build-system)
10749 (arguments
10750 `(#:glib-or-gtk? #t
10751 #:phases
10752 (modify-phases %standard-phases
10753 (add-after 'unpack 'skip-gtk-update-icon-cache
10754 (lambda _
10755 (substitute* "meson/meson-postinstall.sh"
10756 (("gtk-update-icon-cache") (which "true")))
10757 #t))
10758 (add-after 'glib-or-gtk-wrap 'wrap-typelib
10759 (lambda* (#:key outputs #:allow-other-keys)
10760 (let ((prog (string-append (assoc-ref outputs "out")
10761 "/bin/polari")))
10762 (wrap-program prog
10763 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
10764 #t))))))
10765 (inputs
10766 `(("glib" ,glib)
10767 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10768 ("gspell" ,gspell)
10769 ("gtk+" ,gtk+)
10770 ("gjs" ,gjs)
10771 ("libsecret" ,libsecret)
10772 ("libsoup" ,libsoup)
10773 ("telepathy-glib" ,telepathy-glib)
10774 ("telepathy-logger" ,telepathy-logger)))
10775 (native-inputs
10776 `(("glib:bin" ,glib "bin")
10777 ("gobject-introspection" ,gobject-introspection)
10778 ("intltool" ,intltool)
10779 ("pkg-config" ,pkg-config)
10780 ("yelp-tools" ,yelp-tools)))
10781 (propagated-inputs
10782 `(("telepathy-idle" ,telepathy-idle)
10783 ("telepathy-mission-control" ,telepathy-mission-control)))
10784 (synopsis "Simple IRC Client")
10785 (description
10786 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
10787integrate seamlessly with the GNOME desktop.")
10788 (home-page "https://wiki.gnome.org/Apps/Polari")
10789 (license license:gpl2+)))
59d4c8c2
PN
10790
10791(define-public gnome-boxes
10792 (package
10793 (name "gnome-boxes")
915c2ad3 10794 (version "3.36.6")
59d4c8c2
PN
10795 (source
10796 (origin
10797 (method url-fetch)
10798 (uri (string-append "mirror://gnome/sources/gnome-boxes/"
10799 (version-major+minor version) "/"
10800 "gnome-boxes-" version ".tar.xz"))
10801 (sha256
915c2ad3 10802 (base32 "0c3cw90xqqcpacc2z06ljs0gg8saxizfgjzg9alhpwgz3gl4c5pg"))))
59d4c8c2
PN
10803 (build-system meson-build-system)
10804 (arguments
10805 '(#:glib-or-gtk? #t
10806 #:configure-flags (list "-Drdp=false"
10807 (string-append "-Dc_link_args=-Wl,-rpath="
10808 (assoc-ref %outputs "out")
10809 "/lib/gnome-boxes"))))
10810 (native-inputs
10811 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
10812 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
10813 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
10814 ("itstool" ,itstool)
10815 ("intltool" ,intltool)
10816 ("vala" ,vala)
10817 ("pkg-config" ,pkg-config)))
10818 (inputs
10819 `(("libarchive" ,libarchive)
f0d7897e
MC
10820 ("glib-networking" ,glib-networking) ;for TLS support
10821 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
59d4c8c2
PN
10822 ("gtk" ,gtk+)
10823 ("gtk-vnc" ,gtk-vnc)
10824 ("libosinfo" ,libosinfo)
10825 ("libsecret" ,libsecret)
10826 ("libsoup" ,libsoup)
10827 ("libusb" ,libusb)
10828 ("libvirt" ,libvirt)
10829 ("libvirt-glib" ,libvirt-glib)
10830 ("libxml" ,libxml2)
10831 ("spice-gtk" ,spice-gtk)
10832 ("sparql-query" ,sparql-query)
10833 ("vte" ,vte)
10834 ("webkitgtk" ,webkitgtk)
10835 ("tracker" ,tracker)
10836 ("libgudev" ,libgudev)))
10837 (home-page "https://wiki.gnome.org/Apps/Boxes")
10838 (synopsis "View, access, and manage remote and virtual systems")
10839 (description "GNOME Boxes is a simple application to view, access, and
f0d7897e
MC
10840manage remote and virtual systems. Note that this application requires the
10841@code{libvirt} and @code{virtlog} daemons to run. Use the command
10842@command{info '(guix) Virtualization Services'} to learn how to configure
10843these services on the Guix System.")
59d4c8c2
PN
10844 (license (list
10845 ;; For data/icons/empty-boxes.png.
10846 license:cc-by2.0
10847 ;; For all others.
10848 license:lgpl2.0+))))
0e26c3cf 10849
10850(define-public geary
10851 (package
10852 (name "geary")
10853 (version "3.34.1")
10854 (source (origin
10855 (method git-fetch)
10856 (uri (git-reference
10857 (url "https://gitlab.gnome.org/GNOME/geary")
10858 (commit version)))
10859 (file-name (git-file-name name version))
10860 (sha256
10861 (base32
10862 "01cc921kyh3zxz07biqbdzkjgmdcc36kwjyajm4y382a75cl5zg7"))))
10863 (build-system meson-build-system)
10864 (arguments
10865 `(#:glib-or-gtk? #t
10866 #:phases (modify-phases %standard-phases
10867 (add-after 'unpack 'disable-failing-tests
10868 (lambda _
10869 (substitute* "test/meson.build"
10870 (("test\\('client-tests', geary_test_client_bin\\)")
10871 ""))
10872 #t))
10873 (add-after 'unpack 'disable-postinstall-script
10874 (lambda _
10875 (substitute* "meson.build"
10876 (("meson.add_install_script\\(\
10877join_paths\\('build-aux', 'post_install.py'\\)\\)")
10878 ""))
10879 #t))
10880 (add-before 'check 'setup-xvfb
10881 (lambda _
10882 (system "Xvfb :1 &")
10883 (setenv "DISPLAY" ":1")
10884 #t)))))
10885 (inputs
10886 `(("enchant" ,enchant)
10887 ("folks" ,folks)
10888 ("gcr" ,gcr)
10889 ("glib" ,glib)
10890 ("gmime" ,gmime-2.6)
10891 ("gnome-online-accounts:lib"
10892 ,gnome-online-accounts "lib")
10893 ("gspell" ,gspell)
10894 ("gtk+" ,gtk+)
10895 ("iso-codes" ,iso-codes)
10896 ("json-glib" ,json-glib)
10897 ("libcanberra" ,libcanberra)
10898 ("libgee" ,libgee)
10899 ("libhandy" ,libhandy)
10900 ("libpeas" ,libpeas)
10901 ("libsecret" ,libsecret)
10902 ("libunwind" ,libunwind)
10903 ("sqlite" ,sqlite)
10904 ("webkitgtk" ,webkitgtk)
10905 ("ytnef" ,ytnef)))
10906 (native-inputs
10907 `(("appstream-glib" ,appstream-glib)
10908 ("cmake-minimal" ,cmake-minimal)
10909 ("desktop-file-utils" ,desktop-file-utils)
f2d97d57 10910 ("gettext" ,gettext-minimal)
0e26c3cf 10911 ("glib:bin" ,glib "bin")
10912 ("gobject-introspection" ,gobject-introspection)
10913 ("itstool" ,itstool)
10914 ("libarchive" ,libarchive)
10915 ("libxml2" ,libxml2)
10916 ("pkg-config" ,pkg-config)
10917 ("vala" ,vala)
10918 ("xvfb" ,xorg-server-for-tests)))
10919 (synopsis "GNOME email application built around conversations")
10920 (description
10921 "Geary collects related messages together into conversations,
10922making it easy to find and follow your discussions. Full-text and keyword
10923search makes it easy to find the email you are looking for. Geary's
10924full-featured composer lets you send rich, styled text with images, links, and
10925lists, but also send lightweight, easy to read text messages. Geary
10926automatically picks up your existing GNOME Online Accounts, and adding more is
10927easy. Geary has a clean, fast, modern interface that works like you want it
10928to.")
10929 (home-page "https://wiki.gnome.org/Apps/Geary")
10930 (license (list
10931 ;; geary
10932 license:lgpl2.1+
10933 ;; icons
10934 license:cc-by3.0
10935 license:cc-by-sa3.0
10936 license:public-domain
10937 ;; snowball
10938 license:bsd-2))))
1a17d21b 10939
21051eb7
VM
10940(define-public glabels
10941 (package
10942 (name "glabels")
10943 (version "3.4.1")
10944 (source
10945 (origin
10946 (method url-fetch)
10947 (uri (string-append "mirror://gnome/sources/" name "/"
10948 (version-major+minor version) "/"
10949 "glabels-" version ".tar.xz"))
10950 (sha256
10951 (base32 "0f2rki8i27pkd9r0gz03cdl1g4vnmvp0j49nhxqn275vi8lmgr0q"))))
10952 (build-system glib-or-gtk-build-system)
10953 (native-inputs
10954 `(("gettext" ,gettext-minimal)
10955 ("glib:bin" ,glib "bin")
10956 ("intltool" ,intltool)
10957 ("itstool" ,itstool)
10958 ("pkg-config" ,pkg-config)))
10959 (inputs
10960 `(("gtk+" ,gtk+)
10961 ("librsvg" ,librsvg)
10962 ("libxml2" ,libxml2)))
10963 (home-page "https://glabels.org/")
10964 (synopsis "Program for creating labels and business cards")
10965 (description
10966 "gLabels is a program for creating labels and business cards. It is
10967designed to work with various laser/ink-jet peel-off label and business
10968card sheets that you’ll find at most office supply stores.")
10969 (license license:gpl3+)))
10970
2cd1de32
BT
10971(define-public libratbag
10972 (package
10973 (name "libratbag")
34036792 10974 (version "0.14")
2cd1de32
BT
10975 (source
10976 (origin
10977 (method git-fetch)
10978 (uri (git-reference
b0e7b699 10979 (url "https://github.com/libratbag/libratbag")
2cd1de32
BT
10980 (commit (string-append "v" version))))
10981 (file-name (git-file-name name version))
10982 (sha256
34036792 10983 (base32 "1fpwp2sj8mf98bqasq2h8qwgprxi7k3iw33gcfid3d1lbyiacw0x"))))
2cd1de32
BT
10984 (build-system meson-build-system)
10985 (arguments
10986 `(#:configure-flags
10987 (list "-Dsystemd=false"
10988 "-Dlogind-provider=elogind")
10989 #:phases
10990 (modify-phases %standard-phases
10991 (add-after 'install 'wrap
10992 (lambda* (#:key inputs outputs #:allow-other-keys)
10993 (let* ((out (assoc-ref outputs "out"))
10994 (site (string-append
10995 "/lib/python"
10996 ,(version-major+minor (package-version python))
10997 "/site-packages"))
10998 (evdev (string-append
10999 (assoc-ref inputs "python-evdev") site))
11000 (pygo (string-append
11001 (assoc-ref inputs "python-pygobject") site))
11002 (python-wrap
11003 `("PYTHONPATH" = (,evdev ,pygo))))
11004 (wrap-program (string-append out "/bin/" "ratbagctl")
11005 python-wrap)
11006 #t))))))
11007 (native-inputs
11008 `(("check" ,check)
11009 ("pkg-config" ,pkg-config)
11010 ("swig" ,swig)
11011 ("valgrind" ,valgrind)))
11012 (inputs
11013 `(("glib" ,glib)
11014 ("json-glib" ,json-glib)
11015 ("libevdev" ,libevdev)
11016 ("libsystemd" ,elogind)
11017 ("libunistring" ,libunistring)
11018 ("python-evdev" ,python-evdev)
11019 ("python-pygobject" ,python-pygobject)
11020 ("udev" ,eudev)))
11021 (home-page "https://github.com/libratbag/libratbag")
11022 (synopsis "DBus daemon and utility for configuring gaming mice")
11023 (description "libratbag provides @command{ratbagd}, a DBus daemon to
11024configure input devices, mainly gaming mice. The daemon provides a generic
11025way to access the various features exposed by these mice and abstracts away
11026hardware-specific and kernel-specific quirks. There is also the
11027@command{ratbagctl} command line interface for configuring devices.
11028
11029libratbag currently supports devices from Logitech, Etekcity, GSkill, Roccat,
11030Steelseries.
11031
11032The ratbagd DBus service can be enabled by adding the following service to
11033your operating-system definition:
11034
11035 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
11036 (license license:expat)))
11037
50d31a40
BT
11038(define-public piper
11039 (package
11040 (name "piper")
d8e83969 11041 (version "0.5.1")
50d31a40
BT
11042 (source
11043 (origin
11044 (method git-fetch)
11045 (uri (git-reference
b0e7b699 11046 (url "https://github.com/libratbag/piper")
50d31a40
BT
11047 (commit version)))
11048 (sha256
d8e83969 11049 (base32 "1nfjnsiwg2rs6gkjsxzhr2708i6di149dgwq3cf6l12rxqpb8arj"))
81af0de9 11050 (file-name (git-file-name name version))))
50d31a40
BT
11051 (build-system meson-build-system)
11052 (native-inputs
11053 `(("gettext" ,gettext-minimal)
11054 ("glib:bin" ,glib "bin")
11055 ("gobject-introspection" ,gobject-introspection)
11056 ("pkg-config" ,pkg-config)
11057 ("python-flake8" ,python-flake8)))
11058 (inputs
11059 `(("adwaita-icon-theme" ,adwaita-icon-theme)
11060 ("gtk" ,gtk+)
11061 ("gtk:bin" ,gtk+ "bin")
11062 ("librsvg" ,librsvg)
11063 ("python-evdev" ,python-evdev)
11064 ("python-lxml" ,python-lxml)
11065 ("python-pycairo" ,python-pycairo)
11066 ("python-pygobject" ,python-pygobject)))
11067 (arguments
11068 `(#:imported-modules ((guix build python-build-system)
11069 ,@%meson-build-system-modules)
11070 #:modules (((guix build python-build-system) #:prefix python:)
11071 (guix build meson-build-system)
11072 (guix build utils))
d8e83969 11073 #:tests? #f ;; The flake8 test fails trying to validate piper.in as code.
50d31a40
BT
11074 #:phases
11075 (modify-phases %standard-phases
11076 (add-after 'unpack 'dont-update-gtk-icon-cache
11077 (lambda _
11078 (substitute* "meson.build"
11079 (("meson.add_install_script('meson_install.sh')") ""))
11080 #t))
11081 ;; TODO: Switch to wrap-script when it is fixed.
11082 (add-after 'install 'wrap-python
11083 (assoc-ref python:%standard-phases 'wrap))
11084 (add-after 'wrap-python 'wrap
11085 (lambda* (#:key outputs #:allow-other-keys)
11086 (wrap-program
11087 (string-append (assoc-ref outputs "out" )"/bin/piper")
11088 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
11089 #t)))))
11090 (home-page "https://github.com/libratbag/piper/")
11091 (synopsis "Configure bindings and LEDs on gaming mice")
11092 (description "Piper is a GTK+ application for configuring gaming mice with
11093onboard configuration for key bindings via libratbag. Piper requires
11094a @command{ratbagd} daemon running with root privileges. It can be run
11095manually as root, but is preferably configured as a DBus service that can
11096launch on demand. This can be configured by enabling the following service,
11097provided there is a DBus service present:
11098
11099 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
11100 (license license:gpl2)))
11101
1a17d21b 11102(define-public parlatype
c10fb9fd
NG
11103 (package
11104 (name "parlatype")
11105 (version "2.1")
11106 (source
11107 (origin
11108 (method git-fetch)
11109 (uri (git-reference
11110 (url "https://github.com/gkarsay/parlatype.git")
11111 (commit (string-append "v" version))))
11112 (file-name (git-file-name name version))
11113 (sha256
11114 (base32 "1c15ja0rwz3jj8bnqdq0nmqka39iwrhy8krdv2a2x8nl4shfpmv0"))))
11115 (build-system meson-build-system)
11116 (arguments
11117 `(#:glib-or-gtk? #t
11118 #:tests? #f ;require internet access
11119 #:phases
11120 (modify-phases %standard-phases
11121 (add-after 'install 'wrap-parlatype
11122 ;; Add gstreamer plugin provided in this package to system's
11123 ;; plugins.
11124 (lambda* (#:key outputs #:allow-other-keys)
11125 (let* ((out (assoc-ref outputs "out"))
11126 (gst-plugin-path (string-append
11127 out "/lib/gstreamer-1.0/"
11128 ":"
11129 (getenv "GST_PLUGIN_SYSTEM_PATH"))))
11130 (wrap-program (string-append out "/bin/parlatype")
11131 `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path))))
11132 #t)))))
11133 (native-inputs
11134 `(("appstream-glib" ,appstream-glib)
11135 ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
11136 ("gettext" ,gettext-minimal)
11137 ("glib" ,glib "bin") ;for glib-compile-resources
11138 ("pkg-config" ,pkg-config)
11139 ("yelp-tools" ,yelp-tools)))
11140 (inputs
11141 `(("gst-plugins-base" ,gst-plugins-base)
11142 ("gst-plugins-good" ,gst-plugins-good)
11143 ("gstreamer" ,gstreamer)
11144 ("gtk+" ,gtk+)
11145 ("pocketsphinx" ,pocketsphinx)
11146 ("pulseaudio" ,pulseaudio)
11147 ("sphinxbase" ,sphinxbase)))
11148 (home-page "http://gkarsay.github.io/parlatype/")
11149 (synopsis "GNOME audio player for transcription")
11150 (description "Parlatype is an audio player for the GNOME desktop
1a17d21b
NG
11151environment. Its main purpose is the manual transcription of spoken
11152audio files.")
c10fb9fd 11153 (license license:gpl3+)))
95856a6e
AT
11154
11155(define-public jsonrpc-glib
11156 (package
11157 (name "jsonrpc-glib")
11158 (version "3.34.0")
11159 (source (origin
11160 (method url-fetch)
11161 (uri (string-append "mirror://gnome/sources/" name "/"
11162 (version-major+minor version) "/"
11163 name "-" version ".tar.xz"))
11164 (sha256
11165 (base32
11166 "0j05x4xv2cp3cbmp30m68z8g4rdw7b030ip4wszyfj9ya15v5kni"))))
11167 (build-system meson-build-system)
11168 (inputs
11169 `(("json-glib" ,json-glib)
11170 ("glib" ,glib)))
11171 (native-inputs
11172 `(("pkg-config" ,pkg-config)
11173 ("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
11174 ("gobject-introspection" ,gobject-introspection)
11175 ("vala" ,vala)))
11176 (home-page "https://gitlab.gnome.org/GNOME/jsonrpc-glib")
11177 (synopsis "JSON-RPC library for GLib")
11178 (description "Jsonrpc-GLib is a library to communicate with JSON-RPC based
11179peers in either a synchronous or asynchronous fashion. It also allows
11180communicating using the GVariant serialization format instead of JSON when
11181both peers support it. You might want that when communicating on a single
11182host to avoid parser overhead and memory-allocator fragmentation.")
11183 (license license:lgpl2.1+)))
0faed399
JB
11184
11185(define-public feedbackd
11186 (package
11187 (name "feedbackd")
11188 (version "0.0.0+git20200527")
11189 (source (origin
11190 (method git-fetch)
11191 (uri (git-reference
11192 (url "https://source.puri.sm/Librem5/feedbackd.git")
11193 (commit (string-append "v" version))))
11194 (file-name (git-file-name name version))
11195 (sha256
11196 (base32
11197 "1wbkzxnqjydfgjvp7vz4ghczcz740zcb1yn90cb6gb5md4n6qx2y"))))
11198 (build-system meson-build-system)
11199 (native-inputs
11200 `(("glib:bin" ,glib "bin")
11201 ("gobject-introspection" ,gobject-introspection)
11202 ("pkg-config" ,pkg-config)
11203 ("vala" ,vala)))
11204 (inputs
11205 `(("dbus" ,dbus)
11206 ("gsound" ,gsound)
11207 ("json-glib" ,json-glib)
11208 ("libgudev" ,libgudev)))
11209 (propagated-inputs
11210 `(("glib" ,glib))) ; in Requires of libfeedback-0.0.pc
11211 (synopsis "Haptic/visual/audio feedback via DBus")
11212 (description "Feedbackd provides a DBus daemon to act on events to provide
11213haptic, visual and audio feedback. It offers the libfeedbackd library and
11214GObject introspection bindings.")
11215 (home-page "https://source.puri.sm/Librem5/feedbackd")
11216 (license (list license:lgpl2.1+ ; libfeedbackd
11217 license:lgpl3+)))) ; the rest
dcb4f7b7
LP
11218
11219(define-public sysprof
11220 (package
11221 (name "sysprof")
f9812690
TGR
11222 (version "3.36.0")
11223 (source
11224 (origin
11225 (method url-fetch)
11226 (uri (string-append "mirror://gnome/sources/sysprof/"
11227 (version-major+minor version) "/"
11228 "sysprof-" version ".tar.xz"))
11229 (sha256
11230 (base32 "024i0gzqnm79rpr4gqxdvcj6gvf82xdlcp2p1k9ikcppmi6xnw46"))))
dcb4f7b7
LP
11231 (build-system meson-build-system)
11232 (arguments
11233 `(#:configure-flags
11234 (list (string-append "-Dsystemdunitdir="
11235 %output
11236 "/share/systemd"))
11237 #:tests? #f ; 3/4 test-model-filter barfs some dbus nonsense
11238 #:phases
11239 (modify-phases %standard-phases
11240 (add-after 'unpack 'patch-install-script
11241 (lambda _
11242 (substitute* "build-aux/meson/post_install.sh"
11243 (("gtk-update-icon-cache") "true")
11244 (("update-desktop-database") "true"))
11245 #t)))))
11246 (inputs
11247 `(("glib" ,glib)
11248 ("gtk+" ,gtk+)
11249 ("libdazzle" ,libdazzle)
11250 ("polkit" ,polkit)))
11251 (native-inputs
11252 `(("gettext" ,gettext-minimal)
11253 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
11254 ("itstool" ,itstool)
11255 ("pkg-config" ,pkg-config)
11256 ("xmllint" ,libxml2)))
b478c9b0
TGR
11257 ;; This home page is so woefully out of date as to be essentially useless.
11258 ;; (home-page "http://www.sysprof.com")
11259 (home-page "https://wiki.gnome.org/Apps/Sysprof")
95cd53c1
TGR
11260 (synopsis "System-wide performance profiler for GNU/Linux")
11261 (description
11262 "Sysprof performs detailed, accurate, and fast CPU profiling of an entire
11263GNU/Linux system including the kernel and all user-space applications. This
11264helps find the function(s) in which a program spends most of its time.
11265
11266It uses the kernel's built-in @code{ptrace} feature and handles shared
11267libraries. Applications do not need to be recompiled--or even restarted.")
dcb4f7b7 11268 (license license:gpl3+)))
683cac58
LP
11269
11270(define-public gnome-builder
11271 (package
11272 (name "gnome-builder")
11273 (version "3.36.1")
11274 (source (origin
11275 (method url-fetch)
11276 (uri (string-append "mirror://gnome/sources/" name "/"
11277 (version-major+minor version) "/"
11278 name "-" version ".tar.xz"))
11279 (sha256
11280 (base32
11281 "17pvmd5jypar8dkr6w56hvf7jnq4l1wih2wwgkrv7sblr7rkkar2"))))
11282 (build-system meson-build-system)
11283 (arguments
11284 `(#:configure-flags (list "-Dnetwork_tests=false"
11285 ;; TODO: Enable all plugins...
11286 "-Dplugin_clang=false"
11287 "-Dplugin_flatpak=false"
11288 "-Dplugin_glade=false"
11289 ;; ... except this one.
11290 "-Dplugin_update_manager=false")
11291 #:phases
11292 (modify-phases %standard-phases
11293 (add-after 'unpack 'patch-meson
11294 (lambda* (#:key inputs #:allow-other-keys)
11295 (substitute* "build-aux/meson/post_install.py"
11296 (("gtk-update-icon-cache") "true")
11297 (("update-desktop-database") "true"))
11298 (substitute* "src/libide/meson.build"
11299 (("/usr/lib")
11300 (string-append (assoc-ref inputs "python-pygobject")
11301 "/lib")))
11302 #t))
11303 (add-before 'check 'pre-check
11304 (lambda _
11305 (system "Xvfb :1 &")
11306 (setenv "DISPLAY" ":1")
11307 #t)))))
11308 (inputs
11309 `(("devhelp" ,devhelp)
11310 ("gspell" ,gspell)
11311 ("gtk+" ,gtk+)
11312 ("json-glib" ,json-glib)
11313 ("jsonrpc-glib" ,jsonrpc-glib)
11314 ("libdazzle" ,libdazzle)
11315 ("libgit2-glib" ,libgit2-glib)
11316 ("libpeas" ,libpeas)
11317 ("python-pygobject" ,python-pygobject)
11318 ("sysprof" ,sysprof)
11319 ("template-glib" ,template-glib)
11320 ("vte" ,vte)
11321 ("webkitgtk" ,webkitgtk)))
11322 (propagated-inputs
11323 `(("gtksourceview" ,gtksourceview))) ;needed for settings
11324 (native-inputs
11325 `(("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
11326 ("glib:bin" ,glib "bin")
11327 ("gettext" ,gettext-minimal)
11328 ("pkg-config" ,pkg-config)
11329 ("vala" ,vala)
11330 ("xorg-server" ,xorg-server-for-tests)))
11331 (home-page "https://wiki.gnome.org/Apps/Builder")
11332 (synopsis "Toolsmith for GNOME-based applications")
876d022c
LC
11333 (description "Builder aims to be an integrated development
11334environment (IDE) for writing GNOME-based software. It features fuzzy search,
11335auto-completion, a mini code map, documentation browsing, Git integration, an
11336integrated profiler via Sysprof, debugging support, and more.")
683cac58 11337 (license license:gpl3+)))
438c4ee1
LP
11338
11339(define-public komikku
11340 (package
11341 (name "komikku")
11342 (version "0.19.0")
11343 (source
11344 (origin
11345 (method git-fetch)
11346 (uri (git-reference
11347 (url "https://gitlab.com/valos/Komikku/")
11348 (commit (string-append "v" version))))
11349 (file-name (git-file-name name version))
11350 (sha256
11351 (base32
11352 "16d7k500nd9klnjqqcgk3glhv2sy78yndkz3n0x7lynvblsy45kk"))))
11353 (build-system meson-build-system)
11354 (arguments
11355 `(#:glib-or-gtk? #t
11356 #:phases
11357 (modify-phases %standard-phases
11358 (add-after 'unpack 'patch-sources
11359 (lambda _
11360 (substitute* "komikku/utils.py"
11361 (("from komikku\\.servers import get_servers_list")
11362 ;; code following that line should migrate old databases
11363 ;; but the line itself results in an import error
11364 "return data_dir_path"))))
11365 (add-after 'unpack 'skip-gtk-update-icon-cache
11366 (lambda _
11367 (substitute* "meson_post_install.py"
11368 (("gtk-update-icon-cache") (which "true")))
11369 #t))
11370 (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
11371 (lambda* (#:key outputs #:allow-other-keys)
11372 (let ((prog (string-append (assoc-ref outputs "out")
11373 "/bin/komikku")))
11374 (wrap-program prog
11375 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
11376 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
11377 #t))))))
11378 (inputs
11379 `(("gtk+" ,gtk+)
11380 ("libhandy" ,libhandy)
11381 ("libnotify" ,libnotify)
11382 ("libsecret" ,libsecret)
11383 ("python-beautifulsoup4" ,python-beautifulsoup4)
11384 ("python-cloudscraper" ,python-cloudscraper)
11385 ("python-dateparser" ,python-dateparser)
11386 ("python-keyring" ,python-keyring)
11387 ("python-lxml" ,python-lxml)
11388 ("python-magic" ,python-magic)
11389 ("python-pillow" ,python-pillow)
11390 ("python-pure-protobuf" ,python-pure-protobuf)
11391 ("python-pycairo" ,python-pycairo)
11392 ("python-pygobject" ,python-pygobject)
11393 ("python-unidecode" ,python-unidecode)))
11394 (native-inputs
a4782e40
LP
11395 `(("desktop-file-utils" ,desktop-file-utils)
11396 ("gettext" ,gettext-minimal)
11397 ("glib:bin" ,glib "bin")
438c4ee1
LP
11398 ("gobject-introspection" ,gobject-introspection)
11399 ("pkg-config" ,pkg-config)))
11400 (home-page "https://gitlab.com/valos/Komikku")
11401 (synopsis "Manga reader for GNOME")
11402 (description "Komikku is an online/offline manga reader for GNOME,
11403developed with the aim of being used with the Librem 5 phone.")
11404 (license license:gpl3+)))