gnu: Add cxxopts.
[jackhill/guix/guix.git] / gnu / packages / gnome.scm
CommitLineData
995b7261 1;;; GNU Guix --- Functional package management for GNU
109da1c0 2;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
5dc6d5ce 3;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
29a7c98a 4;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
754cfbdc 5;;; Copyright © 2014, 2016, 2020 Eric Bavier <bavier@posteo.net>
58d32305 6;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
8b877545 7;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
7aab13f1 8;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
63ad9b80 9;;; Copyright © 2015, 2017 Andy Wingo <wingo@igalia.com>
1e7464a9 10;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
ed783404 11;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
64a153bd 12;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
293ff8b2 13;;; Copyright © 2015 David Thompson <davet@gnu.org>
e19cb895 14;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
35e2d0cf 15;;; Copyright © 2016, 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
3c697ffd 16;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
03be9874 17;;; Copyright © 2016, 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
277a7d82 18;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
a56be436 19;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
e19f9c24 20;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
71d9b980 21;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
3c986a7d 22;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
e5e1df4d 23;;; Copyright © 2016 David Craven <david@craven.ch>
ac631328 24;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
cce0da5e 25;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
d04687dc 26;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
3c5dbd2b 27;;; Copyright © 2017, 2018 nee <nee-git@hidamari.blue>
d1d739fa 28;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
1d3fcf94 29;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
2cd1de32 30;;; Copyright © 2017, 2020 Brendan Tildesley <mail@brendan.scot>
0438f1d8 31;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
4e3fdeb7 32;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
2eee7ee3 33;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
a18f8eaf 34;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
e57c2adb 35;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
8caa4589 36;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>
f2d56e39 37;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
3e9c80b2 38;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
a7a31827 39;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
633422b0 40;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
213315d4 41;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net>
4690e3a4 42;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
50e96d25 43;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
93beace0 44;;; Copyright © 2019 David Wilson <david@daviwil.com>
d36fa50f 45;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org>
0faed399 46;;; Copyright © 2019, 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
3861fb1c 47;;; Copyright © 2019, 2020 Leo Prikler <leo.prikler@student.tugraz.at>
fa01e10d 48;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
63db190a 49;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
0e26c3cf 50;;; Copyright © 2020 raingloom <raingloom@riseup.net>
1a17d21b 51;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
dd233e4d 52;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net>
663def11 53;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
21051eb7 54;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
01c22be7 55;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
031315e4 56;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
92b9cdd5 57;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
995b7261
AE
58;;;
59;;; This file is part of GNU Guix.
60;;;
61;;; GNU Guix is free software; you can redistribute it and/or modify it
62;;; under the terms of the GNU General Public License as published by
63;;; the Free Software Foundation; either version 3 of the License, or (at
64;;; your option) any later version.
65;;;
66;;; GNU Guix is distributed in the hope that it will be useful, but
67;;; WITHOUT ANY WARRANTY; without even the implied warranty of
68;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
69;;; GNU General Public License for more details.
70;;;
71;;; You should have received a copy of the GNU General Public License
72;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
73
74(define-module (gnu packages gnome)
ed19903d 75 #:use-module (gnu packages)
ba5dd105 76 #:use-module (gnu packages admin)
411ba511 77 #:use-module (gnu packages aspell)
75016d07 78 #:use-module (gnu packages autotools)
7b212526 79 #:use-module (gnu packages avahi)
b29909b4 80 #:use-module (gnu packages backup)
6a180f6f 81 #:use-module (gnu packages base)
1e33331c 82 #:use-module (gnu packages bash)
5698b8b8 83 #:use-module (gnu packages bison)
aa51d92c 84 #:use-module (gnu packages boost)
5fc9b6c1 85 #:use-module (gnu packages build-tools)
df217748 86 #:use-module (gnu packages calendar)
b29909b4 87 #:use-module (gnu packages cdrom)
df12f04a 88 #:use-module (gnu packages check)
d61a894b 89 #:use-module (gnu packages cmake)
b29909b4 90 #:use-module (gnu packages compression)
8f523eb9 91 #:use-module (gnu packages crates-io)
23a22af6 92 #:use-module (gnu packages cups)
6e1bb642 93 #:use-module (gnu packages curl)
c3f29bc9 94 #:use-module (gnu packages cyrus-sasl)
6e1bb642 95 #:use-module (gnu packages databases)
255d1bbe 96 #:use-module (gnu packages dbm)
c769cf9f 97 #:use-module (gnu packages djvu)
ba5dd105 98 #:use-module (gnu packages dns)
b4ce6300 99 #:use-module (gnu packages docbook)
b29909b4 100 #:use-module (gnu packages documentation)
329d731b 101 #:use-module (gnu packages enchant)
b29909b4
TGR
102 #:use-module (gnu packages flex)
103 #:use-module (gnu packages fonts)
e762d943 104 #:use-module (gnu packages file-systems)
a56be436 105 #:use-module (gnu packages fontutils)
b29909b4 106 #:use-module (gnu packages freedesktop)
dfc407f3 107 #:use-module (gnu packages game-development)
fed5a689 108 #:use-module (gnu packages gettext)
b29909b4 109 #:use-module (gnu packages ghostscript)
56db7a66 110 #:use-module (gnu packages gimp)
b29909b4 111 #:use-module (gnu packages gl)
995b7261 112 #:use-module (gnu packages glib)
c1354b90 113 #:use-module (gnu packages gnupg)
23a22af6 114 #:use-module (gnu packages gnuzilla)
8d8c6bff 115 #:use-module (gnu packages geo)
b29909b4
TGR
116 #:use-module (gnu packages gperf)
117 #:use-module (gnu packages graphviz)
85f5dc19 118 #:use-module (gnu packages gstreamer)
d9c1a22b 119 #:use-module (gnu packages gtk)
6b888eff 120 #:use-module (gnu packages guile)
b645146f 121 #:use-module (gnu packages ibus)
03be9874 122 #:use-module (gnu packages icu4c)
b29909b4
TGR
123 #:use-module (gnu packages image)
124 #:use-module (gnu packages imagemagick)
125 #:use-module (gnu packages inkscape)
9cc98f8a 126 #:use-module (gnu packages iso-codes)
b29909b4 127 #:use-module (gnu packages kerberos)
85f5dc19 128 #:use-module (gnu packages libcanberra)
6a00302b 129 #:use-module (gnu packages libffi)
b64e217f 130 #:use-module (gnu packages libunistring)
0e26c3cf 131 #:use-module (gnu packages libunwind)
75016d07 132 #:use-module (gnu packages libusb)
b29909b4 133 #:use-module (gnu packages linux)
4e3fc547 134 #:use-module (gnu packages lirc)
7b212526 135 #:use-module (gnu packages lua)
b29909b4 136 #:use-module (gnu packages mail)
03be9874 137 #:use-module (gnu packages mp3)
b29909b4 138 #:use-module (gnu packages multiprecision)
64fce637 139 #:use-module (gnu packages music)
b29909b4
TGR
140 #:use-module (gnu packages ncurses)
141 #:use-module (gnu packages nettle)
ba5dd105 142 #:use-module (gnu packages networking)
5fc9b6c1 143 #:use-module (gnu packages ninja)
97787a24 144 #:use-module (gnu packages node)
aff0cce9 145 #:use-module (gnu packages nss)
b29909b4 146 #:use-module (gnu packages openldap)
72fd1b3f 147 #:use-module (gnu packages package-management)
b645146f 148 #:use-module (gnu packages password-utils)
de1215e2 149 #:use-module (gnu packages pcre)
b29909b4 150 #:use-module (gnu packages pdf)
27477d2d 151 #:use-module (gnu packages perl)
f70d8383 152 #:use-module (gnu packages photo)
53c41e95 153 #:use-module (gnu packages php)
995b7261 154 #:use-module (gnu packages pkg-config)
b29909b4
TGR
155 #:use-module (gnu packages polkit)
156 #:use-module (gnu packages popt)
7d3bb433 157 #:use-module (gnu packages pretty-print)
438c4ee1 158 #:use-module (gnu packages protobuf)
23a22af6 159 #:use-module (gnu packages pulseaudio)
995b7261 160 #:use-module (gnu packages python)
00014781
RW
161 #:use-module (gnu packages python-crypto)
162 #:use-module (gnu packages python-web)
44d10b1f 163 #:use-module (gnu packages python-xyz)
cce0da5e 164 #:use-module (gnu packages rdesktop)
70f33d3c 165 #:use-module (gnu packages rdf)
b29909b4 166 #:use-module (gnu packages readline)
a76d0f03 167 #:use-module (gnu packages ruby)
ec47c07d 168 #:use-module (gnu packages rust)
b29909b4 169 #:use-module (gnu packages samba)
75016d07 170 #:use-module (gnu packages scanner)
70f33d3c
RG
171 #:use-module (gnu packages sdl)
172 #:use-module (gnu packages search)
240cee8a 173 #:use-module (gnu packages selinux)
c27e02bf 174 #:use-module (gnu packages slang)
b29909b4
TGR
175 #:use-module (gnu packages speech)
176 #:use-module (gnu packages spice)
cd0322a3 177 #:use-module (gnu packages sqlite)
4a1bf090 178 #:use-module (gnu packages ssh)
2cd1de32 179 #:use-module (gnu packages swig)
8f9ac901 180 #:use-module (gnu packages tex)
33dc54b0 181 #:use-module (gnu packages time)
a7fd7b68 182 #:use-module (gnu packages tls)
2cd1de32 183 #:use-module (gnu packages valgrind)
3c5dbd2b 184 #:use-module (gnu packages version-control)
b29909b4 185 #:use-module (gnu packages video)
59132b80 186 #:use-module (gnu packages virtualization)
f2b96b3a 187 #:use-module (gnu packages vpn)
a18f8eaf 188 #:use-module (gnu packages web)
b29909b4
TGR
189 #:use-module (gnu packages webkit)
190 #:use-module (gnu packages xdisorg)
191 #:use-module (gnu packages xiph)
192 #:use-module (gnu packages xml)
d633f2f6 193 #:use-module (gnu packages xorg)
a76d0f03 194 #:use-module (gnu artwork)
43b6b45e 195 #:use-module ((guix build utils) #:select (modify-phases))
8f523eb9 196 #:use-module (guix build-system cargo)
b29909b4
TGR
197 #:use-module (guix build-system cmake)
198 #:use-module (guix build-system glib-or-gtk)
199 #:use-module (guix build-system gnu)
200 #:use-module (guix build-system meson)
08be02be 201 #:use-module (guix build-system python)
b29909b4
TGR
202 #:use-module (guix build-system trivial)
203 #:use-module (guix download)
204 #:use-module (guix git-download)
205 #:use-module ((guix licenses) #:prefix license:)
206 #:use-module (guix packages)
207 #:use-module (guix utils)
a76d0f03 208 #:use-module (guix gexp)
8f523eb9
EF
209 #:use-module (guix monads)
210 #:use-module (guix store)
4e3fdeb7 211 #:use-module (ice-9 match)
c024ae36 212 #:use-module (srfi srfi-1))
85f5dc19
AE
213
214(define-public brasero
215 (package
216 (name "brasero")
e2bf423a 217 (version "3.12.2")
85f5dc19
AE
218 (source (origin
219 (method url-fetch)
d1df7554 220 (uri (string-append "mirror://gnome/sources/brasero/"
e8627cd9 221 (version-major+minor version) "/"
d1df7554 222 "brasero-" version ".tar.xz"))
85f5dc19
AE
223 (sha256
224 (base32
e2bf423a 225 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 226 (build-system glib-or-gtk-build-system)
e8627cd9
DH
227 (arguments
228 `(#:configure-flags (list
229 (string-append "--with-girdir="
230 (assoc-ref %outputs "out")
231 "/share/gir-1.0")
232 (string-append "--with-typelibdir="
233 (assoc-ref %outputs "out")
ce426deb
TD
234 "/lib/girepository-1.0"))
235 #:phases
236 (modify-phases %standard-phases
237 (add-before 'configure 'embed-growisofs
238 (lambda* (#:key inputs #:allow-other-keys)
239 (substitute* "plugins/growisofs/burn-growisofs.c"
240 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 241 #t)))))
85f5dc19
AE
242 (propagated-inputs
243 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
244 (native-inputs
245 `(("intltool" ,intltool)
ba549e17 246 ("itstool" ,itstool)
426adbe8 247 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 248 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 249 ("pkg-config" ,pkg-config)))
85f5dc19 250 (inputs
ce426deb
TD
251 `(("dvd+rw-tools" ,dvd+rw-tools)
252 ("glib" ,glib)
85f5dc19
AE
253 ("gnome-doc-utils" ,gnome-doc-utils)
254 ("gstreamer" ,gstreamer)
255 ("gst-plugins-base" ,gst-plugins-base)
256 ("gtk+" ,gtk+)
85f5dc19
AE
257 ("libcanberra" ,libcanberra)
258 ("libice" ,libice)
259 ("libnotify" ,libnotify)
260 ("libsm" ,libsm)
e8627cd9 261 ("libxml2" ,libxml2)
e8627cd9 262 ("totem-pl-parser" ,totem-pl-parser)))
fb9399e9 263 (home-page "https://wiki.gnome.org/Apps/Brasero")
85f5dc19
AE
264 (synopsis "CD/DVD burning tool for Gnome")
265 (description "Brasero is an application to burn CD/DVD for the Gnome
266Desktop. It is designed to be as simple as possible and has some unique
267features to enable users to create their discs easily and quickly.")
1dd26275 268 (license license:gpl2+)))
995b7261 269
63d71ff0
RG
270(define-public libcloudproviders
271 (package
272 (name "libcloudproviders")
273 (version "0.3.1")
274 (source
275 (origin
276 (method url-fetch)
277 (uri
278 (string-append "mirror://gnome/sources/" name "/"
279 (version-major+minor version) "/"
280 name "-" version ".tar.xz"))
281 (sha256
282 (base32 "0aars24myf6n8b8hm1n12hsgcm54097kpbpm4ba31zp1l4y22qs7"))))
283 (build-system meson-build-system)
284 (outputs '("out" "doc"))
285 (arguments
286 `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
287 #:configure-flags
288 (list
289 "-Denable-gtk-doc=true")
290 #:phases
291 (modify-phases %standard-phases
292 (add-after 'install 'move-doc
293 (lambda* (#:key outputs #:allow-other-keys)
294 (let* ((out (assoc-ref outputs "out"))
295 (doc (assoc-ref outputs "doc")))
296 (mkdir-p (string-append doc "/share"))
297 (rename-file
298 (string-append out "/share/gtk-doc")
299 (string-append doc "/share/gtk-doc"))
300 #t))))))
301 (native-inputs
302 `(("glib:bin" ,glib "bin")
303 ("gobject-introspection" ,gobject-introspection)
304 ("gtk-doc" ,gtk-doc)
305 ("pkg-config" ,pkg-config)
306 ("vala" ,vala)))
307 (inputs
308 `(("glib" ,glib)
309 ("glib-networking" ,glib-networking)))
310 (synopsis "Cloudproviders Integration API")
311 (description "Libcloudproviders is a DBus API that allows cloud storage sync
312clients to expose their services. Clients such as file managers and desktop
313environments can then provide integrated access to the cloud providers
314services.")
315 (home-page "https://csorianognome.wordpress.com/2015/07/07/cloud-providers/")
316 (license license:lgpl3+)))
317
f10b58ca
RG
318(define-public libgrss
319 (package
320 (name "libgrss")
321 (version "0.7.0")
322 (source
323 (origin
324 (method url-fetch)
325 (uri
326 (string-append "mirror://gnome/sources/" name "/"
327 (version-major+minor version) "/"
328 name "-" version ".tar.xz"))
329 (sha256
330 (base32 "1nalslgyglvhpva3px06fj6lv5zgfg0qmj0sbxyyl5d963vc02b7"))))
331 (build-system glib-or-gtk-build-system)
332 (outputs '("out" "doc"))
333 (arguments
334 `(#:configure-flags
335 (list
336 "--enable-gtk-doc"
337 (string-append "--with-html-dir="
338 (assoc-ref %outputs "doc")
339 "/share/gtk-doc/html"))
340 #:phases
341 (modify-phases %standard-phases
342 (add-after 'unpack 'patch-docbook-xml
343 (lambda* (#:key inputs #:allow-other-keys)
344 (with-directory-excursion "doc/reference"
345 (substitute* "libgrss-docs.sgml"
346 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
347 (string-append (assoc-ref inputs "docbook-xml")
348 "/xml/dtd/docbook/"))))
349 #t)))))
350 (native-inputs
351 `(("docbook-xml" ,docbook-xml-4.1.2)
352 ("gobject-introspection" ,gobject-introspection)
353 ("gtk-doc" ,gtk-doc)
354 ("pkg-config" ,pkg-config)))
355 (propagated-inputs
356 `(("glib" ,glib)
357 ("libsoup" ,libsoup)
358 ("libxml2" ,libxml2)))
359 (synopsis "Glib library for feeds")
360 (description "LibGRSS is a Glib abstaction to handle feeds in RSS, Atom and
361other formats.")
362 (home-page "https://wiki.gnome.org/Projects/Libgrss")
363 (license license:lgpl3+)))
364
c1082b02
RG
365(define-public gnome-js-common
366 (package
367 (name "gnome-js-common")
368 (version "0.1.2")
369 (source
370 (origin
371 (method url-fetch)
372 (uri
373 (string-append "mirror://gnome/sources/" name "/"
374 (version-major+minor version) "/"
375 name "-" version ".tar.gz"))
376 (sha256
377 (base32 "1zv5b9bcbclzj64xd9kgql4ndmbwvvi6cl937ykw8fp21xgh8z7y"))))
378 (build-system glib-or-gtk-build-system)
379 (arguments
380 `(#:configure-flags
381 (list
382 "--disable-static")))
383 (native-inputs
384 `(("gettext" ,gettext-minimal)
385 ("intltool" ,intltool)
386 ("pkg-config" ,pkg-config)))
387 (synopsis "Common JS Modules")
388 (description "GNOME-JS-Common provides common modules for GNOME JavaScript
389bindings.")
390 (home-page "https://wiki.gnome.org/Projects/Seed")
391 (license license:gpl3+)))
392
77d7bbf4
RG
393(define-public seed
394 (package
395 (name "seed")
396 (version "3.8.1")
397 (source
398 (origin
399 (method url-fetch)
400 (uri
401 (string-append "mirror://gnome/sources/" name "/"
402 (version-major+minor version) "/"
403 name "-" version ".tar.xz"))
404 (sha256
405 (base32 "0cmcxaggcdcy13j27gy8id2qsf2p2sl4bz2mwb9zhv3gzavlvjw0"))
406 (patches
407 (search-patches "seed-webkit.patch"))))
408 (build-system glib-or-gtk-build-system)
409 (outputs '("out" "doc"))
410 (arguments
411 `(#:configure-flags
412 (list
413 "--disable-static"
414 "--enable-xorg-module"
415 (string-append "--with-html-dir="
416 (assoc-ref %outputs "doc")
417 "/share/gtk-doc/html")
418 "--with-webkit=4.0")
419 #:phases
420 (modify-phases %standard-phases
421 ;; The seed-webkit.patch patches configure.ac.
422 ;; So the source files need to be re-bootstrapped.
423 (add-after 'unpack 'trigger-bootstrap
424 (lambda _
425 (for-each delete-file
426 (list
427 "configure"
428 "Makefile.in"))
429 #t))
14528483
DM
430 (add-after 'unpack 'patch-tests
431 (lambda* (#:key outputs #:allow-other-keys)
432 (substitute* (find-files "." "\\.js$")
433 (("#!/usr/bin/env seed")
434 (string-append "#!" (getcwd) "/src/seed")))
435 #t))
77d7bbf4
RG
436 (add-before 'build 'patch-docbook-xml
437 (lambda* (#:key inputs #:allow-other-keys)
438 (with-directory-excursion "doc"
439 (substitute* '("reference/seed-docs.sgml" "modules/book.xml")
440 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
441 (string-append (assoc-ref inputs "docbook-xml")
442 "/xml/dtd/docbook/"))))
443 #t)))))
444 (native-inputs
445 `(("autoconf" ,autoconf)
446 ("automake" ,automake)
447 ("docbook-xml" ,docbook-xml-4.1.2)
448 ("gettext" ,gettext-minimal)
449 ("gobject-introspection" ,gobject-introspection)
450 ("gtk-doc" ,gtk-doc)
451 ("intltool" ,intltool)
452 ("libtool" ,libtool)
453 ("pkg-config" ,pkg-config)))
454 (inputs
455 `(("cairo" ,cairo)
456 ("dbus" ,dbus)
457 ("dbus-glib" ,dbus-glib)
458 ("gnome-js-common" ,gnome-js-common)
459 ("gtk+" ,gtk+)
460 ("gtk+-2" ,gtk+-2)
461 ("libffi" ,libffi)
462 ("libxml2" ,libxml2)
463 ("mpfr" ,mpfr)
464 ("readline" ,readline)
465 ("sqlite" ,sqlite)
466 ("xscrnsaver" ,libxscrnsaver)))
467 (propagated-inputs
468 `(("glib" ,glib)
469 ("webkit" ,webkitgtk)))
470 (synopsis "GObject JavaScriptCore bridge")
471 (description "Seed is a library and interpreter, dynamically bridging
472(through GObjectIntrospection) the WebKit JavaScriptCore engine, with the
473GNOME platform. It serves as something which enables you to write standalone
474applications in JavaScript, or easily enable your application to be extensible
475in JavaScript.")
476 (home-page "https://wiki.gnome.org/Projects/Seed")
477 (license license:lgpl2.0+)))
478
d668963d
RG
479(define-public libdmapsharing
480 (package
481 (name "libdmapsharing")
482 (version "3.9.10")
483 (source
484 (origin
485 (method url-fetch)
486 (uri
487 (string-append "https://www.flyn.org/projects/"
488 name "/" name "-" version ".tar.gz"))
489 (sha256
490 (base32 "152hnddwxv590cn802awv3mn27ixc3s6ac691a7z02d1c5fl45p2"))))
491 (build-system glib-or-gtk-build-system)
492 (outputs '("out" "doc"))
493 (arguments
494 `(#:tests? #f ; Tests require networking.
495 #:configure-flags
496 (list
497 "--disable-static"
498 (string-append "--with-html-dir="
499 (assoc-ref %outputs "doc")
500 "/share/gtk-doc/html"))
501 #:phases
502 (modify-phases %standard-phases
503 (add-after 'unpack 'patch-docbook-xml
504 (lambda* (#:key inputs #:allow-other-keys)
505 (with-directory-excursion "doc"
506 (substitute* "libdmapsharing-4.0-docs.xml"
507 (("http://www.oasis-open.org/docbook/xml/4.3/")
508 (string-append (assoc-ref inputs "docbook-xml")
509 "/xml/dtd/docbook/"))))
510 #t)))))
511 (native-inputs
512 `(("check" ,check)
513 ("docbook-xml" ,docbook-xml-4.3)
514 ("gobject-introspection" ,gobject-introspection)
515 ("pedansee" ,pedansee)
516 ("pkg-config" ,pkg-config)
517 ("vala" ,vala)))
518 (inputs
519 `(("avahi" ,avahi)
520 ("gdk-pixbuf" ,gdk-pixbuf+svg)
521 ("gee" ,libgee)
522 ("gst-plugins-base" ,gst-plugins-base)
523 ("gtk+" ,gtk+)))
524 (propagated-inputs
525 `(("glib" ,glib)
526 ("glib-networking" ,glib-networking)
527 ("gstreamer" ,gstreamer)
528 ("libsoup" ,libsoup)))
529 (synopsis "Media management library")
530 (description "Libdmapsharing is a library which allows programs to access,
531share and control the playback of media content using DMAP (DAAP, DPAP & DACP).
532It is written in C using GObject and libsoup.")
533 (home-page "https://launchpad.net/gtx")
534 (license license:lgpl2.1+)))
535
c15ff237
RG
536(define-public gtx
537 (package
538 (name "gtx")
539 (version "0.2.2")
540 (source
541 (origin
542 (method url-fetch)
543 (uri
544 (string-append "https://launchpad.net/gtx/trunk/"
545 version "/+download/gtx-" version ".tar.gz"))
546 (sha256
547 (base32 "0i4zvn5v4rf0cw3fxylk6j2pyy5lkrswdiw8jdxkys0ph0nan33n"))))
548 (build-system glib-or-gtk-build-system)
549 (outputs '("out" "doc"))
550 (arguments
551 `(#:configure-flags
552 (list
553 "--disable-static"
554 "--enable-gtk-doc"
555 (string-append "--with-html-dir="
556 (assoc-ref %outputs "doc")
557 "/share/gtk-doc/html"))))
558 (native-inputs
559 `(("gobject-introspection" ,gobject-introspection)
560 ("gtk-doc" ,gtk-doc)
561 ("pkg-config" ,pkg-config)))
562 (propagated-inputs
563 `(("glib" ,glib)))
564 (synopsis "GLib Testing Framework")
565 (description "GTX is a small collection of convenience functions intended to
566enhance the GLib testing framework. With specific emphasis on easing the pain
567of writing test cases for asynchronous interactions.")
568 (home-page "https://launchpad.net/gtx")
569 (license license:lgpl2.1+)))
570
8fd769dd
RG
571(define-public dee
572 (package
573 (name "dee")
574 (version "1.2.7")
575 (source
576 (origin
577 (method url-fetch)
578 (uri
579 (string-append "https://launchpad.net/dee/1.0/"
580 version "/+download/dee-" version ".tar.gz"))
581 (sha256
582 (base32 "12mzffk0lyd566y46x57jlvb9af152b4dqpasr40zal4wrn37w0v"))
583 (patches
584 (search-patches "dee-vapi.patch"))))
585 (build-system glib-or-gtk-build-system)
586 (outputs '("out" "doc"))
587 (arguments
588 `(#:configure-flags
589 (list
590 "--disable-maintainer-flags"
591 (string-append "--with-pygi-overrides-dir="
592 (assoc-ref %outputs "out")
593 "/lib/python"
594 ,(version-major+minor
595 (package-version python))
596 "/site-packages/gi/overrides")
597 (string-append "--with-html-dir="
598 (assoc-ref %outputs "doc")
599 "/share/gtk-doc/html"))
600 #:phases
601 (modify-phases %standard-phases
602 (add-after 'unpack 'patch-docbook-xml
603 (lambda* (#:key inputs #:allow-other-keys)
604 (with-directory-excursion "doc/reference/dee-1.0"
605 (substitute* "dee-1.0-docs.sgml"
606 (("http://www.oasis-open.org/docbook/xml/4.3/")
607 (string-append (assoc-ref inputs "docbook-xml")
608 "/xml/dtd/docbook/"))))
609 #t))
610 (add-after 'patch-docbook-xml 'disable-failing-tests
611 (lambda _
612 (substitute* "tests/test-icu.c"
613 (("g_test_add \\(DOMAIN\"/Default/AsciiFolder\", Fixture, 0,")
614 "")
615 (("setup, test_ascii_folder, teardown\\);")
616 ""))
617 #t))
618 (add-before 'check 'pre-check
619 (lambda _
620 ;; Tests require a running dbus-daemon.
621 (system "dbus-daemon &")
622 ;; For missing '/etc/machine-id'.
623 (setenv "DBUS_FATAL_WARNINGS" "0")
624 #t)))))
625 (native-inputs
626 `(("dbus" ,dbus)
627 ("dbus-test-runner" ,dbus-test-runner)
628 ("docbook-xml" ,docbook-xml-4.3)
629 ("gobject-introspection" ,gobject-introspection)
630 ("gtk-doc" ,gtk-doc)
631 ;; Would only be required by configure flag "--enable-extended-tests".
632 ;("gtx" ,gtx)
633 ("pkg-config" ,pkg-config)
634 ("pygobject" ,python-pygobject)
635 ("python" ,python-wrapper)
636 ("vala" ,vala)))
637 (inputs
638 `(("icu" ,icu4c)))
639 (propagated-inputs
640 `(("glib" ,glib)))
641 (synopsis "Model to synchronize multiple instances over DBus")
642 (description "Dee is a library that uses DBus to provide objects allowing
643you to create Model-View-Controller type programs across DBus. It also consists
644of utility objects which extend DBus allowing for peer-to-peer discoverability
645of known objects without needing a central registrar.")
646 (home-page "https://launchpad.net/dee")
647 (license
648 ;; Dual-licensed
649 (list
650 license:lgpl3+
651 license:gpl3+))))
652
70f33d3c
RG
653(define-public zeitgeist
654 (package
655 (name "zeitgeist")
656 (version "1.0.2")
657 (source
658 (origin
659 (method git-fetch)
660 (uri
661 (git-reference
662 (url "https://gitlab.freedesktop.org/zeitgeist/zeitgeist.git")
663 (commit
664 (string-append "v" version))))
665 (file-name
666 (git-file-name name version))
667 (sha256
668 (base32 "0ig3d3j1n0ghaxsgfww6g2hhcdwx8cljwwfmp9jk1nrvkxd6rnmv"))))
669 (build-system glib-or-gtk-build-system)
670 (arguments
671 `(#:configure-flags
672 (list
673 "--enable-explain-queries"
674 "--enable-fts"
675 "--enable-docs")
676 #:phases
677 (modify-phases %standard-phases
678 (add-after 'unpack 'patch-docbook-xml
679 (lambda* (#:key inputs #:allow-other-keys)
680 (with-directory-excursion "doc/libzeitgeist"
681 (substitute* "zeitgeist-gtkdoc-index.sgml"
682 (("http://www.oasis-open.org/docbook/xml/4.3/")
683 (string-append (assoc-ref inputs "docbook-xml")
684 "/xml/dtd/docbook/"))))
685 #t))
686 (add-after 'patch-docbook-xml 'disable-failing-tests
687 (lambda _
688 (substitute* "test/direct/Makefile.am"
689 ((" log-test ")
690 ""))
691 (substitute* "test/c/Makefile.am"
692 ((" test-log ")
693 ""))
694 #t))
695 (add-before 'bootstrap 'remove-autogen-script
696 (lambda _
697 ;; To honor `autoreconf -vif` by build-system.
698 (delete-file "autogen.sh")
699 #t)))))
700 (native-inputs
701 `(("autoconf" ,autoconf)
702 ("automake" ,automake)
703 ("docbook-xml" ,docbook-xml-4.3)
704 ("gettext" ,gettext-minimal)
705 ("gobject-introspection" ,gobject-introspection)
706 ("gtk-doc" ,gtk-doc)
707 ("libtool" ,libtool)
708 ("pkg-config" ,pkg-config)
709 ("vala" ,vala)
710 ("xorg-server-for-tests" ,xorg-server-for-tests)))
711 (inputs
712 `(("dee-icu" ,dee)
713 ("gtk+" ,gtk+)
714 ("json-glib" ,json-glib)
715 ("sqlite" ,sqlite)
716 ("telepathy-glib" ,telepathy-glib)
717 ("python" ,python-wrapper)
718 ("python-rdflib" ,python-rdflib)
719 ("xapian-config" ,xapian)))
720 (propagated-inputs
721 `(("glib" ,glib)))
722 (synopsis "Desktop Activity Logging")
723 (description "Zeitgeist is a service which logs the users’s activities and
724events, anywhere from files opened to websites visited and conversations. It
725makes this information readily available for other applications to use. It is
726able to establish relationships between items based on similarity and usage
727patterns.")
728 (home-page "https://zeitgeist.freedesktop.org/")
729 (license
730 ;; Dual-licensed
731 (list
732 license:lgpl2.1+
733 license:gpl2+))))
734
56db7a66
RG
735(define-public gnome-photos
736 (package
737 (name "gnome-photos")
738 (version "3.34.2")
739 (source
740 (origin
741 (method url-fetch)
742 (uri
743 (string-append "mirror://gnome/sources/" name "/"
744 (version-major+minor version) "/"
745 name "-" version ".tar.xz"))
746 (sha256
747 (base32
748 "06ml5sf8xhpan410msqz085hmfc7082d368pb82yq646y9pcfn9w"))))
749 (build-system meson-build-system)
750 (arguments
751 `(#:glib-or-gtk? #t
752 #:configure-flags
753 (list "-Ddogtail=false" ; Not available
754 ;; Required for RUNPATH validation.
755 (string-append "-Dc_link_args=-Wl,-rpath="
756 (assoc-ref %outputs "out") "/lib/gnome-photos"))
757 #:phases
758 (modify-phases %standard-phases
759 (add-after 'install 'wrap-gnome-photos
760 (lambda* (#:key inputs outputs #:allow-other-keys)
761 (let*
762 ((out (assoc-ref outputs "out")))
763 (wrap-program (string-append out "/bin/gnome-photos")
764 `("GRL_PLUGIN_PATH" = (,(getenv "GRL_PLUGIN_PATH")))))
765 #t)))))
766 (native-inputs
767 `(("dbus" ,dbus)
768 ("desktop-file-utils" ,desktop-file-utils)
769 ("gettext" ,gettext-minimal)
770 ("git" ,git-minimal)
771 ("glib:bin" ,glib "bin")
772 ("gobject-introspection" ,gobject-introspection)
773 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
774 ("gtk+:bin" ,gtk+ "bin")
775 ("itstool" ,itstool)
776 ("pkg-config" ,pkg-config)))
777 (inputs
778 `(("babl" ,babl)
779 ("cairo" ,cairo)
780 ("gdk-pixbuf" ,gdk-pixbuf+svg)
781 ("gegl" ,gegl)
782 ("geocode-glib" ,geocode-glib)
783 ("gexiv2" ,gexiv2)
784 ("gnome-online-accounts" ,gnome-online-accounts)
785 ("gnome-online-miners" ,gnome-online-miners)
786 ("grilo" ,grilo)
787 ("grilo-plugins" ,grilo-plugins)
788 ("gtk+" ,gtk+)
789 ("libdazzle" ,libdazzle)
790 ("libgdata" ,libgdata)
791 ("libgfbgraph" ,gfbgraph)
792 ("libjpeg" ,libjpeg-turbo)
793 ("libpng" ,libpng)
794 ("librest" ,rest)
795 ("pygobject" ,python-pygobject)
796 ("tracker" ,tracker)
797 ("tracker-miners" ,tracker-miners)))
798 (synopsis "Access, organize and share your photos on GNOME desktop")
799 (description "GNOME Photos is a simple and elegant replacement for using a
800file manager to deal with photos. Enhance, crop and edit in a snap. Seamless
801cloud integration is offered through GNOME Online Accounts.")
802 (home-page "https://wiki.gnome.org/Apps/Photos")
803 (license license:gpl3+)))
804
1aefe650
RG
805(define-public gnome-music
806 (package
807 (name "gnome-music")
808 (version "3.34.5")
809 (source
810 (origin
811 (method url-fetch)
812 (uri
813 (string-append "mirror://gnome/sources/" name "/"
814 (version-major+minor version) "/"
815 name "-" version ".tar.xz"))
816 (sha256
817 (base32
818 "1r5sfw5cbd6qqh27lzhblazir0bfi3k7nqppw66qw990isqm5psy"))))
819 (build-system meson-build-system)
820 (arguments
821 `(#:glib-or-gtk? #t
822 #:phases
823 (modify-phases %standard-phases
824 (add-after 'install 'wrap-gnome-music
825 (lambda* (#:key inputs outputs #:allow-other-keys)
826 (let*
827 ((out (assoc-ref outputs "out"))
828 (pylib (string-append out "/lib/python"
829 ,(version-major+minor
830 (package-version python))
831 "/site-packages")))
832 (wrap-program (string-append out "/bin/gnome-music")
833 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))
834 `("GST_PLUGIN_SYSTEM_PATH" = (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
835 `("GRL_PLUGIN_PATH" = (,(getenv "GRL_PLUGIN_PATH")))
836 `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))))
837 #t)))))
838 (native-inputs
839 `(("desktop-file-utils" ,desktop-file-utils)
840 ("gettext" ,gettext-minimal)
841 ("glib:bin" ,glib "bin")
842 ("gobject-introspection" ,gobject-introspection)
843 ("gtk+:bin" ,gtk+ "bin")
844 ("itstools" ,itstool)
845 ("pkg-config" ,pkg-config)))
846 (inputs
847 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
848 ("grilo" ,grilo)
849 ("grilo-plugins" ,grilo-plugins)
850 ("gst-plugins-base" ,gst-plugins-base)
851 ("gstreamer" ,gstreamer)
852 ("gvfs" ,gvfs)
853 ("libdazzle" ,libdazzle)
854 ("libmediaart" ,libmediaart)
855 ("libsoup" ,libsoup)
856 ("pycairo" ,python-pycairo)
857 ("pygobject" ,python-pygobject)
858 ("tracker" ,tracker)
859 ("tracker-miners" ,tracker-miners)))
860 (synopsis "Simple music player for GNOME desktop")
861 (description "GNOME Music is the new GNOME music playing application that
862aims to combine an elegant and immersive browsing experience with simple
863and straightforward controls.")
864 (home-page "https://wiki.gnome.org/Apps/Music")
865 (license license:gpl2+)))
866
72fd1b3f
RG
867(define-public portablexdr
868 (package
869 (name "portablexdr")
870 (version "4.9.1")
871 (source
872 (origin
873 (method url-fetch)
874 (uri
875 (string-append "https://people.redhat.com/~rjones/" name "/files/"
876 name "-" version ".tar.gz"))
877 (sha256
878 (base32
879 "0b77ipvvi520nv7rr6jb1c3xryhc3m2mywhby7m48kfgag8vvx2w"))))
880 (build-system gnu-build-system)
881 (synopsis "External Data Representation Library")
882 (description "PortableXDR is an implementation of External Data
883Representation (XDR) Library. It is a standard data serialization format, for
884uses such as computer network protocols. It allows data to be transferred
885between different kinds of computer systems.")
886 (home-page "https://people.redhat.com/~rjones/portablexdr/")
887 (license
888 (list
889 license:gpl2+
890 license:lgpl2.1+))))
891
30003a64
RG
892(define-public tepl
893 (package
894 (name "tepl")
895 (version "4.4.0")
896 (source
897 (origin
898 (method url-fetch)
899 (uri
900 (string-append "mirror://gnome/sources/" name "/"
901 (version-major+minor version) "/"
902 name "-" version ".tar.xz"))
903 (sha256
904 (base32
905 "0mm2z849hnni7597an05mrv0dckrxjngpf2xfa0g5s17i8x6gxp6"))))
906 (build-system glib-or-gtk-build-system)
907 (arguments
908 `(#:tests? #f)) ; FIX-ME: Requires gvfs
909 (native-inputs
910 `(("gobject-introspection" ,gobject-introspection)
911 ("pkg-config" ,pkg-config)))
912 (inputs
913 `(("amtk" ,amtk)
914 ("glib" ,glib)
915 ("gtk+" ,gtk+)
916 ("gtksourceview" ,gtksourceview)
917 ("libxml2" ,libxml2)
918 ("uchardet" ,uchardet)))
919 (synopsis "Text editor product line")
920 (description "Tepl is a library that eases the development of
921GtkSourceView-based text editors and IDEs.")
922 (home-page "https://wiki.gnome.org/Projects/Tepl")
923 (license license:lgpl2.1+)))
924
2e6bc595
RG
925(define-public krb5-auth-dialog
926 (package
927 (name "krb5-auth-dialog")
928 (version "3.26.1")
929 (source
930 (origin
931 (method url-fetch)
932 (uri
933 (string-append "mirror://gnome/sources/" name "/"
934 (version-major+minor version) "/"
935 name "-" version ".tar.xz"))
936 (sha256
937 (base32
938 "1w91gsvmifqhiam3xqf88i5rk2w6qadjalmbvvamjdc37j0vdc6x"))))
939 (build-system glib-or-gtk-build-system)
940 (native-inputs
941 `(("intltool" ,intltool)
942 ("itstool" ,itstool)
943 ("libxml2" ,libxml2)
944 ("pkg-config" ,pkg-config)
945 ("python-wrapper" ,python-wrapper)))
946 (inputs
947 `(("glib" ,glib)
948 ("gtk+" ,gtk+)
949 ("libnotify" ,libnotify)
950 ("mit-krb5" ,mit-krb5)
951 ("network-manager" ,network-manager)))
952 (synopsis "Popup dialogs for Kerberos 5")
953 (description "krb5-auth-dialog is a simple dialog that monitors Kerberos
954tickets, and pops up a dialog when they are about to expire.")
955 (home-page "https://gitlab.gnome.org/GNOME/krb5-auth-dialog")
956 (license license:gpl2+)))
957
a3cbcbaf
RG
958(define-public notification-daemon
959 (package
960 (name "notification-daemon")
961 (version "3.20.0")
962 (source
963 (origin
964 (method url-fetch)
965 (uri
966 (string-append "mirror://gnome/sources/" name "/"
967 (version-major+minor version) "/"
968 name "-" version ".tar.xz"))
969 (sha256
970 (base32
971 "1rgchqi4j2ll7d6a7lgy7id0w9rrkwkgic1096fbm2zx6n7pc4yx"))))
972 (build-system glib-or-gtk-build-system)
973 (native-inputs
974 `(("intltool" ,intltool)
975 ("pkg-config" ,pkg-config)))
976 (inputs
977 `(("glib" ,glib)
978 ("gtk+" ,gtk+)
979 ("x11" ,libx11)))
980 (synopsis "Notification Daemon for GNOME Desktop")
981 (description "Notification-Daemon is the server implementation of the
982freedesktop.org desktop notification specification.")
983 (home-page "https://wiki.gnome.org/Projects/NotificationDaemon")
984 (license license:gpl2+)))
985
4e8bdbf8
RG
986(define-public mm-common
987 (package
988 (name "mm-common")
553f2f3f 989 (version "1.0.1")
4e8bdbf8
RG
990 (source (origin
991 (method url-fetch)
02cb4ca7 992 (uri (string-append "mirror://gnome/sources/mm-common/"
4e8bdbf8 993 (version-major+minor version) "/"
02cb4ca7 994 "mm-common-" version ".tar.xz"))
4e8bdbf8
RG
995 (sha256
996 (base32
553f2f3f 997 "1jasx9a9g7nqf7jcv3mrg4qh5cp9sq724jxjaz4wa1dzmxsxg8i8"))))
4e8bdbf8
RG
998 (build-system meson-build-system)
999 (arguments
1000 `(#:phases
1001 (modify-phases %standard-phases
1002 (add-after 'unpack 'patch
1003 (lambda* (#:key inputs #:allow-other-keys)
1004 (substitute* "util/mm-common-prepare.in"
1005 (("ln") (string-append (assoc-ref inputs "coreutils")
1006 "/bin/ln"))
1007 (("cp") (string-append (assoc-ref inputs "coreutils")
1008 "/bin/cp"))
1009 (("sed") (string-append (assoc-ref inputs "sed")
1010 "/bin/sed"))
1011 (("cat") (string-append (assoc-ref inputs "coreutils")
1012 "/bin/cat")))
1013 #t)))))
1014 (native-inputs
4e8bdbf8 1015 `(("coreutils" ,coreutils)
74a65885
DM
1016 ("gettext" ,gettext-minimal)
1017 ("pkg-config" ,pkg-config)
4e8bdbf8 1018 ("sed" ,sed)))
74a65885
DM
1019 (inputs
1020 `(("python" ,python)))
4e8bdbf8
RG
1021 (synopsis "Module of GNOME C++ bindings")
1022 (description "The mm-common module provides the build infrastructure
1023and utilities shared among the GNOME C++ binding libraries. Release
1024archives of mm-common include the Doxygen tag file for the GNU C++
1025Library reference documentation.")
1026 (home-page "https://gitlab.gnome.org/GNOME/mm-common")
1027 (license license:gpl2+)))
1028
e05ce17d
RG
1029(define-public phodav
1030 (package
1031 (name "phodav")
1c17a61b 1032 (version "2.5")
e05ce17d
RG
1033 (source (origin
1034 (method url-fetch)
1035 (uri (string-append "mirror://gnome/sources/" name "/"
1036 (version-major+minor version) "/"
1037 name "-" version ".tar.xz"))
1038 (sha256
1039 (base32
1c17a61b 1040 "045rdzf8isqmzix12lkz6z073b5qvcqq6ad028advm5gf36skw3i"))))
e05ce17d 1041 (build-system meson-build-system)
1c17a61b
TGR
1042 (arguments
1043 `(#:phases
1044 (modify-phases %standard-phases
1045 (add-before 'check 'start-virtual-dir-server
1046 ;; The same server when started by tests/virtual-dir returns an
1047 ;; unexpected status (4 instead of 200) and fails a test. It is
1048 ;; unclear why starting it manually here makes it pass.
1049 (lambda _
1050 (system "tests/virtual-dir-server &")
1051 #t)))))
e05ce17d 1052 (native-inputs
1c17a61b
TGR
1053 `(("docbook-xml" ,docbook-xml-4.3)
1054 ("gettext" ,gettext-minimal)
e05ce17d
RG
1055 ("glib:bin" ,glib "bin")
1056 ("gtk-doc" ,gtk-doc)
1057 ("pkg-config" ,pkg-config)))
1058 (inputs
1059 `(("avahi" ,avahi)
1060 ("libgudev" ,libgudev)
1061 ("libsoup" ,libsoup)))
1062 (synopsis "WebDav server implementation using libsoup")
1063 (description "PhoDav was initially developed as a file-sharing mechanism for Spice,
1064but it is generic enough to be reused in other projects,
1065in particular in the GNOME desktop.")
1066 (home-page "https://wiki.gnome.org/phodav")
1067 (license license:lgpl2.1+)))
1068
29ae18db
RG
1069(define-public gnome-color-manager
1070 (package
1071 (name "gnome-color-manager")
1072 (version "3.32.0")
1073 (source (origin
1074 (method url-fetch)
1075 (uri (string-append "mirror://gnome/sources/" name "/"
1076 (version-major+minor version) "/"
1077 name "-" version ".tar.xz"))
1078 (sha256
1079 (base32
1080 "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"))))
1081 (build-system meson-build-system)
1082 (arguments
1083 `(#:glib-or-gtk? #t
1084 #:phases
1085 (modify-phases %standard-phases
1086 (add-before
1087 'check 'pre-check
1088 (lambda _
1089 ;; Tests require a running X server.
1090 (system "Xvfb :1 &")
1091 (setenv "DISPLAY" ":1")
1092 #t)))))
1093 (native-inputs
1094 `(("desktop-file-utils" ,desktop-file-utils)
1095 ("gettext" ,gettext-minimal)
1096 ("glib:bin" ,glib "bin")
1097 ("gtk+:bin" ,gtk+ "bin")
1098 ("itstool" ,itstool)
1099 ("pkg-config" ,pkg-config)
1100 ("xorg-server" ,xorg-server-for-tests)))
1101 (inputs
1102 `(("adwaita-icon-theme" ,adwaita-icon-theme)
1103 ("appstream-glib" ,appstream-glib)
1104 ("colord-gtk" ,colord-gtk)
1105 ("exiv2" ,exiv2)
1106 ("gnome-desktop" ,gnome-desktop)
1107 ("libcanberra" ,libcanberra)
1108 ("libexif" ,libexif)
1109 ("libtiff" ,libtiff)
1110 ("libxrandr" ,libxrandr)
1111 ("libxtst" ,libxtst)
1112 ("libxxf86vm" ,libxxf86vm)
1113 ("vte" ,vte)
1114 ("xorgproto" ,xorgproto)))
1115 (synopsis "Color profile manager for the GNOME desktop")
1116 (description "GNOME Color Manager is a session framework that makes
1117it easy to manage, install and generate color profiles
1118in the GNOME desktop.")
1119 (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
7bd000d1 1120 (license license:gpl2+)))
29ae18db 1121
e05471a1
RG
1122(define-public gnome-online-miners
1123 (package
1124 (name "gnome-online-miners")
49dcd7fc 1125 (version "3.34.0")
e05471a1
RG
1126 (source (origin
1127 (method url-fetch)
1128 (uri (string-append "mirror://gnome/sources/" name "/"
1129 (version-major+minor version) "/"
1130 name "-" version ".tar.xz"))
1131 (sha256
1132 (base32
49dcd7fc 1133 "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44"))))
e05471a1
RG
1134 (build-system glib-or-gtk-build-system)
1135 (native-inputs
1136 `(("gettext" ,gettext-minimal)
1137 ("glib:bin" ,glib "bin")
29ae18db 1138 ("gobject-introspection" ,gobject-introspection)
e05471a1
RG
1139 ("gtk+:bin" ,gtk+ "bin")
1140 ("pkg-config" ,pkg-config)))
1141 (inputs
1142 `(("gnome-online-accounts" ,gnome-online-accounts)
1143 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
e05471a1
RG
1144 ("grilo" ,grilo)
1145 ("libgdata" ,libgdata)
1146 ("libgfbgraph" ,gfbgraph)
1147 ("libzapojit" ,libzapojit)
1148 ("rest" ,rest)
1149 ("tracker" ,tracker)))
1150 (synopsis "Web Crawlers for GNOME")
1151 (description "GNOME Online Miners provides a set of crawlers that
1152go through your online content and index them locally in Tracker.
1153It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
1154 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
7bd000d1 1155 (license license:gpl2+)))
e05471a1 1156
e2aed29c
RG
1157(define-public gssdp
1158 (package
1159 (name "gssdp")
c257e0ec 1160 (version "1.2.3")
e2aed29c
RG
1161 (source (origin
1162 (method url-fetch)
1163 (uri (string-append "mirror://gnome/sources/" name "/"
1164 (version-major+minor version) "/"
1165 name "-" version ".tar.xz"))
1166 (sha256
1167 (base32
c257e0ec 1168 "1s57i8a8wnnxnsfl27cq4503dkdlzbrhry5zpg23sfqfffvdqqx2"))))
e2aed29c
RG
1169 (build-system meson-build-system)
1170 (native-inputs
1171 `(("gettext" ,gettext-minimal)
1172 ("glib:bin" ,glib "bin")
1173 ("gobject-introspection" ,gobject-introspection)
1174 ("gtk-doc" ,gtk-doc)
1175 ("pkg-config" ,pkg-config)
1176 ("vala" ,vala)))
1177 (inputs
1178 `(("gtk+" ,gtk+)
1179 ("libsoup" ,libsoup)))
1180 (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery
1181Protocol} for GNOME")
1182 (description "This package provides a library to handle resource discovery
1183and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and
1184a debugging tool, @command{gssdp-device-sniffer}.")
1185 (home-page "https://gitlab.gnome.org/GNOME/gssdp")
1186 (license license:lgpl2.0+)))
1187
291a85b2
RG
1188(define-public gupnp
1189 (package
1190 (name "gupnp")
5b882f47 1191 (version "1.2.4")
291a85b2
RG
1192 (source (origin
1193 (method url-fetch)
1194 (uri (string-append "mirror://gnome/sources/" name "/"
1195 (version-major+minor version) "/"
1196 name "-" version ".tar.xz"))
1197 (sha256
1198 (base32
5b882f47 1199 "1ld7mrpdv9cszmfzh7i19qx4li25j3fr7x1jp38l8phzlmz3187p"))))
291a85b2
RG
1200 (build-system meson-build-system)
1201 (native-inputs
1202 `(("gettext" ,gettext-minimal)
1203 ("glib:bin" ,glib "bin")
1204 ("gobject-introspection" ,gobject-introspection)
1205 ("gtk-doc" ,gtk-doc)
1206 ("pkg-config" ,pkg-config)
1207 ("vala" ,vala)))
1208 (inputs
1209 `(("gssdp" ,gssdp)
1210 ("gtk+" ,gtk+)
1211 ("libsoup" ,libsoup)))
1212 (synopsis "PnP API for GNOME")
1213 (description "This package provides GUPnP, an object-oriented framework
1214for creating UPnP devices and control points, written in C using
1215@code{GObject} and @code{libsoup}.")
1216 (home-page "https://gitlab.gnome.org/GNOME/gupnp")
1217 (license license:lgpl2.0+)))
1218
747d7fe4
RG
1219(define-public gupnp-dlna
1220 (package
1221 (name "gupnp-dlna")
1222 (version "0.10.5")
1223 (source (origin
1224 (method url-fetch)
1225 (uri (string-append "mirror://gnome/sources/" name "/"
1226 (version-major+minor version) "/"
1227 name "-" version ".tar.xz"))
1228 (sha256
1229 (base32
1230 "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj"))))
1231 (build-system gnu-build-system)
1232 (native-inputs
1233 `(("gettext" ,gettext-minimal)
1234 ("glib:bin" ,glib "bin")
1235 ("gobject-introspection" ,gobject-introspection)
1236 ("gtk-doc" ,gtk-doc)
1237 ("libxml" ,libxml2)
1238 ("pkg-config" ,pkg-config)
1239 ("vala" ,vala)))
1240 (inputs
1241 `(("gstreamer" ,gstreamer)
1242 ("gupnp" ,gupnp)))
1243 (propagated-inputs
1244 `(("gst-plugins-base" ,gst-plugins-base)
1245 ("gst-plugins-good" ,gst-plugins-good)))
1246 (synopsis "GUPnP DLNA for GNOME")
1247 (description "This package provides a small utility library to
1248support DLNA-related tasks such as media profile guessing, transcoding to a
1249given profile, etc. DLNA is a subset of UPnP A/V.")
1250 (home-page "https://gitlab.gnome.org/GNOME/gupnp-dlna")
1251 (license license:lgpl2.0+)))
1252
1b4cb628
RG
1253(define-public gupnp-av
1254 (package
1255 (name "gupnp-av")
1256 (version "0.12.11")
1257 (source (origin
1258 (method url-fetch)
1259 (uri (string-append "mirror://gnome/sources/" name "/"
1260 (version-major+minor version) "/"
1261 name "-" version ".tar.xz"))
1262 (sha256
1263 (base32
1264 "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8"))))
1265 (build-system gnu-build-system)
1266 (native-inputs
1267 `(("gettext" ,gettext-minimal)
1268 ("glib:bin" ,glib "bin")
1269 ("gobject-introspection" ,gobject-introspection)
1270 ("gtk-doc" ,gtk-doc)
1271 ("libxml" ,libxml2)
1272 ("pkg-config" ,pkg-config)))
1273 (inputs
1274 `(("gtk+" ,gtk+)
1275 ("gupnp" ,gupnp)))
1276 (synopsis "GUPnP A/V for GNOME")
1277 (description "This package provides a small library for handling
1278and implementation of UPnP A/V profiles.")
1279 (home-page "https://gitlab.gnome.org/GNOME/gupnp-av")
1280 (license license:lgpl2.0+)))
e05471a1 1281
02ebbca8
RG
1282(define-public libmediaart
1283 (package
1284 (name "libmediaart")
1285 (version "1.9.4")
1286 (source (origin
1287 (method url-fetch)
1288 (uri (string-append "mirror://gnome/sources/" name "/"
1289 (version-major+minor version) "/"
1290 name "-" version ".tar.xz"))
1291 (sha256
1292 (base32
1293 "0gc10imyabk57ar54m0qzms0x9dnmkymhkzyk8w1aj3y4lby0yx5"))))
1294 (build-system gnu-build-system)
1295 (native-inputs
1296 `(("glib:bin" ,glib "bin")
1297 ("pkg-config" ,pkg-config)))
1298 (inputs
1299 `(("gdk-pixbuf" ,gdk-pixbuf)
1300 ("gettext" ,gettext-minimal)
1301 ("gobject-introspection" ,gobject-introspection)
1302 ("gtk+:doc", gtk+ "doc")
1303 ("vala" ,vala)))
1304 (synopsis "Media art library for the GNOME desktop")
1305 (description
1306 "The libmediaart library is the foundation for media art caching,
1307extraction, and lookup for applications on the desktop.")
1308 (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
1309 (license license:lgpl2.1+)))
1310
a26680eb
RG
1311(define-public gnome-initial-setup
1312 (package
1313 (name "gnome-initial-setup")
1314 (version "3.32.1")
1315 (source (origin
1316 (method url-fetch)
1317 (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
1318 (version-major+minor version)
1319 "/gnome-initial-setup-" version ".tar.xz"))
1320 (sha256
1321 (base32
1322 "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
1323 (build-system meson-build-system)
1324 (arguments
a65cc579
DM
1325 '(#:configure-flags '(;; Enable camera support for user selfie.
1326 "-Dcheese=auto"
c627e2cb
LC
1327 "-Dsystemd=false")
1328 #:phases (modify-phases %standard-phases
1329 (add-after 'unpack 'set-gkbd-file-name
1330 (lambda* (#:key inputs #:allow-other-keys)
1331 ;; Allow the "Preview" button in the keyboard layout
1332 ;; selection dialog to display the layout.
1333 (let ((libgnomekbd (assoc-ref inputs "libgnomekbd")))
1334 (substitute* "gnome-initial-setup/pages/keyboard/cc-input-chooser.c"
1335 (("\"gkbd-keyboard-display")
1336 (string-append "\"" libgnomekbd
1337 "/bin/gkbd-keyboard-display")))
1338 #t))))))
a26680eb
RG
1339 (native-inputs
1340 `(("gettext" ,gettext-minimal)
1341 ("glib:bin" ,glib "bin")
1342 ("gobject-introspection" ,gobject-introspection)
1343 ("gtk+:bin" ,gtk+ "bin")
1344 ("pkg-config" ,pkg-config)))
1345 (inputs
1346 `(("accountsservice" ,accountsservice)
1347 ;("adwaita-icon-theme" ,adwaita-icon-theme)
1348 ("gdm" ,gdm)
1349 ("geoclue" ,geoclue)
1350 ("gnome-desktop" ,gnome-desktop)
1351 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
1352 ("gnome-online-accounts" ,gnome-online-accounts)
1353 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1354 ("gstreamer" ,gstreamer)
1355 ("ibus" ,ibus)
1356 ("json-glib" ,json-glib)
1357 ("krb5" ,mit-krb5)
1358 ("libgweather" ,libgweather)
8d9477b8 1359 ("libnma" ,libnma)
a26680eb
RG
1360 ("libsecret" ,libsecret)
1361 ("network-manager" ,network-manager)
a26680eb
RG
1362 ("packagekit" ,packagekit)
1363 ("polkit" ,polkit)
1364 ("pwquality" ,libpwquality)
1365 ("rest" ,rest)
1366 ("upower" ,upower)
c627e2cb
LC
1367 ("webkitgtk" ,webkitgtk)
1368 ("libgnomekbd" ,libgnomekbd)))
a26680eb 1369 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
1370 (description "This package provides a set-up wizard when a
1371user logs into GNOME for the first time. It typically provides a
1372tour of all gnome components and allows the user to set them up.")
a26680eb
RG
1373 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
1374 (license license:gpl2)))
1375
b5f01392
RG
1376(define-public gnome-user-share
1377 (package
1378 (name "gnome-user-share")
1379 (version "3.33.1")
1380 (source (origin
1381 (method url-fetch)
1382 (uri (string-append "mirror://gnome/sources/" name "/"
1383 (version-major+minor version) "/"
1384 name "-" version ".tar.xz"))
1385 (sha256
1386 (base32
1387 "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7"))))
1388 (build-system meson-build-system)
1389 (arguments
1390 `(#:glib-or-gtk? #t
1391 #:configure-flags
1392 `("-Dsystemd=false"
1393 ;; Enable nautilus extension for file sharing.
1394 "-Dnautilus_extension=true")))
1395 (native-inputs
1396 `(("gettext" ,gettext-minimal)
1397 ("glib:bin" ,glib "bin")
1398 ("gobject-introspection" ,gobject-introspection)
1399 ("gtk+:bin" ,gtk+ "bin")
1400 ("pkg-config" ,pkg-config)
1401 ("yelp-tools" ,yelp-tools)))
1402 (inputs
1403 `(("glib" ,glib)
1404 ("gnome-bluetooth" ,gnome-bluetooth)
1405 ("gtk+" ,gtk+)
1406 ("libcanberra" ,libcanberra)
1407 ("libnotify" ,libnotify)
1408 ("nautilus" ,nautilus))) ; For nautilus extension.
1409 (synopsis "File sharing for GNOME desktop")
1410 (description "GNOME User Share is a small package that binds together
1411various free software projects to bring easy to use user-level file
1412sharing to the masses.")
1413 (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
2aeca24b 1414 (license license:gpl2+)))
b5f01392 1415
04b201bb
RG
1416(define-public sushi
1417 (package
1418 (name "sushi")
1419 (version "3.32.1")
1420 (source (origin
1421 (method url-fetch)
1422 (uri (string-append "mirror://gnome/sources/" name "/"
1423 (version-major+minor version) "/"
1424 name "-" version ".tar.xz"))
1425 (sha256
1426 (base32
1427 "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj"))))
1428 (build-system meson-build-system)
1429 (arguments
1430 `(#:glib-or-gtk? #t
1431 #:phases
1432 (modify-phases %standard-phases
1433 (add-after 'glib-or-gtk-wrap 'wrap-typelib
1434 (lambda* (#:key outputs #:allow-other-keys)
1435 (let ((prog (string-append (assoc-ref outputs "out")
1436 "/bin/sushi")))
1437 ;; Put existing typelibs before sushi's deps, so as to correctly
1438 ;; infer gdk-pixbuf
1439 (wrap-program prog
1440 `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH"))))
1441 #t))))))
1442 (native-inputs
1443 `(("glib:bin" ,glib "bin")
1444 ("gettext" ,gettext-minimal)
1445 ("gobject-introspection" ,gobject-introspection)
1446 ("pkg-config" ,pkg-config)))
1447 (inputs
1448 `(("clutter" ,clutter)
1449 ("clutter-gst" ,clutter-gst)
1450 ("clutter-gtk" ,clutter-gtk)
1451 ("evince" ,evince) ; For file previewing.
1452 ("freetype" ,freetype)
1453 ("gdk-pixbuf" ,gdk-pixbuf)
1454 ("gjs" ,gjs)
1455 ("gst-plugins-base" ,gst-plugins-base)
1456 ("gstreamer" ,gstreamer)
1457 ("gtksourceview" ,gtksourceview-3)
1458 ("harfbuzz" ,harfbuzz)
1459 ("libepoxy" ,libepoxy)
1460 ("libmusicbrainz" ,libmusicbrainz)
1461 ("libxml2" ,libxml2)
1462 ("neon" ,neon)
1463 ("webkitgtk" ,webkitgtk)))
1464 (synopsis "File previewer for the GNOME desktop")
1465 (description "Sushi is a DBus-activated service that allows applications to
1466preview files on the GNOME desktop.")
1467 (home-page "https://gitlab.gnome.org/GNOME/sushi")
1468 (license license:gpl2+)))
1469
89af0902
RG
1470(define-public rygel
1471 (package
1472 (name "rygel")
1473 (version "0.38.3")
1474 (source (origin
1475 (method url-fetch)
1476 (uri (string-append "mirror://gnome/sources/" name "/"
1477 (version-major+minor version) "/"
1478 name "-" version ".tar.xz"))
1479 (sha256
1480 (base32
1481 "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8"))))
1482 (build-system gnu-build-system)
1483 (native-inputs
1484 `(("gettext" ,gettext-minimal)
1485 ("gobject-introspection" ,gobject-introspection)
1486 ("gtk-doc" ,gtk-doc)
1487 ("pkg-config" ,pkg-config)
1488 ("vala" ,vala)))
1489 (inputs
1490 `(("gdk-pixbuf" ,gdk-pixbuf)
1491 ("gssdp" ,gssdp)
1492 ("gstreamer" ,gstreamer)
1493 ("gst-plugins-base" ,gst-plugins-base)
1494 ("gtk+" ,gtk+)
1495 ("gupnp" ,gupnp)
1496 ("gupnp-av" ,gupnp-av)
1497 ("gupnp-dlna" ,gupnp-dlna)
1498 ("libgee" ,libgee)
1499 ("libmediaart" ,libmediaart)
1500 ("libsoup" ,libsoup)
1501 ("libxslt" ,libxslt)
1502 ("libunistring" ,libunistring)
1503 ("tracker" ,tracker)))
1504 (synopsis "Share audio, video, and pictures with other devices")
1505 (description
1506 "Rygel is a home media solution (@dfn{UPnP AV MediaServer and
1507MediaRenderer}) for GNOME that allows you to easily share audio, video, and
1508pictures, and to control a media player on your home network.
1509
1510Rygel achieves interoperability with other devices by trying to conform to the
1511strict requirements of DLNA and by converting media on-the-fly to formats that
1512client devices can handle.")
1513 (home-page "https://wiki.gnome.org/Projects/Rygel")
1514 (license (list
1515 ;; For logo (data/icons/*).
1516 license:cc-by-sa3.0
1517 ;; For all others.
1518 license:lgpl2.1+))))
1519
47e87093
RG
1520(define-public libnma
1521 (package
b1da33d9
BW
1522 (name "libnma")
1523 (version "1.8.28")
1524 (source (origin
1525 (method url-fetch)
1526 (uri (string-append "mirror://gnome/sources/" name "/"
1527 (version-major+minor version) "/"
1528 name "-" version ".tar.xz"))
1529 (sha256
1530 (base32
1531 "09mp6k0hfam1vyyv9kcd8j4gb2r58i05ipx2nswb58ris599bxja"))))
1532 (build-system meson-build-system)
1533 (arguments
1534 `(#:phases
1535 (modify-phases %standard-phases
1536 (add-after 'unpack 'patch-docbook-xml
1537 (lambda* (#:key inputs #:allow-other-keys)
1538 (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
1539 "/xml/dtd/docbook")))
1540 (substitute* "libnma-docs.xml"
1541 (("http://.*/docbookx\\.dtd")
1542 (string-append xmldoc "/docbookx.dtd")))
1543 #t))))))
1544 (native-inputs
1545 `(("docbook-xml" ,docbook-xml-4.3)
1546 ("gettext" ,gettext-minimal)
1547 ("glib:bin" ,glib "bin")
1548 ("gtk-doc" ,gtk-doc)
1549 ("gobject-introspection" ,gobject-introspection)
1550 ("pkg-config" ,pkg-config)
1551 ("vala" ,vala)))
1552 (inputs
1553 `(("gcr" ,gcr)
1554 ("gtk+" ,gtk+)
1555 ("iso-codes" ,iso-codes)
1556 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
1557 ("network-manager" ,network-manager)))
1558 (synopsis "Network Manager's applet library")
1559 (description "Libnma is an applet library for Network Manager. It was
47e87093
RG
1560initially part of network-manager-applet and has now become a separate
1561project.")
c25ca6b7
BW
1562 (home-page "https://gitlab.gnome.org/GNOME/libnma")
1563 ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
1564 ;; "LGPL-2.1+".
1565 (license license:gpl2+)))
47e87093 1566
30416265
RG
1567(define-public gnome-menus
1568 (package
1569 (name "gnome-menus")
1570 (version "3.32.0")
1571 (source (origin
1572 (method url-fetch)
1573 (uri (string-append "mirror://gnome/sources/gnome-menus/"
1574 (version-major+minor version) "/"
1575 name "-" version ".tar.xz"))
1576 (sha256
1577 (base32
1578 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
1579 (build-system gnu-build-system)
1580 (native-inputs
1581 `(("gettext" ,gettext-minimal)
1582 ("glib" ,glib)
1583 ("pkg-config" ,pkg-config)))
1584 (synopsis "Menu support for GNOME desktop")
1585 (description "GNOME Menus contains the libgnome-menu library, the layout
1586configuration files for the GNOME menu, as well as a simple menu editor.")
1587 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 1588 (license license:lgpl2.0+)))
30416265 1589
d61a894b
CB
1590(define-public deja-dup
1591 (package
1592 (name "deja-dup")
899ffa13 1593 (version "40.6")
d61a894b 1594 (source (origin
899ffa13
BW
1595 (method url-fetch)
1596 (uri (string-append "https://gitlab.gnome.org/World/deja-dup/-/archive/"
1597 version "/deja-dup-" version ".tar.bz2"))
1598 (sha256
1599 (base32
1600 "0lwazh6crby5wpy9fg6zvwy4plqbhs2f98bm5lbizjdlbh88n5q0"))))
1601 (build-system meson-build-system)
d61a894b 1602 (arguments
899ffa13
BW
1603 `(#:glib-or-gtk? #t
1604 #:configure-flags
1605 (list
1606 ;; Otherwise, the RUNPATH will lack the final path component.
1607 (string-append "-Dc_link_args=-Wl,-rpath="
1608 (assoc-ref %outputs "out") "/lib/deja-dup"))
d61a894b
CB
1609 #:phases
1610 (modify-phases %standard-phases
899ffa13
BW
1611 (add-after 'unpack 'patch-paths
1612 (lambda* (#:key inputs #:allow-other-keys)
1613 (let ((python (assoc-ref inputs "python")))
1614 (substitute* '("libdeja/tools/duplicity/DuplicityInstance.vala"
1615 "libdeja/tests/scripts/instance-error.test")
1616 (("/bin/rm")
1617 (which "rm")))
1618 (substitute* "libdeja/tests/runner.vala"
1619 (("/bin/sh")
1620 (which "sh")))
1621 (substitute* "libdeja/tests/scripts/instance-error.test"
1622 (("`which python3`")
1623 (string-append python "/bin/python3"))))))
1624 (add-after 'unpack 'patch-libgpg-error
1625 (lambda* (#:key inputs #:allow-other-keys)
1626 (let ((libgpg-error (assoc-ref inputs "libgpg-error")))
1627 (substitute* "meson.build"
1628 (("(gpgerror_libs = ).*" _ var)
1629 (format #f "~a '-L~a/lib -lgpg-error'\n" var libgpg-error))))
1630 #t))
1631 (add-after 'unpack 'skip-gtk-update-icon-cache
1632 ;; Don't create 'icon-theme.cache'.
1633 (lambda _
1634 (substitute* "data/post-install.sh"
1635 (("gtk-update-icon-cache") "true"))
1636 #t)))))
d61a894b
CB
1637 (inputs
1638 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
d61a894b 1639 ("duplicity" ,duplicity)
899ffa13
BW
1640 ("python" ,python)
1641 ("python-pygobject" ,python-pygobject)
d61a894b 1642 ("gtk+" ,gtk+)
899ffa13 1643 ("json-glib" ,json-glib)
d61a894b 1644 ("libnotify" ,libnotify)
899ffa13 1645 ("libgpg-error" ,libgpg-error)
d61a894b 1646 ("libsecret" ,libsecret)
899ffa13 1647 ("libsoup" ,libsoup)
d61a894b
CB
1648 ("packagekit" ,packagekit)))
1649 (native-inputs
899ffa13
BW
1650 `(("appstream-glib" ,appstream-glib)
1651 ("desktop-file-utils" ,desktop-file-utils)
d61a894b 1652 ("gettext" ,gettext-minimal)
899ffa13
BW
1653 ("glib" ,glib "bin") ; for glib-compile-schemas.
1654 ("gobject-introspection" ,gobject-introspection)
d61a894b 1655 ("itstool" ,itstool)
899ffa13
BW
1656 ("pkg-config" ,pkg-config)
1657 ("vala" ,vala)))
1658 (home-page "https://wiki.gnome.org/Apps/DejaDup")
d61a894b
CB
1659 (synopsis "Simple backup tool, for regular encrypted backups")
1660 (description
1661 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
1662uses duplicity as the backend, which supports incremental backups and storage
1663either on a local, or remote machine via a number of methods.")
1664 (license license:gpl3+)))
1665
823b77fb
RG
1666(define-public gnome-user-docs
1667 (package
1668 (name "gnome-user-docs")
1669 (version "3.32.3")
1670 (source
1671 (origin
1672 (method url-fetch)
1673 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
1674 (version-major+minor version)
1675 "/gnome-user-docs-" version ".tar.xz"))
1676 (sha256
1677 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
1678 (build-system gnu-build-system)
1679 (native-inputs
1680 `(("gettext" ,gettext-minimal)
1681 ("itstool" ,itstool)
1682 ("pkg-config" ,pkg-config)
1683 ("xmllint" ,libxml2)))
1684 (synopsis "User documentation for the GNOME desktop")
1685 (description
1686 "The GNOME User Documentation explains how to use the GNOME desktop and its
1687components. It covers usage and setup of the core GNOME programs by end-users
1688and system administrators.")
1689 (home-page "https://live.gnome.org/DocumentationProject")
1690 (license license:cc-by3.0)))
1691
be93299d
RG
1692(define-public gnome-getting-started-docs
1693 (package
1694 (name "gnome-getting-started-docs")
1695 (version "3.32.2")
1696 (source
1697 (origin
1698 (method url-fetch)
1699 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
1700 (version-major+minor version)
1701 "/gnome-getting-started-docs-" version ".tar.xz"))
1702 (sha256
1703 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
1704 (build-system gnu-build-system)
1705 (native-inputs
1706 `(("gettext" ,gettext-minimal)
1707 ("itstool" ,itstool)
1708 ("pkg-config" ,pkg-config)
1709 ("xmllint" ,libxml2)))
1710 (synopsis "Help to get new users started with the GNOME desktop")
1711 (description
1712 "The GNOME Getting Started Documentation contains GNOME's intuitive
1713\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
1714
1715It is normally used together with @command{gnome-initial-setup}, but is also
1716useful as a tutorial and users' guide for new or less experienced users.")
1717 (home-page "https://live.gnome.org/DocumentationProject")
1718 (license license:cc-by-sa3.0)))
1719
a56be436
RJ
1720(define-public dia
1721 ;; This version from GNOME's repository includes fixes for compiling with
1722 ;; recent versions of the build tools. The latest activity on the
1723 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
f8687cb2
TGR
1724 ;; fixes since.
1725 (let ((commit "3cf7ec4c2e5bca139a7f3e17f9fc9009c237fcc5")
1726 (revision "2"))
a56be436
RJ
1727 (package
1728 (name "dia")
f8687cb2 1729 (version (git-version "0.97.3" revision commit))
a56be436
RJ
1730 (source (origin
1731 (method git-fetch)
1732 (uri (git-reference
914c8cdf 1733 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 1734 (commit commit)))
914c8cdf 1735 (file-name (git-file-name name version))
a56be436
RJ
1736 (sha256
1737 (base32
f8687cb2
TGR
1738 "04r8dspa6nmicrifhi3sh46hqvyy88hzq37xx99q3q1mwsrpmwy8"))))
1739 (build-system meson-build-system)
a56be436 1740 (inputs
f8687cb2 1741 `(("graphene" ,graphene)
a56be436
RJ
1742 ("gtk+" ,gtk+-2)
1743 ("libxml2" ,libxml2)
f8687cb2
TGR
1744 ("libxslt" ,libxslt)
1745 ("poppler" ,poppler)
1746 ;; Without Python 2, build fails: plug-ins/python/meson.build:4:0:
1747 ;; ERROR: Unknown method "dependency" in object.
1748 ("python-2" ,python-2)))
a56be436 1749 (native-inputs
f8687cb2
TGR
1750 `(("appstream-glib" ,appstream-glib)
1751 ("docbook-xsl" ,docbook-xsl)
a315afa3 1752 ("glib" ,glib "bin")
f8687cb2
TGR
1753 ("intltool" ,intltool)
1754 ("pkg-config" ,pkg-config)))
a56be436
RJ
1755 (home-page "https://wiki.gnome.org/Apps/Dia")
1756 (synopsis "Diagram creation for GNOME")
1757 (description "Dia can be used to draw different types of diagrams, and
1758includes support for UML static structure diagrams (class diagrams), entity
1759relationship modeling, and network diagrams. The program supports various file
1760formats like PNG, SVG, PDF and EPS.")
1761 (license license:gpl2+))))
1762
d0b19e44
RW
1763;; This is the unstable release, but it is required for the current stable
1764;; release of gvfs (1.38.1).
adc5cb1b
KK
1765(define-public libgdata
1766 (package
1767 (name "libgdata")
d0b19e44 1768 (version "0.17.9")
adc5cb1b
KK
1769 (source (origin
1770 (method url-fetch)
1771 (uri (string-append "mirror://gnome/sources/" name "/"
1772 (version-major+minor version) "/"
1773 name "-" version ".tar.xz"))
1774 (sha256
1775 (base32
d0b19e44 1776 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
1777 (build-system gnu-build-system)
1778 (arguments
1779 '(#:phases
1780 (modify-phases %standard-phases
448052b7
TGR
1781 (add-before 'check 'disable-failing-tests
1782 (lambda _
1783 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
1784 ;; They have been removed in libgdata 0.17.6, so just do the same.
1785 (substitute* "gdata/tests/Makefile"
1786 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
1787 #t)))))
1788 (native-inputs
1789 `(("glib:bin" ,glib "bin")
1790 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1791 ("intltool" ,intltool)
1792 ("pkg-config" ,pkg-config)
1793 ("uhttpmock" ,uhttpmock)))
1794 (inputs
1795 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 1796 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
1797 (propagated-inputs
1798 `(("gcr" ,gcr)
d0b19e44 1799 ("glib" ,glib)
14c297fd 1800 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 1801 ("json-glib" ,json-glib)
adc5cb1b 1802 ("liboauth" ,liboauth)
d0b19e44 1803 ("libsoup" ,libsoup)
adc5cb1b
KK
1804 ("libxml2" ,libxml2)))
1805 (home-page "https://wiki.gnome.org/Projects/libgdata")
1806 (synopsis "Library for accessing online service APIs")
1807 (description
1808 "libgdata is a GLib-based library for accessing online service APIs using
1809the GData protocol — most notably, Google's services. It provides APIs to
1810access the common Google services, and has full asynchronous support.")
1811 (license license:lgpl2.1+)))
1812
94e10cf4
KK
1813(define-public libgxps
1814 (package
1815 (name "libgxps")
66470a5a 1816 (version "0.3.1")
94e10cf4
KK
1817 (source (origin
1818 (method url-fetch)
7f10628c 1819 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
1820 (version-major+minor version) "/"
1821 name "-" version ".tar.xz"))
1822 (sha256
1823 (base32
66470a5a 1824 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 1825 (build-system meson-build-system)
94e10cf4
KK
1826 (native-inputs
1827 `(("gobject-introspection" ,gobject-introspection)
1828 ("pkg-config" ,pkg-config)))
1829 (inputs
c8d62d93 1830 `(("gtk+" ,gtk+)
b6b3e512 1831 ("libjpeg" ,libjpeg-turbo)
94e10cf4 1832 ("lcms" ,lcms)
0a6e9e13 1833 ("libtiff" ,libtiff)))
c8d62d93
MB
1834 (propagated-inputs
1835 ;; In Requires of libgxps.pc.
1836 `(("cairo" ,cairo)
1837 ("glib" ,glib)
1838 ("libarchive" ,libarchive)))
94e10cf4
KK
1839 (home-page "https://wiki.gnome.org/Projects/libgxps")
1840 (synopsis "GObject-based library for handling and rendering XPS documents")
1841 (description
1842 "libgxps is a GObject-based library for handling and rendering XPS
1843documents. This package also contains binaries that can convert XPS documents
1844to other formats.")
1845 (license license:lgpl2.1+)))
1846
4e09f57a
RG
1847(define-public gnome-characters
1848 (package
1849 (name "gnome-characters")
1850 (version "3.30.0")
1851 (source
1852 (origin
1853 (method url-fetch)
1854 (uri (string-append "mirror://gnome/sources/"
1855 "gnome-characters/" (version-major+minor version)
1856 "/gnome-characters-" version ".tar.xz"))
1857 (sha256
1858 (base32
1859 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
1860 (build-system meson-build-system)
5757c641 1861 (arguments
1862 `(#:glib-or-gtk? #t
1863 #:phases (modify-phases %standard-phases
1864 (add-after 'install 'wrap
1865 (lambda* (#:key outputs #:allow-other-keys)
1866 ;; GNOME Characters needs Typelib files from GTK and
1867 ;; gnome-desktop.
1868 (wrap-program (string-append (assoc-ref outputs "out")
1869 "/bin/gnome-characters")
1870 `("GI_TYPELIB_PATH" ":" prefix
1871 (,(getenv "GI_TYPELIB_PATH"))))
1872 #t)))))
4e09f57a
RG
1873 (native-inputs
1874 `(("gettext" ,gettext-minimal)
1875 ("glib:bin" ,glib "bin")
1876 ("gtk+:bin" ,gtk+ "bin")
1877 ("pkg-config" ,pkg-config)
1878 ("python" ,python-minimal)))
1879 (inputs
1880 `(("gjs" ,gjs)
1881 ("gtk+" ,gtk+)
5757c641 1882 ("libunistring" ,libunistring)
1883 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
1884 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
1885 (synopsis "Find and insert unusual characters")
1886 (description "Characters is a simple utility application to find
1887and insert unusual characters. It allows you to quickly find the
1888character you are looking for by searching for keywords.")
1889 (license license:bsd-3)))
1890
7aab13f1
ML
1891(define-public gnome-common
1892 (package
1893 (name "gnome-common")
af83490d 1894 (version "3.18.0")
7aab13f1
ML
1895 (source
1896 (origin
1897 (method url-fetch)
1898 (uri (string-append "mirror://gnome/sources/" name "/"
1899 (version-major+minor version) "/"
1900 name "-" version ".tar.xz"))
1901 (sha256
1902 (base32
af83490d 1903 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
1904 (build-system gnu-build-system)
1905 (home-page "https://www.gnome.org/")
1906 (synopsis "Bootstrap GNOME modules built from Git")
1907 (description "gnome-common contains various files needed to bootstrap
1908GNOME modules built from Git. It contains a common \"autogen.sh\" script that
1909can be used to configure a source directory checked out from Git and some
1910commonly used macros.")
1911 (license license:gpl2+)))
1912
4e868d22
RG
1913(define-public gnome-contacts
1914 (package
1915 (name "gnome-contacts")
b3492e39 1916 (version "3.34")
4e868d22
RG
1917 (source (origin
1918 (method url-fetch)
1919 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
1920 (version-major+minor version) "/"
1921 name "-" version ".tar.xz"))
1922 (sha256
1923 (base32
b3492e39 1924 "04igc9xvyc4kb5xf5g2missnvyvj9zv5cqxf5k4z7hb0sv42wq4r"))))
4e868d22
RG
1925 (build-system meson-build-system)
1926 (arguments
b3492e39
KK
1927 `(#:configure-flags '("-Dcheese=false")
1928 #:phases
4e868d22
RG
1929 (modify-phases %standard-phases
1930 (add-after 'unpack 'generate-vapis
1931 (lambda* (#:key inputs #:allow-other-keys)
1932 ;; To generate goa's missing .vapi file
1933 (define goa
1934 (assoc-ref inputs "gnome-online-accounts:lib"))
1935
1936 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
1937 "--library=goa-1.0"
1938 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
b3492e39
KK
1939 #t))
1940 (add-after 'unpack 'skip-gtk-update-icon-cache
1941 ;; Don't create 'icon-theme.cache'.
1942 (lambda _
1943 (substitute* "build-aux/meson_post_install.py"
1944 (("gtk-update-icon-cache") "true"))
4e868d22
RG
1945 #t)))))
1946 (native-inputs
1947 `(("glib:bin" ,glib "bin")
4e868d22
RG
1948 ("pkg-config" ,pkg-config)))
1949 (inputs
b3492e39 1950 `(("docbook-xml" ,docbook-xml)
4e868d22
RG
1951 ("dockbook-xsl" ,docbook-xsl)
1952 ("evolution-data-server" ,evolution-data-server)
1953 ("gettext" ,gettext-minimal)
1954 ("gnome-desktop" ,gnome-desktop)
1955 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1956 ("gobject-introspection" ,gobject-introspection)
1957 ("gst-plugins-base" ,gst-plugins-base)
1958 ("gtk+" ,gtk+)
1959 ("libgee" ,libgee)
1960 ("libxslt" ,libxslt)
1961 ("telepathy-glib" ,telepathy-glib)
1962 ("vala" ,vala)))
1963 (propagated-inputs
1964 `(("folks", folks)
1965 ("telepathy-mission-control" ,telepathy-mission-control)))
1966 (synopsis "GNOME's integrated address book")
1967 (description
1968 "GNOME Contacts organizes your contact information from online and
1969offline sources, providing a centralized place for managing your contacts.")
1970 (home-page "https://wiki.gnome.org/Apps/Contacts")
1971 (license license:gpl2+)))
1972
9cc98f8a
CR
1973(define-public gnome-desktop
1974 (package
1975 (name "gnome-desktop")
8a7afc81 1976 (version "3.34.2")
9cc98f8a
CR
1977 (source
1978 (origin
1979 (method url-fetch)
b38e45d8
EB
1980 (uri (string-append "mirror://gnome/sources/" name "/"
1981 (version-major+minor version) "/"
9cc98f8a
CR
1982 name "-" version ".tar.xz"))
1983 (sha256
1984 (base32
8a7afc81 1985 "1v983xirwp1y6ggz97bh742ak6gff0hxb359dgn37nikjxhvm0a0"))))
e8a26caa 1986 (build-system meson-build-system)
a0fe7c06
CB
1987 (arguments
1988 '(#:phases
1989 (modify-phases %standard-phases
1990 (add-before 'configure 'patch-path
1991 (lambda* (#:key inputs #:allow-other-keys)
1992 (let ((libc (assoc-ref inputs "libc")))
1993 (substitute* "libgnome-desktop/gnome-languages.c"
1994 (("\"locale\"")
1995 (string-append "\"" libc "/bin/locale\"")))
e8a26caa 1996 #t)))
3857aba7
CB
1997 (add-before 'configure 'patch-bubblewrap
1998 (lambda* (#:key inputs #:allow-other-keys)
1999 (substitute* "libgnome-desktop/gnome-desktop-thumbnail-script.c"
2000 (("\"bwrap\",")
2001 (string-append "\"" (which "bwrap") "\","))
2002 (("\"--ro-bind\", \"/usr\", \"/usr\",")
2003 (string-append "\"--ro-bind\", \""
2004 (%store-directory)
2005 "\", \""
2006 (%store-directory)
2007 "\","))
2008 (("\"--ro-bind\", \"/etc/ld.so.cache\", \"/etc/ld.so.cache\",") ""))
2009 #t))
e8a26caa
KK
2010 (add-before 'check 'pre-check
2011 (lambda* (#:key inputs #:allow-other-keys)
2012 ;; Tests require a running X server and locales.
2013 (system "Xvfb :1 &")
2014 (setenv "DISPLAY" ":1")
2015 (setenv "GUIX_LOCPATH"
2016 (string-append (assoc-ref inputs "glibc-locales")
2017 "/lib/locale"))
2018 #t)))))
9cc98f8a 2019 (native-inputs
e8a26caa
KK
2020 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
2021 ("glibc-locales" ,glibc-locales) ; for tests
2022 ("gobject-introspection" ,gobject-introspection)
a8340482 2023 ("itstool" ,itstool)
bcb354ad
SB
2024 ("intltool" ,intltool)
2025 ("pkg-config" ,pkg-config)
e8a26caa
KK
2026 ("xmllint" ,libxml2)
2027 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
2028 (propagated-inputs
2029 ;; Required by gnome-desktop-3.0.pc.
2030 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 2031 ("gtk+" ,gtk+)
9cc98f8a 2032 ("iso-codes" ,iso-codes)
9863ce20 2033 ("libseccomp" ,libseccomp)
9cc98f8a 2034 ("libx11" ,libx11)
e8a26caa
KK
2035 ("xkeyboard-config" ,xkeyboard-config)))
2036 (inputs
2037 `(("gdk-pixbuf" ,gdk-pixbuf)
2038 ("glib" ,glib)
3857aba7 2039 ("bubblewrap" ,bubblewrap)
9cc98f8a
CR
2040 ("libxext" ,libxext)
2041 ("libxkbfile" ,libxkbfile)
e8a26caa 2042 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
2043 (home-page "https://www.gnome.org/")
2044 (synopsis
35b9e423 2045 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
2046 (description
2047 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
2048on the desktop, but that cannot live in the platform for various reasons.
2049There is no API or ABI guarantee, although we are doing our best to provide
2050stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
2051
2052The gnome-about program helps find which version of GNOME is installed.")
2053 ; Some bits under the LGPL.
1dd26275 2054 (license license:gpl2+)))
9cc98f8a 2055
995b7261
AE
2056(define-public gnome-doc-utils
2057 (package
2058 (name "gnome-doc-utils")
2059 (version "0.20.10")
2060 (source
2061 (origin
2062 (method url-fetch)
b38e45d8
EB
2063 (uri (string-append "mirror://gnome/sources/" name "/"
2064 (version-major+minor version) "/"
995b7261
AE
2065 name "-" version ".tar.xz"))
2066 (sha256
2067 (base32
2068 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
2069 (build-system gnu-build-system)
c4c4cc05 2070 (native-inputs
995b7261 2071 `(("intltool" ,intltool)
b4ce6300 2072 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 2073 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
2074 ("libxml2" ,libxml2)
2075 ("libxslt" ,libxslt)
2076 ("pkg-config" ,pkg-config)
2077 ("python-2" ,python-2)))
995b7261
AE
2078 (home-page "https://wiki.gnome.org/GnomeDocUtils")
2079 (synopsis
2080 "Documentation utilities for the Gnome project")
2081 (description
2082 "Gnome-doc-utils is a collection of documentation utilities for the
2083Gnome project. It includes xml2po tool which makes it easier to translate
2084and keep up to date translations of documentation.")
1dd26275 2085 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 2086
6c4f7022
DC
2087(define-public gnome-disk-utility
2088 (package
2089 (name "gnome-disk-utility")
262e660e 2090 (version "3.34.0")
6c4f7022
DC
2091 (source (origin
2092 (method url-fetch)
2093 (uri (string-append "mirror://gnome/sources/" name "/"
2094 (version-major+minor version) "/"
2095 name "-" version ".tar.xz"))
2096 (sha256
2097 (base32
262e660e 2098 "1mb7q90lnlp97dhxhnadhjagcfd12dfqzp0vj9h6b1r61pzhy97y"))))
4b9a65bf 2099 (build-system meson-build-system)
321c73c3 2100 (arguments
262e660e
KK
2101 '(#:configure-flags '("-Dlogind=libelogind")
2102 #:phases
321c73c3
EF
2103 (modify-phases %standard-phases
2104 (add-after 'unpack 'skip-gtk-update-icon-cache
2105 ;; Don't create 'icon-theme.cache'.
2106 (lambda _
2107 (substitute* "meson_post_install.py"
2108 (("gtk-update-icon-cache") "true"))
2109 #t)))))
6c4f7022
DC
2110 (native-inputs
2111 `(("glib:bin" ,glib "bin")
2112 ("intltool" ,intltool)
2113 ("pkg-config" ,pkg-config)
2114 ("docbook-xml" ,docbook-xml)
2115 ("docbook-xsl" ,docbook-xsl)
2116 ("libxml2" ,libxml2)
2117 ("libxslt" ,libxslt)))
2118 (inputs
262e660e
KK
2119 `(("elogind" ,elogind)
2120 ("glib" ,glib)
6c4f7022
DC
2121 ("appstream-glib" ,appstream-glib)
2122 ("gnome-settings-daemon" ,gnome-settings-daemon)
2123 ("gtk+" ,gtk+)
2124 ("libcanberra" ,libcanberra)
2125 ("libdvdread" ,libdvdread)
2126 ("libnotify" ,libnotify)
2127 ("libpwquality" ,libpwquality)
2128 ("libsecret" ,libsecret)
2129 ("udisks" ,udisks)))
2130 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
2131 (synopsis "Disk management utility for GNOME")
2132 (description "Disk management utility for GNOME.")
2133 (license license:gpl2+)))
2134
3d217317
RG
2135(define-public gnome-font-viewer
2136 (package
2137 (name "gnome-font-viewer")
2138 (version "3.30.0")
2139 (source (origin
2140 (method url-fetch)
2141 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
2142 (version-major+minor version)
2143 "/gnome-font-viewer-" version ".tar.xz"))
2144 (sha256
2145 (base32
2146 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
2147 (build-system meson-build-system)
2148 (arguments
2149 '(#:phases
2150 (modify-phases %standard-phases
2151 (add-after 'unpack 'patch-post-install-script
2152 (lambda _
2153 (substitute* "meson-postinstall.sh"
2154 (("update-desktop-database") (which "true")))
2155 #t)))))
2156 (native-inputs
2157 `(("gettext" ,gettext-minimal)
2158 ("glib:bin" ,glib "bin")
2159 ("pkg-config" ,pkg-config)))
2160 (inputs
2161 `(("glib" ,glib)
2162 ("gnome-desktop" ,gnome-desktop)
2163 ("gtk+" ,gtk+)))
2164 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
2165 (synopsis "GNOME Fonts")
2166 (description "Application to show you the fonts installed on your computer
2167for your use as thumbnails. Selecting any thumbnails shows the full view of how
2168the font would look under various sizes.")
2169 (license license:gpl2+)))
2170
8ff49011
RW
2171(define-public gcr
2172 (package
2173 (name "gcr")
1de804da 2174 (version "3.34.0")
8ff49011 2175 (source (origin
0daf0efb
RW
2176 (method url-fetch)
2177 (uri (string-append "mirror://gnome/sources/" name "/"
2178 (version-major+minor version) "/"
2179 name "-" version ".tar.xz"))
2180 (sha256
2181 (base32
1de804da 2182 "0925snsixzkwh49xiayqmj6fcrmklqk8kyy0jkv7m64h9abm1pr9"))))
8ff49011
RW
2183 (build-system gnu-build-system)
2184 (arguments
0daf0efb
RW
2185 '(#:phases
2186 (modify-phases %standard-phases
2187 ;; These fail because /var/lib/dbus/machine-id is not present in the
2188 ;; build environment.
2189 (add-after 'unpack 'disable-failing-tests
2190 (lambda _
1de804da
MB
2191 (substitute* "Makefile.in"
2192 (("[[:blank:]]+test-system-prompt\\$\\(EXEEXT\\)")
2193 ""))
0daf0efb
RW
2194 #t))
2195 (add-before 'check 'pre-check
2196 (lambda _
2197 ;; Some tests expect to write to $HOME.
2198 (setenv "HOME" "/tmp")
2199 #t)))))
8ff49011
RW
2200 (inputs
2201 `(("dbus" ,dbus)
0daf0efb 2202 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
2203 ("libgcrypt" ,libgcrypt)))
2204 (native-inputs
1de804da 2205 `(("python" ,python-wrapper) ;for tests
8ff49011 2206 ("pkg-config" ,pkg-config)
1de804da 2207 ("gettext" ,gettext-minimal)
8ff49011 2208 ("glib" ,glib "bin")
2af4f5b0 2209 ("gobject-introspection" ,gobject-introspection)
0daf0efb 2210 ("libxml2" ,libxml2)
bea6b829 2211 ("vala" ,vala)
2af4f5b0 2212 ("xsltproc" ,libxslt)))
8ff49011
RW
2213 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
2214 (propagated-inputs
2215 `(("p11-kit" ,p11-kit)
2216 ("glib" ,glib)
2217 ("gtk+" ,gtk+)))
f032d0be 2218 (home-page "https://www.gnome.org")
8ff49011
RW
2219 (synopsis "Libraries for displaying certificates and accessing key stores")
2220 (description
2221 "The GCR package contains libraries used for displaying certificates and
2222accessing key stores. It also provides the viewer for crypto files on the
2223GNOME Desktop.")
2224 (license license:lgpl2.1+)))
2225
88e61bd4
MC
2226(define-public gdl
2227 (package
2228 (name "gdl")
2229 (version "3.34.0")
2230 (source (origin
2231 (method git-fetch)
2232 (uri (git-reference
2233 (url "https://gitlab.gnome.org/GNOME/gdl.git")
2234 (commit (string-append "GDL_" (string-map (match-lambda
2235 (#\. #\_)
2236 (c c))
2237 version)))))
2238 (file-name (git-file-name name version))
2239 (sha256
2240 (base32
2241 "154qcr0x6f68f4q526y87imv0rscmp34n47nk1pp82rsq52h2zna"))))
2242 (build-system gnu-build-system)
88e61bd4
MC
2243 (native-inputs
2244 `(("autoconf" ,autoconf)
2245 ("automake" ,automake)
2246 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
2247 ("gnome-common" ,gnome-common)
2248 ("gtk-doc" ,gtk-doc)
2249 ("intltool" ,intltool)
2250 ("pkg-config" ,pkg-config)
2251 ("libtool" ,libtool)
2252 ("which" ,which)))
2253 (inputs
2254 `(("libxml2" ,libxml2)))
2255 (propagated-inputs
2256 ;; The gdl-3.0.pc file 'Requires' GTK+.
2257 `(("gtk+" ,gtk+)))
2258 (home-page "https://gitlab.gnome.org/GNOME/gdl/")
2259 (synopsis "GNOME docking library")
2260 (description "This library provides docking features for gtk+.")
2261 (license license:lgpl2.1+)))
2262
ca3adf26
MC
2263;;; A minimal variant used to break a cycle with Inkscape.
2264(define-public gdl-minimal
2265 (package
2266 (inherit gdl)
2267 (name "gdl-minimal")
2268 (arguments
70cf0113
EF
2269 '(#:phases
2270 (modify-phases %standard-phases
2271 (add-after 'unpack 'disable-doc-generation
2272 ;; XXX: There is no easy way to disable generating the
2273 ;; documentation.
2274 (lambda _
2275 (substitute* "configure.in"
2276 (("GTK_DOC_CHECK.*") "")
2277 (("docs/.*") ""))
2278 (substitute* "Makefile.am"
2279 (("gdl docs po") "gdl po"))
2280 #t)))))
ca3adf26
MC
2281 (native-inputs (alist-delete "gtk-doc" (package-native-inputs gdl)))))
2282
c1354b90
LC
2283(define-public libgnome-keyring
2284 (package
2285 (name "libgnome-keyring")
5e8aec2c 2286 (version "3.12.0")
c1354b90
LC
2287 (source (origin
2288 (method url-fetch)
b38e45d8
EB
2289 (uri (string-append "mirror://gnome/sources/" name "/"
2290 (version-major+minor version) "/"
2291 name "-" version ".tar.xz"))
c1354b90
LC
2292 (sha256
2293 (base32
5e8aec2c 2294 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 2295 (build-system gnu-build-system)
c1354b90 2296 (inputs
c4c4cc05 2297 `(("libgcrypt" ,libgcrypt)
c1354b90 2298 ("dbus" ,dbus)))
c4c4cc05
JD
2299 (native-inputs
2300 `(("pkg-config" ,pkg-config)
426adbe8 2301 ("glib" ,glib "bin")
c4c4cc05 2302 ("intltool" ,intltool)))
c1354b90
LC
2303 (propagated-inputs
2304 ;; Referred to in .h files and .pc.
2305 `(("glib" ,glib)))
f032d0be 2306 (home-page "https://www.gnome.org")
c1354b90
LC
2307 (synopsis "Accessing passwords from the GNOME keyring")
2308 (description
2309 "Client library to access passwords from the GNOME keyring.")
2310
2311 ;; Though a couple of files are LGPLv2.1+.
1dd26275 2312 (license license:lgpl2.0+)))
c1354b90 2313
e99a3d6f
RW
2314(define-public gnome-keyring
2315 (package
2316 (name "gnome-keyring")
14faeadd 2317 (version "3.34.0")
e99a3d6f
RW
2318 (source (origin
2319 (method url-fetch)
2320 (uri (string-append "mirror://gnome/sources/" name "/"
2321 (version-major+minor version) "/"
2322 name "-" version ".tar.xz"))
2323 (sha256
2324 (base32
14faeadd 2325 "0hqrsh5g9q9lm190f0m85q4nki8k4ng7wphl6qbccdry59aakkg9"))))
e99a3d6f
RW
2326 (build-system gnu-build-system)
2327 (arguments
2328 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
2329 ;not exist
2330 #:configure-flags
2331 (list
2332 (string-append "--with-pkcs11-config="
2333 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
2334 (string-append "--with-pkcs11-modules="
2335 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
2336 #:phases
2337 (modify-phases %standard-phases
ab35cc6e
RW
2338 (add-after 'unpack 'fix-/bin/sh-reference
2339 (lambda _
2340 (substitute* "po/Makefile.in.in"
2341 (("/bin/sh") (which "sh")))
2342 #t))
5120f24f
RW
2343 (add-after 'unpack 'fix-docbook
2344 (lambda* (#:key inputs #:allow-other-keys)
2345 (substitute* "docs/Makefile.am"
2346 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2347 (string-append (assoc-ref inputs "docbook-xsl")
2348 "/xml/xsl/docbook-xsl-"
2349 ,(package-version docbook-xsl)
2350 "/manpages/docbook.xsl")))
2351 (setenv "XML_CATALOG_FILES"
2352 (string-append (assoc-ref inputs "docbook-xml")
2353 "/xml/dtd/docbook/catalog.xml"))
2354 ;; Rerun the whole thing to avoid version mismatch ("This is
2355 ;; Automake 1.15.1, but the definition used by this
2356 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
2357 ;; use 'autoreconf' because it insists on running 'libtoolize'.
2358 (invoke "autoconf")
2359 (invoke "aclocal")
2360 (invoke "automake" "-ac"))))))
e99a3d6f
RW
2361 (inputs
2362 `(("libgcrypt" ,libgcrypt)
1a0b2d82 2363 ("linux-pam" ,linux-pam)
ab35cc6e 2364 ("openssh" ,openssh)
e99a3d6f
RW
2365 ("dbus" ,dbus)
2366 ("gcr" ,gcr)))
2367 (native-inputs
2368 `(("pkg-config" ,pkg-config)
2369 ("glib" ,glib "bin")
5120f24f 2370 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
2371 ("python" ,python-2) ;for tests
2372 ("intltool" ,intltool)
2373 ("autoconf" ,autoconf)
2374 ("automake" ,automake)
2375 ("libxslt" ,libxslt) ;for documentation
2376 ("docbook-xml" ,docbook-xml-4.2)
2377 ("docbook-xsl" ,docbook-xsl)))
f032d0be 2378 (home-page "https://www.gnome.org")
e99a3d6f
RW
2379 (synopsis "Daemon to store passwords and encryption keys")
2380 (description
2381 "gnome-keyring is a program that keeps passwords and other secrets for
2382users. It is run as a daemon in the session, similar to ssh-agent, and other
2383applications locate it via an environment variable or D-Bus.
2384
2385The program can manage several keyrings, each with its own master password,
2386and there is also a session keyring which is never stored to disk, but
2387forgotten when the session ends.")
2388 (license license:lgpl2.1+)))
2389
c1354b90
LC
2390(define-public evince
2391 (package
2392 (name "evince")
de08b5b2 2393 (version "3.36.5")
c1354b90
LC
2394 (source (origin
2395 (method url-fetch)
ac631328 2396 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 2397 (version-major+minor version) "/"
ac631328 2398 "evince-" version ".tar.xz"))
c1354b90
LC
2399 (sha256
2400 (base32
de08b5b2 2401 "0z79jl0j9xq9wgwkfr0d1w1qrdy4447y8shs407n5srr0vixc3bg"))))
121de2e1 2402 (build-system glib-or-gtk-build-system)
c1354b90 2403 (arguments
169b8f77 2404 `(#:configure-flags '("--disable-nautilus" "--enable-introspection")
554b2dac
SB
2405 #:phases
2406 (modify-phases %standard-phases
2407 (add-before 'install 'skip-gtk-update-icon-cache
2408 ;; Don't create 'icon-theme.cache'.
2409 (lambda _
2410 (substitute* "data/Makefile"
2411 (("gtk-update-icon-cache") "true"))
2412 #t)))))
c1354b90 2413 (inputs
9a096881
KK
2414 `(("libarchive" ,libarchive)
2415 ("libgxps" ,libgxps)
2416 ("libspectre" ,libspectre)
c769cf9f 2417 ("djvulibre" ,djvulibre)
c1354b90
LC
2418 ("ghostscript" ,ghostscript)
2419 ("poppler" ,poppler)
c769cf9f
SB
2420 ("libtiff" ,libtiff)
2421 ;; TODO:
c769cf9f
SB
2422 ;; Build libkpathsea as a shared library for DVI support.
2423 ;; ("libkpathsea" ,texlive-bin)
2424 ("gnome-desktop" ,gnome-desktop)
c1354b90 2425 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 2426 ("gspell" ,gspell)
c1354b90 2427 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 2428 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
2429 ("gdk-pixbuf" ,gdk-pixbuf)
2430 ("atk" ,atk)
2431 ("pango" ,pango)
2432 ("gtk+" ,gtk+)
2433 ("glib" ,glib)
2434 ("libxml2" ,libxml2)
c1354b90
LC
2435 ("libsm" ,libsm)
2436 ("libice" ,libice)
96e42467 2437 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
2438 ("dconf" ,dconf)
2439 ("libcanberra" ,libcanberra)
c769cf9f 2440 ("libsecret" ,libsecret)
a271096b 2441
c1354b90
LC
2442 ;; For tests.
2443 ("dogtail" ,python2-dogtail)))
96e42467 2444 (native-inputs
bcb354ad
SB
2445 `(("itstool" ,itstool)
2446 ("intltool" ,intltool)
426adbe8 2447 ("glib" ,glib "bin")
169b8f77 2448 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
2449 ("pkg-config" ,pkg-config)
2450 ("xmllint" ,libxml2)))
6f64a05e 2451 (home-page "https://www.gnome.org/projects/evince/")
c1354b90
LC
2452 (synopsis "GNOME's document viewer")
2453 (description
2454 "Evince is a document viewer for multiple document formats. It
2455currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
2456of Evince is to replace the multiple document viewers that exist
96e42467 2457on the GNOME Desktop with a single simple application.")
1dd26275 2458 (license license:gpl2+)))
c1354b90 2459
22e32e69
AE
2460(define-public gsettings-desktop-schemas
2461 (package
2462 (name "gsettings-desktop-schemas")
8468117e 2463 (version "3.34.0")
22e32e69
AE
2464 (source
2465 (origin
2466 (method url-fetch)
2467 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2468 (version-major+minor version) "/"
22e32e69
AE
2469 name "-" version ".tar.xz"))
2470 (sha256
2471 (base32
8468117e 2472 "1bayr76aylawf2fhyjhv9zgk4kpv7ivrrmd80khb0h3h1wk092r8"))))
c900dabd 2473 (build-system meson-build-system)
65209ffa
LC
2474 (arguments
2475 '(#:phases (modify-phases %standard-phases
3861fb1c 2476 (add-after 'unpack 'patch-schemas
65209ffa 2477 (lambda* (#:key inputs #:allow-other-keys)
65209ffa
LC
2478 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
2479 (substitute* (find-files "schemas"
2480 "\\.gschema\\.xml\\.in$")
3861fb1c
LP
2481 ;; Provide the correct file name of the default GNOME
2482 ;; background, 'adwaita-timed.xml'.
65209ffa 2483 (("@datadir@/backgrounds/gnome")
3861fb1c
LP
2484 (string-append theme "/share/backgrounds/gnome"))
2485 ;; Do not reference fonts, that may not exist.
2486 (("'Source Code Pro 10'") "'Monospace 11'"))
65209ffa 2487 #t))))))
22e32e69 2488 (inputs
65209ffa
LC
2489 `(("glib" ,glib)
2490 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
2491 (native-inputs
2492 `(("intltool" ,intltool)
426adbe8 2493 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 2494 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
2495 ("pkg-config" ,pkg-config)))
2496 (home-page "https://launchpad.net/gsettings-desktop-schemas")
2497 (synopsis
2498 "GNOME settings for various desktop components")
2499 (description
2500 "Gsettings-desktop-schemas contains a collection of GSettings schemas
2501for settings shared by various components of the GNOME desktop.")
1dd26275 2502 (license license:lgpl2.1+)))
22e32e69 2503
27477d2d
AE
2504(define-public icon-naming-utils
2505 (package
2506 (name "icon-naming-utils")
2507 (version "0.8.90")
2508 (source
2509 (origin
2510 (method url-fetch)
5cc3096c 2511 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
2512 version ".tar.bz2"))
2513 (sha256
2514 (base32
2515 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
2516 (build-system gnu-build-system)
2517 (inputs
2518 `(("perl" ,perl)
2519 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
2520 (arguments
2521 '(#:phases
dc1d3cde
KK
2522 (modify-phases %standard-phases
2523 (add-after 'install 'set-load-paths
2524 ;; Tell 'icon-name-mapping' where XML::Simple is.
2525 (lambda* (#:key outputs #:allow-other-keys)
2526 (let* ((out (assoc-ref outputs "out"))
2527 (prog (string-append out "/libexec/icon-name-mapping")))
2528 (wrap-program
2529 prog
2530 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
2531 #t)))))
27477d2d
AE
2532 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
2533 (synopsis
2534 "Utility to implement the Freedesktop Icon Naming Specification")
2535 (description
2536 "To help with the transition to the Freedesktop Icon Naming
2537Specification, the icon naming utility maps the icon names used by the
2538GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 2539 (license license:lgpl2.1+)))
27477d2d 2540
7d3f3651
AE
2541(define-public gnome-icon-theme
2542 (package
2543 (name "gnome-icon-theme")
b32f58dd 2544 (version "3.12.0")
7d3f3651
AE
2545 (source
2546 (origin
2547 (method url-fetch)
2548 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2549 (version-major+minor version) "/"
7d3f3651
AE
2550 name "-" version ".tar.xz"))
2551 (sha256
2552 (base32
b32f58dd 2553 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 2554 (build-system gnu-build-system)
5613c27d
SB
2555 (arguments
2556 '(#:configure-flags
2557 ;; Don't create 'icon-theme.cache'.
2558 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
2559 (true (string-append coreutils "/bin/true")))
2560 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 2561 (native-inputs
5613c27d 2562 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
2563 ("intltool" ,intltool)
2564 ("pkg-config" ,pkg-config)))
5c610d4f
KK
2565 (home-page "https://wiki.gnome.org/Personalization")
2566 (synopsis "GNOME icon theme")
2567 (description "Icons for the GNOME desktop.")
1dd26275 2568 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 2569
14eeefa2
SB
2570;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
2571(define-public adwaita-icon-theme
2572 (package (inherit gnome-icon-theme)
2573 (name "adwaita-icon-theme")
e21788f2 2574 (version "3.34.3")
14eeefa2
SB
2575 (source (origin
2576 (method url-fetch)
2577 (uri (string-append "mirror://gnome/sources/" name "/"
2578 (version-major+minor version) "/"
2579 name "-" version ".tar.xz"))
2580 (sha256
2581 (base32
e21788f2 2582 "025rj1fskw1y448hiar4a9icyzpyr242nlh9xhsmyp8jb71dihp7"))))
5613c27d
SB
2583 (native-inputs
2584 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 2585
ae792dba
RW
2586(define-public tango-icon-theme
2587 (package
2588 (name "tango-icon-theme")
2589 (version "0.8.90")
2590 (source (origin
2591 (method url-fetch)
2592 (uri (string-append "http://tango.freedesktop.org/releases/"
2593 "tango-icon-theme-" version ".tar.bz2"))
2594 (sha256
2595 (base32
2596 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
2597 (build-system gnu-build-system)
2598 (native-inputs
2599 `(("icon-naming-utils" ,icon-naming-utils)
2600 ("intltool" ,intltool)
2601 ("imagemagick" ,imagemagick)
2602 ("pkg-config" ,pkg-config)))
2603 (home-page "http://tango-project.org/")
2604 (synopsis "Tango icon theme")
2605 (description "This is an icon theme that follows the Tango visual
2606guidelines.")
2607 (license license:public-domain)))
2608
9167f8e6
LC
2609(define-public shared-mime-info
2610 (package
2611 (name "shared-mime-info")
404e386e 2612 (version "1.15")
9167f8e6
LC
2613 (source (origin
2614 (method url-fetch)
404e386e
MB
2615 (uri (string-append
2616 "https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/"
2617 "b27eb88e4155d8fccb8bb3cd12025d5b/shared-mime-info-" version
2618 ".tar.xz"))
9167f8e6
LC
2619 (sha256
2620 (base32
404e386e 2621 "146vynj78wcwdq0ms52jzm1r4m6dzi1rhyh3h4xyb6bw8ckv10pl"))))
9167f8e6
LC
2622 (build-system gnu-build-system)
2623 (arguments
2624 ;; The build system appears not to be parallel-safe.
2625 '(#:parallel-build? #f))
2626 (inputs
2627 `(("glib" ,glib)
c4c4cc05 2628 ("libxml2" ,libxml2)))
9167f8e6 2629 (native-inputs
404e386e
MB
2630 `(("gettext" ,gettext-minimal)
2631 ("itstool" ,itstool)
c4c4cc05 2632 ("pkg-config" ,pkg-config)))
57e7d748 2633 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
2634 (synopsis "Database of common MIME types")
2635 (description
2636 "The shared-mime-info package contains the core database of common types
2637and the update-mime-database command used to extend it. It requires glib2 to
2638be installed for building the update command. Additionally, it uses intltool
2639for translations, though this is only a dependency for the maintainers. This
2640database is translated at Transifex.")
1dd26275 2641 (license license:gpl2+)))
9167f8e6 2642
dd1fcddc
CB
2643(define-public system-config-printer
2644 (package
2645 (name "system-config-printer")
fa01e10d 2646 (version "1.5.12")
a5643044
TGR
2647 (source
2648 (origin
2649 (method url-fetch)
2650 (uri (string-append
2651 "https://github.com/OpenPrinting/system-config-printer/releases/"
2652 "download/" version
2653 "/system-config-printer-" version ".tar.xz"))
2654 (sha256
fa01e10d 2655 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
2656 (build-system glib-or-gtk-build-system)
2657 (arguments
2658 `(#:imported-modules ((guix build python-build-system)
2659 ,@%glib-or-gtk-build-system-modules)
2660 #:phases
2661 (modify-phases %standard-phases
2662 (add-after 'unpack 'patch-Makefile.am
2663 (lambda _
2664 ;; The Makefile generates some scripts, so set a valid shebang
2665 (substitute* "Makefile.am"
2666 (("/bin/bash") (which "bash")))
2667 (delete-file "configure")
2668 #t))
2669 (add-after 'unpack 'patch-docbook-xml
2670 (lambda* (#:key inputs #:allow-other-keys)
2671 ;; Modify the man XML otherwise xmlto tries to access the network
2672 (substitute* "man/system-config-printer.xml"
2673 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
2674 (string-append (assoc-ref inputs "docbook-xml")
2675 "/xml/dtd/docbook/")))
2676 #t))
2677 (add-after 'install 'wrap-for-python
2678 (@@ (guix build python-build-system) wrap))
2679 (add-after 'install 'wrap
2680 (lambda* (#:key outputs #:allow-other-keys)
2681 (let ((out (assoc-ref outputs "out"))
2682 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
2683 (for-each
2684 (lambda (program)
2685 (wrap-program program
2686 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
2687 (map (lambda (name)
2688 (string-append out "/bin/" name))
2689 '("system-config-printer"
2690 "system-config-printer-applet"
2691 "install-printerdriver"
2692 "scp-dbus-service"))))
2693 #t)))))
2694 (inputs
2695 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2696 ("gobject-introspection" ,gobject-introspection)
2697 ("python" ,python)
2698 ("cups" ,cups)
92b9cdd5 2699 ("gtk+" ,gtk+)
dd1fcddc
CB
2700 ("python-dbus" ,python-dbus)
2701 ("python-pygobject" ,python-pygobject)
2702 ("python-pycups" ,python-pycups)
2703 ("python-requests" ,python-requests)
2704 ("python-pycairo" ,python-pycairo)
2705 ("libnotify" ,libnotify)
2706 ("packagekit" ,packagekit)))
2707 (native-inputs
2708 `(("pkg-config" ,pkg-config)
2709 ("desktop-file-utils" ,desktop-file-utils)
2710 ("glib" ,glib)
2711 ("autoconf" ,autoconf)
2712 ("automake" ,automake)
2713 ("intltool" ,intltool)
2714 ("xmlto" ,xmlto)
2715 ("docbook-xml" ,docbook-xml-4.1.2)
2716 ("docbook-xsl" ,docbook-xsl)
2717 ("libxml2" ,libxml2)))
2718 (home-page "https://github.com/zdohnal/system-config-printer")
2719 (synopsis "CUPS administration tool")
2720 (description
2721 "system-config-printer is a CUPS administration tool. It's written in
2722Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
2723configuring CUPS.")
2724 (license license:gpl2+)))
2725
bef4dd92
AE
2726(define-public hicolor-icon-theme
2727 (package
2728 (name "hicolor-icon-theme")
851cb6dd 2729 (version "0.17")
bef4dd92
AE
2730 (source
2731 (origin
2732 (method url-fetch)
5cc3096c 2733 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 2734 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
2735 (sha256
2736 (base32
851cb6dd 2737 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
2738 (build-system gnu-build-system)
2739 (arguments
2740 `(#:tests? #f)) ; no check target
57e7d748 2741 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
2742 (synopsis
2743 "Freedesktop icon theme")
2744 (description
2745 "Freedesktop icon theme.")
1dd26275 2746 (license license:gpl2)))
bef4dd92 2747
d9c1a22b
AE
2748(define-public libnotify
2749 (package
2750 (name "libnotify")
195bfa68 2751 (version "0.7.7")
d9c1a22b
AE
2752 (source
2753 (origin
2754 (method url-fetch)
2755 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2756 (version-major+minor version) "/"
d9c1a22b
AE
2757 name "-" version ".tar.xz"))
2758 (sha256
2759 (base32
195bfa68 2760 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 2761 (build-system gnu-build-system)
6acf6cec
MB
2762 (arguments
2763 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
2764 (propagated-inputs
2765 `(;; In Requires of libnotify.pc.
2766 ("gdk-pixbuf" ,gdk-pixbuf)
2767 ("glib" ,glib)))
d9c1a22b 2768 (inputs
7ef08efa 2769 `(("gtk+" ,gtk+)
c4c4cc05
JD
2770 ("libpng" ,libpng)))
2771 (native-inputs
426adbe8 2772 `(("pkg-config" ,pkg-config)
277a7d82
JN
2773 ("glib" ,glib "bin")
2774 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
2775 (home-page "https://developer-next.gnome.org/libnotify/")
2776 (synopsis
2777 "GNOME desktop notification library")
2778 (description
2779 "Libnotify is a library that sends desktop notifications to a
35b9e423 2780notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
2781notifications can be used to inform the user about an event or display
2782some form of information without getting in the user's way.")
1dd26275 2783 (license license:lgpl2.1+)))
7a8605ce
CR
2784
2785(define-public libpeas
2786 (package
2787 (name "libpeas")
f2d56e39 2788 (version "1.24.1")
7a8605ce
CR
2789 (source
2790 (origin
2791 (method url-fetch)
2792 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2793 (version-major+minor version) "/"
7a8605ce
CR
2794 name "-" version ".tar.xz"))
2795 (sha256
2796 (base32
f2d56e39
MB
2797 "1162dr7smmfb02czmhshr0f93hqj7w0nw29bys5lzfvwarxcyflw"))))
2798 (build-system meson-build-system)
2799 (arguments
2800 '(#:phases
2801 (modify-phases %standard-phases
2802 (add-before 'check 'start-xserver
2803 (lambda* (#:key inputs #:allow-other-keys)
2804 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2805 (disp ":1"))
2806 (setenv "DISPLAY" disp)
2807 ;; Tests require a running X server.
2808 (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))
2809 #t))))))
7a8605ce 2810 (inputs
2ed6522a
SB
2811 `(("gtk+" ,gtk+)
2812 ("glade" ,glade3)
2ed6522a
SB
2813 ("python" ,python)
2814 ("python-pygobject" ,python-pygobject)))
141aed80
LC
2815 (native-inputs
2816 `(("pkg-config" ,pkg-config)
f2d56e39 2817 ("gettext" ,gettext-minimal)
93622993 2818 ("glib:bin" ,glib "bin")
141aed80 2819 ("gobject-introspection" ,gobject-introspection)
f2d56e39 2820 ("xorg-server" ,xorg-server-for-tests)))
55b7bbd8
LC
2821 (propagated-inputs
2822 ;; The .pc file "Requires" gobject-introspection.
2823 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
2824 (home-page "https://wiki.gnome.org/Libpeas")
2825 (synopsis "GObject plugin system")
2826 (description
d1e4ad1b
TGR
2827 "Libpeas is a gobject-based plugin engine, targeted at giving every
2828application the chance to assume its own extensibility. It also has a set of
2829features including, but not limited to: multiple extension points; on-demand
2830(lazy) programming language support for C, Python and JS; simplicity of the
2831API.")
1dd26275 2832 (license license:lgpl2.0+)))
ed19903d
JD
2833
2834(define-public gtkglext
2835 (package
2836 (name "gtkglext")
2837 (version "1.2.0")
2838 (source (origin
2839 (method url-fetch)
0f971a04 2840 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
2841 version "/gtkglext-" version ".tar.gz"))
2842 (sha256
2843 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
2844 (patches (search-patches
2845 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 2846 (build-system gnu-build-system)
14e2f61a
RW
2847 (arguments
2848 `(#:phases
2849 (modify-phases %standard-phases
2850 ;; Fix a collision between a local variable and a definition from
2851 ;; glibc's string.h.
2852 (add-after 'unpack 'fix-collision
2853 (lambda _
2854 (substitute* "gdk/gdkglshapes.c"
2855 ((" index") " triangle_index"))
2856 #t)))))
ed19903d
JD
2857 (inputs `(("gtk+" ,gtk+-2)
2858 ("mesa" ,mesa)
cc8b02f4 2859 ("glu" ,glu)
ed19903d
JD
2860 ("libx11" ,libx11)
2861 ("libxt" ,libxt)))
426adbe8
LC
2862 (native-inputs `(("pkg-config" ,pkg-config)
2863 ("glib" ,glib "bin")))
a83b6a06 2864 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 2865 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 2866 (synopsis "OpenGL extension to GTK+")
35b9e423 2867 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
2868additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
2869API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 2870 (license license:lgpl2.1+)))
3600420e
JD
2871
2872(define-public glade3
2873 (package
2874 (name "glade")
031315e4 2875 (version "3.36.0")
b38e45d8
EB
2876 (source (origin
2877 (method url-fetch)
2878 (uri (string-append "mirror://gnome/sources/" name "/"
2879 (version-major+minor version) "/"
f5ca44b8 2880 name "-" version ".tar.xz"))
3600420e 2881 (sha256
f714d9fe 2882 (base32
031315e4 2883 "023gx8rj51njn8fsb6ma5kz1irjpxi4js0n8rwy22inc4ysldd8r"))))
6983ba56 2884 (build-system glib-or-gtk-build-system)
f5ca44b8 2885 (arguments
ec8e1c91 2886 `(#:phases
f5ca44b8
RW
2887 (modify-phases %standard-phases
2888 (add-before 'configure 'fix-docbook
2889 (lambda* (#:key inputs #:allow-other-keys)
2890 (substitute* "man/Makefile.in"
2891 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2892 (string-append (assoc-ref inputs "docbook-xsl")
2893 "/xml/xsl/docbook-xsl-"
2894 ,(package-version docbook-xsl)
2895 "/manpages/docbook.xsl")))
ec8e1c91
AI
2896 #t))
2897 (add-before 'check 'pre-check
2898 (lambda _
2899 (setenv "HOME" "/tmp")
2900 ;; Tests require a running X server.
2901 (system "Xvfb :1 &")
2902 (setenv "DISPLAY" ":1")
f5ca44b8 2903 #t)))))
3600420e 2904 (inputs
f5ca44b8 2905 `(("gtk+" ,gtk+)
3600420e
JD
2906 ("libxml2" ,libxml2)))
2907 (native-inputs
ec8e1c91
AI
2908 `(("hicolor-icon-theme" ,hicolor-icon-theme)
2909 ("intltool" ,intltool)
f5ca44b8
RW
2910 ("itstool" ,itstool)
2911 ("libxslt" ,libxslt) ;for xsltproc
2912 ("docbook-xml" ,docbook-xml-4.2)
2913 ("docbook-xsl" ,docbook-xsl)
2914 ("python" ,python-2)
ec8e1c91
AI
2915 ("pkg-config" ,pkg-config)
2916 ("xorg-server" ,xorg-server-for-tests)))
3600420e
JD
2917 (home-page "https://glade.gnome.org")
2918 (synopsis "GTK+ rapid application development tool")
2919 (description "Glade is a rapid application development (RAD) tool to
2920enable quick & easy development of user interfaces for the GTK+ toolkit and
2921the GNOME desktop environment.")
88915958
LP
2922 (license license:lgpl2.0+)
2923 (native-search-paths (list (search-path-specification
2924 (variable "GLADE_CATALOG_SEARCH_PATH")
2925 (files '("share/glade/catalogs")))
2926 (search-path-specification
2927 (variable "GLADE_MODULE_SEARCH_PATH")
2928 (files '("lib/glade/modules")))))))
1dd26275
LC
2929
2930(define-public libcroco
2931 (package
2932 (name "libcroco")
8bdacad2 2933 (version "0.6.13")
1dd26275
LC
2934 (source (origin
2935 (method url-fetch)
b38e45d8
EB
2936 (uri (string-append "mirror://gnome/sources/" name "/"
2937 (version-major+minor version) "/"
2938 name "-" version ".tar.xz"))
1dd26275
LC
2939 (sha256
2940 (base32
8bdacad2 2941 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
2942 (build-system gnu-build-system)
2943 (native-inputs
2944 `(("pkg-config" ,pkg-config)))
2945 (inputs
2946 `(("glib" ,glib)
2947 ("libxml2" ,libxml2)
2948 ("zlib" ,zlib)))
2949 (home-page "https://github.com/GNOME/libcroco")
2950 (synopsis "CSS2 parsing and manipulation library")
2951 (description
2952 "Libcroco is a standalone CSS2 parsing and manipulation library.
2953The parser provides a low level event driven SAC-like API and a CSS object
2954model like API. Libcroco provides a CSS2 selection engine and an experimental
2955XML/CSS rendering engine.")
2956
2957 ;; LGPLv2.1-only.
2958 (license license:lgpl2.1)))
25178594
LC
2959
2960(define-public libgsf
2961 (package
2962 (name "libgsf")
2b9b854c 2963 (version "1.14.47")
25178594
LC
2964 (source (origin
2965 (method url-fetch)
b38e45d8
EB
2966 (uri (string-append "mirror://gnome/sources/" name "/"
2967 (version-major+minor version) "/"
2968 name "-" version ".tar.xz"))
25178594
LC
2969 (sha256
2970 (base32
2b9b854c 2971 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
25178594 2972 (build-system gnu-build-system)
23904adb
MB
2973 (arguments
2974 '(#:configure-flags '("--disable-static")))
25178594 2975 (native-inputs
0a1559cc
MB
2976 `(("pkg-config" ,pkg-config)
2977 ("gettext" ,gettext-minimal)
2978
2979 ;; For tests.
2980 ("perl" ,perl)
2981 ("perl-xml-parser" ,perl-xml-parser)))
25178594 2982 (inputs
4ffa9f6b 2983 `(("zlib" ,zlib)
25178594
LC
2984 ("bzip2" ,bzip2)))
2985 (propagated-inputs
2986 `(("gdk-pixbuf" ,gdk-pixbuf)
2987 ("glib" ,glib)
2988 ("libxml2" ,libxml2)))
f032d0be 2989 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
2990 (synopsis "GNOME's Structured File Library")
2991 (description
2992 "Libgsf aims to provide an efficient extensible I/O abstraction for
2993dealing with different structured file formats.")
2994
2995 ;; LGPLv2.1-only.
2996 (license license:lgpl2.1)))
63016e7c
LC
2997
2998(define-public librsvg
f67417a1
MB
2999 (package
3000 (name "librsvg")
c1cc52a2 3001 (version "2.40.21")
f67417a1
MB
3002 (source (origin
3003 (method url-fetch)
3004 (uri (string-append "mirror://gnome/sources/" name "/"
3005 (version-major+minor version) "/"
3006 name "-" version ".tar.xz"))
3007 (sha256
3008 (base32
c1cc52a2 3009 "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))
f67417a1
MB
3010 (build-system gnu-build-system)
3011 (arguments
3012 `(#:configure-flags
3013 (list "--disable-static"
3014 "--enable-vala") ; needed for e.g. gnome-mines
3015 #:phases
3016 (modify-phases %standard-phases
3017 (add-before 'configure 'pre-configure
3018 (lambda* (#:key inputs #:allow-other-keys)
3019 (substitute* "gdk-pixbuf-loader/Makefile.in"
3020 ;; By default the gdk-pixbuf loader is installed under
3021 ;; gdk-pixbuf's prefix. Work around that.
3022 (("gdk_pixbuf_moduledir = .*$")
3023 (string-append "gdk_pixbuf_moduledir = "
3024 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
3025 "loaders\n"))
3026 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
3027 (("gdk_pixbuf_cache_file = .*$")
3028 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
3029 #t))
3030 (add-before 'check 'remove-failing-tests
3031 (lambda _
3032 (with-directory-excursion "tests/fixtures/reftests"
3033 (for-each delete-file
3034 '(;; This test fails on i686:
3035 "svg1.1/masking-path-04-b.svg"
3036 ;; This test fails on armhf:
3037 "svg1.1/masking-mask-01-b.svg"
3038 ;; This test fails on aarch64:
3039 "bugs/777834-empty-text-children.svg")))
3040 #t)))))
3041 (native-inputs
3042 `(("pkg-config" ,pkg-config)
3043 ("vala" ,vala)
3044 ("glib" ,glib "bin") ; glib-mkenums, etc.
3045 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
3046 (inputs
869b63cb
MB
3047 `(;; XXX: 1.44 causes some test failures, so we stick with 1.42 for
3048 ;; this ancient version of librsvg.
3049 ("pango" ,pango-1.42)
f67417a1
MB
3050 ("libcroco" ,libcroco)
3051 ("bzip2" ,bzip2)
3052 ("libgsf" ,libgsf)
3053 ("libxml2" ,libxml2)))
3054 (propagated-inputs
3055 ;; librsvg-2.0.pc refers to all of that.
3056 `(("cairo" ,cairo)
3057 ("gdk-pixbuf" ,gdk-pixbuf)
3058 ("glib" ,glib)))
3059 (home-page "https://wiki.gnome.org/LibRsvg")
3060 (synopsis "Render SVG files using Cairo")
3061 (description
3062 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
3063library.")
3064 (license license:lgpl2.0+)))
3065
3066(define-public librsvg-next
63016e7c
LC
3067 (package
3068 (name "librsvg")
4f9db569 3069 (version "2.48.8")
69568670
EF
3070 (source (origin
3071 (method url-fetch)
3072 (uri (string-append "mirror://gnome/sources/librsvg/"
3073 (version-major+minor version) "/"
3074 "librsvg-" version ".tar.xz"))
3075 (sha256
3076 (base32
4f9db569 3077 "14i6xzghcidv64cyd3g0wdjbl82rph737yxn9s3x29nzpcjs707l"))
69568670
EF
3078 (modules '((guix build utils)))
3079 (snippet
3080 '(begin (delete-file-recursively "vendor")
69568670
EF
3081 #t))))
3082 (build-system cargo-build-system)
b030bc0c 3083 (outputs '("out" "doc"))
63016e7c 3084 (arguments
b030bc0c
RG
3085 `(#:modules
3086 ((guix build cargo-build-system)
3087 (guix build utils)
3088 ((guix build gnu-build-system) #:prefix gnu:))
69568670
EF
3089 #:cargo-inputs
3090 (("rust-bitflags" ,rust-bitflags-1)
4f9db569 3091 ("rust-cairo-rs" ,rust-cairo-rs-0.8)
69568670 3092 ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
4f9db569
EF
3093 ("rust-cast" ,rust-cast-0.2)
3094 ("rust-cssparser" ,rust-cssparser-0.27)
69568670
EF
3095 ("rust-data-url" ,rust-data-url-0.1)
3096 ("rust-downcast-rs" ,rust-downcast-rs-1.1)
3097 ("rust-encoding" ,rust-encoding-0.2)
4f9db569
EF
3098 ("rust-float-cmp" ,rust-float-cmp-0.6)
3099 ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8)
69568670 3100 ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
4f9db569 3101 ("rust-gio" ,rust-gio-0.8)
69568670 3102 ("rust-gio-sys" ,rust-gio-sys-0.9)
4f9db569 3103 ("rust-glib" ,rust-glib-0.9)
69568670
EF
3104 ("rust-glib-sys" ,rust-glib-sys-0.9)
3105 ("rust-gobject-sys" ,rust-gobject-sys-0.9)
3106 ("rust-itertools" ,rust-itertools-0.8)
3107 ("rust-language-tags" ,rust-language-tags-0.2)
69568670
EF
3108 ("rust-libc" ,rust-libc-0.2)
3109 ("rust-locale-config" ,rust-locale-config-0.3)
4f9db569
EF
3110 ("rust-markup5ever" ,rust-markup5ever-0.10)
3111 ("rust-nalgebra" ,rust-nalgebra-0.19)
69568670 3112 ("rust-num-traits" ,rust-num-traits-0.2)
4f9db569 3113 ("rust-once-cell" ,rust-once-cell-1.2)
69568670 3114 ("rust-pkg-config" ,rust-pkg-config-0.3)
4f9db569 3115 ("rust-pango" ,rust-pango-0.8)
69568670 3116 ("rust-pango-sys" ,rust-pango-sys-0.9)
4f9db569 3117 ("rust-pangocairo" ,rust-pangocairo-0.9)
a5630553 3118 ("rust-rayon" ,rust-rayon-1)
69568670 3119 ("rust-rctree" ,rust-rctree-0.3)
4f9db569 3120 ("rust-rgb" ,rust-rgb-0.8)
6cd7b355 3121 ("rust-regex" ,rust-regex-1)
4f9db569 3122 ("rust-selectors" ,rust-selectors-0.22)
69568670 3123 ("rust-url" ,rust-url-2.1)
4f9db569 3124 ("rust-xml5ever" ,rust-xml5ever-0.16))
69568670 3125 #:cargo-development-inputs
4f9db569
EF
3126 (("rust-cairo-rs" ,rust-cairo-rs-0.8)
3127 ("rust-criterion" ,rust-criterion-0.3))
ec47c07d 3128 #:phases
b6239e45 3129 (modify-phases %standard-phases
b030bc0c
RG
3130 (add-after 'unpack 'patch-docbook-xml
3131 (lambda* (#:key inputs #:allow-other-keys)
3132 (with-directory-excursion "doc"
3133 (substitute* "rsvg-docs.xml"
3134 (("http://www.oasis-open.org/docbook/xml/4.3/")
3135 (string-append (assoc-ref inputs "docbook-xml")
3136 "/xml/dtd/docbook/"))))
3137 #t))
69568670 3138 (add-after 'unpack 'prepare-for-build
ec47c07d 3139 (lambda _
69568670 3140 ;; In lieu of #:make-flags
4f9db569 3141 (setenv "CC" ,(cc-for-target))
69568670
EF
3142 ;; Something about the build environment resists building
3143 ;; successfully with the '--locked' flag.
b030bc0c 3144 (substitute* '("Makefile.am" "Makefile.in")
69568670
EF
3145 (("--locked") ""))
3146 #t))
b6239e45 3147 (add-before 'configure 'pre-configure
69568670 3148 (lambda _
b6239e45
EF
3149 (substitute* "gdk-pixbuf-loader/Makefile.in"
3150 ;; By default the gdk-pixbuf loader is installed under
3151 ;; gdk-pixbuf's prefix. Work around that.
3152 (("gdk_pixbuf_moduledir = .*$")
3153 (string-append "gdk_pixbuf_moduledir = "
3154 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
b030bc0c 3155 "loaders\n"))
b6239e45
EF
3156 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
3157 (("gdk_pixbuf_cache_file = .*$")
3158 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
3159 #t))
69568670 3160 (add-after 'configure 'gnu-configure
4b16cb64
EF
3161 (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
3162 ((assoc-ref gnu:%standard-phases 'configure)
3163 #:native-inputs native-inputs
3164 #:inputs inputs
3165 #:outputs outputs
b030bc0c
RG
3166 #:configure-flags
3167 (list "--disable-static"
3168 "--enable-vala"
3169 (string-append "--with-html-dir="
3170 (assoc-ref %outputs "doc")
3171 "/share/gtk-doc/html")))))
69568670
EF
3172 (add-after 'configure 'dont-vendor-self
3173 (lambda* (#:key vendor-dir #:allow-other-keys)
3174 ;; Don't keep the whole tarball in the vendor directory
3175 (delete-file-recursively
b030bc0c 3176 (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))
69568670
EF
3177 #t))
3178 (replace 'build
3179 (assoc-ref gnu:%standard-phases 'build))
3180 (replace 'check
3181 (lambda* args
3182 ((assoc-ref gnu:%standard-phases 'check)
3183 #:test-target "check")))
3184 (replace 'install
4f9db569 3185 (assoc-ref gnu:%standard-phases 'install)))))
b030bc0c
RG
3186 (native-inputs
3187 `(("docbook-xml" ,docbook-xml-4.3)
3188 ("glib" ,glib "bin")
3189 ("gobject-introspection" ,gobject-introspection)
3190 ("pkg-config" ,pkg-config)
3191 ("python" ,python-wrapper)
3192 ("ruby" ,ruby)
3193 ("vala" ,vala)))
4f9db569 3194 (inputs
b030bc0c
RG
3195 `(("bzip2" ,bzip2)
3196 ("fontconfig" ,fontconfig)
3197 ("freetype" ,freetype)
3198 ("harfbuzz" ,harfbuzz)
3199 ("libcroco" ,libcroco)
3200 ("libgsf" ,libgsf)
3201 ("libxml2" ,libxml2)
3202 ("pango" ,pango)))
3203 (propagated-inputs
3204 `(("cairo" ,cairo)
3205 ("gdk-pixbuf" ,gdk-pixbuf)
3206 ("glib" ,glib)))
3207 (synopsis "SVG rendering library")
3208 (description "Librsvg is a library to render SVG images to Cairo surfaces.
3209GNOME uses this to render SVG icons. Outside of GNOME, other desktop
3210environments use it for similar purposes. Wikimedia uses it for Wikipedia's SVG
3211diagrams.")
3212 (home-page "https://wiki.gnome.org/LibRsvg")
cf9dad6c 3213 (license license:lgpl2.1+)))
5698b8b8
JD
3214
3215(define-public libidl
3216 (package
3217 (name "libidl")
3218 (version "0.8.14")
3219 (source (origin
3220 (method url-fetch)
80a06e62
EF
3221 (uri (string-append "mirror://gnome/sources/libIDL/"
3222 (version-major+minor version) "/"
3223 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
3224 (sha256
3225 (base32
3226 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
3227 (build-system gnu-build-system)
3228 (inputs `(("glib" ,glib)))
3229 (native-inputs
3230 `(("pkg-config" ,pkg-config)
b3546174 3231 ("flex" ,flex)
5698b8b8
JD
3232 ("bison" ,bison)))
3233 (home-page "http://freecode.com/projects/libidl")
3234 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 3235 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
3236Definition Language (idl) files, which is a specification for defining
3237portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 3238GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 3239functionality was designed to be as reusable and portable as possible.")
ef2c55bb 3240 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
3241 (license license:lgpl2.0+)))
3242
3243
3244(define-public orbit2
3245 (package
3246 (name "orbit2")
3247 (version "2.14.19")
3248 (source (origin
3249 (method url-fetch)
2e6ecc5c 3250 (uri (let ((upstream-name "ORBit2"))
a124bbd2 3251 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
3252 (version-major+minor version) "/"
3253 upstream-name "-" version ".tar.bz2")))
5698b8b8 3254 (sha256
a124bbd2
SB
3255 (base32
3256 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
3257 (build-system gnu-build-system)
3258 (arguments
c2d837b9
MB
3259 `(;; The "timeout-server" test hangs when run in parallel.
3260 #:parallel-tests? #f
3261 #:configure-flags
8aad2e32
LC
3262 '(;; We don't need static libraries, plus they don't build reproducibly
3263 ;; (non-deterministic ordering of .o files in the archive.)
3264 "--disable-static"
3265
3266 ;; The programmer kindly gives us a hook to turn off deprecation
3267 ;; warnings ...
3268 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
3269 ;; ... which they then completly ignore !!
3270 #:phases
dc1d3cde
KK
3271 (modify-phases %standard-phases
3272 (add-before 'configure 'ignore-deprecations
3273 (lambda _
3274 (substitute* "linc2/src/Makefile.in"
3275 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
3276 #t)))))
5698b8b8
JD
3277 (inputs `(("glib" ,glib)
3278 ("libidl" ,libidl)))
3279 (native-inputs
3280 `(("pkg-config" ,pkg-config)))
3281 (home-page "https://projects.gnome.org/orbit2/")
3282 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 3283 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 3284featuring mature C, C++ and Python bindings.")
a124bbd2
SB
3285 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
3286 ;; a version. SOME of the code files have licence notices for GPLv2+.
3287 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
3288 (license license:gpl2+)
3289 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
3290
3291
3292(define-public libbonobo
3293 (package
3294 (name "libbonobo")
3295 (version "2.32.1")
3296 (source (origin
3297 (method url-fetch)
5becd025 3298 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 3299 (version-major+minor version)
5becd025 3300 "/" name "-" version ".tar.bz2"))
5698b8b8 3301 (sha256
f1fc45a9 3302 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
3303 (patches (search-patches
3304 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
3305 (build-system gnu-build-system)
3306 (arguments
3307 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
3308 `(#:configure-flags
3309 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
3310 ;; ... which they then completly ignore !!
3311 #:phases
dc1d3cde
KK
3312 (modify-phases %standard-phases
3313 (add-before 'configure 'ignore-deprecations
3314 (lambda _
3315 (substitute* "activation-server/Makefile.in"
3316 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
3317 #t)))
3318
3319 ;; There's apparently a race condition between the server stub
3320 ;; generation and linking of the example under 'samples/echo' that can
3321 ;; lead do undefined references when building in parallel, as reported
3322 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
3323 ;; Thus, disable parallel builds.
3324 #:parallel-build? #f))
5698b8b8
JD
3325 (inputs `(("popt" ,popt)
3326 ("libxml2" ,libxml2)))
3327 ;; The following are Required by the .pc file
44add1ce 3328 (propagated-inputs
5698b8b8
JD
3329 `(("glib" ,glib)
3330 ("orbit2" ,orbit2)))
3331 (native-inputs
3332 `(("intltool" ,intltool)
3333 ("pkg-config" ,pkg-config)
221ed17a 3334 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3335 ("flex" ,flex)
3336 ("bison" ,bison)))
3337 (home-page "https://developer.gnome.org/libbonobo/")
3338 (synopsis "Framework for creating reusable components for use in GNOME applications")
3339 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 3340use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
3341 ;; Licence not explicitly stated. Source files contain no licence notices.
3342 ;; Tarball contains text of both GPLv2 and LGPLv2
3343 ;; GPLv2 covers both conditions
3344 (license license:gpl2+)))
3345
3346
3347(define-public gconf
3348 (package
3349 (name "gconf")
3350 (version "3.2.6")
3351 (source (origin
3352 (method url-fetch)
a124bbd2
SB
3353 (uri
3354 (let ((upstream-name "GConf"))
3355 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
3356 (version-major+minor version) "/"
3357 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
3358 (sha256
3359 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
3360 (build-system gnu-build-system)
2e88d113 3361 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 3362 ("libxml2" ,libxml2)))
2e6ecc5c
AE
3363 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
3364 ("orbit2" ,orbit2)))
5698b8b8
JD
3365 (native-inputs
3366 `(("intltool" ,intltool)
221ed17a 3367 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3368 ("pkg-config" ,pkg-config)))
3369 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
3370 (synopsis "Store application preferences")
3371 (description "Gconf is a system for storing application preferences. It
3372is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
3373 (license license:lgpl2.0+)
3374 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
3375
3376
3377(define-public gnome-mime-data
3378 (package
3379 (name "gnome-mime-data")
3380 (version "2.18.0")
3381 (source (origin
3382 (method url-fetch)
b38e45d8
EB
3383 (uri (string-append "mirror://gnome/sources/" name "/"
3384 (version-major+minor version) "/"
3385 name "-" version ".tar.bz2"))
5698b8b8
JD
3386 (sha256
3387 (base32
3388 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
3389 (build-system gnu-build-system)
3390 (native-inputs
3391 `(("perl" ,perl)
3392 ("intltool" ,intltool)))
3e6add96
LC
3393 (arguments
3394 '(#:phases (modify-phases %standard-phases
3395 (add-after 'configure 'use-our-intltool
3396 (lambda _
3397 ;; Do not use the bundled intltool commands, which lack
3398 ;; the "dotless @INC" fixes of our 'intltool' package.
3399 (substitute* (find-files "." "^Makefile$")
3400 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
3401 (string-append "INTLTOOL_" tool " = intltool-"
3402 (string-downcase tool) "\n")))
3403 #t)))))
f032d0be 3404 (home-page "https://www.gnome.org")
35b9e423 3405 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
3406 (description "GNOME Mime Data is a module which contains the base MIME
3407and Application database for GNOME. The data stored by this module is
3408designed to be accessed through the MIME functions in GnomeVFS.")
3409 (license license:gpl2+)))
3410
3411
3412(define-public gnome-vfs
3413 (package
3414 (name "gnome-vfs")
3415 (version "2.24.4")
3416 (source (origin
3417 (method url-fetch)
b38e45d8
EB
3418 (uri (string-append "mirror://gnome/sources/" name "/"
3419 (version-major+minor version) "/"
3420 name "-" version ".tar.bz2"))
5698b8b8 3421 (sha256
9e12bc34
MW
3422 (base32
3423 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
3424 (build-system gnu-build-system)
3425 (arguments
db5127d8 3426 `(#:phases
dc1d3cde
KK
3427 (modify-phases %standard-phases
3428 (add-before 'configure 'ignore-deprecations
3429 (lambda _
3430 (substitute* '("libgnomevfs/Makefile.in"
3431 "daemon/Makefile.in")
3432 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
3433 #t))
3434 (add-before 'configure 'patch-test-async-cancel-to-never-fail
3435 (lambda _
3436 (substitute* "test/test-async-cancel.c"
3437 (("EXIT_FAILURE") "77"))
3438 #t)))))
2e6ecc5c 3439 (inputs `(("libxml2" ,libxml2)
5698b8b8 3440 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
3441 ("gconf" ,gconf)
3442 ("gnome-mime-data" ,gnome-mime-data)
3443 ("zlib" ,zlib)))
3444 (native-inputs
221ed17a
EB
3445 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
3446 ("intltool" ,intltool)
5698b8b8
JD
3447 ("pkg-config" ,pkg-config)))
3448 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 3449 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
3450 (description
3451 "GnomeVFS is the core library used to access files and folders in GNOME
3452applications. It provides a file system abstraction which allows applications
3453to access local and remote files with a single consistent API.")
5698b8b8
JD
3454 (license license:lgpl2.0+)))
3455
3456
3457
3458(define-public libgnome
3459 (package
3460 (name "libgnome")
3461 (version "2.32.1")
3462 (source (origin
3463 (method url-fetch)
b38e45d8
EB
3464 (uri (string-append "mirror://gnome/sources/" name "/"
3465 (version-major+minor version) "/"
3466 name "-" version ".tar.bz2"))
5698b8b8
JD
3467 (sha256
3468 (base32
17c3eea7
LC
3469 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
3470 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
3471 (build-system gnu-build-system)
3472 (arguments
3473 `(#:phases
dc1d3cde
KK
3474 (modify-phases %standard-phases
3475 (add-before 'configure 'enable-deprecated
3476 (lambda _
3477 (substitute* "libgnome/Makefile.in"
3478 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
3479 #t)))))
25338e9f 3480 (inputs `(("libxml2" ,libxml2)))
5698b8b8 3481 (native-inputs
221ed17a
EB
3482 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
3483 ("intltool" ,intltool)
5698b8b8
JD
3484 ("pkg-config" ,pkg-config)))
3485 ;; The following are listed as Required in the .pc file
3486 ;; (except for libcanberra -- which seems to be oversight on the part
3487 ;; of the upstream developers -- anything that links against libgnome,
3488 ;; must also link against libcanberra
3489 (propagated-inputs
3490 `(("libcanberra" ,libcanberra)
3491 ("libbonobo" ,libbonobo)
3492 ("gconf" ,gconf)
a640d3d5
LC
3493 ("gnome-vfs" ,gnome-vfs)
3494 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
3495 (home-page "https://developer.gnome.org/libgnome/")
3496 (synopsis "Useful routines for building applications")
3497 (description "The libgnome library provides a number of useful routines
3498for building modern applications, including session management, activation of
3499files and URIs, and displaying help.")
3500 (license license:lgpl2.0+)))
3501
3502
3503(define-public libart-lgpl
3504 (package
3505 (name "libart-lgpl")
76c9b6aa 3506 (version "2.3.21")
5698b8b8
JD
3507 (source (origin
3508 (method url-fetch)
3509 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
3510 (string-append "mirror://gnome/sources/" upstream-name "/"
3511 (version-major+minor version) "/"
3512 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
3513 (sha256
3514 (base32
76c9b6aa 3515 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
3516 (build-system gnu-build-system)
3517 (native-inputs
3518 `(("pkg-config" ,pkg-config)))
3519 (home-page "https://people.gnome.org/~mathieu/libart")
3520 (synopsis "2D drawing library")
2e6ecc5c 3521 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
3522high-quality vector-based 2D library with antialiasing and alpha composition.")
3523 (license license:lgpl2.0+)))
3524
3525
3526
3527(define-public libgnomecanvas
3528 (package
3529 (name "libgnomecanvas")
3530 (version "2.30.3")
3531 (source (origin
3532 (method url-fetch)
b38e45d8
EB
3533 (uri (string-append "mirror://gnome/sources/" name "/"
3534 (version-major+minor version) "/"
3535 name "-" version ".tar.gz"))
5698b8b8
JD
3536 (sha256
3537 (base32
3538 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
3539 (build-system gnu-build-system)
3540 ;; Mentioned as Required in the .pc file
3541 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
3542 ("gtk+" ,gtk+-2)))
3543 (native-inputs
3544 `(("intltool" ,intltool)
221ed17a 3545 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3546 ("pkg-config" ,pkg-config)))
3547 (home-page "https://developer.gnome.org/libgnomecanvas/")
3548 (synopsis "Flexible widget for creating interactive structured graphics")
3549 (description "The GnomeCanvas widget provides a flexible widget for
3550creating interactive structured graphics.")
3551 (license license:lgpl2.0+)))
3552
eadc734e
RW
3553(define-public libgnomecanvasmm
3554 (package
3555 (name "libgnomecanvasmm")
3556 (version "2.26.0")
3557 (source (origin
3558 (method url-fetch)
3559 (uri (string-append "mirror://gnome/sources/" name "/"
3560 (version-major+minor version) "/"
3561 name "-" version ".tar.bz2"))
3562 (sha256
3563 (base32
3564 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
3565 (build-system gnu-build-system)
3566 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
3567 (native-inputs
3568 `(("gtkmm-2" ,gtkmm-2)
3569 ("pkg-config" ,pkg-config)))
8e933cb3 3570 (home-page "https://gtkmm.org")
eadc734e
RW
3571 (synopsis "C++ bindings to the GNOME Canvas library")
3572 (description "C++ bindings to the GNOME Canvas library.")
3573 (license license:lgpl2.0+)))
3574
5698b8b8
JD
3575(define-public libgnomeui
3576 (package
3577 (name "libgnomeui")
3578 (version "2.24.5")
3579 (source (origin
3580 (method url-fetch)
b38e45d8
EB
3581 (uri (string-append "mirror://gnome/sources/" name "/"
3582 (version-major+minor version) "/"
3583 name "-" version ".tar.bz2"))
8fa1872a 3584 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
3585 (sha256
3586 (base32
3587 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
3588 (build-system gnu-build-system)
3589 ;; Mentioned as Required in the .pc file
0a38a497
AE
3590 (propagated-inputs `(("libbonoboui" ,libbonoboui)
3591 ("libgnome" ,libgnome)
3592 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 3593 ("libgnome-keyring" ,libgnome-keyring)))
4bd428a7 3594 (inputs `(("libjpeg" ,libjpeg-turbo)
5698b8b8
JD
3595 ("popt" ,popt)
3596 ("libbonobo" ,libbonobo)
3597 ("libxml2" ,libxml2)
3598 ("libglade" ,libglade)))
3599 (native-inputs
221ed17a
EB
3600 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
3601 ("intltool" ,intltool)
5698b8b8
JD
3602 ("pkg-config" ,pkg-config)))
3603 (home-page "https://developer.gnome.org/libgnomeui/")
3604 (synopsis "Additional widgets for applications")
35b9e423 3605 (description "The libgnomeui library provides additional widgets for
e881752c
AK
3606applications. Many of the widgets from libgnomeui have already been
3607ported to GTK+.")
5698b8b8
JD
3608 (license license:lgpl2.0+)))
3609
3610(define-public libglade
3611 (package
3612 (name "libglade")
3613 (version "2.6.4")
3614 (source (origin
3615 (method url-fetch)
b38e45d8
EB
3616 (uri (string-append "mirror://gnome/sources/" name "/"
3617 (version-major+minor version) "/"
3618 name "-" version ".tar.bz2"))
5698b8b8
JD
3619 (sha256
3620 (base32
3621 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
3622 (build-system gnu-build-system)
3623 (inputs
92dcc23d
AE
3624 `(("python" ,python))) ;; needed for the optional libglade-convert program
3625 (propagated-inputs
5698b8b8 3626 `(("gtk+-2" ,gtk+-2)
92dcc23d 3627 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
3628 (native-inputs
3629 `(("pkg-config" ,pkg-config)))
3630 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
3631 (synopsis "Load glade interfaces and access the glade built widgets")
3632 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
3633graphical interfaces described in glade files and for accessing the
3634widgets built in the loading process.")
3635 (license license:gpl2+))) ; This is correct. GPL not LGPL
3636
3637(define-public libgnomeprint
eb497b66
LC
3638 ;; This library has been deprecated since 2006; see
3639 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
3640 (package
3641 (name "libgnomeprint")
d19db454 3642 (version "2.18.8")
5698b8b8
JD
3643 (source (origin
3644 (method url-fetch)
b38e45d8
EB
3645 (uri (string-append "mirror://gnome/sources/" name "/"
3646 (version-major+minor version) "/"
3647 name "-" version ".tar.bz2"))
5698b8b8
JD
3648 (sha256
3649 (base32
d19db454 3650 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
3651 (build-system gnu-build-system)
3652 (inputs
3653 `(("popt" ,popt)
3654 ("libart-lgpl" ,libart-lgpl)
3655 ("gtk+" ,gtk+-2)
44add1ce 3656 ("libxml2" ,libxml2)))
5698b8b8
JD
3657 (native-inputs
3658 `(("intltool" ,intltool)
221ed17a 3659 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3660 ("pkg-config" ,pkg-config)))
3661 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 3662 (synopsis "Printing framework for GNOME")
eb497b66
LC
3663 (description
3664 "GNOME-print was a printing framework for GNOME. It has been deprecated
3665since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
3666 (license license:lgpl2.0+)))
3667
3668
3669(define-public libgnomeprintui
eb497b66 3670 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
3671 (package
3672 (name "libgnomeprintui")
36053d7f 3673 (version "2.18.6")
5698b8b8
JD
3674 (source (origin
3675 (method url-fetch)
b38e45d8
EB
3676 (uri (string-append "mirror://gnome/sources/" name "/"
3677 (version-major+minor version) "/"
3678 name "-" version ".tar.bz2"))
5698b8b8
JD
3679 (sha256
3680 (base32
36053d7f 3681 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
3682 (build-system gnu-build-system)
3683 ;; Mentioned as Required in the .pc file
3684 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
3685 (inputs `(("gtk+" ,gtk+-2)
3686 ("glib" ,glib)
3687 ("gnome-icon-theme" ,gnome-icon-theme)
3688 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 3689 ("libxml2" ,libxml2)))
5698b8b8
JD
3690 (native-inputs
3691 `(("intltool" ,intltool)
3692 ("pkg-config" ,pkg-config)))
3693 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
3694 (synopsis "Printing framework for GNOME")
eb497b66 3695 (description (package-description libgnomeprint))
5698b8b8
JD
3696 (license license:lgpl2.0+)))
3697
5698b8b8
JD
3698(define-public libbonoboui
3699 (package
3700 (name "libbonoboui")
3701 (version "2.24.5")
3702 (source (origin
3703 (method url-fetch)
b38e45d8
EB
3704 (uri (string-append "mirror://gnome/sources/" name "/"
3705 (version-major+minor version) "/"
3706 name "-" version ".tar.bz2"))
5698b8b8
JD
3707 (sha256
3708 (base32
3709 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
3710 (build-system gnu-build-system)
3711 (arguments
3712 `(#:phases
dc1d3cde
KK
3713 (modify-phases %standard-phases
3714 (add-before 'check 'start-xserver
3715 (lambda* (#:key inputs #:allow-other-keys)
3716 (let ((xorg-server (assoc-ref inputs "xorg-server"))
3717 (disp ":1"))
3718
3719 (setenv "HOME" (getcwd))
3720 (setenv "DISPLAY" disp)
3721 ;; There must be a running X server and make check doesn't start one.
3722 ;; Therefore we must do it.
3723 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
3724 ;; Mentioned as Required by the .pc file
3725 (propagated-inputs `(("libxml2" ,libxml2)))
3726 (inputs
3727 `(("popt" ,popt)
3728 ("pangox-compat" ,pangox-compat)
3729 ("libgnome" ,libgnome)
3730 ("libgnomecanvas" ,libgnomecanvas)
3731 ("libglade" ,libglade)))
3732 (native-inputs
221ed17a
EB
3733 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
3734 ("intltool" ,intltool)
ff337525 3735 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
3736 ("pkg-config" ,pkg-config)))
3737 (home-page "https://developer.gnome.org/libbonoboui/")
3738 (synopsis "Some user interface controls using Bonobo")
3739 (description "The Bonobo UI library provides a number of user interface
3740controls using the Bonobo component framework.")
3741 (license license:lgpl2.0+)))
3742
fecbf86e
SB
3743(define-public libwnck
3744 (package
3745 (name "libwnck")
d3b40696 3746 (version "3.32.0")
fecbf86e
SB
3747 (source (origin
3748 (method url-fetch)
3749 (uri (string-append "mirror://gnome/sources/" name "/"
3750 (version-major+minor version) "/"
3751 name "-" version ".tar.xz"))
3752 (sha256
ad9b8987 3753 (base32
d3b40696
KK
3754 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
3755 (build-system meson-build-system)
fecbf86e
SB
3756 (native-inputs
3757 `(("pkg-config" ,pkg-config)
d3b40696
KK
3758 ("glib" ,glib "bin") ; for glib-mkenums
3759 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
3760 ("intltool" ,intltool)))
3761 (propagated-inputs
427476d5
SB
3762 `(("gtk+" ,gtk+)
3763 ("libxres" ,libxres)
3764 ("startup-notification" ,startup-notification)))
fecbf86e
SB
3765 (home-page "https://developer.gnome.org/libwnck/")
3766 (synopsis "Window Navigator Construction Kit")
3767 (description
3768 "Libwnck is the Window Navigator Construction Kit, a library for use in
3769writing pagers, tasklists, and more generally applications that are dealing
3770with window management. It tries hard to respect the Extended Window Manager
3771Hints specification (EWMH).")
3772 (license license:lgpl2.0+)))
3773
3774;; stable version for gtk2, required by xfwm4.
dbb7a081 3775(define-public libwnck-2
fecbf86e
SB
3776 (package (inherit libwnck)
3777 (name "libwnck")
3778 (version "2.30.7")
3779 (source (origin
3780 (method url-fetch)
3781 (uri (string-append "mirror://gnome/sources/" name "/"
3782 (version-major+minor version) "/"
3783 name "-" version ".tar.xz"))
3784 (sha256
3785 (base32
3786 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
3787 (build-system gnu-build-system)
3788 (native-inputs
3789 `(("pkg-config" ,pkg-config)
3790 ("intltool" ,intltool)))
fecbf86e 3791 (propagated-inputs
427476d5
SB
3792 `(("gtk+" ,gtk+-2)
3793 ("libxres" ,libxres)
3794 ("startup-notification" ,startup-notification)))))
b804c61e
JD
3795
3796(define-public goffice
3797 (package
3798 (name "goffice")
2e60eafb 3799 (version "0.10.47")
b804c61e
JD
3800 (source (origin
3801 (method url-fetch)
16243f0b 3802 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 3803 (version-major+minor version) "/"
16243f0b 3804 "goffice-" version ".tar.xz"))
b804c61e 3805 (sha256
2e60eafb 3806 (base32 "0xmigfdzvmlpa0fw79mf3xwchmxc8rlidryn5syv8bz7msmrb215"))))
b804c61e 3807 (build-system gnu-build-system)
72a06d3e 3808 (outputs '("out"
355420c6 3809 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
3810 (arguments
3811 '(#:configure-flags (list (string-append "--with-html-dir="
3812 (assoc-ref %outputs "doc")
3813 "/share/gtk-doc/html"))))
b804c61e
JD
3814 (inputs
3815 `(("gtk+" ,gtk+)
3816 ("libgsf" ,libgsf)
3817 ("librsvg" ,librsvg)
3818 ("libxslt" ,libxslt)
3819 ("libxml2" ,libxml2)))
3820 (native-inputs
3821 `(("intltool" ,intltool)
f280cdb1 3822 ("glib" ,glib "bin")
b804c61e
JD
3823 ("pkg-config" ,pkg-config)))
3824 (home-page "https://developer.gnome.org/goffice/")
3825 (synopsis "Document-centric objects and utilities")
3826 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 3827 (license
b804c61e
JD
3828 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3829 ;; Note: NOT LGPL
3830 (list license:gpl2 license:gpl3))))
3831
c024ae36
RW
3832(define-public goffice-0.8
3833 (package (inherit goffice)
3834 (version "0.8.17")
3835 (source (origin
3836 (method url-fetch)
3837 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
3838 (version-major+minor version) "/"
3839 (package-name goffice) "-" version ".tar.xz"))
3840 (sha256
3841 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
3842 (arguments
3843 `(#:phases
dc1d3cde
KK
3844 (modify-phases %standard-phases
3845 (add-after 'unpack 'fix-pcre-check
3846 (lambda _
3847 ;; Only glib.h can be included directly. See
3848 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
3849 (substitute* "configure"
3850 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
3851
3852 ,@(package-arguments goffice)))
c024ae36
RW
3853 (propagated-inputs
3854 ;; libgoffice-0.8.pc mentions libgsf-1
3855 `(("libgsf" ,libgsf)))
3856 (inputs
3857 `(("gtk" ,gtk+-2)
3858 ,@(alist-delete "gtk" (package-inputs goffice))))))
3859
b804c61e
JD
3860(define-public gnumeric
3861 (package
3862 (name "gnumeric")
f0517b5d 3863 (version "1.12.46")
b804c61e
JD
3864 (source (origin
3865 (method url-fetch)
b7fd0217 3866 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 3867 (version-major+minor version) "/"
b7fd0217 3868 "gnumeric-" version ".tar.xz"))
b804c61e
JD
3869 (sha256
3870 (base32
f0517b5d 3871 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 3872 (build-system glib-or-gtk-build-system)
b804c61e
JD
3873 (arguments
3874 `(;; The gnumeric developers don't worry much about failing tests.
3875 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 3876 #:tests? #f
b804c61e 3877 #:phases
7bcbd40d
EF
3878 (modify-phases %standard-phases
3879 (add-before
3880 'configure 'pre-conf
3881 (lambda* (#:key outputs #:allow-other-keys)
3882 ;; Make install tries to write into the directory of goffice
3883 ;; I am informed that this only affects the possibility to embed a
3884 ;; spreadsheet inside an Abiword document. So presumably when we
3885 ;; package Abiword we'll have to refer it to this directory.
3886 (substitute* "configure"
3887 (("^GOFFICE_PLUGINS_DIR=.*")
3888 (string-append "GOFFICE_PLUGINS_DIR="
3889 (assoc-ref outputs "out")
3890 "/goffice/plugins"))))))))
b804c61e
JD
3891 (inputs
3892 `(("glib" ,glib)
3893 ("gtk+" ,gtk+)
3894 ("goffice" ,goffice)
3895 ("libgsf" ,libgsf)
7bcbd40d 3896 ("librsvg" ,librsvg)
b804c61e 3897 ("libxml2" ,libxml2)
7bcbd40d 3898 ("libxslt" ,libxslt)
2e4c5457 3899 ("python" ,python-2)
6983ba56 3900 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
3901 ("zlib" ,zlib)))
3902 (native-inputs
6983ba56 3903 `(("bison" ,bison)
1ed398d1 3904 ("docbook-xml" ,docbook-xml)
6983ba56 3905 ("intltool" ,intltool)
785fcb62 3906 ("itstool" ,itstool)
b9663471 3907 ("glib:bin" ,glib "bin")
b804c61e
JD
3908 ("pkg-config" ,pkg-config)))
3909 (home-page "http://www.gnumeric.org")
66672a45
LC
3910 (synopsis "Spreadsheet application")
3911 (description
3912 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
3913interoperable with other spreadsheet applications. It has a vast array of
3914features beyond typical spreadsheet functionality, such as support for linear
3915and non-linear solvers, statistical analysis, and telecommunication
3916engineering.")
3917 (license
b804c61e
JD
3918 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3919 (list license:gpl2 license:gpl3))))
6f885c05
FB
3920
3921(define-public gnome-themes-standard
3922 (package
3923 (name "gnome-themes-standard")
0b7b8fb0 3924 (version "3.22.3")
6f885c05
FB
3925 (source
3926 (origin
3927 (method url-fetch)
2e6ecc5c 3928 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
3929 (version-major+minor version) "/" name "-"
3930 version ".tar.xz"))
3931 (sha256
3932 (base32
0b7b8fb0 3933 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 3934 (build-system gnu-build-system)
8ac70c7f
SB
3935 (arguments
3936 '(#:configure-flags
3937 ;; Don't create 'icon-theme.cache'.
3938 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
3939 (true (string-append coreutils "/bin/true")))
3940 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
3941 (inputs
3942 `(("gtk+" ,gtk+)
3943 ("gtk+-2" ,gtk+-2)
3944 ("librsvg" ,librsvg)
3945 ("libxml2" ,libxml2)
3946 ("glib" ,glib)))
3947 (native-inputs
3948 `(("intltool" ,intltool)
3949 ("glib:bin" ,glib "bin")
3950 ("pkg-config" ,pkg-config)))
6f885c05
FB
3951 (home-page "https://launchpad.net/gnome-themes-standard")
3952 (synopsis "Default GNOME 3 themes")
3953 (description
3954 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
3955 (license license:lgpl2.1+)))
5a659a48 3956
df90c701
RW
3957(define-public seahorse
3958 (package
3959 (name "seahorse")
1efcf722 3960 (version "3.34")
df90c701
RW
3961 (source
3962 (origin
3963 (method url-fetch)
3964 (uri (string-append "mirror://gnome/sources/" name "/"
3965 (version-major+minor version) "/" name "-"
3966 version ".tar.xz"))
3967 (sha256
3968 (base32
1efcf722 3969 "16sfnqrdlr5xx6kixx2ln1mva7nngjlw1k3f5n454vyaigffjh2v"))))
af561664
MÁAV
3970 (build-system meson-build-system)
3971 (arguments
bcea3c11
KK
3972 '(#:glib-or-gtk? #t
3973 #:phases
af561664
MÁAV
3974 (modify-phases %standard-phases
3975 (add-after 'unpack 'skip-gtk-update-icon-cache
3976 ;; Don't create 'icon-theme.cache'.
3977 (lambda _
3978 (substitute* "build-aux/meson_post_install.py"
3979 (("gtk-update-icon-cache") "true"))
3980 #t)))))
df90c701
RW
3981 (inputs
3982 `(("gtk+" ,gtk+)
3983 ("gcr" ,gcr)
34b979b9 3984 ("gnupg" ,gnupg)
df90c701 3985 ("gpgme" ,gpgme)
34b979b9 3986 ("openldap" ,openldap)
4a1bf090 3987 ("openssh" ,openssh)
af561664 3988 ("avahi" ,avahi)
bcea3c11 3989 ("libpwquality" ,libpwquality)
34b979b9
EF
3990 ("libsecret" ,libsecret)
3991 ("libsoup" ,libsoup)))
df90c701 3992 (native-inputs
af561664 3993 `(("gettext" ,gettext-minimal)
df90c701
RW
3994 ("glib:bin" ,glib "bin")
3995 ("itstool" ,itstool)
bcb354ad 3996 ("pkg-config" ,pkg-config)
af561664 3997 ("vala" ,vala)
bcb354ad 3998 ("xmllint" ,libxml2)))
bcea3c11 3999 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
4000 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
4001 (description
4002 "Seahorse is a GNOME application for managing encryption keys and
4003passwords in the GNOME keyring.")
4004 (license license:gpl2+)))
4005
5a659a48
SB
4006(define-public vala
4007 (package
4008 (name "vala")
b92a36db 4009 (version "0.46.5")
5a659a48
SB
4010 (source (origin
4011 (method url-fetch)
4012 (uri (string-append "mirror://gnome/sources/" name "/"
4013 (version-major+minor version) "/"
4014 name "-" version ".tar.xz"))
4015 (sha256
4016 (base32
b92a36db 4017 "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s"))))
5a659a48 4018 (build-system gnu-build-system)
1ea90625
SB
4019 (arguments
4020 '(#:phases
4021 (modify-phases %standard-phases
f4925a4f 4022 (add-before 'check 'pre-check
1ea90625
SB
4023 (lambda _
4024 (setenv "CC" "gcc")
8839b6be
RW
4025 (substitute* "valadoc/tests/testrunner.sh"
4026 (("export PKG_CONFIG_PATH=" m)
4027 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
4028 ;; For missing '/etc/machine-id'.
4029 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 4030 #t)))))
5a659a48
SB
4031 (native-inputs
4032 `(("pkg-config" ,pkg-config)
4033 ("flex" ,flex)
4034 ("bison" ,bison)
4035 ("xsltproc" ,libxslt)
4036 ("dbus" ,dbus) ; for dbus tests
4037 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
4038 (inputs
4039 `(("graphviz" ,graphviz)))
5a659a48 4040 (propagated-inputs
8839b6be 4041 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 4042 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
4043 (synopsis "Compiler for the GObject type system")
4044 (description
4045 "Vala is a programming language that aims to bring modern programming
4046language features to GNOME developers without imposing any additional runtime
4047requirements and without using a different ABI compared to applications and
4048libraries written in C.")
4049 (license license:lgpl2.1+)))
ea57378f 4050
2dcaa760
RP
4051(define-public vala-0.48
4052 (package
4053 (inherit vala)
10341411 4054 (version "0.48.9")
2dcaa760
RP
4055 (source (origin
4056 (method url-fetch)
4057 (uri (string-append "mirror://gnome/sources/vala/"
4058 (version-major+minor version) "/"
4059 "vala-" version ".tar.xz"))
4060 (sha256
4061 (base32
10341411 4062 "1agyrvslv2yh9ikiw7k5nw6j6il1l2zrzfan0pzdpb9xpg9idslw"))))))
2dcaa760 4063
ea57378f
SB
4064(define-public vte
4065 (package
4066 (name "vte")
53865a93 4067 (version "0.60.3")
ea57378f
SB
4068 (source (origin
4069 (method url-fetch)
ac87ffb8 4070 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 4071 (version-major+minor version) "/"
ac87ffb8 4072 "vte-" version ".tar.xz"))
ea57378f
SB
4073 (sha256
4074 (base32
53865a93 4075 "0al2v6fn061v4j1wwvppim1q283y2a6s0iyl29hxhmx3h48nxdzy"))))
68c47474 4076 (build-system meson-build-system)
663def11
RPG
4077 (arguments
4078 `(#:configure-flags
11491e1b
DM
4079 '("-Dvapi=true"
4080 "-D_systemd=false")))
ea57378f
SB
4081 (native-inputs
4082 `(("pkg-config" ,pkg-config)
4684580a 4083 ("gettext" ,gettext-minimal)
ea57378f
SB
4084 ("vala" ,vala)
4085 ("gobject-introspection" ,gobject-introspection)
68c47474 4086 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 4087 ("gperf" ,gperf)
ea57378f
SB
4088 ("xmllint" ,libxml2)))
4089 (propagated-inputs
68c47474
TGR
4090 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
4091 ("gnutls" ,gnutls) ; ditto
4092 ("pcre2" ,pcre2))) ; ditto
f032d0be 4093 (home-page "https://www.gnome.org/")
ea57378f
SB
4094 (synopsis "Virtual Terminal Emulator")
4095 (description
4096 "VTE is a library (libvte) implementing a terminal emulator widget for
4097GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
4098gnome-terminal, but can also be used to embed a console/terminal in games,
4099editors, IDEs, etc.")
4100 (license license:lgpl2.1+)))
4101
c44fb4df
MO
4102(define-public vte-ng
4103 (package
4104 (inherit vte)
4105 (name "vte-ng")
24f4fcbe 4106 (version "0.58.2.a")
afd90f8d 4107 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
4108 (source (origin
4109 (method git-fetch)
4110 (uri (git-reference (url home-page) (commit version)))
4111 (file-name (git-file-name name version))
4112 (sha256
4113 (base32
24f4fcbe
MB
4114 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
4115 (build-system meson-build-system)
c44fb4df
MO
4116 (native-inputs
4117 `(("gtk-doc" ,gtk-doc)
c44fb4df 4118 ,@(package-native-inputs vte)))
c44fb4df 4119 (arguments
24f4fcbe 4120 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
4121 (synopsis "Enhanced VTE terminal widget")
4122 (description
4123 "VTE is a library (libvte) implementing a terminal emulator widget for
4124GTK+, this fork provides additional functions exposed for keyboard text
4125selection and URL hints.")))
4126
da11c16b 4127;; Stable version for gtk2, required by gnurobots and lxterminal as of 2020-07.
ea57378f
SB
4128(define-public vte/gtk+-2
4129 (package (inherit vte)
4130 (name "vte")
4131 (version "0.28.2")
4132 (source (origin
4133 (method url-fetch)
4134 (uri (string-append "mirror://gnome/sources/" name "/"
4135 (version-major+minor version) "/"
4136 name "-" version ".tar.xz"))
4137 (sha256
4138 (base32
7d48938a
EF
4139 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
4140 (patches (search-patches
4141 "vte-CVE-2012-2738-pt1.patch"
4142 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 4143 (build-system gnu-build-system)
ea57378f
SB
4144 (arguments
4145 '(#:configure-flags '("--disable-python")))
4146 (native-inputs
4147 `(("pkg-config" ,pkg-config)
4148 ("intltool" ,intltool)
4149 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
4150 (propagated-inputs
4151 `(("gtk+" ,gtk+-2) ; required by libvte.pc
4152 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 4153
cce0da5e
TD
4154(define-public vinagre
4155 (package
4156 (name "vinagre")
4157 (version "3.22.0")
4158 (source (origin
4159 (method url-fetch)
4160 (uri (string-append "mirror://gnome/sources/" name "/"
4161 (version-major+minor version) "/"
4162 name "-" version ".tar.xz"))
684f97f8
EF
4163 (patches (search-patches "vinagre-newer-freerdp.patch"
4164 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
4165 (sha256
4166 (base32
4167 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
4168 (build-system glib-or-gtk-build-system)
684f97f8 4169 (arguments
7f486d25
MC
4170 ;; Disable -Werror and such, to avoid build failures on compilation
4171 ;; warnings.
4172 '(#:configure-flags '("--enable-compile-warnings=minimum")
4173 #:phases
684f97f8 4174 (modify-phases %standard-phases
1839768c
EF
4175 (add-before 'install 'skip-gtk-update-icon-cache
4176 (lambda _
4177 ;; Don't create 'icon-theme.cache'
4178 (substitute* (find-files "." "^Makefile$")
4179 (("gtk-update-icon-cache") (which "true")))
4180 #t))
684f97f8
EF
4181 (add-after 'unpack 'patch-configure
4182 (lambda _
4183 (substitute* "configure"
4184 (("freerdp") "freerdp2"))
4185 #t)))))
cce0da5e
TD
4186 (native-inputs
4187 `(("pkg-config" ,pkg-config)
4188 ("intltool" ,intltool)
4189 ("itstool" ,itstool)
1839768c 4190 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
4191 (inputs
4192 `(("libxml2" ,libxml2)
4193 ("gtk-vnc" ,gtk-vnc)
4194 ("gnome-keyring" ,gnome-keyring)
4195 ("libsecret" ,libsecret)
4196 ("freerdp" ,freerdp)
4197 ("spice" ,spice)
4198 ("spice-gtk" ,spice-gtk)
4199 ("telepathy-glib" ,telepathy-glib)
4200 ("vte" ,vte)))
cce0da5e
TD
4201 (home-page "https://wiki.gnome.org/Apps/Vinagre")
4202 (synopsis "Remote desktop viewer for GNOME")
4203 (description "Vinagre is a remote display client supporting the VNC, SPICE
4204and RDP protocols.")
4205 (license license:gpl3+)))
4206
b47e1b20
FB
4207(define-public dconf
4208 (package
4209 (name "dconf")
7f4d075d 4210 (version "0.34.0")
b47e1b20
FB
4211 (source (origin
4212 (method url-fetch)
4213 (uri (string-append
2e6ecc5c 4214 "mirror://gnome/sources/" name "/"
b47e1b20
FB
4215 (version-major+minor version) "/"
4216 name "-" version ".tar.xz"))
46c3a08b 4217 (patches (search-patches "dconf-meson-0.52.patch"))
b47e1b20 4218 (sha256
f05c809f 4219 (base32
7f4d075d 4220 "0lnsl85cp2vpzgp8pkf6l6yd2i3lp02jdvga1icfa78j2smr8fll"))))
35fa923d 4221 (build-system meson-build-system)
bc036f4c
MB
4222 (propagated-inputs
4223 ;; In Requires of dconf.pc.
4224 `(("glib" ,glib)))
b47e1b20
FB
4225 (inputs
4226 `(("gtk+" ,gtk+)
bc036f4c 4227 ("dbus" ,dbus)))
b47e1b20 4228 (native-inputs
1e33331c
MB
4229 `(("bash-completion" ,bash-completion)
4230 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 4231 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
4232 ("docbook-xml" ,docbook-xml-4.2)
4233 ("docbook-xsl" ,docbook-xsl)
35fa923d 4234 ("glib:bin" ,glib "bin")
03676d6f 4235 ("gtk-doc" ,gtk-doc)
35fa923d
MB
4236 ("pkg-config" ,pkg-config)
4237 ("vala" ,vala)))
b47e1b20
FB
4238 (arguments
4239 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
4240 ; or /etc/machine-id.
35fa923d
MB
4241 #:glib-or-gtk? #t
4242 #:configure-flags '("-Denable-gtk-doc=true")))
79d7b527 4243 (home-page "https://developer.gnome.org/dconf/")
b47e1b20
FB
4244 (synopsis "Low-level GNOME configuration system")
4245 (description "Dconf is a low-level configuration system. Its main purpose
4246is to provide a backend to GSettings on platforms that don't already have
4247configuration storage systems.")
e20e6b40 4248 (license license:lgpl2.1+)))
109da1c0
AE
4249
4250(define-public json-glib
4251 (package
4252 (name "json-glib")
4115e8ea 4253 (version "1.4.4")
109da1c0
AE
4254 (source (origin
4255 (method url-fetch)
4256 (uri (string-append "mirror://gnome/sources/" name "/"
4257 (version-major+minor version) "/"
4258 name "-" version ".tar.xz"))
4259 (sha256
4260 (base32
4115e8ea 4261 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 4262 (build-system meson-build-system)
109da1c0 4263 (native-inputs
98afa184
MB
4264 `(("gettext" ,gettext-minimal)
4265 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
4266 ("gobject-introspection" ,gobject-introspection)
4267 ("pkg-config" ,pkg-config)))
4268 (propagated-inputs
88c6b580 4269 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
4270 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
4271 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
4272 (description
4273 "JSON-GLib is a C library based on GLib providing serialization and
4274deserialization support for the JavaScript Object Notation (JSON) format
4275described by RFC 4627. It provides parser and generator GObject classes and
4276various wrappers for the complex data types employed by JSON, such as arrays
4277and objects.")
109da1c0 4278 (license license:lgpl2.1+)))
6f96a359
SB
4279
4280(define-public libxklavier
4281 (package
4282 (name "libxklavier")
5f39050b 4283 (version "5.4")
6f96a359 4284 (source (origin
5f39050b 4285 ;; Note: There's no tarball at ftp.gnome.org for this version.
4286 (method git-fetch)
4287 (uri (git-reference
4288 (url "https://anongit.freedesktop.org/git/libxklavier")
4289 (commit (string-append "libxklavier-" version))))
6f96a359
SB
4290 (sha256
4291 (base32
5f39050b 4292 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
4293 (file-name (git-file-name name version))))
6f96a359
SB
4294 (build-system gnu-build-system)
4295 (arguments
778d6b52 4296 '(#:configure-flags
6f96a359
SB
4297 (list (string-append "--with-xkb-base="
4298 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 4299 "/share/X11/xkb")
4300 "--disable-xmodmap-support")))
6f96a359
SB
4301 (native-inputs
4302 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4303 ("gobject-introspection" ,gobject-introspection)
5f39050b 4304 ("pkg-config" ,pkg-config)
4305 ("gtk-doc" ,gtk-doc)
4306 ("intltool" ,intltool)
4307 ("which" ,which)
4308 ("autoconf" ,autoconf)
4309 ("automake" ,automake)
4310 ("libtool" ,libtool)))
6f96a359
SB
4311 (propagated-inputs
4312 ;; Required by libxklavier.pc.
4313 `(("glib" ,glib)
4314 ("libxml2" ,libxml2)))
4315 (inputs
4316 `(("iso-codes" ,iso-codes)
4317 ("libxi" ,libxi)
4318 ("libxkbfile" ,libxkbfile)
4319 ("xkbcomp" ,xkbcomp)
4320 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 4321 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
4322 (synopsis "High-level API for X Keyboard Extension")
4323 (description
4324 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
4325Extension known as XKB. This library is intended to support XFree86 and other
4326commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
4327indicators etc).")
4328 (license license:lgpl2.0+)))
619936a4
LC
4329
4330(define-public python2-rsvg
4331 ;; XXX: This is actually a subset of gnome-python-desktop.
4332 (package
4333 (name "python2-rsvg")
4334 (version "2.32.0")
4335 (source
4336 (origin
4337 (method url-fetch)
4338 (uri (string-append
4339 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
4340 version ".tar.bz2"))
4341 (sha256
4342 (base32
4343 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
4344 (build-system gnu-build-system)
4345 (native-inputs
4346 `(("pkg-config" ,pkg-config)))
4347 (inputs
4348 `(("python" ,python-2)
4349 ("python2-pygtk" ,python2-pygtk)
4350 ("librsvg" ,librsvg)))
f032d0be 4351 (home-page "https://www.gnome.org")
619936a4
LC
4352 (synopsis "Python bindings to librsvg")
4353 (description
3ad75446 4354 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
4355library.")
4356
4357 ;; This is the license of the rsvg bindings. The license of each module
4358 ;; of gnome-python-desktop is given in 'COPYING'.
4359 (license license:lgpl2.1+)))
a31a6d22 4360
f2ca414a
SB
4361(define-public glib-networking
4362 (package
4363 (name "glib-networking")
ea9f74b0 4364 (version "2.62.2")
f2ca414a
SB
4365 (source (origin
4366 (method url-fetch)
4367 (uri (string-append "mirror://gnome/sources/glib-networking/"
4368 (version-major+minor version) "/"
fb8fe1e8 4369 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
4370 (sha256
4371 (base32
ea9f74b0 4372 "0i2mw75297ql72h47vyvff3hqa0kcmqybblj52fqrarb0kfbhi06"))))
65211552 4373 (build-system meson-build-system)
f2ca414a 4374 (arguments
0d75c64d 4375 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
4376 (native-inputs
4377 `(("pkg-config" ,pkg-config)
4378 ("intltool" ,intltool)))
4379 (inputs
4380 `(("glib" ,glib)
4381 ("gnutls" ,gnutls)
4b8f1313 4382 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 4383 (home-page "https://www.gnome.org")
f2ca414a
SB
4384 (synopsis "Network-related GIO modules")
4385 (description
4386 "This package contains various network related extensions for the GIO
4387library.")
4388 (license license:lgpl2.0+)))
4389
ca649680 4390(define-public rest
4510b2da 4391 (package
ca649680 4392 (name "rest")
a4194d16 4393 (version "0.8.1")
4510b2da
SB
4394 (source (origin
4395 (method url-fetch)
4396 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
4397 (version-major+minor version) "/"
4398 name "-" version ".tar.xz"))
4510b2da
SB
4399 (sha256
4400 (base32
a4194d16 4401 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
4402 (build-system gnu-build-system)
4403 (arguments
4404 '(#:tests? #f ; tests require internet connection
4405 #:configure-flags
4406 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
4407 (native-inputs
4408 `(("glib-mkenums" ,glib "bin")
4409 ("gobject-introspection" ,gobject-introspection)
4410 ("pkg-config" ,pkg-config)))
4411 (propagated-inputs
4412 ;; rest-0.7.pc refers to all these.
4413 `(("glib" ,glib)
4414 ("libsoup" ,libsoup)
4415 ("libxml2" ,libxml2)))
24d6cc1d 4416 (home-page "https://www.gtk.org/")
4510b2da
SB
4417 (synopsis "RESTful web api query library")
4418 (description
4419 "This library was designed to make it easier to access web services that
4420claim to be \"RESTful\". It includes convenience wrappers for libsoup and
4421libxml to ease remote use of the RESTful API.")
4422 (license license:lgpl2.1+)))
4423
6e1bb642
SB
4424(define-public libsoup
4425 (package
4426 (name "libsoup")
9a9cd9bc 4427 (version "2.70.0")
6e1bb642
SB
4428 (source (origin
4429 (method url-fetch)
4430 (uri (string-append "mirror://gnome/sources/libsoup/"
4431 (version-major+minor version) "/"
c1b79b36 4432 "libsoup-" version ".tar.xz"))
6e1bb642
SB
4433 (sha256
4434 (base32
9a9cd9bc 4435 "0hjk9lgppc5435my0lyywbpmj7ib5vvcylwfin8ki97g9bvj1c2l"))))
eccaa8bf 4436 (build-system meson-build-system)
6e1bb642
SB
4437 (outputs '("out" "doc"))
4438 (arguments
2deb146f 4439 `(#:modules ((guix build utils)
eccaa8bf 4440 (guix build meson-build-system)
2deb146f
LC
4441 (ice-9 popen))
4442
f8026a79 4443 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
4444 #:phases
4445 (modify-phases %standard-phases
eccaa8bf 4446 (add-after 'unpack 'adjust-tests
26c228f9 4447 (lambda _
eccaa8bf
MB
4448 ;; This test fails due to missing /etc/nsswitch.conf
4449 ;; in the build environment.
26c228f9
LC
4450 (substitute* "tests/socket-test.c"
4451 ((".*/sockets/unconnected.*") ""))
2deb146f 4452
f8026a79
MB
4453 ;; These fail because "subdomain.localhost" does not resolve in
4454 ;; the build environment.
4455 (substitute* "tests/hsts-test.c"
4456 ((".*/hsts/basic.*") "")
4457 ((".*/hsts/subdomains.*") "")
4458 ((".*/hsts/superdomain.*") "")
4459 ((".*/hsts/utf8-address.*") ""))
4460 (substitute* "tests/hsts-db-test.c"
4461 ((".*/hsts-db/subdomains.*") ""))
4462
2deb146f
LC
4463 ;; Generate a self-signed certificate that has "localhost" as its
4464 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
4465 ;; 3.5.12, tests such as "ssl-tests" fail:
4466 ;;
4467 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
4468 ;;
4469 ;; 'certtool' is interactive so we have to pipe it the answers.
4470 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
4471 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
4472 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
4473 (for-each (lambda (line)
4474 (display line pipe)
4475 (newline pipe))
4476 '("" ;Common name
4477 "" ;UID
4478 "Guix" ;Organizational unit name
4479 "GNU" ;Organization name
4480 "" ;Locality name
4481 "" ;State or province
4482 "" ;Country
4483 "" ;subject's domain component (DC)
4484 "" ;E-mail
4485 "" ;serial number
4486 "-1" ;expiration time
4487 "N" ;belong to authority?
4488 "N" ;web client certificate?
4489 "N" ;IPsec IKE?
4490 "Y" ;web server certificate?
4491 "localhost" ;dnsName of subject
4492 "" ;dnsName of subject (end)
4493 "" ;URI of subject
4494 "127.0.0.1" ;IP address of subject
4495 "" ;signing?
06f5bc4e
MB
4496 "" ;encryption (RSA)?
4497 "" ;data encryption?
2deb146f
LC
4498 "" ;sign OCSP requests?
4499 "" ;sign code?
4500 "" ;time stamping?
4501 "" ;email protection?
4502 "" ;URI of the CRL distribution point
4503 "y" ;above info OK?
4504 ))
4505 (close-pipe pipe))
26c228f9 4506 #t))
eccaa8bf
MB
4507 (add-after 'install 'move-doc
4508 (lambda* (#:key outputs #:allow-other-keys)
4509 (let ((out (assoc-ref outputs "out"))
4510 (doc (assoc-ref outputs "doc")))
4511 (mkdir-p (string-append doc "/share"))
4512 (copy-recursively (string-append out "/share/gtk-doc")
4513 (string-append doc "/share/gtk-doc"))
4514 (delete-file-recursively (string-append out "/share/gtk-doc"))
4515 #t))))))
6e1bb642 4516 (native-inputs
26c228f9 4517 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 4518 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 4519 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
4520 ("intltool" ,intltool)
4521 ("pkg-config" ,pkg-config)
4522 ("python" ,python-wrapper)
fd730590 4523 ("vala" ,vala)
53c41e95 4524 ("php" ,php)
6e1bb642 4525 ("curl" ,curl)
2deb146f 4526 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
4527 ("httpd" ,httpd)))
4528 (propagated-inputs
4529 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
4530 `(("brotli" ,google-brotli)
4531 ("glib" ,glib)
249846bf 4532 ("libpsl" ,libpsl)
eccaa8bf 4533 ("libxml2" ,libxml2)
f8026a79
MB
4534 ("sqlite" ,sqlite)
4535 ("zlib" ,zlib)))
eccaa8bf
MB
4536 (inputs
4537 `(("glib-networking" ,glib-networking)
4538 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
4539 (home-page "https://live.gnome.org/LibSoup/")
4540 (synopsis "GLib-based HTTP Library")
4541 (description
4542 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
4543and the GLib main loop, to integrate well with GNOME applications.")
4544 (license license:lgpl2.0+)))
4545
43b6b45e
MC
4546
4547;;; A minimal version of libsoup used to prevent a cycle with Inkscape.
4548(define-public libsoup-minimal
4549 (package
4550 (inherit libsoup)
4551 (name "libsoup-minimal")
4552 (outputs (delete "doc" (package-outputs libsoup)))
4553 (arguments
4554 (substitute-keyword-arguments (package-arguments libsoup)
4555 ((#:configure-flags configure-flags)
4556 `(delete "-Dgtk_doc=true" ,configure-flags))
4557 ((#:phases phases)
4558 `(modify-phases ,phases
4559 (delete 'move-doc)))))
4560 (native-inputs (alist-delete "gtk-doc" (package-native-inputs libsoup)))))
4561
bba229a3
SB
4562(define-public libsecret
4563 (package
4564 (name "libsecret")
b05a2f62 4565 (version "0.20.3")
bba229a3
SB
4566 (source (origin
4567 (method url-fetch)
4568 (uri (string-append
896dcbc7
EF
4569 "mirror://gnome/sources/libsecret/"
4570 (version-major+minor version) "/"
0ada4e29 4571 "libsecret-" version ".tar.xz"))
bba229a3
SB
4572 (sha256
4573 (base32
b05a2f62 4574 "1r4habxdzmn02id324m0m4mg5isf22q1z436bg3vjjmcz1b3rjsg"))))
bba229a3
SB
4575 (build-system gnu-build-system)
4576 (outputs '("out" "doc"))
4577 (arguments
4578 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
4579 #:configure-flags
4580 (list (string-append "--with-html-dir="
4581 (assoc-ref %outputs "doc")
4582 "/share/gtk-doc/html"))))
4583 (native-inputs
c06ef010
MB
4584 `(("gettext" ,gettext-minimal)
4585 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 4586 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
4587 ("pkg-config" ,pkg-config)
4588 ("vala" ,vala)
4589 ("xsltproc" ,libxslt)))
4590 ;; These are needed for the tests.
4591 ;; FIXME: Add gjs once available.
4592 ;("dbus" ,dbus)
4593 ;("python2" ,python-2)
4594 ;("python2-dbus" ,python2-dbus)
4595 ;("python2-pygobject" ,python2-pygobject)
4596 ;("python2-pygobject-2" ,python2-pygobject-2)))
4597 (propagated-inputs
4598 `(("glib" ,glib))) ; required by libsecret-1.pc
4599 (inputs
4600 `(("docbook-xsl" ,docbook-xsl)
4601 ("libgcrypt" ,libgcrypt)
4602 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
4603 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
4604 (synopsis "GObject bindings for \"Secret Service\" API")
4605 (description
4606 "Libsecret is a GObject based library for storing and retrieving passwords
4607and other secrets. It communicates with the \"Secret Service\" using DBus.")
4608 (license license:lgpl2.1+)))
4609
b6821ee0 4610(define-public five-or-more
4611 (package
4612 (name "five-or-more")
ee75b46f 4613 (version "3.32.2")
b6821ee0 4614 (source
4615 (origin
4616 (method url-fetch)
bf782bfc 4617 (uri (string-append "mirror://gnome/sources/five-or-more/"
b6821ee0 4618 (version-major+minor version) "/"
bf782bfc 4619 "five-or-more-" version ".tar.xz"))
b6821ee0 4620 (sha256
ee75b46f 4621 (base32 "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii"))))
d9795e93
KK
4622 (build-system meson-build-system)
4623 (arguments
4624 '(#:glib-or-gtk? #t
4625 #:phases
4626 (modify-phases %standard-phases
4627 (add-after 'unpack 'skip-gtk-update-icon-cache
4628 (lambda _
4629 (substitute* "meson_post_install.py"
4630 (("gtk-update-icon-cache") (which "true")))
4631 #t)))))
b6821ee0 4632 (native-inputs
4633 `(("pkg-config" ,pkg-config)
d9795e93 4634 ("appstream-glib" ,appstream-glib)
b6821ee0 4635 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 4636 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 4637 ("intltool" ,intltool)
4638 ("itstool" ,itstool)
d9795e93 4639 ("vala" ,vala)
b6821ee0 4640 ("xmllint" ,libxml2)))
4641 (inputs
4642 `(("gtk+" ,gtk+)
d9795e93 4643 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 4644 ("librsvg" ,librsvg)))
4645 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
4646 (synopsis "Logic puzzle game")
4647 (description "Five or More is a game where you try to align
4648 five or more objects of the same color and shape causing them to disappear.
4649 On every turn more objects will appear, until the board is full.
4650 Try to last as long as possible.")
4651 (license license:gpl2+)))
4652
a31a6d22
SB
4653(define-public gnome-mines
4654 (package
4655 (name "gnome-mines")
583ea8f5 4656 (version "3.36.1")
a31a6d22
SB
4657 (source
4658 (origin
4659 (method url-fetch)
4660 (uri (string-append "mirror://gnome/sources/" name "/"
4661 (version-major+minor version) "/"
4662 name "-" version ".tar.xz"))
4663 (sha256
583ea8f5 4664 (base32 "0m2680r94nk61imym4x73j03jwfjd8cxm592m5ybiqdfdw6i723i"))))
8c0fab36 4665 (build-system meson-build-system)
a31a6d22 4666 (arguments
2d817e41
KK
4667 '(#:glib-or-gtk? #t
4668 #:phases
a31a6d22 4669 (modify-phases %standard-phases
2d817e41
KK
4670 (add-after 'unpack 'skip-gtk-update-icon-cache
4671 (lambda _
4672 (substitute* "build-aux/meson_post_install.py"
4673 (("gtk-update-icon-cache") (which "true")))
4674 #t)))))
a31a6d22 4675 (native-inputs
8c0fab36
RW
4676 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
4677 ("pkg-config" ,pkg-config)
a31a6d22
SB
4678 ("desktop-file-utils" ,desktop-file-utils)
4679 ("intltool" ,intltool)
bcb354ad 4680 ("itstool" ,itstool)
8c0fab36
RW
4681 ("vala" ,vala)
4682 ("yelp" ,yelp)
4683 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
4684 (inputs
4685 `(("gtk+" ,gtk+)
73992962 4686 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
4687 ("librsvg" ,librsvg)))
4688 (home-page "https://wiki.gnome.org/Apps/Mines")
4689 (synopsis "Minesweeper game")
4690 (description
4691 "Mines (previously gnomine) is a puzzle game where you locate mines
4692floating in an ocean using only your brain and a little bit of luck.")
754cfbdc
EB
4693 (license license:gpl2+)))
4694
4695(define-public gnome-multi-writer
4696 (package
4697 (name "gnome-multi-writer")
4698 (version "3.35.90")
4699 (source
4700 (origin
4701 (method url-fetch)
4702 (uri (string-append "mirror://gnome/sources/gnome-multi-writer/"
4703 (version-major+minor version) "/"
4704 "gnome-multi-writer-" version ".tar.xz"))
4705 (sha256
4706 (base32
4707 "07vgzjjdrxcp7h73z13h9agafxb4vmqx5i81bcfyw0ilw9kkdzmp"))))
4708 (build-system meson-build-system)
4709 (arguments
4710 '(#:glib-or-gtk? #t
4711 #:phases
4712 (modify-phases %standard-phases
4713 (add-after 'unpack 'skip-post-install
4714 (lambda _
4715 (substitute* "meson.build"
4716 (("meson.add_install_script" &) (string-append "# " &)))
4717 #t)))))
4718 (native-inputs
4719 `(("glib:bin" ,glib "bin")
4720 ("pkg-config" ,pkg-config)))
4721 (inputs
4722 `(("gtk+" ,gtk+)
4723 ("glib" ,glib) ; for gio
4724 ("gusb" ,gusb)
4725 ("udisks" ,udisks)
4726 ("libgudev" ,libgudev)
4727 ("libcanberra" ,libcanberra)
4728 ("polkit" ,polkit)))
4729 (home-page "https://wiki.gnome.org/Apps/MultiWriter")
4730 (synopsis "Write to multiple USB devices at once")
4731 (description
4732 "MultiWriter can be used to write an ISO file to multiple USB devices at
4733once.")
a31a6d22 4734 (license license:gpl2+)))
88f70665 4735
dfc407f3
KY
4736(define-public gnome-sudoku
4737 (package
4738 (name "gnome-sudoku")
857eb190 4739 (version "3.34.1")
dfc407f3
KY
4740 (source
4741 (origin
4742 (method url-fetch)
4743 (uri (string-append "mirror://gnome/sources/" name "/"
4744 (version-major+minor version) "/"
4745 name "-" version ".tar.xz"))
4746 (sha256
4747 (base32
857eb190 4748 "025y85r4qqardivvwiwhbmgarziykdy224m8zlrq8b79zv82793b"))))
7dc728c4
KK
4749 (build-system meson-build-system)
4750 (arguments
4751 '(#:glib-or-gtk? #t
4752 #:phases
4753 (modify-phases %standard-phases
4754 (add-after 'unpack 'skip-gtk-update-icon-cache
4755 (lambda _
4756 (substitute* "build-aux/post_install.py"
4757 (("gtk-update-icon-cache") (which "true")))
4758 #t)))))
dfc407f3
KY
4759 (native-inputs
4760 `(("pkg-config" ,pkg-config)
4761 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 4762 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
4763 ("intltool" ,intltool)
4764 ("itstool" ,itstool)
7dc728c4 4765 ("vala" ,vala)
dfc407f3
KY
4766 ("xmllint" ,libxml2)))
4767 (inputs
4768 `(("gtk+" ,gtk+)
4769 ("json-glib" ,json-glib)
4770 ("libgee" ,libgee)
4771 ("librsvg" ,librsvg)
4772 ("qqwing" ,qqwing)))
4773 (home-page "https://wiki.gnome.org/Apps/Sudoku")
4774 (synopsis "Japanese logic game")
4775 (description
4776 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
4777GNOME Sudoku is meant to have an interface as simple and unobstrusive as
4778possible while still providing features that make playing difficult Sudoku
4779more fun.")
4780 (license license:gpl2+)))
4781
88f70665
AW
4782(define-public gnome-terminal
4783 (package
4784 (name "gnome-terminal")
80f6f9d8 4785 (version "3.34.2")
88f70665
AW
4786 (source
4787 (origin
4788 (method url-fetch)
4789 (uri (string-append "mirror://gnome/sources/" name "/"
4790 (version-major+minor version) "/"
4791 name "-" version ".tar.xz"))
4792 (sha256
4793 (base32
80f6f9d8 4794 "0gc004f9b5k94gkdanmqjz3wqgnpny0l3nqm8zd19h4f0ps27mrv"))))
88f70665
AW
4795 (build-system glib-or-gtk-build-system)
4796 (arguments
4797 '(#:configure-flags
4798 (list "--disable-migration" "--disable-search-provider"
4799 "--without-nautilus-extension")
4800 #:phases
4801 (modify-phases %standard-phases
3a4de6b2 4802 (add-before 'configure 'patch-/bin/true
88f70665
AW
4803 (lambda _
4804 (substitute* "configure"
4805 (("/bin/true") (which "true"))))))))
4806 (native-inputs
4807 `(("pkg-config" ,pkg-config)
4808 ("desktop-file-utils" ,desktop-file-utils)
4809 ("intltool" ,intltool)
bcb354ad
SB
4810 ("itstool" ,itstool)
4811 ("xmllint" ,libxml2)))
68702167
MW
4812 (propagated-inputs
4813 `(("dconf" ,dconf)))
88f70665
AW
4814 (inputs
4815 `(("gtk+" ,gtk+)
4816 ("vte" ,vte)
4817 ("gnutls" ,gnutls)
88f70665 4818 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
bb93042c 4819 ("util-linux" ,util-linux "lib")
88f70665
AW
4820 ("vala" ,vala)))
4821 (home-page "https://wiki.gnome.org/Apps/Terminal")
4822 (synopsis "Terminal emulator")
4823 (description
4824 "GNOME Terminal is a terminal emulator application for accessing a
4825UNIX shell environment which can be used to run programs available on
4826your system.
4827
4828It supports several profiles, multiple tabs and implements several
4829keyboard shortcuts.")
4830 (license license:gpl3+)))
75016d07
AW
4831
4832(define-public colord
4833 (package
4834 (name "colord")
f98be942 4835 (version "1.4.4")
75016d07
AW
4836 (source
4837 (origin
4838 (method url-fetch)
5cc3096c 4839 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 4840 "colord-" version ".tar.xz"))
75016d07 4841 (sha256
f98be942 4842 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 4843 (build-system meson-build-system)
75016d07 4844 (arguments
a68544a8
RW
4845 '(;; FIXME: One test fails:
4846 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
4847 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
4848 ;; application/x-zerosize
75016d07 4849 #:tests? #f
a68544a8
RW
4850 #:glib-or-gtk? #t
4851 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 4852 ;; No dep on systemd.
a68544a8 4853 "-Dsystemd=false"
75016d07
AW
4854 ;; Wants to install to global completion dir;
4855 ;; punt.
a68544a8 4856 "-Dbash_completion=false"
a68544a8
RW
4857 "-Ddaemon_user=colord"
4858 "-Dsane=true"
dac26e22 4859 "-Dvapi=true"
6f20e2dc 4860 ;; Requires spotread.
a68544a8 4861 "-Dargyllcms_sensor=false"
6f20e2dc 4862 ;; TODO: Requires docbook2x.
a68544a8 4863 "-Dman=false")
75016d07
AW
4864 #:phases
4865 (modify-phases %standard-phases
a68544a8
RW
4866 (add-before 'configure 'patch-build-system
4867 (lambda* (#:key outputs #:allow-other-keys)
4868 (substitute* "rules/meson.build"
4869 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
4870 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
4871 #t))
4872 (add-before 'configure 'set-sqlite3-file-name
4873 (lambda* (#:key inputs #:allow-other-keys)
4874 ;; "colormgr dump" works by invoking the "sqlite3" command.
4875 ;; Record its absolute file name.
4876 (let ((sqlite (assoc-ref inputs "sqlite")))
4877 (substitute* "client/cd-util.c"
4878 (("\"sqlite3\"")
4879 (string-append "\"" sqlite "/bin/sqlite3\"")))
4880 #t))))))
75016d07 4881 (native-inputs
6f20e2dc 4882 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 4883 ("gettext" ,gettext-minimal)
75016d07 4884 ("gobject-introspection" ,gobject-introspection)
a68544a8 4885 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
4886 ("pkg-config" ,pkg-config)
4887 ("vala" ,vala)))
65cb2d61
SB
4888 (propagated-inputs
4889 ;; colord.pc refers to all these.
4890 `(("glib" ,glib)
6f20e2dc
TGR
4891 ("lcms" ,lcms)
4892 ("udev" ,eudev)))
75016d07 4893 (inputs
65cb2d61 4894 `(("dbus-glib" ,dbus-glib)
a68544a8 4895 ("gusb" ,gusb)
80c7dd1a 4896 ("libgudev" ,libgudev)
75016d07 4897 ("libusb" ,libusb)
75016d07 4898 ("polkit" ,polkit)
a68544a8 4899 ("python" ,python-wrapper)
6f20e2dc 4900 ("sqlite" ,sqlite)
4c928743 4901 ("sane-backends" ,sane-backends)))
57e7d748 4902 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
4903 (synopsis "Color management service")
4904 (description "Colord is a system service that makes it easy to manage,
4905install and generate color profiles to accurately color manage input and
4906output devices.")
4907 (license license:gpl2+)))
7b2abd00
AW
4908
4909(define-public geoclue
4910 (package
4911 (name "geoclue")
2bf0a5cb 4912 (version "2.5.6")
7b2abd00
AW
4913 (source
4914 (origin
4915 (method url-fetch)
50e96d25
MB
4916 (uri
4917 (string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
4918 version "/geoclue-" version ".tar.bz2"))
7b2abd00 4919 (sha256
2bf0a5cb 4920 (base32 "0a833x5apzabxj80ywvsh8crd635vni2i9v9c1p095f6hvmfc45k"))
fc1adab1 4921 (patches (search-patches "geoclue-config.patch"))))
50e96d25 4922 (build-system meson-build-system)
7b2abd00 4923 (arguments
50e96d25 4924 '(#:configure-flags (list "-Dbus-srv-user=geoclue")))
7b2abd00
AW
4925 (native-inputs
4926 `(("pkg-config" ,pkg-config)
758798a9 4927 ("gobject-introspection" ,gobject-introspection)
50e96d25
MB
4928 ("modem-manager" ,modem-manager)
4929 ("libnotify" ,libnotify)
4930 ("gtk-doc", gtk-doc)
7b2abd00
AW
4931 ("intltool" ,intltool)))
4932 (inputs
54e911bc 4933 `(("avahi" ,avahi)
50e96d25
MB
4934 ("glib:bin" ,glib "bin")
4935 ("glib-networking" ,glib-networking)
7b2abd00
AW
4936 ("json-glib" ,json-glib)
4937 ("libsoup" ,libsoup)))
50e96d25 4938 (home-page "https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home")
7b2abd00
AW
4939 (synopsis "Geolocation service")
4940 (description "Geoclue is a D-Bus service that provides location
4941information. The primary goal of the Geoclue project is to make creating
4942location-aware applications as simple as possible, while the secondary goal is
4943to ensure that no application can access location information without explicit
e881752c 4944permission from user.")
7b2abd00 4945 (license license:gpl2+)))
2bfe7437
AW
4946
4947(define-public geocode-glib
4948 (package
4949 (name "geocode-glib")
6f4d4ccc 4950 (version "3.26.2")
2bfe7437
AW
4951 (source (origin
4952 (method url-fetch)
4953 (uri (string-append "mirror://gnome/sources/geocode-glib/"
4954 (version-major+minor version) "/"
d485cdc0 4955 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
4956 (sha256
4957 (base32
6f4d4ccc 4958 "1l8g0f13xgkrk335afr9w8k46mziwb2jnyhl07jccl5yl37q9zh1"))))
a7dd0c02 4959 (build-system meson-build-system)
2bfe7437 4960 (arguments
a7dd0c02
RW
4961 `(#:phases
4962 (modify-phases %standard-phases
4963 ;; The tests require a bunch of locales.
4964 (add-before 'check 'set-locales
4965 (lambda* (#:key inputs #:allow-other-keys)
4966 (setenv "GUIX_LOCPATH"
4967 (string-append (assoc-ref inputs "glibc-locales")
4968 "/lib/locale"))
4969 #t)))))
2bfe7437
AW
4970 (native-inputs
4971 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
4972 ("glibc-locales" ,glibc-locales) ; for tests
4973 ("gettext" ,gettext-minimal)
2bfe7437 4974 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 4975 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
4976 ("pkg-config" ,pkg-config)
4977 ("json-glib" ,json-glib)))
4978 (propagated-inputs
4979 ;; geocode-glib-1.0.pc refers to GIO.
4980 `(("glib" ,glib)))
4981 (inputs
4982 `(("libsoup" ,libsoup)))
4983 (home-page "https://github.com/GNOME/geocode-glib/")
4984 (synopsis "Geocoding and reverse-geocoding library")
4985 (description
4986 "geocode-glib is a convenience library for geocoding (finding longitude,
4987and latitude from an address) and reverse geocoding (finding an address from
4988coordinates) using the Nominatim service. geocode-glib caches requests for
4989faster results and to avoid unnecessary server load.")
4990 (license license:lgpl2.0+)))
a1d5bb0e
AW
4991
4992(define-public upower
4993 (package
4994 (name "upower")
df45af90 4995 (version "0.99.11")
a1d5bb0e
AW
4996 (source (origin
4997 (method url-fetch)
df45af90 4998 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 4999 "upower-" version ".tar.xz"))
a1d5bb0e
AW
5000 (sha256
5001 (base32
df45af90 5002 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
5dc6d5ce
LC
5003 (patches (search-patches "upower-builddir.patch"))
5004 (modules '((guix build utils)))
5005 (snippet
5006 '(begin
5007 ;; Upstream commit
5008 ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
5009 ;; moved 'dbus-1/system.d' from etc/ to share/. However,
5010 ;; 'dbus-configuration-directory' in (gnu services dbus)
5011 ;; expects it in etc/. Thus, move it back to its previous
5012 ;; location.
5013 (substitute* "src/Makefile.in"
5014 (("^dbusconfdir =.*$")
5015 "dbusconfdir = $(sysconfdir)/dbus-1/system.d\n"))
5016 #t))))
a1d5bb0e
AW
5017 (build-system glib-or-gtk-build-system)
5018 (arguments
6039031a
BW
5019 '(#:phases
5020 (modify-phases %standard-phases
5021 (add-before 'check 'pre-check
5022 (lambda* (#:key inputs #:allow-other-keys)
5023 (let ((umockdev (string-append (assoc-ref inputs "umockdev")
5024 "/lib")))
5025 (setenv "LD_LIBRARY_PATH" umockdev))
5026 #t)))
a1d5bb0e
AW
5027 #:configure-flags (list "--localstatedir=/var"
5028 (string-append "--with-udevrulesdir="
5029 (assoc-ref %outputs "out")
9ec54965 5030 "/lib/udev/rules.d"))))
a1d5bb0e 5031 (native-inputs
ebeabe2d
SB
5032 `(("gobject-introspection" ,gobject-introspection)
5033 ("pkg-config" ,pkg-config)
a1d5bb0e 5034 ("intltool" ,intltool)
55409295
LC
5035 ("python" ,python)
5036
6039031a
BW
5037 ;; For tests.
5038 ("python-dbus" ,python-dbus)
5039 ("python-dbusmock" ,python-dbusmock)
5040 ("python-pygobject" ,python-pygobject)
5041 ("umockdev" ,umockdev)
5042
55409295
LC
5043 ;; For man pages.
5044 ("libxslt" ,libxslt) ;for 'xsltproc'
5045 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5046 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 5047 (inputs
ea226291
SB
5048 `(("dbus-glib" ,dbus-glib)
5049 ("libgudev" ,libgudev)
a1d5bb0e 5050 ("libusb" ,libusb)))
d7a503fc
MB
5051 (propagated-inputs
5052 ;; In Requires of upower-glib.pc.
5053 `(("glib" ,glib)))
57e7d748 5054 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
5055 (synopsis "System daemon for managing power devices")
5056 (description
5057 "UPower is an abstraction for enumerating power devices,
5058listening to device events and querying history and statistics. Any
5059application or service on the system can access the org.freedesktop.UPower
5060service via the system message bus.")
5061 (license license:gpl2+)))
6a180f6f
AW
5062
5063(define-public libgweather
5064 (package
5065 (name "libgweather")
462d3416 5066 (version "3.34.0")
6a180f6f
AW
5067 (source (origin
5068 (method url-fetch)
5069 (uri (string-append "mirror://gnome/sources/" name "/"
5070 (version-major+minor version) "/"
5071 name "-" version ".tar.xz"))
5072 (sha256
5073 (base32
462d3416 5074 "1fgiqswkhiaijanml3mb16ajn5aanrk7x6yiwagp9n9rssam6902"))))
cf6cbc34 5075 (build-system meson-build-system)
6a180f6f 5076 (arguments
cf6cbc34
RW
5077 `(#:tests? #f ; one of two tests requires network access
5078 #:configure-flags
5079 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 5080 (assoc-ref %build-inputs "tzdata")
cf6cbc34 5081 "/share/zoneinfo"))))
6a180f6f
AW
5082 (native-inputs
5083 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 5084 ("gobject-introspection" ,gobject-introspection)
6a180f6f 5085 ("pkg-config" ,pkg-config)
1d3fcf94 5086 ("vala" ,vala)
6a180f6f
AW
5087 ("intltool" ,intltool)))
5088 (propagated-inputs
5089 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
5090 ;; libsoup.
5091 `(("gtk+" ,gtk+)
5092 ("gdk-pixbuf" ,gdk-pixbuf)
5093 ("libxml2" ,libxml2)
cf6cbc34 5094 ("libsoup" ,libsoup)
6a180f6f 5095 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
5096 (inputs
5097 `(("tzdata" ,tzdata)))
6a180f6f
AW
5098 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
5099 (synopsis "Location, time zone, and weather library for GNOME")
5100 (description
5101 "libgweather is a library to access weather information from online
5102services for numerous locations.")
5103 (license license:gpl2+)))
23a22af6
AW
5104
5105(define-public gnome-settings-daemon
5106 (package
5107 (name "gnome-settings-daemon")
20154759 5108 (version "3.34.1")
23a22af6
AW
5109 (source
5110 (origin
5111 (method url-fetch)
5112 (uri (string-append "mirror://gnome/sources/" name "/"
5113 (version-major+minor version) "/"
5114 name "-" version ".tar.xz"))
5115 (sha256
5116 (base32
98b89f43
LC
5117 "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr"))
5118 (patches (search-patches "gnome-settings-daemon-gc.patch"))))
e644f9fa 5119 (build-system meson-build-system)
23a22af6 5120 (arguments
e644f9fa
RW
5121 `(#:glib-or-gtk? #t
5122 #:configure-flags
5123 (list (string-append "-Dudev_dir="
5124 (assoc-ref %outputs "out")
4d0e085b 5125 "/lib/udev/rules.d/")
20154759 5126 "-Dsystemd=false"
4d0e085b
RW
5127 ;; Otherwise, the RUNPATH will lack the final path component.
5128 (string-append "-Dc_link_args=-Wl,-rpath="
5129 (assoc-ref %outputs "out")
5130 "/lib/gnome-settings-daemon-3.0"))
5ce6c2d9
LC
5131
5132 #:phases (modify-phases %standard-phases
5133 (add-before 'configure 'set-baobab-file-name
5134 (lambda* (#:key inputs #:allow-other-keys)
5135 ;; Hard-code the file name of Baobab instead of looking
5136 ;; it up in $PATH. This ensures users get the "Examine"
5137 ;; button in the low disk space notification of GDM even
5138 ;; if they don't have GNOME in their main profile.
5139 (let ((baobab (assoc-ref inputs "baobab")))
5140 (substitute* "plugins/housekeeping/gsd-disk-space.c"
5141 (("g_find_program_in_path \\(DISK_SPACE_ANALYZER\\)")
5142 (string-append "g_strdup (\"" baobab
5143 "/bin/baobab\")")))
5144 #t))))
5145
e644f9fa 5146 ;; Color management test can't reach the colord system service.
23a22af6
AW
5147 #:tests? #f))
5148 (native-inputs
e644f9fa
RW
5149 `(("glib:bin" ,glib "bin") ; for glib-mkenums
5150 ("pkg-config" ,pkg-config)
23a22af6
AW
5151 ("intltool" ,intltool)
5152 ("xsltproc" ,libxslt)
5153 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
5154 ("docbook-xml" ,docbook-xml-4.2)
5155 ("docbook-xsl" ,docbook-xsl)))
5156 (inputs
e644f9fa 5157 `(("alsa-lib" ,alsa-lib)
5ce6c2d9 5158 ("baobab" ,baobab)
e644f9fa 5159 ("colord" ,colord)
ea226291 5160 ("libgudev" ,libgudev)
23a22af6
AW
5161 ("upower" ,upower)
5162 ("polkit" ,polkit)
5163 ("pulseaudio" ,pulseaudio)
5164 ("libcanberra" ,libcanberra)
5165 ("libx11" ,libx11)
5166 ("libxtst" ,libxtst)
5167 ("lcms" ,lcms)
5168 ("libnotify" ,libnotify)
5169 ("geoclue" ,geoclue)
5170 ("geocode-glib" ,geocode-glib)
5171 ("libgweather" ,libgweather)
5172 ("gnome-desktop" ,gnome-desktop)
5173 ("nss" ,nss)
5174 ("cups" ,cups)
ec2b1921
AW
5175 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5176 ("libwacom" ,libwacom)
5177 ("librsvg" ,librsvg)
eee7878f 5178 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 5179 ("wayland" ,wayland)
20154759
KK
5180 ("network-manager" ,network-manager)
5181 ("gcr" ,gcr)
5182 ("modem-manager" ,modem-manager)))
f032d0be 5183 (home-page "https://www.gnome.org")
23a22af6
AW
5184 (synopsis "GNOME settings daemon")
5185 (description
5186 "This package contains the daemon responsible for setting the various
5187parameters of a GNOME session and the applications that run under it. It
5188handles settings such keyboard layout, shortcuts, and accessibility, clipboard
5189settings, themes, mouse settings, and startup of other daemons.")
5190 (license license:gpl2+)))
1e7464a9
DH
5191
5192(define-public totem-pl-parser
5193 (package
5194 (name "totem-pl-parser")
f9c182ad 5195 (version "3.26.5")
1e7464a9
DH
5196 (source (origin
5197 (method url-fetch)
e980cbe9
MW
5198 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
5199 (version-major+minor version) "/"
1e7464a9
DH
5200 "totem-pl-parser-" version ".tar.xz"))
5201 (sha256
5202 (base32
f9c182ad 5203 "132jihnf51zs98yjkc6jxyqib4f3dawpjm17g4bj4j78y93dww2k"))))
1e9b19dd 5204 (build-system meson-build-system)
1e7464a9
DH
5205 (arguments
5206 ;; FIXME: Tests require gvfs.
5207 `(#:tests? #f))
5208 (native-inputs
5209 `(("intltool" ,intltool)
5210 ("glib" ,glib "bin")
4d6d8281 5211 ("gobject-introspection" ,gobject-introspection)
1e7464a9 5212 ("pkg-config" ,pkg-config)))
22a6ad6a 5213 (propagated-inputs
1e7464a9
DH
5214 `(("glib" ,glib)
5215 ("gmime" ,gmime)
1e9b19dd
RW
5216 ("libarchive" ,libarchive)
5217 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
5218 ("libxml2" ,libxml2)))
5219 (inputs
0a6e9e13 5220 `(("libsoup" ,libsoup)))
1e7464a9
DH
5221 (home-page "https://projects.gnome.org/totem")
5222 (synopsis "Library to parse and save media playlists for GNOME")
5223 (description "Totem-pl-parser is a GObjects-based library to parse and save
5224playlists in a variety of formats.")
5225 (license license:lgpl2.0+)))
5226
6b888eff
SB
5227(define-public aisleriot
5228 (package
5229 (name "aisleriot")
36ed9b46 5230 (version "3.22.9")
6b888eff
SB
5231 (source (origin
5232 (method url-fetch)
e43f622a 5233 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 5234 (version-major+minor version) "/"
e43f622a 5235 "aisleriot-" version ".tar.xz"))
6b888eff
SB
5236 (sha256
5237 (base32
36ed9b46 5238 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
5239 (build-system glib-or-gtk-build-system)
5240 (arguments
5241 '(#:configure-flags
5242 '("--with-platform=gtk-only"
5243 "--with-card-theme-formats=svg")))
5244 (native-inputs
5245 `(("desktop-file-utils" ,desktop-file-utils)
5246 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5247 ("intltool" ,intltool)
5248 ("itstool" ,itstool)
5249 ("pkg-config" ,pkg-config)
5250 ("xmllint" ,libxml2)))
5251 (inputs
5252 `(("gtk+" ,gtk+)
226e57d6 5253 ("guile" ,guile-2.2)
6b888eff
SB
5254 ("libcanberra" ,libcanberra)
5255 ("librsvg" ,librsvg)))
5256 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
5257 (synopsis "Solitaire card games")
5258 (description
5259 "Aisleriot (also known as Solitaire or sol) is a collection of card games
5260which are easy to play with the aid of a mouse.")
5261 (license license:gpl3+)))
4a79e256 5262
f828d05b
KK
5263(define-public amtk
5264 (package
5265 (name "amtk")
0e08ca14 5266 (version "5.0.2")
f828d05b
KK
5267 (source (origin
5268 (method url-fetch)
bf92ba6b 5269 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 5270 (version-major+minor version) "/"
bf92ba6b 5271 "amtk-" version ".tar.xz"))
f828d05b
KK
5272 (sha256
5273 (base32
0e08ca14 5274 "11jgz2i9wjzv4alrxl1qyxiapb52w7vs5ygfgsw0qgdap8gqkk3i"))))
f828d05b
KK
5275 (build-system gnu-build-system)
5276 (arguments
5277 '(#:configure-flags '("--enable-gtk-doc")))
5278 (native-inputs
5279 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 5280 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
5281 ("gtk-doc" ,gtk-doc)
5282 ("pkg-config" ,pkg-config)))
5283 (inputs
5284 `(("glib" ,glib)
5285 ("gtk+" ,gtk+)))
5286 (home-page "https://wiki.gnome.org/Projects/Amtk")
5287 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
5288 (description
5289 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
5290It is a basic GtkUIManager replacement based on GAction. It is suitable for
5291both a traditional UI or a modern UI with a GtkHeaderBar.")
5292 (license license:lgpl2.1+)))
5293
4a79e256
SB
5294(define-public devhelp
5295 (package
5296 (name "devhelp")
8ae23a1d 5297 (version "3.34.0")
4a79e256
SB
5298 (source (origin
5299 (method url-fetch)
5300 (uri (string-append "mirror://gnome/sources/" name "/"
5301 (version-major+minor version) "/"
5302 name "-" version ".tar.xz"))
5303 (sha256
5304 (base32
8ae23a1d 5305 "0zpmn6fgkgiayvn4diia5df0s6s7dqrdnp3nrvpavsmgn0vhb4pg"))))
11d28bd9 5306 (build-system meson-build-system)
35407f94 5307 (arguments
20db7a3d
KK
5308 '(#:glib-or-gtk? #t
5309 #:phases
35407f94
EF
5310 (modify-phases %standard-phases
5311 (add-after 'unpack 'skip-gtk-update-icon-cache
5312 ;; Don't create 'icon-theme.cache'.
5313 (lambda _
5314 (substitute* "meson_post_install.py"
5315 (("gtk-update-icon-cache") "true"))
5316 #t)))))
4a79e256
SB
5317 (native-inputs
5318 `(("intltool" ,intltool)
5dd12afc 5319 ("itstool" ,itstool)
11d28bd9
KK
5320 ("gobject-introspection" ,gobject-introspection)
5321 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
5322 ("pkg-config" ,pkg-config)))
5323 (inputs
11d28bd9
KK
5324 `(("amtk" ,amtk)
5325 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
5326 ("webkitgtk" ,webkitgtk)))
5327 (home-page "https://wiki.gnome.org/Apps/Devhelp")
5328 (synopsis "API documentation browser for GNOME")
5329 (description
5330 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
5331natively with GTK-Doc (the API reference system developed for GTK+ and used
5332throughout GNOME for API documentation).")
5333 (license license:gpl2+)))
ba421ab7
MW
5334
5335(define-public cogl
5336 (package
5337 (name "cogl")
c668a880 5338 (version "1.22.8")
ba421ab7
MW
5339 (source
5340 (origin
5341 (method url-fetch)
5754f0cf 5342 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 5343 (version-major+minor version) "/"
5754f0cf 5344 "cogl-" version ".tar.xz"))
ba421ab7 5345 (sha256
c668a880 5346 (base32 "0nfph4ai60ncdx7hy6hl1i1cmp761jgnyjfhagzi0iqq36qb41d8"))))
a88d5a0c
MW
5347 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
5348 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
5349 (build-system gnu-build-system)
5350 (native-inputs
5351 `(("glib:bin" ,glib "bin") ; for glib-mkenums
5352 ("gobject-introspection" ,gobject-introspection)
b4f04e0e 5353 ("xorg-server" ,xorg-server-for-tests)
ba421ab7
MW
5354 ("pkg-config" ,pkg-config)))
5355 (propagated-inputs
5356 `(("glib" ,glib)
5357 ("gdk-pixbuf" ,gdk-pixbuf)
5358 ("libx11" ,libx11)
5359 ("libxext" ,libxext)
5360 ("libxfixes" ,libxfixes)
5361 ("libxdamage" ,libxdamage)
5362 ("libxcomposite" ,libxcomposite)
5363 ("libxrandr" ,libxrandr)))
5364 (inputs
5365 `(("mesa" ,mesa)
5366 ("cairo" ,cairo)
5367 ("pango" ,pango)
5368 ("gstreamer" ,gstreamer)
31860852
KK
5369 ("gst-plugins-base" ,gst-plugins-base)
5370 ("wayland" ,wayland)))
ba421ab7 5371 (arguments
b4f04e0e
MB
5372 `(#:disallowed-references (,xorg-server-for-tests)
5373 #:configure-flags (list "--enable-cogl-gst"
31860852
KK
5374 "--enable-wayland-egl-platform"
5375 "--enable-wayland-egl-server"
5376
ba421ab7
MW
5377 ;; Arrange to pass an absolute file name to
5378 ;; dlopen for libGL.so.
5379 (string-append "--with-gl-libname="
5380 (assoc-ref %build-inputs "mesa")
5381 "/lib/libGL.so"))
b4f04e0e 5382 #:phases
ba421ab7 5383 (modify-phases %standard-phases
0c8a51c7
MB
5384 (add-after 'unpack 'fix-build-with-mesa-20
5385 (lambda _
5386 ;; Work around a problem with Mesa 20 where some macros used by
5387 ;; Cogl went missing from eglext.h. This can likely be removed
5388 ;; for newer versions of Cogl or Mesa.
5389 ;; https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/19
5390 (substitute* '("configure"
5391 "cogl/winsys/cogl-winsys-egl-kms.c")
5392 (("#include <EGL/eglext.h>" all)
5393 (string-append all "\n#include <EGL/eglmesaext.h>\n")))
5394 #t))
ba421ab7 5395 (add-before 'check 'start-xorg-server
b4f04e0e
MB
5396 (lambda* (#:key tests? inputs #:allow-other-keys)
5397 (if tests?
5398 (begin
5399 ;; The test suite requires a running X server.
5400 (system (format #f "~a/bin/Xvfb :1 +extension GLX &"
5401 (assoc-ref inputs "xorg-server")))
5402 (setenv "DISPLAY" ":1")
5403 #t)
5404 (format #t "test suite not run~%"))
ba421ab7 5405 #t)))))
89b49245 5406 (home-page "https://www.cogl3d.org")
ba421ab7
MW
5407 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
5408 (description
5409 "Cogl is a small library for using 3D graphics hardware to draw pretty
5410pictures. The API departs from the flat state machine style of OpenGL and is
5411designed to make it easy to write orthogonal components that can render
5412without stepping on each others toes.")
5413 (license (list license:expat ; most of the code
5414 license:bsd-3 ; cogl/cogl-point-in-poly.c
5415 license:sgifreeb2.0 ; cogl-path/tesselator/
5416 license:asl2.0)))) ; examples/android/
fb182b8a
MW
5417
5418(define-public clutter
5419 (package
5420 (name "clutter")
6a88e4ee 5421 (version "1.26.2")
fb182b8a
MW
5422 (source
5423 (origin
5424 (method url-fetch)
5425 (uri (string-append "mirror://gnome/sources/" name "/"
5426 (version-major+minor version) "/"
5427 name "-" version ".tar.xz"))
5428 (sha256
5429 (base32
6a88e4ee 5430 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
5431 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
5432 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 5433 (build-system gnu-build-system)
600233bd
LC
5434 (outputs '("out"
5435 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
5436 (native-inputs
5437 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
5438 ("gobject-introspection" ,gobject-introspection)
5439 ("pkg-config" ,pkg-config)
5440 ("xsltproc" ,libxslt)))
5441 (propagated-inputs
5442 `(("cogl" ,cogl)
5443 ("cairo" ,cairo)
5444 ("atk" ,atk)
5445 ("gtk+" ,gtk+)
5446 ("json-glib" ,json-glib)
5447 ("glib" ,glib)
5448 ("libxcomposite" ,libxcomposite)
5449 ("libxdamage" ,libxdamage)
5450 ("libxext" ,libxext)
5451 ("xinput" ,xinput)))
5452 (inputs
5453 `(("libxkbcommon" ,libxkbcommon)
5454 ("udev" ,eudev)))
5455 (arguments
600233bd
LC
5456 `(#:configure-flags (list "--enable-x11-backend=yes"
5457
5458 ;; This produces share/doc/{clutter,cally}.
5459 (string-append "--with-html-dir="
5460 (assoc-ref %outputs "doc")
5461 "/share/doc"))
fb182b8a
MW
5462 ;; XXX FIXME: Get test suite working. It would probably fail in the
5463 ;; same way the cogl tests fail, since clutter is based on cogl.
5464 #:tests? #f))
5465 (home-page "http://www.clutter-project.org")
476af713 5466 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 5467 (description
476af713 5468 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
5469creating fast, mainly 2D single window applications such as media box UIs,
5470presentations, kiosk style applications and so on.")
5471 (license license:lgpl2.0+)))
bf7f17ba
MW
5472
5473(define-public clutter-gtk
5474 (package
5475 (name "clutter-gtk")
5d1a3219 5476 (version "1.8.4")
bf7f17ba
MW
5477 (source
5478 (origin
5479 (method url-fetch)
5480 (uri (string-append "mirror://gnome/sources/" name "/"
5481 (version-major+minor version) "/"
5482 name "-" version ".tar.xz"))
5483 (sha256
5484 (base32
5d1a3219 5485 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
5486 (build-system gnu-build-system)
5487 (native-inputs
5488 `(("pkg-config" ,pkg-config)
5489 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
5490 (propagated-inputs
5491 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
5492 `(("clutter" ,clutter)
5493 ("gtk+" ,gtk+)))
5494 (home-page "http://www.clutter-project.org")
476af713 5495 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 5496 (description
476af713 5497 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
5498creating fast, mainly 2D single window applications such as media box UIs,
5499presentations, kiosk style applications and so on.")
5500 (license license:lgpl2.0+)))
86d6a893
MW
5501
5502(define-public clutter-gst
5503 (package
5504 (name "clutter-gst")
ba07ac19 5505 (version "3.0.27")
86d6a893
MW
5506 (source
5507 (origin
5508 (method url-fetch)
f010f89b 5509 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 5510 (version-major+minor version) "/"
f010f89b 5511 "clutter-gst-" version ".tar.xz"))
86d6a893 5512 (sha256
ba07ac19 5513 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
5514 (build-system gnu-build-system)
5515 (native-inputs
ba07ac19 5516 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
5517 ("pkg-config" ,pkg-config)
5518 ("gobject-introspection" ,gobject-introspection)))
5519 (inputs
5520 `(("clutter" ,clutter)
5521 ("gstreamer" ,gstreamer)
5522 ("gst-plugins-base" ,gst-plugins-base)))
5523 (home-page "http://www.clutter-project.org")
5524 (synopsis "Integration library for using GStreamer with Clutter")
5525 (description
5526 "Clutter-Gst is an integration library for using GStreamer with Clutter.
5527It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
5528implements the ClutterGstPlayer interface using playbin. Clutter is an
5529OpenGL-based interactive canvas library.")
86d6a893 5530 (license license:lgpl2.0+)))
607a04ae 5531
30dc88d9
LC
5532(define-public libchamplain
5533 (package
5534 (name "libchamplain")
5564b2c5 5535 (version "0.12.16")
30dc88d9
LC
5536 (source (origin
5537 (method url-fetch)
5538 (uri (string-append
5539 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
5540 version ".tar.xz"))
5541 (sha256
5542 (base32
5564b2c5 5543 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 5544 (build-system gnu-build-system)
f7c6833f
LF
5545 (arguments '(#:configure-flags '("--enable-vala")))
5546 (native-inputs
5547 `(("gobject-introspection" ,gobject-introspection)
5548 ("pkg-config" ,pkg-config)
5549 ("vala" ,vala)))
30dc88d9
LC
5550 (propagated-inputs
5551 `(("libsoup" ,libsoup)
5552 ("sqlite" ,sqlite)
5553 ("clutter" ,clutter)
5554 ("clutter-gtk" ,clutter-gtk)
5555 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
5556 ("cairo" ,cairo)
5557 ("gtk+3" ,gtk+)
5558 ("glib" ,glib)))
f032d0be 5559 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
5560 (synopsis "C library providing a ClutterActor to display maps")
5561 (description
5562 "libchamplain is a C library providing a ClutterActor to display maps.
5563It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
5564and Perl bindings are also available. It supports numerous free map sources
5565such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
5566 (license license:lgpl2.1+)))
5567
607a04ae
MW
5568(define-public gom
5569 (package
5570 (name "gom")
0510440b 5571 (version "0.3.2")
607a04ae
MW
5572 (source
5573 (origin
5574 (method url-fetch)
6c8a0b6f 5575 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 5576 (version-major+minor version) "/"
6c8a0b6f 5577 "gom-" version ".tar.xz"))
607a04ae
MW
5578 (sha256
5579 (base32
0510440b 5580 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
5581 (build-system gnu-build-system)
5582 (native-inputs
5583 `(("intltool" ,intltool)
5584 ("pkg-config" ,pkg-config)
5585 ("gobject-introspection" ,gobject-introspection)))
5586 (inputs
5587 `(("glib" ,glib)
5588 ("gdk-pixbuf" ,gdk-pixbuf)
5589 ("sqlite" ,sqlite)))
5590 ;; XXX TODO: Figure out how to run the test suite.
5591 (arguments `(#:tests? #f))
5592 (home-page "https://wiki.gnome.org/Projects/Gom")
5593 (synopsis "Object mapper from GObjects to SQLite")
5594 (description
5595 "Gom provides an object mapper from GObjects to SQLite. It helps you
5596write applications that need to store structured data as well as make complex
5597queries upon that data.")
5598 (license license:lgpl2.1+)))
b7a3cf11 5599
865aacc9 5600(define-public libgnome-games-support
f09520db 5601 (package
865aacc9 5602 (name "libgnome-games-support")
4c6d15cf 5603 (version "1.4.4")
f09520db
SB
5604 (source (origin
5605 (method url-fetch)
2d8dca9d 5606 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 5607 (version-major+minor version) "/"
2d8dca9d 5608 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
5609 (sha256
5610 (base32
4c6d15cf 5611 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
5612 (build-system gnu-build-system)
5613 (arguments
5614 '(#:phases
5615 (modify-phases %standard-phases
5616 (add-before 'check 'pre-check
5617 (lambda _
865aacc9 5618 ;; Tests require a writable HOME.
f09520db
SB
5619 (setenv "HOME" (getcwd))
5620 #t)))))
5621 (native-inputs
5622 `(("intltool" ,intltool)
5623 ("pkg-config" ,pkg-config)
5624 ("vala" ,vala)))
5625 (propagated-inputs
865aacc9 5626 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
5627 `(("gtk+" ,gtk+)
5628 ("libgee" ,libgee)))
5629 (home-page "https://www.gnome.org/")
5630 (synopsis "Useful functionality shared among GNOME games")
5631 (description
865aacc9 5632 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
5633GNOME Games, but it may be used by others.")
5634 (license license:lgpl3+)))
5635
b7a3cf11
SB
5636(define-public gnome-klotski
5637 (package
5638 (name "gnome-klotski")
18364fbc 5639 (version "3.34.0")
b7a3cf11
SB
5640 (source (origin
5641 (method url-fetch)
5642 (uri (string-append "mirror://gnome/sources/" name "/"
5643 (version-major+minor version) "/"
5644 name "-" version ".tar.xz"))
5645 (sha256
5646 (base32
18364fbc 5647 "0sbx0bzy32lh2c9jp8v7gz788wn9y1la8mr5a7gf7370szsl4d4f"))))
c1e419c4
KK
5648 (build-system meson-build-system)
5649 (arguments
5650 '(#:glib-or-gtk? #t
5651 #:phases
5652 (modify-phases %standard-phases
5653 (add-after 'unpack 'skip-gtk-update-icon-cache
5654 ;; Don't create 'icon-theme.cache'.
5655 (lambda _
5656 (substitute* "build-aux/meson_post_install.py"
5657 (("gtk-update-icon-cache") (which "true")))
5658 #t)))))
b7a3cf11
SB
5659 (native-inputs
5660 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 5661 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
5662 ("intltool" ,intltool)
5663 ("itstool" ,itstool)
bcb354ad 5664 ("pkg-config" ,pkg-config)
c1e419c4 5665 ("vala" ,vala)
bcb354ad 5666 ("xmllint" ,libxml2)))
b7a3cf11
SB
5667 (inputs
5668 `(("gtk+" ,gtk+)
f4eae76f 5669 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
5670 ("librsvg" ,librsvg)))
5671 (home-page "https://wiki.gnome.org/Apps/Klotski")
5672 (synopsis "Sliding block puzzles")
5673 (description
5674 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
5675the patterned block to the area bordered by green markers. To do so, you will
5676need to slide other blocks out of the way. Complete each puzzle in as few moves
5677as possible!")
5678 (license license:gpl2+)))
8d4791bf
MW
5679
5680(define-public grilo
5681 (package
5682 (name "grilo")
71dc411b 5683 (version "0.3.12")
8d4791bf
MW
5684 (source
5685 (origin
5686 (method url-fetch)
71dc411b 5687 (uri (string-append "mirror://gnome/sources/grilo/"
8d4791bf 5688 (version-major+minor version) "/"
71dc411b 5689 "grilo-" version ".tar.xz"))
8d4791bf 5690 (sha256
71dc411b 5691 (base32 "0w8sq5g6g1rg85h53vbll8va70fcp6082mlpmy98aa03444ddyyv"))))
d48d4c98 5692 (build-system meson-build-system)
8d4791bf
MW
5693 (native-inputs
5694 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
5695 ("intltool" ,intltool)
5696 ("pkg-config" ,pkg-config)
d48d4c98
KK
5697 ("gobject-introspection" ,gobject-introspection)
5698 ("gtk-doc" ,gtk-doc)
5699 ("vala" ,vala)))
8d4791bf 5700 (inputs
6d7273a0
KK
5701 `(("cyrus-sasl" ,cyrus-sasl)
5702 ("glib" ,glib)
8d4791bf
MW
5703 ("gtk+" ,gtk+)
5704 ("libxml2" ,libxml2)
6d7273a0 5705 ("liboauth" ,liboauth)
8d4791bf
MW
5706 ("libsoup" ,libsoup)
5707 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
5708 (native-search-paths
5709 (list (search-path-specification
5710 (variable "GRL_PLUGIN_PATH")
5711 (files (list (string-append "lib/grilo-"
5712 (version-major+minor version)))))))
d48d4c98 5713 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
5714 (synopsis "Framework for discovering and browsing media")
5715 (description
5716 "Grilo is a framework focused on making media discovery and browsing easy
5717for application developers.")
5718 (license license:lgpl2.1+)))
7b212526
MW
5719
5720(define-public grilo-plugins
5721 (package
5722 (name "grilo-plugins")
62a68b73 5723 (version "0.3.11")
7b212526
MW
5724 (source
5725 (origin
5726 (method url-fetch)
5727 (uri (string-append "mirror://gnome/sources/" name "/"
5728 (version-major+minor version) "/"
5729 name "-" version ".tar.xz"))
5730 (sha256
62a68b73 5731 (base32 "0wyd3n5mn7b77hxylkc3f62v01mlavh96901pz342hwrn42ydqnx"))))
281f6b3a 5732 (build-system meson-build-system)
7b212526 5733 (native-inputs
281f6b3a
RG
5734 `(("gettext" ,gettext-minimal)
5735 ("glib:bin" ,glib "bin")
5736 ("gtk+:bin" ,gtk+ "bin")
7b212526
MW
5737 ("itstool" ,itstool)
5738 ("pkg-config" ,pkg-config)))
281f6b3a 5739 ;; TODO: ahavi, gstreamer
7b212526
MW
5740 (inputs
5741 `(("grilo" ,grilo)
281f6b3a
RG
5742 ;("gmime" ,gmime) ; unused
5743 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
7b212526 5744 ("gom" ,gom)
281f6b3a
RG
5745 ;("gssdp" ,gssdp) ; unused
5746 ;("gupnp" ,gupnp) ; unused
5747 ;("gupnp-av" ,gupnp-av) ; unused
7b212526
MW
5748 ("json-glib" ,json-glib)
5749 ("avahi" ,avahi)
281f6b3a
RG
5750 ("libgdata" ,libgdata)
5751 ("libmediaart" ,libmediaart)
5752 ;("librest" ,rest) ; unused
7b212526 5753 ("libsoup" ,libsoup)
281f6b3a
RG
5754 ("totam-pl-parser" ,totem-pl-parser)
5755 ("tracker" ,tracker))) ; unused because it's too old
7b212526 5756 (arguments
281f6b3a
RG
5757 `(#:glib-or-gtk? #t
5758 ;;Disable lua-factory as it needs missing dependencies
5759 #:configure-flags '("-Denable-lua-factory=no")))
f032d0be 5760 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
5761 (synopsis "Plugins for the Grilo media discovery library")
5762 (description
5763 "Grilo is a framework focused on making media discovery and browsing easy
281f6b3a
RG
5764for application developers. This package provides plugins for common media
5765discovery protocols.")
7b212526 5766 (license license:lgpl2.1+)))
4e3fc547
MW
5767
5768(define-public totem
5769 (package
5770 (name "totem")
961dc62d 5771 (version "3.34.1")
4e3fc547
MW
5772 (source
5773 (origin
5774 (method url-fetch)
2a9761b1 5775 (uri (string-append "mirror://gnome/sources/totem/"
4e3fc547 5776 (version-major+minor version) "/"
2a9761b1 5777 "totem-" version ".tar.xz"))
4e3fc547
MW
5778 (sha256
5779 (base32
961dc62d 5780 "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b"))))
7ad81b8b 5781 (build-system meson-build-system)
4e3fc547
MW
5782 (native-inputs
5783 `(("pkg-config" ,pkg-config)
5784 ("desktop-file-utils" ,desktop-file-utils)
5785 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 5786 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 5787 ("intltool" ,intltool)
bcb354ad 5788 ("itstool" ,itstool)
995ef5ea 5789 ("xmllint" ,libxml2)
995ef5ea 5790 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
5791 (propagated-inputs
5792 `(("dconf" ,dconf)))
5793 (inputs
5794 `(("gtk+" ,gtk+)
5795 ("gdk-pixbuf" ,gdk-pixbuf)
5796 ("atk" ,atk)
5797 ("cairo" ,cairo)
5798 ("dbus-glib" ,dbus-glib)
5799 ("clutter" ,clutter)
5800 ("clutter-gtk" ,clutter-gtk)
5801 ("clutter-gst" ,clutter-gst)
6a6db57f 5802 ("xorgproto" ,xorgproto)
4e3fc547
MW
5803 ("libxxf86vm" ,libxxf86vm)
5804 ("libxtst" ,libxtst)
5805 ("libxrandr" ,libxrandr)
5806 ("libxml2" ,libxml2)
5807 ("libsoup" ,libsoup)
5808 ("libpeas" ,libpeas)
5809 ("librsvg" ,librsvg)
5810 ("lirc" ,lirc)
5811 ("gnome-desktop" ,gnome-desktop)
5812 ("gstreamer" ,gstreamer)
5813 ("gst-plugins-base" ,gst-plugins-base)
5814 ("gst-plugins-good" ,gst-plugins-good)
5815 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5816 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 5817 ("python" ,python)
995ef5ea 5818 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
5819 ("totem-pl-parser" ,totem-pl-parser)
5820 ("grilo" ,grilo)
5821 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
5822 ("vala" ,vala)))
5823 (arguments
7ad81b8b
LC
5824 `(#:glib-or-gtk? #t
5825
5826 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 5827 ;; all that.
7ad81b8b 5828 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
5829
5830 ;; Do not build .a files for the plugins, it's
5831 ;; completely useless. This saves 2 MiB.
7ad81b8b 5832 "--default-library" "shared")
ec5c24f9 5833 #:phases
4e3fc547 5834 (modify-phases %standard-phases
d51b19ad
EF
5835 (add-after 'unpack 'skip-gtk-update-icon-cache
5836 ;; Don't create 'icon-theme.cache'.
5837 (lambda _
5838 (substitute* "meson_post_install.py"
5839 (("gtk-update-icon-cache") "true"))
5840 #t))
6368eb39
DM
5841 (add-before
5842 'install 'disable-cache-generation
5843 (lambda _
5844 (setenv "DESTDIR" "/")
5845 #t))
995ef5ea
KK
5846 (add-before
5847 'check 'pre-check
5848 (lambda _
5849 ;; Tests require a running X server.
5850 (system "Xvfb :1 &")
5851 (setenv "DISPLAY" ":1")
5852 #t))
4e3fc547
MW
5853 (add-after
5854 'install 'wrap-totem
5855 (lambda* (#:key inputs outputs #:allow-other-keys)
5856 (let ((out (assoc-ref outputs "out"))
5857 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
5858 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
5859 (wrap-program (string-append out "/bin/totem")
5860 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
5861 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
5862 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
5863 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
5864 #t)))))
5865 (home-page "https://wiki.gnome.org/Apps/Videos")
5866 (synopsis "Simple media player for GNOME based on GStreamer")
5867 (description "Totem is a simple yet featureful media player for GNOME
5868which can read a large number of file formats.")
5869 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
5870 ;; to be used and distributed together with GStreamer and Totem. See
5871 ;; file://COPYING in the source distribution for details.
5872 (license license:gpl2+)))
f0afb0c8
DH
5873
5874(define-public rhythmbox
5875 (package
5876 (name "rhythmbox")
eda580c0 5877 (version "3.4.4")
f0afb0c8
DH
5878 (source (origin
5879 (method url-fetch)
2588693d 5880 (uri (string-append "mirror://gnome/sources/rhythmbox/"
f0afb0c8 5881 (version-major+minor version) "/"
2588693d 5882 "rhythmbox-" version ".tar.xz"))
f0afb0c8
DH
5883 (sha256
5884 (base32
eda580c0 5885 "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf"))))
f0afb0c8
DH
5886 (build-system glib-or-gtk-build-system)
5887 (arguments
5888 `(#:configure-flags
5889 (list "--enable-lirc"
5890 "--enable-python"
5891 "--enable-vala"
5892 "--with-brasero"
5893 "--with-gudev"
5894 "--with-libsecret")
5895 #:phases
5896 (modify-phases %standard-phases
5897 (add-after
5898 'install 'wrap-rhythmbox
5899 (lambda* (#:key inputs outputs #:allow-other-keys)
5900 (let ((out (assoc-ref outputs "out"))
5901 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5902 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
5903 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
5904 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
5905 (wrap-program (string-append out "/bin/rhythmbox")
5906 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5907 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
5908 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
5909 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
5910 #t)))))
5911 (propagated-inputs
5912 `(("dconf" ,dconf)))
5913 (native-inputs
bcb354ad
SB
5914 `(("itstool" ,itstool)
5915 ("intltool" ,intltool)
f0afb0c8
DH
5916 ("glib" ,glib "bin")
5917 ("gobject-introspection" ,gobject-introspection)
5918 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
5919 ("pkg-config" ,pkg-config)
5920 ("xmllint" ,libxml2)))
f0afb0c8
DH
5921 (inputs
5922 `(("json-glib" ,json-glib)
5923 ("tdb" ,tdb)
5924 ("gnome-desktop" ,gnome-desktop)
5925 ("python" ,python)
5926 ("python-pygobject" ,python2-pygobject)
5927 ("vala" ,vala)
5928 ("gmime" ,gmime)
f0afb0c8
DH
5929 ("adwaita-icon-theme" ,adwaita-icon-theme)
5930 ("grilo" ,grilo)
5931 ("grilo-plugins" ,grilo-plugins)
5932 ("gstreamer" ,gstreamer)
5933 ("gst-plugins-base" ,gst-plugins-base)
5934 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 5935 ("totem-pl-parser" ,totem-pl-parser)
ea226291 5936 ("libgudev" ,libgudev)
f0afb0c8
DH
5937 ;;("libmtp" ,libmtp) FIXME: Not detected
5938 ("libsecret" ,libsecret)
5939 ("libsoup" ,libsoup)
5940 ("libnotify" ,libnotify)
5941 ("libpeas" ,libpeas)
5942 ("lirc" ,lirc)
5943 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
5944 ;;("clutter" ,clutter)
5945 ;;("clutter-gtk" ,clutter-gtk)
5946 ;;("clutter-gst" ,clutter-gst)
5947 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5948 ("atk" ,atk)
5949 ("pango" ,pango)
5950 ("gtk+" ,gtk+)
5951 ;; TODO:
5952 ;; * libgpod
5953 ;; * mx
f0afb0c8
DH
5954 ("brasero" ,brasero)))
5955 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
5956 (synopsis "Music player for GNOME")
5957 (description "Rhythmbox is a music playing application for GNOME. It
5958supports playlists, song ratings, and any codecs installed through gstreamer.")
5959 (license license:gpl2+)))
f70d8383
DH
5960
5961(define-public eog
5962 (package
5963 (name "eog")
0c9031fa 5964 (version "3.34.1")
f70d8383
DH
5965 (source (origin
5966 (method url-fetch)
5967 (uri (string-append "mirror://gnome/sources/" name "/"
5968 (version-major+minor version) "/"
5969 name "-" version ".tar.xz"))
5970 (sha256
5971 (base32
0c9031fa 5972 "0b7ld4azs9xbdjsk9b91ywhdzvxgajhndiwiivxjzbr0hjgp7c7x"))))
61fb581f 5973 (build-system meson-build-system)
f70d8383 5974 (arguments
34c44a34
RW
5975 `(#:configure-flags
5976 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
5977 (list (string-append "-Dc_link_args=-Wl,-rpath="
5978 (assoc-ref %outputs "out") "/lib/eog"))
5979 #:phases
f70d8383 5980 (modify-phases %standard-phases
7a034665
EF
5981 (add-after 'unpack 'skip-gtk-update-icon-cache
5982 ;; Don't create 'icon-theme.cache'.
5983 (lambda _
5984 (substitute* "meson_post_install.py"
5985 (("gtk-update-icon-cache") "true"))
5986 #t))
61fb581f
RW
5987 (add-after 'install 'wrap-eog
5988 (lambda* (#:key outputs #:allow-other-keys)
5989 (let ((out (assoc-ref outputs "out"))
5990 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5991 (wrap-program (string-append out "/bin/eog")
5992 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5993 #t)))))
f70d8383
DH
5994 (propagated-inputs
5995 `(("dconf" ,dconf)))
5996 (native-inputs
5997 `(("intltool" ,intltool)
b3546174 5998 ("itstool" ,itstool)
f70d8383
DH
5999 ("glib" ,glib "bin")
6000 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
6001 ("pkg-config" ,pkg-config)
6002 ("xmllint" ,libxml2)))
f70d8383
DH
6003 (inputs
6004 `(("gnome-desktop" ,gnome-desktop)
6005 ("shared-mime-info" ,shared-mime-info)
6006 ("adwaita-icon-theme" ,adwaita-icon-theme)
6007 ("exempi" ,exempi)
6008 ("lcms" ,lcms)
6009 ("libexif" ,libexif)
6010 ("libpeas" ,libpeas)
4bd428a7 6011 ("libjpeg" ,libjpeg-turbo)
0c9031fa 6012 ("librsvg" ,librsvg-next)
f70d8383
DH
6013 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6014 ("gtk+" ,gtk+)))
6015 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
6016 (synopsis "GNOME image viewer")
6017 (description "Eye of GNOME is the GNOME image viewer. It
6018supports image conversion, rotation, and slideshows.")
6019 (license license:gpl2+)))
41af5e7b 6020
0c3f8cb8
LC
6021(define-public eog-plugins
6022 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
6023 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
6024 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
6025 ;; 'XDG_DATA_DIRS' appropriately set.
6026 (package
6027 (name "eog-plugins")
54b74cc6 6028 (version "3.26.4")
0c3f8cb8
LC
6029 (source (origin
6030 (method url-fetch)
f3b88ed2 6031 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 6032 (version-major+minor version) "/"
f3b88ed2 6033 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
6034 (sha256
6035 (base32
54b74cc6 6036 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
6037 (build-system gnu-build-system)
6038 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
6039 (synopsis "Extensions for the Eye of GNOME image viewer")
6040 (native-inputs
6041 `(("pkg-config" ,pkg-config)
f2d97d57 6042 ("gettext" ,gettext-minimal)))
0c3f8cb8
LC
6043 (inputs
6044 `(("eog" ,eog)
6045 ("glib" ,glib)
6046 ("gtk+" ,gtk+)
6047 ("libpeas" ,libpeas)
6048 ("libexif" ,libexif)
6049 ("libchamplain" ,libchamplain)))
6050 (description
6051 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
6052notably:
6053
6054@itemize
6055@item @dfn{EXIF Display}, which displays camera (EXIF) information;
6056@item @dfn{Map}, which displays a map of where the picture was taken on the
6057side panel;
6058@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
6059@end itemize\n")
6060
6061 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
6062 ;; long suspicious byte stream that goes to a
6063 ;; ".gresource.eog_postasa_plugin" ELF section.
6064 (license license:gpl2+)))
6065
41af5e7b
SB
6066(define-public libgudev
6067 (package
6068 (name "libgudev")
b78f5118 6069 (version "232")
41af5e7b
SB
6070 (source (origin
6071 (method url-fetch)
6072 (uri (string-append "mirror://gnome/sources/" name "/"
6073 version "/" name "-" version ".tar.xz"))
6074 (sha256
6075 (base32
b78f5118 6076 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 6077 (build-system gnu-build-system)
b78f5118
RW
6078 (arguments
6079 '(#:configure-flags
6080 ;; umockdev depends on libgudev.
6081 (list "--disable-umockdev")))
41af5e7b
SB
6082 (native-inputs
6083 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
6084 ("gobject-introspection" ,gobject-introspection)
6085 ("pkg-config" ,pkg-config)))
6086 (propagated-inputs
6087 `(("glib" ,glib))) ; required by gudev-1.0.pc
6088 (inputs
6089 `(("udev" ,eudev)))
6090 (home-page "https://wiki.gnome.org/Projects/libgudev")
6091 (synopsis "GObject bindings for libudev")
6092 (description
6093 "This library provides GObject bindings for libudev. It was originally
6094part of udev-extras, then udev, then systemd. It's now a project on its own.")
6095 (license license:lgpl2.1+)))
3dc8828f
SB
6096
6097(define-public gvfs
6098 (package
6099 (name "gvfs")
12fe4846 6100 (version "1.40.1")
3dc8828f
SB
6101 (source (origin
6102 (method url-fetch)
1d68eb32 6103 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 6104 (version-major+minor version) "/"
1d68eb32 6105 "gvfs-" version ".tar.xz"))
3dc8828f
SB
6106 (sha256
6107 (base32
95b90dec
KK
6108 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))
6109 ;; This patch may be removed when upgrading to version 1.46.x.
6110 (patches
6111 (search-patches "gvfs-add-support-for-libplist-2.2.patch"))))
e762d943 6112 (build-system meson-build-system)
3dc8828f 6113 (arguments
e762d943
RW
6114 '(#:glib-or-gtk? #t
6115 #:configure-flags
6116 (list "-Dsystemduserunitdir=no"
6117 "-Dtmpfilesdir=no"
6118 ;; Otherwise, the RUNPATH will lack the final path component.
6119 (string-append "-Dc_link_args=-Wl,-rpath="
6120 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
6121 (native-inputs
6122 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
6123 ("gettext" ,gettext-minimal)
6124 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
6125 ("pkg-config" ,pkg-config)
6126 ("xsltproc" ,libxslt)))
6127 (inputs
6128 `(("avahi" ,avahi)
6129 ("docbook-xml" ,docbook-xml-4.2)
6130 ("docbook-xsl" ,docbook-xsl)
6131 ("dbus" ,dbus)
e762d943 6132 ("elogind" ,elogind)
3dc8828f 6133 ("fuse" ,fuse)
24a78aa6 6134 ("gcr" ,gcr)
3dc8828f 6135 ("glib" ,glib)
e762d943 6136 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
6137 ("libarchive" ,libarchive)
6138 ("libbluray" ,libbluray)
8852ca24 6139 ("libcap" ,libcap)
3dc8828f
SB
6140 ("libcdio-paranoia" ,libcdio-paranoia)
6141 ("libgcrypt" ,libgcrypt)
e762d943 6142 ("libgdata" ,libgdata)
3dc8828f
SB
6143 ("libgphoto2" ,libgphoto2)
6144 ("libgudev" ,libgudev)
0ab9f949 6145 ("libimobiledevice" ,libimobiledevice)
3dc8828f 6146 ("libmtp" ,libmtp)
e762d943 6147 ("libnfs" ,libnfs)
3dc8828f
SB
6148 ("libsecret" ,libsecret)
6149 ("libsmbclient" ,samba)
6150 ("libsoup" ,libsoup)
6151 ("libxml2" ,libxml2)
e762d943 6152 ("openssh" ,openssh)
8852ca24 6153 ("polkit" ,polkit)
3dc8828f
SB
6154 ("udisks" ,udisks)))
6155 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 6156 (synopsis "Userspace virtual file system for GIO")
3dc8828f 6157 (description
8f65585b 6158 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
6159abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
6160to all applications using the GIO API. It also supports exposing the GVFS
6161mounts to non-GIO applications using FUSE.
6162
6163GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
6164DAV, and others.")
6165 (license license:lgpl2.0+)))
7c88b6bd
AW
6166
6167(define-public gusb
6168 (package
6169 (name "gusb")
536b3274 6170 (version "0.3.0")
7c88b6bd 6171 (source (origin
bbfb36f9
EF
6172 (method git-fetch)
6173 (uri (git-reference
b0e7b699 6174 (url "https://github.com/hughsie/libgusb")
bbfb36f9
EF
6175 (commit version)))
6176 (file-name (git-file-name name version))
7c88b6bd
AW
6177 (sha256
6178 (base32
bbfb36f9 6179 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 6180 (build-system meson-build-system)
7c88b6bd 6181 (native-inputs
536b3274 6182 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
6183 ("pkg-config" ,pkg-config)
6184 ("vala" ,vala)
7c88b6bd
AW
6185 ("gtk-doc" ,gtk-doc)))
6186 (propagated-inputs
6187 ;; Both of these are required by gusb.pc.
6188 `(("glib" ,glib)
6189 ("libusb" ,libusb)))
6190 (arguments
536b3274 6191 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 6192 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 6193 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
6194 (description
6195 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
6196asynchronous control, bulk and interrupt transfers with proper cancellation
6197and integration into a mainloop. This makes it easy to integrate low level
6198USB transfers with your high-level application or system daemon.")
6199 (license license:lgpl2.1+)))
0abe1d86
AW
6200
6201(define-public simple-scan
6202 (package
6203 (name "simple-scan")
42040a03 6204 (version "3.36.6")
d9f6d587
TGR
6205 (source
6206 (origin
6207 (method url-fetch)
6208 (uri (string-append "mirror://gnome/sources/simple-scan/"
6209 (version-major+minor version) "/"
6210 "simple-scan-" version ".tar.xz"))
6211 (sha256
42040a03 6212 (base32 "0x9hzqnji5l966yy2k5gppl8hqasn3sd5an4sr8srjmncxcs80ys"))))
d9f6d587
TGR
6213 (build-system meson-build-system)
6214 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
6215 (arguments
6216 '(#:glib-or-gtk? #t))
0abe1d86
AW
6217 (inputs
6218 `(("gtk" ,gtk+)
6219 ("zlib" ,zlib)
6220 ("cairo" ,cairo)
c501f592 6221 ("colord" ,colord)
0abe1d86
AW
6222 ("gdk-pixbuf" ,gdk-pixbuf)
6223 ("gusb" ,gusb)
4c928743 6224 ("libsane" ,sane-backends)))
0abe1d86 6225 (native-inputs
b94a6ca0 6226 `(("gettext" ,gettext-minimal)
0abe1d86 6227 ("itstool" ,itstool)
c501f592 6228 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 6229 ("pkg-config" ,pkg-config)
bcb354ad
SB
6230 ("vala" ,vala)
6231 ("xmllint" ,libxml2)))
dff0eedb 6232 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 6233 (synopsis "Document and image scanner")
d9f6d587
TGR
6234 (description
6235 "Document Scanner is an easy-to-use application that lets you connect your
6236scanner and quickly capture images and documents in an appropriate format. It
6237supports any scanner for which a suitable SANE driver is available, which is
6238almost all of them.")
0abe1d86 6239 (license license:gpl3+)))
7549f984 6240
ab466d79
RW
6241(define-public eolie
6242 (package
6243 (name "eolie")
ed783404 6244 (version "0.9.98.1")
ab466d79
RW
6245 (source (origin
6246 (method url-fetch)
ed783404
RW
6247 (uri (string-append "https://adishatz.org/eolie/eolie-"
6248 version ".tar.xz"))
ab466d79
RW
6249 (sha256
6250 (base32
ed783404 6251 "1d844zva5w4p9pnp9c2g7zyb4vayr2g2drf78spxsdlc5lbd7lqr"))))
00014781 6252 (build-system meson-build-system)
ab466d79 6253 (arguments
00014781
RW
6254 `(#:glib-or-gtk? #t
6255 #:phases
ab466d79 6256 (modify-phases %standard-phases
f0c68100
EF
6257 (add-after 'unpack 'skip-gtk-update-icon-cache
6258 ;; Don't create 'icon-theme.cache'.
6259 (lambda _
6260 (substitute* "meson_post_install.py"
6261 (("gtk-update-icon-cache") "true"))
6262 #t))
ab466d79
RW
6263 (add-after 'wrap 'wrap-more
6264 (lambda* (#:key inputs outputs #:allow-other-keys)
6265 (let* ((out (assoc-ref outputs "out"))
6266 ;; These libraries must be on LD_LIBRARY_PATH.
6267 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
6268 "atk" "gtk+" "gsettings-desktop-schemas"
6269 "gobject-introspection"))
6270 (path (string-join
6271 (map (lambda (lib)
6272 (string-append (assoc-ref inputs lib) "/lib"))
6273 libs)
6274 ":")))
6275 (wrap-program (string-append out "/bin/eolie")
6276 `("LD_LIBRARY_PATH" ":" prefix (,path))
6277 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
6278 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
6279 #t)))))
6280 (native-inputs
f85ca6ed 6281 `(("intltool" ,intltool)
ab466d79 6282 ("itstool" ,itstool)
d95f1041 6283 ("pkg-config" ,pkg-config)
d95f1041 6284 ("python" ,python)
f0c68100 6285 ("glib:bin" ,glib "bin")))
ab466d79
RW
6286 (inputs
6287 `(("gobject-introspection" ,gobject-introspection)
6288 ("glib-networking" ,glib-networking)
6289 ("cairo" ,cairo)
6290 ("gtk+" ,gtk+)
6291 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
6292 ("python" ,python-wrapper)
d72f76df 6293 ("python-dateutil" ,python-dateutil)
00014781 6294 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
6295 ("python-pygobject" ,python-pygobject)
6296 ("python-pycairo" ,python-pycairo)
00014781 6297 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
6298 ("libsecret" ,libsecret)
6299 ("gtkspell3" ,gtkspell3)
6300 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 6301 ("webkitgtk" ,webkitgtk)))
166b2c97 6302 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
6303 (synopsis "Web browser for GNOME")
6304 (description
6305 "Eolie is a new web browser for GNOME. It features Firefox sync support,
6306a secret password store, an adblocker, and a modern UI.")
6307 (license license:gpl3+)))
6308
7549f984
SB
6309(define-public epiphany
6310 (package
6311 (name "epiphany")
68fdd237 6312 (version "3.34.4")
7549f984
SB
6313 (source (origin
6314 (method url-fetch)
dd3266ec 6315 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 6316 (version-major+minor version) "/"
dd3266ec 6317 "epiphany-" version ".tar.xz"))
7549f984
SB
6318 (sha256
6319 (base32
68fdd237 6320 "13ar3s40cds1rplwbzx0fzigf120w0rydiv05r3k6zpc0zy91qb0"))))
fc5c5b92
R
6321
6322 (build-system meson-build-system)
7549f984 6323 (arguments
20710b91 6324 '(#:glib-or-gtk? #t
bb7ff88f
EF
6325 #:phases
6326 (modify-phases %standard-phases
6327 (add-after 'unpack 'skip-gtk-update-icon-cache
6328 ;; Don't create 'icon-theme.cache'.
6329 (lambda _
6330 (substitute* "post_install.py"
6331 (("gtk-update-icon-cache") "true"))
20710b91
LP
6332 #t))
6333 (add-after 'unpack 'disable-failing-tests
6334 (lambda _
6335 (substitute* "tests/meson.build"
6336 ;; embed_shell fails, because webkitgtk apparently no longer supports
6337 ;; overriding the ftp schema
6338 ;; web_app_utils fails due to missing network access
6339 (("(embed_shell|web_app_utils)_test,")
6340 "find_program('sh'), args: ['-c', 'exit 77'],"))
6341 #t))
6342 (add-before 'check 'pre-check
6343 (lambda _
6344 ;; Tests require a running X server.
6345 (system "Xvfb :1 &")
6346 (setenv "DISPLAY" ":1")
bb7ff88f 6347 #t)))
e19f9c24
LF
6348 #:configure-flags
6349 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
6350 (list (string-append "-Dc_link_args=-Wl,-rpath="
6351 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
6352 (propagated-inputs
6353 `(("dconf" ,dconf)))
7549f984 6354 (native-inputs
fc5c5b92
R
6355 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6356 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 6357 ("intltool" ,intltool)
7549f984 6358 ("itstool" ,itstool)
bcb354ad 6359 ("pkg-config" ,pkg-config)
20710b91
LP
6360 ("xmllint" ,libxml2)
6361 ("xorg-server" ,xorg-server-for-tests)))
7549f984
SB
6362 (inputs
6363 `(("avahi" ,avahi)
6364 ("gcr" ,gcr)
fc5c5b92 6365 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
6366 ("glib-networking" ,glib-networking)
6367 ("gnome-desktop" ,gnome-desktop)
6368 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 6369 ("json-glib" ,json-glib)
7549f984 6370 ("iso-codes" ,iso-codes)
8748e29c 6371 ("libdazzle" ,libdazzle)
7549f984
SB
6372 ("libnotify" ,libnotify)
6373 ("libsecret" ,libsecret)
7549f984 6374 ("libxslt" ,libxslt)
fc5c5b92 6375 ("nettle" ,nettle) ; for hogweed
7549f984 6376 ("sqlite" ,sqlite)
f85ca6ed 6377 ("webkitgtk" ,webkitgtk)))
7549f984
SB
6378 (home-page "https://wiki.gnome.org/Apps/Web")
6379 (synopsis "GNOME web browser")
6380 (description
6381 "Epiphany is a GNOME web browser targeted at non-technical users. Its
6382principles are simplicity and standards compliance.")
6383 (license license:gpl2+)))
a3856b2c
SB
6384
6385(define-public d-feet
6386 (package
6387 (name "d-feet")
458e9221 6388 (version "0.3.14")
a3856b2c
SB
6389 (source (origin
6390 (method url-fetch)
6391 (uri (string-append "mirror://gnome/sources/" name "/"
6392 (version-major+minor version) "/"
6393 name "-" version ".tar.xz"))
6394 (sha256
6395 (base32
458e9221 6396 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
6397 (build-system glib-or-gtk-build-system)
6398 (arguments
6399 '(#:out-of-source? #f ; tests need to run in the source directory.
6400 #:phases
6401 (modify-phases %standard-phases
6402 (add-before
6403 'check 'pre-check
86aff791 6404 (lambda _
a3856b2c
SB
6405 ;; The test suite requires a running X server.
6406 (system "Xvfb :1 &")
6407 (setenv "DISPLAY" ":1")
6408 ;; Don't fail on missing '/etc/machine-id'.
6409 (setenv "DBUS_FATAL_WARNINGS" "0")
6410 ;; tests.py and window.py don't meet E402:
6411 ;; E402 module level import not at top of file
6412 (substitute* "src/tests/Makefile"
86aff791
MW
6413 (("--ignore=E123") "--ignore=E123,E402"))
6414 #t))
a3856b2c
SB
6415 (add-after
6416 'install 'wrap-program
6417 (lambda* (#:key outputs #:allow-other-keys)
6418 (let ((prog (string-append (assoc-ref outputs "out")
6419 "/bin/d-feet")))
6420 (wrap-program prog
6421 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
6422 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
6423 #t))))))
a3856b2c
SB
6424 (native-inputs
6425 `(("intltool" ,intltool)
6426 ("itstool" ,itstool)
6427 ("pkg-config" ,pkg-config)
6428 ("python-pep8" ,python-pep8)
6429 ("xmllint" ,libxml2)
ff337525 6430 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
6431 (inputs
6432 `(("gobject-introspection" ,gobject-introspection)
6433 ("gtk+" ,gtk+)
6434 ("python" ,python-wrapper)
458e9221 6435 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
6436 ("python-pygobject" ,python-pygobject)))
6437 (home-page "https://wiki.gnome.org/Apps/DFeet")
6438 (synopsis "D-Bus debugger")
6439 (description
6440 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
6441of running programs and invoke methods on those interfaces.")
6442 (license license:gpl2+)))
c3b97bd9
SB
6443
6444(define-public yelp-xsl
6445 (package
6446 (name "yelp-xsl")
632a9b32 6447 (version "3.34.2")
c3b97bd9
SB
6448 (source (origin
6449 (method url-fetch)
6450 (uri (string-append "mirror://gnome/sources/" name "/"
6451 (version-major+minor version) "/"
6452 name "-" version ".tar.xz"))
6453 (sha256
6454 (base32
632a9b32 6455 "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
c3b97bd9
SB
6456 (build-system gnu-build-system)
6457 (native-inputs
632a9b32 6458 `(("gettext-minimal" ,gettext-minimal)
c3b97bd9
SB
6459 ("itstool" ,itstool)
6460 ("xmllint" ,libxml2)))
6461 (home-page "https://wiki.gnome.org/Apps/Yelp")
6462 (synopsis "XSL stylesheets for Yelp")
6463 (description
6464 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
6465to format Docbook and Mallard documents.")
6466 (license license:gpl2+)))
de3d612a
SB
6467
6468(define-public yelp
6469 (package
6470 (name "yelp")
1f1b6d60 6471 (version "3.32.2")
de3d612a
SB
6472 (source (origin
6473 (method url-fetch)
6474 (uri (string-append "mirror://gnome/sources/" name "/"
6475 (version-major+minor version) "/"
6476 name "-" version ".tar.xz"))
6477 (sha256
6478 (base32
1f1b6d60 6479 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
6480 (build-system glib-or-gtk-build-system)
6481 (native-inputs
6482 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
6483 ("intltool" ,intltool)
6484 ("itstool" ,itstool)
6485 ("pkg-config" ,pkg-config)))
6486 (propagated-inputs
6487 `(("dconf" ,dconf)))
6488 (inputs
ad1b7d8b
SB
6489 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6490 ("libxslt" ,libxslt)
de3d612a 6491 ("sqlite" ,sqlite)
4c28ca1d
SB
6492 ("webkitgtk" ,webkitgtk)
6493 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
6494 (home-page "https://wiki.gnome.org/Apps/Yelp")
6495 (synopsis "GNOME help browser")
6496 (description
6497 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
6498man, info, and HTML documents. It can locate documents according to the
6499freedesktop.org help system specification.")
6500 (license license:gpl2+)))
122d0d10
SB
6501
6502(define-public yelp-tools
6503 (package
6504 (name "yelp-tools")
8fe8a42a 6505 (version "3.32.2")
122d0d10
SB
6506 (source (origin
6507 (method url-fetch)
6508 (uri (string-append "mirror://gnome/sources/" name "/"
6509 (version-major+minor version) "/"
6510 name "-" version ".tar.xz"))
6511 (sha256
6512 (base32
8fe8a42a 6513 "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q"))))
122d0d10
SB
6514 (build-system gnu-build-system)
6515 (native-inputs
6516 `(("pkg-config" ,pkg-config)))
6517 (propagated-inputs
6518 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
6519 `(("itstool" ,itstool)
6520 ("xmllint" ,libxml2)
6521 ("xsltproc" ,libxslt)))
6522 (inputs
6523 `(("yelp-xsl" ,yelp-xsl)))
6524 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
6525 (synopsis "Yelp documentation tools")
6526 (description
6527 "Yelp-tools is a collection of scripts and build utilities to help create,
6528manage, and publish documentation for Yelp and the web. Most of the heavy
6529lifting is done by packages like yelp-xsl and itstool. This package just
6530wraps things up in a developer-friendly way.")
6531 (license license:gpl2+)))
af8f9f23
RW
6532
6533(define-public libgee
6534 (package
6535 (name "libgee")
9cedae2a 6536 (version "0.20.3")
af8f9f23
RW
6537 (source (origin
6538 (method url-fetch)
84a1b007 6539 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 6540 (version-major+minor version) "/"
84a1b007 6541 "libgee-" version ".tar.xz"))
af8f9f23
RW
6542 (sha256
6543 (base32
9cedae2a 6544 "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
af8f9f23
RW
6545 (build-system gnu-build-system)
6546 (arguments
6547 `(#:phases
6548 (modify-phases %standard-phases
6549 (add-after 'unpack 'fix-introspection-install-dir
6550 (lambda* (#:key outputs #:allow-other-keys)
6551 (let ((out (assoc-ref outputs "out")))
6552 (substitute* "gee/Makefile.in"
6553 (("@INTROSPECTION_GIRDIR@")
6554 (string-append out "/share/gir-1.0/"))
6555 (("@INTROSPECTION_TYPELIBDIR@")
6556 (string-append out "/lib/girepository-1.0/")))))))))
6557 (native-inputs
6558 `(("glib" ,glib "bin")
6559 ("pkg-config" ,pkg-config)))
6560 (inputs
6561 `(("glib" ,glib)
6562 ("gobject-introspection" ,gobject-introspection)))
6563 (home-page "https://wiki.gnome.org/Projects/Libgee")
6564 (synopsis "GObject collection library")
6565 (description
6566 "Libgee is a utility library providing GObject-based interfaces and
6567classes for commonly used data structures.")
6568 (license license:lgpl2.1+)))
b0f9c4b8
RW
6569
6570(define-public gexiv2
6571 (package
6572 (name "gexiv2")
efc396ef 6573 (version "0.12.1")
b0f9c4b8
RW
6574 (source (origin
6575 (method url-fetch)
6576 (uri (string-append "mirror://gnome/sources/" name "/"
6577 (version-major+minor version) "/"
6578 name "-" version ".tar.xz"))
6579 (sha256
6580 (base32
efc396ef 6581 "0xxxq8xdkgkn146my307jgws4qgxx477h0ybg1mqza1ycmczvsla"))))
51c482e4 6582 (build-system meson-build-system)
b0f9c4b8 6583 (native-inputs
b1a8b408
KK
6584 `(("gcr" ,gcr)
6585 ("glib" ,glib "bin")
6586 ("pkg-config" ,pkg-config)
6587 ("vala" ,vala)))
b0f9c4b8
RW
6588 (propagated-inputs
6589 ;; Listed in "Requires" section of gexiv2.pc
6590 `(("exiv2" ,exiv2)))
6591 (inputs
6592 `(("glib" ,glib)
6593 ("gobject-introspection" ,gobject-introspection)))
6594 (home-page "https://wiki.gnome.org/Projects/gexiv2")
6595 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
6596 (description
6597 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
6598allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
6599metadata in photo and video files of various formats.")
6600 (license license:gpl2+)))
fed5a689
RW
6601
6602(define-public shotwell
6603 (package
6604 (name "shotwell")
b82a45d8 6605 (version "0.30.9")
fed5a689
RW
6606 (source (origin
6607 (method url-fetch)
5497d682 6608 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 6609 (version-major+minor version) "/"
5497d682 6610 "shotwell-" version ".tar.xz"))
fed5a689
RW
6611 (sha256
6612 (base32
b82a45d8 6613 "1y556yyzfya0310v5wqjkf17hy5lhf028iminvvgi2pdfva344id"))))
3b79afa6
KK
6614 (build-system meson-build-system)
6615 (arguments
5a0beca3
EF
6616 '(#:glib-or-gtk? #t
6617 #:phases
6618 (modify-phases %standard-phases
6619 (add-after 'unpack 'skip-gtk-update-icon-cache
6620 (lambda _
6621 (substitute* "build-aux/meson/postinstall.py"
6622 (("gtk-update-icon-cache") (which "true"))
6623 (("update-desktop-database") (which "true")))
6624 #t)))))
735b8db6
TGR
6625 (propagated-inputs
6626 `(("dconf" ,dconf)))
fed5a689 6627 (native-inputs
5a0beca3
EF
6628 `(("gettext" ,gettext-minimal)
6629 ("glib:bin" ,glib "bin")
735b8db6 6630 ("itstool" ,itstool)
3b79afa6 6631 ("pkg-config" ,pkg-config)
735b8db6 6632 ("vala" ,vala)))
fed5a689 6633 (inputs
5a0beca3
EF
6634 `(("gcr" ,gcr)
6635 ("gexiv2" ,gexiv2)
fed5a689 6636 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
6637 ("gstreamer" ,gstreamer)
6638 ("json-glib" ,json-glib)
dfb0323d 6639 ("libgdata" ,libgdata)
fed5a689 6640 ("libgee" ,libgee)
5a0beca3
EF
6641 ("libgphoto2" ,libgphoto2)
6642 ("libgudev" ,libgudev)
fed5a689 6643 ("libraw" ,libraw)
fed5a689
RW
6644 ("libsoup" ,libsoup)
6645 ("libxml2" ,libxml2)
5a0beca3
EF
6646 ("sqlite" ,sqlite)
6647 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
6648 (home-page "https://wiki.gnome.org/Apps/Shotwell")
6649 (synopsis "Photo manager for GNOME 3")
6650 (description
6651 "Shotwell is a digital photo manager designed for the GNOME desktop
6652environment. It allows you to import photos from disk or camera, organize
6653them by keywords and events, view them in full-window or fullscreen mode, and
6654share them with others via social networking and more.")
6655 (license license:lgpl2.1+)))
293ff8b2
DT
6656
6657(define-public file-roller
6658 (package
6659 (name "file-roller")
dcae4270 6660 (version "3.32.3")
293ff8b2
DT
6661 (source (origin
6662 (method url-fetch)
f89a27c6 6663 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 6664 (version-major+minor version) "/"
f89a27c6 6665 "file-roller-" version ".tar.xz"))
293ff8b2
DT
6666 (sha256
6667 (base32
dcae4270 6668 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 6669 (build-system meson-build-system)
293ff8b2 6670 (native-inputs
0a500745
RW
6671 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6672 ("intltool" ,intltool)
4c96e5d1 6673 ("itstool" ,itstool)
0a500745
RW
6674 ("pkg-config" ,pkg-config)
6675 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
6676 ("glib:bin" ,glib "bin")))
293ff8b2
DT
6677 ;; TODO: Add libnautilus.
6678 (inputs
6679 `(("gtk+" ,gtk+)
6680 ("gdk-pixbuf" ,gdk-pixbuf)
6681 ("json-glib" ,json-glib)
6682 ("libarchive" ,libarchive)
6683 ("libnotify" ,libnotify)
4c96e5d1 6684 ("nettle" ,nettle)
293ff8b2
DT
6685 ("libxml2" ,libxml2)))
6686 (synopsis "Graphical archive manager for GNOME")
6687 (description "File Roller is an archive manager for the GNOME desktop
6688environment that allows users to view, unpack, and create compressed archives
6689such as gzip tarballs.")
6690 (home-page "http://fileroller.sourceforge.net/")
6691 (license license:gpl2+)))
7ce49365
SB
6692
6693(define-public gnome-session
6694 (package
6695 (name "gnome-session")
f67ce006 6696 (version "3.34.2")
7ce49365
SB
6697 (source (origin
6698 (method url-fetch)
6699 (uri (string-append "mirror://gnome/sources/" name "/"
6700 (version-major+minor version) "/"
6701 name "-" version ".tar.xz"))
6702 (sha256
6703 (base32
f67ce006 6704 "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb"))))
2914af3c 6705 (arguments
df278071
RW
6706 '(#:glib-or-gtk? #t
6707 #:phases
2914af3c
AW
6708 (modify-phases %standard-phases
6709 (add-before 'configure 'pre-configure
6710 (lambda* (#:key outputs #:allow-other-keys)
6711 ;; Use elogind instead of systemd.
df278071
RW
6712 (substitute* "meson.build"
6713 (("libsystemd-login") "libelogind")
6714 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
6715 (substitute* "gnome-session/gsm-systemd.c"
6716 (("#include <systemd/sd-login.h>")
6717 "#include <elogind/sd-login.h>"))
df278071 6718 ;; Remove uses of the systemd daemon.
803ab416
SB
6719 (substitute* "gnome-session/gsm-autostart-app.c"
6720 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
6721 #t))
6722 (add-after 'install 'wrap-gnome-session
6723 (lambda* (#:key inputs outputs #:allow-other-keys)
6724 ;; Make sure 'gnome-session' finds the 'gsettings' program.
6725 (let ((glib (assoc-ref inputs "glib:bin"))
6726 (out (assoc-ref outputs "out")))
6727 (wrap-program (string-append out "/bin/gnome-session")
6728 `("PATH" ":" prefix (,(string-append glib "/bin"))))
6729 #t))))
6cbc8d57 6730
2914af3c 6731 #:configure-flags
df278071
RW
6732 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
6733 "-Dman=false" ; FIXME: disabled because of docbook validation error
6734 "-Dsystemd_journal=false")))
6735 (build-system meson-build-system)
7ce49365
SB
6736 (native-inputs
6737 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6738 ("pkg-config" ,pkg-config)
6739 ("intltool" ,intltool)
df278071
RW
6740 ("xsltproc" ,libxslt)
6741 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
6742 ("docbook-xsl" ,docbook-xsl)
6743 ("docbook-xml" ,docbook-xml)
6744 ("xmlto" ,xmlto)))
7ce49365 6745 (inputs
2914af3c
AW
6746 `(("elogind" ,elogind)
6747 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 6748 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
6749 ("gtk+" ,gtk+)
6750 ("json-glib" ,json-glib)
6751 ("libsm" ,libsm)
6752 ("libxcomposite" ,libxcomposite)
6753 ("libxtst" ,libxtst)
6754 ("mesa" ,mesa)
6755 ("upower" ,upower)
6756 ("xtrans" ,xtrans)))
6757 (synopsis "Session manager for GNOME")
6758 (description
6759 "This package contains the GNOME session manager, as well as a
6760configuration program to choose applications starting on login.")
6761 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
6762 (license license:gpl2+)))
f47ba77e
SB
6763
6764(define-public gjs
6765 (package
6766 (name "gjs")
76e1830c 6767 (version "1.58.3")
f47ba77e
SB
6768 (source (origin
6769 (method url-fetch)
6770 (uri (string-append "mirror://gnome/sources/" name "/"
6771 (version-major+minor version) "/"
6772 name "-" version ".tar.xz"))
6773 (sha256
6774 (base32
76e1830c 6775 "1bkksx362007zs8c31ydygb29spwa5g5kch1ad2grc2sp53wv7ya"))))
f47ba77e
SB
6776 (build-system gnu-build-system)
6777 (arguments
6778 '(#:phases
6779 (modify-phases %standard-phases
6780 (add-before
6781 'check 'pre-check
6782 (lambda _
fc119619
MW
6783 ;; The test suite requires a running X server.
6784 (system "Xvfb :1 &")
6785 (setenv "DISPLAY" ":1")
6786
f47ba77e
SB
6787 ;; For the missing /etc/machine-id.
6788 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 6789
144f94d0
KK
6790 ;; Our mozjs-38 package does not compile the required Intl API
6791 ;; support for these failing tests.
6792 (substitute* "installed-tests/js/testLocale.js"
6793 ((".*toBeDefined.*") "")
6794 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
6795 (substitute* "installed-tests/scripts/testCommandLine.sh"
6796 (("Valentín") "")
6797 (("☭") ""))
f47ba77e
SB
6798 #t)))))
6799 (native-inputs
8a831c6f 6800 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
6801 ("pkg-config" ,pkg-config)
6802 ("xmllint" ,libxml2)
6803 ;; For testing
6804 ("dbus-launch" ,dbus)
76e1830c 6805 ("dconf" ,dconf) ; required to properly store settings
f47ba77e 6806 ("uuidgen" ,util-linux)
ebebee94 6807 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
6808 (propagated-inputs
6809 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
6810 `(("cairo" ,cairo)
6811 ("gobject-introspection" ,gobject-introspection)
d054fbf5 6812 ("mozjs" ,mozjs-60)))
f47ba77e
SB
6813 (inputs
6814 `(("gtk+" ,gtk+)
6815 ("readline" ,readline)))
6816 (synopsis "Javascript bindings for GNOME")
f032d0be 6817 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
6818 (description
6819 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
6820javascript engine and the GObject introspection framework.")
6821 (license license:gpl2+)))
329d731b
DH
6822
6823(define-public gedit
6824 (package
6825 (name "gedit")
edec7128 6826 (version "3.34.1")
329d731b
DH
6827 (source (origin
6828 (method url-fetch)
6829 (uri (string-append "mirror://gnome/sources/" name "/"
6830 (version-major+minor version) "/"
6831 name "-" version ".tar.xz"))
6832 (sha256
6833 (base32
edec7128 6834 "1inm50sdfw63by1lf4f1swb59mpyxlly0g5rdg99j5l3357fzygb"))))
480c9226 6835 (build-system meson-build-system)
329d731b 6836 (arguments
480c9226
KK
6837 `(#:glib-or-gtk? #t
6838 #:configure-flags
6839 ;; Otherwise, the RUNPATH will lack the final path component.
6840 (list (string-append "-Dc_link_args=-Wl,-rpath="
6841 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
6842
6843 ;; XXX: Generated .h files are sometimes used before being built.
6844 #:parallel-build? #f
6845
480c9226 6846 #:phases
329d731b 6847 (modify-phases %standard-phases
480c9226
KK
6848 (add-after 'unpack 'skip-gtk-update-icon-cache
6849 ;; Don't create 'icon-theme.cache'.
6850 (lambda _
6851 (substitute* "build-aux/meson/post_install.py"
6852 (("gtk-update-icon-cache") (which "true")))
6853 #t))
6854 (add-after 'unpack 'patch-libgd-fetch
6855 (lambda* (#:key inputs #:allow-other-keys)
6856 (let ((libgd (assoc-ref inputs "libgd")))
6857 ;; Calling git is unnecessary because libgd is fetched as a
6858 ;; native input to this package.
6859 (substitute* "meson.build"
6860 ((".*git.*") ""))
6861 (copy-recursively libgd "subprojects/libgd")
6862 #t)))
6863 (add-after 'install 'wrap-gedit
6864 (lambda* (#:key inputs outputs #:allow-other-keys)
6865 (let ((out (assoc-ref outputs "out"))
6866 (gtksourceview (assoc-ref inputs "gtksourceview"))
6867 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
6868 (python-path (getenv "PYTHONPATH")))
6869 (wrap-program (string-append out "/bin/gedit")
6870 ;; For plugins.
6871 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
6872 `("PYTHONPATH" ":" prefix (,python-path))
6873 ;; For language-specs.
6874 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
6875 "/share")))))
6876 #t)))))
329d731b
DH
6877 (propagated-inputs
6878 `(("dconf" ,dconf)))
6879 (native-inputs
480c9226
KK
6880 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6881 ("intltool" ,intltool)
b3546174 6882 ("itstool" ,itstool)
480c9226 6883 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 6884 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
6885 ("libgd"
6886 ,(origin
6887 (method git-fetch)
6888 (uri (git-reference
6889 (url "https://gitlab.gnome.org/GNOME/libgd")
6890 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
6891 (file-name (git-file-name "libgd" version))
6892 (sha256
6893 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
6894 ("pkg-config" ,pkg-config)))
6895 (inputs
6896 `(("glib" ,glib)
0d2df50c 6897 ("gspell" ,gspell)
329d731b 6898 ("gtk+" ,gtk+)
480c9226 6899 ("gtksourceview" ,gtksourceview)
329d731b
DH
6900 ("libpeas" ,libpeas)
6901 ("libxml2" ,libxml2)
329d731b
DH
6902 ("iso-codes" ,iso-codes)
6903 ("python-pygobject" ,python-pygobject)
6904 ("python" ,python)
6905 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6906 ("libx11" ,libx11)
6907 ("vala" ,vala)
6908 ("adwaita-icon-theme" ,adwaita-icon-theme)
6909 ("libsoup" ,libsoup)
6910 ("gnome-desktop" ,gnome-desktop)))
6911 (home-page "https://wiki.gnome.org/Apps/Gedit")
6912 (synopsis "GNOME text editor")
6913 (description "While aiming at simplicity and ease of use, gedit is a
6914powerful general purpose text editor.")
6915 (license license:gpl2+)))
b7179363
SB
6916
6917(define-public zenity
6918 (package
6919 (name "zenity")
4f581bd0 6920 (version "3.32.0")
b7179363
SB
6921 (source (origin
6922 (method url-fetch)
5958df04 6923 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 6924 (version-major+minor version) "/"
5958df04 6925 "zenity-" version ".tar.xz"))
b7179363
SB
6926 (sha256
6927 (base32
4f581bd0 6928 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
6929 (build-system gnu-build-system)
6930 (native-inputs
b94a6ca0 6931 `(("gettext" ,gettext-minimal)
b7179363
SB
6932 ("itstool" ,itstool)
6933 ("pkg-config" ,pkg-config)))
6934 (inputs
6935 `(("libnotify" ,libnotify)
6936 ("webkitgtk" ,webkitgtk)))
6937 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 6938 (home-page "https://www.gnome.org")
b7179363
SB
6939 (description
6940 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
6941to display dialog boxes from the commandline and shell scripts.")
6942 (license license:lgpl2.0+)))
60c3627c
SB
6943
6944(define-public mutter
6945 (package
6946 (name "mutter")
ec3ceabd 6947 (version "3.34.2")
60c3627c 6948 (source (origin
86c44e72
KK
6949 (method url-fetch)
6950 (uri (string-append "mirror://gnome/sources/" name "/"
6951 (version-major+minor version) "/"
6952 name "-" version ".tar.xz"))
60c3627c
SB
6953 (sha256
6954 (base32
ec3ceabd 6955 "0b8bz5kvs7rlwvqsg87cf6jhrrj95vgd1l235mjx8rip35ipfvrd"))))
86c44e72
KK
6956 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
6957 ;; versions of cogl and clutter. As a result, many of the inputs,
6958 ;; propagated-inputs, and configure flags used in cogl and clutter are
6959 ;; needed here as well.
edf43f68 6960 (build-system meson-build-system)
60c3627c 6961 (arguments
edf43f68
KK
6962 '(;; XXX: All mutter tests fail with the following error:
6963 ;; Settings schema 'org.gnome.mutter' is not installed
6964 #:tests? #f
6965 #:glib-or-gtk? #t
6966 #:configure-flags
ec3ceabd
KK
6967 ;; TODO: Enable profiler when Sysprof is packaged.
6968 (list "-Dprofiler=false"
6969 ;; Otherwise, the RUNPATH will lack the final path component.
6970 (string-append "-Dc_link_args=-Wl,-rpath="
edf43f68 6971 (assoc-ref %outputs "out") "/lib:"
ec3ceabd 6972 (assoc-ref %outputs "out") "/lib/mutter-5")
a88d5a0c
MW
6973
6974 ;; The following flags are needed for the bundled clutter
edf43f68 6975 (string-append "-Dxwayland_path="
d633f2f6
RH
6976 (assoc-ref %build-inputs "xorg-server-xwayland")
6977 "/bin/Xwayland")
6978
a88d5a0c 6979 ;; the remaining flags are needed for the bundled cogl
edf43f68 6980 (string-append "-Dopengl_libname="
a88d5a0c 6981 (assoc-ref %build-inputs "mesa")
682ae6f9
MB
6982 "/lib/libGL.so"))
6983 #:phases (modify-phases %standard-phases
6984 (add-after 'unpack 'fix-build-with-mesa-20
6985 (lambda _
6986 ;; Mimic upstream commit a444a4c5f58ea516ad for
6987 ;; compatibility with Mesa 20. Remove for 3.36.
6988 (substitute* '("src/backends/meta-egl-ext.h"
6989 "src/backends/meta-egl.c"
6990 "src/backends/meta-egl.h")
6991 (("#include <EGL/eglext\\.h>" all)
6992 (string-append all "\n#include <EGL/eglmesaext.h>")))
6993 (substitute* "cogl/cogl/meson.build"
6994 (("#include <EGL/eglext\\.h>" all)
6995 (string-append all "\\n#include <EGL/eglmesaext.h>")))
6996 #t)))))
60c3627c 6997 (native-inputs
ec3ceabd
KK
6998 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6999 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
60c3627c
SB
7000 ("gobject-introspection" ,gobject-introspection)
7001 ("intltool" ,intltool)
f23052a6 7002 ("pkg-config" ,pkg-config)
edf43f68 7003 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
7004 ;; For git build
7005 ("autoconf" ,autoconf)
7006 ("automake" ,automake)
7007 ("libtool" ,libtool)))
60c3627c 7008 (propagated-inputs
a88d5a0c
MW
7009 `(;; libmutter.pc refers to these:
7010 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7011 ("gtk+" ,gtk+)
7012 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
7013 ("atk" ,atk)
7014 ("cairo" ,cairo)
7015 ("gdk-pixbuf" ,gdk-pixbuf)
7016 ("glib" ,glib)
a88d5a0c
MW
7017 ("json-glib" ,json-glib)
7018 ("libinput" ,libinput)
7019 ("libx11" ,libx11)
7020 ("libxcomposite" ,libxcomposite)
7021 ("libxdamage" ,libxdamage)
7022 ("libxext" ,libxext)
7023 ("libxfixes" ,libxfixes)
7024 ("libxkbcommon" ,libxkbcommon)
7025 ("libxrandr" ,libxrandr)
7026 ("mesa" ,mesa)
7027 ("pango" ,pango)
7028 ("udev" ,eudev)
a88d5a0c 7029 ("xinput" ,xinput)))
60c3627c 7030 (inputs
86c44e72
KK
7031 `(("elogind" ,elogind)
7032 ("gnome-desktop" ,gnome-desktop)
edf43f68 7033 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 7034 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 7035 ("libgudev" ,libgudev)
60c3627c
SB
7036 ("libice" ,libice)
7037 ("libsm" ,libsm)
edf43f68 7038 ("libwacom" ,libwacom)
60c3627c 7039 ("libxkbfile" ,libxkbfile)
a88d5a0c 7040 ("libxrandr" ,libxrandr)
86c44e72 7041 ("libxtst" ,libxtst)
edf43f68 7042 ("pipewire" ,pipewire)
60c3627c
SB
7043 ("startup-notification" ,startup-notification)
7044 ("upower-glib" ,upower)
7045 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 7046 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
7047 ("zenity" ,zenity)))
7048 (synopsis "Window and compositing manager")
f032d0be 7049 (home-page "https://www.gnome.org")
60c3627c
SB
7050 (description
7051 "Mutter is a window and compositing manager that displays and manages your
7052desktop via OpenGL. Mutter combines a sophisticated display engine using the
7053Clutter toolkit with solid window-management logic inherited from the Metacity
7054window manager.")
86c44e72 7055 (license license:gpl2+)))
685cee87
SB
7056
7057(define-public gnome-online-accounts
7058 (package
7059 (name "gnome-online-accounts")
dd233e4d 7060 (version "3.36.0")
685cee87
SB
7061 (source (origin
7062 (method url-fetch)
7063 (uri (string-append "mirror://gnome/sources/" name "/"
7064 (version-major+minor version) "/"
7065 name "-" version ".tar.xz"))
7066 (sha256
7067 (base32
dd233e4d 7068 "0bigfi225g1prnxpb9lcc1i7mdcrkplwb05vilc43jik12cn53qw"))))
14c297fd 7069 (outputs '("out" "lib"))
685cee87 7070 (build-system glib-or-gtk-build-system)
14c297fd
TS
7071 (arguments
7072 `(#:configure-flags
7073 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
7074 #:phases
7075 (modify-phases %standard-phases
7076 (add-before 'configure 'patch-libgoa-output
7077 (lambda* (#:key outputs #:allow-other-keys)
7078 (let ((lib (assoc-ref outputs "lib")))
7079 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
7080 (("@prefix@") lib)
7081 (("@exec_prefix@") lib)
7082 (("@libdir@") (string-append lib "/lib"))
7083 (("@includedir@") (string-append lib "/include"))
7084 (("@datadir@") (string-append lib "/share")))
7555d539
MB
7085 ;; Make sure gobject-introspection knows about the output
7086 ;; too (see <https://bugs.gnu.org/36535>).
7087 (setenv "outputs" "out lib")
14c297fd 7088 #t))))))
685cee87
SB
7089 (native-inputs
7090 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7091 ("gobject-introspection" ,gobject-introspection)
7092 ("intltool" ,intltool)
7093 ("pkg-config" ,pkg-config)
ebb2873d 7094 ("vala" ,vala)
685cee87
SB
7095 ("xsltproc" ,libxslt)))
7096 (propagated-inputs
7097 `(("glib" ,glib) ; required by goa-1.0.pc
7098 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
7099 (inputs
7100 `(("docbook-xsl" ,docbook-xsl)
7101 ("json-glib" ,json-glib)
7102 ("libsecret" ,libsecret)
7103 ("rest" ,rest)
685cee87
SB
7104 ("webkitgtk" ,webkitgtk)))
7105 (synopsis "Single sign-on framework for GNOME")
7106 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
7107 (description
7108 "GNOME Online Accounts provides interfaces so that applications and
7109libraries in GNOME can access the user's online accounts. It has providers for
7110Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
7111Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
7112 (license license:lgpl2.0+)))
df217748
SB
7113
7114(define-public evolution-data-server
7115 (package
7116 (name "evolution-data-server")
162048be 7117 (version "3.34.2")
df217748
SB
7118 (source (origin
7119 (method url-fetch)
7120 (uri (string-append "mirror://gnome/sources/" name "/"
7121 (version-major+minor version) "/"
7122 name "-" version ".tar.xz"))
43190ac6
MB
7123 (patches (search-patches "evolution-data-server-locales.patch"
7124 "evolution-data-server-libical-compat.patch"))
df217748
SB
7125 (sha256
7126 (base32
162048be 7127 "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y"))))
743aebd7 7128 (build-system cmake-build-system)
df217748 7129 (arguments
b468eedc
RW
7130 '(#:configure-flags
7131 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
7132 (runpaths (map (lambda (s)
7133 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
7134 '("addressbook-backends" "calendar-backends"
7135 "camel-providers" "credential-modules"
7136 "registry-modules"))))
7137 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
7138 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
7139 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
7140 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
7141 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
7142 (string-append lib "/evolution-data-server;")
7143 (string-join runpaths ";"))
7144 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
7145 #:phases
7146 (modify-phases %standard-phases
b468eedc
RW
7147 (add-after 'unpack 'disable-failing-tests
7148 (lambda _
7149 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
7150 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
7151 (delete-file-recursively "tests/book-migration")
7152 (substitute* "tests/CMakeLists.txt"
7153 (("add_subdirectory\\(book-migration\\)") ""))
b468eedc 7154 #t))
743aebd7 7155 (add-after 'unpack 'patch-paths
df217748 7156 (lambda _
b468eedc
RW
7157 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
7158 "tests/libedata-book/data-test-utils.c"
7159 "tests/libedata-book/test-book-cache-utils.c"
7160 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 7161 (("/bin/rm") (which "rm")))
ac033c7b
MB
7162 #t))
7163 (add-before 'configure 'dont-override-rpath
7164 (lambda _
7165 (substitute* "CMakeLists.txt"
7166 ;; CMakeLists.txt hard-codes runpath to just the libdir.
7167 ;; Remove it so the configure flag is respected.
7168 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 7169 #t)))))
df217748
SB
7170 (native-inputs
7171 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7172 ("gobject-introspection" ,gobject-introspection)
7173 ("gperf" ,gperf)
7174 ("intltool" ,intltool)
7175 ("pkg-config" ,pkg-config)
a73c1cf8 7176 ("vala" ,vala)
743aebd7 7177 ("python" ,python-wrapper)))
df217748
SB
7178 (propagated-inputs
7179 ;; These are all in the Requires field of .pc files.
7180 `(("gtk+" ,gtk+)
7181 ("libical" ,libical)
7182 ("libsecret" ,libsecret)
7183 ("libsoup" ,libsoup)
7184 ("nss" ,nss)
7185 ("sqlite" ,sqlite)))
7186 (inputs
7187 `(("bdb" ,bdb)
7188 ("gcr" ,gcr)
14c297fd 7189 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 7190 ("json-glib" ,json-glib)
b468eedc 7191 ("libcanberra" ,libcanberra)
743aebd7
MB
7192 ("libgweather" ,libgweather)
7193 ("mit-krb5" ,mit-krb5)
891199c6
MW
7194 ("openldap" ,openldap)
7195 ("webkitgtk" ,webkitgtk)))
df217748
SB
7196 (synopsis "Store address books and calendars")
7197 (home-page "https://wiki.gnome.org/Apps/Evolution")
7198 (description
7199 "This package provides a unified backend for programs that work with
7200contacts, tasks, and calendar information. It was originally developed for
7201Evolution (hence the name), but is now used by other packages as well.")
7202 (license license:lgpl2.0)))
bd7dfafa
SB
7203
7204(define-public caribou
7205 (package
7206 (name "caribou")
fe964bb5 7207 (version "0.4.21")
bd7dfafa
SB
7208 (source (origin
7209 (method url-fetch)
7210 (uri (string-append "mirror://gnome/sources/" name "/"
7211 (version-major+minor version) "/"
7212 name "-" version ".tar.xz"))
7213 (sha256
7214 (base32
fe964bb5 7215 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
7216 (build-system glib-or-gtk-build-system)
7217 (arguments
7218 '(#:phases
7219 (modify-phases %standard-phases
7220 (add-before
7221 'build 'pre-build
7222 (lambda* (#:key outputs #:allow-other-keys)
7223 (let ((out (assoc-ref outputs "out")))
7224 ;; Use absolute shared library path in Caribou-1.0.typelib.
7225 (substitute* "libcaribou/Makefile"
7226 (("--shared-library=libcaribou.so")
7227 (string-append "--shared-library="
7228 out "/lib/libcaribou.so")))
7229 #t)))
7230 (add-after 'install 'wrap-programs
7231 (lambda* (#:key outputs #:allow-other-keys)
7232 (let* ((out (assoc-ref outputs "out"))
7233 (python-path (getenv "PYTHONPATH"))
7234 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
7235 (for-each
7236 (lambda (prog)
7237 (wrap-program prog
7238 `("PYTHONPATH" ":" prefix (,python-path))
7239 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7240 (list (string-append out "/bin/caribou-preferences")
7241 (string-append out "/libexec/antler-keyboard"))))
7242 #t)))))
7243 (native-inputs
7244 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7245 ("gobject-introspection" ,gobject-introspection)
7246 ("intltool" ,intltool)
7247 ("pkg-config" ,pkg-config)
9f7f5ba2 7248 ("python" ,python)
bd7dfafa
SB
7249 ("vala" ,vala)
7250 ("xsltproc" ,libxslt)))
7251 (propagated-inputs
7252 ;; caribou-1.0.pc refers to all these.
7253 `(("libgee" ,libgee)
7254 ("libxklavier" ,libxklavier)
7255 ("libxtst" ,libxtst)
7256 ("gtk+" ,gtk+)))
7257 (inputs
7258 `(("clutter" ,clutter)
7259 ("dconf" ,dconf)
7260 ("gtk+-2" ,gtk+-2)
9f7f5ba2 7261 ("python-pygobject" ,python-pygobject)))
bd7dfafa
SB
7262 (synopsis "Text entry and UI navigation application")
7263 (home-page "https://wiki.gnome.org/Projects/Caribou")
7264 (description
7265 "Caribou is an input assistive technology intended for switch and pointer
7266users.")
7267 (license license:lgpl2.1)))
ba5dd105 7268
ba5dd105
SB
7269(define-public network-manager
7270 (package
7271 (name "network-manager")
01c22be7 7272 (version "1.24.0")
ba5dd105
SB
7273 (source (origin
7274 (method url-fetch)
7275 (uri (string-append "mirror://gnome/sources/NetworkManager/"
7276 (version-major+minor version) "/"
7277 "NetworkManager-" version ".tar.xz"))
8d0548fd 7278 (patches (search-patches "network-manager-plugin-path.patch"))
ba5dd105
SB
7279 (sha256
7280 (base32
01c22be7 7281 "06044fl60bjlj7c6rqqfbm5795h61h6yzp7ch392hzcnm46wwhn3"))
02710a9b 7282 (modules '((guix build utils)))
fd070f35 7283 (snippet
02710a9b
RW
7284 '(begin
7285 (substitute* "src/devices/wwan/nm-modem-manager.c"
7286 (("systemd") "elogind"))
7287 #t))))
255ff74f 7288 (build-system meson-build-system)
ba5dd105
SB
7289 (outputs '("out"
7290 "doc")) ; 8 MiB of gtk-doc HTML
7291 (arguments
255ff74f 7292 `(#:configure-flags
ba5dd105 7293 (let ((out (assoc-ref %outputs "out"))
ba5dd105
SB
7294 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
7295 "/sbin/dhclient")))
255ff74f
BW
7296 (list
7297 ;; Otherwise, the RUNPATH will lack the final 'NetworkManager' path
7298 ;; component.
7299 (string-append "-Dc_link_args=-Wl,-rpath="
7300 out "/lib:"
7301 out "/lib/NetworkManager/" ,version)
7302 "-Dsystemd_journal=false"
7303 "-Dsession_tracking=elogind"
7304 "-Dsuspend_resume=elogind"
7305 "-Dsystemdsystemunitdir=no"
7306 "-Dsession_tracking_consolekit=false"
7307 "-Ddhcpcd=no"
7308 "-Ddhcpcanon=no"
7309 "-Dcrypto=gnutls"
7310 "-Diwd=true"
7311 "-Dlibaudit=yes"
7312 "-Dqt=false"
7313 "-Ddocs=true"
7314 "--sysconfdir=/etc"
7315 "--localstatedir=/var"
7316 (string-append "-Dudev_dir="
7317 out "/lib/udev")
7318 (string-append "-Ddbus_conf_dir="
7319 out "/etc/dbus-1/system.d")
7320
7321 (string-append "-Ddhclient=" dhclient)))
ba5dd105
SB
7322 #:phases
7323 (modify-phases %standard-phases
b4f59d87
AW
7324 (add-before 'configure 'pre-configure
7325 (lambda _
7326 ;; These tests try to test aspects of network-manager's
7327 ;; functionality within restricted containers, but they don't
7328 ;; cope with being already in the Guix build jail as that jail
7329 ;; lacks some features that they would like to proxy over (like
7330 ;; a /sys mount).
255ff74f
BW
7331 (substitute* "src/platform/tests/meson.build"
7332 ((".*test-address-linux.*") "")
7333 ((".*test-cleanup-linux.*") "")
7334 ((".*test-link-linux.*") "")
7335 ((".*test-route-linux.*") ""))
7336 (substitute* "src/devices/tests/meson.build"
7337 ((".*test-acd.*") "")
7338 ((".*test-lldp.*") ""))
45f80fce 7339 #t))
255ff74f
BW
7340 (add-after 'unpack 'patch-docbook-xml
7341 (lambda* (#:key inputs #:allow-other-keys)
7342 (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
7343 "/xml/dtd/docbook")))
7344 (substitute* (find-files "." ".*\\.(xsl|xml)")
7345 (("http://.*/docbookx\\.dtd")
7346 (string-append xmldoc "/docbookx.dtd")))
7347 #t)))
ba5dd105
SB
7348 (add-before 'check 'pre-check
7349 (lambda _
7350 ;; For the missing /etc/machine-id.
7351 (setenv "DBUS_FATAL_WARNINGS" "0")
7352 #t))
255ff74f
BW
7353 (add-before 'install 'no-polkit-magic
7354 ;; Meson ‘magically’ invokes pkexec, which fails (not setuid).
ba5dd105 7355 (lambda _
255ff74f
BW
7356 (setenv "PKEXEC_UID" "something")
7357 #t))
7358 (add-after 'install 'move-doc
7359 (lambda* (#:key outputs #:allow-other-keys)
7360 (let ((out (assoc-ref outputs "out"))
7361 (doc (assoc-ref outputs "doc")))
7362 (mkdir-p (string-append doc "/share"))
7363 (for-each (lambda (directory)
7364 (copy-recursively (string-append out directory)
7365 (string-append doc directory))
7366 (delete-file-recursively
7367 (string-append out directory)))
7368 '("/share/doc" "/share/gtk-doc"))
7369 #t))))))
b93502d6
DC
7370 (propagated-inputs
7371 `(("glib" ,glib)))
ba5dd105 7372 (native-inputs
255ff74f
BW
7373 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
7374 ("gtk-doc" ,gtk-doc)
ba5dd105 7375 ("gobject-introspection" ,gobject-introspection)
255ff74f 7376 ("docbook-xml" ,docbook-xml)
d04687dc 7377 ("docbook-xsl" ,docbook-xsl)
ba5dd105 7378 ("intltool" ,intltool)
d04687dc
HG
7379 ("libxslt" ,libxslt)
7380 ("libxml2" ,libxml2)
ba5dd105 7381 ("pkg-config" ,pkg-config)
255ff74f 7382 ("vala" ,vala)
ba5dd105
SB
7383 ;; For testing.
7384 ("python" ,python-wrapper)
7385 ("python-dbus" ,python-dbus)
7386 ("python-pygobject" ,python-pygobject)))
7387 (inputs
255ff74f 7388 `(("curl" ,curl)
856ca567
KK
7389 ("cyrus-sasl" ,cyrus-sasl)
7390 ("dbus-glib" ,dbus-glib)
ba5dd105 7391 ("dnsmasq" ,dnsmasq)
856ca567 7392 ("eudev" ,eudev)
ba5dd105
SB
7393 ("gnutls" ,gnutls)
7394 ("iptables" ,iptables)
7395 ("isc-dhcp" ,isc-dhcp)
c2f236fa 7396 ("iwd" ,iwd) ; wpa_supplicant alternative
d04687dc 7397 ("jansson" ,jansson)
c2f236fa 7398 ("libaudit" ,audit)
ba5dd105
SB
7399 ("libgcrypt" ,libgcrypt)
7400 ("libgudev" ,libgudev)
7401 ("libndp" ,libndp)
7402 ("libnl" ,libnl)
7403 ("libsoup" ,libsoup)
255ff74f 7404 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
142bdcbc 7405 ("modem-manager" ,modem-manager)
c27e02bf 7406 ("newt" ,newt) ;for the 'nmtui' console interface
c2f236fa 7407 ("openresolv" ,openresolv) ; alternative resolv.conf manager
ba5dd105
SB
7408 ("polkit" ,polkit)
7409 ("ppp" ,ppp)
7410 ("readline" ,readline)
fd070f35
CM
7411 ("util-linux" ,util-linux)
7412 ("elogind" ,elogind)))
ba5dd105 7413 (synopsis "Network connection manager")
8d0548fd 7414 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
ba5dd105
SB
7415 (description
7416 "NetworkManager is a system network service that manages your network
7417devices and connections, attempting to keep active network connectivity when
7418available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
7419devices, and provides VPN integration with a variety of different VPN
7420services.")
255ff74f
BW
7421 ;; “This NetworkManager project consists of the daemon, client tools, and
7422 ;; libnm. libnm is licensed LGPL-2.1+, while the rest is licensed under
7423 ;; GPL-2.0+.”
7424 (license (list license:gpl2+
7425 license:lgpl2.1+))
29d2f451 7426 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 7427
f2b96b3a
LC
7428(define-public network-manager-openvpn
7429 (package
7430 (name "network-manager-openvpn")
3fe368c0 7431 (version "1.8.12")
f2b96b3a
LC
7432 (source (origin
7433 (method url-fetch)
7434 (uri (string-append
7435 "mirror://gnome/sources/NetworkManager-openvpn/"
7436 (version-major+minor version)
7437 "/NetworkManager-openvpn-" version ".tar.xz"))
7438 (sha256
7439 (base32
3fe368c0 7440 "062kh4zj7jfbwy4zzcwpq2m457bzbpm3l18s0ysnw3mgia3siz8f"))))
f2b96b3a
LC
7441 (build-system gnu-build-system)
7442 (arguments
633422b0
JL
7443 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
7444 #:phases
7445 (modify-phases %standard-phases
7446 (add-after 'configure 'patch-path
7447 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
7448 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
7449 "/sbin/openvpn"))
7450 (modprobe (string-append (assoc-ref inputs "kmod")
7451 "/bin/modprobe"))
7452 (pretty-ovpn (string-append "\"" ovpn "\"")))
7453 (for-each
7454 (lambda (file)
7455 (substitute* file
7456 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
7457 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
7458 (("\"/sbin/openvpn\"") pretty-ovpn)
7459 (("/sbin/modprobe") modprobe)))
7460 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
7461 #t)))))
f2b96b3a
LC
7462 (native-inputs
7463 `(("pkg-config" ,pkg-config)
7464 ("intltool" ,intltool)))
7465 (inputs
7466 `(("gtk+" ,gtk+)
633422b0 7467 ("kmod" ,kmod)
f2b96b3a
LC
7468 ("openvpn" ,openvpn)
7469 ("network-manager" ,network-manager)
3fe368c0 7470 ("libnma" ,libnma)
f2b96b3a
LC
7471 ("libsecret" ,libsecret)))
7472 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
7473 (synopsis "OpenVPN plug-in for NetworkManager")
7474 (description
7475 "This extension of NetworkManager allows it to take care of connections
7476to virtual private networks (VPNs) via OpenVPN.")
7477 (license license:gpl2+)
7478 (properties `((upstream-name . "NetworkManager-openvpn")))))
7479
d376129f
JL
7480(define-public network-manager-vpnc
7481 (package
7482 (name "network-manager-vpnc")
7483 (version "1.2.6")
7484 (source (origin
7485 (method url-fetch)
7486 (uri (string-append
7487 "mirror://gnome/sources/NetworkManager-vpnc/"
7488 (version-major+minor version)
7489 "/NetworkManager-vpnc-" version ".tar.xz"))
7490 (sha256
7491 (base32
7492 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
7493 (build-system gnu-build-system)
7494 (arguments
7c43b78d
BW
7495 `(#:configure-flags '("--enable-absolute-paths"
7496 "--localstatedir=/var"
7497 ;; libnm-glib has been removed from network-manager
7498 ;; 1de8383ad9fdfc8f552117e5d109bdfa7005634b
7499 "--with-libnm-glib=no")
d376129f
JL
7500 #:phases
7501 (modify-phases %standard-phases
7502 (add-after 'configure 'patch-path
7503 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
7504 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
7505 "/sbin/vpnc"))
7506 (modprobe (string-append (assoc-ref inputs "kmod")
7507 "/bin/modprobe"))
7508 (pretty-ovpn (string-append "\"" vpnc "\"")))
7509 (substitute* "src/nm-vpnc-service.c"
7510 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
7511 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
7512 (("\"/sbin/vpnc\"") pretty-ovpn)
7513 (("/sbin/modprobe") modprobe)))
7514 #t)))))
7515 (native-inputs
7516 `(("pkg-config" ,pkg-config)
7517 ("intltool" ,intltool)))
7518 (inputs
7519 `(("gtk+" ,gtk+)
7520 ("kmod" ,kmod)
7521 ("vpnc" ,vpnc)
7522 ("network-manager" ,network-manager)
7c43b78d 7523 ("libnma" ,libnma)
d376129f
JL
7524 ("libsecret" ,libsecret)))
7525 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
7526 (synopsis "VPNC plug-in for NetworkManager")
7527 (description
7528 "Support for configuring virtual private networks based on VPNC.
7529Compatible with Cisco VPN concentrators configured to use IPsec.")
7530 (license license:gpl2+)
7531 (properties `((upstream-name . "NetworkManager-vpnc")))))
7532
8378c87a
EF
7533(define-public network-manager-openconnect
7534 (package
7535 (name "network-manager-openconnect")
7536 (version "1.2.6")
7537 (source (origin
7538 (method url-fetch)
7539 (uri (string-append
7540 "mirror://gnome/sources/NetworkManager-openconnect/"
7541 (version-major+minor version)
7542 "/NetworkManager-openconnect-" version ".tar.xz"))
7543 (sha256
7544 (base32
7545 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
7546 (build-system gnu-build-system)
7547 (arguments
7548 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
7549 #:phases
7550 (modify-phases %standard-phases
7551 (add-after 'configure 'patch-path
7552 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
7553 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
7554 "/sbin/openconnect"))
7555 (modprobe (string-append (assoc-ref inputs "kmod")
7556 "/bin/modprobe"))
7557 (pretty-ovpn (string-append "\"" openconnect "\"")))
7558 (substitute* "src/nm-openconnect-service.c"
2807a843 7559 (("\"/usr(/local)?/s?bin/openconnect\"") pretty-ovpn)
8378c87a
EF
7560 (("/sbin/modprobe") modprobe)))
7561 #t)))))
7562 (native-inputs
7563 `(("intltool" ,intltool)
4ca449c5 7564 ("libnma" ,libnma)
8378c87a
EF
7565 ("pkg-config" ,pkg-config)))
7566 (inputs
7567 `(("gcr" ,gcr)
7568 ("gtk+" ,gtk+)
7569 ("kmod" ,kmod)
7570 ("libsecret" ,libsecret)
7571 ("libxml2" ,libxml2)
b4fe5dab 7572 ("lz4" ,lz4)
8378c87a
EF
7573 ("network-manager" ,network-manager)
7574 ("openconnect" ,openconnect)))
7575 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
7576 (synopsis "OpenConnect plug-in for NetworkManager")
7577 (description
7578 "This extension of NetworkManager allows it to take care of connections
7579to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
7580Cisco's AnyConnect SSL VPN.")
7581 (license license:gpl2+)
e52b9534
LC
7582 (properties `((upstream-name . "NetworkManager-openconnect")
7583
7584 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
7585 ;; file refers to account "nm-openconnect". Specify it here
7586 ;; so that 'network-manager-service-type' creates it.
7587 (user-accounts . ("nm-openconnect"))))))
8378c87a 7588
e5e1df4d
DC
7589(define-public mobile-broadband-provider-info
7590 (package
7591 (name "mobile-broadband-provider-info")
310c89e3 7592 (version "20190116")
e5e1df4d
DC
7593 (source (origin
7594 (method url-fetch)
7595 (uri (string-append
7596 "mirror://gnome/sources/"
7597 "mobile-broadband-provider-info/" version "/"
7598 "mobile-broadband-provider-info-" version ".tar.xz"))
7599 (sha256
7600 (base32
310c89e3 7601 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
7602 (build-system gnu-build-system)
7603 (arguments
310c89e3 7604 `(#:tests? #f)) ; no tests
e5e1df4d
DC
7605 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
7606 (synopsis "Database of broadband connection configuration")
7607 (description "Database of broadband connection configuration.")
7608 (license license:public-domain)))
7609
4d62a9d3
SB
7610(define-public network-manager-applet
7611 (package
7612 (name "network-manager-applet")
4c291112 7613 (version "1.16.0")
4d62a9d3
SB
7614 (source (origin
7615 (method url-fetch)
3df63444 7616 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 7617 (version-major+minor version) "/"
3df63444 7618 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
7619 (sha256
7620 (base32
4c291112 7621 "1rf3nm0hjcy9f8ajb4vmvwy503w8yj8d4daxkcb7w7i7b92qmyfn"))))
cd7f718e
RW
7622 (build-system meson-build-system)
7623 (arguments
4c291112 7624 '(#:glib-or-gtk? #t))
4d62a9d3
SB
7625 (native-inputs
7626 `(("intltool" ,intltool)
cd7f718e 7627 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 7628 ("gobject-introspection" ,gobject-introspection)
cd7f718e 7629 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
7630 ("pkg-config" ,pkg-config)))
7631 (propagated-inputs
7632 ;; libnm-gtk.pc refers to all these.
7633 `(("dbus-glib" ,dbus-glib)
7634 ("gtk+" ,gtk+)
415b90f2
BW
7635 ("network-manager" ,network-manager)
7636 ;; nm-applet need by org.gnome.nm-applet.gschema.xml
7637 ("libnma" ,libnma)))
4d62a9d3 7638 (inputs
cd7f718e 7639 `(("gcr" ,gcr)
4d62a9d3
SB
7640 ("libgudev" ,libgudev)
7641 ("libnotify" ,libnotify)
2116bfb3 7642 ("libsecret" ,libsecret)
240cee8a
KK
7643 ("libselinux" ,libselinux)
7644 ("jansson" ,jansson) ; for team support
4c291112 7645 ("modem-manager" ,modem-manager)))
4d62a9d3 7646 (synopsis "Applet for managing network connections")
8ce78609 7647 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
4d62a9d3
SB
7648 (description
7649 "This package contains a systray applet for NetworkManager. It displays
7650the available networks and allows users to easily switch between them.")
7651 (license license:gpl2+)))
56196594
RW
7652
7653(define-public libxml++
7654 (package
7655 (name "libxml++")
8344a85e 7656 (version "3.0.1")
56196594
RW
7657 (source (origin
7658 (method url-fetch)
7659 (uri (string-append "mirror://gnome/sources/" name "/"
7660 (version-major+minor version) "/"
7661 name "-" version ".tar.xz"))
7662 (sha256
7663 (base32
8344a85e 7664 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
7665 (build-system gnu-build-system)
7666 ;; libxml++-3.0.pc refers to all these.
7667 (propagated-inputs
7668 `(("libxml2" ,libxml2)
7669 ("glibmm" ,glibmm)))
7670 (native-inputs
7671 `(("perl" ,perl)
7672 ("pkg-config" ,pkg-config)))
7673 (home-page "http://libxmlplusplus.sourceforge.net/")
7674 (synopsis "C++ wrapper for XML parser library libxml2")
7675 (description
7676 "This package provides a C++ wrapper for the XML parser library
7677libxml2.")
7678 (license license:lgpl2.1+)))
df12f04a 7679
b61d9627
AW
7680(define-public libxml++-2
7681 (package
7682 (inherit libxml++)
7683 (name "libxml++")
7684 (version "2.40.1")
7685 (source (origin
7686 (method url-fetch)
7687 (uri (string-append "mirror://gnome/sources/" name "/"
7688 (version-major+minor version) "/"
7689 name "-" version ".tar.xz"))
7690 (sha256
7691 (base32
7692 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
7693
df12f04a
SB
7694(define-public gdm
7695 (package
7696 (name "gdm")
0fda99c5 7697 (version "3.34.1")
df12f04a
SB
7698 (source (origin
7699 (method url-fetch)
7700 (uri (string-append "mirror://gnome/sources/" name "/"
7701 (version-major+minor version) "/"
7702 name "-" version ".tar.xz"))
7703 (sha256
7704 (base32
0fda99c5 7705 "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8"))
f4ec5e1a 7706 (patches (search-patches "gdm-default-session.patch"))))
957dbc0a 7707 (build-system glib-or-gtk-build-system)
df12f04a
SB
7708 (arguments
7709 '(#:configure-flags
af37e6bb 7710 `("--without-plymouth"
957dbc0a 7711 "--disable-systemd-journal"
51bc8357
TS
7712
7713 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
7714 ;; instead of having to replace it (i.e., stopping the mingetty
7715 ;; service for TTY 1 before starting GDM).
7716 "--with-initial-vt=7"
7717
89c86562
TS
7718 ;; Use '/etc/environment' for locale settings instead of the
7719 ;; systemd-specific '/etc/locale.conf'.
7720 "--with-lang-file=/etc/environment"
7721
b74ef0ba
RW
7722 ,(string-append "--with-udevdir="
7723 (assoc-ref %outputs "out") "/lib/udev")
7724
af37e6bb
AW
7725 "--localstatedir=/var"
7726 ,(string-append "--with-default-path="
7727 (string-join '("/run/setuid-programs"
7728 "/run/current-system/profile/bin"
7729 "/run/current-system/profile/sbin")
957dbc0a
AW
7730 ":"))
7731 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
7732 ;; XDG_DATA_DIRS so that it finds its schemas.
7733 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
7734 #:phases
7735 (modify-phases %standard-phases
7736 (add-before
7737 'configure 'pre-configure
e8c6e771 7738 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
7739 ;; We don't have <systemd/sd-daemon.h>.
7740 (substitute* '("common/gdm-log.c"
7741 "daemon/gdm-server.c"
7742 "daemon/gdm-session-worker.c"
7743 "daemon/gdm-session-worker-job.c")
7744 (("#include <systemd/sd-daemon\\.h>") ""))
7745 ;; Use elogind for sd-login.
7746 (substitute* '("common/gdm-common.c"
0fda99c5 7747 "daemon/gdm-local-display-factory.c"
df12f04a
SB
7748 "daemon/gdm-manager.c"
7749 "libgdm/gdm-user-switching.c")
7750 (("#include <systemd/sd-login\\.h>")
7751 "#include <elogind/sd-login.h>"))
957dbc0a
AW
7752 ;; Check for elogind.
7753 (substitute* '("configure")
7754 (("libsystemd")
7755 "libelogind"))
af37e6bb
AW
7756 ;; Look for system-installed sessions in
7757 ;; /run/current-system/profile/share.
7758 (substitute* '("libgdm/gdm-sessions.c"
7759 "daemon/gdm-session.c"
7760 "daemon/gdm-display.c"
7761 "daemon/gdm-launch-environment.c")
7762 (("DATADIR \"/x")
7763 "\"/run/current-system/profile/share/x")
7764 (("DATADIR \"/wayland")
7765 "\"/run/current-system/profile/share/wayland")
7766 (("DATADIR \"/gnome")
7767 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 7768 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 7769 "GDM_DBUS_DAEMON"
c9ff92b5 7770 "GDM_X_SERVER"
41fa9f18 7771 "GDM_X_SESSION"
c9ff92b5
TS
7772 ;; XXX: Remove this once GNOME Shell is
7773 ;; a dependency of GDM.
7774 "XDG_DATA_DIRS")))
7775 (substitute* "daemon/gdm-session.c"
7776 (("set_up_session_environment \\(self\\);")
7777 (apply string-append
7778 "set_up_session_environment (self);\n"
7779 (map (lambda (name)
7780 (string-append
7781 "gdm_session_set_environment_variable "
7782 "(self, \"" name "\","
7783 "g_getenv (\"" name "\"));\n"))
7784 propagate)))))
a430a350
TS
7785 ;; Find the configuration file using an environment variable.
7786 (substitute* '("common/gdm-settings.c")
e0e6756f 7787 (("GDM_CUSTOM_CONF")
e57c2adb
TS
7788 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
7789 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
7790 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
7791 ;; Use service-supplied path to X.
7792 (substitute* '("daemon/gdm-server.c")
7793 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
7794 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
0fda99c5
KK
7795 (substitute* '("daemon/gdm-wayland-session.c"
7796 "daemon/gdm-x-session.c")
1f564c15
TS
7797 (("\"dbus-daemon\"")
7798 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 7799 (("X_SERVER")
41fa9f18
TS
7800 "g_getenv (\"GDM_X_SERVER\")")
7801 (("GDMCONFDIR \"/Xsession\"")
7802 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
7803 ;; Use an absolute path for GNOME Session.
7804 (substitute* "daemon/gdm-launch-environment.c"
7805 (("\"gnome-session\"")
7806 (string-append "\"" (assoc-ref inputs "gnome-session")
7807 "/bin/gnome-session\"")))
e8c6e771
TS
7808 ;; Do not automatically select the placeholder session.
7809 (substitute* "daemon/gdm-session.c"
7810 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
7811 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
7812 "(g_strcmp0(search_dirs[i], \""
7813 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
7814 "\") == 0 && "
7815 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
7816 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 7817 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 7818 #t))
8caa4589
TS
7819 ;; GDM requires that there be at least one desktop entry
7820 ;; file. This phase installs a hidden one that simply
7821 ;; fails. This enables users to use GDM with a
7822 ;; '~/.xsession' script with no other desktop entry files.
7823 ;; See <https://bugs.gnu.org/35068>.
7824 (add-after 'install 'install-placeholder-desktop-entry
7825 (lambda* (#:key inputs outputs #:allow-other-keys)
7826 (let* ((out (assoc-ref outputs "out"))
7827 (sessions (string-append out "/share/gdm/BuiltInSessions"))
7828 (fail (string-append sessions "/fail.desktop")))
7829 (mkdir-p sessions)
7830 (with-output-to-file fail
7831 (lambda ()
7832 (for-each
7833 display
7834 '("[Desktop Entry]\n"
7835 "Encoding=UTF-8\n"
7836 "Type=Application\n"
7837 "Name=Fail\n"
7838 "Comment=This session fails immediately.\n"
7839 "NoDisplay=true\n"
7840 "Exec=false\n"))))
7841 #t)))
69544798
TS
7842 ;; GDM needs GNOME Session to run these applications. We link
7843 ;; their autostart files in `share/gdm/greeter/autostart'
7844 ;; because GDM explicitly tells GNOME Session to look there.
7845 ;;
7846 ;; XXX: GNOME Shell should be linked here too, but currently
7847 ;; GNOME Shell depends on GDM.
7848 (add-after 'install 'link-autostart-files
7849 (lambda* (#:key inputs outputs #:allow-other-keys)
7850 (let* ((out (assoc-ref outputs "out"))
7851 (autostart (string-append out "/share/gdm/"
7852 "greeter/autostart"))
7853 (settings (assoc-ref inputs "gnome-settings-daemon")))
7854 (mkdir-p autostart)
7855 (with-directory-excursion autostart
7856 (for-each (lambda (desktop)
7857 (symlink desktop (basename desktop)))
7858 (find-files (string-append settings "/etc/xdg"))))
7859 #t))))))
df12f04a
SB
7860 (native-inputs
7861 `(("dconf" ,dconf)
7862 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7863 ("gobject-introspection" ,gobject-introspection)
7864 ("intltool" ,intltool)
7865 ("itstool" ,itstool)
7866 ("pkg-config" ,pkg-config)
7867 ("xmllint" ,libxml2)))
7868 (inputs
7869 `(("accountsservice" ,accountsservice)
7870 ("check" ,check) ; for testing
7871 ("elogind" ,elogind)
def6d6b6 7872 ("gnome-session" ,gnome-session)
69544798 7873 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
7874 ("gtk+" ,gtk+)
7875 ("iso-codes" ,iso-codes)
7876 ("libcanberra" ,libcanberra)
7877 ("linux-pam" ,linux-pam)))
7878 (synopsis "Display manager for GNOME")
f032d0be 7879 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
7880 (description
7881 "GNOME Display Manager is a system service that is responsible for
7882providing graphical log-ins and managing local and remote displays.")
7883 (license license:gpl2+)))
8e1dd04f
SB
7884
7885(define-public libgtop
7886 (package
7887 (name "libgtop")
015fc036 7888 (version "2.40.0")
8e1dd04f
SB
7889 (source (origin
7890 (method url-fetch)
59487fc2 7891 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 7892 (version-major+minor version) "/"
59487fc2 7893 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
7894 (sha256
7895 (base32
015fc036 7896 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
7897 (build-system gnu-build-system)
7898 (native-inputs
7899 `(("gobject-introspection" ,gobject-introspection)
7900 ("intltool" ,intltool)
7901 ("perl" ,perl)
7902 ("pkg-config" ,pkg-config)))
7903 (propagated-inputs
7904 `(("glib" ,glib))) ; required by libgtop-2.0.pc
7905 (synopsis "Portable system access library")
7906 (home-page "https://www.gnome.org/")
7907 (description
7908 "LibGTop is a library to get system specific data such as CPU and memory
7909usage and information about running processes.")
7910 (license license:gpl2+)))
b96c4260
SB
7911
7912(define-public gnome-bluetooth
7913 (package
7914 (name "gnome-bluetooth")
3c9294c0 7915 (version "3.34.1")
b96c4260
SB
7916 (source (origin
7917 (method url-fetch)
7918 (uri (string-append "mirror://gnome/sources/" name "/"
7919 (version-major+minor version) "/"
7920 name "-" version ".tar.xz"))
7921 (sha256
7922 (base32
3c9294c0 7923 "11nk8nvz5yrbx7wp75vsiaf4rniv7ik2g3nwmgwx2b42q9v11j9y"))))
fd3b1171 7924 (build-system meson-build-system)
b96c4260
SB
7925 (native-inputs
7926 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 7927 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
7928 ("gobject-introspection" ,gobject-introspection)
7929 ("intltool" ,intltool)
7930 ("pkg-config" ,pkg-config)
7931 ("xmllint" ,libxml2)))
7932 (propagated-inputs
7933 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
7934 `(("glib" ,glib)
7935 ("gtk+" ,gtk+)))
b96c4260 7936 (inputs
723afae6
KK
7937 `(("eudev" ,eudev)
7938 ("libcanberra" ,libcanberra)
b96c4260
SB
7939 ("libnotify" ,libnotify)))
7940 (synopsis "GNOME Bluetooth subsystem")
7941 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
7942 (description
7943 "This package contains tools for managing and manipulating Bluetooth
7944devices using the GNOME desktop.")
7945 (license license:lgpl2.1+)))
b645146f
SB
7946
7947(define-public gnome-control-center
7948 (package
7949 (name "gnome-control-center")
c576328d 7950 (version "3.34.2")
b645146f
SB
7951 (source (origin
7952 (method url-fetch)
7953 (uri (string-append "mirror://gnome/sources/" name "/"
7954 (version-major+minor version) "/"
7955 name "-" version ".tar.xz"))
7956 (sha256
7957 (base32
c576328d 7958 "054igagvmyzpaa5nwzz98gv7bk7l5dwp6g813707132si3szlpx8"))))
59dac026 7959 (build-system meson-build-system)
b645146f 7960 (arguments
59dac026
RW
7961 '(#:glib-or-gtk? #t
7962 #:configure-flags
64c70430
KK
7963 (list "-Dcheese=false"
7964 (string-append "-Dgnome_session_libexecdir="
7965 (assoc-ref %build-inputs "gnome-session")
7966 "/libexec"))
59dac026 7967 #:phases
b645146f
SB
7968 (modify-phases %standard-phases
7969 (add-before 'configure 'patch-paths
7970 (lambda* (#:key inputs #:allow-other-keys)
7971 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 7972 (tzdata (assoc-ref inputs "tzdata"))
341225ac 7973 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
7974 (nm-applet (assoc-ref inputs "network-manager-applet"))
7975 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
7976 (substitute* "panels/datetime/tz.h"
7977 (("/usr/share/zoneinfo/zone.tab")
7978 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 7979 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
7980 (("/usr/share/locale")
7981 (string-append libc "/share/locale")))
1df38cfc
LC
7982 (substitute* "panels/region/cc-region-panel.c"
7983 (("\"gkbd-keyboard-display")
7984 (string-append "\"" libgnomekbd
7985 "/bin/gkbd-keyboard-display")))
341225ac
LC
7986 (substitute* '("panels/network/net-device-wifi.c"
7987 "panels/network/net-device.c"
7988 "panels/network/connection-editor/net-connection-editor.c")
7989 (("\"nm-connection-editor")
7990 (string-append "\"" nm-applet
7991 "/bin/nm-connection-editor")))
1acd107c
FP
7992 (substitute* '("panels/user-accounts/run-passwd.c")
7993 (("/usr/bin/passwd")
7994 "/run/setuid-programs/passwd"))
64c70430
KK
7995 (substitute* "panels/info/cc-info-overview-panel.c"
7996 (("DATADIR \"/gnome/gnome-version.xml\"")
7997 (string-append "\"" gnome-desktop
7998 "/share/gnome/gnome-version.xml\"")))
c576328d
KK
7999 #t)))
8000 (add-after 'unpack 'skip-gtk-update-icon-cache
8001 ;; Don't create 'icon-theme.cache'.
8002 (lambda _
8003 (substitute* "build-aux/meson/meson_post_install.py"
8004 (("gtk-update-icon-cache") (which "true")))
8005 #t)))))
b645146f
SB
8006 (native-inputs
8007 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
8008 ("intltool" ,intltool)
8009 ("pkg-config" ,pkg-config)
a6938bac
KK
8010 ("xsltproc" ,libxslt)
8011 ;; For tests
8012 ("hicolor-icon-theme" ,hicolor-icon-theme)
8013 ("python-dbusmock" ,python-dbusmock)
8014 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
8015 (inputs
8016 `(("accountsservice" ,accountsservice)
8017 ("clutter-gtk" ,clutter-gtk)
8018 ("colord-gtk" ,colord-gtk)
8019 ("cups" ,cups)
8020 ("dconf" ,dconf)
8021 ("docbook-xsl" ,docbook-xsl)
3446ffb5 8022 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
8023 ("gnome-bluetooth" ,gnome-bluetooth)
8024 ("gnome-desktop" ,gnome-desktop)
8025 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 8026 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 8027 ("gnome-session" ,gnome-session)
b645146f
SB
8028 ("gnome-settings-daemon" ,gnome-settings-daemon)
8029 ("grilo" ,grilo)
a6938bac 8030 ("gsound" ,gsound)
b645146f
SB
8031 ("ibus" ,ibus)
8032 ("libcanberra" ,libcanberra)
1df38cfc 8033 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
8034 ("libgudev" ,libgudev)
8035 ("libgtop" ,libgtop)
46cf3434 8036 ("libnma" ,libnma)
b645146f 8037 ("libpwquality" ,libpwquality)
982c0b36 8038 ("libsecret" ,libsecret)
b645146f
SB
8039 ("libsoup" ,libsoup)
8040 ("libxml2" ,libxml2)
8041 ("libwacom" ,libwacom)
8042 ("mesa" ,mesa)
8043 ("mit-krb5" ,mit-krb5)
8044 ("modem-manager" ,modem-manager)
8045 ("network-manager-applet" ,network-manager-applet)
8046 ("polkit" ,polkit)
8047 ("pulseaudio" ,pulseaudio)
8048 ("smbclient" ,samba)
8049 ("tzdata" ,tzdata)
982c0b36 8050 ("udisks" ,udisks)
b645146f
SB
8051 ("upower" ,upower)))
8052 (synopsis "Utilities to configure the GNOME desktop")
8053 (home-page "https://www.gnome.org/")
8054 (description
8055 "This package contains configuration applets for the GNOME desktop,
8056allowing to set accessibility configuration, desktop fonts, keyboard and mouse
8057properties, sound setup, desktop theme and background, user interface
8058properties, screen resolution, and other GNOME parameters.")
8059 (license license:gpl2+)))
a4df5756
SB
8060
8061(define-public gnome-shell
8062 (package
8063 (name "gnome-shell")
28457ae6 8064 (version "3.34.2")
a4df5756
SB
8065 (source (origin
8066 (method url-fetch)
8067 (uri (string-append "mirror://gnome/sources/" name "/"
8068 (version-major+minor version) "/"
8069 name "-" version ".tar.xz"))
8070 (sha256
8071 (base32
28457ae6
KK
8072 "0k9vq2gh1nhdd6fpp7jnwx37qxaakawiqw1xnlfjvq5g5zdn8ckh"))
8073 (patches (search-patches "gnome-shell-theme.patch"
8074 "gnome-shell-disable-test.patch"))
a76d0f03
LC
8075 (modules '((guix build utils)))
8076 (snippet
8077 #~(begin
a76d0f03
LC
8078 ;; Copy images for use on the GDM log-in screen.
8079 (copy-file #$(file-append %artwork-repository
8080 "/slim/0.x/background.png")
8081 "data/theme/guix-background.png")
45fef894
LC
8082 (copy-file #$(file-append %artwork-repository
8083 "/logo/Guix-horizontal-white.svg")
8084 "data/theme/guix-logo.svg")
a76d0f03 8085 #t))))
2b0c755d 8086 (build-system meson-build-system)
a4df5756 8087 (arguments
08185081
MB
8088 `(#:glib-or-gtk? #t
8089 #:disallowed-references ((,glib "bin")
11e1df56
LC
8090 ,inkscape ,libxslt
8091 ,ruby-sass)
2b0c755d
RW
8092 #:configure-flags
8093 (list "-Dsystemd=false"
8094 ;; Otherwise, the RUNPATH will lack the final path component.
8095 (string-append "-Dc_link_args=-Wl,-rpath="
8096 (assoc-ref %outputs "out")
8097 "/lib/gnome-shell"))
11e1df56 8098
08185081 8099 #:modules ((guix build meson-build-system)
11e1df56
LC
8100 (guix build utils)
8101 (srfi srfi-1))
8102
2b0c755d 8103 #:phases
a4df5756 8104 (modify-phases %standard-phases
2b0c755d 8105 (add-after 'unpack 'fix-keysdir
a4df5756
SB
8106 (lambda* (#:key outputs #:allow-other-keys)
8107 (let* ((out (assoc-ref outputs "out"))
8108 (keysdir (string-append
8109 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
8110 (substitute* "meson.build"
8111 (("keysdir =.*")
8112 (string-append "keysdir = '" keysdir "'\n")))
8113 #t)))
ebfe259f
MB
8114 (add-before 'configure 'convert-logo-to-png
8115 (lambda* (#:key inputs #:allow-other-keys)
8116 ;; Convert the logo from SVG to PNG.
8117 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
8118 "data/theme/guix-logo.svg")))
ba00235a 8119 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
8120 (lambda* (#:key inputs #:allow-other-keys)
8121 (substitute* "js/misc/ibusManager.js"
8122 (("'ibus-daemon'")
8123 (string-append "'" (assoc-ref inputs "ibus")
8124 "/bin/ibus-daemon'")))
d6fda4d3
LC
8125 (substitute* "js/ui/status/keyboard.js"
8126 (("'gkbd-keyboard-display'")
8127 (string-append "'" (assoc-ref inputs "libgnomekbd")
8128 "/bin/gkbd-keyboard-display'")))
2472cdec 8129 #t))
2b0c755d
RW
8130 (add-before 'check 'pre-check
8131 (lambda* (#:key inputs #:allow-other-keys)
8132 ;; Tests require a running X server.
8133 (system "Xvfb :1 &")
8134 (setenv "DISPLAY" ":1")
8135 #t))
8136 (add-after 'install 'wrap-programs
8137 (lambda* (#:key inputs outputs #:allow-other-keys)
8138 (let ((out (assoc-ref outputs "out"))
8139 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8140 (python-path (getenv "PYTHONPATH")))
8141 (wrap-program (string-append out "/bin/gnome-shell")
8142 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8143 ;; FIXME: gnome-shell loads these libraries with unqualified
8144 ;; names only, so they need to be on LD_LIBRARY_PATH. The
8145 ;; alternative might be to patch gnome-shell.
8146 `("LD_LIBRARY_PATH" ":" prefix
8147 ,(map (lambda (pkg)
8148 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
8149 '("gdk-pixbuf"
8150 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
8151 (for-each
8152 (lambda (prog)
8153 (wrap-program (string-append out "/bin/" prog)
8154 `("PYTHONPATH" ":" prefix (,python-path))
8155 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8156 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 8157 #t)))
11e1df56
LC
8158 (replace 'glib-or-gtk-wrap
8159 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
8160 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
8161 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
8162 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
8163 ;; phase. Fix that since we don't need these.
8164 (wrap #:inputs (fold alist-delete inputs
8165 '("inkscape" "intltool" "glib:bin"))
8166 #:outputs outputs)))))))
a4df5756 8167 (native-inputs
28457ae6
KK
8168 `(("asciidoc" ,asciidoc)
8169 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 8170 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 8171 ("gobject-introspection" ,gobject-introspection)
ebfe259f 8172 ("inkscape" ,inkscape)
a4df5756
SB
8173 ("intltool" ,intltool)
8174 ("pkg-config" ,pkg-config)
8175 ("python" ,python)
2b0c755d
RW
8176 ("ruby-sass" ,ruby-sass)
8177 ("sassc" ,sassc)
a76d0f03 8178 ("xsltproc" ,libxslt)
2b0c755d 8179 ;; For tests
0b4504f6 8180 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
8181 (inputs
8182 `(("accountsservice" ,accountsservice)
8183 ("caribou" ,caribou)
8184 ("docbook-xsl" ,docbook-xsl)
8185 ("evolution-data-server" ,evolution-data-server)
8186 ("gcr" ,gcr)
8187 ("gdm" ,gdm)
c5db31d4 8188 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756 8189 ("gjs" ,gjs)
28457ae6 8190 ("gnome-autoar" ,gnome-autoar)
a4df5756 8191 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
8192 ("gnome-desktop" ,gnome-desktop)
8193 ("gnome-settings-daemon" ,gnome-settings-daemon)
8194 ("gst-plugins-base" ,gst-plugins-base)
8195 ("ibus" ,ibus)
8196 ("libcanberra" ,libcanberra)
8197 ("libcroco" ,libcroco)
d6fda4d3 8198 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756 8199 ("libgweather" ,libgweather)
e24d311f 8200 ("libnma" ,libnma)
a4df5756
SB
8201 ("libsoup" ,libsoup)
8202 ("mesa-headers" ,mesa-headers)
8203 ("mutter" ,mutter)
8204 ("network-manager-applet" ,network-manager-applet)
8205 ("polkit" ,polkit)
8206 ("pulseaudio" ,pulseaudio)
8207 ("python-pygobject" ,python-pygobject)
8208 ("startup-notification" ,startup-notification)
8209 ("telepathy-logger" ,telepathy-logger)
8210 ("upower" ,upower)
30e760f0
MB
8211 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
8212 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
8213 ("librsvg" ,librsvg)
2b0c755d 8214 ("geoclue" ,geoclue)))
a4df5756
SB
8215 (synopsis "Desktop shell for GNOME")
8216 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
8217 (description
8218 "GNOME Shell provides core user interface functions for the GNOME desktop,
8219like switching to windows and launching applications.")
8220 (license license:gpl2+)))
c3f29bc9
RS
8221
8222(define-public gtk-vnc
8223 (package
8224 (name "gtk-vnc")
97787a24 8225 (version "1.0.0")
c3f29bc9
RS
8226 (source
8227 (origin
8228 (method url-fetch)
97787a24
RG
8229 (uri
8230 (string-append "mirror://gnome/sources/" name "/"
8231 (version-major+minor version) "/"
8232 name "-" version ".tar.xz"))
c3f29bc9 8233 (sha256
97787a24
RG
8234 (base32 "1060ws037v556rx1qhfrcg02859rscksrzr8fq11himdg4d1y6m8"))))
8235 (build-system meson-build-system)
c3f29bc9 8236 (arguments
97787a24 8237 `(#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas
c3f29bc9 8238 (native-inputs
97787a24
RG
8239 `(("gjs" ,gjs)
8240 ("glib:bin" ,glib "bin")
c3f29bc9
RS
8241 ("gobject-introspection" ,gobject-introspection)
8242 ("intltool" ,intltool)
97787a24
RG
8243 ("node" ,node)
8244 ("perl" ,perl)
c3f29bc9 8245 ("pkg-config" ,pkg-config)
97787a24 8246 ("python" ,python-wrapper)
c3f29bc9 8247 ("vala" ,vala)))
97787a24
RG
8248 (inputs
8249 `(("cairo" ,cairo)
8250 ("gdk-pixbuf" ,gdk-pixbuf+svg)
8251 ("glib" ,glib)
8252 ("gnutls" ,gnutls)
8253 ("libgcrypt" ,libgcrypt)
8254 ("libsasl" ,cyrus-sasl)
8255 ("pulseaudio" ,pulseaudio)
8256 ("x11" ,libx11)
8257 ("zlib" ,zlib)))
8258 (propagated-inputs
8259 `(("gtk+" ,gtk+)))
8260 (synopsis "VNC client viewer widget for GTK+")
8261 (description "GTK-VNC is a project providing client side APIs for the RFB
8262protocol / VNC remote desktop technology. It is built using coroutines allowing
8263it to be completely asynchronous while remaining single threaded. It provides a
8264core C library, and bindings for Python (PyGTK).")
c3f29bc9 8265 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
c3f29bc9 8266 (license license:lgpl2.1+)))
8b877545 8267
dc69fe18
MW
8268(define-public gnome-autoar
8269 (package
8270 (name "gnome-autoar")
17969940 8271 (version "0.2.4")
dc69fe18
MW
8272 (source (origin
8273 (method url-fetch)
8274 (uri (string-append "mirror://gnome/sources/" name "/"
8275 (version-major+minor version) "/"
8276 name "-" version ".tar.xz"))
8277 (sha256
8278 (base32
17969940 8279 "0yk56ch46n3wfy633mq31kif9n7v06rlij4vqbsbn6l4z1vw6d0a"))))
dc69fe18
MW
8280 (build-system glib-or-gtk-build-system)
8281 (native-inputs
17969940 8282 `(("gobject-introspection" ,gobject-introspection)
dc69fe18
MW
8283 ("pkg-config" ,pkg-config)))
8284 (propagated-inputs
17969940 8285 `(("libarchive" ,libarchive))) ; Required by gnome-autoar-0.pc
dc69fe18 8286 (inputs
0a6e9e13 8287 `(("gtk+" ,gtk+)))
dc69fe18
MW
8288 (synopsis "Archives integration support for GNOME")
8289 (home-page "https://git.gnome.org/browse/gnome-autoar/")
8290 (description
8291 "GNOME Autoar is a library which makes creating and extracting archives
8292easy, safe, and automatic.")
8293 (license license:lgpl2.1+)))
8294
b64e217f
MW
8295(define-public tracker
8296 (package
8297 (name "tracker")
51780eac 8298 (version "2.3.5")
b64e217f
MW
8299 (source (origin
8300 (method url-fetch)
b5b0fd23 8301 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 8302 (version-major+minor version) "/"
b5b0fd23 8303 "tracker-" version ".tar.xz"))
b64e217f
MW
8304 (sha256
8305 (base32
51780eac 8306 "1ixxyqjlv7pnl4j8g6b72fkbjvzfspza8y71ppkncry8i6xkr223"))))
5ada561c 8307 (build-system meson-build-system)
c8bdf589 8308 (arguments
5ada561c
KK
8309 `(#:glib-or-gtk? #t
8310 #:configure-flags
8311 ;; Otherwise, the RUNPATH will lack the final path component.
8312 (list (string-append "-Dc_link_args=-Wl,-rpath="
8313 (assoc-ref %outputs "out") "/lib:"
8314 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
8315 #:phases
c8bdf589 8316 (modify-phases %standard-phases
c8bdf589
RW
8317 (add-before 'check 'pre-check
8318 (lambda _
63db190a
PN
8319 ;; Some tests expect to write to $HOME.
8320 (setenv "HOME" "/tmp")
c8bdf589 8321 #t)))))
b64e217f 8322 (native-inputs
5ada561c 8323 `(("glib:bin" ,glib "bin")
b64e217f 8324 ("gobject-introspection" ,gobject-introspection)
5ada561c 8325 ("python-pygobject" ,python-pygobject)
b64e217f
MW
8326 ("intltool" ,intltool)
8327 ("pkg-config" ,pkg-config)
8328 ("vala" ,vala)))
8329 (inputs
63db190a 8330 `(("dbus" ,dbus)
44ed6284 8331 ("sqlite" ,sqlite)
b64e217f 8332 ("libxml2" ,libxml2)
63db190a 8333 ("icu4c" ,icu4c) ; libunistring gets miner-miner-fs test to fail.
0ef48cd9 8334 ("json-glib" ,json-glib)
63db190a 8335 ("libsoup" ,libsoup)))
b64e217f
MW
8336 (synopsis "Metadata database, indexer and search tool")
8337 (home-page "https://wiki.gnome.org/Projects/Tracker")
8338 (description
63db190a
PN
8339 "Tracker is a search engine and triplestore for desktop, embedded and mobile.
8340
8341It is a middleware component aimed at desktop application developers who want
8342their apps to browse and search user content. It's not designed to be used
8343directly by desktop users, but it provides a commandline tool named
8344@command{tracker} for the adventurous.
8345
8346Tracker allows your application to instantly perform full-text searches across
8347all documents. This feature is used by the @{emph{search} bar in GNOME Files, for
8348example. This is achieved by indexing the user's home directory in the
8349background.
8350
8351Tracker also allows your application to query and list content that the user
8352has stored. For example, GNOME Music displays all the music files that are
8353found by Tracker. This means that GNOME Music doesn't need to maintain a
8354database of its own.
8355
8356If you need to go beyond simple searches, Tracker is also a linked data
8357endpoint and it understands SPARQL. ")
8358 ;; https://gitlab.gnome.org/GNOME/tracker/-/blob/master/COPYING:
b64e217f 8359 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
63db190a 8360 ;; libstemmer is bsd-3 and the rest is gpl2+.
b64e217f 8361 (license (list license:gpl2+
63db190a
PN
8362 license:bsd-3
8363 license:lgpl2.1+))))
b64e217f 8364
03be9874
KK
8365(define-public tracker-miners
8366 (package
8367 (name "tracker-miners")
afa3994c 8368 (version "2.3.4")
03be9874
KK
8369 (source (origin
8370 (method url-fetch)
8371 (uri (string-append "mirror://gnome/sources/tracker-miners/"
8372 (version-major+minor version)
8373 "/tracker-miners-" version ".tar.xz"))
8374 (sha256
8375 (base32
afa3994c 8376 "10wy8d8ski52k809p7s6lbw72qmg05bbmhnl00vx4qrbzqyxvc0b"))))
03be9874
KK
8377 (build-system meson-build-system)
8378 (arguments
8379 `(#:glib-or-gtk? #t
8380 #:configure-flags
8381 (list "-Dminer_rss=false" ; libgrss is required.
8382 ;; Ensure the RUNPATH contains all installed library locations.
8383 (string-append "-Dc_link_args=-Wl,-rpath="
8384 (assoc-ref %outputs "out")
8385 "/lib/tracker-miners-2.0")
8386 ;; TODO: Enable functional tests. Currently, the following error
8387 ;; appears:
8388 ;; Exception: The functional tests require DConf to be the default
8389 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
8390 "-Dfunctional_tests=false")))
8391 (native-inputs
8392 `(("dbus" ,dbus)
8393 ("intltool" ,intltool)
8394 ("glib:bin" ,glib "bin")
8395 ("gobject-introspection" ,gobject-introspection)
8396 ("pkg-config" ,pkg-config)
8397 ("python-pygobject" ,python-pygobject)))
8398 (inputs
8399 `(("exempi" ,exempi)
8400 ("ffmpeg" ,ffmpeg)
8401 ("flac" ,flac)
8402 ("giflib" ,giflib)
8403 ("glib" ,glib)
8404 ("gstreamer" ,gstreamer)
8405 ("icu4c" ,icu4c)
8406 ("libcue" ,libcue)
8407 ("libexif" ,libexif)
8408 ("libgsf" ,libgsf)
8409 ("libgxps" ,libgxps)
8410 ("libiptcdata" ,libiptcdata)
4bd428a7 8411 ("libjpeg" ,libjpeg-turbo)
03be9874
KK
8412 ("libosinfo" ,libosinfo)
8413 ("libpng" ,libpng)
8414 ("libseccomp" ,libseccomp)
8415 ("libtiff" ,libtiff)
8416 ("libvorbis" ,libvorbis)
8417 ("libxml2" ,libxml2)
8418 ("poppler" ,poppler)
8419 ("taglib" ,taglib)
8420 ("totem-pl-parser" ,totem-pl-parser)
8421 ("tracker" ,tracker)
8422 ("upower" ,upower)
8423 ("zlib" ,zlib)))
b64e217f
MW
8424 (synopsis "Metadata database, indexer and search tool")
8425 (home-page "https://wiki.gnome.org/Projects/Tracker")
8426 (description
8427 "Tracker is an advanced framework for first class objects with associated
8428metadata and tags. It provides a one stop solution for all metadata, tags,
8429shared object databases, search tools and indexing.")
8430 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
8431 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
8432 (license (list license:gpl2+
8433 license:lgpl2.1+
8434 license:lgpl2.0+))))
8435
8b877545
RS
8436(define-public nautilus
8437 (package
8438 (name "nautilus")
8069ff0b 8439 (version "3.34.2")
8b877545
RS
8440 (source (origin
8441 (method url-fetch)
8442 (uri (string-append "mirror://gnome/sources/" name "/"
8443 (version-major+minor version) "/"
8444 name "-" version ".tar.xz"))
8445 (sha256
8446 (base32
8069ff0b 8447 "19zqwq4qyyncc5wq3xls0f7rsavnw741k336p2h7kx35p4kf41mv"))))
35e2d0cf 8448 (build-system meson-build-system)
8b877545 8449 (arguments
35e2d0cf 8450 '(#:glib-or-gtk? #t
8069ff0b
KK
8451 #:phases
8452 (modify-phases %standard-phases
8453 (add-after 'unpack 'skip-gtk-update-icon-cache
8454 ;; Don't create 'icon-theme.cache'.
8455 (lambda _
8456 (substitute* "build-aux/meson/postinstall.py"
8457 (("gtk-update-icon-cache") "true"))
8458 #t)))
8b877545
RS
8459 ;; XXX: FAIL: check-nautilus
8460 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
8461 #:tests? #f))
8462 (native-inputs
35e2d0cf
R
8463 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
8464 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
8b877545
RS
8465 ("gobject-introspection" ,gobject-introspection)
8466 ("intltool" ,intltool)
8467 ("pkg-config" ,pkg-config)))
8b877545 8468 (inputs
8b877545 8469 `(("dconf" ,dconf)
caf6c363 8470 ("gexiv2" ,gexiv2)
dd05e731 8471 ("gvfs" ,gvfs)
8b877545
RS
8472 ("exempi" ,exempi)
8473 ("gnome-desktop" ,gnome-desktop)
09d88905 8474 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 8475 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 8476 ("libseccomp" ,libseccomp)
35e2d0cf 8477 ("libselinux" ,libselinux)
09d88905 8478 ("tracker" ,tracker)
3cafb9d4 8479 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
8480 ;; XXX: gtk+ is required by libnautilus-extension.pc
8481 ;;
8482 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
8483 ;; package. See:
8484 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
8485 ("gtk+" ,gtk+)
8b877545
RS
8486 ("libexif" ,libexif)
8487 ("libxml2" ,libxml2)))
8488 (synopsis "File manager for GNOME")
8489 (home-page "https://wiki.gnome.org/Apps/Nautilus")
8490 (description
8491 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
8492design and behaviour, giving the user a simple way to navigate and manage its
8493files.")
8494 (license license:gpl2+)))
3c697ffd
JR
8495
8496(define-public baobab
8497 (package
8498 (name "baobab")
e0c5f20c 8499 (version "3.32.0")
3c697ffd
JR
8500 (source (origin
8501 (method url-fetch)
8502 (uri (string-append
8503 "mirror://gnome/sources/" name "/"
8504 (version-major+minor version) "/"
8505 name "-" version ".tar.xz"))
8506 (sha256
8507 (base32
e0c5f20c 8508 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
8509 (build-system meson-build-system)
8510 (arguments
8511 '(#:glib-or-gtk? #t))
3c697ffd
JR
8512 (native-inputs
8513 `(("intltool" ,intltool)
8514 ("pkg-config" ,pkg-config)
d233d373
RJ
8515 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
8516 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
8517 ("itstool" ,itstool)
8518 ("xmllint" ,libxml2)
8519 ("glib" ,glib "bin")
8520 ("vala" ,vala)))
8521 (inputs
8522 `(("gtk+" ,gtk+)))
8523 (synopsis "Disk usage analyzer for GNOME")
8524 (description
8525 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
8526usage in the GNOME desktop environment. It can easily scan device volumes or
8527a specific user-requested directory branch (local or remote). Once the scan
8528is complete it provides a graphical representation of each selected folder.")
8529 (home-page "https://wiki.gnome.org/Apps/Baobab")
8530 (license license:gpl2+)))
dc050251 8531
fdba447c
RS
8532(define-public gnome-backgrounds
8533 (package
8534 (name "gnome-backgrounds")
0856b0d9 8535 (version "3.34.0")
fdba447c
RS
8536 (source
8537 (origin
8538 (method url-fetch)
8539 (uri (string-append "mirror://gnome/sources/" name "/"
8540 (version-major+minor version) "/"
8541 name "-" version ".tar.xz"))
8542 (sha256
8543 (base32
0856b0d9 8544 "0zxlwy55fz7i582hch2wnj8zy1kzikssgaix0l2y41ccp5nzpdy2"))))
9ca381f0 8545 (build-system meson-build-system)
fdba447c
RS
8546 (native-inputs
8547 `(("intltool" ,intltool)))
e04e8a8c 8548 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
8549 (synopsis "Background images for the GNOME desktop")
8550 (description
8551 "GNOME backgrounds package contains a collection of graphics files which
8552can be used as backgrounds in the GNOME Desktop environment. Additionally,
8553the package creates the proper framework and directory structure so that you
8554can add your own files to the collection.")
8555 (license (list license:gpl2+
8556 license:cc-by2.0
8557 license:cc-by-sa2.0
8558 license:cc-by-sa3.0))))
8559
b784b1a9
RS
8560(define-public gnome-screenshot
8561 (package
8562 (name "gnome-screenshot")
d5101dab 8563 (version "3.34.0")
b784b1a9
RS
8564 (source
8565 (origin
8566 (method url-fetch)
8567 (uri (string-append "mirror://gnome/sources/" name "/"
8568 (version-major+minor version) "/"
8569 name "-" version ".tar.xz"))
8570 (sha256
8571 (base32
d5101dab 8572 "1rmiq890j7gfn5mcz31xy6jfnnxgc17dq67bhn2k9m5ylbvza2n8"))))
8356aefa 8573 (build-system meson-build-system)
d5101dab
KK
8574 (arguments
8575 '(#:phases
8576 (modify-phases %standard-phases
8577 (add-after 'unpack 'skip-gtk-update-icon-cache
8578 ;; Don't create 'icon-theme.cache'.
8579 (lambda _
8580 (substitute* "build-aux/postinstall.py"
8581 (("gtk-update-icon-cache") "true"))
8582 #t)))))
b784b1a9
RS
8583 (native-inputs
8584 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa 8585 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 8586 ("intltool" ,intltool)
8356aefa 8587 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
8588 ("pkg-config" ,pkg-config)))
8589 (inputs
8590 `(("gtk+" ,gtk+)
8591 ("libcanberra" ,libcanberra)
8592 ("libx11" ,libx11)
8593 ("libxext" ,libxext)))
676e7cb4 8594 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
8595 (synopsis "Take pictures of your screen")
8596 (description
8597 "GNOME Screenshot is a utility used for taking screenshots of the entire
8598screen, a window or a user defined area of the screen, with optional
8599beautifying border effects.")
8600 (license license:gpl2+)))
8601
66d59111
RS
8602(define-public dconf-editor
8603 (package
8604 (name "dconf-editor")
720aa20f 8605 (version "3.34.2")
66d59111
RS
8606 (source
8607 (origin
8608 (method url-fetch)
8609 (uri (string-append "mirror://gnome/sources/" name "/"
8610 (version-major+minor version) "/"
8611 name "-" version ".tar.xz"))
8612 (sha256
8613 (base32
720aa20f 8614 "0pwxjada2vaf69ihpjgp9nky54iykvxq63lp1vl8pxjanif2mk6f"))))
294ff39d 8615 (build-system meson-build-system)
66d59111
RS
8616 (native-inputs
8617 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 8618 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 8619 ("intltool" ,intltool)
294ff39d
RW
8620 ("pkg-config" ,pkg-config)
8621 ("vala" ,vala)))
66d59111
RS
8622 (inputs
8623 `(("dconf" ,dconf)
8624 ("gtk+" ,gtk+)
8625 ("libxml2" ,libxml2)))
720aa20f 8626 (home-page "https://gitlab.gnome.org/GNOME/dconf-editor")
66d59111
RS
8627 (synopsis "Graphical editor for GNOME's dconf configuration system")
8628 (description
8629 "Dconf-editor is a graphical tool for browsing and editing the dconf
8630configuration system for GNOME. It allows users to configure desktop
8631software that do not provide their own configuration interface.")
8632 (license license:lgpl2.1+)))
8633
96d36f38
AW
8634(define-public gnome-default-applications
8635 (package
8636 (name "gnome-default-applications")
8637 (version "0")
8638 (build-system trivial-build-system)
8639 (source #f)
8640 (propagated-inputs
8ad4f0aa
LC
8641 `(("nautilus" ,nautilus)
8642 ("evince" ,evince)))
96d36f38
AW
8643 (arguments
8644 `(#:modules ((guix build utils))
8645 #:builder
8646 (begin
8647 (use-modules (guix build utils))
8648 (let* ((out (assoc-ref %outputs "out"))
8649 (apps (string-append out "/share/applications")))
8650 (mkdir-p apps)
a6ac679f 8651 (call-with-output-file (string-append apps "/gnome-mimeapps.list")
96d36f38
AW
8652 (lambda (port)
8653 (format port "[Default Applications]\n")
8ad4f0aa
LC
8654 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
8655 (format port "application/pdf=evince.desktop\n")
8656 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
8657 #t))))
8658 (synopsis "Default MIME type associations for the GNOME desktop")
8659 (description
8660 "Given many installed packages which might handle a given MIME type, a
8661user running the GNOME desktop probably has some preferences: for example,
8662that folders be opened by default by the Nautilus file manager, not the Baobab
8663disk usage analyzer. This package establishes that set of default MIME type
8664associations for GNOME.")
8665 (license license:gpl3+)
8666 (home-page #f)))
8667
3f1ed953
RG
8668(define-public libgovirt
8669 (package
8670 (name "libgovirt")
8671 (version "0.3.6")
8672 (source (origin
8673 (method url-fetch)
8674 (uri (string-append "mirror://gnome/sources/" name "/"
8675 (version-major+minor version) "/"
8676 name "-" version ".tar.xz"))
8677 (sha256
8678 (base32
8679 "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg"))))
8680 (build-system glib-or-gtk-build-system)
8681 (native-inputs
8682 `(("gettext" ,gettext-minimal)
8683 ("glib:bin" ,glib "bin")
8684 ("gobject-introspection" ,gobject-introspection)
8685 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8686 ("gtk+:bin" ,gtk+ "bin")
8687 ("pkg-config" ,pkg-config)))
8688 (inputs
8689 `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
8690 ("librest" ,rest)))
8691 (synopsis "GoVirt Library")
8692 (description "GoVirt is a GObject wrapper for the oVirt REST API.")
8693 (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
8694 (license license:gpl2+)))
8695
8672e5e9
RG
8696(define-public gnome-weather
8697 (package
8698 (name "gnome-weather")
8699 (version "3.34.0")
8700 (source (origin
8701 (method url-fetch)
8702 (uri (string-append "mirror://gnome/sources/" name "/"
8703 (version-major+minor version) "/"
8704 name "-" version ".tar.xz"))
8705 (sha256
8706 (base32
8707 "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4"))))
8708 (build-system meson-build-system)
8709 (native-inputs
8710 `(("gettext" ,gettext-minimal)
8711 ("glib:bin" ,glib "bin")
8712 ("gobject-introspection" ,gobject-introspection)
8713 ("gtk+:bin" ,gtk+ "bin")
8714 ("pkg-config" ,pkg-config)))
8715 (inputs
8716 `( ;("adwaita-icon-theme" ,adwaita-icon-theme)
8717 ("appstream-glib" ,appstream-glib)
8718 ("geoclue" ,geoclue)
8719 ("gdk-pixbuf" ,gdk-pixbuf)
8720 ("gjs" ,gjs)
8721 ("gnome-desktop" ,gnome-desktop)
8722 ("libgweather" ,libgweather)))
4391fefc 8723 (arguments
2b68ba72
MB
8724 `(#:glib-or-gtk? #t
8725 #:phases
4391fefc
PN
8726 (modify-phases %standard-phases
8727 (add-after 'install 'fix-desktop-file
8728 ;; FIXME: "gapplication launch org.gnome.Weather" fails for some reason.
8729 ;; See https://issues.guix.gnu.org/issue/39324.
8730 (lambda* (#:key outputs #:allow-other-keys)
8731 (let* ((out (assoc-ref outputs "out"))
8732 (applications (string-append out "/share/applications")))
8733 (substitute* (string-append applications "/org.gnome.Weather.desktop")
2b68ba72
MB
8734 (("Exec=.*") "Exec=gnome-weather\n"))
8735 #t)))
8736 (add-after 'install 'wrap
8737 (lambda* (#:key inputs outputs #:allow-other-keys)
8738 (let ((out (assoc-ref outputs "out"))
8739 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8740 ;; GNOME Weather needs the typelib files of GTK+, Pango etc at runtime.
8741 (wrap-program (string-append out "/bin/gnome-weather")
8742 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
8743 #t))))))
8672e5e9
RG
8744 (synopsis "Weather monitoring for GNOME desktop")
8745 (description "GNOME Weather is a small application that allows you to
8746monitor the current weather conditions for your city, or anywhere in the
8747world.")
8748 (home-page "https://wiki.gnome.org/Apps/Weather")
8749 (license license:gpl2+)))
8750
dc050251
SB
8751(define-public gnome
8752 (package
8753 (name "gnome")
8754 (version (package-version gnome-shell))
8755 (source #f)
8756 (build-system trivial-build-system)
e3cfef22 8757 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 8758 (propagated-inputs
8d8c6bff 8759 ;; TODO: Add or remove packages according to:
a8cda7f5 8760 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 8761 `(
8d8c6bff 8762 ;; GNOME-Core-OS-Services
7922b6f7 8763 ("accountsservice" ,accountsservice)
8d8c6bff
RG
8764 ("network-manager" ,network-manager)
8765 ("packagekit" ,packagekit)
8766 ("upower" ,upower)
8767 ;; GNOME-Core-Shell
8768 ("adwaita-icon-theme" ,adwaita-icon-theme)
8769 ("gdm" ,gdm)
8770 ("glib-networking" ,glib-networking)
8771 ("gnome-backgrounds" ,gnome-backgrounds)
8772 ("gnome-bluetooth" ,gnome-bluetooth)
d36fa50f 8773 ("gnome-color-manager" ,gnome-color-manager)
8d8c6bff
RG
8774 ("gnome-control-center" ,gnome-control-center)
8775 ("gnome-desktop" ,gnome-desktop)
7922b6f7 8776 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
d36fa50f 8777 ("gnome-initial-setup" ,gnome-initial-setup)
8d8c6bff 8778 ("gnome-keyring" ,gnome-keyring)
7922b6f7 8779 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
8780 ("gnome-session" ,gnome-session)
8781 ("gnome-settings-daemon" ,gnome-settings-daemon)
8782 ("gnome-shell-extensions" ,gnome-shell-extensions)
8783 ("gnome-shell" ,gnome-shell)
8784 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 8785 ("gnome-user-docs" ,gnome-user-docs)
d36fa50f 8786 ("gnome-user-share" ,gnome-user-share)
a8cda7f5 8787 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
8788 ("gvfs" ,gvfs)
8789 ("mutter" ,mutter)
8790 ("orca" ,orca)
d36fa50f
RG
8791 ("rygel" ,rygel)
8792 ("sushi" ,sushi)
8d8c6bff
RG
8793 ;; GNOME-Core-Utilities
8794 ("baobab" ,baobab)
8795 ("cheese" ,cheese)
ce784e6c
MB
8796 ;; XXX: EoG requires librsvg-next, which depends on Rust, which currently
8797 ;; only works on x86_64, so exclude it on other architectures.
8798 ,@(if (string-prefix? "x86_64" (%current-system))
8799 `(("eog" ,eog))
8800 '())
8d8c6bff
RG
8801 ("epiphany" ,epiphany)
8802 ("evince" ,evince)
8803 ("file-roller" ,file-roller)
8804 ("gedit" ,gedit)
897897bd 8805 ("gnome-boxes" ,gnome-boxes)
8d8c6bff
RG
8806 ("gnome-calculator" ,gnome-calculator)
8807 ("gnome-calendar" ,gnome-calendar)
8808 ("gnome-characters" ,gnome-characters)
8809 ("gnome-clocks" ,gnome-clocks)
8810 ("gnome-contacts" ,gnome-contacts)
8811 ("gnome-disk-utility" ,gnome-disk-utility)
8812 ("gnome-font-viewer" ,gnome-font-viewer)
8813 ("gnome-maps" ,gnome-maps)
d36fa50f
RG
8814 ; TODO: ("gnome-music" ,gnome-music)
8815 ; TODO: ("gnome-photos" ,gnome-photos)
8d8c6bff
RG
8816 ("gnome-screenshot" ,gnome-screenshot)
8817 ("gnome-system-monitor" ,gnome-system-monitor)
8818 ("gnome-terminal" ,gnome-terminal)
d36fa50f 8819 ("gnome-weather" ,gnome-weather)
8d8c6bff
RG
8820 ("nautilus" ,nautilus)
8821 ("simple-scan" ,simple-scan)
8822 ("totem" ,totem)
7922b6f7
RG
8823 ("yelp" ,yelp)
8824 ;; Others
8825 ("hicolor-icon-theme" ,hicolor-icon-theme)
9f2fef4f
LC
8826 ("gnome-online-accounts" ,gnome-online-accounts)
8827
8828 ;; Packages not part of GNOME proper but that are needed for a good
8829 ;; experience. See <https://bugs.gnu.org/39646>.
8830 ;; XXX: Find out exactly which ones are needed and why.
8831 ("font-cantarell" ,font-cantarell)
8832 ("font-dejavu" ,font-dejavu)
8833 ("at-spi2-core" ,at-spi2-core)
8834 ("dbus" ,dbus)
8835 ("dconf" ,dconf)
8836 ("desktop-file-utils" ,desktop-file-utils)
8837 ("gnome-default-applications" ,gnome-default-applications)
8838 ("gnome-themes-standard" ,gnome-themes-standard)
8839 ("gst-plugins-base" ,gst-plugins-base)
8840 ("gst-plugins-good" ,gst-plugins-good)
8841 ("gucharmap" ,gucharmap)
8842 ("pinentry-gnome3" ,pinentry-gnome3)
8843 ("pulseaudio" ,pulseaudio)
8844 ("shared-mime-info" ,shared-mime-info)
8845 ("system-config-printer" ,system-config-printer)
8846 ("xdg-user-dirs" ,xdg-user-dirs)
8847 ("yelp" ,yelp)
8848 ("zenity" ,zenity)))
fe4e698d 8849 (synopsis "The GNU desktop environment")
dc050251
SB
8850 (home-page "https://www.gnome.org/")
8851 (description
fe4e698d
LC
8852 "GNOME is the graphical desktop for GNU. It includes a wide variety of
8853applications for browsing the web, editing text and images, creating
8854documents and diagrams, playing media, scanning, and much more.")
dc050251 8855 (license license:gpl2+)))
4a526711
DT
8856
8857(define-public byzanz
8858 ;; The last stable release of Byzanz was in 2011, but there have been many
8859 ;; useful commits made to the Byzanz repository since then that it would be
8860 ;; silly to use such an old release.
8861 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
8862 (package
8863 (name "byzanz")
8864 (version (string-append "0.2-1." (string-take commit 7)))
8865 (source (origin
8866 (method git-fetch)
8867 (uri (git-reference
5f13bf09 8868 (url "https://git.gnome.org/browse/byzanz")
4a526711 8869 (commit commit)))
5a6527e4 8870 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
8871 (sha256
8872 (base32
8873 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
8874 (build-system glib-or-gtk-build-system)
8875 (arguments
8876 '(#:phases
8877 (modify-phases %standard-phases
778d6b52 8878 (add-before 'bootstrap 'build-without-Werror
4a526711
DT
8879 (lambda _
8880 ;; The build system cleverly detects that we're not building from
8881 ;; a release tarball and turns on -Werror for GCC.
8882 ;; Unsurprisingly, there is a warning during compilation that
8883 ;; causes the build to fail unnecessarily, so we remove the flag.
8884 (substitute* '("configure.ac")
8885 (("-Werror") ""))
778d6b52 8886 #t)))))
4a526711
DT
8887 (native-inputs
8888 `(("autoconf" ,autoconf)
8889 ("automake" ,automake)
8890 ("gnome-common" ,gnome-common)
8891 ("intltool" ,intltool)
8892 ("libtool" ,libtool)
8893 ("pkg-config" ,pkg-config)
8894 ("which" ,which)))
8895 (inputs
8896 `(("glib" ,glib)
8897 ("gstreamer" ,gstreamer)
8898 ("gst-plugins-base" ,gst-plugins-base)
8899 ("gtk+" ,gtk+)))
8900 (synopsis "Desktop recording program")
8901 (description "Byzanz is a simple desktop recording program with a
8902command-line interface. It can record part or all of an X display for a
8903specified duration and save it as a GIF encoded animated image file.")
8904 (home-page "https://git.gnome.org/browse/byzanz")
8905 (license license:gpl2+))))
3a9a4c51 8906
0ec171ec
MS
8907(define-public gsound
8908 (package
8909 (name "gsound")
8910 (version "1.0.2")
8911 (source (origin
8912 (method url-fetch)
8913 (uri (string-append "mirror://gnome/sources/" name "/"
8914 (version-major+minor version) "/"
8915 name "-" version ".tar.xz"))
8916 (sha256
8917 (base32
8918 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
8919 (build-system glib-or-gtk-build-system)
8920 (native-inputs
8921 `(("pkg-config" ,pkg-config)
8922 ("gobject-introspection" ,gobject-introspection)
8923 ("vala" ,vala)))
8924 (inputs
8925 `(("glib" ,glib)
8926 ("libcanberra" ,libcanberra)))
8927 (home-page "https://wiki.gnome.org/Projects/GSound")
8928 (synopsis "GObject wrapper for libcanberra")
8929 (description
8930 "GSound is a small library for playing system sounds. It's designed to be
8931used via GObject Introspection, and is a thin wrapper around the libcanberra C
8932library.")
8933 (license license:lgpl2.1+)))
8934
3a9a4c51
RS
8935(define-public libzapojit
8936 (package
8937 (name "libzapojit")
8938 (version "0.0.3")
8939 (source (origin
8940 (method url-fetch)
8941 (uri (string-append "mirror://gnome/sources/" name "/"
8942 (version-major+minor version) "/"
8943 name "-" version ".tar.xz"))
8944 (sha256
8945 (base32
8946 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
8947 (build-system gnu-build-system)
8948 (native-inputs
8949 `(("gobject-introspection" ,gobject-introspection)
8950 ("intltool" ,intltool)
8951 ("pkg-config" ,pkg-config)))
8952 (inputs
14c297fd 8953 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
8954 ("json-glib" ,json-glib)
8955 ("rest" ,rest)))
8956 (home-page "https://wiki.gnome.org/Projects/Zapojit")
8957 (synopsis "Library for accessing SkyDrive and Hotmail")
8958 (description
8959 "Libzapojit is a GLib-based library for accessing online service APIs of
8960Microsoft SkyDrive and Hotmail, using their REST protocols.")
8961 (license license:lgpl2.1+)))
9365ee1c 8962
60e2a9ae
MS
8963(define-public gnome-clocks
8964 (package
8965 (name "gnome-clocks")
feee5ff5 8966 (version "3.34.0")
60e2a9ae
MS
8967 (source (origin
8968 (method url-fetch)
8969 (uri (string-append "mirror://gnome/sources/" name "/"
8970 (version-major+minor version) "/"
8971 name "-" version ".tar.xz"))
8972 (sha256
8973 (base32
feee5ff5 8974 "0g7hjk55smhkd09hwa9kag3h5a12l494wj89w9smpdk3ghsmy6b1"))))
60e2a9ae
MS
8975 (build-system meson-build-system)
8976 (arguments
feee5ff5
KK
8977 '(#:glib-or-gtk? #t
8978 #:phases
8979 (modify-phases %standard-phases
8980 (add-after 'unpack 'skip-gtk-update-icon-cache
8981 ;; Don't create 'icon-theme.cache'.
8982 (lambda _
8983 (substitute* "build-aux/post-install.py"
8984 (("gtk-update-icon-cache") "true"))
8985 #t)))))
60e2a9ae
MS
8986 (native-inputs
8987 `(("vala" ,vala)
8988 ("pkg-config" ,pkg-config)
8989 ("glib" ,glib "bin") ; for glib-compile-resources
60e2a9ae
MS
8990 ("desktop-file-utils" ,desktop-file-utils)
8991 ("gettext" ,gettext-minimal)
8992 ("itstool" ,itstool)))
8993 (inputs
8994 `(("glib" ,glib)
8995 ("gtk+" ,gtk+)
8996 ("gsound" ,gsound)
8997 ("geoclue" ,geoclue)
8998 ("geocode-glib" ,geocode-glib)
8999 ("libgweather" ,libgweather)
9000 ("gnome-desktop" ,gnome-desktop)))
9001 (home-page "https://wiki.gnome.org/Apps/Clocks")
9002 (synopsis "GNOME's clock application")
9003 (description
9004 "GNOME Clocks is a simple clocks application designed to fit the GNOME
9005desktop. It supports world clock, stop watch, alarms, and count down timer.")
9006 (license license:gpl3+)))
9007
3c474897
KY
9008(define-public gnome-calendar
9009 (package
9010 (name "gnome-calendar")
27dd1d76 9011 (version "3.34.2")
3c474897
KY
9012 (source (origin
9013 (method url-fetch)
9014 (uri (string-append "mirror://gnome/sources/" name "/"
9015 (version-major+minor version) "/"
9016 name "-" version ".tar.xz"))
9017 (sha256
9018 (base32
27dd1d76 9019 "1bnmd191044zn2kr6f5vg7sm5q59qf7z652awll1f7s6ahijr8rw"))))
a49d3e37
MS
9020 (build-system meson-build-system)
9021 (arguments
9022 '(#:glib-or-gtk? #t
9023 ;; gnome-calendar has to be installed before the tests can be run
9024 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
27dd1d76
KK
9025 #:tests? #f
9026 #:phases
9027 (modify-phases %standard-phases
9028 (add-after 'unpack 'skip-gtk-update-icon-cache
9029 ;; Don't create 'icon-theme.cache'.
9030 (lambda _
9031 (substitute* "build-aux/meson/meson_post_install.py"
9032 (("gtk-update-icon-cache") "true"))
9033 #t)))))
3c474897 9034 (native-inputs
a49d3e37
MS
9035 `(("gettext" ,gettext-minimal)
9036 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
3c474897
KY
9037 ("pkg-config" ,pkg-config)))
9038 (inputs
27cb52a2 9039 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
9040 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9041 ("libdazzle" ,libdazzle)
b63c06f1 9042 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
9043 ("libgweather" ,libgweather)
9044 ("geoclue" ,geoclue)))
27cb52a2
RG
9045 (propagated-inputs
9046 `(("evolution-data-server" ,evolution-data-server)))
3c474897
KY
9047 (home-page "https://wiki.gnome.org/Apps/Calendar")
9048 (synopsis "GNOME's calendar application")
9049 (description
9050 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 9051desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
9052 (license license:gpl3+)))
9053
57b14665
MS
9054(define-public gnome-todo
9055 (package
9056 (name "gnome-todo")
9f3c6c88 9057 (version "3.28.1")
57b14665
MS
9058 (source (origin
9059 (method url-fetch)
9060 (uri (string-append "mirror://gnome/sources/" name "/"
9061 (version-major+minor version) "/"
9062 name "-" version ".tar.xz"))
9063 (sha256
9064 (base32
b17b2945
DM
9065 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))
9066 (patches
9067 (search-patches "gnome-todo-delete-esource-duplicate.patch"))))
57b14665
MS
9068 (build-system meson-build-system)
9069 (arguments
9070 '(#:glib-or-gtk? #t
9071 #:phases (modify-phases %standard-phases
9072 (add-after
9073 'install 'wrap-gnome-todo
9074 (lambda* (#:key inputs outputs #:allow-other-keys)
9075 (let ((out (assoc-ref outputs "out"))
9076 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
9077 (python-path (getenv "PYTHONPATH")))
9078 (wrap-program (string-append out "/bin/gnome-todo")
9079 ;; XXX: gi plugins are broken.
9080 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
9081 ;; For plugins.
9082 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
9083 `("PYTHONPATH" ":" prefix (,python-path))))
9084 #t)))))
9085 (native-inputs
9086 `(("gettext" ,gettext-minimal)
9087 ("gobject-introspection" ,gobject-introspection)
9088 ("glib:bin" ,glib "bin") ; For glib-compile-resources
9089 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
9090 ("pkg-config" ,pkg-config)))
9091 (inputs
9092 `(("rest" ,rest) ; For Todoist plugin
9093 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 9094 ("libedataserverui" ,evolution-data-server)
57b14665
MS
9095 ("libical" ,libical)
9096 ("libpeas" ,libpeas)
9097 ("python-pygobject" ,python-pygobject)
9098 ("evolution-data-server" ,evolution-data-server)
14c297fd 9099 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
9100 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
9101 (home-page "https://wiki.gnome.org/Apps/Todo")
9102 (synopsis "GNOME's ToDo Application")
9103 (description
9104 "GNOME To Do is a simplistic personal task manager designed to perfectly
9105fit the GNOME desktop.")
9106 (license license:gpl3+)))
9107
ab179eaf
SB
9108(define-public gnome-dictionary
9109 (package
9110 (name "gnome-dictionary")
cf81ddef 9111 (version "3.26.1")
ab179eaf
SB
9112 (source (origin
9113 (method url-fetch)
9114 (uri (string-append "mirror://gnome/sources/" name "/"
9115 (version-major+minor version) "/"
9116 name "-" version ".tar.xz"))
9117 (sha256
9118 (base32
cf81ddef
LC
9119 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
9120 (build-system meson-build-system)
2776b5d5
MB
9121 (arguments '(#:glib-or-gtk? #t
9122 #:phases (modify-phases %standard-phases
9123 (add-after 'unpack 'patch-install-script
9124 (lambda _
9125 ;; This script attempts to compile glib schemas
9126 ;; and create an empty MIME database. We do
9127 ;; that elsewhere, so prevent it from running.
9128 (substitute* "build-aux/post-install.sh"
9129 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
9130 #t)))))
ab179eaf
SB
9131 (native-inputs
9132 `(("glib:bin" ,glib "bin")
9133 ("gobject-introspection" ,gobject-introspection)
9134 ("intltool" ,intltool)
9135 ("itstool" ,itstool)
9136 ("pkg-config" ,pkg-config)
9137 ("xmllint" ,libxml2)))
9138 (inputs
9139 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9140 ("gtk+" ,gtk+)))
9141 (home-page "https://wiki.gnome.org/Apps/Dictionary")
9142 (synopsis "Look up words in dictionary sources")
9143 (description
9144 "GNOME Dictionary can look for the definition or translation of a word in
9145existing databases over the internet.")
9146 (license license:gpl3+)))
9147
d13f3a03 9148(define-public gnome-tweaks
9365ee1c 9149 (package
d13f3a03 9150 (name "gnome-tweaks")
4add1bae 9151 (version "3.34.0")
9365ee1c
JN
9152 (source (origin
9153 (method url-fetch)
d13f3a03 9154 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 9155 (version-major+minor version) "/"
d13f3a03
RW
9156 "gnome-tweaks-" version ".tar.xz"))
9157 (patches
9158 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
9159 (sha256
9160 (base32
4add1bae 9161 "0l2j42ba7v866iknygamnkiq7igh0fjvq92r93cslvvfnkx2ccq0"))))
d13f3a03 9162 (build-system meson-build-system)
9365ee1c 9163 (arguments
d13f3a03
RW
9164 `(#:glib-or-gtk? #t
9165 #:configure-flags '("-Dlocalstatedir=/tmp"
9166 "-Dsysconfdir=/tmp")
9365ee1c 9167 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
9168 ,@%meson-build-system-modules)
9169 #:phases
9170 (modify-phases %standard-phases
4add1bae
KK
9171 (add-after 'unpack 'skip-gtk-update-icon-cache
9172 ;; Don't create 'icon-theme.cache'.
9173 (lambda _
9174 (substitute* "meson-postinstall.py"
9175 (("gtk-update-icon-cache") "true"))
9176 #t))
d13f3a03
RW
9177 (add-after 'install 'wrap
9178 (@@ (guix build python-build-system) wrap))
9179 (add-after 'wrap 'wrap-gi-typelib
9180 (lambda* (#:key inputs outputs #:allow-other-keys)
9181 (let ((out (assoc-ref outputs "out"))
9182 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
9183 (wrap-program (string-append out "/bin/gnome-tweaks")
9184 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
9185 #t)))))
9365ee1c 9186 (native-inputs
4add1bae 9187 `(("intltool" ,intltool)
9365ee1c
JN
9188 ("pkg-config" ,pkg-config)))
9189 (inputs
c7fc414e
RH
9190 `(("gnome-desktop" ,gnome-desktop)
9191 ("gtk+" ,gtk+)
9365ee1c
JN
9192 ("gobject-introspection" ,gobject-introspection)
9193 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
a790dfe8 9194 ("libhandy" ,libhandy-0.0)
c7fc414e
RH
9195 ("libnotify" ,libnotify)
9196 ("libsoup" ,libsoup)
9197 ("nautilus" ,nautilus)
9198 ("python" ,python)
9199 ("python-pygobject" ,python-pygobject)))
9365ee1c 9200 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 9201 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 9202 (description
d13f3a03 9203 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
9204GNOME 3. This includes things like the fonts used in user interface elements,
9205alternative user interface themes, changes in window management behavior,
9206GNOME Shell appearance and extension, etc.")
9207 (license license:gpl3+)))
813f814a 9208
32ac717c
DT
9209(define-public gnome-shell-extensions
9210 (package
9211 (name "gnome-shell-extensions")
c7305466 9212 (version "3.34.2")
32ac717c
DT
9213 (source (origin
9214 (method url-fetch)
9215 (uri (string-append "mirror://gnome/sources/" name "/"
9216 (version-major+minor version) "/"
9217 name "-" version ".tar.xz"))
9218 (sha256
9219 (base32
c7305466 9220 "1f5l35l3kdkzrv49xmg1sh11vwmgjbg7hx3gb91i39bfl1snxqd1"))))
100f625b 9221 (build-system meson-build-system)
32ac717c 9222 (arguments
100f625b 9223 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 9224 (native-inputs
c9ea8873
LP
9225 `(("glib:bin" ,glib "bin")
9226 ("intltool" ,intltool)
32ac717c
DT
9227 ("pkg-config" ,pkg-config)))
9228 (propagated-inputs
c9ea8873 9229 `(("glib" ,glib)))
32ac717c
DT
9230 (synopsis "Extensions for GNOME Shell")
9231 (description "GNOME Shell extensions modify and extend GNOME Shell
9232functionality and behavior.")
9233 (home-page "https://extensions.gnome.org/")
9234 (license license:gpl3+)))
9235
813f814a
DT
9236(define-public arc-theme
9237 (package
9238 (name "arc-theme")
37781323 9239 (version "20190917")
813f814a 9240 (source (origin
a18f8eaf
BH
9241 (method git-fetch)
9242 (uri (git-reference
b0e7b699 9243 (url "https://github.com/NicoHood/arc-theme")
a18f8eaf
BH
9244 (commit version)))
9245 (file-name (git-file-name name version))
813f814a
DT
9246 (sha256
9247 (base32
37781323 9248 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 9249 (build-system gnu-build-system)
d88884fa
EF
9250 (arguments
9251 '(#:phases
9252 (modify-phases %standard-phases
9253 ;; autogen.sh calls configure at the end of the script.
9254 (replace 'bootstrap
4690e3a4
MC
9255 (lambda _ (invoke "autoreconf" "-vfi")))
9256 (add-before 'build 'set-home ;placate Inkscape
9257 (lambda _
9258 (setenv "HOME" (getcwd))
9259 #t)))))
813f814a
DT
9260 (native-inputs
9261 `(("autoconf" ,autoconf)
9262 ("automake" ,automake)
a18f8eaf
BH
9263 ("glib" ,glib "bin") ; for glib-compile-resources
9264 ("gnome-shell" ,gnome-shell)
9265 ("gtk+" ,gtk+)
9266 ("inkscape" ,inkscape)
9267 ("optipng" ,optipng)
9268 ("pkg-config" ,pkg-config)
bed24ecf 9269 ("sassc" ,sassc/libsass-3.5)))
813f814a
DT
9270 (synopsis "A flat GTK+ theme with transparent elements")
9271 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
92722, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
9273like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
9274 (home-page "https://github.com/horst3180/arc-theme")
9275 ;; No "or later" language found.
a18f8eaf 9276 (license license:gpl3+)))
9987c57c 9277
d935e6a1 9278(define-public faba-icon-theme
9987c57c 9279 (package
d935e6a1 9280 (name "faba-icon-theme")
2eee7ee3 9281 (version "4.3")
d935e6a1
BT
9282 (source
9283 (origin
757e4027
TGR
9284 (method git-fetch)
9285 (uri (git-reference
b0e7b699 9286 (url "https://github.com/snwh/faba-icon-theme")
757e4027
TGR
9287 (commit (string-append "v" version))))
9288 (file-name (git-file-name name version))
d935e6a1 9289 (sha256
757e4027 9290 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 9291 (build-system meson-build-system)
9987c57c 9292 (arguments
82da291a 9293 `(#:phases
9987c57c 9294 (modify-phases %standard-phases
82da291a 9295 (add-before 'configure 'disable-post-install
9987c57c 9296 (lambda _
82da291a
JL
9297 (substitute* "meson.build"
9298 (("meson.add_install_script.*") "")))))))
9987c57c
DT
9299 (native-inputs
9300 `(("autoconf" ,autoconf)
9301 ("automake" ,automake)))
d935e6a1
BT
9302 (synopsis "Faba icon theme")
9303 (description
9304 "Faba is a minimal icon set used as a basis for other themes such as
9305Moka")
9306 (home-page "https://snwh.org/moka")
9307 (license (list license:lgpl3+
9308 license:cc-by-sa4.0))))
9309
9987c57c
DT
9310(define-public moka-icon-theme
9311 (package
8b0e4177 9312 (inherit faba-icon-theme)
9987c57c 9313 (name "moka-icon-theme")
105a3625 9314 (version "5.4.0")
8c3f2170
TGR
9315 (source
9316 (origin
9317 (method git-fetch)
9318 (uri (git-reference
b0e7b699 9319 (url "https://github.com/snwh/moka-icon-theme")
8c3f2170
TGR
9320 (commit (string-append "v" version))))
9321 (file-name (git-file-name name version))
9322 (sha256
9323 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
9324 (propagated-inputs
9325 ;; Moka is based on Faba by using it as a fallback icon set instead of
9326 ;; bundling it, so we need to add it as a propagated input.
9327 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
9328 (synopsis "Moka icon theme")
9329 (description "Moka is a stylized desktop icon set, designed to be clear,
9330simple and consistent.")
fedde43b
BT
9331 (license (list license:gpl3+
9332 license:cc-by-sa4.0))))
6fd8f8d6
DT
9333
9334(define-public arc-icon-theme
9335 (package
9336 (name "arc-icon-theme")
c4180240 9337 (version "20161122")
bbf66cbf
TGR
9338 (source
9339 (origin
9340 (method git-fetch)
9341 (uri (git-reference
b0e7b699 9342 (url "https://github.com/horst3180/arc-icon-theme")
bbf66cbf
TGR
9343 (commit version)))
9344 (file-name (git-file-name name version))
9345 (sha256
9346 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 9347 (build-system gnu-build-system)
9e1ede95
JL
9348 (arguments
9349 `(#:phases
9350 (modify-phases %standard-phases
9351 (add-after 'unpack 'disable-configure-during-bootstrap
9352 (lambda _
9353 (substitute* "autogen.sh"
9354 (("^\"\\$srcdir/configure\".*") ""))
9355 #t)))))
6fd8f8d6
DT
9356 (native-inputs
9357 `(("autoconf" ,autoconf)
9358 ("automake" ,automake)))
9359 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
9360 (propagated-inputs
9361 `(("moka-icon-theme" ,moka-icon-theme)))
9362 (synopsis "Arc icon theme")
9363 (description "The Arc icon theme provides a set of icons matching the
9364style of the Arc GTK theme. Icons missing from the Arc theme are provided by
9365the Moka icon theme.")
9366 (home-page "https://github.com/horst3180/arc-icon-theme")
9367 (license license:gpl3+)))
6064a4e8
LF
9368
9369(define-public folks
9370 (package
9371 (name "folks")
fd11f6f3 9372 (version "0.13.1")
6064a4e8
LF
9373 (source (origin
9374 (method url-fetch)
9375 (uri (string-append
e5f4796e 9376 "mirror://gnome/sources/folks/"
6064a4e8 9377 (version-major+minor version) "/"
e5f4796e 9378 "folks-" version ".tar.xz"))
6064a4e8
LF
9379 (sha256
9380 (base32
fd11f6f3
KK
9381 "0pda8sx4ap3lyri5fdrnakl29la1zkhwlc9bmnp13qigp1iwdw9x"))))
9382 (build-system meson-build-system)
9383 (arguments
9384 '(#:phases
9385 (modify-phases %standard-phases
9386 (add-after 'unpack 'skip-gtk-update-icon-cache
9387 ;; Don't create 'icon-theme.cache'.
9388 (lambda _
9389 (substitute* "meson_post_install.py"
9390 (("gtk-update-icon-cache") "true"))
9391 #t)))))
6064a4e8
LF
9392 (inputs
9393 `(("bdb" ,bdb)
9394 ("dbus-glib" ,dbus-glib)
9395 ("evolution-data-server" ,evolution-data-server)
9396 ("glib" ,glib)
9397 ("libgee" ,libgee)
fd11f6f3 9398 ("readline" ,readline)
6064a4e8
LF
9399 ("telepathy-glib" ,telepathy-glib)))
9400 (native-inputs
fd11f6f3
KK
9401 `(("glib:bin" ,glib "bin")
9402 ("gobject-introspection" ,gobject-introspection)
6064a4e8
LF
9403 ("intltool" ,intltool)
9404 ("pkg-config" ,pkg-config)
9405 ("vala" ,vala)))
9406 (synopsis "Library to aggregate data about people")
9407 (description "Libfolks is a library that aggregates information about people
9408from multiple sources (e.g., Telepathy connection managers for IM contacts,
9409Evolution Data Server for local contacts, libsocialweb for web service contacts,
9410etc.) to create metacontacts. It's written in Vala, which generates C code when
9411compiled.")
9412 (home-page "https://wiki.gnome.org/Projects/Folks")
9413 (license license:lgpl2.1+)))
01ea778f
LF
9414
9415(define-public gfbgraph
9416 (package
9417 (name "gfbgraph")
556e33c8 9418 (version "0.2.4")
01ea778f
LF
9419 (source (origin
9420 (method url-fetch)
9421 (uri (string-append
237d4cf7 9422 "mirror://gnome/sources/gfbgraph/"
01ea778f 9423 (version-major+minor version) "/"
237d4cf7 9424 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
9425 (sha256
9426 (base32
556e33c8 9427 "0yck7dwvjk16a52nafjpi0a39rxwmg0w833brj45acz76lgkjrb0"))))
01ea778f
LF
9428 (build-system glib-or-gtk-build-system)
9429 (arguments
492ad09f
TGR
9430 `(#:tests? #f ; tests appear to require the network
9431 #:configure-flags '("--disable-static"
9432 "--enable-gtk-doc"
01ea778f
LF
9433 "--enable-introspection")))
9434 (native-inputs
492ad09f
TGR
9435 `(("gobject-introspection" ,gobject-introspection)
9436 ("gtk-doc" ,gtk-doc)
556e33c8
TGR
9437 ("pkg-config" ,pkg-config)
9438
9439 ;; The 0.2.4 ‘release’ tarball isn't bootstrapped.
9440 ("autoconf" ,autoconf)
9441 ("automake" ,automake)
9442 ("libtool" ,libtool)
9443 ("which" ,which)))
01ea778f
LF
9444 (inputs
9445 `(("json-glib" ,json-glib)
14c297fd 9446 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
9447 ("rest" ,rest)))
9448 (synopsis "GLib/GObject wrapper for the Facebook API")
9449 (description "This library allows you to use the Facebook API from
9450GLib/GObject code.")
9451 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
9452 (license license:lgpl2.1+)))
3920868c 9453
9454(define-public libgnomekbd
9455 (package
9456 (name "libgnomekbd")
70f2b0f9 9457 (version "3.26.1")
3920868c 9458 (source (origin
9459 (method url-fetch)
d47fa82d 9460 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 9461 (version-major+minor version) "/"
d47fa82d 9462 "libgnomekbd-" version ".tar.xz"))
3920868c 9463 (sha256
9464 (base32
70f2b0f9 9465 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 9466 (build-system gnu-build-system)
9467 (native-inputs
9468 `(("pkg-config" ,pkg-config)
9469 ("glib" ,glib "bin")
9470 ("intltool" ,intltool)))
9471 (propagated-inputs
9472 ;; Referred to in .h files and .pc.
9473 `(("glib" ,glib)
9474 ("gtk+" ,gtk+)
9475 ("libxklavier" ,libxklavier)))
9476 (home-page "https://www.gnome.org")
9477 (synopsis "GNOME keyboard configuration library")
9478 (description
9479 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
9480environment, which can notably display keyboard layouts.")
9481 (license license:lgpl2.0+)))
85327d0d 9482
9483;;; This package is no longer maintained:
9484;;; https://wiki.gnome.org/Attic/LibUnique
9485;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
9486;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
9487(define-public libunique
9488 (package
9489 (name "libunique")
9490 (version "3.0.2")
9491 (source (origin
9492 (method url-fetch)
9493 (uri (string-append "mirror://gnome/sources/" name "/"
9494 (version-major+minor version) "/"
9495 name "-" version ".tar.xz"))
9496 (sha256
9497 (base32
9498 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
9499 (build-system glib-or-gtk-build-system)
9500 (arguments
9501 `(#:configure-flags '("--disable-static"
9502 "--disable-dbus" ; use gdbus
9503 "--enable-introspection")))
9504 (native-inputs
9505 `(("pkg-config" ,pkg-config)
9506 ("gobject-introspection" ,gobject-introspection)
9507 ("glib:bin" ,glib "bin")
9508 ("gtk-doc" ,gtk-doc)))
9509 (propagated-inputs
9510 ;; Referred to in .h files and .pc.
9511 `(("gtk+" ,gtk+)))
9512 (home-page "https://wiki.gnome.org/Attic/LibUnique")
9513 (synopsis "Library for writing single instance applications")
9514 (description
9515 "Libunique is a library for writing single instance applications. If you
9516launch a single instance application twice, the second instance will either just
9517quit or will send a message to the running instance. Libunique makes it easy to
9518write this kind of application, by providing a base class, taking care of all
9519the IPC machinery needed to send messages to a running instance, and also
9520handling the startup notification side.")
9521 (license license:lgpl2.1+)))
54021cd8
RS
9522
9523(define-public gnome-calculator
9524 (package
9525 (name "gnome-calculator")
4cb09502 9526 (version "3.34.1")
54021cd8
RS
9527 (source
9528 (origin
9529 (method url-fetch)
9530 (uri (string-append "mirror://gnome/sources/" name "/"
9531 (version-major+minor version) "/"
9532 name "-" version ".tar.xz"))
9533 (sha256
9534 (base32
4cb09502 9535 "0lbh87255zzggqzai6543qg920y52bl4vs5m5h5087ghzg14hlsd"))))
2d475910
RW
9536 (build-system meson-build-system)
9537 (arguments '(#:glib-or-gtk? #t))
54021cd8 9538 (native-inputs
4cb09502
MB
9539 `(("gettext" ,gettext-minimal)
9540 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 9541 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8 9542 ("itstool" ,itstool)
2d475910 9543 ("vala" ,vala)
54021cd8
RS
9544 ("pkg-config" ,pkg-config)))
9545 (inputs
112e9083 9546 `(("glib" ,glib)
07ace641 9547 ("gtksourceview" ,gtksourceview)
4cb09502 9548 ("libgee" ,libgee)
54021cd8 9549 ("libsoup" ,libsoup)
112e9083 9550 ("libxml2" ,libxml2)
2c2da7ec 9551 ("mpc" ,mpc)
54021cd8
RS
9552 ("mpfr" ,mpfr)))
9553 (home-page "https://wiki.gnome.org/Apps/Calculator")
9554 (synopsis "Desktop calculator")
9555 (description
9556 "Calculator is an application that solves mathematical equations and
9557is suitable as a default application in a Desktop environment.")
9558 (license license:gpl3)))
0bd69759
RS
9559
9560(define-public xpad
9561 (package
9562 (name "xpad")
c85626bb 9563 (version "5.1.0")
0bd69759
RS
9564 (source
9565 (origin
9566 (method url-fetch)
08fda9c6
R
9567 (uri (string-append "https://launchpad.net/xpad/trunk/"
9568 version "/+download/"
0bd69759
RS
9569 name "-" version ".tar.bz2"))
9570 (sha256
9571 (base32
c85626bb 9572 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
9573 (build-system gnu-build-system)
9574 (native-inputs
08fda9c6
R
9575 `(("autoconf" ,autoconf)
9576 ("automake" ,automake)
9577 ("gtk+:bin" ,gtk+ "bin")
9578 ("intltool" ,intltool)
0bd69759
RS
9579 ("pkg-config" ,pkg-config)))
9580 (inputs
c72647fb 9581 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
9582 ("libsm" ,libsm)))
9583 (home-page "https://wiki.gnome.org/Apps/Xpad")
9584 (synopsis "Virtual sticky note")
9585 (description
9586 "Xpad is a sticky note that strives to be simple, fault tolerant,
9587and customizable. Xpad consists of independent pad windows, each is
9588basically a text box in which notes can be written.")
9589 (license license:gpl3+)))
3ad7dce1
RS
9590
9591(define-public gucharmap
c60063ea
RW
9592 (let ((unicode-files
9593 '(("Blocks.txt"
1f8b5515 9594 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 9595 ("DerivedAge.txt"
1f8b5515 9596 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 9597 ("NamesList.txt"
1f8b5515 9598 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 9599 ("Scripts.txt"
1f8b5515 9600 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 9601 ("UnicodeData.txt"
1f8b5515 9602 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 9603 ("Unihan.zip"
1f8b5515 9604 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
9605 (package
9606 (name "gucharmap")
1f8b5515 9607 (version "12.0.1")
c60063ea
RW
9608 (source
9609 (origin
9610 (method url-fetch)
9611 (uri (string-append "mirror://gnome/sources/" name "/"
9612 (version-major+minor version) "/"
9613 name "-" version ".tar.xz"))
9614 (sha256
9615 (base32
1f8b5515 9616 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
9617 (build-system glib-or-gtk-build-system)
9618 (arguments
9619 `(#:modules ((ice-9 match)
9620 (guix build glib-or-gtk-build-system)
9621 (guix build utils))
9622 #:configure-flags
9623 (list "--with-unicode-data=../unicode-data")
9624 #:phases
9625 (modify-phases %standard-phases
9626 (add-after 'unpack 'prepare-unicode-data
9627 (lambda* (#:key inputs #:allow-other-keys)
9628 (mkdir-p "../unicode-data")
9629 (with-directory-excursion "../unicode-data"
9630 (for-each (match-lambda
9631 ((file _)
9632 (install-file (assoc-ref inputs file) ".")))
9633 ',unicode-files))
9634 #t)))))
9635 (native-inputs
9636 `(("desktop-file-utils" ,desktop-file-utils)
9637 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
9638 ("gobject-introspection" ,gobject-introspection)
9639 ("intltool" ,intltool)
9640 ("itstool" ,itstool)
9641 ("pkg-config" ,pkg-config)
9642 ,@(map (match-lambda
9643 ((file hash)
9644 `(,file
9645 ,(origin
9646 (method url-fetch)
9647 (uri (string-append
1f8b5515 9648 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
9649 file))
9650 (sha256 (base32 hash))))))
9651 unicode-files)
9652 ("unzip" ,unzip)))
9653 (inputs
9654 `(("gtk+" ,gtk+)
9655 ("xmllint" ,libxml2)))
9656 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
9657 (synopsis "Unicode character picker and font browser")
9658 (description
9659 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
9660characters and categories for the installed fonts, and to examine their
9661detailed properties. It is an easy way to find the character you might
9662only know by its Unicode name or code point.")
c60063ea 9663 (license license:gpl3+))))
04ce840a
RS
9664
9665(define-public bluefish
9666 (package
9667 (name "bluefish")
290fe81d 9668 (version "2.2.11")
04ce840a
RS
9669 (source
9670 (origin
9671 (method url-fetch)
9672 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
99aa7a2d 9673 "bluefish-" version ".tar.gz"))
04ce840a 9674 (sha256
290fe81d 9675 (base32 "0a7kf78q4cj2ap4igjks9kbmmr74brsrl4y2f9wbxpl0b0v2ck2x"))))
04ce840a
RS
9676 (build-system gnu-build-system)
9677 (native-inputs
9678 `(("desktop-file-utils" ,desktop-file-utils)
9679 ("intltool" ,intltool)
9680 ("pkg-config" ,pkg-config)))
9681 (inputs
9682 `(("enchant" ,enchant)
9683 ("gtk+" ,gtk+)
290fe81d 9684 ("python" ,python-wrapper)
04ce840a
RS
9685 ("xmllint" ,libxml2)
9686 ("gucharmap" ,gucharmap)))
9687 (home-page "http://bluefish.openoffice.nl")
9688 (synopsis "Web development studio")
9689 (description
9690 "Bluefish is an editor targeted towards programmers and web developers,
9691with many options to write web sites, scripts and other code.
9692Bluefish supports many programming and markup languages.")
9693 (license license:gpl3+)))
1f6a73ee
RS
9694
9695(define-public gnome-system-monitor
9696 (package
9697 (name "gnome-system-monitor")
083cffaf 9698 (version "3.32.1")
1f6a73ee
RS
9699 (source
9700 (origin
9701 (method url-fetch)
9702 (uri (string-append "mirror://gnome/sources/" name "/"
9703 (version-major+minor version) "/"
9704 name "-" version ".tar.xz"))
9705 (sha256
9706 (base32
083cffaf 9707 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
9708 (build-system meson-build-system)
9709 (arguments
9710 '(#:glib-or-gtk? #t
9711 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
9712 (native-inputs
9713 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 9714 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
9715 ("intltool" ,intltool)
9716 ("itstool" ,itstool)
9717 ("libgtop" ,libgtop)
4985d9aa 9718 ("polkit" ,polkit)
1f6a73ee
RS
9719 ("pkg-config" ,pkg-config)))
9720 (inputs
9721 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
9722 ("gtk+" ,gtk+)
9723 ("gtkmm" ,gtkmm)
9724 ("librsvg" ,librsvg)
4985d9aa
RW
9725 ("libxml2" ,libxml2)
9726 ("libwnck" ,libwnck)))
1f6a73ee
RS
9727 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
9728 (synopsis "Process viewer and system resource monitor for GNOME")
9729 (description
9730 "GNOME System Monitor is a GNOME process viewer and system monitor with
9731an attractive, easy-to-use interface. It has features, such as a tree view
9732for process dependencies, icons for processes, the ability to hide processes,
9733graphical time histories of CPU/memory/swap usage and the ability to
9734kill/reinice processes.")
9735 (license license:gpl2+)))
3e00ac47
SB
9736
9737(define-public python-pyatspi
9738 (package
9739 (name "python-pyatspi")
4f937a32 9740 (version "2.34.0")
3e00ac47
SB
9741 (source (origin
9742 (method url-fetch)
9743 (uri (string-append
9744 "mirror://gnome/sources/pyatspi/"
9745 (version-major+minor version)
9746 "/pyatspi-" version ".tar.xz"))
9747 (sha256
9748 (base32
4f937a32 9749 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 9750 (build-system gnu-build-system)
b95af3f6
JL
9751 (arguments
9752 `(#:phases
9753 (modify-phases %standard-phases
9754 (add-before 'build 'fix-atk-load
9755 (lambda _
9756 (substitute* "pyatspi/__init__.py"
9757 (("from gi.repository import Atspi")
9758 "gi.require_version('Gtk', '3.0')
9759from gi.repository import Gtk
9760from gi.repository import Atspi"))
9761 #t)))))
3e00ac47
SB
9762 (native-inputs
9763 `(("pkg-config" ,pkg-config)))
9764 (inputs
06fe35cf
CB
9765 `(("python" ,python)))
9766 (propagated-inputs
9767 `(("python-pygobject" ,python-pygobject)))
3e00ac47
SB
9768 (synopsis "Python client bindings for D-Bus AT-SPI")
9769 (home-page "https://wiki.linuxfoundation.org/accessibility\
9770/atk/at-spi/at-spi_on_d-bus")
9771 (description
9772 "This package includes a python client library for the AT-SPI D-Bus
9773accessibility infrastructure.")
9774 (license license:lgpl2.0)
9775 (properties '((upstream-name . "pyatspi")))))
53201c0d 9776
5d31933e
CB
9777(define-public python2-pyatspi
9778 (package
9779 (inherit python-pyatspi)
9780 (name "python2-pyatspi")
9781 (inputs
06fe35cf
CB
9782 `(("python" ,python-2)))
9783 (propagated-inputs
9784 `(("python-pygobject" ,python2-pygobject)))))
5d31933e 9785
53201c0d
SB
9786(define-public orca
9787 (package
9788 (name "orca")
30e76da1 9789 (version "3.34.1")
53201c0d
SB
9790 (source (origin
9791 (method url-fetch)
9792 (uri (string-append
9793 "mirror://gnome/sources/" name "/"
9794 (version-major+minor version) "/"
9795 name "-" version ".tar.xz"))
9796 (sha256
9797 (base32
30e76da1 9798 "1q38n7hyshkiszmn361skxjynxr31lcms7a1iny6d0zlpmh1vnk4"))))
53201c0d
SB
9799 (build-system glib-or-gtk-build-system)
9800 (arguments
9801 '(#:phases
9802 (modify-phases %standard-phases
9803 (add-before 'configure 'qualify-xkbcomp
9804 (lambda* (#:key inputs #:allow-other-keys)
9805 (let ((xkbcomp (string-append
9806 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
9807 (substitute* "src/orca/orca.py"
9808 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
9809 #t))
9810 (add-after 'install 'wrap-orca
9811 (lambda* (#:key outputs #:allow-other-keys)
9812 (let* ((out (assoc-ref outputs "out"))
9813 (prog (string-append out "/bin/orca")))
9814 (wrap-program prog
9815 `("GI_TYPELIB_PATH" ":" prefix
9816 (,(getenv "GI_TYPELIB_PATH")))
9817 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
9818 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
9819 `("PYTHONPATH" ":" prefix
9820 (,(getenv "PYTHONPATH")))))
9821 #t)))))
9822 (native-inputs
9823 `(("intltool" ,intltool)
9824 ("itstool" ,itstool)
9825 ("pkg-config" ,pkg-config)
9826 ("xmllint" ,libxml2)))
9827 (inputs
9828 `(("at-spi2-atk" ,at-spi2-atk)
9829 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9830 ("gstreamer" ,gstreamer)
9831 ("gst-plugins-base" ,gst-plugins-base)
9832 ("gst-plugins-good" ,gst-plugins-good)
9833 ("gtk+" ,gtk+)
9834 ("python" ,python)
9835 ("python-pygobject" ,python-pygobject)
9836 ("python-pyatspi" ,python-pyatspi)
9837 ("python-speechd" ,speech-dispatcher)
9838 ("xkbcomp" ,xkbcomp)))
9839 (synopsis
9840 "Screen reader for individuals who are blind or visually impaired")
9841 (home-page "https://wiki.gnome.org/Projects/Orca")
9842 (description
9843 "Orca is a screen reader that provides access to the graphical desktop
9844via speech and refreshable braille. Orca works with applications and toolkits
9845that support the Assistive Technology Service Provider Interface (AT-SPI).")
9846 (license license:lgpl2.1+)))
411ba511
LC
9847
9848(define-public gspell
9849 (package
9850 (name "gspell")
7a6bbe9b 9851 (version "1.8.2")
411ba511
LC
9852 (source (origin
9853 (method url-fetch)
9854 (uri (string-append "mirror://gnome/sources/" name "/"
9855 (version-major+minor version) "/"
9856 name "-" version ".tar.xz"))
9857 (sha256
9858 (base32
7a6bbe9b 9859 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
9860 (patches (search-patches "gspell-dash-test.patch"))))
9861 (build-system glib-or-gtk-build-system)
9862 (arguments
d0f50164 9863 '(#:configure-flags (list "--enable-vala")
9864 #:phases
411ba511
LC
9865 (modify-phases %standard-phases
9866 (add-before 'check 'pre-check
9867 (lambda* (#:key inputs #:allow-other-keys)
9868 ;; Tests require a running X server.
9869 (system "Xvfb :1 &")
9870 (setenv "DISPLAY" ":1")
9871
9872 ;; For the missing /etc/machine-id.
9873 (setenv "DBUS_FATAL_WARNINGS" "0")
9874
9875 ;; Allow Enchant and its Aspell backend to find the en_US
9876 ;; dictionary.
9877 (setenv "ASPELL_DICT_DIR"
9878 (string-append (assoc-ref inputs "aspell-dict-en")
9879 "/lib/aspell"))
9880 #t)))))
9881 (inputs
eccd35be 9882 `(("gtk+" ,gtk+)
a801ae4c
TGR
9883 ("glib" ,glib)
9884 ("iso-codes" ,iso-codes)))
411ba511
LC
9885 (native-inputs
9886 `(("glib" ,glib "bin")
26ba3f07 9887 ("gobject-introspection" ,gobject-introspection)
411ba511 9888 ("pkg-config" ,pkg-config)
d0f50164 9889 ("vala" ,vala) ;for VAPI, needed by Geary
411ba511
LC
9890 ("xmllint" ,libxml2)
9891
9892 ;; For tests.
a801ae4c 9893 ("aspell-dict-en" ,aspell-dict-en)
ff337525 9894 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 9895 (propagated-inputs
9b1bb757 9896 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
9897 (home-page "https://wiki.gnome.org/Projects/gspell")
9898 (synopsis "GNOME's alternative spell checker")
9899 (description
9900 "gspell provides a flexible API to add spell-checking to a GTK+
9901application. It provides a GObject API, spell-checking to text entries and
9902text views, and buttons to choose the language.")
9903 (license license:gpl2+)))
d1d739fa
CM
9904
9905(define-public gnome-planner
9906 (package
9907 (name "gnome-planner")
9908 (version "0.14.6")
9909 (source (origin
9910 (method url-fetch)
9911 (uri (string-append "mirror://gnome/sources/planner/"
9912 (version-major+minor version) "/planner-"
9913 version ".tar.xz"))
9914 (sha256
9915 (base32
9916 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
9917 (build-system glib-or-gtk-build-system)
9918 (arguments
9919 ;; Disable the Python bindings because the Planner program functions
9920 ;; without them, and (as of 2017-06-13) we have not packaged all of
9921 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
9922 `(#:configure-flags
9923 (list "--disable-python"
9924 ,@(if (string=? "aarch64-linux" (%current-system))
9925 '("--build=aarch64-unknown-linux-gnu")
9926 '()))))
d1d739fa
CM
9927 (inputs
9928 `(("libgnomecanvas" ,libgnomecanvas)
9929 ("libgnomeui" ,libgnomeui)
9930 ("libglade" ,libglade)
9931 ("gnome-vfs" ,gnome-vfs)
9932 ("gconf" ,gconf)
9933 ("libxml2" ,libxml2)
9934 ("libxslt" ,libxslt)
9935 ("gtk+" ,gtk+)
9936 ("glib" ,glib)))
9937 (native-inputs
9938 `(("intltool" ,intltool)
9939 ("scrollkeeper" ,scrollkeeper)
9940 ("pkg-config" ,pkg-config)))
9941 (home-page "https://wiki.gnome.org/Apps/Planner")
9942 (synopsis "Project management software for the GNOME desktop")
9943 (description
9944 "GNOME Planner is a project management tool based on the Work Breakdown
9945Structure (WBS). Its goal is to enable you to easily plan projects. Based on
9946the resources, tasks, and constraints that you define, Planner generates
9947various views into a project. For example, Planner can show a Gantt chart of
9948the project. It can show a detailed summary of tasks including their
9949duration, cost, and current progress. It can also show a report of resource
9950utilization that highlights under-utilized and over-utilized resources. These
9951views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 9952 (license license:gpl2+)))
64fce637
RS
9953
9954(define-public lollypop
9955 (package
9956 (name "lollypop")
24b5d8f7 9957 (version "1.2.32")
64fce637
RS
9958 (source
9959 (origin
9960 (method url-fetch)
24b5d8f7 9961 (uri (string-append "https://adishatz.org/lollypop/"
3275d43d 9962 "lollypop-" version ".tar.xz"))
64fce637 9963 (sha256
24b5d8f7 9964 (base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a"))))
aa498fc0 9965 (build-system meson-build-system)
64fce637 9966 (arguments
7a9543d7
TGR
9967 `(#:imported-modules
9968 (,@%meson-build-system-modules
9969 (guix build python-build-system))
9970 #:modules
9971 ((guix build meson-build-system)
9972 ((guix build python-build-system) #:prefix python:)
9973 (guix build utils))
aa498fc0 9974 #:glib-or-gtk? #t
7a9543d7 9975 #:tests? #f ; no test suite
5fc9b6c1
EF
9976 #:phases
9977 (modify-phases %standard-phases
5fc9b6c1
EF
9978 (add-after 'install 'wrap-program
9979 (lambda* (#:key outputs #:allow-other-keys)
9980 (let ((out (assoc-ref outputs "out"))
9981 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
9982 (wrap-program (string-append out "/bin/lollypop")
9983 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
9984 #t))
8ac8b3b3 9985 (add-after 'install 'wrap-python
7a9543d7 9986 (assoc-ref python:%standard-phases 'wrap)))))
64fce637
RS
9987 (native-inputs
9988 `(("intltool" ,intltool)
9989 ("itstool" ,itstool)
aa498fc0
TD
9990 ("glib:bin" ,glib "bin") ; For glib-compile-resources
9991 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
9992 ("pkg-config" ,pkg-config)))
9993 (inputs
9994 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 9995 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 9996 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
9997 ("libnotify" ,libnotify)
9998 ("libsecret" ,libsecret)
9999 ("libsoup" ,libsoup)
10000 ("python" ,python)
10001 ("python-beautifulsoup4" ,python-beautifulsoup4)
10002 ("python-gst" ,python-gst)
d029afdd 10003 ("python-pil" ,python-pillow)
64fce637 10004 ("python-pycairo" ,python-pycairo)
cc9c83c5 10005 ("python-pygobject" ,python-pygobject)
64fce637
RS
10006 ("python-pylast" ,python-pylast)
10007 ("totem-pl-parser" ,totem-pl-parser)
10008 ("webkitgtk" ,webkitgtk)))
10009 (propagated-inputs
10010 `(;; gst-plugins-base is required to start Lollypop,
10011 ;; the others are required to play streaming.
64fce637
RS
10012 ("gst-plugins-good" ,gst-plugins-good)
10013 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 10014 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
10015 (synopsis "GNOME music playing application")
10016 (description
10017 "Lollypop is a music player designed to play well with GNOME desktop.
10018Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
10019from artists and tracks from the web. It also fetches cover artworks
10020automatically and it can stream songs from online music services and charts.")
10021 (license license:gpl3+)))
d831d49d
AW
10022
10023(define-public gnome-video-effects
10024 (package
10025 (name "gnome-video-effects")
10026 (version "0.4.3")
10027 (source (origin
10028 (method url-fetch)
10029 (uri (string-append "mirror://gnome/sources/" name "/"
10030 (version-major+minor version) "/" name "-"
10031 version ".tar.xz"))
10032 (sha256
10033 (base32
10034 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
10035 (build-system glib-or-gtk-build-system)
10036 (arguments
10037 `(#:out-of-source? #f))
10038 (native-inputs
10039 `(("glib:bin" ,glib "bin")
10040 ("intltool" ,intltool)
10041 ("gettext" ,gettext-minimal)
10042 ("pkg-config" ,pkg-config)))
10043 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
10044 (synopsis "Video effects for Cheese and other GNOME applications")
10045 (description
10046 "A collection of GStreamer video filters and effects to be used in
10047photo-booth-like software, such as Cheese.")
10048 (license license:gpl2+)))
3511c780
AW
10049
10050(define-public cheese
10051 (package
10052 (name "cheese")
3a7e066f 10053 (version "3.34.0")
3511c780
AW
10054 (source (origin
10055 (method url-fetch)
10056 (uri (string-append "mirror://gnome/sources/" name "/"
10057 (version-major+minor version) "/" name "-"
10058 version ".tar.xz"))
10059 (sha256
10060 (base32
3a7e066f 10061 "0wvyc9wb0avrprvm529m42y5fkv3lirdphqydc9jw0c8mh05d1ni"))))
3511c780 10062 (arguments
3a7e066f
KK
10063 `(#:glib-or-gtk? #t
10064 ;; Tests require GDK.
10065 #:tests? #f
3511c780
AW
10066 #:phases
10067 (modify-phases %standard-phases
3a7e066f 10068 (add-after 'unpack 'skip-gtk-update-icon-cache
3511c780
AW
10069 (lambda _
10070 ;; Don't create 'icon-theme.cache'
3a7e066f 10071 (substitute* "meson_post_install.py"
3511c780
AW
10072 (("gtk-update-icon-cache") (which "true")))
10073 #t))
10074 (add-after 'install 'wrap-cheese
10075 (lambda* (#:key inputs outputs #:allow-other-keys)
10076 (let ((out (assoc-ref outputs "out"))
10077 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
10078 (wrap-program (string-append out "/bin/cheese")
10079 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
10080 #t)))))
3a7e066f 10081 (build-system meson-build-system)
3511c780 10082 (native-inputs
3a7e066f
KK
10083 `(("docbook-xsl" ,docbook-xsl)
10084 ("glib:bin" ,glib "bin")
10085 ("gtk-doc" ,gtk-doc)
3511c780
AW
10086 ("intltool" ,intltool)
10087 ("itstool" ,itstool)
10088 ("libxml2" ,libxml2)
3a7e066f 10089 ("libxslt" ,libxslt)
3511c780
AW
10090 ("pkg-config" ,pkg-config)
10091 ("vala" ,vala)))
10092 (propagated-inputs
6a19f03e
RW
10093 `(("gnome-video-effects" ,gnome-video-effects)
10094 ("clutter" ,clutter)
3511c780
AW
10095 ("clutter-gst" ,clutter-gst)
10096 ("clutter-gtk" ,clutter-gtk)
6a19f03e 10097 ("libcanberra" ,libcanberra)
3511c780
AW
10098 ("gdk-pixbuf" ,gdk-pixbuf)
10099 ("glib" ,glib)
6a19f03e
RW
10100 ("gstreamer" ,gstreamer)))
10101 (inputs
10102 `(("gnome-desktop" ,gnome-desktop)
3511c780 10103 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
10104 ("gst-plugins-base" ,gst-plugins-base)
10105 ("gst-plugins-bad" ,gst-plugins-bad)
10106 ("gtk+" ,gtk+)
3511c780
AW
10107 ("libx11" ,libx11)
10108 ("libxtst" ,libxtst)))
10109 (home-page "https://wiki.gnome.org/Apps/Cheese")
10110 (synopsis "Webcam photo booth software for GNOME")
10111 (description
10112 "Cheese uses your webcam to take photos and videos. Cheese can also
10113apply fancy special effects and lets you share the fun with others.")
10114 (license license:gpl2+)))
3c5dbd2b 10115
10116(define-public sound-juicer
10117 (package
10118 (name "sound-juicer")
10119 (version "3.24.0")
10120 (source
10121 (origin
10122 (method url-fetch)
10123 (uri (string-append "mirror://gnome/sources/" name "/"
10124 (version-major+minor version) "/"
10125 name "-" version ".tar.xz"))
10126 (sha256
10127 (base32
10128 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
10129 (build-system glib-or-gtk-build-system)
10130 (native-inputs
10131 `(("desktop-file-utils" ,desktop-file-utils)
10132 ("intltool" ,intltool)
10133 ("itstool" ,itstool)
10134 ("pkg-config" ,pkg-config)
10135 ("xmllint" ,libxml2)))
10136 (inputs
10137 `(("gtk+" ,gtk+)
10138 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10139 ("gstreamer" ,gstreamer)
10140 ("gst-plugins-base" ,gst-plugins-base)
10141 ("gst-plugins-good" ,gst-plugins-good)
10142 ("iso-codes" ,iso-codes)
10143 ("libbrasero-media3" ,brasero)
10144 ("libcanberra" ,libcanberra)
10145 ("libdiscid" ,libdiscid)
10146 ("libmusicbrainz" ,libmusicbrainz)
10147 ("neon" ,neon)))
10148 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
10149 (synopsis "Audio music cd ripper")
10150 (description "Sound Juicer extracts audio from compact discs and convert it
10151into audio files that a personal computer or digital audio player can play.
10152It supports ripping to any audio codec supported by a GStreamer plugin, such as
10153mp3, Ogg Vorbis and FLAC")
10154 (license license:gpl2+)))
4e3fdeb7 10155
0d3f1708
CB
10156(define-public soundconverter
10157 (package
10158 (name "soundconverter")
7f4b45a3 10159 (version "3.0.2")
0d3f1708
CB
10160 (source
10161 (origin
10162 (method url-fetch)
10163 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
10164 version "/+download/"
10165 "soundconverter-" version ".tar.xz"))
10166
10167 (sha256
7f4b45a3 10168 (base32 "1jv8m82hi23ilrgdznlc1jhp2jm8bw1yrw0chh3qw2l0sixvkl11"))))
0d3f1708
CB
10169 (build-system glib-or-gtk-build-system)
10170 (arguments
10171 `(#:imported-modules ((guix build python-build-system)
10172 (guix build glib-or-gtk-build-system)
10173 ,@%gnu-build-system-modules)
10174
10175 #:modules ((guix build glib-or-gtk-build-system)
10176 (guix build utils)
10177 ((guix build gnu-build-system) #:prefix gnu:)
10178 ((guix build python-build-system) #:prefix python:))
10179
10180 #:phases
10181 (modify-phases %standard-phases
0d3f1708
CB
10182 (add-after 'install 'wrap-soundconverter-for-python
10183 (assoc-ref python:%standard-phases 'wrap))
10184 (add-after 'install 'wrap-soundconverter
10185 (lambda* (#:key inputs outputs #:allow-other-keys)
10186 (let ((out (assoc-ref outputs "out"))
10187 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
10188 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
10189 (wrap-program (string-append out "/bin/soundconverter")
10190 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
10191 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
10192 #t)))))
10193 (native-inputs
10194 `(("intltool" ,intltool)
10195 ("pkg-config" ,pkg-config)
10196 ("glib:bin" ,glib "bin")))
10197 (inputs
10198 `(("gtk+" ,gtk+)
10199 ("python" ,python)
10200 ("python-pygobject" ,python-pygobject)
10201 ("gstreamer" ,gstreamer)
10202 ("gst-plugins-base" ,gst-plugins-base)))
e42399e8 10203 (home-page "https://soundconverter.org/")
0d3f1708
CB
10204 (synopsis "Convert between audio formats with a graphical interface")
10205 (description
10206 "SoundConverter supports converting between many audio formats including
10207Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
10208configurable file renaming. ")
10209 (license license:gpl3)))
10210
4e3fdeb7 10211(define-public workrave
89f2d736
TGR
10212 (package
10213 (name "workrave")
52fc6508 10214 (version "1.10.42")
89f2d736
TGR
10215 (source
10216 (origin
10217 (method git-fetch)
10218 (uri (git-reference
b0e7b699 10219 (url "https://github.com/rcaelers/workrave")
c2e50474
TGR
10220 (commit (string-append "v" (string-map
10221 (match-lambda (#\. #\_) (chr chr))
10222 version)))))
89f2d736
TGR
10223 (file-name (git-file-name name version))
10224 (sha256
52fc6508 10225 (base32 "03i9kk8r1wgrfkkbwikx8wxaw4r4kn62vismr2zdq5g34fkkjh95"))))
89f2d736 10226 (build-system glib-or-gtk-build-system)
1b9e1648
TGR
10227 (arguments
10228 ;; The only tests are maintainer tests (in po/), which fail.
10229 `(#:tests? #f))
d1c96847
MC
10230 (inputs `(("glib" ,glib)
10231 ("gtk+" ,gtk+)
10232 ("gdk-pixbuf" ,gdk-pixbuf)
10233 ("gtkmm" ,gtkmm)
10234 ("glibmm" ,glibmm)
10235 ("libx11" ,libx11)
10236 ("libxtst" ,libxtst)
10237 ("dconf" ,dconf)
10238 ("libice" ,libice)
10239 ("libsm" ,libsm)
10240 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 10241 (native-inputs `(("boost" ,boost)
89f2d736 10242 ("pkg-config" ,pkg-config)
f2d97d57 10243 ("gettext" ,gettext-minimal)
89f2d736
TGR
10244 ("autoconf" ,autoconf)
10245 ("autoconf-archive" , autoconf-archive)
10246 ("automake" ,automake)
10247 ("libtool" ,libtool)
10248 ("intltool" ,intltool)
89f2d736 10249 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
10250 ("python3" ,python-3)
10251 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
10252 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
10253 (description
10254 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
10255repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
10256micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
10257 (home-page "http://www.workrave.org")
10258 (license license:gpl3+)))
312afa7d
LC
10259
10260(define-public ghex
10261 (package
10262 (name "ghex")
3748992a 10263 (version "3.18.4")
312afa7d
LC
10264 (source (origin
10265 (method url-fetch)
2fbab848 10266 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 10267 (version-major+minor version) "/"
2fbab848 10268 "ghex-" version ".tar.xz"))
312afa7d
LC
10269 (sha256
10270 (base32
3748992a
KK
10271 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
10272 (build-system meson-build-system)
10273 (arguments
10274 '(#:glib-or-gtk? #t
10275 #:phases
10276 (modify-phases %standard-phases
10277 (add-after 'unpack 'skip-gtk-update-icon-cache
10278 ;; Don't create 'icon-theme.cache'.
10279 (lambda _
10280 (substitute* "meson_post_install.py"
10281 (("gtk-update-icon-cache") (which "true")))
10282 #t)))))
312afa7d
LC
10283 (native-inputs
10284 `(("pkg-config" ,pkg-config)
3748992a 10285 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
10286 ("gnome-common" ,gnome-common)
10287 ("which" ,which)
10288 ("intltool" ,intltool)
10289 ("yelp-tools" ,yelp-tools)
2fbab848 10290 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
10291 (inputs
10292 `(("atk" ,atk)
10293 ("gtk" ,gtk+)))
10294 (synopsis "GNOME hexadecimal editor")
10295 (description "The GHex program can view and edit files in two ways:
10296hexadecimal or ASCII. It is useful for editing binary files in general.")
10297 (home-page "https://wiki.gnome.org/Apps/Ghex")
10298 (license license:gpl2)))
4b2ed6c2
RW
10299
10300(define-public libdazzle
10301 (package
10302 (name "libdazzle")
80260be4 10303 (version "3.37.1")
4b2ed6c2
RW
10304 (source (origin
10305 (method url-fetch)
687b4909 10306 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 10307 (version-major+minor version) "/"
687b4909 10308 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
10309 (sha256
10310 (base32
80260be4 10311 "03r5cr11dc031qa3694bpgm3lajrhiiln67kvl7vjj4q0scf7w7x"))))
4b2ed6c2
RW
10312 (build-system meson-build-system)
10313 (arguments
10314 `(#:phases
10315 (modify-phases %standard-phases
4b2ed6c2
RW
10316 (add-before 'check 'pre-check
10317 (lambda _
10318 ;; Tests require a running X server.
10319 (system "Xvfb :1 &")
10320 (setenv "DISPLAY" ":1")
10321 #t)))))
10322 (native-inputs
687b4909 10323 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 10324 ("pkg-config" ,pkg-config)
687b4909 10325 ;; For tests.
ff337525 10326 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
10327 (inputs
10328 `(("glib" ,glib)
10329 ("gobject-introspection" ,gobject-introspection)
10330 ("gtk+" ,gtk+)
10331 ("vala" ,vala)))
10332 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
10333 (synopsis "Companion library to GObject and Gtk+")
10334 (description "The libdazzle library is a companion library to GObject and
10335Gtk+. It provides various features that the authors wish were in the
10336underlying library but cannot for various reasons. In most cases, they are
10337wildly out of scope for those libraries. In other cases, they are not quite
10338generic enough to work for everyone.")
10339 (license license:gpl3+)))
7d3bb433
RW
10340
10341(define-public evolution
10342 (package
10343 (name "evolution")
0662fe86 10344 (version "3.34.2")
7d3bb433
RW
10345 (source (origin
10346 (method url-fetch)
10347 (uri (string-append "mirror://gnome/sources/evolution/"
10348 (version-major+minor version) "/"
10349 "evolution-" version ".tar.xz"))
10350 (sha256
10351 (base32
0662fe86 10352 "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c"))))
7d3bb433
RW
10353 (build-system cmake-build-system)
10354 (arguments
5229bea1
KK
10355 `(#:imported-modules (,@%cmake-build-system-modules
10356 (guix build glib-or-gtk-build-system))
10357 #:modules ((guix build cmake-build-system)
10358 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
10359 (guix build utils))
10360 #:configure-flags
7d3bb433 10361 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 10362 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 10363 ; in four years and cannot be built.
5229bea1
KK
10364 #:phases
10365 (modify-phases %standard-phases
10366 ;; The build system attempts to install user interface modules to the
10367 ;; output directory of the "evolution-data-server" package. This
10368 ;; change redirects that change.
10369 (add-after 'unpack 'patch-ui-module-dir
10370 (lambda* (#:key outputs #:allow-other-keys)
10371 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
10372 (("\\$\\{edsuimoduledir\\}")
10373 (string-append (assoc-ref outputs "out")
10374 "/lib/evolution-data-server/ui-modules")))
10375 #t))
10376 (add-after 'install 'glib-or-gtk-compile-schemas
10377 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
10378 (add-after 'install 'glib-or-gtk-wrap
10379 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 10380 (native-inputs
ad6e168b 10381 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
10382 ("pkg-config" ,pkg-config)
10383 ("intltool" ,intltool)
10384 ("itstool" ,itstool)))
10385 (inputs
10386 `(("enchant" ,enchant)
10387 ("evolution-data-server" ,evolution-data-server) ; must be the same version
10388 ("gcr" ,gcr)
ad6e168b 10389 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
10390 ("gnome-autoar" ,gnome-autoar)
10391 ("gnome-desktop" ,gnome-desktop)
0662fe86 10392 ("gspell" ,gspell)
7d3bb433
RW
10393 ("highlight" ,highlight)
10394 ("libcanberra" ,libcanberra)
10395 ("libgweather" ,libgweather)
10396 ("libnotify" ,libnotify)
10397 ("libsoup" ,libsoup)
10398 ("nss" ,nss)
10399 ("openldap" ,openldap)
10400 ("webkitgtk" ,webkitgtk)
10401 ("ytnef" ,ytnef)))
10402 (home-page "https://gitlab.gnome.org/GNOME/evolution")
10403 (synopsis "Manage your email, contacts and schedule")
10404 (description "Evolution is a personal information management application
10405that provides integrated mail, calendaring and address book
10406functionality.")
10407 ;; See COPYING for details.
23dbe621 10408 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 10409 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 10410 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
10411
10412(define-public gthumb
10413 (package
10414 (name "gthumb")
8280676b 10415 (version "3.8.2")
169d63f5
AT
10416 (source (origin
10417 (method url-fetch)
10418 (uri (string-append "mirror://gnome/sources/gthumb/"
10419 (version-major+minor version) "/"
10420 "gthumb-" version ".tar.xz"))
10421 (sha256
10422 (base32
8280676b 10423 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
10424 (build-system meson-build-system)
10425 (arguments
10426 `(#:glib-or-gtk? #t
10427 #:configure-flags
10428 ;; Ensure the RUNPATH contains all installed library locations.
10429 (list (string-append "-Dc_link_args=-Wl,-rpath="
10430 (assoc-ref %outputs "out")
10431 "/lib/gthumb/extensions")
10432 (string-append "-Dcpp_link_args=-Wl,-rpath="
10433 (assoc-ref %outputs "out")
10434 "/lib/gthumb/extensions"))))
10435 (native-inputs
10436 `(("pkg-config" ,pkg-config)
10437 ("glib:bin" ,glib "bin") ; for glib-compile-resources
10438 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
10439 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
10440 ("intltool" ,intltool)
10441 ("itstool" ,itstool)))
10442 (inputs
10443 `(("exiv2" ,exiv2)
10444 ("gtk" ,gtk+)
10445 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10446 ("gstreamer" ,gstreamer)
10447 ("clutter" ,clutter)
10448 ("clutter-gst" ,clutter-gst)
10449 ("clutter-gtk" ,clutter-gtk)
4bd428a7 10450 ("libjpeg" ,libjpeg-turbo)
169d63f5
AT
10451 ("libtiff" ,libtiff)
10452 ("libraw" ,libraw)))
10453 (home-page "https://wiki.gnome.org/Apps/Gthumb")
10454 (synopsis "GNOME image viewer and browser")
10455 (description "GThumb is an image viewer, browser, organizer, editor and
10456advanced image management tool")
10457 (license license:gpl2+)))
08be02be
AT
10458
10459(define-public terminator
10460 (package
10461 (name "terminator")
10462 (version "1.91")
10463 (source (origin
10464 (method url-fetch)
10465 (uri (string-append "https://launchpad.net/" name "/"
10466 "gtk3/" version "/" "+download/"
10467 name "-" version ".tar.gz"))
10468 (sha256
10469 (base32
10470 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
10471 (build-system python-build-system)
10472 (native-inputs
10473 `(("intltool" ,intltool)
10474 ("glib:bin" ,glib "bin") ; for glib-compile-resources
10475 ("gettext" ,gettext-minimal)
10476 ("pkg-config" ,pkg-config)))
10477 (inputs
10478 `(("cairo" ,cairo)
10479 ("gobject-introspection" ,gobject-introspection)
96681d4b 10480 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
10481 ("python2-pycairo" ,python2-pycairo)
10482 ("python2-pygobject" ,python2-pygobject)
10483 ("python2-psutil" ,python2-psutil)
10484 ("vte" ,vte)))
10485 (arguments
96681d4b
TGR
10486 `(#:python ,python-2 ; Python 3 isn't supported
10487 #:imported-modules ((guix build glib-or-gtk-build-system)
10488 ,@%python-build-system-modules)
10489 #:modules ((guix build python-build-system)
10490 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
10491 (guix build utils))
08be02be
AT
10492 #:phases
10493 (modify-phases %standard-phases
10494 (add-after
10495 'install 'wrap-program
10496 (lambda* (#:key outputs #:allow-other-keys)
10497 (let ((prog (string-append (assoc-ref outputs "out")
10498 "/bin/terminator")))
10499 (wrap-program prog
10500 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
10501 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
10502 #t)))
10503 (add-after 'wrap-program 'glib-or-gtk-wrap
10504 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
10505 (home-page "https://gnometerminator.blogspot.com/")
10506 (synopsis "Store and run multiple GNOME terminals in one window")
10507 (description
10508 "Terminator allows you to run multiple GNOME terminals in a grid and
10509+tabs, and it supports drag and drop re-ordering of terminals.")
10510 (license license:gpl2)))
213315d4
JF
10511
10512(define-public libhandy
10513 (package
10514 (name "libhandy")
7daa99e5 10515 (version "1.0.0")
213315d4
JF
10516 (source
10517 (origin
10518 (method git-fetch)
10519 (uri (git-reference
355761c2
LP
10520 (url "https://gitlab.gnome.org/GNOME/libhandy")
10521 (commit version)))
213315d4
JF
10522 (file-name (git-file-name name version))
10523 (sha256
7daa99e5 10524 (base32 "193y09yy0302x8fkyrnq591m805xp68bkd93fl5qggxi52k8pj0v"))))
213315d4
JF
10525 (build-system meson-build-system)
10526 (arguments
10527 `(#:configure-flags
43514b82 10528 '("-Dglade_catalog=enabled"
213315d4
JF
10529 "-Dgtk_doc=true")
10530 #:phases
10531 (modify-phases %standard-phases
213315d4
JF
10532 (add-before 'check 'pre-check
10533 (lambda _
10534 ;; Tests require a running X server.
10535 (system "Xvfb :1 &")
10536 (setenv "DISPLAY" ":1")
10537 #t)))))
10538 (inputs
43514b82
LP
10539 `(("gtk+" ,gtk+)
10540 ("glade" ,glade3)
10541 ("libxml2" ,libxml2)))
213315d4
JF
10542 (native-inputs
10543 `(("glib:bin" ,glib "bin")
10544 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
10545 ("vala" ,vala)
10546 ("gtk-doc" ,gtk-doc)
10547 ("pkg-config" ,pkg-config)
10548 ("gettext" ,gettext-minimal)
d41ee146
TGR
10549
10550 ;; Test suite dependencies.
ff337525 10551 ("xorg-server" ,xorg-server-for-tests)
d41ee146 10552 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
10553 (home-page "https://source.puri.sm/Librem5/libhandy")
10554 (synopsis "Library full of GTK+ widgets for mobile phones")
10555 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
10556interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
10557for usage on small and big screens.")
213315d4 10558 (license license:lgpl2.1+)))
a830d14d 10559
a790dfe8
LP
10560(define-public libhandy-0.0
10561 (package
10562 (inherit libhandy)
10563 (version "0.0.13")
10564 (source
10565 (origin
10566 (method git-fetch)
10567 (uri (git-reference
10568 (url "https://gitlab.gnome.org/GNOME/libhandy")
10569 (commit (string-append "v" version))))
10570 (file-name (git-file-name "libhandy" version))
10571 (sha256
43514b82
LP
10572 (base32 "1y23k623sjkldfrdiwfarpchg5mg58smcy1pkgnwfwca15wm1ra5"))))
10573 (arguments
10574 (substitute-keyword-arguments (package-arguments libhandy)
10575 ((#:configure-flags flags)
10576 '(list "-Dglade_catalog=disabled" "-Dgtk_doc=true"))))))
a790dfe8 10577
a830d14d
GL
10578(define-public libgit2-glib
10579 (package
10580 (name "libgit2-glib")
6448c2e1 10581 (version "0.99.0.1")
a830d14d
GL
10582 (source (origin
10583 (method url-fetch)
10584 (uri (string-append "mirror://gnome/sources/" name "/"
10585 (version-major+minor version) "/"
10586 name "-" version ".tar.xz"))
10587 (sha256
10588 (base32
6448c2e1 10589 "1pmrcnsa7qdda73c3dxf47733mwprmj5ljpw3acxbj6r8k27anp0"))))
a830d14d
GL
10590 (build-system meson-build-system)
10591 (native-inputs
10592 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
10593 ("gobject-introspection" ,gobject-introspection)
a830d14d
GL
10594 ("pkg-config" ,pkg-config)
10595 ("python-pygobject" ,python-pygobject)
10596 ("python-wrapper" ,python-wrapper)
10597 ("vala" ,vala)))
10598 (inputs
10599 `(("glib" ,glib)
8c6aae46
MB
10600 ("libssh2" ,libssh2)))
10601 (propagated-inputs
10602 `(;; In Requires of libgit2-glib.pc.
a830d14d
GL
10603 ("libgit2" ,libgit2)))
10604 (synopsis "GLib wrapper around the libgit2 Git access library")
10605 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
10606access library. It only implements the core plumbing functions, not really the
10607higher level porcelain stuff.")
10608 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
10609 (license license:gpl2+)))
93beace0 10610
08db81c9
LP
10611(define-public gitg
10612 (package
10613 (name "gitg")
10614 (version "3.32.1")
10615 (source (origin
10616 (method url-fetch)
10617 (uri (string-append "mirror://gnome/sources/" name "/"
10618 (version-major+minor version) "/"
10619 name "-" version ".tar.xz"))
10620 (sha256
10621 (base32
10622 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
10623 (build-system meson-build-system)
10624 (arguments
10625 `(#:glib-or-gtk? #t
10626 #:phases
10627 (modify-phases %standard-phases
10628 (add-after 'unpack 'disable-post-install-partially
10629 (lambda _
10630 (substitute* "meson_post_install.py"
10631 (("'python'") ; there are no python sources to compile
10632 (string-append "'" (which "true") "'"))
10633 (("gtk-update-icon-cache") (which "true")))
10634 #t))
10635 (add-after 'unpack 'fix-test-sources
10636 (lambda _
10637 (substitute* "tests/libgitg/test-commit.vala"
10638 (("/bin/bash") (which "bash")))
10639 #t))
10640 (add-after 'glib-or-gtk-wrap 'wrap-typelib
10641 (lambda* (#:key outputs #:allow-other-keys)
10642 (let ((prog (string-append (assoc-ref outputs "out")
10643 "/bin/gitg")))
10644 (wrap-program prog
10645 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
10646 #t))))))
10647 (inputs
10648 `(("glib" ,glib)
10649 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10650 ("gtk+" ,gtk+)
10651 ("gtkspell3" ,gtkspell3)
10652 ("gtksourceview" ,gtksourceview-3)
10653 ("json-glib" ,json-glib)
10654 ("libdazzle" ,libdazzle)
10655 ("libgee" ,libgee)
08db81c9
LP
10656 ("libgit2-glib" ,libgit2-glib)
10657 ("libpeas" ,libpeas)
10658 ("libsecret" ,libsecret)
10659 ("libsoup" ,libsoup)
10660 ("libxml2" ,libxml2)))
10661 (native-inputs
10662 `(("glib:bin" ,glib "bin")
10663 ("gtk+:bin" ,gtk+ "bin")
10664 ("gobject-introspection" ,gobject-introspection)
10665 ("intltool" ,intltool)
10666 ("pkg-config" ,pkg-config)
10667 ("vala" ,vala)))
10668 (synopsis "Graphical user interface for git")
10669 (description
10670 "gitg is a graphical user interface for git. It aims at being a small,
10671fast and convenient tool to visualize the history of git repositories.
10672Besides visualization, gitg also provides several utilities to manage your
10673repository and commit your work.")
10674 (home-page "https://wiki.gnome.org/Apps/Gitg")
10675 (license license:gpl2+)))
10676
1e600ed0
RW
10677(define-public gamin
10678 (package
10679 (name "gamin")
10680 (version "0.1.10")
10681 (source (origin
10682 (method url-fetch)
10683 (uri (string-append "mirror://gnome/sources/" name "/"
10684 (version-major+minor version) "/"
10685 name "-" version ".tar.bz2"))
10686 (sha256
10687 (base32
10688 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
10689 (build-system gnu-build-system)
10690 (arguments
10691 `(#:phases
10692 (modify-phases %standard-phases
10693 (add-after 'unpack 'remove-deprecated-macro
10694 (lambda _
10695 (substitute* '("server/gam_node.c"
10696 "server/gam_subscription.h"
10697 "server/gam_node.h"
10698 "server/gam_subscription.c")
10699 (("G_CONST_RETURN") "const"))
10700 #t)))))
10701 (inputs
10702 `(("glib" ,glib)))
10703 (native-inputs
10704 `(("intltool" ,intltool)
10705 ("pkg-config" ,pkg-config)))
10706 (home-page "https://people.gnome.org/~veillard/gamin/")
10707 (synopsis "File alteration monitor")
10708 (description
10709 "Gamin is a file and directory monitoring system defined to be a subset
10710of the FAM (File Alteration Monitor) system. This is a service provided by a
bddd877f 10711library which detects when a file or a directory has been modified.")
1e600ed0
RW
10712 (license license:gpl2+)))
10713
93beace0
DW
10714(define-public gnome-mahjongg
10715 (package
10716 (name "gnome-mahjongg")
10717 (version "3.35.1")
10718 (source (origin
10719 (method git-fetch)
10720 (uri (git-reference
10721 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
10722 (commit version)))
10723 (file-name (git-file-name name version))
10724 (sha256
10725 (base32
10726 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
10727 (build-system meson-build-system)
10728 (arguments
10729 `(#:glib-or-gtk? #t))
10730 (native-inputs
10731 `(("appstream-glib" ,appstream-glib)
10732 ("gettext" ,gettext-minimal)
10733 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
10734 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
10735 ("itstool" ,itstool)
10736 ("pkg-config" ,pkg-config)
10737 ("vala" ,vala)))
10738 (propagated-inputs
10739 `(("dconf" ,dconf)))
10740 (inputs
10741 `(("glib" ,glib)
10742 ("gtk+" ,gtk+)
10743 ("librsvg" ,librsvg)))
10744 (synopsis "Mahjongg tile-matching game")
10745 (description "GNOME Mahjongg is a game based on the classic Chinese
10746tile-matching game Mahjong. It features multiple board layouts, tile themes,
10747and a high score table.")
10748 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
10749 (license license:gpl2+)))
f825476c 10750
76ea7632
RG
10751(define-public gnome-themes-extra
10752 (package
10753 (name "gnome-themes-extra")
10754 (version "3.28")
10755 (source
10756 (origin
10757 (method url-fetch)
10758 (uri (string-append "mirror://gnome/sources/" name "/"
10759 (version-major+minor version) "/" name "-"
10760 version ".tar.xz"))
10761 (sha256
10762 (base32
10763 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
10764 (build-system gnu-build-system)
885424bf
RG
10765 (arguments
10766 '(#:configure-flags
10767 ;; Don't create 'icon-theme.cache'.
10768 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
10769 (true (string-append coreutils "/bin/true")))
10770 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
10771 (native-inputs
10772 `(("glib:bin" ,glib "bin")
10773 ("intltool" ,intltool)
10774 ("pkg-config" ,pkg-config)))
10775 (inputs
10776 `(("glib" ,glib)
10777 ("gtk+" ,gtk+)
10778 ("gtk+-2" ,gtk+-2)
10779 ("librsvg" ,librsvg)
10780 ("libxml2" ,libxml2)))
10781 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
10782 (synopsis "GNOME Extra Themes")
10783 (description "This package provides themes and related elements that don't
10784really fit in other upstream packages. It offers legacy support for GTK+ 2
10785versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
10786index files needed for Adwaita to be used outside of GNOME.")
10787 (license license:lgpl2.1+)))
10788
f825476c
LP
10789(define-public polari
10790 (package
10791 (name "polari")
c6a7ae4f 10792 (version "3.36.3")
f825476c
LP
10793 (source (origin
10794 (method url-fetch)
10795 (uri (string-append "mirror://gnome/sources/polari/"
10796 (version-major+minor version)
10797 "/polari-" version ".tar.xz"))
10798 (sha256
10799 (base32
c6a7ae4f 10800 "0fpmrvhd40yay051bzn4x3gsrzdv42nav0pm5ps0np8wk1z689jg"))))
f825476c
LP
10801 (build-system meson-build-system)
10802 (arguments
10803 `(#:glib-or-gtk? #t
10804 #:phases
10805 (modify-phases %standard-phases
10806 (add-after 'unpack 'skip-gtk-update-icon-cache
10807 (lambda _
10808 (substitute* "meson/meson-postinstall.sh"
10809 (("gtk-update-icon-cache") (which "true")))
10810 #t))
10811 (add-after 'glib-or-gtk-wrap 'wrap-typelib
10812 (lambda* (#:key outputs #:allow-other-keys)
10813 (let ((prog (string-append (assoc-ref outputs "out")
10814 "/bin/polari")))
10815 (wrap-program prog
10816 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
10817 #t))))))
10818 (inputs
10819 `(("glib" ,glib)
10820 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10821 ("gspell" ,gspell)
10822 ("gtk+" ,gtk+)
10823 ("gjs" ,gjs)
10824 ("libsecret" ,libsecret)
10825 ("libsoup" ,libsoup)
10826 ("telepathy-glib" ,telepathy-glib)
10827 ("telepathy-logger" ,telepathy-logger)))
10828 (native-inputs
10829 `(("glib:bin" ,glib "bin")
10830 ("gobject-introspection" ,gobject-introspection)
10831 ("intltool" ,intltool)
10832 ("pkg-config" ,pkg-config)
10833 ("yelp-tools" ,yelp-tools)))
10834 (propagated-inputs
10835 `(("telepathy-idle" ,telepathy-idle)
10836 ("telepathy-mission-control" ,telepathy-mission-control)))
10837 (synopsis "Simple IRC Client")
10838 (description
10839 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
10840integrate seamlessly with the GNOME desktop.")
10841 (home-page "https://wiki.gnome.org/Apps/Polari")
10842 (license license:gpl2+)))
59d4c8c2
PN
10843
10844(define-public gnome-boxes
10845 (package
10846 (name "gnome-boxes")
915c2ad3 10847 (version "3.36.6")
59d4c8c2
PN
10848 (source
10849 (origin
10850 (method url-fetch)
10851 (uri (string-append "mirror://gnome/sources/gnome-boxes/"
10852 (version-major+minor version) "/"
10853 "gnome-boxes-" version ".tar.xz"))
10854 (sha256
915c2ad3 10855 (base32 "0c3cw90xqqcpacc2z06ljs0gg8saxizfgjzg9alhpwgz3gl4c5pg"))))
59d4c8c2
PN
10856 (build-system meson-build-system)
10857 (arguments
10858 '(#:glib-or-gtk? #t
10859 #:configure-flags (list "-Drdp=false"
10860 (string-append "-Dc_link_args=-Wl,-rpath="
10861 (assoc-ref %outputs "out")
10862 "/lib/gnome-boxes"))))
10863 (native-inputs
10864 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
10865 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
10866 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
10867 ("itstool" ,itstool)
10868 ("intltool" ,intltool)
10869 ("vala" ,vala)
10870 ("pkg-config" ,pkg-config)))
10871 (inputs
10872 `(("libarchive" ,libarchive)
f0d7897e
MC
10873 ("glib-networking" ,glib-networking) ;for TLS support
10874 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
59d4c8c2
PN
10875 ("gtk" ,gtk+)
10876 ("gtk-vnc" ,gtk-vnc)
10877 ("libosinfo" ,libosinfo)
10878 ("libsecret" ,libsecret)
10879 ("libsoup" ,libsoup)
10880 ("libusb" ,libusb)
10881 ("libvirt" ,libvirt)
10882 ("libvirt-glib" ,libvirt-glib)
10883 ("libxml" ,libxml2)
10884 ("spice-gtk" ,spice-gtk)
10885 ("sparql-query" ,sparql-query)
10886 ("vte" ,vte)
10887 ("webkitgtk" ,webkitgtk)
10888 ("tracker" ,tracker)
10889 ("libgudev" ,libgudev)))
10890 (home-page "https://wiki.gnome.org/Apps/Boxes")
10891 (synopsis "View, access, and manage remote and virtual systems")
10892 (description "GNOME Boxes is a simple application to view, access, and
f0d7897e
MC
10893manage remote and virtual systems. Note that this application requires the
10894@code{libvirt} and @code{virtlog} daemons to run. Use the command
10895@command{info '(guix) Virtualization Services'} to learn how to configure
10896these services on the Guix System.")
59d4c8c2
PN
10897 (license (list
10898 ;; For data/icons/empty-boxes.png.
10899 license:cc-by2.0
10900 ;; For all others.
10901 license:lgpl2.0+))))
0e26c3cf 10902
10903(define-public geary
10904 (package
10905 (name "geary")
10906 (version "3.34.1")
10907 (source (origin
10908 (method git-fetch)
10909 (uri (git-reference
10910 (url "https://gitlab.gnome.org/GNOME/geary")
10911 (commit version)))
10912 (file-name (git-file-name name version))
10913 (sha256
10914 (base32
10915 "01cc921kyh3zxz07biqbdzkjgmdcc36kwjyajm4y382a75cl5zg7"))))
10916 (build-system meson-build-system)
10917 (arguments
10918 `(#:glib-or-gtk? #t
10919 #:phases (modify-phases %standard-phases
10920 (add-after 'unpack 'disable-failing-tests
10921 (lambda _
10922 (substitute* "test/meson.build"
10923 (("test\\('client-tests', geary_test_client_bin\\)")
10924 ""))
10925 #t))
10926 (add-after 'unpack 'disable-postinstall-script
10927 (lambda _
10928 (substitute* "meson.build"
10929 (("meson.add_install_script\\(\
10930join_paths\\('build-aux', 'post_install.py'\\)\\)")
10931 ""))
10932 #t))
10933 (add-before 'check 'setup-xvfb
10934 (lambda _
10935 (system "Xvfb :1 &")
10936 (setenv "DISPLAY" ":1")
10937 #t)))))
10938 (inputs
10939 `(("enchant" ,enchant)
10940 ("folks" ,folks)
10941 ("gcr" ,gcr)
10942 ("glib" ,glib)
10943 ("gmime" ,gmime-2.6)
10944 ("gnome-online-accounts:lib"
10945 ,gnome-online-accounts "lib")
10946 ("gspell" ,gspell)
10947 ("gtk+" ,gtk+)
10948 ("iso-codes" ,iso-codes)
10949 ("json-glib" ,json-glib)
10950 ("libcanberra" ,libcanberra)
10951 ("libgee" ,libgee)
a790dfe8 10952 ("libhandy" ,libhandy-0.0)
0e26c3cf 10953 ("libpeas" ,libpeas)
10954 ("libsecret" ,libsecret)
10955 ("libunwind" ,libunwind)
10956 ("sqlite" ,sqlite)
10957 ("webkitgtk" ,webkitgtk)
10958 ("ytnef" ,ytnef)))
10959 (native-inputs
10960 `(("appstream-glib" ,appstream-glib)
10961 ("cmake-minimal" ,cmake-minimal)
10962 ("desktop-file-utils" ,desktop-file-utils)
f2d97d57 10963 ("gettext" ,gettext-minimal)
0e26c3cf 10964 ("glib:bin" ,glib "bin")
10965 ("gobject-introspection" ,gobject-introspection)
10966 ("itstool" ,itstool)
10967 ("libarchive" ,libarchive)
10968 ("libxml2" ,libxml2)
10969 ("pkg-config" ,pkg-config)
10970 ("vala" ,vala)
10971 ("xvfb" ,xorg-server-for-tests)))
10972 (synopsis "GNOME email application built around conversations")
10973 (description
10974 "Geary collects related messages together into conversations,
10975making it easy to find and follow your discussions. Full-text and keyword
10976search makes it easy to find the email you are looking for. Geary's
10977full-featured composer lets you send rich, styled text with images, links, and
10978lists, but also send lightweight, easy to read text messages. Geary
10979automatically picks up your existing GNOME Online Accounts, and adding more is
10980easy. Geary has a clean, fast, modern interface that works like you want it
10981to.")
10982 (home-page "https://wiki.gnome.org/Apps/Geary")
10983 (license (list
10984 ;; geary
10985 license:lgpl2.1+
10986 ;; icons
10987 license:cc-by3.0
10988 license:cc-by-sa3.0
10989 license:public-domain
10990 ;; snowball
10991 license:bsd-2))))
1a17d21b 10992
21051eb7
VM
10993(define-public glabels
10994 (package
10995 (name "glabels")
10996 (version "3.4.1")
10997 (source
10998 (origin
10999 (method url-fetch)
11000 (uri (string-append "mirror://gnome/sources/" name "/"
11001 (version-major+minor version) "/"
11002 "glabels-" version ".tar.xz"))
11003 (sha256
11004 (base32 "0f2rki8i27pkd9r0gz03cdl1g4vnmvp0j49nhxqn275vi8lmgr0q"))))
11005 (build-system glib-or-gtk-build-system)
11006 (native-inputs
11007 `(("gettext" ,gettext-minimal)
11008 ("glib:bin" ,glib "bin")
11009 ("intltool" ,intltool)
11010 ("itstool" ,itstool)
11011 ("pkg-config" ,pkg-config)))
11012 (inputs
11013 `(("gtk+" ,gtk+)
11014 ("librsvg" ,librsvg)
11015 ("libxml2" ,libxml2)))
11016 (home-page "https://glabels.org/")
11017 (synopsis "Program for creating labels and business cards")
11018 (description
11019 "gLabels is a program for creating labels and business cards. It is
11020designed to work with various laser/ink-jet peel-off label and business
11021card sheets that you’ll find at most office supply stores.")
11022 (license license:gpl3+)))
11023
2cd1de32
BT
11024(define-public libratbag
11025 (package
11026 (name "libratbag")
34036792 11027 (version "0.14")
2cd1de32
BT
11028 (source
11029 (origin
11030 (method git-fetch)
11031 (uri (git-reference
b0e7b699 11032 (url "https://github.com/libratbag/libratbag")
2cd1de32
BT
11033 (commit (string-append "v" version))))
11034 (file-name (git-file-name name version))
11035 (sha256
34036792 11036 (base32 "1fpwp2sj8mf98bqasq2h8qwgprxi7k3iw33gcfid3d1lbyiacw0x"))))
2cd1de32
BT
11037 (build-system meson-build-system)
11038 (arguments
11039 `(#:configure-flags
11040 (list "-Dsystemd=false"
11041 "-Dlogind-provider=elogind")
11042 #:phases
11043 (modify-phases %standard-phases
11044 (add-after 'install 'wrap
11045 (lambda* (#:key inputs outputs #:allow-other-keys)
11046 (let* ((out (assoc-ref outputs "out"))
11047 (site (string-append
11048 "/lib/python"
11049 ,(version-major+minor (package-version python))
11050 "/site-packages"))
11051 (evdev (string-append
11052 (assoc-ref inputs "python-evdev") site))
11053 (pygo (string-append
11054 (assoc-ref inputs "python-pygobject") site))
11055 (python-wrap
11056 `("PYTHONPATH" = (,evdev ,pygo))))
11057 (wrap-program (string-append out "/bin/" "ratbagctl")
11058 python-wrap)
11059 #t))))))
11060 (native-inputs
11061 `(("check" ,check)
11062 ("pkg-config" ,pkg-config)
11063 ("swig" ,swig)
11064 ("valgrind" ,valgrind)))
11065 (inputs
11066 `(("glib" ,glib)
11067 ("json-glib" ,json-glib)
11068 ("libevdev" ,libevdev)
11069 ("libsystemd" ,elogind)
11070 ("libunistring" ,libunistring)
11071 ("python-evdev" ,python-evdev)
11072 ("python-pygobject" ,python-pygobject)
11073 ("udev" ,eudev)))
11074 (home-page "https://github.com/libratbag/libratbag")
11075 (synopsis "DBus daemon and utility for configuring gaming mice")
11076 (description "libratbag provides @command{ratbagd}, a DBus daemon to
11077configure input devices, mainly gaming mice. The daemon provides a generic
11078way to access the various features exposed by these mice and abstracts away
11079hardware-specific and kernel-specific quirks. There is also the
11080@command{ratbagctl} command line interface for configuring devices.
11081
11082libratbag currently supports devices from Logitech, Etekcity, GSkill, Roccat,
11083Steelseries.
11084
11085The ratbagd DBus service can be enabled by adding the following service to
11086your operating-system definition:
11087
11088 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
11089 (license license:expat)))
11090
50d31a40
BT
11091(define-public piper
11092 (package
11093 (name "piper")
d8e83969 11094 (version "0.5.1")
50d31a40
BT
11095 (source
11096 (origin
11097 (method git-fetch)
11098 (uri (git-reference
b0e7b699 11099 (url "https://github.com/libratbag/piper")
50d31a40
BT
11100 (commit version)))
11101 (sha256
d8e83969 11102 (base32 "1nfjnsiwg2rs6gkjsxzhr2708i6di149dgwq3cf6l12rxqpb8arj"))
81af0de9 11103 (file-name (git-file-name name version))))
50d31a40
BT
11104 (build-system meson-build-system)
11105 (native-inputs
11106 `(("gettext" ,gettext-minimal)
11107 ("glib:bin" ,glib "bin")
11108 ("gobject-introspection" ,gobject-introspection)
11109 ("pkg-config" ,pkg-config)
11110 ("python-flake8" ,python-flake8)))
11111 (inputs
11112 `(("adwaita-icon-theme" ,adwaita-icon-theme)
11113 ("gtk" ,gtk+)
11114 ("gtk:bin" ,gtk+ "bin")
11115 ("librsvg" ,librsvg)
11116 ("python-evdev" ,python-evdev)
11117 ("python-lxml" ,python-lxml)
11118 ("python-pycairo" ,python-pycairo)
11119 ("python-pygobject" ,python-pygobject)))
11120 (arguments
11121 `(#:imported-modules ((guix build python-build-system)
11122 ,@%meson-build-system-modules)
11123 #:modules (((guix build python-build-system) #:prefix python:)
11124 (guix build meson-build-system)
11125 (guix build utils))
d8e83969 11126 #:tests? #f ;; The flake8 test fails trying to validate piper.in as code.
50d31a40
BT
11127 #:phases
11128 (modify-phases %standard-phases
11129 (add-after 'unpack 'dont-update-gtk-icon-cache
11130 (lambda _
11131 (substitute* "meson.build"
11132 (("meson.add_install_script('meson_install.sh')") ""))
11133 #t))
11134 ;; TODO: Switch to wrap-script when it is fixed.
11135 (add-after 'install 'wrap-python
11136 (assoc-ref python:%standard-phases 'wrap))
11137 (add-after 'wrap-python 'wrap
11138 (lambda* (#:key outputs #:allow-other-keys)
11139 (wrap-program
11140 (string-append (assoc-ref outputs "out" )"/bin/piper")
11141 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
11142 #t)))))
11143 (home-page "https://github.com/libratbag/piper/")
11144 (synopsis "Configure bindings and LEDs on gaming mice")
11145 (description "Piper is a GTK+ application for configuring gaming mice with
11146onboard configuration for key bindings via libratbag. Piper requires
11147a @command{ratbagd} daemon running with root privileges. It can be run
11148manually as root, but is preferably configured as a DBus service that can
11149launch on demand. This can be configured by enabling the following service,
11150provided there is a DBus service present:
11151
11152 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
11153 (license license:gpl2)))
11154
1a17d21b 11155(define-public parlatype
c10fb9fd
NG
11156 (package
11157 (name "parlatype")
11158 (version "2.1")
11159 (source
11160 (origin
11161 (method git-fetch)
11162 (uri (git-reference
11163 (url "https://github.com/gkarsay/parlatype.git")
11164 (commit (string-append "v" version))))
11165 (file-name (git-file-name name version))
11166 (sha256
11167 (base32 "1c15ja0rwz3jj8bnqdq0nmqka39iwrhy8krdv2a2x8nl4shfpmv0"))))
11168 (build-system meson-build-system)
11169 (arguments
11170 `(#:glib-or-gtk? #t
11171 #:tests? #f ;require internet access
11172 #:phases
11173 (modify-phases %standard-phases
11174 (add-after 'install 'wrap-parlatype
11175 ;; Add gstreamer plugin provided in this package to system's
11176 ;; plugins.
11177 (lambda* (#:key outputs #:allow-other-keys)
11178 (let* ((out (assoc-ref outputs "out"))
11179 (gst-plugin-path (string-append
11180 out "/lib/gstreamer-1.0/"
11181 ":"
11182 (getenv "GST_PLUGIN_SYSTEM_PATH"))))
11183 (wrap-program (string-append out "/bin/parlatype")
11184 `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path))))
11185 #t)))))
11186 (native-inputs
11187 `(("appstream-glib" ,appstream-glib)
11188 ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
11189 ("gettext" ,gettext-minimal)
11190 ("glib" ,glib "bin") ;for glib-compile-resources
11191 ("pkg-config" ,pkg-config)
11192 ("yelp-tools" ,yelp-tools)))
11193 (inputs
11194 `(("gst-plugins-base" ,gst-plugins-base)
11195 ("gst-plugins-good" ,gst-plugins-good)
11196 ("gstreamer" ,gstreamer)
11197 ("gtk+" ,gtk+)
11198 ("pocketsphinx" ,pocketsphinx)
11199 ("pulseaudio" ,pulseaudio)
11200 ("sphinxbase" ,sphinxbase)))
11201 (home-page "http://gkarsay.github.io/parlatype/")
11202 (synopsis "GNOME audio player for transcription")
11203 (description "Parlatype is an audio player for the GNOME desktop
1a17d21b
NG
11204environment. Its main purpose is the manual transcription of spoken
11205audio files.")
c10fb9fd 11206 (license license:gpl3+)))
95856a6e
AT
11207
11208(define-public jsonrpc-glib
11209 (package
11210 (name "jsonrpc-glib")
11211 (version "3.34.0")
11212 (source (origin
11213 (method url-fetch)
11214 (uri (string-append "mirror://gnome/sources/" name "/"
11215 (version-major+minor version) "/"
11216 name "-" version ".tar.xz"))
11217 (sha256
11218 (base32
11219 "0j05x4xv2cp3cbmp30m68z8g4rdw7b030ip4wszyfj9ya15v5kni"))))
11220 (build-system meson-build-system)
11221 (inputs
11222 `(("json-glib" ,json-glib)
11223 ("glib" ,glib)))
11224 (native-inputs
11225 `(("pkg-config" ,pkg-config)
11226 ("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
11227 ("gobject-introspection" ,gobject-introspection)
11228 ("vala" ,vala)))
11229 (home-page "https://gitlab.gnome.org/GNOME/jsonrpc-glib")
11230 (synopsis "JSON-RPC library for GLib")
11231 (description "Jsonrpc-GLib is a library to communicate with JSON-RPC based
11232peers in either a synchronous or asynchronous fashion. It also allows
11233communicating using the GVariant serialization format instead of JSON when
11234both peers support it. You might want that when communicating on a single
11235host to avoid parser overhead and memory-allocator fragmentation.")
11236 (license license:lgpl2.1+)))
0faed399
JB
11237
11238(define-public feedbackd
11239 (package
11240 (name "feedbackd")
11241 (version "0.0.0+git20200527")
11242 (source (origin
11243 (method git-fetch)
11244 (uri (git-reference
11245 (url "https://source.puri.sm/Librem5/feedbackd.git")
11246 (commit (string-append "v" version))))
11247 (file-name (git-file-name name version))
11248 (sha256
11249 (base32
11250 "1wbkzxnqjydfgjvp7vz4ghczcz740zcb1yn90cb6gb5md4n6qx2y"))))
11251 (build-system meson-build-system)
11252 (native-inputs
11253 `(("glib:bin" ,glib "bin")
11254 ("gobject-introspection" ,gobject-introspection)
11255 ("pkg-config" ,pkg-config)
11256 ("vala" ,vala)))
11257 (inputs
11258 `(("dbus" ,dbus)
11259 ("gsound" ,gsound)
11260 ("json-glib" ,json-glib)
11261 ("libgudev" ,libgudev)))
11262 (propagated-inputs
11263 `(("glib" ,glib))) ; in Requires of libfeedback-0.0.pc
11264 (synopsis "Haptic/visual/audio feedback via DBus")
11265 (description "Feedbackd provides a DBus daemon to act on events to provide
11266haptic, visual and audio feedback. It offers the libfeedbackd library and
11267GObject introspection bindings.")
11268 (home-page "https://source.puri.sm/Librem5/feedbackd")
11269 (license (list license:lgpl2.1+ ; libfeedbackd
11270 license:lgpl3+)))) ; the rest
dcb4f7b7
LP
11271
11272(define-public sysprof
11273 (package
11274 (name "sysprof")
f9812690
TGR
11275 (version "3.36.0")
11276 (source
11277 (origin
11278 (method url-fetch)
11279 (uri (string-append "mirror://gnome/sources/sysprof/"
11280 (version-major+minor version) "/"
11281 "sysprof-" version ".tar.xz"))
11282 (sha256
11283 (base32 "024i0gzqnm79rpr4gqxdvcj6gvf82xdlcp2p1k9ikcppmi6xnw46"))))
dcb4f7b7
LP
11284 (build-system meson-build-system)
11285 (arguments
11286 `(#:configure-flags
11287 (list (string-append "-Dsystemdunitdir="
11288 %output
11289 "/share/systemd"))
11290 #:tests? #f ; 3/4 test-model-filter barfs some dbus nonsense
11291 #:phases
11292 (modify-phases %standard-phases
11293 (add-after 'unpack 'patch-install-script
11294 (lambda _
11295 (substitute* "build-aux/meson/post_install.sh"
11296 (("gtk-update-icon-cache") "true")
11297 (("update-desktop-database") "true"))
11298 #t)))))
11299 (inputs
11300 `(("glib" ,glib)
11301 ("gtk+" ,gtk+)
11302 ("libdazzle" ,libdazzle)
11303 ("polkit" ,polkit)))
11304 (native-inputs
11305 `(("gettext" ,gettext-minimal)
11306 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
11307 ("itstool" ,itstool)
11308 ("pkg-config" ,pkg-config)
11309 ("xmllint" ,libxml2)))
b478c9b0
TGR
11310 ;; This home page is so woefully out of date as to be essentially useless.
11311 ;; (home-page "http://www.sysprof.com")
11312 (home-page "https://wiki.gnome.org/Apps/Sysprof")
95cd53c1
TGR
11313 (synopsis "System-wide performance profiler for GNU/Linux")
11314 (description
11315 "Sysprof performs detailed, accurate, and fast CPU profiling of an entire
11316GNU/Linux system including the kernel and all user-space applications. This
11317helps find the function(s) in which a program spends most of its time.
11318
11319It uses the kernel's built-in @code{ptrace} feature and handles shared
11320libraries. Applications do not need to be recompiled--or even restarted.")
dcb4f7b7 11321 (license license:gpl3+)))
683cac58
LP
11322
11323(define-public gnome-builder
11324 (package
11325 (name "gnome-builder")
11326 (version "3.36.1")
11327 (source (origin
11328 (method url-fetch)
11329 (uri (string-append "mirror://gnome/sources/" name "/"
11330 (version-major+minor version) "/"
11331 name "-" version ".tar.xz"))
11332 (sha256
11333 (base32
11334 "17pvmd5jypar8dkr6w56hvf7jnq4l1wih2wwgkrv7sblr7rkkar2"))))
11335 (build-system meson-build-system)
11336 (arguments
11337 `(#:configure-flags (list "-Dnetwork_tests=false"
11338 ;; TODO: Enable all plugins...
11339 "-Dplugin_clang=false"
11340 "-Dplugin_flatpak=false"
11341 "-Dplugin_glade=false"
11342 ;; ... except this one.
11343 "-Dplugin_update_manager=false")
11344 #:phases
11345 (modify-phases %standard-phases
11346 (add-after 'unpack 'patch-meson
11347 (lambda* (#:key inputs #:allow-other-keys)
11348 (substitute* "build-aux/meson/post_install.py"
11349 (("gtk-update-icon-cache") "true")
11350 (("update-desktop-database") "true"))
11351 (substitute* "src/libide/meson.build"
11352 (("/usr/lib")
11353 (string-append (assoc-ref inputs "python-pygobject")
11354 "/lib")))
11355 #t))
11356 (add-before 'check 'pre-check
11357 (lambda _
11358 (system "Xvfb :1 &")
11359 (setenv "DISPLAY" ":1")
11360 #t)))))
11361 (inputs
11362 `(("devhelp" ,devhelp)
11363 ("gspell" ,gspell)
11364 ("gtk+" ,gtk+)
11365 ("json-glib" ,json-glib)
11366 ("jsonrpc-glib" ,jsonrpc-glib)
11367 ("libdazzle" ,libdazzle)
11368 ("libgit2-glib" ,libgit2-glib)
11369 ("libpeas" ,libpeas)
11370 ("python-pygobject" ,python-pygobject)
11371 ("sysprof" ,sysprof)
11372 ("template-glib" ,template-glib)
11373 ("vte" ,vte)
11374 ("webkitgtk" ,webkitgtk)))
11375 (propagated-inputs
11376 `(("gtksourceview" ,gtksourceview))) ;needed for settings
11377 (native-inputs
11378 `(("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
11379 ("glib:bin" ,glib "bin")
11380 ("gettext" ,gettext-minimal)
11381 ("pkg-config" ,pkg-config)
11382 ("vala" ,vala)
11383 ("xorg-server" ,xorg-server-for-tests)))
11384 (home-page "https://wiki.gnome.org/Apps/Builder")
11385 (synopsis "Toolsmith for GNOME-based applications")
876d022c
LC
11386 (description "Builder aims to be an integrated development
11387environment (IDE) for writing GNOME-based software. It features fuzzy search,
11388auto-completion, a mini code map, documentation browsing, Git integration, an
11389integrated profiler via Sysprof, debugging support, and more.")
683cac58 11390 (license license:gpl3+)))
438c4ee1
LP
11391
11392(define-public komikku
11393 (package
11394 (name "komikku")
dac3fc06 11395 (version "0.20.0")
438c4ee1
LP
11396 (source
11397 (origin
11398 (method git-fetch)
11399 (uri (git-reference
11400 (url "https://gitlab.com/valos/Komikku/")
11401 (commit (string-append "v" version))))
11402 (file-name (git-file-name name version))
11403 (sha256
11404 (base32
dac3fc06 11405 "0m5dvqh2as5ffi9fmp3452kw44jwm6pl1jw0r5mdkpdxhid15aw8"))))
438c4ee1
LP
11406 (build-system meson-build-system)
11407 (arguments
11408 `(#:glib-or-gtk? #t
11409 #:phases
11410 (modify-phases %standard-phases
11411 (add-after 'unpack 'patch-sources
11412 (lambda _
11413 (substitute* "komikku/utils.py"
11414 (("from komikku\\.servers import get_servers_list")
11415 ;; code following that line should migrate old databases
11416 ;; but the line itself results in an import error
11417 "return data_dir_path"))))
11418 (add-after 'unpack 'skip-gtk-update-icon-cache
11419 (lambda _
11420 (substitute* "meson_post_install.py"
11421 (("gtk-update-icon-cache") (which "true")))
11422 #t))
11423 (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
11424 (lambda* (#:key outputs #:allow-other-keys)
11425 (let ((prog (string-append (assoc-ref outputs "out")
11426 "/bin/komikku")))
11427 (wrap-program prog
11428 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
11429 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
11430 #t))))))
11431 (inputs
11432 `(("gtk+" ,gtk+)
11433 ("libhandy" ,libhandy)
11434 ("libnotify" ,libnotify)
11435 ("libsecret" ,libsecret)
11436 ("python-beautifulsoup4" ,python-beautifulsoup4)
11437 ("python-cloudscraper" ,python-cloudscraper)
11438 ("python-dateparser" ,python-dateparser)
11439 ("python-keyring" ,python-keyring)
11440 ("python-lxml" ,python-lxml)
11441 ("python-magic" ,python-magic)
11442 ("python-pillow" ,python-pillow)
11443 ("python-pure-protobuf" ,python-pure-protobuf)
11444 ("python-pycairo" ,python-pycairo)
11445 ("python-pygobject" ,python-pygobject)
11446 ("python-unidecode" ,python-unidecode)))
11447 (native-inputs
a4782e40
LP
11448 `(("desktop-file-utils" ,desktop-file-utils)
11449 ("gettext" ,gettext-minimal)
11450 ("glib:bin" ,glib "bin")
438c4ee1
LP
11451 ("gobject-introspection" ,gobject-introspection)
11452 ("pkg-config" ,pkg-config)))
11453 (home-page "https://gitlab.com/valos/Komikku")
11454 (synopsis "Manga reader for GNOME")
11455 (description "Komikku is an online/offline manga reader for GNOME,
11456developed with the aim of being used with the Librem 5 phone.")
11457 (license license:gpl3+)))
9ede39d6
LP
11458
11459(define-public libgda
11460 (package
11461 (name "libgda")
11462 (version "5.2.9")
11463 (source
11464 (origin
11465 (method git-fetch)
11466 (uri (git-reference
11467 (url "https://gitlab.gnome.org/GNOME/libgda.git/")
11468 (commit "LIBGDA_5_2_9")))
11469 (file-name (git-file-name name version))
11470 (sha256
11471 (base32
11472 "122anbk15vj2dfxrw7s48b6zwlpp7cyppshxizynvf3zmc0ygw3j"))))
11473 (build-system gnu-build-system)
11474 (arguments
11475 `(#:configure-flags '("--enable-vala")
11476 ;; There's a race between check_cnc_lock and check_threaded_cnc
11477 ;; in tests/multi-threading.
11478 #:parallel-tests? #f
11479 #:phases
11480 (modify-phases %standard-phases
11481 (add-after 'unpack 'fix-glade-install
11482 (lambda _
11483 (substitute* "configure.ac"
11484 (("`\\$PKG_CONFIG --variable=catalogdir gladeui-2\\.0`")
11485 "${datadir}/glade/catalogs")
11486 (("`\\$PKG_CONFIG --variable=pixmapdir gladeui-2\\.0`")
11487 "${datadir}/glade/pixmaps"))
11488 #t))
11489 (add-before 'check 'pre-check
11490 (lambda* (#:key inputs #:allow-other-keys)
11491 ;; Tests require a running X server.
11492 (system "Xvfb :1 &")
11493 (setenv "DISPLAY" ":1")
11494 #t))
11495 (add-after 'install 'symlink-glade-module
11496 (lambda* (#:key outputs #:allow-other-keys)
11497 (let* ((shlib "libgda-ui-5.0.so")
11498 (out (assoc-ref outputs "out"))
11499 (out/lib (string-append out "/lib"))
11500 (moduledir (string-append out/lib "/glade/modules")))
11501 (mkdir-p moduledir)
11502 (symlink (string-append out/lib "/" shlib)
11503 (string-append moduledir "/" shlib))
11504 #t))))))
11505 (propagated-inputs
11506 `(("libxml2" ,libxml2))) ; required by libgda-5.0.pc
11507 (inputs
11508 `(("glib" ,glib)
11509 ("glade" ,glade3)
11510 ("gtk+" ,gtk+)
11511 ("libsecret" ,libsecret)
11512 ("libxslt" ,libxslt)
11513 ("openssl" ,openssl)
11514 ("vala" ,vala)))
11515 (native-inputs
11516 `(("autoconf" ,autoconf)
11517 ("automake" ,automake)
11518 ("glib:bin" ,glib "bin")
11519 ("gnome-common" ,gnome-common)
11520 ("gobject-introspection" ,gobject-introspection)
11521 ("gtk-doc" ,gtk-doc)
11522 ("intltool" ,intltool)
11523 ("libtool" ,libtool)
11524 ("pkg-config" ,pkg-config)
11525 ("vala" ,vala)
11526 ("which" ,which)
11527 ("xorg-server" ,xorg-server-for-tests)
11528 ("yelp-tools" ,yelp-tools)))
11529 (home-page "https://gitlab.gnome.org/GNOME/libgda")
11530 (synopsis "Uniform data access")
11531 (description
11532 "GNU Data Access (GDA) is an attempt to provide uniform access to
11533different kinds of data sources (databases, information servers, mail spools,
11534etc). It is a complete architecture that provides all you need to access
11535your data.")
11536 (license license:lgpl2.1+)))
757764b7
LP
11537
11538(define-public gtranslator
11539 (package
11540 (name "gtranslator")
11541 (version "3.36.0")
11542 (source (origin
11543 (method url-fetch)
11544 (uri (string-append "mirror://gnome/sources/" name "/"
11545 (version-major+minor version) "/"
11546 name "-" version ".tar.xz"))
11547 (sha256
11548 (base32
11549 "1lxd2nkji4jk8g2xmyc1a1r3ww710ddk91zh9psmx8xlb4xivaid"))))
11550 (build-system meson-build-system)
11551 (inputs
11552 `(("json-glib" ,json-glib)
11553 ("jsonrpc-glib" ,jsonrpc-glib)
11554 ("gettext" ,gettext-minimal)
11555 ("glib" ,glib)
11556 ("gtk+" ,gtk+)
11557 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
11558 ("gspell" ,gspell)
11559 ("libdazzle" ,libdazzle)
11560 ("libgda" ,libgda)
11561 ("libsoup" ,libsoup)))
11562 (native-inputs
11563 `(("glib:bin" ,glib "bin")
11564 ("itstool" ,itstool)
11565 ("pkg-config" ,pkg-config)))
11566 (propagated-inputs
11567 `(("gtksourceview" ,gtksourceview))) ; required for source view
11568 (arguments
11569 `(#:build-type "release"
11570 #:phases
11571 (modify-phases %standard-phases
11572 (add-after 'unpack 'skip-gtk-update-icon-cache
11573 (lambda _
11574 (substitute* "build-aux/meson/meson_post_install.py"
11575 (("gtk-update-icon-cache") (which "true")))
11576 #t)))))
11577 (home-page "https://wiki.gnome.org/Apps/Gtranslator")
11578 (synopsis "Translation making program")
11579 (description
11580 "gtranslator is a quite comfortable gettext po/po.gz/(g)mo files editor
11581for the GNOME 3.x platform with many features. It aims to be a very complete
11582editing environment for translation issues within the GNU gettext/GNOME desktop
11583world.")
11584 (license license:gpl3+)))