gnu: Add fullswof-2d.
[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)
23a22af6 158 #:use-module (gnu packages pulseaudio)
995b7261 159 #:use-module (gnu packages python)
00014781
RW
160 #:use-module (gnu packages python-crypto)
161 #:use-module (gnu packages python-web)
44d10b1f 162 #:use-module (gnu packages python-xyz)
cce0da5e 163 #:use-module (gnu packages rdesktop)
70f33d3c 164 #:use-module (gnu packages rdf)
b29909b4 165 #:use-module (gnu packages readline)
a76d0f03 166 #:use-module (gnu packages ruby)
ec47c07d 167 #:use-module (gnu packages rust)
b29909b4 168 #:use-module (gnu packages samba)
75016d07 169 #:use-module (gnu packages scanner)
70f33d3c
RG
170 #:use-module (gnu packages sdl)
171 #:use-module (gnu packages search)
240cee8a 172 #:use-module (gnu packages selinux)
c27e02bf 173 #:use-module (gnu packages slang)
b29909b4
TGR
174 #:use-module (gnu packages speech)
175 #:use-module (gnu packages spice)
cd0322a3 176 #:use-module (gnu packages sqlite)
4a1bf090 177 #:use-module (gnu packages ssh)
2cd1de32 178 #:use-module (gnu packages swig)
8f9ac901 179 #:use-module (gnu packages tex)
33dc54b0 180 #:use-module (gnu packages time)
a7fd7b68 181 #:use-module (gnu packages tls)
2cd1de32 182 #:use-module (gnu packages valgrind)
3c5dbd2b 183 #:use-module (gnu packages version-control)
b29909b4 184 #:use-module (gnu packages video)
59132b80 185 #:use-module (gnu packages virtualization)
f2b96b3a 186 #:use-module (gnu packages vpn)
a18f8eaf 187 #:use-module (gnu packages web)
b29909b4
TGR
188 #:use-module (gnu packages webkit)
189 #:use-module (gnu packages xdisorg)
190 #:use-module (gnu packages xiph)
191 #:use-module (gnu packages xml)
d633f2f6 192 #:use-module (gnu packages xorg)
a76d0f03 193 #:use-module (gnu artwork)
43b6b45e 194 #:use-module ((guix build utils) #:select (modify-phases))
8f523eb9 195 #:use-module (guix build-system cargo)
b29909b4
TGR
196 #:use-module (guix build-system cmake)
197 #:use-module (guix build-system glib-or-gtk)
198 #:use-module (guix build-system gnu)
199 #:use-module (guix build-system meson)
08be02be 200 #:use-module (guix build-system python)
b29909b4
TGR
201 #:use-module (guix build-system trivial)
202 #:use-module (guix download)
203 #:use-module (guix git-download)
204 #:use-module ((guix licenses) #:prefix license:)
205 #:use-module (guix packages)
206 #:use-module (guix utils)
a76d0f03 207 #:use-module (guix gexp)
8f523eb9
EF
208 #:use-module (guix monads)
209 #:use-module (guix store)
4e3fdeb7 210 #:use-module (ice-9 match)
c024ae36 211 #:use-module (srfi srfi-1))
85f5dc19
AE
212
213(define-public brasero
214 (package
215 (name "brasero")
e2bf423a 216 (version "3.12.2")
85f5dc19
AE
217 (source (origin
218 (method url-fetch)
d1df7554 219 (uri (string-append "mirror://gnome/sources/brasero/"
e8627cd9 220 (version-major+minor version) "/"
d1df7554 221 "brasero-" version ".tar.xz"))
85f5dc19
AE
222 (sha256
223 (base32
e2bf423a 224 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 225 (build-system glib-or-gtk-build-system)
e8627cd9
DH
226 (arguments
227 `(#:configure-flags (list
228 (string-append "--with-girdir="
229 (assoc-ref %outputs "out")
230 "/share/gir-1.0")
231 (string-append "--with-typelibdir="
232 (assoc-ref %outputs "out")
ce426deb
TD
233 "/lib/girepository-1.0"))
234 #:phases
235 (modify-phases %standard-phases
236 (add-before 'configure 'embed-growisofs
237 (lambda* (#:key inputs #:allow-other-keys)
238 (substitute* "plugins/growisofs/burn-growisofs.c"
239 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 240 #t)))))
85f5dc19
AE
241 (propagated-inputs
242 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
243 (native-inputs
244 `(("intltool" ,intltool)
ba549e17 245 ("itstool" ,itstool)
426adbe8 246 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 247 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 248 ("pkg-config" ,pkg-config)))
85f5dc19 249 (inputs
ce426deb
TD
250 `(("dvd+rw-tools" ,dvd+rw-tools)
251 ("glib" ,glib)
85f5dc19
AE
252 ("gnome-doc-utils" ,gnome-doc-utils)
253 ("gstreamer" ,gstreamer)
254 ("gst-plugins-base" ,gst-plugins-base)
255 ("gtk+" ,gtk+)
85f5dc19
AE
256 ("libcanberra" ,libcanberra)
257 ("libice" ,libice)
258 ("libnotify" ,libnotify)
259 ("libsm" ,libsm)
e8627cd9 260 ("libxml2" ,libxml2)
e8627cd9 261 ("totem-pl-parser" ,totem-pl-parser)))
fb9399e9 262 (home-page "https://wiki.gnome.org/Apps/Brasero")
85f5dc19
AE
263 (synopsis "CD/DVD burning tool for Gnome")
264 (description "Brasero is an application to burn CD/DVD for the Gnome
265Desktop. It is designed to be as simple as possible and has some unique
266features to enable users to create their discs easily and quickly.")
1dd26275 267 (license license:gpl2+)))
995b7261 268
63d71ff0
RG
269(define-public libcloudproviders
270 (package
271 (name "libcloudproviders")
272 (version "0.3.1")
273 (source
274 (origin
275 (method url-fetch)
276 (uri
277 (string-append "mirror://gnome/sources/" name "/"
278 (version-major+minor version) "/"
279 name "-" version ".tar.xz"))
280 (sha256
281 (base32 "0aars24myf6n8b8hm1n12hsgcm54097kpbpm4ba31zp1l4y22qs7"))))
282 (build-system meson-build-system)
283 (outputs '("out" "doc"))
284 (arguments
285 `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
286 #:configure-flags
287 (list
288 "-Denable-gtk-doc=true")
289 #:phases
290 (modify-phases %standard-phases
291 (add-after 'install 'move-doc
292 (lambda* (#:key outputs #:allow-other-keys)
293 (let* ((out (assoc-ref outputs "out"))
294 (doc (assoc-ref outputs "doc")))
295 (mkdir-p (string-append doc "/share"))
296 (rename-file
297 (string-append out "/share/gtk-doc")
298 (string-append doc "/share/gtk-doc"))
299 #t))))))
300 (native-inputs
301 `(("glib:bin" ,glib "bin")
302 ("gobject-introspection" ,gobject-introspection)
303 ("gtk-doc" ,gtk-doc)
304 ("pkg-config" ,pkg-config)
305 ("vala" ,vala)))
306 (inputs
307 `(("glib" ,glib)
308 ("glib-networking" ,glib-networking)))
309 (synopsis "Cloudproviders Integration API")
310 (description "Libcloudproviders is a DBus API that allows cloud storage sync
311clients to expose their services. Clients such as file managers and desktop
312environments can then provide integrated access to the cloud providers
313services.")
314 (home-page "https://csorianognome.wordpress.com/2015/07/07/cloud-providers/")
315 (license license:lgpl3+)))
316
f10b58ca
RG
317(define-public libgrss
318 (package
319 (name "libgrss")
320 (version "0.7.0")
321 (source
322 (origin
323 (method url-fetch)
324 (uri
325 (string-append "mirror://gnome/sources/" name "/"
326 (version-major+minor version) "/"
327 name "-" version ".tar.xz"))
328 (sha256
329 (base32 "1nalslgyglvhpva3px06fj6lv5zgfg0qmj0sbxyyl5d963vc02b7"))))
330 (build-system glib-or-gtk-build-system)
331 (outputs '("out" "doc"))
332 (arguments
333 `(#:configure-flags
334 (list
335 "--enable-gtk-doc"
336 (string-append "--with-html-dir="
337 (assoc-ref %outputs "doc")
338 "/share/gtk-doc/html"))
339 #:phases
340 (modify-phases %standard-phases
341 (add-after 'unpack 'patch-docbook-xml
342 (lambda* (#:key inputs #:allow-other-keys)
343 (with-directory-excursion "doc/reference"
344 (substitute* "libgrss-docs.sgml"
345 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
346 (string-append (assoc-ref inputs "docbook-xml")
347 "/xml/dtd/docbook/"))))
348 #t)))))
349 (native-inputs
350 `(("docbook-xml" ,docbook-xml-4.1.2)
351 ("gobject-introspection" ,gobject-introspection)
352 ("gtk-doc" ,gtk-doc)
353 ("pkg-config" ,pkg-config)))
354 (propagated-inputs
355 `(("glib" ,glib)
356 ("libsoup" ,libsoup)
357 ("libxml2" ,libxml2)))
358 (synopsis "Glib library for feeds")
359 (description "LibGRSS is a Glib abstaction to handle feeds in RSS, Atom and
360other formats.")
361 (home-page "https://wiki.gnome.org/Projects/Libgrss")
362 (license license:lgpl3+)))
363
c1082b02
RG
364(define-public gnome-js-common
365 (package
366 (name "gnome-js-common")
367 (version "0.1.2")
368 (source
369 (origin
370 (method url-fetch)
371 (uri
372 (string-append "mirror://gnome/sources/" name "/"
373 (version-major+minor version) "/"
374 name "-" version ".tar.gz"))
375 (sha256
376 (base32 "1zv5b9bcbclzj64xd9kgql4ndmbwvvi6cl937ykw8fp21xgh8z7y"))))
377 (build-system glib-or-gtk-build-system)
378 (arguments
379 `(#:configure-flags
380 (list
381 "--disable-static")))
382 (native-inputs
383 `(("gettext" ,gettext-minimal)
384 ("intltool" ,intltool)
385 ("pkg-config" ,pkg-config)))
386 (synopsis "Common JS Modules")
387 (description "GNOME-JS-Common provides common modules for GNOME JavaScript
388bindings.")
389 (home-page "https://wiki.gnome.org/Projects/Seed")
390 (license license:gpl3+)))
391
77d7bbf4
RG
392(define-public seed
393 (package
394 (name "seed")
395 (version "3.8.1")
396 (source
397 (origin
398 (method url-fetch)
399 (uri
400 (string-append "mirror://gnome/sources/" name "/"
401 (version-major+minor version) "/"
402 name "-" version ".tar.xz"))
403 (sha256
404 (base32 "0cmcxaggcdcy13j27gy8id2qsf2p2sl4bz2mwb9zhv3gzavlvjw0"))
405 (patches
406 (search-patches "seed-webkit.patch"))))
407 (build-system glib-or-gtk-build-system)
408 (outputs '("out" "doc"))
409 (arguments
410 `(#:configure-flags
411 (list
412 "--disable-static"
413 "--enable-xorg-module"
414 (string-append "--with-html-dir="
415 (assoc-ref %outputs "doc")
416 "/share/gtk-doc/html")
417 "--with-webkit=4.0")
418 #:phases
419 (modify-phases %standard-phases
420 ;; The seed-webkit.patch patches configure.ac.
421 ;; So the source files need to be re-bootstrapped.
422 (add-after 'unpack 'trigger-bootstrap
423 (lambda _
424 (for-each delete-file
425 (list
426 "configure"
427 "Makefile.in"))
428 #t))
14528483
DM
429 (add-after 'unpack 'patch-tests
430 (lambda* (#:key outputs #:allow-other-keys)
431 (substitute* (find-files "." "\\.js$")
432 (("#!/usr/bin/env seed")
433 (string-append "#!" (getcwd) "/src/seed")))
434 #t))
77d7bbf4
RG
435 (add-before 'build 'patch-docbook-xml
436 (lambda* (#:key inputs #:allow-other-keys)
437 (with-directory-excursion "doc"
438 (substitute* '("reference/seed-docs.sgml" "modules/book.xml")
439 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
440 (string-append (assoc-ref inputs "docbook-xml")
441 "/xml/dtd/docbook/"))))
442 #t)))))
443 (native-inputs
444 `(("autoconf" ,autoconf)
445 ("automake" ,automake)
446 ("docbook-xml" ,docbook-xml-4.1.2)
447 ("gettext" ,gettext-minimal)
448 ("gobject-introspection" ,gobject-introspection)
449 ("gtk-doc" ,gtk-doc)
450 ("intltool" ,intltool)
451 ("libtool" ,libtool)
452 ("pkg-config" ,pkg-config)))
453 (inputs
454 `(("cairo" ,cairo)
455 ("dbus" ,dbus)
456 ("dbus-glib" ,dbus-glib)
457 ("gnome-js-common" ,gnome-js-common)
458 ("gtk+" ,gtk+)
459 ("gtk+-2" ,gtk+-2)
460 ("libffi" ,libffi)
461 ("libxml2" ,libxml2)
462 ("mpfr" ,mpfr)
463 ("readline" ,readline)
464 ("sqlite" ,sqlite)
465 ("xscrnsaver" ,libxscrnsaver)))
466 (propagated-inputs
467 `(("glib" ,glib)
468 ("webkit" ,webkitgtk)))
469 (synopsis "GObject JavaScriptCore bridge")
470 (description "Seed is a library and interpreter, dynamically bridging
471(through GObjectIntrospection) the WebKit JavaScriptCore engine, with the
472GNOME platform. It serves as something which enables you to write standalone
473applications in JavaScript, or easily enable your application to be extensible
474in JavaScript.")
475 (home-page "https://wiki.gnome.org/Projects/Seed")
476 (license license:lgpl2.0+)))
477
d668963d
RG
478(define-public libdmapsharing
479 (package
480 (name "libdmapsharing")
481 (version "3.9.10")
482 (source
483 (origin
484 (method url-fetch)
485 (uri
486 (string-append "https://www.flyn.org/projects/"
487 name "/" name "-" version ".tar.gz"))
488 (sha256
489 (base32 "152hnddwxv590cn802awv3mn27ixc3s6ac691a7z02d1c5fl45p2"))))
490 (build-system glib-or-gtk-build-system)
491 (outputs '("out" "doc"))
492 (arguments
493 `(#:tests? #f ; Tests require networking.
494 #:configure-flags
495 (list
496 "--disable-static"
497 (string-append "--with-html-dir="
498 (assoc-ref %outputs "doc")
499 "/share/gtk-doc/html"))
500 #:phases
501 (modify-phases %standard-phases
502 (add-after 'unpack 'patch-docbook-xml
503 (lambda* (#:key inputs #:allow-other-keys)
504 (with-directory-excursion "doc"
505 (substitute* "libdmapsharing-4.0-docs.xml"
506 (("http://www.oasis-open.org/docbook/xml/4.3/")
507 (string-append (assoc-ref inputs "docbook-xml")
508 "/xml/dtd/docbook/"))))
509 #t)))))
510 (native-inputs
511 `(("check" ,check)
512 ("docbook-xml" ,docbook-xml-4.3)
513 ("gobject-introspection" ,gobject-introspection)
514 ("pedansee" ,pedansee)
515 ("pkg-config" ,pkg-config)
516 ("vala" ,vala)))
517 (inputs
518 `(("avahi" ,avahi)
519 ("gdk-pixbuf" ,gdk-pixbuf+svg)
520 ("gee" ,libgee)
521 ("gst-plugins-base" ,gst-plugins-base)
522 ("gtk+" ,gtk+)))
523 (propagated-inputs
524 `(("glib" ,glib)
525 ("glib-networking" ,glib-networking)
526 ("gstreamer" ,gstreamer)
527 ("libsoup" ,libsoup)))
528 (synopsis "Media management library")
529 (description "Libdmapsharing is a library which allows programs to access,
530share and control the playback of media content using DMAP (DAAP, DPAP & DACP).
531It is written in C using GObject and libsoup.")
532 (home-page "https://launchpad.net/gtx")
533 (license license:lgpl2.1+)))
534
c15ff237
RG
535(define-public gtx
536 (package
537 (name "gtx")
538 (version "0.2.2")
539 (source
540 (origin
541 (method url-fetch)
542 (uri
543 (string-append "https://launchpad.net/gtx/trunk/"
544 version "/+download/gtx-" version ".tar.gz"))
545 (sha256
546 (base32 "0i4zvn5v4rf0cw3fxylk6j2pyy5lkrswdiw8jdxkys0ph0nan33n"))))
547 (build-system glib-or-gtk-build-system)
548 (outputs '("out" "doc"))
549 (arguments
550 `(#:configure-flags
551 (list
552 "--disable-static"
553 "--enable-gtk-doc"
554 (string-append "--with-html-dir="
555 (assoc-ref %outputs "doc")
556 "/share/gtk-doc/html"))))
557 (native-inputs
558 `(("gobject-introspection" ,gobject-introspection)
559 ("gtk-doc" ,gtk-doc)
560 ("pkg-config" ,pkg-config)))
561 (propagated-inputs
562 `(("glib" ,glib)))
563 (synopsis "GLib Testing Framework")
564 (description "GTX is a small collection of convenience functions intended to
565enhance the GLib testing framework. With specific emphasis on easing the pain
566of writing test cases for asynchronous interactions.")
567 (home-page "https://launchpad.net/gtx")
568 (license license:lgpl2.1+)))
569
8fd769dd
RG
570(define-public dee
571 (package
572 (name "dee")
573 (version "1.2.7")
574 (source
575 (origin
576 (method url-fetch)
577 (uri
578 (string-append "https://launchpad.net/dee/1.0/"
579 version "/+download/dee-" version ".tar.gz"))
580 (sha256
581 (base32 "12mzffk0lyd566y46x57jlvb9af152b4dqpasr40zal4wrn37w0v"))
582 (patches
583 (search-patches "dee-vapi.patch"))))
584 (build-system glib-or-gtk-build-system)
585 (outputs '("out" "doc"))
586 (arguments
587 `(#:configure-flags
588 (list
589 "--disable-maintainer-flags"
590 (string-append "--with-pygi-overrides-dir="
591 (assoc-ref %outputs "out")
592 "/lib/python"
593 ,(version-major+minor
594 (package-version python))
595 "/site-packages/gi/overrides")
596 (string-append "--with-html-dir="
597 (assoc-ref %outputs "doc")
598 "/share/gtk-doc/html"))
599 #:phases
600 (modify-phases %standard-phases
601 (add-after 'unpack 'patch-docbook-xml
602 (lambda* (#:key inputs #:allow-other-keys)
603 (with-directory-excursion "doc/reference/dee-1.0"
604 (substitute* "dee-1.0-docs.sgml"
605 (("http://www.oasis-open.org/docbook/xml/4.3/")
606 (string-append (assoc-ref inputs "docbook-xml")
607 "/xml/dtd/docbook/"))))
608 #t))
609 (add-after 'patch-docbook-xml 'disable-failing-tests
610 (lambda _
611 (substitute* "tests/test-icu.c"
612 (("g_test_add \\(DOMAIN\"/Default/AsciiFolder\", Fixture, 0,")
613 "")
614 (("setup, test_ascii_folder, teardown\\);")
615 ""))
616 #t))
617 (add-before 'check 'pre-check
618 (lambda _
619 ;; Tests require a running dbus-daemon.
620 (system "dbus-daemon &")
621 ;; For missing '/etc/machine-id'.
622 (setenv "DBUS_FATAL_WARNINGS" "0")
623 #t)))))
624 (native-inputs
625 `(("dbus" ,dbus)
626 ("dbus-test-runner" ,dbus-test-runner)
627 ("docbook-xml" ,docbook-xml-4.3)
628 ("gobject-introspection" ,gobject-introspection)
629 ("gtk-doc" ,gtk-doc)
630 ;; Would only be required by configure flag "--enable-extended-tests".
631 ;("gtx" ,gtx)
632 ("pkg-config" ,pkg-config)
633 ("pygobject" ,python-pygobject)
634 ("python" ,python-wrapper)
635 ("vala" ,vala)))
636 (inputs
637 `(("icu" ,icu4c)))
638 (propagated-inputs
639 `(("glib" ,glib)))
640 (synopsis "Model to synchronize multiple instances over DBus")
641 (description "Dee is a library that uses DBus to provide objects allowing
642you to create Model-View-Controller type programs across DBus. It also consists
643of utility objects which extend DBus allowing for peer-to-peer discoverability
644of known objects without needing a central registrar.")
645 (home-page "https://launchpad.net/dee")
646 (license
647 ;; Dual-licensed
648 (list
649 license:lgpl3+
650 license:gpl3+))))
651
70f33d3c
RG
652(define-public zeitgeist
653 (package
654 (name "zeitgeist")
655 (version "1.0.2")
656 (source
657 (origin
658 (method git-fetch)
659 (uri
660 (git-reference
661 (url "https://gitlab.freedesktop.org/zeitgeist/zeitgeist.git")
662 (commit
663 (string-append "v" version))))
664 (file-name
665 (git-file-name name version))
666 (sha256
667 (base32 "0ig3d3j1n0ghaxsgfww6g2hhcdwx8cljwwfmp9jk1nrvkxd6rnmv"))))
668 (build-system glib-or-gtk-build-system)
669 (arguments
670 `(#:configure-flags
671 (list
672 "--enable-explain-queries"
673 "--enable-fts"
674 "--enable-docs")
675 #:phases
676 (modify-phases %standard-phases
677 (add-after 'unpack 'patch-docbook-xml
678 (lambda* (#:key inputs #:allow-other-keys)
679 (with-directory-excursion "doc/libzeitgeist"
680 (substitute* "zeitgeist-gtkdoc-index.sgml"
681 (("http://www.oasis-open.org/docbook/xml/4.3/")
682 (string-append (assoc-ref inputs "docbook-xml")
683 "/xml/dtd/docbook/"))))
684 #t))
685 (add-after 'patch-docbook-xml 'disable-failing-tests
686 (lambda _
687 (substitute* "test/direct/Makefile.am"
688 ((" log-test ")
689 ""))
690 (substitute* "test/c/Makefile.am"
691 ((" test-log ")
692 ""))
693 #t))
694 (add-before 'bootstrap 'remove-autogen-script
695 (lambda _
696 ;; To honor `autoreconf -vif` by build-system.
697 (delete-file "autogen.sh")
698 #t)))))
699 (native-inputs
700 `(("autoconf" ,autoconf)
701 ("automake" ,automake)
702 ("docbook-xml" ,docbook-xml-4.3)
703 ("gettext" ,gettext-minimal)
704 ("gobject-introspection" ,gobject-introspection)
705 ("gtk-doc" ,gtk-doc)
706 ("libtool" ,libtool)
707 ("pkg-config" ,pkg-config)
708 ("vala" ,vala)
709 ("xorg-server-for-tests" ,xorg-server-for-tests)))
710 (inputs
711 `(("dee-icu" ,dee)
712 ("gtk+" ,gtk+)
713 ("json-glib" ,json-glib)
714 ("sqlite" ,sqlite)
715 ("telepathy-glib" ,telepathy-glib)
716 ("python" ,python-wrapper)
717 ("python-rdflib" ,python-rdflib)
718 ("xapian-config" ,xapian)))
719 (propagated-inputs
720 `(("glib" ,glib)))
721 (synopsis "Desktop Activity Logging")
722 (description "Zeitgeist is a service which logs the users’s activities and
723events, anywhere from files opened to websites visited and conversations. It
724makes this information readily available for other applications to use. It is
725able to establish relationships between items based on similarity and usage
726patterns.")
727 (home-page "https://zeitgeist.freedesktop.org/")
728 (license
729 ;; Dual-licensed
730 (list
731 license:lgpl2.1+
732 license:gpl2+))))
733
56db7a66
RG
734(define-public gnome-photos
735 (package
736 (name "gnome-photos")
737 (version "3.34.2")
738 (source
739 (origin
740 (method url-fetch)
741 (uri
742 (string-append "mirror://gnome/sources/" name "/"
743 (version-major+minor version) "/"
744 name "-" version ".tar.xz"))
745 (sha256
746 (base32
747 "06ml5sf8xhpan410msqz085hmfc7082d368pb82yq646y9pcfn9w"))))
748 (build-system meson-build-system)
749 (arguments
750 `(#:glib-or-gtk? #t
751 #:configure-flags
752 (list "-Ddogtail=false" ; Not available
753 ;; Required for RUNPATH validation.
754 (string-append "-Dc_link_args=-Wl,-rpath="
755 (assoc-ref %outputs "out") "/lib/gnome-photos"))
756 #:phases
757 (modify-phases %standard-phases
758 (add-after 'install 'wrap-gnome-photos
759 (lambda* (#:key inputs outputs #:allow-other-keys)
760 (let*
761 ((out (assoc-ref outputs "out")))
762 (wrap-program (string-append out "/bin/gnome-photos")
763 `("GRL_PLUGIN_PATH" = (,(getenv "GRL_PLUGIN_PATH")))))
764 #t)))))
765 (native-inputs
766 `(("dbus" ,dbus)
767 ("desktop-file-utils" ,desktop-file-utils)
768 ("gettext" ,gettext-minimal)
769 ("git" ,git-minimal)
770 ("glib:bin" ,glib "bin")
771 ("gobject-introspection" ,gobject-introspection)
772 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
773 ("gtk+:bin" ,gtk+ "bin")
774 ("itstool" ,itstool)
775 ("pkg-config" ,pkg-config)))
776 (inputs
777 `(("babl" ,babl)
778 ("cairo" ,cairo)
779 ("gdk-pixbuf" ,gdk-pixbuf+svg)
780 ("gegl" ,gegl)
781 ("geocode-glib" ,geocode-glib)
782 ("gexiv2" ,gexiv2)
783 ("gnome-online-accounts" ,gnome-online-accounts)
784 ("gnome-online-miners" ,gnome-online-miners)
785 ("grilo" ,grilo)
786 ("grilo-plugins" ,grilo-plugins)
787 ("gtk+" ,gtk+)
788 ("libdazzle" ,libdazzle)
789 ("libgdata" ,libgdata)
790 ("libgfbgraph" ,gfbgraph)
791 ("libjpeg" ,libjpeg-turbo)
792 ("libpng" ,libpng)
793 ("librest" ,rest)
794 ("pygobject" ,python-pygobject)
795 ("tracker" ,tracker)
796 ("tracker-miners" ,tracker-miners)))
797 (synopsis "Access, organize and share your photos on GNOME desktop")
798 (description "GNOME Photos is a simple and elegant replacement for using a
799file manager to deal with photos. Enhance, crop and edit in a snap. Seamless
800cloud integration is offered through GNOME Online Accounts.")
801 (home-page "https://wiki.gnome.org/Apps/Photos")
802 (license license:gpl3+)))
803
1aefe650
RG
804(define-public gnome-music
805 (package
806 (name "gnome-music")
807 (version "3.34.5")
808 (source
809 (origin
810 (method url-fetch)
811 (uri
812 (string-append "mirror://gnome/sources/" name "/"
813 (version-major+minor version) "/"
814 name "-" version ".tar.xz"))
815 (sha256
816 (base32
817 "1r5sfw5cbd6qqh27lzhblazir0bfi3k7nqppw66qw990isqm5psy"))))
818 (build-system meson-build-system)
819 (arguments
820 `(#:glib-or-gtk? #t
821 #:phases
822 (modify-phases %standard-phases
823 (add-after 'install 'wrap-gnome-music
824 (lambda* (#:key inputs outputs #:allow-other-keys)
825 (let*
826 ((out (assoc-ref outputs "out"))
827 (pylib (string-append out "/lib/python"
828 ,(version-major+minor
829 (package-version python))
830 "/site-packages")))
831 (wrap-program (string-append out "/bin/gnome-music")
832 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))
833 `("GST_PLUGIN_SYSTEM_PATH" = (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
834 `("GRL_PLUGIN_PATH" = (,(getenv "GRL_PLUGIN_PATH")))
835 `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))))
836 #t)))))
837 (native-inputs
838 `(("desktop-file-utils" ,desktop-file-utils)
839 ("gettext" ,gettext-minimal)
840 ("glib:bin" ,glib "bin")
841 ("gobject-introspection" ,gobject-introspection)
842 ("gtk+:bin" ,gtk+ "bin")
843 ("itstools" ,itstool)
844 ("pkg-config" ,pkg-config)))
845 (inputs
846 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
847 ("grilo" ,grilo)
848 ("grilo-plugins" ,grilo-plugins)
849 ("gst-plugins-base" ,gst-plugins-base)
850 ("gstreamer" ,gstreamer)
851 ("gvfs" ,gvfs)
852 ("libdazzle" ,libdazzle)
853 ("libmediaart" ,libmediaart)
854 ("libsoup" ,libsoup)
855 ("pycairo" ,python-pycairo)
856 ("pygobject" ,python-pygobject)
857 ("tracker" ,tracker)
858 ("tracker-miners" ,tracker-miners)))
859 (synopsis "Simple music player for GNOME desktop")
860 (description "GNOME Music is the new GNOME music playing application that
861aims to combine an elegant and immersive browsing experience with simple
862and straightforward controls.")
863 (home-page "https://wiki.gnome.org/Apps/Music")
864 (license license:gpl2+)))
865
72fd1b3f
RG
866(define-public portablexdr
867 (package
868 (name "portablexdr")
869 (version "4.9.1")
870 (source
871 (origin
872 (method url-fetch)
873 (uri
874 (string-append "https://people.redhat.com/~rjones/" name "/files/"
875 name "-" version ".tar.gz"))
876 (sha256
877 (base32
878 "0b77ipvvi520nv7rr6jb1c3xryhc3m2mywhby7m48kfgag8vvx2w"))))
879 (build-system gnu-build-system)
880 (synopsis "External Data Representation Library")
881 (description "PortableXDR is an implementation of External Data
882Representation (XDR) Library. It is a standard data serialization format, for
883uses such as computer network protocols. It allows data to be transferred
884between different kinds of computer systems.")
885 (home-page "https://people.redhat.com/~rjones/portablexdr/")
886 (license
887 (list
888 license:gpl2+
889 license:lgpl2.1+))))
890
30003a64
RG
891(define-public tepl
892 (package
893 (name "tepl")
894 (version "4.4.0")
895 (source
896 (origin
897 (method url-fetch)
898 (uri
899 (string-append "mirror://gnome/sources/" name "/"
900 (version-major+minor version) "/"
901 name "-" version ".tar.xz"))
902 (sha256
903 (base32
904 "0mm2z849hnni7597an05mrv0dckrxjngpf2xfa0g5s17i8x6gxp6"))))
905 (build-system glib-or-gtk-build-system)
906 (arguments
907 `(#:tests? #f)) ; FIX-ME: Requires gvfs
908 (native-inputs
909 `(("gobject-introspection" ,gobject-introspection)
910 ("pkg-config" ,pkg-config)))
911 (inputs
912 `(("amtk" ,amtk)
913 ("glib" ,glib)
914 ("gtk+" ,gtk+)
915 ("gtksourceview" ,gtksourceview)
916 ("libxml2" ,libxml2)
917 ("uchardet" ,uchardet)))
918 (synopsis "Text editor product line")
919 (description "Tepl is a library that eases the development of
920GtkSourceView-based text editors and IDEs.")
921 (home-page "https://wiki.gnome.org/Projects/Tepl")
922 (license license:lgpl2.1+)))
923
2e6bc595
RG
924(define-public krb5-auth-dialog
925 (package
926 (name "krb5-auth-dialog")
927 (version "3.26.1")
928 (source
929 (origin
930 (method url-fetch)
931 (uri
932 (string-append "mirror://gnome/sources/" name "/"
933 (version-major+minor version) "/"
934 name "-" version ".tar.xz"))
935 (sha256
936 (base32
937 "1w91gsvmifqhiam3xqf88i5rk2w6qadjalmbvvamjdc37j0vdc6x"))))
938 (build-system glib-or-gtk-build-system)
939 (native-inputs
940 `(("intltool" ,intltool)
941 ("itstool" ,itstool)
942 ("libxml2" ,libxml2)
943 ("pkg-config" ,pkg-config)
944 ("python-wrapper" ,python-wrapper)))
945 (inputs
946 `(("glib" ,glib)
947 ("gtk+" ,gtk+)
948 ("libnotify" ,libnotify)
949 ("mit-krb5" ,mit-krb5)
950 ("network-manager" ,network-manager)))
951 (synopsis "Popup dialogs for Kerberos 5")
952 (description "krb5-auth-dialog is a simple dialog that monitors Kerberos
953tickets, and pops up a dialog when they are about to expire.")
954 (home-page "https://gitlab.gnome.org/GNOME/krb5-auth-dialog")
955 (license license:gpl2+)))
956
a3cbcbaf
RG
957(define-public notification-daemon
958 (package
959 (name "notification-daemon")
960 (version "3.20.0")
961 (source
962 (origin
963 (method url-fetch)
964 (uri
965 (string-append "mirror://gnome/sources/" name "/"
966 (version-major+minor version) "/"
967 name "-" version ".tar.xz"))
968 (sha256
969 (base32
970 "1rgchqi4j2ll7d6a7lgy7id0w9rrkwkgic1096fbm2zx6n7pc4yx"))))
971 (build-system glib-or-gtk-build-system)
972 (native-inputs
973 `(("intltool" ,intltool)
974 ("pkg-config" ,pkg-config)))
975 (inputs
976 `(("glib" ,glib)
977 ("gtk+" ,gtk+)
978 ("x11" ,libx11)))
979 (synopsis "Notification Daemon for GNOME Desktop")
980 (description "Notification-Daemon is the server implementation of the
981freedesktop.org desktop notification specification.")
982 (home-page "https://wiki.gnome.org/Projects/NotificationDaemon")
983 (license license:gpl2+)))
984
4e8bdbf8
RG
985(define-public mm-common
986 (package
987 (name "mm-common")
553f2f3f 988 (version "1.0.1")
4e8bdbf8
RG
989 (source (origin
990 (method url-fetch)
02cb4ca7 991 (uri (string-append "mirror://gnome/sources/mm-common/"
4e8bdbf8 992 (version-major+minor version) "/"
02cb4ca7 993 "mm-common-" version ".tar.xz"))
4e8bdbf8
RG
994 (sha256
995 (base32
553f2f3f 996 "1jasx9a9g7nqf7jcv3mrg4qh5cp9sq724jxjaz4wa1dzmxsxg8i8"))))
4e8bdbf8
RG
997 (build-system meson-build-system)
998 (arguments
999 `(#:phases
1000 (modify-phases %standard-phases
1001 (add-after 'unpack 'patch
1002 (lambda* (#:key inputs #:allow-other-keys)
1003 (substitute* "util/mm-common-prepare.in"
1004 (("ln") (string-append (assoc-ref inputs "coreutils")
1005 "/bin/ln"))
1006 (("cp") (string-append (assoc-ref inputs "coreutils")
1007 "/bin/cp"))
1008 (("sed") (string-append (assoc-ref inputs "sed")
1009 "/bin/sed"))
1010 (("cat") (string-append (assoc-ref inputs "coreutils")
1011 "/bin/cat")))
1012 #t)))))
1013 (native-inputs
4e8bdbf8 1014 `(("coreutils" ,coreutils)
74a65885
DM
1015 ("gettext" ,gettext-minimal)
1016 ("pkg-config" ,pkg-config)
4e8bdbf8 1017 ("sed" ,sed)))
74a65885
DM
1018 (inputs
1019 `(("python" ,python)))
4e8bdbf8
RG
1020 (synopsis "Module of GNOME C++ bindings")
1021 (description "The mm-common module provides the build infrastructure
1022and utilities shared among the GNOME C++ binding libraries. Release
1023archives of mm-common include the Doxygen tag file for the GNU C++
1024Library reference documentation.")
1025 (home-page "https://gitlab.gnome.org/GNOME/mm-common")
1026 (license license:gpl2+)))
1027
e05ce17d
RG
1028(define-public phodav
1029 (package
1030 (name "phodav")
1031 (version "2.4")
1032 (source (origin
1033 (method url-fetch)
1034 (uri (string-append "mirror://gnome/sources/" name "/"
1035 (version-major+minor version) "/"
1036 name "-" version ".tar.xz"))
1037 (sha256
1038 (base32
1039 "1hxq8c5qfah3w7mxcyy3yhzdgswplll31a69p5mqdl04bsvw5pbx"))))
1040 (build-system meson-build-system)
1041 (native-inputs
1042 `(("gettext" ,gettext-minimal)
1043 ("glib:bin" ,glib "bin")
1044 ("gtk-doc" ,gtk-doc)
1045 ("pkg-config" ,pkg-config)))
1046 (inputs
1047 `(("avahi" ,avahi)
1048 ("libgudev" ,libgudev)
1049 ("libsoup" ,libsoup)))
1050 (synopsis "WebDav server implementation using libsoup")
1051 (description "PhoDav was initially developed as a file-sharing mechanism for Spice,
1052but it is generic enough to be reused in other projects,
1053in particular in the GNOME desktop.")
1054 (home-page "https://wiki.gnome.org/phodav")
1055 (license license:lgpl2.1+)))
1056
29ae18db
RG
1057(define-public gnome-color-manager
1058 (package
1059 (name "gnome-color-manager")
1060 (version "3.32.0")
1061 (source (origin
1062 (method url-fetch)
1063 (uri (string-append "mirror://gnome/sources/" name "/"
1064 (version-major+minor version) "/"
1065 name "-" version ".tar.xz"))
1066 (sha256
1067 (base32
1068 "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"))))
1069 (build-system meson-build-system)
1070 (arguments
1071 `(#:glib-or-gtk? #t
1072 #:phases
1073 (modify-phases %standard-phases
1074 (add-before
1075 'check 'pre-check
1076 (lambda _
1077 ;; Tests require a running X server.
1078 (system "Xvfb :1 &")
1079 (setenv "DISPLAY" ":1")
1080 #t)))))
1081 (native-inputs
1082 `(("desktop-file-utils" ,desktop-file-utils)
1083 ("gettext" ,gettext-minimal)
1084 ("glib:bin" ,glib "bin")
1085 ("gtk+:bin" ,gtk+ "bin")
1086 ("itstool" ,itstool)
1087 ("pkg-config" ,pkg-config)
1088 ("xorg-server" ,xorg-server-for-tests)))
1089 (inputs
1090 `(("adwaita-icon-theme" ,adwaita-icon-theme)
1091 ("appstream-glib" ,appstream-glib)
1092 ("colord-gtk" ,colord-gtk)
1093 ("exiv2" ,exiv2)
1094 ("gnome-desktop" ,gnome-desktop)
1095 ("libcanberra" ,libcanberra)
1096 ("libexif" ,libexif)
1097 ("libtiff" ,libtiff)
1098 ("libxrandr" ,libxrandr)
1099 ("libxtst" ,libxtst)
1100 ("libxxf86vm" ,libxxf86vm)
1101 ("vte" ,vte)
1102 ("xorgproto" ,xorgproto)))
1103 (synopsis "Color profile manager for the GNOME desktop")
1104 (description "GNOME Color Manager is a session framework that makes
1105it easy to manage, install and generate color profiles
1106in the GNOME desktop.")
1107 (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
7bd000d1 1108 (license license:gpl2+)))
29ae18db 1109
e05471a1
RG
1110(define-public gnome-online-miners
1111 (package
1112 (name "gnome-online-miners")
49dcd7fc 1113 (version "3.34.0")
e05471a1
RG
1114 (source (origin
1115 (method url-fetch)
1116 (uri (string-append "mirror://gnome/sources/" name "/"
1117 (version-major+minor version) "/"
1118 name "-" version ".tar.xz"))
1119 (sha256
1120 (base32
49dcd7fc 1121 "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44"))))
e05471a1
RG
1122 (build-system glib-or-gtk-build-system)
1123 (native-inputs
1124 `(("gettext" ,gettext-minimal)
1125 ("glib:bin" ,glib "bin")
29ae18db 1126 ("gobject-introspection" ,gobject-introspection)
e05471a1
RG
1127 ("gtk+:bin" ,gtk+ "bin")
1128 ("pkg-config" ,pkg-config)))
1129 (inputs
1130 `(("gnome-online-accounts" ,gnome-online-accounts)
1131 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
e05471a1
RG
1132 ("grilo" ,grilo)
1133 ("libgdata" ,libgdata)
1134 ("libgfbgraph" ,gfbgraph)
1135 ("libzapojit" ,libzapojit)
1136 ("rest" ,rest)
1137 ("tracker" ,tracker)))
1138 (synopsis "Web Crawlers for GNOME")
1139 (description "GNOME Online Miners provides a set of crawlers that
1140go through your online content and index them locally in Tracker.
1141It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
1142 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
7bd000d1 1143 (license license:gpl2+)))
e05471a1 1144
e2aed29c
RG
1145(define-public gssdp
1146 (package
1147 (name "gssdp")
c257e0ec 1148 (version "1.2.3")
e2aed29c
RG
1149 (source (origin
1150 (method url-fetch)
1151 (uri (string-append "mirror://gnome/sources/" name "/"
1152 (version-major+minor version) "/"
1153 name "-" version ".tar.xz"))
1154 (sha256
1155 (base32
c257e0ec 1156 "1s57i8a8wnnxnsfl27cq4503dkdlzbrhry5zpg23sfqfffvdqqx2"))))
e2aed29c
RG
1157 (build-system meson-build-system)
1158 (native-inputs
1159 `(("gettext" ,gettext-minimal)
1160 ("glib:bin" ,glib "bin")
1161 ("gobject-introspection" ,gobject-introspection)
1162 ("gtk-doc" ,gtk-doc)
1163 ("pkg-config" ,pkg-config)
1164 ("vala" ,vala)))
1165 (inputs
1166 `(("gtk+" ,gtk+)
1167 ("libsoup" ,libsoup)))
1168 (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery
1169Protocol} for GNOME")
1170 (description "This package provides a library to handle resource discovery
1171and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and
1172a debugging tool, @command{gssdp-device-sniffer}.")
1173 (home-page "https://gitlab.gnome.org/GNOME/gssdp")
1174 (license license:lgpl2.0+)))
1175
291a85b2
RG
1176(define-public gupnp
1177 (package
1178 (name "gupnp")
5b882f47 1179 (version "1.2.4")
291a85b2
RG
1180 (source (origin
1181 (method url-fetch)
1182 (uri (string-append "mirror://gnome/sources/" name "/"
1183 (version-major+minor version) "/"
1184 name "-" version ".tar.xz"))
1185 (sha256
1186 (base32
5b882f47 1187 "1ld7mrpdv9cszmfzh7i19qx4li25j3fr7x1jp38l8phzlmz3187p"))))
291a85b2
RG
1188 (build-system meson-build-system)
1189 (native-inputs
1190 `(("gettext" ,gettext-minimal)
1191 ("glib:bin" ,glib "bin")
1192 ("gobject-introspection" ,gobject-introspection)
1193 ("gtk-doc" ,gtk-doc)
1194 ("pkg-config" ,pkg-config)
1195 ("vala" ,vala)))
1196 (inputs
1197 `(("gssdp" ,gssdp)
1198 ("gtk+" ,gtk+)
1199 ("libsoup" ,libsoup)))
1200 (synopsis "PnP API for GNOME")
1201 (description "This package provides GUPnP, an object-oriented framework
1202for creating UPnP devices and control points, written in C using
1203@code{GObject} and @code{libsoup}.")
1204 (home-page "https://gitlab.gnome.org/GNOME/gupnp")
1205 (license license:lgpl2.0+)))
1206
747d7fe4
RG
1207(define-public gupnp-dlna
1208 (package
1209 (name "gupnp-dlna")
1210 (version "0.10.5")
1211 (source (origin
1212 (method url-fetch)
1213 (uri (string-append "mirror://gnome/sources/" name "/"
1214 (version-major+minor version) "/"
1215 name "-" version ".tar.xz"))
1216 (sha256
1217 (base32
1218 "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj"))))
1219 (build-system gnu-build-system)
1220 (native-inputs
1221 `(("gettext" ,gettext-minimal)
1222 ("glib:bin" ,glib "bin")
1223 ("gobject-introspection" ,gobject-introspection)
1224 ("gtk-doc" ,gtk-doc)
1225 ("libxml" ,libxml2)
1226 ("pkg-config" ,pkg-config)
1227 ("vala" ,vala)))
1228 (inputs
1229 `(("gstreamer" ,gstreamer)
1230 ("gupnp" ,gupnp)))
1231 (propagated-inputs
1232 `(("gst-plugins-base" ,gst-plugins-base)
1233 ("gst-plugins-good" ,gst-plugins-good)))
1234 (synopsis "GUPnP DLNA for GNOME")
1235 (description "This package provides a small utility library to
1236support DLNA-related tasks such as media profile guessing, transcoding to a
1237given profile, etc. DLNA is a subset of UPnP A/V.")
1238 (home-page "https://gitlab.gnome.org/GNOME/gupnp-dlna")
1239 (license license:lgpl2.0+)))
1240
1b4cb628
RG
1241(define-public gupnp-av
1242 (package
1243 (name "gupnp-av")
1244 (version "0.12.11")
1245 (source (origin
1246 (method url-fetch)
1247 (uri (string-append "mirror://gnome/sources/" name "/"
1248 (version-major+minor version) "/"
1249 name "-" version ".tar.xz"))
1250 (sha256
1251 (base32
1252 "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8"))))
1253 (build-system gnu-build-system)
1254 (native-inputs
1255 `(("gettext" ,gettext-minimal)
1256 ("glib:bin" ,glib "bin")
1257 ("gobject-introspection" ,gobject-introspection)
1258 ("gtk-doc" ,gtk-doc)
1259 ("libxml" ,libxml2)
1260 ("pkg-config" ,pkg-config)))
1261 (inputs
1262 `(("gtk+" ,gtk+)
1263 ("gupnp" ,gupnp)))
1264 (synopsis "GUPnP A/V for GNOME")
1265 (description "This package provides a small library for handling
1266and implementation of UPnP A/V profiles.")
1267 (home-page "https://gitlab.gnome.org/GNOME/gupnp-av")
1268 (license license:lgpl2.0+)))
e05471a1 1269
02ebbca8
RG
1270(define-public libmediaart
1271 (package
1272 (name "libmediaart")
1273 (version "1.9.4")
1274 (source (origin
1275 (method url-fetch)
1276 (uri (string-append "mirror://gnome/sources/" name "/"
1277 (version-major+minor version) "/"
1278 name "-" version ".tar.xz"))
1279 (sha256
1280 (base32
1281 "0gc10imyabk57ar54m0qzms0x9dnmkymhkzyk8w1aj3y4lby0yx5"))))
1282 (build-system gnu-build-system)
1283 (native-inputs
1284 `(("glib:bin" ,glib "bin")
1285 ("pkg-config" ,pkg-config)))
1286 (inputs
1287 `(("gdk-pixbuf" ,gdk-pixbuf)
1288 ("gettext" ,gettext-minimal)
1289 ("gobject-introspection" ,gobject-introspection)
1290 ("gtk+:doc", gtk+ "doc")
1291 ("vala" ,vala)))
1292 (synopsis "Media art library for the GNOME desktop")
1293 (description
1294 "The libmediaart library is the foundation for media art caching,
1295extraction, and lookup for applications on the desktop.")
1296 (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
1297 (license license:lgpl2.1+)))
1298
a26680eb
RG
1299(define-public gnome-initial-setup
1300 (package
1301 (name "gnome-initial-setup")
1302 (version "3.32.1")
1303 (source (origin
1304 (method url-fetch)
1305 (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
1306 (version-major+minor version)
1307 "/gnome-initial-setup-" version ".tar.xz"))
1308 (sha256
1309 (base32
1310 "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
1311 (build-system meson-build-system)
1312 (arguments
a65cc579
DM
1313 '(#:configure-flags '(;; Enable camera support for user selfie.
1314 "-Dcheese=auto"
c627e2cb
LC
1315 "-Dsystemd=false")
1316 #:phases (modify-phases %standard-phases
1317 (add-after 'unpack 'set-gkbd-file-name
1318 (lambda* (#:key inputs #:allow-other-keys)
1319 ;; Allow the "Preview" button in the keyboard layout
1320 ;; selection dialog to display the layout.
1321 (let ((libgnomekbd (assoc-ref inputs "libgnomekbd")))
1322 (substitute* "gnome-initial-setup/pages/keyboard/cc-input-chooser.c"
1323 (("\"gkbd-keyboard-display")
1324 (string-append "\"" libgnomekbd
1325 "/bin/gkbd-keyboard-display")))
1326 #t))))))
a26680eb
RG
1327 (native-inputs
1328 `(("gettext" ,gettext-minimal)
1329 ("glib:bin" ,glib "bin")
1330 ("gobject-introspection" ,gobject-introspection)
1331 ("gtk+:bin" ,gtk+ "bin")
1332 ("pkg-config" ,pkg-config)))
1333 (inputs
1334 `(("accountsservice" ,accountsservice)
1335 ;("adwaita-icon-theme" ,adwaita-icon-theme)
1336 ("gdm" ,gdm)
1337 ("geoclue" ,geoclue)
1338 ("gnome-desktop" ,gnome-desktop)
1339 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
1340 ("gnome-online-accounts" ,gnome-online-accounts)
1341 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1342 ("gstreamer" ,gstreamer)
1343 ("ibus" ,ibus)
1344 ("json-glib" ,json-glib)
1345 ("krb5" ,mit-krb5)
1346 ("libgweather" ,libgweather)
8d9477b8 1347 ("libnma" ,libnma)
a26680eb
RG
1348 ("libsecret" ,libsecret)
1349 ("network-manager" ,network-manager)
a26680eb
RG
1350 ("packagekit" ,packagekit)
1351 ("polkit" ,polkit)
1352 ("pwquality" ,libpwquality)
1353 ("rest" ,rest)
1354 ("upower" ,upower)
c627e2cb
LC
1355 ("webkitgtk" ,webkitgtk)
1356 ("libgnomekbd" ,libgnomekbd)))
a26680eb 1357 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
1358 (description "This package provides a set-up wizard when a
1359user logs into GNOME for the first time. It typically provides a
1360tour of all gnome components and allows the user to set them up.")
a26680eb
RG
1361 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
1362 (license license:gpl2)))
1363
b5f01392
RG
1364(define-public gnome-user-share
1365 (package
1366 (name "gnome-user-share")
1367 (version "3.33.1")
1368 (source (origin
1369 (method url-fetch)
1370 (uri (string-append "mirror://gnome/sources/" name "/"
1371 (version-major+minor version) "/"
1372 name "-" version ".tar.xz"))
1373 (sha256
1374 (base32
1375 "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7"))))
1376 (build-system meson-build-system)
1377 (arguments
1378 `(#:glib-or-gtk? #t
1379 #:configure-flags
1380 `("-Dsystemd=false"
1381 ;; Enable nautilus extension for file sharing.
1382 "-Dnautilus_extension=true")))
1383 (native-inputs
1384 `(("gettext" ,gettext-minimal)
1385 ("glib:bin" ,glib "bin")
1386 ("gobject-introspection" ,gobject-introspection)
1387 ("gtk+:bin" ,gtk+ "bin")
1388 ("pkg-config" ,pkg-config)
1389 ("yelp-tools" ,yelp-tools)))
1390 (inputs
1391 `(("glib" ,glib)
1392 ("gnome-bluetooth" ,gnome-bluetooth)
1393 ("gtk+" ,gtk+)
1394 ("libcanberra" ,libcanberra)
1395 ("libnotify" ,libnotify)
1396 ("nautilus" ,nautilus))) ; For nautilus extension.
1397 (synopsis "File sharing for GNOME desktop")
1398 (description "GNOME User Share is a small package that binds together
1399various free software projects to bring easy to use user-level file
1400sharing to the masses.")
1401 (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
2aeca24b 1402 (license license:gpl2+)))
b5f01392 1403
04b201bb
RG
1404(define-public sushi
1405 (package
1406 (name "sushi")
1407 (version "3.32.1")
1408 (source (origin
1409 (method url-fetch)
1410 (uri (string-append "mirror://gnome/sources/" name "/"
1411 (version-major+minor version) "/"
1412 name "-" version ".tar.xz"))
1413 (sha256
1414 (base32
1415 "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj"))))
1416 (build-system meson-build-system)
1417 (arguments
1418 `(#:glib-or-gtk? #t
1419 #:phases
1420 (modify-phases %standard-phases
1421 (add-after 'glib-or-gtk-wrap 'wrap-typelib
1422 (lambda* (#:key outputs #:allow-other-keys)
1423 (let ((prog (string-append (assoc-ref outputs "out")
1424 "/bin/sushi")))
1425 ;; Put existing typelibs before sushi's deps, so as to correctly
1426 ;; infer gdk-pixbuf
1427 (wrap-program prog
1428 `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH"))))
1429 #t))))))
1430 (native-inputs
1431 `(("glib:bin" ,glib "bin")
1432 ("gettext" ,gettext-minimal)
1433 ("gobject-introspection" ,gobject-introspection)
1434 ("pkg-config" ,pkg-config)))
1435 (inputs
1436 `(("clutter" ,clutter)
1437 ("clutter-gst" ,clutter-gst)
1438 ("clutter-gtk" ,clutter-gtk)
1439 ("evince" ,evince) ; For file previewing.
1440 ("freetype" ,freetype)
1441 ("gdk-pixbuf" ,gdk-pixbuf)
1442 ("gjs" ,gjs)
1443 ("gst-plugins-base" ,gst-plugins-base)
1444 ("gstreamer" ,gstreamer)
1445 ("gtksourceview" ,gtksourceview-3)
1446 ("harfbuzz" ,harfbuzz)
1447 ("libepoxy" ,libepoxy)
1448 ("libmusicbrainz" ,libmusicbrainz)
1449 ("libxml2" ,libxml2)
1450 ("neon" ,neon)
1451 ("webkitgtk" ,webkitgtk)))
1452 (synopsis "File previewer for the GNOME desktop")
1453 (description "Sushi is a DBus-activated service that allows applications to
1454preview files on the GNOME desktop.")
1455 (home-page "https://gitlab.gnome.org/GNOME/sushi")
1456 (license license:gpl2+)))
1457
89af0902
RG
1458(define-public rygel
1459 (package
1460 (name "rygel")
1461 (version "0.38.3")
1462 (source (origin
1463 (method url-fetch)
1464 (uri (string-append "mirror://gnome/sources/" name "/"
1465 (version-major+minor version) "/"
1466 name "-" version ".tar.xz"))
1467 (sha256
1468 (base32
1469 "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8"))))
1470 (build-system gnu-build-system)
1471 (native-inputs
1472 `(("gettext" ,gettext-minimal)
1473 ("gobject-introspection" ,gobject-introspection)
1474 ("gtk-doc" ,gtk-doc)
1475 ("pkg-config" ,pkg-config)
1476 ("vala" ,vala)))
1477 (inputs
1478 `(("gdk-pixbuf" ,gdk-pixbuf)
1479 ("gssdp" ,gssdp)
1480 ("gstreamer" ,gstreamer)
1481 ("gst-plugins-base" ,gst-plugins-base)
1482 ("gtk+" ,gtk+)
1483 ("gupnp" ,gupnp)
1484 ("gupnp-av" ,gupnp-av)
1485 ("gupnp-dlna" ,gupnp-dlna)
1486 ("libgee" ,libgee)
1487 ("libmediaart" ,libmediaart)
1488 ("libsoup" ,libsoup)
1489 ("libxslt" ,libxslt)
1490 ("libunistring" ,libunistring)
1491 ("tracker" ,tracker)))
1492 (synopsis "Share audio, video, and pictures with other devices")
1493 (description
1494 "Rygel is a home media solution (@dfn{UPnP AV MediaServer and
1495MediaRenderer}) for GNOME that allows you to easily share audio, video, and
1496pictures, and to control a media player on your home network.
1497
1498Rygel achieves interoperability with other devices by trying to conform to the
1499strict requirements of DLNA and by converting media on-the-fly to formats that
1500client devices can handle.")
1501 (home-page "https://wiki.gnome.org/Projects/Rygel")
1502 (license (list
1503 ;; For logo (data/icons/*).
1504 license:cc-by-sa3.0
1505 ;; For all others.
1506 license:lgpl2.1+))))
1507
47e87093
RG
1508(define-public libnma
1509 (package
b1da33d9
BW
1510 (name "libnma")
1511 (version "1.8.28")
1512 (source (origin
1513 (method url-fetch)
1514 (uri (string-append "mirror://gnome/sources/" name "/"
1515 (version-major+minor version) "/"
1516 name "-" version ".tar.xz"))
1517 (sha256
1518 (base32
1519 "09mp6k0hfam1vyyv9kcd8j4gb2r58i05ipx2nswb58ris599bxja"))))
1520 (build-system meson-build-system)
1521 (arguments
1522 `(#:phases
1523 (modify-phases %standard-phases
1524 (add-after 'unpack 'patch-docbook-xml
1525 (lambda* (#:key inputs #:allow-other-keys)
1526 (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
1527 "/xml/dtd/docbook")))
1528 (substitute* "libnma-docs.xml"
1529 (("http://.*/docbookx\\.dtd")
1530 (string-append xmldoc "/docbookx.dtd")))
1531 #t))))))
1532 (native-inputs
1533 `(("docbook-xml" ,docbook-xml-4.3)
1534 ("gettext" ,gettext-minimal)
1535 ("glib:bin" ,glib "bin")
1536 ("gtk-doc" ,gtk-doc)
1537 ("gobject-introspection" ,gobject-introspection)
1538 ("pkg-config" ,pkg-config)
1539 ("vala" ,vala)))
1540 (inputs
1541 `(("gcr" ,gcr)
1542 ("gtk+" ,gtk+)
1543 ("iso-codes" ,iso-codes)
1544 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
1545 ("network-manager" ,network-manager)))
1546 (synopsis "Network Manager's applet library")
1547 (description "Libnma is an applet library for Network Manager. It was
47e87093
RG
1548initially part of network-manager-applet and has now become a separate
1549project.")
c25ca6b7
BW
1550 (home-page "https://gitlab.gnome.org/GNOME/libnma")
1551 ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
1552 ;; "LGPL-2.1+".
1553 (license license:gpl2+)))
47e87093 1554
30416265
RG
1555(define-public gnome-menus
1556 (package
1557 (name "gnome-menus")
1558 (version "3.32.0")
1559 (source (origin
1560 (method url-fetch)
1561 (uri (string-append "mirror://gnome/sources/gnome-menus/"
1562 (version-major+minor version) "/"
1563 name "-" version ".tar.xz"))
1564 (sha256
1565 (base32
1566 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
1567 (build-system gnu-build-system)
1568 (native-inputs
1569 `(("gettext" ,gettext-minimal)
1570 ("glib" ,glib)
1571 ("pkg-config" ,pkg-config)))
1572 (synopsis "Menu support for GNOME desktop")
1573 (description "GNOME Menus contains the libgnome-menu library, the layout
1574configuration files for the GNOME menu, as well as a simple menu editor.")
1575 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 1576 (license license:lgpl2.0+)))
30416265 1577
d61a894b
CB
1578(define-public deja-dup
1579 (package
1580 (name "deja-dup")
899ffa13 1581 (version "40.6")
d61a894b 1582 (source (origin
899ffa13
BW
1583 (method url-fetch)
1584 (uri (string-append "https://gitlab.gnome.org/World/deja-dup/-/archive/"
1585 version "/deja-dup-" version ".tar.bz2"))
1586 (sha256
1587 (base32
1588 "0lwazh6crby5wpy9fg6zvwy4plqbhs2f98bm5lbizjdlbh88n5q0"))))
1589 (build-system meson-build-system)
d61a894b 1590 (arguments
899ffa13
BW
1591 `(#:glib-or-gtk? #t
1592 #:configure-flags
1593 (list
1594 ;; Otherwise, the RUNPATH will lack the final path component.
1595 (string-append "-Dc_link_args=-Wl,-rpath="
1596 (assoc-ref %outputs "out") "/lib/deja-dup"))
d61a894b
CB
1597 #:phases
1598 (modify-phases %standard-phases
899ffa13
BW
1599 (add-after 'unpack 'patch-paths
1600 (lambda* (#:key inputs #:allow-other-keys)
1601 (let ((python (assoc-ref inputs "python")))
1602 (substitute* '("libdeja/tools/duplicity/DuplicityInstance.vala"
1603 "libdeja/tests/scripts/instance-error.test")
1604 (("/bin/rm")
1605 (which "rm")))
1606 (substitute* "libdeja/tests/runner.vala"
1607 (("/bin/sh")
1608 (which "sh")))
1609 (substitute* "libdeja/tests/scripts/instance-error.test"
1610 (("`which python3`")
1611 (string-append python "/bin/python3"))))))
1612 (add-after 'unpack 'patch-libgpg-error
1613 (lambda* (#:key inputs #:allow-other-keys)
1614 (let ((libgpg-error (assoc-ref inputs "libgpg-error")))
1615 (substitute* "meson.build"
1616 (("(gpgerror_libs = ).*" _ var)
1617 (format #f "~a '-L~a/lib -lgpg-error'\n" var libgpg-error))))
1618 #t))
1619 (add-after 'unpack 'skip-gtk-update-icon-cache
1620 ;; Don't create 'icon-theme.cache'.
1621 (lambda _
1622 (substitute* "data/post-install.sh"
1623 (("gtk-update-icon-cache") "true"))
1624 #t)))))
d61a894b
CB
1625 (inputs
1626 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
d61a894b 1627 ("duplicity" ,duplicity)
899ffa13
BW
1628 ("python" ,python)
1629 ("python-pygobject" ,python-pygobject)
d61a894b 1630 ("gtk+" ,gtk+)
899ffa13 1631 ("json-glib" ,json-glib)
d61a894b 1632 ("libnotify" ,libnotify)
899ffa13 1633 ("libgpg-error" ,libgpg-error)
d61a894b 1634 ("libsecret" ,libsecret)
899ffa13 1635 ("libsoup" ,libsoup)
d61a894b
CB
1636 ("packagekit" ,packagekit)))
1637 (native-inputs
899ffa13
BW
1638 `(("appstream-glib" ,appstream-glib)
1639 ("desktop-file-utils" ,desktop-file-utils)
d61a894b 1640 ("gettext" ,gettext-minimal)
899ffa13
BW
1641 ("glib" ,glib "bin") ; for glib-compile-schemas.
1642 ("gobject-introspection" ,gobject-introspection)
d61a894b 1643 ("itstool" ,itstool)
899ffa13
BW
1644 ("pkg-config" ,pkg-config)
1645 ("vala" ,vala)))
1646 (home-page "https://wiki.gnome.org/Apps/DejaDup")
d61a894b
CB
1647 (synopsis "Simple backup tool, for regular encrypted backups")
1648 (description
1649 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
1650uses duplicity as the backend, which supports incremental backups and storage
1651either on a local, or remote machine via a number of methods.")
1652 (license license:gpl3+)))
1653
823b77fb
RG
1654(define-public gnome-user-docs
1655 (package
1656 (name "gnome-user-docs")
1657 (version "3.32.3")
1658 (source
1659 (origin
1660 (method url-fetch)
1661 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
1662 (version-major+minor version)
1663 "/gnome-user-docs-" version ".tar.xz"))
1664 (sha256
1665 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
1666 (build-system gnu-build-system)
1667 (native-inputs
1668 `(("gettext" ,gettext-minimal)
1669 ("itstool" ,itstool)
1670 ("pkg-config" ,pkg-config)
1671 ("xmllint" ,libxml2)))
1672 (synopsis "User documentation for the GNOME desktop")
1673 (description
1674 "The GNOME User Documentation explains how to use the GNOME desktop and its
1675components. It covers usage and setup of the core GNOME programs by end-users
1676and system administrators.")
1677 (home-page "https://live.gnome.org/DocumentationProject")
1678 (license license:cc-by3.0)))
1679
be93299d
RG
1680(define-public gnome-getting-started-docs
1681 (package
1682 (name "gnome-getting-started-docs")
1683 (version "3.32.2")
1684 (source
1685 (origin
1686 (method url-fetch)
1687 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
1688 (version-major+minor version)
1689 "/gnome-getting-started-docs-" version ".tar.xz"))
1690 (sha256
1691 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
1692 (build-system gnu-build-system)
1693 (native-inputs
1694 `(("gettext" ,gettext-minimal)
1695 ("itstool" ,itstool)
1696 ("pkg-config" ,pkg-config)
1697 ("xmllint" ,libxml2)))
1698 (synopsis "Help to get new users started with the GNOME desktop")
1699 (description
1700 "The GNOME Getting Started Documentation contains GNOME's intuitive
1701\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
1702
1703It is normally used together with @command{gnome-initial-setup}, but is also
1704useful as a tutorial and users' guide for new or less experienced users.")
1705 (home-page "https://live.gnome.org/DocumentationProject")
1706 (license license:cc-by-sa3.0)))
1707
a56be436
RJ
1708(define-public dia
1709 ;; This version from GNOME's repository includes fixes for compiling with
1710 ;; recent versions of the build tools. The latest activity on the
1711 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
f8687cb2
TGR
1712 ;; fixes since.
1713 (let ((commit "3cf7ec4c2e5bca139a7f3e17f9fc9009c237fcc5")
1714 (revision "2"))
a56be436
RJ
1715 (package
1716 (name "dia")
f8687cb2 1717 (version (git-version "0.97.3" revision commit))
a56be436
RJ
1718 (source (origin
1719 (method git-fetch)
1720 (uri (git-reference
914c8cdf 1721 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 1722 (commit commit)))
914c8cdf 1723 (file-name (git-file-name name version))
a56be436
RJ
1724 (sha256
1725 (base32
f8687cb2
TGR
1726 "04r8dspa6nmicrifhi3sh46hqvyy88hzq37xx99q3q1mwsrpmwy8"))))
1727 (build-system meson-build-system)
a56be436 1728 (inputs
f8687cb2 1729 `(("graphene" ,graphene)
a56be436
RJ
1730 ("gtk+" ,gtk+-2)
1731 ("libxml2" ,libxml2)
f8687cb2
TGR
1732 ("libxslt" ,libxslt)
1733 ("poppler" ,poppler)
1734 ;; Without Python 2, build fails: plug-ins/python/meson.build:4:0:
1735 ;; ERROR: Unknown method "dependency" in object.
1736 ("python-2" ,python-2)))
a56be436 1737 (native-inputs
f8687cb2
TGR
1738 `(("appstream-glib" ,appstream-glib)
1739 ("docbook-xsl" ,docbook-xsl)
a315afa3 1740 ("glib" ,glib "bin")
f8687cb2
TGR
1741 ("intltool" ,intltool)
1742 ("pkg-config" ,pkg-config)))
a56be436
RJ
1743 (home-page "https://wiki.gnome.org/Apps/Dia")
1744 (synopsis "Diagram creation for GNOME")
1745 (description "Dia can be used to draw different types of diagrams, and
1746includes support for UML static structure diagrams (class diagrams), entity
1747relationship modeling, and network diagrams. The program supports various file
1748formats like PNG, SVG, PDF and EPS.")
1749 (license license:gpl2+))))
1750
d0b19e44
RW
1751;; This is the unstable release, but it is required for the current stable
1752;; release of gvfs (1.38.1).
adc5cb1b
KK
1753(define-public libgdata
1754 (package
1755 (name "libgdata")
d0b19e44 1756 (version "0.17.9")
adc5cb1b
KK
1757 (source (origin
1758 (method url-fetch)
1759 (uri (string-append "mirror://gnome/sources/" name "/"
1760 (version-major+minor version) "/"
1761 name "-" version ".tar.xz"))
1762 (sha256
1763 (base32
d0b19e44 1764 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
1765 (build-system gnu-build-system)
1766 (arguments
1767 '(#:phases
1768 (modify-phases %standard-phases
448052b7
TGR
1769 (add-before 'check 'disable-failing-tests
1770 (lambda _
1771 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
1772 ;; They have been removed in libgdata 0.17.6, so just do the same.
1773 (substitute* "gdata/tests/Makefile"
1774 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
1775 #t)))))
1776 (native-inputs
1777 `(("glib:bin" ,glib "bin")
1778 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1779 ("intltool" ,intltool)
1780 ("pkg-config" ,pkg-config)
1781 ("uhttpmock" ,uhttpmock)))
1782 (inputs
1783 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 1784 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
1785 (propagated-inputs
1786 `(("gcr" ,gcr)
d0b19e44 1787 ("glib" ,glib)
14c297fd 1788 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 1789 ("json-glib" ,json-glib)
adc5cb1b 1790 ("liboauth" ,liboauth)
d0b19e44 1791 ("libsoup" ,libsoup)
adc5cb1b
KK
1792 ("libxml2" ,libxml2)))
1793 (home-page "https://wiki.gnome.org/Projects/libgdata")
1794 (synopsis "Library for accessing online service APIs")
1795 (description
1796 "libgdata is a GLib-based library for accessing online service APIs using
1797the GData protocol — most notably, Google's services. It provides APIs to
1798access the common Google services, and has full asynchronous support.")
1799 (license license:lgpl2.1+)))
1800
94e10cf4
KK
1801(define-public libgxps
1802 (package
1803 (name "libgxps")
66470a5a 1804 (version "0.3.1")
94e10cf4
KK
1805 (source (origin
1806 (method url-fetch)
7f10628c 1807 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
1808 (version-major+minor version) "/"
1809 name "-" version ".tar.xz"))
1810 (sha256
1811 (base32
66470a5a 1812 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 1813 (build-system meson-build-system)
94e10cf4
KK
1814 (native-inputs
1815 `(("gobject-introspection" ,gobject-introspection)
1816 ("pkg-config" ,pkg-config)))
1817 (inputs
c8d62d93 1818 `(("gtk+" ,gtk+)
b6b3e512 1819 ("libjpeg" ,libjpeg-turbo)
94e10cf4 1820 ("lcms" ,lcms)
0a6e9e13 1821 ("libtiff" ,libtiff)))
c8d62d93
MB
1822 (propagated-inputs
1823 ;; In Requires of libgxps.pc.
1824 `(("cairo" ,cairo)
1825 ("glib" ,glib)
1826 ("libarchive" ,libarchive)))
94e10cf4
KK
1827 (home-page "https://wiki.gnome.org/Projects/libgxps")
1828 (synopsis "GObject-based library for handling and rendering XPS documents")
1829 (description
1830 "libgxps is a GObject-based library for handling and rendering XPS
1831documents. This package also contains binaries that can convert XPS documents
1832to other formats.")
1833 (license license:lgpl2.1+)))
1834
4e09f57a
RG
1835(define-public gnome-characters
1836 (package
1837 (name "gnome-characters")
1838 (version "3.30.0")
1839 (source
1840 (origin
1841 (method url-fetch)
1842 (uri (string-append "mirror://gnome/sources/"
1843 "gnome-characters/" (version-major+minor version)
1844 "/gnome-characters-" version ".tar.xz"))
1845 (sha256
1846 (base32
1847 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
1848 (build-system meson-build-system)
5757c641 1849 (arguments
1850 `(#:glib-or-gtk? #t
1851 #:phases (modify-phases %standard-phases
1852 (add-after 'install 'wrap
1853 (lambda* (#:key outputs #:allow-other-keys)
1854 ;; GNOME Characters needs Typelib files from GTK and
1855 ;; gnome-desktop.
1856 (wrap-program (string-append (assoc-ref outputs "out")
1857 "/bin/gnome-characters")
1858 `("GI_TYPELIB_PATH" ":" prefix
1859 (,(getenv "GI_TYPELIB_PATH"))))
1860 #t)))))
4e09f57a
RG
1861 (native-inputs
1862 `(("gettext" ,gettext-minimal)
1863 ("glib:bin" ,glib "bin")
1864 ("gtk+:bin" ,gtk+ "bin")
1865 ("pkg-config" ,pkg-config)
1866 ("python" ,python-minimal)))
1867 (inputs
1868 `(("gjs" ,gjs)
1869 ("gtk+" ,gtk+)
5757c641 1870 ("libunistring" ,libunistring)
1871 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
1872 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
1873 (synopsis "Find and insert unusual characters")
1874 (description "Characters is a simple utility application to find
1875and insert unusual characters. It allows you to quickly find the
1876character you are looking for by searching for keywords.")
1877 (license license:bsd-3)))
1878
7aab13f1
ML
1879(define-public gnome-common
1880 (package
1881 (name "gnome-common")
af83490d 1882 (version "3.18.0")
7aab13f1
ML
1883 (source
1884 (origin
1885 (method url-fetch)
1886 (uri (string-append "mirror://gnome/sources/" name "/"
1887 (version-major+minor version) "/"
1888 name "-" version ".tar.xz"))
1889 (sha256
1890 (base32
af83490d 1891 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
1892 (build-system gnu-build-system)
1893 (home-page "https://www.gnome.org/")
1894 (synopsis "Bootstrap GNOME modules built from Git")
1895 (description "gnome-common contains various files needed to bootstrap
1896GNOME modules built from Git. It contains a common \"autogen.sh\" script that
1897can be used to configure a source directory checked out from Git and some
1898commonly used macros.")
1899 (license license:gpl2+)))
1900
4e868d22
RG
1901(define-public gnome-contacts
1902 (package
1903 (name "gnome-contacts")
b3492e39 1904 (version "3.34")
4e868d22
RG
1905 (source (origin
1906 (method url-fetch)
1907 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
1908 (version-major+minor version) "/"
1909 name "-" version ".tar.xz"))
1910 (sha256
1911 (base32
b3492e39 1912 "04igc9xvyc4kb5xf5g2missnvyvj9zv5cqxf5k4z7hb0sv42wq4r"))))
4e868d22
RG
1913 (build-system meson-build-system)
1914 (arguments
b3492e39
KK
1915 `(#:configure-flags '("-Dcheese=false")
1916 #:phases
4e868d22
RG
1917 (modify-phases %standard-phases
1918 (add-after 'unpack 'generate-vapis
1919 (lambda* (#:key inputs #:allow-other-keys)
1920 ;; To generate goa's missing .vapi file
1921 (define goa
1922 (assoc-ref inputs "gnome-online-accounts:lib"))
1923
1924 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
1925 "--library=goa-1.0"
1926 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
b3492e39
KK
1927 #t))
1928 (add-after 'unpack 'skip-gtk-update-icon-cache
1929 ;; Don't create 'icon-theme.cache'.
1930 (lambda _
1931 (substitute* "build-aux/meson_post_install.py"
1932 (("gtk-update-icon-cache") "true"))
4e868d22
RG
1933 #t)))))
1934 (native-inputs
1935 `(("glib:bin" ,glib "bin")
4e868d22
RG
1936 ("pkg-config" ,pkg-config)))
1937 (inputs
b3492e39 1938 `(("docbook-xml" ,docbook-xml)
4e868d22
RG
1939 ("dockbook-xsl" ,docbook-xsl)
1940 ("evolution-data-server" ,evolution-data-server)
1941 ("gettext" ,gettext-minimal)
1942 ("gnome-desktop" ,gnome-desktop)
1943 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1944 ("gobject-introspection" ,gobject-introspection)
1945 ("gst-plugins-base" ,gst-plugins-base)
1946 ("gtk+" ,gtk+)
1947 ("libgee" ,libgee)
1948 ("libxslt" ,libxslt)
1949 ("telepathy-glib" ,telepathy-glib)
1950 ("vala" ,vala)))
1951 (propagated-inputs
1952 `(("folks", folks)
1953 ("telepathy-mission-control" ,telepathy-mission-control)))
1954 (synopsis "GNOME's integrated address book")
1955 (description
1956 "GNOME Contacts organizes your contact information from online and
1957offline sources, providing a centralized place for managing your contacts.")
1958 (home-page "https://wiki.gnome.org/Apps/Contacts")
1959 (license license:gpl2+)))
1960
9cc98f8a
CR
1961(define-public gnome-desktop
1962 (package
1963 (name "gnome-desktop")
8a7afc81 1964 (version "3.34.2")
9cc98f8a
CR
1965 (source
1966 (origin
1967 (method url-fetch)
b38e45d8
EB
1968 (uri (string-append "mirror://gnome/sources/" name "/"
1969 (version-major+minor version) "/"
9cc98f8a
CR
1970 name "-" version ".tar.xz"))
1971 (sha256
1972 (base32
8a7afc81 1973 "1v983xirwp1y6ggz97bh742ak6gff0hxb359dgn37nikjxhvm0a0"))))
e8a26caa 1974 (build-system meson-build-system)
a0fe7c06
CB
1975 (arguments
1976 '(#:phases
1977 (modify-phases %standard-phases
1978 (add-before 'configure 'patch-path
1979 (lambda* (#:key inputs #:allow-other-keys)
1980 (let ((libc (assoc-ref inputs "libc")))
1981 (substitute* "libgnome-desktop/gnome-languages.c"
1982 (("\"locale\"")
1983 (string-append "\"" libc "/bin/locale\"")))
e8a26caa 1984 #t)))
3857aba7
CB
1985 (add-before 'configure 'patch-bubblewrap
1986 (lambda* (#:key inputs #:allow-other-keys)
1987 (substitute* "libgnome-desktop/gnome-desktop-thumbnail-script.c"
1988 (("\"bwrap\",")
1989 (string-append "\"" (which "bwrap") "\","))
1990 (("\"--ro-bind\", \"/usr\", \"/usr\",")
1991 (string-append "\"--ro-bind\", \""
1992 (%store-directory)
1993 "\", \""
1994 (%store-directory)
1995 "\","))
1996 (("\"--ro-bind\", \"/etc/ld.so.cache\", \"/etc/ld.so.cache\",") ""))
1997 #t))
e8a26caa
KK
1998 (add-before 'check 'pre-check
1999 (lambda* (#:key inputs #:allow-other-keys)
2000 ;; Tests require a running X server and locales.
2001 (system "Xvfb :1 &")
2002 (setenv "DISPLAY" ":1")
2003 (setenv "GUIX_LOCPATH"
2004 (string-append (assoc-ref inputs "glibc-locales")
2005 "/lib/locale"))
2006 #t)))))
9cc98f8a 2007 (native-inputs
e8a26caa
KK
2008 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
2009 ("glibc-locales" ,glibc-locales) ; for tests
2010 ("gobject-introspection" ,gobject-introspection)
a8340482 2011 ("itstool" ,itstool)
bcb354ad
SB
2012 ("intltool" ,intltool)
2013 ("pkg-config" ,pkg-config)
e8a26caa
KK
2014 ("xmllint" ,libxml2)
2015 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
2016 (propagated-inputs
2017 ;; Required by gnome-desktop-3.0.pc.
2018 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 2019 ("gtk+" ,gtk+)
9cc98f8a 2020 ("iso-codes" ,iso-codes)
9863ce20 2021 ("libseccomp" ,libseccomp)
9cc98f8a 2022 ("libx11" ,libx11)
e8a26caa
KK
2023 ("xkeyboard-config" ,xkeyboard-config)))
2024 (inputs
2025 `(("gdk-pixbuf" ,gdk-pixbuf)
2026 ("glib" ,glib)
3857aba7 2027 ("bubblewrap" ,bubblewrap)
9cc98f8a
CR
2028 ("libxext" ,libxext)
2029 ("libxkbfile" ,libxkbfile)
e8a26caa 2030 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
2031 (home-page "https://www.gnome.org/")
2032 (synopsis
35b9e423 2033 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
2034 (description
2035 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
2036on the desktop, but that cannot live in the platform for various reasons.
2037There is no API or ABI guarantee, although we are doing our best to provide
2038stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
2039
2040The gnome-about program helps find which version of GNOME is installed.")
2041 ; Some bits under the LGPL.
1dd26275 2042 (license license:gpl2+)))
9cc98f8a 2043
995b7261
AE
2044(define-public gnome-doc-utils
2045 (package
2046 (name "gnome-doc-utils")
2047 (version "0.20.10")
2048 (source
2049 (origin
2050 (method url-fetch)
b38e45d8
EB
2051 (uri (string-append "mirror://gnome/sources/" name "/"
2052 (version-major+minor version) "/"
995b7261
AE
2053 name "-" version ".tar.xz"))
2054 (sha256
2055 (base32
2056 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
2057 (build-system gnu-build-system)
c4c4cc05 2058 (native-inputs
995b7261 2059 `(("intltool" ,intltool)
b4ce6300 2060 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 2061 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
2062 ("libxml2" ,libxml2)
2063 ("libxslt" ,libxslt)
2064 ("pkg-config" ,pkg-config)
2065 ("python-2" ,python-2)))
995b7261
AE
2066 (home-page "https://wiki.gnome.org/GnomeDocUtils")
2067 (synopsis
2068 "Documentation utilities for the Gnome project")
2069 (description
2070 "Gnome-doc-utils is a collection of documentation utilities for the
2071Gnome project. It includes xml2po tool which makes it easier to translate
2072and keep up to date translations of documentation.")
1dd26275 2073 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 2074
6c4f7022
DC
2075(define-public gnome-disk-utility
2076 (package
2077 (name "gnome-disk-utility")
262e660e 2078 (version "3.34.0")
6c4f7022
DC
2079 (source (origin
2080 (method url-fetch)
2081 (uri (string-append "mirror://gnome/sources/" name "/"
2082 (version-major+minor version) "/"
2083 name "-" version ".tar.xz"))
2084 (sha256
2085 (base32
262e660e 2086 "1mb7q90lnlp97dhxhnadhjagcfd12dfqzp0vj9h6b1r61pzhy97y"))))
4b9a65bf 2087 (build-system meson-build-system)
321c73c3 2088 (arguments
262e660e
KK
2089 '(#:configure-flags '("-Dlogind=libelogind")
2090 #:phases
321c73c3
EF
2091 (modify-phases %standard-phases
2092 (add-after 'unpack 'skip-gtk-update-icon-cache
2093 ;; Don't create 'icon-theme.cache'.
2094 (lambda _
2095 (substitute* "meson_post_install.py"
2096 (("gtk-update-icon-cache") "true"))
2097 #t)))))
6c4f7022
DC
2098 (native-inputs
2099 `(("glib:bin" ,glib "bin")
2100 ("intltool" ,intltool)
2101 ("pkg-config" ,pkg-config)
2102 ("docbook-xml" ,docbook-xml)
2103 ("docbook-xsl" ,docbook-xsl)
2104 ("libxml2" ,libxml2)
2105 ("libxslt" ,libxslt)))
2106 (inputs
262e660e
KK
2107 `(("elogind" ,elogind)
2108 ("glib" ,glib)
6c4f7022
DC
2109 ("appstream-glib" ,appstream-glib)
2110 ("gnome-settings-daemon" ,gnome-settings-daemon)
2111 ("gtk+" ,gtk+)
2112 ("libcanberra" ,libcanberra)
2113 ("libdvdread" ,libdvdread)
2114 ("libnotify" ,libnotify)
2115 ("libpwquality" ,libpwquality)
2116 ("libsecret" ,libsecret)
2117 ("udisks" ,udisks)))
2118 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
2119 (synopsis "Disk management utility for GNOME")
2120 (description "Disk management utility for GNOME.")
2121 (license license:gpl2+)))
2122
3d217317
RG
2123(define-public gnome-font-viewer
2124 (package
2125 (name "gnome-font-viewer")
2126 (version "3.30.0")
2127 (source (origin
2128 (method url-fetch)
2129 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
2130 (version-major+minor version)
2131 "/gnome-font-viewer-" version ".tar.xz"))
2132 (sha256
2133 (base32
2134 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
2135 (build-system meson-build-system)
2136 (arguments
2137 '(#:phases
2138 (modify-phases %standard-phases
2139 (add-after 'unpack 'patch-post-install-script
2140 (lambda _
2141 (substitute* "meson-postinstall.sh"
2142 (("update-desktop-database") (which "true")))
2143 #t)))))
2144 (native-inputs
2145 `(("gettext" ,gettext-minimal)
2146 ("glib:bin" ,glib "bin")
2147 ("pkg-config" ,pkg-config)))
2148 (inputs
2149 `(("glib" ,glib)
2150 ("gnome-desktop" ,gnome-desktop)
2151 ("gtk+" ,gtk+)))
2152 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
2153 (synopsis "GNOME Fonts")
2154 (description "Application to show you the fonts installed on your computer
2155for your use as thumbnails. Selecting any thumbnails shows the full view of how
2156the font would look under various sizes.")
2157 (license license:gpl2+)))
2158
8ff49011
RW
2159(define-public gcr
2160 (package
2161 (name "gcr")
1de804da 2162 (version "3.34.0")
8ff49011 2163 (source (origin
0daf0efb
RW
2164 (method url-fetch)
2165 (uri (string-append "mirror://gnome/sources/" name "/"
2166 (version-major+minor version) "/"
2167 name "-" version ".tar.xz"))
2168 (sha256
2169 (base32
1de804da 2170 "0925snsixzkwh49xiayqmj6fcrmklqk8kyy0jkv7m64h9abm1pr9"))))
8ff49011
RW
2171 (build-system gnu-build-system)
2172 (arguments
0daf0efb
RW
2173 '(#:phases
2174 (modify-phases %standard-phases
2175 ;; These fail because /var/lib/dbus/machine-id is not present in the
2176 ;; build environment.
2177 (add-after 'unpack 'disable-failing-tests
2178 (lambda _
1de804da
MB
2179 (substitute* "Makefile.in"
2180 (("[[:blank:]]+test-system-prompt\\$\\(EXEEXT\\)")
2181 ""))
0daf0efb
RW
2182 #t))
2183 (add-before 'check 'pre-check
2184 (lambda _
2185 ;; Some tests expect to write to $HOME.
2186 (setenv "HOME" "/tmp")
2187 #t)))))
8ff49011
RW
2188 (inputs
2189 `(("dbus" ,dbus)
0daf0efb 2190 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
2191 ("libgcrypt" ,libgcrypt)))
2192 (native-inputs
1de804da 2193 `(("python" ,python-wrapper) ;for tests
8ff49011 2194 ("pkg-config" ,pkg-config)
1de804da 2195 ("gettext" ,gettext-minimal)
8ff49011 2196 ("glib" ,glib "bin")
2af4f5b0 2197 ("gobject-introspection" ,gobject-introspection)
0daf0efb 2198 ("libxml2" ,libxml2)
bea6b829 2199 ("vala" ,vala)
2af4f5b0 2200 ("xsltproc" ,libxslt)))
8ff49011
RW
2201 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
2202 (propagated-inputs
2203 `(("p11-kit" ,p11-kit)
2204 ("glib" ,glib)
2205 ("gtk+" ,gtk+)))
f032d0be 2206 (home-page "https://www.gnome.org")
8ff49011
RW
2207 (synopsis "Libraries for displaying certificates and accessing key stores")
2208 (description
2209 "The GCR package contains libraries used for displaying certificates and
2210accessing key stores. It also provides the viewer for crypto files on the
2211GNOME Desktop.")
2212 (license license:lgpl2.1+)))
2213
88e61bd4
MC
2214(define-public gdl
2215 (package
2216 (name "gdl")
2217 (version "3.34.0")
2218 (source (origin
2219 (method git-fetch)
2220 (uri (git-reference
2221 (url "https://gitlab.gnome.org/GNOME/gdl.git")
2222 (commit (string-append "GDL_" (string-map (match-lambda
2223 (#\. #\_)
2224 (c c))
2225 version)))))
2226 (file-name (git-file-name name version))
2227 (sha256
2228 (base32
2229 "154qcr0x6f68f4q526y87imv0rscmp34n47nk1pp82rsq52h2zna"))))
2230 (build-system gnu-build-system)
88e61bd4
MC
2231 (native-inputs
2232 `(("autoconf" ,autoconf)
2233 ("automake" ,automake)
2234 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
2235 ("gnome-common" ,gnome-common)
2236 ("gtk-doc" ,gtk-doc)
2237 ("intltool" ,intltool)
2238 ("pkg-config" ,pkg-config)
2239 ("libtool" ,libtool)
2240 ("which" ,which)))
2241 (inputs
2242 `(("libxml2" ,libxml2)))
2243 (propagated-inputs
2244 ;; The gdl-3.0.pc file 'Requires' GTK+.
2245 `(("gtk+" ,gtk+)))
2246 (home-page "https://gitlab.gnome.org/GNOME/gdl/")
2247 (synopsis "GNOME docking library")
2248 (description "This library provides docking features for gtk+.")
2249 (license license:lgpl2.1+)))
2250
ca3adf26
MC
2251;;; A minimal variant used to break a cycle with Inkscape.
2252(define-public gdl-minimal
2253 (package
2254 (inherit gdl)
2255 (name "gdl-minimal")
2256 (arguments
70cf0113
EF
2257 '(#:phases
2258 (modify-phases %standard-phases
2259 (add-after 'unpack 'disable-doc-generation
2260 ;; XXX: There is no easy way to disable generating the
2261 ;; documentation.
2262 (lambda _
2263 (substitute* "configure.in"
2264 (("GTK_DOC_CHECK.*") "")
2265 (("docs/.*") ""))
2266 (substitute* "Makefile.am"
2267 (("gdl docs po") "gdl po"))
2268 #t)))))
ca3adf26
MC
2269 (native-inputs (alist-delete "gtk-doc" (package-native-inputs gdl)))))
2270
c1354b90
LC
2271(define-public libgnome-keyring
2272 (package
2273 (name "libgnome-keyring")
5e8aec2c 2274 (version "3.12.0")
c1354b90
LC
2275 (source (origin
2276 (method url-fetch)
b38e45d8
EB
2277 (uri (string-append "mirror://gnome/sources/" name "/"
2278 (version-major+minor version) "/"
2279 name "-" version ".tar.xz"))
c1354b90
LC
2280 (sha256
2281 (base32
5e8aec2c 2282 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 2283 (build-system gnu-build-system)
c1354b90 2284 (inputs
c4c4cc05 2285 `(("libgcrypt" ,libgcrypt)
c1354b90 2286 ("dbus" ,dbus)))
c4c4cc05
JD
2287 (native-inputs
2288 `(("pkg-config" ,pkg-config)
426adbe8 2289 ("glib" ,glib "bin")
c4c4cc05 2290 ("intltool" ,intltool)))
c1354b90
LC
2291 (propagated-inputs
2292 ;; Referred to in .h files and .pc.
2293 `(("glib" ,glib)))
f032d0be 2294 (home-page "https://www.gnome.org")
c1354b90
LC
2295 (synopsis "Accessing passwords from the GNOME keyring")
2296 (description
2297 "Client library to access passwords from the GNOME keyring.")
2298
2299 ;; Though a couple of files are LGPLv2.1+.
1dd26275 2300 (license license:lgpl2.0+)))
c1354b90 2301
e99a3d6f
RW
2302(define-public gnome-keyring
2303 (package
2304 (name "gnome-keyring")
14faeadd 2305 (version "3.34.0")
e99a3d6f
RW
2306 (source (origin
2307 (method url-fetch)
2308 (uri (string-append "mirror://gnome/sources/" name "/"
2309 (version-major+minor version) "/"
2310 name "-" version ".tar.xz"))
2311 (sha256
2312 (base32
14faeadd 2313 "0hqrsh5g9q9lm190f0m85q4nki8k4ng7wphl6qbccdry59aakkg9"))))
e99a3d6f
RW
2314 (build-system gnu-build-system)
2315 (arguments
2316 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
2317 ;not exist
2318 #:configure-flags
2319 (list
2320 (string-append "--with-pkcs11-config="
2321 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
2322 (string-append "--with-pkcs11-modules="
2323 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
2324 #:phases
2325 (modify-phases %standard-phases
ab35cc6e
RW
2326 (add-after 'unpack 'fix-/bin/sh-reference
2327 (lambda _
2328 (substitute* "po/Makefile.in.in"
2329 (("/bin/sh") (which "sh")))
2330 #t))
5120f24f
RW
2331 (add-after 'unpack 'fix-docbook
2332 (lambda* (#:key inputs #:allow-other-keys)
2333 (substitute* "docs/Makefile.am"
2334 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2335 (string-append (assoc-ref inputs "docbook-xsl")
2336 "/xml/xsl/docbook-xsl-"
2337 ,(package-version docbook-xsl)
2338 "/manpages/docbook.xsl")))
2339 (setenv "XML_CATALOG_FILES"
2340 (string-append (assoc-ref inputs "docbook-xml")
2341 "/xml/dtd/docbook/catalog.xml"))
2342 ;; Rerun the whole thing to avoid version mismatch ("This is
2343 ;; Automake 1.15.1, but the definition used by this
2344 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
2345 ;; use 'autoreconf' because it insists on running 'libtoolize'.
2346 (invoke "autoconf")
2347 (invoke "aclocal")
2348 (invoke "automake" "-ac"))))))
e99a3d6f
RW
2349 (inputs
2350 `(("libgcrypt" ,libgcrypt)
1a0b2d82 2351 ("linux-pam" ,linux-pam)
ab35cc6e 2352 ("openssh" ,openssh)
e99a3d6f
RW
2353 ("dbus" ,dbus)
2354 ("gcr" ,gcr)))
2355 (native-inputs
2356 `(("pkg-config" ,pkg-config)
2357 ("glib" ,glib "bin")
5120f24f 2358 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
2359 ("python" ,python-2) ;for tests
2360 ("intltool" ,intltool)
2361 ("autoconf" ,autoconf)
2362 ("automake" ,automake)
2363 ("libxslt" ,libxslt) ;for documentation
2364 ("docbook-xml" ,docbook-xml-4.2)
2365 ("docbook-xsl" ,docbook-xsl)))
f032d0be 2366 (home-page "https://www.gnome.org")
e99a3d6f
RW
2367 (synopsis "Daemon to store passwords and encryption keys")
2368 (description
2369 "gnome-keyring is a program that keeps passwords and other secrets for
2370users. It is run as a daemon in the session, similar to ssh-agent, and other
2371applications locate it via an environment variable or D-Bus.
2372
2373The program can manage several keyrings, each with its own master password,
2374and there is also a session keyring which is never stored to disk, but
2375forgotten when the session ends.")
2376 (license license:lgpl2.1+)))
2377
c1354b90
LC
2378(define-public evince
2379 (package
2380 (name "evince")
de08b5b2 2381 (version "3.36.5")
c1354b90
LC
2382 (source (origin
2383 (method url-fetch)
ac631328 2384 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 2385 (version-major+minor version) "/"
ac631328 2386 "evince-" version ".tar.xz"))
c1354b90
LC
2387 (sha256
2388 (base32
de08b5b2 2389 "0z79jl0j9xq9wgwkfr0d1w1qrdy4447y8shs407n5srr0vixc3bg"))))
121de2e1 2390 (build-system glib-or-gtk-build-system)
c1354b90 2391 (arguments
169b8f77 2392 `(#:configure-flags '("--disable-nautilus" "--enable-introspection")
554b2dac
SB
2393 #:phases
2394 (modify-phases %standard-phases
2395 (add-before 'install 'skip-gtk-update-icon-cache
2396 ;; Don't create 'icon-theme.cache'.
2397 (lambda _
2398 (substitute* "data/Makefile"
2399 (("gtk-update-icon-cache") "true"))
2400 #t)))))
c1354b90 2401 (inputs
9a096881
KK
2402 `(("libarchive" ,libarchive)
2403 ("libgxps" ,libgxps)
2404 ("libspectre" ,libspectre)
c769cf9f 2405 ("djvulibre" ,djvulibre)
c1354b90
LC
2406 ("ghostscript" ,ghostscript)
2407 ("poppler" ,poppler)
c769cf9f
SB
2408 ("libtiff" ,libtiff)
2409 ;; TODO:
c769cf9f
SB
2410 ;; Build libkpathsea as a shared library for DVI support.
2411 ;; ("libkpathsea" ,texlive-bin)
2412 ("gnome-desktop" ,gnome-desktop)
c1354b90 2413 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 2414 ("gspell" ,gspell)
c1354b90 2415 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 2416 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
2417 ("gdk-pixbuf" ,gdk-pixbuf)
2418 ("atk" ,atk)
2419 ("pango" ,pango)
2420 ("gtk+" ,gtk+)
2421 ("glib" ,glib)
2422 ("libxml2" ,libxml2)
c1354b90
LC
2423 ("libsm" ,libsm)
2424 ("libice" ,libice)
96e42467 2425 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
2426 ("dconf" ,dconf)
2427 ("libcanberra" ,libcanberra)
c769cf9f 2428 ("libsecret" ,libsecret)
a271096b 2429
c1354b90
LC
2430 ;; For tests.
2431 ("dogtail" ,python2-dogtail)))
96e42467 2432 (native-inputs
bcb354ad
SB
2433 `(("itstool" ,itstool)
2434 ("intltool" ,intltool)
426adbe8 2435 ("glib" ,glib "bin")
169b8f77 2436 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
2437 ("pkg-config" ,pkg-config)
2438 ("xmllint" ,libxml2)))
6f64a05e 2439 (home-page "https://www.gnome.org/projects/evince/")
c1354b90
LC
2440 (synopsis "GNOME's document viewer")
2441 (description
2442 "Evince is a document viewer for multiple document formats. It
2443currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
2444of Evince is to replace the multiple document viewers that exist
96e42467 2445on the GNOME Desktop with a single simple application.")
1dd26275 2446 (license license:gpl2+)))
c1354b90 2447
22e32e69
AE
2448(define-public gsettings-desktop-schemas
2449 (package
2450 (name "gsettings-desktop-schemas")
8468117e 2451 (version "3.34.0")
22e32e69
AE
2452 (source
2453 (origin
2454 (method url-fetch)
2455 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2456 (version-major+minor version) "/"
22e32e69
AE
2457 name "-" version ".tar.xz"))
2458 (sha256
2459 (base32
8468117e 2460 "1bayr76aylawf2fhyjhv9zgk4kpv7ivrrmd80khb0h3h1wk092r8"))))
c900dabd 2461 (build-system meson-build-system)
65209ffa
LC
2462 (arguments
2463 '(#:phases (modify-phases %standard-phases
3861fb1c 2464 (add-after 'unpack 'patch-schemas
65209ffa 2465 (lambda* (#:key inputs #:allow-other-keys)
65209ffa
LC
2466 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
2467 (substitute* (find-files "schemas"
2468 "\\.gschema\\.xml\\.in$")
3861fb1c
LP
2469 ;; Provide the correct file name of the default GNOME
2470 ;; background, 'adwaita-timed.xml'.
65209ffa 2471 (("@datadir@/backgrounds/gnome")
3861fb1c
LP
2472 (string-append theme "/share/backgrounds/gnome"))
2473 ;; Do not reference fonts, that may not exist.
2474 (("'Source Code Pro 10'") "'Monospace 11'"))
65209ffa 2475 #t))))))
22e32e69 2476 (inputs
65209ffa
LC
2477 `(("glib" ,glib)
2478 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
2479 (native-inputs
2480 `(("intltool" ,intltool)
426adbe8 2481 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 2482 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
2483 ("pkg-config" ,pkg-config)))
2484 (home-page "https://launchpad.net/gsettings-desktop-schemas")
2485 (synopsis
2486 "GNOME settings for various desktop components")
2487 (description
2488 "Gsettings-desktop-schemas contains a collection of GSettings schemas
2489for settings shared by various components of the GNOME desktop.")
1dd26275 2490 (license license:lgpl2.1+)))
22e32e69 2491
27477d2d
AE
2492(define-public icon-naming-utils
2493 (package
2494 (name "icon-naming-utils")
2495 (version "0.8.90")
2496 (source
2497 (origin
2498 (method url-fetch)
5cc3096c 2499 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
2500 version ".tar.bz2"))
2501 (sha256
2502 (base32
2503 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
2504 (build-system gnu-build-system)
2505 (inputs
2506 `(("perl" ,perl)
2507 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
2508 (arguments
2509 '(#:phases
dc1d3cde
KK
2510 (modify-phases %standard-phases
2511 (add-after 'install 'set-load-paths
2512 ;; Tell 'icon-name-mapping' where XML::Simple is.
2513 (lambda* (#:key outputs #:allow-other-keys)
2514 (let* ((out (assoc-ref outputs "out"))
2515 (prog (string-append out "/libexec/icon-name-mapping")))
2516 (wrap-program
2517 prog
2518 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
2519 #t)))))
27477d2d
AE
2520 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
2521 (synopsis
2522 "Utility to implement the Freedesktop Icon Naming Specification")
2523 (description
2524 "To help with the transition to the Freedesktop Icon Naming
2525Specification, the icon naming utility maps the icon names used by the
2526GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 2527 (license license:lgpl2.1+)))
27477d2d 2528
7d3f3651
AE
2529(define-public gnome-icon-theme
2530 (package
2531 (name "gnome-icon-theme")
b32f58dd 2532 (version "3.12.0")
7d3f3651
AE
2533 (source
2534 (origin
2535 (method url-fetch)
2536 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2537 (version-major+minor version) "/"
7d3f3651
AE
2538 name "-" version ".tar.xz"))
2539 (sha256
2540 (base32
b32f58dd 2541 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 2542 (build-system gnu-build-system)
5613c27d
SB
2543 (arguments
2544 '(#:configure-flags
2545 ;; Don't create 'icon-theme.cache'.
2546 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
2547 (true (string-append coreutils "/bin/true")))
2548 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 2549 (native-inputs
5613c27d 2550 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
2551 ("intltool" ,intltool)
2552 ("pkg-config" ,pkg-config)))
5c610d4f
KK
2553 (home-page "https://wiki.gnome.org/Personalization")
2554 (synopsis "GNOME icon theme")
2555 (description "Icons for the GNOME desktop.")
1dd26275 2556 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 2557
14eeefa2
SB
2558;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
2559(define-public adwaita-icon-theme
2560 (package (inherit gnome-icon-theme)
2561 (name "adwaita-icon-theme")
e21788f2 2562 (version "3.34.3")
14eeefa2
SB
2563 (source (origin
2564 (method url-fetch)
2565 (uri (string-append "mirror://gnome/sources/" name "/"
2566 (version-major+minor version) "/"
2567 name "-" version ".tar.xz"))
2568 (sha256
2569 (base32
e21788f2 2570 "025rj1fskw1y448hiar4a9icyzpyr242nlh9xhsmyp8jb71dihp7"))))
5613c27d
SB
2571 (native-inputs
2572 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 2573
ae792dba
RW
2574(define-public tango-icon-theme
2575 (package
2576 (name "tango-icon-theme")
2577 (version "0.8.90")
2578 (source (origin
2579 (method url-fetch)
2580 (uri (string-append "http://tango.freedesktop.org/releases/"
2581 "tango-icon-theme-" version ".tar.bz2"))
2582 (sha256
2583 (base32
2584 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
2585 (build-system gnu-build-system)
2586 (native-inputs
2587 `(("icon-naming-utils" ,icon-naming-utils)
2588 ("intltool" ,intltool)
2589 ("imagemagick" ,imagemagick)
2590 ("pkg-config" ,pkg-config)))
2591 (home-page "http://tango-project.org/")
2592 (synopsis "Tango icon theme")
2593 (description "This is an icon theme that follows the Tango visual
2594guidelines.")
2595 (license license:public-domain)))
2596
9167f8e6
LC
2597(define-public shared-mime-info
2598 (package
2599 (name "shared-mime-info")
404e386e 2600 (version "1.15")
9167f8e6
LC
2601 (source (origin
2602 (method url-fetch)
404e386e
MB
2603 (uri (string-append
2604 "https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/"
2605 "b27eb88e4155d8fccb8bb3cd12025d5b/shared-mime-info-" version
2606 ".tar.xz"))
9167f8e6
LC
2607 (sha256
2608 (base32
404e386e 2609 "146vynj78wcwdq0ms52jzm1r4m6dzi1rhyh3h4xyb6bw8ckv10pl"))))
9167f8e6
LC
2610 (build-system gnu-build-system)
2611 (arguments
2612 ;; The build system appears not to be parallel-safe.
2613 '(#:parallel-build? #f))
2614 (inputs
2615 `(("glib" ,glib)
c4c4cc05 2616 ("libxml2" ,libxml2)))
9167f8e6 2617 (native-inputs
404e386e
MB
2618 `(("gettext" ,gettext-minimal)
2619 ("itstool" ,itstool)
c4c4cc05 2620 ("pkg-config" ,pkg-config)))
57e7d748 2621 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
2622 (synopsis "Database of common MIME types")
2623 (description
2624 "The shared-mime-info package contains the core database of common types
2625and the update-mime-database command used to extend it. It requires glib2 to
2626be installed for building the update command. Additionally, it uses intltool
2627for translations, though this is only a dependency for the maintainers. This
2628database is translated at Transifex.")
1dd26275 2629 (license license:gpl2+)))
9167f8e6 2630
dd1fcddc
CB
2631(define-public system-config-printer
2632 (package
2633 (name "system-config-printer")
fa01e10d 2634 (version "1.5.12")
a5643044
TGR
2635 (source
2636 (origin
2637 (method url-fetch)
2638 (uri (string-append
2639 "https://github.com/OpenPrinting/system-config-printer/releases/"
2640 "download/" version
2641 "/system-config-printer-" version ".tar.xz"))
2642 (sha256
fa01e10d 2643 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
2644 (build-system glib-or-gtk-build-system)
2645 (arguments
2646 `(#:imported-modules ((guix build python-build-system)
2647 ,@%glib-or-gtk-build-system-modules)
2648 #:phases
2649 (modify-phases %standard-phases
2650 (add-after 'unpack 'patch-Makefile.am
2651 (lambda _
2652 ;; The Makefile generates some scripts, so set a valid shebang
2653 (substitute* "Makefile.am"
2654 (("/bin/bash") (which "bash")))
2655 (delete-file "configure")
2656 #t))
2657 (add-after 'unpack 'patch-docbook-xml
2658 (lambda* (#:key inputs #:allow-other-keys)
2659 ;; Modify the man XML otherwise xmlto tries to access the network
2660 (substitute* "man/system-config-printer.xml"
2661 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
2662 (string-append (assoc-ref inputs "docbook-xml")
2663 "/xml/dtd/docbook/")))
2664 #t))
2665 (add-after 'install 'wrap-for-python
2666 (@@ (guix build python-build-system) wrap))
2667 (add-after 'install 'wrap
2668 (lambda* (#:key outputs #:allow-other-keys)
2669 (let ((out (assoc-ref outputs "out"))
2670 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
2671 (for-each
2672 (lambda (program)
2673 (wrap-program program
2674 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
2675 (map (lambda (name)
2676 (string-append out "/bin/" name))
2677 '("system-config-printer"
2678 "system-config-printer-applet"
2679 "install-printerdriver"
2680 "scp-dbus-service"))))
2681 #t)))))
2682 (inputs
2683 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2684 ("gobject-introspection" ,gobject-introspection)
2685 ("python" ,python)
2686 ("cups" ,cups)
92b9cdd5 2687 ("gtk+" ,gtk+)
dd1fcddc
CB
2688 ("python-dbus" ,python-dbus)
2689 ("python-pygobject" ,python-pygobject)
2690 ("python-pycups" ,python-pycups)
2691 ("python-requests" ,python-requests)
2692 ("python-pycairo" ,python-pycairo)
2693 ("libnotify" ,libnotify)
2694 ("packagekit" ,packagekit)))
2695 (native-inputs
2696 `(("pkg-config" ,pkg-config)
2697 ("desktop-file-utils" ,desktop-file-utils)
2698 ("glib" ,glib)
2699 ("autoconf" ,autoconf)
2700 ("automake" ,automake)
2701 ("intltool" ,intltool)
2702 ("xmlto" ,xmlto)
2703 ("docbook-xml" ,docbook-xml-4.1.2)
2704 ("docbook-xsl" ,docbook-xsl)
2705 ("libxml2" ,libxml2)))
2706 (home-page "https://github.com/zdohnal/system-config-printer")
2707 (synopsis "CUPS administration tool")
2708 (description
2709 "system-config-printer is a CUPS administration tool. It's written in
2710Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
2711configuring CUPS.")
2712 (license license:gpl2+)))
2713
bef4dd92
AE
2714(define-public hicolor-icon-theme
2715 (package
2716 (name "hicolor-icon-theme")
851cb6dd 2717 (version "0.17")
bef4dd92
AE
2718 (source
2719 (origin
2720 (method url-fetch)
5cc3096c 2721 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 2722 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
2723 (sha256
2724 (base32
851cb6dd 2725 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
2726 (build-system gnu-build-system)
2727 (arguments
2728 `(#:tests? #f)) ; no check target
57e7d748 2729 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
2730 (synopsis
2731 "Freedesktop icon theme")
2732 (description
2733 "Freedesktop icon theme.")
1dd26275 2734 (license license:gpl2)))
bef4dd92 2735
d9c1a22b
AE
2736(define-public libnotify
2737 (package
2738 (name "libnotify")
195bfa68 2739 (version "0.7.7")
d9c1a22b
AE
2740 (source
2741 (origin
2742 (method url-fetch)
2743 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2744 (version-major+minor version) "/"
d9c1a22b
AE
2745 name "-" version ".tar.xz"))
2746 (sha256
2747 (base32
195bfa68 2748 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 2749 (build-system gnu-build-system)
6acf6cec
MB
2750 (arguments
2751 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
2752 (propagated-inputs
2753 `(;; In Requires of libnotify.pc.
2754 ("gdk-pixbuf" ,gdk-pixbuf)
2755 ("glib" ,glib)))
d9c1a22b 2756 (inputs
7ef08efa 2757 `(("gtk+" ,gtk+)
c4c4cc05
JD
2758 ("libpng" ,libpng)))
2759 (native-inputs
426adbe8 2760 `(("pkg-config" ,pkg-config)
277a7d82
JN
2761 ("glib" ,glib "bin")
2762 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
2763 (home-page "https://developer-next.gnome.org/libnotify/")
2764 (synopsis
2765 "GNOME desktop notification library")
2766 (description
2767 "Libnotify is a library that sends desktop notifications to a
35b9e423 2768notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
2769notifications can be used to inform the user about an event or display
2770some form of information without getting in the user's way.")
1dd26275 2771 (license license:lgpl2.1+)))
7a8605ce
CR
2772
2773(define-public libpeas
2774 (package
2775 (name "libpeas")
f2d56e39 2776 (version "1.24.1")
7a8605ce
CR
2777 (source
2778 (origin
2779 (method url-fetch)
2780 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2781 (version-major+minor version) "/"
7a8605ce
CR
2782 name "-" version ".tar.xz"))
2783 (sha256
2784 (base32
f2d56e39
MB
2785 "1162dr7smmfb02czmhshr0f93hqj7w0nw29bys5lzfvwarxcyflw"))))
2786 (build-system meson-build-system)
2787 (arguments
2788 '(#:phases
2789 (modify-phases %standard-phases
2790 (add-before 'check 'start-xserver
2791 (lambda* (#:key inputs #:allow-other-keys)
2792 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2793 (disp ":1"))
2794 (setenv "DISPLAY" disp)
2795 ;; Tests require a running X server.
2796 (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))
2797 #t))))))
7a8605ce 2798 (inputs
2ed6522a
SB
2799 `(("gtk+" ,gtk+)
2800 ("glade" ,glade3)
2ed6522a
SB
2801 ("python" ,python)
2802 ("python-pygobject" ,python-pygobject)))
141aed80
LC
2803 (native-inputs
2804 `(("pkg-config" ,pkg-config)
f2d56e39 2805 ("gettext" ,gettext-minimal)
93622993 2806 ("glib:bin" ,glib "bin")
141aed80 2807 ("gobject-introspection" ,gobject-introspection)
f2d56e39 2808 ("xorg-server" ,xorg-server-for-tests)))
55b7bbd8
LC
2809 (propagated-inputs
2810 ;; The .pc file "Requires" gobject-introspection.
2811 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
2812 (home-page "https://wiki.gnome.org/Libpeas")
2813 (synopsis "GObject plugin system")
2814 (description
d1e4ad1b
TGR
2815 "Libpeas is a gobject-based plugin engine, targeted at giving every
2816application the chance to assume its own extensibility. It also has a set of
2817features including, but not limited to: multiple extension points; on-demand
2818(lazy) programming language support for C, Python and JS; simplicity of the
2819API.")
1dd26275 2820 (license license:lgpl2.0+)))
ed19903d
JD
2821
2822(define-public gtkglext
2823 (package
2824 (name "gtkglext")
2825 (version "1.2.0")
2826 (source (origin
2827 (method url-fetch)
0f971a04 2828 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
2829 version "/gtkglext-" version ".tar.gz"))
2830 (sha256
2831 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
2832 (patches (search-patches
2833 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 2834 (build-system gnu-build-system)
14e2f61a
RW
2835 (arguments
2836 `(#:phases
2837 (modify-phases %standard-phases
2838 ;; Fix a collision between a local variable and a definition from
2839 ;; glibc's string.h.
2840 (add-after 'unpack 'fix-collision
2841 (lambda _
2842 (substitute* "gdk/gdkglshapes.c"
2843 ((" index") " triangle_index"))
2844 #t)))))
ed19903d
JD
2845 (inputs `(("gtk+" ,gtk+-2)
2846 ("mesa" ,mesa)
cc8b02f4 2847 ("glu" ,glu)
ed19903d
JD
2848 ("libx11" ,libx11)
2849 ("libxt" ,libxt)))
426adbe8
LC
2850 (native-inputs `(("pkg-config" ,pkg-config)
2851 ("glib" ,glib "bin")))
a83b6a06 2852 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 2853 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 2854 (synopsis "OpenGL extension to GTK+")
35b9e423 2855 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
2856additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
2857API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 2858 (license license:lgpl2.1+)))
3600420e
JD
2859
2860(define-public glade3
2861 (package
2862 (name "glade")
031315e4 2863 (version "3.36.0")
b38e45d8
EB
2864 (source (origin
2865 (method url-fetch)
2866 (uri (string-append "mirror://gnome/sources/" name "/"
2867 (version-major+minor version) "/"
f5ca44b8 2868 name "-" version ".tar.xz"))
3600420e 2869 (sha256
f714d9fe 2870 (base32
031315e4 2871 "023gx8rj51njn8fsb6ma5kz1irjpxi4js0n8rwy22inc4ysldd8r"))))
6983ba56 2872 (build-system glib-or-gtk-build-system)
f5ca44b8 2873 (arguments
ec8e1c91 2874 `(#:phases
f5ca44b8
RW
2875 (modify-phases %standard-phases
2876 (add-before 'configure 'fix-docbook
2877 (lambda* (#:key inputs #:allow-other-keys)
2878 (substitute* "man/Makefile.in"
2879 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2880 (string-append (assoc-ref inputs "docbook-xsl")
2881 "/xml/xsl/docbook-xsl-"
2882 ,(package-version docbook-xsl)
2883 "/manpages/docbook.xsl")))
ec8e1c91
AI
2884 #t))
2885 (add-before 'check 'pre-check
2886 (lambda _
2887 (setenv "HOME" "/tmp")
2888 ;; Tests require a running X server.
2889 (system "Xvfb :1 &")
2890 (setenv "DISPLAY" ":1")
f5ca44b8 2891 #t)))))
3600420e 2892 (inputs
f5ca44b8 2893 `(("gtk+" ,gtk+)
3600420e
JD
2894 ("libxml2" ,libxml2)))
2895 (native-inputs
ec8e1c91
AI
2896 `(("hicolor-icon-theme" ,hicolor-icon-theme)
2897 ("intltool" ,intltool)
f5ca44b8
RW
2898 ("itstool" ,itstool)
2899 ("libxslt" ,libxslt) ;for xsltproc
2900 ("docbook-xml" ,docbook-xml-4.2)
2901 ("docbook-xsl" ,docbook-xsl)
2902 ("python" ,python-2)
ec8e1c91
AI
2903 ("pkg-config" ,pkg-config)
2904 ("xorg-server" ,xorg-server-for-tests)))
3600420e
JD
2905 (home-page "https://glade.gnome.org")
2906 (synopsis "GTK+ rapid application development tool")
2907 (description "Glade is a rapid application development (RAD) tool to
2908enable quick & easy development of user interfaces for the GTK+ toolkit and
2909the GNOME desktop environment.")
1dd26275
LC
2910 (license license:lgpl2.0+)))
2911
2912(define-public libcroco
2913 (package
2914 (name "libcroco")
8bdacad2 2915 (version "0.6.13")
1dd26275
LC
2916 (source (origin
2917 (method url-fetch)
b38e45d8
EB
2918 (uri (string-append "mirror://gnome/sources/" name "/"
2919 (version-major+minor version) "/"
2920 name "-" version ".tar.xz"))
1dd26275
LC
2921 (sha256
2922 (base32
8bdacad2 2923 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
2924 (build-system gnu-build-system)
2925 (native-inputs
2926 `(("pkg-config" ,pkg-config)))
2927 (inputs
2928 `(("glib" ,glib)
2929 ("libxml2" ,libxml2)
2930 ("zlib" ,zlib)))
2931 (home-page "https://github.com/GNOME/libcroco")
2932 (synopsis "CSS2 parsing and manipulation library")
2933 (description
2934 "Libcroco is a standalone CSS2 parsing and manipulation library.
2935The parser provides a low level event driven SAC-like API and a CSS object
2936model like API. Libcroco provides a CSS2 selection engine and an experimental
2937XML/CSS rendering engine.")
2938
2939 ;; LGPLv2.1-only.
2940 (license license:lgpl2.1)))
25178594
LC
2941
2942(define-public libgsf
2943 (package
2944 (name "libgsf")
2b9b854c 2945 (version "1.14.47")
25178594
LC
2946 (source (origin
2947 (method url-fetch)
b38e45d8
EB
2948 (uri (string-append "mirror://gnome/sources/" name "/"
2949 (version-major+minor version) "/"
2950 name "-" version ".tar.xz"))
25178594
LC
2951 (sha256
2952 (base32
2b9b854c 2953 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
25178594 2954 (build-system gnu-build-system)
23904adb
MB
2955 (arguments
2956 '(#:configure-flags '("--disable-static")))
25178594 2957 (native-inputs
0a1559cc
MB
2958 `(("pkg-config" ,pkg-config)
2959 ("gettext" ,gettext-minimal)
2960
2961 ;; For tests.
2962 ("perl" ,perl)
2963 ("perl-xml-parser" ,perl-xml-parser)))
25178594 2964 (inputs
4ffa9f6b 2965 `(("zlib" ,zlib)
25178594
LC
2966 ("bzip2" ,bzip2)))
2967 (propagated-inputs
2968 `(("gdk-pixbuf" ,gdk-pixbuf)
2969 ("glib" ,glib)
2970 ("libxml2" ,libxml2)))
f032d0be 2971 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
2972 (synopsis "GNOME's Structured File Library")
2973 (description
2974 "Libgsf aims to provide an efficient extensible I/O abstraction for
2975dealing with different structured file formats.")
2976
2977 ;; LGPLv2.1-only.
2978 (license license:lgpl2.1)))
63016e7c
LC
2979
2980(define-public librsvg
f67417a1
MB
2981 (package
2982 (name "librsvg")
c1cc52a2 2983 (version "2.40.21")
f67417a1
MB
2984 (source (origin
2985 (method url-fetch)
2986 (uri (string-append "mirror://gnome/sources/" name "/"
2987 (version-major+minor version) "/"
2988 name "-" version ".tar.xz"))
2989 (sha256
2990 (base32
c1cc52a2 2991 "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))
f67417a1
MB
2992 (build-system gnu-build-system)
2993 (arguments
2994 `(#:configure-flags
2995 (list "--disable-static"
2996 "--enable-vala") ; needed for e.g. gnome-mines
2997 #:phases
2998 (modify-phases %standard-phases
2999 (add-before 'configure 'pre-configure
3000 (lambda* (#:key inputs #:allow-other-keys)
3001 (substitute* "gdk-pixbuf-loader/Makefile.in"
3002 ;; By default the gdk-pixbuf loader is installed under
3003 ;; gdk-pixbuf's prefix. Work around that.
3004 (("gdk_pixbuf_moduledir = .*$")
3005 (string-append "gdk_pixbuf_moduledir = "
3006 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
3007 "loaders\n"))
3008 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
3009 (("gdk_pixbuf_cache_file = .*$")
3010 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
3011 #t))
3012 (add-before 'check 'remove-failing-tests
3013 (lambda _
3014 (with-directory-excursion "tests/fixtures/reftests"
3015 (for-each delete-file
3016 '(;; This test fails on i686:
3017 "svg1.1/masking-path-04-b.svg"
3018 ;; This test fails on armhf:
3019 "svg1.1/masking-mask-01-b.svg"
3020 ;; This test fails on aarch64:
3021 "bugs/777834-empty-text-children.svg")))
3022 #t)))))
3023 (native-inputs
3024 `(("pkg-config" ,pkg-config)
3025 ("vala" ,vala)
3026 ("glib" ,glib "bin") ; glib-mkenums, etc.
3027 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
3028 (inputs
869b63cb
MB
3029 `(;; XXX: 1.44 causes some test failures, so we stick with 1.42 for
3030 ;; this ancient version of librsvg.
3031 ("pango" ,pango-1.42)
f67417a1
MB
3032 ("libcroco" ,libcroco)
3033 ("bzip2" ,bzip2)
3034 ("libgsf" ,libgsf)
3035 ("libxml2" ,libxml2)))
3036 (propagated-inputs
3037 ;; librsvg-2.0.pc refers to all of that.
3038 `(("cairo" ,cairo)
3039 ("gdk-pixbuf" ,gdk-pixbuf)
3040 ("glib" ,glib)))
3041 (home-page "https://wiki.gnome.org/LibRsvg")
3042 (synopsis "Render SVG files using Cairo")
3043 (description
3044 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
3045library.")
3046 (license license:lgpl2.0+)))
3047
3048(define-public librsvg-next
63016e7c
LC
3049 (package
3050 (name "librsvg")
4f9db569 3051 (version "2.48.8")
69568670
EF
3052 (source (origin
3053 (method url-fetch)
3054 (uri (string-append "mirror://gnome/sources/librsvg/"
3055 (version-major+minor version) "/"
3056 "librsvg-" version ".tar.xz"))
3057 (sha256
3058 (base32
4f9db569 3059 "14i6xzghcidv64cyd3g0wdjbl82rph737yxn9s3x29nzpcjs707l"))
69568670
EF
3060 (modules '((guix build utils)))
3061 (snippet
3062 '(begin (delete-file-recursively "vendor")
69568670
EF
3063 #t))))
3064 (build-system cargo-build-system)
b030bc0c 3065 (outputs '("out" "doc"))
63016e7c 3066 (arguments
b030bc0c
RG
3067 `(#:modules
3068 ((guix build cargo-build-system)
3069 (guix build utils)
3070 ((guix build gnu-build-system) #:prefix gnu:))
69568670
EF
3071 #:cargo-inputs
3072 (("rust-bitflags" ,rust-bitflags-1)
4f9db569 3073 ("rust-cairo-rs" ,rust-cairo-rs-0.8)
69568670 3074 ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
4f9db569
EF
3075 ("rust-cast" ,rust-cast-0.2)
3076 ("rust-cssparser" ,rust-cssparser-0.27)
69568670
EF
3077 ("rust-data-url" ,rust-data-url-0.1)
3078 ("rust-downcast-rs" ,rust-downcast-rs-1.1)
3079 ("rust-encoding" ,rust-encoding-0.2)
4f9db569
EF
3080 ("rust-float-cmp" ,rust-float-cmp-0.6)
3081 ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8)
69568670 3082 ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
4f9db569 3083 ("rust-gio" ,rust-gio-0.8)
69568670 3084 ("rust-gio-sys" ,rust-gio-sys-0.9)
4f9db569 3085 ("rust-glib" ,rust-glib-0.9)
69568670
EF
3086 ("rust-glib-sys" ,rust-glib-sys-0.9)
3087 ("rust-gobject-sys" ,rust-gobject-sys-0.9)
3088 ("rust-itertools" ,rust-itertools-0.8)
3089 ("rust-language-tags" ,rust-language-tags-0.2)
69568670
EF
3090 ("rust-libc" ,rust-libc-0.2)
3091 ("rust-locale-config" ,rust-locale-config-0.3)
4f9db569
EF
3092 ("rust-markup5ever" ,rust-markup5ever-0.10)
3093 ("rust-nalgebra" ,rust-nalgebra-0.19)
69568670 3094 ("rust-num-traits" ,rust-num-traits-0.2)
4f9db569 3095 ("rust-once-cell" ,rust-once-cell-1.2)
69568670 3096 ("rust-pkg-config" ,rust-pkg-config-0.3)
4f9db569 3097 ("rust-pango" ,rust-pango-0.8)
69568670 3098 ("rust-pango-sys" ,rust-pango-sys-0.9)
4f9db569 3099 ("rust-pangocairo" ,rust-pangocairo-0.9)
a5630553 3100 ("rust-rayon" ,rust-rayon-1)
69568670 3101 ("rust-rctree" ,rust-rctree-0.3)
4f9db569 3102 ("rust-rgb" ,rust-rgb-0.8)
6cd7b355 3103 ("rust-regex" ,rust-regex-1)
4f9db569 3104 ("rust-selectors" ,rust-selectors-0.22)
69568670 3105 ("rust-url" ,rust-url-2.1)
4f9db569 3106 ("rust-xml5ever" ,rust-xml5ever-0.16))
69568670 3107 #:cargo-development-inputs
4f9db569
EF
3108 (("rust-cairo-rs" ,rust-cairo-rs-0.8)
3109 ("rust-criterion" ,rust-criterion-0.3))
ec47c07d 3110 #:phases
b6239e45 3111 (modify-phases %standard-phases
b030bc0c
RG
3112 (add-after 'unpack 'patch-docbook-xml
3113 (lambda* (#:key inputs #:allow-other-keys)
3114 (with-directory-excursion "doc"
3115 (substitute* "rsvg-docs.xml"
3116 (("http://www.oasis-open.org/docbook/xml/4.3/")
3117 (string-append (assoc-ref inputs "docbook-xml")
3118 "/xml/dtd/docbook/"))))
3119 #t))
69568670 3120 (add-after 'unpack 'prepare-for-build
ec47c07d 3121 (lambda _
69568670 3122 ;; In lieu of #:make-flags
4f9db569 3123 (setenv "CC" ,(cc-for-target))
69568670
EF
3124 ;; Something about the build environment resists building
3125 ;; successfully with the '--locked' flag.
b030bc0c 3126 (substitute* '("Makefile.am" "Makefile.in")
69568670
EF
3127 (("--locked") ""))
3128 #t))
b6239e45 3129 (add-before 'configure 'pre-configure
69568670 3130 (lambda _
b6239e45
EF
3131 (substitute* "gdk-pixbuf-loader/Makefile.in"
3132 ;; By default the gdk-pixbuf loader is installed under
3133 ;; gdk-pixbuf's prefix. Work around that.
3134 (("gdk_pixbuf_moduledir = .*$")
3135 (string-append "gdk_pixbuf_moduledir = "
3136 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
b030bc0c 3137 "loaders\n"))
b6239e45
EF
3138 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
3139 (("gdk_pixbuf_cache_file = .*$")
3140 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
3141 #t))
69568670 3142 (add-after 'configure 'gnu-configure
4b16cb64
EF
3143 (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
3144 ((assoc-ref gnu:%standard-phases 'configure)
3145 #:native-inputs native-inputs
3146 #:inputs inputs
3147 #:outputs outputs
b030bc0c
RG
3148 #:configure-flags
3149 (list "--disable-static"
3150 "--enable-vala"
3151 (string-append "--with-html-dir="
3152 (assoc-ref %outputs "doc")
3153 "/share/gtk-doc/html")))))
69568670
EF
3154 (add-after 'configure 'dont-vendor-self
3155 (lambda* (#:key vendor-dir #:allow-other-keys)
3156 ;; Don't keep the whole tarball in the vendor directory
3157 (delete-file-recursively
b030bc0c 3158 (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))
69568670
EF
3159 #t))
3160 (replace 'build
3161 (assoc-ref gnu:%standard-phases 'build))
3162 (replace 'check
3163 (lambda* args
3164 ((assoc-ref gnu:%standard-phases 'check)
3165 #:test-target "check")))
3166 (replace 'install
4f9db569 3167 (assoc-ref gnu:%standard-phases 'install)))))
b030bc0c
RG
3168 (native-inputs
3169 `(("docbook-xml" ,docbook-xml-4.3)
3170 ("glib" ,glib "bin")
3171 ("gobject-introspection" ,gobject-introspection)
3172 ("pkg-config" ,pkg-config)
3173 ("python" ,python-wrapper)
3174 ("ruby" ,ruby)
3175 ("vala" ,vala)))
4f9db569 3176 (inputs
b030bc0c
RG
3177 `(("bzip2" ,bzip2)
3178 ("fontconfig" ,fontconfig)
3179 ("freetype" ,freetype)
3180 ("harfbuzz" ,harfbuzz)
3181 ("libcroco" ,libcroco)
3182 ("libgsf" ,libgsf)
3183 ("libxml2" ,libxml2)
3184 ("pango" ,pango)))
3185 (propagated-inputs
3186 `(("cairo" ,cairo)
3187 ("gdk-pixbuf" ,gdk-pixbuf)
3188 ("glib" ,glib)))
3189 (synopsis "SVG rendering library")
3190 (description "Librsvg is a library to render SVG images to Cairo surfaces.
3191GNOME uses this to render SVG icons. Outside of GNOME, other desktop
3192environments use it for similar purposes. Wikimedia uses it for Wikipedia's SVG
3193diagrams.")
3194 (home-page "https://wiki.gnome.org/LibRsvg")
cf9dad6c 3195 (license license:lgpl2.1+)))
5698b8b8
JD
3196
3197(define-public libidl
3198 (package
3199 (name "libidl")
3200 (version "0.8.14")
3201 (source (origin
3202 (method url-fetch)
80a06e62
EF
3203 (uri (string-append "mirror://gnome/sources/libIDL/"
3204 (version-major+minor version) "/"
3205 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
3206 (sha256
3207 (base32
3208 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
3209 (build-system gnu-build-system)
3210 (inputs `(("glib" ,glib)))
3211 (native-inputs
3212 `(("pkg-config" ,pkg-config)
b3546174 3213 ("flex" ,flex)
5698b8b8
JD
3214 ("bison" ,bison)))
3215 (home-page "http://freecode.com/projects/libidl")
3216 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 3217 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
3218Definition Language (idl) files, which is a specification for defining
3219portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 3220GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 3221functionality was designed to be as reusable and portable as possible.")
ef2c55bb 3222 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
3223 (license license:lgpl2.0+)))
3224
3225
3226(define-public orbit2
3227 (package
3228 (name "orbit2")
3229 (version "2.14.19")
3230 (source (origin
3231 (method url-fetch)
2e6ecc5c 3232 (uri (let ((upstream-name "ORBit2"))
a124bbd2 3233 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
3234 (version-major+minor version) "/"
3235 upstream-name "-" version ".tar.bz2")))
5698b8b8 3236 (sha256
a124bbd2
SB
3237 (base32
3238 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
3239 (build-system gnu-build-system)
3240 (arguments
c2d837b9
MB
3241 `(;; The "timeout-server" test hangs when run in parallel.
3242 #:parallel-tests? #f
3243 #:configure-flags
8aad2e32
LC
3244 '(;; We don't need static libraries, plus they don't build reproducibly
3245 ;; (non-deterministic ordering of .o files in the archive.)
3246 "--disable-static"
3247
3248 ;; The programmer kindly gives us a hook to turn off deprecation
3249 ;; warnings ...
3250 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
3251 ;; ... which they then completly ignore !!
3252 #:phases
dc1d3cde
KK
3253 (modify-phases %standard-phases
3254 (add-before 'configure 'ignore-deprecations
3255 (lambda _
3256 (substitute* "linc2/src/Makefile.in"
3257 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
3258 #t)))))
5698b8b8
JD
3259 (inputs `(("glib" ,glib)
3260 ("libidl" ,libidl)))
3261 (native-inputs
3262 `(("pkg-config" ,pkg-config)))
3263 (home-page "https://projects.gnome.org/orbit2/")
3264 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 3265 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 3266featuring mature C, C++ and Python bindings.")
a124bbd2
SB
3267 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
3268 ;; a version. SOME of the code files have licence notices for GPLv2+.
3269 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
3270 (license license:gpl2+)
3271 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
3272
3273
3274(define-public libbonobo
3275 (package
3276 (name "libbonobo")
3277 (version "2.32.1")
3278 (source (origin
3279 (method url-fetch)
5becd025 3280 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 3281 (version-major+minor version)
5becd025 3282 "/" name "-" version ".tar.bz2"))
5698b8b8 3283 (sha256
f1fc45a9 3284 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
3285 (patches (search-patches
3286 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
3287 (build-system gnu-build-system)
3288 (arguments
3289 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
3290 `(#:configure-flags
3291 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
3292 ;; ... which they then completly ignore !!
3293 #:phases
dc1d3cde
KK
3294 (modify-phases %standard-phases
3295 (add-before 'configure 'ignore-deprecations
3296 (lambda _
3297 (substitute* "activation-server/Makefile.in"
3298 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
3299 #t)))
3300
3301 ;; There's apparently a race condition between the server stub
3302 ;; generation and linking of the example under 'samples/echo' that can
3303 ;; lead do undefined references when building in parallel, as reported
3304 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
3305 ;; Thus, disable parallel builds.
3306 #:parallel-build? #f))
5698b8b8
JD
3307 (inputs `(("popt" ,popt)
3308 ("libxml2" ,libxml2)))
3309 ;; The following are Required by the .pc file
44add1ce 3310 (propagated-inputs
5698b8b8
JD
3311 `(("glib" ,glib)
3312 ("orbit2" ,orbit2)))
3313 (native-inputs
3314 `(("intltool" ,intltool)
3315 ("pkg-config" ,pkg-config)
221ed17a 3316 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3317 ("flex" ,flex)
3318 ("bison" ,bison)))
3319 (home-page "https://developer.gnome.org/libbonobo/")
3320 (synopsis "Framework for creating reusable components for use in GNOME applications")
3321 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 3322use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
3323 ;; Licence not explicitly stated. Source files contain no licence notices.
3324 ;; Tarball contains text of both GPLv2 and LGPLv2
3325 ;; GPLv2 covers both conditions
3326 (license license:gpl2+)))
3327
3328
3329(define-public gconf
3330 (package
3331 (name "gconf")
3332 (version "3.2.6")
3333 (source (origin
3334 (method url-fetch)
a124bbd2
SB
3335 (uri
3336 (let ((upstream-name "GConf"))
3337 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
3338 (version-major+minor version) "/"
3339 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
3340 (sha256
3341 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
3342 (build-system gnu-build-system)
2e88d113 3343 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 3344 ("libxml2" ,libxml2)))
2e6ecc5c
AE
3345 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
3346 ("orbit2" ,orbit2)))
5698b8b8
JD
3347 (native-inputs
3348 `(("intltool" ,intltool)
221ed17a 3349 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3350 ("pkg-config" ,pkg-config)))
3351 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
3352 (synopsis "Store application preferences")
3353 (description "Gconf is a system for storing application preferences. It
3354is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
3355 (license license:lgpl2.0+)
3356 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
3357
3358
3359(define-public gnome-mime-data
3360 (package
3361 (name "gnome-mime-data")
3362 (version "2.18.0")
3363 (source (origin
3364 (method url-fetch)
b38e45d8
EB
3365 (uri (string-append "mirror://gnome/sources/" name "/"
3366 (version-major+minor version) "/"
3367 name "-" version ".tar.bz2"))
5698b8b8
JD
3368 (sha256
3369 (base32
3370 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
3371 (build-system gnu-build-system)
3372 (native-inputs
3373 `(("perl" ,perl)
3374 ("intltool" ,intltool)))
3e6add96
LC
3375 (arguments
3376 '(#:phases (modify-phases %standard-phases
3377 (add-after 'configure 'use-our-intltool
3378 (lambda _
3379 ;; Do not use the bundled intltool commands, which lack
3380 ;; the "dotless @INC" fixes of our 'intltool' package.
3381 (substitute* (find-files "." "^Makefile$")
3382 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
3383 (string-append "INTLTOOL_" tool " = intltool-"
3384 (string-downcase tool) "\n")))
3385 #t)))))
f032d0be 3386 (home-page "https://www.gnome.org")
35b9e423 3387 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
3388 (description "GNOME Mime Data is a module which contains the base MIME
3389and Application database for GNOME. The data stored by this module is
3390designed to be accessed through the MIME functions in GnomeVFS.")
3391 (license license:gpl2+)))
3392
3393
3394(define-public gnome-vfs
3395 (package
3396 (name "gnome-vfs")
3397 (version "2.24.4")
3398 (source (origin
3399 (method url-fetch)
b38e45d8
EB
3400 (uri (string-append "mirror://gnome/sources/" name "/"
3401 (version-major+minor version) "/"
3402 name "-" version ".tar.bz2"))
5698b8b8 3403 (sha256
9e12bc34
MW
3404 (base32
3405 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
3406 (build-system gnu-build-system)
3407 (arguments
db5127d8 3408 `(#:phases
dc1d3cde
KK
3409 (modify-phases %standard-phases
3410 (add-before 'configure 'ignore-deprecations
3411 (lambda _
3412 (substitute* '("libgnomevfs/Makefile.in"
3413 "daemon/Makefile.in")
3414 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
3415 #t))
3416 (add-before 'configure 'patch-test-async-cancel-to-never-fail
3417 (lambda _
3418 (substitute* "test/test-async-cancel.c"
3419 (("EXIT_FAILURE") "77"))
3420 #t)))))
2e6ecc5c 3421 (inputs `(("libxml2" ,libxml2)
5698b8b8 3422 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
3423 ("gconf" ,gconf)
3424 ("gnome-mime-data" ,gnome-mime-data)
3425 ("zlib" ,zlib)))
3426 (native-inputs
221ed17a
EB
3427 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
3428 ("intltool" ,intltool)
5698b8b8
JD
3429 ("pkg-config" ,pkg-config)))
3430 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 3431 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
3432 (description
3433 "GnomeVFS is the core library used to access files and folders in GNOME
3434applications. It provides a file system abstraction which allows applications
3435to access local and remote files with a single consistent API.")
5698b8b8
JD
3436 (license license:lgpl2.0+)))
3437
3438
3439
3440(define-public libgnome
3441 (package
3442 (name "libgnome")
3443 (version "2.32.1")
3444 (source (origin
3445 (method url-fetch)
b38e45d8
EB
3446 (uri (string-append "mirror://gnome/sources/" name "/"
3447 (version-major+minor version) "/"
3448 name "-" version ".tar.bz2"))
5698b8b8
JD
3449 (sha256
3450 (base32
17c3eea7
LC
3451 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
3452 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
3453 (build-system gnu-build-system)
3454 (arguments
3455 `(#:phases
dc1d3cde
KK
3456 (modify-phases %standard-phases
3457 (add-before 'configure 'enable-deprecated
3458 (lambda _
3459 (substitute* "libgnome/Makefile.in"
3460 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
3461 #t)))))
25338e9f 3462 (inputs `(("libxml2" ,libxml2)))
5698b8b8 3463 (native-inputs
221ed17a
EB
3464 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
3465 ("intltool" ,intltool)
5698b8b8
JD
3466 ("pkg-config" ,pkg-config)))
3467 ;; The following are listed as Required in the .pc file
3468 ;; (except for libcanberra -- which seems to be oversight on the part
3469 ;; of the upstream developers -- anything that links against libgnome,
3470 ;; must also link against libcanberra
3471 (propagated-inputs
3472 `(("libcanberra" ,libcanberra)
3473 ("libbonobo" ,libbonobo)
3474 ("gconf" ,gconf)
a640d3d5
LC
3475 ("gnome-vfs" ,gnome-vfs)
3476 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
3477 (home-page "https://developer.gnome.org/libgnome/")
3478 (synopsis "Useful routines for building applications")
3479 (description "The libgnome library provides a number of useful routines
3480for building modern applications, including session management, activation of
3481files and URIs, and displaying help.")
3482 (license license:lgpl2.0+)))
3483
3484
3485(define-public libart-lgpl
3486 (package
3487 (name "libart-lgpl")
76c9b6aa 3488 (version "2.3.21")
5698b8b8
JD
3489 (source (origin
3490 (method url-fetch)
3491 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
3492 (string-append "mirror://gnome/sources/" upstream-name "/"
3493 (version-major+minor version) "/"
3494 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
3495 (sha256
3496 (base32
76c9b6aa 3497 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
3498 (build-system gnu-build-system)
3499 (native-inputs
3500 `(("pkg-config" ,pkg-config)))
3501 (home-page "https://people.gnome.org/~mathieu/libart")
3502 (synopsis "2D drawing library")
2e6ecc5c 3503 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
3504high-quality vector-based 2D library with antialiasing and alpha composition.")
3505 (license license:lgpl2.0+)))
3506
3507
3508
3509(define-public libgnomecanvas
3510 (package
3511 (name "libgnomecanvas")
3512 (version "2.30.3")
3513 (source (origin
3514 (method url-fetch)
b38e45d8
EB
3515 (uri (string-append "mirror://gnome/sources/" name "/"
3516 (version-major+minor version) "/"
3517 name "-" version ".tar.gz"))
5698b8b8
JD
3518 (sha256
3519 (base32
3520 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
3521 (build-system gnu-build-system)
3522 ;; Mentioned as Required in the .pc file
3523 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
3524 ("gtk+" ,gtk+-2)))
3525 (native-inputs
3526 `(("intltool" ,intltool)
221ed17a 3527 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3528 ("pkg-config" ,pkg-config)))
3529 (home-page "https://developer.gnome.org/libgnomecanvas/")
3530 (synopsis "Flexible widget for creating interactive structured graphics")
3531 (description "The GnomeCanvas widget provides a flexible widget for
3532creating interactive structured graphics.")
3533 (license license:lgpl2.0+)))
3534
eadc734e
RW
3535(define-public libgnomecanvasmm
3536 (package
3537 (name "libgnomecanvasmm")
3538 (version "2.26.0")
3539 (source (origin
3540 (method url-fetch)
3541 (uri (string-append "mirror://gnome/sources/" name "/"
3542 (version-major+minor version) "/"
3543 name "-" version ".tar.bz2"))
3544 (sha256
3545 (base32
3546 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
3547 (build-system gnu-build-system)
3548 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
3549 (native-inputs
3550 `(("gtkmm-2" ,gtkmm-2)
3551 ("pkg-config" ,pkg-config)))
8e933cb3 3552 (home-page "https://gtkmm.org")
eadc734e
RW
3553 (synopsis "C++ bindings to the GNOME Canvas library")
3554 (description "C++ bindings to the GNOME Canvas library.")
3555 (license license:lgpl2.0+)))
3556
5698b8b8
JD
3557(define-public libgnomeui
3558 (package
3559 (name "libgnomeui")
3560 (version "2.24.5")
3561 (source (origin
3562 (method url-fetch)
b38e45d8
EB
3563 (uri (string-append "mirror://gnome/sources/" name "/"
3564 (version-major+minor version) "/"
3565 name "-" version ".tar.bz2"))
8fa1872a 3566 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
3567 (sha256
3568 (base32
3569 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
3570 (build-system gnu-build-system)
3571 ;; Mentioned as Required in the .pc file
0a38a497
AE
3572 (propagated-inputs `(("libbonoboui" ,libbonoboui)
3573 ("libgnome" ,libgnome)
3574 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 3575 ("libgnome-keyring" ,libgnome-keyring)))
4bd428a7 3576 (inputs `(("libjpeg" ,libjpeg-turbo)
5698b8b8
JD
3577 ("popt" ,popt)
3578 ("libbonobo" ,libbonobo)
3579 ("libxml2" ,libxml2)
3580 ("libglade" ,libglade)))
3581 (native-inputs
221ed17a
EB
3582 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
3583 ("intltool" ,intltool)
5698b8b8
JD
3584 ("pkg-config" ,pkg-config)))
3585 (home-page "https://developer.gnome.org/libgnomeui/")
3586 (synopsis "Additional widgets for applications")
35b9e423 3587 (description "The libgnomeui library provides additional widgets for
e881752c
AK
3588applications. Many of the widgets from libgnomeui have already been
3589ported to GTK+.")
5698b8b8
JD
3590 (license license:lgpl2.0+)))
3591
3592(define-public libglade
3593 (package
3594 (name "libglade")
3595 (version "2.6.4")
3596 (source (origin
3597 (method url-fetch)
b38e45d8
EB
3598 (uri (string-append "mirror://gnome/sources/" name "/"
3599 (version-major+minor version) "/"
3600 name "-" version ".tar.bz2"))
5698b8b8
JD
3601 (sha256
3602 (base32
3603 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
3604 (build-system gnu-build-system)
3605 (inputs
92dcc23d
AE
3606 `(("python" ,python))) ;; needed for the optional libglade-convert program
3607 (propagated-inputs
5698b8b8 3608 `(("gtk+-2" ,gtk+-2)
92dcc23d 3609 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
3610 (native-inputs
3611 `(("pkg-config" ,pkg-config)))
3612 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
3613 (synopsis "Load glade interfaces and access the glade built widgets")
3614 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
3615graphical interfaces described in glade files and for accessing the
3616widgets built in the loading process.")
3617 (license license:gpl2+))) ; This is correct. GPL not LGPL
3618
3619(define-public libgnomeprint
eb497b66
LC
3620 ;; This library has been deprecated since 2006; see
3621 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
3622 (package
3623 (name "libgnomeprint")
d19db454 3624 (version "2.18.8")
5698b8b8
JD
3625 (source (origin
3626 (method url-fetch)
b38e45d8
EB
3627 (uri (string-append "mirror://gnome/sources/" name "/"
3628 (version-major+minor version) "/"
3629 name "-" version ".tar.bz2"))
5698b8b8
JD
3630 (sha256
3631 (base32
d19db454 3632 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
3633 (build-system gnu-build-system)
3634 (inputs
3635 `(("popt" ,popt)
3636 ("libart-lgpl" ,libart-lgpl)
3637 ("gtk+" ,gtk+-2)
44add1ce 3638 ("libxml2" ,libxml2)))
5698b8b8
JD
3639 (native-inputs
3640 `(("intltool" ,intltool)
221ed17a 3641 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3642 ("pkg-config" ,pkg-config)))
3643 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 3644 (synopsis "Printing framework for GNOME")
eb497b66
LC
3645 (description
3646 "GNOME-print was a printing framework for GNOME. It has been deprecated
3647since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
3648 (license license:lgpl2.0+)))
3649
3650
3651(define-public libgnomeprintui
eb497b66 3652 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
3653 (package
3654 (name "libgnomeprintui")
36053d7f 3655 (version "2.18.6")
5698b8b8
JD
3656 (source (origin
3657 (method url-fetch)
b38e45d8
EB
3658 (uri (string-append "mirror://gnome/sources/" name "/"
3659 (version-major+minor version) "/"
3660 name "-" version ".tar.bz2"))
5698b8b8
JD
3661 (sha256
3662 (base32
36053d7f 3663 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
3664 (build-system gnu-build-system)
3665 ;; Mentioned as Required in the .pc file
3666 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
3667 (inputs `(("gtk+" ,gtk+-2)
3668 ("glib" ,glib)
3669 ("gnome-icon-theme" ,gnome-icon-theme)
3670 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 3671 ("libxml2" ,libxml2)))
5698b8b8
JD
3672 (native-inputs
3673 `(("intltool" ,intltool)
3674 ("pkg-config" ,pkg-config)))
3675 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
3676 (synopsis "Printing framework for GNOME")
eb497b66 3677 (description (package-description libgnomeprint))
5698b8b8
JD
3678 (license license:lgpl2.0+)))
3679
5698b8b8
JD
3680(define-public libbonoboui
3681 (package
3682 (name "libbonoboui")
3683 (version "2.24.5")
3684 (source (origin
3685 (method url-fetch)
b38e45d8
EB
3686 (uri (string-append "mirror://gnome/sources/" name "/"
3687 (version-major+minor version) "/"
3688 name "-" version ".tar.bz2"))
5698b8b8
JD
3689 (sha256
3690 (base32
3691 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
3692 (build-system gnu-build-system)
3693 (arguments
3694 `(#:phases
dc1d3cde
KK
3695 (modify-phases %standard-phases
3696 (add-before 'check 'start-xserver
3697 (lambda* (#:key inputs #:allow-other-keys)
3698 (let ((xorg-server (assoc-ref inputs "xorg-server"))
3699 (disp ":1"))
3700
3701 (setenv "HOME" (getcwd))
3702 (setenv "DISPLAY" disp)
3703 ;; There must be a running X server and make check doesn't start one.
3704 ;; Therefore we must do it.
3705 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
3706 ;; Mentioned as Required by the .pc file
3707 (propagated-inputs `(("libxml2" ,libxml2)))
3708 (inputs
3709 `(("popt" ,popt)
3710 ("pangox-compat" ,pangox-compat)
3711 ("libgnome" ,libgnome)
3712 ("libgnomecanvas" ,libgnomecanvas)
3713 ("libglade" ,libglade)))
3714 (native-inputs
221ed17a
EB
3715 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
3716 ("intltool" ,intltool)
ff337525 3717 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
3718 ("pkg-config" ,pkg-config)))
3719 (home-page "https://developer.gnome.org/libbonoboui/")
3720 (synopsis "Some user interface controls using Bonobo")
3721 (description "The Bonobo UI library provides a number of user interface
3722controls using the Bonobo component framework.")
3723 (license license:lgpl2.0+)))
3724
fecbf86e
SB
3725(define-public libwnck
3726 (package
3727 (name "libwnck")
d3b40696 3728 (version "3.32.0")
fecbf86e
SB
3729 (source (origin
3730 (method url-fetch)
3731 (uri (string-append "mirror://gnome/sources/" name "/"
3732 (version-major+minor version) "/"
3733 name "-" version ".tar.xz"))
3734 (sha256
ad9b8987 3735 (base32
d3b40696
KK
3736 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
3737 (build-system meson-build-system)
fecbf86e
SB
3738 (native-inputs
3739 `(("pkg-config" ,pkg-config)
d3b40696
KK
3740 ("glib" ,glib "bin") ; for glib-mkenums
3741 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
3742 ("intltool" ,intltool)))
3743 (propagated-inputs
427476d5
SB
3744 `(("gtk+" ,gtk+)
3745 ("libxres" ,libxres)
3746 ("startup-notification" ,startup-notification)))
fecbf86e
SB
3747 (home-page "https://developer.gnome.org/libwnck/")
3748 (synopsis "Window Navigator Construction Kit")
3749 (description
3750 "Libwnck is the Window Navigator Construction Kit, a library for use in
3751writing pagers, tasklists, and more generally applications that are dealing
3752with window management. It tries hard to respect the Extended Window Manager
3753Hints specification (EWMH).")
3754 (license license:lgpl2.0+)))
3755
3756;; stable version for gtk2, required by xfwm4.
dbb7a081 3757(define-public libwnck-2
fecbf86e
SB
3758 (package (inherit libwnck)
3759 (name "libwnck")
3760 (version "2.30.7")
3761 (source (origin
3762 (method url-fetch)
3763 (uri (string-append "mirror://gnome/sources/" name "/"
3764 (version-major+minor version) "/"
3765 name "-" version ".tar.xz"))
3766 (sha256
3767 (base32
3768 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
3769 (build-system gnu-build-system)
3770 (native-inputs
3771 `(("pkg-config" ,pkg-config)
3772 ("intltool" ,intltool)))
fecbf86e 3773 (propagated-inputs
427476d5
SB
3774 `(("gtk+" ,gtk+-2)
3775 ("libxres" ,libxres)
3776 ("startup-notification" ,startup-notification)))))
b804c61e
JD
3777
3778(define-public goffice
3779 (package
3780 (name "goffice")
2e60eafb 3781 (version "0.10.47")
b804c61e
JD
3782 (source (origin
3783 (method url-fetch)
16243f0b 3784 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 3785 (version-major+minor version) "/"
16243f0b 3786 "goffice-" version ".tar.xz"))
b804c61e 3787 (sha256
2e60eafb 3788 (base32 "0xmigfdzvmlpa0fw79mf3xwchmxc8rlidryn5syv8bz7msmrb215"))))
b804c61e 3789 (build-system gnu-build-system)
72a06d3e 3790 (outputs '("out"
355420c6 3791 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
3792 (arguments
3793 '(#:configure-flags (list (string-append "--with-html-dir="
3794 (assoc-ref %outputs "doc")
3795 "/share/gtk-doc/html"))))
b804c61e
JD
3796 (inputs
3797 `(("gtk+" ,gtk+)
3798 ("libgsf" ,libgsf)
3799 ("librsvg" ,librsvg)
3800 ("libxslt" ,libxslt)
3801 ("libxml2" ,libxml2)))
3802 (native-inputs
3803 `(("intltool" ,intltool)
f280cdb1 3804 ("glib" ,glib "bin")
b804c61e
JD
3805 ("pkg-config" ,pkg-config)))
3806 (home-page "https://developer.gnome.org/goffice/")
3807 (synopsis "Document-centric objects and utilities")
3808 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 3809 (license
b804c61e
JD
3810 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3811 ;; Note: NOT LGPL
3812 (list license:gpl2 license:gpl3))))
3813
c024ae36
RW
3814(define-public goffice-0.8
3815 (package (inherit goffice)
3816 (version "0.8.17")
3817 (source (origin
3818 (method url-fetch)
3819 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
3820 (version-major+minor version) "/"
3821 (package-name goffice) "-" version ".tar.xz"))
3822 (sha256
3823 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
3824 (arguments
3825 `(#:phases
dc1d3cde
KK
3826 (modify-phases %standard-phases
3827 (add-after 'unpack 'fix-pcre-check
3828 (lambda _
3829 ;; Only glib.h can be included directly. See
3830 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
3831 (substitute* "configure"
3832 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
3833
3834 ,@(package-arguments goffice)))
c024ae36
RW
3835 (propagated-inputs
3836 ;; libgoffice-0.8.pc mentions libgsf-1
3837 `(("libgsf" ,libgsf)))
3838 (inputs
3839 `(("gtk" ,gtk+-2)
3840 ,@(alist-delete "gtk" (package-inputs goffice))))))
3841
b804c61e
JD
3842(define-public gnumeric
3843 (package
3844 (name "gnumeric")
f0517b5d 3845 (version "1.12.46")
b804c61e
JD
3846 (source (origin
3847 (method url-fetch)
b7fd0217 3848 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 3849 (version-major+minor version) "/"
b7fd0217 3850 "gnumeric-" version ".tar.xz"))
b804c61e
JD
3851 (sha256
3852 (base32
f0517b5d 3853 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 3854 (build-system glib-or-gtk-build-system)
b804c61e
JD
3855 (arguments
3856 `(;; The gnumeric developers don't worry much about failing tests.
3857 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 3858 #:tests? #f
b804c61e 3859 #:phases
7bcbd40d
EF
3860 (modify-phases %standard-phases
3861 (add-before
3862 'configure 'pre-conf
3863 (lambda* (#:key outputs #:allow-other-keys)
3864 ;; Make install tries to write into the directory of goffice
3865 ;; I am informed that this only affects the possibility to embed a
3866 ;; spreadsheet inside an Abiword document. So presumably when we
3867 ;; package Abiword we'll have to refer it to this directory.
3868 (substitute* "configure"
3869 (("^GOFFICE_PLUGINS_DIR=.*")
3870 (string-append "GOFFICE_PLUGINS_DIR="
3871 (assoc-ref outputs "out")
3872 "/goffice/plugins"))))))))
b804c61e
JD
3873 (inputs
3874 `(("glib" ,glib)
3875 ("gtk+" ,gtk+)
3876 ("goffice" ,goffice)
3877 ("libgsf" ,libgsf)
7bcbd40d 3878 ("librsvg" ,librsvg)
b804c61e 3879 ("libxml2" ,libxml2)
7bcbd40d 3880 ("libxslt" ,libxslt)
2e4c5457 3881 ("python" ,python-2)
6983ba56 3882 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
3883 ("zlib" ,zlib)))
3884 (native-inputs
6983ba56 3885 `(("bison" ,bison)
1ed398d1 3886 ("docbook-xml" ,docbook-xml)
6983ba56 3887 ("intltool" ,intltool)
785fcb62 3888 ("itstool" ,itstool)
b9663471 3889 ("glib:bin" ,glib "bin")
b804c61e
JD
3890 ("pkg-config" ,pkg-config)))
3891 (home-page "http://www.gnumeric.org")
66672a45
LC
3892 (synopsis "Spreadsheet application")
3893 (description
3894 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
3895interoperable with other spreadsheet applications. It has a vast array of
3896features beyond typical spreadsheet functionality, such as support for linear
3897and non-linear solvers, statistical analysis, and telecommunication
3898engineering.")
3899 (license
b804c61e
JD
3900 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3901 (list license:gpl2 license:gpl3))))
6f885c05
FB
3902
3903(define-public gnome-themes-standard
3904 (package
3905 (name "gnome-themes-standard")
0b7b8fb0 3906 (version "3.22.3")
6f885c05
FB
3907 (source
3908 (origin
3909 (method url-fetch)
2e6ecc5c 3910 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
3911 (version-major+minor version) "/" name "-"
3912 version ".tar.xz"))
3913 (sha256
3914 (base32
0b7b8fb0 3915 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 3916 (build-system gnu-build-system)
8ac70c7f
SB
3917 (arguments
3918 '(#:configure-flags
3919 ;; Don't create 'icon-theme.cache'.
3920 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
3921 (true (string-append coreutils "/bin/true")))
3922 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
3923 (inputs
3924 `(("gtk+" ,gtk+)
3925 ("gtk+-2" ,gtk+-2)
3926 ("librsvg" ,librsvg)
3927 ("libxml2" ,libxml2)
3928 ("glib" ,glib)))
3929 (native-inputs
3930 `(("intltool" ,intltool)
3931 ("glib:bin" ,glib "bin")
3932 ("pkg-config" ,pkg-config)))
6f885c05
FB
3933 (home-page "https://launchpad.net/gnome-themes-standard")
3934 (synopsis "Default GNOME 3 themes")
3935 (description
3936 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
3937 (license license:lgpl2.1+)))
5a659a48 3938
df90c701
RW
3939(define-public seahorse
3940 (package
3941 (name "seahorse")
1efcf722 3942 (version "3.34")
df90c701
RW
3943 (source
3944 (origin
3945 (method url-fetch)
3946 (uri (string-append "mirror://gnome/sources/" name "/"
3947 (version-major+minor version) "/" name "-"
3948 version ".tar.xz"))
3949 (sha256
3950 (base32
1efcf722 3951 "16sfnqrdlr5xx6kixx2ln1mva7nngjlw1k3f5n454vyaigffjh2v"))))
af561664
MÁAV
3952 (build-system meson-build-system)
3953 (arguments
bcea3c11
KK
3954 '(#:glib-or-gtk? #t
3955 #:phases
af561664
MÁAV
3956 (modify-phases %standard-phases
3957 (add-after 'unpack 'skip-gtk-update-icon-cache
3958 ;; Don't create 'icon-theme.cache'.
3959 (lambda _
3960 (substitute* "build-aux/meson_post_install.py"
3961 (("gtk-update-icon-cache") "true"))
3962 #t)))))
df90c701
RW
3963 (inputs
3964 `(("gtk+" ,gtk+)
3965 ("gcr" ,gcr)
34b979b9 3966 ("gnupg" ,gnupg)
df90c701 3967 ("gpgme" ,gpgme)
34b979b9 3968 ("openldap" ,openldap)
4a1bf090 3969 ("openssh" ,openssh)
af561664 3970 ("avahi" ,avahi)
bcea3c11 3971 ("libpwquality" ,libpwquality)
34b979b9
EF
3972 ("libsecret" ,libsecret)
3973 ("libsoup" ,libsoup)))
df90c701 3974 (native-inputs
af561664 3975 `(("gettext" ,gettext-minimal)
df90c701
RW
3976 ("glib:bin" ,glib "bin")
3977 ("itstool" ,itstool)
bcb354ad 3978 ("pkg-config" ,pkg-config)
af561664 3979 ("vala" ,vala)
bcb354ad 3980 ("xmllint" ,libxml2)))
bcea3c11 3981 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
3982 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
3983 (description
3984 "Seahorse is a GNOME application for managing encryption keys and
3985passwords in the GNOME keyring.")
3986 (license license:gpl2+)))
3987
5a659a48
SB
3988(define-public vala
3989 (package
3990 (name "vala")
b92a36db 3991 (version "0.46.5")
5a659a48
SB
3992 (source (origin
3993 (method url-fetch)
3994 (uri (string-append "mirror://gnome/sources/" name "/"
3995 (version-major+minor version) "/"
3996 name "-" version ".tar.xz"))
3997 (sha256
3998 (base32
b92a36db 3999 "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s"))))
5a659a48 4000 (build-system gnu-build-system)
1ea90625
SB
4001 (arguments
4002 '(#:phases
4003 (modify-phases %standard-phases
f4925a4f 4004 (add-before 'check 'pre-check
1ea90625
SB
4005 (lambda _
4006 (setenv "CC" "gcc")
8839b6be
RW
4007 (substitute* "valadoc/tests/testrunner.sh"
4008 (("export PKG_CONFIG_PATH=" m)
4009 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
4010 ;; For missing '/etc/machine-id'.
4011 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 4012 #t)))))
5a659a48
SB
4013 (native-inputs
4014 `(("pkg-config" ,pkg-config)
4015 ("flex" ,flex)
4016 ("bison" ,bison)
4017 ("xsltproc" ,libxslt)
4018 ("dbus" ,dbus) ; for dbus tests
4019 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
4020 (inputs
4021 `(("graphviz" ,graphviz)))
5a659a48 4022 (propagated-inputs
8839b6be 4023 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 4024 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
4025 (synopsis "Compiler for the GObject type system")
4026 (description
4027 "Vala is a programming language that aims to bring modern programming
4028language features to GNOME developers without imposing any additional runtime
4029requirements and without using a different ABI compared to applications and
4030libraries written in C.")
4031 (license license:lgpl2.1+)))
ea57378f 4032
2dcaa760
RP
4033(define-public vala-0.48
4034 (package
4035 (inherit vala)
9a299d4d 4036 (version "0.48.7")
2dcaa760
RP
4037 (source (origin
4038 (method url-fetch)
4039 (uri (string-append "mirror://gnome/sources/vala/"
4040 (version-major+minor version) "/"
4041 "vala-" version ".tar.xz"))
4042 (sha256
4043 (base32
9a299d4d 4044 "0lswkb7gj0chas9n3l3dbrm9l71hs77adhvm2v600id2ipi37pi8"))))))
2dcaa760 4045
ea57378f
SB
4046(define-public vte
4047 (package
4048 (name "vte")
53865a93 4049 (version "0.60.3")
ea57378f
SB
4050 (source (origin
4051 (method url-fetch)
ac87ffb8 4052 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 4053 (version-major+minor version) "/"
ac87ffb8 4054 "vte-" version ".tar.xz"))
ea57378f
SB
4055 (sha256
4056 (base32
53865a93 4057 "0al2v6fn061v4j1wwvppim1q283y2a6s0iyl29hxhmx3h48nxdzy"))))
68c47474 4058 (build-system meson-build-system)
663def11
RPG
4059 (arguments
4060 `(#:configure-flags
11491e1b
DM
4061 '("-Dvapi=true"
4062 "-D_systemd=false")))
ea57378f
SB
4063 (native-inputs
4064 `(("pkg-config" ,pkg-config)
4684580a 4065 ("gettext" ,gettext-minimal)
ea57378f
SB
4066 ("vala" ,vala)
4067 ("gobject-introspection" ,gobject-introspection)
68c47474 4068 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 4069 ("gperf" ,gperf)
ea57378f
SB
4070 ("xmllint" ,libxml2)))
4071 (propagated-inputs
68c47474
TGR
4072 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
4073 ("gnutls" ,gnutls) ; ditto
4074 ("pcre2" ,pcre2))) ; ditto
f032d0be 4075 (home-page "https://www.gnome.org/")
ea57378f
SB
4076 (synopsis "Virtual Terminal Emulator")
4077 (description
4078 "VTE is a library (libvte) implementing a terminal emulator widget for
4079GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
4080gnome-terminal, but can also be used to embed a console/terminal in games,
4081editors, IDEs, etc.")
4082 (license license:lgpl2.1+)))
4083
c44fb4df
MO
4084(define-public vte-ng
4085 (package
4086 (inherit vte)
4087 (name "vte-ng")
24f4fcbe 4088 (version "0.58.2.a")
afd90f8d 4089 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
4090 (source (origin
4091 (method git-fetch)
4092 (uri (git-reference (url home-page) (commit version)))
4093 (file-name (git-file-name name version))
4094 (sha256
4095 (base32
24f4fcbe
MB
4096 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
4097 (build-system meson-build-system)
c44fb4df
MO
4098 (native-inputs
4099 `(("gtk-doc" ,gtk-doc)
c44fb4df 4100 ,@(package-native-inputs vte)))
c44fb4df 4101 (arguments
24f4fcbe 4102 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
4103 (synopsis "Enhanced VTE terminal widget")
4104 (description
4105 "VTE is a library (libvte) implementing a terminal emulator widget for
4106GTK+, this fork provides additional functions exposed for keyboard text
4107selection and URL hints.")))
4108
da11c16b 4109;; Stable version for gtk2, required by gnurobots and lxterminal as of 2020-07.
ea57378f
SB
4110(define-public vte/gtk+-2
4111 (package (inherit vte)
4112 (name "vte")
4113 (version "0.28.2")
4114 (source (origin
4115 (method url-fetch)
4116 (uri (string-append "mirror://gnome/sources/" name "/"
4117 (version-major+minor version) "/"
4118 name "-" version ".tar.xz"))
4119 (sha256
4120 (base32
7d48938a
EF
4121 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
4122 (patches (search-patches
4123 "vte-CVE-2012-2738-pt1.patch"
4124 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 4125 (build-system gnu-build-system)
ea57378f
SB
4126 (arguments
4127 '(#:configure-flags '("--disable-python")))
4128 (native-inputs
4129 `(("pkg-config" ,pkg-config)
4130 ("intltool" ,intltool)
4131 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
4132 (propagated-inputs
4133 `(("gtk+" ,gtk+-2) ; required by libvte.pc
4134 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 4135
cce0da5e
TD
4136(define-public vinagre
4137 (package
4138 (name "vinagre")
4139 (version "3.22.0")
4140 (source (origin
4141 (method url-fetch)
4142 (uri (string-append "mirror://gnome/sources/" name "/"
4143 (version-major+minor version) "/"
4144 name "-" version ".tar.xz"))
684f97f8
EF
4145 (patches (search-patches "vinagre-newer-freerdp.patch"
4146 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
4147 (sha256
4148 (base32
4149 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
4150 (build-system glib-or-gtk-build-system)
684f97f8 4151 (arguments
7f486d25
MC
4152 ;; Disable -Werror and such, to avoid build failures on compilation
4153 ;; warnings.
4154 '(#:configure-flags '("--enable-compile-warnings=minimum")
4155 #:phases
684f97f8 4156 (modify-phases %standard-phases
1839768c
EF
4157 (add-before 'install 'skip-gtk-update-icon-cache
4158 (lambda _
4159 ;; Don't create 'icon-theme.cache'
4160 (substitute* (find-files "." "^Makefile$")
4161 (("gtk-update-icon-cache") (which "true")))
4162 #t))
684f97f8
EF
4163 (add-after 'unpack 'patch-configure
4164 (lambda _
4165 (substitute* "configure"
4166 (("freerdp") "freerdp2"))
4167 #t)))))
cce0da5e
TD
4168 (native-inputs
4169 `(("pkg-config" ,pkg-config)
4170 ("intltool" ,intltool)
4171 ("itstool" ,itstool)
1839768c 4172 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
4173 (inputs
4174 `(("libxml2" ,libxml2)
4175 ("gtk-vnc" ,gtk-vnc)
4176 ("gnome-keyring" ,gnome-keyring)
4177 ("libsecret" ,libsecret)
4178 ("freerdp" ,freerdp)
4179 ("spice" ,spice)
4180 ("spice-gtk" ,spice-gtk)
4181 ("telepathy-glib" ,telepathy-glib)
4182 ("vte" ,vte)))
cce0da5e
TD
4183 (home-page "https://wiki.gnome.org/Apps/Vinagre")
4184 (synopsis "Remote desktop viewer for GNOME")
4185 (description "Vinagre is a remote display client supporting the VNC, SPICE
4186and RDP protocols.")
4187 (license license:gpl3+)))
4188
b47e1b20
FB
4189(define-public dconf
4190 (package
4191 (name "dconf")
7f4d075d 4192 (version "0.34.0")
b47e1b20
FB
4193 (source (origin
4194 (method url-fetch)
4195 (uri (string-append
2e6ecc5c 4196 "mirror://gnome/sources/" name "/"
b47e1b20
FB
4197 (version-major+minor version) "/"
4198 name "-" version ".tar.xz"))
46c3a08b 4199 (patches (search-patches "dconf-meson-0.52.patch"))
b47e1b20 4200 (sha256
f05c809f 4201 (base32
7f4d075d 4202 "0lnsl85cp2vpzgp8pkf6l6yd2i3lp02jdvga1icfa78j2smr8fll"))))
35fa923d 4203 (build-system meson-build-system)
bc036f4c
MB
4204 (propagated-inputs
4205 ;; In Requires of dconf.pc.
4206 `(("glib" ,glib)))
b47e1b20
FB
4207 (inputs
4208 `(("gtk+" ,gtk+)
bc036f4c 4209 ("dbus" ,dbus)))
b47e1b20 4210 (native-inputs
1e33331c
MB
4211 `(("bash-completion" ,bash-completion)
4212 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 4213 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
4214 ("docbook-xml" ,docbook-xml-4.2)
4215 ("docbook-xsl" ,docbook-xsl)
35fa923d 4216 ("glib:bin" ,glib "bin")
03676d6f 4217 ("gtk-doc" ,gtk-doc)
35fa923d
MB
4218 ("pkg-config" ,pkg-config)
4219 ("vala" ,vala)))
b47e1b20
FB
4220 (arguments
4221 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
4222 ; or /etc/machine-id.
35fa923d
MB
4223 #:glib-or-gtk? #t
4224 #:configure-flags '("-Denable-gtk-doc=true")))
79d7b527 4225 (home-page "https://developer.gnome.org/dconf/")
b47e1b20
FB
4226 (synopsis "Low-level GNOME configuration system")
4227 (description "Dconf is a low-level configuration system. Its main purpose
4228is to provide a backend to GSettings on platforms that don't already have
4229configuration storage systems.")
e20e6b40 4230 (license license:lgpl2.1+)))
109da1c0
AE
4231
4232(define-public json-glib
4233 (package
4234 (name "json-glib")
4115e8ea 4235 (version "1.4.4")
109da1c0
AE
4236 (source (origin
4237 (method url-fetch)
4238 (uri (string-append "mirror://gnome/sources/" name "/"
4239 (version-major+minor version) "/"
4240 name "-" version ".tar.xz"))
4241 (sha256
4242 (base32
4115e8ea 4243 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 4244 (build-system meson-build-system)
109da1c0 4245 (native-inputs
98afa184
MB
4246 `(("gettext" ,gettext-minimal)
4247 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
4248 ("gobject-introspection" ,gobject-introspection)
4249 ("pkg-config" ,pkg-config)))
4250 (propagated-inputs
88c6b580 4251 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
4252 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
4253 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
4254 (description
4255 "JSON-GLib is a C library based on GLib providing serialization and
4256deserialization support for the JavaScript Object Notation (JSON) format
4257described by RFC 4627. It provides parser and generator GObject classes and
4258various wrappers for the complex data types employed by JSON, such as arrays
4259and objects.")
109da1c0 4260 (license license:lgpl2.1+)))
6f96a359
SB
4261
4262(define-public libxklavier
4263 (package
4264 (name "libxklavier")
5f39050b 4265 (version "5.4")
6f96a359 4266 (source (origin
5f39050b 4267 ;; Note: There's no tarball at ftp.gnome.org for this version.
4268 (method git-fetch)
4269 (uri (git-reference
4270 (url "https://anongit.freedesktop.org/git/libxklavier")
4271 (commit (string-append "libxklavier-" version))))
6f96a359
SB
4272 (sha256
4273 (base32
5f39050b 4274 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
4275 (file-name (git-file-name name version))))
6f96a359
SB
4276 (build-system gnu-build-system)
4277 (arguments
778d6b52 4278 '(#:configure-flags
6f96a359
SB
4279 (list (string-append "--with-xkb-base="
4280 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 4281 "/share/X11/xkb")
4282 "--disable-xmodmap-support")))
6f96a359
SB
4283 (native-inputs
4284 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4285 ("gobject-introspection" ,gobject-introspection)
5f39050b 4286 ("pkg-config" ,pkg-config)
4287 ("gtk-doc" ,gtk-doc)
4288 ("intltool" ,intltool)
4289 ("which" ,which)
4290 ("autoconf" ,autoconf)
4291 ("automake" ,automake)
4292 ("libtool" ,libtool)))
6f96a359
SB
4293 (propagated-inputs
4294 ;; Required by libxklavier.pc.
4295 `(("glib" ,glib)
4296 ("libxml2" ,libxml2)))
4297 (inputs
4298 `(("iso-codes" ,iso-codes)
4299 ("libxi" ,libxi)
4300 ("libxkbfile" ,libxkbfile)
4301 ("xkbcomp" ,xkbcomp)
4302 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 4303 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
4304 (synopsis "High-level API for X Keyboard Extension")
4305 (description
4306 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
4307Extension known as XKB. This library is intended to support XFree86 and other
4308commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
4309indicators etc).")
4310 (license license:lgpl2.0+)))
619936a4
LC
4311
4312(define-public python2-rsvg
4313 ;; XXX: This is actually a subset of gnome-python-desktop.
4314 (package
4315 (name "python2-rsvg")
4316 (version "2.32.0")
4317 (source
4318 (origin
4319 (method url-fetch)
4320 (uri (string-append
4321 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
4322 version ".tar.bz2"))
4323 (sha256
4324 (base32
4325 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
4326 (build-system gnu-build-system)
4327 (native-inputs
4328 `(("pkg-config" ,pkg-config)))
4329 (inputs
4330 `(("python" ,python-2)
4331 ("python2-pygtk" ,python2-pygtk)
4332 ("librsvg" ,librsvg)))
f032d0be 4333 (home-page "https://www.gnome.org")
619936a4
LC
4334 (synopsis "Python bindings to librsvg")
4335 (description
3ad75446 4336 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
4337library.")
4338
4339 ;; This is the license of the rsvg bindings. The license of each module
4340 ;; of gnome-python-desktop is given in 'COPYING'.
4341 (license license:lgpl2.1+)))
a31a6d22 4342
f2ca414a
SB
4343(define-public glib-networking
4344 (package
4345 (name "glib-networking")
ea9f74b0 4346 (version "2.62.2")
f2ca414a
SB
4347 (source (origin
4348 (method url-fetch)
4349 (uri (string-append "mirror://gnome/sources/glib-networking/"
4350 (version-major+minor version) "/"
fb8fe1e8 4351 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
4352 (sha256
4353 (base32
ea9f74b0 4354 "0i2mw75297ql72h47vyvff3hqa0kcmqybblj52fqrarb0kfbhi06"))))
65211552 4355 (build-system meson-build-system)
f2ca414a 4356 (arguments
0d75c64d 4357 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
4358 (native-inputs
4359 `(("pkg-config" ,pkg-config)
4360 ("intltool" ,intltool)))
4361 (inputs
4362 `(("glib" ,glib)
4363 ("gnutls" ,gnutls)
4b8f1313 4364 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 4365 (home-page "https://www.gnome.org")
f2ca414a
SB
4366 (synopsis "Network-related GIO modules")
4367 (description
4368 "This package contains various network related extensions for the GIO
4369library.")
4370 (license license:lgpl2.0+)))
4371
ca649680 4372(define-public rest
4510b2da 4373 (package
ca649680 4374 (name "rest")
a4194d16 4375 (version "0.8.1")
4510b2da
SB
4376 (source (origin
4377 (method url-fetch)
4378 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
4379 (version-major+minor version) "/"
4380 name "-" version ".tar.xz"))
4510b2da
SB
4381 (sha256
4382 (base32
a4194d16 4383 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
4384 (build-system gnu-build-system)
4385 (arguments
4386 '(#:tests? #f ; tests require internet connection
4387 #:configure-flags
4388 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
4389 (native-inputs
4390 `(("glib-mkenums" ,glib "bin")
4391 ("gobject-introspection" ,gobject-introspection)
4392 ("pkg-config" ,pkg-config)))
4393 (propagated-inputs
4394 ;; rest-0.7.pc refers to all these.
4395 `(("glib" ,glib)
4396 ("libsoup" ,libsoup)
4397 ("libxml2" ,libxml2)))
24d6cc1d 4398 (home-page "https://www.gtk.org/")
4510b2da
SB
4399 (synopsis "RESTful web api query library")
4400 (description
4401 "This library was designed to make it easier to access web services that
4402claim to be \"RESTful\". It includes convenience wrappers for libsoup and
4403libxml to ease remote use of the RESTful API.")
4404 (license license:lgpl2.1+)))
4405
6e1bb642
SB
4406(define-public libsoup
4407 (package
4408 (name "libsoup")
9a9cd9bc 4409 (version "2.70.0")
6e1bb642
SB
4410 (source (origin
4411 (method url-fetch)
4412 (uri (string-append "mirror://gnome/sources/libsoup/"
4413 (version-major+minor version) "/"
c1b79b36 4414 "libsoup-" version ".tar.xz"))
6e1bb642
SB
4415 (sha256
4416 (base32
9a9cd9bc 4417 "0hjk9lgppc5435my0lyywbpmj7ib5vvcylwfin8ki97g9bvj1c2l"))))
eccaa8bf 4418 (build-system meson-build-system)
6e1bb642
SB
4419 (outputs '("out" "doc"))
4420 (arguments
2deb146f 4421 `(#:modules ((guix build utils)
eccaa8bf 4422 (guix build meson-build-system)
2deb146f
LC
4423 (ice-9 popen))
4424
f8026a79 4425 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
4426 #:phases
4427 (modify-phases %standard-phases
eccaa8bf 4428 (add-after 'unpack 'adjust-tests
26c228f9 4429 (lambda _
eccaa8bf
MB
4430 ;; This test fails due to missing /etc/nsswitch.conf
4431 ;; in the build environment.
26c228f9
LC
4432 (substitute* "tests/socket-test.c"
4433 ((".*/sockets/unconnected.*") ""))
2deb146f 4434
f8026a79
MB
4435 ;; These fail because "subdomain.localhost" does not resolve in
4436 ;; the build environment.
4437 (substitute* "tests/hsts-test.c"
4438 ((".*/hsts/basic.*") "")
4439 ((".*/hsts/subdomains.*") "")
4440 ((".*/hsts/superdomain.*") "")
4441 ((".*/hsts/utf8-address.*") ""))
4442 (substitute* "tests/hsts-db-test.c"
4443 ((".*/hsts-db/subdomains.*") ""))
4444
2deb146f
LC
4445 ;; Generate a self-signed certificate that has "localhost" as its
4446 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
4447 ;; 3.5.12, tests such as "ssl-tests" fail:
4448 ;;
4449 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
4450 ;;
4451 ;; 'certtool' is interactive so we have to pipe it the answers.
4452 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
4453 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
4454 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
4455 (for-each (lambda (line)
4456 (display line pipe)
4457 (newline pipe))
4458 '("" ;Common name
4459 "" ;UID
4460 "Guix" ;Organizational unit name
4461 "GNU" ;Organization name
4462 "" ;Locality name
4463 "" ;State or province
4464 "" ;Country
4465 "" ;subject's domain component (DC)
4466 "" ;E-mail
4467 "" ;serial number
4468 "-1" ;expiration time
4469 "N" ;belong to authority?
4470 "N" ;web client certificate?
4471 "N" ;IPsec IKE?
4472 "Y" ;web server certificate?
4473 "localhost" ;dnsName of subject
4474 "" ;dnsName of subject (end)
4475 "" ;URI of subject
4476 "127.0.0.1" ;IP address of subject
4477 "" ;signing?
06f5bc4e
MB
4478 "" ;encryption (RSA)?
4479 "" ;data encryption?
2deb146f
LC
4480 "" ;sign OCSP requests?
4481 "" ;sign code?
4482 "" ;time stamping?
4483 "" ;email protection?
4484 "" ;URI of the CRL distribution point
4485 "y" ;above info OK?
4486 ))
4487 (close-pipe pipe))
26c228f9 4488 #t))
eccaa8bf
MB
4489 (add-after 'install 'move-doc
4490 (lambda* (#:key outputs #:allow-other-keys)
4491 (let ((out (assoc-ref outputs "out"))
4492 (doc (assoc-ref outputs "doc")))
4493 (mkdir-p (string-append doc "/share"))
4494 (copy-recursively (string-append out "/share/gtk-doc")
4495 (string-append doc "/share/gtk-doc"))
4496 (delete-file-recursively (string-append out "/share/gtk-doc"))
4497 #t))))))
6e1bb642 4498 (native-inputs
26c228f9 4499 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 4500 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 4501 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
4502 ("intltool" ,intltool)
4503 ("pkg-config" ,pkg-config)
4504 ("python" ,python-wrapper)
fd730590 4505 ("vala" ,vala)
53c41e95 4506 ("php" ,php)
6e1bb642 4507 ("curl" ,curl)
2deb146f 4508 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
4509 ("httpd" ,httpd)))
4510 (propagated-inputs
4511 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
4512 `(("brotli" ,google-brotli)
4513 ("glib" ,glib)
249846bf 4514 ("libpsl" ,libpsl)
eccaa8bf 4515 ("libxml2" ,libxml2)
f8026a79
MB
4516 ("sqlite" ,sqlite)
4517 ("zlib" ,zlib)))
eccaa8bf
MB
4518 (inputs
4519 `(("glib-networking" ,glib-networking)
4520 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
4521 (home-page "https://live.gnome.org/LibSoup/")
4522 (synopsis "GLib-based HTTP Library")
4523 (description
4524 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
4525and the GLib main loop, to integrate well with GNOME applications.")
4526 (license license:lgpl2.0+)))
4527
43b6b45e
MC
4528
4529;;; A minimal version of libsoup used to prevent a cycle with Inkscape.
4530(define-public libsoup-minimal
4531 (package
4532 (inherit libsoup)
4533 (name "libsoup-minimal")
4534 (outputs (delete "doc" (package-outputs libsoup)))
4535 (arguments
4536 (substitute-keyword-arguments (package-arguments libsoup)
4537 ((#:configure-flags configure-flags)
4538 `(delete "-Dgtk_doc=true" ,configure-flags))
4539 ((#:phases phases)
4540 `(modify-phases ,phases
4541 (delete 'move-doc)))))
4542 (native-inputs (alist-delete "gtk-doc" (package-native-inputs libsoup)))))
4543
bba229a3
SB
4544(define-public libsecret
4545 (package
4546 (name "libsecret")
b05a2f62 4547 (version "0.20.3")
bba229a3
SB
4548 (source (origin
4549 (method url-fetch)
4550 (uri (string-append
896dcbc7
EF
4551 "mirror://gnome/sources/libsecret/"
4552 (version-major+minor version) "/"
0ada4e29 4553 "libsecret-" version ".tar.xz"))
bba229a3
SB
4554 (sha256
4555 (base32
b05a2f62 4556 "1r4habxdzmn02id324m0m4mg5isf22q1z436bg3vjjmcz1b3rjsg"))))
bba229a3
SB
4557 (build-system gnu-build-system)
4558 (outputs '("out" "doc"))
4559 (arguments
4560 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
4561 #:configure-flags
4562 (list (string-append "--with-html-dir="
4563 (assoc-ref %outputs "doc")
4564 "/share/gtk-doc/html"))))
4565 (native-inputs
c06ef010
MB
4566 `(("gettext" ,gettext-minimal)
4567 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 4568 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
4569 ("pkg-config" ,pkg-config)
4570 ("vala" ,vala)
4571 ("xsltproc" ,libxslt)))
4572 ;; These are needed for the tests.
4573 ;; FIXME: Add gjs once available.
4574 ;("dbus" ,dbus)
4575 ;("python2" ,python-2)
4576 ;("python2-dbus" ,python2-dbus)
4577 ;("python2-pygobject" ,python2-pygobject)
4578 ;("python2-pygobject-2" ,python2-pygobject-2)))
4579 (propagated-inputs
4580 `(("glib" ,glib))) ; required by libsecret-1.pc
4581 (inputs
4582 `(("docbook-xsl" ,docbook-xsl)
4583 ("libgcrypt" ,libgcrypt)
4584 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
4585 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
4586 (synopsis "GObject bindings for \"Secret Service\" API")
4587 (description
4588 "Libsecret is a GObject based library for storing and retrieving passwords
4589and other secrets. It communicates with the \"Secret Service\" using DBus.")
4590 (license license:lgpl2.1+)))
4591
b6821ee0 4592(define-public five-or-more
4593 (package
4594 (name "five-or-more")
ee75b46f 4595 (version "3.32.2")
b6821ee0 4596 (source
4597 (origin
4598 (method url-fetch)
bf782bfc 4599 (uri (string-append "mirror://gnome/sources/five-or-more/"
b6821ee0 4600 (version-major+minor version) "/"
bf782bfc 4601 "five-or-more-" version ".tar.xz"))
b6821ee0 4602 (sha256
ee75b46f 4603 (base32 "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii"))))
d9795e93
KK
4604 (build-system meson-build-system)
4605 (arguments
4606 '(#:glib-or-gtk? #t
4607 #:phases
4608 (modify-phases %standard-phases
4609 (add-after 'unpack 'skip-gtk-update-icon-cache
4610 (lambda _
4611 (substitute* "meson_post_install.py"
4612 (("gtk-update-icon-cache") (which "true")))
4613 #t)))))
b6821ee0 4614 (native-inputs
4615 `(("pkg-config" ,pkg-config)
d9795e93 4616 ("appstream-glib" ,appstream-glib)
b6821ee0 4617 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 4618 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 4619 ("intltool" ,intltool)
4620 ("itstool" ,itstool)
d9795e93 4621 ("vala" ,vala)
b6821ee0 4622 ("xmllint" ,libxml2)))
4623 (inputs
4624 `(("gtk+" ,gtk+)
d9795e93 4625 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 4626 ("librsvg" ,librsvg)))
4627 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
4628 (synopsis "Logic puzzle game")
4629 (description "Five or More is a game where you try to align
4630 five or more objects of the same color and shape causing them to disappear.
4631 On every turn more objects will appear, until the board is full.
4632 Try to last as long as possible.")
4633 (license license:gpl2+)))
4634
a31a6d22
SB
4635(define-public gnome-mines
4636 (package
4637 (name "gnome-mines")
d79e9b1b 4638 (version "3.34.0")
a31a6d22
SB
4639 (source
4640 (origin
4641 (method url-fetch)
4642 (uri (string-append "mirror://gnome/sources/" name "/"
4643 (version-major+minor version) "/"
4644 name "-" version ".tar.xz"))
4645 (sha256
4646 (base32
d79e9b1b 4647 "1spxa6qr1y8s5rrsvpciywpvhk812ngn95s1apaxaigwy2g1iw54"))))
8c0fab36 4648 (build-system meson-build-system)
a31a6d22 4649 (arguments
2d817e41
KK
4650 '(#:glib-or-gtk? #t
4651 #:phases
a31a6d22 4652 (modify-phases %standard-phases
2d817e41
KK
4653 (add-after 'unpack 'skip-gtk-update-icon-cache
4654 (lambda _
4655 (substitute* "build-aux/meson_post_install.py"
4656 (("gtk-update-icon-cache") (which "true")))
4657 #t)))))
a31a6d22 4658 (native-inputs
8c0fab36
RW
4659 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
4660 ("pkg-config" ,pkg-config)
a31a6d22
SB
4661 ("desktop-file-utils" ,desktop-file-utils)
4662 ("intltool" ,intltool)
bcb354ad 4663 ("itstool" ,itstool)
8c0fab36
RW
4664 ("vala" ,vala)
4665 ("yelp" ,yelp)
4666 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
4667 (inputs
4668 `(("gtk+" ,gtk+)
73992962 4669 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
4670 ("librsvg" ,librsvg)))
4671 (home-page "https://wiki.gnome.org/Apps/Mines")
4672 (synopsis "Minesweeper game")
4673 (description
4674 "Mines (previously gnomine) is a puzzle game where you locate mines
4675floating in an ocean using only your brain and a little bit of luck.")
754cfbdc
EB
4676 (license license:gpl2+)))
4677
4678(define-public gnome-multi-writer
4679 (package
4680 (name "gnome-multi-writer")
4681 (version "3.35.90")
4682 (source
4683 (origin
4684 (method url-fetch)
4685 (uri (string-append "mirror://gnome/sources/gnome-multi-writer/"
4686 (version-major+minor version) "/"
4687 "gnome-multi-writer-" version ".tar.xz"))
4688 (sha256
4689 (base32
4690 "07vgzjjdrxcp7h73z13h9agafxb4vmqx5i81bcfyw0ilw9kkdzmp"))))
4691 (build-system meson-build-system)
4692 (arguments
4693 '(#:glib-or-gtk? #t
4694 #:phases
4695 (modify-phases %standard-phases
4696 (add-after 'unpack 'skip-post-install
4697 (lambda _
4698 (substitute* "meson.build"
4699 (("meson.add_install_script" &) (string-append "# " &)))
4700 #t)))))
4701 (native-inputs
4702 `(("glib:bin" ,glib "bin")
4703 ("pkg-config" ,pkg-config)))
4704 (inputs
4705 `(("gtk+" ,gtk+)
4706 ("glib" ,glib) ; for gio
4707 ("gusb" ,gusb)
4708 ("udisks" ,udisks)
4709 ("libgudev" ,libgudev)
4710 ("libcanberra" ,libcanberra)
4711 ("polkit" ,polkit)))
4712 (home-page "https://wiki.gnome.org/Apps/MultiWriter")
4713 (synopsis "Write to multiple USB devices at once")
4714 (description
4715 "MultiWriter can be used to write an ISO file to multiple USB devices at
4716once.")
a31a6d22 4717 (license license:gpl2+)))
88f70665 4718
dfc407f3
KY
4719(define-public gnome-sudoku
4720 (package
4721 (name "gnome-sudoku")
857eb190 4722 (version "3.34.1")
dfc407f3
KY
4723 (source
4724 (origin
4725 (method url-fetch)
4726 (uri (string-append "mirror://gnome/sources/" name "/"
4727 (version-major+minor version) "/"
4728 name "-" version ".tar.xz"))
4729 (sha256
4730 (base32
857eb190 4731 "025y85r4qqardivvwiwhbmgarziykdy224m8zlrq8b79zv82793b"))))
7dc728c4
KK
4732 (build-system meson-build-system)
4733 (arguments
4734 '(#:glib-or-gtk? #t
4735 #:phases
4736 (modify-phases %standard-phases
4737 (add-after 'unpack 'skip-gtk-update-icon-cache
4738 (lambda _
4739 (substitute* "build-aux/post_install.py"
4740 (("gtk-update-icon-cache") (which "true")))
4741 #t)))))
dfc407f3
KY
4742 (native-inputs
4743 `(("pkg-config" ,pkg-config)
4744 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 4745 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
4746 ("intltool" ,intltool)
4747 ("itstool" ,itstool)
7dc728c4 4748 ("vala" ,vala)
dfc407f3
KY
4749 ("xmllint" ,libxml2)))
4750 (inputs
4751 `(("gtk+" ,gtk+)
4752 ("json-glib" ,json-glib)
4753 ("libgee" ,libgee)
4754 ("librsvg" ,librsvg)
4755 ("qqwing" ,qqwing)))
4756 (home-page "https://wiki.gnome.org/Apps/Sudoku")
4757 (synopsis "Japanese logic game")
4758 (description
4759 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
4760GNOME Sudoku is meant to have an interface as simple and unobstrusive as
4761possible while still providing features that make playing difficult Sudoku
4762more fun.")
4763 (license license:gpl2+)))
4764
88f70665
AW
4765(define-public gnome-terminal
4766 (package
4767 (name "gnome-terminal")
80f6f9d8 4768 (version "3.34.2")
88f70665
AW
4769 (source
4770 (origin
4771 (method url-fetch)
4772 (uri (string-append "mirror://gnome/sources/" name "/"
4773 (version-major+minor version) "/"
4774 name "-" version ".tar.xz"))
4775 (sha256
4776 (base32
80f6f9d8 4777 "0gc004f9b5k94gkdanmqjz3wqgnpny0l3nqm8zd19h4f0ps27mrv"))))
88f70665
AW
4778 (build-system glib-or-gtk-build-system)
4779 (arguments
4780 '(#:configure-flags
4781 (list "--disable-migration" "--disable-search-provider"
4782 "--without-nautilus-extension")
4783 #:phases
4784 (modify-phases %standard-phases
3a4de6b2 4785 (add-before 'configure 'patch-/bin/true
88f70665
AW
4786 (lambda _
4787 (substitute* "configure"
4788 (("/bin/true") (which "true"))))))))
4789 (native-inputs
4790 `(("pkg-config" ,pkg-config)
4791 ("desktop-file-utils" ,desktop-file-utils)
4792 ("intltool" ,intltool)
bcb354ad
SB
4793 ("itstool" ,itstool)
4794 ("xmllint" ,libxml2)))
68702167
MW
4795 (propagated-inputs
4796 `(("dconf" ,dconf)))
88f70665
AW
4797 (inputs
4798 `(("gtk+" ,gtk+)
4799 ("vte" ,vte)
4800 ("gnutls" ,gnutls)
88f70665 4801 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
bb93042c 4802 ("util-linux" ,util-linux "lib")
88f70665
AW
4803 ("vala" ,vala)))
4804 (home-page "https://wiki.gnome.org/Apps/Terminal")
4805 (synopsis "Terminal emulator")
4806 (description
4807 "GNOME Terminal is a terminal emulator application for accessing a
4808UNIX shell environment which can be used to run programs available on
4809your system.
4810
4811It supports several profiles, multiple tabs and implements several
4812keyboard shortcuts.")
4813 (license license:gpl3+)))
75016d07
AW
4814
4815(define-public colord
4816 (package
4817 (name "colord")
f98be942 4818 (version "1.4.4")
75016d07
AW
4819 (source
4820 (origin
4821 (method url-fetch)
5cc3096c 4822 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 4823 "colord-" version ".tar.xz"))
75016d07 4824 (sha256
f98be942 4825 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 4826 (build-system meson-build-system)
75016d07 4827 (arguments
a68544a8
RW
4828 '(;; FIXME: One test fails:
4829 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
4830 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
4831 ;; application/x-zerosize
75016d07 4832 #:tests? #f
a68544a8
RW
4833 #:glib-or-gtk? #t
4834 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 4835 ;; No dep on systemd.
a68544a8 4836 "-Dsystemd=false"
75016d07
AW
4837 ;; Wants to install to global completion dir;
4838 ;; punt.
a68544a8 4839 "-Dbash_completion=false"
a68544a8
RW
4840 "-Ddaemon_user=colord"
4841 "-Dsane=true"
dac26e22 4842 "-Dvapi=true"
6f20e2dc 4843 ;; Requires spotread.
a68544a8 4844 "-Dargyllcms_sensor=false"
6f20e2dc 4845 ;; TODO: Requires docbook2x.
a68544a8 4846 "-Dman=false")
75016d07
AW
4847 #:phases
4848 (modify-phases %standard-phases
a68544a8
RW
4849 (add-before 'configure 'patch-build-system
4850 (lambda* (#:key outputs #:allow-other-keys)
4851 (substitute* "rules/meson.build"
4852 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
4853 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
4854 #t))
4855 (add-before 'configure 'set-sqlite3-file-name
4856 (lambda* (#:key inputs #:allow-other-keys)
4857 ;; "colormgr dump" works by invoking the "sqlite3" command.
4858 ;; Record its absolute file name.
4859 (let ((sqlite (assoc-ref inputs "sqlite")))
4860 (substitute* "client/cd-util.c"
4861 (("\"sqlite3\"")
4862 (string-append "\"" sqlite "/bin/sqlite3\"")))
4863 #t))))))
75016d07 4864 (native-inputs
6f20e2dc 4865 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 4866 ("gettext" ,gettext-minimal)
75016d07 4867 ("gobject-introspection" ,gobject-introspection)
a68544a8 4868 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
4869 ("pkg-config" ,pkg-config)
4870 ("vala" ,vala)))
65cb2d61
SB
4871 (propagated-inputs
4872 ;; colord.pc refers to all these.
4873 `(("glib" ,glib)
6f20e2dc
TGR
4874 ("lcms" ,lcms)
4875 ("udev" ,eudev)))
75016d07 4876 (inputs
65cb2d61 4877 `(("dbus-glib" ,dbus-glib)
a68544a8 4878 ("gusb" ,gusb)
80c7dd1a 4879 ("libgudev" ,libgudev)
75016d07 4880 ("libusb" ,libusb)
75016d07 4881 ("polkit" ,polkit)
a68544a8 4882 ("python" ,python-wrapper)
6f20e2dc 4883 ("sqlite" ,sqlite)
4c928743 4884 ("sane-backends" ,sane-backends)))
57e7d748 4885 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
4886 (synopsis "Color management service")
4887 (description "Colord is a system service that makes it easy to manage,
4888install and generate color profiles to accurately color manage input and
4889output devices.")
4890 (license license:gpl2+)))
7b2abd00
AW
4891
4892(define-public geoclue
4893 (package
4894 (name "geoclue")
2bf0a5cb 4895 (version "2.5.6")
7b2abd00
AW
4896 (source
4897 (origin
4898 (method url-fetch)
50e96d25
MB
4899 (uri
4900 (string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
4901 version "/geoclue-" version ".tar.bz2"))
7b2abd00 4902 (sha256
2bf0a5cb 4903 (base32 "0a833x5apzabxj80ywvsh8crd635vni2i9v9c1p095f6hvmfc45k"))
fc1adab1 4904 (patches (search-patches "geoclue-config.patch"))))
50e96d25 4905 (build-system meson-build-system)
7b2abd00 4906 (arguments
50e96d25 4907 '(#:configure-flags (list "-Dbus-srv-user=geoclue")))
7b2abd00
AW
4908 (native-inputs
4909 `(("pkg-config" ,pkg-config)
758798a9 4910 ("gobject-introspection" ,gobject-introspection)
50e96d25
MB
4911 ("modem-manager" ,modem-manager)
4912 ("libnotify" ,libnotify)
4913 ("gtk-doc", gtk-doc)
7b2abd00
AW
4914 ("intltool" ,intltool)))
4915 (inputs
54e911bc 4916 `(("avahi" ,avahi)
50e96d25
MB
4917 ("glib:bin" ,glib "bin")
4918 ("glib-networking" ,glib-networking)
7b2abd00
AW
4919 ("json-glib" ,json-glib)
4920 ("libsoup" ,libsoup)))
50e96d25 4921 (home-page "https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home")
7b2abd00
AW
4922 (synopsis "Geolocation service")
4923 (description "Geoclue is a D-Bus service that provides location
4924information. The primary goal of the Geoclue project is to make creating
4925location-aware applications as simple as possible, while the secondary goal is
4926to ensure that no application can access location information without explicit
e881752c 4927permission from user.")
7b2abd00 4928 (license license:gpl2+)))
2bfe7437
AW
4929
4930(define-public geocode-glib
4931 (package
4932 (name "geocode-glib")
6f4d4ccc 4933 (version "3.26.2")
2bfe7437
AW
4934 (source (origin
4935 (method url-fetch)
4936 (uri (string-append "mirror://gnome/sources/geocode-glib/"
4937 (version-major+minor version) "/"
d485cdc0 4938 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
4939 (sha256
4940 (base32
6f4d4ccc 4941 "1l8g0f13xgkrk335afr9w8k46mziwb2jnyhl07jccl5yl37q9zh1"))))
a7dd0c02 4942 (build-system meson-build-system)
2bfe7437 4943 (arguments
a7dd0c02
RW
4944 `(#:phases
4945 (modify-phases %standard-phases
4946 ;; The tests require a bunch of locales.
4947 (add-before 'check 'set-locales
4948 (lambda* (#:key inputs #:allow-other-keys)
4949 (setenv "GUIX_LOCPATH"
4950 (string-append (assoc-ref inputs "glibc-locales")
4951 "/lib/locale"))
4952 #t)))))
2bfe7437
AW
4953 (native-inputs
4954 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
4955 ("glibc-locales" ,glibc-locales) ; for tests
4956 ("gettext" ,gettext-minimal)
2bfe7437 4957 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 4958 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
4959 ("pkg-config" ,pkg-config)
4960 ("json-glib" ,json-glib)))
4961 (propagated-inputs
4962 ;; geocode-glib-1.0.pc refers to GIO.
4963 `(("glib" ,glib)))
4964 (inputs
4965 `(("libsoup" ,libsoup)))
4966 (home-page "https://github.com/GNOME/geocode-glib/")
4967 (synopsis "Geocoding and reverse-geocoding library")
4968 (description
4969 "geocode-glib is a convenience library for geocoding (finding longitude,
4970and latitude from an address) and reverse geocoding (finding an address from
4971coordinates) using the Nominatim service. geocode-glib caches requests for
4972faster results and to avoid unnecessary server load.")
4973 (license license:lgpl2.0+)))
a1d5bb0e
AW
4974
4975(define-public upower
4976 (package
4977 (name "upower")
df45af90 4978 (version "0.99.11")
a1d5bb0e
AW
4979 (source (origin
4980 (method url-fetch)
df45af90 4981 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 4982 "upower-" version ".tar.xz"))
a1d5bb0e
AW
4983 (sha256
4984 (base32
df45af90 4985 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
5dc6d5ce
LC
4986 (patches (search-patches "upower-builddir.patch"))
4987 (modules '((guix build utils)))
4988 (snippet
4989 '(begin
4990 ;; Upstream commit
4991 ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
4992 ;; moved 'dbus-1/system.d' from etc/ to share/. However,
4993 ;; 'dbus-configuration-directory' in (gnu services dbus)
4994 ;; expects it in etc/. Thus, move it back to its previous
4995 ;; location.
4996 (substitute* "src/Makefile.in"
4997 (("^dbusconfdir =.*$")
4998 "dbusconfdir = $(sysconfdir)/dbus-1/system.d\n"))
4999 #t))))
a1d5bb0e
AW
5000 (build-system glib-or-gtk-build-system)
5001 (arguments
6039031a
BW
5002 '(#:phases
5003 (modify-phases %standard-phases
5004 (add-before 'check 'pre-check
5005 (lambda* (#:key inputs #:allow-other-keys)
5006 (let ((umockdev (string-append (assoc-ref inputs "umockdev")
5007 "/lib")))
5008 (setenv "LD_LIBRARY_PATH" umockdev))
5009 #t)))
a1d5bb0e
AW
5010 #:configure-flags (list "--localstatedir=/var"
5011 (string-append "--with-udevrulesdir="
5012 (assoc-ref %outputs "out")
9ec54965 5013 "/lib/udev/rules.d"))))
a1d5bb0e 5014 (native-inputs
ebeabe2d
SB
5015 `(("gobject-introspection" ,gobject-introspection)
5016 ("pkg-config" ,pkg-config)
a1d5bb0e 5017 ("intltool" ,intltool)
55409295
LC
5018 ("python" ,python)
5019
6039031a
BW
5020 ;; For tests.
5021 ("python-dbus" ,python-dbus)
5022 ("python-dbusmock" ,python-dbusmock)
5023 ("python-pygobject" ,python-pygobject)
5024 ("umockdev" ,umockdev)
5025
55409295
LC
5026 ;; For man pages.
5027 ("libxslt" ,libxslt) ;for 'xsltproc'
5028 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5029 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 5030 (inputs
ea226291
SB
5031 `(("dbus-glib" ,dbus-glib)
5032 ("libgudev" ,libgudev)
a1d5bb0e 5033 ("libusb" ,libusb)))
d7a503fc
MB
5034 (propagated-inputs
5035 ;; In Requires of upower-glib.pc.
5036 `(("glib" ,glib)))
57e7d748 5037 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
5038 (synopsis "System daemon for managing power devices")
5039 (description
5040 "UPower is an abstraction for enumerating power devices,
5041listening to device events and querying history and statistics. Any
5042application or service on the system can access the org.freedesktop.UPower
5043service via the system message bus.")
5044 (license license:gpl2+)))
6a180f6f
AW
5045
5046(define-public libgweather
5047 (package
5048 (name "libgweather")
462d3416 5049 (version "3.34.0")
6a180f6f
AW
5050 (source (origin
5051 (method url-fetch)
5052 (uri (string-append "mirror://gnome/sources/" name "/"
5053 (version-major+minor version) "/"
5054 name "-" version ".tar.xz"))
5055 (sha256
5056 (base32
462d3416 5057 "1fgiqswkhiaijanml3mb16ajn5aanrk7x6yiwagp9n9rssam6902"))))
cf6cbc34 5058 (build-system meson-build-system)
6a180f6f 5059 (arguments
cf6cbc34
RW
5060 `(#:tests? #f ; one of two tests requires network access
5061 #:configure-flags
5062 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 5063 (assoc-ref %build-inputs "tzdata")
cf6cbc34 5064 "/share/zoneinfo"))))
6a180f6f
AW
5065 (native-inputs
5066 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 5067 ("gobject-introspection" ,gobject-introspection)
6a180f6f 5068 ("pkg-config" ,pkg-config)
1d3fcf94 5069 ("vala" ,vala)
6a180f6f
AW
5070 ("intltool" ,intltool)))
5071 (propagated-inputs
5072 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
5073 ;; libsoup.
5074 `(("gtk+" ,gtk+)
5075 ("gdk-pixbuf" ,gdk-pixbuf)
5076 ("libxml2" ,libxml2)
cf6cbc34 5077 ("libsoup" ,libsoup)
6a180f6f 5078 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
5079 (inputs
5080 `(("tzdata" ,tzdata)))
6a180f6f
AW
5081 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
5082 (synopsis "Location, time zone, and weather library for GNOME")
5083 (description
5084 "libgweather is a library to access weather information from online
5085services for numerous locations.")
5086 (license license:gpl2+)))
23a22af6
AW
5087
5088(define-public gnome-settings-daemon
5089 (package
5090 (name "gnome-settings-daemon")
20154759 5091 (version "3.34.1")
23a22af6
AW
5092 (source
5093 (origin
5094 (method url-fetch)
5095 (uri (string-append "mirror://gnome/sources/" name "/"
5096 (version-major+minor version) "/"
5097 name "-" version ".tar.xz"))
5098 (sha256
5099 (base32
20154759 5100 "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr"))))
e644f9fa 5101 (build-system meson-build-system)
23a22af6 5102 (arguments
e644f9fa
RW
5103 `(#:glib-or-gtk? #t
5104 #:configure-flags
5105 (list (string-append "-Dudev_dir="
5106 (assoc-ref %outputs "out")
4d0e085b 5107 "/lib/udev/rules.d/")
20154759 5108 "-Dsystemd=false"
4d0e085b
RW
5109 ;; Otherwise, the RUNPATH will lack the final path component.
5110 (string-append "-Dc_link_args=-Wl,-rpath="
5111 (assoc-ref %outputs "out")
5112 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 5113 ;; Color management test can't reach the colord system service.
23a22af6
AW
5114 #:tests? #f))
5115 (native-inputs
e644f9fa
RW
5116 `(("glib:bin" ,glib "bin") ; for glib-mkenums
5117 ("pkg-config" ,pkg-config)
23a22af6
AW
5118 ("intltool" ,intltool)
5119 ("xsltproc" ,libxslt)
5120 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
5121 ("docbook-xml" ,docbook-xml-4.2)
5122 ("docbook-xsl" ,docbook-xsl)))
5123 (inputs
e644f9fa
RW
5124 `(("alsa-lib" ,alsa-lib)
5125 ("colord" ,colord)
ea226291 5126 ("libgudev" ,libgudev)
23a22af6
AW
5127 ("upower" ,upower)
5128 ("polkit" ,polkit)
5129 ("pulseaudio" ,pulseaudio)
5130 ("libcanberra" ,libcanberra)
5131 ("libx11" ,libx11)
5132 ("libxtst" ,libxtst)
5133 ("lcms" ,lcms)
5134 ("libnotify" ,libnotify)
5135 ("geoclue" ,geoclue)
5136 ("geocode-glib" ,geocode-glib)
5137 ("libgweather" ,libgweather)
5138 ("gnome-desktop" ,gnome-desktop)
5139 ("nss" ,nss)
5140 ("cups" ,cups)
ec2b1921
AW
5141 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5142 ("libwacom" ,libwacom)
5143 ("librsvg" ,librsvg)
eee7878f 5144 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 5145 ("wayland" ,wayland)
20154759
KK
5146 ("network-manager" ,network-manager)
5147 ("gcr" ,gcr)
5148 ("modem-manager" ,modem-manager)))
f032d0be 5149 (home-page "https://www.gnome.org")
23a22af6
AW
5150 (synopsis "GNOME settings daemon")
5151 (description
5152 "This package contains the daemon responsible for setting the various
5153parameters of a GNOME session and the applications that run under it. It
5154handles settings such keyboard layout, shortcuts, and accessibility, clipboard
5155settings, themes, mouse settings, and startup of other daemons.")
5156 (license license:gpl2+)))
1e7464a9
DH
5157
5158(define-public totem-pl-parser
5159 (package
5160 (name "totem-pl-parser")
77425f04 5161 (version "3.26.3")
1e7464a9
DH
5162 (source (origin
5163 (method url-fetch)
e980cbe9
MW
5164 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
5165 (version-major+minor version) "/"
1e7464a9
DH
5166 "totem-pl-parser-" version ".tar.xz"))
5167 (sha256
5168 (base32
77425f04 5169 "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
1e9b19dd 5170 (build-system meson-build-system)
1e7464a9
DH
5171 (arguments
5172 ;; FIXME: Tests require gvfs.
5173 `(#:tests? #f))
5174 (native-inputs
5175 `(("intltool" ,intltool)
5176 ("glib" ,glib "bin")
4d6d8281 5177 ("gobject-introspection" ,gobject-introspection)
1e7464a9 5178 ("pkg-config" ,pkg-config)))
22a6ad6a 5179 (propagated-inputs
1e7464a9
DH
5180 `(("glib" ,glib)
5181 ("gmime" ,gmime)
1e9b19dd
RW
5182 ("libarchive" ,libarchive)
5183 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
5184 ("libxml2" ,libxml2)))
5185 (inputs
0a6e9e13 5186 `(("libsoup" ,libsoup)))
1e7464a9
DH
5187 (home-page "https://projects.gnome.org/totem")
5188 (synopsis "Library to parse and save media playlists for GNOME")
5189 (description "Totem-pl-parser is a GObjects-based library to parse and save
5190playlists in a variety of formats.")
5191 (license license:lgpl2.0+)))
5192
6b888eff
SB
5193(define-public aisleriot
5194 (package
5195 (name "aisleriot")
36ed9b46 5196 (version "3.22.9")
6b888eff
SB
5197 (source (origin
5198 (method url-fetch)
e43f622a 5199 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 5200 (version-major+minor version) "/"
e43f622a 5201 "aisleriot-" version ".tar.xz"))
6b888eff
SB
5202 (sha256
5203 (base32
36ed9b46 5204 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
5205 (build-system glib-or-gtk-build-system)
5206 (arguments
5207 '(#:configure-flags
5208 '("--with-platform=gtk-only"
5209 "--with-card-theme-formats=svg")))
5210 (native-inputs
5211 `(("desktop-file-utils" ,desktop-file-utils)
5212 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5213 ("intltool" ,intltool)
5214 ("itstool" ,itstool)
5215 ("pkg-config" ,pkg-config)
5216 ("xmllint" ,libxml2)))
5217 (inputs
5218 `(("gtk+" ,gtk+)
226e57d6 5219 ("guile" ,guile-2.2)
6b888eff
SB
5220 ("libcanberra" ,libcanberra)
5221 ("librsvg" ,librsvg)))
5222 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
5223 (synopsis "Solitaire card games")
5224 (description
5225 "Aisleriot (also known as Solitaire or sol) is a collection of card games
5226which are easy to play with the aid of a mouse.")
5227 (license license:gpl3+)))
4a79e256 5228
f828d05b
KK
5229(define-public amtk
5230 (package
5231 (name "amtk")
0e08ca14 5232 (version "5.0.2")
f828d05b
KK
5233 (source (origin
5234 (method url-fetch)
bf92ba6b 5235 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 5236 (version-major+minor version) "/"
bf92ba6b 5237 "amtk-" version ".tar.xz"))
f828d05b
KK
5238 (sha256
5239 (base32
0e08ca14 5240 "11jgz2i9wjzv4alrxl1qyxiapb52w7vs5ygfgsw0qgdap8gqkk3i"))))
f828d05b
KK
5241 (build-system gnu-build-system)
5242 (arguments
5243 '(#:configure-flags '("--enable-gtk-doc")))
5244 (native-inputs
5245 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 5246 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
5247 ("gtk-doc" ,gtk-doc)
5248 ("pkg-config" ,pkg-config)))
5249 (inputs
5250 `(("glib" ,glib)
5251 ("gtk+" ,gtk+)))
5252 (home-page "https://wiki.gnome.org/Projects/Amtk")
5253 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
5254 (description
5255 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
5256It is a basic GtkUIManager replacement based on GAction. It is suitable for
5257both a traditional UI or a modern UI with a GtkHeaderBar.")
5258 (license license:lgpl2.1+)))
5259
4a79e256
SB
5260(define-public devhelp
5261 (package
5262 (name "devhelp")
8ae23a1d 5263 (version "3.34.0")
4a79e256
SB
5264 (source (origin
5265 (method url-fetch)
5266 (uri (string-append "mirror://gnome/sources/" name "/"
5267 (version-major+minor version) "/"
5268 name "-" version ".tar.xz"))
5269 (sha256
5270 (base32
8ae23a1d 5271 "0zpmn6fgkgiayvn4diia5df0s6s7dqrdnp3nrvpavsmgn0vhb4pg"))))
11d28bd9 5272 (build-system meson-build-system)
35407f94 5273 (arguments
20db7a3d
KK
5274 '(#:glib-or-gtk? #t
5275 #:phases
35407f94
EF
5276 (modify-phases %standard-phases
5277 (add-after 'unpack 'skip-gtk-update-icon-cache
5278 ;; Don't create 'icon-theme.cache'.
5279 (lambda _
5280 (substitute* "meson_post_install.py"
5281 (("gtk-update-icon-cache") "true"))
5282 #t)))))
4a79e256
SB
5283 (native-inputs
5284 `(("intltool" ,intltool)
5dd12afc 5285 ("itstool" ,itstool)
11d28bd9
KK
5286 ("gobject-introspection" ,gobject-introspection)
5287 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
5288 ("pkg-config" ,pkg-config)))
5289 (inputs
11d28bd9
KK
5290 `(("amtk" ,amtk)
5291 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
5292 ("webkitgtk" ,webkitgtk)))
5293 (home-page "https://wiki.gnome.org/Apps/Devhelp")
5294 (synopsis "API documentation browser for GNOME")
5295 (description
5296 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
5297natively with GTK-Doc (the API reference system developed for GTK+ and used
5298throughout GNOME for API documentation).")
5299 (license license:gpl2+)))
ba421ab7
MW
5300
5301(define-public cogl
5302 (package
5303 (name "cogl")
c668a880 5304 (version "1.22.8")
ba421ab7
MW
5305 (source
5306 (origin
5307 (method url-fetch)
5754f0cf 5308 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 5309 (version-major+minor version) "/"
5754f0cf 5310 "cogl-" version ".tar.xz"))
ba421ab7 5311 (sha256
c668a880 5312 (base32 "0nfph4ai60ncdx7hy6hl1i1cmp761jgnyjfhagzi0iqq36qb41d8"))))
a88d5a0c
MW
5313 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
5314 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
5315 (build-system gnu-build-system)
5316 (native-inputs
5317 `(("glib:bin" ,glib "bin") ; for glib-mkenums
5318 ("gobject-introspection" ,gobject-introspection)
b4f04e0e 5319 ("xorg-server" ,xorg-server-for-tests)
ba421ab7
MW
5320 ("pkg-config" ,pkg-config)))
5321 (propagated-inputs
5322 `(("glib" ,glib)
5323 ("gdk-pixbuf" ,gdk-pixbuf)
5324 ("libx11" ,libx11)
5325 ("libxext" ,libxext)
5326 ("libxfixes" ,libxfixes)
5327 ("libxdamage" ,libxdamage)
5328 ("libxcomposite" ,libxcomposite)
5329 ("libxrandr" ,libxrandr)))
5330 (inputs
5331 `(("mesa" ,mesa)
5332 ("cairo" ,cairo)
5333 ("pango" ,pango)
5334 ("gstreamer" ,gstreamer)
31860852
KK
5335 ("gst-plugins-base" ,gst-plugins-base)
5336 ("wayland" ,wayland)))
ba421ab7 5337 (arguments
b4f04e0e
MB
5338 `(#:disallowed-references (,xorg-server-for-tests)
5339 #:configure-flags (list "--enable-cogl-gst"
31860852
KK
5340 "--enable-wayland-egl-platform"
5341 "--enable-wayland-egl-server"
5342
ba421ab7
MW
5343 ;; Arrange to pass an absolute file name to
5344 ;; dlopen for libGL.so.
5345 (string-append "--with-gl-libname="
5346 (assoc-ref %build-inputs "mesa")
5347 "/lib/libGL.so"))
b4f04e0e 5348 #:phases
ba421ab7 5349 (modify-phases %standard-phases
0c8a51c7
MB
5350 (add-after 'unpack 'fix-build-with-mesa-20
5351 (lambda _
5352 ;; Work around a problem with Mesa 20 where some macros used by
5353 ;; Cogl went missing from eglext.h. This can likely be removed
5354 ;; for newer versions of Cogl or Mesa.
5355 ;; https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/19
5356 (substitute* '("configure"
5357 "cogl/winsys/cogl-winsys-egl-kms.c")
5358 (("#include <EGL/eglext.h>" all)
5359 (string-append all "\n#include <EGL/eglmesaext.h>\n")))
5360 #t))
ba421ab7 5361 (add-before 'check 'start-xorg-server
b4f04e0e
MB
5362 (lambda* (#:key tests? inputs #:allow-other-keys)
5363 (if tests?
5364 (begin
5365 ;; The test suite requires a running X server.
5366 (system (format #f "~a/bin/Xvfb :1 +extension GLX &"
5367 (assoc-ref inputs "xorg-server")))
5368 (setenv "DISPLAY" ":1")
5369 #t)
5370 (format #t "test suite not run~%"))
ba421ab7 5371 #t)))))
89b49245 5372 (home-page "https://www.cogl3d.org")
ba421ab7
MW
5373 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
5374 (description
5375 "Cogl is a small library for using 3D graphics hardware to draw pretty
5376pictures. The API departs from the flat state machine style of OpenGL and is
5377designed to make it easy to write orthogonal components that can render
5378without stepping on each others toes.")
5379 (license (list license:expat ; most of the code
5380 license:bsd-3 ; cogl/cogl-point-in-poly.c
5381 license:sgifreeb2.0 ; cogl-path/tesselator/
5382 license:asl2.0)))) ; examples/android/
fb182b8a
MW
5383
5384(define-public clutter
5385 (package
5386 (name "clutter")
6a88e4ee 5387 (version "1.26.2")
fb182b8a
MW
5388 (source
5389 (origin
5390 (method url-fetch)
5391 (uri (string-append "mirror://gnome/sources/" name "/"
5392 (version-major+minor version) "/"
5393 name "-" version ".tar.xz"))
5394 (sha256
5395 (base32
6a88e4ee 5396 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
5397 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
5398 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 5399 (build-system gnu-build-system)
600233bd
LC
5400 (outputs '("out"
5401 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
5402 (native-inputs
5403 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
5404 ("gobject-introspection" ,gobject-introspection)
5405 ("pkg-config" ,pkg-config)
5406 ("xsltproc" ,libxslt)))
5407 (propagated-inputs
5408 `(("cogl" ,cogl)
5409 ("cairo" ,cairo)
5410 ("atk" ,atk)
5411 ("gtk+" ,gtk+)
5412 ("json-glib" ,json-glib)
5413 ("glib" ,glib)
5414 ("libxcomposite" ,libxcomposite)
5415 ("libxdamage" ,libxdamage)
5416 ("libxext" ,libxext)
5417 ("xinput" ,xinput)))
5418 (inputs
5419 `(("libxkbcommon" ,libxkbcommon)
5420 ("udev" ,eudev)))
5421 (arguments
600233bd
LC
5422 `(#:configure-flags (list "--enable-x11-backend=yes"
5423
5424 ;; This produces share/doc/{clutter,cally}.
5425 (string-append "--with-html-dir="
5426 (assoc-ref %outputs "doc")
5427 "/share/doc"))
fb182b8a
MW
5428 ;; XXX FIXME: Get test suite working. It would probably fail in the
5429 ;; same way the cogl tests fail, since clutter is based on cogl.
5430 #:tests? #f))
5431 (home-page "http://www.clutter-project.org")
476af713 5432 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 5433 (description
476af713 5434 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
5435creating fast, mainly 2D single window applications such as media box UIs,
5436presentations, kiosk style applications and so on.")
5437 (license license:lgpl2.0+)))
bf7f17ba
MW
5438
5439(define-public clutter-gtk
5440 (package
5441 (name "clutter-gtk")
5d1a3219 5442 (version "1.8.4")
bf7f17ba
MW
5443 (source
5444 (origin
5445 (method url-fetch)
5446 (uri (string-append "mirror://gnome/sources/" name "/"
5447 (version-major+minor version) "/"
5448 name "-" version ".tar.xz"))
5449 (sha256
5450 (base32
5d1a3219 5451 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
5452 (build-system gnu-build-system)
5453 (native-inputs
5454 `(("pkg-config" ,pkg-config)
5455 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
5456 (propagated-inputs
5457 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
5458 `(("clutter" ,clutter)
5459 ("gtk+" ,gtk+)))
5460 (home-page "http://www.clutter-project.org")
476af713 5461 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 5462 (description
476af713 5463 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
5464creating fast, mainly 2D single window applications such as media box UIs,
5465presentations, kiosk style applications and so on.")
5466 (license license:lgpl2.0+)))
86d6a893
MW
5467
5468(define-public clutter-gst
5469 (package
5470 (name "clutter-gst")
ba07ac19 5471 (version "3.0.27")
86d6a893
MW
5472 (source
5473 (origin
5474 (method url-fetch)
f010f89b 5475 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 5476 (version-major+minor version) "/"
f010f89b 5477 "clutter-gst-" version ".tar.xz"))
86d6a893 5478 (sha256
ba07ac19 5479 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
5480 (build-system gnu-build-system)
5481 (native-inputs
ba07ac19 5482 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
5483 ("pkg-config" ,pkg-config)
5484 ("gobject-introspection" ,gobject-introspection)))
5485 (inputs
5486 `(("clutter" ,clutter)
5487 ("gstreamer" ,gstreamer)
5488 ("gst-plugins-base" ,gst-plugins-base)))
5489 (home-page "http://www.clutter-project.org")
5490 (synopsis "Integration library for using GStreamer with Clutter")
5491 (description
5492 "Clutter-Gst is an integration library for using GStreamer with Clutter.
5493It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
5494implements the ClutterGstPlayer interface using playbin. Clutter is an
5495OpenGL-based interactive canvas library.")
86d6a893 5496 (license license:lgpl2.0+)))
607a04ae 5497
30dc88d9
LC
5498(define-public libchamplain
5499 (package
5500 (name "libchamplain")
5564b2c5 5501 (version "0.12.16")
30dc88d9
LC
5502 (source (origin
5503 (method url-fetch)
5504 (uri (string-append
5505 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
5506 version ".tar.xz"))
5507 (sha256
5508 (base32
5564b2c5 5509 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 5510 (build-system gnu-build-system)
f7c6833f
LF
5511 (arguments '(#:configure-flags '("--enable-vala")))
5512 (native-inputs
5513 `(("gobject-introspection" ,gobject-introspection)
5514 ("pkg-config" ,pkg-config)
5515 ("vala" ,vala)))
30dc88d9
LC
5516 (propagated-inputs
5517 `(("libsoup" ,libsoup)
5518 ("sqlite" ,sqlite)
5519 ("clutter" ,clutter)
5520 ("clutter-gtk" ,clutter-gtk)
5521 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
5522 ("cairo" ,cairo)
5523 ("gtk+3" ,gtk+)
5524 ("glib" ,glib)))
f032d0be 5525 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
5526 (synopsis "C library providing a ClutterActor to display maps")
5527 (description
5528 "libchamplain is a C library providing a ClutterActor to display maps.
5529It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
5530and Perl bindings are also available. It supports numerous free map sources
5531such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
5532 (license license:lgpl2.1+)))
5533
607a04ae
MW
5534(define-public gom
5535 (package
5536 (name "gom")
0510440b 5537 (version "0.3.2")
607a04ae
MW
5538 (source
5539 (origin
5540 (method url-fetch)
6c8a0b6f 5541 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 5542 (version-major+minor version) "/"
6c8a0b6f 5543 "gom-" version ".tar.xz"))
607a04ae
MW
5544 (sha256
5545 (base32
0510440b 5546 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
5547 (build-system gnu-build-system)
5548 (native-inputs
5549 `(("intltool" ,intltool)
5550 ("pkg-config" ,pkg-config)
5551 ("gobject-introspection" ,gobject-introspection)))
5552 (inputs
5553 `(("glib" ,glib)
5554 ("gdk-pixbuf" ,gdk-pixbuf)
5555 ("sqlite" ,sqlite)))
5556 ;; XXX TODO: Figure out how to run the test suite.
5557 (arguments `(#:tests? #f))
5558 (home-page "https://wiki.gnome.org/Projects/Gom")
5559 (synopsis "Object mapper from GObjects to SQLite")
5560 (description
5561 "Gom provides an object mapper from GObjects to SQLite. It helps you
5562write applications that need to store structured data as well as make complex
5563queries upon that data.")
5564 (license license:lgpl2.1+)))
b7a3cf11 5565
865aacc9 5566(define-public libgnome-games-support
f09520db 5567 (package
865aacc9 5568 (name "libgnome-games-support")
4c6d15cf 5569 (version "1.4.4")
f09520db
SB
5570 (source (origin
5571 (method url-fetch)
2d8dca9d 5572 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 5573 (version-major+minor version) "/"
2d8dca9d 5574 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
5575 (sha256
5576 (base32
4c6d15cf 5577 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
5578 (build-system gnu-build-system)
5579 (arguments
5580 '(#:phases
5581 (modify-phases %standard-phases
5582 (add-before 'check 'pre-check
5583 (lambda _
865aacc9 5584 ;; Tests require a writable HOME.
f09520db
SB
5585 (setenv "HOME" (getcwd))
5586 #t)))))
5587 (native-inputs
5588 `(("intltool" ,intltool)
5589 ("pkg-config" ,pkg-config)
5590 ("vala" ,vala)))
5591 (propagated-inputs
865aacc9 5592 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
5593 `(("gtk+" ,gtk+)
5594 ("libgee" ,libgee)))
5595 (home-page "https://www.gnome.org/")
5596 (synopsis "Useful functionality shared among GNOME games")
5597 (description
865aacc9 5598 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
5599GNOME Games, but it may be used by others.")
5600 (license license:lgpl3+)))
5601
b7a3cf11
SB
5602(define-public gnome-klotski
5603 (package
5604 (name "gnome-klotski")
18364fbc 5605 (version "3.34.0")
b7a3cf11
SB
5606 (source (origin
5607 (method url-fetch)
5608 (uri (string-append "mirror://gnome/sources/" name "/"
5609 (version-major+minor version) "/"
5610 name "-" version ".tar.xz"))
5611 (sha256
5612 (base32
18364fbc 5613 "0sbx0bzy32lh2c9jp8v7gz788wn9y1la8mr5a7gf7370szsl4d4f"))))
c1e419c4
KK
5614 (build-system meson-build-system)
5615 (arguments
5616 '(#:glib-or-gtk? #t
5617 #:phases
5618 (modify-phases %standard-phases
5619 (add-after 'unpack 'skip-gtk-update-icon-cache
5620 ;; Don't create 'icon-theme.cache'.
5621 (lambda _
5622 (substitute* "build-aux/meson_post_install.py"
5623 (("gtk-update-icon-cache") (which "true")))
5624 #t)))))
b7a3cf11
SB
5625 (native-inputs
5626 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 5627 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
5628 ("intltool" ,intltool)
5629 ("itstool" ,itstool)
bcb354ad 5630 ("pkg-config" ,pkg-config)
c1e419c4 5631 ("vala" ,vala)
bcb354ad 5632 ("xmllint" ,libxml2)))
b7a3cf11
SB
5633 (inputs
5634 `(("gtk+" ,gtk+)
f4eae76f 5635 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
5636 ("librsvg" ,librsvg)))
5637 (home-page "https://wiki.gnome.org/Apps/Klotski")
5638 (synopsis "Sliding block puzzles")
5639 (description
5640 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
5641the patterned block to the area bordered by green markers. To do so, you will
5642need to slide other blocks out of the way. Complete each puzzle in as few moves
5643as possible!")
5644 (license license:gpl2+)))
8d4791bf
MW
5645
5646(define-public grilo
5647 (package
5648 (name "grilo")
a865e938 5649 (version "0.3.10")
8d4791bf
MW
5650 (source
5651 (origin
5652 (method url-fetch)
5653 (uri (string-append "mirror://gnome/sources/" name "/"
5654 (version-major+minor version) "/"
5655 name "-" version ".tar.xz"))
5656 (sha256
5657 (base32
a865e938 5658 "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y"))))
d48d4c98 5659 (build-system meson-build-system)
8d4791bf
MW
5660 (native-inputs
5661 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
5662 ("intltool" ,intltool)
5663 ("pkg-config" ,pkg-config)
d48d4c98
KK
5664 ("gobject-introspection" ,gobject-introspection)
5665 ("gtk-doc" ,gtk-doc)
5666 ("vala" ,vala)))
8d4791bf 5667 (inputs
6d7273a0
KK
5668 `(("cyrus-sasl" ,cyrus-sasl)
5669 ("glib" ,glib)
8d4791bf
MW
5670 ("gtk+" ,gtk+)
5671 ("libxml2" ,libxml2)
6d7273a0 5672 ("liboauth" ,liboauth)
8d4791bf
MW
5673 ("libsoup" ,libsoup)
5674 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
5675 (native-search-paths
5676 (list (search-path-specification
5677 (variable "GRL_PLUGIN_PATH")
5678 (files (list (string-append "lib/grilo-"
5679 (version-major+minor version)))))))
d48d4c98 5680 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
5681 (synopsis "Framework for discovering and browsing media")
5682 (description
5683 "Grilo is a framework focused on making media discovery and browsing easy
5684for application developers.")
5685 (license license:lgpl2.1+)))
7b212526
MW
5686
5687(define-public grilo-plugins
5688 (package
5689 (name "grilo-plugins")
281f6b3a 5690 (version "0.3.10")
7b212526
MW
5691 (source
5692 (origin
5693 (method url-fetch)
5694 (uri (string-append "mirror://gnome/sources/" name "/"
5695 (version-major+minor version) "/"
5696 name "-" version ".tar.xz"))
5697 (sha256
5698 (base32
281f6b3a
RG
5699 "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0"))))
5700 (build-system meson-build-system)
7b212526 5701 (native-inputs
281f6b3a
RG
5702 `(("gettext" ,gettext-minimal)
5703 ("glib:bin" ,glib "bin")
5704 ("gtk+:bin" ,gtk+ "bin")
7b212526
MW
5705 ("itstool" ,itstool)
5706 ("pkg-config" ,pkg-config)))
281f6b3a 5707 ;; TODO: ahavi, gstreamer
7b212526
MW
5708 (inputs
5709 `(("grilo" ,grilo)
281f6b3a
RG
5710 ;("gmime" ,gmime) ; unused
5711 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
7b212526 5712 ("gom" ,gom)
281f6b3a
RG
5713 ;("gssdp" ,gssdp) ; unused
5714 ;("gupnp" ,gupnp) ; unused
5715 ;("gupnp-av" ,gupnp-av) ; unused
7b212526
MW
5716 ("json-glib" ,json-glib)
5717 ("avahi" ,avahi)
281f6b3a
RG
5718 ("libgdata" ,libgdata)
5719 ("libmediaart" ,libmediaart)
5720 ;("librest" ,rest) ; unused
7b212526 5721 ("libsoup" ,libsoup)
281f6b3a
RG
5722 ("totam-pl-parser" ,totem-pl-parser)
5723 ("tracker" ,tracker))) ; unused because it's too old
7b212526 5724 (arguments
281f6b3a
RG
5725 `(#:glib-or-gtk? #t
5726 ;;Disable lua-factory as it needs missing dependencies
5727 #:configure-flags '("-Denable-lua-factory=no")))
f032d0be 5728 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
5729 (synopsis "Plugins for the Grilo media discovery library")
5730 (description
5731 "Grilo is a framework focused on making media discovery and browsing easy
281f6b3a
RG
5732for application developers. This package provides plugins for common media
5733discovery protocols.")
7b212526 5734 (license license:lgpl2.1+)))
4e3fc547
MW
5735
5736(define-public totem
5737 (package
5738 (name "totem")
961dc62d 5739 (version "3.34.1")
4e3fc547
MW
5740 (source
5741 (origin
5742 (method url-fetch)
2a9761b1 5743 (uri (string-append "mirror://gnome/sources/totem/"
4e3fc547 5744 (version-major+minor version) "/"
2a9761b1 5745 "totem-" version ".tar.xz"))
4e3fc547
MW
5746 (sha256
5747 (base32
961dc62d 5748 "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b"))))
7ad81b8b 5749 (build-system meson-build-system)
4e3fc547
MW
5750 (native-inputs
5751 `(("pkg-config" ,pkg-config)
5752 ("desktop-file-utils" ,desktop-file-utils)
5753 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 5754 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 5755 ("intltool" ,intltool)
bcb354ad 5756 ("itstool" ,itstool)
995ef5ea 5757 ("xmllint" ,libxml2)
995ef5ea 5758 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
5759 (propagated-inputs
5760 `(("dconf" ,dconf)))
5761 (inputs
5762 `(("gtk+" ,gtk+)
5763 ("gdk-pixbuf" ,gdk-pixbuf)
5764 ("atk" ,atk)
5765 ("cairo" ,cairo)
5766 ("dbus-glib" ,dbus-glib)
5767 ("clutter" ,clutter)
5768 ("clutter-gtk" ,clutter-gtk)
5769 ("clutter-gst" ,clutter-gst)
6a6db57f 5770 ("xorgproto" ,xorgproto)
4e3fc547
MW
5771 ("libxxf86vm" ,libxxf86vm)
5772 ("libxtst" ,libxtst)
5773 ("libxrandr" ,libxrandr)
5774 ("libxml2" ,libxml2)
5775 ("libsoup" ,libsoup)
5776 ("libpeas" ,libpeas)
5777 ("librsvg" ,librsvg)
5778 ("lirc" ,lirc)
5779 ("gnome-desktop" ,gnome-desktop)
5780 ("gstreamer" ,gstreamer)
5781 ("gst-plugins-base" ,gst-plugins-base)
5782 ("gst-plugins-good" ,gst-plugins-good)
5783 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5784 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 5785 ("python" ,python)
995ef5ea 5786 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
5787 ("totem-pl-parser" ,totem-pl-parser)
5788 ("grilo" ,grilo)
5789 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
5790 ("vala" ,vala)))
5791 (arguments
7ad81b8b
LC
5792 `(#:glib-or-gtk? #t
5793
5794 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 5795 ;; all that.
7ad81b8b 5796 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
5797
5798 ;; Do not build .a files for the plugins, it's
5799 ;; completely useless. This saves 2 MiB.
7ad81b8b 5800 "--default-library" "shared")
ec5c24f9 5801 #:phases
4e3fc547 5802 (modify-phases %standard-phases
d51b19ad
EF
5803 (add-after 'unpack 'skip-gtk-update-icon-cache
5804 ;; Don't create 'icon-theme.cache'.
5805 (lambda _
5806 (substitute* "meson_post_install.py"
5807 (("gtk-update-icon-cache") "true"))
5808 #t))
6368eb39
DM
5809 (add-before
5810 'install 'disable-cache-generation
5811 (lambda _
5812 (setenv "DESTDIR" "/")
5813 #t))
995ef5ea
KK
5814 (add-before
5815 'check 'pre-check
5816 (lambda _
5817 ;; Tests require a running X server.
5818 (system "Xvfb :1 &")
5819 (setenv "DISPLAY" ":1")
5820 #t))
4e3fc547
MW
5821 (add-after
5822 'install 'wrap-totem
5823 (lambda* (#:key inputs outputs #:allow-other-keys)
5824 (let ((out (assoc-ref outputs "out"))
5825 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
5826 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
5827 (wrap-program (string-append out "/bin/totem")
5828 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
5829 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
5830 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
5831 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
5832 #t)))))
5833 (home-page "https://wiki.gnome.org/Apps/Videos")
5834 (synopsis "Simple media player for GNOME based on GStreamer")
5835 (description "Totem is a simple yet featureful media player for GNOME
5836which can read a large number of file formats.")
5837 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
5838 ;; to be used and distributed together with GStreamer and Totem. See
5839 ;; file://COPYING in the source distribution for details.
5840 (license license:gpl2+)))
f0afb0c8
DH
5841
5842(define-public rhythmbox
5843 (package
5844 (name "rhythmbox")
eda580c0 5845 (version "3.4.4")
f0afb0c8
DH
5846 (source (origin
5847 (method url-fetch)
2588693d 5848 (uri (string-append "mirror://gnome/sources/rhythmbox/"
f0afb0c8 5849 (version-major+minor version) "/"
2588693d 5850 "rhythmbox-" version ".tar.xz"))
f0afb0c8
DH
5851 (sha256
5852 (base32
eda580c0 5853 "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf"))))
f0afb0c8
DH
5854 (build-system glib-or-gtk-build-system)
5855 (arguments
5856 `(#:configure-flags
5857 (list "--enable-lirc"
5858 "--enable-python"
5859 "--enable-vala"
5860 "--with-brasero"
5861 "--with-gudev"
5862 "--with-libsecret")
5863 #:phases
5864 (modify-phases %standard-phases
5865 (add-after
5866 'install 'wrap-rhythmbox
5867 (lambda* (#:key inputs outputs #:allow-other-keys)
5868 (let ((out (assoc-ref outputs "out"))
5869 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5870 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
5871 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
5872 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
5873 (wrap-program (string-append out "/bin/rhythmbox")
5874 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5875 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
5876 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
5877 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
5878 #t)))))
5879 (propagated-inputs
5880 `(("dconf" ,dconf)))
5881 (native-inputs
bcb354ad
SB
5882 `(("itstool" ,itstool)
5883 ("intltool" ,intltool)
f0afb0c8
DH
5884 ("glib" ,glib "bin")
5885 ("gobject-introspection" ,gobject-introspection)
5886 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
5887 ("pkg-config" ,pkg-config)
5888 ("xmllint" ,libxml2)))
f0afb0c8
DH
5889 (inputs
5890 `(("json-glib" ,json-glib)
5891 ("tdb" ,tdb)
5892 ("gnome-desktop" ,gnome-desktop)
5893 ("python" ,python)
5894 ("python-pygobject" ,python2-pygobject)
5895 ("vala" ,vala)
5896 ("gmime" ,gmime)
f0afb0c8
DH
5897 ("adwaita-icon-theme" ,adwaita-icon-theme)
5898 ("grilo" ,grilo)
5899 ("grilo-plugins" ,grilo-plugins)
5900 ("gstreamer" ,gstreamer)
5901 ("gst-plugins-base" ,gst-plugins-base)
5902 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 5903 ("totem-pl-parser" ,totem-pl-parser)
ea226291 5904 ("libgudev" ,libgudev)
f0afb0c8
DH
5905 ;;("libmtp" ,libmtp) FIXME: Not detected
5906 ("libsecret" ,libsecret)
5907 ("libsoup" ,libsoup)
5908 ("libnotify" ,libnotify)
5909 ("libpeas" ,libpeas)
5910 ("lirc" ,lirc)
5911 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
5912 ;;("clutter" ,clutter)
5913 ;;("clutter-gtk" ,clutter-gtk)
5914 ;;("clutter-gst" ,clutter-gst)
5915 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5916 ("atk" ,atk)
5917 ("pango" ,pango)
5918 ("gtk+" ,gtk+)
5919 ;; TODO:
5920 ;; * libgpod
5921 ;; * mx
f0afb0c8
DH
5922 ("brasero" ,brasero)))
5923 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
5924 (synopsis "Music player for GNOME")
5925 (description "Rhythmbox is a music playing application for GNOME. It
5926supports playlists, song ratings, and any codecs installed through gstreamer.")
5927 (license license:gpl2+)))
f70d8383
DH
5928
5929(define-public eog
5930 (package
5931 (name "eog")
0c9031fa 5932 (version "3.34.1")
f70d8383
DH
5933 (source (origin
5934 (method url-fetch)
5935 (uri (string-append "mirror://gnome/sources/" name "/"
5936 (version-major+minor version) "/"
5937 name "-" version ".tar.xz"))
5938 (sha256
5939 (base32
0c9031fa 5940 "0b7ld4azs9xbdjsk9b91ywhdzvxgajhndiwiivxjzbr0hjgp7c7x"))))
61fb581f 5941 (build-system meson-build-system)
f70d8383 5942 (arguments
34c44a34
RW
5943 `(#:configure-flags
5944 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
5945 (list (string-append "-Dc_link_args=-Wl,-rpath="
5946 (assoc-ref %outputs "out") "/lib/eog"))
5947 #:phases
f70d8383 5948 (modify-phases %standard-phases
7a034665
EF
5949 (add-after 'unpack 'skip-gtk-update-icon-cache
5950 ;; Don't create 'icon-theme.cache'.
5951 (lambda _
5952 (substitute* "meson_post_install.py"
5953 (("gtk-update-icon-cache") "true"))
5954 #t))
61fb581f
RW
5955 (add-after 'install 'wrap-eog
5956 (lambda* (#:key outputs #:allow-other-keys)
5957 (let ((out (assoc-ref outputs "out"))
5958 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5959 (wrap-program (string-append out "/bin/eog")
5960 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5961 #t)))))
f70d8383
DH
5962 (propagated-inputs
5963 `(("dconf" ,dconf)))
5964 (native-inputs
5965 `(("intltool" ,intltool)
b3546174 5966 ("itstool" ,itstool)
f70d8383
DH
5967 ("glib" ,glib "bin")
5968 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
5969 ("pkg-config" ,pkg-config)
5970 ("xmllint" ,libxml2)))
f70d8383
DH
5971 (inputs
5972 `(("gnome-desktop" ,gnome-desktop)
5973 ("shared-mime-info" ,shared-mime-info)
5974 ("adwaita-icon-theme" ,adwaita-icon-theme)
5975 ("exempi" ,exempi)
5976 ("lcms" ,lcms)
5977 ("libexif" ,libexif)
5978 ("libpeas" ,libpeas)
4bd428a7 5979 ("libjpeg" ,libjpeg-turbo)
0c9031fa 5980 ("librsvg" ,librsvg-next)
f70d8383
DH
5981 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5982 ("gtk+" ,gtk+)))
5983 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
5984 (synopsis "GNOME image viewer")
5985 (description "Eye of GNOME is the GNOME image viewer. It
5986supports image conversion, rotation, and slideshows.")
5987 (license license:gpl2+)))
41af5e7b 5988
0c3f8cb8
LC
5989(define-public eog-plugins
5990 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
5991 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
5992 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
5993 ;; 'XDG_DATA_DIRS' appropriately set.
5994 (package
5995 (name "eog-plugins")
54b74cc6 5996 (version "3.26.4")
0c3f8cb8
LC
5997 (source (origin
5998 (method url-fetch)
f3b88ed2 5999 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 6000 (version-major+minor version) "/"
f3b88ed2 6001 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
6002 (sha256
6003 (base32
54b74cc6 6004 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
6005 (build-system gnu-build-system)
6006 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
6007 (synopsis "Extensions for the Eye of GNOME image viewer")
6008 (native-inputs
6009 `(("pkg-config" ,pkg-config)
f2d97d57 6010 ("gettext" ,gettext-minimal)))
0c3f8cb8
LC
6011 (inputs
6012 `(("eog" ,eog)
6013 ("glib" ,glib)
6014 ("gtk+" ,gtk+)
6015 ("libpeas" ,libpeas)
6016 ("libexif" ,libexif)
6017 ("libchamplain" ,libchamplain)))
6018 (description
6019 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
6020notably:
6021
6022@itemize
6023@item @dfn{EXIF Display}, which displays camera (EXIF) information;
6024@item @dfn{Map}, which displays a map of where the picture was taken on the
6025side panel;
6026@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
6027@end itemize\n")
6028
6029 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
6030 ;; long suspicious byte stream that goes to a
6031 ;; ".gresource.eog_postasa_plugin" ELF section.
6032 (license license:gpl2+)))
6033
41af5e7b
SB
6034(define-public libgudev
6035 (package
6036 (name "libgudev")
b78f5118 6037 (version "232")
41af5e7b
SB
6038 (source (origin
6039 (method url-fetch)
6040 (uri (string-append "mirror://gnome/sources/" name "/"
6041 version "/" name "-" version ".tar.xz"))
6042 (sha256
6043 (base32
b78f5118 6044 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 6045 (build-system gnu-build-system)
b78f5118
RW
6046 (arguments
6047 '(#:configure-flags
6048 ;; umockdev depends on libgudev.
6049 (list "--disable-umockdev")))
41af5e7b
SB
6050 (native-inputs
6051 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
6052 ("gobject-introspection" ,gobject-introspection)
6053 ("pkg-config" ,pkg-config)))
6054 (propagated-inputs
6055 `(("glib" ,glib))) ; required by gudev-1.0.pc
6056 (inputs
6057 `(("udev" ,eudev)))
6058 (home-page "https://wiki.gnome.org/Projects/libgudev")
6059 (synopsis "GObject bindings for libudev")
6060 (description
6061 "This library provides GObject bindings for libudev. It was originally
6062part of udev-extras, then udev, then systemd. It's now a project on its own.")
6063 (license license:lgpl2.1+)))
3dc8828f
SB
6064
6065(define-public gvfs
6066 (package
6067 (name "gvfs")
12fe4846 6068 (version "1.40.1")
3dc8828f
SB
6069 (source (origin
6070 (method url-fetch)
1d68eb32 6071 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 6072 (version-major+minor version) "/"
1d68eb32 6073 "gvfs-" version ".tar.xz"))
3dc8828f
SB
6074 (sha256
6075 (base32
95b90dec
KK
6076 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))
6077 ;; This patch may be removed when upgrading to version 1.46.x.
6078 (patches
6079 (search-patches "gvfs-add-support-for-libplist-2.2.patch"))))
e762d943 6080 (build-system meson-build-system)
3dc8828f 6081 (arguments
e762d943
RW
6082 '(#:glib-or-gtk? #t
6083 #:configure-flags
6084 (list "-Dsystemduserunitdir=no"
6085 "-Dtmpfilesdir=no"
6086 ;; Otherwise, the RUNPATH will lack the final path component.
6087 (string-append "-Dc_link_args=-Wl,-rpath="
6088 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
6089 (native-inputs
6090 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
6091 ("gettext" ,gettext-minimal)
6092 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
6093 ("pkg-config" ,pkg-config)
6094 ("xsltproc" ,libxslt)))
6095 (inputs
6096 `(("avahi" ,avahi)
6097 ("docbook-xml" ,docbook-xml-4.2)
6098 ("docbook-xsl" ,docbook-xsl)
6099 ("dbus" ,dbus)
e762d943 6100 ("elogind" ,elogind)
3dc8828f 6101 ("fuse" ,fuse)
24a78aa6 6102 ("gcr" ,gcr)
3dc8828f 6103 ("glib" ,glib)
e762d943 6104 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
6105 ("libarchive" ,libarchive)
6106 ("libbluray" ,libbluray)
8852ca24 6107 ("libcap" ,libcap)
3dc8828f
SB
6108 ("libcdio-paranoia" ,libcdio-paranoia)
6109 ("libgcrypt" ,libgcrypt)
e762d943 6110 ("libgdata" ,libgdata)
3dc8828f
SB
6111 ("libgphoto2" ,libgphoto2)
6112 ("libgudev" ,libgudev)
0ab9f949 6113 ("libimobiledevice" ,libimobiledevice)
3dc8828f 6114 ("libmtp" ,libmtp)
e762d943 6115 ("libnfs" ,libnfs)
3dc8828f
SB
6116 ("libsecret" ,libsecret)
6117 ("libsmbclient" ,samba)
6118 ("libsoup" ,libsoup)
6119 ("libxml2" ,libxml2)
e762d943 6120 ("openssh" ,openssh)
8852ca24 6121 ("polkit" ,polkit)
3dc8828f
SB
6122 ("udisks" ,udisks)))
6123 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 6124 (synopsis "Userspace virtual file system for GIO")
3dc8828f 6125 (description
8f65585b 6126 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
6127abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
6128to all applications using the GIO API. It also supports exposing the GVFS
6129mounts to non-GIO applications using FUSE.
6130
6131GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
6132DAV, and others.")
6133 (license license:lgpl2.0+)))
7c88b6bd
AW
6134
6135(define-public gusb
6136 (package
6137 (name "gusb")
536b3274 6138 (version "0.3.0")
7c88b6bd 6139 (source (origin
bbfb36f9
EF
6140 (method git-fetch)
6141 (uri (git-reference
b0e7b699 6142 (url "https://github.com/hughsie/libgusb")
bbfb36f9
EF
6143 (commit version)))
6144 (file-name (git-file-name name version))
7c88b6bd
AW
6145 (sha256
6146 (base32
bbfb36f9 6147 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 6148 (build-system meson-build-system)
7c88b6bd 6149 (native-inputs
536b3274 6150 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
6151 ("pkg-config" ,pkg-config)
6152 ("vala" ,vala)
7c88b6bd
AW
6153 ("gtk-doc" ,gtk-doc)))
6154 (propagated-inputs
6155 ;; Both of these are required by gusb.pc.
6156 `(("glib" ,glib)
6157 ("libusb" ,libusb)))
6158 (arguments
536b3274 6159 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 6160 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 6161 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
6162 (description
6163 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
6164asynchronous control, bulk and interrupt transfers with proper cancellation
6165and integration into a mainloop. This makes it easy to integrate low level
6166USB transfers with your high-level application or system daemon.")
6167 (license license:lgpl2.1+)))
0abe1d86
AW
6168
6169(define-public simple-scan
6170 (package
6171 (name "simple-scan")
c96f9178 6172 (version "3.36.4")
d9f6d587
TGR
6173 (source
6174 (origin
6175 (method url-fetch)
6176 (uri (string-append "mirror://gnome/sources/simple-scan/"
6177 (version-major+minor version) "/"
6178 "simple-scan-" version ".tar.xz"))
6179 (sha256
c96f9178 6180 (base32 "09gmzrlljdqkj3w6wa1c27wypy6j8z9dw3jzv9izfqvp38liibsn"))))
d9f6d587
TGR
6181 (build-system meson-build-system)
6182 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
6183 (arguments
6184 '(#:glib-or-gtk? #t))
0abe1d86
AW
6185 (inputs
6186 `(("gtk" ,gtk+)
6187 ("zlib" ,zlib)
6188 ("cairo" ,cairo)
c501f592 6189 ("colord" ,colord)
0abe1d86
AW
6190 ("gdk-pixbuf" ,gdk-pixbuf)
6191 ("gusb" ,gusb)
4c928743 6192 ("libsane" ,sane-backends)))
0abe1d86 6193 (native-inputs
b94a6ca0 6194 `(("gettext" ,gettext-minimal)
0abe1d86 6195 ("itstool" ,itstool)
c501f592 6196 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 6197 ("pkg-config" ,pkg-config)
bcb354ad
SB
6198 ("vala" ,vala)
6199 ("xmllint" ,libxml2)))
dff0eedb 6200 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 6201 (synopsis "Document and image scanner")
d9f6d587
TGR
6202 (description
6203 "Document Scanner is an easy-to-use application that lets you connect your
6204scanner and quickly capture images and documents in an appropriate format. It
6205supports any scanner for which a suitable SANE driver is available, which is
6206almost all of them.")
0abe1d86 6207 (license license:gpl3+)))
7549f984 6208
ab466d79
RW
6209(define-public eolie
6210 (package
6211 (name "eolie")
ed783404 6212 (version "0.9.98.1")
ab466d79
RW
6213 (source (origin
6214 (method url-fetch)
ed783404
RW
6215 (uri (string-append "https://adishatz.org/eolie/eolie-"
6216 version ".tar.xz"))
ab466d79
RW
6217 (sha256
6218 (base32
ed783404 6219 "1d844zva5w4p9pnp9c2g7zyb4vayr2g2drf78spxsdlc5lbd7lqr"))))
00014781 6220 (build-system meson-build-system)
ab466d79 6221 (arguments
00014781
RW
6222 `(#:glib-or-gtk? #t
6223 #:phases
ab466d79 6224 (modify-phases %standard-phases
f0c68100
EF
6225 (add-after 'unpack 'skip-gtk-update-icon-cache
6226 ;; Don't create 'icon-theme.cache'.
6227 (lambda _
6228 (substitute* "meson_post_install.py"
6229 (("gtk-update-icon-cache") "true"))
6230 #t))
ab466d79
RW
6231 (add-after 'wrap 'wrap-more
6232 (lambda* (#:key inputs outputs #:allow-other-keys)
6233 (let* ((out (assoc-ref outputs "out"))
6234 ;; These libraries must be on LD_LIBRARY_PATH.
6235 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
6236 "atk" "gtk+" "gsettings-desktop-schemas"
6237 "gobject-introspection"))
6238 (path (string-join
6239 (map (lambda (lib)
6240 (string-append (assoc-ref inputs lib) "/lib"))
6241 libs)
6242 ":")))
6243 (wrap-program (string-append out "/bin/eolie")
6244 `("LD_LIBRARY_PATH" ":" prefix (,path))
6245 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
6246 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
6247 #t)))))
6248 (native-inputs
f85ca6ed 6249 `(("intltool" ,intltool)
ab466d79 6250 ("itstool" ,itstool)
d95f1041 6251 ("pkg-config" ,pkg-config)
d95f1041 6252 ("python" ,python)
f0c68100 6253 ("glib:bin" ,glib "bin")))
ab466d79
RW
6254 (inputs
6255 `(("gobject-introspection" ,gobject-introspection)
6256 ("glib-networking" ,glib-networking)
6257 ("cairo" ,cairo)
6258 ("gtk+" ,gtk+)
6259 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
6260 ("python" ,python-wrapper)
d72f76df 6261 ("python-dateutil" ,python-dateutil)
00014781 6262 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
6263 ("python-pygobject" ,python-pygobject)
6264 ("python-pycairo" ,python-pycairo)
00014781 6265 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
6266 ("libsecret" ,libsecret)
6267 ("gtkspell3" ,gtkspell3)
6268 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 6269 ("webkitgtk" ,webkitgtk)))
166b2c97 6270 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
6271 (synopsis "Web browser for GNOME")
6272 (description
6273 "Eolie is a new web browser for GNOME. It features Firefox sync support,
6274a secret password store, an adblocker, and a modern UI.")
6275 (license license:gpl3+)))
6276
7549f984
SB
6277(define-public epiphany
6278 (package
6279 (name "epiphany")
68fdd237 6280 (version "3.34.4")
7549f984
SB
6281 (source (origin
6282 (method url-fetch)
dd3266ec 6283 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 6284 (version-major+minor version) "/"
dd3266ec 6285 "epiphany-" version ".tar.xz"))
7549f984
SB
6286 (sha256
6287 (base32
68fdd237 6288 "13ar3s40cds1rplwbzx0fzigf120w0rydiv05r3k6zpc0zy91qb0"))))
fc5c5b92
R
6289
6290 (build-system meson-build-system)
7549f984 6291 (arguments
20710b91 6292 '(#:glib-or-gtk? #t
bb7ff88f
EF
6293 #:phases
6294 (modify-phases %standard-phases
6295 (add-after 'unpack 'skip-gtk-update-icon-cache
6296 ;; Don't create 'icon-theme.cache'.
6297 (lambda _
6298 (substitute* "post_install.py"
6299 (("gtk-update-icon-cache") "true"))
20710b91
LP
6300 #t))
6301 (add-after 'unpack 'disable-failing-tests
6302 (lambda _
6303 (substitute* "tests/meson.build"
6304 ;; embed_shell fails, because webkitgtk apparently no longer supports
6305 ;; overriding the ftp schema
6306 ;; web_app_utils fails due to missing network access
6307 (("(embed_shell|web_app_utils)_test,")
6308 "find_program('sh'), args: ['-c', 'exit 77'],"))
6309 #t))
6310 (add-before 'check 'pre-check
6311 (lambda _
6312 ;; Tests require a running X server.
6313 (system "Xvfb :1 &")
6314 (setenv "DISPLAY" ":1")
bb7ff88f 6315 #t)))
e19f9c24
LF
6316 #:configure-flags
6317 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
6318 (list (string-append "-Dc_link_args=-Wl,-rpath="
6319 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
6320 (propagated-inputs
6321 `(("dconf" ,dconf)))
7549f984 6322 (native-inputs
fc5c5b92
R
6323 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6324 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 6325 ("intltool" ,intltool)
7549f984 6326 ("itstool" ,itstool)
bcb354ad 6327 ("pkg-config" ,pkg-config)
20710b91
LP
6328 ("xmllint" ,libxml2)
6329 ("xorg-server" ,xorg-server-for-tests)))
7549f984
SB
6330 (inputs
6331 `(("avahi" ,avahi)
6332 ("gcr" ,gcr)
fc5c5b92 6333 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
6334 ("glib-networking" ,glib-networking)
6335 ("gnome-desktop" ,gnome-desktop)
6336 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 6337 ("json-glib" ,json-glib)
7549f984 6338 ("iso-codes" ,iso-codes)
8748e29c 6339 ("libdazzle" ,libdazzle)
7549f984
SB
6340 ("libnotify" ,libnotify)
6341 ("libsecret" ,libsecret)
7549f984 6342 ("libxslt" ,libxslt)
fc5c5b92 6343 ("nettle" ,nettle) ; for hogweed
7549f984 6344 ("sqlite" ,sqlite)
f85ca6ed 6345 ("webkitgtk" ,webkitgtk)))
7549f984
SB
6346 (home-page "https://wiki.gnome.org/Apps/Web")
6347 (synopsis "GNOME web browser")
6348 (description
6349 "Epiphany is a GNOME web browser targeted at non-technical users. Its
6350principles are simplicity and standards compliance.")
6351 (license license:gpl2+)))
a3856b2c
SB
6352
6353(define-public d-feet
6354 (package
6355 (name "d-feet")
458e9221 6356 (version "0.3.14")
a3856b2c
SB
6357 (source (origin
6358 (method url-fetch)
6359 (uri (string-append "mirror://gnome/sources/" name "/"
6360 (version-major+minor version) "/"
6361 name "-" version ".tar.xz"))
6362 (sha256
6363 (base32
458e9221 6364 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
6365 (build-system glib-or-gtk-build-system)
6366 (arguments
6367 '(#:out-of-source? #f ; tests need to run in the source directory.
6368 #:phases
6369 (modify-phases %standard-phases
6370 (add-before
6371 'check 'pre-check
86aff791 6372 (lambda _
a3856b2c
SB
6373 ;; The test suite requires a running X server.
6374 (system "Xvfb :1 &")
6375 (setenv "DISPLAY" ":1")
6376 ;; Don't fail on missing '/etc/machine-id'.
6377 (setenv "DBUS_FATAL_WARNINGS" "0")
6378 ;; tests.py and window.py don't meet E402:
6379 ;; E402 module level import not at top of file
6380 (substitute* "src/tests/Makefile"
86aff791
MW
6381 (("--ignore=E123") "--ignore=E123,E402"))
6382 #t))
a3856b2c
SB
6383 (add-after
6384 'install 'wrap-program
6385 (lambda* (#:key outputs #:allow-other-keys)
6386 (let ((prog (string-append (assoc-ref outputs "out")
6387 "/bin/d-feet")))
6388 (wrap-program prog
6389 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
6390 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
6391 #t))))))
a3856b2c
SB
6392 (native-inputs
6393 `(("intltool" ,intltool)
6394 ("itstool" ,itstool)
6395 ("pkg-config" ,pkg-config)
6396 ("python-pep8" ,python-pep8)
6397 ("xmllint" ,libxml2)
ff337525 6398 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
6399 (inputs
6400 `(("gobject-introspection" ,gobject-introspection)
6401 ("gtk+" ,gtk+)
6402 ("python" ,python-wrapper)
458e9221 6403 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
6404 ("python-pygobject" ,python-pygobject)))
6405 (home-page "https://wiki.gnome.org/Apps/DFeet")
6406 (synopsis "D-Bus debugger")
6407 (description
6408 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
6409of running programs and invoke methods on those interfaces.")
6410 (license license:gpl2+)))
c3b97bd9
SB
6411
6412(define-public yelp-xsl
6413 (package
6414 (name "yelp-xsl")
632a9b32 6415 (version "3.34.2")
c3b97bd9
SB
6416 (source (origin
6417 (method url-fetch)
6418 (uri (string-append "mirror://gnome/sources/" name "/"
6419 (version-major+minor version) "/"
6420 name "-" version ".tar.xz"))
6421 (sha256
6422 (base32
632a9b32 6423 "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
c3b97bd9
SB
6424 (build-system gnu-build-system)
6425 (native-inputs
632a9b32 6426 `(("gettext-minimal" ,gettext-minimal)
c3b97bd9
SB
6427 ("itstool" ,itstool)
6428 ("xmllint" ,libxml2)))
6429 (home-page "https://wiki.gnome.org/Apps/Yelp")
6430 (synopsis "XSL stylesheets for Yelp")
6431 (description
6432 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
6433to format Docbook and Mallard documents.")
6434 (license license:gpl2+)))
de3d612a
SB
6435
6436(define-public yelp
6437 (package
6438 (name "yelp")
1f1b6d60 6439 (version "3.32.2")
de3d612a
SB
6440 (source (origin
6441 (method url-fetch)
6442 (uri (string-append "mirror://gnome/sources/" name "/"
6443 (version-major+minor version) "/"
6444 name "-" version ".tar.xz"))
6445 (sha256
6446 (base32
1f1b6d60 6447 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
6448 (build-system glib-or-gtk-build-system)
6449 (native-inputs
6450 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
6451 ("intltool" ,intltool)
6452 ("itstool" ,itstool)
6453 ("pkg-config" ,pkg-config)))
6454 (propagated-inputs
6455 `(("dconf" ,dconf)))
6456 (inputs
ad1b7d8b
SB
6457 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6458 ("libxslt" ,libxslt)
de3d612a 6459 ("sqlite" ,sqlite)
4c28ca1d
SB
6460 ("webkitgtk" ,webkitgtk)
6461 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
6462 (home-page "https://wiki.gnome.org/Apps/Yelp")
6463 (synopsis "GNOME help browser")
6464 (description
6465 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
6466man, info, and HTML documents. It can locate documents according to the
6467freedesktop.org help system specification.")
6468 (license license:gpl2+)))
122d0d10
SB
6469
6470(define-public yelp-tools
6471 (package
6472 (name "yelp-tools")
8fe8a42a 6473 (version "3.32.2")
122d0d10
SB
6474 (source (origin
6475 (method url-fetch)
6476 (uri (string-append "mirror://gnome/sources/" name "/"
6477 (version-major+minor version) "/"
6478 name "-" version ".tar.xz"))
6479 (sha256
6480 (base32
8fe8a42a 6481 "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q"))))
122d0d10
SB
6482 (build-system gnu-build-system)
6483 (native-inputs
6484 `(("pkg-config" ,pkg-config)))
6485 (propagated-inputs
6486 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
6487 `(("itstool" ,itstool)
6488 ("xmllint" ,libxml2)
6489 ("xsltproc" ,libxslt)))
6490 (inputs
6491 `(("yelp-xsl" ,yelp-xsl)))
6492 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
6493 (synopsis "Yelp documentation tools")
6494 (description
6495 "Yelp-tools is a collection of scripts and build utilities to help create,
6496manage, and publish documentation for Yelp and the web. Most of the heavy
6497lifting is done by packages like yelp-xsl and itstool. This package just
6498wraps things up in a developer-friendly way.")
6499 (license license:gpl2+)))
af8f9f23
RW
6500
6501(define-public libgee
6502 (package
6503 (name "libgee")
9cedae2a 6504 (version "0.20.3")
af8f9f23
RW
6505 (source (origin
6506 (method url-fetch)
84a1b007 6507 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 6508 (version-major+minor version) "/"
84a1b007 6509 "libgee-" version ".tar.xz"))
af8f9f23
RW
6510 (sha256
6511 (base32
9cedae2a 6512 "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
af8f9f23
RW
6513 (build-system gnu-build-system)
6514 (arguments
6515 `(#:phases
6516 (modify-phases %standard-phases
6517 (add-after 'unpack 'fix-introspection-install-dir
6518 (lambda* (#:key outputs #:allow-other-keys)
6519 (let ((out (assoc-ref outputs "out")))
6520 (substitute* "gee/Makefile.in"
6521 (("@INTROSPECTION_GIRDIR@")
6522 (string-append out "/share/gir-1.0/"))
6523 (("@INTROSPECTION_TYPELIBDIR@")
6524 (string-append out "/lib/girepository-1.0/")))))))))
6525 (native-inputs
6526 `(("glib" ,glib "bin")
6527 ("pkg-config" ,pkg-config)))
6528 (inputs
6529 `(("glib" ,glib)
6530 ("gobject-introspection" ,gobject-introspection)))
6531 (home-page "https://wiki.gnome.org/Projects/Libgee")
6532 (synopsis "GObject collection library")
6533 (description
6534 "Libgee is a utility library providing GObject-based interfaces and
6535classes for commonly used data structures.")
6536 (license license:lgpl2.1+)))
b0f9c4b8
RW
6537
6538(define-public gexiv2
6539 (package
6540 (name "gexiv2")
efc396ef 6541 (version "0.12.1")
b0f9c4b8
RW
6542 (source (origin
6543 (method url-fetch)
6544 (uri (string-append "mirror://gnome/sources/" name "/"
6545 (version-major+minor version) "/"
6546 name "-" version ".tar.xz"))
6547 (sha256
6548 (base32
efc396ef 6549 "0xxxq8xdkgkn146my307jgws4qgxx477h0ybg1mqza1ycmczvsla"))))
51c482e4 6550 (build-system meson-build-system)
b0f9c4b8 6551 (native-inputs
b1a8b408
KK
6552 `(("gcr" ,gcr)
6553 ("glib" ,glib "bin")
6554 ("pkg-config" ,pkg-config)
6555 ("vala" ,vala)))
b0f9c4b8
RW
6556 (propagated-inputs
6557 ;; Listed in "Requires" section of gexiv2.pc
6558 `(("exiv2" ,exiv2)))
6559 (inputs
6560 `(("glib" ,glib)
6561 ("gobject-introspection" ,gobject-introspection)))
6562 (home-page "https://wiki.gnome.org/Projects/gexiv2")
6563 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
6564 (description
6565 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
6566allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
6567metadata in photo and video files of various formats.")
6568 (license license:gpl2+)))
fed5a689
RW
6569
6570(define-public shotwell
6571 (package
6572 (name "shotwell")
b82a45d8 6573 (version "0.30.9")
fed5a689
RW
6574 (source (origin
6575 (method url-fetch)
5497d682 6576 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 6577 (version-major+minor version) "/"
5497d682 6578 "shotwell-" version ".tar.xz"))
fed5a689
RW
6579 (sha256
6580 (base32
b82a45d8 6581 "1y556yyzfya0310v5wqjkf17hy5lhf028iminvvgi2pdfva344id"))))
3b79afa6
KK
6582 (build-system meson-build-system)
6583 (arguments
5a0beca3
EF
6584 '(#:glib-or-gtk? #t
6585 #:phases
6586 (modify-phases %standard-phases
6587 (add-after 'unpack 'skip-gtk-update-icon-cache
6588 (lambda _
6589 (substitute* "build-aux/meson/postinstall.py"
6590 (("gtk-update-icon-cache") (which "true"))
6591 (("update-desktop-database") (which "true")))
6592 #t)))))
735b8db6
TGR
6593 (propagated-inputs
6594 `(("dconf" ,dconf)))
fed5a689 6595 (native-inputs
5a0beca3
EF
6596 `(("gettext" ,gettext-minimal)
6597 ("glib:bin" ,glib "bin")
735b8db6 6598 ("itstool" ,itstool)
3b79afa6 6599 ("pkg-config" ,pkg-config)
735b8db6 6600 ("vala" ,vala)))
fed5a689 6601 (inputs
5a0beca3
EF
6602 `(("gcr" ,gcr)
6603 ("gexiv2" ,gexiv2)
fed5a689 6604 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
6605 ("gstreamer" ,gstreamer)
6606 ("json-glib" ,json-glib)
dfb0323d 6607 ("libgdata" ,libgdata)
fed5a689 6608 ("libgee" ,libgee)
5a0beca3
EF
6609 ("libgphoto2" ,libgphoto2)
6610 ("libgudev" ,libgudev)
fed5a689 6611 ("libraw" ,libraw)
fed5a689
RW
6612 ("libsoup" ,libsoup)
6613 ("libxml2" ,libxml2)
5a0beca3
EF
6614 ("sqlite" ,sqlite)
6615 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
6616 (home-page "https://wiki.gnome.org/Apps/Shotwell")
6617 (synopsis "Photo manager for GNOME 3")
6618 (description
6619 "Shotwell is a digital photo manager designed for the GNOME desktop
6620environment. It allows you to import photos from disk or camera, organize
6621them by keywords and events, view them in full-window or fullscreen mode, and
6622share them with others via social networking and more.")
6623 (license license:lgpl2.1+)))
293ff8b2
DT
6624
6625(define-public file-roller
6626 (package
6627 (name "file-roller")
dcae4270 6628 (version "3.32.3")
293ff8b2
DT
6629 (source (origin
6630 (method url-fetch)
f89a27c6 6631 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 6632 (version-major+minor version) "/"
f89a27c6 6633 "file-roller-" version ".tar.xz"))
293ff8b2
DT
6634 (sha256
6635 (base32
dcae4270 6636 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 6637 (build-system meson-build-system)
293ff8b2 6638 (native-inputs
0a500745
RW
6639 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6640 ("intltool" ,intltool)
4c96e5d1 6641 ("itstool" ,itstool)
0a500745
RW
6642 ("pkg-config" ,pkg-config)
6643 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
6644 ("glib:bin" ,glib "bin")))
293ff8b2
DT
6645 ;; TODO: Add libnautilus.
6646 (inputs
6647 `(("gtk+" ,gtk+)
6648 ("gdk-pixbuf" ,gdk-pixbuf)
6649 ("json-glib" ,json-glib)
6650 ("libarchive" ,libarchive)
6651 ("libnotify" ,libnotify)
4c96e5d1 6652 ("nettle" ,nettle)
293ff8b2
DT
6653 ("libxml2" ,libxml2)))
6654 (synopsis "Graphical archive manager for GNOME")
6655 (description "File Roller is an archive manager for the GNOME desktop
6656environment that allows users to view, unpack, and create compressed archives
6657such as gzip tarballs.")
6658 (home-page "http://fileroller.sourceforge.net/")
6659 (license license:gpl2+)))
7ce49365
SB
6660
6661(define-public gnome-session
6662 (package
6663 (name "gnome-session")
f67ce006 6664 (version "3.34.2")
7ce49365
SB
6665 (source (origin
6666 (method url-fetch)
6667 (uri (string-append "mirror://gnome/sources/" name "/"
6668 (version-major+minor version) "/"
6669 name "-" version ".tar.xz"))
6670 (sha256
6671 (base32
f67ce006 6672 "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb"))))
2914af3c 6673 (arguments
df278071
RW
6674 '(#:glib-or-gtk? #t
6675 #:phases
2914af3c
AW
6676 (modify-phases %standard-phases
6677 (add-before 'configure 'pre-configure
6678 (lambda* (#:key outputs #:allow-other-keys)
6679 ;; Use elogind instead of systemd.
df278071
RW
6680 (substitute* "meson.build"
6681 (("libsystemd-login") "libelogind")
6682 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
6683 (substitute* "gnome-session/gsm-systemd.c"
6684 (("#include <systemd/sd-login.h>")
6685 "#include <elogind/sd-login.h>"))
df278071 6686 ;; Remove uses of the systemd daemon.
803ab416
SB
6687 (substitute* "gnome-session/gsm-autostart-app.c"
6688 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
6689 #t))
6690 (add-after 'install 'wrap-gnome-session
6691 (lambda* (#:key inputs outputs #:allow-other-keys)
6692 ;; Make sure 'gnome-session' finds the 'gsettings' program.
6693 (let ((glib (assoc-ref inputs "glib:bin"))
6694 (out (assoc-ref outputs "out")))
6695 (wrap-program (string-append out "/bin/gnome-session")
6696 `("PATH" ":" prefix (,(string-append glib "/bin"))))
6697 #t))))
6cbc8d57 6698
2914af3c 6699 #:configure-flags
df278071
RW
6700 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
6701 "-Dman=false" ; FIXME: disabled because of docbook validation error
6702 "-Dsystemd_journal=false")))
6703 (build-system meson-build-system)
7ce49365
SB
6704 (native-inputs
6705 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6706 ("pkg-config" ,pkg-config)
6707 ("intltool" ,intltool)
df278071
RW
6708 ("xsltproc" ,libxslt)
6709 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
6710 ("docbook-xsl" ,docbook-xsl)
6711 ("docbook-xml" ,docbook-xml)
6712 ("xmlto" ,xmlto)))
7ce49365 6713 (inputs
2914af3c
AW
6714 `(("elogind" ,elogind)
6715 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 6716 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
6717 ("gtk+" ,gtk+)
6718 ("json-glib" ,json-glib)
6719 ("libsm" ,libsm)
6720 ("libxcomposite" ,libxcomposite)
6721 ("libxtst" ,libxtst)
6722 ("mesa" ,mesa)
6723 ("upower" ,upower)
6724 ("xtrans" ,xtrans)))
6725 (synopsis "Session manager for GNOME")
6726 (description
6727 "This package contains the GNOME session manager, as well as a
6728configuration program to choose applications starting on login.")
6729 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
6730 (license license:gpl2+)))
f47ba77e
SB
6731
6732(define-public gjs
6733 (package
6734 (name "gjs")
76e1830c 6735 (version "1.58.3")
f47ba77e
SB
6736 (source (origin
6737 (method url-fetch)
6738 (uri (string-append "mirror://gnome/sources/" name "/"
6739 (version-major+minor version) "/"
6740 name "-" version ".tar.xz"))
6741 (sha256
6742 (base32
76e1830c 6743 "1bkksx362007zs8c31ydygb29spwa5g5kch1ad2grc2sp53wv7ya"))))
f47ba77e
SB
6744 (build-system gnu-build-system)
6745 (arguments
6746 '(#:phases
6747 (modify-phases %standard-phases
6748 (add-before
6749 'check 'pre-check
6750 (lambda _
fc119619
MW
6751 ;; The test suite requires a running X server.
6752 (system "Xvfb :1 &")
6753 (setenv "DISPLAY" ":1")
6754
f47ba77e
SB
6755 ;; For the missing /etc/machine-id.
6756 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 6757
144f94d0
KK
6758 ;; Our mozjs-38 package does not compile the required Intl API
6759 ;; support for these failing tests.
6760 (substitute* "installed-tests/js/testLocale.js"
6761 ((".*toBeDefined.*") "")
6762 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
6763 (substitute* "installed-tests/scripts/testCommandLine.sh"
6764 (("Valentín") "")
6765 (("☭") ""))
f47ba77e
SB
6766 #t)))))
6767 (native-inputs
8a831c6f 6768 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
6769 ("pkg-config" ,pkg-config)
6770 ("xmllint" ,libxml2)
6771 ;; For testing
6772 ("dbus-launch" ,dbus)
76e1830c 6773 ("dconf" ,dconf) ; required to properly store settings
f47ba77e 6774 ("uuidgen" ,util-linux)
ebebee94 6775 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
6776 (propagated-inputs
6777 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
6778 `(("cairo" ,cairo)
6779 ("gobject-introspection" ,gobject-introspection)
d054fbf5 6780 ("mozjs" ,mozjs-60)))
f47ba77e
SB
6781 (inputs
6782 `(("gtk+" ,gtk+)
6783 ("readline" ,readline)))
6784 (synopsis "Javascript bindings for GNOME")
f032d0be 6785 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
6786 (description
6787 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
6788javascript engine and the GObject introspection framework.")
6789 (license license:gpl2+)))
329d731b
DH
6790
6791(define-public gedit
6792 (package
6793 (name "gedit")
edec7128 6794 (version "3.34.1")
329d731b
DH
6795 (source (origin
6796 (method url-fetch)
6797 (uri (string-append "mirror://gnome/sources/" name "/"
6798 (version-major+minor version) "/"
6799 name "-" version ".tar.xz"))
6800 (sha256
6801 (base32
edec7128 6802 "1inm50sdfw63by1lf4f1swb59mpyxlly0g5rdg99j5l3357fzygb"))))
480c9226 6803 (build-system meson-build-system)
329d731b 6804 (arguments
480c9226
KK
6805 `(#:glib-or-gtk? #t
6806 #:configure-flags
6807 ;; Otherwise, the RUNPATH will lack the final path component.
6808 (list (string-append "-Dc_link_args=-Wl,-rpath="
6809 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
6810
6811 ;; XXX: Generated .h files are sometimes used before being built.
6812 #:parallel-build? #f
6813
480c9226 6814 #:phases
329d731b 6815 (modify-phases %standard-phases
480c9226
KK
6816 (add-after 'unpack 'skip-gtk-update-icon-cache
6817 ;; Don't create 'icon-theme.cache'.
6818 (lambda _
6819 (substitute* "build-aux/meson/post_install.py"
6820 (("gtk-update-icon-cache") (which "true")))
6821 #t))
6822 (add-after 'unpack 'patch-libgd-fetch
6823 (lambda* (#:key inputs #:allow-other-keys)
6824 (let ((libgd (assoc-ref inputs "libgd")))
6825 ;; Calling git is unnecessary because libgd is fetched as a
6826 ;; native input to this package.
6827 (substitute* "meson.build"
6828 ((".*git.*") ""))
6829 (copy-recursively libgd "subprojects/libgd")
6830 #t)))
6831 (add-after 'install 'wrap-gedit
6832 (lambda* (#:key inputs outputs #:allow-other-keys)
6833 (let ((out (assoc-ref outputs "out"))
6834 (gtksourceview (assoc-ref inputs "gtksourceview"))
6835 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
6836 (python-path (getenv "PYTHONPATH")))
6837 (wrap-program (string-append out "/bin/gedit")
6838 ;; For plugins.
6839 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
6840 `("PYTHONPATH" ":" prefix (,python-path))
6841 ;; For language-specs.
6842 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
6843 "/share")))))
6844 #t)))))
329d731b
DH
6845 (propagated-inputs
6846 `(("dconf" ,dconf)))
6847 (native-inputs
480c9226
KK
6848 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6849 ("intltool" ,intltool)
b3546174 6850 ("itstool" ,itstool)
480c9226 6851 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 6852 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
6853 ("libgd"
6854 ,(origin
6855 (method git-fetch)
6856 (uri (git-reference
6857 (url "https://gitlab.gnome.org/GNOME/libgd")
6858 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
6859 (file-name (git-file-name "libgd" version))
6860 (sha256
6861 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
6862 ("pkg-config" ,pkg-config)))
6863 (inputs
6864 `(("glib" ,glib)
0d2df50c 6865 ("gspell" ,gspell)
329d731b 6866 ("gtk+" ,gtk+)
480c9226 6867 ("gtksourceview" ,gtksourceview)
329d731b
DH
6868 ("libpeas" ,libpeas)
6869 ("libxml2" ,libxml2)
329d731b
DH
6870 ("iso-codes" ,iso-codes)
6871 ("python-pygobject" ,python-pygobject)
6872 ("python" ,python)
6873 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6874 ("libx11" ,libx11)
6875 ("vala" ,vala)
6876 ("adwaita-icon-theme" ,adwaita-icon-theme)
6877 ("libsoup" ,libsoup)
6878 ("gnome-desktop" ,gnome-desktop)))
6879 (home-page "https://wiki.gnome.org/Apps/Gedit")
6880 (synopsis "GNOME text editor")
6881 (description "While aiming at simplicity and ease of use, gedit is a
6882powerful general purpose text editor.")
6883 (license license:gpl2+)))
b7179363
SB
6884
6885(define-public zenity
6886 (package
6887 (name "zenity")
4f581bd0 6888 (version "3.32.0")
b7179363
SB
6889 (source (origin
6890 (method url-fetch)
5958df04 6891 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 6892 (version-major+minor version) "/"
5958df04 6893 "zenity-" version ".tar.xz"))
b7179363
SB
6894 (sha256
6895 (base32
4f581bd0 6896 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
6897 (build-system gnu-build-system)
6898 (native-inputs
b94a6ca0 6899 `(("gettext" ,gettext-minimal)
b7179363
SB
6900 ("itstool" ,itstool)
6901 ("pkg-config" ,pkg-config)))
6902 (inputs
6903 `(("libnotify" ,libnotify)
6904 ("webkitgtk" ,webkitgtk)))
6905 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 6906 (home-page "https://www.gnome.org")
b7179363
SB
6907 (description
6908 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
6909to display dialog boxes from the commandline and shell scripts.")
6910 (license license:lgpl2.0+)))
60c3627c
SB
6911
6912(define-public mutter
6913 (package
6914 (name "mutter")
ec3ceabd 6915 (version "3.34.2")
60c3627c 6916 (source (origin
86c44e72
KK
6917 (method url-fetch)
6918 (uri (string-append "mirror://gnome/sources/" name "/"
6919 (version-major+minor version) "/"
6920 name "-" version ".tar.xz"))
60c3627c
SB
6921 (sha256
6922 (base32
ec3ceabd 6923 "0b8bz5kvs7rlwvqsg87cf6jhrrj95vgd1l235mjx8rip35ipfvrd"))))
86c44e72
KK
6924 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
6925 ;; versions of cogl and clutter. As a result, many of the inputs,
6926 ;; propagated-inputs, and configure flags used in cogl and clutter are
6927 ;; needed here as well.
edf43f68 6928 (build-system meson-build-system)
60c3627c 6929 (arguments
edf43f68
KK
6930 '(;; XXX: All mutter tests fail with the following error:
6931 ;; Settings schema 'org.gnome.mutter' is not installed
6932 #:tests? #f
6933 #:glib-or-gtk? #t
6934 #:configure-flags
ec3ceabd
KK
6935 ;; TODO: Enable profiler when Sysprof is packaged.
6936 (list "-Dprofiler=false"
6937 ;; Otherwise, the RUNPATH will lack the final path component.
6938 (string-append "-Dc_link_args=-Wl,-rpath="
edf43f68 6939 (assoc-ref %outputs "out") "/lib:"
ec3ceabd 6940 (assoc-ref %outputs "out") "/lib/mutter-5")
a88d5a0c
MW
6941
6942 ;; The following flags are needed for the bundled clutter
edf43f68 6943 (string-append "-Dxwayland_path="
d633f2f6
RH
6944 (assoc-ref %build-inputs "xorg-server-xwayland")
6945 "/bin/Xwayland")
6946
a88d5a0c 6947 ;; the remaining flags are needed for the bundled cogl
edf43f68 6948 (string-append "-Dopengl_libname="
a88d5a0c 6949 (assoc-ref %build-inputs "mesa")
682ae6f9
MB
6950 "/lib/libGL.so"))
6951 #:phases (modify-phases %standard-phases
6952 (add-after 'unpack 'fix-build-with-mesa-20
6953 (lambda _
6954 ;; Mimic upstream commit a444a4c5f58ea516ad for
6955 ;; compatibility with Mesa 20. Remove for 3.36.
6956 (substitute* '("src/backends/meta-egl-ext.h"
6957 "src/backends/meta-egl.c"
6958 "src/backends/meta-egl.h")
6959 (("#include <EGL/eglext\\.h>" all)
6960 (string-append all "\n#include <EGL/eglmesaext.h>")))
6961 (substitute* "cogl/cogl/meson.build"
6962 (("#include <EGL/eglext\\.h>" all)
6963 (string-append all "\\n#include <EGL/eglmesaext.h>")))
6964 #t)))))
60c3627c 6965 (native-inputs
ec3ceabd
KK
6966 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6967 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
60c3627c
SB
6968 ("gobject-introspection" ,gobject-introspection)
6969 ("intltool" ,intltool)
f23052a6 6970 ("pkg-config" ,pkg-config)
edf43f68 6971 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
6972 ;; For git build
6973 ("autoconf" ,autoconf)
6974 ("automake" ,automake)
6975 ("libtool" ,libtool)))
60c3627c 6976 (propagated-inputs
a88d5a0c
MW
6977 `(;; libmutter.pc refers to these:
6978 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6979 ("gtk+" ,gtk+)
6980 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
6981 ("atk" ,atk)
6982 ("cairo" ,cairo)
6983 ("gdk-pixbuf" ,gdk-pixbuf)
6984 ("glib" ,glib)
a88d5a0c
MW
6985 ("json-glib" ,json-glib)
6986 ("libinput" ,libinput)
6987 ("libx11" ,libx11)
6988 ("libxcomposite" ,libxcomposite)
6989 ("libxdamage" ,libxdamage)
6990 ("libxext" ,libxext)
6991 ("libxfixes" ,libxfixes)
6992 ("libxkbcommon" ,libxkbcommon)
6993 ("libxrandr" ,libxrandr)
6994 ("mesa" ,mesa)
6995 ("pango" ,pango)
6996 ("udev" ,eudev)
a88d5a0c 6997 ("xinput" ,xinput)))
60c3627c 6998 (inputs
86c44e72
KK
6999 `(("elogind" ,elogind)
7000 ("gnome-desktop" ,gnome-desktop)
edf43f68 7001 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 7002 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 7003 ("libgudev" ,libgudev)
60c3627c
SB
7004 ("libice" ,libice)
7005 ("libsm" ,libsm)
edf43f68 7006 ("libwacom" ,libwacom)
60c3627c 7007 ("libxkbfile" ,libxkbfile)
a88d5a0c 7008 ("libxrandr" ,libxrandr)
86c44e72 7009 ("libxtst" ,libxtst)
edf43f68 7010 ("pipewire" ,pipewire)
60c3627c
SB
7011 ("startup-notification" ,startup-notification)
7012 ("upower-glib" ,upower)
7013 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 7014 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
7015 ("zenity" ,zenity)))
7016 (synopsis "Window and compositing manager")
f032d0be 7017 (home-page "https://www.gnome.org")
60c3627c
SB
7018 (description
7019 "Mutter is a window and compositing manager that displays and manages your
7020desktop via OpenGL. Mutter combines a sophisticated display engine using the
7021Clutter toolkit with solid window-management logic inherited from the Metacity
7022window manager.")
86c44e72 7023 (license license:gpl2+)))
685cee87
SB
7024
7025(define-public gnome-online-accounts
7026 (package
7027 (name "gnome-online-accounts")
dd233e4d 7028 (version "3.36.0")
685cee87
SB
7029 (source (origin
7030 (method url-fetch)
7031 (uri (string-append "mirror://gnome/sources/" name "/"
7032 (version-major+minor version) "/"
7033 name "-" version ".tar.xz"))
7034 (sha256
7035 (base32
dd233e4d 7036 "0bigfi225g1prnxpb9lcc1i7mdcrkplwb05vilc43jik12cn53qw"))))
14c297fd 7037 (outputs '("out" "lib"))
685cee87 7038 (build-system glib-or-gtk-build-system)
14c297fd
TS
7039 (arguments
7040 `(#:configure-flags
7041 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
7042 #:phases
7043 (modify-phases %standard-phases
7044 (add-before 'configure 'patch-libgoa-output
7045 (lambda* (#:key outputs #:allow-other-keys)
7046 (let ((lib (assoc-ref outputs "lib")))
7047 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
7048 (("@prefix@") lib)
7049 (("@exec_prefix@") lib)
7050 (("@libdir@") (string-append lib "/lib"))
7051 (("@includedir@") (string-append lib "/include"))
7052 (("@datadir@") (string-append lib "/share")))
7555d539
MB
7053 ;; Make sure gobject-introspection knows about the output
7054 ;; too (see <https://bugs.gnu.org/36535>).
7055 (setenv "outputs" "out lib")
14c297fd 7056 #t))))))
685cee87
SB
7057 (native-inputs
7058 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7059 ("gobject-introspection" ,gobject-introspection)
7060 ("intltool" ,intltool)
7061 ("pkg-config" ,pkg-config)
ebb2873d 7062 ("vala" ,vala)
685cee87
SB
7063 ("xsltproc" ,libxslt)))
7064 (propagated-inputs
7065 `(("glib" ,glib) ; required by goa-1.0.pc
7066 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
7067 (inputs
7068 `(("docbook-xsl" ,docbook-xsl)
7069 ("json-glib" ,json-glib)
7070 ("libsecret" ,libsecret)
7071 ("rest" ,rest)
685cee87
SB
7072 ("webkitgtk" ,webkitgtk)))
7073 (synopsis "Single sign-on framework for GNOME")
7074 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
7075 (description
7076 "GNOME Online Accounts provides interfaces so that applications and
7077libraries in GNOME can access the user's online accounts. It has providers for
7078Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
7079Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
7080 (license license:lgpl2.0+)))
df217748
SB
7081
7082(define-public evolution-data-server
7083 (package
7084 (name "evolution-data-server")
162048be 7085 (version "3.34.2")
df217748
SB
7086 (source (origin
7087 (method url-fetch)
7088 (uri (string-append "mirror://gnome/sources/" name "/"
7089 (version-major+minor version) "/"
7090 name "-" version ".tar.xz"))
43190ac6
MB
7091 (patches (search-patches "evolution-data-server-locales.patch"
7092 "evolution-data-server-libical-compat.patch"))
df217748
SB
7093 (sha256
7094 (base32
162048be 7095 "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y"))))
743aebd7 7096 (build-system cmake-build-system)
df217748 7097 (arguments
b468eedc
RW
7098 '(#:configure-flags
7099 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
7100 (runpaths (map (lambda (s)
7101 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
7102 '("addressbook-backends" "calendar-backends"
7103 "camel-providers" "credential-modules"
7104 "registry-modules"))))
7105 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
7106 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
7107 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
7108 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
7109 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
7110 (string-append lib "/evolution-data-server;")
7111 (string-join runpaths ";"))
7112 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
7113 #:phases
7114 (modify-phases %standard-phases
b468eedc
RW
7115 (add-after 'unpack 'disable-failing-tests
7116 (lambda _
7117 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
7118 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
7119 (delete-file-recursively "tests/book-migration")
7120 (substitute* "tests/CMakeLists.txt"
7121 (("add_subdirectory\\(book-migration\\)") ""))
b468eedc 7122 #t))
743aebd7 7123 (add-after 'unpack 'patch-paths
df217748 7124 (lambda _
b468eedc
RW
7125 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
7126 "tests/libedata-book/data-test-utils.c"
7127 "tests/libedata-book/test-book-cache-utils.c"
7128 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 7129 (("/bin/rm") (which "rm")))
ac033c7b
MB
7130 #t))
7131 (add-before 'configure 'dont-override-rpath
7132 (lambda _
7133 (substitute* "CMakeLists.txt"
7134 ;; CMakeLists.txt hard-codes runpath to just the libdir.
7135 ;; Remove it so the configure flag is respected.
7136 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 7137 #t)))))
df217748
SB
7138 (native-inputs
7139 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7140 ("gobject-introspection" ,gobject-introspection)
7141 ("gperf" ,gperf)
7142 ("intltool" ,intltool)
7143 ("pkg-config" ,pkg-config)
a73c1cf8 7144 ("vala" ,vala)
743aebd7 7145 ("python" ,python-wrapper)))
df217748
SB
7146 (propagated-inputs
7147 ;; These are all in the Requires field of .pc files.
7148 `(("gtk+" ,gtk+)
7149 ("libical" ,libical)
7150 ("libsecret" ,libsecret)
7151 ("libsoup" ,libsoup)
7152 ("nss" ,nss)
7153 ("sqlite" ,sqlite)))
7154 (inputs
7155 `(("bdb" ,bdb)
7156 ("gcr" ,gcr)
14c297fd 7157 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 7158 ("json-glib" ,json-glib)
b468eedc 7159 ("libcanberra" ,libcanberra)
743aebd7
MB
7160 ("libgweather" ,libgweather)
7161 ("mit-krb5" ,mit-krb5)
891199c6
MW
7162 ("openldap" ,openldap)
7163 ("webkitgtk" ,webkitgtk)))
df217748
SB
7164 (synopsis "Store address books and calendars")
7165 (home-page "https://wiki.gnome.org/Apps/Evolution")
7166 (description
7167 "This package provides a unified backend for programs that work with
7168contacts, tasks, and calendar information. It was originally developed for
7169Evolution (hence the name), but is now used by other packages as well.")
7170 (license license:lgpl2.0)))
bd7dfafa
SB
7171
7172(define-public caribou
7173 (package
7174 (name "caribou")
fe964bb5 7175 (version "0.4.21")
bd7dfafa
SB
7176 (source (origin
7177 (method url-fetch)
7178 (uri (string-append "mirror://gnome/sources/" name "/"
7179 (version-major+minor version) "/"
7180 name "-" version ".tar.xz"))
7181 (sha256
7182 (base32
fe964bb5 7183 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
7184 (build-system glib-or-gtk-build-system)
7185 (arguments
7186 '(#:phases
7187 (modify-phases %standard-phases
7188 (add-before
7189 'build 'pre-build
7190 (lambda* (#:key outputs #:allow-other-keys)
7191 (let ((out (assoc-ref outputs "out")))
7192 ;; Use absolute shared library path in Caribou-1.0.typelib.
7193 (substitute* "libcaribou/Makefile"
7194 (("--shared-library=libcaribou.so")
7195 (string-append "--shared-library="
7196 out "/lib/libcaribou.so")))
7197 #t)))
7198 (add-after 'install 'wrap-programs
7199 (lambda* (#:key outputs #:allow-other-keys)
7200 (let* ((out (assoc-ref outputs "out"))
7201 (python-path (getenv "PYTHONPATH"))
7202 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
7203 (for-each
7204 (lambda (prog)
7205 (wrap-program prog
7206 `("PYTHONPATH" ":" prefix (,python-path))
7207 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7208 (list (string-append out "/bin/caribou-preferences")
7209 (string-append out "/libexec/antler-keyboard"))))
7210 #t)))))
7211 (native-inputs
7212 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7213 ("gobject-introspection" ,gobject-introspection)
7214 ("intltool" ,intltool)
7215 ("pkg-config" ,pkg-config)
9f7f5ba2 7216 ("python" ,python)
bd7dfafa
SB
7217 ("vala" ,vala)
7218 ("xsltproc" ,libxslt)))
7219 (propagated-inputs
7220 ;; caribou-1.0.pc refers to all these.
7221 `(("libgee" ,libgee)
7222 ("libxklavier" ,libxklavier)
7223 ("libxtst" ,libxtst)
7224 ("gtk+" ,gtk+)))
7225 (inputs
7226 `(("clutter" ,clutter)
7227 ("dconf" ,dconf)
7228 ("gtk+-2" ,gtk+-2)
9f7f5ba2 7229 ("python-pygobject" ,python-pygobject)))
bd7dfafa
SB
7230 (synopsis "Text entry and UI navigation application")
7231 (home-page "https://wiki.gnome.org/Projects/Caribou")
7232 (description
7233 "Caribou is an input assistive technology intended for switch and pointer
7234users.")
7235 (license license:lgpl2.1)))
ba5dd105 7236
ba5dd105
SB
7237(define-public network-manager
7238 (package
7239 (name "network-manager")
01c22be7 7240 (version "1.24.0")
ba5dd105
SB
7241 (source (origin
7242 (method url-fetch)
7243 (uri (string-append "mirror://gnome/sources/NetworkManager/"
7244 (version-major+minor version) "/"
7245 "NetworkManager-" version ".tar.xz"))
8d0548fd 7246 (patches (search-patches "network-manager-plugin-path.patch"))
ba5dd105
SB
7247 (sha256
7248 (base32
01c22be7 7249 "06044fl60bjlj7c6rqqfbm5795h61h6yzp7ch392hzcnm46wwhn3"))
02710a9b 7250 (modules '((guix build utils)))
fd070f35 7251 (snippet
02710a9b
RW
7252 '(begin
7253 (substitute* "src/devices/wwan/nm-modem-manager.c"
7254 (("systemd") "elogind"))
7255 #t))))
255ff74f 7256 (build-system meson-build-system)
ba5dd105
SB
7257 (outputs '("out"
7258 "doc")) ; 8 MiB of gtk-doc HTML
7259 (arguments
255ff74f 7260 `(#:configure-flags
ba5dd105 7261 (let ((out (assoc-ref %outputs "out"))
ba5dd105
SB
7262 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
7263 "/sbin/dhclient")))
255ff74f
BW
7264 (list
7265 ;; Otherwise, the RUNPATH will lack the final 'NetworkManager' path
7266 ;; component.
7267 (string-append "-Dc_link_args=-Wl,-rpath="
7268 out "/lib:"
7269 out "/lib/NetworkManager/" ,version)
7270 "-Dsystemd_journal=false"
7271 "-Dsession_tracking=elogind"
7272 "-Dsuspend_resume=elogind"
7273 "-Dsystemdsystemunitdir=no"
7274 "-Dsession_tracking_consolekit=false"
7275 "-Ddhcpcd=no"
7276 "-Ddhcpcanon=no"
7277 "-Dcrypto=gnutls"
7278 "-Diwd=true"
7279 "-Dlibaudit=yes"
7280 "-Dqt=false"
7281 "-Ddocs=true"
7282 "--sysconfdir=/etc"
7283 "--localstatedir=/var"
7284 (string-append "-Dudev_dir="
7285 out "/lib/udev")
7286 (string-append "-Ddbus_conf_dir="
7287 out "/etc/dbus-1/system.d")
7288
7289 (string-append "-Ddhclient=" dhclient)))
ba5dd105
SB
7290 #:phases
7291 (modify-phases %standard-phases
b4f59d87
AW
7292 (add-before 'configure 'pre-configure
7293 (lambda _
7294 ;; These tests try to test aspects of network-manager's
7295 ;; functionality within restricted containers, but they don't
7296 ;; cope with being already in the Guix build jail as that jail
7297 ;; lacks some features that they would like to proxy over (like
7298 ;; a /sys mount).
255ff74f
BW
7299 (substitute* "src/platform/tests/meson.build"
7300 ((".*test-address-linux.*") "")
7301 ((".*test-cleanup-linux.*") "")
7302 ((".*test-link-linux.*") "")
7303 ((".*test-route-linux.*") ""))
7304 (substitute* "src/devices/tests/meson.build"
7305 ((".*test-acd.*") "")
7306 ((".*test-lldp.*") ""))
45f80fce 7307 #t))
255ff74f
BW
7308 (add-after 'unpack 'patch-docbook-xml
7309 (lambda* (#:key inputs #:allow-other-keys)
7310 (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
7311 "/xml/dtd/docbook")))
7312 (substitute* (find-files "." ".*\\.(xsl|xml)")
7313 (("http://.*/docbookx\\.dtd")
7314 (string-append xmldoc "/docbookx.dtd")))
7315 #t)))
ba5dd105
SB
7316 (add-before 'check 'pre-check
7317 (lambda _
7318 ;; For the missing /etc/machine-id.
7319 (setenv "DBUS_FATAL_WARNINGS" "0")
7320 #t))
255ff74f
BW
7321 (add-before 'install 'no-polkit-magic
7322 ;; Meson ‘magically’ invokes pkexec, which fails (not setuid).
ba5dd105 7323 (lambda _
255ff74f
BW
7324 (setenv "PKEXEC_UID" "something")
7325 #t))
7326 (add-after 'install 'move-doc
7327 (lambda* (#:key outputs #:allow-other-keys)
7328 (let ((out (assoc-ref outputs "out"))
7329 (doc (assoc-ref outputs "doc")))
7330 (mkdir-p (string-append doc "/share"))
7331 (for-each (lambda (directory)
7332 (copy-recursively (string-append out directory)
7333 (string-append doc directory))
7334 (delete-file-recursively
7335 (string-append out directory)))
7336 '("/share/doc" "/share/gtk-doc"))
7337 #t))))))
b93502d6
DC
7338 (propagated-inputs
7339 `(("glib" ,glib)))
ba5dd105 7340 (native-inputs
255ff74f
BW
7341 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
7342 ("gtk-doc" ,gtk-doc)
ba5dd105 7343 ("gobject-introspection" ,gobject-introspection)
255ff74f 7344 ("docbook-xml" ,docbook-xml)
d04687dc 7345 ("docbook-xsl" ,docbook-xsl)
ba5dd105 7346 ("intltool" ,intltool)
d04687dc
HG
7347 ("libxslt" ,libxslt)
7348 ("libxml2" ,libxml2)
ba5dd105 7349 ("pkg-config" ,pkg-config)
255ff74f 7350 ("vala" ,vala)
ba5dd105
SB
7351 ;; For testing.
7352 ("python" ,python-wrapper)
7353 ("python-dbus" ,python-dbus)
7354 ("python-pygobject" ,python-pygobject)))
7355 (inputs
255ff74f 7356 `(("curl" ,curl)
856ca567
KK
7357 ("cyrus-sasl" ,cyrus-sasl)
7358 ("dbus-glib" ,dbus-glib)
ba5dd105 7359 ("dnsmasq" ,dnsmasq)
856ca567 7360 ("eudev" ,eudev)
ba5dd105
SB
7361 ("gnutls" ,gnutls)
7362 ("iptables" ,iptables)
7363 ("isc-dhcp" ,isc-dhcp)
c2f236fa 7364 ("iwd" ,iwd) ; wpa_supplicant alternative
d04687dc 7365 ("jansson" ,jansson)
c2f236fa 7366 ("libaudit" ,audit)
ba5dd105
SB
7367 ("libgcrypt" ,libgcrypt)
7368 ("libgudev" ,libgudev)
7369 ("libndp" ,libndp)
7370 ("libnl" ,libnl)
7371 ("libsoup" ,libsoup)
255ff74f 7372 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
142bdcbc 7373 ("modem-manager" ,modem-manager)
c27e02bf 7374 ("newt" ,newt) ;for the 'nmtui' console interface
c2f236fa 7375 ("openresolv" ,openresolv) ; alternative resolv.conf manager
ba5dd105
SB
7376 ("polkit" ,polkit)
7377 ("ppp" ,ppp)
7378 ("readline" ,readline)
fd070f35
CM
7379 ("util-linux" ,util-linux)
7380 ("elogind" ,elogind)))
ba5dd105 7381 (synopsis "Network connection manager")
8d0548fd 7382 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
ba5dd105
SB
7383 (description
7384 "NetworkManager is a system network service that manages your network
7385devices and connections, attempting to keep active network connectivity when
7386available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
7387devices, and provides VPN integration with a variety of different VPN
7388services.")
255ff74f
BW
7389 ;; “This NetworkManager project consists of the daemon, client tools, and
7390 ;; libnm. libnm is licensed LGPL-2.1+, while the rest is licensed under
7391 ;; GPL-2.0+.”
7392 (license (list license:gpl2+
7393 license:lgpl2.1+))
29d2f451 7394 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 7395
f2b96b3a
LC
7396(define-public network-manager-openvpn
7397 (package
7398 (name "network-manager-openvpn")
3fe368c0 7399 (version "1.8.12")
f2b96b3a
LC
7400 (source (origin
7401 (method url-fetch)
7402 (uri (string-append
7403 "mirror://gnome/sources/NetworkManager-openvpn/"
7404 (version-major+minor version)
7405 "/NetworkManager-openvpn-" version ".tar.xz"))
7406 (sha256
7407 (base32
3fe368c0 7408 "062kh4zj7jfbwy4zzcwpq2m457bzbpm3l18s0ysnw3mgia3siz8f"))))
f2b96b3a
LC
7409 (build-system gnu-build-system)
7410 (arguments
633422b0
JL
7411 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
7412 #:phases
7413 (modify-phases %standard-phases
7414 (add-after 'configure 'patch-path
7415 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
7416 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
7417 "/sbin/openvpn"))
7418 (modprobe (string-append (assoc-ref inputs "kmod")
7419 "/bin/modprobe"))
7420 (pretty-ovpn (string-append "\"" ovpn "\"")))
7421 (for-each
7422 (lambda (file)
7423 (substitute* file
7424 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
7425 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
7426 (("\"/sbin/openvpn\"") pretty-ovpn)
7427 (("/sbin/modprobe") modprobe)))
7428 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
7429 #t)))))
f2b96b3a
LC
7430 (native-inputs
7431 `(("pkg-config" ,pkg-config)
7432 ("intltool" ,intltool)))
7433 (inputs
7434 `(("gtk+" ,gtk+)
633422b0 7435 ("kmod" ,kmod)
f2b96b3a
LC
7436 ("openvpn" ,openvpn)
7437 ("network-manager" ,network-manager)
3fe368c0 7438 ("libnma" ,libnma)
f2b96b3a
LC
7439 ("libsecret" ,libsecret)))
7440 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
7441 (synopsis "OpenVPN plug-in for NetworkManager")
7442 (description
7443 "This extension of NetworkManager allows it to take care of connections
7444to virtual private networks (VPNs) via OpenVPN.")
7445 (license license:gpl2+)
7446 (properties `((upstream-name . "NetworkManager-openvpn")))))
7447
d376129f
JL
7448(define-public network-manager-vpnc
7449 (package
7450 (name "network-manager-vpnc")
7451 (version "1.2.6")
7452 (source (origin
7453 (method url-fetch)
7454 (uri (string-append
7455 "mirror://gnome/sources/NetworkManager-vpnc/"
7456 (version-major+minor version)
7457 "/NetworkManager-vpnc-" version ".tar.xz"))
7458 (sha256
7459 (base32
7460 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
7461 (build-system gnu-build-system)
7462 (arguments
7c43b78d
BW
7463 `(#:configure-flags '("--enable-absolute-paths"
7464 "--localstatedir=/var"
7465 ;; libnm-glib has been removed from network-manager
7466 ;; 1de8383ad9fdfc8f552117e5d109bdfa7005634b
7467 "--with-libnm-glib=no")
d376129f
JL
7468 #:phases
7469 (modify-phases %standard-phases
7470 (add-after 'configure 'patch-path
7471 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
7472 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
7473 "/sbin/vpnc"))
7474 (modprobe (string-append (assoc-ref inputs "kmod")
7475 "/bin/modprobe"))
7476 (pretty-ovpn (string-append "\"" vpnc "\"")))
7477 (substitute* "src/nm-vpnc-service.c"
7478 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
7479 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
7480 (("\"/sbin/vpnc\"") pretty-ovpn)
7481 (("/sbin/modprobe") modprobe)))
7482 #t)))))
7483 (native-inputs
7484 `(("pkg-config" ,pkg-config)
7485 ("intltool" ,intltool)))
7486 (inputs
7487 `(("gtk+" ,gtk+)
7488 ("kmod" ,kmod)
7489 ("vpnc" ,vpnc)
7490 ("network-manager" ,network-manager)
7c43b78d 7491 ("libnma" ,libnma)
d376129f
JL
7492 ("libsecret" ,libsecret)))
7493 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
7494 (synopsis "VPNC plug-in for NetworkManager")
7495 (description
7496 "Support for configuring virtual private networks based on VPNC.
7497Compatible with Cisco VPN concentrators configured to use IPsec.")
7498 (license license:gpl2+)
7499 (properties `((upstream-name . "NetworkManager-vpnc")))))
7500
8378c87a
EF
7501(define-public network-manager-openconnect
7502 (package
7503 (name "network-manager-openconnect")
7504 (version "1.2.6")
7505 (source (origin
7506 (method url-fetch)
7507 (uri (string-append
7508 "mirror://gnome/sources/NetworkManager-openconnect/"
7509 (version-major+minor version)
7510 "/NetworkManager-openconnect-" version ".tar.xz"))
7511 (sha256
7512 (base32
7513 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
7514 (build-system gnu-build-system)
7515 (arguments
7516 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
7517 #:phases
7518 (modify-phases %standard-phases
7519 (add-after 'configure 'patch-path
7520 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
7521 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
7522 "/sbin/openconnect"))
7523 (modprobe (string-append (assoc-ref inputs "kmod")
7524 "/bin/modprobe"))
7525 (pretty-ovpn (string-append "\"" openconnect "\"")))
7526 (substitute* "src/nm-openconnect-service.c"
2807a843 7527 (("\"/usr(/local)?/s?bin/openconnect\"") pretty-ovpn)
8378c87a
EF
7528 (("/sbin/modprobe") modprobe)))
7529 #t)))))
7530 (native-inputs
7531 `(("intltool" ,intltool)
4ca449c5 7532 ("libnma" ,libnma)
8378c87a
EF
7533 ("pkg-config" ,pkg-config)))
7534 (inputs
7535 `(("gcr" ,gcr)
7536 ("gtk+" ,gtk+)
7537 ("kmod" ,kmod)
7538 ("libsecret" ,libsecret)
7539 ("libxml2" ,libxml2)
b4fe5dab 7540 ("lz4" ,lz4)
8378c87a
EF
7541 ("network-manager" ,network-manager)
7542 ("openconnect" ,openconnect)))
7543 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
7544 (synopsis "OpenConnect plug-in for NetworkManager")
7545 (description
7546 "This extension of NetworkManager allows it to take care of connections
7547to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
7548Cisco's AnyConnect SSL VPN.")
7549 (license license:gpl2+)
e52b9534
LC
7550 (properties `((upstream-name . "NetworkManager-openconnect")
7551
7552 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
7553 ;; file refers to account "nm-openconnect". Specify it here
7554 ;; so that 'network-manager-service-type' creates it.
7555 (user-accounts . ("nm-openconnect"))))))
8378c87a 7556
e5e1df4d
DC
7557(define-public mobile-broadband-provider-info
7558 (package
7559 (name "mobile-broadband-provider-info")
310c89e3 7560 (version "20190116")
e5e1df4d
DC
7561 (source (origin
7562 (method url-fetch)
7563 (uri (string-append
7564 "mirror://gnome/sources/"
7565 "mobile-broadband-provider-info/" version "/"
7566 "mobile-broadband-provider-info-" version ".tar.xz"))
7567 (sha256
7568 (base32
310c89e3 7569 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
7570 (build-system gnu-build-system)
7571 (arguments
310c89e3 7572 `(#:tests? #f)) ; no tests
e5e1df4d
DC
7573 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
7574 (synopsis "Database of broadband connection configuration")
7575 (description "Database of broadband connection configuration.")
7576 (license license:public-domain)))
7577
4d62a9d3
SB
7578(define-public network-manager-applet
7579 (package
7580 (name "network-manager-applet")
4c291112 7581 (version "1.16.0")
4d62a9d3
SB
7582 (source (origin
7583 (method url-fetch)
3df63444 7584 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 7585 (version-major+minor version) "/"
3df63444 7586 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
7587 (sha256
7588 (base32
4c291112 7589 "1rf3nm0hjcy9f8ajb4vmvwy503w8yj8d4daxkcb7w7i7b92qmyfn"))))
cd7f718e
RW
7590 (build-system meson-build-system)
7591 (arguments
4c291112 7592 '(#:glib-or-gtk? #t))
4d62a9d3
SB
7593 (native-inputs
7594 `(("intltool" ,intltool)
cd7f718e 7595 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 7596 ("gobject-introspection" ,gobject-introspection)
cd7f718e 7597 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
7598 ("pkg-config" ,pkg-config)))
7599 (propagated-inputs
7600 ;; libnm-gtk.pc refers to all these.
7601 `(("dbus-glib" ,dbus-glib)
7602 ("gtk+" ,gtk+)
415b90f2
BW
7603 ("network-manager" ,network-manager)
7604 ;; nm-applet need by org.gnome.nm-applet.gschema.xml
7605 ("libnma" ,libnma)))
4d62a9d3 7606 (inputs
cd7f718e 7607 `(("gcr" ,gcr)
4d62a9d3
SB
7608 ("libgudev" ,libgudev)
7609 ("libnotify" ,libnotify)
2116bfb3 7610 ("libsecret" ,libsecret)
240cee8a
KK
7611 ("libselinux" ,libselinux)
7612 ("jansson" ,jansson) ; for team support
4c291112 7613 ("modem-manager" ,modem-manager)))
4d62a9d3 7614 (synopsis "Applet for managing network connections")
8ce78609 7615 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
4d62a9d3
SB
7616 (description
7617 "This package contains a systray applet for NetworkManager. It displays
7618the available networks and allows users to easily switch between them.")
7619 (license license:gpl2+)))
56196594
RW
7620
7621(define-public libxml++
7622 (package
7623 (name "libxml++")
8344a85e 7624 (version "3.0.1")
56196594
RW
7625 (source (origin
7626 (method url-fetch)
7627 (uri (string-append "mirror://gnome/sources/" name "/"
7628 (version-major+minor version) "/"
7629 name "-" version ".tar.xz"))
7630 (sha256
7631 (base32
8344a85e 7632 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
7633 (build-system gnu-build-system)
7634 ;; libxml++-3.0.pc refers to all these.
7635 (propagated-inputs
7636 `(("libxml2" ,libxml2)
7637 ("glibmm" ,glibmm)))
7638 (native-inputs
7639 `(("perl" ,perl)
7640 ("pkg-config" ,pkg-config)))
7641 (home-page "http://libxmlplusplus.sourceforge.net/")
7642 (synopsis "C++ wrapper for XML parser library libxml2")
7643 (description
7644 "This package provides a C++ wrapper for the XML parser library
7645libxml2.")
7646 (license license:lgpl2.1+)))
df12f04a 7647
b61d9627
AW
7648(define-public libxml++-2
7649 (package
7650 (inherit libxml++)
7651 (name "libxml++")
7652 (version "2.40.1")
7653 (source (origin
7654 (method url-fetch)
7655 (uri (string-append "mirror://gnome/sources/" name "/"
7656 (version-major+minor version) "/"
7657 name "-" version ".tar.xz"))
7658 (sha256
7659 (base32
7660 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
7661
df12f04a
SB
7662(define-public gdm
7663 (package
7664 (name "gdm")
0fda99c5 7665 (version "3.34.1")
df12f04a
SB
7666 (source (origin
7667 (method url-fetch)
7668 (uri (string-append "mirror://gnome/sources/" name "/"
7669 (version-major+minor version) "/"
7670 name "-" version ".tar.xz"))
7671 (sha256
7672 (base32
0fda99c5 7673 "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8"))
f4ec5e1a 7674 (patches (search-patches "gdm-default-session.patch"))))
957dbc0a 7675 (build-system glib-or-gtk-build-system)
df12f04a
SB
7676 (arguments
7677 '(#:configure-flags
af37e6bb 7678 `("--without-plymouth"
957dbc0a 7679 "--disable-systemd-journal"
51bc8357
TS
7680
7681 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
7682 ;; instead of having to replace it (i.e., stopping the mingetty
7683 ;; service for TTY 1 before starting GDM).
7684 "--with-initial-vt=7"
7685
89c86562
TS
7686 ;; Use '/etc/environment' for locale settings instead of the
7687 ;; systemd-specific '/etc/locale.conf'.
7688 "--with-lang-file=/etc/environment"
7689
b74ef0ba
RW
7690 ,(string-append "--with-udevdir="
7691 (assoc-ref %outputs "out") "/lib/udev")
7692
af37e6bb
AW
7693 "--localstatedir=/var"
7694 ,(string-append "--with-default-path="
7695 (string-join '("/run/setuid-programs"
7696 "/run/current-system/profile/bin"
7697 "/run/current-system/profile/sbin")
957dbc0a
AW
7698 ":"))
7699 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
7700 ;; XDG_DATA_DIRS so that it finds its schemas.
7701 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
7702 #:phases
7703 (modify-phases %standard-phases
7704 (add-before
7705 'configure 'pre-configure
e8c6e771 7706 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
7707 ;; We don't have <systemd/sd-daemon.h>.
7708 (substitute* '("common/gdm-log.c"
7709 "daemon/gdm-server.c"
7710 "daemon/gdm-session-worker.c"
7711 "daemon/gdm-session-worker-job.c")
7712 (("#include <systemd/sd-daemon\\.h>") ""))
7713 ;; Use elogind for sd-login.
7714 (substitute* '("common/gdm-common.c"
0fda99c5 7715 "daemon/gdm-local-display-factory.c"
df12f04a
SB
7716 "daemon/gdm-manager.c"
7717 "libgdm/gdm-user-switching.c")
7718 (("#include <systemd/sd-login\\.h>")
7719 "#include <elogind/sd-login.h>"))
957dbc0a
AW
7720 ;; Check for elogind.
7721 (substitute* '("configure")
7722 (("libsystemd")
7723 "libelogind"))
af37e6bb
AW
7724 ;; Look for system-installed sessions in
7725 ;; /run/current-system/profile/share.
7726 (substitute* '("libgdm/gdm-sessions.c"
7727 "daemon/gdm-session.c"
7728 "daemon/gdm-display.c"
7729 "daemon/gdm-launch-environment.c")
7730 (("DATADIR \"/x")
7731 "\"/run/current-system/profile/share/x")
7732 (("DATADIR \"/wayland")
7733 "\"/run/current-system/profile/share/wayland")
7734 (("DATADIR \"/gnome")
7735 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 7736 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 7737 "GDM_DBUS_DAEMON"
c9ff92b5 7738 "GDM_X_SERVER"
41fa9f18 7739 "GDM_X_SESSION"
c9ff92b5
TS
7740 ;; XXX: Remove this once GNOME Shell is
7741 ;; a dependency of GDM.
7742 "XDG_DATA_DIRS")))
7743 (substitute* "daemon/gdm-session.c"
7744 (("set_up_session_environment \\(self\\);")
7745 (apply string-append
7746 "set_up_session_environment (self);\n"
7747 (map (lambda (name)
7748 (string-append
7749 "gdm_session_set_environment_variable "
7750 "(self, \"" name "\","
7751 "g_getenv (\"" name "\"));\n"))
7752 propagate)))))
a430a350
TS
7753 ;; Find the configuration file using an environment variable.
7754 (substitute* '("common/gdm-settings.c")
e0e6756f 7755 (("GDM_CUSTOM_CONF")
e57c2adb
TS
7756 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
7757 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
7758 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
7759 ;; Use service-supplied path to X.
7760 (substitute* '("daemon/gdm-server.c")
7761 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
7762 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
0fda99c5
KK
7763 (substitute* '("daemon/gdm-wayland-session.c"
7764 "daemon/gdm-x-session.c")
1f564c15
TS
7765 (("\"dbus-daemon\"")
7766 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 7767 (("X_SERVER")
41fa9f18
TS
7768 "g_getenv (\"GDM_X_SERVER\")")
7769 (("GDMCONFDIR \"/Xsession\"")
7770 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
7771 ;; Use an absolute path for GNOME Session.
7772 (substitute* "daemon/gdm-launch-environment.c"
7773 (("\"gnome-session\"")
7774 (string-append "\"" (assoc-ref inputs "gnome-session")
7775 "/bin/gnome-session\"")))
e8c6e771
TS
7776 ;; Do not automatically select the placeholder session.
7777 (substitute* "daemon/gdm-session.c"
7778 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
7779 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
7780 "(g_strcmp0(search_dirs[i], \""
7781 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
7782 "\") == 0 && "
7783 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
7784 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 7785 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 7786 #t))
8caa4589
TS
7787 ;; GDM requires that there be at least one desktop entry
7788 ;; file. This phase installs a hidden one that simply
7789 ;; fails. This enables users to use GDM with a
7790 ;; '~/.xsession' script with no other desktop entry files.
7791 ;; See <https://bugs.gnu.org/35068>.
7792 (add-after 'install 'install-placeholder-desktop-entry
7793 (lambda* (#:key inputs outputs #:allow-other-keys)
7794 (let* ((out (assoc-ref outputs "out"))
7795 (sessions (string-append out "/share/gdm/BuiltInSessions"))
7796 (fail (string-append sessions "/fail.desktop")))
7797 (mkdir-p sessions)
7798 (with-output-to-file fail
7799 (lambda ()
7800 (for-each
7801 display
7802 '("[Desktop Entry]\n"
7803 "Encoding=UTF-8\n"
7804 "Type=Application\n"
7805 "Name=Fail\n"
7806 "Comment=This session fails immediately.\n"
7807 "NoDisplay=true\n"
7808 "Exec=false\n"))))
7809 #t)))
69544798
TS
7810 ;; GDM needs GNOME Session to run these applications. We link
7811 ;; their autostart files in `share/gdm/greeter/autostart'
7812 ;; because GDM explicitly tells GNOME Session to look there.
7813 ;;
7814 ;; XXX: GNOME Shell should be linked here too, but currently
7815 ;; GNOME Shell depends on GDM.
7816 (add-after 'install 'link-autostart-files
7817 (lambda* (#:key inputs outputs #:allow-other-keys)
7818 (let* ((out (assoc-ref outputs "out"))
7819 (autostart (string-append out "/share/gdm/"
7820 "greeter/autostart"))
7821 (settings (assoc-ref inputs "gnome-settings-daemon")))
7822 (mkdir-p autostart)
7823 (with-directory-excursion autostart
7824 (for-each (lambda (desktop)
7825 (symlink desktop (basename desktop)))
7826 (find-files (string-append settings "/etc/xdg"))))
7827 #t))))))
df12f04a
SB
7828 (native-inputs
7829 `(("dconf" ,dconf)
7830 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7831 ("gobject-introspection" ,gobject-introspection)
7832 ("intltool" ,intltool)
7833 ("itstool" ,itstool)
7834 ("pkg-config" ,pkg-config)
7835 ("xmllint" ,libxml2)))
7836 (inputs
7837 `(("accountsservice" ,accountsservice)
7838 ("check" ,check) ; for testing
7839 ("elogind" ,elogind)
def6d6b6 7840 ("gnome-session" ,gnome-session)
69544798 7841 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
7842 ("gtk+" ,gtk+)
7843 ("iso-codes" ,iso-codes)
7844 ("libcanberra" ,libcanberra)
7845 ("linux-pam" ,linux-pam)))
7846 (synopsis "Display manager for GNOME")
f032d0be 7847 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
7848 (description
7849 "GNOME Display Manager is a system service that is responsible for
7850providing graphical log-ins and managing local and remote displays.")
7851 (license license:gpl2+)))
8e1dd04f
SB
7852
7853(define-public libgtop
7854 (package
7855 (name "libgtop")
015fc036 7856 (version "2.40.0")
8e1dd04f
SB
7857 (source (origin
7858 (method url-fetch)
59487fc2 7859 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 7860 (version-major+minor version) "/"
59487fc2 7861 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
7862 (sha256
7863 (base32
015fc036 7864 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
7865 (build-system gnu-build-system)
7866 (native-inputs
7867 `(("gobject-introspection" ,gobject-introspection)
7868 ("intltool" ,intltool)
7869 ("perl" ,perl)
7870 ("pkg-config" ,pkg-config)))
7871 (propagated-inputs
7872 `(("glib" ,glib))) ; required by libgtop-2.0.pc
7873 (synopsis "Portable system access library")
7874 (home-page "https://www.gnome.org/")
7875 (description
7876 "LibGTop is a library to get system specific data such as CPU and memory
7877usage and information about running processes.")
7878 (license license:gpl2+)))
b96c4260
SB
7879
7880(define-public gnome-bluetooth
7881 (package
7882 (name "gnome-bluetooth")
e8f4bf6b 7883 (version "3.34.0")
b96c4260
SB
7884 (source (origin
7885 (method url-fetch)
7886 (uri (string-append "mirror://gnome/sources/" name "/"
7887 (version-major+minor version) "/"
7888 name "-" version ".tar.xz"))
7889 (sha256
7890 (base32
e8f4bf6b 7891 "1bvbxcsjkyl0givy8nfm7112bq3c0vn1v89fdk2pip714dsfcrz8"))))
fd3b1171 7892 (build-system meson-build-system)
b96c4260
SB
7893 (native-inputs
7894 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 7895 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
7896 ("gobject-introspection" ,gobject-introspection)
7897 ("intltool" ,intltool)
7898 ("pkg-config" ,pkg-config)
7899 ("xmllint" ,libxml2)))
7900 (propagated-inputs
7901 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
7902 `(("glib" ,glib)
7903 ("gtk+" ,gtk+)))
b96c4260 7904 (inputs
723afae6
KK
7905 `(("eudev" ,eudev)
7906 ("libcanberra" ,libcanberra)
b96c4260
SB
7907 ("libnotify" ,libnotify)))
7908 (synopsis "GNOME Bluetooth subsystem")
7909 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
7910 (description
7911 "This package contains tools for managing and manipulating Bluetooth
7912devices using the GNOME desktop.")
7913 (license license:lgpl2.1+)))
b645146f
SB
7914
7915(define-public gnome-control-center
7916 (package
7917 (name "gnome-control-center")
c576328d 7918 (version "3.34.2")
b645146f
SB
7919 (source (origin
7920 (method url-fetch)
7921 (uri (string-append "mirror://gnome/sources/" name "/"
7922 (version-major+minor version) "/"
7923 name "-" version ".tar.xz"))
7924 (sha256
7925 (base32
c576328d 7926 "054igagvmyzpaa5nwzz98gv7bk7l5dwp6g813707132si3szlpx8"))))
59dac026 7927 (build-system meson-build-system)
b645146f 7928 (arguments
59dac026
RW
7929 '(#:glib-or-gtk? #t
7930 #:configure-flags
64c70430
KK
7931 (list "-Dcheese=false"
7932 (string-append "-Dgnome_session_libexecdir="
7933 (assoc-ref %build-inputs "gnome-session")
7934 "/libexec"))
59dac026 7935 #:phases
b645146f
SB
7936 (modify-phases %standard-phases
7937 (add-before 'configure 'patch-paths
7938 (lambda* (#:key inputs #:allow-other-keys)
7939 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 7940 (tzdata (assoc-ref inputs "tzdata"))
341225ac 7941 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
7942 (nm-applet (assoc-ref inputs "network-manager-applet"))
7943 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
7944 (substitute* "panels/datetime/tz.h"
7945 (("/usr/share/zoneinfo/zone.tab")
7946 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 7947 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
7948 (("/usr/share/locale")
7949 (string-append libc "/share/locale")))
1df38cfc
LC
7950 (substitute* "panels/region/cc-region-panel.c"
7951 (("\"gkbd-keyboard-display")
7952 (string-append "\"" libgnomekbd
7953 "/bin/gkbd-keyboard-display")))
341225ac
LC
7954 (substitute* '("panels/network/net-device-wifi.c"
7955 "panels/network/net-device.c"
7956 "panels/network/connection-editor/net-connection-editor.c")
7957 (("\"nm-connection-editor")
7958 (string-append "\"" nm-applet
7959 "/bin/nm-connection-editor")))
1acd107c
FP
7960 (substitute* '("panels/user-accounts/run-passwd.c")
7961 (("/usr/bin/passwd")
7962 "/run/setuid-programs/passwd"))
64c70430
KK
7963 (substitute* "panels/info/cc-info-overview-panel.c"
7964 (("DATADIR \"/gnome/gnome-version.xml\"")
7965 (string-append "\"" gnome-desktop
7966 "/share/gnome/gnome-version.xml\"")))
c576328d
KK
7967 #t)))
7968 (add-after 'unpack 'skip-gtk-update-icon-cache
7969 ;; Don't create 'icon-theme.cache'.
7970 (lambda _
7971 (substitute* "build-aux/meson/meson_post_install.py"
7972 (("gtk-update-icon-cache") (which "true")))
7973 #t)))))
b645146f
SB
7974 (native-inputs
7975 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7976 ("intltool" ,intltool)
7977 ("pkg-config" ,pkg-config)
a6938bac
KK
7978 ("xsltproc" ,libxslt)
7979 ;; For tests
7980 ("hicolor-icon-theme" ,hicolor-icon-theme)
7981 ("python-dbusmock" ,python-dbusmock)
7982 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
7983 (inputs
7984 `(("accountsservice" ,accountsservice)
7985 ("clutter-gtk" ,clutter-gtk)
7986 ("colord-gtk" ,colord-gtk)
7987 ("cups" ,cups)
7988 ("dconf" ,dconf)
7989 ("docbook-xsl" ,docbook-xsl)
3446ffb5 7990 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
7991 ("gnome-bluetooth" ,gnome-bluetooth)
7992 ("gnome-desktop" ,gnome-desktop)
7993 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 7994 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 7995 ("gnome-session" ,gnome-session)
b645146f
SB
7996 ("gnome-settings-daemon" ,gnome-settings-daemon)
7997 ("grilo" ,grilo)
a6938bac 7998 ("gsound" ,gsound)
b645146f
SB
7999 ("ibus" ,ibus)
8000 ("libcanberra" ,libcanberra)
1df38cfc 8001 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
8002 ("libgudev" ,libgudev)
8003 ("libgtop" ,libgtop)
46cf3434 8004 ("libnma" ,libnma)
b645146f 8005 ("libpwquality" ,libpwquality)
982c0b36 8006 ("libsecret" ,libsecret)
b645146f
SB
8007 ("libsoup" ,libsoup)
8008 ("libxml2" ,libxml2)
8009 ("libwacom" ,libwacom)
8010 ("mesa" ,mesa)
8011 ("mit-krb5" ,mit-krb5)
8012 ("modem-manager" ,modem-manager)
8013 ("network-manager-applet" ,network-manager-applet)
8014 ("polkit" ,polkit)
8015 ("pulseaudio" ,pulseaudio)
8016 ("smbclient" ,samba)
8017 ("tzdata" ,tzdata)
982c0b36 8018 ("udisks" ,udisks)
b645146f
SB
8019 ("upower" ,upower)))
8020 (synopsis "Utilities to configure the GNOME desktop")
8021 (home-page "https://www.gnome.org/")
8022 (description
8023 "This package contains configuration applets for the GNOME desktop,
8024allowing to set accessibility configuration, desktop fonts, keyboard and mouse
8025properties, sound setup, desktop theme and background, user interface
8026properties, screen resolution, and other GNOME parameters.")
8027 (license license:gpl2+)))
a4df5756
SB
8028
8029(define-public gnome-shell
8030 (package
8031 (name "gnome-shell")
28457ae6 8032 (version "3.34.2")
a4df5756
SB
8033 (source (origin
8034 (method url-fetch)
8035 (uri (string-append "mirror://gnome/sources/" name "/"
8036 (version-major+minor version) "/"
8037 name "-" version ".tar.xz"))
8038 (sha256
8039 (base32
28457ae6
KK
8040 "0k9vq2gh1nhdd6fpp7jnwx37qxaakawiqw1xnlfjvq5g5zdn8ckh"))
8041 (patches (search-patches "gnome-shell-theme.patch"
8042 "gnome-shell-disable-test.patch"))
a76d0f03
LC
8043 (modules '((guix build utils)))
8044 (snippet
8045 #~(begin
a76d0f03
LC
8046 ;; Copy images for use on the GDM log-in screen.
8047 (copy-file #$(file-append %artwork-repository
8048 "/slim/0.x/background.png")
8049 "data/theme/guix-background.png")
45fef894
LC
8050 (copy-file #$(file-append %artwork-repository
8051 "/logo/Guix-horizontal-white.svg")
8052 "data/theme/guix-logo.svg")
a76d0f03 8053 #t))))
2b0c755d 8054 (build-system meson-build-system)
a4df5756 8055 (arguments
08185081
MB
8056 `(#:glib-or-gtk? #t
8057 #:disallowed-references ((,glib "bin")
11e1df56
LC
8058 ,inkscape ,libxslt
8059 ,ruby-sass)
2b0c755d
RW
8060 #:configure-flags
8061 (list "-Dsystemd=false"
8062 ;; Otherwise, the RUNPATH will lack the final path component.
8063 (string-append "-Dc_link_args=-Wl,-rpath="
8064 (assoc-ref %outputs "out")
8065 "/lib/gnome-shell"))
11e1df56 8066
08185081 8067 #:modules ((guix build meson-build-system)
11e1df56
LC
8068 (guix build utils)
8069 (srfi srfi-1))
8070
2b0c755d 8071 #:phases
a4df5756 8072 (modify-phases %standard-phases
2b0c755d 8073 (add-after 'unpack 'fix-keysdir
a4df5756
SB
8074 (lambda* (#:key outputs #:allow-other-keys)
8075 (let* ((out (assoc-ref outputs "out"))
8076 (keysdir (string-append
8077 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
8078 (substitute* "meson.build"
8079 (("keysdir =.*")
8080 (string-append "keysdir = '" keysdir "'\n")))
8081 #t)))
ebfe259f
MB
8082 (add-before 'configure 'convert-logo-to-png
8083 (lambda* (#:key inputs #:allow-other-keys)
8084 ;; Convert the logo from SVG to PNG.
8085 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
8086 "data/theme/guix-logo.svg")))
ba00235a 8087 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
8088 (lambda* (#:key inputs #:allow-other-keys)
8089 (substitute* "js/misc/ibusManager.js"
8090 (("'ibus-daemon'")
8091 (string-append "'" (assoc-ref inputs "ibus")
8092 "/bin/ibus-daemon'")))
d6fda4d3
LC
8093 (substitute* "js/ui/status/keyboard.js"
8094 (("'gkbd-keyboard-display'")
8095 (string-append "'" (assoc-ref inputs "libgnomekbd")
8096 "/bin/gkbd-keyboard-display'")))
2472cdec 8097 #t))
2b0c755d
RW
8098 (add-before 'check 'pre-check
8099 (lambda* (#:key inputs #:allow-other-keys)
8100 ;; Tests require a running X server.
8101 (system "Xvfb :1 &")
8102 (setenv "DISPLAY" ":1")
8103 #t))
8104 (add-after 'install 'wrap-programs
8105 (lambda* (#:key inputs outputs #:allow-other-keys)
8106 (let ((out (assoc-ref outputs "out"))
8107 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8108 (python-path (getenv "PYTHONPATH")))
8109 (wrap-program (string-append out "/bin/gnome-shell")
8110 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8111 ;; FIXME: gnome-shell loads these libraries with unqualified
8112 ;; names only, so they need to be on LD_LIBRARY_PATH. The
8113 ;; alternative might be to patch gnome-shell.
8114 `("LD_LIBRARY_PATH" ":" prefix
8115 ,(map (lambda (pkg)
8116 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
8117 '("gdk-pixbuf"
8118 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
8119 (for-each
8120 (lambda (prog)
8121 (wrap-program (string-append out "/bin/" prog)
8122 `("PYTHONPATH" ":" prefix (,python-path))
8123 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8124 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 8125 #t)))
11e1df56
LC
8126 (replace 'glib-or-gtk-wrap
8127 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
8128 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
8129 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
8130 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
8131 ;; phase. Fix that since we don't need these.
8132 (wrap #:inputs (fold alist-delete inputs
8133 '("inkscape" "intltool" "glib:bin"))
8134 #:outputs outputs)))))))
a4df5756 8135 (native-inputs
28457ae6
KK
8136 `(("asciidoc" ,asciidoc)
8137 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 8138 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 8139 ("gobject-introspection" ,gobject-introspection)
ebfe259f 8140 ("inkscape" ,inkscape)
a4df5756
SB
8141 ("intltool" ,intltool)
8142 ("pkg-config" ,pkg-config)
8143 ("python" ,python)
2b0c755d
RW
8144 ("ruby-sass" ,ruby-sass)
8145 ("sassc" ,sassc)
a76d0f03 8146 ("xsltproc" ,libxslt)
2b0c755d 8147 ;; For tests
0b4504f6 8148 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
8149 (inputs
8150 `(("accountsservice" ,accountsservice)
8151 ("caribou" ,caribou)
8152 ("docbook-xsl" ,docbook-xsl)
8153 ("evolution-data-server" ,evolution-data-server)
8154 ("gcr" ,gcr)
8155 ("gdm" ,gdm)
c5db31d4 8156 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756 8157 ("gjs" ,gjs)
28457ae6 8158 ("gnome-autoar" ,gnome-autoar)
a4df5756 8159 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
8160 ("gnome-desktop" ,gnome-desktop)
8161 ("gnome-settings-daemon" ,gnome-settings-daemon)
8162 ("gst-plugins-base" ,gst-plugins-base)
8163 ("ibus" ,ibus)
8164 ("libcanberra" ,libcanberra)
8165 ("libcroco" ,libcroco)
d6fda4d3 8166 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756 8167 ("libgweather" ,libgweather)
e24d311f 8168 ("libnma" ,libnma)
a4df5756
SB
8169 ("libsoup" ,libsoup)
8170 ("mesa-headers" ,mesa-headers)
8171 ("mutter" ,mutter)
8172 ("network-manager-applet" ,network-manager-applet)
8173 ("polkit" ,polkit)
8174 ("pulseaudio" ,pulseaudio)
8175 ("python-pygobject" ,python-pygobject)
8176 ("startup-notification" ,startup-notification)
8177 ("telepathy-logger" ,telepathy-logger)
8178 ("upower" ,upower)
30e760f0
MB
8179 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
8180 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
8181 ("librsvg" ,librsvg)
2b0c755d 8182 ("geoclue" ,geoclue)))
a4df5756
SB
8183 (synopsis "Desktop shell for GNOME")
8184 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
8185 (description
8186 "GNOME Shell provides core user interface functions for the GNOME desktop,
8187like switching to windows and launching applications.")
8188 (license license:gpl2+)))
c3f29bc9
RS
8189
8190(define-public gtk-vnc
8191 (package
8192 (name "gtk-vnc")
97787a24 8193 (version "1.0.0")
c3f29bc9
RS
8194 (source
8195 (origin
8196 (method url-fetch)
97787a24
RG
8197 (uri
8198 (string-append "mirror://gnome/sources/" name "/"
8199 (version-major+minor version) "/"
8200 name "-" version ".tar.xz"))
c3f29bc9 8201 (sha256
97787a24
RG
8202 (base32 "1060ws037v556rx1qhfrcg02859rscksrzr8fq11himdg4d1y6m8"))))
8203 (build-system meson-build-system)
c3f29bc9 8204 (arguments
97787a24 8205 `(#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas
c3f29bc9 8206 (native-inputs
97787a24
RG
8207 `(("gjs" ,gjs)
8208 ("glib:bin" ,glib "bin")
c3f29bc9
RS
8209 ("gobject-introspection" ,gobject-introspection)
8210 ("intltool" ,intltool)
97787a24
RG
8211 ("node" ,node)
8212 ("perl" ,perl)
c3f29bc9 8213 ("pkg-config" ,pkg-config)
97787a24 8214 ("python" ,python-wrapper)
c3f29bc9 8215 ("vala" ,vala)))
97787a24
RG
8216 (inputs
8217 `(("cairo" ,cairo)
8218 ("gdk-pixbuf" ,gdk-pixbuf+svg)
8219 ("glib" ,glib)
8220 ("gnutls" ,gnutls)
8221 ("libgcrypt" ,libgcrypt)
8222 ("libsasl" ,cyrus-sasl)
8223 ("pulseaudio" ,pulseaudio)
8224 ("x11" ,libx11)
8225 ("zlib" ,zlib)))
8226 (propagated-inputs
8227 `(("gtk+" ,gtk+)))
8228 (synopsis "VNC client viewer widget for GTK+")
8229 (description "GTK-VNC is a project providing client side APIs for the RFB
8230protocol / VNC remote desktop technology. It is built using coroutines allowing
8231it to be completely asynchronous while remaining single threaded. It provides a
8232core C library, and bindings for Python (PyGTK).")
c3f29bc9 8233 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
c3f29bc9 8234 (license license:lgpl2.1+)))
8b877545 8235
dc69fe18
MW
8236(define-public gnome-autoar
8237 (package
8238 (name "gnome-autoar")
17969940 8239 (version "0.2.4")
dc69fe18
MW
8240 (source (origin
8241 (method url-fetch)
8242 (uri (string-append "mirror://gnome/sources/" name "/"
8243 (version-major+minor version) "/"
8244 name "-" version ".tar.xz"))
8245 (sha256
8246 (base32
17969940 8247 "0yk56ch46n3wfy633mq31kif9n7v06rlij4vqbsbn6l4z1vw6d0a"))))
dc69fe18
MW
8248 (build-system glib-or-gtk-build-system)
8249 (native-inputs
17969940 8250 `(("gobject-introspection" ,gobject-introspection)
dc69fe18
MW
8251 ("pkg-config" ,pkg-config)))
8252 (propagated-inputs
17969940 8253 `(("libarchive" ,libarchive))) ; Required by gnome-autoar-0.pc
dc69fe18 8254 (inputs
0a6e9e13 8255 `(("gtk+" ,gtk+)))
dc69fe18
MW
8256 (synopsis "Archives integration support for GNOME")
8257 (home-page "https://git.gnome.org/browse/gnome-autoar/")
8258 (description
8259 "GNOME Autoar is a library which makes creating and extracting archives
8260easy, safe, and automatic.")
8261 (license license:lgpl2.1+)))
8262
b64e217f
MW
8263(define-public tracker
8264 (package
8265 (name "tracker")
caaefa40 8266 (version "2.3.4")
b64e217f
MW
8267 (source (origin
8268 (method url-fetch)
b5b0fd23 8269 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 8270 (version-major+minor version) "/"
b5b0fd23 8271 "tracker-" version ".tar.xz"))
b64e217f
MW
8272 (sha256
8273 (base32
caaefa40 8274 "0vai0qz9jn3z5dlzysynwhbbmslp84ygdql81f5wfxxr98j54yap"))))
5ada561c 8275 (build-system meson-build-system)
c8bdf589 8276 (arguments
5ada561c
KK
8277 `(#:glib-or-gtk? #t
8278 #:configure-flags
8279 ;; Otherwise, the RUNPATH will lack the final path component.
8280 (list (string-append "-Dc_link_args=-Wl,-rpath="
8281 (assoc-ref %outputs "out") "/lib:"
8282 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
8283 #:phases
c8bdf589 8284 (modify-phases %standard-phases
c8bdf589
RW
8285 (add-before 'check 'pre-check
8286 (lambda _
63db190a
PN
8287 ;; Some tests expect to write to $HOME.
8288 (setenv "HOME" "/tmp")
c8bdf589 8289 #t)))))
b64e217f 8290 (native-inputs
5ada561c 8291 `(("glib:bin" ,glib "bin")
b64e217f 8292 ("gobject-introspection" ,gobject-introspection)
5ada561c 8293 ("python-pygobject" ,python-pygobject)
b64e217f
MW
8294 ("intltool" ,intltool)
8295 ("pkg-config" ,pkg-config)
8296 ("vala" ,vala)))
8297 (inputs
63db190a 8298 `(("dbus" ,dbus)
44ed6284 8299 ("sqlite" ,sqlite)
b64e217f 8300 ("libxml2" ,libxml2)
63db190a 8301 ("icu4c" ,icu4c) ; libunistring gets miner-miner-fs test to fail.
0ef48cd9 8302 ("json-glib" ,json-glib)
63db190a 8303 ("libsoup" ,libsoup)))
b64e217f
MW
8304 (synopsis "Metadata database, indexer and search tool")
8305 (home-page "https://wiki.gnome.org/Projects/Tracker")
8306 (description
63db190a
PN
8307 "Tracker is a search engine and triplestore for desktop, embedded and mobile.
8308
8309It is a middleware component aimed at desktop application developers who want
8310their apps to browse and search user content. It's not designed to be used
8311directly by desktop users, but it provides a commandline tool named
8312@command{tracker} for the adventurous.
8313
8314Tracker allows your application to instantly perform full-text searches across
8315all documents. This feature is used by the @{emph{search} bar in GNOME Files, for
8316example. This is achieved by indexing the user's home directory in the
8317background.
8318
8319Tracker also allows your application to query and list content that the user
8320has stored. For example, GNOME Music displays all the music files that are
8321found by Tracker. This means that GNOME Music doesn't need to maintain a
8322database of its own.
8323
8324If you need to go beyond simple searches, Tracker is also a linked data
8325endpoint and it understands SPARQL. ")
8326 ;; https://gitlab.gnome.org/GNOME/tracker/-/blob/master/COPYING:
b64e217f 8327 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
63db190a 8328 ;; libstemmer is bsd-3 and the rest is gpl2+.
b64e217f 8329 (license (list license:gpl2+
63db190a
PN
8330 license:bsd-3
8331 license:lgpl2.1+))))
b64e217f 8332
03be9874
KK
8333(define-public tracker-miners
8334 (package
8335 (name "tracker-miners")
de60ac2f 8336 (version "2.3.3")
03be9874
KK
8337 (source (origin
8338 (method url-fetch)
8339 (uri (string-append "mirror://gnome/sources/tracker-miners/"
8340 (version-major+minor version)
8341 "/tracker-miners-" version ".tar.xz"))
8342 (sha256
8343 (base32
de60ac2f 8344 "06abxrnrz7xayykrabn135rpsm6z0fqw7gibrb9j09l6swlalwkl"))))
03be9874
KK
8345 (build-system meson-build-system)
8346 (arguments
8347 `(#:glib-or-gtk? #t
8348 #:configure-flags
8349 (list "-Dminer_rss=false" ; libgrss is required.
8350 ;; Ensure the RUNPATH contains all installed library locations.
8351 (string-append "-Dc_link_args=-Wl,-rpath="
8352 (assoc-ref %outputs "out")
8353 "/lib/tracker-miners-2.0")
8354 ;; TODO: Enable functional tests. Currently, the following error
8355 ;; appears:
8356 ;; Exception: The functional tests require DConf to be the default
8357 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
8358 "-Dfunctional_tests=false")))
8359 (native-inputs
8360 `(("dbus" ,dbus)
8361 ("intltool" ,intltool)
8362 ("glib:bin" ,glib "bin")
8363 ("gobject-introspection" ,gobject-introspection)
8364 ("pkg-config" ,pkg-config)
8365 ("python-pygobject" ,python-pygobject)))
8366 (inputs
8367 `(("exempi" ,exempi)
8368 ("ffmpeg" ,ffmpeg)
8369 ("flac" ,flac)
8370 ("giflib" ,giflib)
8371 ("glib" ,glib)
8372 ("gstreamer" ,gstreamer)
8373 ("icu4c" ,icu4c)
8374 ("libcue" ,libcue)
8375 ("libexif" ,libexif)
8376 ("libgsf" ,libgsf)
8377 ("libgxps" ,libgxps)
8378 ("libiptcdata" ,libiptcdata)
4bd428a7 8379 ("libjpeg" ,libjpeg-turbo)
03be9874
KK
8380 ("libosinfo" ,libosinfo)
8381 ("libpng" ,libpng)
8382 ("libseccomp" ,libseccomp)
8383 ("libtiff" ,libtiff)
8384 ("libvorbis" ,libvorbis)
8385 ("libxml2" ,libxml2)
8386 ("poppler" ,poppler)
8387 ("taglib" ,taglib)
8388 ("totem-pl-parser" ,totem-pl-parser)
8389 ("tracker" ,tracker)
8390 ("upower" ,upower)
8391 ("zlib" ,zlib)))
b64e217f
MW
8392 (synopsis "Metadata database, indexer and search tool")
8393 (home-page "https://wiki.gnome.org/Projects/Tracker")
8394 (description
8395 "Tracker is an advanced framework for first class objects with associated
8396metadata and tags. It provides a one stop solution for all metadata, tags,
8397shared object databases, search tools and indexing.")
8398 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
8399 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
8400 (license (list license:gpl2+
8401 license:lgpl2.1+
8402 license:lgpl2.0+))))
8403
8b877545
RS
8404(define-public nautilus
8405 (package
8406 (name "nautilus")
8069ff0b 8407 (version "3.34.2")
8b877545
RS
8408 (source (origin
8409 (method url-fetch)
8410 (uri (string-append "mirror://gnome/sources/" name "/"
8411 (version-major+minor version) "/"
8412 name "-" version ".tar.xz"))
8413 (sha256
8414 (base32
8069ff0b 8415 "19zqwq4qyyncc5wq3xls0f7rsavnw741k336p2h7kx35p4kf41mv"))))
35e2d0cf 8416 (build-system meson-build-system)
8b877545 8417 (arguments
35e2d0cf 8418 '(#:glib-or-gtk? #t
8069ff0b
KK
8419 #:phases
8420 (modify-phases %standard-phases
8421 (add-after 'unpack 'skip-gtk-update-icon-cache
8422 ;; Don't create 'icon-theme.cache'.
8423 (lambda _
8424 (substitute* "build-aux/meson/postinstall.py"
8425 (("gtk-update-icon-cache") "true"))
8426 #t)))
8b877545
RS
8427 ;; XXX: FAIL: check-nautilus
8428 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
8429 #:tests? #f))
8430 (native-inputs
35e2d0cf
R
8431 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
8432 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
8b877545
RS
8433 ("gobject-introspection" ,gobject-introspection)
8434 ("intltool" ,intltool)
8435 ("pkg-config" ,pkg-config)))
8b877545 8436 (inputs
8b877545 8437 `(("dconf" ,dconf)
caf6c363 8438 ("gexiv2" ,gexiv2)
dd05e731 8439 ("gvfs" ,gvfs)
8b877545
RS
8440 ("exempi" ,exempi)
8441 ("gnome-desktop" ,gnome-desktop)
09d88905 8442 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 8443 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 8444 ("libseccomp" ,libseccomp)
35e2d0cf 8445 ("libselinux" ,libselinux)
09d88905 8446 ("tracker" ,tracker)
3cafb9d4 8447 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
8448 ;; XXX: gtk+ is required by libnautilus-extension.pc
8449 ;;
8450 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
8451 ;; package. See:
8452 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
8453 ("gtk+" ,gtk+)
8b877545
RS
8454 ("libexif" ,libexif)
8455 ("libxml2" ,libxml2)))
8456 (synopsis "File manager for GNOME")
8457 (home-page "https://wiki.gnome.org/Apps/Nautilus")
8458 (description
8459 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
8460design and behaviour, giving the user a simple way to navigate and manage its
8461files.")
8462 (license license:gpl2+)))
3c697ffd
JR
8463
8464(define-public baobab
8465 (package
8466 (name "baobab")
e0c5f20c 8467 (version "3.32.0")
3c697ffd
JR
8468 (source (origin
8469 (method url-fetch)
8470 (uri (string-append
8471 "mirror://gnome/sources/" name "/"
8472 (version-major+minor version) "/"
8473 name "-" version ".tar.xz"))
8474 (sha256
8475 (base32
e0c5f20c 8476 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
8477 (build-system meson-build-system)
8478 (arguments
8479 '(#:glib-or-gtk? #t))
3c697ffd
JR
8480 (native-inputs
8481 `(("intltool" ,intltool)
8482 ("pkg-config" ,pkg-config)
d233d373
RJ
8483 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
8484 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
8485 ("itstool" ,itstool)
8486 ("xmllint" ,libxml2)
8487 ("glib" ,glib "bin")
8488 ("vala" ,vala)))
8489 (inputs
8490 `(("gtk+" ,gtk+)))
8491 (synopsis "Disk usage analyzer for GNOME")
8492 (description
8493 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
8494usage in the GNOME desktop environment. It can easily scan device volumes or
8495a specific user-requested directory branch (local or remote). Once the scan
8496is complete it provides a graphical representation of each selected folder.")
8497 (home-page "https://wiki.gnome.org/Apps/Baobab")
8498 (license license:gpl2+)))
dc050251 8499
fdba447c
RS
8500(define-public gnome-backgrounds
8501 (package
8502 (name "gnome-backgrounds")
0856b0d9 8503 (version "3.34.0")
fdba447c
RS
8504 (source
8505 (origin
8506 (method url-fetch)
8507 (uri (string-append "mirror://gnome/sources/" name "/"
8508 (version-major+minor version) "/"
8509 name "-" version ".tar.xz"))
8510 (sha256
8511 (base32
0856b0d9 8512 "0zxlwy55fz7i582hch2wnj8zy1kzikssgaix0l2y41ccp5nzpdy2"))))
9ca381f0 8513 (build-system meson-build-system)
fdba447c
RS
8514 (native-inputs
8515 `(("intltool" ,intltool)))
e04e8a8c 8516 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
8517 (synopsis "Background images for the GNOME desktop")
8518 (description
8519 "GNOME backgrounds package contains a collection of graphics files which
8520can be used as backgrounds in the GNOME Desktop environment. Additionally,
8521the package creates the proper framework and directory structure so that you
8522can add your own files to the collection.")
8523 (license (list license:gpl2+
8524 license:cc-by2.0
8525 license:cc-by-sa2.0
8526 license:cc-by-sa3.0))))
8527
b784b1a9
RS
8528(define-public gnome-screenshot
8529 (package
8530 (name "gnome-screenshot")
d5101dab 8531 (version "3.34.0")
b784b1a9
RS
8532 (source
8533 (origin
8534 (method url-fetch)
8535 (uri (string-append "mirror://gnome/sources/" name "/"
8536 (version-major+minor version) "/"
8537 name "-" version ".tar.xz"))
8538 (sha256
8539 (base32
d5101dab 8540 "1rmiq890j7gfn5mcz31xy6jfnnxgc17dq67bhn2k9m5ylbvza2n8"))))
8356aefa 8541 (build-system meson-build-system)
d5101dab
KK
8542 (arguments
8543 '(#:phases
8544 (modify-phases %standard-phases
8545 (add-after 'unpack 'skip-gtk-update-icon-cache
8546 ;; Don't create 'icon-theme.cache'.
8547 (lambda _
8548 (substitute* "build-aux/postinstall.py"
8549 (("gtk-update-icon-cache") "true"))
8550 #t)))))
b784b1a9
RS
8551 (native-inputs
8552 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa 8553 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 8554 ("intltool" ,intltool)
8356aefa 8555 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
8556 ("pkg-config" ,pkg-config)))
8557 (inputs
8558 `(("gtk+" ,gtk+)
8559 ("libcanberra" ,libcanberra)
8560 ("libx11" ,libx11)
8561 ("libxext" ,libxext)))
676e7cb4 8562 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
8563 (synopsis "Take pictures of your screen")
8564 (description
8565 "GNOME Screenshot is a utility used for taking screenshots of the entire
8566screen, a window or a user defined area of the screen, with optional
8567beautifying border effects.")
8568 (license license:gpl2+)))
8569
66d59111
RS
8570(define-public dconf-editor
8571 (package
8572 (name "dconf-editor")
720aa20f 8573 (version "3.34.2")
66d59111
RS
8574 (source
8575 (origin
8576 (method url-fetch)
8577 (uri (string-append "mirror://gnome/sources/" name "/"
8578 (version-major+minor version) "/"
8579 name "-" version ".tar.xz"))
8580 (sha256
8581 (base32
720aa20f 8582 "0pwxjada2vaf69ihpjgp9nky54iykvxq63lp1vl8pxjanif2mk6f"))))
294ff39d 8583 (build-system meson-build-system)
66d59111
RS
8584 (native-inputs
8585 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 8586 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 8587 ("intltool" ,intltool)
294ff39d
RW
8588 ("pkg-config" ,pkg-config)
8589 ("vala" ,vala)))
66d59111
RS
8590 (inputs
8591 `(("dconf" ,dconf)
8592 ("gtk+" ,gtk+)
8593 ("libxml2" ,libxml2)))
720aa20f 8594 (home-page "https://gitlab.gnome.org/GNOME/dconf-editor")
66d59111
RS
8595 (synopsis "Graphical editor for GNOME's dconf configuration system")
8596 (description
8597 "Dconf-editor is a graphical tool for browsing and editing the dconf
8598configuration system for GNOME. It allows users to configure desktop
8599software that do not provide their own configuration interface.")
8600 (license license:lgpl2.1+)))
8601
96d36f38
AW
8602(define-public gnome-default-applications
8603 (package
8604 (name "gnome-default-applications")
8605 (version "0")
8606 (build-system trivial-build-system)
8607 (source #f)
8608 (propagated-inputs
8ad4f0aa
LC
8609 `(("nautilus" ,nautilus)
8610 ("evince" ,evince)))
96d36f38
AW
8611 (arguments
8612 `(#:modules ((guix build utils))
8613 #:builder
8614 (begin
8615 (use-modules (guix build utils))
8616 (let* ((out (assoc-ref %outputs "out"))
8617 (apps (string-append out "/share/applications")))
8618 (mkdir-p apps)
a6ac679f 8619 (call-with-output-file (string-append apps "/gnome-mimeapps.list")
96d36f38
AW
8620 (lambda (port)
8621 (format port "[Default Applications]\n")
8ad4f0aa
LC
8622 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
8623 (format port "application/pdf=evince.desktop\n")
8624 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
8625 #t))))
8626 (synopsis "Default MIME type associations for the GNOME desktop")
8627 (description
8628 "Given many installed packages which might handle a given MIME type, a
8629user running the GNOME desktop probably has some preferences: for example,
8630that folders be opened by default by the Nautilus file manager, not the Baobab
8631disk usage analyzer. This package establishes that set of default MIME type
8632associations for GNOME.")
8633 (license license:gpl3+)
8634 (home-page #f)))
8635
3f1ed953
RG
8636(define-public libgovirt
8637 (package
8638 (name "libgovirt")
8639 (version "0.3.6")
8640 (source (origin
8641 (method url-fetch)
8642 (uri (string-append "mirror://gnome/sources/" name "/"
8643 (version-major+minor version) "/"
8644 name "-" version ".tar.xz"))
8645 (sha256
8646 (base32
8647 "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg"))))
8648 (build-system glib-or-gtk-build-system)
8649 (native-inputs
8650 `(("gettext" ,gettext-minimal)
8651 ("glib:bin" ,glib "bin")
8652 ("gobject-introspection" ,gobject-introspection)
8653 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8654 ("gtk+:bin" ,gtk+ "bin")
8655 ("pkg-config" ,pkg-config)))
8656 (inputs
8657 `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
8658 ("librest" ,rest)))
8659 (synopsis "GoVirt Library")
8660 (description "GoVirt is a GObject wrapper for the oVirt REST API.")
8661 (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
8662 (license license:gpl2+)))
8663
8672e5e9
RG
8664(define-public gnome-weather
8665 (package
8666 (name "gnome-weather")
8667 (version "3.34.0")
8668 (source (origin
8669 (method url-fetch)
8670 (uri (string-append "mirror://gnome/sources/" name "/"
8671 (version-major+minor version) "/"
8672 name "-" version ".tar.xz"))
8673 (sha256
8674 (base32
8675 "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4"))))
8676 (build-system meson-build-system)
8677 (native-inputs
8678 `(("gettext" ,gettext-minimal)
8679 ("glib:bin" ,glib "bin")
8680 ("gobject-introspection" ,gobject-introspection)
8681 ("gtk+:bin" ,gtk+ "bin")
8682 ("pkg-config" ,pkg-config)))
8683 (inputs
8684 `( ;("adwaita-icon-theme" ,adwaita-icon-theme)
8685 ("appstream-glib" ,appstream-glib)
8686 ("geoclue" ,geoclue)
8687 ("gdk-pixbuf" ,gdk-pixbuf)
8688 ("gjs" ,gjs)
8689 ("gnome-desktop" ,gnome-desktop)
8690 ("libgweather" ,libgweather)))
4391fefc 8691 (arguments
2b68ba72
MB
8692 `(#:glib-or-gtk? #t
8693 #:phases
4391fefc
PN
8694 (modify-phases %standard-phases
8695 (add-after 'install 'fix-desktop-file
8696 ;; FIXME: "gapplication launch org.gnome.Weather" fails for some reason.
8697 ;; See https://issues.guix.gnu.org/issue/39324.
8698 (lambda* (#:key outputs #:allow-other-keys)
8699 (let* ((out (assoc-ref outputs "out"))
8700 (applications (string-append out "/share/applications")))
8701 (substitute* (string-append applications "/org.gnome.Weather.desktop")
2b68ba72
MB
8702 (("Exec=.*") "Exec=gnome-weather\n"))
8703 #t)))
8704 (add-after 'install 'wrap
8705 (lambda* (#:key inputs outputs #:allow-other-keys)
8706 (let ((out (assoc-ref outputs "out"))
8707 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8708 ;; GNOME Weather needs the typelib files of GTK+, Pango etc at runtime.
8709 (wrap-program (string-append out "/bin/gnome-weather")
8710 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
8711 #t))))))
8672e5e9
RG
8712 (synopsis "Weather monitoring for GNOME desktop")
8713 (description "GNOME Weather is a small application that allows you to
8714monitor the current weather conditions for your city, or anywhere in the
8715world.")
8716 (home-page "https://wiki.gnome.org/Apps/Weather")
8717 (license license:gpl2+)))
8718
dc050251
SB
8719(define-public gnome
8720 (package
8721 (name "gnome")
8722 (version (package-version gnome-shell))
8723 (source #f)
8724 (build-system trivial-build-system)
e3cfef22 8725 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 8726 (propagated-inputs
8d8c6bff 8727 ;; TODO: Add or remove packages according to:
a8cda7f5 8728 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 8729 `(
8d8c6bff 8730 ;; GNOME-Core-OS-Services
7922b6f7 8731 ("accountsservice" ,accountsservice)
8d8c6bff
RG
8732 ("network-manager" ,network-manager)
8733 ("packagekit" ,packagekit)
8734 ("upower" ,upower)
8735 ;; GNOME-Core-Shell
8736 ("adwaita-icon-theme" ,adwaita-icon-theme)
8737 ("gdm" ,gdm)
8738 ("glib-networking" ,glib-networking)
8739 ("gnome-backgrounds" ,gnome-backgrounds)
8740 ("gnome-bluetooth" ,gnome-bluetooth)
d36fa50f 8741 ("gnome-color-manager" ,gnome-color-manager)
8d8c6bff
RG
8742 ("gnome-control-center" ,gnome-control-center)
8743 ("gnome-desktop" ,gnome-desktop)
7922b6f7 8744 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
d36fa50f 8745 ("gnome-initial-setup" ,gnome-initial-setup)
8d8c6bff 8746 ("gnome-keyring" ,gnome-keyring)
7922b6f7 8747 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
8748 ("gnome-session" ,gnome-session)
8749 ("gnome-settings-daemon" ,gnome-settings-daemon)
8750 ("gnome-shell-extensions" ,gnome-shell-extensions)
8751 ("gnome-shell" ,gnome-shell)
8752 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 8753 ("gnome-user-docs" ,gnome-user-docs)
d36fa50f 8754 ("gnome-user-share" ,gnome-user-share)
a8cda7f5 8755 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
8756 ("gvfs" ,gvfs)
8757 ("mutter" ,mutter)
8758 ("orca" ,orca)
d36fa50f
RG
8759 ("rygel" ,rygel)
8760 ("sushi" ,sushi)
8d8c6bff
RG
8761 ;; GNOME-Core-Utilities
8762 ("baobab" ,baobab)
8763 ("cheese" ,cheese)
ce784e6c
MB
8764 ;; XXX: EoG requires librsvg-next, which depends on Rust, which currently
8765 ;; only works on x86_64, so exclude it on other architectures.
8766 ,@(if (string-prefix? "x86_64" (%current-system))
8767 `(("eog" ,eog))
8768 '())
8d8c6bff
RG
8769 ("epiphany" ,epiphany)
8770 ("evince" ,evince)
8771 ("file-roller" ,file-roller)
8772 ("gedit" ,gedit)
897897bd 8773 ("gnome-boxes" ,gnome-boxes)
8d8c6bff
RG
8774 ("gnome-calculator" ,gnome-calculator)
8775 ("gnome-calendar" ,gnome-calendar)
8776 ("gnome-characters" ,gnome-characters)
8777 ("gnome-clocks" ,gnome-clocks)
8778 ("gnome-contacts" ,gnome-contacts)
8779 ("gnome-disk-utility" ,gnome-disk-utility)
8780 ("gnome-font-viewer" ,gnome-font-viewer)
8781 ("gnome-maps" ,gnome-maps)
d36fa50f
RG
8782 ; TODO: ("gnome-music" ,gnome-music)
8783 ; TODO: ("gnome-photos" ,gnome-photos)
8d8c6bff
RG
8784 ("gnome-screenshot" ,gnome-screenshot)
8785 ("gnome-system-monitor" ,gnome-system-monitor)
8786 ("gnome-terminal" ,gnome-terminal)
d36fa50f 8787 ("gnome-weather" ,gnome-weather)
8d8c6bff
RG
8788 ("nautilus" ,nautilus)
8789 ("simple-scan" ,simple-scan)
8790 ("totem" ,totem)
7922b6f7
RG
8791 ("yelp" ,yelp)
8792 ;; Others
8793 ("hicolor-icon-theme" ,hicolor-icon-theme)
9f2fef4f
LC
8794 ("gnome-online-accounts" ,gnome-online-accounts)
8795
8796 ;; Packages not part of GNOME proper but that are needed for a good
8797 ;; experience. See <https://bugs.gnu.org/39646>.
8798 ;; XXX: Find out exactly which ones are needed and why.
8799 ("font-cantarell" ,font-cantarell)
8800 ("font-dejavu" ,font-dejavu)
8801 ("at-spi2-core" ,at-spi2-core)
8802 ("dbus" ,dbus)
8803 ("dconf" ,dconf)
8804 ("desktop-file-utils" ,desktop-file-utils)
8805 ("gnome-default-applications" ,gnome-default-applications)
8806 ("gnome-themes-standard" ,gnome-themes-standard)
8807 ("gst-plugins-base" ,gst-plugins-base)
8808 ("gst-plugins-good" ,gst-plugins-good)
8809 ("gucharmap" ,gucharmap)
8810 ("pinentry-gnome3" ,pinentry-gnome3)
8811 ("pulseaudio" ,pulseaudio)
8812 ("shared-mime-info" ,shared-mime-info)
8813 ("system-config-printer" ,system-config-printer)
8814 ("xdg-user-dirs" ,xdg-user-dirs)
8815 ("yelp" ,yelp)
8816 ("zenity" ,zenity)))
fe4e698d 8817 (synopsis "The GNU desktop environment")
dc050251
SB
8818 (home-page "https://www.gnome.org/")
8819 (description
fe4e698d
LC
8820 "GNOME is the graphical desktop for GNU. It includes a wide variety of
8821applications for browsing the web, editing text and images, creating
8822documents and diagrams, playing media, scanning, and much more.")
dc050251 8823 (license license:gpl2+)))
4a526711
DT
8824
8825(define-public byzanz
8826 ;; The last stable release of Byzanz was in 2011, but there have been many
8827 ;; useful commits made to the Byzanz repository since then that it would be
8828 ;; silly to use such an old release.
8829 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
8830 (package
8831 (name "byzanz")
8832 (version (string-append "0.2-1." (string-take commit 7)))
8833 (source (origin
8834 (method git-fetch)
8835 (uri (git-reference
5f13bf09 8836 (url "https://git.gnome.org/browse/byzanz")
4a526711 8837 (commit commit)))
5a6527e4 8838 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
8839 (sha256
8840 (base32
8841 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
8842 (build-system glib-or-gtk-build-system)
8843 (arguments
8844 '(#:phases
8845 (modify-phases %standard-phases
778d6b52 8846 (add-before 'bootstrap 'build-without-Werror
4a526711
DT
8847 (lambda _
8848 ;; The build system cleverly detects that we're not building from
8849 ;; a release tarball and turns on -Werror for GCC.
8850 ;; Unsurprisingly, there is a warning during compilation that
8851 ;; causes the build to fail unnecessarily, so we remove the flag.
8852 (substitute* '("configure.ac")
8853 (("-Werror") ""))
778d6b52 8854 #t)))))
4a526711
DT
8855 (native-inputs
8856 `(("autoconf" ,autoconf)
8857 ("automake" ,automake)
8858 ("gnome-common" ,gnome-common)
8859 ("intltool" ,intltool)
8860 ("libtool" ,libtool)
8861 ("pkg-config" ,pkg-config)
8862 ("which" ,which)))
8863 (inputs
8864 `(("glib" ,glib)
8865 ("gstreamer" ,gstreamer)
8866 ("gst-plugins-base" ,gst-plugins-base)
8867 ("gtk+" ,gtk+)))
8868 (synopsis "Desktop recording program")
8869 (description "Byzanz is a simple desktop recording program with a
8870command-line interface. It can record part or all of an X display for a
8871specified duration and save it as a GIF encoded animated image file.")
8872 (home-page "https://git.gnome.org/browse/byzanz")
8873 (license license:gpl2+))))
3a9a4c51 8874
0ec171ec
MS
8875(define-public gsound
8876 (package
8877 (name "gsound")
8878 (version "1.0.2")
8879 (source (origin
8880 (method url-fetch)
8881 (uri (string-append "mirror://gnome/sources/" name "/"
8882 (version-major+minor version) "/"
8883 name "-" version ".tar.xz"))
8884 (sha256
8885 (base32
8886 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
8887 (build-system glib-or-gtk-build-system)
8888 (native-inputs
8889 `(("pkg-config" ,pkg-config)
8890 ("gobject-introspection" ,gobject-introspection)
8891 ("vala" ,vala)))
8892 (inputs
8893 `(("glib" ,glib)
8894 ("libcanberra" ,libcanberra)))
8895 (home-page "https://wiki.gnome.org/Projects/GSound")
8896 (synopsis "GObject wrapper for libcanberra")
8897 (description
8898 "GSound is a small library for playing system sounds. It's designed to be
8899used via GObject Introspection, and is a thin wrapper around the libcanberra C
8900library.")
8901 (license license:lgpl2.1+)))
8902
3a9a4c51
RS
8903(define-public libzapojit
8904 (package
8905 (name "libzapojit")
8906 (version "0.0.3")
8907 (source (origin
8908 (method url-fetch)
8909 (uri (string-append "mirror://gnome/sources/" name "/"
8910 (version-major+minor version) "/"
8911 name "-" version ".tar.xz"))
8912 (sha256
8913 (base32
8914 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
8915 (build-system gnu-build-system)
8916 (native-inputs
8917 `(("gobject-introspection" ,gobject-introspection)
8918 ("intltool" ,intltool)
8919 ("pkg-config" ,pkg-config)))
8920 (inputs
14c297fd 8921 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
8922 ("json-glib" ,json-glib)
8923 ("rest" ,rest)))
8924 (home-page "https://wiki.gnome.org/Projects/Zapojit")
8925 (synopsis "Library for accessing SkyDrive and Hotmail")
8926 (description
8927 "Libzapojit is a GLib-based library for accessing online service APIs of
8928Microsoft SkyDrive and Hotmail, using their REST protocols.")
8929 (license license:lgpl2.1+)))
9365ee1c 8930
60e2a9ae
MS
8931(define-public gnome-clocks
8932 (package
8933 (name "gnome-clocks")
feee5ff5 8934 (version "3.34.0")
60e2a9ae
MS
8935 (source (origin
8936 (method url-fetch)
8937 (uri (string-append "mirror://gnome/sources/" name "/"
8938 (version-major+minor version) "/"
8939 name "-" version ".tar.xz"))
8940 (sha256
8941 (base32
feee5ff5 8942 "0g7hjk55smhkd09hwa9kag3h5a12l494wj89w9smpdk3ghsmy6b1"))))
60e2a9ae
MS
8943 (build-system meson-build-system)
8944 (arguments
feee5ff5
KK
8945 '(#:glib-or-gtk? #t
8946 #:phases
8947 (modify-phases %standard-phases
8948 (add-after 'unpack 'skip-gtk-update-icon-cache
8949 ;; Don't create 'icon-theme.cache'.
8950 (lambda _
8951 (substitute* "build-aux/post-install.py"
8952 (("gtk-update-icon-cache") "true"))
8953 #t)))))
60e2a9ae
MS
8954 (native-inputs
8955 `(("vala" ,vala)
8956 ("pkg-config" ,pkg-config)
8957 ("glib" ,glib "bin") ; for glib-compile-resources
60e2a9ae
MS
8958 ("desktop-file-utils" ,desktop-file-utils)
8959 ("gettext" ,gettext-minimal)
8960 ("itstool" ,itstool)))
8961 (inputs
8962 `(("glib" ,glib)
8963 ("gtk+" ,gtk+)
8964 ("gsound" ,gsound)
8965 ("geoclue" ,geoclue)
8966 ("geocode-glib" ,geocode-glib)
8967 ("libgweather" ,libgweather)
8968 ("gnome-desktop" ,gnome-desktop)))
8969 (home-page "https://wiki.gnome.org/Apps/Clocks")
8970 (synopsis "GNOME's clock application")
8971 (description
8972 "GNOME Clocks is a simple clocks application designed to fit the GNOME
8973desktop. It supports world clock, stop watch, alarms, and count down timer.")
8974 (license license:gpl3+)))
8975
3c474897
KY
8976(define-public gnome-calendar
8977 (package
8978 (name "gnome-calendar")
27dd1d76 8979 (version "3.34.2")
3c474897
KY
8980 (source (origin
8981 (method url-fetch)
8982 (uri (string-append "mirror://gnome/sources/" name "/"
8983 (version-major+minor version) "/"
8984 name "-" version ".tar.xz"))
8985 (sha256
8986 (base32
27dd1d76 8987 "1bnmd191044zn2kr6f5vg7sm5q59qf7z652awll1f7s6ahijr8rw"))))
a49d3e37
MS
8988 (build-system meson-build-system)
8989 (arguments
8990 '(#:glib-or-gtk? #t
8991 ;; gnome-calendar has to be installed before the tests can be run
8992 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
27dd1d76
KK
8993 #:tests? #f
8994 #:phases
8995 (modify-phases %standard-phases
8996 (add-after 'unpack 'skip-gtk-update-icon-cache
8997 ;; Don't create 'icon-theme.cache'.
8998 (lambda _
8999 (substitute* "build-aux/meson/meson_post_install.py"
9000 (("gtk-update-icon-cache") "true"))
9001 #t)))))
3c474897 9002 (native-inputs
a49d3e37
MS
9003 `(("gettext" ,gettext-minimal)
9004 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
3c474897
KY
9005 ("pkg-config" ,pkg-config)))
9006 (inputs
27cb52a2 9007 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
9008 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9009 ("libdazzle" ,libdazzle)
b63c06f1 9010 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
9011 ("libgweather" ,libgweather)
9012 ("geoclue" ,geoclue)))
27cb52a2
RG
9013 (propagated-inputs
9014 `(("evolution-data-server" ,evolution-data-server)))
3c474897
KY
9015 (home-page "https://wiki.gnome.org/Apps/Calendar")
9016 (synopsis "GNOME's calendar application")
9017 (description
9018 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 9019desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
9020 (license license:gpl3+)))
9021
57b14665
MS
9022(define-public gnome-todo
9023 (package
9024 (name "gnome-todo")
9f3c6c88 9025 (version "3.28.1")
57b14665
MS
9026 (source (origin
9027 (method url-fetch)
9028 (uri (string-append "mirror://gnome/sources/" name "/"
9029 (version-major+minor version) "/"
9030 name "-" version ".tar.xz"))
9031 (sha256
9032 (base32
b17b2945
DM
9033 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))
9034 (patches
9035 (search-patches "gnome-todo-delete-esource-duplicate.patch"))))
57b14665
MS
9036 (build-system meson-build-system)
9037 (arguments
9038 '(#:glib-or-gtk? #t
9039 #:phases (modify-phases %standard-phases
9040 (add-after
9041 'install 'wrap-gnome-todo
9042 (lambda* (#:key inputs outputs #:allow-other-keys)
9043 (let ((out (assoc-ref outputs "out"))
9044 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
9045 (python-path (getenv "PYTHONPATH")))
9046 (wrap-program (string-append out "/bin/gnome-todo")
9047 ;; XXX: gi plugins are broken.
9048 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
9049 ;; For plugins.
9050 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
9051 `("PYTHONPATH" ":" prefix (,python-path))))
9052 #t)))))
9053 (native-inputs
9054 `(("gettext" ,gettext-minimal)
9055 ("gobject-introspection" ,gobject-introspection)
9056 ("glib:bin" ,glib "bin") ; For glib-compile-resources
9057 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
9058 ("pkg-config" ,pkg-config)))
9059 (inputs
9060 `(("rest" ,rest) ; For Todoist plugin
9061 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 9062 ("libedataserverui" ,evolution-data-server)
57b14665
MS
9063 ("libical" ,libical)
9064 ("libpeas" ,libpeas)
9065 ("python-pygobject" ,python-pygobject)
9066 ("evolution-data-server" ,evolution-data-server)
14c297fd 9067 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
9068 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
9069 (home-page "https://wiki.gnome.org/Apps/Todo")
9070 (synopsis "GNOME's ToDo Application")
9071 (description
9072 "GNOME To Do is a simplistic personal task manager designed to perfectly
9073fit the GNOME desktop.")
9074 (license license:gpl3+)))
9075
ab179eaf
SB
9076(define-public gnome-dictionary
9077 (package
9078 (name "gnome-dictionary")
cf81ddef 9079 (version "3.26.1")
ab179eaf
SB
9080 (source (origin
9081 (method url-fetch)
9082 (uri (string-append "mirror://gnome/sources/" name "/"
9083 (version-major+minor version) "/"
9084 name "-" version ".tar.xz"))
9085 (sha256
9086 (base32
cf81ddef
LC
9087 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
9088 (build-system meson-build-system)
2776b5d5
MB
9089 (arguments '(#:glib-or-gtk? #t
9090 #:phases (modify-phases %standard-phases
9091 (add-after 'unpack 'patch-install-script
9092 (lambda _
9093 ;; This script attempts to compile glib schemas
9094 ;; and create an empty MIME database. We do
9095 ;; that elsewhere, so prevent it from running.
9096 (substitute* "build-aux/post-install.sh"
9097 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
9098 #t)))))
ab179eaf
SB
9099 (native-inputs
9100 `(("glib:bin" ,glib "bin")
9101 ("gobject-introspection" ,gobject-introspection)
9102 ("intltool" ,intltool)
9103 ("itstool" ,itstool)
9104 ("pkg-config" ,pkg-config)
9105 ("xmllint" ,libxml2)))
9106 (inputs
9107 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9108 ("gtk+" ,gtk+)))
9109 (home-page "https://wiki.gnome.org/Apps/Dictionary")
9110 (synopsis "Look up words in dictionary sources")
9111 (description
9112 "GNOME Dictionary can look for the definition or translation of a word in
9113existing databases over the internet.")
9114 (license license:gpl3+)))
9115
d13f3a03 9116(define-public gnome-tweaks
9365ee1c 9117 (package
d13f3a03 9118 (name "gnome-tweaks")
4add1bae 9119 (version "3.34.0")
9365ee1c
JN
9120 (source (origin
9121 (method url-fetch)
d13f3a03 9122 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 9123 (version-major+minor version) "/"
d13f3a03
RW
9124 "gnome-tweaks-" version ".tar.xz"))
9125 (patches
9126 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
9127 (sha256
9128 (base32
4add1bae 9129 "0l2j42ba7v866iknygamnkiq7igh0fjvq92r93cslvvfnkx2ccq0"))))
d13f3a03 9130 (build-system meson-build-system)
9365ee1c 9131 (arguments
d13f3a03
RW
9132 `(#:glib-or-gtk? #t
9133 #:configure-flags '("-Dlocalstatedir=/tmp"
9134 "-Dsysconfdir=/tmp")
9365ee1c 9135 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
9136 ,@%meson-build-system-modules)
9137 #:phases
9138 (modify-phases %standard-phases
4add1bae
KK
9139 (add-after 'unpack 'skip-gtk-update-icon-cache
9140 ;; Don't create 'icon-theme.cache'.
9141 (lambda _
9142 (substitute* "meson-postinstall.py"
9143 (("gtk-update-icon-cache") "true"))
9144 #t))
d13f3a03
RW
9145 (add-after 'install 'wrap
9146 (@@ (guix build python-build-system) wrap))
9147 (add-after 'wrap 'wrap-gi-typelib
9148 (lambda* (#:key inputs outputs #:allow-other-keys)
9149 (let ((out (assoc-ref outputs "out"))
9150 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
9151 (wrap-program (string-append out "/bin/gnome-tweaks")
9152 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
9153 #t)))))
9365ee1c 9154 (native-inputs
4add1bae 9155 `(("intltool" ,intltool)
9365ee1c
JN
9156 ("pkg-config" ,pkg-config)))
9157 (inputs
c7fc414e
RH
9158 `(("gnome-desktop" ,gnome-desktop)
9159 ("gtk+" ,gtk+)
9365ee1c
JN
9160 ("gobject-introspection" ,gobject-introspection)
9161 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4add1bae 9162 ("libhandy" ,libhandy)
c7fc414e
RH
9163 ("libnotify" ,libnotify)
9164 ("libsoup" ,libsoup)
9165 ("nautilus" ,nautilus)
9166 ("python" ,python)
9167 ("python-pygobject" ,python-pygobject)))
9365ee1c 9168 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 9169 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 9170 (description
d13f3a03 9171 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
9172GNOME 3. This includes things like the fonts used in user interface elements,
9173alternative user interface themes, changes in window management behavior,
9174GNOME Shell appearance and extension, etc.")
9175 (license license:gpl3+)))
813f814a 9176
32ac717c
DT
9177(define-public gnome-shell-extensions
9178 (package
9179 (name "gnome-shell-extensions")
c7305466 9180 (version "3.34.2")
32ac717c
DT
9181 (source (origin
9182 (method url-fetch)
9183 (uri (string-append "mirror://gnome/sources/" name "/"
9184 (version-major+minor version) "/"
9185 name "-" version ".tar.xz"))
9186 (sha256
9187 (base32
c7305466 9188 "1f5l35l3kdkzrv49xmg1sh11vwmgjbg7hx3gb91i39bfl1snxqd1"))))
100f625b 9189 (build-system meson-build-system)
32ac717c 9190 (arguments
100f625b 9191 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 9192 (native-inputs
c9ea8873
LP
9193 `(("glib:bin" ,glib "bin")
9194 ("intltool" ,intltool)
32ac717c
DT
9195 ("pkg-config" ,pkg-config)))
9196 (propagated-inputs
c9ea8873 9197 `(("glib" ,glib)))
32ac717c
DT
9198 (synopsis "Extensions for GNOME Shell")
9199 (description "GNOME Shell extensions modify and extend GNOME Shell
9200functionality and behavior.")
9201 (home-page "https://extensions.gnome.org/")
9202 (license license:gpl3+)))
9203
813f814a
DT
9204(define-public arc-theme
9205 (package
9206 (name "arc-theme")
37781323 9207 (version "20190917")
813f814a 9208 (source (origin
a18f8eaf
BH
9209 (method git-fetch)
9210 (uri (git-reference
b0e7b699 9211 (url "https://github.com/NicoHood/arc-theme")
a18f8eaf
BH
9212 (commit version)))
9213 (file-name (git-file-name name version))
813f814a
DT
9214 (sha256
9215 (base32
37781323 9216 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 9217 (build-system gnu-build-system)
d88884fa
EF
9218 (arguments
9219 '(#:phases
9220 (modify-phases %standard-phases
9221 ;; autogen.sh calls configure at the end of the script.
9222 (replace 'bootstrap
4690e3a4
MC
9223 (lambda _ (invoke "autoreconf" "-vfi")))
9224 (add-before 'build 'set-home ;placate Inkscape
9225 (lambda _
9226 (setenv "HOME" (getcwd))
9227 #t)))))
813f814a
DT
9228 (native-inputs
9229 `(("autoconf" ,autoconf)
9230 ("automake" ,automake)
a18f8eaf
BH
9231 ("glib" ,glib "bin") ; for glib-compile-resources
9232 ("gnome-shell" ,gnome-shell)
9233 ("gtk+" ,gtk+)
9234 ("inkscape" ,inkscape)
9235 ("optipng" ,optipng)
9236 ("pkg-config" ,pkg-config)
bed24ecf 9237 ("sassc" ,sassc/libsass-3.5)))
813f814a
DT
9238 (synopsis "A flat GTK+ theme with transparent elements")
9239 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
92402, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
9241like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
9242 (home-page "https://github.com/horst3180/arc-theme")
9243 ;; No "or later" language found.
a18f8eaf 9244 (license license:gpl3+)))
9987c57c 9245
d935e6a1 9246(define-public faba-icon-theme
9987c57c 9247 (package
d935e6a1 9248 (name "faba-icon-theme")
2eee7ee3 9249 (version "4.3")
d935e6a1
BT
9250 (source
9251 (origin
757e4027
TGR
9252 (method git-fetch)
9253 (uri (git-reference
b0e7b699 9254 (url "https://github.com/snwh/faba-icon-theme")
757e4027
TGR
9255 (commit (string-append "v" version))))
9256 (file-name (git-file-name name version))
d935e6a1 9257 (sha256
757e4027 9258 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 9259 (build-system meson-build-system)
9987c57c 9260 (arguments
82da291a 9261 `(#:phases
9987c57c 9262 (modify-phases %standard-phases
82da291a 9263 (add-before 'configure 'disable-post-install
9987c57c 9264 (lambda _
82da291a
JL
9265 (substitute* "meson.build"
9266 (("meson.add_install_script.*") "")))))))
9987c57c
DT
9267 (native-inputs
9268 `(("autoconf" ,autoconf)
9269 ("automake" ,automake)))
d935e6a1
BT
9270 (synopsis "Faba icon theme")
9271 (description
9272 "Faba is a minimal icon set used as a basis for other themes such as
9273Moka")
9274 (home-page "https://snwh.org/moka")
9275 (license (list license:lgpl3+
9276 license:cc-by-sa4.0))))
9277
9987c57c
DT
9278(define-public moka-icon-theme
9279 (package
8b0e4177 9280 (inherit faba-icon-theme)
9987c57c 9281 (name "moka-icon-theme")
105a3625 9282 (version "5.4.0")
8c3f2170
TGR
9283 (source
9284 (origin
9285 (method git-fetch)
9286 (uri (git-reference
b0e7b699 9287 (url "https://github.com/snwh/moka-icon-theme")
8c3f2170
TGR
9288 (commit (string-append "v" version))))
9289 (file-name (git-file-name name version))
9290 (sha256
9291 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
9292 (propagated-inputs
9293 ;; Moka is based on Faba by using it as a fallback icon set instead of
9294 ;; bundling it, so we need to add it as a propagated input.
9295 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
9296 (synopsis "Moka icon theme")
9297 (description "Moka is a stylized desktop icon set, designed to be clear,
9298simple and consistent.")
fedde43b
BT
9299 (license (list license:gpl3+
9300 license:cc-by-sa4.0))))
6fd8f8d6
DT
9301
9302(define-public arc-icon-theme
9303 (package
9304 (name "arc-icon-theme")
c4180240 9305 (version "20161122")
bbf66cbf
TGR
9306 (source
9307 (origin
9308 (method git-fetch)
9309 (uri (git-reference
b0e7b699 9310 (url "https://github.com/horst3180/arc-icon-theme")
bbf66cbf
TGR
9311 (commit version)))
9312 (file-name (git-file-name name version))
9313 (sha256
9314 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 9315 (build-system gnu-build-system)
9e1ede95
JL
9316 (arguments
9317 `(#:phases
9318 (modify-phases %standard-phases
9319 (add-after 'unpack 'disable-configure-during-bootstrap
9320 (lambda _
9321 (substitute* "autogen.sh"
9322 (("^\"\\$srcdir/configure\".*") ""))
9323 #t)))))
6fd8f8d6
DT
9324 (native-inputs
9325 `(("autoconf" ,autoconf)
9326 ("automake" ,automake)))
9327 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
9328 (propagated-inputs
9329 `(("moka-icon-theme" ,moka-icon-theme)))
9330 (synopsis "Arc icon theme")
9331 (description "The Arc icon theme provides a set of icons matching the
9332style of the Arc GTK theme. Icons missing from the Arc theme are provided by
9333the Moka icon theme.")
9334 (home-page "https://github.com/horst3180/arc-icon-theme")
9335 (license license:gpl3+)))
6064a4e8
LF
9336
9337(define-public folks
9338 (package
9339 (name "folks")
fd11f6f3 9340 (version "0.13.1")
6064a4e8
LF
9341 (source (origin
9342 (method url-fetch)
9343 (uri (string-append
e5f4796e 9344 "mirror://gnome/sources/folks/"
6064a4e8 9345 (version-major+minor version) "/"
e5f4796e 9346 "folks-" version ".tar.xz"))
6064a4e8
LF
9347 (sha256
9348 (base32
fd11f6f3
KK
9349 "0pda8sx4ap3lyri5fdrnakl29la1zkhwlc9bmnp13qigp1iwdw9x"))))
9350 (build-system meson-build-system)
9351 (arguments
9352 '(#:phases
9353 (modify-phases %standard-phases
9354 (add-after 'unpack 'skip-gtk-update-icon-cache
9355 ;; Don't create 'icon-theme.cache'.
9356 (lambda _
9357 (substitute* "meson_post_install.py"
9358 (("gtk-update-icon-cache") "true"))
9359 #t)))))
6064a4e8
LF
9360 (inputs
9361 `(("bdb" ,bdb)
9362 ("dbus-glib" ,dbus-glib)
9363 ("evolution-data-server" ,evolution-data-server)
9364 ("glib" ,glib)
9365 ("libgee" ,libgee)
fd11f6f3 9366 ("readline" ,readline)
6064a4e8
LF
9367 ("telepathy-glib" ,telepathy-glib)))
9368 (native-inputs
fd11f6f3
KK
9369 `(("glib:bin" ,glib "bin")
9370 ("gobject-introspection" ,gobject-introspection)
6064a4e8
LF
9371 ("intltool" ,intltool)
9372 ("pkg-config" ,pkg-config)
9373 ("vala" ,vala)))
9374 (synopsis "Library to aggregate data about people")
9375 (description "Libfolks is a library that aggregates information about people
9376from multiple sources (e.g., Telepathy connection managers for IM contacts,
9377Evolution Data Server for local contacts, libsocialweb for web service contacts,
9378etc.) to create metacontacts. It's written in Vala, which generates C code when
9379compiled.")
9380 (home-page "https://wiki.gnome.org/Projects/Folks")
9381 (license license:lgpl2.1+)))
01ea778f
LF
9382
9383(define-public gfbgraph
9384 (package
9385 (name "gfbgraph")
556e33c8 9386 (version "0.2.4")
01ea778f
LF
9387 (source (origin
9388 (method url-fetch)
9389 (uri (string-append
237d4cf7 9390 "mirror://gnome/sources/gfbgraph/"
01ea778f 9391 (version-major+minor version) "/"
237d4cf7 9392 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
9393 (sha256
9394 (base32
556e33c8 9395 "0yck7dwvjk16a52nafjpi0a39rxwmg0w833brj45acz76lgkjrb0"))))
01ea778f
LF
9396 (build-system glib-or-gtk-build-system)
9397 (arguments
492ad09f
TGR
9398 `(#:tests? #f ; tests appear to require the network
9399 #:configure-flags '("--disable-static"
9400 "--enable-gtk-doc"
01ea778f
LF
9401 "--enable-introspection")))
9402 (native-inputs
492ad09f
TGR
9403 `(("gobject-introspection" ,gobject-introspection)
9404 ("gtk-doc" ,gtk-doc)
556e33c8
TGR
9405 ("pkg-config" ,pkg-config)
9406
9407 ;; The 0.2.4 ‘release’ tarball isn't bootstrapped.
9408 ("autoconf" ,autoconf)
9409 ("automake" ,automake)
9410 ("libtool" ,libtool)
9411 ("which" ,which)))
01ea778f
LF
9412 (inputs
9413 `(("json-glib" ,json-glib)
14c297fd 9414 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
9415 ("rest" ,rest)))
9416 (synopsis "GLib/GObject wrapper for the Facebook API")
9417 (description "This library allows you to use the Facebook API from
9418GLib/GObject code.")
9419 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
9420 (license license:lgpl2.1+)))
3920868c 9421
9422(define-public libgnomekbd
9423 (package
9424 (name "libgnomekbd")
70f2b0f9 9425 (version "3.26.1")
3920868c 9426 (source (origin
9427 (method url-fetch)
d47fa82d 9428 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 9429 (version-major+minor version) "/"
d47fa82d 9430 "libgnomekbd-" version ".tar.xz"))
3920868c 9431 (sha256
9432 (base32
70f2b0f9 9433 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 9434 (build-system gnu-build-system)
9435 (native-inputs
9436 `(("pkg-config" ,pkg-config)
9437 ("glib" ,glib "bin")
9438 ("intltool" ,intltool)))
9439 (propagated-inputs
9440 ;; Referred to in .h files and .pc.
9441 `(("glib" ,glib)
9442 ("gtk+" ,gtk+)
9443 ("libxklavier" ,libxklavier)))
9444 (home-page "https://www.gnome.org")
9445 (synopsis "GNOME keyboard configuration library")
9446 (description
9447 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
9448environment, which can notably display keyboard layouts.")
9449 (license license:lgpl2.0+)))
85327d0d 9450
9451;;; This package is no longer maintained:
9452;;; https://wiki.gnome.org/Attic/LibUnique
9453;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
9454;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
9455(define-public libunique
9456 (package
9457 (name "libunique")
9458 (version "3.0.2")
9459 (source (origin
9460 (method url-fetch)
9461 (uri (string-append "mirror://gnome/sources/" name "/"
9462 (version-major+minor version) "/"
9463 name "-" version ".tar.xz"))
9464 (sha256
9465 (base32
9466 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
9467 (build-system glib-or-gtk-build-system)
9468 (arguments
9469 `(#:configure-flags '("--disable-static"
9470 "--disable-dbus" ; use gdbus
9471 "--enable-introspection")))
9472 (native-inputs
9473 `(("pkg-config" ,pkg-config)
9474 ("gobject-introspection" ,gobject-introspection)
9475 ("glib:bin" ,glib "bin")
9476 ("gtk-doc" ,gtk-doc)))
9477 (propagated-inputs
9478 ;; Referred to in .h files and .pc.
9479 `(("gtk+" ,gtk+)))
9480 (home-page "https://wiki.gnome.org/Attic/LibUnique")
9481 (synopsis "Library for writing single instance applications")
9482 (description
9483 "Libunique is a library for writing single instance applications. If you
9484launch a single instance application twice, the second instance will either just
9485quit or will send a message to the running instance. Libunique makes it easy to
9486write this kind of application, by providing a base class, taking care of all
9487the IPC machinery needed to send messages to a running instance, and also
9488handling the startup notification side.")
9489 (license license:lgpl2.1+)))
54021cd8
RS
9490
9491(define-public gnome-calculator
9492 (package
9493 (name "gnome-calculator")
4cb09502 9494 (version "3.34.1")
54021cd8
RS
9495 (source
9496 (origin
9497 (method url-fetch)
9498 (uri (string-append "mirror://gnome/sources/" name "/"
9499 (version-major+minor version) "/"
9500 name "-" version ".tar.xz"))
9501 (sha256
9502 (base32
4cb09502 9503 "0lbh87255zzggqzai6543qg920y52bl4vs5m5h5087ghzg14hlsd"))))
2d475910
RW
9504 (build-system meson-build-system)
9505 (arguments '(#:glib-or-gtk? #t))
54021cd8 9506 (native-inputs
4cb09502
MB
9507 `(("gettext" ,gettext-minimal)
9508 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 9509 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8 9510 ("itstool" ,itstool)
2d475910 9511 ("vala" ,vala)
54021cd8
RS
9512 ("pkg-config" ,pkg-config)))
9513 (inputs
112e9083 9514 `(("glib" ,glib)
07ace641 9515 ("gtksourceview" ,gtksourceview)
4cb09502 9516 ("libgee" ,libgee)
54021cd8 9517 ("libsoup" ,libsoup)
112e9083 9518 ("libxml2" ,libxml2)
2c2da7ec 9519 ("mpc" ,mpc)
54021cd8
RS
9520 ("mpfr" ,mpfr)))
9521 (home-page "https://wiki.gnome.org/Apps/Calculator")
9522 (synopsis "Desktop calculator")
9523 (description
9524 "Calculator is an application that solves mathematical equations and
9525is suitable as a default application in a Desktop environment.")
9526 (license license:gpl3)))
0bd69759
RS
9527
9528(define-public xpad
9529 (package
9530 (name "xpad")
c85626bb 9531 (version "5.1.0")
0bd69759
RS
9532 (source
9533 (origin
9534 (method url-fetch)
08fda9c6
R
9535 (uri (string-append "https://launchpad.net/xpad/trunk/"
9536 version "/+download/"
0bd69759
RS
9537 name "-" version ".tar.bz2"))
9538 (sha256
9539 (base32
c85626bb 9540 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
9541 (build-system gnu-build-system)
9542 (native-inputs
08fda9c6
R
9543 `(("autoconf" ,autoconf)
9544 ("automake" ,automake)
9545 ("gtk+:bin" ,gtk+ "bin")
9546 ("intltool" ,intltool)
0bd69759
RS
9547 ("pkg-config" ,pkg-config)))
9548 (inputs
c72647fb 9549 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
9550 ("libsm" ,libsm)))
9551 (home-page "https://wiki.gnome.org/Apps/Xpad")
9552 (synopsis "Virtual sticky note")
9553 (description
9554 "Xpad is a sticky note that strives to be simple, fault tolerant,
9555and customizable. Xpad consists of independent pad windows, each is
9556basically a text box in which notes can be written.")
9557 (license license:gpl3+)))
3ad7dce1
RS
9558
9559(define-public gucharmap
c60063ea
RW
9560 (let ((unicode-files
9561 '(("Blocks.txt"
1f8b5515 9562 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 9563 ("DerivedAge.txt"
1f8b5515 9564 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 9565 ("NamesList.txt"
1f8b5515 9566 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 9567 ("Scripts.txt"
1f8b5515 9568 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 9569 ("UnicodeData.txt"
1f8b5515 9570 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 9571 ("Unihan.zip"
1f8b5515 9572 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
9573 (package
9574 (name "gucharmap")
1f8b5515 9575 (version "12.0.1")
c60063ea
RW
9576 (source
9577 (origin
9578 (method url-fetch)
9579 (uri (string-append "mirror://gnome/sources/" name "/"
9580 (version-major+minor version) "/"
9581 name "-" version ".tar.xz"))
9582 (sha256
9583 (base32
1f8b5515 9584 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
9585 (build-system glib-or-gtk-build-system)
9586 (arguments
9587 `(#:modules ((ice-9 match)
9588 (guix build glib-or-gtk-build-system)
9589 (guix build utils))
9590 #:configure-flags
9591 (list "--with-unicode-data=../unicode-data")
9592 #:phases
9593 (modify-phases %standard-phases
9594 (add-after 'unpack 'prepare-unicode-data
9595 (lambda* (#:key inputs #:allow-other-keys)
9596 (mkdir-p "../unicode-data")
9597 (with-directory-excursion "../unicode-data"
9598 (for-each (match-lambda
9599 ((file _)
9600 (install-file (assoc-ref inputs file) ".")))
9601 ',unicode-files))
9602 #t)))))
9603 (native-inputs
9604 `(("desktop-file-utils" ,desktop-file-utils)
9605 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
9606 ("gobject-introspection" ,gobject-introspection)
9607 ("intltool" ,intltool)
9608 ("itstool" ,itstool)
9609 ("pkg-config" ,pkg-config)
9610 ,@(map (match-lambda
9611 ((file hash)
9612 `(,file
9613 ,(origin
9614 (method url-fetch)
9615 (uri (string-append
1f8b5515 9616 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
9617 file))
9618 (sha256 (base32 hash))))))
9619 unicode-files)
9620 ("unzip" ,unzip)))
9621 (inputs
9622 `(("gtk+" ,gtk+)
9623 ("xmllint" ,libxml2)))
9624 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
9625 (synopsis "Unicode character picker and font browser")
9626 (description
9627 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
9628characters and categories for the installed fonts, and to examine their
9629detailed properties. It is an easy way to find the character you might
9630only know by its Unicode name or code point.")
c60063ea 9631 (license license:gpl3+))))
04ce840a
RS
9632
9633(define-public bluefish
9634 (package
9635 (name "bluefish")
290fe81d 9636 (version "2.2.11")
04ce840a
RS
9637 (source
9638 (origin
9639 (method url-fetch)
9640 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
99aa7a2d 9641 "bluefish-" version ".tar.gz"))
04ce840a 9642 (sha256
290fe81d 9643 (base32 "0a7kf78q4cj2ap4igjks9kbmmr74brsrl4y2f9wbxpl0b0v2ck2x"))))
04ce840a
RS
9644 (build-system gnu-build-system)
9645 (native-inputs
9646 `(("desktop-file-utils" ,desktop-file-utils)
9647 ("intltool" ,intltool)
9648 ("pkg-config" ,pkg-config)))
9649 (inputs
9650 `(("enchant" ,enchant)
9651 ("gtk+" ,gtk+)
290fe81d 9652 ("python" ,python-wrapper)
04ce840a
RS
9653 ("xmllint" ,libxml2)
9654 ("gucharmap" ,gucharmap)))
9655 (home-page "http://bluefish.openoffice.nl")
9656 (synopsis "Web development studio")
9657 (description
9658 "Bluefish is an editor targeted towards programmers and web developers,
9659with many options to write web sites, scripts and other code.
9660Bluefish supports many programming and markup languages.")
9661 (license license:gpl3+)))
1f6a73ee
RS
9662
9663(define-public gnome-system-monitor
9664 (package
9665 (name "gnome-system-monitor")
083cffaf 9666 (version "3.32.1")
1f6a73ee
RS
9667 (source
9668 (origin
9669 (method url-fetch)
9670 (uri (string-append "mirror://gnome/sources/" name "/"
9671 (version-major+minor version) "/"
9672 name "-" version ".tar.xz"))
9673 (sha256
9674 (base32
083cffaf 9675 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
9676 (build-system meson-build-system)
9677 (arguments
9678 '(#:glib-or-gtk? #t
9679 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
9680 (native-inputs
9681 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 9682 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
9683 ("intltool" ,intltool)
9684 ("itstool" ,itstool)
9685 ("libgtop" ,libgtop)
4985d9aa 9686 ("polkit" ,polkit)
1f6a73ee
RS
9687 ("pkg-config" ,pkg-config)))
9688 (inputs
9689 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
9690 ("gtk+" ,gtk+)
9691 ("gtkmm" ,gtkmm)
9692 ("librsvg" ,librsvg)
4985d9aa
RW
9693 ("libxml2" ,libxml2)
9694 ("libwnck" ,libwnck)))
1f6a73ee
RS
9695 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
9696 (synopsis "Process viewer and system resource monitor for GNOME")
9697 (description
9698 "GNOME System Monitor is a GNOME process viewer and system monitor with
9699an attractive, easy-to-use interface. It has features, such as a tree view
9700for process dependencies, icons for processes, the ability to hide processes,
9701graphical time histories of CPU/memory/swap usage and the ability to
9702kill/reinice processes.")
9703 (license license:gpl2+)))
3e00ac47
SB
9704
9705(define-public python-pyatspi
9706 (package
9707 (name "python-pyatspi")
4f937a32 9708 (version "2.34.0")
3e00ac47
SB
9709 (source (origin
9710 (method url-fetch)
9711 (uri (string-append
9712 "mirror://gnome/sources/pyatspi/"
9713 (version-major+minor version)
9714 "/pyatspi-" version ".tar.xz"))
9715 (sha256
9716 (base32
4f937a32 9717 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 9718 (build-system gnu-build-system)
b95af3f6
JL
9719 (arguments
9720 `(#:phases
9721 (modify-phases %standard-phases
9722 (add-before 'build 'fix-atk-load
9723 (lambda _
9724 (substitute* "pyatspi/__init__.py"
9725 (("from gi.repository import Atspi")
9726 "gi.require_version('Gtk', '3.0')
9727from gi.repository import Gtk
9728from gi.repository import Atspi"))
9729 #t)))))
3e00ac47
SB
9730 (native-inputs
9731 `(("pkg-config" ,pkg-config)))
9732 (inputs
06fe35cf
CB
9733 `(("python" ,python)))
9734 (propagated-inputs
9735 `(("python-pygobject" ,python-pygobject)))
3e00ac47
SB
9736 (synopsis "Python client bindings for D-Bus AT-SPI")
9737 (home-page "https://wiki.linuxfoundation.org/accessibility\
9738/atk/at-spi/at-spi_on_d-bus")
9739 (description
9740 "This package includes a python client library for the AT-SPI D-Bus
9741accessibility infrastructure.")
9742 (license license:lgpl2.0)
9743 (properties '((upstream-name . "pyatspi")))))
53201c0d 9744
5d31933e
CB
9745(define-public python2-pyatspi
9746 (package
9747 (inherit python-pyatspi)
9748 (name "python2-pyatspi")
9749 (inputs
06fe35cf
CB
9750 `(("python" ,python-2)))
9751 (propagated-inputs
9752 `(("python-pygobject" ,python2-pygobject)))))
5d31933e 9753
53201c0d
SB
9754(define-public orca
9755 (package
9756 (name "orca")
30e76da1 9757 (version "3.34.1")
53201c0d
SB
9758 (source (origin
9759 (method url-fetch)
9760 (uri (string-append
9761 "mirror://gnome/sources/" name "/"
9762 (version-major+minor version) "/"
9763 name "-" version ".tar.xz"))
9764 (sha256
9765 (base32
30e76da1 9766 "1q38n7hyshkiszmn361skxjynxr31lcms7a1iny6d0zlpmh1vnk4"))))
53201c0d
SB
9767 (build-system glib-or-gtk-build-system)
9768 (arguments
9769 '(#:phases
9770 (modify-phases %standard-phases
9771 (add-before 'configure 'qualify-xkbcomp
9772 (lambda* (#:key inputs #:allow-other-keys)
9773 (let ((xkbcomp (string-append
9774 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
9775 (substitute* "src/orca/orca.py"
9776 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
9777 #t))
9778 (add-after 'install 'wrap-orca
9779 (lambda* (#:key outputs #:allow-other-keys)
9780 (let* ((out (assoc-ref outputs "out"))
9781 (prog (string-append out "/bin/orca")))
9782 (wrap-program prog
9783 `("GI_TYPELIB_PATH" ":" prefix
9784 (,(getenv "GI_TYPELIB_PATH")))
9785 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
9786 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
9787 `("PYTHONPATH" ":" prefix
9788 (,(getenv "PYTHONPATH")))))
9789 #t)))))
9790 (native-inputs
9791 `(("intltool" ,intltool)
9792 ("itstool" ,itstool)
9793 ("pkg-config" ,pkg-config)
9794 ("xmllint" ,libxml2)))
9795 (inputs
9796 `(("at-spi2-atk" ,at-spi2-atk)
9797 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9798 ("gstreamer" ,gstreamer)
9799 ("gst-plugins-base" ,gst-plugins-base)
9800 ("gst-plugins-good" ,gst-plugins-good)
9801 ("gtk+" ,gtk+)
9802 ("python" ,python)
9803 ("python-pygobject" ,python-pygobject)
9804 ("python-pyatspi" ,python-pyatspi)
9805 ("python-speechd" ,speech-dispatcher)
9806 ("xkbcomp" ,xkbcomp)))
9807 (synopsis
9808 "Screen reader for individuals who are blind or visually impaired")
9809 (home-page "https://wiki.gnome.org/Projects/Orca")
9810 (description
9811 "Orca is a screen reader that provides access to the graphical desktop
9812via speech and refreshable braille. Orca works with applications and toolkits
9813that support the Assistive Technology Service Provider Interface (AT-SPI).")
9814 (license license:lgpl2.1+)))
411ba511
LC
9815
9816(define-public gspell
9817 (package
9818 (name "gspell")
7a6bbe9b 9819 (version "1.8.2")
411ba511
LC
9820 (source (origin
9821 (method url-fetch)
9822 (uri (string-append "mirror://gnome/sources/" name "/"
9823 (version-major+minor version) "/"
9824 name "-" version ".tar.xz"))
9825 (sha256
9826 (base32
7a6bbe9b 9827 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
9828 (patches (search-patches "gspell-dash-test.patch"))))
9829 (build-system glib-or-gtk-build-system)
9830 (arguments
d0f50164 9831 '(#:configure-flags (list "--enable-vala")
9832 #:phases
411ba511
LC
9833 (modify-phases %standard-phases
9834 (add-before 'check 'pre-check
9835 (lambda* (#:key inputs #:allow-other-keys)
9836 ;; Tests require a running X server.
9837 (system "Xvfb :1 &")
9838 (setenv "DISPLAY" ":1")
9839
9840 ;; For the missing /etc/machine-id.
9841 (setenv "DBUS_FATAL_WARNINGS" "0")
9842
9843 ;; Allow Enchant and its Aspell backend to find the en_US
9844 ;; dictionary.
9845 (setenv "ASPELL_DICT_DIR"
9846 (string-append (assoc-ref inputs "aspell-dict-en")
9847 "/lib/aspell"))
9848 #t)))))
9849 (inputs
eccd35be 9850 `(("gtk+" ,gtk+)
a801ae4c
TGR
9851 ("glib" ,glib)
9852 ("iso-codes" ,iso-codes)))
411ba511
LC
9853 (native-inputs
9854 `(("glib" ,glib "bin")
26ba3f07 9855 ("gobject-introspection" ,gobject-introspection)
411ba511 9856 ("pkg-config" ,pkg-config)
d0f50164 9857 ("vala" ,vala) ;for VAPI, needed by Geary
411ba511
LC
9858 ("xmllint" ,libxml2)
9859
9860 ;; For tests.
a801ae4c 9861 ("aspell-dict-en" ,aspell-dict-en)
ff337525 9862 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 9863 (propagated-inputs
9b1bb757 9864 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
9865 (home-page "https://wiki.gnome.org/Projects/gspell")
9866 (synopsis "GNOME's alternative spell checker")
9867 (description
9868 "gspell provides a flexible API to add spell-checking to a GTK+
9869application. It provides a GObject API, spell-checking to text entries and
9870text views, and buttons to choose the language.")
9871 (license license:gpl2+)))
d1d739fa
CM
9872
9873(define-public gnome-planner
9874 (package
9875 (name "gnome-planner")
9876 (version "0.14.6")
9877 (source (origin
9878 (method url-fetch)
9879 (uri (string-append "mirror://gnome/sources/planner/"
9880 (version-major+minor version) "/planner-"
9881 version ".tar.xz"))
9882 (sha256
9883 (base32
9884 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
9885 (build-system glib-or-gtk-build-system)
9886 (arguments
9887 ;; Disable the Python bindings because the Planner program functions
9888 ;; without them, and (as of 2017-06-13) we have not packaged all of
9889 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
9890 `(#:configure-flags
9891 (list "--disable-python"
9892 ,@(if (string=? "aarch64-linux" (%current-system))
9893 '("--build=aarch64-unknown-linux-gnu")
9894 '()))))
d1d739fa
CM
9895 (inputs
9896 `(("libgnomecanvas" ,libgnomecanvas)
9897 ("libgnomeui" ,libgnomeui)
9898 ("libglade" ,libglade)
9899 ("gnome-vfs" ,gnome-vfs)
9900 ("gconf" ,gconf)
9901 ("libxml2" ,libxml2)
9902 ("libxslt" ,libxslt)
9903 ("gtk+" ,gtk+)
9904 ("glib" ,glib)))
9905 (native-inputs
9906 `(("intltool" ,intltool)
9907 ("scrollkeeper" ,scrollkeeper)
9908 ("pkg-config" ,pkg-config)))
9909 (home-page "https://wiki.gnome.org/Apps/Planner")
9910 (synopsis "Project management software for the GNOME desktop")
9911 (description
9912 "GNOME Planner is a project management tool based on the Work Breakdown
9913Structure (WBS). Its goal is to enable you to easily plan projects. Based on
9914the resources, tasks, and constraints that you define, Planner generates
9915various views into a project. For example, Planner can show a Gantt chart of
9916the project. It can show a detailed summary of tasks including their
9917duration, cost, and current progress. It can also show a report of resource
9918utilization that highlights under-utilized and over-utilized resources. These
9919views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 9920 (license license:gpl2+)))
64fce637
RS
9921
9922(define-public lollypop
9923 (package
9924 (name "lollypop")
24b5d8f7 9925 (version "1.2.32")
64fce637
RS
9926 (source
9927 (origin
9928 (method url-fetch)
24b5d8f7 9929 (uri (string-append "https://adishatz.org/lollypop/"
3275d43d 9930 "lollypop-" version ".tar.xz"))
64fce637 9931 (sha256
24b5d8f7 9932 (base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a"))))
aa498fc0 9933 (build-system meson-build-system)
64fce637 9934 (arguments
7a9543d7
TGR
9935 `(#:imported-modules
9936 (,@%meson-build-system-modules
9937 (guix build python-build-system))
9938 #:modules
9939 ((guix build meson-build-system)
9940 ((guix build python-build-system) #:prefix python:)
9941 (guix build utils))
aa498fc0 9942 #:glib-or-gtk? #t
7a9543d7 9943 #:tests? #f ; no test suite
5fc9b6c1
EF
9944 #:phases
9945 (modify-phases %standard-phases
5fc9b6c1
EF
9946 (add-after 'install 'wrap-program
9947 (lambda* (#:key outputs #:allow-other-keys)
9948 (let ((out (assoc-ref outputs "out"))
9949 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
9950 (wrap-program (string-append out "/bin/lollypop")
9951 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
9952 #t))
8ac8b3b3 9953 (add-after 'install 'wrap-python
7a9543d7 9954 (assoc-ref python:%standard-phases 'wrap)))))
64fce637
RS
9955 (native-inputs
9956 `(("intltool" ,intltool)
9957 ("itstool" ,itstool)
aa498fc0
TD
9958 ("glib:bin" ,glib "bin") ; For glib-compile-resources
9959 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
9960 ("pkg-config" ,pkg-config)))
9961 (inputs
9962 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 9963 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 9964 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
9965 ("libnotify" ,libnotify)
9966 ("libsecret" ,libsecret)
9967 ("libsoup" ,libsoup)
9968 ("python" ,python)
9969 ("python-beautifulsoup4" ,python-beautifulsoup4)
9970 ("python-gst" ,python-gst)
d029afdd 9971 ("python-pil" ,python-pillow)
64fce637 9972 ("python-pycairo" ,python-pycairo)
cc9c83c5 9973 ("python-pygobject" ,python-pygobject)
64fce637
RS
9974 ("python-pylast" ,python-pylast)
9975 ("totem-pl-parser" ,totem-pl-parser)
9976 ("webkitgtk" ,webkitgtk)))
9977 (propagated-inputs
9978 `(;; gst-plugins-base is required to start Lollypop,
9979 ;; the others are required to play streaming.
64fce637
RS
9980 ("gst-plugins-good" ,gst-plugins-good)
9981 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 9982 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
9983 (synopsis "GNOME music playing application")
9984 (description
9985 "Lollypop is a music player designed to play well with GNOME desktop.
9986Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
9987from artists and tracks from the web. It also fetches cover artworks
9988automatically and it can stream songs from online music services and charts.")
9989 (license license:gpl3+)))
d831d49d
AW
9990
9991(define-public gnome-video-effects
9992 (package
9993 (name "gnome-video-effects")
9994 (version "0.4.3")
9995 (source (origin
9996 (method url-fetch)
9997 (uri (string-append "mirror://gnome/sources/" name "/"
9998 (version-major+minor version) "/" name "-"
9999 version ".tar.xz"))
10000 (sha256
10001 (base32
10002 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
10003 (build-system glib-or-gtk-build-system)
10004 (arguments
10005 `(#:out-of-source? #f))
10006 (native-inputs
10007 `(("glib:bin" ,glib "bin")
10008 ("intltool" ,intltool)
10009 ("gettext" ,gettext-minimal)
10010 ("pkg-config" ,pkg-config)))
10011 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
10012 (synopsis "Video effects for Cheese and other GNOME applications")
10013 (description
10014 "A collection of GStreamer video filters and effects to be used in
10015photo-booth-like software, such as Cheese.")
10016 (license license:gpl2+)))
3511c780
AW
10017
10018(define-public cheese
10019 (package
10020 (name "cheese")
3a7e066f 10021 (version "3.34.0")
3511c780
AW
10022 (source (origin
10023 (method url-fetch)
10024 (uri (string-append "mirror://gnome/sources/" name "/"
10025 (version-major+minor version) "/" name "-"
10026 version ".tar.xz"))
10027 (sha256
10028 (base32
3a7e066f 10029 "0wvyc9wb0avrprvm529m42y5fkv3lirdphqydc9jw0c8mh05d1ni"))))
3511c780 10030 (arguments
3a7e066f
KK
10031 `(#:glib-or-gtk? #t
10032 ;; Tests require GDK.
10033 #:tests? #f
3511c780
AW
10034 #:phases
10035 (modify-phases %standard-phases
3a7e066f 10036 (add-after 'unpack 'skip-gtk-update-icon-cache
3511c780
AW
10037 (lambda _
10038 ;; Don't create 'icon-theme.cache'
3a7e066f 10039 (substitute* "meson_post_install.py"
3511c780
AW
10040 (("gtk-update-icon-cache") (which "true")))
10041 #t))
10042 (add-after 'install 'wrap-cheese
10043 (lambda* (#:key inputs outputs #:allow-other-keys)
10044 (let ((out (assoc-ref outputs "out"))
10045 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
10046 (wrap-program (string-append out "/bin/cheese")
10047 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
10048 #t)))))
3a7e066f 10049 (build-system meson-build-system)
3511c780 10050 (native-inputs
3a7e066f
KK
10051 `(("docbook-xsl" ,docbook-xsl)
10052 ("glib:bin" ,glib "bin")
10053 ("gtk-doc" ,gtk-doc)
3511c780
AW
10054 ("intltool" ,intltool)
10055 ("itstool" ,itstool)
10056 ("libxml2" ,libxml2)
3a7e066f 10057 ("libxslt" ,libxslt)
3511c780
AW
10058 ("pkg-config" ,pkg-config)
10059 ("vala" ,vala)))
10060 (propagated-inputs
6a19f03e
RW
10061 `(("gnome-video-effects" ,gnome-video-effects)
10062 ("clutter" ,clutter)
3511c780
AW
10063 ("clutter-gst" ,clutter-gst)
10064 ("clutter-gtk" ,clutter-gtk)
6a19f03e 10065 ("libcanberra" ,libcanberra)
3511c780
AW
10066 ("gdk-pixbuf" ,gdk-pixbuf)
10067 ("glib" ,glib)
6a19f03e
RW
10068 ("gstreamer" ,gstreamer)))
10069 (inputs
10070 `(("gnome-desktop" ,gnome-desktop)
3511c780 10071 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
10072 ("gst-plugins-base" ,gst-plugins-base)
10073 ("gst-plugins-bad" ,gst-plugins-bad)
10074 ("gtk+" ,gtk+)
3511c780
AW
10075 ("libx11" ,libx11)
10076 ("libxtst" ,libxtst)))
10077 (home-page "https://wiki.gnome.org/Apps/Cheese")
10078 (synopsis "Webcam photo booth software for GNOME")
10079 (description
10080 "Cheese uses your webcam to take photos and videos. Cheese can also
10081apply fancy special effects and lets you share the fun with others.")
10082 (license license:gpl2+)))
3c5dbd2b 10083
10084(define-public sound-juicer
10085 (package
10086 (name "sound-juicer")
10087 (version "3.24.0")
10088 (source
10089 (origin
10090 (method url-fetch)
10091 (uri (string-append "mirror://gnome/sources/" name "/"
10092 (version-major+minor version) "/"
10093 name "-" version ".tar.xz"))
10094 (sha256
10095 (base32
10096 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
10097 (build-system glib-or-gtk-build-system)
10098 (native-inputs
10099 `(("desktop-file-utils" ,desktop-file-utils)
10100 ("intltool" ,intltool)
10101 ("itstool" ,itstool)
10102 ("pkg-config" ,pkg-config)
10103 ("xmllint" ,libxml2)))
10104 (inputs
10105 `(("gtk+" ,gtk+)
10106 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10107 ("gstreamer" ,gstreamer)
10108 ("gst-plugins-base" ,gst-plugins-base)
10109 ("gst-plugins-good" ,gst-plugins-good)
10110 ("iso-codes" ,iso-codes)
10111 ("libbrasero-media3" ,brasero)
10112 ("libcanberra" ,libcanberra)
10113 ("libdiscid" ,libdiscid)
10114 ("libmusicbrainz" ,libmusicbrainz)
10115 ("neon" ,neon)))
10116 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
10117 (synopsis "Audio music cd ripper")
10118 (description "Sound Juicer extracts audio from compact discs and convert it
10119into audio files that a personal computer or digital audio player can play.
10120It supports ripping to any audio codec supported by a GStreamer plugin, such as
10121mp3, Ogg Vorbis and FLAC")
10122 (license license:gpl2+)))
4e3fdeb7 10123
0d3f1708
CB
10124(define-public soundconverter
10125 (package
10126 (name "soundconverter")
7f4b45a3 10127 (version "3.0.2")
0d3f1708
CB
10128 (source
10129 (origin
10130 (method url-fetch)
10131 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
10132 version "/+download/"
10133 "soundconverter-" version ".tar.xz"))
10134
10135 (sha256
7f4b45a3 10136 (base32 "1jv8m82hi23ilrgdznlc1jhp2jm8bw1yrw0chh3qw2l0sixvkl11"))))
0d3f1708
CB
10137 (build-system glib-or-gtk-build-system)
10138 (arguments
10139 `(#:imported-modules ((guix build python-build-system)
10140 (guix build glib-or-gtk-build-system)
10141 ,@%gnu-build-system-modules)
10142
10143 #:modules ((guix build glib-or-gtk-build-system)
10144 (guix build utils)
10145 ((guix build gnu-build-system) #:prefix gnu:)
10146 ((guix build python-build-system) #:prefix python:))
10147
10148 #:phases
10149 (modify-phases %standard-phases
0d3f1708
CB
10150 (add-after 'install 'wrap-soundconverter-for-python
10151 (assoc-ref python:%standard-phases 'wrap))
10152 (add-after 'install 'wrap-soundconverter
10153 (lambda* (#:key inputs outputs #:allow-other-keys)
10154 (let ((out (assoc-ref outputs "out"))
10155 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
10156 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
10157 (wrap-program (string-append out "/bin/soundconverter")
10158 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
10159 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
10160 #t)))))
10161 (native-inputs
10162 `(("intltool" ,intltool)
10163 ("pkg-config" ,pkg-config)
10164 ("glib:bin" ,glib "bin")))
10165 (inputs
10166 `(("gtk+" ,gtk+)
10167 ("python" ,python)
10168 ("python-pygobject" ,python-pygobject)
10169 ("gstreamer" ,gstreamer)
10170 ("gst-plugins-base" ,gst-plugins-base)))
e42399e8 10171 (home-page "https://soundconverter.org/")
0d3f1708
CB
10172 (synopsis "Convert between audio formats with a graphical interface")
10173 (description
10174 "SoundConverter supports converting between many audio formats including
10175Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
10176configurable file renaming. ")
10177 (license license:gpl3)))
10178
4e3fdeb7 10179(define-public workrave
89f2d736
TGR
10180 (package
10181 (name "workrave")
52fc6508 10182 (version "1.10.42")
89f2d736
TGR
10183 (source
10184 (origin
10185 (method git-fetch)
10186 (uri (git-reference
b0e7b699 10187 (url "https://github.com/rcaelers/workrave")
c2e50474
TGR
10188 (commit (string-append "v" (string-map
10189 (match-lambda (#\. #\_) (chr chr))
10190 version)))))
89f2d736
TGR
10191 (file-name (git-file-name name version))
10192 (sha256
52fc6508 10193 (base32 "03i9kk8r1wgrfkkbwikx8wxaw4r4kn62vismr2zdq5g34fkkjh95"))))
89f2d736 10194 (build-system glib-or-gtk-build-system)
1b9e1648
TGR
10195 (arguments
10196 ;; The only tests are maintainer tests (in po/), which fail.
10197 `(#:tests? #f))
d1c96847
MC
10198 (inputs `(("glib" ,glib)
10199 ("gtk+" ,gtk+)
10200 ("gdk-pixbuf" ,gdk-pixbuf)
10201 ("gtkmm" ,gtkmm)
10202 ("glibmm" ,glibmm)
10203 ("libx11" ,libx11)
10204 ("libxtst" ,libxtst)
10205 ("dconf" ,dconf)
10206 ("libice" ,libice)
10207 ("libsm" ,libsm)
10208 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 10209 (native-inputs `(("boost" ,boost)
89f2d736 10210 ("pkg-config" ,pkg-config)
f2d97d57 10211 ("gettext" ,gettext-minimal)
89f2d736
TGR
10212 ("autoconf" ,autoconf)
10213 ("autoconf-archive" , autoconf-archive)
10214 ("automake" ,automake)
10215 ("libtool" ,libtool)
10216 ("intltool" ,intltool)
89f2d736 10217 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
10218 ("python3" ,python-3)
10219 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
10220 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
10221 (description
10222 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
10223repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
10224micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
10225 (home-page "http://www.workrave.org")
10226 (license license:gpl3+)))
312afa7d
LC
10227
10228(define-public ghex
10229 (package
10230 (name "ghex")
3748992a 10231 (version "3.18.4")
312afa7d
LC
10232 (source (origin
10233 (method url-fetch)
2fbab848 10234 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 10235 (version-major+minor version) "/"
2fbab848 10236 "ghex-" version ".tar.xz"))
312afa7d
LC
10237 (sha256
10238 (base32
3748992a
KK
10239 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
10240 (build-system meson-build-system)
10241 (arguments
10242 '(#:glib-or-gtk? #t
10243 #:phases
10244 (modify-phases %standard-phases
10245 (add-after 'unpack 'skip-gtk-update-icon-cache
10246 ;; Don't create 'icon-theme.cache'.
10247 (lambda _
10248 (substitute* "meson_post_install.py"
10249 (("gtk-update-icon-cache") (which "true")))
10250 #t)))))
312afa7d
LC
10251 (native-inputs
10252 `(("pkg-config" ,pkg-config)
3748992a 10253 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
10254 ("gnome-common" ,gnome-common)
10255 ("which" ,which)
10256 ("intltool" ,intltool)
10257 ("yelp-tools" ,yelp-tools)
2fbab848 10258 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
10259 (inputs
10260 `(("atk" ,atk)
10261 ("gtk" ,gtk+)))
10262 (synopsis "GNOME hexadecimal editor")
10263 (description "The GHex program can view and edit files in two ways:
10264hexadecimal or ASCII. It is useful for editing binary files in general.")
10265 (home-page "https://wiki.gnome.org/Apps/Ghex")
10266 (license license:gpl2)))
4b2ed6c2
RW
10267
10268(define-public libdazzle
10269 (package
10270 (name "libdazzle")
c94db354 10271 (version "3.34.1")
4b2ed6c2
RW
10272 (source (origin
10273 (method url-fetch)
687b4909 10274 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 10275 (version-major+minor version) "/"
687b4909 10276 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
10277 (sha256
10278 (base32
c94db354 10279 "01cmcrd75b7ns7j2b4p6h7pv68vjhkcl9zbvzzx7pf4vknxir61x"))))
4b2ed6c2
RW
10280 (build-system meson-build-system)
10281 (arguments
10282 `(#:phases
10283 (modify-phases %standard-phases
4b2ed6c2
RW
10284 (add-before 'check 'pre-check
10285 (lambda _
10286 ;; Tests require a running X server.
10287 (system "Xvfb :1 &")
10288 (setenv "DISPLAY" ":1")
10289 #t)))))
10290 (native-inputs
687b4909 10291 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 10292 ("pkg-config" ,pkg-config)
687b4909 10293 ;; For tests.
ff337525 10294 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
10295 (inputs
10296 `(("glib" ,glib)
10297 ("gobject-introspection" ,gobject-introspection)
10298 ("gtk+" ,gtk+)
10299 ("vala" ,vala)))
10300 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
10301 (synopsis "Companion library to GObject and Gtk+")
10302 (description "The libdazzle library is a companion library to GObject and
10303Gtk+. It provides various features that the authors wish were in the
10304underlying library but cannot for various reasons. In most cases, they are
10305wildly out of scope for those libraries. In other cases, they are not quite
10306generic enough to work for everyone.")
10307 (license license:gpl3+)))
7d3bb433
RW
10308
10309(define-public evolution
10310 (package
10311 (name "evolution")
0662fe86 10312 (version "3.34.2")
7d3bb433
RW
10313 (source (origin
10314 (method url-fetch)
10315 (uri (string-append "mirror://gnome/sources/evolution/"
10316 (version-major+minor version) "/"
10317 "evolution-" version ".tar.xz"))
10318 (sha256
10319 (base32
0662fe86 10320 "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c"))))
7d3bb433
RW
10321 (build-system cmake-build-system)
10322 (arguments
5229bea1
KK
10323 `(#:imported-modules (,@%cmake-build-system-modules
10324 (guix build glib-or-gtk-build-system))
10325 #:modules ((guix build cmake-build-system)
10326 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
10327 (guix build utils))
10328 #:configure-flags
7d3bb433 10329 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 10330 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 10331 ; in four years and cannot be built.
5229bea1
KK
10332 #:phases
10333 (modify-phases %standard-phases
10334 ;; The build system attempts to install user interface modules to the
10335 ;; output directory of the "evolution-data-server" package. This
10336 ;; change redirects that change.
10337 (add-after 'unpack 'patch-ui-module-dir
10338 (lambda* (#:key outputs #:allow-other-keys)
10339 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
10340 (("\\$\\{edsuimoduledir\\}")
10341 (string-append (assoc-ref outputs "out")
10342 "/lib/evolution-data-server/ui-modules")))
10343 #t))
10344 (add-after 'install 'glib-or-gtk-compile-schemas
10345 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
10346 (add-after 'install 'glib-or-gtk-wrap
10347 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 10348 (native-inputs
ad6e168b 10349 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
10350 ("pkg-config" ,pkg-config)
10351 ("intltool" ,intltool)
10352 ("itstool" ,itstool)))
10353 (inputs
10354 `(("enchant" ,enchant)
10355 ("evolution-data-server" ,evolution-data-server) ; must be the same version
10356 ("gcr" ,gcr)
ad6e168b 10357 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
10358 ("gnome-autoar" ,gnome-autoar)
10359 ("gnome-desktop" ,gnome-desktop)
0662fe86 10360 ("gspell" ,gspell)
7d3bb433
RW
10361 ("highlight" ,highlight)
10362 ("libcanberra" ,libcanberra)
10363 ("libgweather" ,libgweather)
10364 ("libnotify" ,libnotify)
10365 ("libsoup" ,libsoup)
10366 ("nss" ,nss)
10367 ("openldap" ,openldap)
10368 ("webkitgtk" ,webkitgtk)
10369 ("ytnef" ,ytnef)))
10370 (home-page "https://gitlab.gnome.org/GNOME/evolution")
10371 (synopsis "Manage your email, contacts and schedule")
10372 (description "Evolution is a personal information management application
10373that provides integrated mail, calendaring and address book
10374functionality.")
10375 ;; See COPYING for details.
23dbe621 10376 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 10377 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 10378 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
10379
10380(define-public gthumb
10381 (package
10382 (name "gthumb")
8280676b 10383 (version "3.8.2")
169d63f5
AT
10384 (source (origin
10385 (method url-fetch)
10386 (uri (string-append "mirror://gnome/sources/gthumb/"
10387 (version-major+minor version) "/"
10388 "gthumb-" version ".tar.xz"))
10389 (sha256
10390 (base32
8280676b 10391 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
10392 (build-system meson-build-system)
10393 (arguments
10394 `(#:glib-or-gtk? #t
10395 #:configure-flags
10396 ;; Ensure the RUNPATH contains all installed library locations.
10397 (list (string-append "-Dc_link_args=-Wl,-rpath="
10398 (assoc-ref %outputs "out")
10399 "/lib/gthumb/extensions")
10400 (string-append "-Dcpp_link_args=-Wl,-rpath="
10401 (assoc-ref %outputs "out")
10402 "/lib/gthumb/extensions"))))
10403 (native-inputs
10404 `(("pkg-config" ,pkg-config)
10405 ("glib:bin" ,glib "bin") ; for glib-compile-resources
10406 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
10407 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
10408 ("intltool" ,intltool)
10409 ("itstool" ,itstool)))
10410 (inputs
10411 `(("exiv2" ,exiv2)
10412 ("gtk" ,gtk+)
10413 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10414 ("gstreamer" ,gstreamer)
10415 ("clutter" ,clutter)
10416 ("clutter-gst" ,clutter-gst)
10417 ("clutter-gtk" ,clutter-gtk)
4bd428a7 10418 ("libjpeg" ,libjpeg-turbo)
169d63f5
AT
10419 ("libtiff" ,libtiff)
10420 ("libraw" ,libraw)))
10421 (home-page "https://wiki.gnome.org/Apps/Gthumb")
10422 (synopsis "GNOME image viewer and browser")
10423 (description "GThumb is an image viewer, browser, organizer, editor and
10424advanced image management tool")
10425 (license license:gpl2+)))
08be02be
AT
10426
10427(define-public terminator
10428 (package
10429 (name "terminator")
10430 (version "1.91")
10431 (source (origin
10432 (method url-fetch)
10433 (uri (string-append "https://launchpad.net/" name "/"
10434 "gtk3/" version "/" "+download/"
10435 name "-" version ".tar.gz"))
10436 (sha256
10437 (base32
10438 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
10439 (build-system python-build-system)
10440 (native-inputs
10441 `(("intltool" ,intltool)
10442 ("glib:bin" ,glib "bin") ; for glib-compile-resources
10443 ("gettext" ,gettext-minimal)
10444 ("pkg-config" ,pkg-config)))
10445 (inputs
10446 `(("cairo" ,cairo)
10447 ("gobject-introspection" ,gobject-introspection)
96681d4b 10448 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
10449 ("python2-pycairo" ,python2-pycairo)
10450 ("python2-pygobject" ,python2-pygobject)
10451 ("python2-psutil" ,python2-psutil)
10452 ("vte" ,vte)))
10453 (arguments
96681d4b
TGR
10454 `(#:python ,python-2 ; Python 3 isn't supported
10455 #:imported-modules ((guix build glib-or-gtk-build-system)
10456 ,@%python-build-system-modules)
10457 #:modules ((guix build python-build-system)
10458 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
10459 (guix build utils))
08be02be
AT
10460 #:phases
10461 (modify-phases %standard-phases
10462 (add-after
10463 'install 'wrap-program
10464 (lambda* (#:key outputs #:allow-other-keys)
10465 (let ((prog (string-append (assoc-ref outputs "out")
10466 "/bin/terminator")))
10467 (wrap-program prog
10468 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
10469 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
10470 #t)))
10471 (add-after 'wrap-program 'glib-or-gtk-wrap
10472 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
10473 (home-page "https://gnometerminator.blogspot.com/")
10474 (synopsis "Store and run multiple GNOME terminals in one window")
10475 (description
10476 "Terminator allows you to run multiple GNOME terminals in a grid and
10477+tabs, and it supports drag and drop re-ordering of terminals.")
10478 (license license:gpl2)))
213315d4
JF
10479
10480(define-public libhandy
10481 (package
10482 (name "libhandy")
f6501b9f 10483 (version "0.0.12")
213315d4
JF
10484 (source
10485 (origin
10486 (method git-fetch)
10487 (uri (git-reference
10488 (url "https://source.puri.sm/Librem5/libhandy")
10489 (commit (string-append "v" version))))
10490 (file-name (git-file-name name version))
10491 (sha256
f6501b9f 10492 (base32 "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw"))))
213315d4
JF
10493 (build-system meson-build-system)
10494 (arguments
10495 `(#:configure-flags
10496 '("-Dglade_catalog=disabled"
10497 "-Dgtk_doc=true")
10498 #:phases
10499 (modify-phases %standard-phases
213315d4
JF
10500 (add-before 'check 'pre-check
10501 (lambda _
10502 ;; Tests require a running X server.
10503 (system "Xvfb :1 &")
10504 (setenv "DISPLAY" ":1")
10505 #t)))))
10506 (inputs
10507 `(("gtk+" ,gtk+)))
10508 (native-inputs
10509 `(("glib:bin" ,glib "bin")
10510 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
10511 ("vala" ,vala)
10512 ("gtk-doc" ,gtk-doc)
10513 ("pkg-config" ,pkg-config)
10514 ("gettext" ,gettext-minimal)
d41ee146
TGR
10515
10516 ;; Test suite dependencies.
ff337525 10517 ("xorg-server" ,xorg-server-for-tests)
d41ee146 10518 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
10519 (home-page "https://source.puri.sm/Librem5/libhandy")
10520 (synopsis "Library full of GTK+ widgets for mobile phones")
10521 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
10522interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
10523for usage on small and big screens.")
213315d4 10524 (license license:lgpl2.1+)))
a830d14d
GL
10525
10526(define-public libgit2-glib
10527 (package
10528 (name "libgit2-glib")
6448c2e1 10529 (version "0.99.0.1")
a830d14d
GL
10530 (source (origin
10531 (method url-fetch)
10532 (uri (string-append "mirror://gnome/sources/" name "/"
10533 (version-major+minor version) "/"
10534 name "-" version ".tar.xz"))
10535 (sha256
10536 (base32
6448c2e1 10537 "1pmrcnsa7qdda73c3dxf47733mwprmj5ljpw3acxbj6r8k27anp0"))))
a830d14d
GL
10538 (build-system meson-build-system)
10539 (native-inputs
10540 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
10541 ("gobject-introspection" ,gobject-introspection)
a830d14d
GL
10542 ("pkg-config" ,pkg-config)
10543 ("python-pygobject" ,python-pygobject)
10544 ("python-wrapper" ,python-wrapper)
10545 ("vala" ,vala)))
10546 (inputs
10547 `(("glib" ,glib)
8c6aae46
MB
10548 ("libssh2" ,libssh2)))
10549 (propagated-inputs
10550 `(;; In Requires of libgit2-glib.pc.
a830d14d
GL
10551 ("libgit2" ,libgit2)))
10552 (synopsis "GLib wrapper around the libgit2 Git access library")
10553 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
10554access library. It only implements the core plumbing functions, not really the
10555higher level porcelain stuff.")
10556 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
10557 (license license:gpl2+)))
93beace0 10558
08db81c9
LP
10559(define-public gitg
10560 (package
10561 (name "gitg")
10562 (version "3.32.1")
10563 (source (origin
10564 (method url-fetch)
10565 (uri (string-append "mirror://gnome/sources/" name "/"
10566 (version-major+minor version) "/"
10567 name "-" version ".tar.xz"))
10568 (sha256
10569 (base32
10570 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
10571 (build-system meson-build-system)
10572 (arguments
10573 `(#:glib-or-gtk? #t
10574 #:phases
10575 (modify-phases %standard-phases
10576 (add-after 'unpack 'disable-post-install-partially
10577 (lambda _
10578 (substitute* "meson_post_install.py"
10579 (("'python'") ; there are no python sources to compile
10580 (string-append "'" (which "true") "'"))
10581 (("gtk-update-icon-cache") (which "true")))
10582 #t))
10583 (add-after 'unpack 'fix-test-sources
10584 (lambda _
10585 (substitute* "tests/libgitg/test-commit.vala"
10586 (("/bin/bash") (which "bash")))
10587 #t))
10588 (add-after 'glib-or-gtk-wrap 'wrap-typelib
10589 (lambda* (#:key outputs #:allow-other-keys)
10590 (let ((prog (string-append (assoc-ref outputs "out")
10591 "/bin/gitg")))
10592 (wrap-program prog
10593 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
10594 #t))))))
10595 (inputs
10596 `(("glib" ,glib)
10597 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10598 ("gtk+" ,gtk+)
10599 ("gtkspell3" ,gtkspell3)
10600 ("gtksourceview" ,gtksourceview-3)
10601 ("json-glib" ,json-glib)
10602 ("libdazzle" ,libdazzle)
10603 ("libgee" ,libgee)
08db81c9
LP
10604 ("libgit2-glib" ,libgit2-glib)
10605 ("libpeas" ,libpeas)
10606 ("libsecret" ,libsecret)
10607 ("libsoup" ,libsoup)
10608 ("libxml2" ,libxml2)))
10609 (native-inputs
10610 `(("glib:bin" ,glib "bin")
10611 ("gtk+:bin" ,gtk+ "bin")
10612 ("gobject-introspection" ,gobject-introspection)
10613 ("intltool" ,intltool)
10614 ("pkg-config" ,pkg-config)
10615 ("vala" ,vala)))
10616 (synopsis "Graphical user interface for git")
10617 (description
10618 "gitg is a graphical user interface for git. It aims at being a small,
10619fast and convenient tool to visualize the history of git repositories.
10620Besides visualization, gitg also provides several utilities to manage your
10621repository and commit your work.")
10622 (home-page "https://wiki.gnome.org/Apps/Gitg")
10623 (license license:gpl2+)))
10624
1e600ed0
RW
10625(define-public gamin
10626 (package
10627 (name "gamin")
10628 (version "0.1.10")
10629 (source (origin
10630 (method url-fetch)
10631 (uri (string-append "mirror://gnome/sources/" name "/"
10632 (version-major+minor version) "/"
10633 name "-" version ".tar.bz2"))
10634 (sha256
10635 (base32
10636 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
10637 (build-system gnu-build-system)
10638 (arguments
10639 `(#:phases
10640 (modify-phases %standard-phases
10641 (add-after 'unpack 'remove-deprecated-macro
10642 (lambda _
10643 (substitute* '("server/gam_node.c"
10644 "server/gam_subscription.h"
10645 "server/gam_node.h"
10646 "server/gam_subscription.c")
10647 (("G_CONST_RETURN") "const"))
10648 #t)))))
10649 (inputs
10650 `(("glib" ,glib)))
10651 (native-inputs
10652 `(("intltool" ,intltool)
10653 ("pkg-config" ,pkg-config)))
10654 (home-page "https://people.gnome.org/~veillard/gamin/")
10655 (synopsis "File alteration monitor")
10656 (description
10657 "Gamin is a file and directory monitoring system defined to be a subset
10658of the FAM (File Alteration Monitor) system. This is a service provided by a
bddd877f 10659library which detects when a file or a directory has been modified.")
1e600ed0
RW
10660 (license license:gpl2+)))
10661
93beace0
DW
10662(define-public gnome-mahjongg
10663 (package
10664 (name "gnome-mahjongg")
10665 (version "3.35.1")
10666 (source (origin
10667 (method git-fetch)
10668 (uri (git-reference
10669 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
10670 (commit version)))
10671 (file-name (git-file-name name version))
10672 (sha256
10673 (base32
10674 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
10675 (build-system meson-build-system)
10676 (arguments
10677 `(#:glib-or-gtk? #t))
10678 (native-inputs
10679 `(("appstream-glib" ,appstream-glib)
10680 ("gettext" ,gettext-minimal)
10681 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
10682 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
10683 ("itstool" ,itstool)
10684 ("pkg-config" ,pkg-config)
10685 ("vala" ,vala)))
10686 (propagated-inputs
10687 `(("dconf" ,dconf)))
10688 (inputs
10689 `(("glib" ,glib)
10690 ("gtk+" ,gtk+)
10691 ("librsvg" ,librsvg)))
10692 (synopsis "Mahjongg tile-matching game")
10693 (description "GNOME Mahjongg is a game based on the classic Chinese
10694tile-matching game Mahjong. It features multiple board layouts, tile themes,
10695and a high score table.")
10696 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
10697 (license license:gpl2+)))
f825476c 10698
76ea7632
RG
10699(define-public gnome-themes-extra
10700 (package
10701 (name "gnome-themes-extra")
10702 (version "3.28")
10703 (source
10704 (origin
10705 (method url-fetch)
10706 (uri (string-append "mirror://gnome/sources/" name "/"
10707 (version-major+minor version) "/" name "-"
10708 version ".tar.xz"))
10709 (sha256
10710 (base32
10711 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
10712 (build-system gnu-build-system)
885424bf
RG
10713 (arguments
10714 '(#:configure-flags
10715 ;; Don't create 'icon-theme.cache'.
10716 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
10717 (true (string-append coreutils "/bin/true")))
10718 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
10719 (native-inputs
10720 `(("glib:bin" ,glib "bin")
10721 ("intltool" ,intltool)
10722 ("pkg-config" ,pkg-config)))
10723 (inputs
10724 `(("glib" ,glib)
10725 ("gtk+" ,gtk+)
10726 ("gtk+-2" ,gtk+-2)
10727 ("librsvg" ,librsvg)
10728 ("libxml2" ,libxml2)))
10729 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
10730 (synopsis "GNOME Extra Themes")
10731 (description "This package provides themes and related elements that don't
10732really fit in other upstream packages. It offers legacy support for GTK+ 2
10733versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
10734index files needed for Adwaita to be used outside of GNOME.")
10735 (license license:lgpl2.1+)))
10736
f825476c
LP
10737(define-public polari
10738 (package
10739 (name "polari")
10740 (version "3.32.2")
10741 (source (origin
10742 (method url-fetch)
10743 (uri (string-append "mirror://gnome/sources/polari/"
10744 (version-major+minor version)
10745 "/polari-" version ".tar.xz"))
10746 (sha256
10747 (base32
10748 "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"))))
10749 (build-system meson-build-system)
10750 (arguments
10751 `(#:glib-or-gtk? #t
10752 #:phases
10753 (modify-phases %standard-phases
10754 (add-after 'unpack 'skip-gtk-update-icon-cache
10755 (lambda _
10756 (substitute* "meson/meson-postinstall.sh"
10757 (("gtk-update-icon-cache") (which "true")))
10758 #t))
10759 (add-after 'glib-or-gtk-wrap 'wrap-typelib
10760 (lambda* (#:key outputs #:allow-other-keys)
10761 (let ((prog (string-append (assoc-ref outputs "out")
10762 "/bin/polari")))
10763 (wrap-program prog
10764 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
10765 #t))))))
10766 (inputs
10767 `(("glib" ,glib)
10768 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10769 ("gspell" ,gspell)
10770 ("gtk+" ,gtk+)
10771 ("gjs" ,gjs)
10772 ("libsecret" ,libsecret)
10773 ("libsoup" ,libsoup)
10774 ("telepathy-glib" ,telepathy-glib)
10775 ("telepathy-logger" ,telepathy-logger)))
10776 (native-inputs
10777 `(("glib:bin" ,glib "bin")
10778 ("gobject-introspection" ,gobject-introspection)
10779 ("intltool" ,intltool)
10780 ("pkg-config" ,pkg-config)
10781 ("yelp-tools" ,yelp-tools)))
10782 (propagated-inputs
10783 `(("telepathy-idle" ,telepathy-idle)
10784 ("telepathy-mission-control" ,telepathy-mission-control)))
10785 (synopsis "Simple IRC Client")
10786 (description
10787 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
10788integrate seamlessly with the GNOME desktop.")
10789 (home-page "https://wiki.gnome.org/Apps/Polari")
10790 (license license:gpl2+)))
59d4c8c2
PN
10791
10792(define-public gnome-boxes
10793 (package
10794 (name "gnome-boxes")
915c2ad3 10795 (version "3.36.6")
59d4c8c2
PN
10796 (source
10797 (origin
10798 (method url-fetch)
10799 (uri (string-append "mirror://gnome/sources/gnome-boxes/"
10800 (version-major+minor version) "/"
10801 "gnome-boxes-" version ".tar.xz"))
10802 (sha256
915c2ad3 10803 (base32 "0c3cw90xqqcpacc2z06ljs0gg8saxizfgjzg9alhpwgz3gl4c5pg"))))
59d4c8c2
PN
10804 (build-system meson-build-system)
10805 (arguments
10806 '(#:glib-or-gtk? #t
10807 #:configure-flags (list "-Drdp=false"
10808 (string-append "-Dc_link_args=-Wl,-rpath="
10809 (assoc-ref %outputs "out")
10810 "/lib/gnome-boxes"))))
10811 (native-inputs
10812 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
10813 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
10814 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
10815 ("itstool" ,itstool)
10816 ("intltool" ,intltool)
10817 ("vala" ,vala)
10818 ("pkg-config" ,pkg-config)))
10819 (inputs
10820 `(("libarchive" ,libarchive)
f0d7897e
MC
10821 ("glib-networking" ,glib-networking) ;for TLS support
10822 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
59d4c8c2
PN
10823 ("gtk" ,gtk+)
10824 ("gtk-vnc" ,gtk-vnc)
10825 ("libosinfo" ,libosinfo)
10826 ("libsecret" ,libsecret)
10827 ("libsoup" ,libsoup)
10828 ("libusb" ,libusb)
10829 ("libvirt" ,libvirt)
10830 ("libvirt-glib" ,libvirt-glib)
10831 ("libxml" ,libxml2)
10832 ("spice-gtk" ,spice-gtk)
10833 ("sparql-query" ,sparql-query)
10834 ("vte" ,vte)
10835 ("webkitgtk" ,webkitgtk)
10836 ("tracker" ,tracker)
10837 ("libgudev" ,libgudev)))
10838 (home-page "https://wiki.gnome.org/Apps/Boxes")
10839 (synopsis "View, access, and manage remote and virtual systems")
10840 (description "GNOME Boxes is a simple application to view, access, and
f0d7897e
MC
10841manage remote and virtual systems. Note that this application requires the
10842@code{libvirt} and @code{virtlog} daemons to run. Use the command
10843@command{info '(guix) Virtualization Services'} to learn how to configure
10844these services on the Guix System.")
59d4c8c2
PN
10845 (license (list
10846 ;; For data/icons/empty-boxes.png.
10847 license:cc-by2.0
10848 ;; For all others.
10849 license:lgpl2.0+))))
0e26c3cf 10850
10851(define-public geary
10852 (package
10853 (name "geary")
10854 (version "3.34.1")
10855 (source (origin
10856 (method git-fetch)
10857 (uri (git-reference
10858 (url "https://gitlab.gnome.org/GNOME/geary")
10859 (commit version)))
10860 (file-name (git-file-name name version))
10861 (sha256
10862 (base32
10863 "01cc921kyh3zxz07biqbdzkjgmdcc36kwjyajm4y382a75cl5zg7"))))
10864 (build-system meson-build-system)
10865 (arguments
10866 `(#:glib-or-gtk? #t
10867 #:phases (modify-phases %standard-phases
10868 (add-after 'unpack 'disable-failing-tests
10869 (lambda _
10870 (substitute* "test/meson.build"
10871 (("test\\('client-tests', geary_test_client_bin\\)")
10872 ""))
10873 #t))
10874 (add-after 'unpack 'disable-postinstall-script
10875 (lambda _
10876 (substitute* "meson.build"
10877 (("meson.add_install_script\\(\
10878join_paths\\('build-aux', 'post_install.py'\\)\\)")
10879 ""))
10880 #t))
10881 (add-before 'check 'setup-xvfb
10882 (lambda _
10883 (system "Xvfb :1 &")
10884 (setenv "DISPLAY" ":1")
10885 #t)))))
10886 (inputs
10887 `(("enchant" ,enchant)
10888 ("folks" ,folks)
10889 ("gcr" ,gcr)
10890 ("glib" ,glib)
10891 ("gmime" ,gmime-2.6)
10892 ("gnome-online-accounts:lib"
10893 ,gnome-online-accounts "lib")
10894 ("gspell" ,gspell)
10895 ("gtk+" ,gtk+)
10896 ("iso-codes" ,iso-codes)
10897 ("json-glib" ,json-glib)
10898 ("libcanberra" ,libcanberra)
10899 ("libgee" ,libgee)
10900 ("libhandy" ,libhandy)
10901 ("libpeas" ,libpeas)
10902 ("libsecret" ,libsecret)
10903 ("libunwind" ,libunwind)
10904 ("sqlite" ,sqlite)
10905 ("webkitgtk" ,webkitgtk)
10906 ("ytnef" ,ytnef)))
10907 (native-inputs
10908 `(("appstream-glib" ,appstream-glib)
10909 ("cmake-minimal" ,cmake-minimal)
10910 ("desktop-file-utils" ,desktop-file-utils)
f2d97d57 10911 ("gettext" ,gettext-minimal)
0e26c3cf 10912 ("glib:bin" ,glib "bin")
10913 ("gobject-introspection" ,gobject-introspection)
10914 ("itstool" ,itstool)
10915 ("libarchive" ,libarchive)
10916 ("libxml2" ,libxml2)
10917 ("pkg-config" ,pkg-config)
10918 ("vala" ,vala)
10919 ("xvfb" ,xorg-server-for-tests)))
10920 (synopsis "GNOME email application built around conversations")
10921 (description
10922 "Geary collects related messages together into conversations,
10923making it easy to find and follow your discussions. Full-text and keyword
10924search makes it easy to find the email you are looking for. Geary's
10925full-featured composer lets you send rich, styled text with images, links, and
10926lists, but also send lightweight, easy to read text messages. Geary
10927automatically picks up your existing GNOME Online Accounts, and adding more is
10928easy. Geary has a clean, fast, modern interface that works like you want it
10929to.")
10930 (home-page "https://wiki.gnome.org/Apps/Geary")
10931 (license (list
10932 ;; geary
10933 license:lgpl2.1+
10934 ;; icons
10935 license:cc-by3.0
10936 license:cc-by-sa3.0
10937 license:public-domain
10938 ;; snowball
10939 license:bsd-2))))
1a17d21b 10940
21051eb7
VM
10941(define-public glabels
10942 (package
10943 (name "glabels")
10944 (version "3.4.1")
10945 (source
10946 (origin
10947 (method url-fetch)
10948 (uri (string-append "mirror://gnome/sources/" name "/"
10949 (version-major+minor version) "/"
10950 "glabels-" version ".tar.xz"))
10951 (sha256
10952 (base32 "0f2rki8i27pkd9r0gz03cdl1g4vnmvp0j49nhxqn275vi8lmgr0q"))))
10953 (build-system glib-or-gtk-build-system)
10954 (native-inputs
10955 `(("gettext" ,gettext-minimal)
10956 ("glib:bin" ,glib "bin")
10957 ("intltool" ,intltool)
10958 ("itstool" ,itstool)
10959 ("pkg-config" ,pkg-config)))
10960 (inputs
10961 `(("gtk+" ,gtk+)
10962 ("librsvg" ,librsvg)
10963 ("libxml2" ,libxml2)))
10964 (home-page "https://glabels.org/")
10965 (synopsis "Program for creating labels and business cards")
10966 (description
10967 "gLabels is a program for creating labels and business cards. It is
10968designed to work with various laser/ink-jet peel-off label and business
10969card sheets that you’ll find at most office supply stores.")
10970 (license license:gpl3+)))
10971
2cd1de32
BT
10972(define-public libratbag
10973 (package
10974 (name "libratbag")
10975 (version "0.13")
10976 (source
10977 (origin
10978 (method git-fetch)
10979 (uri (git-reference
b0e7b699 10980 (url "https://github.com/libratbag/libratbag")
2cd1de32
BT
10981 (commit (string-append "v" version))))
10982 (file-name (git-file-name name version))
10983 (sha256
10984 (base32 "18y8mfr63d91278m1kcid0wvrxa1sgjs8na9af1ks2n28ssvciwq"))))
10985 (build-system meson-build-system)
10986 (arguments
10987 `(#:configure-flags
10988 (list "-Dsystemd=false"
10989 "-Dlogind-provider=elogind")
10990 #:phases
10991 (modify-phases %standard-phases
10992 (add-after 'install 'wrap
10993 (lambda* (#:key inputs outputs #:allow-other-keys)
10994 (let* ((out (assoc-ref outputs "out"))
10995 (site (string-append
10996 "/lib/python"
10997 ,(version-major+minor (package-version python))
10998 "/site-packages"))
10999 (evdev (string-append
11000 (assoc-ref inputs "python-evdev") site))
11001 (pygo (string-append
11002 (assoc-ref inputs "python-pygobject") site))
11003 (python-wrap
11004 `("PYTHONPATH" = (,evdev ,pygo))))
11005 (wrap-program (string-append out "/bin/" "ratbagctl")
11006 python-wrap)
11007 #t))))))
11008 (native-inputs
11009 `(("check" ,check)
11010 ("pkg-config" ,pkg-config)
11011 ("swig" ,swig)
11012 ("valgrind" ,valgrind)))
11013 (inputs
11014 `(("glib" ,glib)
11015 ("json-glib" ,json-glib)
11016 ("libevdev" ,libevdev)
11017 ("libsystemd" ,elogind)
11018 ("libunistring" ,libunistring)
11019 ("python-evdev" ,python-evdev)
11020 ("python-pygobject" ,python-pygobject)
11021 ("udev" ,eudev)))
11022 (home-page "https://github.com/libratbag/libratbag")
11023 (synopsis "DBus daemon and utility for configuring gaming mice")
11024 (description "libratbag provides @command{ratbagd}, a DBus daemon to
11025configure input devices, mainly gaming mice. The daemon provides a generic
11026way to access the various features exposed by these mice and abstracts away
11027hardware-specific and kernel-specific quirks. There is also the
11028@command{ratbagctl} command line interface for configuring devices.
11029
11030libratbag currently supports devices from Logitech, Etekcity, GSkill, Roccat,
11031Steelseries.
11032
11033The ratbagd DBus service can be enabled by adding the following service to
11034your operating-system definition:
11035
11036 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
11037 (license license:expat)))
11038
50d31a40
BT
11039(define-public piper
11040 (package
11041 (name "piper")
73014984 11042 (version "0.5")
50d31a40
BT
11043 (source
11044 (origin
11045 (method git-fetch)
11046 (uri (git-reference
b0e7b699 11047 (url "https://github.com/libratbag/piper")
50d31a40
BT
11048 (commit version)))
11049 (sha256
81af0de9
TGR
11050 (base32 "00vrcsbsv2477l1ncpyzc61lhxgac84dsgr3sjs8qxw3nh1gaasv"))
11051 (file-name (git-file-name name version))))
50d31a40
BT
11052 (build-system meson-build-system)
11053 (native-inputs
11054 `(("gettext" ,gettext-minimal)
11055 ("glib:bin" ,glib "bin")
11056 ("gobject-introspection" ,gobject-introspection)
11057 ("pkg-config" ,pkg-config)
11058 ("python-flake8" ,python-flake8)))
11059 (inputs
11060 `(("adwaita-icon-theme" ,adwaita-icon-theme)
11061 ("gtk" ,gtk+)
11062 ("gtk:bin" ,gtk+ "bin")
11063 ("librsvg" ,librsvg)
11064 ("python-evdev" ,python-evdev)
11065 ("python-lxml" ,python-lxml)
11066 ("python-pycairo" ,python-pycairo)
11067 ("python-pygobject" ,python-pygobject)))
11068 (arguments
11069 `(#:imported-modules ((guix build python-build-system)
11070 ,@%meson-build-system-modules)
11071 #:modules (((guix build python-build-system) #:prefix python:)
11072 (guix build meson-build-system)
11073 (guix build utils))
11074 #:phases
11075 (modify-phases %standard-phases
11076 (add-after 'unpack 'dont-update-gtk-icon-cache
11077 (lambda _
11078 (substitute* "meson.build"
11079 (("meson.add_install_script('meson_install.sh')") ""))
11080 #t))
11081 ;; TODO: Switch to wrap-script when it is fixed.
11082 (add-after 'install 'wrap-python
11083 (assoc-ref python:%standard-phases 'wrap))
11084 (add-after 'wrap-python 'wrap
11085 (lambda* (#:key outputs #:allow-other-keys)
11086 (wrap-program
11087 (string-append (assoc-ref outputs "out" )"/bin/piper")
11088 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
11089 #t)))))
11090 (home-page "https://github.com/libratbag/piper/")
11091 (synopsis "Configure bindings and LEDs on gaming mice")
11092 (description "Piper is a GTK+ application for configuring gaming mice with
11093onboard configuration for key bindings via libratbag. Piper requires
11094a @command{ratbagd} daemon running with root privileges. It can be run
11095manually as root, but is preferably configured as a DBus service that can
11096launch on demand. This can be configured by enabling the following service,
11097provided there is a DBus service present:
11098
11099 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
11100 (license license:gpl2)))
11101
1a17d21b 11102(define-public parlatype
c10fb9fd
NG
11103 (package
11104 (name "parlatype")
11105 (version "2.1")
11106 (source
11107 (origin
11108 (method git-fetch)
11109 (uri (git-reference
11110 (url "https://github.com/gkarsay/parlatype.git")
11111 (commit (string-append "v" version))))
11112 (file-name (git-file-name name version))
11113 (sha256
11114 (base32 "1c15ja0rwz3jj8bnqdq0nmqka39iwrhy8krdv2a2x8nl4shfpmv0"))))
11115 (build-system meson-build-system)
11116 (arguments
11117 `(#:glib-or-gtk? #t
11118 #:tests? #f ;require internet access
11119 #:phases
11120 (modify-phases %standard-phases
11121 (add-after 'install 'wrap-parlatype
11122 ;; Add gstreamer plugin provided in this package to system's
11123 ;; plugins.
11124 (lambda* (#:key outputs #:allow-other-keys)
11125 (let* ((out (assoc-ref outputs "out"))
11126 (gst-plugin-path (string-append
11127 out "/lib/gstreamer-1.0/"
11128 ":"
11129 (getenv "GST_PLUGIN_SYSTEM_PATH"))))
11130 (wrap-program (string-append out "/bin/parlatype")
11131 `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path))))
11132 #t)))))
11133 (native-inputs
11134 `(("appstream-glib" ,appstream-glib)
11135 ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
11136 ("gettext" ,gettext-minimal)
11137 ("glib" ,glib "bin") ;for glib-compile-resources
11138 ("pkg-config" ,pkg-config)
11139 ("yelp-tools" ,yelp-tools)))
11140 (inputs
11141 `(("gst-plugins-base" ,gst-plugins-base)
11142 ("gst-plugins-good" ,gst-plugins-good)
11143 ("gstreamer" ,gstreamer)
11144 ("gtk+" ,gtk+)
11145 ("pocketsphinx" ,pocketsphinx)
11146 ("pulseaudio" ,pulseaudio)
11147 ("sphinxbase" ,sphinxbase)))
11148 (home-page "http://gkarsay.github.io/parlatype/")
11149 (synopsis "GNOME audio player for transcription")
11150 (description "Parlatype is an audio player for the GNOME desktop
1a17d21b
NG
11151environment. Its main purpose is the manual transcription of spoken
11152audio files.")
c10fb9fd 11153 (license license:gpl3+)))
95856a6e
AT
11154
11155(define-public jsonrpc-glib
11156 (package
11157 (name "jsonrpc-glib")
11158 (version "3.34.0")
11159 (source (origin
11160 (method url-fetch)
11161 (uri (string-append "mirror://gnome/sources/" name "/"
11162 (version-major+minor version) "/"
11163 name "-" version ".tar.xz"))
11164 (sha256
11165 (base32
11166 "0j05x4xv2cp3cbmp30m68z8g4rdw7b030ip4wszyfj9ya15v5kni"))))
11167 (build-system meson-build-system)
11168 (inputs
11169 `(("json-glib" ,json-glib)
11170 ("glib" ,glib)))
11171 (native-inputs
11172 `(("pkg-config" ,pkg-config)
11173 ("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
11174 ("gobject-introspection" ,gobject-introspection)
11175 ("vala" ,vala)))
11176 (home-page "https://gitlab.gnome.org/GNOME/jsonrpc-glib")
11177 (synopsis "JSON-RPC library for GLib")
11178 (description "Jsonrpc-GLib is a library to communicate with JSON-RPC based
11179peers in either a synchronous or asynchronous fashion. It also allows
11180communicating using the GVariant serialization format instead of JSON when
11181both peers support it. You might want that when communicating on a single
11182host to avoid parser overhead and memory-allocator fragmentation.")
11183 (license license:lgpl2.1+)))
0faed399
JB
11184
11185(define-public feedbackd
11186 (package
11187 (name "feedbackd")
11188 (version "0.0.0+git20200527")
11189 (source (origin
11190 (method git-fetch)
11191 (uri (git-reference
11192 (url "https://source.puri.sm/Librem5/feedbackd.git")
11193 (commit (string-append "v" version))))
11194 (file-name (git-file-name name version))
11195 (sha256
11196 (base32
11197 "1wbkzxnqjydfgjvp7vz4ghczcz740zcb1yn90cb6gb5md4n6qx2y"))))
11198 (build-system meson-build-system)
11199 (native-inputs
11200 `(("glib:bin" ,glib "bin")
11201 ("gobject-introspection" ,gobject-introspection)
11202 ("pkg-config" ,pkg-config)
11203 ("vala" ,vala)))
11204 (inputs
11205 `(("dbus" ,dbus)
11206 ("gsound" ,gsound)
11207 ("json-glib" ,json-glib)
11208 ("libgudev" ,libgudev)))
11209 (propagated-inputs
11210 `(("glib" ,glib))) ; in Requires of libfeedback-0.0.pc
11211 (synopsis "Haptic/visual/audio feedback via DBus")
11212 (description "Feedbackd provides a DBus daemon to act on events to provide
11213haptic, visual and audio feedback. It offers the libfeedbackd library and
11214GObject introspection bindings.")
11215 (home-page "https://source.puri.sm/Librem5/feedbackd")
11216 (license (list license:lgpl2.1+ ; libfeedbackd
11217 license:lgpl3+)))) ; the rest
dcb4f7b7
LP
11218
11219(define-public sysprof
11220 (package
11221 (name "sysprof")
f9812690
TGR
11222 (version "3.36.0")
11223 (source
11224 (origin
11225 (method url-fetch)
11226 (uri (string-append "mirror://gnome/sources/sysprof/"
11227 (version-major+minor version) "/"
11228 "sysprof-" version ".tar.xz"))
11229 (sha256
11230 (base32 "024i0gzqnm79rpr4gqxdvcj6gvf82xdlcp2p1k9ikcppmi6xnw46"))))
dcb4f7b7
LP
11231 (build-system meson-build-system)
11232 (arguments
11233 `(#:configure-flags
11234 (list (string-append "-Dsystemdunitdir="
11235 %output
11236 "/share/systemd"))
11237 #:tests? #f ; 3/4 test-model-filter barfs some dbus nonsense
11238 #:phases
11239 (modify-phases %standard-phases
11240 (add-after 'unpack 'patch-install-script
11241 (lambda _
11242 (substitute* "build-aux/meson/post_install.sh"
11243 (("gtk-update-icon-cache") "true")
11244 (("update-desktop-database") "true"))
11245 #t)))))
11246 (inputs
11247 `(("glib" ,glib)
11248 ("gtk+" ,gtk+)
11249 ("libdazzle" ,libdazzle)
11250 ("polkit" ,polkit)))
11251 (native-inputs
11252 `(("gettext" ,gettext-minimal)
11253 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
11254 ("itstool" ,itstool)
11255 ("pkg-config" ,pkg-config)
11256 ("xmllint" ,libxml2)))
b478c9b0
TGR
11257 ;; This home page is so woefully out of date as to be essentially useless.
11258 ;; (home-page "http://www.sysprof.com")
11259 (home-page "https://wiki.gnome.org/Apps/Sysprof")
95cd53c1
TGR
11260 (synopsis "System-wide performance profiler for GNU/Linux")
11261 (description
11262 "Sysprof performs detailed, accurate, and fast CPU profiling of an entire
11263GNU/Linux system including the kernel and all user-space applications. This
11264helps find the function(s) in which a program spends most of its time.
11265
11266It uses the kernel's built-in @code{ptrace} feature and handles shared
11267libraries. Applications do not need to be recompiled--or even restarted.")
dcb4f7b7 11268 (license license:gpl3+)))
683cac58
LP
11269
11270(define-public gnome-builder
11271 (package
11272 (name "gnome-builder")
11273 (version "3.36.1")
11274 (source (origin
11275 (method url-fetch)
11276 (uri (string-append "mirror://gnome/sources/" name "/"
11277 (version-major+minor version) "/"
11278 name "-" version ".tar.xz"))
11279 (sha256
11280 (base32
11281 "17pvmd5jypar8dkr6w56hvf7jnq4l1wih2wwgkrv7sblr7rkkar2"))))
11282 (build-system meson-build-system)
11283 (arguments
11284 `(#:configure-flags (list "-Dnetwork_tests=false"
11285 ;; TODO: Enable all plugins...
11286 "-Dplugin_clang=false"
11287 "-Dplugin_flatpak=false"
11288 "-Dplugin_glade=false"
11289 ;; ... except this one.
11290 "-Dplugin_update_manager=false")
11291 #:phases
11292 (modify-phases %standard-phases
11293 (add-after 'unpack 'patch-meson
11294 (lambda* (#:key inputs #:allow-other-keys)
11295 (substitute* "build-aux/meson/post_install.py"
11296 (("gtk-update-icon-cache") "true")
11297 (("update-desktop-database") "true"))
11298 (substitute* "src/libide/meson.build"
11299 (("/usr/lib")
11300 (string-append (assoc-ref inputs "python-pygobject")
11301 "/lib")))
11302 #t))
11303 (add-before 'check 'pre-check
11304 (lambda _
11305 (system "Xvfb :1 &")
11306 (setenv "DISPLAY" ":1")
11307 #t)))))
11308 (inputs
11309 `(("devhelp" ,devhelp)
11310 ("gspell" ,gspell)
11311 ("gtk+" ,gtk+)
11312 ("json-glib" ,json-glib)
11313 ("jsonrpc-glib" ,jsonrpc-glib)
11314 ("libdazzle" ,libdazzle)
11315 ("libgit2-glib" ,libgit2-glib)
11316 ("libpeas" ,libpeas)
11317 ("python-pygobject" ,python-pygobject)
11318 ("sysprof" ,sysprof)
11319 ("template-glib" ,template-glib)
11320 ("vte" ,vte)
11321 ("webkitgtk" ,webkitgtk)))
11322 (propagated-inputs
11323 `(("gtksourceview" ,gtksourceview))) ;needed for settings
11324 (native-inputs
11325 `(("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
11326 ("glib:bin" ,glib "bin")
11327 ("gettext" ,gettext-minimal)
11328 ("pkg-config" ,pkg-config)
11329 ("vala" ,vala)
11330 ("xorg-server" ,xorg-server-for-tests)))
11331 (home-page "https://wiki.gnome.org/Apps/Builder")
11332 (synopsis "Toolsmith for GNOME-based applications")
876d022c
LC
11333 (description "Builder aims to be an integrated development
11334environment (IDE) for writing GNOME-based software. It features fuzzy search,
11335auto-completion, a mini code map, documentation browsing, Git integration, an
11336integrated profiler via Sysprof, debugging support, and more.")
683cac58 11337 (license license:gpl3+)))