gnu: sysprof: Update to 3.36.0.
[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)
aff0cce9 144 #:use-module (gnu packages nss)
b29909b4 145 #:use-module (gnu packages openldap)
72fd1b3f 146 #:use-module (gnu packages package-management)
b645146f 147 #:use-module (gnu packages password-utils)
de1215e2 148 #:use-module (gnu packages pcre)
b29909b4 149 #:use-module (gnu packages pdf)
27477d2d 150 #:use-module (gnu packages perl)
f70d8383 151 #:use-module (gnu packages photo)
53c41e95 152 #:use-module (gnu packages php)
995b7261 153 #:use-module (gnu packages pkg-config)
b29909b4
TGR
154 #:use-module (gnu packages polkit)
155 #:use-module (gnu packages popt)
7d3bb433 156 #:use-module (gnu packages pretty-print)
23a22af6 157 #:use-module (gnu packages pulseaudio)
995b7261 158 #:use-module (gnu packages python)
00014781
RW
159 #:use-module (gnu packages python-crypto)
160 #:use-module (gnu packages python-web)
44d10b1f 161 #:use-module (gnu packages python-xyz)
cce0da5e 162 #:use-module (gnu packages rdesktop)
70f33d3c 163 #:use-module (gnu packages rdf)
b29909b4 164 #:use-module (gnu packages readline)
a76d0f03 165 #:use-module (gnu packages ruby)
ec47c07d 166 #:use-module (gnu packages rust)
b29909b4 167 #:use-module (gnu packages samba)
75016d07 168 #:use-module (gnu packages scanner)
70f33d3c
RG
169 #:use-module (gnu packages sdl)
170 #:use-module (gnu packages search)
240cee8a 171 #:use-module (gnu packages selinux)
c27e02bf 172 #:use-module (gnu packages slang)
b29909b4
TGR
173 #:use-module (gnu packages speech)
174 #:use-module (gnu packages spice)
cd0322a3 175 #:use-module (gnu packages sqlite)
4a1bf090 176 #:use-module (gnu packages ssh)
2cd1de32 177 #:use-module (gnu packages swig)
8f9ac901 178 #:use-module (gnu packages tex)
33dc54b0 179 #:use-module (gnu packages time)
a7fd7b68 180 #:use-module (gnu packages tls)
2cd1de32 181 #:use-module (gnu packages valgrind)
3c5dbd2b 182 #:use-module (gnu packages version-control)
b29909b4 183 #:use-module (gnu packages video)
59132b80 184 #:use-module (gnu packages virtualization)
f2b96b3a 185 #:use-module (gnu packages vpn)
a18f8eaf 186 #:use-module (gnu packages web)
b29909b4
TGR
187 #:use-module (gnu packages webkit)
188 #:use-module (gnu packages xdisorg)
189 #:use-module (gnu packages xiph)
190 #:use-module (gnu packages xml)
d633f2f6 191 #:use-module (gnu packages xorg)
a76d0f03 192 #:use-module (gnu artwork)
43b6b45e 193 #:use-module ((guix build utils) #:select (modify-phases))
8f523eb9 194 #:use-module (guix build-system cargo)
b29909b4
TGR
195 #:use-module (guix build-system cmake)
196 #:use-module (guix build-system glib-or-gtk)
197 #:use-module (guix build-system gnu)
198 #:use-module (guix build-system meson)
08be02be 199 #:use-module (guix build-system python)
b29909b4
TGR
200 #:use-module (guix build-system trivial)
201 #:use-module (guix download)
202 #:use-module (guix git-download)
203 #:use-module ((guix licenses) #:prefix license:)
204 #:use-module (guix packages)
205 #:use-module (guix utils)
a76d0f03 206 #:use-module (guix gexp)
8f523eb9
EF
207 #:use-module (guix monads)
208 #:use-module (guix store)
4e3fdeb7 209 #:use-module (ice-9 match)
c024ae36 210 #:use-module (srfi srfi-1))
85f5dc19
AE
211
212(define-public brasero
213 (package
214 (name "brasero")
e2bf423a 215 (version "3.12.2")
85f5dc19
AE
216 (source (origin
217 (method url-fetch)
d1df7554 218 (uri (string-append "mirror://gnome/sources/brasero/"
e8627cd9 219 (version-major+minor version) "/"
d1df7554 220 "brasero-" version ".tar.xz"))
85f5dc19
AE
221 (sha256
222 (base32
e2bf423a 223 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 224 (build-system glib-or-gtk-build-system)
e8627cd9
DH
225 (arguments
226 `(#:configure-flags (list
227 (string-append "--with-girdir="
228 (assoc-ref %outputs "out")
229 "/share/gir-1.0")
230 (string-append "--with-typelibdir="
231 (assoc-ref %outputs "out")
ce426deb
TD
232 "/lib/girepository-1.0"))
233 #:phases
234 (modify-phases %standard-phases
235 (add-before 'configure 'embed-growisofs
236 (lambda* (#:key inputs #:allow-other-keys)
237 (substitute* "plugins/growisofs/burn-growisofs.c"
238 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 239 #t)))))
85f5dc19
AE
240 (propagated-inputs
241 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
242 (native-inputs
243 `(("intltool" ,intltool)
ba549e17 244 ("itstool" ,itstool)
426adbe8 245 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 246 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 247 ("pkg-config" ,pkg-config)))
85f5dc19 248 (inputs
ce426deb
TD
249 `(("dvd+rw-tools" ,dvd+rw-tools)
250 ("glib" ,glib)
85f5dc19
AE
251 ("gnome-doc-utils" ,gnome-doc-utils)
252 ("gstreamer" ,gstreamer)
253 ("gst-plugins-base" ,gst-plugins-base)
254 ("gtk+" ,gtk+)
85f5dc19
AE
255 ("libcanberra" ,libcanberra)
256 ("libice" ,libice)
257 ("libnotify" ,libnotify)
258 ("libsm" ,libsm)
e8627cd9 259 ("libxml2" ,libxml2)
e8627cd9 260 ("totem-pl-parser" ,totem-pl-parser)))
fb9399e9 261 (home-page "https://wiki.gnome.org/Apps/Brasero")
85f5dc19
AE
262 (synopsis "CD/DVD burning tool for Gnome")
263 (description "Brasero is an application to burn CD/DVD for the Gnome
264Desktop. It is designed to be as simple as possible and has some unique
265features to enable users to create their discs easily and quickly.")
1dd26275 266 (license license:gpl2+)))
995b7261 267
63d71ff0
RG
268(define-public libcloudproviders
269 (package
270 (name "libcloudproviders")
271 (version "0.3.1")
272 (source
273 (origin
274 (method url-fetch)
275 (uri
276 (string-append "mirror://gnome/sources/" name "/"
277 (version-major+minor version) "/"
278 name "-" version ".tar.xz"))
279 (sha256
280 (base32 "0aars24myf6n8b8hm1n12hsgcm54097kpbpm4ba31zp1l4y22qs7"))))
281 (build-system meson-build-system)
282 (outputs '("out" "doc"))
283 (arguments
284 `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
285 #:configure-flags
286 (list
287 "-Denable-gtk-doc=true")
288 #:phases
289 (modify-phases %standard-phases
290 (add-after 'install 'move-doc
291 (lambda* (#:key outputs #:allow-other-keys)
292 (let* ((out (assoc-ref outputs "out"))
293 (doc (assoc-ref outputs "doc")))
294 (mkdir-p (string-append doc "/share"))
295 (rename-file
296 (string-append out "/share/gtk-doc")
297 (string-append doc "/share/gtk-doc"))
298 #t))))))
299 (native-inputs
300 `(("glib:bin" ,glib "bin")
301 ("gobject-introspection" ,gobject-introspection)
302 ("gtk-doc" ,gtk-doc)
303 ("pkg-config" ,pkg-config)
304 ("vala" ,vala)))
305 (inputs
306 `(("glib" ,glib)
307 ("glib-networking" ,glib-networking)))
308 (synopsis "Cloudproviders Integration API")
309 (description "Libcloudproviders is a DBus API that allows cloud storage sync
310clients to expose their services. Clients such as file managers and desktop
311environments can then provide integrated access to the cloud providers
312services.")
313 (home-page "https://csorianognome.wordpress.com/2015/07/07/cloud-providers/")
314 (license license:lgpl3+)))
315
f10b58ca
RG
316(define-public libgrss
317 (package
318 (name "libgrss")
319 (version "0.7.0")
320 (source
321 (origin
322 (method url-fetch)
323 (uri
324 (string-append "mirror://gnome/sources/" name "/"
325 (version-major+minor version) "/"
326 name "-" version ".tar.xz"))
327 (sha256
328 (base32 "1nalslgyglvhpva3px06fj6lv5zgfg0qmj0sbxyyl5d963vc02b7"))))
329 (build-system glib-or-gtk-build-system)
330 (outputs '("out" "doc"))
331 (arguments
332 `(#:configure-flags
333 (list
334 "--enable-gtk-doc"
335 (string-append "--with-html-dir="
336 (assoc-ref %outputs "doc")
337 "/share/gtk-doc/html"))
338 #:phases
339 (modify-phases %standard-phases
340 (add-after 'unpack 'patch-docbook-xml
341 (lambda* (#:key inputs #:allow-other-keys)
342 (with-directory-excursion "doc/reference"
343 (substitute* "libgrss-docs.sgml"
344 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
345 (string-append (assoc-ref inputs "docbook-xml")
346 "/xml/dtd/docbook/"))))
347 #t)))))
348 (native-inputs
349 `(("docbook-xml" ,docbook-xml-4.1.2)
350 ("gobject-introspection" ,gobject-introspection)
351 ("gtk-doc" ,gtk-doc)
352 ("pkg-config" ,pkg-config)))
353 (propagated-inputs
354 `(("glib" ,glib)
355 ("libsoup" ,libsoup)
356 ("libxml2" ,libxml2)))
357 (synopsis "Glib library for feeds")
358 (description "LibGRSS is a Glib abstaction to handle feeds in RSS, Atom and
359other formats.")
360 (home-page "https://wiki.gnome.org/Projects/Libgrss")
361 (license license:lgpl3+)))
362
c1082b02
RG
363(define-public gnome-js-common
364 (package
365 (name "gnome-js-common")
366 (version "0.1.2")
367 (source
368 (origin
369 (method url-fetch)
370 (uri
371 (string-append "mirror://gnome/sources/" name "/"
372 (version-major+minor version) "/"
373 name "-" version ".tar.gz"))
374 (sha256
375 (base32 "1zv5b9bcbclzj64xd9kgql4ndmbwvvi6cl937ykw8fp21xgh8z7y"))))
376 (build-system glib-or-gtk-build-system)
377 (arguments
378 `(#:configure-flags
379 (list
380 "--disable-static")))
381 (native-inputs
382 `(("gettext" ,gettext-minimal)
383 ("intltool" ,intltool)
384 ("pkg-config" ,pkg-config)))
385 (synopsis "Common JS Modules")
386 (description "GNOME-JS-Common provides common modules for GNOME JavaScript
387bindings.")
388 (home-page "https://wiki.gnome.org/Projects/Seed")
389 (license license:gpl3+)))
390
77d7bbf4
RG
391(define-public seed
392 (package
393 (name "seed")
394 (version "3.8.1")
395 (source
396 (origin
397 (method url-fetch)
398 (uri
399 (string-append "mirror://gnome/sources/" name "/"
400 (version-major+minor version) "/"
401 name "-" version ".tar.xz"))
402 (sha256
403 (base32 "0cmcxaggcdcy13j27gy8id2qsf2p2sl4bz2mwb9zhv3gzavlvjw0"))
404 (patches
405 (search-patches "seed-webkit.patch"))))
406 (build-system glib-or-gtk-build-system)
407 (outputs '("out" "doc"))
408 (arguments
409 `(#:configure-flags
410 (list
411 "--disable-static"
412 "--enable-xorg-module"
413 (string-append "--with-html-dir="
414 (assoc-ref %outputs "doc")
415 "/share/gtk-doc/html")
416 "--with-webkit=4.0")
417 #:phases
418 (modify-phases %standard-phases
419 ;; The seed-webkit.patch patches configure.ac.
420 ;; So the source files need to be re-bootstrapped.
421 (add-after 'unpack 'trigger-bootstrap
422 (lambda _
423 (for-each delete-file
424 (list
425 "configure"
426 "Makefile.in"))
427 #t))
14528483
DM
428 (add-after 'unpack 'patch-tests
429 (lambda* (#:key outputs #:allow-other-keys)
430 (substitute* (find-files "." "\\.js$")
431 (("#!/usr/bin/env seed")
432 (string-append "#!" (getcwd) "/src/seed")))
433 #t))
77d7bbf4
RG
434 (add-before 'build 'patch-docbook-xml
435 (lambda* (#:key inputs #:allow-other-keys)
436 (with-directory-excursion "doc"
437 (substitute* '("reference/seed-docs.sgml" "modules/book.xml")
438 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
439 (string-append (assoc-ref inputs "docbook-xml")
440 "/xml/dtd/docbook/"))))
441 #t)))))
442 (native-inputs
443 `(("autoconf" ,autoconf)
444 ("automake" ,automake)
445 ("docbook-xml" ,docbook-xml-4.1.2)
446 ("gettext" ,gettext-minimal)
447 ("gobject-introspection" ,gobject-introspection)
448 ("gtk-doc" ,gtk-doc)
449 ("intltool" ,intltool)
450 ("libtool" ,libtool)
451 ("pkg-config" ,pkg-config)))
452 (inputs
453 `(("cairo" ,cairo)
454 ("dbus" ,dbus)
455 ("dbus-glib" ,dbus-glib)
456 ("gnome-js-common" ,gnome-js-common)
457 ("gtk+" ,gtk+)
458 ("gtk+-2" ,gtk+-2)
459 ("libffi" ,libffi)
460 ("libxml2" ,libxml2)
461 ("mpfr" ,mpfr)
462 ("readline" ,readline)
463 ("sqlite" ,sqlite)
464 ("xscrnsaver" ,libxscrnsaver)))
465 (propagated-inputs
466 `(("glib" ,glib)
467 ("webkit" ,webkitgtk)))
468 (synopsis "GObject JavaScriptCore bridge")
469 (description "Seed is a library and interpreter, dynamically bridging
470(through GObjectIntrospection) the WebKit JavaScriptCore engine, with the
471GNOME platform. It serves as something which enables you to write standalone
472applications in JavaScript, or easily enable your application to be extensible
473in JavaScript.")
474 (home-page "https://wiki.gnome.org/Projects/Seed")
475 (license license:lgpl2.0+)))
476
d668963d
RG
477(define-public libdmapsharing
478 (package
479 (name "libdmapsharing")
480 (version "3.9.10")
481 (source
482 (origin
483 (method url-fetch)
484 (uri
485 (string-append "https://www.flyn.org/projects/"
486 name "/" name "-" version ".tar.gz"))
487 (sha256
488 (base32 "152hnddwxv590cn802awv3mn27ixc3s6ac691a7z02d1c5fl45p2"))))
489 (build-system glib-or-gtk-build-system)
490 (outputs '("out" "doc"))
491 (arguments
492 `(#:tests? #f ; Tests require networking.
493 #:configure-flags
494 (list
495 "--disable-static"
496 (string-append "--with-html-dir="
497 (assoc-ref %outputs "doc")
498 "/share/gtk-doc/html"))
499 #:phases
500 (modify-phases %standard-phases
501 (add-after 'unpack 'patch-docbook-xml
502 (lambda* (#:key inputs #:allow-other-keys)
503 (with-directory-excursion "doc"
504 (substitute* "libdmapsharing-4.0-docs.xml"
505 (("http://www.oasis-open.org/docbook/xml/4.3/")
506 (string-append (assoc-ref inputs "docbook-xml")
507 "/xml/dtd/docbook/"))))
508 #t)))))
509 (native-inputs
510 `(("check" ,check)
511 ("docbook-xml" ,docbook-xml-4.3)
512 ("gobject-introspection" ,gobject-introspection)
513 ("pedansee" ,pedansee)
514 ("pkg-config" ,pkg-config)
515 ("vala" ,vala)))
516 (inputs
517 `(("avahi" ,avahi)
518 ("gdk-pixbuf" ,gdk-pixbuf+svg)
519 ("gee" ,libgee)
520 ("gst-plugins-base" ,gst-plugins-base)
521 ("gtk+" ,gtk+)))
522 (propagated-inputs
523 `(("glib" ,glib)
524 ("glib-networking" ,glib-networking)
525 ("gstreamer" ,gstreamer)
526 ("libsoup" ,libsoup)))
527 (synopsis "Media management library")
528 (description "Libdmapsharing is a library which allows programs to access,
529share and control the playback of media content using DMAP (DAAP, DPAP & DACP).
530It is written in C using GObject and libsoup.")
531 (home-page "https://launchpad.net/gtx")
532 (license license:lgpl2.1+)))
533
c15ff237
RG
534(define-public gtx
535 (package
536 (name "gtx")
537 (version "0.2.2")
538 (source
539 (origin
540 (method url-fetch)
541 (uri
542 (string-append "https://launchpad.net/gtx/trunk/"
543 version "/+download/gtx-" version ".tar.gz"))
544 (sha256
545 (base32 "0i4zvn5v4rf0cw3fxylk6j2pyy5lkrswdiw8jdxkys0ph0nan33n"))))
546 (build-system glib-or-gtk-build-system)
547 (outputs '("out" "doc"))
548 (arguments
549 `(#:configure-flags
550 (list
551 "--disable-static"
552 "--enable-gtk-doc"
553 (string-append "--with-html-dir="
554 (assoc-ref %outputs "doc")
555 "/share/gtk-doc/html"))))
556 (native-inputs
557 `(("gobject-introspection" ,gobject-introspection)
558 ("gtk-doc" ,gtk-doc)
559 ("pkg-config" ,pkg-config)))
560 (propagated-inputs
561 `(("glib" ,glib)))
562 (synopsis "GLib Testing Framework")
563 (description "GTX is a small collection of convenience functions intended to
564enhance the GLib testing framework. With specific emphasis on easing the pain
565of writing test cases for asynchronous interactions.")
566 (home-page "https://launchpad.net/gtx")
567 (license license:lgpl2.1+)))
568
8fd769dd
RG
569(define-public dee
570 (package
571 (name "dee")
572 (version "1.2.7")
573 (source
574 (origin
575 (method url-fetch)
576 (uri
577 (string-append "https://launchpad.net/dee/1.0/"
578 version "/+download/dee-" version ".tar.gz"))
579 (sha256
580 (base32 "12mzffk0lyd566y46x57jlvb9af152b4dqpasr40zal4wrn37w0v"))
581 (patches
582 (search-patches "dee-vapi.patch"))))
583 (build-system glib-or-gtk-build-system)
584 (outputs '("out" "doc"))
585 (arguments
586 `(#:configure-flags
587 (list
588 "--disable-maintainer-flags"
589 (string-append "--with-pygi-overrides-dir="
590 (assoc-ref %outputs "out")
591 "/lib/python"
592 ,(version-major+minor
593 (package-version python))
594 "/site-packages/gi/overrides")
595 (string-append "--with-html-dir="
596 (assoc-ref %outputs "doc")
597 "/share/gtk-doc/html"))
598 #:phases
599 (modify-phases %standard-phases
600 (add-after 'unpack 'patch-docbook-xml
601 (lambda* (#:key inputs #:allow-other-keys)
602 (with-directory-excursion "doc/reference/dee-1.0"
603 (substitute* "dee-1.0-docs.sgml"
604 (("http://www.oasis-open.org/docbook/xml/4.3/")
605 (string-append (assoc-ref inputs "docbook-xml")
606 "/xml/dtd/docbook/"))))
607 #t))
608 (add-after 'patch-docbook-xml 'disable-failing-tests
609 (lambda _
610 (substitute* "tests/test-icu.c"
611 (("g_test_add \\(DOMAIN\"/Default/AsciiFolder\", Fixture, 0,")
612 "")
613 (("setup, test_ascii_folder, teardown\\);")
614 ""))
615 #t))
616 (add-before 'check 'pre-check
617 (lambda _
618 ;; Tests require a running dbus-daemon.
619 (system "dbus-daemon &")
620 ;; For missing '/etc/machine-id'.
621 (setenv "DBUS_FATAL_WARNINGS" "0")
622 #t)))))
623 (native-inputs
624 `(("dbus" ,dbus)
625 ("dbus-test-runner" ,dbus-test-runner)
626 ("docbook-xml" ,docbook-xml-4.3)
627 ("gobject-introspection" ,gobject-introspection)
628 ("gtk-doc" ,gtk-doc)
629 ;; Would only be required by configure flag "--enable-extended-tests".
630 ;("gtx" ,gtx)
631 ("pkg-config" ,pkg-config)
632 ("pygobject" ,python-pygobject)
633 ("python" ,python-wrapper)
634 ("vala" ,vala)))
635 (inputs
636 `(("icu" ,icu4c)))
637 (propagated-inputs
638 `(("glib" ,glib)))
639 (synopsis "Model to synchronize multiple instances over DBus")
640 (description "Dee is a library that uses DBus to provide objects allowing
641you to create Model-View-Controller type programs across DBus. It also consists
642of utility objects which extend DBus allowing for peer-to-peer discoverability
643of known objects without needing a central registrar.")
644 (home-page "https://launchpad.net/dee")
645 (license
646 ;; Dual-licensed
647 (list
648 license:lgpl3+
649 license:gpl3+))))
650
70f33d3c
RG
651(define-public zeitgeist
652 (package
653 (name "zeitgeist")
654 (version "1.0.2")
655 (source
656 (origin
657 (method git-fetch)
658 (uri
659 (git-reference
660 (url "https://gitlab.freedesktop.org/zeitgeist/zeitgeist.git")
661 (commit
662 (string-append "v" version))))
663 (file-name
664 (git-file-name name version))
665 (sha256
666 (base32 "0ig3d3j1n0ghaxsgfww6g2hhcdwx8cljwwfmp9jk1nrvkxd6rnmv"))))
667 (build-system glib-or-gtk-build-system)
668 (arguments
669 `(#:configure-flags
670 (list
671 "--enable-explain-queries"
672 "--enable-fts"
673 "--enable-docs")
674 #:phases
675 (modify-phases %standard-phases
676 (add-after 'unpack 'patch-docbook-xml
677 (lambda* (#:key inputs #:allow-other-keys)
678 (with-directory-excursion "doc/libzeitgeist"
679 (substitute* "zeitgeist-gtkdoc-index.sgml"
680 (("http://www.oasis-open.org/docbook/xml/4.3/")
681 (string-append (assoc-ref inputs "docbook-xml")
682 "/xml/dtd/docbook/"))))
683 #t))
684 (add-after 'patch-docbook-xml 'disable-failing-tests
685 (lambda _
686 (substitute* "test/direct/Makefile.am"
687 ((" log-test ")
688 ""))
689 (substitute* "test/c/Makefile.am"
690 ((" test-log ")
691 ""))
692 #t))
693 (add-before 'bootstrap 'remove-autogen-script
694 (lambda _
695 ;; To honor `autoreconf -vif` by build-system.
696 (delete-file "autogen.sh")
697 #t)))))
698 (native-inputs
699 `(("autoconf" ,autoconf)
700 ("automake" ,automake)
701 ("docbook-xml" ,docbook-xml-4.3)
702 ("gettext" ,gettext-minimal)
703 ("gobject-introspection" ,gobject-introspection)
704 ("gtk-doc" ,gtk-doc)
705 ("libtool" ,libtool)
706 ("pkg-config" ,pkg-config)
707 ("vala" ,vala)
708 ("xorg-server-for-tests" ,xorg-server-for-tests)))
709 (inputs
710 `(("dee-icu" ,dee)
711 ("gtk+" ,gtk+)
712 ("json-glib" ,json-glib)
713 ("sqlite" ,sqlite)
714 ("telepathy-glib" ,telepathy-glib)
715 ("python" ,python-wrapper)
716 ("python-rdflib" ,python-rdflib)
717 ("xapian-config" ,xapian)))
718 (propagated-inputs
719 `(("glib" ,glib)))
720 (synopsis "Desktop Activity Logging")
721 (description "Zeitgeist is a service which logs the users’s activities and
722events, anywhere from files opened to websites visited and conversations. It
723makes this information readily available for other applications to use. It is
724able to establish relationships between items based on similarity and usage
725patterns.")
726 (home-page "https://zeitgeist.freedesktop.org/")
727 (license
728 ;; Dual-licensed
729 (list
730 license:lgpl2.1+
731 license:gpl2+))))
732
c15ff237
RG
733(define-public libcloudproviders
734 (package
735 (name "libcloudproviders")
736 (version "0.3.1")
737 (source
738 (origin
739 (method url-fetch)
740 (uri
741 (string-append "mirror://gnome/sources/" name "/"
742 (version-major+minor version) "/"
743 name "-" version ".tar.xz"))
744 (sha256
745 (base32 "0aars24myf6n8b8hm1n12hsgcm54097kpbpm4ba31zp1l4y22qs7"))))
746 (build-system meson-build-system)
747 (outputs '("out" "doc"))
748 (arguments
749 `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
750 #:configure-flags
751 (list
752 "-Denable-gtk-doc=true")
753 #:phases
754 (modify-phases %standard-phases
755 (add-after 'install 'move-doc
756 (lambda* (#:key outputs #:allow-other-keys)
757 (let* ((out (assoc-ref outputs "out"))
758 (doc (assoc-ref outputs "doc")))
759 (mkdir-p (string-append doc "/share"))
760 (rename-file
761 (string-append out "/share/gtk-doc")
762 (string-append doc "/share/gtk-doc"))
763 #t))))))
764 (native-inputs
765 `(("glib:bin" ,glib "bin")
766 ("gobject-introspection" ,gobject-introspection)
767 ("gtk-doc" ,gtk-doc)
768 ("pkg-config" ,pkg-config)
769 ("vala" ,vala)))
770 (inputs
771 `(("glib" ,glib)
772 ("glib-networking" ,glib-networking)))
773 (synopsis "Cloudproviders Integration API")
774 (description "Libcloudproviders is a DBus API that allows cloud storage sync
775clients to expose their services. Clients such as file managers and desktop
776environments can then provide integrated access to the cloud providers
777services.")
778 (home-page "https://csorianognome.wordpress.com/2015/07/07/cloud-providers/")
779 (license license:lgpl3+)))
780
56db7a66
RG
781(define-public gnome-photos
782 (package
783 (name "gnome-photos")
784 (version "3.34.2")
785 (source
786 (origin
787 (method url-fetch)
788 (uri
789 (string-append "mirror://gnome/sources/" name "/"
790 (version-major+minor version) "/"
791 name "-" version ".tar.xz"))
792 (sha256
793 (base32
794 "06ml5sf8xhpan410msqz085hmfc7082d368pb82yq646y9pcfn9w"))))
795 (build-system meson-build-system)
796 (arguments
797 `(#:glib-or-gtk? #t
798 #:configure-flags
799 (list "-Ddogtail=false" ; Not available
800 ;; Required for RUNPATH validation.
801 (string-append "-Dc_link_args=-Wl,-rpath="
802 (assoc-ref %outputs "out") "/lib/gnome-photos"))
803 #:phases
804 (modify-phases %standard-phases
805 (add-after 'install 'wrap-gnome-photos
806 (lambda* (#:key inputs outputs #:allow-other-keys)
807 (let*
808 ((out (assoc-ref outputs "out")))
809 (wrap-program (string-append out "/bin/gnome-photos")
810 `("GRL_PLUGIN_PATH" = (,(getenv "GRL_PLUGIN_PATH")))))
811 #t)))))
812 (native-inputs
813 `(("dbus" ,dbus)
814 ("desktop-file-utils" ,desktop-file-utils)
815 ("gettext" ,gettext-minimal)
816 ("git" ,git-minimal)
817 ("glib:bin" ,glib "bin")
818 ("gobject-introspection" ,gobject-introspection)
819 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
820 ("gtk+:bin" ,gtk+ "bin")
821 ("itstool" ,itstool)
822 ("pkg-config" ,pkg-config)))
823 (inputs
824 `(("babl" ,babl)
825 ("cairo" ,cairo)
826 ("gdk-pixbuf" ,gdk-pixbuf+svg)
827 ("gegl" ,gegl)
828 ("geocode-glib" ,geocode-glib)
829 ("gexiv2" ,gexiv2)
830 ("gnome-online-accounts" ,gnome-online-accounts)
831 ("gnome-online-miners" ,gnome-online-miners)
832 ("grilo" ,grilo)
833 ("grilo-plugins" ,grilo-plugins)
834 ("gtk+" ,gtk+)
835 ("libdazzle" ,libdazzle)
836 ("libgdata" ,libgdata)
837 ("libgfbgraph" ,gfbgraph)
838 ("libjpeg" ,libjpeg-turbo)
839 ("libpng" ,libpng)
840 ("librest" ,rest)
841 ("pygobject" ,python-pygobject)
842 ("tracker" ,tracker)
843 ("tracker-miners" ,tracker-miners)))
844 (synopsis "Access, organize and share your photos on GNOME desktop")
845 (description "GNOME Photos is a simple and elegant replacement for using a
846file manager to deal with photos. Enhance, crop and edit in a snap. Seamless
847cloud integration is offered through GNOME Online Accounts.")
848 (home-page "https://wiki.gnome.org/Apps/Photos")
849 (license license:gpl3+)))
850
1aefe650
RG
851(define-public gnome-music
852 (package
853 (name "gnome-music")
854 (version "3.34.5")
855 (source
856 (origin
857 (method url-fetch)
858 (uri
859 (string-append "mirror://gnome/sources/" name "/"
860 (version-major+minor version) "/"
861 name "-" version ".tar.xz"))
862 (sha256
863 (base32
864 "1r5sfw5cbd6qqh27lzhblazir0bfi3k7nqppw66qw990isqm5psy"))))
865 (build-system meson-build-system)
866 (arguments
867 `(#:glib-or-gtk? #t
868 #:phases
869 (modify-phases %standard-phases
870 (add-after 'install 'wrap-gnome-music
871 (lambda* (#:key inputs outputs #:allow-other-keys)
872 (let*
873 ((out (assoc-ref outputs "out"))
874 (pylib (string-append out "/lib/python"
875 ,(version-major+minor
876 (package-version python))
877 "/site-packages")))
878 (wrap-program (string-append out "/bin/gnome-music")
879 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))
880 `("GST_PLUGIN_SYSTEM_PATH" = (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
881 `("GRL_PLUGIN_PATH" = (,(getenv "GRL_PLUGIN_PATH")))
882 `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))))
883 #t)))))
884 (native-inputs
885 `(("desktop-file-utils" ,desktop-file-utils)
886 ("gettext" ,gettext-minimal)
887 ("glib:bin" ,glib "bin")
888 ("gobject-introspection" ,gobject-introspection)
889 ("gtk+:bin" ,gtk+ "bin")
890 ("itstools" ,itstool)
891 ("pkg-config" ,pkg-config)))
892 (inputs
893 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
894 ("grilo" ,grilo)
895 ("grilo-plugins" ,grilo-plugins)
896 ("gst-plugins-base" ,gst-plugins-base)
897 ("gstreamer" ,gstreamer)
898 ("gvfs" ,gvfs)
899 ("libdazzle" ,libdazzle)
900 ("libmediaart" ,libmediaart)
901 ("libsoup" ,libsoup)
902 ("pycairo" ,python-pycairo)
903 ("pygobject" ,python-pygobject)
904 ("tracker" ,tracker)
905 ("tracker-miners" ,tracker-miners)))
906 (synopsis "Simple music player for GNOME desktop")
907 (description "GNOME Music is the new GNOME music playing application that
908aims to combine an elegant and immersive browsing experience with simple
909and straightforward controls.")
910 (home-page "https://wiki.gnome.org/Apps/Music")
911 (license license:gpl2+)))
912
72fd1b3f
RG
913(define-public portablexdr
914 (package
915 (name "portablexdr")
916 (version "4.9.1")
917 (source
918 (origin
919 (method url-fetch)
920 (uri
921 (string-append "https://people.redhat.com/~rjones/" name "/files/"
922 name "-" version ".tar.gz"))
923 (sha256
924 (base32
925 "0b77ipvvi520nv7rr6jb1c3xryhc3m2mywhby7m48kfgag8vvx2w"))))
926 (build-system gnu-build-system)
927 (synopsis "External Data Representation Library")
928 (description "PortableXDR is an implementation of External Data
929Representation (XDR) Library. It is a standard data serialization format, for
930uses such as computer network protocols. It allows data to be transferred
931between different kinds of computer systems.")
932 (home-page "https://people.redhat.com/~rjones/portablexdr/")
933 (license
934 (list
935 license:gpl2+
936 license:lgpl2.1+))))
937
30003a64
RG
938(define-public tepl
939 (package
940 (name "tepl")
941 (version "4.4.0")
942 (source
943 (origin
944 (method url-fetch)
945 (uri
946 (string-append "mirror://gnome/sources/" name "/"
947 (version-major+minor version) "/"
948 name "-" version ".tar.xz"))
949 (sha256
950 (base32
951 "0mm2z849hnni7597an05mrv0dckrxjngpf2xfa0g5s17i8x6gxp6"))))
952 (build-system glib-or-gtk-build-system)
953 (arguments
954 `(#:tests? #f)) ; FIX-ME: Requires gvfs
955 (native-inputs
956 `(("gobject-introspection" ,gobject-introspection)
957 ("pkg-config" ,pkg-config)))
958 (inputs
959 `(("amtk" ,amtk)
960 ("glib" ,glib)
961 ("gtk+" ,gtk+)
962 ("gtksourceview" ,gtksourceview)
963 ("libxml2" ,libxml2)
964 ("uchardet" ,uchardet)))
965 (synopsis "Text editor product line")
966 (description "Tepl is a library that eases the development of
967GtkSourceView-based text editors and IDEs.")
968 (home-page "https://wiki.gnome.org/Projects/Tepl")
969 (license license:lgpl2.1+)))
970
2e6bc595
RG
971(define-public krb5-auth-dialog
972 (package
973 (name "krb5-auth-dialog")
974 (version "3.26.1")
975 (source
976 (origin
977 (method url-fetch)
978 (uri
979 (string-append "mirror://gnome/sources/" name "/"
980 (version-major+minor version) "/"
981 name "-" version ".tar.xz"))
982 (sha256
983 (base32
984 "1w91gsvmifqhiam3xqf88i5rk2w6qadjalmbvvamjdc37j0vdc6x"))))
985 (build-system glib-or-gtk-build-system)
986 (native-inputs
987 `(("intltool" ,intltool)
988 ("itstool" ,itstool)
989 ("libxml2" ,libxml2)
990 ("pkg-config" ,pkg-config)
991 ("python-wrapper" ,python-wrapper)))
992 (inputs
993 `(("glib" ,glib)
994 ("gtk+" ,gtk+)
995 ("libnotify" ,libnotify)
996 ("mit-krb5" ,mit-krb5)
997 ("network-manager" ,network-manager)))
998 (synopsis "Popup dialogs for Kerberos 5")
999 (description "krb5-auth-dialog is a simple dialog that monitors Kerberos
1000tickets, and pops up a dialog when they are about to expire.")
1001 (home-page "https://gitlab.gnome.org/GNOME/krb5-auth-dialog")
1002 (license license:gpl2+)))
1003
a3cbcbaf
RG
1004(define-public notification-daemon
1005 (package
1006 (name "notification-daemon")
1007 (version "3.20.0")
1008 (source
1009 (origin
1010 (method url-fetch)
1011 (uri
1012 (string-append "mirror://gnome/sources/" name "/"
1013 (version-major+minor version) "/"
1014 name "-" version ".tar.xz"))
1015 (sha256
1016 (base32
1017 "1rgchqi4j2ll7d6a7lgy7id0w9rrkwkgic1096fbm2zx6n7pc4yx"))))
1018 (build-system glib-or-gtk-build-system)
1019 (native-inputs
1020 `(("intltool" ,intltool)
1021 ("pkg-config" ,pkg-config)))
1022 (inputs
1023 `(("glib" ,glib)
1024 ("gtk+" ,gtk+)
1025 ("x11" ,libx11)))
1026 (synopsis "Notification Daemon for GNOME Desktop")
1027 (description "Notification-Daemon is the server implementation of the
1028freedesktop.org desktop notification specification.")
1029 (home-page "https://wiki.gnome.org/Projects/NotificationDaemon")
1030 (license license:gpl2+)))
1031
4e8bdbf8
RG
1032(define-public mm-common
1033 (package
1034 (name "mm-common")
553f2f3f 1035 (version "1.0.1")
4e8bdbf8
RG
1036 (source (origin
1037 (method url-fetch)
02cb4ca7 1038 (uri (string-append "mirror://gnome/sources/mm-common/"
4e8bdbf8 1039 (version-major+minor version) "/"
02cb4ca7 1040 "mm-common-" version ".tar.xz"))
4e8bdbf8
RG
1041 (sha256
1042 (base32
553f2f3f 1043 "1jasx9a9g7nqf7jcv3mrg4qh5cp9sq724jxjaz4wa1dzmxsxg8i8"))))
4e8bdbf8
RG
1044 (build-system meson-build-system)
1045 (arguments
1046 `(#:phases
1047 (modify-phases %standard-phases
1048 (add-after 'unpack 'patch
1049 (lambda* (#:key inputs #:allow-other-keys)
1050 (substitute* "util/mm-common-prepare.in"
1051 (("ln") (string-append (assoc-ref inputs "coreutils")
1052 "/bin/ln"))
1053 (("cp") (string-append (assoc-ref inputs "coreutils")
1054 "/bin/cp"))
1055 (("sed") (string-append (assoc-ref inputs "sed")
1056 "/bin/sed"))
1057 (("cat") (string-append (assoc-ref inputs "coreutils")
1058 "/bin/cat")))
1059 #t)))))
1060 (native-inputs
4e8bdbf8 1061 `(("coreutils" ,coreutils)
74a65885
DM
1062 ("gettext" ,gettext-minimal)
1063 ("pkg-config" ,pkg-config)
4e8bdbf8 1064 ("sed" ,sed)))
74a65885
DM
1065 (inputs
1066 `(("python" ,python)))
4e8bdbf8
RG
1067 (synopsis "Module of GNOME C++ bindings")
1068 (description "The mm-common module provides the build infrastructure
1069and utilities shared among the GNOME C++ binding libraries. Release
1070archives of mm-common include the Doxygen tag file for the GNU C++
1071Library reference documentation.")
1072 (home-page "https://gitlab.gnome.org/GNOME/mm-common")
1073 (license license:gpl2+)))
1074
e05ce17d
RG
1075(define-public phodav
1076 (package
1077 (name "phodav")
1078 (version "2.4")
1079 (source (origin
1080 (method url-fetch)
1081 (uri (string-append "mirror://gnome/sources/" name "/"
1082 (version-major+minor version) "/"
1083 name "-" version ".tar.xz"))
1084 (sha256
1085 (base32
1086 "1hxq8c5qfah3w7mxcyy3yhzdgswplll31a69p5mqdl04bsvw5pbx"))))
1087 (build-system meson-build-system)
1088 (native-inputs
1089 `(("gettext" ,gettext-minimal)
1090 ("glib:bin" ,glib "bin")
1091 ("gtk-doc" ,gtk-doc)
1092 ("pkg-config" ,pkg-config)))
1093 (inputs
1094 `(("avahi" ,avahi)
1095 ("libgudev" ,libgudev)
1096 ("libsoup" ,libsoup)))
1097 (synopsis "WebDav server implementation using libsoup")
1098 (description "PhoDav was initially developed as a file-sharing mechanism for Spice,
1099but it is generic enough to be reused in other projects,
1100in particular in the GNOME desktop.")
1101 (home-page "https://wiki.gnome.org/phodav")
1102 (license license:lgpl2.1+)))
1103
29ae18db
RG
1104(define-public gnome-color-manager
1105 (package
1106 (name "gnome-color-manager")
1107 (version "3.32.0")
1108 (source (origin
1109 (method url-fetch)
1110 (uri (string-append "mirror://gnome/sources/" name "/"
1111 (version-major+minor version) "/"
1112 name "-" version ".tar.xz"))
1113 (sha256
1114 (base32
1115 "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"))))
1116 (build-system meson-build-system)
1117 (arguments
1118 `(#:glib-or-gtk? #t
1119 #:phases
1120 (modify-phases %standard-phases
1121 (add-before
1122 'check 'pre-check
1123 (lambda _
1124 ;; Tests require a running X server.
1125 (system "Xvfb :1 &")
1126 (setenv "DISPLAY" ":1")
1127 #t)))))
1128 (native-inputs
1129 `(("desktop-file-utils" ,desktop-file-utils)
1130 ("gettext" ,gettext-minimal)
1131 ("glib:bin" ,glib "bin")
1132 ("gtk+:bin" ,gtk+ "bin")
1133 ("itstool" ,itstool)
1134 ("pkg-config" ,pkg-config)
1135 ("xorg-server" ,xorg-server-for-tests)))
1136 (inputs
1137 `(("adwaita-icon-theme" ,adwaita-icon-theme)
1138 ("appstream-glib" ,appstream-glib)
1139 ("colord-gtk" ,colord-gtk)
1140 ("exiv2" ,exiv2)
1141 ("gnome-desktop" ,gnome-desktop)
1142 ("libcanberra" ,libcanberra)
1143 ("libexif" ,libexif)
1144 ("libtiff" ,libtiff)
1145 ("libxrandr" ,libxrandr)
1146 ("libxtst" ,libxtst)
1147 ("libxxf86vm" ,libxxf86vm)
1148 ("vte" ,vte)
1149 ("xorgproto" ,xorgproto)))
1150 (synopsis "Color profile manager for the GNOME desktop")
1151 (description "GNOME Color Manager is a session framework that makes
1152it easy to manage, install and generate color profiles
1153in the GNOME desktop.")
1154 (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
7bd000d1 1155 (license license:gpl2+)))
29ae18db 1156
e05471a1
RG
1157(define-public gnome-online-miners
1158 (package
1159 (name "gnome-online-miners")
49dcd7fc 1160 (version "3.34.0")
e05471a1
RG
1161 (source (origin
1162 (method url-fetch)
1163 (uri (string-append "mirror://gnome/sources/" name "/"
1164 (version-major+minor version) "/"
1165 name "-" version ".tar.xz"))
1166 (sha256
1167 (base32
49dcd7fc 1168 "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44"))))
e05471a1
RG
1169 (build-system glib-or-gtk-build-system)
1170 (native-inputs
1171 `(("gettext" ,gettext-minimal)
1172 ("glib:bin" ,glib "bin")
29ae18db 1173 ("gobject-introspection" ,gobject-introspection)
e05471a1
RG
1174 ("gtk+:bin" ,gtk+ "bin")
1175 ("pkg-config" ,pkg-config)))
1176 (inputs
1177 `(("gnome-online-accounts" ,gnome-online-accounts)
1178 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
e05471a1
RG
1179 ("grilo" ,grilo)
1180 ("libgdata" ,libgdata)
1181 ("libgfbgraph" ,gfbgraph)
1182 ("libzapojit" ,libzapojit)
1183 ("rest" ,rest)
1184 ("tracker" ,tracker)))
1185 (synopsis "Web Crawlers for GNOME")
1186 (description "GNOME Online Miners provides a set of crawlers that
1187go through your online content and index them locally in Tracker.
1188It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
1189 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
7bd000d1 1190 (license license:gpl2+)))
e05471a1 1191
e2aed29c
RG
1192(define-public gssdp
1193 (package
1194 (name "gssdp")
c257e0ec 1195 (version "1.2.3")
e2aed29c
RG
1196 (source (origin
1197 (method url-fetch)
1198 (uri (string-append "mirror://gnome/sources/" name "/"
1199 (version-major+minor version) "/"
1200 name "-" version ".tar.xz"))
1201 (sha256
1202 (base32
c257e0ec 1203 "1s57i8a8wnnxnsfl27cq4503dkdlzbrhry5zpg23sfqfffvdqqx2"))))
e2aed29c
RG
1204 (build-system meson-build-system)
1205 (native-inputs
1206 `(("gettext" ,gettext-minimal)
1207 ("glib:bin" ,glib "bin")
1208 ("gobject-introspection" ,gobject-introspection)
1209 ("gtk-doc" ,gtk-doc)
1210 ("pkg-config" ,pkg-config)
1211 ("vala" ,vala)))
1212 (inputs
1213 `(("gtk+" ,gtk+)
1214 ("libsoup" ,libsoup)))
1215 (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery
1216Protocol} for GNOME")
1217 (description "This package provides a library to handle resource discovery
1218and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and
1219a debugging tool, @command{gssdp-device-sniffer}.")
1220 (home-page "https://gitlab.gnome.org/GNOME/gssdp")
1221 (license license:lgpl2.0+)))
1222
291a85b2
RG
1223(define-public gupnp
1224 (package
1225 (name "gupnp")
5b882f47 1226 (version "1.2.4")
291a85b2
RG
1227 (source (origin
1228 (method url-fetch)
1229 (uri (string-append "mirror://gnome/sources/" name "/"
1230 (version-major+minor version) "/"
1231 name "-" version ".tar.xz"))
1232 (sha256
1233 (base32
5b882f47 1234 "1ld7mrpdv9cszmfzh7i19qx4li25j3fr7x1jp38l8phzlmz3187p"))))
291a85b2
RG
1235 (build-system meson-build-system)
1236 (native-inputs
1237 `(("gettext" ,gettext-minimal)
1238 ("glib:bin" ,glib "bin")
1239 ("gobject-introspection" ,gobject-introspection)
1240 ("gtk-doc" ,gtk-doc)
1241 ("pkg-config" ,pkg-config)
1242 ("vala" ,vala)))
1243 (inputs
1244 `(("gssdp" ,gssdp)
1245 ("gtk+" ,gtk+)
1246 ("libsoup" ,libsoup)))
1247 (synopsis "PnP API for GNOME")
1248 (description "This package provides GUPnP, an object-oriented framework
1249for creating UPnP devices and control points, written in C using
1250@code{GObject} and @code{libsoup}.")
1251 (home-page "https://gitlab.gnome.org/GNOME/gupnp")
1252 (license license:lgpl2.0+)))
1253
747d7fe4
RG
1254(define-public gupnp-dlna
1255 (package
1256 (name "gupnp-dlna")
1257 (version "0.10.5")
1258 (source (origin
1259 (method url-fetch)
1260 (uri (string-append "mirror://gnome/sources/" name "/"
1261 (version-major+minor version) "/"
1262 name "-" version ".tar.xz"))
1263 (sha256
1264 (base32
1265 "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj"))))
1266 (build-system gnu-build-system)
1267 (native-inputs
1268 `(("gettext" ,gettext-minimal)
1269 ("glib:bin" ,glib "bin")
1270 ("gobject-introspection" ,gobject-introspection)
1271 ("gtk-doc" ,gtk-doc)
1272 ("libxml" ,libxml2)
1273 ("pkg-config" ,pkg-config)
1274 ("vala" ,vala)))
1275 (inputs
1276 `(("gstreamer" ,gstreamer)
1277 ("gupnp" ,gupnp)))
1278 (propagated-inputs
1279 `(("gst-plugins-base" ,gst-plugins-base)
1280 ("gst-plugins-good" ,gst-plugins-good)))
1281 (synopsis "GUPnP DLNA for GNOME")
1282 (description "This package provides a small utility library to
1283support DLNA-related tasks such as media profile guessing, transcoding to a
1284given profile, etc. DLNA is a subset of UPnP A/V.")
1285 (home-page "https://gitlab.gnome.org/GNOME/gupnp-dlna")
1286 (license license:lgpl2.0+)))
1287
1b4cb628
RG
1288(define-public gupnp-av
1289 (package
1290 (name "gupnp-av")
1291 (version "0.12.11")
1292 (source (origin
1293 (method url-fetch)
1294 (uri (string-append "mirror://gnome/sources/" name "/"
1295 (version-major+minor version) "/"
1296 name "-" version ".tar.xz"))
1297 (sha256
1298 (base32
1299 "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8"))))
1300 (build-system gnu-build-system)
1301 (native-inputs
1302 `(("gettext" ,gettext-minimal)
1303 ("glib:bin" ,glib "bin")
1304 ("gobject-introspection" ,gobject-introspection)
1305 ("gtk-doc" ,gtk-doc)
1306 ("libxml" ,libxml2)
1307 ("pkg-config" ,pkg-config)))
1308 (inputs
1309 `(("gtk+" ,gtk+)
1310 ("gupnp" ,gupnp)))
1311 (synopsis "GUPnP A/V for GNOME")
1312 (description "This package provides a small library for handling
1313and implementation of UPnP A/V profiles.")
1314 (home-page "https://gitlab.gnome.org/GNOME/gupnp-av")
1315 (license license:lgpl2.0+)))
e05471a1 1316
02ebbca8
RG
1317(define-public libmediaart
1318 (package
1319 (name "libmediaart")
1320 (version "1.9.4")
1321 (source (origin
1322 (method url-fetch)
1323 (uri (string-append "mirror://gnome/sources/" name "/"
1324 (version-major+minor version) "/"
1325 name "-" version ".tar.xz"))
1326 (sha256
1327 (base32
1328 "0gc10imyabk57ar54m0qzms0x9dnmkymhkzyk8w1aj3y4lby0yx5"))))
1329 (build-system gnu-build-system)
1330 (native-inputs
1331 `(("glib:bin" ,glib "bin")
1332 ("pkg-config" ,pkg-config)))
1333 (inputs
1334 `(("gdk-pixbuf" ,gdk-pixbuf)
1335 ("gettext" ,gettext-minimal)
1336 ("gobject-introspection" ,gobject-introspection)
1337 ("gtk+:doc", gtk+ "doc")
1338 ("vala" ,vala)))
1339 (synopsis "Media art library for the GNOME desktop")
1340 (description
1341 "The libmediaart library is the foundation for media art caching,
1342extraction, and lookup for applications on the desktop.")
1343 (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
1344 (license license:lgpl2.1+)))
1345
a26680eb
RG
1346(define-public gnome-initial-setup
1347 (package
1348 (name "gnome-initial-setup")
1349 (version "3.32.1")
1350 (source (origin
1351 (method url-fetch)
1352 (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
1353 (version-major+minor version)
1354 "/gnome-initial-setup-" version ".tar.xz"))
1355 (sha256
1356 (base32
1357 "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
1358 (build-system meson-build-system)
1359 (arguments
a65cc579
DM
1360 '(#:configure-flags '(;; Enable camera support for user selfie.
1361 "-Dcheese=auto"
c627e2cb
LC
1362 "-Dsystemd=false")
1363 #:phases (modify-phases %standard-phases
1364 (add-after 'unpack 'set-gkbd-file-name
1365 (lambda* (#:key inputs #:allow-other-keys)
1366 ;; Allow the "Preview" button in the keyboard layout
1367 ;; selection dialog to display the layout.
1368 (let ((libgnomekbd (assoc-ref inputs "libgnomekbd")))
1369 (substitute* "gnome-initial-setup/pages/keyboard/cc-input-chooser.c"
1370 (("\"gkbd-keyboard-display")
1371 (string-append "\"" libgnomekbd
1372 "/bin/gkbd-keyboard-display")))
1373 #t))))))
a26680eb
RG
1374 (native-inputs
1375 `(("gettext" ,gettext-minimal)
1376 ("glib:bin" ,glib "bin")
1377 ("gobject-introspection" ,gobject-introspection)
1378 ("gtk+:bin" ,gtk+ "bin")
1379 ("pkg-config" ,pkg-config)))
1380 (inputs
1381 `(("accountsservice" ,accountsservice)
1382 ;("adwaita-icon-theme" ,adwaita-icon-theme)
1383 ("gdm" ,gdm)
1384 ("geoclue" ,geoclue)
1385 ("gnome-desktop" ,gnome-desktop)
1386 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
1387 ("gnome-online-accounts" ,gnome-online-accounts)
1388 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1389 ("gstreamer" ,gstreamer)
1390 ("ibus" ,ibus)
1391 ("json-glib" ,json-glib)
1392 ("krb5" ,mit-krb5)
1393 ("libgweather" ,libgweather)
8d9477b8 1394 ("libnma" ,libnma)
a26680eb
RG
1395 ("libsecret" ,libsecret)
1396 ("network-manager" ,network-manager)
a26680eb
RG
1397 ("packagekit" ,packagekit)
1398 ("polkit" ,polkit)
1399 ("pwquality" ,libpwquality)
1400 ("rest" ,rest)
1401 ("upower" ,upower)
c627e2cb
LC
1402 ("webkitgtk" ,webkitgtk)
1403 ("libgnomekbd" ,libgnomekbd)))
a26680eb 1404 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
1405 (description "This package provides a set-up wizard when a
1406user logs into GNOME for the first time. It typically provides a
1407tour of all gnome components and allows the user to set them up.")
a26680eb
RG
1408 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
1409 (license license:gpl2)))
1410
b5f01392
RG
1411(define-public gnome-user-share
1412 (package
1413 (name "gnome-user-share")
1414 (version "3.33.1")
1415 (source (origin
1416 (method url-fetch)
1417 (uri (string-append "mirror://gnome/sources/" name "/"
1418 (version-major+minor version) "/"
1419 name "-" version ".tar.xz"))
1420 (sha256
1421 (base32
1422 "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7"))))
1423 (build-system meson-build-system)
1424 (arguments
1425 `(#:glib-or-gtk? #t
1426 #:configure-flags
1427 `("-Dsystemd=false"
1428 ;; Enable nautilus extension for file sharing.
1429 "-Dnautilus_extension=true")))
1430 (native-inputs
1431 `(("gettext" ,gettext-minimal)
1432 ("glib:bin" ,glib "bin")
1433 ("gobject-introspection" ,gobject-introspection)
1434 ("gtk+:bin" ,gtk+ "bin")
1435 ("pkg-config" ,pkg-config)
1436 ("yelp-tools" ,yelp-tools)))
1437 (inputs
1438 `(("glib" ,glib)
1439 ("gnome-bluetooth" ,gnome-bluetooth)
1440 ("gtk+" ,gtk+)
1441 ("libcanberra" ,libcanberra)
1442 ("libnotify" ,libnotify)
1443 ("nautilus" ,nautilus))) ; For nautilus extension.
1444 (synopsis "File sharing for GNOME desktop")
1445 (description "GNOME User Share is a small package that binds together
1446various free software projects to bring easy to use user-level file
1447sharing to the masses.")
1448 (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share")
2aeca24b 1449 (license license:gpl2+)))
b5f01392 1450
04b201bb
RG
1451(define-public sushi
1452 (package
1453 (name "sushi")
1454 (version "3.32.1")
1455 (source (origin
1456 (method url-fetch)
1457 (uri (string-append "mirror://gnome/sources/" name "/"
1458 (version-major+minor version) "/"
1459 name "-" version ".tar.xz"))
1460 (sha256
1461 (base32
1462 "02idvqjk76lii9xyg3b1yz4rw721709bdm5j8ikjym6amcghl0aj"))))
1463 (build-system meson-build-system)
1464 (arguments
1465 `(#:glib-or-gtk? #t
1466 #:phases
1467 (modify-phases %standard-phases
1468 (add-after 'glib-or-gtk-wrap 'wrap-typelib
1469 (lambda* (#:key outputs #:allow-other-keys)
1470 (let ((prog (string-append (assoc-ref outputs "out")
1471 "/bin/sushi")))
1472 ;; Put existing typelibs before sushi's deps, so as to correctly
1473 ;; infer gdk-pixbuf
1474 (wrap-program prog
1475 `("GI_TYPELIB_PATH" suffix (,(getenv "GI_TYPELIB_PATH"))))
1476 #t))))))
1477 (native-inputs
1478 `(("glib:bin" ,glib "bin")
1479 ("gettext" ,gettext-minimal)
1480 ("gobject-introspection" ,gobject-introspection)
1481 ("pkg-config" ,pkg-config)))
1482 (inputs
1483 `(("clutter" ,clutter)
1484 ("clutter-gst" ,clutter-gst)
1485 ("clutter-gtk" ,clutter-gtk)
1486 ("evince" ,evince) ; For file previewing.
1487 ("freetype" ,freetype)
1488 ("gdk-pixbuf" ,gdk-pixbuf)
1489 ("gjs" ,gjs)
1490 ("gst-plugins-base" ,gst-plugins-base)
1491 ("gstreamer" ,gstreamer)
1492 ("gtksourceview" ,gtksourceview-3)
1493 ("harfbuzz" ,harfbuzz)
1494 ("libepoxy" ,libepoxy)
1495 ("libmusicbrainz" ,libmusicbrainz)
1496 ("libxml2" ,libxml2)
1497 ("neon" ,neon)
1498 ("webkitgtk" ,webkitgtk)))
1499 (synopsis "File previewer for the GNOME desktop")
1500 (description "Sushi is a DBus-activated service that allows applications to
1501preview files on the GNOME desktop.")
1502 (home-page "https://gitlab.gnome.org/GNOME/sushi")
1503 (license license:gpl2+)))
1504
89af0902
RG
1505(define-public rygel
1506 (package
1507 (name "rygel")
1508 (version "0.38.3")
1509 (source (origin
1510 (method url-fetch)
1511 (uri (string-append "mirror://gnome/sources/" name "/"
1512 (version-major+minor version) "/"
1513 name "-" version ".tar.xz"))
1514 (sha256
1515 (base32
1516 "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8"))))
1517 (build-system gnu-build-system)
1518 (native-inputs
1519 `(("gettext" ,gettext-minimal)
1520 ("gobject-introspection" ,gobject-introspection)
1521 ("gtk-doc" ,gtk-doc)
1522 ("pkg-config" ,pkg-config)
1523 ("vala" ,vala)))
1524 (inputs
1525 `(("gdk-pixbuf" ,gdk-pixbuf)
1526 ("gssdp" ,gssdp)
1527 ("gstreamer" ,gstreamer)
1528 ("gst-plugins-base" ,gst-plugins-base)
1529 ("gtk+" ,gtk+)
1530 ("gupnp" ,gupnp)
1531 ("gupnp-av" ,gupnp-av)
1532 ("gupnp-dlna" ,gupnp-dlna)
1533 ("libgee" ,libgee)
1534 ("libmediaart" ,libmediaart)
1535 ("libsoup" ,libsoup)
1536 ("libxslt" ,libxslt)
1537 ("libunistring" ,libunistring)
1538 ("tracker" ,tracker)))
1539 (synopsis "Share audio, video, and pictures with other devices")
1540 (description
1541 "Rygel is a home media solution (@dfn{UPnP AV MediaServer and
1542MediaRenderer}) for GNOME that allows you to easily share audio, video, and
1543pictures, and to control a media player on your home network.
1544
1545Rygel achieves interoperability with other devices by trying to conform to the
1546strict requirements of DLNA and by converting media on-the-fly to formats that
1547client devices can handle.")
1548 (home-page "https://wiki.gnome.org/Projects/Rygel")
1549 (license (list
1550 ;; For logo (data/icons/*).
1551 license:cc-by-sa3.0
1552 ;; For all others.
1553 license:lgpl2.1+))))
1554
47e87093
RG
1555(define-public libnma
1556 (package
b1da33d9
BW
1557 (name "libnma")
1558 (version "1.8.28")
1559 (source (origin
1560 (method url-fetch)
1561 (uri (string-append "mirror://gnome/sources/" name "/"
1562 (version-major+minor version) "/"
1563 name "-" version ".tar.xz"))
1564 (sha256
1565 (base32
1566 "09mp6k0hfam1vyyv9kcd8j4gb2r58i05ipx2nswb58ris599bxja"))))
1567 (build-system meson-build-system)
1568 (arguments
1569 `(#:phases
1570 (modify-phases %standard-phases
1571 (add-after 'unpack 'patch-docbook-xml
1572 (lambda* (#:key inputs #:allow-other-keys)
1573 (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
1574 "/xml/dtd/docbook")))
1575 (substitute* "libnma-docs.xml"
1576 (("http://.*/docbookx\\.dtd")
1577 (string-append xmldoc "/docbookx.dtd")))
1578 #t))))))
1579 (native-inputs
1580 `(("docbook-xml" ,docbook-xml-4.3)
1581 ("gettext" ,gettext-minimal)
1582 ("glib:bin" ,glib "bin")
1583 ("gtk-doc" ,gtk-doc)
1584 ("gobject-introspection" ,gobject-introspection)
1585 ("pkg-config" ,pkg-config)
1586 ("vala" ,vala)))
1587 (inputs
1588 `(("gcr" ,gcr)
1589 ("gtk+" ,gtk+)
1590 ("iso-codes" ,iso-codes)
1591 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
1592 ("network-manager" ,network-manager)))
1593 (synopsis "Network Manager's applet library")
1594 (description "Libnma is an applet library for Network Manager. It was
47e87093
RG
1595initially part of network-manager-applet and has now become a separate
1596project.")
c25ca6b7
BW
1597 (home-page "https://gitlab.gnome.org/GNOME/libnma")
1598 ;; Some files carry the "GPL-2.0+" SPDX identifier while others say
1599 ;; "LGPL-2.1+".
1600 (license license:gpl2+)))
47e87093 1601
30416265
RG
1602(define-public gnome-menus
1603 (package
1604 (name "gnome-menus")
1605 (version "3.32.0")
1606 (source (origin
1607 (method url-fetch)
1608 (uri (string-append "mirror://gnome/sources/gnome-menus/"
1609 (version-major+minor version) "/"
1610 name "-" version ".tar.xz"))
1611 (sha256
1612 (base32
1613 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
1614 (build-system gnu-build-system)
1615 (native-inputs
1616 `(("gettext" ,gettext-minimal)
1617 ("glib" ,glib)
1618 ("pkg-config" ,pkg-config)))
1619 (synopsis "Menu support for GNOME desktop")
1620 (description "GNOME Menus contains the libgnome-menu library, the layout
1621configuration files for the GNOME menu, as well as a simple menu editor.")
1622 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 1623 (license license:lgpl2.0+)))
30416265 1624
d61a894b
CB
1625(define-public deja-dup
1626 (package
1627 (name "deja-dup")
899ffa13 1628 (version "40.6")
d61a894b 1629 (source (origin
899ffa13
BW
1630 (method url-fetch)
1631 (uri (string-append "https://gitlab.gnome.org/World/deja-dup/-/archive/"
1632 version "/deja-dup-" version ".tar.bz2"))
1633 (sha256
1634 (base32
1635 "0lwazh6crby5wpy9fg6zvwy4plqbhs2f98bm5lbizjdlbh88n5q0"))))
1636 (build-system meson-build-system)
d61a894b 1637 (arguments
899ffa13
BW
1638 `(#:glib-or-gtk? #t
1639 #:configure-flags
1640 (list
1641 ;; Otherwise, the RUNPATH will lack the final path component.
1642 (string-append "-Dc_link_args=-Wl,-rpath="
1643 (assoc-ref %outputs "out") "/lib/deja-dup"))
d61a894b
CB
1644 #:phases
1645 (modify-phases %standard-phases
899ffa13
BW
1646 (add-after 'unpack 'patch-paths
1647 (lambda* (#:key inputs #:allow-other-keys)
1648 (let ((python (assoc-ref inputs "python")))
1649 (substitute* '("libdeja/tools/duplicity/DuplicityInstance.vala"
1650 "libdeja/tests/scripts/instance-error.test")
1651 (("/bin/rm")
1652 (which "rm")))
1653 (substitute* "libdeja/tests/runner.vala"
1654 (("/bin/sh")
1655 (which "sh")))
1656 (substitute* "libdeja/tests/scripts/instance-error.test"
1657 (("`which python3`")
1658 (string-append python "/bin/python3"))))))
1659 (add-after 'unpack 'patch-libgpg-error
1660 (lambda* (#:key inputs #:allow-other-keys)
1661 (let ((libgpg-error (assoc-ref inputs "libgpg-error")))
1662 (substitute* "meson.build"
1663 (("(gpgerror_libs = ).*" _ var)
1664 (format #f "~a '-L~a/lib -lgpg-error'\n" var libgpg-error))))
1665 #t))
1666 (add-after 'unpack 'skip-gtk-update-icon-cache
1667 ;; Don't create 'icon-theme.cache'.
1668 (lambda _
1669 (substitute* "data/post-install.sh"
1670 (("gtk-update-icon-cache") "true"))
1671 #t)))))
d61a894b
CB
1672 (inputs
1673 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
d61a894b 1674 ("duplicity" ,duplicity)
899ffa13
BW
1675 ("python" ,python)
1676 ("python-pygobject" ,python-pygobject)
d61a894b 1677 ("gtk+" ,gtk+)
899ffa13 1678 ("json-glib" ,json-glib)
d61a894b 1679 ("libnotify" ,libnotify)
899ffa13 1680 ("libgpg-error" ,libgpg-error)
d61a894b 1681 ("libsecret" ,libsecret)
899ffa13 1682 ("libsoup" ,libsoup)
d61a894b
CB
1683 ("packagekit" ,packagekit)))
1684 (native-inputs
899ffa13
BW
1685 `(("appstream-glib" ,appstream-glib)
1686 ("desktop-file-utils" ,desktop-file-utils)
d61a894b 1687 ("gettext" ,gettext-minimal)
899ffa13
BW
1688 ("glib" ,glib "bin") ; for glib-compile-schemas.
1689 ("gobject-introspection" ,gobject-introspection)
d61a894b 1690 ("itstool" ,itstool)
899ffa13
BW
1691 ("pkg-config" ,pkg-config)
1692 ("vala" ,vala)))
1693 (home-page "https://wiki.gnome.org/Apps/DejaDup")
d61a894b
CB
1694 (synopsis "Simple backup tool, for regular encrypted backups")
1695 (description
1696 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
1697uses duplicity as the backend, which supports incremental backups and storage
1698either on a local, or remote machine via a number of methods.")
1699 (license license:gpl3+)))
1700
823b77fb
RG
1701(define-public gnome-user-docs
1702 (package
1703 (name "gnome-user-docs")
1704 (version "3.32.3")
1705 (source
1706 (origin
1707 (method url-fetch)
1708 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
1709 (version-major+minor version)
1710 "/gnome-user-docs-" version ".tar.xz"))
1711 (sha256
1712 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
1713 (build-system gnu-build-system)
1714 (native-inputs
1715 `(("gettext" ,gettext-minimal)
1716 ("itstool" ,itstool)
1717 ("pkg-config" ,pkg-config)
1718 ("xmllint" ,libxml2)))
1719 (synopsis "User documentation for the GNOME desktop")
1720 (description
1721 "The GNOME User Documentation explains how to use the GNOME desktop and its
1722components. It covers usage and setup of the core GNOME programs by end-users
1723and system administrators.")
1724 (home-page "https://live.gnome.org/DocumentationProject")
1725 (license license:cc-by3.0)))
1726
be93299d
RG
1727(define-public gnome-getting-started-docs
1728 (package
1729 (name "gnome-getting-started-docs")
1730 (version "3.32.2")
1731 (source
1732 (origin
1733 (method url-fetch)
1734 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
1735 (version-major+minor version)
1736 "/gnome-getting-started-docs-" version ".tar.xz"))
1737 (sha256
1738 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
1739 (build-system gnu-build-system)
1740 (native-inputs
1741 `(("gettext" ,gettext-minimal)
1742 ("itstool" ,itstool)
1743 ("pkg-config" ,pkg-config)
1744 ("xmllint" ,libxml2)))
1745 (synopsis "Help to get new users started with the GNOME desktop")
1746 (description
1747 "The GNOME Getting Started Documentation contains GNOME's intuitive
1748\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
1749
1750It is normally used together with @command{gnome-initial-setup}, but is also
1751useful as a tutorial and users' guide for new or less experienced users.")
1752 (home-page "https://live.gnome.org/DocumentationProject")
1753 (license license:cc-by-sa3.0)))
1754
a56be436
RJ
1755(define-public dia
1756 ;; This version from GNOME's repository includes fixes for compiling with
1757 ;; recent versions of the build tools. The latest activity on the
1758 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
f8687cb2
TGR
1759 ;; fixes since.
1760 (let ((commit "3cf7ec4c2e5bca139a7f3e17f9fc9009c237fcc5")
1761 (revision "2"))
a56be436
RJ
1762 (package
1763 (name "dia")
f8687cb2 1764 (version (git-version "0.97.3" revision commit))
a56be436
RJ
1765 (source (origin
1766 (method git-fetch)
1767 (uri (git-reference
914c8cdf 1768 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 1769 (commit commit)))
914c8cdf 1770 (file-name (git-file-name name version))
a56be436
RJ
1771 (sha256
1772 (base32
f8687cb2
TGR
1773 "04r8dspa6nmicrifhi3sh46hqvyy88hzq37xx99q3q1mwsrpmwy8"))))
1774 (build-system meson-build-system)
a56be436 1775 (inputs
f8687cb2 1776 `(("graphene" ,graphene)
a56be436
RJ
1777 ("gtk+" ,gtk+-2)
1778 ("libxml2" ,libxml2)
f8687cb2
TGR
1779 ("libxslt" ,libxslt)
1780 ("poppler" ,poppler)
1781 ;; Without Python 2, build fails: plug-ins/python/meson.build:4:0:
1782 ;; ERROR: Unknown method "dependency" in object.
1783 ("python-2" ,python-2)))
a56be436 1784 (native-inputs
f8687cb2
TGR
1785 `(("appstream-glib" ,appstream-glib)
1786 ("docbook-xsl" ,docbook-xsl)
a315afa3 1787 ("glib" ,glib "bin")
f8687cb2
TGR
1788 ("intltool" ,intltool)
1789 ("pkg-config" ,pkg-config)))
a56be436
RJ
1790 (home-page "https://wiki.gnome.org/Apps/Dia")
1791 (synopsis "Diagram creation for GNOME")
1792 (description "Dia can be used to draw different types of diagrams, and
1793includes support for UML static structure diagrams (class diagrams), entity
1794relationship modeling, and network diagrams. The program supports various file
1795formats like PNG, SVG, PDF and EPS.")
1796 (license license:gpl2+))))
1797
d0b19e44
RW
1798;; This is the unstable release, but it is required for the current stable
1799;; release of gvfs (1.38.1).
adc5cb1b
KK
1800(define-public libgdata
1801 (package
1802 (name "libgdata")
d0b19e44 1803 (version "0.17.9")
adc5cb1b
KK
1804 (source (origin
1805 (method url-fetch)
1806 (uri (string-append "mirror://gnome/sources/" name "/"
1807 (version-major+minor version) "/"
1808 name "-" version ".tar.xz"))
1809 (sha256
1810 (base32
d0b19e44 1811 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
1812 (build-system gnu-build-system)
1813 (arguments
1814 '(#:phases
1815 (modify-phases %standard-phases
448052b7
TGR
1816 (add-before 'check 'disable-failing-tests
1817 (lambda _
1818 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
1819 ;; They have been removed in libgdata 0.17.6, so just do the same.
1820 (substitute* "gdata/tests/Makefile"
1821 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
1822 #t)))))
1823 (native-inputs
1824 `(("glib:bin" ,glib "bin")
1825 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1826 ("intltool" ,intltool)
1827 ("pkg-config" ,pkg-config)
1828 ("uhttpmock" ,uhttpmock)))
1829 (inputs
1830 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 1831 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
1832 (propagated-inputs
1833 `(("gcr" ,gcr)
d0b19e44 1834 ("glib" ,glib)
14c297fd 1835 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 1836 ("json-glib" ,json-glib)
adc5cb1b 1837 ("liboauth" ,liboauth)
d0b19e44 1838 ("libsoup" ,libsoup)
adc5cb1b
KK
1839 ("libxml2" ,libxml2)))
1840 (home-page "https://wiki.gnome.org/Projects/libgdata")
1841 (synopsis "Library for accessing online service APIs")
1842 (description
1843 "libgdata is a GLib-based library for accessing online service APIs using
1844the GData protocol — most notably, Google's services. It provides APIs to
1845access the common Google services, and has full asynchronous support.")
1846 (license license:lgpl2.1+)))
1847
94e10cf4
KK
1848(define-public libgxps
1849 (package
1850 (name "libgxps")
66470a5a 1851 (version "0.3.1")
94e10cf4
KK
1852 (source (origin
1853 (method url-fetch)
7f10628c 1854 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
1855 (version-major+minor version) "/"
1856 name "-" version ".tar.xz"))
1857 (sha256
1858 (base32
66470a5a 1859 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 1860 (build-system meson-build-system)
94e10cf4
KK
1861 (native-inputs
1862 `(("gobject-introspection" ,gobject-introspection)
1863 ("pkg-config" ,pkg-config)))
1864 (inputs
c8d62d93 1865 `(("gtk+" ,gtk+)
b6b3e512 1866 ("libjpeg" ,libjpeg-turbo)
94e10cf4 1867 ("lcms" ,lcms)
0a6e9e13 1868 ("libtiff" ,libtiff)))
c8d62d93
MB
1869 (propagated-inputs
1870 ;; In Requires of libgxps.pc.
1871 `(("cairo" ,cairo)
1872 ("glib" ,glib)
1873 ("libarchive" ,libarchive)))
94e10cf4
KK
1874 (home-page "https://wiki.gnome.org/Projects/libgxps")
1875 (synopsis "GObject-based library for handling and rendering XPS documents")
1876 (description
1877 "libgxps is a GObject-based library for handling and rendering XPS
1878documents. This package also contains binaries that can convert XPS documents
1879to other formats.")
1880 (license license:lgpl2.1+)))
1881
4e09f57a
RG
1882(define-public gnome-characters
1883 (package
1884 (name "gnome-characters")
1885 (version "3.30.0")
1886 (source
1887 (origin
1888 (method url-fetch)
1889 (uri (string-append "mirror://gnome/sources/"
1890 "gnome-characters/" (version-major+minor version)
1891 "/gnome-characters-" version ".tar.xz"))
1892 (sha256
1893 (base32
1894 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
1895 (build-system meson-build-system)
5757c641 1896 (arguments
1897 `(#:glib-or-gtk? #t
1898 #:phases (modify-phases %standard-phases
1899 (add-after 'install 'wrap
1900 (lambda* (#:key outputs #:allow-other-keys)
1901 ;; GNOME Characters needs Typelib files from GTK and
1902 ;; gnome-desktop.
1903 (wrap-program (string-append (assoc-ref outputs "out")
1904 "/bin/gnome-characters")
1905 `("GI_TYPELIB_PATH" ":" prefix
1906 (,(getenv "GI_TYPELIB_PATH"))))
1907 #t)))))
4e09f57a
RG
1908 (native-inputs
1909 `(("gettext" ,gettext-minimal)
1910 ("glib:bin" ,glib "bin")
1911 ("gtk+:bin" ,gtk+ "bin")
1912 ("pkg-config" ,pkg-config)
1913 ("python" ,python-minimal)))
1914 (inputs
1915 `(("gjs" ,gjs)
1916 ("gtk+" ,gtk+)
5757c641 1917 ("libunistring" ,libunistring)
1918 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
1919 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
1920 (synopsis "Find and insert unusual characters")
1921 (description "Characters is a simple utility application to find
1922and insert unusual characters. It allows you to quickly find the
1923character you are looking for by searching for keywords.")
1924 (license license:bsd-3)))
1925
7aab13f1
ML
1926(define-public gnome-common
1927 (package
1928 (name "gnome-common")
af83490d 1929 (version "3.18.0")
7aab13f1
ML
1930 (source
1931 (origin
1932 (method url-fetch)
1933 (uri (string-append "mirror://gnome/sources/" name "/"
1934 (version-major+minor version) "/"
1935 name "-" version ".tar.xz"))
1936 (sha256
1937 (base32
af83490d 1938 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
1939 (build-system gnu-build-system)
1940 (home-page "https://www.gnome.org/")
1941 (synopsis "Bootstrap GNOME modules built from Git")
1942 (description "gnome-common contains various files needed to bootstrap
1943GNOME modules built from Git. It contains a common \"autogen.sh\" script that
1944can be used to configure a source directory checked out from Git and some
1945commonly used macros.")
1946 (license license:gpl2+)))
1947
4e868d22
RG
1948(define-public gnome-contacts
1949 (package
1950 (name "gnome-contacts")
b3492e39 1951 (version "3.34")
4e868d22
RG
1952 (source (origin
1953 (method url-fetch)
1954 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
1955 (version-major+minor version) "/"
1956 name "-" version ".tar.xz"))
1957 (sha256
1958 (base32
b3492e39 1959 "04igc9xvyc4kb5xf5g2missnvyvj9zv5cqxf5k4z7hb0sv42wq4r"))))
4e868d22
RG
1960 (build-system meson-build-system)
1961 (arguments
b3492e39
KK
1962 `(#:configure-flags '("-Dcheese=false")
1963 #:phases
4e868d22
RG
1964 (modify-phases %standard-phases
1965 (add-after 'unpack 'generate-vapis
1966 (lambda* (#:key inputs #:allow-other-keys)
1967 ;; To generate goa's missing .vapi file
1968 (define goa
1969 (assoc-ref inputs "gnome-online-accounts:lib"))
1970
1971 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
1972 "--library=goa-1.0"
1973 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
b3492e39
KK
1974 #t))
1975 (add-after 'unpack 'skip-gtk-update-icon-cache
1976 ;; Don't create 'icon-theme.cache'.
1977 (lambda _
1978 (substitute* "build-aux/meson_post_install.py"
1979 (("gtk-update-icon-cache") "true"))
4e868d22
RG
1980 #t)))))
1981 (native-inputs
1982 `(("glib:bin" ,glib "bin")
4e868d22
RG
1983 ("pkg-config" ,pkg-config)))
1984 (inputs
b3492e39 1985 `(("docbook-xml" ,docbook-xml)
4e868d22
RG
1986 ("dockbook-xsl" ,docbook-xsl)
1987 ("evolution-data-server" ,evolution-data-server)
1988 ("gettext" ,gettext-minimal)
1989 ("gnome-desktop" ,gnome-desktop)
1990 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
1991 ("gobject-introspection" ,gobject-introspection)
1992 ("gst-plugins-base" ,gst-plugins-base)
1993 ("gtk+" ,gtk+)
1994 ("libgee" ,libgee)
1995 ("libxslt" ,libxslt)
1996 ("telepathy-glib" ,telepathy-glib)
1997 ("vala" ,vala)))
1998 (propagated-inputs
1999 `(("folks", folks)
2000 ("telepathy-mission-control" ,telepathy-mission-control)))
2001 (synopsis "GNOME's integrated address book")
2002 (description
2003 "GNOME Contacts organizes your contact information from online and
2004offline sources, providing a centralized place for managing your contacts.")
2005 (home-page "https://wiki.gnome.org/Apps/Contacts")
2006 (license license:gpl2+)))
2007
9cc98f8a
CR
2008(define-public gnome-desktop
2009 (package
2010 (name "gnome-desktop")
8a7afc81 2011 (version "3.34.2")
9cc98f8a
CR
2012 (source
2013 (origin
2014 (method url-fetch)
b38e45d8
EB
2015 (uri (string-append "mirror://gnome/sources/" name "/"
2016 (version-major+minor version) "/"
9cc98f8a
CR
2017 name "-" version ".tar.xz"))
2018 (sha256
2019 (base32
8a7afc81 2020 "1v983xirwp1y6ggz97bh742ak6gff0hxb359dgn37nikjxhvm0a0"))))
e8a26caa 2021 (build-system meson-build-system)
a0fe7c06
CB
2022 (arguments
2023 '(#:phases
2024 (modify-phases %standard-phases
2025 (add-before 'configure 'patch-path
2026 (lambda* (#:key inputs #:allow-other-keys)
2027 (let ((libc (assoc-ref inputs "libc")))
2028 (substitute* "libgnome-desktop/gnome-languages.c"
2029 (("\"locale\"")
2030 (string-append "\"" libc "/bin/locale\"")))
e8a26caa 2031 #t)))
3857aba7
CB
2032 (add-before 'configure 'patch-bubblewrap
2033 (lambda* (#:key inputs #:allow-other-keys)
2034 (substitute* "libgnome-desktop/gnome-desktop-thumbnail-script.c"
2035 (("\"bwrap\",")
2036 (string-append "\"" (which "bwrap") "\","))
2037 (("\"--ro-bind\", \"/usr\", \"/usr\",")
2038 (string-append "\"--ro-bind\", \""
2039 (%store-directory)
2040 "\", \""
2041 (%store-directory)
2042 "\","))
2043 (("\"--ro-bind\", \"/etc/ld.so.cache\", \"/etc/ld.so.cache\",") ""))
2044 #t))
e8a26caa
KK
2045 (add-before 'check 'pre-check
2046 (lambda* (#:key inputs #:allow-other-keys)
2047 ;; Tests require a running X server and locales.
2048 (system "Xvfb :1 &")
2049 (setenv "DISPLAY" ":1")
2050 (setenv "GUIX_LOCPATH"
2051 (string-append (assoc-ref inputs "glibc-locales")
2052 "/lib/locale"))
2053 #t)))))
9cc98f8a 2054 (native-inputs
e8a26caa
KK
2055 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
2056 ("glibc-locales" ,glibc-locales) ; for tests
2057 ("gobject-introspection" ,gobject-introspection)
a8340482 2058 ("itstool" ,itstool)
bcb354ad
SB
2059 ("intltool" ,intltool)
2060 ("pkg-config" ,pkg-config)
e8a26caa
KK
2061 ("xmllint" ,libxml2)
2062 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
2063 (propagated-inputs
2064 ;; Required by gnome-desktop-3.0.pc.
2065 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 2066 ("gtk+" ,gtk+)
9cc98f8a 2067 ("iso-codes" ,iso-codes)
9863ce20 2068 ("libseccomp" ,libseccomp)
9cc98f8a 2069 ("libx11" ,libx11)
e8a26caa
KK
2070 ("xkeyboard-config" ,xkeyboard-config)))
2071 (inputs
2072 `(("gdk-pixbuf" ,gdk-pixbuf)
2073 ("glib" ,glib)
3857aba7 2074 ("bubblewrap" ,bubblewrap)
9cc98f8a
CR
2075 ("libxext" ,libxext)
2076 ("libxkbfile" ,libxkbfile)
e8a26caa 2077 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
2078 (home-page "https://www.gnome.org/")
2079 (synopsis
35b9e423 2080 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
2081 (description
2082 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
2083on the desktop, but that cannot live in the platform for various reasons.
2084There is no API or ABI guarantee, although we are doing our best to provide
2085stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
2086
2087The gnome-about program helps find which version of GNOME is installed.")
2088 ; Some bits under the LGPL.
1dd26275 2089 (license license:gpl2+)))
9cc98f8a 2090
995b7261
AE
2091(define-public gnome-doc-utils
2092 (package
2093 (name "gnome-doc-utils")
2094 (version "0.20.10")
2095 (source
2096 (origin
2097 (method url-fetch)
b38e45d8
EB
2098 (uri (string-append "mirror://gnome/sources/" name "/"
2099 (version-major+minor version) "/"
995b7261
AE
2100 name "-" version ".tar.xz"))
2101 (sha256
2102 (base32
2103 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
2104 (build-system gnu-build-system)
c4c4cc05 2105 (native-inputs
995b7261 2106 `(("intltool" ,intltool)
b4ce6300 2107 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 2108 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
2109 ("libxml2" ,libxml2)
2110 ("libxslt" ,libxslt)
2111 ("pkg-config" ,pkg-config)
2112 ("python-2" ,python-2)))
995b7261
AE
2113 (home-page "https://wiki.gnome.org/GnomeDocUtils")
2114 (synopsis
2115 "Documentation utilities for the Gnome project")
2116 (description
2117 "Gnome-doc-utils is a collection of documentation utilities for the
2118Gnome project. It includes xml2po tool which makes it easier to translate
2119and keep up to date translations of documentation.")
1dd26275 2120 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 2121
6c4f7022
DC
2122(define-public gnome-disk-utility
2123 (package
2124 (name "gnome-disk-utility")
262e660e 2125 (version "3.34.0")
6c4f7022
DC
2126 (source (origin
2127 (method url-fetch)
2128 (uri (string-append "mirror://gnome/sources/" name "/"
2129 (version-major+minor version) "/"
2130 name "-" version ".tar.xz"))
2131 (sha256
2132 (base32
262e660e 2133 "1mb7q90lnlp97dhxhnadhjagcfd12dfqzp0vj9h6b1r61pzhy97y"))))
4b9a65bf 2134 (build-system meson-build-system)
321c73c3 2135 (arguments
262e660e
KK
2136 '(#:configure-flags '("-Dlogind=libelogind")
2137 #:phases
321c73c3
EF
2138 (modify-phases %standard-phases
2139 (add-after 'unpack 'skip-gtk-update-icon-cache
2140 ;; Don't create 'icon-theme.cache'.
2141 (lambda _
2142 (substitute* "meson_post_install.py"
2143 (("gtk-update-icon-cache") "true"))
2144 #t)))))
6c4f7022
DC
2145 (native-inputs
2146 `(("glib:bin" ,glib "bin")
2147 ("intltool" ,intltool)
2148 ("pkg-config" ,pkg-config)
2149 ("docbook-xml" ,docbook-xml)
2150 ("docbook-xsl" ,docbook-xsl)
2151 ("libxml2" ,libxml2)
2152 ("libxslt" ,libxslt)))
2153 (inputs
262e660e
KK
2154 `(("elogind" ,elogind)
2155 ("glib" ,glib)
6c4f7022
DC
2156 ("appstream-glib" ,appstream-glib)
2157 ("gnome-settings-daemon" ,gnome-settings-daemon)
2158 ("gtk+" ,gtk+)
2159 ("libcanberra" ,libcanberra)
2160 ("libdvdread" ,libdvdread)
2161 ("libnotify" ,libnotify)
2162 ("libpwquality" ,libpwquality)
2163 ("libsecret" ,libsecret)
2164 ("udisks" ,udisks)))
2165 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
2166 (synopsis "Disk management utility for GNOME")
2167 (description "Disk management utility for GNOME.")
2168 (license license:gpl2+)))
2169
3d217317
RG
2170(define-public gnome-font-viewer
2171 (package
2172 (name "gnome-font-viewer")
2173 (version "3.30.0")
2174 (source (origin
2175 (method url-fetch)
2176 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
2177 (version-major+minor version)
2178 "/gnome-font-viewer-" version ".tar.xz"))
2179 (sha256
2180 (base32
2181 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
2182 (build-system meson-build-system)
2183 (arguments
2184 '(#:phases
2185 (modify-phases %standard-phases
2186 (add-after 'unpack 'patch-post-install-script
2187 (lambda _
2188 (substitute* "meson-postinstall.sh"
2189 (("update-desktop-database") (which "true")))
2190 #t)))))
2191 (native-inputs
2192 `(("gettext" ,gettext-minimal)
2193 ("glib:bin" ,glib "bin")
2194 ("pkg-config" ,pkg-config)))
2195 (inputs
2196 `(("glib" ,glib)
2197 ("gnome-desktop" ,gnome-desktop)
2198 ("gtk+" ,gtk+)))
2199 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
2200 (synopsis "GNOME Fonts")
2201 (description "Application to show you the fonts installed on your computer
2202for your use as thumbnails. Selecting any thumbnails shows the full view of how
2203the font would look under various sizes.")
2204 (license license:gpl2+)))
2205
8ff49011
RW
2206(define-public gcr
2207 (package
2208 (name "gcr")
1de804da 2209 (version "3.34.0")
8ff49011 2210 (source (origin
0daf0efb
RW
2211 (method url-fetch)
2212 (uri (string-append "mirror://gnome/sources/" name "/"
2213 (version-major+minor version) "/"
2214 name "-" version ".tar.xz"))
2215 (sha256
2216 (base32
1de804da 2217 "0925snsixzkwh49xiayqmj6fcrmklqk8kyy0jkv7m64h9abm1pr9"))))
8ff49011
RW
2218 (build-system gnu-build-system)
2219 (arguments
0daf0efb
RW
2220 '(#:phases
2221 (modify-phases %standard-phases
2222 ;; These fail because /var/lib/dbus/machine-id is not present in the
2223 ;; build environment.
2224 (add-after 'unpack 'disable-failing-tests
2225 (lambda _
1de804da
MB
2226 (substitute* "Makefile.in"
2227 (("[[:blank:]]+test-system-prompt\\$\\(EXEEXT\\)")
2228 ""))
0daf0efb
RW
2229 #t))
2230 (add-before 'check 'pre-check
2231 (lambda _
2232 ;; Some tests expect to write to $HOME.
2233 (setenv "HOME" "/tmp")
2234 #t)))))
8ff49011
RW
2235 (inputs
2236 `(("dbus" ,dbus)
0daf0efb 2237 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
2238 ("libgcrypt" ,libgcrypt)))
2239 (native-inputs
1de804da 2240 `(("python" ,python-wrapper) ;for tests
8ff49011 2241 ("pkg-config" ,pkg-config)
1de804da 2242 ("gettext" ,gettext-minimal)
8ff49011 2243 ("glib" ,glib "bin")
2af4f5b0 2244 ("gobject-introspection" ,gobject-introspection)
0daf0efb 2245 ("libxml2" ,libxml2)
bea6b829 2246 ("vala" ,vala)
2af4f5b0 2247 ("xsltproc" ,libxslt)))
8ff49011
RW
2248 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
2249 (propagated-inputs
2250 `(("p11-kit" ,p11-kit)
2251 ("glib" ,glib)
2252 ("gtk+" ,gtk+)))
f032d0be 2253 (home-page "https://www.gnome.org")
8ff49011
RW
2254 (synopsis "Libraries for displaying certificates and accessing key stores")
2255 (description
2256 "The GCR package contains libraries used for displaying certificates and
2257accessing key stores. It also provides the viewer for crypto files on the
2258GNOME Desktop.")
2259 (license license:lgpl2.1+)))
2260
88e61bd4
MC
2261(define-public gdl
2262 (package
2263 (name "gdl")
2264 (version "3.34.0")
2265 (source (origin
2266 (method git-fetch)
2267 (uri (git-reference
2268 (url "https://gitlab.gnome.org/GNOME/gdl.git")
2269 (commit (string-append "GDL_" (string-map (match-lambda
2270 (#\. #\_)
2271 (c c))
2272 version)))))
2273 (file-name (git-file-name name version))
2274 (sha256
2275 (base32
2276 "154qcr0x6f68f4q526y87imv0rscmp34n47nk1pp82rsq52h2zna"))))
2277 (build-system gnu-build-system)
88e61bd4
MC
2278 (native-inputs
2279 `(("autoconf" ,autoconf)
2280 ("automake" ,automake)
2281 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
2282 ("gnome-common" ,gnome-common)
2283 ("gtk-doc" ,gtk-doc)
2284 ("intltool" ,intltool)
2285 ("pkg-config" ,pkg-config)
2286 ("libtool" ,libtool)
2287 ("which" ,which)))
2288 (inputs
2289 `(("libxml2" ,libxml2)))
2290 (propagated-inputs
2291 ;; The gdl-3.0.pc file 'Requires' GTK+.
2292 `(("gtk+" ,gtk+)))
2293 (home-page "https://gitlab.gnome.org/GNOME/gdl/")
2294 (synopsis "GNOME docking library")
2295 (description "This library provides docking features for gtk+.")
2296 (license license:lgpl2.1+)))
2297
ca3adf26
MC
2298;;; A minimal variant used to break a cycle with Inkscape.
2299(define-public gdl-minimal
2300 (package
2301 (inherit gdl)
2302 (name "gdl-minimal")
2303 (arguments
70cf0113
EF
2304 '(#:phases
2305 (modify-phases %standard-phases
2306 (add-after 'unpack 'disable-doc-generation
2307 ;; XXX: There is no easy way to disable generating the
2308 ;; documentation.
2309 (lambda _
2310 (substitute* "configure.in"
2311 (("GTK_DOC_CHECK.*") "")
2312 (("docs/.*") ""))
2313 (substitute* "Makefile.am"
2314 (("gdl docs po") "gdl po"))
2315 #t)))))
ca3adf26
MC
2316 (native-inputs (alist-delete "gtk-doc" (package-native-inputs gdl)))))
2317
c1354b90
LC
2318(define-public libgnome-keyring
2319 (package
2320 (name "libgnome-keyring")
5e8aec2c 2321 (version "3.12.0")
c1354b90
LC
2322 (source (origin
2323 (method url-fetch)
b38e45d8
EB
2324 (uri (string-append "mirror://gnome/sources/" name "/"
2325 (version-major+minor version) "/"
2326 name "-" version ".tar.xz"))
c1354b90
LC
2327 (sha256
2328 (base32
5e8aec2c 2329 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 2330 (build-system gnu-build-system)
c1354b90 2331 (inputs
c4c4cc05 2332 `(("libgcrypt" ,libgcrypt)
c1354b90 2333 ("dbus" ,dbus)))
c4c4cc05
JD
2334 (native-inputs
2335 `(("pkg-config" ,pkg-config)
426adbe8 2336 ("glib" ,glib "bin")
c4c4cc05 2337 ("intltool" ,intltool)))
c1354b90
LC
2338 (propagated-inputs
2339 ;; Referred to in .h files and .pc.
2340 `(("glib" ,glib)))
f032d0be 2341 (home-page "https://www.gnome.org")
c1354b90
LC
2342 (synopsis "Accessing passwords from the GNOME keyring")
2343 (description
2344 "Client library to access passwords from the GNOME keyring.")
2345
2346 ;; Though a couple of files are LGPLv2.1+.
1dd26275 2347 (license license:lgpl2.0+)))
c1354b90 2348
e99a3d6f
RW
2349(define-public gnome-keyring
2350 (package
2351 (name "gnome-keyring")
14faeadd 2352 (version "3.34.0")
e99a3d6f
RW
2353 (source (origin
2354 (method url-fetch)
2355 (uri (string-append "mirror://gnome/sources/" name "/"
2356 (version-major+minor version) "/"
2357 name "-" version ".tar.xz"))
2358 (sha256
2359 (base32
14faeadd 2360 "0hqrsh5g9q9lm190f0m85q4nki8k4ng7wphl6qbccdry59aakkg9"))))
e99a3d6f
RW
2361 (build-system gnu-build-system)
2362 (arguments
2363 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
2364 ;not exist
2365 #:configure-flags
2366 (list
2367 (string-append "--with-pkcs11-config="
2368 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
2369 (string-append "--with-pkcs11-modules="
2370 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
2371 #:phases
2372 (modify-phases %standard-phases
ab35cc6e
RW
2373 (add-after 'unpack 'fix-/bin/sh-reference
2374 (lambda _
2375 (substitute* "po/Makefile.in.in"
2376 (("/bin/sh") (which "sh")))
2377 #t))
5120f24f
RW
2378 (add-after 'unpack 'fix-docbook
2379 (lambda* (#:key inputs #:allow-other-keys)
2380 (substitute* "docs/Makefile.am"
2381 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2382 (string-append (assoc-ref inputs "docbook-xsl")
2383 "/xml/xsl/docbook-xsl-"
2384 ,(package-version docbook-xsl)
2385 "/manpages/docbook.xsl")))
2386 (setenv "XML_CATALOG_FILES"
2387 (string-append (assoc-ref inputs "docbook-xml")
2388 "/xml/dtd/docbook/catalog.xml"))
2389 ;; Rerun the whole thing to avoid version mismatch ("This is
2390 ;; Automake 1.15.1, but the definition used by this
2391 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
2392 ;; use 'autoreconf' because it insists on running 'libtoolize'.
2393 (invoke "autoconf")
2394 (invoke "aclocal")
2395 (invoke "automake" "-ac"))))))
e99a3d6f
RW
2396 (inputs
2397 `(("libgcrypt" ,libgcrypt)
1a0b2d82 2398 ("linux-pam" ,linux-pam)
ab35cc6e 2399 ("openssh" ,openssh)
e99a3d6f
RW
2400 ("dbus" ,dbus)
2401 ("gcr" ,gcr)))
2402 (native-inputs
2403 `(("pkg-config" ,pkg-config)
2404 ("glib" ,glib "bin")
5120f24f 2405 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
2406 ("python" ,python-2) ;for tests
2407 ("intltool" ,intltool)
2408 ("autoconf" ,autoconf)
2409 ("automake" ,automake)
2410 ("libxslt" ,libxslt) ;for documentation
2411 ("docbook-xml" ,docbook-xml-4.2)
2412 ("docbook-xsl" ,docbook-xsl)))
f032d0be 2413 (home-page "https://www.gnome.org")
e99a3d6f
RW
2414 (synopsis "Daemon to store passwords and encryption keys")
2415 (description
2416 "gnome-keyring is a program that keeps passwords and other secrets for
2417users. It is run as a daemon in the session, similar to ssh-agent, and other
2418applications locate it via an environment variable or D-Bus.
2419
2420The program can manage several keyrings, each with its own master password,
2421and there is also a session keyring which is never stored to disk, but
2422forgotten when the session ends.")
2423 (license license:lgpl2.1+)))
2424
c1354b90
LC
2425(define-public evince
2426 (package
2427 (name "evince")
de08b5b2 2428 (version "3.36.5")
c1354b90
LC
2429 (source (origin
2430 (method url-fetch)
ac631328 2431 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 2432 (version-major+minor version) "/"
ac631328 2433 "evince-" version ".tar.xz"))
c1354b90
LC
2434 (sha256
2435 (base32
de08b5b2 2436 "0z79jl0j9xq9wgwkfr0d1w1qrdy4447y8shs407n5srr0vixc3bg"))))
121de2e1 2437 (build-system glib-or-gtk-build-system)
c1354b90 2438 (arguments
169b8f77 2439 `(#:configure-flags '("--disable-nautilus" "--enable-introspection")
554b2dac
SB
2440 #:phases
2441 (modify-phases %standard-phases
2442 (add-before 'install 'skip-gtk-update-icon-cache
2443 ;; Don't create 'icon-theme.cache'.
2444 (lambda _
2445 (substitute* "data/Makefile"
2446 (("gtk-update-icon-cache") "true"))
2447 #t)))))
c1354b90 2448 (inputs
9a096881
KK
2449 `(("libarchive" ,libarchive)
2450 ("libgxps" ,libgxps)
2451 ("libspectre" ,libspectre)
c769cf9f 2452 ("djvulibre" ,djvulibre)
c1354b90
LC
2453 ("ghostscript" ,ghostscript)
2454 ("poppler" ,poppler)
c769cf9f
SB
2455 ("libtiff" ,libtiff)
2456 ;; TODO:
c769cf9f
SB
2457 ;; Build libkpathsea as a shared library for DVI support.
2458 ;; ("libkpathsea" ,texlive-bin)
2459 ("gnome-desktop" ,gnome-desktop)
c1354b90 2460 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 2461 ("gspell" ,gspell)
c1354b90 2462 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 2463 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
2464 ("gdk-pixbuf" ,gdk-pixbuf)
2465 ("atk" ,atk)
2466 ("pango" ,pango)
2467 ("gtk+" ,gtk+)
2468 ("glib" ,glib)
2469 ("libxml2" ,libxml2)
c1354b90
LC
2470 ("libsm" ,libsm)
2471 ("libice" ,libice)
96e42467 2472 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
2473 ("dconf" ,dconf)
2474 ("libcanberra" ,libcanberra)
c769cf9f 2475 ("libsecret" ,libsecret)
a271096b 2476
c1354b90
LC
2477 ;; For tests.
2478 ("dogtail" ,python2-dogtail)))
96e42467 2479 (native-inputs
bcb354ad
SB
2480 `(("itstool" ,itstool)
2481 ("intltool" ,intltool)
426adbe8 2482 ("glib" ,glib "bin")
169b8f77 2483 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
2484 ("pkg-config" ,pkg-config)
2485 ("xmllint" ,libxml2)))
6f64a05e 2486 (home-page "https://www.gnome.org/projects/evince/")
c1354b90
LC
2487 (synopsis "GNOME's document viewer")
2488 (description
2489 "Evince is a document viewer for multiple document formats. It
2490currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
2491of Evince is to replace the multiple document viewers that exist
96e42467 2492on the GNOME Desktop with a single simple application.")
1dd26275 2493 (license license:gpl2+)))
c1354b90 2494
22e32e69
AE
2495(define-public gsettings-desktop-schemas
2496 (package
2497 (name "gsettings-desktop-schemas")
8468117e 2498 (version "3.34.0")
22e32e69
AE
2499 (source
2500 (origin
2501 (method url-fetch)
2502 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2503 (version-major+minor version) "/"
22e32e69
AE
2504 name "-" version ".tar.xz"))
2505 (sha256
2506 (base32
8468117e 2507 "1bayr76aylawf2fhyjhv9zgk4kpv7ivrrmd80khb0h3h1wk092r8"))))
c900dabd 2508 (build-system meson-build-system)
65209ffa
LC
2509 (arguments
2510 '(#:phases (modify-phases %standard-phases
3861fb1c 2511 (add-after 'unpack 'patch-schemas
65209ffa 2512 (lambda* (#:key inputs #:allow-other-keys)
65209ffa
LC
2513 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
2514 (substitute* (find-files "schemas"
2515 "\\.gschema\\.xml\\.in$")
3861fb1c
LP
2516 ;; Provide the correct file name of the default GNOME
2517 ;; background, 'adwaita-timed.xml'.
65209ffa 2518 (("@datadir@/backgrounds/gnome")
3861fb1c
LP
2519 (string-append theme "/share/backgrounds/gnome"))
2520 ;; Do not reference fonts, that may not exist.
2521 (("'Source Code Pro 10'") "'Monospace 11'"))
65209ffa 2522 #t))))))
22e32e69 2523 (inputs
65209ffa
LC
2524 `(("glib" ,glib)
2525 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
2526 (native-inputs
2527 `(("intltool" ,intltool)
426adbe8 2528 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 2529 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
2530 ("pkg-config" ,pkg-config)))
2531 (home-page "https://launchpad.net/gsettings-desktop-schemas")
2532 (synopsis
2533 "GNOME settings for various desktop components")
2534 (description
2535 "Gsettings-desktop-schemas contains a collection of GSettings schemas
2536for settings shared by various components of the GNOME desktop.")
1dd26275 2537 (license license:lgpl2.1+)))
22e32e69 2538
27477d2d
AE
2539(define-public icon-naming-utils
2540 (package
2541 (name "icon-naming-utils")
2542 (version "0.8.90")
2543 (source
2544 (origin
2545 (method url-fetch)
5cc3096c 2546 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
2547 version ".tar.bz2"))
2548 (sha256
2549 (base32
2550 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
2551 (build-system gnu-build-system)
2552 (inputs
2553 `(("perl" ,perl)
2554 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
2555 (arguments
2556 '(#:phases
dc1d3cde
KK
2557 (modify-phases %standard-phases
2558 (add-after 'install 'set-load-paths
2559 ;; Tell 'icon-name-mapping' where XML::Simple is.
2560 (lambda* (#:key outputs #:allow-other-keys)
2561 (let* ((out (assoc-ref outputs "out"))
2562 (prog (string-append out "/libexec/icon-name-mapping")))
2563 (wrap-program
2564 prog
2565 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
2566 #t)))))
27477d2d
AE
2567 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
2568 (synopsis
2569 "Utility to implement the Freedesktop Icon Naming Specification")
2570 (description
2571 "To help with the transition to the Freedesktop Icon Naming
2572Specification, the icon naming utility maps the icon names used by the
2573GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 2574 (license license:lgpl2.1+)))
27477d2d 2575
7d3f3651
AE
2576(define-public gnome-icon-theme
2577 (package
2578 (name "gnome-icon-theme")
b32f58dd 2579 (version "3.12.0")
7d3f3651
AE
2580 (source
2581 (origin
2582 (method url-fetch)
2583 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2584 (version-major+minor version) "/"
7d3f3651
AE
2585 name "-" version ".tar.xz"))
2586 (sha256
2587 (base32
b32f58dd 2588 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 2589 (build-system gnu-build-system)
5613c27d
SB
2590 (arguments
2591 '(#:configure-flags
2592 ;; Don't create 'icon-theme.cache'.
2593 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
2594 (true (string-append coreutils "/bin/true")))
2595 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 2596 (native-inputs
5613c27d 2597 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
2598 ("intltool" ,intltool)
2599 ("pkg-config" ,pkg-config)))
5c610d4f
KK
2600 (home-page "https://wiki.gnome.org/Personalization")
2601 (synopsis "GNOME icon theme")
2602 (description "Icons for the GNOME desktop.")
1dd26275 2603 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 2604
14eeefa2
SB
2605;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
2606(define-public adwaita-icon-theme
2607 (package (inherit gnome-icon-theme)
2608 (name "adwaita-icon-theme")
e21788f2 2609 (version "3.34.3")
14eeefa2
SB
2610 (source (origin
2611 (method url-fetch)
2612 (uri (string-append "mirror://gnome/sources/" name "/"
2613 (version-major+minor version) "/"
2614 name "-" version ".tar.xz"))
2615 (sha256
2616 (base32
e21788f2 2617 "025rj1fskw1y448hiar4a9icyzpyr242nlh9xhsmyp8jb71dihp7"))))
5613c27d
SB
2618 (native-inputs
2619 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 2620
ae792dba
RW
2621(define-public tango-icon-theme
2622 (package
2623 (name "tango-icon-theme")
2624 (version "0.8.90")
2625 (source (origin
2626 (method url-fetch)
2627 (uri (string-append "http://tango.freedesktop.org/releases/"
2628 "tango-icon-theme-" version ".tar.bz2"))
2629 (sha256
2630 (base32
2631 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
2632 (build-system gnu-build-system)
2633 (native-inputs
2634 `(("icon-naming-utils" ,icon-naming-utils)
2635 ("intltool" ,intltool)
2636 ("imagemagick" ,imagemagick)
2637 ("pkg-config" ,pkg-config)))
2638 (home-page "http://tango-project.org/")
2639 (synopsis "Tango icon theme")
2640 (description "This is an icon theme that follows the Tango visual
2641guidelines.")
2642 (license license:public-domain)))
2643
9167f8e6
LC
2644(define-public shared-mime-info
2645 (package
2646 (name "shared-mime-info")
404e386e 2647 (version "1.15")
9167f8e6
LC
2648 (source (origin
2649 (method url-fetch)
404e386e
MB
2650 (uri (string-append
2651 "https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/"
2652 "b27eb88e4155d8fccb8bb3cd12025d5b/shared-mime-info-" version
2653 ".tar.xz"))
9167f8e6
LC
2654 (sha256
2655 (base32
404e386e 2656 "146vynj78wcwdq0ms52jzm1r4m6dzi1rhyh3h4xyb6bw8ckv10pl"))))
9167f8e6
LC
2657 (build-system gnu-build-system)
2658 (arguments
2659 ;; The build system appears not to be parallel-safe.
2660 '(#:parallel-build? #f))
2661 (inputs
2662 `(("glib" ,glib)
c4c4cc05 2663 ("libxml2" ,libxml2)))
9167f8e6 2664 (native-inputs
404e386e
MB
2665 `(("gettext" ,gettext-minimal)
2666 ("itstool" ,itstool)
c4c4cc05 2667 ("pkg-config" ,pkg-config)))
57e7d748 2668 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
2669 (synopsis "Database of common MIME types")
2670 (description
2671 "The shared-mime-info package contains the core database of common types
2672and the update-mime-database command used to extend it. It requires glib2 to
2673be installed for building the update command. Additionally, it uses intltool
2674for translations, though this is only a dependency for the maintainers. This
2675database is translated at Transifex.")
1dd26275 2676 (license license:gpl2+)))
9167f8e6 2677
dd1fcddc
CB
2678(define-public system-config-printer
2679 (package
2680 (name "system-config-printer")
fa01e10d 2681 (version "1.5.12")
a5643044
TGR
2682 (source
2683 (origin
2684 (method url-fetch)
2685 (uri (string-append
2686 "https://github.com/OpenPrinting/system-config-printer/releases/"
2687 "download/" version
2688 "/system-config-printer-" version ".tar.xz"))
2689 (sha256
fa01e10d 2690 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
2691 (build-system glib-or-gtk-build-system)
2692 (arguments
2693 `(#:imported-modules ((guix build python-build-system)
2694 ,@%glib-or-gtk-build-system-modules)
2695 #:phases
2696 (modify-phases %standard-phases
2697 (add-after 'unpack 'patch-Makefile.am
2698 (lambda _
2699 ;; The Makefile generates some scripts, so set a valid shebang
2700 (substitute* "Makefile.am"
2701 (("/bin/bash") (which "bash")))
2702 (delete-file "configure")
2703 #t))
2704 (add-after 'unpack 'patch-docbook-xml
2705 (lambda* (#:key inputs #:allow-other-keys)
2706 ;; Modify the man XML otherwise xmlto tries to access the network
2707 (substitute* "man/system-config-printer.xml"
2708 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
2709 (string-append (assoc-ref inputs "docbook-xml")
2710 "/xml/dtd/docbook/")))
2711 #t))
2712 (add-after 'install 'wrap-for-python
2713 (@@ (guix build python-build-system) wrap))
2714 (add-after 'install 'wrap
2715 (lambda* (#:key outputs #:allow-other-keys)
2716 (let ((out (assoc-ref outputs "out"))
2717 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
2718 (for-each
2719 (lambda (program)
2720 (wrap-program program
2721 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
2722 (map (lambda (name)
2723 (string-append out "/bin/" name))
2724 '("system-config-printer"
2725 "system-config-printer-applet"
2726 "install-printerdriver"
2727 "scp-dbus-service"))))
2728 #t)))))
2729 (inputs
2730 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2731 ("gobject-introspection" ,gobject-introspection)
2732 ("python" ,python)
2733 ("cups" ,cups)
92b9cdd5 2734 ("gtk+" ,gtk+)
dd1fcddc
CB
2735 ("python-dbus" ,python-dbus)
2736 ("python-pygobject" ,python-pygobject)
2737 ("python-pycups" ,python-pycups)
2738 ("python-requests" ,python-requests)
2739 ("python-pycairo" ,python-pycairo)
2740 ("libnotify" ,libnotify)
2741 ("packagekit" ,packagekit)))
2742 (native-inputs
2743 `(("pkg-config" ,pkg-config)
2744 ("desktop-file-utils" ,desktop-file-utils)
2745 ("glib" ,glib)
2746 ("autoconf" ,autoconf)
2747 ("automake" ,automake)
2748 ("intltool" ,intltool)
2749 ("xmlto" ,xmlto)
2750 ("docbook-xml" ,docbook-xml-4.1.2)
2751 ("docbook-xsl" ,docbook-xsl)
2752 ("libxml2" ,libxml2)))
2753 (home-page "https://github.com/zdohnal/system-config-printer")
2754 (synopsis "CUPS administration tool")
2755 (description
2756 "system-config-printer is a CUPS administration tool. It's written in
2757Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
2758configuring CUPS.")
2759 (license license:gpl2+)))
2760
bef4dd92
AE
2761(define-public hicolor-icon-theme
2762 (package
2763 (name "hicolor-icon-theme")
851cb6dd 2764 (version "0.17")
bef4dd92
AE
2765 (source
2766 (origin
2767 (method url-fetch)
5cc3096c 2768 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 2769 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
2770 (sha256
2771 (base32
851cb6dd 2772 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
2773 (build-system gnu-build-system)
2774 (arguments
2775 `(#:tests? #f)) ; no check target
57e7d748 2776 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
2777 (synopsis
2778 "Freedesktop icon theme")
2779 (description
2780 "Freedesktop icon theme.")
1dd26275 2781 (license license:gpl2)))
bef4dd92 2782
d9c1a22b
AE
2783(define-public libnotify
2784 (package
2785 (name "libnotify")
195bfa68 2786 (version "0.7.7")
d9c1a22b
AE
2787 (source
2788 (origin
2789 (method url-fetch)
2790 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2791 (version-major+minor version) "/"
d9c1a22b
AE
2792 name "-" version ".tar.xz"))
2793 (sha256
2794 (base32
195bfa68 2795 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 2796 (build-system gnu-build-system)
6acf6cec
MB
2797 (arguments
2798 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
2799 (propagated-inputs
2800 `(;; In Requires of libnotify.pc.
2801 ("gdk-pixbuf" ,gdk-pixbuf)
2802 ("glib" ,glib)))
d9c1a22b 2803 (inputs
7ef08efa 2804 `(("gtk+" ,gtk+)
c4c4cc05
JD
2805 ("libpng" ,libpng)))
2806 (native-inputs
426adbe8 2807 `(("pkg-config" ,pkg-config)
277a7d82
JN
2808 ("glib" ,glib "bin")
2809 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
2810 (home-page "https://developer-next.gnome.org/libnotify/")
2811 (synopsis
2812 "GNOME desktop notification library")
2813 (description
2814 "Libnotify is a library that sends desktop notifications to a
35b9e423 2815notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
2816notifications can be used to inform the user about an event or display
2817some form of information without getting in the user's way.")
1dd26275 2818 (license license:lgpl2.1+)))
7a8605ce
CR
2819
2820(define-public libpeas
2821 (package
2822 (name "libpeas")
f2d56e39 2823 (version "1.24.1")
7a8605ce
CR
2824 (source
2825 (origin
2826 (method url-fetch)
2827 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 2828 (version-major+minor version) "/"
7a8605ce
CR
2829 name "-" version ".tar.xz"))
2830 (sha256
2831 (base32
f2d56e39
MB
2832 "1162dr7smmfb02czmhshr0f93hqj7w0nw29bys5lzfvwarxcyflw"))))
2833 (build-system meson-build-system)
2834 (arguments
2835 '(#:phases
2836 (modify-phases %standard-phases
2837 (add-before 'check 'start-xserver
2838 (lambda* (#:key inputs #:allow-other-keys)
2839 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2840 (disp ":1"))
2841 (setenv "DISPLAY" disp)
2842 ;; Tests require a running X server.
2843 (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp))
2844 #t))))))
7a8605ce 2845 (inputs
2ed6522a
SB
2846 `(("gtk+" ,gtk+)
2847 ("glade" ,glade3)
2ed6522a
SB
2848 ("python" ,python)
2849 ("python-pygobject" ,python-pygobject)))
141aed80
LC
2850 (native-inputs
2851 `(("pkg-config" ,pkg-config)
f2d56e39 2852 ("gettext" ,gettext-minimal)
93622993 2853 ("glib:bin" ,glib "bin")
141aed80 2854 ("gobject-introspection" ,gobject-introspection)
f2d56e39 2855 ("xorg-server" ,xorg-server-for-tests)))
55b7bbd8
LC
2856 (propagated-inputs
2857 ;; The .pc file "Requires" gobject-introspection.
2858 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
2859 (home-page "https://wiki.gnome.org/Libpeas")
2860 (synopsis "GObject plugin system")
2861 (description
d1e4ad1b
TGR
2862 "Libpeas is a gobject-based plugin engine, targeted at giving every
2863application the chance to assume its own extensibility. It also has a set of
2864features including, but not limited to: multiple extension points; on-demand
2865(lazy) programming language support for C, Python and JS; simplicity of the
2866API.")
1dd26275 2867 (license license:lgpl2.0+)))
ed19903d
JD
2868
2869(define-public gtkglext
2870 (package
2871 (name "gtkglext")
2872 (version "1.2.0")
2873 (source (origin
2874 (method url-fetch)
0f971a04 2875 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
2876 version "/gtkglext-" version ".tar.gz"))
2877 (sha256
2878 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
2879 (patches (search-patches
2880 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 2881 (build-system gnu-build-system)
14e2f61a
RW
2882 (arguments
2883 `(#:phases
2884 (modify-phases %standard-phases
2885 ;; Fix a collision between a local variable and a definition from
2886 ;; glibc's string.h.
2887 (add-after 'unpack 'fix-collision
2888 (lambda _
2889 (substitute* "gdk/gdkglshapes.c"
2890 ((" index") " triangle_index"))
2891 #t)))))
ed19903d
JD
2892 (inputs `(("gtk+" ,gtk+-2)
2893 ("mesa" ,mesa)
cc8b02f4 2894 ("glu" ,glu)
ed19903d
JD
2895 ("libx11" ,libx11)
2896 ("libxt" ,libxt)))
426adbe8
LC
2897 (native-inputs `(("pkg-config" ,pkg-config)
2898 ("glib" ,glib "bin")))
a83b6a06 2899 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 2900 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 2901 (synopsis "OpenGL extension to GTK+")
35b9e423 2902 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
2903additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
2904API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 2905 (license license:lgpl2.1+)))
3600420e
JD
2906
2907(define-public glade3
2908 (package
2909 (name "glade")
031315e4 2910 (version "3.36.0")
b38e45d8
EB
2911 (source (origin
2912 (method url-fetch)
2913 (uri (string-append "mirror://gnome/sources/" name "/"
2914 (version-major+minor version) "/"
f5ca44b8 2915 name "-" version ".tar.xz"))
3600420e 2916 (sha256
f714d9fe 2917 (base32
031315e4 2918 "023gx8rj51njn8fsb6ma5kz1irjpxi4js0n8rwy22inc4ysldd8r"))))
6983ba56 2919 (build-system glib-or-gtk-build-system)
f5ca44b8 2920 (arguments
ec8e1c91 2921 `(#:phases
f5ca44b8
RW
2922 (modify-phases %standard-phases
2923 (add-before 'configure 'fix-docbook
2924 (lambda* (#:key inputs #:allow-other-keys)
2925 (substitute* "man/Makefile.in"
2926 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2927 (string-append (assoc-ref inputs "docbook-xsl")
2928 "/xml/xsl/docbook-xsl-"
2929 ,(package-version docbook-xsl)
2930 "/manpages/docbook.xsl")))
ec8e1c91
AI
2931 #t))
2932 (add-before 'check 'pre-check
2933 (lambda _
2934 (setenv "HOME" "/tmp")
2935 ;; Tests require a running X server.
2936 (system "Xvfb :1 &")
2937 (setenv "DISPLAY" ":1")
f5ca44b8 2938 #t)))))
3600420e 2939 (inputs
f5ca44b8 2940 `(("gtk+" ,gtk+)
3600420e
JD
2941 ("libxml2" ,libxml2)))
2942 (native-inputs
ec8e1c91
AI
2943 `(("hicolor-icon-theme" ,hicolor-icon-theme)
2944 ("intltool" ,intltool)
f5ca44b8
RW
2945 ("itstool" ,itstool)
2946 ("libxslt" ,libxslt) ;for xsltproc
2947 ("docbook-xml" ,docbook-xml-4.2)
2948 ("docbook-xsl" ,docbook-xsl)
2949 ("python" ,python-2)
ec8e1c91
AI
2950 ("pkg-config" ,pkg-config)
2951 ("xorg-server" ,xorg-server-for-tests)))
3600420e
JD
2952 (home-page "https://glade.gnome.org")
2953 (synopsis "GTK+ rapid application development tool")
2954 (description "Glade is a rapid application development (RAD) tool to
2955enable quick & easy development of user interfaces for the GTK+ toolkit and
2956the GNOME desktop environment.")
1dd26275
LC
2957 (license license:lgpl2.0+)))
2958
2959(define-public libcroco
2960 (package
2961 (name "libcroco")
8bdacad2 2962 (version "0.6.13")
1dd26275
LC
2963 (source (origin
2964 (method url-fetch)
b38e45d8
EB
2965 (uri (string-append "mirror://gnome/sources/" name "/"
2966 (version-major+minor version) "/"
2967 name "-" version ".tar.xz"))
1dd26275
LC
2968 (sha256
2969 (base32
8bdacad2 2970 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
2971 (build-system gnu-build-system)
2972 (native-inputs
2973 `(("pkg-config" ,pkg-config)))
2974 (inputs
2975 `(("glib" ,glib)
2976 ("libxml2" ,libxml2)
2977 ("zlib" ,zlib)))
2978 (home-page "https://github.com/GNOME/libcroco")
2979 (synopsis "CSS2 parsing and manipulation library")
2980 (description
2981 "Libcroco is a standalone CSS2 parsing and manipulation library.
2982The parser provides a low level event driven SAC-like API and a CSS object
2983model like API. Libcroco provides a CSS2 selection engine and an experimental
2984XML/CSS rendering engine.")
2985
2986 ;; LGPLv2.1-only.
2987 (license license:lgpl2.1)))
25178594
LC
2988
2989(define-public libgsf
2990 (package
2991 (name "libgsf")
2b9b854c 2992 (version "1.14.47")
25178594
LC
2993 (source (origin
2994 (method url-fetch)
b38e45d8
EB
2995 (uri (string-append "mirror://gnome/sources/" name "/"
2996 (version-major+minor version) "/"
2997 name "-" version ".tar.xz"))
25178594
LC
2998 (sha256
2999 (base32
2b9b854c 3000 "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"))))
25178594 3001 (build-system gnu-build-system)
23904adb
MB
3002 (arguments
3003 '(#:configure-flags '("--disable-static")))
25178594 3004 (native-inputs
0a1559cc
MB
3005 `(("pkg-config" ,pkg-config)
3006 ("gettext" ,gettext-minimal)
3007
3008 ;; For tests.
3009 ("perl" ,perl)
3010 ("perl-xml-parser" ,perl-xml-parser)))
25178594 3011 (inputs
4ffa9f6b 3012 `(("zlib" ,zlib)
25178594
LC
3013 ("bzip2" ,bzip2)))
3014 (propagated-inputs
3015 `(("gdk-pixbuf" ,gdk-pixbuf)
3016 ("glib" ,glib)
3017 ("libxml2" ,libxml2)))
f032d0be 3018 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
3019 (synopsis "GNOME's Structured File Library")
3020 (description
3021 "Libgsf aims to provide an efficient extensible I/O abstraction for
3022dealing with different structured file formats.")
3023
3024 ;; LGPLv2.1-only.
3025 (license license:lgpl2.1)))
63016e7c
LC
3026
3027(define-public librsvg
f67417a1
MB
3028 (package
3029 (name "librsvg")
c1cc52a2 3030 (version "2.40.21")
f67417a1
MB
3031 (source (origin
3032 (method url-fetch)
3033 (uri (string-append "mirror://gnome/sources/" name "/"
3034 (version-major+minor version) "/"
3035 name "-" version ".tar.xz"))
3036 (sha256
3037 (base32
c1cc52a2 3038 "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))
f67417a1
MB
3039 (build-system gnu-build-system)
3040 (arguments
3041 `(#:configure-flags
3042 (list "--disable-static"
3043 "--enable-vala") ; needed for e.g. gnome-mines
3044 #:phases
3045 (modify-phases %standard-phases
3046 (add-before 'configure 'pre-configure
3047 (lambda* (#:key inputs #:allow-other-keys)
3048 (substitute* "gdk-pixbuf-loader/Makefile.in"
3049 ;; By default the gdk-pixbuf loader is installed under
3050 ;; gdk-pixbuf's prefix. Work around that.
3051 (("gdk_pixbuf_moduledir = .*$")
3052 (string-append "gdk_pixbuf_moduledir = "
3053 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
3054 "loaders\n"))
3055 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
3056 (("gdk_pixbuf_cache_file = .*$")
3057 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
3058 #t))
3059 (add-before 'check 'remove-failing-tests
3060 (lambda _
3061 (with-directory-excursion "tests/fixtures/reftests"
3062 (for-each delete-file
3063 '(;; This test fails on i686:
3064 "svg1.1/masking-path-04-b.svg"
3065 ;; This test fails on armhf:
3066 "svg1.1/masking-mask-01-b.svg"
3067 ;; This test fails on aarch64:
3068 "bugs/777834-empty-text-children.svg")))
3069 #t)))))
3070 (native-inputs
3071 `(("pkg-config" ,pkg-config)
3072 ("vala" ,vala)
3073 ("glib" ,glib "bin") ; glib-mkenums, etc.
3074 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
3075 (inputs
869b63cb
MB
3076 `(;; XXX: 1.44 causes some test failures, so we stick with 1.42 for
3077 ;; this ancient version of librsvg.
3078 ("pango" ,pango-1.42)
f67417a1
MB
3079 ("libcroco" ,libcroco)
3080 ("bzip2" ,bzip2)
3081 ("libgsf" ,libgsf)
3082 ("libxml2" ,libxml2)))
3083 (propagated-inputs
3084 ;; librsvg-2.0.pc refers to all of that.
3085 `(("cairo" ,cairo)
3086 ("gdk-pixbuf" ,gdk-pixbuf)
3087 ("glib" ,glib)))
3088 (home-page "https://wiki.gnome.org/LibRsvg")
3089 (synopsis "Render SVG files using Cairo")
3090 (description
3091 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
3092library.")
3093 (license license:lgpl2.0+)))
3094
3095(define-public librsvg-next
63016e7c 3096 (package
25d39a2a 3097 (inherit librsvg)
63016e7c 3098 (name "librsvg")
4f9db569 3099 (version "2.48.8")
69568670
EF
3100 (source (origin
3101 (method url-fetch)
3102 (uri (string-append "mirror://gnome/sources/librsvg/"
3103 (version-major+minor version) "/"
3104 "librsvg-" version ".tar.xz"))
3105 (sha256
3106 (base32
4f9db569 3107 "14i6xzghcidv64cyd3g0wdjbl82rph737yxn9s3x29nzpcjs707l"))
69568670
EF
3108 (modules '((guix build utils)))
3109 (snippet
3110 '(begin (delete-file-recursively "vendor")
69568670
EF
3111 #t))))
3112 (build-system cargo-build-system)
63016e7c 3113 (arguments
69568670
EF
3114 `(#:modules ((guix build cargo-build-system)
3115 (guix build utils)
3116 ((guix build gnu-build-system) #:prefix gnu:))
3117 #:vendor-dir "vendor"
3118 #:cargo-inputs
3119 (("rust-bitflags" ,rust-bitflags-1)
4f9db569 3120 ("rust-cairo-rs" ,rust-cairo-rs-0.8)
69568670 3121 ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
4f9db569
EF
3122 ("rust-cast" ,rust-cast-0.2)
3123 ("rust-cssparser" ,rust-cssparser-0.27)
69568670
EF
3124 ("rust-data-url" ,rust-data-url-0.1)
3125 ("rust-downcast-rs" ,rust-downcast-rs-1.1)
3126 ("rust-encoding" ,rust-encoding-0.2)
4f9db569
EF
3127 ("rust-float-cmp" ,rust-float-cmp-0.6)
3128 ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8)
69568670 3129 ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
4f9db569 3130 ("rust-gio" ,rust-gio-0.8)
69568670 3131 ("rust-gio-sys" ,rust-gio-sys-0.9)
4f9db569 3132 ("rust-glib" ,rust-glib-0.9)
69568670
EF
3133 ("rust-glib-sys" ,rust-glib-sys-0.9)
3134 ("rust-gobject-sys" ,rust-gobject-sys-0.9)
3135 ("rust-itertools" ,rust-itertools-0.8)
3136 ("rust-language-tags" ,rust-language-tags-0.2)
69568670
EF
3137 ("rust-libc" ,rust-libc-0.2)
3138 ("rust-locale-config" ,rust-locale-config-0.3)
4f9db569
EF
3139 ("rust-markup5ever" ,rust-markup5ever-0.10)
3140 ("rust-nalgebra" ,rust-nalgebra-0.19)
69568670 3141 ("rust-num-traits" ,rust-num-traits-0.2)
4f9db569 3142 ("rust-once-cell" ,rust-once-cell-1.2)
69568670 3143 ("rust-pkg-config" ,rust-pkg-config-0.3)
4f9db569 3144 ("rust-pango" ,rust-pango-0.8)
69568670 3145 ("rust-pango-sys" ,rust-pango-sys-0.9)
4f9db569 3146 ("rust-pangocairo" ,rust-pangocairo-0.9)
a5630553 3147 ("rust-rayon" ,rust-rayon-1)
69568670 3148 ("rust-rctree" ,rust-rctree-0.3)
4f9db569 3149 ("rust-rgb" ,rust-rgb-0.8)
6cd7b355 3150 ("rust-regex" ,rust-regex-1)
4f9db569 3151 ("rust-selectors" ,rust-selectors-0.22)
69568670 3152 ("rust-url" ,rust-url-2.1)
4f9db569 3153 ("rust-xml5ever" ,rust-xml5ever-0.16))
69568670 3154 #:cargo-development-inputs
4f9db569
EF
3155 (("rust-cairo-rs" ,rust-cairo-rs-0.8)
3156 ("rust-criterion" ,rust-criterion-0.3))
ec47c07d 3157 #:phases
b6239e45 3158 (modify-phases %standard-phases
69568670 3159 (add-after 'unpack 'prepare-for-build
ec47c07d 3160 (lambda _
69568670 3161 ;; In lieu of #:make-flags
4f9db569 3162 (setenv "CC" ,(cc-for-target))
69568670
EF
3163 ;; Something about the build environment resists building
3164 ;; successfully with the '--locked' flag.
3165 (substitute* '("Makefile.am"
3166 "Makefile.in")
3167 (("--locked") ""))
3168 #t))
b6239e45 3169 (add-before 'configure 'pre-configure
69568670 3170 (lambda _
b6239e45
EF
3171 (substitute* "gdk-pixbuf-loader/Makefile.in"
3172 ;; By default the gdk-pixbuf loader is installed under
3173 ;; gdk-pixbuf's prefix. Work around that.
3174 (("gdk_pixbuf_moduledir = .*$")
3175 (string-append "gdk_pixbuf_moduledir = "
3176 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
3177 "loaders\n"))
3178 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
3179 (("gdk_pixbuf_cache_file = .*$")
3180 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
3181 #t))
69568670 3182 (add-after 'configure 'gnu-configure
4b16cb64
EF
3183 (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
3184 ((assoc-ref gnu:%standard-phases 'configure)
3185 #:native-inputs native-inputs
3186 #:inputs inputs
3187 #:outputs outputs
3188 #:configure-flags (list "--disable-static"
3189 "--enable-vala"))))
69568670
EF
3190 (add-after 'configure 'dont-vendor-self
3191 (lambda* (#:key vendor-dir #:allow-other-keys)
3192 ;; Don't keep the whole tarball in the vendor directory
3193 (delete-file-recursively
3194 (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))
3195 #t))
3196 (replace 'build
3197 (assoc-ref gnu:%standard-phases 'build))
3198 (replace 'check
3199 (lambda* args
3200 ((assoc-ref gnu:%standard-phases 'check)
3201 #:test-target "check")))
3202 (replace 'install
4f9db569
EF
3203 (assoc-ref gnu:%standard-phases 'install)))))
3204 (inputs
3205 `(("pango" ,pango)
3206 ,@(alist-delete "pango" (package-inputs librsvg))))
cf9dad6c 3207 (license license:lgpl2.1+)))
5698b8b8
JD
3208
3209(define-public libidl
3210 (package
3211 (name "libidl")
3212 (version "0.8.14")
3213 (source (origin
3214 (method url-fetch)
80a06e62
EF
3215 (uri (string-append "mirror://gnome/sources/libIDL/"
3216 (version-major+minor version) "/"
3217 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
3218 (sha256
3219 (base32
3220 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
3221 (build-system gnu-build-system)
3222 (inputs `(("glib" ,glib)))
3223 (native-inputs
3224 `(("pkg-config" ,pkg-config)
b3546174 3225 ("flex" ,flex)
5698b8b8
JD
3226 ("bison" ,bison)))
3227 (home-page "http://freecode.com/projects/libidl")
3228 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 3229 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
3230Definition Language (idl) files, which is a specification for defining
3231portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 3232GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 3233functionality was designed to be as reusable and portable as possible.")
ef2c55bb 3234 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
3235 (license license:lgpl2.0+)))
3236
3237
3238(define-public orbit2
3239 (package
3240 (name "orbit2")
3241 (version "2.14.19")
3242 (source (origin
3243 (method url-fetch)
2e6ecc5c 3244 (uri (let ((upstream-name "ORBit2"))
a124bbd2 3245 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
3246 (version-major+minor version) "/"
3247 upstream-name "-" version ".tar.bz2")))
5698b8b8 3248 (sha256
a124bbd2
SB
3249 (base32
3250 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
3251 (build-system gnu-build-system)
3252 (arguments
c2d837b9
MB
3253 `(;; The "timeout-server" test hangs when run in parallel.
3254 #:parallel-tests? #f
3255 #:configure-flags
8aad2e32
LC
3256 '(;; We don't need static libraries, plus they don't build reproducibly
3257 ;; (non-deterministic ordering of .o files in the archive.)
3258 "--disable-static"
3259
3260 ;; The programmer kindly gives us a hook to turn off deprecation
3261 ;; warnings ...
3262 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
3263 ;; ... which they then completly ignore !!
3264 #:phases
dc1d3cde
KK
3265 (modify-phases %standard-phases
3266 (add-before 'configure 'ignore-deprecations
3267 (lambda _
3268 (substitute* "linc2/src/Makefile.in"
3269 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
3270 #t)))))
5698b8b8
JD
3271 (inputs `(("glib" ,glib)
3272 ("libidl" ,libidl)))
3273 (native-inputs
3274 `(("pkg-config" ,pkg-config)))
3275 (home-page "https://projects.gnome.org/orbit2/")
3276 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 3277 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 3278featuring mature C, C++ and Python bindings.")
a124bbd2
SB
3279 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
3280 ;; a version. SOME of the code files have licence notices for GPLv2+.
3281 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
3282 (license license:gpl2+)
3283 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
3284
3285
3286(define-public libbonobo
3287 (package
3288 (name "libbonobo")
3289 (version "2.32.1")
3290 (source (origin
3291 (method url-fetch)
5becd025 3292 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 3293 (version-major+minor version)
5becd025 3294 "/" name "-" version ".tar.bz2"))
5698b8b8 3295 (sha256
f1fc45a9 3296 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
3297 (patches (search-patches
3298 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
3299 (build-system gnu-build-system)
3300 (arguments
3301 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
3302 `(#:configure-flags
3303 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
3304 ;; ... which they then completly ignore !!
3305 #:phases
dc1d3cde
KK
3306 (modify-phases %standard-phases
3307 (add-before 'configure 'ignore-deprecations
3308 (lambda _
3309 (substitute* "activation-server/Makefile.in"
3310 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
3311 #t)))
3312
3313 ;; There's apparently a race condition between the server stub
3314 ;; generation and linking of the example under 'samples/echo' that can
3315 ;; lead do undefined references when building in parallel, as reported
3316 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
3317 ;; Thus, disable parallel builds.
3318 #:parallel-build? #f))
5698b8b8
JD
3319 (inputs `(("popt" ,popt)
3320 ("libxml2" ,libxml2)))
3321 ;; The following are Required by the .pc file
44add1ce 3322 (propagated-inputs
5698b8b8
JD
3323 `(("glib" ,glib)
3324 ("orbit2" ,orbit2)))
3325 (native-inputs
3326 `(("intltool" ,intltool)
3327 ("pkg-config" ,pkg-config)
221ed17a 3328 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3329 ("flex" ,flex)
3330 ("bison" ,bison)))
3331 (home-page "https://developer.gnome.org/libbonobo/")
3332 (synopsis "Framework for creating reusable components for use in GNOME applications")
3333 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 3334use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
3335 ;; Licence not explicitly stated. Source files contain no licence notices.
3336 ;; Tarball contains text of both GPLv2 and LGPLv2
3337 ;; GPLv2 covers both conditions
3338 (license license:gpl2+)))
3339
3340
3341(define-public gconf
3342 (package
3343 (name "gconf")
3344 (version "3.2.6")
3345 (source (origin
3346 (method url-fetch)
a124bbd2
SB
3347 (uri
3348 (let ((upstream-name "GConf"))
3349 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
3350 (version-major+minor version) "/"
3351 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
3352 (sha256
3353 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
3354 (build-system gnu-build-system)
2e88d113 3355 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 3356 ("libxml2" ,libxml2)))
2e6ecc5c
AE
3357 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
3358 ("orbit2" ,orbit2)))
5698b8b8
JD
3359 (native-inputs
3360 `(("intltool" ,intltool)
221ed17a 3361 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3362 ("pkg-config" ,pkg-config)))
3363 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
3364 (synopsis "Store application preferences")
3365 (description "Gconf is a system for storing application preferences. It
3366is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
3367 (license license:lgpl2.0+)
3368 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
3369
3370
3371(define-public gnome-mime-data
3372 (package
3373 (name "gnome-mime-data")
3374 (version "2.18.0")
3375 (source (origin
3376 (method url-fetch)
b38e45d8
EB
3377 (uri (string-append "mirror://gnome/sources/" name "/"
3378 (version-major+minor version) "/"
3379 name "-" version ".tar.bz2"))
5698b8b8
JD
3380 (sha256
3381 (base32
3382 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
3383 (build-system gnu-build-system)
3384 (native-inputs
3385 `(("perl" ,perl)
3386 ("intltool" ,intltool)))
3e6add96
LC
3387 (arguments
3388 '(#:phases (modify-phases %standard-phases
3389 (add-after 'configure 'use-our-intltool
3390 (lambda _
3391 ;; Do not use the bundled intltool commands, which lack
3392 ;; the "dotless @INC" fixes of our 'intltool' package.
3393 (substitute* (find-files "." "^Makefile$")
3394 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
3395 (string-append "INTLTOOL_" tool " = intltool-"
3396 (string-downcase tool) "\n")))
3397 #t)))))
f032d0be 3398 (home-page "https://www.gnome.org")
35b9e423 3399 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
3400 (description "GNOME Mime Data is a module which contains the base MIME
3401and Application database for GNOME. The data stored by this module is
3402designed to be accessed through the MIME functions in GnomeVFS.")
3403 (license license:gpl2+)))
3404
3405
3406(define-public gnome-vfs
3407 (package
3408 (name "gnome-vfs")
3409 (version "2.24.4")
3410 (source (origin
3411 (method url-fetch)
b38e45d8
EB
3412 (uri (string-append "mirror://gnome/sources/" name "/"
3413 (version-major+minor version) "/"
3414 name "-" version ".tar.bz2"))
5698b8b8 3415 (sha256
9e12bc34
MW
3416 (base32
3417 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
3418 (build-system gnu-build-system)
3419 (arguments
db5127d8 3420 `(#:phases
dc1d3cde
KK
3421 (modify-phases %standard-phases
3422 (add-before 'configure 'ignore-deprecations
3423 (lambda _
3424 (substitute* '("libgnomevfs/Makefile.in"
3425 "daemon/Makefile.in")
3426 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
3427 #t))
3428 (add-before 'configure 'patch-test-async-cancel-to-never-fail
3429 (lambda _
3430 (substitute* "test/test-async-cancel.c"
3431 (("EXIT_FAILURE") "77"))
3432 #t)))))
2e6ecc5c 3433 (inputs `(("libxml2" ,libxml2)
5698b8b8 3434 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
3435 ("gconf" ,gconf)
3436 ("gnome-mime-data" ,gnome-mime-data)
3437 ("zlib" ,zlib)))
3438 (native-inputs
221ed17a
EB
3439 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
3440 ("intltool" ,intltool)
5698b8b8
JD
3441 ("pkg-config" ,pkg-config)))
3442 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 3443 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
3444 (description
3445 "GnomeVFS is the core library used to access files and folders in GNOME
3446applications. It provides a file system abstraction which allows applications
3447to access local and remote files with a single consistent API.")
5698b8b8
JD
3448 (license license:lgpl2.0+)))
3449
3450
3451
3452(define-public libgnome
3453 (package
3454 (name "libgnome")
3455 (version "2.32.1")
3456 (source (origin
3457 (method url-fetch)
b38e45d8
EB
3458 (uri (string-append "mirror://gnome/sources/" name "/"
3459 (version-major+minor version) "/"
3460 name "-" version ".tar.bz2"))
5698b8b8
JD
3461 (sha256
3462 (base32
17c3eea7
LC
3463 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
3464 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
3465 (build-system gnu-build-system)
3466 (arguments
3467 `(#:phases
dc1d3cde
KK
3468 (modify-phases %standard-phases
3469 (add-before 'configure 'enable-deprecated
3470 (lambda _
3471 (substitute* "libgnome/Makefile.in"
3472 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
3473 #t)))))
25338e9f 3474 (inputs `(("libxml2" ,libxml2)))
5698b8b8 3475 (native-inputs
221ed17a
EB
3476 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
3477 ("intltool" ,intltool)
5698b8b8
JD
3478 ("pkg-config" ,pkg-config)))
3479 ;; The following are listed as Required in the .pc file
3480 ;; (except for libcanberra -- which seems to be oversight on the part
3481 ;; of the upstream developers -- anything that links against libgnome,
3482 ;; must also link against libcanberra
3483 (propagated-inputs
3484 `(("libcanberra" ,libcanberra)
3485 ("libbonobo" ,libbonobo)
3486 ("gconf" ,gconf)
a640d3d5
LC
3487 ("gnome-vfs" ,gnome-vfs)
3488 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
3489 (home-page "https://developer.gnome.org/libgnome/")
3490 (synopsis "Useful routines for building applications")
3491 (description "The libgnome library provides a number of useful routines
3492for building modern applications, including session management, activation of
3493files and URIs, and displaying help.")
3494 (license license:lgpl2.0+)))
3495
3496
3497(define-public libart-lgpl
3498 (package
3499 (name "libart-lgpl")
76c9b6aa 3500 (version "2.3.21")
5698b8b8
JD
3501 (source (origin
3502 (method url-fetch)
3503 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
3504 (string-append "mirror://gnome/sources/" upstream-name "/"
3505 (version-major+minor version) "/"
3506 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
3507 (sha256
3508 (base32
76c9b6aa 3509 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
3510 (build-system gnu-build-system)
3511 (native-inputs
3512 `(("pkg-config" ,pkg-config)))
3513 (home-page "https://people.gnome.org/~mathieu/libart")
3514 (synopsis "2D drawing library")
2e6ecc5c 3515 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
3516high-quality vector-based 2D library with antialiasing and alpha composition.")
3517 (license license:lgpl2.0+)))
3518
3519
3520
3521(define-public libgnomecanvas
3522 (package
3523 (name "libgnomecanvas")
3524 (version "2.30.3")
3525 (source (origin
3526 (method url-fetch)
b38e45d8
EB
3527 (uri (string-append "mirror://gnome/sources/" name "/"
3528 (version-major+minor version) "/"
3529 name "-" version ".tar.gz"))
5698b8b8
JD
3530 (sha256
3531 (base32
3532 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
3533 (build-system gnu-build-system)
3534 ;; Mentioned as Required in the .pc file
3535 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
3536 ("gtk+" ,gtk+-2)))
3537 (native-inputs
3538 `(("intltool" ,intltool)
221ed17a 3539 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3540 ("pkg-config" ,pkg-config)))
3541 (home-page "https://developer.gnome.org/libgnomecanvas/")
3542 (synopsis "Flexible widget for creating interactive structured graphics")
3543 (description "The GnomeCanvas widget provides a flexible widget for
3544creating interactive structured graphics.")
3545 (license license:lgpl2.0+)))
3546
eadc734e
RW
3547(define-public libgnomecanvasmm
3548 (package
3549 (name "libgnomecanvasmm")
3550 (version "2.26.0")
3551 (source (origin
3552 (method url-fetch)
3553 (uri (string-append "mirror://gnome/sources/" name "/"
3554 (version-major+minor version) "/"
3555 name "-" version ".tar.bz2"))
3556 (sha256
3557 (base32
3558 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
3559 (build-system gnu-build-system)
3560 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
3561 (native-inputs
3562 `(("gtkmm-2" ,gtkmm-2)
3563 ("pkg-config" ,pkg-config)))
8e933cb3 3564 (home-page "https://gtkmm.org")
eadc734e
RW
3565 (synopsis "C++ bindings to the GNOME Canvas library")
3566 (description "C++ bindings to the GNOME Canvas library.")
3567 (license license:lgpl2.0+)))
3568
5698b8b8
JD
3569(define-public libgnomeui
3570 (package
3571 (name "libgnomeui")
3572 (version "2.24.5")
3573 (source (origin
3574 (method url-fetch)
b38e45d8
EB
3575 (uri (string-append "mirror://gnome/sources/" name "/"
3576 (version-major+minor version) "/"
3577 name "-" version ".tar.bz2"))
8fa1872a 3578 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
3579 (sha256
3580 (base32
3581 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
3582 (build-system gnu-build-system)
3583 ;; Mentioned as Required in the .pc file
0a38a497
AE
3584 (propagated-inputs `(("libbonoboui" ,libbonoboui)
3585 ("libgnome" ,libgnome)
3586 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 3587 ("libgnome-keyring" ,libgnome-keyring)))
4bd428a7 3588 (inputs `(("libjpeg" ,libjpeg-turbo)
5698b8b8
JD
3589 ("popt" ,popt)
3590 ("libbonobo" ,libbonobo)
3591 ("libxml2" ,libxml2)
3592 ("libglade" ,libglade)))
3593 (native-inputs
221ed17a
EB
3594 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
3595 ("intltool" ,intltool)
5698b8b8
JD
3596 ("pkg-config" ,pkg-config)))
3597 (home-page "https://developer.gnome.org/libgnomeui/")
3598 (synopsis "Additional widgets for applications")
35b9e423 3599 (description "The libgnomeui library provides additional widgets for
e881752c
AK
3600applications. Many of the widgets from libgnomeui have already been
3601ported to GTK+.")
5698b8b8
JD
3602 (license license:lgpl2.0+)))
3603
3604(define-public libglade
3605 (package
3606 (name "libglade")
3607 (version "2.6.4")
3608 (source (origin
3609 (method url-fetch)
b38e45d8
EB
3610 (uri (string-append "mirror://gnome/sources/" name "/"
3611 (version-major+minor version) "/"
3612 name "-" version ".tar.bz2"))
5698b8b8
JD
3613 (sha256
3614 (base32
3615 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
3616 (build-system gnu-build-system)
3617 (inputs
92dcc23d
AE
3618 `(("python" ,python))) ;; needed for the optional libglade-convert program
3619 (propagated-inputs
5698b8b8 3620 `(("gtk+-2" ,gtk+-2)
92dcc23d 3621 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
3622 (native-inputs
3623 `(("pkg-config" ,pkg-config)))
3624 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
3625 (synopsis "Load glade interfaces and access the glade built widgets")
3626 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
3627graphical interfaces described in glade files and for accessing the
3628widgets built in the loading process.")
3629 (license license:gpl2+))) ; This is correct. GPL not LGPL
3630
3631(define-public libgnomeprint
eb497b66
LC
3632 ;; This library has been deprecated since 2006; see
3633 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
3634 (package
3635 (name "libgnomeprint")
d19db454 3636 (version "2.18.8")
5698b8b8
JD
3637 (source (origin
3638 (method url-fetch)
b38e45d8
EB
3639 (uri (string-append "mirror://gnome/sources/" name "/"
3640 (version-major+minor version) "/"
3641 name "-" version ".tar.bz2"))
5698b8b8
JD
3642 (sha256
3643 (base32
d19db454 3644 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
3645 (build-system gnu-build-system)
3646 (inputs
3647 `(("popt" ,popt)
3648 ("libart-lgpl" ,libart-lgpl)
3649 ("gtk+" ,gtk+-2)
44add1ce 3650 ("libxml2" ,libxml2)))
5698b8b8
JD
3651 (native-inputs
3652 `(("intltool" ,intltool)
221ed17a 3653 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
3654 ("pkg-config" ,pkg-config)))
3655 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 3656 (synopsis "Printing framework for GNOME")
eb497b66
LC
3657 (description
3658 "GNOME-print was a printing framework for GNOME. It has been deprecated
3659since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
3660 (license license:lgpl2.0+)))
3661
3662
3663(define-public libgnomeprintui
eb497b66 3664 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
3665 (package
3666 (name "libgnomeprintui")
36053d7f 3667 (version "2.18.6")
5698b8b8
JD
3668 (source (origin
3669 (method url-fetch)
b38e45d8
EB
3670 (uri (string-append "mirror://gnome/sources/" name "/"
3671 (version-major+minor version) "/"
3672 name "-" version ".tar.bz2"))
5698b8b8
JD
3673 (sha256
3674 (base32
36053d7f 3675 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
3676 (build-system gnu-build-system)
3677 ;; Mentioned as Required in the .pc file
3678 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
3679 (inputs `(("gtk+" ,gtk+-2)
3680 ("glib" ,glib)
3681 ("gnome-icon-theme" ,gnome-icon-theme)
3682 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 3683 ("libxml2" ,libxml2)))
5698b8b8
JD
3684 (native-inputs
3685 `(("intltool" ,intltool)
3686 ("pkg-config" ,pkg-config)))
3687 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
3688 (synopsis "Printing framework for GNOME")
eb497b66 3689 (description (package-description libgnomeprint))
5698b8b8
JD
3690 (license license:lgpl2.0+)))
3691
5698b8b8
JD
3692(define-public libbonoboui
3693 (package
3694 (name "libbonoboui")
3695 (version "2.24.5")
3696 (source (origin
3697 (method url-fetch)
b38e45d8
EB
3698 (uri (string-append "mirror://gnome/sources/" name "/"
3699 (version-major+minor version) "/"
3700 name "-" version ".tar.bz2"))
5698b8b8
JD
3701 (sha256
3702 (base32
3703 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
3704 (build-system gnu-build-system)
3705 (arguments
3706 `(#:phases
dc1d3cde
KK
3707 (modify-phases %standard-phases
3708 (add-before 'check 'start-xserver
3709 (lambda* (#:key inputs #:allow-other-keys)
3710 (let ((xorg-server (assoc-ref inputs "xorg-server"))
3711 (disp ":1"))
3712
3713 (setenv "HOME" (getcwd))
3714 (setenv "DISPLAY" disp)
3715 ;; There must be a running X server and make check doesn't start one.
3716 ;; Therefore we must do it.
3717 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
3718 ;; Mentioned as Required by the .pc file
3719 (propagated-inputs `(("libxml2" ,libxml2)))
3720 (inputs
3721 `(("popt" ,popt)
3722 ("pangox-compat" ,pangox-compat)
3723 ("libgnome" ,libgnome)
3724 ("libgnomecanvas" ,libgnomecanvas)
3725 ("libglade" ,libglade)))
3726 (native-inputs
221ed17a
EB
3727 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
3728 ("intltool" ,intltool)
ff337525 3729 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
3730 ("pkg-config" ,pkg-config)))
3731 (home-page "https://developer.gnome.org/libbonoboui/")
3732 (synopsis "Some user interface controls using Bonobo")
3733 (description "The Bonobo UI library provides a number of user interface
3734controls using the Bonobo component framework.")
3735 (license license:lgpl2.0+)))
3736
fecbf86e
SB
3737(define-public libwnck
3738 (package
3739 (name "libwnck")
d3b40696 3740 (version "3.32.0")
fecbf86e
SB
3741 (source (origin
3742 (method url-fetch)
3743 (uri (string-append "mirror://gnome/sources/" name "/"
3744 (version-major+minor version) "/"
3745 name "-" version ".tar.xz"))
3746 (sha256
ad9b8987 3747 (base32
d3b40696
KK
3748 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
3749 (build-system meson-build-system)
fecbf86e
SB
3750 (native-inputs
3751 `(("pkg-config" ,pkg-config)
d3b40696
KK
3752 ("glib" ,glib "bin") ; for glib-mkenums
3753 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
3754 ("intltool" ,intltool)))
3755 (propagated-inputs
427476d5
SB
3756 `(("gtk+" ,gtk+)
3757 ("libxres" ,libxres)
3758 ("startup-notification" ,startup-notification)))
fecbf86e
SB
3759 (home-page "https://developer.gnome.org/libwnck/")
3760 (synopsis "Window Navigator Construction Kit")
3761 (description
3762 "Libwnck is the Window Navigator Construction Kit, a library for use in
3763writing pagers, tasklists, and more generally applications that are dealing
3764with window management. It tries hard to respect the Extended Window Manager
3765Hints specification (EWMH).")
3766 (license license:lgpl2.0+)))
3767
3768;; stable version for gtk2, required by xfwm4.
dbb7a081 3769(define-public libwnck-2
fecbf86e
SB
3770 (package (inherit libwnck)
3771 (name "libwnck")
3772 (version "2.30.7")
3773 (source (origin
3774 (method url-fetch)
3775 (uri (string-append "mirror://gnome/sources/" name "/"
3776 (version-major+minor version) "/"
3777 name "-" version ".tar.xz"))
3778 (sha256
3779 (base32
3780 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
3781 (build-system gnu-build-system)
3782 (native-inputs
3783 `(("pkg-config" ,pkg-config)
3784 ("intltool" ,intltool)))
fecbf86e 3785 (propagated-inputs
427476d5
SB
3786 `(("gtk+" ,gtk+-2)
3787 ("libxres" ,libxres)
3788 ("startup-notification" ,startup-notification)))))
b804c61e
JD
3789
3790(define-public goffice
3791 (package
3792 (name "goffice")
2e60eafb 3793 (version "0.10.47")
b804c61e
JD
3794 (source (origin
3795 (method url-fetch)
16243f0b 3796 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 3797 (version-major+minor version) "/"
16243f0b 3798 "goffice-" version ".tar.xz"))
b804c61e 3799 (sha256
2e60eafb 3800 (base32 "0xmigfdzvmlpa0fw79mf3xwchmxc8rlidryn5syv8bz7msmrb215"))))
b804c61e 3801 (build-system gnu-build-system)
72a06d3e 3802 (outputs '("out"
355420c6 3803 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
3804 (arguments
3805 '(#:configure-flags (list (string-append "--with-html-dir="
3806 (assoc-ref %outputs "doc")
3807 "/share/gtk-doc/html"))))
b804c61e
JD
3808 (inputs
3809 `(("gtk+" ,gtk+)
3810 ("libgsf" ,libgsf)
3811 ("librsvg" ,librsvg)
3812 ("libxslt" ,libxslt)
3813 ("libxml2" ,libxml2)))
3814 (native-inputs
3815 `(("intltool" ,intltool)
f280cdb1 3816 ("glib" ,glib "bin")
b804c61e
JD
3817 ("pkg-config" ,pkg-config)))
3818 (home-page "https://developer.gnome.org/goffice/")
3819 (synopsis "Document-centric objects and utilities")
3820 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 3821 (license
b804c61e
JD
3822 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3823 ;; Note: NOT LGPL
3824 (list license:gpl2 license:gpl3))))
3825
c024ae36
RW
3826(define-public goffice-0.8
3827 (package (inherit goffice)
3828 (version "0.8.17")
3829 (source (origin
3830 (method url-fetch)
3831 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
3832 (version-major+minor version) "/"
3833 (package-name goffice) "-" version ".tar.xz"))
3834 (sha256
3835 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
3836 (arguments
3837 `(#:phases
dc1d3cde
KK
3838 (modify-phases %standard-phases
3839 (add-after 'unpack 'fix-pcre-check
3840 (lambda _
3841 ;; Only glib.h can be included directly. See
3842 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
3843 (substitute* "configure"
3844 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
3845
3846 ,@(package-arguments goffice)))
c024ae36
RW
3847 (propagated-inputs
3848 ;; libgoffice-0.8.pc mentions libgsf-1
3849 `(("libgsf" ,libgsf)))
3850 (inputs
3851 `(("gtk" ,gtk+-2)
3852 ,@(alist-delete "gtk" (package-inputs goffice))))))
3853
b804c61e
JD
3854(define-public gnumeric
3855 (package
3856 (name "gnumeric")
f0517b5d 3857 (version "1.12.46")
b804c61e
JD
3858 (source (origin
3859 (method url-fetch)
b7fd0217 3860 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 3861 (version-major+minor version) "/"
b7fd0217 3862 "gnumeric-" version ".tar.xz"))
b804c61e
JD
3863 (sha256
3864 (base32
f0517b5d 3865 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 3866 (build-system glib-or-gtk-build-system)
b804c61e
JD
3867 (arguments
3868 `(;; The gnumeric developers don't worry much about failing tests.
3869 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 3870 #:tests? #f
b804c61e 3871 #:phases
7bcbd40d
EF
3872 (modify-phases %standard-phases
3873 (add-before
3874 'configure 'pre-conf
3875 (lambda* (#:key outputs #:allow-other-keys)
3876 ;; Make install tries to write into the directory of goffice
3877 ;; I am informed that this only affects the possibility to embed a
3878 ;; spreadsheet inside an Abiword document. So presumably when we
3879 ;; package Abiword we'll have to refer it to this directory.
3880 (substitute* "configure"
3881 (("^GOFFICE_PLUGINS_DIR=.*")
3882 (string-append "GOFFICE_PLUGINS_DIR="
3883 (assoc-ref outputs "out")
3884 "/goffice/plugins"))))))))
b804c61e
JD
3885 (inputs
3886 `(("glib" ,glib)
3887 ("gtk+" ,gtk+)
3888 ("goffice" ,goffice)
3889 ("libgsf" ,libgsf)
7bcbd40d 3890 ("librsvg" ,librsvg)
b804c61e 3891 ("libxml2" ,libxml2)
7bcbd40d 3892 ("libxslt" ,libxslt)
2e4c5457 3893 ("python" ,python-2)
6983ba56 3894 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
3895 ("zlib" ,zlib)))
3896 (native-inputs
6983ba56 3897 `(("bison" ,bison)
1ed398d1 3898 ("docbook-xml" ,docbook-xml)
6983ba56 3899 ("intltool" ,intltool)
785fcb62 3900 ("itstool" ,itstool)
b9663471 3901 ("glib:bin" ,glib "bin")
b804c61e
JD
3902 ("pkg-config" ,pkg-config)))
3903 (home-page "http://www.gnumeric.org")
66672a45
LC
3904 (synopsis "Spreadsheet application")
3905 (description
3906 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
3907interoperable with other spreadsheet applications. It has a vast array of
3908features beyond typical spreadsheet functionality, such as support for linear
3909and non-linear solvers, statistical analysis, and telecommunication
3910engineering.")
3911 (license
b804c61e
JD
3912 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
3913 (list license:gpl2 license:gpl3))))
6f885c05
FB
3914
3915(define-public gnome-themes-standard
3916 (package
3917 (name "gnome-themes-standard")
0b7b8fb0 3918 (version "3.22.3")
6f885c05
FB
3919 (source
3920 (origin
3921 (method url-fetch)
2e6ecc5c 3922 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
3923 (version-major+minor version) "/" name "-"
3924 version ".tar.xz"))
3925 (sha256
3926 (base32
0b7b8fb0 3927 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 3928 (build-system gnu-build-system)
8ac70c7f
SB
3929 (arguments
3930 '(#:configure-flags
3931 ;; Don't create 'icon-theme.cache'.
3932 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
3933 (true (string-append coreutils "/bin/true")))
3934 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
3935 (inputs
3936 `(("gtk+" ,gtk+)
3937 ("gtk+-2" ,gtk+-2)
3938 ("librsvg" ,librsvg)
3939 ("libxml2" ,libxml2)
3940 ("glib" ,glib)))
3941 (native-inputs
3942 `(("intltool" ,intltool)
3943 ("glib:bin" ,glib "bin")
3944 ("pkg-config" ,pkg-config)))
6f885c05
FB
3945 (home-page "https://launchpad.net/gnome-themes-standard")
3946 (synopsis "Default GNOME 3 themes")
3947 (description
3948 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
3949 (license license:lgpl2.1+)))
5a659a48 3950
df90c701
RW
3951(define-public seahorse
3952 (package
3953 (name "seahorse")
1efcf722 3954 (version "3.34")
df90c701
RW
3955 (source
3956 (origin
3957 (method url-fetch)
3958 (uri (string-append "mirror://gnome/sources/" name "/"
3959 (version-major+minor version) "/" name "-"
3960 version ".tar.xz"))
3961 (sha256
3962 (base32
1efcf722 3963 "16sfnqrdlr5xx6kixx2ln1mva7nngjlw1k3f5n454vyaigffjh2v"))))
af561664
MÁAV
3964 (build-system meson-build-system)
3965 (arguments
bcea3c11
KK
3966 '(#:glib-or-gtk? #t
3967 #:phases
af561664
MÁAV
3968 (modify-phases %standard-phases
3969 (add-after 'unpack 'skip-gtk-update-icon-cache
3970 ;; Don't create 'icon-theme.cache'.
3971 (lambda _
3972 (substitute* "build-aux/meson_post_install.py"
3973 (("gtk-update-icon-cache") "true"))
3974 #t)))))
df90c701
RW
3975 (inputs
3976 `(("gtk+" ,gtk+)
3977 ("gcr" ,gcr)
34b979b9 3978 ("gnupg" ,gnupg)
df90c701 3979 ("gpgme" ,gpgme)
34b979b9 3980 ("openldap" ,openldap)
4a1bf090 3981 ("openssh" ,openssh)
af561664 3982 ("avahi" ,avahi)
bcea3c11 3983 ("libpwquality" ,libpwquality)
34b979b9
EF
3984 ("libsecret" ,libsecret)
3985 ("libsoup" ,libsoup)))
df90c701 3986 (native-inputs
af561664 3987 `(("gettext" ,gettext-minimal)
df90c701
RW
3988 ("glib:bin" ,glib "bin")
3989 ("itstool" ,itstool)
bcb354ad 3990 ("pkg-config" ,pkg-config)
af561664 3991 ("vala" ,vala)
bcb354ad 3992 ("xmllint" ,libxml2)))
bcea3c11 3993 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
3994 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
3995 (description
3996 "Seahorse is a GNOME application for managing encryption keys and
3997passwords in the GNOME keyring.")
3998 (license license:gpl2+)))
3999
5a659a48
SB
4000(define-public vala
4001 (package
4002 (name "vala")
b92a36db 4003 (version "0.46.5")
5a659a48
SB
4004 (source (origin
4005 (method url-fetch)
4006 (uri (string-append "mirror://gnome/sources/" name "/"
4007 (version-major+minor version) "/"
4008 name "-" version ".tar.xz"))
4009 (sha256
4010 (base32
b92a36db 4011 "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s"))))
5a659a48 4012 (build-system gnu-build-system)
1ea90625
SB
4013 (arguments
4014 '(#:phases
4015 (modify-phases %standard-phases
f4925a4f 4016 (add-before 'check 'pre-check
1ea90625
SB
4017 (lambda _
4018 (setenv "CC" "gcc")
8839b6be
RW
4019 (substitute* "valadoc/tests/testrunner.sh"
4020 (("export PKG_CONFIG_PATH=" m)
4021 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
4022 ;; For missing '/etc/machine-id'.
4023 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 4024 #t)))))
5a659a48
SB
4025 (native-inputs
4026 `(("pkg-config" ,pkg-config)
4027 ("flex" ,flex)
4028 ("bison" ,bison)
4029 ("xsltproc" ,libxslt)
4030 ("dbus" ,dbus) ; for dbus tests
4031 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
4032 (inputs
4033 `(("graphviz" ,graphviz)))
5a659a48 4034 (propagated-inputs
8839b6be 4035 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 4036 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
4037 (synopsis "Compiler for the GObject type system")
4038 (description
4039 "Vala is a programming language that aims to bring modern programming
4040language features to GNOME developers without imposing any additional runtime
4041requirements and without using a different ABI compared to applications and
4042libraries written in C.")
4043 (license license:lgpl2.1+)))
ea57378f 4044
2dcaa760
RP
4045(define-public vala-0.48
4046 (package
4047 (inherit vala)
9a299d4d 4048 (version "0.48.7")
2dcaa760
RP
4049 (source (origin
4050 (method url-fetch)
4051 (uri (string-append "mirror://gnome/sources/vala/"
4052 (version-major+minor version) "/"
4053 "vala-" version ".tar.xz"))
4054 (sha256
4055 (base32
9a299d4d 4056 "0lswkb7gj0chas9n3l3dbrm9l71hs77adhvm2v600id2ipi37pi8"))))))
2dcaa760 4057
ea57378f
SB
4058(define-public vte
4059 (package
4060 (name "vte")
53865a93 4061 (version "0.60.3")
ea57378f
SB
4062 (source (origin
4063 (method url-fetch)
ac87ffb8 4064 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 4065 (version-major+minor version) "/"
ac87ffb8 4066 "vte-" version ".tar.xz"))
ea57378f
SB
4067 (sha256
4068 (base32
53865a93 4069 "0al2v6fn061v4j1wwvppim1q283y2a6s0iyl29hxhmx3h48nxdzy"))))
68c47474 4070 (build-system meson-build-system)
663def11
RPG
4071 (arguments
4072 `(#:configure-flags
11491e1b
DM
4073 '("-Dvapi=true"
4074 "-D_systemd=false")))
ea57378f
SB
4075 (native-inputs
4076 `(("pkg-config" ,pkg-config)
4684580a 4077 ("gettext" ,gettext-minimal)
ea57378f
SB
4078 ("vala" ,vala)
4079 ("gobject-introspection" ,gobject-introspection)
68c47474 4080 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 4081 ("gperf" ,gperf)
ea57378f
SB
4082 ("xmllint" ,libxml2)))
4083 (propagated-inputs
68c47474
TGR
4084 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
4085 ("gnutls" ,gnutls) ; ditto
4086 ("pcre2" ,pcre2))) ; ditto
f032d0be 4087 (home-page "https://www.gnome.org/")
ea57378f
SB
4088 (synopsis "Virtual Terminal Emulator")
4089 (description
4090 "VTE is a library (libvte) implementing a terminal emulator widget for
4091GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
4092gnome-terminal, but can also be used to embed a console/terminal in games,
4093editors, IDEs, etc.")
4094 (license license:lgpl2.1+)))
4095
c44fb4df
MO
4096(define-public vte-ng
4097 (package
4098 (inherit vte)
4099 (name "vte-ng")
24f4fcbe 4100 (version "0.58.2.a")
afd90f8d 4101 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
4102 (source (origin
4103 (method git-fetch)
4104 (uri (git-reference (url home-page) (commit version)))
4105 (file-name (git-file-name name version))
4106 (sha256
4107 (base32
24f4fcbe
MB
4108 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
4109 (build-system meson-build-system)
c44fb4df
MO
4110 (native-inputs
4111 `(("gtk-doc" ,gtk-doc)
c44fb4df 4112 ,@(package-native-inputs vte)))
c44fb4df 4113 (arguments
24f4fcbe 4114 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
4115 (synopsis "Enhanced VTE terminal widget")
4116 (description
4117 "VTE is a library (libvte) implementing a terminal emulator widget for
4118GTK+, this fork provides additional functions exposed for keyboard text
4119selection and URL hints.")))
4120
da11c16b 4121;; Stable version for gtk2, required by gnurobots and lxterminal as of 2020-07.
ea57378f
SB
4122(define-public vte/gtk+-2
4123 (package (inherit vte)
4124 (name "vte")
4125 (version "0.28.2")
4126 (source (origin
4127 (method url-fetch)
4128 (uri (string-append "mirror://gnome/sources/" name "/"
4129 (version-major+minor version) "/"
4130 name "-" version ".tar.xz"))
4131 (sha256
4132 (base32
7d48938a
EF
4133 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
4134 (patches (search-patches
4135 "vte-CVE-2012-2738-pt1.patch"
4136 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 4137 (build-system gnu-build-system)
ea57378f
SB
4138 (arguments
4139 '(#:configure-flags '("--disable-python")))
4140 (native-inputs
4141 `(("pkg-config" ,pkg-config)
4142 ("intltool" ,intltool)
4143 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
4144 (propagated-inputs
4145 `(("gtk+" ,gtk+-2) ; required by libvte.pc
4146 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 4147
cce0da5e
TD
4148(define-public vinagre
4149 (package
4150 (name "vinagre")
4151 (version "3.22.0")
4152 (source (origin
4153 (method url-fetch)
4154 (uri (string-append "mirror://gnome/sources/" name "/"
4155 (version-major+minor version) "/"
4156 name "-" version ".tar.xz"))
684f97f8
EF
4157 (patches (search-patches "vinagre-newer-freerdp.patch"
4158 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
4159 (sha256
4160 (base32
4161 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
4162 (build-system glib-or-gtk-build-system)
684f97f8 4163 (arguments
7f486d25
MC
4164 ;; Disable -Werror and such, to avoid build failures on compilation
4165 ;; warnings.
4166 '(#:configure-flags '("--enable-compile-warnings=minimum")
4167 #:phases
684f97f8 4168 (modify-phases %standard-phases
1839768c
EF
4169 (add-before 'install 'skip-gtk-update-icon-cache
4170 (lambda _
4171 ;; Don't create 'icon-theme.cache'
4172 (substitute* (find-files "." "^Makefile$")
4173 (("gtk-update-icon-cache") (which "true")))
4174 #t))
684f97f8
EF
4175 (add-after 'unpack 'patch-configure
4176 (lambda _
4177 (substitute* "configure"
4178 (("freerdp") "freerdp2"))
4179 #t)))))
cce0da5e
TD
4180 (native-inputs
4181 `(("pkg-config" ,pkg-config)
4182 ("intltool" ,intltool)
4183 ("itstool" ,itstool)
1839768c 4184 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
4185 (inputs
4186 `(("libxml2" ,libxml2)
4187 ("gtk-vnc" ,gtk-vnc)
4188 ("gnome-keyring" ,gnome-keyring)
4189 ("libsecret" ,libsecret)
4190 ("freerdp" ,freerdp)
4191 ("spice" ,spice)
4192 ("spice-gtk" ,spice-gtk)
4193 ("telepathy-glib" ,telepathy-glib)
4194 ("vte" ,vte)))
cce0da5e
TD
4195 (home-page "https://wiki.gnome.org/Apps/Vinagre")
4196 (synopsis "Remote desktop viewer for GNOME")
4197 (description "Vinagre is a remote display client supporting the VNC, SPICE
4198and RDP protocols.")
4199 (license license:gpl3+)))
4200
b47e1b20
FB
4201(define-public dconf
4202 (package
4203 (name "dconf")
7f4d075d 4204 (version "0.34.0")
b47e1b20
FB
4205 (source (origin
4206 (method url-fetch)
4207 (uri (string-append
2e6ecc5c 4208 "mirror://gnome/sources/" name "/"
b47e1b20
FB
4209 (version-major+minor version) "/"
4210 name "-" version ".tar.xz"))
46c3a08b 4211 (patches (search-patches "dconf-meson-0.52.patch"))
b47e1b20 4212 (sha256
f05c809f 4213 (base32
7f4d075d 4214 "0lnsl85cp2vpzgp8pkf6l6yd2i3lp02jdvga1icfa78j2smr8fll"))))
35fa923d 4215 (build-system meson-build-system)
bc036f4c
MB
4216 (propagated-inputs
4217 ;; In Requires of dconf.pc.
4218 `(("glib" ,glib)))
b47e1b20
FB
4219 (inputs
4220 `(("gtk+" ,gtk+)
bc036f4c 4221 ("dbus" ,dbus)))
b47e1b20 4222 (native-inputs
1e33331c
MB
4223 `(("bash-completion" ,bash-completion)
4224 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 4225 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
4226 ("docbook-xml" ,docbook-xml-4.2)
4227 ("docbook-xsl" ,docbook-xsl)
35fa923d 4228 ("glib:bin" ,glib "bin")
03676d6f 4229 ("gtk-doc" ,gtk-doc)
35fa923d
MB
4230 ("pkg-config" ,pkg-config)
4231 ("vala" ,vala)))
b47e1b20
FB
4232 (arguments
4233 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
4234 ; or /etc/machine-id.
35fa923d
MB
4235 #:glib-or-gtk? #t
4236 #:configure-flags '("-Denable-gtk-doc=true")))
79d7b527 4237 (home-page "https://developer.gnome.org/dconf/")
b47e1b20
FB
4238 (synopsis "Low-level GNOME configuration system")
4239 (description "Dconf is a low-level configuration system. Its main purpose
4240is to provide a backend to GSettings on platforms that don't already have
4241configuration storage systems.")
e20e6b40 4242 (license license:lgpl2.1+)))
109da1c0
AE
4243
4244(define-public json-glib
4245 (package
4246 (name "json-glib")
4115e8ea 4247 (version "1.4.4")
109da1c0
AE
4248 (source (origin
4249 (method url-fetch)
4250 (uri (string-append "mirror://gnome/sources/" name "/"
4251 (version-major+minor version) "/"
4252 name "-" version ".tar.xz"))
4253 (sha256
4254 (base32
4115e8ea 4255 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 4256 (build-system meson-build-system)
109da1c0 4257 (native-inputs
98afa184
MB
4258 `(("gettext" ,gettext-minimal)
4259 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
4260 ("gobject-introspection" ,gobject-introspection)
4261 ("pkg-config" ,pkg-config)))
4262 (propagated-inputs
88c6b580 4263 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
4264 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
4265 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
4266 (description
4267 "JSON-GLib is a C library based on GLib providing serialization and
4268deserialization support for the JavaScript Object Notation (JSON) format
4269described by RFC 4627. It provides parser and generator GObject classes and
4270various wrappers for the complex data types employed by JSON, such as arrays
4271and objects.")
109da1c0 4272 (license license:lgpl2.1+)))
6f96a359
SB
4273
4274(define-public libxklavier
4275 (package
4276 (name "libxklavier")
5f39050b 4277 (version "5.4")
6f96a359 4278 (source (origin
5f39050b 4279 ;; Note: There's no tarball at ftp.gnome.org for this version.
4280 (method git-fetch)
4281 (uri (git-reference
4282 (url "https://anongit.freedesktop.org/git/libxklavier")
4283 (commit (string-append "libxklavier-" version))))
6f96a359
SB
4284 (sha256
4285 (base32
5f39050b 4286 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
4287 (file-name (git-file-name name version))))
6f96a359
SB
4288 (build-system gnu-build-system)
4289 (arguments
778d6b52 4290 '(#:configure-flags
6f96a359
SB
4291 (list (string-append "--with-xkb-base="
4292 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 4293 "/share/X11/xkb")
4294 "--disable-xmodmap-support")))
6f96a359
SB
4295 (native-inputs
4296 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4297 ("gobject-introspection" ,gobject-introspection)
5f39050b 4298 ("pkg-config" ,pkg-config)
4299 ("gtk-doc" ,gtk-doc)
4300 ("intltool" ,intltool)
4301 ("which" ,which)
4302 ("autoconf" ,autoconf)
4303 ("automake" ,automake)
4304 ("libtool" ,libtool)))
6f96a359
SB
4305 (propagated-inputs
4306 ;; Required by libxklavier.pc.
4307 `(("glib" ,glib)
4308 ("libxml2" ,libxml2)))
4309 (inputs
4310 `(("iso-codes" ,iso-codes)
4311 ("libxi" ,libxi)
4312 ("libxkbfile" ,libxkbfile)
4313 ("xkbcomp" ,xkbcomp)
4314 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 4315 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
4316 (synopsis "High-level API for X Keyboard Extension")
4317 (description
4318 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
4319Extension known as XKB. This library is intended to support XFree86 and other
4320commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
4321indicators etc).")
4322 (license license:lgpl2.0+)))
619936a4
LC
4323
4324(define-public python2-rsvg
4325 ;; XXX: This is actually a subset of gnome-python-desktop.
4326 (package
4327 (name "python2-rsvg")
4328 (version "2.32.0")
4329 (source
4330 (origin
4331 (method url-fetch)
4332 (uri (string-append
4333 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
4334 version ".tar.bz2"))
4335 (sha256
4336 (base32
4337 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
4338 (build-system gnu-build-system)
4339 (native-inputs
4340 `(("pkg-config" ,pkg-config)))
4341 (inputs
4342 `(("python" ,python-2)
4343 ("python2-pygtk" ,python2-pygtk)
4344 ("librsvg" ,librsvg)))
f032d0be 4345 (home-page "https://www.gnome.org")
619936a4
LC
4346 (synopsis "Python bindings to librsvg")
4347 (description
3ad75446 4348 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
4349library.")
4350
4351 ;; This is the license of the rsvg bindings. The license of each module
4352 ;; of gnome-python-desktop is given in 'COPYING'.
4353 (license license:lgpl2.1+)))
a31a6d22 4354
f2ca414a
SB
4355(define-public glib-networking
4356 (package
4357 (name "glib-networking")
ea9f74b0 4358 (version "2.62.2")
f2ca414a
SB
4359 (source (origin
4360 (method url-fetch)
4361 (uri (string-append "mirror://gnome/sources/glib-networking/"
4362 (version-major+minor version) "/"
fb8fe1e8 4363 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
4364 (sha256
4365 (base32
ea9f74b0 4366 "0i2mw75297ql72h47vyvff3hqa0kcmqybblj52fqrarb0kfbhi06"))))
65211552 4367 (build-system meson-build-system)
f2ca414a 4368 (arguments
0d75c64d 4369 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
4370 (native-inputs
4371 `(("pkg-config" ,pkg-config)
4372 ("intltool" ,intltool)))
4373 (inputs
4374 `(("glib" ,glib)
4375 ("gnutls" ,gnutls)
4b8f1313 4376 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 4377 (home-page "https://www.gnome.org")
f2ca414a
SB
4378 (synopsis "Network-related GIO modules")
4379 (description
4380 "This package contains various network related extensions for the GIO
4381library.")
4382 (license license:lgpl2.0+)))
4383
ca649680 4384(define-public rest
4510b2da 4385 (package
ca649680 4386 (name "rest")
a4194d16 4387 (version "0.8.1")
4510b2da
SB
4388 (source (origin
4389 (method url-fetch)
4390 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
4391 (version-major+minor version) "/"
4392 name "-" version ".tar.xz"))
4510b2da
SB
4393 (sha256
4394 (base32
a4194d16 4395 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
4396 (build-system gnu-build-system)
4397 (arguments
4398 '(#:tests? #f ; tests require internet connection
4399 #:configure-flags
4400 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
4401 (native-inputs
4402 `(("glib-mkenums" ,glib "bin")
4403 ("gobject-introspection" ,gobject-introspection)
4404 ("pkg-config" ,pkg-config)))
4405 (propagated-inputs
4406 ;; rest-0.7.pc refers to all these.
4407 `(("glib" ,glib)
4408 ("libsoup" ,libsoup)
4409 ("libxml2" ,libxml2)))
24d6cc1d 4410 (home-page "https://www.gtk.org/")
4510b2da
SB
4411 (synopsis "RESTful web api query library")
4412 (description
4413 "This library was designed to make it easier to access web services that
4414claim to be \"RESTful\". It includes convenience wrappers for libsoup and
4415libxml to ease remote use of the RESTful API.")
4416 (license license:lgpl2.1+)))
4417
6e1bb642
SB
4418(define-public libsoup
4419 (package
4420 (name "libsoup")
9a9cd9bc 4421 (version "2.70.0")
6e1bb642
SB
4422 (source (origin
4423 (method url-fetch)
4424 (uri (string-append "mirror://gnome/sources/libsoup/"
4425 (version-major+minor version) "/"
c1b79b36 4426 "libsoup-" version ".tar.xz"))
6e1bb642
SB
4427 (sha256
4428 (base32
9a9cd9bc 4429 "0hjk9lgppc5435my0lyywbpmj7ib5vvcylwfin8ki97g9bvj1c2l"))))
eccaa8bf 4430 (build-system meson-build-system)
6e1bb642
SB
4431 (outputs '("out" "doc"))
4432 (arguments
2deb146f 4433 `(#:modules ((guix build utils)
eccaa8bf 4434 (guix build meson-build-system)
2deb146f
LC
4435 (ice-9 popen))
4436
f8026a79 4437 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
4438 #:phases
4439 (modify-phases %standard-phases
eccaa8bf 4440 (add-after 'unpack 'adjust-tests
26c228f9 4441 (lambda _
eccaa8bf
MB
4442 ;; This test fails due to missing /etc/nsswitch.conf
4443 ;; in the build environment.
26c228f9
LC
4444 (substitute* "tests/socket-test.c"
4445 ((".*/sockets/unconnected.*") ""))
2deb146f 4446
f8026a79
MB
4447 ;; These fail because "subdomain.localhost" does not resolve in
4448 ;; the build environment.
4449 (substitute* "tests/hsts-test.c"
4450 ((".*/hsts/basic.*") "")
4451 ((".*/hsts/subdomains.*") "")
4452 ((".*/hsts/superdomain.*") "")
4453 ((".*/hsts/utf8-address.*") ""))
4454 (substitute* "tests/hsts-db-test.c"
4455 ((".*/hsts-db/subdomains.*") ""))
4456
2deb146f
LC
4457 ;; Generate a self-signed certificate that has "localhost" as its
4458 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
4459 ;; 3.5.12, tests such as "ssl-tests" fail:
4460 ;;
4461 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
4462 ;;
4463 ;; 'certtool' is interactive so we have to pipe it the answers.
4464 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
4465 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
4466 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
4467 (for-each (lambda (line)
4468 (display line pipe)
4469 (newline pipe))
4470 '("" ;Common name
4471 "" ;UID
4472 "Guix" ;Organizational unit name
4473 "GNU" ;Organization name
4474 "" ;Locality name
4475 "" ;State or province
4476 "" ;Country
4477 "" ;subject's domain component (DC)
4478 "" ;E-mail
4479 "" ;serial number
4480 "-1" ;expiration time
4481 "N" ;belong to authority?
4482 "N" ;web client certificate?
4483 "N" ;IPsec IKE?
4484 "Y" ;web server certificate?
4485 "localhost" ;dnsName of subject
4486 "" ;dnsName of subject (end)
4487 "" ;URI of subject
4488 "127.0.0.1" ;IP address of subject
4489 "" ;signing?
06f5bc4e
MB
4490 "" ;encryption (RSA)?
4491 "" ;data encryption?
2deb146f
LC
4492 "" ;sign OCSP requests?
4493 "" ;sign code?
4494 "" ;time stamping?
4495 "" ;email protection?
4496 "" ;URI of the CRL distribution point
4497 "y" ;above info OK?
4498 ))
4499 (close-pipe pipe))
26c228f9 4500 #t))
eccaa8bf
MB
4501 (add-after 'install 'move-doc
4502 (lambda* (#:key outputs #:allow-other-keys)
4503 (let ((out (assoc-ref outputs "out"))
4504 (doc (assoc-ref outputs "doc")))
4505 (mkdir-p (string-append doc "/share"))
4506 (copy-recursively (string-append out "/share/gtk-doc")
4507 (string-append doc "/share/gtk-doc"))
4508 (delete-file-recursively (string-append out "/share/gtk-doc"))
4509 #t))))))
6e1bb642 4510 (native-inputs
26c228f9 4511 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 4512 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 4513 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
4514 ("intltool" ,intltool)
4515 ("pkg-config" ,pkg-config)
4516 ("python" ,python-wrapper)
fd730590 4517 ("vala" ,vala)
53c41e95 4518 ("php" ,php)
6e1bb642 4519 ("curl" ,curl)
2deb146f 4520 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
4521 ("httpd" ,httpd)))
4522 (propagated-inputs
4523 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
4524 `(("brotli" ,google-brotli)
4525 ("glib" ,glib)
249846bf 4526 ("libpsl" ,libpsl)
eccaa8bf 4527 ("libxml2" ,libxml2)
f8026a79
MB
4528 ("sqlite" ,sqlite)
4529 ("zlib" ,zlib)))
eccaa8bf
MB
4530 (inputs
4531 `(("glib-networking" ,glib-networking)
4532 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
4533 (home-page "https://live.gnome.org/LibSoup/")
4534 (synopsis "GLib-based HTTP Library")
4535 (description
4536 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
4537and the GLib main loop, to integrate well with GNOME applications.")
4538 (license license:lgpl2.0+)))
4539
43b6b45e
MC
4540
4541;;; A minimal version of libsoup used to prevent a cycle with Inkscape.
4542(define-public libsoup-minimal
4543 (package
4544 (inherit libsoup)
4545 (name "libsoup-minimal")
4546 (outputs (delete "doc" (package-outputs libsoup)))
4547 (arguments
4548 (substitute-keyword-arguments (package-arguments libsoup)
4549 ((#:configure-flags configure-flags)
4550 `(delete "-Dgtk_doc=true" ,configure-flags))
4551 ((#:phases phases)
4552 `(modify-phases ,phases
4553 (delete 'move-doc)))))
4554 (native-inputs (alist-delete "gtk-doc" (package-native-inputs libsoup)))))
4555
bba229a3
SB
4556(define-public libsecret
4557 (package
4558 (name "libsecret")
b05a2f62 4559 (version "0.20.3")
bba229a3
SB
4560 (source (origin
4561 (method url-fetch)
4562 (uri (string-append
896dcbc7
EF
4563 "mirror://gnome/sources/libsecret/"
4564 (version-major+minor version) "/"
0ada4e29 4565 "libsecret-" version ".tar.xz"))
bba229a3
SB
4566 (sha256
4567 (base32
b05a2f62 4568 "1r4habxdzmn02id324m0m4mg5isf22q1z436bg3vjjmcz1b3rjsg"))))
bba229a3
SB
4569 (build-system gnu-build-system)
4570 (outputs '("out" "doc"))
4571 (arguments
4572 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
4573 #:configure-flags
4574 (list (string-append "--with-html-dir="
4575 (assoc-ref %outputs "doc")
4576 "/share/gtk-doc/html"))))
4577 (native-inputs
c06ef010
MB
4578 `(("gettext" ,gettext-minimal)
4579 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 4580 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
4581 ("pkg-config" ,pkg-config)
4582 ("vala" ,vala)
4583 ("xsltproc" ,libxslt)))
4584 ;; These are needed for the tests.
4585 ;; FIXME: Add gjs once available.
4586 ;("dbus" ,dbus)
4587 ;("python2" ,python-2)
4588 ;("python2-dbus" ,python2-dbus)
4589 ;("python2-pygobject" ,python2-pygobject)
4590 ;("python2-pygobject-2" ,python2-pygobject-2)))
4591 (propagated-inputs
4592 `(("glib" ,glib))) ; required by libsecret-1.pc
4593 (inputs
4594 `(("docbook-xsl" ,docbook-xsl)
4595 ("libgcrypt" ,libgcrypt)
4596 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
4597 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
4598 (synopsis "GObject bindings for \"Secret Service\" API")
4599 (description
4600 "Libsecret is a GObject based library for storing and retrieving passwords
4601and other secrets. It communicates with the \"Secret Service\" using DBus.")
4602 (license license:lgpl2.1+)))
4603
b6821ee0 4604(define-public five-or-more
4605 (package
4606 (name "five-or-more")
ee75b46f 4607 (version "3.32.2")
b6821ee0 4608 (source
4609 (origin
4610 (method url-fetch)
bf782bfc 4611 (uri (string-append "mirror://gnome/sources/five-or-more/"
b6821ee0 4612 (version-major+minor version) "/"
bf782bfc 4613 "five-or-more-" version ".tar.xz"))
b6821ee0 4614 (sha256
ee75b46f 4615 (base32 "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii"))))
d9795e93
KK
4616 (build-system meson-build-system)
4617 (arguments
4618 '(#:glib-or-gtk? #t
4619 #:phases
4620 (modify-phases %standard-phases
4621 (add-after 'unpack 'skip-gtk-update-icon-cache
4622 (lambda _
4623 (substitute* "meson_post_install.py"
4624 (("gtk-update-icon-cache") (which "true")))
4625 #t)))))
b6821ee0 4626 (native-inputs
4627 `(("pkg-config" ,pkg-config)
d9795e93 4628 ("appstream-glib" ,appstream-glib)
b6821ee0 4629 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 4630 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 4631 ("intltool" ,intltool)
4632 ("itstool" ,itstool)
d9795e93 4633 ("vala" ,vala)
b6821ee0 4634 ("xmllint" ,libxml2)))
4635 (inputs
4636 `(("gtk+" ,gtk+)
d9795e93 4637 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 4638 ("librsvg" ,librsvg)))
4639 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
4640 (synopsis "Logic puzzle game")
4641 (description "Five or More is a game where you try to align
4642 five or more objects of the same color and shape causing them to disappear.
4643 On every turn more objects will appear, until the board is full.
4644 Try to last as long as possible.")
4645 (license license:gpl2+)))
4646
a31a6d22
SB
4647(define-public gnome-mines
4648 (package
4649 (name "gnome-mines")
d79e9b1b 4650 (version "3.34.0")
a31a6d22
SB
4651 (source
4652 (origin
4653 (method url-fetch)
4654 (uri (string-append "mirror://gnome/sources/" name "/"
4655 (version-major+minor version) "/"
4656 name "-" version ".tar.xz"))
4657 (sha256
4658 (base32
d79e9b1b 4659 "1spxa6qr1y8s5rrsvpciywpvhk812ngn95s1apaxaigwy2g1iw54"))))
8c0fab36 4660 (build-system meson-build-system)
a31a6d22 4661 (arguments
2d817e41
KK
4662 '(#:glib-or-gtk? #t
4663 #:phases
a31a6d22 4664 (modify-phases %standard-phases
2d817e41
KK
4665 (add-after 'unpack 'skip-gtk-update-icon-cache
4666 (lambda _
4667 (substitute* "build-aux/meson_post_install.py"
4668 (("gtk-update-icon-cache") (which "true")))
4669 #t)))))
a31a6d22 4670 (native-inputs
8c0fab36
RW
4671 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
4672 ("pkg-config" ,pkg-config)
a31a6d22
SB
4673 ("desktop-file-utils" ,desktop-file-utils)
4674 ("intltool" ,intltool)
bcb354ad 4675 ("itstool" ,itstool)
8c0fab36
RW
4676 ("vala" ,vala)
4677 ("yelp" ,yelp)
4678 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
4679 (inputs
4680 `(("gtk+" ,gtk+)
73992962 4681 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
4682 ("librsvg" ,librsvg)))
4683 (home-page "https://wiki.gnome.org/Apps/Mines")
4684 (synopsis "Minesweeper game")
4685 (description
4686 "Mines (previously gnomine) is a puzzle game where you locate mines
4687floating in an ocean using only your brain and a little bit of luck.")
754cfbdc
EB
4688 (license license:gpl2+)))
4689
4690(define-public gnome-multi-writer
4691 (package
4692 (name "gnome-multi-writer")
4693 (version "3.35.90")
4694 (source
4695 (origin
4696 (method url-fetch)
4697 (uri (string-append "mirror://gnome/sources/gnome-multi-writer/"
4698 (version-major+minor version) "/"
4699 "gnome-multi-writer-" version ".tar.xz"))
4700 (sha256
4701 (base32
4702 "07vgzjjdrxcp7h73z13h9agafxb4vmqx5i81bcfyw0ilw9kkdzmp"))))
4703 (build-system meson-build-system)
4704 (arguments
4705 '(#:glib-or-gtk? #t
4706 #:phases
4707 (modify-phases %standard-phases
4708 (add-after 'unpack 'skip-post-install
4709 (lambda _
4710 (substitute* "meson.build"
4711 (("meson.add_install_script" &) (string-append "# " &)))
4712 #t)))))
4713 (native-inputs
4714 `(("glib:bin" ,glib "bin")
4715 ("pkg-config" ,pkg-config)))
4716 (inputs
4717 `(("gtk+" ,gtk+)
4718 ("glib" ,glib) ; for gio
4719 ("gusb" ,gusb)
4720 ("udisks" ,udisks)
4721 ("libgudev" ,libgudev)
4722 ("libcanberra" ,libcanberra)
4723 ("polkit" ,polkit)))
4724 (home-page "https://wiki.gnome.org/Apps/MultiWriter")
4725 (synopsis "Write to multiple USB devices at once")
4726 (description
4727 "MultiWriter can be used to write an ISO file to multiple USB devices at
4728once.")
a31a6d22 4729 (license license:gpl2+)))
88f70665 4730
dfc407f3
KY
4731(define-public gnome-sudoku
4732 (package
4733 (name "gnome-sudoku")
857eb190 4734 (version "3.34.1")
dfc407f3
KY
4735 (source
4736 (origin
4737 (method url-fetch)
4738 (uri (string-append "mirror://gnome/sources/" name "/"
4739 (version-major+minor version) "/"
4740 name "-" version ".tar.xz"))
4741 (sha256
4742 (base32
857eb190 4743 "025y85r4qqardivvwiwhbmgarziykdy224m8zlrq8b79zv82793b"))))
7dc728c4
KK
4744 (build-system meson-build-system)
4745 (arguments
4746 '(#:glib-or-gtk? #t
4747 #:phases
4748 (modify-phases %standard-phases
4749 (add-after 'unpack 'skip-gtk-update-icon-cache
4750 (lambda _
4751 (substitute* "build-aux/post_install.py"
4752 (("gtk-update-icon-cache") (which "true")))
4753 #t)))))
dfc407f3
KY
4754 (native-inputs
4755 `(("pkg-config" ,pkg-config)
4756 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 4757 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
4758 ("intltool" ,intltool)
4759 ("itstool" ,itstool)
7dc728c4 4760 ("vala" ,vala)
dfc407f3
KY
4761 ("xmllint" ,libxml2)))
4762 (inputs
4763 `(("gtk+" ,gtk+)
4764 ("json-glib" ,json-glib)
4765 ("libgee" ,libgee)
4766 ("librsvg" ,librsvg)
4767 ("qqwing" ,qqwing)))
4768 (home-page "https://wiki.gnome.org/Apps/Sudoku")
4769 (synopsis "Japanese logic game")
4770 (description
4771 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
4772GNOME Sudoku is meant to have an interface as simple and unobstrusive as
4773possible while still providing features that make playing difficult Sudoku
4774more fun.")
4775 (license license:gpl2+)))
4776
88f70665
AW
4777(define-public gnome-terminal
4778 (package
4779 (name "gnome-terminal")
80f6f9d8 4780 (version "3.34.2")
88f70665
AW
4781 (source
4782 (origin
4783 (method url-fetch)
4784 (uri (string-append "mirror://gnome/sources/" name "/"
4785 (version-major+minor version) "/"
4786 name "-" version ".tar.xz"))
4787 (sha256
4788 (base32
80f6f9d8 4789 "0gc004f9b5k94gkdanmqjz3wqgnpny0l3nqm8zd19h4f0ps27mrv"))))
88f70665
AW
4790 (build-system glib-or-gtk-build-system)
4791 (arguments
4792 '(#:configure-flags
4793 (list "--disable-migration" "--disable-search-provider"
4794 "--without-nautilus-extension")
4795 #:phases
4796 (modify-phases %standard-phases
3a4de6b2 4797 (add-before 'configure 'patch-/bin/true
88f70665
AW
4798 (lambda _
4799 (substitute* "configure"
4800 (("/bin/true") (which "true"))))))))
4801 (native-inputs
4802 `(("pkg-config" ,pkg-config)
4803 ("desktop-file-utils" ,desktop-file-utils)
4804 ("intltool" ,intltool)
bcb354ad
SB
4805 ("itstool" ,itstool)
4806 ("xmllint" ,libxml2)))
68702167
MW
4807 (propagated-inputs
4808 `(("dconf" ,dconf)))
88f70665
AW
4809 (inputs
4810 `(("gtk+" ,gtk+)
4811 ("vte" ,vte)
4812 ("gnutls" ,gnutls)
88f70665 4813 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
bb93042c 4814 ("util-linux" ,util-linux "lib")
88f70665
AW
4815 ("vala" ,vala)))
4816 (home-page "https://wiki.gnome.org/Apps/Terminal")
4817 (synopsis "Terminal emulator")
4818 (description
4819 "GNOME Terminal is a terminal emulator application for accessing a
4820UNIX shell environment which can be used to run programs available on
4821your system.
4822
4823It supports several profiles, multiple tabs and implements several
4824keyboard shortcuts.")
4825 (license license:gpl3+)))
75016d07
AW
4826
4827(define-public colord
4828 (package
4829 (name "colord")
f98be942 4830 (version "1.4.4")
75016d07
AW
4831 (source
4832 (origin
4833 (method url-fetch)
5cc3096c 4834 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 4835 "colord-" version ".tar.xz"))
75016d07 4836 (sha256
f98be942 4837 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 4838 (build-system meson-build-system)
75016d07 4839 (arguments
a68544a8
RW
4840 '(;; FIXME: One test fails:
4841 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
4842 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
4843 ;; application/x-zerosize
75016d07 4844 #:tests? #f
a68544a8
RW
4845 #:glib-or-gtk? #t
4846 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 4847 ;; No dep on systemd.
a68544a8 4848 "-Dsystemd=false"
75016d07
AW
4849 ;; Wants to install to global completion dir;
4850 ;; punt.
a68544a8 4851 "-Dbash_completion=false"
a68544a8
RW
4852 "-Ddaemon_user=colord"
4853 "-Dsane=true"
dac26e22 4854 "-Dvapi=true"
6f20e2dc 4855 ;; Requires spotread.
a68544a8 4856 "-Dargyllcms_sensor=false"
6f20e2dc 4857 ;; TODO: Requires docbook2x.
a68544a8 4858 "-Dman=false")
75016d07
AW
4859 #:phases
4860 (modify-phases %standard-phases
a68544a8
RW
4861 (add-before 'configure 'patch-build-system
4862 (lambda* (#:key outputs #:allow-other-keys)
4863 (substitute* "rules/meson.build"
4864 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
4865 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
4866 #t))
4867 (add-before 'configure 'set-sqlite3-file-name
4868 (lambda* (#:key inputs #:allow-other-keys)
4869 ;; "colormgr dump" works by invoking the "sqlite3" command.
4870 ;; Record its absolute file name.
4871 (let ((sqlite (assoc-ref inputs "sqlite")))
4872 (substitute* "client/cd-util.c"
4873 (("\"sqlite3\"")
4874 (string-append "\"" sqlite "/bin/sqlite3\"")))
4875 #t))))))
75016d07 4876 (native-inputs
6f20e2dc 4877 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 4878 ("gettext" ,gettext-minimal)
75016d07 4879 ("gobject-introspection" ,gobject-introspection)
a68544a8 4880 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
4881 ("pkg-config" ,pkg-config)
4882 ("vala" ,vala)))
65cb2d61
SB
4883 (propagated-inputs
4884 ;; colord.pc refers to all these.
4885 `(("glib" ,glib)
6f20e2dc
TGR
4886 ("lcms" ,lcms)
4887 ("udev" ,eudev)))
75016d07 4888 (inputs
65cb2d61 4889 `(("dbus-glib" ,dbus-glib)
a68544a8 4890 ("gusb" ,gusb)
80c7dd1a 4891 ("libgudev" ,libgudev)
75016d07 4892 ("libusb" ,libusb)
75016d07 4893 ("polkit" ,polkit)
a68544a8 4894 ("python" ,python-wrapper)
6f20e2dc 4895 ("sqlite" ,sqlite)
4c928743 4896 ("sane-backends" ,sane-backends)))
57e7d748 4897 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
4898 (synopsis "Color management service")
4899 (description "Colord is a system service that makes it easy to manage,
4900install and generate color profiles to accurately color manage input and
4901output devices.")
4902 (license license:gpl2+)))
7b2abd00
AW
4903
4904(define-public geoclue
4905 (package
4906 (name "geoclue")
2bf0a5cb 4907 (version "2.5.6")
7b2abd00
AW
4908 (source
4909 (origin
4910 (method url-fetch)
50e96d25
MB
4911 (uri
4912 (string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/"
4913 version "/geoclue-" version ".tar.bz2"))
7b2abd00 4914 (sha256
2bf0a5cb 4915 (base32 "0a833x5apzabxj80ywvsh8crd635vni2i9v9c1p095f6hvmfc45k"))
fc1adab1 4916 (patches (search-patches "geoclue-config.patch"))))
50e96d25 4917 (build-system meson-build-system)
7b2abd00 4918 (arguments
50e96d25 4919 '(#:configure-flags (list "-Dbus-srv-user=geoclue")))
7b2abd00
AW
4920 (native-inputs
4921 `(("pkg-config" ,pkg-config)
758798a9 4922 ("gobject-introspection" ,gobject-introspection)
50e96d25
MB
4923 ("modem-manager" ,modem-manager)
4924 ("libnotify" ,libnotify)
4925 ("gtk-doc", gtk-doc)
7b2abd00
AW
4926 ("intltool" ,intltool)))
4927 (inputs
54e911bc 4928 `(("avahi" ,avahi)
50e96d25
MB
4929 ("glib:bin" ,glib "bin")
4930 ("glib-networking" ,glib-networking)
7b2abd00
AW
4931 ("json-glib" ,json-glib)
4932 ("libsoup" ,libsoup)))
50e96d25 4933 (home-page "https://gitlab.freedesktop.org/geoclue/geoclue/-/wikis/home")
7b2abd00
AW
4934 (synopsis "Geolocation service")
4935 (description "Geoclue is a D-Bus service that provides location
4936information. The primary goal of the Geoclue project is to make creating
4937location-aware applications as simple as possible, while the secondary goal is
4938to ensure that no application can access location information without explicit
e881752c 4939permission from user.")
7b2abd00 4940 (license license:gpl2+)))
2bfe7437
AW
4941
4942(define-public geocode-glib
4943 (package
4944 (name "geocode-glib")
65de725f 4945 (version "3.26.1")
2bfe7437
AW
4946 (source (origin
4947 (method url-fetch)
4948 (uri (string-append "mirror://gnome/sources/geocode-glib/"
4949 (version-major+minor version) "/"
d485cdc0 4950 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
4951 (sha256
4952 (base32
65de725f 4953 "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv"))))
a7dd0c02 4954 (build-system meson-build-system)
2bfe7437 4955 (arguments
a7dd0c02
RW
4956 `(#:phases
4957 (modify-phases %standard-phases
4958 ;; The tests require a bunch of locales.
4959 (add-before 'check 'set-locales
4960 (lambda* (#:key inputs #:allow-other-keys)
4961 (setenv "GUIX_LOCPATH"
4962 (string-append (assoc-ref inputs "glibc-locales")
4963 "/lib/locale"))
4964 #t)))))
2bfe7437
AW
4965 (native-inputs
4966 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
4967 ("glibc-locales" ,glibc-locales) ; for tests
4968 ("gettext" ,gettext-minimal)
2bfe7437 4969 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 4970 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
4971 ("pkg-config" ,pkg-config)
4972 ("json-glib" ,json-glib)))
4973 (propagated-inputs
4974 ;; geocode-glib-1.0.pc refers to GIO.
4975 `(("glib" ,glib)))
4976 (inputs
4977 `(("libsoup" ,libsoup)))
4978 (home-page "https://github.com/GNOME/geocode-glib/")
4979 (synopsis "Geocoding and reverse-geocoding library")
4980 (description
4981 "geocode-glib is a convenience library for geocoding (finding longitude,
4982and latitude from an address) and reverse geocoding (finding an address from
4983coordinates) using the Nominatim service. geocode-glib caches requests for
4984faster results and to avoid unnecessary server load.")
4985 (license license:lgpl2.0+)))
a1d5bb0e
AW
4986
4987(define-public upower
4988 (package
4989 (name "upower")
df45af90 4990 (version "0.99.11")
a1d5bb0e
AW
4991 (source (origin
4992 (method url-fetch)
df45af90 4993 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 4994 "upower-" version ".tar.xz"))
a1d5bb0e
AW
4995 (sha256
4996 (base32
df45af90 4997 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
5dc6d5ce
LC
4998 (patches (search-patches "upower-builddir.patch"))
4999 (modules '((guix build utils)))
5000 (snippet
5001 '(begin
5002 ;; Upstream commit
5003 ;; <https://cgit.freedesktop.org/upower/commit/?id=18457c99b68786cd729b315723d680e6860d9cfa>
5004 ;; moved 'dbus-1/system.d' from etc/ to share/. However,
5005 ;; 'dbus-configuration-directory' in (gnu services dbus)
5006 ;; expects it in etc/. Thus, move it back to its previous
5007 ;; location.
5008 (substitute* "src/Makefile.in"
5009 (("^dbusconfdir =.*$")
5010 "dbusconfdir = $(sysconfdir)/dbus-1/system.d\n"))
5011 #t))))
a1d5bb0e
AW
5012 (build-system glib-or-gtk-build-system)
5013 (arguments
6039031a
BW
5014 '(#:phases
5015 (modify-phases %standard-phases
5016 (add-before 'check 'pre-check
5017 (lambda* (#:key inputs #:allow-other-keys)
5018 (let ((umockdev (string-append (assoc-ref inputs "umockdev")
5019 "/lib")))
5020 (setenv "LD_LIBRARY_PATH" umockdev))
5021 #t)))
a1d5bb0e
AW
5022 #:configure-flags (list "--localstatedir=/var"
5023 (string-append "--with-udevrulesdir="
5024 (assoc-ref %outputs "out")
9ec54965 5025 "/lib/udev/rules.d"))))
a1d5bb0e 5026 (native-inputs
ebeabe2d
SB
5027 `(("gobject-introspection" ,gobject-introspection)
5028 ("pkg-config" ,pkg-config)
a1d5bb0e 5029 ("intltool" ,intltool)
55409295
LC
5030 ("python" ,python)
5031
6039031a
BW
5032 ;; For tests.
5033 ("python-dbus" ,python-dbus)
5034 ("python-dbusmock" ,python-dbusmock)
5035 ("python-pygobject" ,python-pygobject)
5036 ("umockdev" ,umockdev)
5037
55409295
LC
5038 ;; For man pages.
5039 ("libxslt" ,libxslt) ;for 'xsltproc'
5040 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5041 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 5042 (inputs
ea226291
SB
5043 `(("dbus-glib" ,dbus-glib)
5044 ("libgudev" ,libgudev)
a1d5bb0e 5045 ("libusb" ,libusb)))
d7a503fc
MB
5046 (propagated-inputs
5047 ;; In Requires of upower-glib.pc.
5048 `(("glib" ,glib)))
57e7d748 5049 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
5050 (synopsis "System daemon for managing power devices")
5051 (description
5052 "UPower is an abstraction for enumerating power devices,
5053listening to device events and querying history and statistics. Any
5054application or service on the system can access the org.freedesktop.UPower
5055service via the system message bus.")
5056 (license license:gpl2+)))
6a180f6f
AW
5057
5058(define-public libgweather
5059 (package
5060 (name "libgweather")
462d3416 5061 (version "3.34.0")
6a180f6f
AW
5062 (source (origin
5063 (method url-fetch)
5064 (uri (string-append "mirror://gnome/sources/" name "/"
5065 (version-major+minor version) "/"
5066 name "-" version ".tar.xz"))
5067 (sha256
5068 (base32
462d3416 5069 "1fgiqswkhiaijanml3mb16ajn5aanrk7x6yiwagp9n9rssam6902"))))
cf6cbc34 5070 (build-system meson-build-system)
6a180f6f 5071 (arguments
cf6cbc34
RW
5072 `(#:tests? #f ; one of two tests requires network access
5073 #:configure-flags
5074 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 5075 (assoc-ref %build-inputs "tzdata")
cf6cbc34 5076 "/share/zoneinfo"))))
6a180f6f
AW
5077 (native-inputs
5078 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 5079 ("gobject-introspection" ,gobject-introspection)
6a180f6f 5080 ("pkg-config" ,pkg-config)
1d3fcf94 5081 ("vala" ,vala)
6a180f6f
AW
5082 ("intltool" ,intltool)))
5083 (propagated-inputs
5084 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
5085 ;; libsoup.
5086 `(("gtk+" ,gtk+)
5087 ("gdk-pixbuf" ,gdk-pixbuf)
5088 ("libxml2" ,libxml2)
cf6cbc34 5089 ("libsoup" ,libsoup)
6a180f6f 5090 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
5091 (inputs
5092 `(("tzdata" ,tzdata)))
6a180f6f
AW
5093 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
5094 (synopsis "Location, time zone, and weather library for GNOME")
5095 (description
5096 "libgweather is a library to access weather information from online
5097services for numerous locations.")
5098 (license license:gpl2+)))
23a22af6
AW
5099
5100(define-public gnome-settings-daemon
5101 (package
5102 (name "gnome-settings-daemon")
20154759 5103 (version "3.34.1")
23a22af6
AW
5104 (source
5105 (origin
5106 (method url-fetch)
5107 (uri (string-append "mirror://gnome/sources/" name "/"
5108 (version-major+minor version) "/"
5109 name "-" version ".tar.xz"))
5110 (sha256
5111 (base32
20154759 5112 "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr"))))
e644f9fa 5113 (build-system meson-build-system)
23a22af6 5114 (arguments
e644f9fa
RW
5115 `(#:glib-or-gtk? #t
5116 #:configure-flags
5117 (list (string-append "-Dudev_dir="
5118 (assoc-ref %outputs "out")
4d0e085b 5119 "/lib/udev/rules.d/")
20154759 5120 "-Dsystemd=false"
4d0e085b
RW
5121 ;; Otherwise, the RUNPATH will lack the final path component.
5122 (string-append "-Dc_link_args=-Wl,-rpath="
5123 (assoc-ref %outputs "out")
5124 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 5125 ;; Color management test can't reach the colord system service.
23a22af6
AW
5126 #:tests? #f))
5127 (native-inputs
e644f9fa
RW
5128 `(("glib:bin" ,glib "bin") ; for glib-mkenums
5129 ("pkg-config" ,pkg-config)
23a22af6
AW
5130 ("intltool" ,intltool)
5131 ("xsltproc" ,libxslt)
5132 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
5133 ("docbook-xml" ,docbook-xml-4.2)
5134 ("docbook-xsl" ,docbook-xsl)))
5135 (inputs
e644f9fa
RW
5136 `(("alsa-lib" ,alsa-lib)
5137 ("colord" ,colord)
ea226291 5138 ("libgudev" ,libgudev)
23a22af6
AW
5139 ("upower" ,upower)
5140 ("polkit" ,polkit)
5141 ("pulseaudio" ,pulseaudio)
5142 ("libcanberra" ,libcanberra)
5143 ("libx11" ,libx11)
5144 ("libxtst" ,libxtst)
5145 ("lcms" ,lcms)
5146 ("libnotify" ,libnotify)
5147 ("geoclue" ,geoclue)
5148 ("geocode-glib" ,geocode-glib)
5149 ("libgweather" ,libgweather)
5150 ("gnome-desktop" ,gnome-desktop)
5151 ("nss" ,nss)
5152 ("cups" ,cups)
ec2b1921
AW
5153 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5154 ("libwacom" ,libwacom)
5155 ("librsvg" ,librsvg)
eee7878f 5156 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 5157 ("wayland" ,wayland)
20154759
KK
5158 ("network-manager" ,network-manager)
5159 ("gcr" ,gcr)
5160 ("modem-manager" ,modem-manager)))
f032d0be 5161 (home-page "https://www.gnome.org")
23a22af6
AW
5162 (synopsis "GNOME settings daemon")
5163 (description
5164 "This package contains the daemon responsible for setting the various
5165parameters of a GNOME session and the applications that run under it. It
5166handles settings such keyboard layout, shortcuts, and accessibility, clipboard
5167settings, themes, mouse settings, and startup of other daemons.")
5168 (license license:gpl2+)))
1e7464a9
DH
5169
5170(define-public totem-pl-parser
5171 (package
5172 (name "totem-pl-parser")
77425f04 5173 (version "3.26.3")
1e7464a9
DH
5174 (source (origin
5175 (method url-fetch)
e980cbe9
MW
5176 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
5177 (version-major+minor version) "/"
1e7464a9
DH
5178 "totem-pl-parser-" version ".tar.xz"))
5179 (sha256
5180 (base32
77425f04 5181 "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
1e9b19dd 5182 (build-system meson-build-system)
1e7464a9
DH
5183 (arguments
5184 ;; FIXME: Tests require gvfs.
5185 `(#:tests? #f))
5186 (native-inputs
5187 `(("intltool" ,intltool)
5188 ("glib" ,glib "bin")
4d6d8281 5189 ("gobject-introspection" ,gobject-introspection)
1e7464a9 5190 ("pkg-config" ,pkg-config)))
22a6ad6a 5191 (propagated-inputs
1e7464a9
DH
5192 `(("glib" ,glib)
5193 ("gmime" ,gmime)
1e9b19dd
RW
5194 ("libarchive" ,libarchive)
5195 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
5196 ("libxml2" ,libxml2)))
5197 (inputs
0a6e9e13 5198 `(("libsoup" ,libsoup)))
1e7464a9
DH
5199 (home-page "https://projects.gnome.org/totem")
5200 (synopsis "Library to parse and save media playlists for GNOME")
5201 (description "Totem-pl-parser is a GObjects-based library to parse and save
5202playlists in a variety of formats.")
5203 (license license:lgpl2.0+)))
5204
6b888eff
SB
5205(define-public aisleriot
5206 (package
5207 (name "aisleriot")
36ed9b46 5208 (version "3.22.9")
6b888eff
SB
5209 (source (origin
5210 (method url-fetch)
e43f622a 5211 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 5212 (version-major+minor version) "/"
e43f622a 5213 "aisleriot-" version ".tar.xz"))
6b888eff
SB
5214 (sha256
5215 (base32
36ed9b46 5216 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
5217 (build-system glib-or-gtk-build-system)
5218 (arguments
5219 '(#:configure-flags
5220 '("--with-platform=gtk-only"
5221 "--with-card-theme-formats=svg")))
5222 (native-inputs
5223 `(("desktop-file-utils" ,desktop-file-utils)
5224 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5225 ("intltool" ,intltool)
5226 ("itstool" ,itstool)
5227 ("pkg-config" ,pkg-config)
5228 ("xmllint" ,libxml2)))
5229 (inputs
5230 `(("gtk+" ,gtk+)
226e57d6 5231 ("guile" ,guile-2.2)
6b888eff
SB
5232 ("libcanberra" ,libcanberra)
5233 ("librsvg" ,librsvg)))
5234 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
5235 (synopsis "Solitaire card games")
5236 (description
5237 "Aisleriot (also known as Solitaire or sol) is a collection of card games
5238which are easy to play with the aid of a mouse.")
5239 (license license:gpl3+)))
4a79e256 5240
f828d05b
KK
5241(define-public amtk
5242 (package
5243 (name "amtk")
0e08ca14 5244 (version "5.0.2")
f828d05b
KK
5245 (source (origin
5246 (method url-fetch)
bf92ba6b 5247 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 5248 (version-major+minor version) "/"
bf92ba6b 5249 "amtk-" version ".tar.xz"))
f828d05b
KK
5250 (sha256
5251 (base32
0e08ca14 5252 "11jgz2i9wjzv4alrxl1qyxiapb52w7vs5ygfgsw0qgdap8gqkk3i"))))
f828d05b
KK
5253 (build-system gnu-build-system)
5254 (arguments
5255 '(#:configure-flags '("--enable-gtk-doc")))
5256 (native-inputs
5257 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 5258 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
5259 ("gtk-doc" ,gtk-doc)
5260 ("pkg-config" ,pkg-config)))
5261 (inputs
5262 `(("glib" ,glib)
5263 ("gtk+" ,gtk+)))
5264 (home-page "https://wiki.gnome.org/Projects/Amtk")
5265 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
5266 (description
5267 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
5268It is a basic GtkUIManager replacement based on GAction. It is suitable for
5269both a traditional UI or a modern UI with a GtkHeaderBar.")
5270 (license license:lgpl2.1+)))
5271
4a79e256
SB
5272(define-public devhelp
5273 (package
5274 (name "devhelp")
8ae23a1d 5275 (version "3.34.0")
4a79e256
SB
5276 (source (origin
5277 (method url-fetch)
5278 (uri (string-append "mirror://gnome/sources/" name "/"
5279 (version-major+minor version) "/"
5280 name "-" version ".tar.xz"))
5281 (sha256
5282 (base32
8ae23a1d 5283 "0zpmn6fgkgiayvn4diia5df0s6s7dqrdnp3nrvpavsmgn0vhb4pg"))))
11d28bd9 5284 (build-system meson-build-system)
35407f94 5285 (arguments
20db7a3d
KK
5286 '(#:glib-or-gtk? #t
5287 #:phases
35407f94
EF
5288 (modify-phases %standard-phases
5289 (add-after 'unpack 'skip-gtk-update-icon-cache
5290 ;; Don't create 'icon-theme.cache'.
5291 (lambda _
5292 (substitute* "meson_post_install.py"
5293 (("gtk-update-icon-cache") "true"))
5294 #t)))))
4a79e256
SB
5295 (native-inputs
5296 `(("intltool" ,intltool)
5dd12afc 5297 ("itstool" ,itstool)
11d28bd9
KK
5298 ("gobject-introspection" ,gobject-introspection)
5299 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
5300 ("pkg-config" ,pkg-config)))
5301 (inputs
11d28bd9
KK
5302 `(("amtk" ,amtk)
5303 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
5304 ("webkitgtk" ,webkitgtk)))
5305 (home-page "https://wiki.gnome.org/Apps/Devhelp")
5306 (synopsis "API documentation browser for GNOME")
5307 (description
5308 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
5309natively with GTK-Doc (the API reference system developed for GTK+ and used
5310throughout GNOME for API documentation).")
5311 (license license:gpl2+)))
ba421ab7
MW
5312
5313(define-public cogl
5314 (package
5315 (name "cogl")
c668a880 5316 (version "1.22.8")
ba421ab7
MW
5317 (source
5318 (origin
5319 (method url-fetch)
5754f0cf 5320 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 5321 (version-major+minor version) "/"
5754f0cf 5322 "cogl-" version ".tar.xz"))
ba421ab7 5323 (sha256
c668a880 5324 (base32 "0nfph4ai60ncdx7hy6hl1i1cmp761jgnyjfhagzi0iqq36qb41d8"))))
a88d5a0c
MW
5325 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
5326 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
5327 (build-system gnu-build-system)
5328 (native-inputs
5329 `(("glib:bin" ,glib "bin") ; for glib-mkenums
5330 ("gobject-introspection" ,gobject-introspection)
b4f04e0e 5331 ("xorg-server" ,xorg-server-for-tests)
ba421ab7
MW
5332 ("pkg-config" ,pkg-config)))
5333 (propagated-inputs
5334 `(("glib" ,glib)
5335 ("gdk-pixbuf" ,gdk-pixbuf)
5336 ("libx11" ,libx11)
5337 ("libxext" ,libxext)
5338 ("libxfixes" ,libxfixes)
5339 ("libxdamage" ,libxdamage)
5340 ("libxcomposite" ,libxcomposite)
5341 ("libxrandr" ,libxrandr)))
5342 (inputs
5343 `(("mesa" ,mesa)
5344 ("cairo" ,cairo)
5345 ("pango" ,pango)
5346 ("gstreamer" ,gstreamer)
31860852
KK
5347 ("gst-plugins-base" ,gst-plugins-base)
5348 ("wayland" ,wayland)))
ba421ab7 5349 (arguments
b4f04e0e
MB
5350 `(#:disallowed-references (,xorg-server-for-tests)
5351 #:configure-flags (list "--enable-cogl-gst"
31860852
KK
5352 "--enable-wayland-egl-platform"
5353 "--enable-wayland-egl-server"
5354
ba421ab7
MW
5355 ;; Arrange to pass an absolute file name to
5356 ;; dlopen for libGL.so.
5357 (string-append "--with-gl-libname="
5358 (assoc-ref %build-inputs "mesa")
5359 "/lib/libGL.so"))
b4f04e0e 5360 #:phases
ba421ab7 5361 (modify-phases %standard-phases
0c8a51c7
MB
5362 (add-after 'unpack 'fix-build-with-mesa-20
5363 (lambda _
5364 ;; Work around a problem with Mesa 20 where some macros used by
5365 ;; Cogl went missing from eglext.h. This can likely be removed
5366 ;; for newer versions of Cogl or Mesa.
5367 ;; https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/19
5368 (substitute* '("configure"
5369 "cogl/winsys/cogl-winsys-egl-kms.c")
5370 (("#include <EGL/eglext.h>" all)
5371 (string-append all "\n#include <EGL/eglmesaext.h>\n")))
5372 #t))
ba421ab7 5373 (add-before 'check 'start-xorg-server
b4f04e0e
MB
5374 (lambda* (#:key tests? inputs #:allow-other-keys)
5375 (if tests?
5376 (begin
5377 ;; The test suite requires a running X server.
5378 (system (format #f "~a/bin/Xvfb :1 +extension GLX &"
5379 (assoc-ref inputs "xorg-server")))
5380 (setenv "DISPLAY" ":1")
5381 #t)
5382 (format #t "test suite not run~%"))
ba421ab7 5383 #t)))))
89b49245 5384 (home-page "https://www.cogl3d.org")
ba421ab7
MW
5385 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
5386 (description
5387 "Cogl is a small library for using 3D graphics hardware to draw pretty
5388pictures. The API departs from the flat state machine style of OpenGL and is
5389designed to make it easy to write orthogonal components that can render
5390without stepping on each others toes.")
5391 (license (list license:expat ; most of the code
5392 license:bsd-3 ; cogl/cogl-point-in-poly.c
5393 license:sgifreeb2.0 ; cogl-path/tesselator/
5394 license:asl2.0)))) ; examples/android/
fb182b8a
MW
5395
5396(define-public clutter
5397 (package
5398 (name "clutter")
6a88e4ee 5399 (version "1.26.2")
fb182b8a
MW
5400 (source
5401 (origin
5402 (method url-fetch)
5403 (uri (string-append "mirror://gnome/sources/" name "/"
5404 (version-major+minor version) "/"
5405 name "-" version ".tar.xz"))
5406 (sha256
5407 (base32
6a88e4ee 5408 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
5409 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
5410 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 5411 (build-system gnu-build-system)
600233bd
LC
5412 (outputs '("out"
5413 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
5414 (native-inputs
5415 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
5416 ("gobject-introspection" ,gobject-introspection)
5417 ("pkg-config" ,pkg-config)
5418 ("xsltproc" ,libxslt)))
5419 (propagated-inputs
5420 `(("cogl" ,cogl)
5421 ("cairo" ,cairo)
5422 ("atk" ,atk)
5423 ("gtk+" ,gtk+)
5424 ("json-glib" ,json-glib)
5425 ("glib" ,glib)
5426 ("libxcomposite" ,libxcomposite)
5427 ("libxdamage" ,libxdamage)
5428 ("libxext" ,libxext)
5429 ("xinput" ,xinput)))
5430 (inputs
5431 `(("libxkbcommon" ,libxkbcommon)
5432 ("udev" ,eudev)))
5433 (arguments
600233bd
LC
5434 `(#:configure-flags (list "--enable-x11-backend=yes"
5435
5436 ;; This produces share/doc/{clutter,cally}.
5437 (string-append "--with-html-dir="
5438 (assoc-ref %outputs "doc")
5439 "/share/doc"))
fb182b8a
MW
5440 ;; XXX FIXME: Get test suite working. It would probably fail in the
5441 ;; same way the cogl tests fail, since clutter is based on cogl.
5442 #:tests? #f))
5443 (home-page "http://www.clutter-project.org")
476af713 5444 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 5445 (description
476af713 5446 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
5447creating fast, mainly 2D single window applications such as media box UIs,
5448presentations, kiosk style applications and so on.")
5449 (license license:lgpl2.0+)))
bf7f17ba
MW
5450
5451(define-public clutter-gtk
5452 (package
5453 (name "clutter-gtk")
5d1a3219 5454 (version "1.8.4")
bf7f17ba
MW
5455 (source
5456 (origin
5457 (method url-fetch)
5458 (uri (string-append "mirror://gnome/sources/" name "/"
5459 (version-major+minor version) "/"
5460 name "-" version ".tar.xz"))
5461 (sha256
5462 (base32
5d1a3219 5463 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
5464 (build-system gnu-build-system)
5465 (native-inputs
5466 `(("pkg-config" ,pkg-config)
5467 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
5468 (propagated-inputs
5469 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
5470 `(("clutter" ,clutter)
5471 ("gtk+" ,gtk+)))
5472 (home-page "http://www.clutter-project.org")
476af713 5473 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 5474 (description
476af713 5475 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
5476creating fast, mainly 2D single window applications such as media box UIs,
5477presentations, kiosk style applications and so on.")
5478 (license license:lgpl2.0+)))
86d6a893
MW
5479
5480(define-public clutter-gst
5481 (package
5482 (name "clutter-gst")
ba07ac19 5483 (version "3.0.27")
86d6a893
MW
5484 (source
5485 (origin
5486 (method url-fetch)
f010f89b 5487 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 5488 (version-major+minor version) "/"
f010f89b 5489 "clutter-gst-" version ".tar.xz"))
86d6a893 5490 (sha256
ba07ac19 5491 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
5492 (build-system gnu-build-system)
5493 (native-inputs
ba07ac19 5494 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
5495 ("pkg-config" ,pkg-config)
5496 ("gobject-introspection" ,gobject-introspection)))
5497 (inputs
5498 `(("clutter" ,clutter)
5499 ("gstreamer" ,gstreamer)
5500 ("gst-plugins-base" ,gst-plugins-base)))
5501 (home-page "http://www.clutter-project.org")
5502 (synopsis "Integration library for using GStreamer with Clutter")
5503 (description
5504 "Clutter-Gst is an integration library for using GStreamer with Clutter.
5505It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
5506implements the ClutterGstPlayer interface using playbin. Clutter is an
5507OpenGL-based interactive canvas library.")
86d6a893 5508 (license license:lgpl2.0+)))
607a04ae 5509
30dc88d9
LC
5510(define-public libchamplain
5511 (package
5512 (name "libchamplain")
5564b2c5 5513 (version "0.12.16")
30dc88d9
LC
5514 (source (origin
5515 (method url-fetch)
5516 (uri (string-append
5517 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
5518 version ".tar.xz"))
5519 (sha256
5520 (base32
5564b2c5 5521 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 5522 (build-system gnu-build-system)
f7c6833f
LF
5523 (arguments '(#:configure-flags '("--enable-vala")))
5524 (native-inputs
5525 `(("gobject-introspection" ,gobject-introspection)
5526 ("pkg-config" ,pkg-config)
5527 ("vala" ,vala)))
30dc88d9
LC
5528 (propagated-inputs
5529 `(("libsoup" ,libsoup)
5530 ("sqlite" ,sqlite)
5531 ("clutter" ,clutter)
5532 ("clutter-gtk" ,clutter-gtk)
5533 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
5534 ("cairo" ,cairo)
5535 ("gtk+3" ,gtk+)
5536 ("glib" ,glib)))
f032d0be 5537 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
5538 (synopsis "C library providing a ClutterActor to display maps")
5539 (description
5540 "libchamplain is a C library providing a ClutterActor to display maps.
5541It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
5542and Perl bindings are also available. It supports numerous free map sources
5543such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
5544 (license license:lgpl2.1+)))
5545
607a04ae
MW
5546(define-public gom
5547 (package
5548 (name "gom")
0510440b 5549 (version "0.3.2")
607a04ae
MW
5550 (source
5551 (origin
5552 (method url-fetch)
6c8a0b6f 5553 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 5554 (version-major+minor version) "/"
6c8a0b6f 5555 "gom-" version ".tar.xz"))
607a04ae
MW
5556 (sha256
5557 (base32
0510440b 5558 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
5559 (build-system gnu-build-system)
5560 (native-inputs
5561 `(("intltool" ,intltool)
5562 ("pkg-config" ,pkg-config)
5563 ("gobject-introspection" ,gobject-introspection)))
5564 (inputs
5565 `(("glib" ,glib)
5566 ("gdk-pixbuf" ,gdk-pixbuf)
5567 ("sqlite" ,sqlite)))
5568 ;; XXX TODO: Figure out how to run the test suite.
5569 (arguments `(#:tests? #f))
5570 (home-page "https://wiki.gnome.org/Projects/Gom")
5571 (synopsis "Object mapper from GObjects to SQLite")
5572 (description
5573 "Gom provides an object mapper from GObjects to SQLite. It helps you
5574write applications that need to store structured data as well as make complex
5575queries upon that data.")
5576 (license license:lgpl2.1+)))
b7a3cf11 5577
865aacc9 5578(define-public libgnome-games-support
f09520db 5579 (package
865aacc9 5580 (name "libgnome-games-support")
4c6d15cf 5581 (version "1.4.4")
f09520db
SB
5582 (source (origin
5583 (method url-fetch)
2d8dca9d 5584 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 5585 (version-major+minor version) "/"
2d8dca9d 5586 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
5587 (sha256
5588 (base32
4c6d15cf 5589 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
5590 (build-system gnu-build-system)
5591 (arguments
5592 '(#:phases
5593 (modify-phases %standard-phases
5594 (add-before 'check 'pre-check
5595 (lambda _
865aacc9 5596 ;; Tests require a writable HOME.
f09520db
SB
5597 (setenv "HOME" (getcwd))
5598 #t)))))
5599 (native-inputs
5600 `(("intltool" ,intltool)
5601 ("pkg-config" ,pkg-config)
5602 ("vala" ,vala)))
5603 (propagated-inputs
865aacc9 5604 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
5605 `(("gtk+" ,gtk+)
5606 ("libgee" ,libgee)))
5607 (home-page "https://www.gnome.org/")
5608 (synopsis "Useful functionality shared among GNOME games")
5609 (description
865aacc9 5610 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
5611GNOME Games, but it may be used by others.")
5612 (license license:lgpl3+)))
5613
b7a3cf11
SB
5614(define-public gnome-klotski
5615 (package
5616 (name "gnome-klotski")
18364fbc 5617 (version "3.34.0")
b7a3cf11
SB
5618 (source (origin
5619 (method url-fetch)
5620 (uri (string-append "mirror://gnome/sources/" name "/"
5621 (version-major+minor version) "/"
5622 name "-" version ".tar.xz"))
5623 (sha256
5624 (base32
18364fbc 5625 "0sbx0bzy32lh2c9jp8v7gz788wn9y1la8mr5a7gf7370szsl4d4f"))))
c1e419c4
KK
5626 (build-system meson-build-system)
5627 (arguments
5628 '(#:glib-or-gtk? #t
5629 #:phases
5630 (modify-phases %standard-phases
5631 (add-after 'unpack 'skip-gtk-update-icon-cache
5632 ;; Don't create 'icon-theme.cache'.
5633 (lambda _
5634 (substitute* "build-aux/meson_post_install.py"
5635 (("gtk-update-icon-cache") (which "true")))
5636 #t)))))
b7a3cf11
SB
5637 (native-inputs
5638 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 5639 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
5640 ("intltool" ,intltool)
5641 ("itstool" ,itstool)
bcb354ad 5642 ("pkg-config" ,pkg-config)
c1e419c4 5643 ("vala" ,vala)
bcb354ad 5644 ("xmllint" ,libxml2)))
b7a3cf11
SB
5645 (inputs
5646 `(("gtk+" ,gtk+)
f4eae76f 5647 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
5648 ("librsvg" ,librsvg)))
5649 (home-page "https://wiki.gnome.org/Apps/Klotski")
5650 (synopsis "Sliding block puzzles")
5651 (description
5652 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
5653the patterned block to the area bordered by green markers. To do so, you will
5654need to slide other blocks out of the way. Complete each puzzle in as few moves
5655as possible!")
5656 (license license:gpl2+)))
8d4791bf
MW
5657
5658(define-public grilo
5659 (package
5660 (name "grilo")
a865e938 5661 (version "0.3.10")
8d4791bf
MW
5662 (source
5663 (origin
5664 (method url-fetch)
5665 (uri (string-append "mirror://gnome/sources/" name "/"
5666 (version-major+minor version) "/"
5667 name "-" version ".tar.xz"))
5668 (sha256
5669 (base32
a865e938 5670 "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y"))))
d48d4c98 5671 (build-system meson-build-system)
8d4791bf
MW
5672 (native-inputs
5673 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
5674 ("intltool" ,intltool)
5675 ("pkg-config" ,pkg-config)
d48d4c98
KK
5676 ("gobject-introspection" ,gobject-introspection)
5677 ("gtk-doc" ,gtk-doc)
5678 ("vala" ,vala)))
8d4791bf 5679 (inputs
6d7273a0
KK
5680 `(("cyrus-sasl" ,cyrus-sasl)
5681 ("glib" ,glib)
8d4791bf
MW
5682 ("gtk+" ,gtk+)
5683 ("libxml2" ,libxml2)
6d7273a0 5684 ("liboauth" ,liboauth)
8d4791bf
MW
5685 ("libsoup" ,libsoup)
5686 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
5687 (native-search-paths
5688 (list (search-path-specification
5689 (variable "GRL_PLUGIN_PATH")
5690 (files (list (string-append "lib/grilo-"
5691 (version-major+minor version)))))))
d48d4c98 5692 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
5693 (synopsis "Framework for discovering and browsing media")
5694 (description
5695 "Grilo is a framework focused on making media discovery and browsing easy
5696for application developers.")
5697 (license license:lgpl2.1+)))
7b212526
MW
5698
5699(define-public grilo-plugins
5700 (package
5701 (name "grilo-plugins")
281f6b3a 5702 (version "0.3.10")
7b212526
MW
5703 (source
5704 (origin
5705 (method url-fetch)
5706 (uri (string-append "mirror://gnome/sources/" name "/"
5707 (version-major+minor version) "/"
5708 name "-" version ".tar.xz"))
5709 (sha256
5710 (base32
281f6b3a
RG
5711 "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0"))))
5712 (build-system meson-build-system)
7b212526 5713 (native-inputs
281f6b3a
RG
5714 `(("gettext" ,gettext-minimal)
5715 ("glib:bin" ,glib "bin")
5716 ("gtk+:bin" ,gtk+ "bin")
7b212526
MW
5717 ("itstool" ,itstool)
5718 ("pkg-config" ,pkg-config)))
281f6b3a 5719 ;; TODO: ahavi, gstreamer
7b212526
MW
5720 (inputs
5721 `(("grilo" ,grilo)
281f6b3a
RG
5722 ;("gmime" ,gmime) ; unused
5723 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
7b212526 5724 ("gom" ,gom)
281f6b3a
RG
5725 ;("gssdp" ,gssdp) ; unused
5726 ;("gupnp" ,gupnp) ; unused
5727 ;("gupnp-av" ,gupnp-av) ; unused
7b212526
MW
5728 ("json-glib" ,json-glib)
5729 ("avahi" ,avahi)
281f6b3a
RG
5730 ("libgdata" ,libgdata)
5731 ("libmediaart" ,libmediaart)
5732 ;("librest" ,rest) ; unused
7b212526 5733 ("libsoup" ,libsoup)
281f6b3a
RG
5734 ("totam-pl-parser" ,totem-pl-parser)
5735 ("tracker" ,tracker))) ; unused because it's too old
7b212526 5736 (arguments
281f6b3a
RG
5737 `(#:glib-or-gtk? #t
5738 ;;Disable lua-factory as it needs missing dependencies
5739 #:configure-flags '("-Denable-lua-factory=no")))
f032d0be 5740 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
5741 (synopsis "Plugins for the Grilo media discovery library")
5742 (description
5743 "Grilo is a framework focused on making media discovery and browsing easy
281f6b3a
RG
5744for application developers. This package provides plugins for common media
5745discovery protocols.")
7b212526 5746 (license license:lgpl2.1+)))
4e3fc547
MW
5747
5748(define-public totem
5749 (package
5750 (name "totem")
961dc62d 5751 (version "3.34.1")
4e3fc547
MW
5752 (source
5753 (origin
5754 (method url-fetch)
2a9761b1 5755 (uri (string-append "mirror://gnome/sources/totem/"
4e3fc547 5756 (version-major+minor version) "/"
2a9761b1 5757 "totem-" version ".tar.xz"))
4e3fc547
MW
5758 (sha256
5759 (base32
961dc62d 5760 "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b"))))
7ad81b8b 5761 (build-system meson-build-system)
4e3fc547
MW
5762 (native-inputs
5763 `(("pkg-config" ,pkg-config)
5764 ("desktop-file-utils" ,desktop-file-utils)
5765 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 5766 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 5767 ("intltool" ,intltool)
bcb354ad 5768 ("itstool" ,itstool)
995ef5ea 5769 ("xmllint" ,libxml2)
995ef5ea 5770 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
5771 (propagated-inputs
5772 `(("dconf" ,dconf)))
5773 (inputs
5774 `(("gtk+" ,gtk+)
5775 ("gdk-pixbuf" ,gdk-pixbuf)
5776 ("atk" ,atk)
5777 ("cairo" ,cairo)
5778 ("dbus-glib" ,dbus-glib)
5779 ("clutter" ,clutter)
5780 ("clutter-gtk" ,clutter-gtk)
5781 ("clutter-gst" ,clutter-gst)
6a6db57f 5782 ("xorgproto" ,xorgproto)
4e3fc547
MW
5783 ("libxxf86vm" ,libxxf86vm)
5784 ("libxtst" ,libxtst)
5785 ("libxrandr" ,libxrandr)
5786 ("libxml2" ,libxml2)
5787 ("libsoup" ,libsoup)
5788 ("libpeas" ,libpeas)
5789 ("librsvg" ,librsvg)
5790 ("lirc" ,lirc)
5791 ("gnome-desktop" ,gnome-desktop)
5792 ("gstreamer" ,gstreamer)
5793 ("gst-plugins-base" ,gst-plugins-base)
5794 ("gst-plugins-good" ,gst-plugins-good)
5795 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5796 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 5797 ("python" ,python)
995ef5ea 5798 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
5799 ("totem-pl-parser" ,totem-pl-parser)
5800 ("grilo" ,grilo)
5801 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
5802 ("vala" ,vala)))
5803 (arguments
7ad81b8b
LC
5804 `(#:glib-or-gtk? #t
5805
5806 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 5807 ;; all that.
7ad81b8b 5808 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
5809
5810 ;; Do not build .a files for the plugins, it's
5811 ;; completely useless. This saves 2 MiB.
7ad81b8b 5812 "--default-library" "shared")
ec5c24f9 5813 #:phases
4e3fc547 5814 (modify-phases %standard-phases
d51b19ad
EF
5815 (add-after 'unpack 'skip-gtk-update-icon-cache
5816 ;; Don't create 'icon-theme.cache'.
5817 (lambda _
5818 (substitute* "meson_post_install.py"
5819 (("gtk-update-icon-cache") "true"))
5820 #t))
6368eb39
DM
5821 (add-before
5822 'install 'disable-cache-generation
5823 (lambda _
5824 (setenv "DESTDIR" "/")
5825 #t))
995ef5ea
KK
5826 (add-before
5827 'check 'pre-check
5828 (lambda _
5829 ;; Tests require a running X server.
5830 (system "Xvfb :1 &")
5831 (setenv "DISPLAY" ":1")
5832 #t))
4e3fc547
MW
5833 (add-after
5834 'install 'wrap-totem
5835 (lambda* (#:key inputs outputs #:allow-other-keys)
5836 (let ((out (assoc-ref outputs "out"))
5837 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
5838 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
5839 (wrap-program (string-append out "/bin/totem")
5840 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
5841 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
5842 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
5843 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
5844 #t)))))
5845 (home-page "https://wiki.gnome.org/Apps/Videos")
5846 (synopsis "Simple media player for GNOME based on GStreamer")
5847 (description "Totem is a simple yet featureful media player for GNOME
5848which can read a large number of file formats.")
5849 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
5850 ;; to be used and distributed together with GStreamer and Totem. See
5851 ;; file://COPYING in the source distribution for details.
5852 (license license:gpl2+)))
f0afb0c8
DH
5853
5854(define-public rhythmbox
5855 (package
5856 (name "rhythmbox")
eda580c0 5857 (version "3.4.4")
f0afb0c8
DH
5858 (source (origin
5859 (method url-fetch)
2588693d 5860 (uri (string-append "mirror://gnome/sources/rhythmbox/"
f0afb0c8 5861 (version-major+minor version) "/"
2588693d 5862 "rhythmbox-" version ".tar.xz"))
f0afb0c8
DH
5863 (sha256
5864 (base32
eda580c0 5865 "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf"))))
f0afb0c8
DH
5866 (build-system glib-or-gtk-build-system)
5867 (arguments
5868 `(#:configure-flags
5869 (list "--enable-lirc"
5870 "--enable-python"
5871 "--enable-vala"
5872 "--with-brasero"
5873 "--with-gudev"
5874 "--with-libsecret")
5875 #:phases
5876 (modify-phases %standard-phases
5877 (add-after
5878 'install 'wrap-rhythmbox
5879 (lambda* (#:key inputs outputs #:allow-other-keys)
5880 (let ((out (assoc-ref outputs "out"))
5881 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5882 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
5883 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
5884 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
5885 (wrap-program (string-append out "/bin/rhythmbox")
5886 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5887 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
5888 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
5889 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
5890 #t)))))
5891 (propagated-inputs
5892 `(("dconf" ,dconf)))
5893 (native-inputs
bcb354ad
SB
5894 `(("itstool" ,itstool)
5895 ("intltool" ,intltool)
f0afb0c8
DH
5896 ("glib" ,glib "bin")
5897 ("gobject-introspection" ,gobject-introspection)
5898 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
5899 ("pkg-config" ,pkg-config)
5900 ("xmllint" ,libxml2)))
f0afb0c8
DH
5901 (inputs
5902 `(("json-glib" ,json-glib)
5903 ("tdb" ,tdb)
5904 ("gnome-desktop" ,gnome-desktop)
5905 ("python" ,python)
5906 ("python-pygobject" ,python2-pygobject)
5907 ("vala" ,vala)
5908 ("gmime" ,gmime)
f0afb0c8
DH
5909 ("adwaita-icon-theme" ,adwaita-icon-theme)
5910 ("grilo" ,grilo)
5911 ("grilo-plugins" ,grilo-plugins)
5912 ("gstreamer" ,gstreamer)
5913 ("gst-plugins-base" ,gst-plugins-base)
5914 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 5915 ("totem-pl-parser" ,totem-pl-parser)
ea226291 5916 ("libgudev" ,libgudev)
f0afb0c8
DH
5917 ;;("libmtp" ,libmtp) FIXME: Not detected
5918 ("libsecret" ,libsecret)
5919 ("libsoup" ,libsoup)
5920 ("libnotify" ,libnotify)
5921 ("libpeas" ,libpeas)
5922 ("lirc" ,lirc)
5923 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
5924 ;;("clutter" ,clutter)
5925 ;;("clutter-gtk" ,clutter-gtk)
5926 ;;("clutter-gst" ,clutter-gst)
5927 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5928 ("atk" ,atk)
5929 ("pango" ,pango)
5930 ("gtk+" ,gtk+)
5931 ;; TODO:
5932 ;; * libgpod
5933 ;; * mx
f0afb0c8
DH
5934 ("brasero" ,brasero)))
5935 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
5936 (synopsis "Music player for GNOME")
5937 (description "Rhythmbox is a music playing application for GNOME. It
5938supports playlists, song ratings, and any codecs installed through gstreamer.")
5939 (license license:gpl2+)))
f70d8383
DH
5940
5941(define-public eog
5942 (package
5943 (name "eog")
0c9031fa 5944 (version "3.34.1")
f70d8383
DH
5945 (source (origin
5946 (method url-fetch)
5947 (uri (string-append "mirror://gnome/sources/" name "/"
5948 (version-major+minor version) "/"
5949 name "-" version ".tar.xz"))
5950 (sha256
5951 (base32
0c9031fa 5952 "0b7ld4azs9xbdjsk9b91ywhdzvxgajhndiwiivxjzbr0hjgp7c7x"))))
61fb581f 5953 (build-system meson-build-system)
f70d8383 5954 (arguments
34c44a34
RW
5955 `(#:configure-flags
5956 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
5957 (list (string-append "-Dc_link_args=-Wl,-rpath="
5958 (assoc-ref %outputs "out") "/lib/eog"))
5959 #:phases
f70d8383 5960 (modify-phases %standard-phases
7a034665
EF
5961 (add-after 'unpack 'skip-gtk-update-icon-cache
5962 ;; Don't create 'icon-theme.cache'.
5963 (lambda _
5964 (substitute* "meson_post_install.py"
5965 (("gtk-update-icon-cache") "true"))
5966 #t))
61fb581f
RW
5967 (add-after 'install 'wrap-eog
5968 (lambda* (#:key outputs #:allow-other-keys)
5969 (let ((out (assoc-ref outputs "out"))
5970 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5971 (wrap-program (string-append out "/bin/eog")
5972 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5973 #t)))))
f70d8383
DH
5974 (propagated-inputs
5975 `(("dconf" ,dconf)))
5976 (native-inputs
5977 `(("intltool" ,intltool)
b3546174 5978 ("itstool" ,itstool)
f70d8383
DH
5979 ("glib" ,glib "bin")
5980 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
5981 ("pkg-config" ,pkg-config)
5982 ("xmllint" ,libxml2)))
f70d8383
DH
5983 (inputs
5984 `(("gnome-desktop" ,gnome-desktop)
5985 ("shared-mime-info" ,shared-mime-info)
5986 ("adwaita-icon-theme" ,adwaita-icon-theme)
5987 ("exempi" ,exempi)
5988 ("lcms" ,lcms)
5989 ("libexif" ,libexif)
5990 ("libpeas" ,libpeas)
4bd428a7 5991 ("libjpeg" ,libjpeg-turbo)
0c9031fa 5992 ("librsvg" ,librsvg-next)
f70d8383
DH
5993 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5994 ("gtk+" ,gtk+)))
5995 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
5996 (synopsis "GNOME image viewer")
5997 (description "Eye of GNOME is the GNOME image viewer. It
5998supports image conversion, rotation, and slideshows.")
5999 (license license:gpl2+)))
41af5e7b 6000
0c3f8cb8
LC
6001(define-public eog-plugins
6002 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
6003 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
6004 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
6005 ;; 'XDG_DATA_DIRS' appropriately set.
6006 (package
6007 (name "eog-plugins")
54b74cc6 6008 (version "3.26.4")
0c3f8cb8
LC
6009 (source (origin
6010 (method url-fetch)
f3b88ed2 6011 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 6012 (version-major+minor version) "/"
f3b88ed2 6013 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
6014 (sha256
6015 (base32
54b74cc6 6016 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
6017 (build-system gnu-build-system)
6018 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
6019 (synopsis "Extensions for the Eye of GNOME image viewer")
6020 (native-inputs
6021 `(("pkg-config" ,pkg-config)
f2d97d57 6022 ("gettext" ,gettext-minimal)))
0c3f8cb8
LC
6023 (inputs
6024 `(("eog" ,eog)
6025 ("glib" ,glib)
6026 ("gtk+" ,gtk+)
6027 ("libpeas" ,libpeas)
6028 ("libexif" ,libexif)
6029 ("libchamplain" ,libchamplain)))
6030 (description
6031 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
6032notably:
6033
6034@itemize
6035@item @dfn{EXIF Display}, which displays camera (EXIF) information;
6036@item @dfn{Map}, which displays a map of where the picture was taken on the
6037side panel;
6038@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
6039@end itemize\n")
6040
6041 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
6042 ;; long suspicious byte stream that goes to a
6043 ;; ".gresource.eog_postasa_plugin" ELF section.
6044 (license license:gpl2+)))
6045
41af5e7b
SB
6046(define-public libgudev
6047 (package
6048 (name "libgudev")
b78f5118 6049 (version "232")
41af5e7b
SB
6050 (source (origin
6051 (method url-fetch)
6052 (uri (string-append "mirror://gnome/sources/" name "/"
6053 version "/" name "-" version ".tar.xz"))
6054 (sha256
6055 (base32
b78f5118 6056 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 6057 (build-system gnu-build-system)
b78f5118
RW
6058 (arguments
6059 '(#:configure-flags
6060 ;; umockdev depends on libgudev.
6061 (list "--disable-umockdev")))
41af5e7b
SB
6062 (native-inputs
6063 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
6064 ("gobject-introspection" ,gobject-introspection)
6065 ("pkg-config" ,pkg-config)))
6066 (propagated-inputs
6067 `(("glib" ,glib))) ; required by gudev-1.0.pc
6068 (inputs
6069 `(("udev" ,eudev)))
6070 (home-page "https://wiki.gnome.org/Projects/libgudev")
6071 (synopsis "GObject bindings for libudev")
6072 (description
6073 "This library provides GObject bindings for libudev. It was originally
6074part of udev-extras, then udev, then systemd. It's now a project on its own.")
6075 (license license:lgpl2.1+)))
3dc8828f
SB
6076
6077(define-public gvfs
6078 (package
6079 (name "gvfs")
12fe4846 6080 (version "1.40.1")
3dc8828f
SB
6081 (source (origin
6082 (method url-fetch)
1d68eb32 6083 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 6084 (version-major+minor version) "/"
1d68eb32 6085 "gvfs-" version ".tar.xz"))
3dc8828f
SB
6086 (sha256
6087 (base32
95b90dec
KK
6088 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))
6089 ;; This patch may be removed when upgrading to version 1.46.x.
6090 (patches
6091 (search-patches "gvfs-add-support-for-libplist-2.2.patch"))))
e762d943 6092 (build-system meson-build-system)
3dc8828f 6093 (arguments
e762d943
RW
6094 '(#:glib-or-gtk? #t
6095 #:configure-flags
6096 (list "-Dsystemduserunitdir=no"
6097 "-Dtmpfilesdir=no"
6098 ;; Otherwise, the RUNPATH will lack the final path component.
6099 (string-append "-Dc_link_args=-Wl,-rpath="
6100 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
6101 (native-inputs
6102 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
6103 ("gettext" ,gettext-minimal)
6104 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
6105 ("pkg-config" ,pkg-config)
6106 ("xsltproc" ,libxslt)))
6107 (inputs
6108 `(("avahi" ,avahi)
6109 ("docbook-xml" ,docbook-xml-4.2)
6110 ("docbook-xsl" ,docbook-xsl)
6111 ("dbus" ,dbus)
e762d943 6112 ("elogind" ,elogind)
3dc8828f 6113 ("fuse" ,fuse)
24a78aa6 6114 ("gcr" ,gcr)
3dc8828f 6115 ("glib" ,glib)
e762d943 6116 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
6117 ("libarchive" ,libarchive)
6118 ("libbluray" ,libbluray)
8852ca24 6119 ("libcap" ,libcap)
3dc8828f
SB
6120 ("libcdio-paranoia" ,libcdio-paranoia)
6121 ("libgcrypt" ,libgcrypt)
e762d943 6122 ("libgdata" ,libgdata)
3dc8828f
SB
6123 ("libgphoto2" ,libgphoto2)
6124 ("libgudev" ,libgudev)
0ab9f949 6125 ("libimobiledevice" ,libimobiledevice)
3dc8828f 6126 ("libmtp" ,libmtp)
e762d943 6127 ("libnfs" ,libnfs)
3dc8828f
SB
6128 ("libsecret" ,libsecret)
6129 ("libsmbclient" ,samba)
6130 ("libsoup" ,libsoup)
6131 ("libxml2" ,libxml2)
e762d943 6132 ("openssh" ,openssh)
8852ca24 6133 ("polkit" ,polkit)
3dc8828f
SB
6134 ("udisks" ,udisks)))
6135 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 6136 (synopsis "Userspace virtual file system for GIO")
3dc8828f 6137 (description
8f65585b 6138 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
6139abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
6140to all applications using the GIO API. It also supports exposing the GVFS
6141mounts to non-GIO applications using FUSE.
6142
6143GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
6144DAV, and others.")
6145 (license license:lgpl2.0+)))
7c88b6bd
AW
6146
6147(define-public gusb
6148 (package
6149 (name "gusb")
536b3274 6150 (version "0.3.0")
7c88b6bd 6151 (source (origin
bbfb36f9
EF
6152 (method git-fetch)
6153 (uri (git-reference
b0e7b699 6154 (url "https://github.com/hughsie/libgusb")
bbfb36f9
EF
6155 (commit version)))
6156 (file-name (git-file-name name version))
7c88b6bd
AW
6157 (sha256
6158 (base32
bbfb36f9 6159 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 6160 (build-system meson-build-system)
7c88b6bd 6161 (native-inputs
536b3274 6162 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
6163 ("pkg-config" ,pkg-config)
6164 ("vala" ,vala)
7c88b6bd
AW
6165 ("gtk-doc" ,gtk-doc)))
6166 (propagated-inputs
6167 ;; Both of these are required by gusb.pc.
6168 `(("glib" ,glib)
6169 ("libusb" ,libusb)))
6170 (arguments
536b3274 6171 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 6172 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 6173 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
6174 (description
6175 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
6176asynchronous control, bulk and interrupt transfers with proper cancellation
6177and integration into a mainloop. This makes it easy to integrate low level
6178USB transfers with your high-level application or system daemon.")
6179 (license license:lgpl2.1+)))
0abe1d86
AW
6180
6181(define-public simple-scan
6182 (package
6183 (name "simple-scan")
3f352df0 6184 (version "3.36.3")
d9f6d587
TGR
6185 (source
6186 (origin
6187 (method url-fetch)
6188 (uri (string-append "mirror://gnome/sources/simple-scan/"
6189 (version-major+minor version) "/"
6190 "simple-scan-" version ".tar.xz"))
6191 (sha256
3f352df0 6192 (base32 "0gsz7jqk0fdj0mama3cnss9i1adw18cpdnlcjcjh4r5qijmvx0vh"))))
d9f6d587
TGR
6193 (build-system meson-build-system)
6194 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
6195 (arguments
6196 '(#:glib-or-gtk? #t))
0abe1d86
AW
6197 (inputs
6198 `(("gtk" ,gtk+)
6199 ("zlib" ,zlib)
6200 ("cairo" ,cairo)
c501f592 6201 ("colord" ,colord)
0abe1d86
AW
6202 ("gdk-pixbuf" ,gdk-pixbuf)
6203 ("gusb" ,gusb)
4c928743 6204 ("libsane" ,sane-backends)))
0abe1d86 6205 (native-inputs
b94a6ca0 6206 `(("gettext" ,gettext-minimal)
0abe1d86 6207 ("itstool" ,itstool)
c501f592 6208 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 6209 ("pkg-config" ,pkg-config)
bcb354ad
SB
6210 ("vala" ,vala)
6211 ("xmllint" ,libxml2)))
dff0eedb 6212 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 6213 (synopsis "Document and image scanner")
d9f6d587
TGR
6214 (description
6215 "Document Scanner is an easy-to-use application that lets you connect your
6216scanner and quickly capture images and documents in an appropriate format. It
6217supports any scanner for which a suitable SANE driver is available, which is
6218almost all of them.")
0abe1d86 6219 (license license:gpl3+)))
7549f984 6220
ab466d79
RW
6221(define-public eolie
6222 (package
6223 (name "eolie")
ed783404 6224 (version "0.9.98.1")
ab466d79
RW
6225 (source (origin
6226 (method url-fetch)
ed783404
RW
6227 (uri (string-append "https://adishatz.org/eolie/eolie-"
6228 version ".tar.xz"))
ab466d79
RW
6229 (sha256
6230 (base32
ed783404 6231 "1d844zva5w4p9pnp9c2g7zyb4vayr2g2drf78spxsdlc5lbd7lqr"))))
00014781 6232 (build-system meson-build-system)
ab466d79 6233 (arguments
00014781
RW
6234 `(#:glib-or-gtk? #t
6235 #:phases
ab466d79 6236 (modify-phases %standard-phases
f0c68100
EF
6237 (add-after 'unpack 'skip-gtk-update-icon-cache
6238 ;; Don't create 'icon-theme.cache'.
6239 (lambda _
6240 (substitute* "meson_post_install.py"
6241 (("gtk-update-icon-cache") "true"))
6242 #t))
ab466d79
RW
6243 (add-after 'wrap 'wrap-more
6244 (lambda* (#:key inputs outputs #:allow-other-keys)
6245 (let* ((out (assoc-ref outputs "out"))
6246 ;; These libraries must be on LD_LIBRARY_PATH.
6247 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
6248 "atk" "gtk+" "gsettings-desktop-schemas"
6249 "gobject-introspection"))
6250 (path (string-join
6251 (map (lambda (lib)
6252 (string-append (assoc-ref inputs lib) "/lib"))
6253 libs)
6254 ":")))
6255 (wrap-program (string-append out "/bin/eolie")
6256 `("LD_LIBRARY_PATH" ":" prefix (,path))
6257 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
6258 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
6259 #t)))))
6260 (native-inputs
f85ca6ed 6261 `(("intltool" ,intltool)
ab466d79 6262 ("itstool" ,itstool)
d95f1041 6263 ("pkg-config" ,pkg-config)
d95f1041 6264 ("python" ,python)
f0c68100 6265 ("glib:bin" ,glib "bin")))
ab466d79
RW
6266 (inputs
6267 `(("gobject-introspection" ,gobject-introspection)
6268 ("glib-networking" ,glib-networking)
6269 ("cairo" ,cairo)
6270 ("gtk+" ,gtk+)
6271 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
6272 ("python" ,python-wrapper)
d72f76df 6273 ("python-dateutil" ,python-dateutil)
00014781 6274 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
6275 ("python-pygobject" ,python-pygobject)
6276 ("python-pycairo" ,python-pycairo)
00014781 6277 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
6278 ("libsecret" ,libsecret)
6279 ("gtkspell3" ,gtkspell3)
6280 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 6281 ("webkitgtk" ,webkitgtk)))
166b2c97 6282 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
6283 (synopsis "Web browser for GNOME")
6284 (description
6285 "Eolie is a new web browser for GNOME. It features Firefox sync support,
6286a secret password store, an adblocker, and a modern UI.")
6287 (license license:gpl3+)))
6288
7549f984
SB
6289(define-public epiphany
6290 (package
6291 (name "epiphany")
68fdd237 6292 (version "3.34.4")
7549f984
SB
6293 (source (origin
6294 (method url-fetch)
dd3266ec 6295 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 6296 (version-major+minor version) "/"
dd3266ec 6297 "epiphany-" version ".tar.xz"))
7549f984
SB
6298 (sha256
6299 (base32
68fdd237 6300 "13ar3s40cds1rplwbzx0fzigf120w0rydiv05r3k6zpc0zy91qb0"))))
fc5c5b92
R
6301
6302 (build-system meson-build-system)
7549f984 6303 (arguments
20710b91 6304 '(#:glib-or-gtk? #t
bb7ff88f
EF
6305 #:phases
6306 (modify-phases %standard-phases
6307 (add-after 'unpack 'skip-gtk-update-icon-cache
6308 ;; Don't create 'icon-theme.cache'.
6309 (lambda _
6310 (substitute* "post_install.py"
6311 (("gtk-update-icon-cache") "true"))
20710b91
LP
6312 #t))
6313 (add-after 'unpack 'disable-failing-tests
6314 (lambda _
6315 (substitute* "tests/meson.build"
6316 ;; embed_shell fails, because webkitgtk apparently no longer supports
6317 ;; overriding the ftp schema
6318 ;; web_app_utils fails due to missing network access
6319 (("(embed_shell|web_app_utils)_test,")
6320 "find_program('sh'), args: ['-c', 'exit 77'],"))
6321 #t))
6322 (add-before 'check 'pre-check
6323 (lambda _
6324 ;; Tests require a running X server.
6325 (system "Xvfb :1 &")
6326 (setenv "DISPLAY" ":1")
bb7ff88f 6327 #t)))
e19f9c24
LF
6328 #:configure-flags
6329 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
6330 (list (string-append "-Dc_link_args=-Wl,-rpath="
6331 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
6332 (propagated-inputs
6333 `(("dconf" ,dconf)))
7549f984 6334 (native-inputs
fc5c5b92
R
6335 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6336 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 6337 ("intltool" ,intltool)
7549f984 6338 ("itstool" ,itstool)
bcb354ad 6339 ("pkg-config" ,pkg-config)
20710b91
LP
6340 ("xmllint" ,libxml2)
6341 ("xorg-server" ,xorg-server-for-tests)))
7549f984
SB
6342 (inputs
6343 `(("avahi" ,avahi)
6344 ("gcr" ,gcr)
fc5c5b92 6345 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
6346 ("glib-networking" ,glib-networking)
6347 ("gnome-desktop" ,gnome-desktop)
6348 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 6349 ("json-glib" ,json-glib)
7549f984 6350 ("iso-codes" ,iso-codes)
8748e29c 6351 ("libdazzle" ,libdazzle)
7549f984
SB
6352 ("libnotify" ,libnotify)
6353 ("libsecret" ,libsecret)
7549f984 6354 ("libxslt" ,libxslt)
fc5c5b92 6355 ("nettle" ,nettle) ; for hogweed
7549f984 6356 ("sqlite" ,sqlite)
f85ca6ed 6357 ("webkitgtk" ,webkitgtk)))
7549f984
SB
6358 (home-page "https://wiki.gnome.org/Apps/Web")
6359 (synopsis "GNOME web browser")
6360 (description
6361 "Epiphany is a GNOME web browser targeted at non-technical users. Its
6362principles are simplicity and standards compliance.")
6363 (license license:gpl2+)))
a3856b2c
SB
6364
6365(define-public d-feet
6366 (package
6367 (name "d-feet")
458e9221 6368 (version "0.3.14")
a3856b2c
SB
6369 (source (origin
6370 (method url-fetch)
6371 (uri (string-append "mirror://gnome/sources/" name "/"
6372 (version-major+minor version) "/"
6373 name "-" version ".tar.xz"))
6374 (sha256
6375 (base32
458e9221 6376 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
6377 (build-system glib-or-gtk-build-system)
6378 (arguments
6379 '(#:out-of-source? #f ; tests need to run in the source directory.
6380 #:phases
6381 (modify-phases %standard-phases
6382 (add-before
6383 'check 'pre-check
86aff791 6384 (lambda _
a3856b2c
SB
6385 ;; The test suite requires a running X server.
6386 (system "Xvfb :1 &")
6387 (setenv "DISPLAY" ":1")
6388 ;; Don't fail on missing '/etc/machine-id'.
6389 (setenv "DBUS_FATAL_WARNINGS" "0")
6390 ;; tests.py and window.py don't meet E402:
6391 ;; E402 module level import not at top of file
6392 (substitute* "src/tests/Makefile"
86aff791
MW
6393 (("--ignore=E123") "--ignore=E123,E402"))
6394 #t))
a3856b2c
SB
6395 (add-after
6396 'install 'wrap-program
6397 (lambda* (#:key outputs #:allow-other-keys)
6398 (let ((prog (string-append (assoc-ref outputs "out")
6399 "/bin/d-feet")))
6400 (wrap-program prog
6401 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
6402 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
6403 #t))))))
a3856b2c
SB
6404 (native-inputs
6405 `(("intltool" ,intltool)
6406 ("itstool" ,itstool)
6407 ("pkg-config" ,pkg-config)
6408 ("python-pep8" ,python-pep8)
6409 ("xmllint" ,libxml2)
ff337525 6410 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
6411 (inputs
6412 `(("gobject-introspection" ,gobject-introspection)
6413 ("gtk+" ,gtk+)
6414 ("python" ,python-wrapper)
458e9221 6415 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
6416 ("python-pygobject" ,python-pygobject)))
6417 (home-page "https://wiki.gnome.org/Apps/DFeet")
6418 (synopsis "D-Bus debugger")
6419 (description
6420 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
6421of running programs and invoke methods on those interfaces.")
6422 (license license:gpl2+)))
c3b97bd9
SB
6423
6424(define-public yelp-xsl
6425 (package
6426 (name "yelp-xsl")
632a9b32 6427 (version "3.34.2")
c3b97bd9
SB
6428 (source (origin
6429 (method url-fetch)
6430 (uri (string-append "mirror://gnome/sources/" name "/"
6431 (version-major+minor version) "/"
6432 name "-" version ".tar.xz"))
6433 (sha256
6434 (base32
632a9b32 6435 "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
c3b97bd9
SB
6436 (build-system gnu-build-system)
6437 (native-inputs
632a9b32 6438 `(("gettext-minimal" ,gettext-minimal)
c3b97bd9
SB
6439 ("itstool" ,itstool)
6440 ("xmllint" ,libxml2)))
6441 (home-page "https://wiki.gnome.org/Apps/Yelp")
6442 (synopsis "XSL stylesheets for Yelp")
6443 (description
6444 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
6445to format Docbook and Mallard documents.")
6446 (license license:gpl2+)))
de3d612a
SB
6447
6448(define-public yelp
6449 (package
6450 (name "yelp")
1f1b6d60 6451 (version "3.32.2")
de3d612a
SB
6452 (source (origin
6453 (method url-fetch)
6454 (uri (string-append "mirror://gnome/sources/" name "/"
6455 (version-major+minor version) "/"
6456 name "-" version ".tar.xz"))
6457 (sha256
6458 (base32
1f1b6d60 6459 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
6460 (build-system glib-or-gtk-build-system)
6461 (native-inputs
6462 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
6463 ("intltool" ,intltool)
6464 ("itstool" ,itstool)
6465 ("pkg-config" ,pkg-config)))
6466 (propagated-inputs
6467 `(("dconf" ,dconf)))
6468 (inputs
ad1b7d8b
SB
6469 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6470 ("libxslt" ,libxslt)
de3d612a 6471 ("sqlite" ,sqlite)
4c28ca1d
SB
6472 ("webkitgtk" ,webkitgtk)
6473 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
6474 (home-page "https://wiki.gnome.org/Apps/Yelp")
6475 (synopsis "GNOME help browser")
6476 (description
6477 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
6478man, info, and HTML documents. It can locate documents according to the
6479freedesktop.org help system specification.")
6480 (license license:gpl2+)))
122d0d10
SB
6481
6482(define-public yelp-tools
6483 (package
6484 (name "yelp-tools")
8fe8a42a 6485 (version "3.32.2")
122d0d10
SB
6486 (source (origin
6487 (method url-fetch)
6488 (uri (string-append "mirror://gnome/sources/" name "/"
6489 (version-major+minor version) "/"
6490 name "-" version ".tar.xz"))
6491 (sha256
6492 (base32
8fe8a42a 6493 "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q"))))
122d0d10
SB
6494 (build-system gnu-build-system)
6495 (native-inputs
6496 `(("pkg-config" ,pkg-config)))
6497 (propagated-inputs
6498 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
6499 `(("itstool" ,itstool)
6500 ("xmllint" ,libxml2)
6501 ("xsltproc" ,libxslt)))
6502 (inputs
6503 `(("yelp-xsl" ,yelp-xsl)))
6504 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
6505 (synopsis "Yelp documentation tools")
6506 (description
6507 "Yelp-tools is a collection of scripts and build utilities to help create,
6508manage, and publish documentation for Yelp and the web. Most of the heavy
6509lifting is done by packages like yelp-xsl and itstool. This package just
6510wraps things up in a developer-friendly way.")
6511 (license license:gpl2+)))
af8f9f23
RW
6512
6513(define-public libgee
6514 (package
6515 (name "libgee")
9cedae2a 6516 (version "0.20.3")
af8f9f23
RW
6517 (source (origin
6518 (method url-fetch)
84a1b007 6519 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 6520 (version-major+minor version) "/"
84a1b007 6521 "libgee-" version ".tar.xz"))
af8f9f23
RW
6522 (sha256
6523 (base32
9cedae2a 6524 "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
af8f9f23
RW
6525 (build-system gnu-build-system)
6526 (arguments
6527 `(#:phases
6528 (modify-phases %standard-phases
6529 (add-after 'unpack 'fix-introspection-install-dir
6530 (lambda* (#:key outputs #:allow-other-keys)
6531 (let ((out (assoc-ref outputs "out")))
6532 (substitute* "gee/Makefile.in"
6533 (("@INTROSPECTION_GIRDIR@")
6534 (string-append out "/share/gir-1.0/"))
6535 (("@INTROSPECTION_TYPELIBDIR@")
6536 (string-append out "/lib/girepository-1.0/")))))))))
6537 (native-inputs
6538 `(("glib" ,glib "bin")
6539 ("pkg-config" ,pkg-config)))
6540 (inputs
6541 `(("glib" ,glib)
6542 ("gobject-introspection" ,gobject-introspection)))
6543 (home-page "https://wiki.gnome.org/Projects/Libgee")
6544 (synopsis "GObject collection library")
6545 (description
6546 "Libgee is a utility library providing GObject-based interfaces and
6547classes for commonly used data structures.")
6548 (license license:lgpl2.1+)))
b0f9c4b8
RW
6549
6550(define-public gexiv2
6551 (package
6552 (name "gexiv2")
efc396ef 6553 (version "0.12.1")
b0f9c4b8
RW
6554 (source (origin
6555 (method url-fetch)
6556 (uri (string-append "mirror://gnome/sources/" name "/"
6557 (version-major+minor version) "/"
6558 name "-" version ".tar.xz"))
6559 (sha256
6560 (base32
efc396ef 6561 "0xxxq8xdkgkn146my307jgws4qgxx477h0ybg1mqza1ycmczvsla"))))
51c482e4 6562 (build-system meson-build-system)
b0f9c4b8 6563 (native-inputs
b1a8b408
KK
6564 `(("gcr" ,gcr)
6565 ("glib" ,glib "bin")
6566 ("pkg-config" ,pkg-config)
6567 ("vala" ,vala)))
b0f9c4b8
RW
6568 (propagated-inputs
6569 ;; Listed in "Requires" section of gexiv2.pc
6570 `(("exiv2" ,exiv2)))
6571 (inputs
6572 `(("glib" ,glib)
6573 ("gobject-introspection" ,gobject-introspection)))
6574 (home-page "https://wiki.gnome.org/Projects/gexiv2")
6575 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
6576 (description
6577 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
6578allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
6579metadata in photo and video files of various formats.")
6580 (license license:gpl2+)))
fed5a689
RW
6581
6582(define-public shotwell
6583 (package
6584 (name "shotwell")
b82a45d8 6585 (version "0.30.9")
fed5a689
RW
6586 (source (origin
6587 (method url-fetch)
5497d682 6588 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 6589 (version-major+minor version) "/"
5497d682 6590 "shotwell-" version ".tar.xz"))
fed5a689
RW
6591 (sha256
6592 (base32
b82a45d8 6593 "1y556yyzfya0310v5wqjkf17hy5lhf028iminvvgi2pdfva344id"))))
3b79afa6
KK
6594 (build-system meson-build-system)
6595 (arguments
5a0beca3
EF
6596 '(#:glib-or-gtk? #t
6597 #:phases
6598 (modify-phases %standard-phases
6599 (add-after 'unpack 'skip-gtk-update-icon-cache
6600 (lambda _
6601 (substitute* "build-aux/meson/postinstall.py"
6602 (("gtk-update-icon-cache") (which "true"))
6603 (("update-desktop-database") (which "true")))
6604 #t)))))
735b8db6
TGR
6605 (propagated-inputs
6606 `(("dconf" ,dconf)))
fed5a689 6607 (native-inputs
5a0beca3
EF
6608 `(("gettext" ,gettext-minimal)
6609 ("glib:bin" ,glib "bin")
735b8db6 6610 ("itstool" ,itstool)
3b79afa6 6611 ("pkg-config" ,pkg-config)
735b8db6 6612 ("vala" ,vala)))
fed5a689 6613 (inputs
5a0beca3
EF
6614 `(("gcr" ,gcr)
6615 ("gexiv2" ,gexiv2)
fed5a689 6616 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
6617 ("gstreamer" ,gstreamer)
6618 ("json-glib" ,json-glib)
dfb0323d 6619 ("libgdata" ,libgdata)
fed5a689 6620 ("libgee" ,libgee)
5a0beca3
EF
6621 ("libgphoto2" ,libgphoto2)
6622 ("libgudev" ,libgudev)
fed5a689 6623 ("libraw" ,libraw)
fed5a689
RW
6624 ("libsoup" ,libsoup)
6625 ("libxml2" ,libxml2)
5a0beca3
EF
6626 ("sqlite" ,sqlite)
6627 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
6628 (home-page "https://wiki.gnome.org/Apps/Shotwell")
6629 (synopsis "Photo manager for GNOME 3")
6630 (description
6631 "Shotwell is a digital photo manager designed for the GNOME desktop
6632environment. It allows you to import photos from disk or camera, organize
6633them by keywords and events, view them in full-window or fullscreen mode, and
6634share them with others via social networking and more.")
6635 (license license:lgpl2.1+)))
293ff8b2
DT
6636
6637(define-public file-roller
6638 (package
6639 (name "file-roller")
dcae4270 6640 (version "3.32.3")
293ff8b2
DT
6641 (source (origin
6642 (method url-fetch)
f89a27c6 6643 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 6644 (version-major+minor version) "/"
f89a27c6 6645 "file-roller-" version ".tar.xz"))
293ff8b2
DT
6646 (sha256
6647 (base32
dcae4270 6648 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 6649 (build-system meson-build-system)
293ff8b2 6650 (native-inputs
0a500745
RW
6651 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6652 ("intltool" ,intltool)
4c96e5d1 6653 ("itstool" ,itstool)
0a500745
RW
6654 ("pkg-config" ,pkg-config)
6655 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
6656 ("glib:bin" ,glib "bin")))
293ff8b2
DT
6657 ;; TODO: Add libnautilus.
6658 (inputs
6659 `(("gtk+" ,gtk+)
6660 ("gdk-pixbuf" ,gdk-pixbuf)
6661 ("json-glib" ,json-glib)
6662 ("libarchive" ,libarchive)
6663 ("libnotify" ,libnotify)
4c96e5d1 6664 ("nettle" ,nettle)
293ff8b2
DT
6665 ("libxml2" ,libxml2)))
6666 (synopsis "Graphical archive manager for GNOME")
6667 (description "File Roller is an archive manager for the GNOME desktop
6668environment that allows users to view, unpack, and create compressed archives
6669such as gzip tarballs.")
6670 (home-page "http://fileroller.sourceforge.net/")
6671 (license license:gpl2+)))
7ce49365
SB
6672
6673(define-public gnome-session
6674 (package
6675 (name "gnome-session")
f67ce006 6676 (version "3.34.2")
7ce49365
SB
6677 (source (origin
6678 (method url-fetch)
6679 (uri (string-append "mirror://gnome/sources/" name "/"
6680 (version-major+minor version) "/"
6681 name "-" version ".tar.xz"))
6682 (sha256
6683 (base32
f67ce006 6684 "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb"))))
2914af3c 6685 (arguments
df278071
RW
6686 '(#:glib-or-gtk? #t
6687 #:phases
2914af3c
AW
6688 (modify-phases %standard-phases
6689 (add-before 'configure 'pre-configure
6690 (lambda* (#:key outputs #:allow-other-keys)
6691 ;; Use elogind instead of systemd.
df278071
RW
6692 (substitute* "meson.build"
6693 (("libsystemd-login") "libelogind")
6694 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
6695 (substitute* "gnome-session/gsm-systemd.c"
6696 (("#include <systemd/sd-login.h>")
6697 "#include <elogind/sd-login.h>"))
df278071 6698 ;; Remove uses of the systemd daemon.
803ab416
SB
6699 (substitute* "gnome-session/gsm-autostart-app.c"
6700 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
6701 #t))
6702 (add-after 'install 'wrap-gnome-session
6703 (lambda* (#:key inputs outputs #:allow-other-keys)
6704 ;; Make sure 'gnome-session' finds the 'gsettings' program.
6705 (let ((glib (assoc-ref inputs "glib:bin"))
6706 (out (assoc-ref outputs "out")))
6707 (wrap-program (string-append out "/bin/gnome-session")
6708 `("PATH" ":" prefix (,(string-append glib "/bin"))))
6709 #t))))
6cbc8d57 6710
2914af3c 6711 #:configure-flags
df278071
RW
6712 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
6713 "-Dman=false" ; FIXME: disabled because of docbook validation error
6714 "-Dsystemd_journal=false")))
6715 (build-system meson-build-system)
7ce49365
SB
6716 (native-inputs
6717 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6718 ("pkg-config" ,pkg-config)
6719 ("intltool" ,intltool)
df278071
RW
6720 ("xsltproc" ,libxslt)
6721 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
6722 ("docbook-xsl" ,docbook-xsl)
6723 ("docbook-xml" ,docbook-xml)
6724 ("xmlto" ,xmlto)))
7ce49365 6725 (inputs
2914af3c
AW
6726 `(("elogind" ,elogind)
6727 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 6728 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
6729 ("gtk+" ,gtk+)
6730 ("json-glib" ,json-glib)
6731 ("libsm" ,libsm)
6732 ("libxcomposite" ,libxcomposite)
6733 ("libxtst" ,libxtst)
6734 ("mesa" ,mesa)
6735 ("upower" ,upower)
6736 ("xtrans" ,xtrans)))
6737 (synopsis "Session manager for GNOME")
6738 (description
6739 "This package contains the GNOME session manager, as well as a
6740configuration program to choose applications starting on login.")
6741 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
6742 (license license:gpl2+)))
f47ba77e
SB
6743
6744(define-public gjs
6745 (package
6746 (name "gjs")
76e1830c 6747 (version "1.58.3")
f47ba77e
SB
6748 (source (origin
6749 (method url-fetch)
6750 (uri (string-append "mirror://gnome/sources/" name "/"
6751 (version-major+minor version) "/"
6752 name "-" version ".tar.xz"))
6753 (sha256
6754 (base32
76e1830c 6755 "1bkksx362007zs8c31ydygb29spwa5g5kch1ad2grc2sp53wv7ya"))))
f47ba77e
SB
6756 (build-system gnu-build-system)
6757 (arguments
6758 '(#:phases
6759 (modify-phases %standard-phases
6760 (add-before
6761 'check 'pre-check
6762 (lambda _
fc119619
MW
6763 ;; The test suite requires a running X server.
6764 (system "Xvfb :1 &")
6765 (setenv "DISPLAY" ":1")
6766
f47ba77e
SB
6767 ;; For the missing /etc/machine-id.
6768 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 6769
144f94d0
KK
6770 ;; Our mozjs-38 package does not compile the required Intl API
6771 ;; support for these failing tests.
6772 (substitute* "installed-tests/js/testLocale.js"
6773 ((".*toBeDefined.*") "")
6774 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
6775 (substitute* "installed-tests/scripts/testCommandLine.sh"
6776 (("Valentín") "")
6777 (("☭") ""))
f47ba77e
SB
6778 #t)))))
6779 (native-inputs
8a831c6f 6780 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
6781 ("pkg-config" ,pkg-config)
6782 ("xmllint" ,libxml2)
6783 ;; For testing
6784 ("dbus-launch" ,dbus)
76e1830c 6785 ("dconf" ,dconf) ; required to properly store settings
f47ba77e 6786 ("uuidgen" ,util-linux)
ebebee94 6787 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
6788 (propagated-inputs
6789 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
6790 `(("cairo" ,cairo)
6791 ("gobject-introspection" ,gobject-introspection)
d054fbf5 6792 ("mozjs" ,mozjs-60)))
f47ba77e
SB
6793 (inputs
6794 `(("gtk+" ,gtk+)
6795 ("readline" ,readline)))
6796 (synopsis "Javascript bindings for GNOME")
f032d0be 6797 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
6798 (description
6799 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
6800javascript engine and the GObject introspection framework.")
6801 (license license:gpl2+)))
329d731b
DH
6802
6803(define-public gedit
6804 (package
6805 (name "gedit")
edec7128 6806 (version "3.34.1")
329d731b
DH
6807 (source (origin
6808 (method url-fetch)
6809 (uri (string-append "mirror://gnome/sources/" name "/"
6810 (version-major+minor version) "/"
6811 name "-" version ".tar.xz"))
6812 (sha256
6813 (base32
edec7128 6814 "1inm50sdfw63by1lf4f1swb59mpyxlly0g5rdg99j5l3357fzygb"))))
480c9226 6815 (build-system meson-build-system)
329d731b 6816 (arguments
480c9226
KK
6817 `(#:glib-or-gtk? #t
6818 #:configure-flags
6819 ;; Otherwise, the RUNPATH will lack the final path component.
6820 (list (string-append "-Dc_link_args=-Wl,-rpath="
6821 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
6822
6823 ;; XXX: Generated .h files are sometimes used before being built.
6824 #:parallel-build? #f
6825
480c9226 6826 #:phases
329d731b 6827 (modify-phases %standard-phases
480c9226
KK
6828 (add-after 'unpack 'skip-gtk-update-icon-cache
6829 ;; Don't create 'icon-theme.cache'.
6830 (lambda _
6831 (substitute* "build-aux/meson/post_install.py"
6832 (("gtk-update-icon-cache") (which "true")))
6833 #t))
6834 (add-after 'unpack 'patch-libgd-fetch
6835 (lambda* (#:key inputs #:allow-other-keys)
6836 (let ((libgd (assoc-ref inputs "libgd")))
6837 ;; Calling git is unnecessary because libgd is fetched as a
6838 ;; native input to this package.
6839 (substitute* "meson.build"
6840 ((".*git.*") ""))
6841 (copy-recursively libgd "subprojects/libgd")
6842 #t)))
6843 (add-after 'install 'wrap-gedit
6844 (lambda* (#:key inputs outputs #:allow-other-keys)
6845 (let ((out (assoc-ref outputs "out"))
6846 (gtksourceview (assoc-ref inputs "gtksourceview"))
6847 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
6848 (python-path (getenv "PYTHONPATH")))
6849 (wrap-program (string-append out "/bin/gedit")
6850 ;; For plugins.
6851 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
6852 `("PYTHONPATH" ":" prefix (,python-path))
6853 ;; For language-specs.
6854 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
6855 "/share")))))
6856 #t)))))
329d731b
DH
6857 (propagated-inputs
6858 `(("dconf" ,dconf)))
6859 (native-inputs
480c9226
KK
6860 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6861 ("intltool" ,intltool)
b3546174 6862 ("itstool" ,itstool)
480c9226 6863 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 6864 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
6865 ("libgd"
6866 ,(origin
6867 (method git-fetch)
6868 (uri (git-reference
6869 (url "https://gitlab.gnome.org/GNOME/libgd")
6870 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
6871 (file-name (git-file-name "libgd" version))
6872 (sha256
6873 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
6874 ("pkg-config" ,pkg-config)))
6875 (inputs
6876 `(("glib" ,glib)
0d2df50c 6877 ("gspell" ,gspell)
329d731b 6878 ("gtk+" ,gtk+)
480c9226 6879 ("gtksourceview" ,gtksourceview)
329d731b
DH
6880 ("libpeas" ,libpeas)
6881 ("libxml2" ,libxml2)
329d731b
DH
6882 ("iso-codes" ,iso-codes)
6883 ("python-pygobject" ,python-pygobject)
6884 ("python" ,python)
6885 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6886 ("libx11" ,libx11)
6887 ("vala" ,vala)
6888 ("adwaita-icon-theme" ,adwaita-icon-theme)
6889 ("libsoup" ,libsoup)
6890 ("gnome-desktop" ,gnome-desktop)))
6891 (home-page "https://wiki.gnome.org/Apps/Gedit")
6892 (synopsis "GNOME text editor")
6893 (description "While aiming at simplicity and ease of use, gedit is a
6894powerful general purpose text editor.")
6895 (license license:gpl2+)))
b7179363
SB
6896
6897(define-public zenity
6898 (package
6899 (name "zenity")
4f581bd0 6900 (version "3.32.0")
b7179363
SB
6901 (source (origin
6902 (method url-fetch)
5958df04 6903 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 6904 (version-major+minor version) "/"
5958df04 6905 "zenity-" version ".tar.xz"))
b7179363
SB
6906 (sha256
6907 (base32
4f581bd0 6908 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
6909 (build-system gnu-build-system)
6910 (native-inputs
b94a6ca0 6911 `(("gettext" ,gettext-minimal)
b7179363
SB
6912 ("itstool" ,itstool)
6913 ("pkg-config" ,pkg-config)))
6914 (inputs
6915 `(("libnotify" ,libnotify)
6916 ("webkitgtk" ,webkitgtk)))
6917 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 6918 (home-page "https://www.gnome.org")
b7179363
SB
6919 (description
6920 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
6921to display dialog boxes from the commandline and shell scripts.")
6922 (license license:lgpl2.0+)))
60c3627c
SB
6923
6924(define-public mutter
6925 (package
6926 (name "mutter")
ec3ceabd 6927 (version "3.34.2")
60c3627c 6928 (source (origin
86c44e72
KK
6929 (method url-fetch)
6930 (uri (string-append "mirror://gnome/sources/" name "/"
6931 (version-major+minor version) "/"
6932 name "-" version ".tar.xz"))
60c3627c
SB
6933 (sha256
6934 (base32
ec3ceabd 6935 "0b8bz5kvs7rlwvqsg87cf6jhrrj95vgd1l235mjx8rip35ipfvrd"))))
86c44e72
KK
6936 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
6937 ;; versions of cogl and clutter. As a result, many of the inputs,
6938 ;; propagated-inputs, and configure flags used in cogl and clutter are
6939 ;; needed here as well.
edf43f68 6940 (build-system meson-build-system)
60c3627c 6941 (arguments
edf43f68
KK
6942 '(;; XXX: All mutter tests fail with the following error:
6943 ;; Settings schema 'org.gnome.mutter' is not installed
6944 #:tests? #f
6945 #:glib-or-gtk? #t
6946 #:configure-flags
ec3ceabd
KK
6947 ;; TODO: Enable profiler when Sysprof is packaged.
6948 (list "-Dprofiler=false"
6949 ;; Otherwise, the RUNPATH will lack the final path component.
6950 (string-append "-Dc_link_args=-Wl,-rpath="
edf43f68 6951 (assoc-ref %outputs "out") "/lib:"
ec3ceabd 6952 (assoc-ref %outputs "out") "/lib/mutter-5")
a88d5a0c
MW
6953
6954 ;; The following flags are needed for the bundled clutter
edf43f68 6955 (string-append "-Dxwayland_path="
d633f2f6
RH
6956 (assoc-ref %build-inputs "xorg-server-xwayland")
6957 "/bin/Xwayland")
6958
a88d5a0c 6959 ;; the remaining flags are needed for the bundled cogl
edf43f68 6960 (string-append "-Dopengl_libname="
a88d5a0c 6961 (assoc-ref %build-inputs "mesa")
682ae6f9
MB
6962 "/lib/libGL.so"))
6963 #:phases (modify-phases %standard-phases
6964 (add-after 'unpack 'fix-build-with-mesa-20
6965 (lambda _
6966 ;; Mimic upstream commit a444a4c5f58ea516ad for
6967 ;; compatibility with Mesa 20. Remove for 3.36.
6968 (substitute* '("src/backends/meta-egl-ext.h"
6969 "src/backends/meta-egl.c"
6970 "src/backends/meta-egl.h")
6971 (("#include <EGL/eglext\\.h>" all)
6972 (string-append all "\n#include <EGL/eglmesaext.h>")))
6973 (substitute* "cogl/cogl/meson.build"
6974 (("#include <EGL/eglext\\.h>" all)
6975 (string-append all "\\n#include <EGL/eglmesaext.h>")))
6976 #t)))))
60c3627c 6977 (native-inputs
ec3ceabd
KK
6978 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6979 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
60c3627c
SB
6980 ("gobject-introspection" ,gobject-introspection)
6981 ("intltool" ,intltool)
f23052a6 6982 ("pkg-config" ,pkg-config)
edf43f68 6983 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
6984 ;; For git build
6985 ("autoconf" ,autoconf)
6986 ("automake" ,automake)
6987 ("libtool" ,libtool)))
60c3627c 6988 (propagated-inputs
a88d5a0c
MW
6989 `(;; libmutter.pc refers to these:
6990 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6991 ("gtk+" ,gtk+)
6992 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
6993 ("atk" ,atk)
6994 ("cairo" ,cairo)
6995 ("gdk-pixbuf" ,gdk-pixbuf)
6996 ("glib" ,glib)
a88d5a0c
MW
6997 ("json-glib" ,json-glib)
6998 ("libinput" ,libinput)
6999 ("libx11" ,libx11)
7000 ("libxcomposite" ,libxcomposite)
7001 ("libxdamage" ,libxdamage)
7002 ("libxext" ,libxext)
7003 ("libxfixes" ,libxfixes)
7004 ("libxkbcommon" ,libxkbcommon)
7005 ("libxrandr" ,libxrandr)
7006 ("mesa" ,mesa)
7007 ("pango" ,pango)
7008 ("udev" ,eudev)
a88d5a0c 7009 ("xinput" ,xinput)))
60c3627c 7010 (inputs
86c44e72
KK
7011 `(("elogind" ,elogind)
7012 ("gnome-desktop" ,gnome-desktop)
edf43f68 7013 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 7014 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 7015 ("libgudev" ,libgudev)
60c3627c
SB
7016 ("libice" ,libice)
7017 ("libsm" ,libsm)
edf43f68 7018 ("libwacom" ,libwacom)
60c3627c 7019 ("libxkbfile" ,libxkbfile)
a88d5a0c 7020 ("libxrandr" ,libxrandr)
86c44e72 7021 ("libxtst" ,libxtst)
edf43f68 7022 ("pipewire" ,pipewire)
60c3627c
SB
7023 ("startup-notification" ,startup-notification)
7024 ("upower-glib" ,upower)
7025 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 7026 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
7027 ("zenity" ,zenity)))
7028 (synopsis "Window and compositing manager")
f032d0be 7029 (home-page "https://www.gnome.org")
60c3627c
SB
7030 (description
7031 "Mutter is a window and compositing manager that displays and manages your
7032desktop via OpenGL. Mutter combines a sophisticated display engine using the
7033Clutter toolkit with solid window-management logic inherited from the Metacity
7034window manager.")
86c44e72 7035 (license license:gpl2+)))
685cee87
SB
7036
7037(define-public gnome-online-accounts
7038 (package
7039 (name "gnome-online-accounts")
dd233e4d 7040 (version "3.36.0")
685cee87
SB
7041 (source (origin
7042 (method url-fetch)
7043 (uri (string-append "mirror://gnome/sources/" name "/"
7044 (version-major+minor version) "/"
7045 name "-" version ".tar.xz"))
7046 (sha256
7047 (base32
dd233e4d 7048 "0bigfi225g1prnxpb9lcc1i7mdcrkplwb05vilc43jik12cn53qw"))))
14c297fd 7049 (outputs '("out" "lib"))
685cee87 7050 (build-system glib-or-gtk-build-system)
14c297fd
TS
7051 (arguments
7052 `(#:configure-flags
7053 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
7054 #:phases
7055 (modify-phases %standard-phases
7056 (add-before 'configure 'patch-libgoa-output
7057 (lambda* (#:key outputs #:allow-other-keys)
7058 (let ((lib (assoc-ref outputs "lib")))
7059 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
7060 (("@prefix@") lib)
7061 (("@exec_prefix@") lib)
7062 (("@libdir@") (string-append lib "/lib"))
7063 (("@includedir@") (string-append lib "/include"))
7064 (("@datadir@") (string-append lib "/share")))
7555d539
MB
7065 ;; Make sure gobject-introspection knows about the output
7066 ;; too (see <https://bugs.gnu.org/36535>).
7067 (setenv "outputs" "out lib")
14c297fd 7068 #t))))))
685cee87
SB
7069 (native-inputs
7070 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7071 ("gobject-introspection" ,gobject-introspection)
7072 ("intltool" ,intltool)
7073 ("pkg-config" ,pkg-config)
ebb2873d 7074 ("vala" ,vala)
685cee87
SB
7075 ("xsltproc" ,libxslt)))
7076 (propagated-inputs
7077 `(("glib" ,glib) ; required by goa-1.0.pc
7078 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
7079 (inputs
7080 `(("docbook-xsl" ,docbook-xsl)
7081 ("json-glib" ,json-glib)
7082 ("libsecret" ,libsecret)
7083 ("rest" ,rest)
685cee87
SB
7084 ("webkitgtk" ,webkitgtk)))
7085 (synopsis "Single sign-on framework for GNOME")
7086 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
7087 (description
7088 "GNOME Online Accounts provides interfaces so that applications and
7089libraries in GNOME can access the user's online accounts. It has providers for
7090Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
7091Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
7092 (license license:lgpl2.0+)))
df217748
SB
7093
7094(define-public evolution-data-server
7095 (package
7096 (name "evolution-data-server")
162048be 7097 (version "3.34.2")
df217748
SB
7098 (source (origin
7099 (method url-fetch)
7100 (uri (string-append "mirror://gnome/sources/" name "/"
7101 (version-major+minor version) "/"
7102 name "-" version ".tar.xz"))
43190ac6
MB
7103 (patches (search-patches "evolution-data-server-locales.patch"
7104 "evolution-data-server-libical-compat.patch"))
df217748
SB
7105 (sha256
7106 (base32
162048be 7107 "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y"))))
743aebd7 7108 (build-system cmake-build-system)
df217748 7109 (arguments
b468eedc
RW
7110 '(#:configure-flags
7111 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
7112 (runpaths (map (lambda (s)
7113 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
7114 '("addressbook-backends" "calendar-backends"
7115 "camel-providers" "credential-modules"
7116 "registry-modules"))))
7117 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
7118 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
7119 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
7120 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
7121 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
7122 (string-append lib "/evolution-data-server;")
7123 (string-join runpaths ";"))
7124 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
7125 #:phases
7126 (modify-phases %standard-phases
b468eedc
RW
7127 (add-after 'unpack 'disable-failing-tests
7128 (lambda _
7129 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
7130 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
7131 (delete-file-recursively "tests/book-migration")
7132 (substitute* "tests/CMakeLists.txt"
7133 (("add_subdirectory\\(book-migration\\)") ""))
b468eedc 7134 #t))
743aebd7 7135 (add-after 'unpack 'patch-paths
df217748 7136 (lambda _
b468eedc
RW
7137 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
7138 "tests/libedata-book/data-test-utils.c"
7139 "tests/libedata-book/test-book-cache-utils.c"
7140 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 7141 (("/bin/rm") (which "rm")))
ac033c7b
MB
7142 #t))
7143 (add-before 'configure 'dont-override-rpath
7144 (lambda _
7145 (substitute* "CMakeLists.txt"
7146 ;; CMakeLists.txt hard-codes runpath to just the libdir.
7147 ;; Remove it so the configure flag is respected.
7148 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 7149 #t)))))
df217748
SB
7150 (native-inputs
7151 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7152 ("gobject-introspection" ,gobject-introspection)
7153 ("gperf" ,gperf)
7154 ("intltool" ,intltool)
7155 ("pkg-config" ,pkg-config)
a73c1cf8 7156 ("vala" ,vala)
743aebd7 7157 ("python" ,python-wrapper)))
df217748
SB
7158 (propagated-inputs
7159 ;; These are all in the Requires field of .pc files.
7160 `(("gtk+" ,gtk+)
7161 ("libical" ,libical)
7162 ("libsecret" ,libsecret)
7163 ("libsoup" ,libsoup)
7164 ("nss" ,nss)
7165 ("sqlite" ,sqlite)))
7166 (inputs
7167 `(("bdb" ,bdb)
7168 ("gcr" ,gcr)
14c297fd 7169 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 7170 ("json-glib" ,json-glib)
b468eedc 7171 ("libcanberra" ,libcanberra)
743aebd7
MB
7172 ("libgweather" ,libgweather)
7173 ("mit-krb5" ,mit-krb5)
891199c6
MW
7174 ("openldap" ,openldap)
7175 ("webkitgtk" ,webkitgtk)))
df217748
SB
7176 (synopsis "Store address books and calendars")
7177 (home-page "https://wiki.gnome.org/Apps/Evolution")
7178 (description
7179 "This package provides a unified backend for programs that work with
7180contacts, tasks, and calendar information. It was originally developed for
7181Evolution (hence the name), but is now used by other packages as well.")
7182 (license license:lgpl2.0)))
bd7dfafa
SB
7183
7184(define-public caribou
7185 (package
7186 (name "caribou")
fe964bb5 7187 (version "0.4.21")
bd7dfafa
SB
7188 (source (origin
7189 (method url-fetch)
7190 (uri (string-append "mirror://gnome/sources/" name "/"
7191 (version-major+minor version) "/"
7192 name "-" version ".tar.xz"))
7193 (sha256
7194 (base32
fe964bb5 7195 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
7196 (build-system glib-or-gtk-build-system)
7197 (arguments
7198 '(#:phases
7199 (modify-phases %standard-phases
7200 (add-before
7201 'build 'pre-build
7202 (lambda* (#:key outputs #:allow-other-keys)
7203 (let ((out (assoc-ref outputs "out")))
7204 ;; Use absolute shared library path in Caribou-1.0.typelib.
7205 (substitute* "libcaribou/Makefile"
7206 (("--shared-library=libcaribou.so")
7207 (string-append "--shared-library="
7208 out "/lib/libcaribou.so")))
7209 #t)))
7210 (add-after 'install 'wrap-programs
7211 (lambda* (#:key outputs #:allow-other-keys)
7212 (let* ((out (assoc-ref outputs "out"))
7213 (python-path (getenv "PYTHONPATH"))
7214 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
7215 (for-each
7216 (lambda (prog)
7217 (wrap-program prog
7218 `("PYTHONPATH" ":" prefix (,python-path))
7219 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7220 (list (string-append out "/bin/caribou-preferences")
7221 (string-append out "/libexec/antler-keyboard"))))
7222 #t)))))
7223 (native-inputs
7224 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7225 ("gobject-introspection" ,gobject-introspection)
7226 ("intltool" ,intltool)
7227 ("pkg-config" ,pkg-config)
9f7f5ba2 7228 ("python" ,python)
bd7dfafa
SB
7229 ("vala" ,vala)
7230 ("xsltproc" ,libxslt)))
7231 (propagated-inputs
7232 ;; caribou-1.0.pc refers to all these.
7233 `(("libgee" ,libgee)
7234 ("libxklavier" ,libxklavier)
7235 ("libxtst" ,libxtst)
7236 ("gtk+" ,gtk+)))
7237 (inputs
7238 `(("clutter" ,clutter)
7239 ("dconf" ,dconf)
7240 ("gtk+-2" ,gtk+-2)
9f7f5ba2 7241 ("python-pygobject" ,python-pygobject)))
bd7dfafa
SB
7242 (synopsis "Text entry and UI navigation application")
7243 (home-page "https://wiki.gnome.org/Projects/Caribou")
7244 (description
7245 "Caribou is an input assistive technology intended for switch and pointer
7246users.")
7247 (license license:lgpl2.1)))
ba5dd105 7248
ba5dd105
SB
7249(define-public network-manager
7250 (package
7251 (name "network-manager")
01c22be7 7252 (version "1.24.0")
ba5dd105
SB
7253 (source (origin
7254 (method url-fetch)
7255 (uri (string-append "mirror://gnome/sources/NetworkManager/"
7256 (version-major+minor version) "/"
7257 "NetworkManager-" version ".tar.xz"))
8d0548fd 7258 (patches (search-patches "network-manager-plugin-path.patch"))
ba5dd105
SB
7259 (sha256
7260 (base32
01c22be7 7261 "06044fl60bjlj7c6rqqfbm5795h61h6yzp7ch392hzcnm46wwhn3"))
02710a9b 7262 (modules '((guix build utils)))
fd070f35 7263 (snippet
02710a9b
RW
7264 '(begin
7265 (substitute* "src/devices/wwan/nm-modem-manager.c"
7266 (("systemd") "elogind"))
7267 #t))))
255ff74f 7268 (build-system meson-build-system)
ba5dd105
SB
7269 (outputs '("out"
7270 "doc")) ; 8 MiB of gtk-doc HTML
7271 (arguments
255ff74f 7272 `(#:configure-flags
ba5dd105 7273 (let ((out (assoc-ref %outputs "out"))
ba5dd105
SB
7274 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
7275 "/sbin/dhclient")))
255ff74f
BW
7276 (list
7277 ;; Otherwise, the RUNPATH will lack the final 'NetworkManager' path
7278 ;; component.
7279 (string-append "-Dc_link_args=-Wl,-rpath="
7280 out "/lib:"
7281 out "/lib/NetworkManager/" ,version)
7282 "-Dsystemd_journal=false"
7283 "-Dsession_tracking=elogind"
7284 "-Dsuspend_resume=elogind"
7285 "-Dsystemdsystemunitdir=no"
7286 "-Dsession_tracking_consolekit=false"
7287 "-Ddhcpcd=no"
7288 "-Ddhcpcanon=no"
7289 "-Dcrypto=gnutls"
7290 "-Diwd=true"
7291 "-Dlibaudit=yes"
7292 "-Dqt=false"
7293 "-Ddocs=true"
7294 "--sysconfdir=/etc"
7295 "--localstatedir=/var"
7296 (string-append "-Dudev_dir="
7297 out "/lib/udev")
7298 (string-append "-Ddbus_conf_dir="
7299 out "/etc/dbus-1/system.d")
7300
7301 (string-append "-Ddhclient=" dhclient)))
ba5dd105
SB
7302 #:phases
7303 (modify-phases %standard-phases
b4f59d87
AW
7304 (add-before 'configure 'pre-configure
7305 (lambda _
7306 ;; These tests try to test aspects of network-manager's
7307 ;; functionality within restricted containers, but they don't
7308 ;; cope with being already in the Guix build jail as that jail
7309 ;; lacks some features that they would like to proxy over (like
7310 ;; a /sys mount).
255ff74f
BW
7311 (substitute* "src/platform/tests/meson.build"
7312 ((".*test-address-linux.*") "")
7313 ((".*test-cleanup-linux.*") "")
7314 ((".*test-link-linux.*") "")
7315 ((".*test-route-linux.*") ""))
7316 (substitute* "src/devices/tests/meson.build"
7317 ((".*test-acd.*") "")
7318 ((".*test-lldp.*") ""))
45f80fce 7319 #t))
255ff74f
BW
7320 (add-after 'unpack 'patch-docbook-xml
7321 (lambda* (#:key inputs #:allow-other-keys)
7322 (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
7323 "/xml/dtd/docbook")))
7324 (substitute* (find-files "." ".*\\.(xsl|xml)")
7325 (("http://.*/docbookx\\.dtd")
7326 (string-append xmldoc "/docbookx.dtd")))
7327 #t)))
ba5dd105
SB
7328 (add-before 'check 'pre-check
7329 (lambda _
7330 ;; For the missing /etc/machine-id.
7331 (setenv "DBUS_FATAL_WARNINGS" "0")
7332 #t))
255ff74f
BW
7333 (add-before 'install 'no-polkit-magic
7334 ;; Meson ‘magically’ invokes pkexec, which fails (not setuid).
ba5dd105 7335 (lambda _
255ff74f
BW
7336 (setenv "PKEXEC_UID" "something")
7337 #t))
7338 (add-after 'install 'move-doc
7339 (lambda* (#:key outputs #:allow-other-keys)
7340 (let ((out (assoc-ref outputs "out"))
7341 (doc (assoc-ref outputs "doc")))
7342 (mkdir-p (string-append doc "/share"))
7343 (for-each (lambda (directory)
7344 (copy-recursively (string-append out directory)
7345 (string-append doc directory))
7346 (delete-file-recursively
7347 (string-append out directory)))
7348 '("/share/doc" "/share/gtk-doc"))
7349 #t))))))
b93502d6
DC
7350 (propagated-inputs
7351 `(("glib" ,glib)))
ba5dd105 7352 (native-inputs
255ff74f
BW
7353 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
7354 ("gtk-doc" ,gtk-doc)
ba5dd105 7355 ("gobject-introspection" ,gobject-introspection)
255ff74f 7356 ("docbook-xml" ,docbook-xml)
d04687dc 7357 ("docbook-xsl" ,docbook-xsl)
ba5dd105 7358 ("intltool" ,intltool)
d04687dc
HG
7359 ("libxslt" ,libxslt)
7360 ("libxml2" ,libxml2)
ba5dd105 7361 ("pkg-config" ,pkg-config)
255ff74f 7362 ("vala" ,vala)
ba5dd105
SB
7363 ;; For testing.
7364 ("python" ,python-wrapper)
7365 ("python-dbus" ,python-dbus)
7366 ("python-pygobject" ,python-pygobject)))
7367 (inputs
255ff74f 7368 `(("curl" ,curl)
856ca567
KK
7369 ("cyrus-sasl" ,cyrus-sasl)
7370 ("dbus-glib" ,dbus-glib)
ba5dd105 7371 ("dnsmasq" ,dnsmasq)
856ca567 7372 ("eudev" ,eudev)
ba5dd105
SB
7373 ("gnutls" ,gnutls)
7374 ("iptables" ,iptables)
7375 ("isc-dhcp" ,isc-dhcp)
c2f236fa 7376 ("iwd" ,iwd) ; wpa_supplicant alternative
d04687dc 7377 ("jansson" ,jansson)
c2f236fa 7378 ("libaudit" ,audit)
ba5dd105
SB
7379 ("libgcrypt" ,libgcrypt)
7380 ("libgudev" ,libgudev)
7381 ("libndp" ,libndp)
7382 ("libnl" ,libnl)
7383 ("libsoup" ,libsoup)
255ff74f 7384 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
142bdcbc 7385 ("modem-manager" ,modem-manager)
c27e02bf 7386 ("newt" ,newt) ;for the 'nmtui' console interface
c2f236fa 7387 ("openresolv" ,openresolv) ; alternative resolv.conf manager
ba5dd105
SB
7388 ("polkit" ,polkit)
7389 ("ppp" ,ppp)
7390 ("readline" ,readline)
fd070f35
CM
7391 ("util-linux" ,util-linux)
7392 ("elogind" ,elogind)))
ba5dd105 7393 (synopsis "Network connection manager")
8d0548fd 7394 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
ba5dd105
SB
7395 (description
7396 "NetworkManager is a system network service that manages your network
7397devices and connections, attempting to keep active network connectivity when
7398available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
7399devices, and provides VPN integration with a variety of different VPN
7400services.")
255ff74f
BW
7401 ;; “This NetworkManager project consists of the daemon, client tools, and
7402 ;; libnm. libnm is licensed LGPL-2.1+, while the rest is licensed under
7403 ;; GPL-2.0+.”
7404 (license (list license:gpl2+
7405 license:lgpl2.1+))
29d2f451 7406 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 7407
f2b96b3a
LC
7408(define-public network-manager-openvpn
7409 (package
7410 (name "network-manager-openvpn")
3fe368c0 7411 (version "1.8.12")
f2b96b3a
LC
7412 (source (origin
7413 (method url-fetch)
7414 (uri (string-append
7415 "mirror://gnome/sources/NetworkManager-openvpn/"
7416 (version-major+minor version)
7417 "/NetworkManager-openvpn-" version ".tar.xz"))
7418 (sha256
7419 (base32
3fe368c0 7420 "062kh4zj7jfbwy4zzcwpq2m457bzbpm3l18s0ysnw3mgia3siz8f"))))
f2b96b3a
LC
7421 (build-system gnu-build-system)
7422 (arguments
633422b0
JL
7423 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
7424 #:phases
7425 (modify-phases %standard-phases
7426 (add-after 'configure 'patch-path
7427 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
7428 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
7429 "/sbin/openvpn"))
7430 (modprobe (string-append (assoc-ref inputs "kmod")
7431 "/bin/modprobe"))
7432 (pretty-ovpn (string-append "\"" ovpn "\"")))
7433 (for-each
7434 (lambda (file)
7435 (substitute* file
7436 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
7437 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
7438 (("\"/sbin/openvpn\"") pretty-ovpn)
7439 (("/sbin/modprobe") modprobe)))
7440 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
7441 #t)))))
f2b96b3a
LC
7442 (native-inputs
7443 `(("pkg-config" ,pkg-config)
7444 ("intltool" ,intltool)))
7445 (inputs
7446 `(("gtk+" ,gtk+)
633422b0 7447 ("kmod" ,kmod)
f2b96b3a
LC
7448 ("openvpn" ,openvpn)
7449 ("network-manager" ,network-manager)
3fe368c0 7450 ("libnma" ,libnma)
f2b96b3a
LC
7451 ("libsecret" ,libsecret)))
7452 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
7453 (synopsis "OpenVPN plug-in for NetworkManager")
7454 (description
7455 "This extension of NetworkManager allows it to take care of connections
7456to virtual private networks (VPNs) via OpenVPN.")
7457 (license license:gpl2+)
7458 (properties `((upstream-name . "NetworkManager-openvpn")))))
7459
d376129f
JL
7460(define-public network-manager-vpnc
7461 (package
7462 (name "network-manager-vpnc")
7463 (version "1.2.6")
7464 (source (origin
7465 (method url-fetch)
7466 (uri (string-append
7467 "mirror://gnome/sources/NetworkManager-vpnc/"
7468 (version-major+minor version)
7469 "/NetworkManager-vpnc-" version ".tar.xz"))
7470 (sha256
7471 (base32
7472 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
7473 (build-system gnu-build-system)
7474 (arguments
7c43b78d
BW
7475 `(#:configure-flags '("--enable-absolute-paths"
7476 "--localstatedir=/var"
7477 ;; libnm-glib has been removed from network-manager
7478 ;; 1de8383ad9fdfc8f552117e5d109bdfa7005634b
7479 "--with-libnm-glib=no")
d376129f
JL
7480 #:phases
7481 (modify-phases %standard-phases
7482 (add-after 'configure 'patch-path
7483 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
7484 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
7485 "/sbin/vpnc"))
7486 (modprobe (string-append (assoc-ref inputs "kmod")
7487 "/bin/modprobe"))
7488 (pretty-ovpn (string-append "\"" vpnc "\"")))
7489 (substitute* "src/nm-vpnc-service.c"
7490 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
7491 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
7492 (("\"/sbin/vpnc\"") pretty-ovpn)
7493 (("/sbin/modprobe") modprobe)))
7494 #t)))))
7495 (native-inputs
7496 `(("pkg-config" ,pkg-config)
7497 ("intltool" ,intltool)))
7498 (inputs
7499 `(("gtk+" ,gtk+)
7500 ("kmod" ,kmod)
7501 ("vpnc" ,vpnc)
7502 ("network-manager" ,network-manager)
7c43b78d 7503 ("libnma" ,libnma)
d376129f
JL
7504 ("libsecret" ,libsecret)))
7505 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
7506 (synopsis "VPNC plug-in for NetworkManager")
7507 (description
7508 "Support for configuring virtual private networks based on VPNC.
7509Compatible with Cisco VPN concentrators configured to use IPsec.")
7510 (license license:gpl2+)
7511 (properties `((upstream-name . "NetworkManager-vpnc")))))
7512
8378c87a
EF
7513(define-public network-manager-openconnect
7514 (package
7515 (name "network-manager-openconnect")
7516 (version "1.2.6")
7517 (source (origin
7518 (method url-fetch)
7519 (uri (string-append
7520 "mirror://gnome/sources/NetworkManager-openconnect/"
7521 (version-major+minor version)
7522 "/NetworkManager-openconnect-" version ".tar.xz"))
7523 (sha256
7524 (base32
7525 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
7526 (build-system gnu-build-system)
7527 (arguments
7528 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
7529 #:phases
7530 (modify-phases %standard-phases
7531 (add-after 'configure 'patch-path
7532 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
7533 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
7534 "/sbin/openconnect"))
7535 (modprobe (string-append (assoc-ref inputs "kmod")
7536 "/bin/modprobe"))
7537 (pretty-ovpn (string-append "\"" openconnect "\"")))
7538 (substitute* "src/nm-openconnect-service.c"
2807a843 7539 (("\"/usr(/local)?/s?bin/openconnect\"") pretty-ovpn)
8378c87a
EF
7540 (("/sbin/modprobe") modprobe)))
7541 #t)))))
7542 (native-inputs
7543 `(("intltool" ,intltool)
4ca449c5 7544 ("libnma" ,libnma)
8378c87a
EF
7545 ("pkg-config" ,pkg-config)))
7546 (inputs
7547 `(("gcr" ,gcr)
7548 ("gtk+" ,gtk+)
7549 ("kmod" ,kmod)
7550 ("libsecret" ,libsecret)
7551 ("libxml2" ,libxml2)
b4fe5dab 7552 ("lz4" ,lz4)
8378c87a
EF
7553 ("network-manager" ,network-manager)
7554 ("openconnect" ,openconnect)))
7555 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
7556 (synopsis "OpenConnect plug-in for NetworkManager")
7557 (description
7558 "This extension of NetworkManager allows it to take care of connections
7559to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
7560Cisco's AnyConnect SSL VPN.")
7561 (license license:gpl2+)
e52b9534
LC
7562 (properties `((upstream-name . "NetworkManager-openconnect")
7563
7564 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
7565 ;; file refers to account "nm-openconnect". Specify it here
7566 ;; so that 'network-manager-service-type' creates it.
7567 (user-accounts . ("nm-openconnect"))))))
8378c87a 7568
e5e1df4d
DC
7569(define-public mobile-broadband-provider-info
7570 (package
7571 (name "mobile-broadband-provider-info")
310c89e3 7572 (version "20190116")
e5e1df4d
DC
7573 (source (origin
7574 (method url-fetch)
7575 (uri (string-append
7576 "mirror://gnome/sources/"
7577 "mobile-broadband-provider-info/" version "/"
7578 "mobile-broadband-provider-info-" version ".tar.xz"))
7579 (sha256
7580 (base32
310c89e3 7581 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
7582 (build-system gnu-build-system)
7583 (arguments
310c89e3 7584 `(#:tests? #f)) ; no tests
e5e1df4d
DC
7585 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
7586 (synopsis "Database of broadband connection configuration")
7587 (description "Database of broadband connection configuration.")
7588 (license license:public-domain)))
7589
4d62a9d3
SB
7590(define-public network-manager-applet
7591 (package
7592 (name "network-manager-applet")
4c291112 7593 (version "1.16.0")
4d62a9d3
SB
7594 (source (origin
7595 (method url-fetch)
3df63444 7596 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 7597 (version-major+minor version) "/"
3df63444 7598 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
7599 (sha256
7600 (base32
4c291112 7601 "1rf3nm0hjcy9f8ajb4vmvwy503w8yj8d4daxkcb7w7i7b92qmyfn"))))
cd7f718e
RW
7602 (build-system meson-build-system)
7603 (arguments
4c291112 7604 '(#:glib-or-gtk? #t))
4d62a9d3
SB
7605 (native-inputs
7606 `(("intltool" ,intltool)
cd7f718e 7607 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 7608 ("gobject-introspection" ,gobject-introspection)
cd7f718e 7609 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
7610 ("pkg-config" ,pkg-config)))
7611 (propagated-inputs
7612 ;; libnm-gtk.pc refers to all these.
7613 `(("dbus-glib" ,dbus-glib)
7614 ("gtk+" ,gtk+)
415b90f2
BW
7615 ("network-manager" ,network-manager)
7616 ;; nm-applet need by org.gnome.nm-applet.gschema.xml
7617 ("libnma" ,libnma)))
4d62a9d3 7618 (inputs
cd7f718e 7619 `(("gcr" ,gcr)
4d62a9d3
SB
7620 ("libgudev" ,libgudev)
7621 ("libnotify" ,libnotify)
2116bfb3 7622 ("libsecret" ,libsecret)
240cee8a
KK
7623 ("libselinux" ,libselinux)
7624 ("jansson" ,jansson) ; for team support
4c291112 7625 ("modem-manager" ,modem-manager)))
4d62a9d3 7626 (synopsis "Applet for managing network connections")
8ce78609 7627 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
4d62a9d3
SB
7628 (description
7629 "This package contains a systray applet for NetworkManager. It displays
7630the available networks and allows users to easily switch between them.")
7631 (license license:gpl2+)))
56196594
RW
7632
7633(define-public libxml++
7634 (package
7635 (name "libxml++")
8344a85e 7636 (version "3.0.1")
56196594
RW
7637 (source (origin
7638 (method url-fetch)
7639 (uri (string-append "mirror://gnome/sources/" name "/"
7640 (version-major+minor version) "/"
7641 name "-" version ".tar.xz"))
7642 (sha256
7643 (base32
8344a85e 7644 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
7645 (build-system gnu-build-system)
7646 ;; libxml++-3.0.pc refers to all these.
7647 (propagated-inputs
7648 `(("libxml2" ,libxml2)
7649 ("glibmm" ,glibmm)))
7650 (native-inputs
7651 `(("perl" ,perl)
7652 ("pkg-config" ,pkg-config)))
7653 (home-page "http://libxmlplusplus.sourceforge.net/")
7654 (synopsis "C++ wrapper for XML parser library libxml2")
7655 (description
7656 "This package provides a C++ wrapper for the XML parser library
7657libxml2.")
7658 (license license:lgpl2.1+)))
df12f04a 7659
b61d9627
AW
7660(define-public libxml++-2
7661 (package
7662 (inherit libxml++)
7663 (name "libxml++")
7664 (version "2.40.1")
7665 (source (origin
7666 (method url-fetch)
7667 (uri (string-append "mirror://gnome/sources/" name "/"
7668 (version-major+minor version) "/"
7669 name "-" version ".tar.xz"))
7670 (sha256
7671 (base32
7672 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
7673
df12f04a
SB
7674(define-public gdm
7675 (package
7676 (name "gdm")
0fda99c5 7677 (version "3.34.1")
df12f04a
SB
7678 (source (origin
7679 (method url-fetch)
7680 (uri (string-append "mirror://gnome/sources/" name "/"
7681 (version-major+minor version) "/"
7682 name "-" version ".tar.xz"))
7683 (sha256
7684 (base32
0fda99c5 7685 "1lyqvcwxhwxklbxn4xjswjzr6fhjix6h28mi9ypn34wdm9bzcpg8"))
f4ec5e1a 7686 (patches (search-patches "gdm-default-session.patch"))))
957dbc0a 7687 (build-system glib-or-gtk-build-system)
df12f04a
SB
7688 (arguments
7689 '(#:configure-flags
af37e6bb 7690 `("--without-plymouth"
957dbc0a 7691 "--disable-systemd-journal"
51bc8357
TS
7692
7693 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
7694 ;; instead of having to replace it (i.e., stopping the mingetty
7695 ;; service for TTY 1 before starting GDM).
7696 "--with-initial-vt=7"
7697
89c86562
TS
7698 ;; Use '/etc/environment' for locale settings instead of the
7699 ;; systemd-specific '/etc/locale.conf'.
7700 "--with-lang-file=/etc/environment"
7701
b74ef0ba
RW
7702 ,(string-append "--with-udevdir="
7703 (assoc-ref %outputs "out") "/lib/udev")
7704
af37e6bb
AW
7705 "--localstatedir=/var"
7706 ,(string-append "--with-default-path="
7707 (string-join '("/run/setuid-programs"
7708 "/run/current-system/profile/bin"
7709 "/run/current-system/profile/sbin")
957dbc0a
AW
7710 ":"))
7711 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
7712 ;; XDG_DATA_DIRS so that it finds its schemas.
7713 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
7714 #:phases
7715 (modify-phases %standard-phases
7716 (add-before
7717 'configure 'pre-configure
e8c6e771 7718 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
7719 ;; We don't have <systemd/sd-daemon.h>.
7720 (substitute* '("common/gdm-log.c"
7721 "daemon/gdm-server.c"
7722 "daemon/gdm-session-worker.c"
7723 "daemon/gdm-session-worker-job.c")
7724 (("#include <systemd/sd-daemon\\.h>") ""))
7725 ;; Use elogind for sd-login.
7726 (substitute* '("common/gdm-common.c"
0fda99c5 7727 "daemon/gdm-local-display-factory.c"
df12f04a
SB
7728 "daemon/gdm-manager.c"
7729 "libgdm/gdm-user-switching.c")
7730 (("#include <systemd/sd-login\\.h>")
7731 "#include <elogind/sd-login.h>"))
957dbc0a
AW
7732 ;; Check for elogind.
7733 (substitute* '("configure")
7734 (("libsystemd")
7735 "libelogind"))
af37e6bb
AW
7736 ;; Look for system-installed sessions in
7737 ;; /run/current-system/profile/share.
7738 (substitute* '("libgdm/gdm-sessions.c"
7739 "daemon/gdm-session.c"
7740 "daemon/gdm-display.c"
7741 "daemon/gdm-launch-environment.c")
7742 (("DATADIR \"/x")
7743 "\"/run/current-system/profile/share/x")
7744 (("DATADIR \"/wayland")
7745 "\"/run/current-system/profile/share/wayland")
7746 (("DATADIR \"/gnome")
7747 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 7748 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 7749 "GDM_DBUS_DAEMON"
c9ff92b5 7750 "GDM_X_SERVER"
41fa9f18 7751 "GDM_X_SESSION"
c9ff92b5
TS
7752 ;; XXX: Remove this once GNOME Shell is
7753 ;; a dependency of GDM.
7754 "XDG_DATA_DIRS")))
7755 (substitute* "daemon/gdm-session.c"
7756 (("set_up_session_environment \\(self\\);")
7757 (apply string-append
7758 "set_up_session_environment (self);\n"
7759 (map (lambda (name)
7760 (string-append
7761 "gdm_session_set_environment_variable "
7762 "(self, \"" name "\","
7763 "g_getenv (\"" name "\"));\n"))
7764 propagate)))))
a430a350
TS
7765 ;; Find the configuration file using an environment variable.
7766 (substitute* '("common/gdm-settings.c")
e0e6756f 7767 (("GDM_CUSTOM_CONF")
e57c2adb
TS
7768 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
7769 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
7770 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
7771 ;; Use service-supplied path to X.
7772 (substitute* '("daemon/gdm-server.c")
7773 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
7774 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
0fda99c5
KK
7775 (substitute* '("daemon/gdm-wayland-session.c"
7776 "daemon/gdm-x-session.c")
1f564c15
TS
7777 (("\"dbus-daemon\"")
7778 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 7779 (("X_SERVER")
41fa9f18
TS
7780 "g_getenv (\"GDM_X_SERVER\")")
7781 (("GDMCONFDIR \"/Xsession\"")
7782 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
7783 ;; Use an absolute path for GNOME Session.
7784 (substitute* "daemon/gdm-launch-environment.c"
7785 (("\"gnome-session\"")
7786 (string-append "\"" (assoc-ref inputs "gnome-session")
7787 "/bin/gnome-session\"")))
e8c6e771
TS
7788 ;; Do not automatically select the placeholder session.
7789 (substitute* "daemon/gdm-session.c"
7790 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
7791 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
7792 "(g_strcmp0(search_dirs[i], \""
7793 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
7794 "\") == 0 && "
7795 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
7796 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 7797 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 7798 #t))
8caa4589
TS
7799 ;; GDM requires that there be at least one desktop entry
7800 ;; file. This phase installs a hidden one that simply
7801 ;; fails. This enables users to use GDM with a
7802 ;; '~/.xsession' script with no other desktop entry files.
7803 ;; See <https://bugs.gnu.org/35068>.
7804 (add-after 'install 'install-placeholder-desktop-entry
7805 (lambda* (#:key inputs outputs #:allow-other-keys)
7806 (let* ((out (assoc-ref outputs "out"))
7807 (sessions (string-append out "/share/gdm/BuiltInSessions"))
7808 (fail (string-append sessions "/fail.desktop")))
7809 (mkdir-p sessions)
7810 (with-output-to-file fail
7811 (lambda ()
7812 (for-each
7813 display
7814 '("[Desktop Entry]\n"
7815 "Encoding=UTF-8\n"
7816 "Type=Application\n"
7817 "Name=Fail\n"
7818 "Comment=This session fails immediately.\n"
7819 "NoDisplay=true\n"
7820 "Exec=false\n"))))
7821 #t)))
69544798
TS
7822 ;; GDM needs GNOME Session to run these applications. We link
7823 ;; their autostart files in `share/gdm/greeter/autostart'
7824 ;; because GDM explicitly tells GNOME Session to look there.
7825 ;;
7826 ;; XXX: GNOME Shell should be linked here too, but currently
7827 ;; GNOME Shell depends on GDM.
7828 (add-after 'install 'link-autostart-files
7829 (lambda* (#:key inputs outputs #:allow-other-keys)
7830 (let* ((out (assoc-ref outputs "out"))
7831 (autostart (string-append out "/share/gdm/"
7832 "greeter/autostart"))
7833 (settings (assoc-ref inputs "gnome-settings-daemon")))
7834 (mkdir-p autostart)
7835 (with-directory-excursion autostart
7836 (for-each (lambda (desktop)
7837 (symlink desktop (basename desktop)))
7838 (find-files (string-append settings "/etc/xdg"))))
7839 #t))))))
df12f04a
SB
7840 (native-inputs
7841 `(("dconf" ,dconf)
7842 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
7843 ("gobject-introspection" ,gobject-introspection)
7844 ("intltool" ,intltool)
7845 ("itstool" ,itstool)
7846 ("pkg-config" ,pkg-config)
7847 ("xmllint" ,libxml2)))
7848 (inputs
7849 `(("accountsservice" ,accountsservice)
7850 ("check" ,check) ; for testing
7851 ("elogind" ,elogind)
def6d6b6 7852 ("gnome-session" ,gnome-session)
69544798 7853 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
7854 ("gtk+" ,gtk+)
7855 ("iso-codes" ,iso-codes)
7856 ("libcanberra" ,libcanberra)
7857 ("linux-pam" ,linux-pam)))
7858 (synopsis "Display manager for GNOME")
f032d0be 7859 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
7860 (description
7861 "GNOME Display Manager is a system service that is responsible for
7862providing graphical log-ins and managing local and remote displays.")
7863 (license license:gpl2+)))
8e1dd04f
SB
7864
7865(define-public libgtop
7866 (package
7867 (name "libgtop")
015fc036 7868 (version "2.40.0")
8e1dd04f
SB
7869 (source (origin
7870 (method url-fetch)
59487fc2 7871 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 7872 (version-major+minor version) "/"
59487fc2 7873 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
7874 (sha256
7875 (base32
015fc036 7876 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
7877 (build-system gnu-build-system)
7878 (native-inputs
7879 `(("gobject-introspection" ,gobject-introspection)
7880 ("intltool" ,intltool)
7881 ("perl" ,perl)
7882 ("pkg-config" ,pkg-config)))
7883 (propagated-inputs
7884 `(("glib" ,glib))) ; required by libgtop-2.0.pc
7885 (synopsis "Portable system access library")
7886 (home-page "https://www.gnome.org/")
7887 (description
7888 "LibGTop is a library to get system specific data such as CPU and memory
7889usage and information about running processes.")
7890 (license license:gpl2+)))
b96c4260
SB
7891
7892(define-public gnome-bluetooth
7893 (package
7894 (name "gnome-bluetooth")
e8f4bf6b 7895 (version "3.34.0")
b96c4260
SB
7896 (source (origin
7897 (method url-fetch)
7898 (uri (string-append "mirror://gnome/sources/" name "/"
7899 (version-major+minor version) "/"
7900 name "-" version ".tar.xz"))
7901 (sha256
7902 (base32
e8f4bf6b 7903 "1bvbxcsjkyl0givy8nfm7112bq3c0vn1v89fdk2pip714dsfcrz8"))))
fd3b1171 7904 (build-system meson-build-system)
b96c4260
SB
7905 (native-inputs
7906 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 7907 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
7908 ("gobject-introspection" ,gobject-introspection)
7909 ("intltool" ,intltool)
7910 ("pkg-config" ,pkg-config)
7911 ("xmllint" ,libxml2)))
7912 (propagated-inputs
7913 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
7914 `(("glib" ,glib)
7915 ("gtk+" ,gtk+)))
b96c4260 7916 (inputs
723afae6
KK
7917 `(("eudev" ,eudev)
7918 ("libcanberra" ,libcanberra)
b96c4260
SB
7919 ("libnotify" ,libnotify)))
7920 (synopsis "GNOME Bluetooth subsystem")
7921 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
7922 (description
7923 "This package contains tools for managing and manipulating Bluetooth
7924devices using the GNOME desktop.")
7925 (license license:lgpl2.1+)))
b645146f
SB
7926
7927(define-public gnome-control-center
7928 (package
7929 (name "gnome-control-center")
c576328d 7930 (version "3.34.2")
b645146f
SB
7931 (source (origin
7932 (method url-fetch)
7933 (uri (string-append "mirror://gnome/sources/" name "/"
7934 (version-major+minor version) "/"
7935 name "-" version ".tar.xz"))
7936 (sha256
7937 (base32
c576328d 7938 "054igagvmyzpaa5nwzz98gv7bk7l5dwp6g813707132si3szlpx8"))))
59dac026 7939 (build-system meson-build-system)
b645146f 7940 (arguments
59dac026
RW
7941 '(#:glib-or-gtk? #t
7942 #:configure-flags
64c70430
KK
7943 (list "-Dcheese=false"
7944 (string-append "-Dgnome_session_libexecdir="
7945 (assoc-ref %build-inputs "gnome-session")
7946 "/libexec"))
59dac026 7947 #:phases
b645146f
SB
7948 (modify-phases %standard-phases
7949 (add-before 'configure 'patch-paths
7950 (lambda* (#:key inputs #:allow-other-keys)
7951 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 7952 (tzdata (assoc-ref inputs "tzdata"))
341225ac 7953 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
7954 (nm-applet (assoc-ref inputs "network-manager-applet"))
7955 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
7956 (substitute* "panels/datetime/tz.h"
7957 (("/usr/share/zoneinfo/zone.tab")
7958 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 7959 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
7960 (("/usr/share/locale")
7961 (string-append libc "/share/locale")))
1df38cfc
LC
7962 (substitute* "panels/region/cc-region-panel.c"
7963 (("\"gkbd-keyboard-display")
7964 (string-append "\"" libgnomekbd
7965 "/bin/gkbd-keyboard-display")))
341225ac
LC
7966 (substitute* '("panels/network/net-device-wifi.c"
7967 "panels/network/net-device.c"
7968 "panels/network/connection-editor/net-connection-editor.c")
7969 (("\"nm-connection-editor")
7970 (string-append "\"" nm-applet
7971 "/bin/nm-connection-editor")))
1acd107c
FP
7972 (substitute* '("panels/user-accounts/run-passwd.c")
7973 (("/usr/bin/passwd")
7974 "/run/setuid-programs/passwd"))
64c70430
KK
7975 (substitute* "panels/info/cc-info-overview-panel.c"
7976 (("DATADIR \"/gnome/gnome-version.xml\"")
7977 (string-append "\"" gnome-desktop
7978 "/share/gnome/gnome-version.xml\"")))
c576328d
KK
7979 #t)))
7980 (add-after 'unpack 'skip-gtk-update-icon-cache
7981 ;; Don't create 'icon-theme.cache'.
7982 (lambda _
7983 (substitute* "build-aux/meson/meson_post_install.py"
7984 (("gtk-update-icon-cache") (which "true")))
7985 #t)))))
b645146f
SB
7986 (native-inputs
7987 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7988 ("intltool" ,intltool)
7989 ("pkg-config" ,pkg-config)
a6938bac
KK
7990 ("xsltproc" ,libxslt)
7991 ;; For tests
7992 ("hicolor-icon-theme" ,hicolor-icon-theme)
7993 ("python-dbusmock" ,python-dbusmock)
7994 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
7995 (inputs
7996 `(("accountsservice" ,accountsservice)
7997 ("clutter-gtk" ,clutter-gtk)
7998 ("colord-gtk" ,colord-gtk)
7999 ("cups" ,cups)
8000 ("dconf" ,dconf)
8001 ("docbook-xsl" ,docbook-xsl)
3446ffb5 8002 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
8003 ("gnome-bluetooth" ,gnome-bluetooth)
8004 ("gnome-desktop" ,gnome-desktop)
8005 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 8006 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 8007 ("gnome-session" ,gnome-session)
b645146f
SB
8008 ("gnome-settings-daemon" ,gnome-settings-daemon)
8009 ("grilo" ,grilo)
a6938bac 8010 ("gsound" ,gsound)
b645146f
SB
8011 ("ibus" ,ibus)
8012 ("libcanberra" ,libcanberra)
1df38cfc 8013 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
8014 ("libgudev" ,libgudev)
8015 ("libgtop" ,libgtop)
46cf3434 8016 ("libnma" ,libnma)
b645146f 8017 ("libpwquality" ,libpwquality)
982c0b36 8018 ("libsecret" ,libsecret)
b645146f
SB
8019 ("libsoup" ,libsoup)
8020 ("libxml2" ,libxml2)
8021 ("libwacom" ,libwacom)
8022 ("mesa" ,mesa)
8023 ("mit-krb5" ,mit-krb5)
8024 ("modem-manager" ,modem-manager)
8025 ("network-manager-applet" ,network-manager-applet)
8026 ("polkit" ,polkit)
8027 ("pulseaudio" ,pulseaudio)
8028 ("smbclient" ,samba)
8029 ("tzdata" ,tzdata)
982c0b36 8030 ("udisks" ,udisks)
b645146f
SB
8031 ("upower" ,upower)))
8032 (synopsis "Utilities to configure the GNOME desktop")
8033 (home-page "https://www.gnome.org/")
8034 (description
8035 "This package contains configuration applets for the GNOME desktop,
8036allowing to set accessibility configuration, desktop fonts, keyboard and mouse
8037properties, sound setup, desktop theme and background, user interface
8038properties, screen resolution, and other GNOME parameters.")
8039 (license license:gpl2+)))
a4df5756
SB
8040
8041(define-public gnome-shell
8042 (package
8043 (name "gnome-shell")
28457ae6 8044 (version "3.34.2")
a4df5756
SB
8045 (source (origin
8046 (method url-fetch)
8047 (uri (string-append "mirror://gnome/sources/" name "/"
8048 (version-major+minor version) "/"
8049 name "-" version ".tar.xz"))
8050 (sha256
8051 (base32
28457ae6
KK
8052 "0k9vq2gh1nhdd6fpp7jnwx37qxaakawiqw1xnlfjvq5g5zdn8ckh"))
8053 (patches (search-patches "gnome-shell-theme.patch"
8054 "gnome-shell-disable-test.patch"))
a76d0f03
LC
8055 (modules '((guix build utils)))
8056 (snippet
8057 #~(begin
a76d0f03
LC
8058 ;; Copy images for use on the GDM log-in screen.
8059 (copy-file #$(file-append %artwork-repository
8060 "/slim/0.x/background.png")
8061 "data/theme/guix-background.png")
45fef894
LC
8062 (copy-file #$(file-append %artwork-repository
8063 "/logo/Guix-horizontal-white.svg")
8064 "data/theme/guix-logo.svg")
a76d0f03 8065 #t))))
2b0c755d 8066 (build-system meson-build-system)
a4df5756 8067 (arguments
08185081
MB
8068 `(#:glib-or-gtk? #t
8069 #:disallowed-references ((,glib "bin")
11e1df56
LC
8070 ,inkscape ,libxslt
8071 ,ruby-sass)
2b0c755d
RW
8072 #:configure-flags
8073 (list "-Dsystemd=false"
8074 ;; Otherwise, the RUNPATH will lack the final path component.
8075 (string-append "-Dc_link_args=-Wl,-rpath="
8076 (assoc-ref %outputs "out")
8077 "/lib/gnome-shell"))
11e1df56 8078
08185081 8079 #:modules ((guix build meson-build-system)
11e1df56
LC
8080 (guix build utils)
8081 (srfi srfi-1))
8082
2b0c755d 8083 #:phases
a4df5756 8084 (modify-phases %standard-phases
2b0c755d 8085 (add-after 'unpack 'fix-keysdir
a4df5756
SB
8086 (lambda* (#:key outputs #:allow-other-keys)
8087 (let* ((out (assoc-ref outputs "out"))
8088 (keysdir (string-append
8089 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
8090 (substitute* "meson.build"
8091 (("keysdir =.*")
8092 (string-append "keysdir = '" keysdir "'\n")))
8093 #t)))
ebfe259f
MB
8094 (add-before 'configure 'convert-logo-to-png
8095 (lambda* (#:key inputs #:allow-other-keys)
8096 ;; Convert the logo from SVG to PNG.
8097 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
8098 "data/theme/guix-logo.svg")))
ba00235a 8099 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
8100 (lambda* (#:key inputs #:allow-other-keys)
8101 (substitute* "js/misc/ibusManager.js"
8102 (("'ibus-daemon'")
8103 (string-append "'" (assoc-ref inputs "ibus")
8104 "/bin/ibus-daemon'")))
d6fda4d3
LC
8105 (substitute* "js/ui/status/keyboard.js"
8106 (("'gkbd-keyboard-display'")
8107 (string-append "'" (assoc-ref inputs "libgnomekbd")
8108 "/bin/gkbd-keyboard-display'")))
2472cdec 8109 #t))
2b0c755d
RW
8110 (add-before 'check 'pre-check
8111 (lambda* (#:key inputs #:allow-other-keys)
8112 ;; Tests require a running X server.
8113 (system "Xvfb :1 &")
8114 (setenv "DISPLAY" ":1")
8115 #t))
8116 (add-after 'install 'wrap-programs
8117 (lambda* (#:key inputs outputs #:allow-other-keys)
8118 (let ((out (assoc-ref outputs "out"))
8119 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8120 (python-path (getenv "PYTHONPATH")))
8121 (wrap-program (string-append out "/bin/gnome-shell")
8122 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8123 ;; FIXME: gnome-shell loads these libraries with unqualified
8124 ;; names only, so they need to be on LD_LIBRARY_PATH. The
8125 ;; alternative might be to patch gnome-shell.
8126 `("LD_LIBRARY_PATH" ":" prefix
8127 ,(map (lambda (pkg)
8128 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
8129 '("gdk-pixbuf"
8130 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
8131 (for-each
8132 (lambda (prog)
8133 (wrap-program (string-append out "/bin/" prog)
8134 `("PYTHONPATH" ":" prefix (,python-path))
8135 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8136 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 8137 #t)))
11e1df56
LC
8138 (replace 'glib-or-gtk-wrap
8139 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
8140 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
8141 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
8142 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
8143 ;; phase. Fix that since we don't need these.
8144 (wrap #:inputs (fold alist-delete inputs
8145 '("inkscape" "intltool" "glib:bin"))
8146 #:outputs outputs)))))))
a4df5756 8147 (native-inputs
28457ae6
KK
8148 `(("asciidoc" ,asciidoc)
8149 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 8150 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 8151 ("gobject-introspection" ,gobject-introspection)
ebfe259f 8152 ("inkscape" ,inkscape)
a4df5756
SB
8153 ("intltool" ,intltool)
8154 ("pkg-config" ,pkg-config)
8155 ("python" ,python)
2b0c755d
RW
8156 ("ruby-sass" ,ruby-sass)
8157 ("sassc" ,sassc)
a76d0f03 8158 ("xsltproc" ,libxslt)
2b0c755d 8159 ;; For tests
0b4504f6 8160 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
8161 (inputs
8162 `(("accountsservice" ,accountsservice)
8163 ("caribou" ,caribou)
8164 ("docbook-xsl" ,docbook-xsl)
8165 ("evolution-data-server" ,evolution-data-server)
8166 ("gcr" ,gcr)
8167 ("gdm" ,gdm)
c5db31d4 8168 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756 8169 ("gjs" ,gjs)
28457ae6 8170 ("gnome-autoar" ,gnome-autoar)
a4df5756 8171 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
8172 ("gnome-desktop" ,gnome-desktop)
8173 ("gnome-settings-daemon" ,gnome-settings-daemon)
8174 ("gst-plugins-base" ,gst-plugins-base)
8175 ("ibus" ,ibus)
8176 ("libcanberra" ,libcanberra)
8177 ("libcroco" ,libcroco)
d6fda4d3 8178 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756 8179 ("libgweather" ,libgweather)
e24d311f 8180 ("libnma" ,libnma)
a4df5756
SB
8181 ("libsoup" ,libsoup)
8182 ("mesa-headers" ,mesa-headers)
8183 ("mutter" ,mutter)
8184 ("network-manager-applet" ,network-manager-applet)
8185 ("polkit" ,polkit)
8186 ("pulseaudio" ,pulseaudio)
8187 ("python-pygobject" ,python-pygobject)
8188 ("startup-notification" ,startup-notification)
8189 ("telepathy-logger" ,telepathy-logger)
8190 ("upower" ,upower)
30e760f0
MB
8191 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
8192 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
8193 ("librsvg" ,librsvg)
2b0c755d 8194 ("geoclue" ,geoclue)))
a4df5756
SB
8195 (synopsis "Desktop shell for GNOME")
8196 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
8197 (description
8198 "GNOME Shell provides core user interface functions for the GNOME desktop,
8199like switching to windows and launching applications.")
8200 (license license:gpl2+)))
c3f29bc9
RS
8201
8202(define-public gtk-vnc
8203 (package
8204 (name "gtk-vnc")
965ff023 8205 (version "0.9.0")
c3f29bc9
RS
8206 (source
8207 (origin
8208 (method url-fetch)
8209 (uri (string-append "mirror://gnome/sources/" name "/"
8210 (version-major+minor version) "/"
8211 name "-" version ".tar.xz"))
8212 (sha256
8213 (base32
965ff023 8214 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
8215 (build-system gnu-build-system)
8216 (arguments
8217 '(#:configure-flags '("--with-gtk=3.0")))
8218 (propagated-inputs
8219 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
8220 (inputs
8221 `(("cyrus-sasl" ,cyrus-sasl)
8222 ("gnutls" ,gnutls)
8223 ("libgcrypt" ,libgcrypt)
8224 ("pulseaudio" ,pulseaudio)))
8225 (native-inputs
8226 `(("glib:bin" ,glib "bin")
8227 ("gobject-introspection" ,gobject-introspection)
8228 ("intltool" ,intltool)
8229 ("pkg-config" ,pkg-config)
2f17e939 8230 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
8231 ("vala" ,vala)))
8232 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
8233 (synopsis "VNC viewer widget for GTK+")
8234 (description
8235 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
8236applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
8237GTK-VNC implements client side RFB protocol and authentication extensions such
8238as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
8239 (license license:lgpl2.1+)))
8b877545 8240
dc69fe18
MW
8241(define-public gnome-autoar
8242 (package
8243 (name "gnome-autoar")
17969940 8244 (version "0.2.4")
dc69fe18
MW
8245 (source (origin
8246 (method url-fetch)
8247 (uri (string-append "mirror://gnome/sources/" name "/"
8248 (version-major+minor version) "/"
8249 name "-" version ".tar.xz"))
8250 (sha256
8251 (base32
17969940 8252 "0yk56ch46n3wfy633mq31kif9n7v06rlij4vqbsbn6l4z1vw6d0a"))))
dc69fe18
MW
8253 (build-system glib-or-gtk-build-system)
8254 (native-inputs
17969940 8255 `(("gobject-introspection" ,gobject-introspection)
dc69fe18
MW
8256 ("pkg-config" ,pkg-config)))
8257 (propagated-inputs
17969940 8258 `(("libarchive" ,libarchive))) ; Required by gnome-autoar-0.pc
dc69fe18 8259 (inputs
0a6e9e13 8260 `(("gtk+" ,gtk+)))
dc69fe18
MW
8261 (synopsis "Archives integration support for GNOME")
8262 (home-page "https://git.gnome.org/browse/gnome-autoar/")
8263 (description
8264 "GNOME Autoar is a library which makes creating and extracting archives
8265easy, safe, and automatic.")
8266 (license license:lgpl2.1+)))
8267
b64e217f
MW
8268(define-public tracker
8269 (package
8270 (name "tracker")
caaefa40 8271 (version "2.3.4")
b64e217f
MW
8272 (source (origin
8273 (method url-fetch)
b5b0fd23 8274 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 8275 (version-major+minor version) "/"
b5b0fd23 8276 "tracker-" version ".tar.xz"))
b64e217f
MW
8277 (sha256
8278 (base32
caaefa40 8279 "0vai0qz9jn3z5dlzysynwhbbmslp84ygdql81f5wfxxr98j54yap"))))
5ada561c 8280 (build-system meson-build-system)
c8bdf589 8281 (arguments
5ada561c
KK
8282 `(#:glib-or-gtk? #t
8283 #:configure-flags
8284 ;; Otherwise, the RUNPATH will lack the final path component.
8285 (list (string-append "-Dc_link_args=-Wl,-rpath="
8286 (assoc-ref %outputs "out") "/lib:"
8287 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
8288 #:phases
c8bdf589 8289 (modify-phases %standard-phases
c8bdf589
RW
8290 (add-before 'check 'pre-check
8291 (lambda _
63db190a
PN
8292 ;; Some tests expect to write to $HOME.
8293 (setenv "HOME" "/tmp")
c8bdf589 8294 #t)))))
b64e217f 8295 (native-inputs
5ada561c 8296 `(("glib:bin" ,glib "bin")
b64e217f 8297 ("gobject-introspection" ,gobject-introspection)
5ada561c 8298 ("python-pygobject" ,python-pygobject)
b64e217f
MW
8299 ("intltool" ,intltool)
8300 ("pkg-config" ,pkg-config)
8301 ("vala" ,vala)))
8302 (inputs
63db190a 8303 `(("dbus" ,dbus)
44ed6284 8304 ("sqlite" ,sqlite)
b64e217f 8305 ("libxml2" ,libxml2)
63db190a 8306 ("icu4c" ,icu4c) ; libunistring gets miner-miner-fs test to fail.
0ef48cd9 8307 ("json-glib" ,json-glib)
63db190a 8308 ("libsoup" ,libsoup)))
b64e217f
MW
8309 (synopsis "Metadata database, indexer and search tool")
8310 (home-page "https://wiki.gnome.org/Projects/Tracker")
8311 (description
63db190a
PN
8312 "Tracker is a search engine and triplestore for desktop, embedded and mobile.
8313
8314It is a middleware component aimed at desktop application developers who want
8315their apps to browse and search user content. It's not designed to be used
8316directly by desktop users, but it provides a commandline tool named
8317@command{tracker} for the adventurous.
8318
8319Tracker allows your application to instantly perform full-text searches across
8320all documents. This feature is used by the @{emph{search} bar in GNOME Files, for
8321example. This is achieved by indexing the user's home directory in the
8322background.
8323
8324Tracker also allows your application to query and list content that the user
8325has stored. For example, GNOME Music displays all the music files that are
8326found by Tracker. This means that GNOME Music doesn't need to maintain a
8327database of its own.
8328
8329If you need to go beyond simple searches, Tracker is also a linked data
8330endpoint and it understands SPARQL. ")
8331 ;; https://gitlab.gnome.org/GNOME/tracker/-/blob/master/COPYING:
b64e217f 8332 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
63db190a 8333 ;; libstemmer is bsd-3 and the rest is gpl2+.
b64e217f 8334 (license (list license:gpl2+
63db190a
PN
8335 license:bsd-3
8336 license:lgpl2.1+))))
b64e217f 8337
03be9874
KK
8338(define-public tracker-miners
8339 (package
8340 (name "tracker-miners")
de60ac2f 8341 (version "2.3.3")
03be9874
KK
8342 (source (origin
8343 (method url-fetch)
8344 (uri (string-append "mirror://gnome/sources/tracker-miners/"
8345 (version-major+minor version)
8346 "/tracker-miners-" version ".tar.xz"))
8347 (sha256
8348 (base32
de60ac2f 8349 "06abxrnrz7xayykrabn135rpsm6z0fqw7gibrb9j09l6swlalwkl"))))
03be9874
KK
8350 (build-system meson-build-system)
8351 (arguments
8352 `(#:glib-or-gtk? #t
8353 #:configure-flags
8354 (list "-Dminer_rss=false" ; libgrss is required.
8355 ;; Ensure the RUNPATH contains all installed library locations.
8356 (string-append "-Dc_link_args=-Wl,-rpath="
8357 (assoc-ref %outputs "out")
8358 "/lib/tracker-miners-2.0")
8359 ;; TODO: Enable functional tests. Currently, the following error
8360 ;; appears:
8361 ;; Exception: The functional tests require DConf to be the default
8362 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
8363 "-Dfunctional_tests=false")))
8364 (native-inputs
8365 `(("dbus" ,dbus)
8366 ("intltool" ,intltool)
8367 ("glib:bin" ,glib "bin")
8368 ("gobject-introspection" ,gobject-introspection)
8369 ("pkg-config" ,pkg-config)
8370 ("python-pygobject" ,python-pygobject)))
8371 (inputs
8372 `(("exempi" ,exempi)
8373 ("ffmpeg" ,ffmpeg)
8374 ("flac" ,flac)
8375 ("giflib" ,giflib)
8376 ("glib" ,glib)
8377 ("gstreamer" ,gstreamer)
8378 ("icu4c" ,icu4c)
8379 ("libcue" ,libcue)
8380 ("libexif" ,libexif)
8381 ("libgsf" ,libgsf)
8382 ("libgxps" ,libgxps)
8383 ("libiptcdata" ,libiptcdata)
4bd428a7 8384 ("libjpeg" ,libjpeg-turbo)
03be9874
KK
8385 ("libosinfo" ,libosinfo)
8386 ("libpng" ,libpng)
8387 ("libseccomp" ,libseccomp)
8388 ("libtiff" ,libtiff)
8389 ("libvorbis" ,libvorbis)
8390 ("libxml2" ,libxml2)
8391 ("poppler" ,poppler)
8392 ("taglib" ,taglib)
8393 ("totem-pl-parser" ,totem-pl-parser)
8394 ("tracker" ,tracker)
8395 ("upower" ,upower)
8396 ("zlib" ,zlib)))
b64e217f
MW
8397 (synopsis "Metadata database, indexer and search tool")
8398 (home-page "https://wiki.gnome.org/Projects/Tracker")
8399 (description
8400 "Tracker is an advanced framework for first class objects with associated
8401metadata and tags. It provides a one stop solution for all metadata, tags,
8402shared object databases, search tools and indexing.")
8403 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
8404 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
8405 (license (list license:gpl2+
8406 license:lgpl2.1+
8407 license:lgpl2.0+))))
8408
8b877545
RS
8409(define-public nautilus
8410 (package
8411 (name "nautilus")
8069ff0b 8412 (version "3.34.2")
8b877545
RS
8413 (source (origin
8414 (method url-fetch)
8415 (uri (string-append "mirror://gnome/sources/" name "/"
8416 (version-major+minor version) "/"
8417 name "-" version ".tar.xz"))
8418 (sha256
8419 (base32
8069ff0b 8420 "19zqwq4qyyncc5wq3xls0f7rsavnw741k336p2h7kx35p4kf41mv"))))
35e2d0cf 8421 (build-system meson-build-system)
8b877545 8422 (arguments
35e2d0cf 8423 '(#:glib-or-gtk? #t
8069ff0b
KK
8424 #:phases
8425 (modify-phases %standard-phases
8426 (add-after 'unpack 'skip-gtk-update-icon-cache
8427 ;; Don't create 'icon-theme.cache'.
8428 (lambda _
8429 (substitute* "build-aux/meson/postinstall.py"
8430 (("gtk-update-icon-cache") "true"))
8431 #t)))
8b877545
RS
8432 ;; XXX: FAIL: check-nautilus
8433 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
8434 #:tests? #f))
8435 (native-inputs
35e2d0cf
R
8436 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
8437 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
8b877545
RS
8438 ("gobject-introspection" ,gobject-introspection)
8439 ("intltool" ,intltool)
8440 ("pkg-config" ,pkg-config)))
8b877545 8441 (inputs
8b877545 8442 `(("dconf" ,dconf)
caf6c363 8443 ("gexiv2" ,gexiv2)
dd05e731 8444 ("gvfs" ,gvfs)
8b877545
RS
8445 ("exempi" ,exempi)
8446 ("gnome-desktop" ,gnome-desktop)
09d88905 8447 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 8448 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 8449 ("libseccomp" ,libseccomp)
35e2d0cf 8450 ("libselinux" ,libselinux)
09d88905 8451 ("tracker" ,tracker)
3cafb9d4 8452 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
8453 ;; XXX: gtk+ is required by libnautilus-extension.pc
8454 ;;
8455 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
8456 ;; package. See:
8457 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
8458 ("gtk+" ,gtk+)
8b877545
RS
8459 ("libexif" ,libexif)
8460 ("libxml2" ,libxml2)))
8461 (synopsis "File manager for GNOME")
8462 (home-page "https://wiki.gnome.org/Apps/Nautilus")
8463 (description
8464 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
8465design and behaviour, giving the user a simple way to navigate and manage its
8466files.")
8467 (license license:gpl2+)))
3c697ffd
JR
8468
8469(define-public baobab
8470 (package
8471 (name "baobab")
e0c5f20c 8472 (version "3.32.0")
3c697ffd
JR
8473 (source (origin
8474 (method url-fetch)
8475 (uri (string-append
8476 "mirror://gnome/sources/" name "/"
8477 (version-major+minor version) "/"
8478 name "-" version ".tar.xz"))
8479 (sha256
8480 (base32
e0c5f20c 8481 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
8482 (build-system meson-build-system)
8483 (arguments
8484 '(#:glib-or-gtk? #t))
3c697ffd
JR
8485 (native-inputs
8486 `(("intltool" ,intltool)
8487 ("pkg-config" ,pkg-config)
d233d373
RJ
8488 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
8489 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
8490 ("itstool" ,itstool)
8491 ("xmllint" ,libxml2)
8492 ("glib" ,glib "bin")
8493 ("vala" ,vala)))
8494 (inputs
8495 `(("gtk+" ,gtk+)))
8496 (synopsis "Disk usage analyzer for GNOME")
8497 (description
8498 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
8499usage in the GNOME desktop environment. It can easily scan device volumes or
8500a specific user-requested directory branch (local or remote). Once the scan
8501is complete it provides a graphical representation of each selected folder.")
8502 (home-page "https://wiki.gnome.org/Apps/Baobab")
8503 (license license:gpl2+)))
dc050251 8504
fdba447c
RS
8505(define-public gnome-backgrounds
8506 (package
8507 (name "gnome-backgrounds")
0856b0d9 8508 (version "3.34.0")
fdba447c
RS
8509 (source
8510 (origin
8511 (method url-fetch)
8512 (uri (string-append "mirror://gnome/sources/" name "/"
8513 (version-major+minor version) "/"
8514 name "-" version ".tar.xz"))
8515 (sha256
8516 (base32
0856b0d9 8517 "0zxlwy55fz7i582hch2wnj8zy1kzikssgaix0l2y41ccp5nzpdy2"))))
9ca381f0 8518 (build-system meson-build-system)
fdba447c
RS
8519 (native-inputs
8520 `(("intltool" ,intltool)))
e04e8a8c 8521 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
8522 (synopsis "Background images for the GNOME desktop")
8523 (description
8524 "GNOME backgrounds package contains a collection of graphics files which
8525can be used as backgrounds in the GNOME Desktop environment. Additionally,
8526the package creates the proper framework and directory structure so that you
8527can add your own files to the collection.")
8528 (license (list license:gpl2+
8529 license:cc-by2.0
8530 license:cc-by-sa2.0
8531 license:cc-by-sa3.0))))
8532
b784b1a9
RS
8533(define-public gnome-screenshot
8534 (package
8535 (name "gnome-screenshot")
d5101dab 8536 (version "3.34.0")
b784b1a9
RS
8537 (source
8538 (origin
8539 (method url-fetch)
8540 (uri (string-append "mirror://gnome/sources/" name "/"
8541 (version-major+minor version) "/"
8542 name "-" version ".tar.xz"))
8543 (sha256
8544 (base32
d5101dab 8545 "1rmiq890j7gfn5mcz31xy6jfnnxgc17dq67bhn2k9m5ylbvza2n8"))))
8356aefa 8546 (build-system meson-build-system)
d5101dab
KK
8547 (arguments
8548 '(#:phases
8549 (modify-phases %standard-phases
8550 (add-after 'unpack 'skip-gtk-update-icon-cache
8551 ;; Don't create 'icon-theme.cache'.
8552 (lambda _
8553 (substitute* "build-aux/postinstall.py"
8554 (("gtk-update-icon-cache") "true"))
8555 #t)))))
b784b1a9
RS
8556 (native-inputs
8557 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa 8558 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 8559 ("intltool" ,intltool)
8356aefa 8560 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
8561 ("pkg-config" ,pkg-config)))
8562 (inputs
8563 `(("gtk+" ,gtk+)
8564 ("libcanberra" ,libcanberra)
8565 ("libx11" ,libx11)
8566 ("libxext" ,libxext)))
676e7cb4 8567 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
8568 (synopsis "Take pictures of your screen")
8569 (description
8570 "GNOME Screenshot is a utility used for taking screenshots of the entire
8571screen, a window or a user defined area of the screen, with optional
8572beautifying border effects.")
8573 (license license:gpl2+)))
8574
66d59111
RS
8575(define-public dconf-editor
8576 (package
8577 (name "dconf-editor")
720aa20f 8578 (version "3.34.2")
66d59111
RS
8579 (source
8580 (origin
8581 (method url-fetch)
8582 (uri (string-append "mirror://gnome/sources/" name "/"
8583 (version-major+minor version) "/"
8584 name "-" version ".tar.xz"))
8585 (sha256
8586 (base32
720aa20f 8587 "0pwxjada2vaf69ihpjgp9nky54iykvxq63lp1vl8pxjanif2mk6f"))))
294ff39d 8588 (build-system meson-build-system)
66d59111
RS
8589 (native-inputs
8590 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 8591 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 8592 ("intltool" ,intltool)
294ff39d
RW
8593 ("pkg-config" ,pkg-config)
8594 ("vala" ,vala)))
66d59111
RS
8595 (inputs
8596 `(("dconf" ,dconf)
8597 ("gtk+" ,gtk+)
8598 ("libxml2" ,libxml2)))
720aa20f 8599 (home-page "https://gitlab.gnome.org/GNOME/dconf-editor")
66d59111
RS
8600 (synopsis "Graphical editor for GNOME's dconf configuration system")
8601 (description
8602 "Dconf-editor is a graphical tool for browsing and editing the dconf
8603configuration system for GNOME. It allows users to configure desktop
8604software that do not provide their own configuration interface.")
8605 (license license:lgpl2.1+)))
8606
96d36f38
AW
8607(define-public gnome-default-applications
8608 (package
8609 (name "gnome-default-applications")
8610 (version "0")
8611 (build-system trivial-build-system)
8612 (source #f)
8613 (propagated-inputs
8ad4f0aa
LC
8614 `(("nautilus" ,nautilus)
8615 ("evince" ,evince)))
96d36f38
AW
8616 (arguments
8617 `(#:modules ((guix build utils))
8618 #:builder
8619 (begin
8620 (use-modules (guix build utils))
8621 (let* ((out (assoc-ref %outputs "out"))
8622 (apps (string-append out "/share/applications")))
8623 (mkdir-p apps)
a6ac679f 8624 (call-with-output-file (string-append apps "/gnome-mimeapps.list")
96d36f38
AW
8625 (lambda (port)
8626 (format port "[Default Applications]\n")
8ad4f0aa
LC
8627 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
8628 (format port "application/pdf=evince.desktop\n")
8629 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
8630 #t))))
8631 (synopsis "Default MIME type associations for the GNOME desktop")
8632 (description
8633 "Given many installed packages which might handle a given MIME type, a
8634user running the GNOME desktop probably has some preferences: for example,
8635that folders be opened by default by the Nautilus file manager, not the Baobab
8636disk usage analyzer. This package establishes that set of default MIME type
8637associations for GNOME.")
8638 (license license:gpl3+)
8639 (home-page #f)))
8640
3f1ed953
RG
8641(define-public libgovirt
8642 (package
8643 (name "libgovirt")
8644 (version "0.3.6")
8645 (source (origin
8646 (method url-fetch)
8647 (uri (string-append "mirror://gnome/sources/" name "/"
8648 (version-major+minor version) "/"
8649 name "-" version ".tar.xz"))
8650 (sha256
8651 (base32
8652 "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg"))))
8653 (build-system glib-or-gtk-build-system)
8654 (native-inputs
8655 `(("gettext" ,gettext-minimal)
8656 ("glib:bin" ,glib "bin")
8657 ("gobject-introspection" ,gobject-introspection)
8658 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8659 ("gtk+:bin" ,gtk+ "bin")
8660 ("pkg-config" ,pkg-config)))
8661 (inputs
8662 `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests
8663 ("librest" ,rest)))
8664 (synopsis "GoVirt Library")
8665 (description "GoVirt is a GObject wrapper for the oVirt REST API.")
8666 (home-page "https://gitlab.gnome.org/GNOME/libgovirt")
8667 (license license:gpl2+)))
8668
8672e5e9
RG
8669(define-public gnome-weather
8670 (package
8671 (name "gnome-weather")
8672 (version "3.34.0")
8673 (source (origin
8674 (method url-fetch)
8675 (uri (string-append "mirror://gnome/sources/" name "/"
8676 (version-major+minor version) "/"
8677 name "-" version ".tar.xz"))
8678 (sha256
8679 (base32
8680 "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4"))))
8681 (build-system meson-build-system)
8682 (native-inputs
8683 `(("gettext" ,gettext-minimal)
8684 ("glib:bin" ,glib "bin")
8685 ("gobject-introspection" ,gobject-introspection)
8686 ("gtk+:bin" ,gtk+ "bin")
8687 ("pkg-config" ,pkg-config)))
8688 (inputs
8689 `( ;("adwaita-icon-theme" ,adwaita-icon-theme)
8690 ("appstream-glib" ,appstream-glib)
8691 ("geoclue" ,geoclue)
8692 ("gdk-pixbuf" ,gdk-pixbuf)
8693 ("gjs" ,gjs)
8694 ("gnome-desktop" ,gnome-desktop)
8695 ("libgweather" ,libgweather)))
4391fefc 8696 (arguments
2b68ba72
MB
8697 `(#:glib-or-gtk? #t
8698 #:phases
4391fefc
PN
8699 (modify-phases %standard-phases
8700 (add-after 'install 'fix-desktop-file
8701 ;; FIXME: "gapplication launch org.gnome.Weather" fails for some reason.
8702 ;; See https://issues.guix.gnu.org/issue/39324.
8703 (lambda* (#:key outputs #:allow-other-keys)
8704 (let* ((out (assoc-ref outputs "out"))
8705 (applications (string-append out "/share/applications")))
8706 (substitute* (string-append applications "/org.gnome.Weather.desktop")
2b68ba72
MB
8707 (("Exec=.*") "Exec=gnome-weather\n"))
8708 #t)))
8709 (add-after 'install 'wrap
8710 (lambda* (#:key inputs outputs #:allow-other-keys)
8711 (let ((out (assoc-ref outputs "out"))
8712 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8713 ;; GNOME Weather needs the typelib files of GTK+, Pango etc at runtime.
8714 (wrap-program (string-append out "/bin/gnome-weather")
8715 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
8716 #t))))))
8672e5e9
RG
8717 (synopsis "Weather monitoring for GNOME desktop")
8718 (description "GNOME Weather is a small application that allows you to
8719monitor the current weather conditions for your city, or anywhere in the
8720world.")
8721 (home-page "https://wiki.gnome.org/Apps/Weather")
8722 (license license:gpl2+)))
8723
dc050251
SB
8724(define-public gnome
8725 (package
8726 (name "gnome")
8727 (version (package-version gnome-shell))
8728 (source #f)
8729 (build-system trivial-build-system)
e3cfef22 8730 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 8731 (propagated-inputs
8d8c6bff 8732 ;; TODO: Add or remove packages according to:
a8cda7f5 8733 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 8734 `(
8d8c6bff 8735 ;; GNOME-Core-OS-Services
7922b6f7 8736 ("accountsservice" ,accountsservice)
8d8c6bff
RG
8737 ("network-manager" ,network-manager)
8738 ("packagekit" ,packagekit)
8739 ("upower" ,upower)
8740 ;; GNOME-Core-Shell
8741 ("adwaita-icon-theme" ,adwaita-icon-theme)
8742 ("gdm" ,gdm)
8743 ("glib-networking" ,glib-networking)
8744 ("gnome-backgrounds" ,gnome-backgrounds)
8745 ("gnome-bluetooth" ,gnome-bluetooth)
d36fa50f 8746 ("gnome-color-manager" ,gnome-color-manager)
8d8c6bff
RG
8747 ("gnome-control-center" ,gnome-control-center)
8748 ("gnome-desktop" ,gnome-desktop)
7922b6f7 8749 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
d36fa50f 8750 ("gnome-initial-setup" ,gnome-initial-setup)
8d8c6bff 8751 ("gnome-keyring" ,gnome-keyring)
7922b6f7 8752 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
8753 ("gnome-session" ,gnome-session)
8754 ("gnome-settings-daemon" ,gnome-settings-daemon)
8755 ("gnome-shell-extensions" ,gnome-shell-extensions)
8756 ("gnome-shell" ,gnome-shell)
8757 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 8758 ("gnome-user-docs" ,gnome-user-docs)
d36fa50f 8759 ("gnome-user-share" ,gnome-user-share)
a8cda7f5 8760 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
8761 ("gvfs" ,gvfs)
8762 ("mutter" ,mutter)
8763 ("orca" ,orca)
d36fa50f
RG
8764 ("rygel" ,rygel)
8765 ("sushi" ,sushi)
8d8c6bff
RG
8766 ;; GNOME-Core-Utilities
8767 ("baobab" ,baobab)
8768 ("cheese" ,cheese)
ce784e6c
MB
8769 ;; XXX: EoG requires librsvg-next, which depends on Rust, which currently
8770 ;; only works on x86_64, so exclude it on other architectures.
8771 ,@(if (string-prefix? "x86_64" (%current-system))
8772 `(("eog" ,eog))
8773 '())
8d8c6bff
RG
8774 ("epiphany" ,epiphany)
8775 ("evince" ,evince)
8776 ("file-roller" ,file-roller)
8777 ("gedit" ,gedit)
897897bd 8778 ("gnome-boxes" ,gnome-boxes)
8d8c6bff
RG
8779 ("gnome-calculator" ,gnome-calculator)
8780 ("gnome-calendar" ,gnome-calendar)
8781 ("gnome-characters" ,gnome-characters)
8782 ("gnome-clocks" ,gnome-clocks)
8783 ("gnome-contacts" ,gnome-contacts)
8784 ("gnome-disk-utility" ,gnome-disk-utility)
8785 ("gnome-font-viewer" ,gnome-font-viewer)
8786 ("gnome-maps" ,gnome-maps)
d36fa50f
RG
8787 ; TODO: ("gnome-music" ,gnome-music)
8788 ; TODO: ("gnome-photos" ,gnome-photos)
8d8c6bff
RG
8789 ("gnome-screenshot" ,gnome-screenshot)
8790 ("gnome-system-monitor" ,gnome-system-monitor)
8791 ("gnome-terminal" ,gnome-terminal)
d36fa50f 8792 ("gnome-weather" ,gnome-weather)
8d8c6bff
RG
8793 ("nautilus" ,nautilus)
8794 ("simple-scan" ,simple-scan)
8795 ("totem" ,totem)
7922b6f7
RG
8796 ("yelp" ,yelp)
8797 ;; Others
8798 ("hicolor-icon-theme" ,hicolor-icon-theme)
9f2fef4f
LC
8799 ("gnome-online-accounts" ,gnome-online-accounts)
8800
8801 ;; Packages not part of GNOME proper but that are needed for a good
8802 ;; experience. See <https://bugs.gnu.org/39646>.
8803 ;; XXX: Find out exactly which ones are needed and why.
8804 ("font-cantarell" ,font-cantarell)
8805 ("font-dejavu" ,font-dejavu)
8806 ("at-spi2-core" ,at-spi2-core)
8807 ("dbus" ,dbus)
8808 ("dconf" ,dconf)
8809 ("desktop-file-utils" ,desktop-file-utils)
8810 ("gnome-default-applications" ,gnome-default-applications)
8811 ("gnome-themes-standard" ,gnome-themes-standard)
8812 ("gst-plugins-base" ,gst-plugins-base)
8813 ("gst-plugins-good" ,gst-plugins-good)
8814 ("gucharmap" ,gucharmap)
8815 ("pinentry-gnome3" ,pinentry-gnome3)
8816 ("pulseaudio" ,pulseaudio)
8817 ("shared-mime-info" ,shared-mime-info)
8818 ("system-config-printer" ,system-config-printer)
8819 ("xdg-user-dirs" ,xdg-user-dirs)
8820 ("yelp" ,yelp)
8821 ("zenity" ,zenity)))
fe4e698d 8822 (synopsis "The GNU desktop environment")
dc050251
SB
8823 (home-page "https://www.gnome.org/")
8824 (description
fe4e698d
LC
8825 "GNOME is the graphical desktop for GNU. It includes a wide variety of
8826applications for browsing the web, editing text and images, creating
8827documents and diagrams, playing media, scanning, and much more.")
dc050251 8828 (license license:gpl2+)))
4a526711
DT
8829
8830(define-public byzanz
8831 ;; The last stable release of Byzanz was in 2011, but there have been many
8832 ;; useful commits made to the Byzanz repository since then that it would be
8833 ;; silly to use such an old release.
8834 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
8835 (package
8836 (name "byzanz")
8837 (version (string-append "0.2-1." (string-take commit 7)))
8838 (source (origin
8839 (method git-fetch)
8840 (uri (git-reference
5f13bf09 8841 (url "https://git.gnome.org/browse/byzanz")
4a526711 8842 (commit commit)))
5a6527e4 8843 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
8844 (sha256
8845 (base32
8846 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
8847 (build-system glib-or-gtk-build-system)
8848 (arguments
8849 '(#:phases
8850 (modify-phases %standard-phases
778d6b52 8851 (add-before 'bootstrap 'build-without-Werror
4a526711
DT
8852 (lambda _
8853 ;; The build system cleverly detects that we're not building from
8854 ;; a release tarball and turns on -Werror for GCC.
8855 ;; Unsurprisingly, there is a warning during compilation that
8856 ;; causes the build to fail unnecessarily, so we remove the flag.
8857 (substitute* '("configure.ac")
8858 (("-Werror") ""))
778d6b52 8859 #t)))))
4a526711
DT
8860 (native-inputs
8861 `(("autoconf" ,autoconf)
8862 ("automake" ,automake)
8863 ("gnome-common" ,gnome-common)
8864 ("intltool" ,intltool)
8865 ("libtool" ,libtool)
8866 ("pkg-config" ,pkg-config)
8867 ("which" ,which)))
8868 (inputs
8869 `(("glib" ,glib)
8870 ("gstreamer" ,gstreamer)
8871 ("gst-plugins-base" ,gst-plugins-base)
8872 ("gtk+" ,gtk+)))
8873 (synopsis "Desktop recording program")
8874 (description "Byzanz is a simple desktop recording program with a
8875command-line interface. It can record part or all of an X display for a
8876specified duration and save it as a GIF encoded animated image file.")
8877 (home-page "https://git.gnome.org/browse/byzanz")
8878 (license license:gpl2+))))
3a9a4c51 8879
0ec171ec
MS
8880(define-public gsound
8881 (package
8882 (name "gsound")
8883 (version "1.0.2")
8884 (source (origin
8885 (method url-fetch)
8886 (uri (string-append "mirror://gnome/sources/" name "/"
8887 (version-major+minor version) "/"
8888 name "-" version ".tar.xz"))
8889 (sha256
8890 (base32
8891 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
8892 (build-system glib-or-gtk-build-system)
8893 (native-inputs
8894 `(("pkg-config" ,pkg-config)
8895 ("gobject-introspection" ,gobject-introspection)
8896 ("vala" ,vala)))
8897 (inputs
8898 `(("glib" ,glib)
8899 ("libcanberra" ,libcanberra)))
8900 (home-page "https://wiki.gnome.org/Projects/GSound")
8901 (synopsis "GObject wrapper for libcanberra")
8902 (description
8903 "GSound is a small library for playing system sounds. It's designed to be
8904used via GObject Introspection, and is a thin wrapper around the libcanberra C
8905library.")
8906 (license license:lgpl2.1+)))
8907
3a9a4c51
RS
8908(define-public libzapojit
8909 (package
8910 (name "libzapojit")
8911 (version "0.0.3")
8912 (source (origin
8913 (method url-fetch)
8914 (uri (string-append "mirror://gnome/sources/" name "/"
8915 (version-major+minor version) "/"
8916 name "-" version ".tar.xz"))
8917 (sha256
8918 (base32
8919 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
8920 (build-system gnu-build-system)
8921 (native-inputs
8922 `(("gobject-introspection" ,gobject-introspection)
8923 ("intltool" ,intltool)
8924 ("pkg-config" ,pkg-config)))
8925 (inputs
14c297fd 8926 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
8927 ("json-glib" ,json-glib)
8928 ("rest" ,rest)))
8929 (home-page "https://wiki.gnome.org/Projects/Zapojit")
8930 (synopsis "Library for accessing SkyDrive and Hotmail")
8931 (description
8932 "Libzapojit is a GLib-based library for accessing online service APIs of
8933Microsoft SkyDrive and Hotmail, using their REST protocols.")
8934 (license license:lgpl2.1+)))
9365ee1c 8935
60e2a9ae
MS
8936(define-public gnome-clocks
8937 (package
8938 (name "gnome-clocks")
feee5ff5 8939 (version "3.34.0")
60e2a9ae
MS
8940 (source (origin
8941 (method url-fetch)
8942 (uri (string-append "mirror://gnome/sources/" name "/"
8943 (version-major+minor version) "/"
8944 name "-" version ".tar.xz"))
8945 (sha256
8946 (base32
feee5ff5 8947 "0g7hjk55smhkd09hwa9kag3h5a12l494wj89w9smpdk3ghsmy6b1"))))
60e2a9ae
MS
8948 (build-system meson-build-system)
8949 (arguments
feee5ff5
KK
8950 '(#:glib-or-gtk? #t
8951 #:phases
8952 (modify-phases %standard-phases
8953 (add-after 'unpack 'skip-gtk-update-icon-cache
8954 ;; Don't create 'icon-theme.cache'.
8955 (lambda _
8956 (substitute* "build-aux/post-install.py"
8957 (("gtk-update-icon-cache") "true"))
8958 #t)))))
60e2a9ae
MS
8959 (native-inputs
8960 `(("vala" ,vala)
8961 ("pkg-config" ,pkg-config)
8962 ("glib" ,glib "bin") ; for glib-compile-resources
60e2a9ae
MS
8963 ("desktop-file-utils" ,desktop-file-utils)
8964 ("gettext" ,gettext-minimal)
8965 ("itstool" ,itstool)))
8966 (inputs
8967 `(("glib" ,glib)
8968 ("gtk+" ,gtk+)
8969 ("gsound" ,gsound)
8970 ("geoclue" ,geoclue)
8971 ("geocode-glib" ,geocode-glib)
8972 ("libgweather" ,libgweather)
8973 ("gnome-desktop" ,gnome-desktop)))
8974 (home-page "https://wiki.gnome.org/Apps/Clocks")
8975 (synopsis "GNOME's clock application")
8976 (description
8977 "GNOME Clocks is a simple clocks application designed to fit the GNOME
8978desktop. It supports world clock, stop watch, alarms, and count down timer.")
8979 (license license:gpl3+)))
8980
3c474897
KY
8981(define-public gnome-calendar
8982 (package
8983 (name "gnome-calendar")
27dd1d76 8984 (version "3.34.2")
3c474897
KY
8985 (source (origin
8986 (method url-fetch)
8987 (uri (string-append "mirror://gnome/sources/" name "/"
8988 (version-major+minor version) "/"
8989 name "-" version ".tar.xz"))
8990 (sha256
8991 (base32
27dd1d76 8992 "1bnmd191044zn2kr6f5vg7sm5q59qf7z652awll1f7s6ahijr8rw"))))
a49d3e37
MS
8993 (build-system meson-build-system)
8994 (arguments
8995 '(#:glib-or-gtk? #t
8996 ;; gnome-calendar has to be installed before the tests can be run
8997 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
27dd1d76
KK
8998 #:tests? #f
8999 #:phases
9000 (modify-phases %standard-phases
9001 (add-after 'unpack 'skip-gtk-update-icon-cache
9002 ;; Don't create 'icon-theme.cache'.
9003 (lambda _
9004 (substitute* "build-aux/meson/meson_post_install.py"
9005 (("gtk-update-icon-cache") "true"))
9006 #t)))))
3c474897 9007 (native-inputs
a49d3e37
MS
9008 `(("gettext" ,gettext-minimal)
9009 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
3c474897
KY
9010 ("pkg-config" ,pkg-config)))
9011 (inputs
27cb52a2 9012 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
9013 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9014 ("libdazzle" ,libdazzle)
b63c06f1 9015 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
9016 ("libgweather" ,libgweather)
9017 ("geoclue" ,geoclue)))
27cb52a2
RG
9018 (propagated-inputs
9019 `(("evolution-data-server" ,evolution-data-server)))
3c474897
KY
9020 (home-page "https://wiki.gnome.org/Apps/Calendar")
9021 (synopsis "GNOME's calendar application")
9022 (description
9023 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 9024desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
9025 (license license:gpl3+)))
9026
57b14665
MS
9027(define-public gnome-todo
9028 (package
9029 (name "gnome-todo")
9f3c6c88 9030 (version "3.28.1")
57b14665
MS
9031 (source (origin
9032 (method url-fetch)
9033 (uri (string-append "mirror://gnome/sources/" name "/"
9034 (version-major+minor version) "/"
9035 name "-" version ".tar.xz"))
9036 (sha256
9037 (base32
b17b2945
DM
9038 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))
9039 (patches
9040 (search-patches "gnome-todo-delete-esource-duplicate.patch"))))
57b14665
MS
9041 (build-system meson-build-system)
9042 (arguments
9043 '(#:glib-or-gtk? #t
9044 #:phases (modify-phases %standard-phases
9045 (add-after
9046 'install 'wrap-gnome-todo
9047 (lambda* (#:key inputs outputs #:allow-other-keys)
9048 (let ((out (assoc-ref outputs "out"))
9049 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
9050 (python-path (getenv "PYTHONPATH")))
9051 (wrap-program (string-append out "/bin/gnome-todo")
9052 ;; XXX: gi plugins are broken.
9053 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
9054 ;; For plugins.
9055 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
9056 `("PYTHONPATH" ":" prefix (,python-path))))
9057 #t)))))
9058 (native-inputs
9059 `(("gettext" ,gettext-minimal)
9060 ("gobject-introspection" ,gobject-introspection)
9061 ("glib:bin" ,glib "bin") ; For glib-compile-resources
9062 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
9063 ("pkg-config" ,pkg-config)))
9064 (inputs
9065 `(("rest" ,rest) ; For Todoist plugin
9066 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 9067 ("libedataserverui" ,evolution-data-server)
57b14665
MS
9068 ("libical" ,libical)
9069 ("libpeas" ,libpeas)
9070 ("python-pygobject" ,python-pygobject)
9071 ("evolution-data-server" ,evolution-data-server)
14c297fd 9072 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
9073 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
9074 (home-page "https://wiki.gnome.org/Apps/Todo")
9075 (synopsis "GNOME's ToDo Application")
9076 (description
9077 "GNOME To Do is a simplistic personal task manager designed to perfectly
9078fit the GNOME desktop.")
9079 (license license:gpl3+)))
9080
ab179eaf
SB
9081(define-public gnome-dictionary
9082 (package
9083 (name "gnome-dictionary")
cf81ddef 9084 (version "3.26.1")
ab179eaf
SB
9085 (source (origin
9086 (method url-fetch)
9087 (uri (string-append "mirror://gnome/sources/" name "/"
9088 (version-major+minor version) "/"
9089 name "-" version ".tar.xz"))
9090 (sha256
9091 (base32
cf81ddef
LC
9092 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
9093 (build-system meson-build-system)
2776b5d5
MB
9094 (arguments '(#:glib-or-gtk? #t
9095 #:phases (modify-phases %standard-phases
9096 (add-after 'unpack 'patch-install-script
9097 (lambda _
9098 ;; This script attempts to compile glib schemas
9099 ;; and create an empty MIME database. We do
9100 ;; that elsewhere, so prevent it from running.
9101 (substitute* "build-aux/post-install.sh"
9102 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
9103 #t)))))
ab179eaf
SB
9104 (native-inputs
9105 `(("glib:bin" ,glib "bin")
9106 ("gobject-introspection" ,gobject-introspection)
9107 ("intltool" ,intltool)
9108 ("itstool" ,itstool)
9109 ("pkg-config" ,pkg-config)
9110 ("xmllint" ,libxml2)))
9111 (inputs
9112 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9113 ("gtk+" ,gtk+)))
9114 (home-page "https://wiki.gnome.org/Apps/Dictionary")
9115 (synopsis "Look up words in dictionary sources")
9116 (description
9117 "GNOME Dictionary can look for the definition or translation of a word in
9118existing databases over the internet.")
9119 (license license:gpl3+)))
9120
d13f3a03 9121(define-public gnome-tweaks
9365ee1c 9122 (package
d13f3a03 9123 (name "gnome-tweaks")
4add1bae 9124 (version "3.34.0")
9365ee1c
JN
9125 (source (origin
9126 (method url-fetch)
d13f3a03 9127 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 9128 (version-major+minor version) "/"
d13f3a03
RW
9129 "gnome-tweaks-" version ".tar.xz"))
9130 (patches
9131 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
9132 (sha256
9133 (base32
4add1bae 9134 "0l2j42ba7v866iknygamnkiq7igh0fjvq92r93cslvvfnkx2ccq0"))))
d13f3a03 9135 (build-system meson-build-system)
9365ee1c 9136 (arguments
d13f3a03
RW
9137 `(#:glib-or-gtk? #t
9138 #:configure-flags '("-Dlocalstatedir=/tmp"
9139 "-Dsysconfdir=/tmp")
9365ee1c 9140 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
9141 ,@%meson-build-system-modules)
9142 #:phases
9143 (modify-phases %standard-phases
4add1bae
KK
9144 (add-after 'unpack 'skip-gtk-update-icon-cache
9145 ;; Don't create 'icon-theme.cache'.
9146 (lambda _
9147 (substitute* "meson-postinstall.py"
9148 (("gtk-update-icon-cache") "true"))
9149 #t))
d13f3a03
RW
9150 (add-after 'install 'wrap
9151 (@@ (guix build python-build-system) wrap))
9152 (add-after 'wrap 'wrap-gi-typelib
9153 (lambda* (#:key inputs outputs #:allow-other-keys)
9154 (let ((out (assoc-ref outputs "out"))
9155 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
9156 (wrap-program (string-append out "/bin/gnome-tweaks")
9157 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
9158 #t)))))
9365ee1c 9159 (native-inputs
4add1bae 9160 `(("intltool" ,intltool)
9365ee1c
JN
9161 ("pkg-config" ,pkg-config)))
9162 (inputs
c7fc414e
RH
9163 `(("gnome-desktop" ,gnome-desktop)
9164 ("gtk+" ,gtk+)
9365ee1c
JN
9165 ("gobject-introspection" ,gobject-introspection)
9166 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4add1bae 9167 ("libhandy" ,libhandy)
c7fc414e
RH
9168 ("libnotify" ,libnotify)
9169 ("libsoup" ,libsoup)
9170 ("nautilus" ,nautilus)
9171 ("python" ,python)
9172 ("python-pygobject" ,python-pygobject)))
9365ee1c 9173 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 9174 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 9175 (description
d13f3a03 9176 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
9177GNOME 3. This includes things like the fonts used in user interface elements,
9178alternative user interface themes, changes in window management behavior,
9179GNOME Shell appearance and extension, etc.")
9180 (license license:gpl3+)))
813f814a 9181
32ac717c
DT
9182(define-public gnome-shell-extensions
9183 (package
9184 (name "gnome-shell-extensions")
c7305466 9185 (version "3.34.2")
32ac717c
DT
9186 (source (origin
9187 (method url-fetch)
9188 (uri (string-append "mirror://gnome/sources/" name "/"
9189 (version-major+minor version) "/"
9190 name "-" version ".tar.xz"))
9191 (sha256
9192 (base32
c7305466 9193 "1f5l35l3kdkzrv49xmg1sh11vwmgjbg7hx3gb91i39bfl1snxqd1"))))
100f625b 9194 (build-system meson-build-system)
32ac717c 9195 (arguments
100f625b 9196 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 9197 (native-inputs
c9ea8873
LP
9198 `(("glib:bin" ,glib "bin")
9199 ("intltool" ,intltool)
32ac717c
DT
9200 ("pkg-config" ,pkg-config)))
9201 (propagated-inputs
c9ea8873 9202 `(("glib" ,glib)))
32ac717c
DT
9203 (synopsis "Extensions for GNOME Shell")
9204 (description "GNOME Shell extensions modify and extend GNOME Shell
9205functionality and behavior.")
9206 (home-page "https://extensions.gnome.org/")
9207 (license license:gpl3+)))
9208
813f814a
DT
9209(define-public arc-theme
9210 (package
9211 (name "arc-theme")
37781323 9212 (version "20190917")
813f814a 9213 (source (origin
a18f8eaf
BH
9214 (method git-fetch)
9215 (uri (git-reference
b0e7b699 9216 (url "https://github.com/NicoHood/arc-theme")
a18f8eaf
BH
9217 (commit version)))
9218 (file-name (git-file-name name version))
813f814a
DT
9219 (sha256
9220 (base32
37781323 9221 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 9222 (build-system gnu-build-system)
d88884fa
EF
9223 (arguments
9224 '(#:phases
9225 (modify-phases %standard-phases
9226 ;; autogen.sh calls configure at the end of the script.
9227 (replace 'bootstrap
4690e3a4
MC
9228 (lambda _ (invoke "autoreconf" "-vfi")))
9229 (add-before 'build 'set-home ;placate Inkscape
9230 (lambda _
9231 (setenv "HOME" (getcwd))
9232 #t)))))
813f814a
DT
9233 (native-inputs
9234 `(("autoconf" ,autoconf)
9235 ("automake" ,automake)
a18f8eaf
BH
9236 ("glib" ,glib "bin") ; for glib-compile-resources
9237 ("gnome-shell" ,gnome-shell)
9238 ("gtk+" ,gtk+)
9239 ("inkscape" ,inkscape)
9240 ("optipng" ,optipng)
9241 ("pkg-config" ,pkg-config)
bed24ecf 9242 ("sassc" ,sassc/libsass-3.5)))
813f814a
DT
9243 (synopsis "A flat GTK+ theme with transparent elements")
9244 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
92452, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
9246like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
9247 (home-page "https://github.com/horst3180/arc-theme")
9248 ;; No "or later" language found.
a18f8eaf 9249 (license license:gpl3+)))
9987c57c 9250
d935e6a1 9251(define-public faba-icon-theme
9987c57c 9252 (package
d935e6a1 9253 (name "faba-icon-theme")
2eee7ee3 9254 (version "4.3")
d935e6a1
BT
9255 (source
9256 (origin
757e4027
TGR
9257 (method git-fetch)
9258 (uri (git-reference
b0e7b699 9259 (url "https://github.com/snwh/faba-icon-theme")
757e4027
TGR
9260 (commit (string-append "v" version))))
9261 (file-name (git-file-name name version))
d935e6a1 9262 (sha256
757e4027 9263 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 9264 (build-system meson-build-system)
9987c57c 9265 (arguments
82da291a 9266 `(#:phases
9987c57c 9267 (modify-phases %standard-phases
82da291a 9268 (add-before 'configure 'disable-post-install
9987c57c 9269 (lambda _
82da291a
JL
9270 (substitute* "meson.build"
9271 (("meson.add_install_script.*") "")))))))
9987c57c
DT
9272 (native-inputs
9273 `(("autoconf" ,autoconf)
9274 ("automake" ,automake)))
d935e6a1
BT
9275 (synopsis "Faba icon theme")
9276 (description
9277 "Faba is a minimal icon set used as a basis for other themes such as
9278Moka")
9279 (home-page "https://snwh.org/moka")
9280 (license (list license:lgpl3+
9281 license:cc-by-sa4.0))))
9282
9987c57c
DT
9283(define-public moka-icon-theme
9284 (package
8b0e4177 9285 (inherit faba-icon-theme)
9987c57c 9286 (name "moka-icon-theme")
105a3625 9287 (version "5.4.0")
8c3f2170
TGR
9288 (source
9289 (origin
9290 (method git-fetch)
9291 (uri (git-reference
b0e7b699 9292 (url "https://github.com/snwh/moka-icon-theme")
8c3f2170
TGR
9293 (commit (string-append "v" version))))
9294 (file-name (git-file-name name version))
9295 (sha256
9296 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
9297 (propagated-inputs
9298 ;; Moka is based on Faba by using it as a fallback icon set instead of
9299 ;; bundling it, so we need to add it as a propagated input.
9300 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
9301 (synopsis "Moka icon theme")
9302 (description "Moka is a stylized desktop icon set, designed to be clear,
9303simple and consistent.")
fedde43b
BT
9304 (license (list license:gpl3+
9305 license:cc-by-sa4.0))))
6fd8f8d6
DT
9306
9307(define-public arc-icon-theme
9308 (package
9309 (name "arc-icon-theme")
c4180240 9310 (version "20161122")
bbf66cbf
TGR
9311 (source
9312 (origin
9313 (method git-fetch)
9314 (uri (git-reference
b0e7b699 9315 (url "https://github.com/horst3180/arc-icon-theme")
bbf66cbf
TGR
9316 (commit version)))
9317 (file-name (git-file-name name version))
9318 (sha256
9319 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 9320 (build-system gnu-build-system)
9e1ede95
JL
9321 (arguments
9322 `(#:phases
9323 (modify-phases %standard-phases
9324 (add-after 'unpack 'disable-configure-during-bootstrap
9325 (lambda _
9326 (substitute* "autogen.sh"
9327 (("^\"\\$srcdir/configure\".*") ""))
9328 #t)))))
6fd8f8d6
DT
9329 (native-inputs
9330 `(("autoconf" ,autoconf)
9331 ("automake" ,automake)))
9332 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
9333 (propagated-inputs
9334 `(("moka-icon-theme" ,moka-icon-theme)))
9335 (synopsis "Arc icon theme")
9336 (description "The Arc icon theme provides a set of icons matching the
9337style of the Arc GTK theme. Icons missing from the Arc theme are provided by
9338the Moka icon theme.")
9339 (home-page "https://github.com/horst3180/arc-icon-theme")
9340 (license license:gpl3+)))
6064a4e8
LF
9341
9342(define-public folks
9343 (package
9344 (name "folks")
fd11f6f3 9345 (version "0.13.1")
6064a4e8
LF
9346 (source (origin
9347 (method url-fetch)
9348 (uri (string-append
e5f4796e 9349 "mirror://gnome/sources/folks/"
6064a4e8 9350 (version-major+minor version) "/"
e5f4796e 9351 "folks-" version ".tar.xz"))
6064a4e8
LF
9352 (sha256
9353 (base32
fd11f6f3
KK
9354 "0pda8sx4ap3lyri5fdrnakl29la1zkhwlc9bmnp13qigp1iwdw9x"))))
9355 (build-system meson-build-system)
9356 (arguments
9357 '(#:phases
9358 (modify-phases %standard-phases
9359 (add-after 'unpack 'skip-gtk-update-icon-cache
9360 ;; Don't create 'icon-theme.cache'.
9361 (lambda _
9362 (substitute* "meson_post_install.py"
9363 (("gtk-update-icon-cache") "true"))
9364 #t)))))
6064a4e8
LF
9365 (inputs
9366 `(("bdb" ,bdb)
9367 ("dbus-glib" ,dbus-glib)
9368 ("evolution-data-server" ,evolution-data-server)
9369 ("glib" ,glib)
9370 ("libgee" ,libgee)
fd11f6f3 9371 ("readline" ,readline)
6064a4e8
LF
9372 ("telepathy-glib" ,telepathy-glib)))
9373 (native-inputs
fd11f6f3
KK
9374 `(("glib:bin" ,glib "bin")
9375 ("gobject-introspection" ,gobject-introspection)
6064a4e8
LF
9376 ("intltool" ,intltool)
9377 ("pkg-config" ,pkg-config)
9378 ("vala" ,vala)))
9379 (synopsis "Library to aggregate data about people")
9380 (description "Libfolks is a library that aggregates information about people
9381from multiple sources (e.g., Telepathy connection managers for IM contacts,
9382Evolution Data Server for local contacts, libsocialweb for web service contacts,
9383etc.) to create metacontacts. It's written in Vala, which generates C code when
9384compiled.")
9385 (home-page "https://wiki.gnome.org/Projects/Folks")
9386 (license license:lgpl2.1+)))
01ea778f
LF
9387
9388(define-public gfbgraph
9389 (package
9390 (name "gfbgraph")
556e33c8 9391 (version "0.2.4")
01ea778f
LF
9392 (source (origin
9393 (method url-fetch)
9394 (uri (string-append
237d4cf7 9395 "mirror://gnome/sources/gfbgraph/"
01ea778f 9396 (version-major+minor version) "/"
237d4cf7 9397 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
9398 (sha256
9399 (base32
556e33c8 9400 "0yck7dwvjk16a52nafjpi0a39rxwmg0w833brj45acz76lgkjrb0"))))
01ea778f
LF
9401 (build-system glib-or-gtk-build-system)
9402 (arguments
492ad09f
TGR
9403 `(#:tests? #f ; tests appear to require the network
9404 #:configure-flags '("--disable-static"
9405 "--enable-gtk-doc"
01ea778f
LF
9406 "--enable-introspection")))
9407 (native-inputs
492ad09f
TGR
9408 `(("gobject-introspection" ,gobject-introspection)
9409 ("gtk-doc" ,gtk-doc)
556e33c8
TGR
9410 ("pkg-config" ,pkg-config)
9411
9412 ;; The 0.2.4 ‘release’ tarball isn't bootstrapped.
9413 ("autoconf" ,autoconf)
9414 ("automake" ,automake)
9415 ("libtool" ,libtool)
9416 ("which" ,which)))
01ea778f
LF
9417 (inputs
9418 `(("json-glib" ,json-glib)
14c297fd 9419 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
9420 ("rest" ,rest)))
9421 (synopsis "GLib/GObject wrapper for the Facebook API")
9422 (description "This library allows you to use the Facebook API from
9423GLib/GObject code.")
9424 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
9425 (license license:lgpl2.1+)))
3920868c 9426
9427(define-public libgnomekbd
9428 (package
9429 (name "libgnomekbd")
70f2b0f9 9430 (version "3.26.1")
3920868c 9431 (source (origin
9432 (method url-fetch)
d47fa82d 9433 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 9434 (version-major+minor version) "/"
d47fa82d 9435 "libgnomekbd-" version ".tar.xz"))
3920868c 9436 (sha256
9437 (base32
70f2b0f9 9438 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 9439 (build-system gnu-build-system)
9440 (native-inputs
9441 `(("pkg-config" ,pkg-config)
9442 ("glib" ,glib "bin")
9443 ("intltool" ,intltool)))
9444 (propagated-inputs
9445 ;; Referred to in .h files and .pc.
9446 `(("glib" ,glib)
9447 ("gtk+" ,gtk+)
9448 ("libxklavier" ,libxklavier)))
9449 (home-page "https://www.gnome.org")
9450 (synopsis "GNOME keyboard configuration library")
9451 (description
9452 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
9453environment, which can notably display keyboard layouts.")
9454 (license license:lgpl2.0+)))
85327d0d 9455
9456;;; This package is no longer maintained:
9457;;; https://wiki.gnome.org/Attic/LibUnique
9458;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
9459;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
9460(define-public libunique
9461 (package
9462 (name "libunique")
9463 (version "3.0.2")
9464 (source (origin
9465 (method url-fetch)
9466 (uri (string-append "mirror://gnome/sources/" name "/"
9467 (version-major+minor version) "/"
9468 name "-" version ".tar.xz"))
9469 (sha256
9470 (base32
9471 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
9472 (build-system glib-or-gtk-build-system)
9473 (arguments
9474 `(#:configure-flags '("--disable-static"
9475 "--disable-dbus" ; use gdbus
9476 "--enable-introspection")))
9477 (native-inputs
9478 `(("pkg-config" ,pkg-config)
9479 ("gobject-introspection" ,gobject-introspection)
9480 ("glib:bin" ,glib "bin")
9481 ("gtk-doc" ,gtk-doc)))
9482 (propagated-inputs
9483 ;; Referred to in .h files and .pc.
9484 `(("gtk+" ,gtk+)))
9485 (home-page "https://wiki.gnome.org/Attic/LibUnique")
9486 (synopsis "Library for writing single instance applications")
9487 (description
9488 "Libunique is a library for writing single instance applications. If you
9489launch a single instance application twice, the second instance will either just
9490quit or will send a message to the running instance. Libunique makes it easy to
9491write this kind of application, by providing a base class, taking care of all
9492the IPC machinery needed to send messages to a running instance, and also
9493handling the startup notification side.")
9494 (license license:lgpl2.1+)))
54021cd8
RS
9495
9496(define-public gnome-calculator
9497 (package
9498 (name "gnome-calculator")
4cb09502 9499 (version "3.34.1")
54021cd8
RS
9500 (source
9501 (origin
9502 (method url-fetch)
9503 (uri (string-append "mirror://gnome/sources/" name "/"
9504 (version-major+minor version) "/"
9505 name "-" version ".tar.xz"))
9506 (sha256
9507 (base32
4cb09502 9508 "0lbh87255zzggqzai6543qg920y52bl4vs5m5h5087ghzg14hlsd"))))
2d475910
RW
9509 (build-system meson-build-system)
9510 (arguments '(#:glib-or-gtk? #t))
54021cd8 9511 (native-inputs
4cb09502
MB
9512 `(("gettext" ,gettext-minimal)
9513 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 9514 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8 9515 ("itstool" ,itstool)
2d475910 9516 ("vala" ,vala)
54021cd8
RS
9517 ("pkg-config" ,pkg-config)))
9518 (inputs
112e9083 9519 `(("glib" ,glib)
07ace641 9520 ("gtksourceview" ,gtksourceview)
4cb09502 9521 ("libgee" ,libgee)
54021cd8 9522 ("libsoup" ,libsoup)
112e9083 9523 ("libxml2" ,libxml2)
2c2da7ec 9524 ("mpc" ,mpc)
54021cd8
RS
9525 ("mpfr" ,mpfr)))
9526 (home-page "https://wiki.gnome.org/Apps/Calculator")
9527 (synopsis "Desktop calculator")
9528 (description
9529 "Calculator is an application that solves mathematical equations and
9530is suitable as a default application in a Desktop environment.")
9531 (license license:gpl3)))
0bd69759
RS
9532
9533(define-public xpad
9534 (package
9535 (name "xpad")
c85626bb 9536 (version "5.1.0")
0bd69759
RS
9537 (source
9538 (origin
9539 (method url-fetch)
08fda9c6
R
9540 (uri (string-append "https://launchpad.net/xpad/trunk/"
9541 version "/+download/"
0bd69759
RS
9542 name "-" version ".tar.bz2"))
9543 (sha256
9544 (base32
c85626bb 9545 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
9546 (build-system gnu-build-system)
9547 (native-inputs
08fda9c6
R
9548 `(("autoconf" ,autoconf)
9549 ("automake" ,automake)
9550 ("gtk+:bin" ,gtk+ "bin")
9551 ("intltool" ,intltool)
0bd69759
RS
9552 ("pkg-config" ,pkg-config)))
9553 (inputs
c72647fb 9554 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
9555 ("libsm" ,libsm)))
9556 (home-page "https://wiki.gnome.org/Apps/Xpad")
9557 (synopsis "Virtual sticky note")
9558 (description
9559 "Xpad is a sticky note that strives to be simple, fault tolerant,
9560and customizable. Xpad consists of independent pad windows, each is
9561basically a text box in which notes can be written.")
9562 (license license:gpl3+)))
3ad7dce1
RS
9563
9564(define-public gucharmap
c60063ea
RW
9565 (let ((unicode-files
9566 '(("Blocks.txt"
1f8b5515 9567 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 9568 ("DerivedAge.txt"
1f8b5515 9569 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 9570 ("NamesList.txt"
1f8b5515 9571 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 9572 ("Scripts.txt"
1f8b5515 9573 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 9574 ("UnicodeData.txt"
1f8b5515 9575 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 9576 ("Unihan.zip"
1f8b5515 9577 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
9578 (package
9579 (name "gucharmap")
1f8b5515 9580 (version "12.0.1")
c60063ea
RW
9581 (source
9582 (origin
9583 (method url-fetch)
9584 (uri (string-append "mirror://gnome/sources/" name "/"
9585 (version-major+minor version) "/"
9586 name "-" version ".tar.xz"))
9587 (sha256
9588 (base32
1f8b5515 9589 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
9590 (build-system glib-or-gtk-build-system)
9591 (arguments
9592 `(#:modules ((ice-9 match)
9593 (guix build glib-or-gtk-build-system)
9594 (guix build utils))
9595 #:configure-flags
9596 (list "--with-unicode-data=../unicode-data")
9597 #:phases
9598 (modify-phases %standard-phases
9599 (add-after 'unpack 'prepare-unicode-data
9600 (lambda* (#:key inputs #:allow-other-keys)
9601 (mkdir-p "../unicode-data")
9602 (with-directory-excursion "../unicode-data"
9603 (for-each (match-lambda
9604 ((file _)
9605 (install-file (assoc-ref inputs file) ".")))
9606 ',unicode-files))
9607 #t)))))
9608 (native-inputs
9609 `(("desktop-file-utils" ,desktop-file-utils)
9610 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
9611 ("gobject-introspection" ,gobject-introspection)
9612 ("intltool" ,intltool)
9613 ("itstool" ,itstool)
9614 ("pkg-config" ,pkg-config)
9615 ,@(map (match-lambda
9616 ((file hash)
9617 `(,file
9618 ,(origin
9619 (method url-fetch)
9620 (uri (string-append
1f8b5515 9621 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
9622 file))
9623 (sha256 (base32 hash))))))
9624 unicode-files)
9625 ("unzip" ,unzip)))
9626 (inputs
9627 `(("gtk+" ,gtk+)
9628 ("xmllint" ,libxml2)))
9629 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
9630 (synopsis "Unicode character picker and font browser")
9631 (description
9632 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
9633characters and categories for the installed fonts, and to examine their
9634detailed properties. It is an easy way to find the character you might
9635only know by its Unicode name or code point.")
c60063ea 9636 (license license:gpl3+))))
04ce840a
RS
9637
9638(define-public bluefish
9639 (package
9640 (name "bluefish")
290fe81d 9641 (version "2.2.11")
04ce840a
RS
9642 (source
9643 (origin
9644 (method url-fetch)
9645 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
99aa7a2d 9646 "bluefish-" version ".tar.gz"))
04ce840a 9647 (sha256
290fe81d 9648 (base32 "0a7kf78q4cj2ap4igjks9kbmmr74brsrl4y2f9wbxpl0b0v2ck2x"))))
04ce840a
RS
9649 (build-system gnu-build-system)
9650 (native-inputs
9651 `(("desktop-file-utils" ,desktop-file-utils)
9652 ("intltool" ,intltool)
9653 ("pkg-config" ,pkg-config)))
9654 (inputs
9655 `(("enchant" ,enchant)
9656 ("gtk+" ,gtk+)
290fe81d 9657 ("python" ,python-wrapper)
04ce840a
RS
9658 ("xmllint" ,libxml2)
9659 ("gucharmap" ,gucharmap)))
9660 (home-page "http://bluefish.openoffice.nl")
9661 (synopsis "Web development studio")
9662 (description
9663 "Bluefish is an editor targeted towards programmers and web developers,
9664with many options to write web sites, scripts and other code.
9665Bluefish supports many programming and markup languages.")
9666 (license license:gpl3+)))
1f6a73ee
RS
9667
9668(define-public gnome-system-monitor
9669 (package
9670 (name "gnome-system-monitor")
083cffaf 9671 (version "3.32.1")
1f6a73ee
RS
9672 (source
9673 (origin
9674 (method url-fetch)
9675 (uri (string-append "mirror://gnome/sources/" name "/"
9676 (version-major+minor version) "/"
9677 name "-" version ".tar.xz"))
9678 (sha256
9679 (base32
083cffaf 9680 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
9681 (build-system meson-build-system)
9682 (arguments
9683 '(#:glib-or-gtk? #t
9684 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
9685 (native-inputs
9686 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 9687 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
9688 ("intltool" ,intltool)
9689 ("itstool" ,itstool)
9690 ("libgtop" ,libgtop)
4985d9aa 9691 ("polkit" ,polkit)
1f6a73ee
RS
9692 ("pkg-config" ,pkg-config)))
9693 (inputs
9694 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
9695 ("gtk+" ,gtk+)
9696 ("gtkmm" ,gtkmm)
9697 ("librsvg" ,librsvg)
4985d9aa
RW
9698 ("libxml2" ,libxml2)
9699 ("libwnck" ,libwnck)))
1f6a73ee
RS
9700 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
9701 (synopsis "Process viewer and system resource monitor for GNOME")
9702 (description
9703 "GNOME System Monitor is a GNOME process viewer and system monitor with
9704an attractive, easy-to-use interface. It has features, such as a tree view
9705for process dependencies, icons for processes, the ability to hide processes,
9706graphical time histories of CPU/memory/swap usage and the ability to
9707kill/reinice processes.")
9708 (license license:gpl2+)))
3e00ac47
SB
9709
9710(define-public python-pyatspi
9711 (package
9712 (name "python-pyatspi")
4f937a32 9713 (version "2.34.0")
3e00ac47
SB
9714 (source (origin
9715 (method url-fetch)
9716 (uri (string-append
9717 "mirror://gnome/sources/pyatspi/"
9718 (version-major+minor version)
9719 "/pyatspi-" version ".tar.xz"))
9720 (sha256
9721 (base32
4f937a32 9722 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 9723 (build-system gnu-build-system)
b95af3f6
JL
9724 (arguments
9725 `(#:phases
9726 (modify-phases %standard-phases
9727 (add-before 'build 'fix-atk-load
9728 (lambda _
9729 (substitute* "pyatspi/__init__.py"
9730 (("from gi.repository import Atspi")
9731 "gi.require_version('Gtk', '3.0')
9732from gi.repository import Gtk
9733from gi.repository import Atspi"))
9734 #t)))))
3e00ac47
SB
9735 (native-inputs
9736 `(("pkg-config" ,pkg-config)))
9737 (inputs
06fe35cf
CB
9738 `(("python" ,python)))
9739 (propagated-inputs
9740 `(("python-pygobject" ,python-pygobject)))
3e00ac47
SB
9741 (synopsis "Python client bindings for D-Bus AT-SPI")
9742 (home-page "https://wiki.linuxfoundation.org/accessibility\
9743/atk/at-spi/at-spi_on_d-bus")
9744 (description
9745 "This package includes a python client library for the AT-SPI D-Bus
9746accessibility infrastructure.")
9747 (license license:lgpl2.0)
9748 (properties '((upstream-name . "pyatspi")))))
53201c0d 9749
5d31933e
CB
9750(define-public python2-pyatspi
9751 (package
9752 (inherit python-pyatspi)
9753 (name "python2-pyatspi")
9754 (inputs
06fe35cf
CB
9755 `(("python" ,python-2)))
9756 (propagated-inputs
9757 `(("python-pygobject" ,python2-pygobject)))))
5d31933e 9758
53201c0d
SB
9759(define-public orca
9760 (package
9761 (name "orca")
30e76da1 9762 (version "3.34.1")
53201c0d
SB
9763 (source (origin
9764 (method url-fetch)
9765 (uri (string-append
9766 "mirror://gnome/sources/" name "/"
9767 (version-major+minor version) "/"
9768 name "-" version ".tar.xz"))
9769 (sha256
9770 (base32
30e76da1 9771 "1q38n7hyshkiszmn361skxjynxr31lcms7a1iny6d0zlpmh1vnk4"))))
53201c0d
SB
9772 (build-system glib-or-gtk-build-system)
9773 (arguments
9774 '(#:phases
9775 (modify-phases %standard-phases
9776 (add-before 'configure 'qualify-xkbcomp
9777 (lambda* (#:key inputs #:allow-other-keys)
9778 (let ((xkbcomp (string-append
9779 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
9780 (substitute* "src/orca/orca.py"
9781 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
9782 #t))
9783 (add-after 'install 'wrap-orca
9784 (lambda* (#:key outputs #:allow-other-keys)
9785 (let* ((out (assoc-ref outputs "out"))
9786 (prog (string-append out "/bin/orca")))
9787 (wrap-program prog
9788 `("GI_TYPELIB_PATH" ":" prefix
9789 (,(getenv "GI_TYPELIB_PATH")))
9790 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
9791 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
9792 `("PYTHONPATH" ":" prefix
9793 (,(getenv "PYTHONPATH")))))
9794 #t)))))
9795 (native-inputs
9796 `(("intltool" ,intltool)
9797 ("itstool" ,itstool)
9798 ("pkg-config" ,pkg-config)
9799 ("xmllint" ,libxml2)))
9800 (inputs
9801 `(("at-spi2-atk" ,at-spi2-atk)
9802 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9803 ("gstreamer" ,gstreamer)
9804 ("gst-plugins-base" ,gst-plugins-base)
9805 ("gst-plugins-good" ,gst-plugins-good)
9806 ("gtk+" ,gtk+)
9807 ("python" ,python)
9808 ("python-pygobject" ,python-pygobject)
9809 ("python-pyatspi" ,python-pyatspi)
9810 ("python-speechd" ,speech-dispatcher)
9811 ("xkbcomp" ,xkbcomp)))
9812 (synopsis
9813 "Screen reader for individuals who are blind or visually impaired")
9814 (home-page "https://wiki.gnome.org/Projects/Orca")
9815 (description
9816 "Orca is a screen reader that provides access to the graphical desktop
9817via speech and refreshable braille. Orca works with applications and toolkits
9818that support the Assistive Technology Service Provider Interface (AT-SPI).")
9819 (license license:lgpl2.1+)))
411ba511
LC
9820
9821(define-public gspell
9822 (package
9823 (name "gspell")
7a6bbe9b 9824 (version "1.8.2")
411ba511
LC
9825 (source (origin
9826 (method url-fetch)
9827 (uri (string-append "mirror://gnome/sources/" name "/"
9828 (version-major+minor version) "/"
9829 name "-" version ".tar.xz"))
9830 (sha256
9831 (base32
7a6bbe9b 9832 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
9833 (patches (search-patches "gspell-dash-test.patch"))))
9834 (build-system glib-or-gtk-build-system)
9835 (arguments
d0f50164 9836 '(#:configure-flags (list "--enable-vala")
9837 #:phases
411ba511
LC
9838 (modify-phases %standard-phases
9839 (add-before 'check 'pre-check
9840 (lambda* (#:key inputs #:allow-other-keys)
9841 ;; Tests require a running X server.
9842 (system "Xvfb :1 &")
9843 (setenv "DISPLAY" ":1")
9844
9845 ;; For the missing /etc/machine-id.
9846 (setenv "DBUS_FATAL_WARNINGS" "0")
9847
9848 ;; Allow Enchant and its Aspell backend to find the en_US
9849 ;; dictionary.
9850 (setenv "ASPELL_DICT_DIR"
9851 (string-append (assoc-ref inputs "aspell-dict-en")
9852 "/lib/aspell"))
9853 #t)))))
9854 (inputs
eccd35be 9855 `(("gtk+" ,gtk+)
a801ae4c
TGR
9856 ("glib" ,glib)
9857 ("iso-codes" ,iso-codes)))
411ba511
LC
9858 (native-inputs
9859 `(("glib" ,glib "bin")
26ba3f07 9860 ("gobject-introspection" ,gobject-introspection)
411ba511 9861 ("pkg-config" ,pkg-config)
d0f50164 9862 ("vala" ,vala) ;for VAPI, needed by Geary
411ba511
LC
9863 ("xmllint" ,libxml2)
9864
9865 ;; For tests.
a801ae4c 9866 ("aspell-dict-en" ,aspell-dict-en)
ff337525 9867 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 9868 (propagated-inputs
9b1bb757 9869 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
9870 (home-page "https://wiki.gnome.org/Projects/gspell")
9871 (synopsis "GNOME's alternative spell checker")
9872 (description
9873 "gspell provides a flexible API to add spell-checking to a GTK+
9874application. It provides a GObject API, spell-checking to text entries and
9875text views, and buttons to choose the language.")
9876 (license license:gpl2+)))
d1d739fa
CM
9877
9878(define-public gnome-planner
9879 (package
9880 (name "gnome-planner")
9881 (version "0.14.6")
9882 (source (origin
9883 (method url-fetch)
9884 (uri (string-append "mirror://gnome/sources/planner/"
9885 (version-major+minor version) "/planner-"
9886 version ".tar.xz"))
9887 (sha256
9888 (base32
9889 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
9890 (build-system glib-or-gtk-build-system)
9891 (arguments
9892 ;; Disable the Python bindings because the Planner program functions
9893 ;; without them, and (as of 2017-06-13) we have not packaged all of
9894 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
9895 `(#:configure-flags
9896 (list "--disable-python"
9897 ,@(if (string=? "aarch64-linux" (%current-system))
9898 '("--build=aarch64-unknown-linux-gnu")
9899 '()))))
d1d739fa
CM
9900 (inputs
9901 `(("libgnomecanvas" ,libgnomecanvas)
9902 ("libgnomeui" ,libgnomeui)
9903 ("libglade" ,libglade)
9904 ("gnome-vfs" ,gnome-vfs)
9905 ("gconf" ,gconf)
9906 ("libxml2" ,libxml2)
9907 ("libxslt" ,libxslt)
9908 ("gtk+" ,gtk+)
9909 ("glib" ,glib)))
9910 (native-inputs
9911 `(("intltool" ,intltool)
9912 ("scrollkeeper" ,scrollkeeper)
9913 ("pkg-config" ,pkg-config)))
9914 (home-page "https://wiki.gnome.org/Apps/Planner")
9915 (synopsis "Project management software for the GNOME desktop")
9916 (description
9917 "GNOME Planner is a project management tool based on the Work Breakdown
9918Structure (WBS). Its goal is to enable you to easily plan projects. Based on
9919the resources, tasks, and constraints that you define, Planner generates
9920various views into a project. For example, Planner can show a Gantt chart of
9921the project. It can show a detailed summary of tasks including their
9922duration, cost, and current progress. It can also show a report of resource
9923utilization that highlights under-utilized and over-utilized resources. These
9924views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 9925 (license license:gpl2+)))
64fce637
RS
9926
9927(define-public lollypop
9928 (package
9929 (name "lollypop")
24b5d8f7 9930 (version "1.2.32")
64fce637
RS
9931 (source
9932 (origin
9933 (method url-fetch)
24b5d8f7 9934 (uri (string-append "https://adishatz.org/lollypop/"
3275d43d 9935 "lollypop-" version ".tar.xz"))
64fce637 9936 (sha256
24b5d8f7 9937 (base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a"))))
aa498fc0 9938 (build-system meson-build-system)
64fce637 9939 (arguments
7a9543d7
TGR
9940 `(#:imported-modules
9941 (,@%meson-build-system-modules
9942 (guix build python-build-system))
9943 #:modules
9944 ((guix build meson-build-system)
9945 ((guix build python-build-system) #:prefix python:)
9946 (guix build utils))
aa498fc0 9947 #:glib-or-gtk? #t
7a9543d7 9948 #:tests? #f ; no test suite
5fc9b6c1
EF
9949 #:phases
9950 (modify-phases %standard-phases
5fc9b6c1
EF
9951 (add-after 'install 'wrap-program
9952 (lambda* (#:key outputs #:allow-other-keys)
9953 (let ((out (assoc-ref outputs "out"))
9954 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
9955 (wrap-program (string-append out "/bin/lollypop")
9956 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
9957 #t))
8ac8b3b3 9958 (add-after 'install 'wrap-python
7a9543d7 9959 (assoc-ref python:%standard-phases 'wrap)))))
64fce637
RS
9960 (native-inputs
9961 `(("intltool" ,intltool)
9962 ("itstool" ,itstool)
aa498fc0
TD
9963 ("glib:bin" ,glib "bin") ; For glib-compile-resources
9964 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
9965 ("pkg-config" ,pkg-config)))
9966 (inputs
9967 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 9968 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 9969 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
9970 ("libnotify" ,libnotify)
9971 ("libsecret" ,libsecret)
9972 ("libsoup" ,libsoup)
9973 ("python" ,python)
9974 ("python-beautifulsoup4" ,python-beautifulsoup4)
9975 ("python-gst" ,python-gst)
d029afdd 9976 ("python-pil" ,python-pillow)
64fce637 9977 ("python-pycairo" ,python-pycairo)
cc9c83c5 9978 ("python-pygobject" ,python-pygobject)
64fce637
RS
9979 ("python-pylast" ,python-pylast)
9980 ("totem-pl-parser" ,totem-pl-parser)
9981 ("webkitgtk" ,webkitgtk)))
9982 (propagated-inputs
9983 `(;; gst-plugins-base is required to start Lollypop,
9984 ;; the others are required to play streaming.
64fce637
RS
9985 ("gst-plugins-good" ,gst-plugins-good)
9986 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 9987 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
9988 (synopsis "GNOME music playing application")
9989 (description
9990 "Lollypop is a music player designed to play well with GNOME desktop.
9991Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
9992from artists and tracks from the web. It also fetches cover artworks
9993automatically and it can stream songs from online music services and charts.")
9994 (license license:gpl3+)))
d831d49d
AW
9995
9996(define-public gnome-video-effects
9997 (package
9998 (name "gnome-video-effects")
9999 (version "0.4.3")
10000 (source (origin
10001 (method url-fetch)
10002 (uri (string-append "mirror://gnome/sources/" name "/"
10003 (version-major+minor version) "/" name "-"
10004 version ".tar.xz"))
10005 (sha256
10006 (base32
10007 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
10008 (build-system glib-or-gtk-build-system)
10009 (arguments
10010 `(#:out-of-source? #f))
10011 (native-inputs
10012 `(("glib:bin" ,glib "bin")
10013 ("intltool" ,intltool)
10014 ("gettext" ,gettext-minimal)
10015 ("pkg-config" ,pkg-config)))
10016 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
10017 (synopsis "Video effects for Cheese and other GNOME applications")
10018 (description
10019 "A collection of GStreamer video filters and effects to be used in
10020photo-booth-like software, such as Cheese.")
10021 (license license:gpl2+)))
3511c780
AW
10022
10023(define-public cheese
10024 (package
10025 (name "cheese")
3a7e066f 10026 (version "3.34.0")
3511c780
AW
10027 (source (origin
10028 (method url-fetch)
10029 (uri (string-append "mirror://gnome/sources/" name "/"
10030 (version-major+minor version) "/" name "-"
10031 version ".tar.xz"))
10032 (sha256
10033 (base32
3a7e066f 10034 "0wvyc9wb0avrprvm529m42y5fkv3lirdphqydc9jw0c8mh05d1ni"))))
3511c780 10035 (arguments
3a7e066f
KK
10036 `(#:glib-or-gtk? #t
10037 ;; Tests require GDK.
10038 #:tests? #f
3511c780
AW
10039 #:phases
10040 (modify-phases %standard-phases
3a7e066f 10041 (add-after 'unpack 'skip-gtk-update-icon-cache
3511c780
AW
10042 (lambda _
10043 ;; Don't create 'icon-theme.cache'
3a7e066f 10044 (substitute* "meson_post_install.py"
3511c780
AW
10045 (("gtk-update-icon-cache") (which "true")))
10046 #t))
10047 (add-after 'install 'wrap-cheese
10048 (lambda* (#:key inputs outputs #:allow-other-keys)
10049 (let ((out (assoc-ref outputs "out"))
10050 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
10051 (wrap-program (string-append out "/bin/cheese")
10052 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
10053 #t)))))
3a7e066f 10054 (build-system meson-build-system)
3511c780 10055 (native-inputs
3a7e066f
KK
10056 `(("docbook-xsl" ,docbook-xsl)
10057 ("glib:bin" ,glib "bin")
10058 ("gtk-doc" ,gtk-doc)
3511c780
AW
10059 ("intltool" ,intltool)
10060 ("itstool" ,itstool)
10061 ("libxml2" ,libxml2)
3a7e066f 10062 ("libxslt" ,libxslt)
3511c780
AW
10063 ("pkg-config" ,pkg-config)
10064 ("vala" ,vala)))
10065 (propagated-inputs
6a19f03e
RW
10066 `(("gnome-video-effects" ,gnome-video-effects)
10067 ("clutter" ,clutter)
3511c780
AW
10068 ("clutter-gst" ,clutter-gst)
10069 ("clutter-gtk" ,clutter-gtk)
6a19f03e 10070 ("libcanberra" ,libcanberra)
3511c780
AW
10071 ("gdk-pixbuf" ,gdk-pixbuf)
10072 ("glib" ,glib)
6a19f03e
RW
10073 ("gstreamer" ,gstreamer)))
10074 (inputs
10075 `(("gnome-desktop" ,gnome-desktop)
3511c780 10076 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
10077 ("gst-plugins-base" ,gst-plugins-base)
10078 ("gst-plugins-bad" ,gst-plugins-bad)
10079 ("gtk+" ,gtk+)
3511c780
AW
10080 ("libx11" ,libx11)
10081 ("libxtst" ,libxtst)))
10082 (home-page "https://wiki.gnome.org/Apps/Cheese")
10083 (synopsis "Webcam photo booth software for GNOME")
10084 (description
10085 "Cheese uses your webcam to take photos and videos. Cheese can also
10086apply fancy special effects and lets you share the fun with others.")
10087 (license license:gpl2+)))
3c5dbd2b 10088
10089(define-public sound-juicer
10090 (package
10091 (name "sound-juicer")
10092 (version "3.24.0")
10093 (source
10094 (origin
10095 (method url-fetch)
10096 (uri (string-append "mirror://gnome/sources/" name "/"
10097 (version-major+minor version) "/"
10098 name "-" version ".tar.xz"))
10099 (sha256
10100 (base32
10101 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
10102 (build-system glib-or-gtk-build-system)
10103 (native-inputs
10104 `(("desktop-file-utils" ,desktop-file-utils)
10105 ("intltool" ,intltool)
10106 ("itstool" ,itstool)
10107 ("pkg-config" ,pkg-config)
10108 ("xmllint" ,libxml2)))
10109 (inputs
10110 `(("gtk+" ,gtk+)
10111 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10112 ("gstreamer" ,gstreamer)
10113 ("gst-plugins-base" ,gst-plugins-base)
10114 ("gst-plugins-good" ,gst-plugins-good)
10115 ("iso-codes" ,iso-codes)
10116 ("libbrasero-media3" ,brasero)
10117 ("libcanberra" ,libcanberra)
10118 ("libdiscid" ,libdiscid)
10119 ("libmusicbrainz" ,libmusicbrainz)
10120 ("neon" ,neon)))
10121 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
10122 (synopsis "Audio music cd ripper")
10123 (description "Sound Juicer extracts audio from compact discs and convert it
10124into audio files that a personal computer or digital audio player can play.
10125It supports ripping to any audio codec supported by a GStreamer plugin, such as
10126mp3, Ogg Vorbis and FLAC")
10127 (license license:gpl2+)))
4e3fdeb7 10128
0d3f1708
CB
10129(define-public soundconverter
10130 (package
10131 (name "soundconverter")
7f4b45a3 10132 (version "3.0.2")
0d3f1708
CB
10133 (source
10134 (origin
10135 (method url-fetch)
10136 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
10137 version "/+download/"
10138 "soundconverter-" version ".tar.xz"))
10139
10140 (sha256
7f4b45a3 10141 (base32 "1jv8m82hi23ilrgdznlc1jhp2jm8bw1yrw0chh3qw2l0sixvkl11"))))
0d3f1708
CB
10142 (build-system glib-or-gtk-build-system)
10143 (arguments
10144 `(#:imported-modules ((guix build python-build-system)
10145 (guix build glib-or-gtk-build-system)
10146 ,@%gnu-build-system-modules)
10147
10148 #:modules ((guix build glib-or-gtk-build-system)
10149 (guix build utils)
10150 ((guix build gnu-build-system) #:prefix gnu:)
10151 ((guix build python-build-system) #:prefix python:))
10152
10153 #:phases
10154 (modify-phases %standard-phases
0d3f1708
CB
10155 (add-after 'install 'wrap-soundconverter-for-python
10156 (assoc-ref python:%standard-phases 'wrap))
10157 (add-after 'install 'wrap-soundconverter
10158 (lambda* (#:key inputs outputs #:allow-other-keys)
10159 (let ((out (assoc-ref outputs "out"))
10160 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
10161 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
10162 (wrap-program (string-append out "/bin/soundconverter")
10163 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
10164 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
10165 #t)))))
10166 (native-inputs
10167 `(("intltool" ,intltool)
10168 ("pkg-config" ,pkg-config)
10169 ("glib:bin" ,glib "bin")))
10170 (inputs
10171 `(("gtk+" ,gtk+)
10172 ("python" ,python)
10173 ("python-pygobject" ,python-pygobject)
10174 ("gstreamer" ,gstreamer)
10175 ("gst-plugins-base" ,gst-plugins-base)))
e42399e8 10176 (home-page "https://soundconverter.org/")
0d3f1708
CB
10177 (synopsis "Convert between audio formats with a graphical interface")
10178 (description
10179 "SoundConverter supports converting between many audio formats including
10180Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
10181configurable file renaming. ")
10182 (license license:gpl3)))
10183
4e3fdeb7 10184(define-public workrave
89f2d736
TGR
10185 (package
10186 (name "workrave")
52fc6508 10187 (version "1.10.42")
89f2d736
TGR
10188 (source
10189 (origin
10190 (method git-fetch)
10191 (uri (git-reference
b0e7b699 10192 (url "https://github.com/rcaelers/workrave")
c2e50474
TGR
10193 (commit (string-append "v" (string-map
10194 (match-lambda (#\. #\_) (chr chr))
10195 version)))))
89f2d736
TGR
10196 (file-name (git-file-name name version))
10197 (sha256
52fc6508 10198 (base32 "03i9kk8r1wgrfkkbwikx8wxaw4r4kn62vismr2zdq5g34fkkjh95"))))
89f2d736 10199 (build-system glib-or-gtk-build-system)
1b9e1648
TGR
10200 (arguments
10201 ;; The only tests are maintainer tests (in po/), which fail.
10202 `(#:tests? #f))
d1c96847
MC
10203 (inputs `(("glib" ,glib)
10204 ("gtk+" ,gtk+)
10205 ("gdk-pixbuf" ,gdk-pixbuf)
10206 ("gtkmm" ,gtkmm)
10207 ("glibmm" ,glibmm)
10208 ("libx11" ,libx11)
10209 ("libxtst" ,libxtst)
10210 ("dconf" ,dconf)
10211 ("libice" ,libice)
10212 ("libsm" ,libsm)
10213 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 10214 (native-inputs `(("boost" ,boost)
89f2d736 10215 ("pkg-config" ,pkg-config)
f2d97d57 10216 ("gettext" ,gettext-minimal)
89f2d736
TGR
10217 ("autoconf" ,autoconf)
10218 ("autoconf-archive" , autoconf-archive)
10219 ("automake" ,automake)
10220 ("libtool" ,libtool)
10221 ("intltool" ,intltool)
89f2d736 10222 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
10223 ("python3" ,python-3)
10224 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
10225 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
10226 (description
10227 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
10228repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
10229micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
10230 (home-page "http://www.workrave.org")
10231 (license license:gpl3+)))
312afa7d
LC
10232
10233(define-public ghex
10234 (package
10235 (name "ghex")
3748992a 10236 (version "3.18.4")
312afa7d
LC
10237 (source (origin
10238 (method url-fetch)
2fbab848 10239 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 10240 (version-major+minor version) "/"
2fbab848 10241 "ghex-" version ".tar.xz"))
312afa7d
LC
10242 (sha256
10243 (base32
3748992a
KK
10244 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
10245 (build-system meson-build-system)
10246 (arguments
10247 '(#:glib-or-gtk? #t
10248 #:phases
10249 (modify-phases %standard-phases
10250 (add-after 'unpack 'skip-gtk-update-icon-cache
10251 ;; Don't create 'icon-theme.cache'.
10252 (lambda _
10253 (substitute* "meson_post_install.py"
10254 (("gtk-update-icon-cache") (which "true")))
10255 #t)))))
312afa7d
LC
10256 (native-inputs
10257 `(("pkg-config" ,pkg-config)
3748992a 10258 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
10259 ("gnome-common" ,gnome-common)
10260 ("which" ,which)
10261 ("intltool" ,intltool)
10262 ("yelp-tools" ,yelp-tools)
2fbab848 10263 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
10264 (inputs
10265 `(("atk" ,atk)
10266 ("gtk" ,gtk+)))
10267 (synopsis "GNOME hexadecimal editor")
10268 (description "The GHex program can view and edit files in two ways:
10269hexadecimal or ASCII. It is useful for editing binary files in general.")
10270 (home-page "https://wiki.gnome.org/Apps/Ghex")
10271 (license license:gpl2)))
4b2ed6c2
RW
10272
10273(define-public libdazzle
10274 (package
10275 (name "libdazzle")
c94db354 10276 (version "3.34.1")
4b2ed6c2
RW
10277 (source (origin
10278 (method url-fetch)
687b4909 10279 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 10280 (version-major+minor version) "/"
687b4909 10281 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
10282 (sha256
10283 (base32
c94db354 10284 "01cmcrd75b7ns7j2b4p6h7pv68vjhkcl9zbvzzx7pf4vknxir61x"))))
4b2ed6c2
RW
10285 (build-system meson-build-system)
10286 (arguments
10287 `(#:phases
10288 (modify-phases %standard-phases
4b2ed6c2
RW
10289 (add-before 'check 'pre-check
10290 (lambda _
10291 ;; Tests require a running X server.
10292 (system "Xvfb :1 &")
10293 (setenv "DISPLAY" ":1")
10294 #t)))))
10295 (native-inputs
687b4909 10296 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 10297 ("pkg-config" ,pkg-config)
687b4909 10298 ;; For tests.
ff337525 10299 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
10300 (inputs
10301 `(("glib" ,glib)
10302 ("gobject-introspection" ,gobject-introspection)
10303 ("gtk+" ,gtk+)
10304 ("vala" ,vala)))
10305 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
10306 (synopsis "Companion library to GObject and Gtk+")
10307 (description "The libdazzle library is a companion library to GObject and
10308Gtk+. It provides various features that the authors wish were in the
10309underlying library but cannot for various reasons. In most cases, they are
10310wildly out of scope for those libraries. In other cases, they are not quite
10311generic enough to work for everyone.")
10312 (license license:gpl3+)))
7d3bb433
RW
10313
10314(define-public evolution
10315 (package
10316 (name "evolution")
0662fe86 10317 (version "3.34.2")
7d3bb433
RW
10318 (source (origin
10319 (method url-fetch)
10320 (uri (string-append "mirror://gnome/sources/evolution/"
10321 (version-major+minor version) "/"
10322 "evolution-" version ".tar.xz"))
10323 (sha256
10324 (base32
0662fe86 10325 "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c"))))
7d3bb433
RW
10326 (build-system cmake-build-system)
10327 (arguments
5229bea1
KK
10328 `(#:imported-modules (,@%cmake-build-system-modules
10329 (guix build glib-or-gtk-build-system))
10330 #:modules ((guix build cmake-build-system)
10331 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
10332 (guix build utils))
10333 #:configure-flags
7d3bb433 10334 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 10335 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 10336 ; in four years and cannot be built.
5229bea1
KK
10337 #:phases
10338 (modify-phases %standard-phases
10339 ;; The build system attempts to install user interface modules to the
10340 ;; output directory of the "evolution-data-server" package. This
10341 ;; change redirects that change.
10342 (add-after 'unpack 'patch-ui-module-dir
10343 (lambda* (#:key outputs #:allow-other-keys)
10344 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
10345 (("\\$\\{edsuimoduledir\\}")
10346 (string-append (assoc-ref outputs "out")
10347 "/lib/evolution-data-server/ui-modules")))
10348 #t))
10349 (add-after 'install 'glib-or-gtk-compile-schemas
10350 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
10351 (add-after 'install 'glib-or-gtk-wrap
10352 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 10353 (native-inputs
ad6e168b 10354 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
10355 ("pkg-config" ,pkg-config)
10356 ("intltool" ,intltool)
10357 ("itstool" ,itstool)))
10358 (inputs
10359 `(("enchant" ,enchant)
10360 ("evolution-data-server" ,evolution-data-server) ; must be the same version
10361 ("gcr" ,gcr)
ad6e168b 10362 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
10363 ("gnome-autoar" ,gnome-autoar)
10364 ("gnome-desktop" ,gnome-desktop)
0662fe86 10365 ("gspell" ,gspell)
7d3bb433
RW
10366 ("highlight" ,highlight)
10367 ("libcanberra" ,libcanberra)
10368 ("libgweather" ,libgweather)
10369 ("libnotify" ,libnotify)
10370 ("libsoup" ,libsoup)
10371 ("nss" ,nss)
10372 ("openldap" ,openldap)
10373 ("webkitgtk" ,webkitgtk)
10374 ("ytnef" ,ytnef)))
10375 (home-page "https://gitlab.gnome.org/GNOME/evolution")
10376 (synopsis "Manage your email, contacts and schedule")
10377 (description "Evolution is a personal information management application
10378that provides integrated mail, calendaring and address book
10379functionality.")
10380 ;; See COPYING for details.
23dbe621 10381 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 10382 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 10383 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
10384
10385(define-public gthumb
10386 (package
10387 (name "gthumb")
8280676b 10388 (version "3.8.2")
169d63f5
AT
10389 (source (origin
10390 (method url-fetch)
10391 (uri (string-append "mirror://gnome/sources/gthumb/"
10392 (version-major+minor version) "/"
10393 "gthumb-" version ".tar.xz"))
10394 (sha256
10395 (base32
8280676b 10396 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
10397 (build-system meson-build-system)
10398 (arguments
10399 `(#:glib-or-gtk? #t
10400 #:configure-flags
10401 ;; Ensure the RUNPATH contains all installed library locations.
10402 (list (string-append "-Dc_link_args=-Wl,-rpath="
10403 (assoc-ref %outputs "out")
10404 "/lib/gthumb/extensions")
10405 (string-append "-Dcpp_link_args=-Wl,-rpath="
10406 (assoc-ref %outputs "out")
10407 "/lib/gthumb/extensions"))))
10408 (native-inputs
10409 `(("pkg-config" ,pkg-config)
10410 ("glib:bin" ,glib "bin") ; for glib-compile-resources
10411 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
10412 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
10413 ("intltool" ,intltool)
10414 ("itstool" ,itstool)))
10415 (inputs
10416 `(("exiv2" ,exiv2)
10417 ("gtk" ,gtk+)
10418 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10419 ("gstreamer" ,gstreamer)
10420 ("clutter" ,clutter)
10421 ("clutter-gst" ,clutter-gst)
10422 ("clutter-gtk" ,clutter-gtk)
4bd428a7 10423 ("libjpeg" ,libjpeg-turbo)
169d63f5
AT
10424 ("libtiff" ,libtiff)
10425 ("libraw" ,libraw)))
10426 (home-page "https://wiki.gnome.org/Apps/Gthumb")
10427 (synopsis "GNOME image viewer and browser")
10428 (description "GThumb is an image viewer, browser, organizer, editor and
10429advanced image management tool")
10430 (license license:gpl2+)))
08be02be
AT
10431
10432(define-public terminator
10433 (package
10434 (name "terminator")
10435 (version "1.91")
10436 (source (origin
10437 (method url-fetch)
10438 (uri (string-append "https://launchpad.net/" name "/"
10439 "gtk3/" version "/" "+download/"
10440 name "-" version ".tar.gz"))
10441 (sha256
10442 (base32
10443 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
10444 (build-system python-build-system)
10445 (native-inputs
10446 `(("intltool" ,intltool)
10447 ("glib:bin" ,glib "bin") ; for glib-compile-resources
10448 ("gettext" ,gettext-minimal)
10449 ("pkg-config" ,pkg-config)))
10450 (inputs
10451 `(("cairo" ,cairo)
10452 ("gobject-introspection" ,gobject-introspection)
96681d4b 10453 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
10454 ("python2-pycairo" ,python2-pycairo)
10455 ("python2-pygobject" ,python2-pygobject)
10456 ("python2-psutil" ,python2-psutil)
10457 ("vte" ,vte)))
10458 (arguments
96681d4b
TGR
10459 `(#:python ,python-2 ; Python 3 isn't supported
10460 #:imported-modules ((guix build glib-or-gtk-build-system)
10461 ,@%python-build-system-modules)
10462 #:modules ((guix build python-build-system)
10463 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
10464 (guix build utils))
08be02be
AT
10465 #:phases
10466 (modify-phases %standard-phases
10467 (add-after
10468 'install 'wrap-program
10469 (lambda* (#:key outputs #:allow-other-keys)
10470 (let ((prog (string-append (assoc-ref outputs "out")
10471 "/bin/terminator")))
10472 (wrap-program prog
10473 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
10474 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
10475 #t)))
10476 (add-after 'wrap-program 'glib-or-gtk-wrap
10477 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
10478 (home-page "https://gnometerminator.blogspot.com/")
10479 (synopsis "Store and run multiple GNOME terminals in one window")
10480 (description
10481 "Terminator allows you to run multiple GNOME terminals in a grid and
10482+tabs, and it supports drag and drop re-ordering of terminals.")
10483 (license license:gpl2)))
213315d4
JF
10484
10485(define-public libhandy
10486 (package
10487 (name "libhandy")
f6501b9f 10488 (version "0.0.12")
213315d4
JF
10489 (source
10490 (origin
10491 (method git-fetch)
10492 (uri (git-reference
10493 (url "https://source.puri.sm/Librem5/libhandy")
10494 (commit (string-append "v" version))))
10495 (file-name (git-file-name name version))
10496 (sha256
f6501b9f 10497 (base32 "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw"))))
213315d4
JF
10498 (build-system meson-build-system)
10499 (arguments
10500 `(#:configure-flags
10501 '("-Dglade_catalog=disabled"
10502 "-Dgtk_doc=true")
10503 #:phases
10504 (modify-phases %standard-phases
213315d4
JF
10505 (add-before 'check 'pre-check
10506 (lambda _
10507 ;; Tests require a running X server.
10508 (system "Xvfb :1 &")
10509 (setenv "DISPLAY" ":1")
10510 #t)))))
10511 (inputs
10512 `(("gtk+" ,gtk+)))
10513 (native-inputs
10514 `(("glib:bin" ,glib "bin")
10515 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
10516 ("vala" ,vala)
10517 ("gtk-doc" ,gtk-doc)
10518 ("pkg-config" ,pkg-config)
10519 ("gettext" ,gettext-minimal)
d41ee146
TGR
10520
10521 ;; Test suite dependencies.
ff337525 10522 ("xorg-server" ,xorg-server-for-tests)
d41ee146 10523 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
10524 (home-page "https://source.puri.sm/Librem5/libhandy")
10525 (synopsis "Library full of GTK+ widgets for mobile phones")
10526 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
10527interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
10528for usage on small and big screens.")
213315d4 10529 (license license:lgpl2.1+)))
a830d14d
GL
10530
10531(define-public libgit2-glib
10532 (package
10533 (name "libgit2-glib")
6448c2e1 10534 (version "0.99.0.1")
a830d14d
GL
10535 (source (origin
10536 (method url-fetch)
10537 (uri (string-append "mirror://gnome/sources/" name "/"
10538 (version-major+minor version) "/"
10539 name "-" version ".tar.xz"))
10540 (sha256
10541 (base32
6448c2e1 10542 "1pmrcnsa7qdda73c3dxf47733mwprmj5ljpw3acxbj6r8k27anp0"))))
a830d14d
GL
10543 (build-system meson-build-system)
10544 (native-inputs
10545 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
10546 ("gobject-introspection" ,gobject-introspection)
a830d14d
GL
10547 ("pkg-config" ,pkg-config)
10548 ("python-pygobject" ,python-pygobject)
10549 ("python-wrapper" ,python-wrapper)
10550 ("vala" ,vala)))
10551 (inputs
10552 `(("glib" ,glib)
8c6aae46
MB
10553 ("libssh2" ,libssh2)))
10554 (propagated-inputs
10555 `(;; In Requires of libgit2-glib.pc.
a830d14d
GL
10556 ("libgit2" ,libgit2)))
10557 (synopsis "GLib wrapper around the libgit2 Git access library")
10558 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
10559access library. It only implements the core plumbing functions, not really the
10560higher level porcelain stuff.")
10561 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
10562 (license license:gpl2+)))
93beace0 10563
08db81c9
LP
10564(define-public gitg
10565 (package
10566 (name "gitg")
10567 (version "3.32.1")
10568 (source (origin
10569 (method url-fetch)
10570 (uri (string-append "mirror://gnome/sources/" name "/"
10571 (version-major+minor version) "/"
10572 name "-" version ".tar.xz"))
10573 (sha256
10574 (base32
10575 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
10576 (build-system meson-build-system)
10577 (arguments
10578 `(#:glib-or-gtk? #t
10579 #:phases
10580 (modify-phases %standard-phases
10581 (add-after 'unpack 'disable-post-install-partially
10582 (lambda _
10583 (substitute* "meson_post_install.py"
10584 (("'python'") ; there are no python sources to compile
10585 (string-append "'" (which "true") "'"))
10586 (("gtk-update-icon-cache") (which "true")))
10587 #t))
10588 (add-after 'unpack 'fix-test-sources
10589 (lambda _
10590 (substitute* "tests/libgitg/test-commit.vala"
10591 (("/bin/bash") (which "bash")))
10592 #t))
10593 (add-after 'glib-or-gtk-wrap 'wrap-typelib
10594 (lambda* (#:key outputs #:allow-other-keys)
10595 (let ((prog (string-append (assoc-ref outputs "out")
10596 "/bin/gitg")))
10597 (wrap-program prog
10598 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
10599 #t))))))
10600 (inputs
10601 `(("glib" ,glib)
10602 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10603 ("gtk+" ,gtk+)
10604 ("gtkspell3" ,gtkspell3)
10605 ("gtksourceview" ,gtksourceview-3)
10606 ("json-glib" ,json-glib)
10607 ("libdazzle" ,libdazzle)
10608 ("libgee" ,libgee)
08db81c9
LP
10609 ("libgit2-glib" ,libgit2-glib)
10610 ("libpeas" ,libpeas)
10611 ("libsecret" ,libsecret)
10612 ("libsoup" ,libsoup)
10613 ("libxml2" ,libxml2)))
10614 (native-inputs
10615 `(("glib:bin" ,glib "bin")
10616 ("gtk+:bin" ,gtk+ "bin")
10617 ("gobject-introspection" ,gobject-introspection)
10618 ("intltool" ,intltool)
10619 ("pkg-config" ,pkg-config)
10620 ("vala" ,vala)))
10621 (synopsis "Graphical user interface for git")
10622 (description
10623 "gitg is a graphical user interface for git. It aims at being a small,
10624fast and convenient tool to visualize the history of git repositories.
10625Besides visualization, gitg also provides several utilities to manage your
10626repository and commit your work.")
10627 (home-page "https://wiki.gnome.org/Apps/Gitg")
10628 (license license:gpl2+)))
10629
1e600ed0
RW
10630(define-public gamin
10631 (package
10632 (name "gamin")
10633 (version "0.1.10")
10634 (source (origin
10635 (method url-fetch)
10636 (uri (string-append "mirror://gnome/sources/" name "/"
10637 (version-major+minor version) "/"
10638 name "-" version ".tar.bz2"))
10639 (sha256
10640 (base32
10641 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
10642 (build-system gnu-build-system)
10643 (arguments
10644 `(#:phases
10645 (modify-phases %standard-phases
10646 (add-after 'unpack 'remove-deprecated-macro
10647 (lambda _
10648 (substitute* '("server/gam_node.c"
10649 "server/gam_subscription.h"
10650 "server/gam_node.h"
10651 "server/gam_subscription.c")
10652 (("G_CONST_RETURN") "const"))
10653 #t)))))
10654 (inputs
10655 `(("glib" ,glib)))
10656 (native-inputs
10657 `(("intltool" ,intltool)
10658 ("pkg-config" ,pkg-config)))
10659 (home-page "https://people.gnome.org/~veillard/gamin/")
10660 (synopsis "File alteration monitor")
10661 (description
10662 "Gamin is a file and directory monitoring system defined to be a subset
10663of the FAM (File Alteration Monitor) system. This is a service provided by a
bddd877f 10664library which detects when a file or a directory has been modified.")
1e600ed0
RW
10665 (license license:gpl2+)))
10666
93beace0
DW
10667(define-public gnome-mahjongg
10668 (package
10669 (name "gnome-mahjongg")
10670 (version "3.35.1")
10671 (source (origin
10672 (method git-fetch)
10673 (uri (git-reference
10674 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
10675 (commit version)))
10676 (file-name (git-file-name name version))
10677 (sha256
10678 (base32
10679 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
10680 (build-system meson-build-system)
10681 (arguments
10682 `(#:glib-or-gtk? #t))
10683 (native-inputs
10684 `(("appstream-glib" ,appstream-glib)
10685 ("gettext" ,gettext-minimal)
10686 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
10687 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
10688 ("itstool" ,itstool)
10689 ("pkg-config" ,pkg-config)
10690 ("vala" ,vala)))
10691 (propagated-inputs
10692 `(("dconf" ,dconf)))
10693 (inputs
10694 `(("glib" ,glib)
10695 ("gtk+" ,gtk+)
10696 ("librsvg" ,librsvg)))
10697 (synopsis "Mahjongg tile-matching game")
10698 (description "GNOME Mahjongg is a game based on the classic Chinese
10699tile-matching game Mahjong. It features multiple board layouts, tile themes,
10700and a high score table.")
10701 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
10702 (license license:gpl2+)))
f825476c 10703
76ea7632
RG
10704(define-public gnome-themes-extra
10705 (package
10706 (name "gnome-themes-extra")
10707 (version "3.28")
10708 (source
10709 (origin
10710 (method url-fetch)
10711 (uri (string-append "mirror://gnome/sources/" name "/"
10712 (version-major+minor version) "/" name "-"
10713 version ".tar.xz"))
10714 (sha256
10715 (base32
10716 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
10717 (build-system gnu-build-system)
885424bf
RG
10718 (arguments
10719 '(#:configure-flags
10720 ;; Don't create 'icon-theme.cache'.
10721 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
10722 (true (string-append coreutils "/bin/true")))
10723 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
10724 (native-inputs
10725 `(("glib:bin" ,glib "bin")
10726 ("intltool" ,intltool)
10727 ("pkg-config" ,pkg-config)))
10728 (inputs
10729 `(("glib" ,glib)
10730 ("gtk+" ,gtk+)
10731 ("gtk+-2" ,gtk+-2)
10732 ("librsvg" ,librsvg)
10733 ("libxml2" ,libxml2)))
10734 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
10735 (synopsis "GNOME Extra Themes")
10736 (description "This package provides themes and related elements that don't
10737really fit in other upstream packages. It offers legacy support for GTK+ 2
10738versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
10739index files needed for Adwaita to be used outside of GNOME.")
10740 (license license:lgpl2.1+)))
10741
f825476c
LP
10742(define-public polari
10743 (package
10744 (name "polari")
10745 (version "3.32.2")
10746 (source (origin
10747 (method url-fetch)
10748 (uri (string-append "mirror://gnome/sources/polari/"
10749 (version-major+minor version)
10750 "/polari-" version ".tar.xz"))
10751 (sha256
10752 (base32
10753 "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"))))
10754 (build-system meson-build-system)
10755 (arguments
10756 `(#:glib-or-gtk? #t
10757 #:phases
10758 (modify-phases %standard-phases
10759 (add-after 'unpack 'skip-gtk-update-icon-cache
10760 (lambda _
10761 (substitute* "meson/meson-postinstall.sh"
10762 (("gtk-update-icon-cache") (which "true")))
10763 #t))
10764 (add-after 'glib-or-gtk-wrap 'wrap-typelib
10765 (lambda* (#:key outputs #:allow-other-keys)
10766 (let ((prog (string-append (assoc-ref outputs "out")
10767 "/bin/polari")))
10768 (wrap-program prog
10769 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
10770 #t))))))
10771 (inputs
10772 `(("glib" ,glib)
10773 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
10774 ("gspell" ,gspell)
10775 ("gtk+" ,gtk+)
10776 ("gjs" ,gjs)
10777 ("libsecret" ,libsecret)
10778 ("libsoup" ,libsoup)
10779 ("telepathy-glib" ,telepathy-glib)
10780 ("telepathy-logger" ,telepathy-logger)))
10781 (native-inputs
10782 `(("glib:bin" ,glib "bin")
10783 ("gobject-introspection" ,gobject-introspection)
10784 ("intltool" ,intltool)
10785 ("pkg-config" ,pkg-config)
10786 ("yelp-tools" ,yelp-tools)))
10787 (propagated-inputs
10788 `(("telepathy-idle" ,telepathy-idle)
10789 ("telepathy-mission-control" ,telepathy-mission-control)))
10790 (synopsis "Simple IRC Client")
10791 (description
10792 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
10793integrate seamlessly with the GNOME desktop.")
10794 (home-page "https://wiki.gnome.org/Apps/Polari")
10795 (license license:gpl2+)))
59d4c8c2
PN
10796
10797(define-public gnome-boxes
10798 (package
10799 (name "gnome-boxes")
915c2ad3 10800 (version "3.36.6")
59d4c8c2
PN
10801 (source
10802 (origin
10803 (method url-fetch)
10804 (uri (string-append "mirror://gnome/sources/gnome-boxes/"
10805 (version-major+minor version) "/"
10806 "gnome-boxes-" version ".tar.xz"))
10807 (sha256
915c2ad3 10808 (base32 "0c3cw90xqqcpacc2z06ljs0gg8saxizfgjzg9alhpwgz3gl4c5pg"))))
59d4c8c2
PN
10809 (build-system meson-build-system)
10810 (arguments
10811 '(#:glib-or-gtk? #t
10812 #:configure-flags (list "-Drdp=false"
10813 (string-append "-Dc_link_args=-Wl,-rpath="
10814 (assoc-ref %outputs "out")
10815 "/lib/gnome-boxes"))))
10816 (native-inputs
10817 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
10818 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
10819 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
10820 ("itstool" ,itstool)
10821 ("intltool" ,intltool)
10822 ("vala" ,vala)
10823 ("pkg-config" ,pkg-config)))
10824 (inputs
10825 `(("libarchive" ,libarchive)
f0d7897e
MC
10826 ("glib-networking" ,glib-networking) ;for TLS support
10827 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
59d4c8c2
PN
10828 ("gtk" ,gtk+)
10829 ("gtk-vnc" ,gtk-vnc)
10830 ("libosinfo" ,libosinfo)
10831 ("libsecret" ,libsecret)
10832 ("libsoup" ,libsoup)
10833 ("libusb" ,libusb)
10834 ("libvirt" ,libvirt)
10835 ("libvirt-glib" ,libvirt-glib)
10836 ("libxml" ,libxml2)
10837 ("spice-gtk" ,spice-gtk)
10838 ("sparql-query" ,sparql-query)
10839 ("vte" ,vte)
10840 ("webkitgtk" ,webkitgtk)
10841 ("tracker" ,tracker)
10842 ("libgudev" ,libgudev)))
10843 (home-page "https://wiki.gnome.org/Apps/Boxes")
10844 (synopsis "View, access, and manage remote and virtual systems")
10845 (description "GNOME Boxes is a simple application to view, access, and
f0d7897e
MC
10846manage remote and virtual systems. Note that this application requires the
10847@code{libvirt} and @code{virtlog} daemons to run. Use the command
10848@command{info '(guix) Virtualization Services'} to learn how to configure
10849these services on the Guix System.")
59d4c8c2
PN
10850 (license (list
10851 ;; For data/icons/empty-boxes.png.
10852 license:cc-by2.0
10853 ;; For all others.
10854 license:lgpl2.0+))))
0e26c3cf 10855
10856(define-public geary
10857 (package
10858 (name "geary")
10859 (version "3.34.1")
10860 (source (origin
10861 (method git-fetch)
10862 (uri (git-reference
10863 (url "https://gitlab.gnome.org/GNOME/geary")
10864 (commit version)))
10865 (file-name (git-file-name name version))
10866 (sha256
10867 (base32
10868 "01cc921kyh3zxz07biqbdzkjgmdcc36kwjyajm4y382a75cl5zg7"))))
10869 (build-system meson-build-system)
10870 (arguments
10871 `(#:glib-or-gtk? #t
10872 #:phases (modify-phases %standard-phases
10873 (add-after 'unpack 'disable-failing-tests
10874 (lambda _
10875 (substitute* "test/meson.build"
10876 (("test\\('client-tests', geary_test_client_bin\\)")
10877 ""))
10878 #t))
10879 (add-after 'unpack 'disable-postinstall-script
10880 (lambda _
10881 (substitute* "meson.build"
10882 (("meson.add_install_script\\(\
10883join_paths\\('build-aux', 'post_install.py'\\)\\)")
10884 ""))
10885 #t))
10886 (add-before 'check 'setup-xvfb
10887 (lambda _
10888 (system "Xvfb :1 &")
10889 (setenv "DISPLAY" ":1")
10890 #t)))))
10891 (inputs
10892 `(("enchant" ,enchant)
10893 ("folks" ,folks)
10894 ("gcr" ,gcr)
10895 ("glib" ,glib)
10896 ("gmime" ,gmime-2.6)
10897 ("gnome-online-accounts:lib"
10898 ,gnome-online-accounts "lib")
10899 ("gspell" ,gspell)
10900 ("gtk+" ,gtk+)
10901 ("iso-codes" ,iso-codes)
10902 ("json-glib" ,json-glib)
10903 ("libcanberra" ,libcanberra)
10904 ("libgee" ,libgee)
10905 ("libhandy" ,libhandy)
10906 ("libpeas" ,libpeas)
10907 ("libsecret" ,libsecret)
10908 ("libunwind" ,libunwind)
10909 ("sqlite" ,sqlite)
10910 ("webkitgtk" ,webkitgtk)
10911 ("ytnef" ,ytnef)))
10912 (native-inputs
10913 `(("appstream-glib" ,appstream-glib)
10914 ("cmake-minimal" ,cmake-minimal)
10915 ("desktop-file-utils" ,desktop-file-utils)
f2d97d57 10916 ("gettext" ,gettext-minimal)
0e26c3cf 10917 ("glib:bin" ,glib "bin")
10918 ("gobject-introspection" ,gobject-introspection)
10919 ("itstool" ,itstool)
10920 ("libarchive" ,libarchive)
10921 ("libxml2" ,libxml2)
10922 ("pkg-config" ,pkg-config)
10923 ("vala" ,vala)
10924 ("xvfb" ,xorg-server-for-tests)))
10925 (synopsis "GNOME email application built around conversations")
10926 (description
10927 "Geary collects related messages together into conversations,
10928making it easy to find and follow your discussions. Full-text and keyword
10929search makes it easy to find the email you are looking for. Geary's
10930full-featured composer lets you send rich, styled text with images, links, and
10931lists, but also send lightweight, easy to read text messages. Geary
10932automatically picks up your existing GNOME Online Accounts, and adding more is
10933easy. Geary has a clean, fast, modern interface that works like you want it
10934to.")
10935 (home-page "https://wiki.gnome.org/Apps/Geary")
10936 (license (list
10937 ;; geary
10938 license:lgpl2.1+
10939 ;; icons
10940 license:cc-by3.0
10941 license:cc-by-sa3.0
10942 license:public-domain
10943 ;; snowball
10944 license:bsd-2))))
1a17d21b 10945
21051eb7
VM
10946(define-public glabels
10947 (package
10948 (name "glabels")
10949 (version "3.4.1")
10950 (source
10951 (origin
10952 (method url-fetch)
10953 (uri (string-append "mirror://gnome/sources/" name "/"
10954 (version-major+minor version) "/"
10955 "glabels-" version ".tar.xz"))
10956 (sha256
10957 (base32 "0f2rki8i27pkd9r0gz03cdl1g4vnmvp0j49nhxqn275vi8lmgr0q"))))
10958 (build-system glib-or-gtk-build-system)
10959 (native-inputs
10960 `(("gettext" ,gettext-minimal)
10961 ("glib:bin" ,glib "bin")
10962 ("intltool" ,intltool)
10963 ("itstool" ,itstool)
10964 ("pkg-config" ,pkg-config)))
10965 (inputs
10966 `(("gtk+" ,gtk+)
10967 ("librsvg" ,librsvg)
10968 ("libxml2" ,libxml2)))
10969 (home-page "https://glabels.org/")
10970 (synopsis "Program for creating labels and business cards")
10971 (description
10972 "gLabels is a program for creating labels and business cards. It is
10973designed to work with various laser/ink-jet peel-off label and business
10974card sheets that you’ll find at most office supply stores.")
10975 (license license:gpl3+)))
10976
2cd1de32
BT
10977(define-public libratbag
10978 (package
10979 (name "libratbag")
10980 (version "0.13")
10981 (source
10982 (origin
10983 (method git-fetch)
10984 (uri (git-reference
b0e7b699 10985 (url "https://github.com/libratbag/libratbag")
2cd1de32
BT
10986 (commit (string-append "v" version))))
10987 (file-name (git-file-name name version))
10988 (sha256
10989 (base32 "18y8mfr63d91278m1kcid0wvrxa1sgjs8na9af1ks2n28ssvciwq"))))
10990 (build-system meson-build-system)
10991 (arguments
10992 `(#:configure-flags
10993 (list "-Dsystemd=false"
10994 "-Dlogind-provider=elogind")
10995 #:phases
10996 (modify-phases %standard-phases
10997 (add-after 'install 'wrap
10998 (lambda* (#:key inputs outputs #:allow-other-keys)
10999 (let* ((out (assoc-ref outputs "out"))
11000 (site (string-append
11001 "/lib/python"
11002 ,(version-major+minor (package-version python))
11003 "/site-packages"))
11004 (evdev (string-append
11005 (assoc-ref inputs "python-evdev") site))
11006 (pygo (string-append
11007 (assoc-ref inputs "python-pygobject") site))
11008 (python-wrap
11009 `("PYTHONPATH" = (,evdev ,pygo))))
11010 (wrap-program (string-append out "/bin/" "ratbagctl")
11011 python-wrap)
11012 #t))))))
11013 (native-inputs
11014 `(("check" ,check)
11015 ("pkg-config" ,pkg-config)
11016 ("swig" ,swig)
11017 ("valgrind" ,valgrind)))
11018 (inputs
11019 `(("glib" ,glib)
11020 ("json-glib" ,json-glib)
11021 ("libevdev" ,libevdev)
11022 ("libsystemd" ,elogind)
11023 ("libunistring" ,libunistring)
11024 ("python-evdev" ,python-evdev)
11025 ("python-pygobject" ,python-pygobject)
11026 ("udev" ,eudev)))
11027 (home-page "https://github.com/libratbag/libratbag")
11028 (synopsis "DBus daemon and utility for configuring gaming mice")
11029 (description "libratbag provides @command{ratbagd}, a DBus daemon to
11030configure input devices, mainly gaming mice. The daemon provides a generic
11031way to access the various features exposed by these mice and abstracts away
11032hardware-specific and kernel-specific quirks. There is also the
11033@command{ratbagctl} command line interface for configuring devices.
11034
11035libratbag currently supports devices from Logitech, Etekcity, GSkill, Roccat,
11036Steelseries.
11037
11038The ratbagd DBus service can be enabled by adding the following service to
11039your operating-system definition:
11040
11041 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
11042 (license license:expat)))
11043
50d31a40
BT
11044(define-public piper
11045 (package
11046 (name "piper")
73014984 11047 (version "0.5")
50d31a40
BT
11048 (source
11049 (origin
11050 (method git-fetch)
11051 (uri (git-reference
b0e7b699 11052 (url "https://github.com/libratbag/piper")
50d31a40
BT
11053 (commit version)))
11054 (sha256
81af0de9
TGR
11055 (base32 "00vrcsbsv2477l1ncpyzc61lhxgac84dsgr3sjs8qxw3nh1gaasv"))
11056 (file-name (git-file-name name version))))
50d31a40
BT
11057 (build-system meson-build-system)
11058 (native-inputs
11059 `(("gettext" ,gettext-minimal)
11060 ("glib:bin" ,glib "bin")
11061 ("gobject-introspection" ,gobject-introspection)
11062 ("pkg-config" ,pkg-config)
11063 ("python-flake8" ,python-flake8)))
11064 (inputs
11065 `(("adwaita-icon-theme" ,adwaita-icon-theme)
11066 ("gtk" ,gtk+)
11067 ("gtk:bin" ,gtk+ "bin")
11068 ("librsvg" ,librsvg)
11069 ("python-evdev" ,python-evdev)
11070 ("python-lxml" ,python-lxml)
11071 ("python-pycairo" ,python-pycairo)
11072 ("python-pygobject" ,python-pygobject)))
11073 (arguments
11074 `(#:imported-modules ((guix build python-build-system)
11075 ,@%meson-build-system-modules)
11076 #:modules (((guix build python-build-system) #:prefix python:)
11077 (guix build meson-build-system)
11078 (guix build utils))
11079 #:phases
11080 (modify-phases %standard-phases
11081 (add-after 'unpack 'dont-update-gtk-icon-cache
11082 (lambda _
11083 (substitute* "meson.build"
11084 (("meson.add_install_script('meson_install.sh')") ""))
11085 #t))
11086 ;; TODO: Switch to wrap-script when it is fixed.
11087 (add-after 'install 'wrap-python
11088 (assoc-ref python:%standard-phases 'wrap))
11089 (add-after 'wrap-python 'wrap
11090 (lambda* (#:key outputs #:allow-other-keys)
11091 (wrap-program
11092 (string-append (assoc-ref outputs "out" )"/bin/piper")
11093 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
11094 #t)))))
11095 (home-page "https://github.com/libratbag/piper/")
11096 (synopsis "Configure bindings and LEDs on gaming mice")
11097 (description "Piper is a GTK+ application for configuring gaming mice with
11098onboard configuration for key bindings via libratbag. Piper requires
11099a @command{ratbagd} daemon running with root privileges. It can be run
11100manually as root, but is preferably configured as a DBus service that can
11101launch on demand. This can be configured by enabling the following service,
11102provided there is a DBus service present:
11103
11104 (simple-service 'ratbagd dbus-root-service-type (list libratbag))")
11105 (license license:gpl2)))
11106
1a17d21b 11107(define-public parlatype
c10fb9fd
NG
11108 (package
11109 (name "parlatype")
11110 (version "2.1")
11111 (source
11112 (origin
11113 (method git-fetch)
11114 (uri (git-reference
11115 (url "https://github.com/gkarsay/parlatype.git")
11116 (commit (string-append "v" version))))
11117 (file-name (git-file-name name version))
11118 (sha256
11119 (base32 "1c15ja0rwz3jj8bnqdq0nmqka39iwrhy8krdv2a2x8nl4shfpmv0"))))
11120 (build-system meson-build-system)
11121 (arguments
11122 `(#:glib-or-gtk? #t
11123 #:tests? #f ;require internet access
11124 #:phases
11125 (modify-phases %standard-phases
11126 (add-after 'install 'wrap-parlatype
11127 ;; Add gstreamer plugin provided in this package to system's
11128 ;; plugins.
11129 (lambda* (#:key outputs #:allow-other-keys)
11130 (let* ((out (assoc-ref outputs "out"))
11131 (gst-plugin-path (string-append
11132 out "/lib/gstreamer-1.0/"
11133 ":"
11134 (getenv "GST_PLUGIN_SYSTEM_PATH"))))
11135 (wrap-program (string-append out "/bin/parlatype")
11136 `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path))))
11137 #t)))))
11138 (native-inputs
11139 `(("appstream-glib" ,appstream-glib)
11140 ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
11141 ("gettext" ,gettext-minimal)
11142 ("glib" ,glib "bin") ;for glib-compile-resources
11143 ("pkg-config" ,pkg-config)
11144 ("yelp-tools" ,yelp-tools)))
11145 (inputs
11146 `(("gst-plugins-base" ,gst-plugins-base)
11147 ("gst-plugins-good" ,gst-plugins-good)
11148 ("gstreamer" ,gstreamer)
11149 ("gtk+" ,gtk+)
11150 ("pocketsphinx" ,pocketsphinx)
11151 ("pulseaudio" ,pulseaudio)
11152 ("sphinxbase" ,sphinxbase)))
11153 (home-page "http://gkarsay.github.io/parlatype/")
11154 (synopsis "GNOME audio player for transcription")
11155 (description "Parlatype is an audio player for the GNOME desktop
1a17d21b
NG
11156environment. Its main purpose is the manual transcription of spoken
11157audio files.")
c10fb9fd 11158 (license license:gpl3+)))
95856a6e
AT
11159
11160(define-public jsonrpc-glib
11161 (package
11162 (name "jsonrpc-glib")
11163 (version "3.34.0")
11164 (source (origin
11165 (method url-fetch)
11166 (uri (string-append "mirror://gnome/sources/" name "/"
11167 (version-major+minor version) "/"
11168 name "-" version ".tar.xz"))
11169 (sha256
11170 (base32
11171 "0j05x4xv2cp3cbmp30m68z8g4rdw7b030ip4wszyfj9ya15v5kni"))))
11172 (build-system meson-build-system)
11173 (inputs
11174 `(("json-glib" ,json-glib)
11175 ("glib" ,glib)))
11176 (native-inputs
11177 `(("pkg-config" ,pkg-config)
11178 ("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
11179 ("gobject-introspection" ,gobject-introspection)
11180 ("vala" ,vala)))
11181 (home-page "https://gitlab.gnome.org/GNOME/jsonrpc-glib")
11182 (synopsis "JSON-RPC library for GLib")
11183 (description "Jsonrpc-GLib is a library to communicate with JSON-RPC based
11184peers in either a synchronous or asynchronous fashion. It also allows
11185communicating using the GVariant serialization format instead of JSON when
11186both peers support it. You might want that when communicating on a single
11187host to avoid parser overhead and memory-allocator fragmentation.")
11188 (license license:lgpl2.1+)))
0faed399
JB
11189
11190(define-public feedbackd
11191 (package
11192 (name "feedbackd")
11193 (version "0.0.0+git20200527")
11194 (source (origin
11195 (method git-fetch)
11196 (uri (git-reference
11197 (url "https://source.puri.sm/Librem5/feedbackd.git")
11198 (commit (string-append "v" version))))
11199 (file-name (git-file-name name version))
11200 (sha256
11201 (base32
11202 "1wbkzxnqjydfgjvp7vz4ghczcz740zcb1yn90cb6gb5md4n6qx2y"))))
11203 (build-system meson-build-system)
11204 (native-inputs
11205 `(("glib:bin" ,glib "bin")
11206 ("gobject-introspection" ,gobject-introspection)
11207 ("pkg-config" ,pkg-config)
11208 ("vala" ,vala)))
11209 (inputs
11210 `(("dbus" ,dbus)
11211 ("gsound" ,gsound)
11212 ("json-glib" ,json-glib)
11213 ("libgudev" ,libgudev)))
11214 (propagated-inputs
11215 `(("glib" ,glib))) ; in Requires of libfeedback-0.0.pc
11216 (synopsis "Haptic/visual/audio feedback via DBus")
11217 (description "Feedbackd provides a DBus daemon to act on events to provide
11218haptic, visual and audio feedback. It offers the libfeedbackd library and
11219GObject introspection bindings.")
11220 (home-page "https://source.puri.sm/Librem5/feedbackd")
11221 (license (list license:lgpl2.1+ ; libfeedbackd
11222 license:lgpl3+)))) ; the rest
dcb4f7b7
LP
11223
11224(define-public sysprof
11225 (package
11226 (name "sysprof")
f9812690
TGR
11227 (version "3.36.0")
11228 (source
11229 (origin
11230 (method url-fetch)
11231 (uri (string-append "mirror://gnome/sources/sysprof/"
11232 (version-major+minor version) "/"
11233 "sysprof-" version ".tar.xz"))
11234 (sha256
11235 (base32 "024i0gzqnm79rpr4gqxdvcj6gvf82xdlcp2p1k9ikcppmi6xnw46"))))
dcb4f7b7
LP
11236 (build-system meson-build-system)
11237 (arguments
11238 `(#:configure-flags
11239 (list (string-append "-Dsystemdunitdir="
11240 %output
11241 "/share/systemd"))
11242 #:tests? #f ; 3/4 test-model-filter barfs some dbus nonsense
11243 #:phases
11244 (modify-phases %standard-phases
11245 (add-after 'unpack 'patch-install-script
11246 (lambda _
11247 (substitute* "build-aux/meson/post_install.sh"
11248 (("gtk-update-icon-cache") "true")
11249 (("update-desktop-database") "true"))
11250 #t)))))
11251 (inputs
11252 `(("glib" ,glib)
11253 ("gtk+" ,gtk+)
11254 ("libdazzle" ,libdazzle)
11255 ("polkit" ,polkit)))
11256 (native-inputs
11257 `(("gettext" ,gettext-minimal)
11258 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
11259 ("itstool" ,itstool)
11260 ("pkg-config" ,pkg-config)
11261 ("xmllint" ,libxml2)))
b478c9b0
TGR
11262 ;; This home page is so woefully out of date as to be essentially useless.
11263 ;; (home-page "http://www.sysprof.com")
11264 (home-page "https://wiki.gnome.org/Apps/Sysprof")
dcb4f7b7
LP
11265 (synopsis "System-wide performance profiler")
11266 (description "Sysprof is a sampling profiler that uses a kernel module
11267to generate stacktraces which are then interpreted by the userspace program
11268@command{sysprof}.")
11269 (license license:gpl3+)))
683cac58
LP
11270
11271(define-public gnome-builder
11272 (package
11273 (name "gnome-builder")
11274 (version "3.36.1")
11275 (source (origin
11276 (method url-fetch)
11277 (uri (string-append "mirror://gnome/sources/" name "/"
11278 (version-major+minor version) "/"
11279 name "-" version ".tar.xz"))
11280 (sha256
11281 (base32
11282 "17pvmd5jypar8dkr6w56hvf7jnq4l1wih2wwgkrv7sblr7rkkar2"))))
11283 (build-system meson-build-system)
11284 (arguments
11285 `(#:configure-flags (list "-Dnetwork_tests=false"
11286 ;; TODO: Enable all plugins...
11287 "-Dplugin_clang=false"
11288 "-Dplugin_flatpak=false"
11289 "-Dplugin_glade=false"
11290 ;; ... except this one.
11291 "-Dplugin_update_manager=false")
11292 #:phases
11293 (modify-phases %standard-phases
11294 (add-after 'unpack 'patch-meson
11295 (lambda* (#:key inputs #:allow-other-keys)
11296 (substitute* "build-aux/meson/post_install.py"
11297 (("gtk-update-icon-cache") "true")
11298 (("update-desktop-database") "true"))
11299 (substitute* "src/libide/meson.build"
11300 (("/usr/lib")
11301 (string-append (assoc-ref inputs "python-pygobject")
11302 "/lib")))
11303 #t))
11304 (add-before 'check 'pre-check
11305 (lambda _
11306 (system "Xvfb :1 &")
11307 (setenv "DISPLAY" ":1")
11308 #t)))))
11309 (inputs
11310 `(("devhelp" ,devhelp)
11311 ("gspell" ,gspell)
11312 ("gtk+" ,gtk+)
11313 ("json-glib" ,json-glib)
11314 ("jsonrpc-glib" ,jsonrpc-glib)
11315 ("libdazzle" ,libdazzle)
11316 ("libgit2-glib" ,libgit2-glib)
11317 ("libpeas" ,libpeas)
11318 ("python-pygobject" ,python-pygobject)
11319 ("sysprof" ,sysprof)
11320 ("template-glib" ,template-glib)
11321 ("vte" ,vte)
11322 ("webkitgtk" ,webkitgtk)))
11323 (propagated-inputs
11324 `(("gtksourceview" ,gtksourceview))) ;needed for settings
11325 (native-inputs
11326 `(("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
11327 ("glib:bin" ,glib "bin")
11328 ("gettext" ,gettext-minimal)
11329 ("pkg-config" ,pkg-config)
11330 ("vala" ,vala)
11331 ("xorg-server" ,xorg-server-for-tests)))
11332 (home-page "https://wiki.gnome.org/Apps/Builder")
11333 (synopsis "Toolsmith for GNOME-based applications")
876d022c
LC
11334 (description "Builder aims to be an integrated development
11335environment (IDE) for writing GNOME-based software. It features fuzzy search,
11336auto-completion, a mini code map, documentation browsing, Git integration, an
11337integrated profiler via Sysprof, debugging support, and more.")
683cac58 11338 (license license:gpl3+)))