gnu: r-colorout: Don't use unstable tarball.
[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>
44a06c94 3;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
29a7c98a 4;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
7108425c 5;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
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>
7d3bb433 11;;; Copyright © 2015, 2016, 2017, 2018, 2019 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>
0528f70d 14;;; Copyright © 2015, 2016, 2017, 2018, 2019 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>
3c8ba11a 17;;; Copyright © 2016, 2017 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>
47956fa0 22;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
e5e1df4d 23;;; Copyright © 2016 David Craven <david@craven.ch>
fa75a213 24;;; Copyright © 2016, 2017, 2018, 2019 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>
dcfa0acd 30;;; Copyright © 2017 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>
ec47c07d 37;;; Copyright © 2019 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>
aa51d92c 42;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
ad6e168b 43;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
93beace0 44;;; Copyright © 2019 David Wilson <david@daviwil.com>
995b7261
AE
45;;;
46;;; This file is part of GNU Guix.
47;;;
48;;; GNU Guix is free software; you can redistribute it and/or modify it
49;;; under the terms of the GNU General Public License as published by
50;;; the Free Software Foundation; either version 3 of the License, or (at
51;;; your option) any later version.
52;;;
53;;; GNU Guix is distributed in the hope that it will be useful, but
54;;; WITHOUT ANY WARRANTY; without even the implied warranty of
55;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
56;;; GNU General Public License for more details.
57;;;
58;;; You should have received a copy of the GNU General Public License
59;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
60
61(define-module (gnu packages gnome)
ed19903d 62 #:use-module (gnu packages)
ba5dd105 63 #:use-module (gnu packages admin)
411ba511 64 #:use-module (gnu packages aspell)
75016d07 65 #:use-module (gnu packages autotools)
7b212526 66 #:use-module (gnu packages avahi)
b29909b4 67 #:use-module (gnu packages backup)
6a180f6f 68 #:use-module (gnu packages base)
1e33331c 69 #:use-module (gnu packages bash)
5698b8b8 70 #:use-module (gnu packages bison)
aa51d92c 71 #:use-module (gnu packages boost)
5fc9b6c1 72 #:use-module (gnu packages build-tools)
df217748 73 #:use-module (gnu packages calendar)
b29909b4 74 #:use-module (gnu packages cdrom)
df12f04a 75 #:use-module (gnu packages check)
d61a894b 76 #:use-module (gnu packages cmake)
b29909b4 77 #:use-module (gnu packages compression)
23a22af6 78 #:use-module (gnu packages cups)
6e1bb642 79 #:use-module (gnu packages curl)
c3f29bc9 80 #:use-module (gnu packages cyrus-sasl)
6e1bb642 81 #:use-module (gnu packages databases)
255d1bbe 82 #:use-module (gnu packages dbm)
c769cf9f 83 #:use-module (gnu packages djvu)
ba5dd105 84 #:use-module (gnu packages dns)
b4ce6300 85 #:use-module (gnu packages docbook)
b29909b4 86 #:use-module (gnu packages documentation)
329d731b 87 #:use-module (gnu packages enchant)
b29909b4
TGR
88 #:use-module (gnu packages flex)
89 #:use-module (gnu packages fonts)
e762d943 90 #:use-module (gnu packages file-systems)
a56be436 91 #:use-module (gnu packages fontutils)
b29909b4 92 #:use-module (gnu packages freedesktop)
dfc407f3 93 #:use-module (gnu packages game-development)
fed5a689 94 #:use-module (gnu packages gettext)
b29909b4
TGR
95 #:use-module (gnu packages ghostscript)
96 #:use-module (gnu packages gl)
995b7261 97 #:use-module (gnu packages glib)
c1354b90 98 #:use-module (gnu packages gnupg)
23a22af6 99 #:use-module (gnu packages gnuzilla)
b29909b4
TGR
100 #:use-module (gnu packages gperf)
101 #:use-module (gnu packages graphviz)
85f5dc19 102 #:use-module (gnu packages gstreamer)
d9c1a22b 103 #:use-module (gnu packages gtk)
6b888eff 104 #:use-module (gnu packages guile)
b645146f 105 #:use-module (gnu packages ibus)
b29909b4
TGR
106 #:use-module (gnu packages image)
107 #:use-module (gnu packages imagemagick)
108 #:use-module (gnu packages inkscape)
9cc98f8a 109 #:use-module (gnu packages iso-codes)
b29909b4 110 #:use-module (gnu packages kerberos)
85f5dc19 111 #:use-module (gnu packages libcanberra)
b64e217f 112 #:use-module (gnu packages libunistring)
75016d07 113 #:use-module (gnu packages libusb)
b29909b4 114 #:use-module (gnu packages linux)
4e3fc547 115 #:use-module (gnu packages lirc)
7b212526 116 #:use-module (gnu packages lua)
b29909b4
TGR
117 #:use-module (gnu packages mail)
118 #:use-module (gnu packages multiprecision)
64fce637 119 #:use-module (gnu packages music)
b29909b4
TGR
120 #:use-module (gnu packages ncurses)
121 #:use-module (gnu packages nettle)
ba5dd105 122 #:use-module (gnu packages networking)
5fc9b6c1 123 #:use-module (gnu packages ninja)
aff0cce9 124 #:use-module (gnu packages nss)
b29909b4 125 #:use-module (gnu packages openldap)
b645146f 126 #:use-module (gnu packages password-utils)
de1215e2 127 #:use-module (gnu packages pcre)
b29909b4 128 #:use-module (gnu packages pdf)
27477d2d 129 #:use-module (gnu packages perl)
f70d8383 130 #:use-module (gnu packages photo)
995b7261 131 #:use-module (gnu packages pkg-config)
b29909b4
TGR
132 #:use-module (gnu packages polkit)
133 #:use-module (gnu packages popt)
7d3bb433 134 #:use-module (gnu packages pretty-print)
23a22af6 135 #:use-module (gnu packages pulseaudio)
995b7261 136 #:use-module (gnu packages python)
00014781
RW
137 #:use-module (gnu packages python-crypto)
138 #:use-module (gnu packages python-web)
44d10b1f 139 #:use-module (gnu packages python-xyz)
cce0da5e 140 #:use-module (gnu packages rdesktop)
b29909b4 141 #:use-module (gnu packages readline)
a76d0f03 142 #:use-module (gnu packages ruby)
ec47c07d 143 #:use-module (gnu packages rust)
b29909b4 144 #:use-module (gnu packages samba)
75016d07 145 #:use-module (gnu packages scanner)
240cee8a 146 #:use-module (gnu packages selinux)
c27e02bf 147 #:use-module (gnu packages slang)
b29909b4
TGR
148 #:use-module (gnu packages speech)
149 #:use-module (gnu packages spice)
cd0322a3 150 #:use-module (gnu packages sqlite)
4a1bf090 151 #:use-module (gnu packages ssh)
8f9ac901 152 #:use-module (gnu packages tex)
33dc54b0 153 #:use-module (gnu packages time)
a7fd7b68 154 #:use-module (gnu packages tls)
3c5dbd2b 155 #:use-module (gnu packages version-control)
b29909b4 156 #:use-module (gnu packages video)
59132b80 157 #:use-module (gnu packages virtualization)
f2b96b3a 158 #:use-module (gnu packages vpn)
a18f8eaf 159 #:use-module (gnu packages web)
b29909b4
TGR
160 #:use-module (gnu packages web)
161 #:use-module (gnu packages webkit)
162 #:use-module (gnu packages xdisorg)
163 #:use-module (gnu packages xiph)
164 #:use-module (gnu packages xml)
d633f2f6 165 #:use-module (gnu packages xorg)
b29909b4 166 #:use-module (gnu packages xorg)
a76d0f03 167 #:use-module (gnu artwork)
b29909b4
TGR
168 #:use-module (guix build-system cmake)
169 #:use-module (guix build-system glib-or-gtk)
170 #:use-module (guix build-system gnu)
171 #:use-module (guix build-system meson)
08be02be 172 #:use-module (guix build-system python)
b29909b4
TGR
173 #:use-module (guix build-system trivial)
174 #:use-module (guix download)
175 #:use-module (guix git-download)
176 #:use-module ((guix licenses) #:prefix license:)
177 #:use-module (guix packages)
178 #:use-module (guix utils)
a76d0f03 179 #:use-module (guix gexp)
4e3fdeb7 180 #:use-module (ice-9 match)
c024ae36 181 #:use-module (srfi srfi-1))
85f5dc19
AE
182
183(define-public brasero
184 (package
185 (name "brasero")
e2bf423a 186 (version "3.12.2")
85f5dc19
AE
187 (source (origin
188 (method url-fetch)
e8627cd9
DH
189 (uri (string-append "mirror://gnome/sources/" name "/"
190 (version-major+minor version) "/"
191 name "-" version ".tar.xz"))
85f5dc19
AE
192 (sha256
193 (base32
e2bf423a 194 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 195 (build-system glib-or-gtk-build-system)
e8627cd9
DH
196 (arguments
197 `(#:configure-flags (list
198 (string-append "--with-girdir="
199 (assoc-ref %outputs "out")
200 "/share/gir-1.0")
201 (string-append "--with-typelibdir="
202 (assoc-ref %outputs "out")
ce426deb
TD
203 "/lib/girepository-1.0"))
204 #:phases
205 (modify-phases %standard-phases
206 (add-before 'configure 'embed-growisofs
207 (lambda* (#:key inputs #:allow-other-keys)
208 (substitute* "plugins/growisofs/burn-growisofs.c"
209 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 210 #t)))))
85f5dc19
AE
211 (propagated-inputs
212 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
213 (native-inputs
214 `(("intltool" ,intltool)
426adbe8 215 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 216 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 217 ("pkg-config" ,pkg-config)))
85f5dc19 218 (inputs
ce426deb
TD
219 `(("dvd+rw-tools" ,dvd+rw-tools)
220 ("glib" ,glib)
85f5dc19
AE
221 ("gnome-doc-utils" ,gnome-doc-utils)
222 ("gstreamer" ,gstreamer)
223 ("gst-plugins-base" ,gst-plugins-base)
224 ("gtk+" ,gtk+)
85f5dc19
AE
225 ("itstool" ,itstool)
226 ("libcanberra" ,libcanberra)
227 ("libice" ,libice)
228 ("libnotify" ,libnotify)
229 ("libsm" ,libsm)
e8627cd9 230 ("libxml2" ,libxml2)
e8627cd9 231 ("totem-pl-parser" ,totem-pl-parser)))
85f5dc19
AE
232 (home-page "https://projects.gnome.org/brasero/")
233 (synopsis "CD/DVD burning tool for Gnome")
234 (description "Brasero is an application to burn CD/DVD for the Gnome
235Desktop. It is designed to be as simple as possible and has some unique
236features to enable users to create their discs easily and quickly.")
1dd26275 237 (license license:gpl2+)))
995b7261 238
d61a894b
CB
239(define-public deja-dup
240 (package
241 (name "deja-dup")
242 (version "34.3")
243 (source (origin
244 (method url-fetch)
245 (uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz")
246 (sha256
247 (base32
248 "1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9"))
249 (patches
250 (search-patches "deja-dup-use-ref-keyword-for-iter.patch"))))
251 (build-system glib-or-gtk-build-system)
252 (arguments
253 `(#:modules ((guix build gnu-build-system)
254 ((guix build cmake-build-system) #:prefix cmake:)
255 (guix build glib-or-gtk-build-system)
256 (guix build utils))
257 #:imported-modules (,@%glib-or-gtk-build-system-modules
258 (guix build cmake-build-system))
259 #:test-target "test"
260 #:configure-flags (list (string-append
261 "-DCMAKE_INSTALL_FULL_DATADIR=" %output)
262 (string-append
263 "-DCMAKE_INSTALL_LIBEXECDIR=" %output))
264 #:phases
265 (modify-phases %standard-phases
266 (add-after 'unpack 'patch-lockfile-deletion
267 (lambda rest
268 (substitute* "libdeja/tools/duplicity/DuplicityInstance.vala"
269 (("/bin/rm")
270 (which "rm")))))
271 (replace 'configure
272 (assoc-ref cmake:%standard-phases 'configure))
273 (delete 'check) ;; Fails due to issues with DBus
274 (add-after 'install 'wrap-deja-dup
275 (lambda* (#:key inputs outputs #:allow-other-keys)
276 (let ((python (assoc-ref inputs "python"))
277 (python-path (getenv "PYTHONPATH"))
278 (duplicity (assoc-ref inputs "duplicity"))
279 (out (assoc-ref outputs "out")))
280 (for-each
281 (lambda (program)
282 (wrap-program program
283 `("PATH" ":" prefix (,(string-append python "/bin")
284 ,(string-append duplicity "/bin"))))
285 (wrap-program program
286 `("PYTHONPATH" ":" prefix (,python-path))))
287
288 (find-files (string-append out "/bin")))
289 #t))))))
290 (inputs
291 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
292 ("gobject-introspection" ,gobject-introspection)
293 ("duplicity" ,duplicity)
61506fe5 294 ("python" ,python-2)
d61a894b
CB
295 ("python-pygobject" ,python2-pygobject)
296 ("gtk+" ,gtk+)
297 ("libnotify" ,libnotify)
298 ("libpeas" ,libpeas)
299 ("libsecret" ,libsecret)
300 ("packagekit" ,packagekit)))
301 (native-inputs
302 `(("pkg-config" ,pkg-config)
303 ("vala" ,vala)
304 ("gettext" ,gettext-minimal)
305 ("itstool" ,itstool)
306 ("intltool" ,intltool)
c69959f0 307 ("cmake" ,cmake-minimal)))
d61a894b
CB
308 (home-page "https://launchpad.net/deja-dup")
309 (synopsis "Simple backup tool, for regular encrypted backups")
310 (description
311 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
312uses duplicity as the backend, which supports incremental backups and storage
313either on a local, or remote machine via a number of methods.")
314 (license license:gpl3+)))
315
a56be436
RJ
316(define-public dia
317 ;; This version from GNOME's repository includes fixes for compiling with
318 ;; recent versions of the build tools. The latest activity on the
319 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
320 ;; fixes in 2016.
321 (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
322 (package
323 (name "dia")
324 (version (string-append "0.97.2-" (string-take commit 7)))
325 (source (origin
326 (method git-fetch)
327 (uri (git-reference
328 (url "https://git.gnome.org/browse/dia")
329 (commit commit)))
330 (file-name (string-append name "-" version "-checkout"))
331 (sha256
332 (base32
333 "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
334 (build-system gnu-build-system)
335 (inputs
336 `(("glib" ,glib "bin")
337 ("pango" ,pango)
338 ("gdk-pixbuf" ,gdk-pixbuf)
339 ("gtk+" ,gtk+-2)
340 ("libxml2" ,libxml2)
341 ("freetype" ,freetype)
342 ("libart-lgpl" ,libart-lgpl)))
343 (native-inputs
344 `(("intltool" ,intltool)
345 ("pkg-config" ,pkg-config)
346 ("automake" ,automake)
347 ("autoconf" ,autoconf)
348 ("libtool" ,libtool)
349 ("perl" ,perl)
350 ("python-wrapper" ,python-wrapper)))
351 (arguments
352 `(#:phases
353 (modify-phases %standard-phases
d10092b8 354 (add-after 'unpack 'run-autogen
a56be436
RJ
355 (lambda _
356 (system* "sh" "autogen.sh"))))))
357 (home-page "https://wiki.gnome.org/Apps/Dia")
358 (synopsis "Diagram creation for GNOME")
359 (description "Dia can be used to draw different types of diagrams, and
360includes support for UML static structure diagrams (class diagrams), entity
361relationship modeling, and network diagrams. The program supports various file
362formats like PNG, SVG, PDF and EPS.")
363 (license license:gpl2+))))
364
d0b19e44
RW
365;; This is the unstable release, but it is required for the current stable
366;; release of gvfs (1.38.1).
adc5cb1b
KK
367(define-public libgdata
368 (package
369 (name "libgdata")
d0b19e44 370 (version "0.17.9")
adc5cb1b
KK
371 (source (origin
372 (method url-fetch)
373 (uri (string-append "mirror://gnome/sources/" name "/"
374 (version-major+minor version) "/"
375 name "-" version ".tar.xz"))
376 (sha256
377 (base32
d0b19e44 378 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
379 (build-system gnu-build-system)
380 (arguments
381 '(#:phases
382 (modify-phases %standard-phases
448052b7
TGR
383 (add-before 'check 'disable-failing-tests
384 (lambda _
385 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
386 ;; They have been removed in libgdata 0.17.6, so just do the same.
387 (substitute* "gdata/tests/Makefile"
388 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
389 #t)))))
390 (native-inputs
391 `(("glib:bin" ,glib "bin")
392 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
393 ("intltool" ,intltool)
394 ("pkg-config" ,pkg-config)
395 ("uhttpmock" ,uhttpmock)))
396 (inputs
397 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 398 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
399 (propagated-inputs
400 `(("gcr" ,gcr)
d0b19e44 401 ("glib" ,glib)
14c297fd 402 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 403 ("json-glib" ,json-glib)
adc5cb1b 404 ("liboauth" ,liboauth)
d0b19e44 405 ("libsoup" ,libsoup)
adc5cb1b
KK
406 ("libxml2" ,libxml2)))
407 (home-page "https://wiki.gnome.org/Projects/libgdata")
408 (synopsis "Library for accessing online service APIs")
409 (description
410 "libgdata is a GLib-based library for accessing online service APIs using
411the GData protocol — most notably, Google's services. It provides APIs to
412access the common Google services, and has full asynchronous support.")
413 (license license:lgpl2.1+)))
414
94e10cf4
KK
415(define-public libgxps
416 (package
417 (name "libgxps")
66470a5a 418 (version "0.3.1")
94e10cf4
KK
419 (source (origin
420 (method url-fetch)
7f10628c 421 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
422 (version-major+minor version) "/"
423 name "-" version ".tar.xz"))
424 (sha256
425 (base32
66470a5a 426 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 427 (build-system meson-build-system)
94e10cf4
KK
428 (native-inputs
429 `(("gobject-introspection" ,gobject-introspection)
430 ("pkg-config" ,pkg-config)))
431 (inputs
c8d62d93 432 `(("gtk+" ,gtk+)
b6b3e512 433 ("libjpeg" ,libjpeg-turbo)
94e10cf4 434 ("lcms" ,lcms)
0a6e9e13 435 ("libtiff" ,libtiff)))
c8d62d93
MB
436 (propagated-inputs
437 ;; In Requires of libgxps.pc.
438 `(("cairo" ,cairo)
439 ("glib" ,glib)
440 ("libarchive" ,libarchive)))
94e10cf4
KK
441 (home-page "https://wiki.gnome.org/Projects/libgxps")
442 (synopsis "GObject-based library for handling and rendering XPS documents")
443 (description
444 "libgxps is a GObject-based library for handling and rendering XPS
445documents. This package also contains binaries that can convert XPS documents
446to other formats.")
447 (license license:lgpl2.1+)))
448
7aab13f1
ML
449(define-public gnome-common
450 (package
451 (name "gnome-common")
af83490d 452 (version "3.18.0")
7aab13f1
ML
453 (source
454 (origin
455 (method url-fetch)
456 (uri (string-append "mirror://gnome/sources/" name "/"
457 (version-major+minor version) "/"
458 name "-" version ".tar.xz"))
459 (sha256
460 (base32
af83490d 461 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
462 (build-system gnu-build-system)
463 (home-page "https://www.gnome.org/")
464 (synopsis "Bootstrap GNOME modules built from Git")
465 (description "gnome-common contains various files needed to bootstrap
466GNOME modules built from Git. It contains a common \"autogen.sh\" script that
467can be used to configure a source directory checked out from Git and some
468commonly used macros.")
469 (license license:gpl2+)))
470
9cc98f8a
CR
471(define-public gnome-desktop
472 (package
473 (name "gnome-desktop")
3387ee41 474 (version "3.30.2")
9cc98f8a
CR
475 (source
476 (origin
477 (method url-fetch)
b38e45d8
EB
478 (uri (string-append "mirror://gnome/sources/" name "/"
479 (version-major+minor version) "/"
9cc98f8a
CR
480 name "-" version ".tar.xz"))
481 (sha256
482 (base32
3387ee41 483 "0k6iccfj9naw42dl2mgljfvk12dmvg06plg86qd81nksrf9ycxal"))))
9cc98f8a 484 (build-system gnu-build-system)
a0fe7c06
CB
485 (arguments
486 '(#:phases
487 (modify-phases %standard-phases
488 (add-before 'configure 'patch-path
489 (lambda* (#:key inputs #:allow-other-keys)
490 (let ((libc (assoc-ref inputs "libc")))
491 (substitute* "libgnome-desktop/gnome-languages.c"
492 (("\"locale\"")
493 (string-append "\"" libc "/bin/locale\"")))
494 #t))))))
9cc98f8a 495 (native-inputs
a8340482
SB
496 `(("gobject-introspection" ,gobject-introspection)
497 ("itstool" ,itstool)
bcb354ad
SB
498 ("intltool" ,intltool)
499 ("pkg-config" ,pkg-config)
500 ("xmllint" ,libxml2)))
a8340482
SB
501 (propagated-inputs
502 ;; Required by gnome-desktop-3.0.pc.
503 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
504 ("gtk+" ,gtk+)))
9cc98f8a
CR
505 (inputs
506 `(("gdk-pixbuf" ,gdk-pixbuf)
507 ("glib" ,glib)
9cc98f8a 508 ("iso-codes" ,iso-codes)
9863ce20 509 ("libseccomp" ,libseccomp)
9cc98f8a
CR
510 ("libx11" ,libx11)
511 ("libxext" ,libxext)
512 ("libxkbfile" ,libxkbfile)
513 ("libxrandr" ,libxrandr)
514 ("xkeyboard-config" ,xkeyboard-config)))
515 (home-page "https://www.gnome.org/")
516 (synopsis
35b9e423 517 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
518 (description
519 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
520on the desktop, but that cannot live in the platform for various reasons.
521There is no API or ABI guarantee, although we are doing our best to provide
522stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
523
524The gnome-about program helps find which version of GNOME is installed.")
525 ; Some bits under the LGPL.
1dd26275 526 (license license:gpl2+)))
9cc98f8a 527
995b7261
AE
528(define-public gnome-doc-utils
529 (package
530 (name "gnome-doc-utils")
531 (version "0.20.10")
532 (source
533 (origin
534 (method url-fetch)
b38e45d8
EB
535 (uri (string-append "mirror://gnome/sources/" name "/"
536 (version-major+minor version) "/"
995b7261
AE
537 name "-" version ".tar.xz"))
538 (sha256
539 (base32
540 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
541 (build-system gnu-build-system)
c4c4cc05 542 (native-inputs
995b7261 543 `(("intltool" ,intltool)
b4ce6300 544 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 545 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
546 ("libxml2" ,libxml2)
547 ("libxslt" ,libxslt)
548 ("pkg-config" ,pkg-config)
549 ("python-2" ,python-2)))
995b7261
AE
550 (home-page "https://wiki.gnome.org/GnomeDocUtils")
551 (synopsis
552 "Documentation utilities for the Gnome project")
553 (description
554 "Gnome-doc-utils is a collection of documentation utilities for the
555Gnome project. It includes xml2po tool which makes it easier to translate
556and keep up to date translations of documentation.")
1dd26275 557 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 558
6c4f7022
DC
559(define-public gnome-disk-utility
560 (package
561 (name "gnome-disk-utility")
0dd65d5a 562 (version "3.30.2")
6c4f7022
DC
563 (source (origin
564 (method url-fetch)
565 (uri (string-append "mirror://gnome/sources/" name "/"
566 (version-major+minor version) "/"
567 name "-" version ".tar.xz"))
568 (sha256
569 (base32
0dd65d5a 570 "1365fabz3q7n3bl775z82m1nzg18birxxyd7l2ssbbkqrx3h7wgi"))))
4b9a65bf 571 (build-system meson-build-system)
6c4f7022
DC
572 (native-inputs
573 `(("glib:bin" ,glib "bin")
4b9a65bf 574 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
6c4f7022
DC
575 ("intltool" ,intltool)
576 ("pkg-config" ,pkg-config)
577 ("docbook-xml" ,docbook-xml)
578 ("docbook-xsl" ,docbook-xsl)
579 ("libxml2" ,libxml2)
580 ("libxslt" ,libxslt)))
581 (inputs
582 `(("glib" ,glib)
583 ("appstream-glib" ,appstream-glib)
584 ("gnome-settings-daemon" ,gnome-settings-daemon)
585 ("gtk+" ,gtk+)
586 ("libcanberra" ,libcanberra)
587 ("libdvdread" ,libdvdread)
588 ("libnotify" ,libnotify)
589 ("libpwquality" ,libpwquality)
590 ("libsecret" ,libsecret)
591 ("udisks" ,udisks)))
592 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
593 (synopsis "Disk management utility for GNOME")
594 (description "Disk management utility for GNOME.")
595 (license license:gpl2+)))
596
8ff49011
RW
597(define-public gcr
598 (package
599 (name "gcr")
bea6b829 600 (version "3.28.1")
8ff49011 601 (source (origin
0daf0efb
RW
602 (method url-fetch)
603 (uri (string-append "mirror://gnome/sources/" name "/"
604 (version-major+minor version) "/"
605 name "-" version ".tar.xz"))
606 (sha256
607 (base32
bea6b829 608 "12qn7mcmxb45lz1gq3s3b34rimiyrrshkrpvxdw1fc0w26i4l84m"))
03ecf85a
MB
609 (patches
610 (list
611 ;; This patch solves an ordering issue that showed up when
612 ;; running the test suite against newer Glib 2.60. See
613 ;; <https://gitlab.gnome.org/GNOME/gcr/merge_requests/9>.
614 (origin
615 (method url-fetch)
616 (uri (string-append "https://gitlab.gnome.org/GNOME/gcr/commit/"
617 "45d637578d7643ff96c0183ac267497a0b4c6344.diff"))
618 (file-name "gcr-hashtable-ordering.patch")
619 (sha256
620 (base32
621 "1vsqiys8fsm1f1vvds783wwf7zwi5v282rhsai8jrsm6x7h79gbi")))))))
8ff49011
RW
622 (build-system gnu-build-system)
623 (arguments
0daf0efb
RW
624 '(#:phases
625 (modify-phases %standard-phases
626 ;; These fail because /var/lib/dbus/machine-id is not present in the
627 ;; build environment.
628 (add-after 'unpack 'disable-failing-tests
629 (lambda _
630 (substitute* "gcr/test-system-prompt.c"
631 (("g_test_add") "//")
632 (("return.*") "return 0;"))
633 #t))
634 (add-before 'check 'pre-check
635 (lambda _
636 ;; Some tests expect to write to $HOME.
637 (setenv "HOME" "/tmp")
638 #t)))))
8ff49011
RW
639 (inputs
640 `(("dbus" ,dbus)
0daf0efb 641 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
642 ("libgcrypt" ,libgcrypt)))
643 (native-inputs
0daf0efb 644 `(("python" ,python-2) ;for tests
8ff49011
RW
645 ("pkg-config" ,pkg-config)
646 ("glib" ,glib "bin")
2af4f5b0
SB
647 ("gobject-introspection" ,gobject-introspection)
648 ("intltool" ,intltool)
0daf0efb 649 ("libxml2" ,libxml2)
bea6b829 650 ("vala" ,vala)
2af4f5b0 651 ("xsltproc" ,libxslt)))
8ff49011
RW
652 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
653 (propagated-inputs
654 `(("p11-kit" ,p11-kit)
655 ("glib" ,glib)
656 ("gtk+" ,gtk+)))
f032d0be 657 (home-page "https://www.gnome.org")
8ff49011
RW
658 (synopsis "Libraries for displaying certificates and accessing key stores")
659 (description
660 "The GCR package contains libraries used for displaying certificates and
661accessing key stores. It also provides the viewer for crypto files on the
662GNOME Desktop.")
663 (license license:lgpl2.1+)))
664
c1354b90
LC
665(define-public libgnome-keyring
666 (package
667 (name "libgnome-keyring")
5e8aec2c 668 (version "3.12.0")
c1354b90
LC
669 (source (origin
670 (method url-fetch)
b38e45d8
EB
671 (uri (string-append "mirror://gnome/sources/" name "/"
672 (version-major+minor version) "/"
673 name "-" version ".tar.xz"))
c1354b90
LC
674 (sha256
675 (base32
5e8aec2c 676 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 677 (build-system gnu-build-system)
c1354b90 678 (inputs
c4c4cc05 679 `(("libgcrypt" ,libgcrypt)
c1354b90 680 ("dbus" ,dbus)))
c4c4cc05
JD
681 (native-inputs
682 `(("pkg-config" ,pkg-config)
426adbe8 683 ("glib" ,glib "bin")
c4c4cc05 684 ("intltool" ,intltool)))
c1354b90
LC
685 (propagated-inputs
686 ;; Referred to in .h files and .pc.
687 `(("glib" ,glib)))
f032d0be 688 (home-page "https://www.gnome.org")
c1354b90
LC
689 (synopsis "Accessing passwords from the GNOME keyring")
690 (description
691 "Client library to access passwords from the GNOME keyring.")
692
693 ;; Though a couple of files are LGPLv2.1+.
1dd26275 694 (license license:lgpl2.0+)))
c1354b90 695
e99a3d6f
RW
696(define-public gnome-keyring
697 (package
698 (name "gnome-keyring")
ab35cc6e 699 (version "3.28.2")
e99a3d6f
RW
700 (source (origin
701 (method url-fetch)
702 (uri (string-append "mirror://gnome/sources/" name "/"
703 (version-major+minor version) "/"
704 name "-" version ".tar.xz"))
705 (sha256
706 (base32
ab35cc6e 707 "0sk4las4ji8wv9nx8mldzqccmpmkvvr9pdwv9imj26r10xyin5w1"))))
e99a3d6f
RW
708 (build-system gnu-build-system)
709 (arguments
710 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
711 ;not exist
712 #:configure-flags
713 (list
714 (string-append "--with-pkcs11-config="
715 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
716 (string-append "--with-pkcs11-modules="
717 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
718 #:phases
719 (modify-phases %standard-phases
ab35cc6e
RW
720 (add-after 'unpack 'fix-/bin/sh-reference
721 (lambda _
722 (substitute* "po/Makefile.in.in"
723 (("/bin/sh") (which "sh")))
724 #t))
5120f24f
RW
725 (add-after 'unpack 'fix-docbook
726 (lambda* (#:key inputs #:allow-other-keys)
727 (substitute* "docs/Makefile.am"
728 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
729 (string-append (assoc-ref inputs "docbook-xsl")
730 "/xml/xsl/docbook-xsl-"
731 ,(package-version docbook-xsl)
732 "/manpages/docbook.xsl")))
733 (setenv "XML_CATALOG_FILES"
734 (string-append (assoc-ref inputs "docbook-xml")
735 "/xml/dtd/docbook/catalog.xml"))
736 ;; Rerun the whole thing to avoid version mismatch ("This is
737 ;; Automake 1.15.1, but the definition used by this
738 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
739 ;; use 'autoreconf' because it insists on running 'libtoolize'.
740 (invoke "autoconf")
741 (invoke "aclocal")
742 (invoke "automake" "-ac"))))))
e99a3d6f
RW
743 (inputs
744 `(("libgcrypt" ,libgcrypt)
1a0b2d82 745 ("linux-pam" ,linux-pam)
ab35cc6e 746 ("openssh" ,openssh)
e99a3d6f
RW
747 ("dbus" ,dbus)
748 ("gcr" ,gcr)))
749 (native-inputs
750 `(("pkg-config" ,pkg-config)
751 ("glib" ,glib "bin")
5120f24f 752 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
753 ("python" ,python-2) ;for tests
754 ("intltool" ,intltool)
755 ("autoconf" ,autoconf)
756 ("automake" ,automake)
757 ("libxslt" ,libxslt) ;for documentation
758 ("docbook-xml" ,docbook-xml-4.2)
759 ("docbook-xsl" ,docbook-xsl)))
f032d0be 760 (home-page "https://www.gnome.org")
e99a3d6f
RW
761 (synopsis "Daemon to store passwords and encryption keys")
762 (description
763 "gnome-keyring is a program that keeps passwords and other secrets for
764users. It is run as a daemon in the session, similar to ssh-agent, and other
765applications locate it via an environment variable or D-Bus.
766
767The program can manage several keyrings, each with its own master password,
768and there is also a session keyring which is never stored to disk, but
769forgotten when the session ends.")
770 (license license:lgpl2.1+)))
771
c1354b90
LC
772(define-public evince
773 (package
774 (name "evince")
2dfc16d1 775 (version "3.30.2")
c1354b90
LC
776 (source (origin
777 (method url-fetch)
b38e45d8
EB
778 (uri (string-append "mirror://gnome/sources/" name "/"
779 (version-major+minor version) "/"
780 name "-" version ".tar.xz"))
c1354b90
LC
781 (sha256
782 (base32
2dfc16d1 783 "0k7jln6dpg4bpv61niicjzkzyq6fhb3yfld7pc8ck71c8pmvsnx9"))))
121de2e1 784 (build-system glib-or-gtk-build-system)
c1354b90
LC
785 (arguments
786 `(#:configure-flags '("--disable-nautilus")
554b2dac
SB
787 #:phases
788 (modify-phases %standard-phases
789 (add-before 'install 'skip-gtk-update-icon-cache
790 ;; Don't create 'icon-theme.cache'.
791 (lambda _
792 (substitute* "data/Makefile"
793 (("gtk-update-icon-cache") "true"))
794 #t)))))
c1354b90 795 (inputs
9a096881
KK
796 `(("libarchive" ,libarchive)
797 ("libgxps" ,libgxps)
798 ("libspectre" ,libspectre)
c769cf9f 799 ("djvulibre" ,djvulibre)
c1354b90
LC
800 ("ghostscript" ,ghostscript)
801 ("poppler" ,poppler)
c769cf9f
SB
802 ("libtiff" ,libtiff)
803 ;; TODO:
c769cf9f
SB
804 ;; Build libkpathsea as a shared library for DVI support.
805 ;; ("libkpathsea" ,texlive-bin)
806 ("gnome-desktop" ,gnome-desktop)
c1354b90 807 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 808 ("gspell" ,gspell)
c1354b90 809 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 810 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
811 ("gdk-pixbuf" ,gdk-pixbuf)
812 ("atk" ,atk)
813 ("pango" ,pango)
814 ("gtk+" ,gtk+)
815 ("glib" ,glib)
816 ("libxml2" ,libxml2)
c1354b90
LC
817 ("libsm" ,libsm)
818 ("libice" ,libice)
96e42467 819 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
820 ("dconf" ,dconf)
821 ("libcanberra" ,libcanberra)
c769cf9f 822 ("libsecret" ,libsecret)
a271096b 823
c1354b90
LC
824 ;; For tests.
825 ("dogtail" ,python2-dogtail)))
96e42467 826 (native-inputs
bcb354ad
SB
827 `(("itstool" ,itstool)
828 ("intltool" ,intltool)
426adbe8 829 ("glib" ,glib "bin")
bcb354ad
SB
830 ("pkg-config" ,pkg-config)
831 ("xmllint" ,libxml2)))
c1354b90 832 (home-page
f032d0be 833 "https://www.gnome.org/projects/evince/")
c1354b90
LC
834 (synopsis "GNOME's document viewer")
835 (description
836 "Evince is a document viewer for multiple document formats. It
837currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
838of Evince is to replace the multiple document viewers that exist
96e42467 839on the GNOME Desktop with a single simple application.")
1dd26275 840 (license license:gpl2+)))
c1354b90 841
22e32e69
AE
842(define-public gsettings-desktop-schemas
843 (package
844 (name "gsettings-desktop-schemas")
10ff872f 845 (version "3.28.1")
22e32e69
AE
846 (source
847 (origin
848 (method url-fetch)
849 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 850 (version-major+minor version) "/"
22e32e69
AE
851 name "-" version ".tar.xz"))
852 (sha256
853 (base32
10ff872f 854 "0bshwm49cd01ighsxqlbqn10q0ch71ff99gcrx8pr2gyky2ad3pq"))))
22e32e69
AE
855 (build-system gnu-build-system)
856 (inputs
c4c4cc05
JD
857 `(("glib" ,glib)))
858 (native-inputs
859 `(("intltool" ,intltool)
426adbe8 860 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 861 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
862 ("pkg-config" ,pkg-config)))
863 (home-page "https://launchpad.net/gsettings-desktop-schemas")
864 (synopsis
865 "GNOME settings for various desktop components")
866 (description
867 "Gsettings-desktop-schemas contains a collection of GSettings schemas
868for settings shared by various components of the GNOME desktop.")
1dd26275 869 (license license:lgpl2.1+)))
22e32e69 870
27477d2d
AE
871(define-public icon-naming-utils
872 (package
873 (name "icon-naming-utils")
874 (version "0.8.90")
875 (source
876 (origin
877 (method url-fetch)
5cc3096c 878 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
879 version ".tar.bz2"))
880 (sha256
881 (base32
882 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
883 (build-system gnu-build-system)
884 (inputs
885 `(("perl" ,perl)
886 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
887 (arguments
888 '(#:phases
dc1d3cde
KK
889 (modify-phases %standard-phases
890 (add-after 'install 'set-load-paths
891 ;; Tell 'icon-name-mapping' where XML::Simple is.
892 (lambda* (#:key outputs #:allow-other-keys)
893 (let* ((out (assoc-ref outputs "out"))
894 (prog (string-append out "/libexec/icon-name-mapping")))
895 (wrap-program
896 prog
897 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
898 #t)))))
27477d2d
AE
899 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
900 (synopsis
901 "Utility to implement the Freedesktop Icon Naming Specification")
902 (description
903 "To help with the transition to the Freedesktop Icon Naming
904Specification, the icon naming utility maps the icon names used by the
905GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 906 (license license:lgpl2.1+)))
27477d2d 907
7d3f3651
AE
908(define-public gnome-icon-theme
909 (package
910 (name "gnome-icon-theme")
b32f58dd 911 (version "3.12.0")
7d3f3651
AE
912 (source
913 (origin
914 (method url-fetch)
915 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 916 (version-major+minor version) "/"
7d3f3651
AE
917 name "-" version ".tar.xz"))
918 (sha256
919 (base32
b32f58dd 920 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 921 (build-system gnu-build-system)
5613c27d
SB
922 (arguments
923 '(#:configure-flags
924 ;; Don't create 'icon-theme.cache'.
925 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
926 (true (string-append coreutils "/bin/true")))
927 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 928 (native-inputs
5613c27d 929 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
930 ("intltool" ,intltool)
931 ("pkg-config" ,pkg-config)))
f032d0be 932 (home-page "https://art.gnome.org/")
7d3f3651
AE
933 (synopsis
934 "GNOME icon theme")
935 (description
936 "Icons for the GNOME desktop.")
1dd26275 937 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 938
14eeefa2
SB
939;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
940(define-public adwaita-icon-theme
941 (package (inherit gnome-icon-theme)
942 (name "adwaita-icon-theme")
412e5302 943 (version "3.30.1")
14eeefa2
SB
944 (source (origin
945 (method url-fetch)
946 (uri (string-append "mirror://gnome/sources/" name "/"
947 (version-major+minor version) "/"
948 name "-" version ".tar.xz"))
949 (sha256
950 (base32
412e5302 951 "1kp1lis3dr16jmlgycz1b29jsr6ir8wmqj6laqwlhs663cmjlxbd"))))
5613c27d
SB
952 (native-inputs
953 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 954
ae792dba
RW
955(define-public tango-icon-theme
956 (package
957 (name "tango-icon-theme")
958 (version "0.8.90")
959 (source (origin
960 (method url-fetch)
961 (uri (string-append "http://tango.freedesktop.org/releases/"
962 "tango-icon-theme-" version ".tar.bz2"))
963 (sha256
964 (base32
965 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
966 (build-system gnu-build-system)
967 (native-inputs
968 `(("icon-naming-utils" ,icon-naming-utils)
969 ("intltool" ,intltool)
970 ("imagemagick" ,imagemagick)
971 ("pkg-config" ,pkg-config)))
972 (home-page "http://tango-project.org/")
973 (synopsis "Tango icon theme")
974 (description "This is an icon theme that follows the Tango visual
975guidelines.")
976 (license license:public-domain)))
977
9167f8e6
LC
978(define-public shared-mime-info
979 (package
980 (name "shared-mime-info")
18138ab9 981 (version "1.10")
9167f8e6
LC
982 (source (origin
983 (method url-fetch)
5cc3096c 984 (uri (string-append "https://freedesktop.org/~hadess/"
b38e45d8 985 "shared-mime-info-" version ".tar.xz"))
9167f8e6
LC
986 (sha256
987 (base32
18138ab9 988 "1gxyvwym3xgpmp262gfn8jg5sla6k5hy6m6dmy6grgiq90xsh9f6"))))
9167f8e6
LC
989 (build-system gnu-build-system)
990 (arguments
991 ;; The build system appears not to be parallel-safe.
992 '(#:parallel-build? #f))
993 (inputs
994 `(("glib" ,glib)
c4c4cc05 995 ("libxml2" ,libxml2)))
9167f8e6 996 (native-inputs
c4c4cc05
JD
997 `(("intltool" ,intltool)
998 ("pkg-config" ,pkg-config)))
57e7d748 999 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
1000 (synopsis "Database of common MIME types")
1001 (description
1002 "The shared-mime-info package contains the core database of common types
1003and the update-mime-database command used to extend it. It requires glib2 to
1004be installed for building the update command. Additionally, it uses intltool
1005for translations, though this is only a dependency for the maintainers. This
1006database is translated at Transifex.")
1dd26275 1007 (license license:gpl2+)))
9167f8e6 1008
dd1fcddc
CB
1009(define-public system-config-printer
1010 (package
1011 (name "system-config-printer")
1012 (version "1.5.11")
1013 (source (origin
1014 (method url-fetch)
1015 (uri (string-append
1016 "https://github.com/zdohnal/system-config-printer/releases/"
1017 "download/" version
1018 "/system-config-printer-" version ".tar.xz"))
1019 (sha256
1020 (base32
1021 "1lq0q51bhanirpjjvvh4xiafi8hgpk8r32h0dj6dn3f32z8pib9q"))))
1022 (build-system glib-or-gtk-build-system)
1023 (arguments
1024 `(#:imported-modules ((guix build python-build-system)
1025 ,@%glib-or-gtk-build-system-modules)
1026 #:phases
1027 (modify-phases %standard-phases
1028 (add-after 'unpack 'patch-Makefile.am
1029 (lambda _
1030 ;; The Makefile generates some scripts, so set a valid shebang
1031 (substitute* "Makefile.am"
1032 (("/bin/bash") (which "bash")))
1033 (delete-file "configure")
1034 #t))
1035 (add-after 'unpack 'patch-docbook-xml
1036 (lambda* (#:key inputs #:allow-other-keys)
1037 ;; Modify the man XML otherwise xmlto tries to access the network
1038 (substitute* "man/system-config-printer.xml"
1039 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
1040 (string-append (assoc-ref inputs "docbook-xml")
1041 "/xml/dtd/docbook/")))
1042 #t))
1043 (add-after 'install 'wrap-for-python
1044 (@@ (guix build python-build-system) wrap))
1045 (add-after 'install 'wrap
1046 (lambda* (#:key outputs #:allow-other-keys)
1047 (let ((out (assoc-ref outputs "out"))
1048 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
1049 (for-each
1050 (lambda (program)
1051 (wrap-program program
1052 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
1053 (map (lambda (name)
1054 (string-append out "/bin/" name))
1055 '("system-config-printer"
1056 "system-config-printer-applet"
1057 "install-printerdriver"
1058 "scp-dbus-service"))))
1059 #t)))))
1060 (inputs
1061 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1062 ("gobject-introspection" ,gobject-introspection)
1063 ("python" ,python)
1064 ("cups" ,cups)
1065 ("python-dbus" ,python-dbus)
1066 ("python-pygobject" ,python-pygobject)
1067 ("python-pycups" ,python-pycups)
1068 ("python-requests" ,python-requests)
1069 ("python-pycairo" ,python-pycairo)
1070 ("libnotify" ,libnotify)
1071 ("packagekit" ,packagekit)))
1072 (native-inputs
1073 `(("pkg-config" ,pkg-config)
1074 ("desktop-file-utils" ,desktop-file-utils)
1075 ("glib" ,glib)
1076 ("autoconf" ,autoconf)
1077 ("automake" ,automake)
1078 ("intltool" ,intltool)
1079 ("xmlto" ,xmlto)
1080 ("docbook-xml" ,docbook-xml-4.1.2)
1081 ("docbook-xsl" ,docbook-xsl)
1082 ("libxml2" ,libxml2)))
1083 (home-page "https://github.com/zdohnal/system-config-printer")
1084 (synopsis "CUPS administration tool")
1085 (description
1086 "system-config-printer is a CUPS administration tool. It's written in
1087Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
1088configuring CUPS.")
1089 (license license:gpl2+)))
1090
bef4dd92
AE
1091(define-public hicolor-icon-theme
1092 (package
1093 (name "hicolor-icon-theme")
851cb6dd 1094 (version "0.17")
bef4dd92
AE
1095 (source
1096 (origin
1097 (method url-fetch)
5cc3096c 1098 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 1099 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
1100 (sha256
1101 (base32
851cb6dd 1102 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
1103 (build-system gnu-build-system)
1104 (arguments
1105 `(#:tests? #f)) ; no check target
57e7d748 1106 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
1107 (synopsis
1108 "Freedesktop icon theme")
1109 (description
1110 "Freedesktop icon theme.")
1dd26275 1111 (license license:gpl2)))
bef4dd92 1112
d9c1a22b
AE
1113(define-public libnotify
1114 (package
1115 (name "libnotify")
195bfa68 1116 (version "0.7.7")
d9c1a22b
AE
1117 (source
1118 (origin
1119 (method url-fetch)
1120 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1121 (version-major+minor version) "/"
d9c1a22b
AE
1122 name "-" version ".tar.xz"))
1123 (sha256
1124 (base32
195bfa68 1125 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 1126 (build-system gnu-build-system)
6acf6cec
MB
1127 (arguments
1128 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
1129 (propagated-inputs
1130 `(;; In Requires of libnotify.pc.
1131 ("gdk-pixbuf" ,gdk-pixbuf)
1132 ("glib" ,glib)))
d9c1a22b 1133 (inputs
7ef08efa 1134 `(("gtk+" ,gtk+)
c4c4cc05
JD
1135 ("libpng" ,libpng)))
1136 (native-inputs
426adbe8 1137 `(("pkg-config" ,pkg-config)
277a7d82
JN
1138 ("glib" ,glib "bin")
1139 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
1140 (home-page "https://developer-next.gnome.org/libnotify/")
1141 (synopsis
1142 "GNOME desktop notification library")
1143 (description
1144 "Libnotify is a library that sends desktop notifications to a
35b9e423 1145notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
1146notifications can be used to inform the user about an event or display
1147some form of information without getting in the user's way.")
1dd26275 1148 (license license:lgpl2.1+)))
7a8605ce
CR
1149
1150(define-public libpeas
1151 (package
1152 (name "libpeas")
db122a9b 1153 (version "1.22.0")
7a8605ce
CR
1154 (source
1155 (origin
1156 (method url-fetch)
1157 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1158 (version-major+minor version) "/"
7a8605ce
CR
1159 name "-" version ".tar.xz"))
1160 (sha256
1161 (base32
db122a9b 1162 "0qm908kisyjzjxvygdl18hjqxvvgkq9w0phs2g55pck277sw0bsv"))))
7a8605ce 1163 (build-system gnu-build-system)
7a8605ce 1164 (inputs
2ed6522a
SB
1165 `(("gtk+" ,gtk+)
1166 ("glade" ,glade3)
2ed6522a
SB
1167 ("python" ,python)
1168 ("python-pygobject" ,python-pygobject)))
141aed80
LC
1169 (native-inputs
1170 `(("pkg-config" ,pkg-config)
93622993 1171 ("glib:bin" ,glib "bin")
141aed80
LC
1172 ("gobject-introspection" ,gobject-introspection)
1173 ("intltool" ,intltool)))
55b7bbd8
LC
1174 (propagated-inputs
1175 ;; The .pc file "Requires" gobject-introspection.
1176 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
1177 (home-page "https://wiki.gnome.org/Libpeas")
1178 (synopsis "GObject plugin system")
1179 (description
d1e4ad1b
TGR
1180 "Libpeas is a gobject-based plugin engine, targeted at giving every
1181application the chance to assume its own extensibility. It also has a set of
1182features including, but not limited to: multiple extension points; on-demand
1183(lazy) programming language support for C, Python and JS; simplicity of the
1184API.")
1dd26275 1185 (license license:lgpl2.0+)))
ed19903d
JD
1186
1187(define-public gtkglext
1188 (package
1189 (name "gtkglext")
1190 (version "1.2.0")
1191 (source (origin
1192 (method url-fetch)
0f971a04 1193 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
1194 version "/gtkglext-" version ".tar.gz"))
1195 (sha256
1196 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
1197 (patches (search-patches
1198 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 1199 (build-system gnu-build-system)
14e2f61a
RW
1200 (arguments
1201 `(#:phases
1202 (modify-phases %standard-phases
1203 ;; Fix a collision between a local variable and a definition from
1204 ;; glibc's string.h.
1205 (add-after 'unpack 'fix-collision
1206 (lambda _
1207 (substitute* "gdk/gdkglshapes.c"
1208 ((" index") " triangle_index"))
1209 #t)))))
ed19903d
JD
1210 (inputs `(("gtk+" ,gtk+-2)
1211 ("mesa" ,mesa)
cc8b02f4 1212 ("glu" ,glu)
ed19903d
JD
1213 ("libx11" ,libx11)
1214 ("libxt" ,libxt)))
426adbe8
LC
1215 (native-inputs `(("pkg-config" ,pkg-config)
1216 ("glib" ,glib "bin")))
a83b6a06 1217 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 1218 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 1219 (synopsis "OpenGL extension to GTK+")
35b9e423 1220 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
1221additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
1222API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 1223 (license license:lgpl2.1+)))
3600420e
JD
1224
1225(define-public glade3
1226 (package
1227 (name "glade")
c6571adb 1228 (version "3.22.1")
b38e45d8
EB
1229 (source (origin
1230 (method url-fetch)
1231 (uri (string-append "mirror://gnome/sources/" name "/"
1232 (version-major+minor version) "/"
f5ca44b8 1233 name "-" version ".tar.xz"))
3600420e 1234 (sha256
f714d9fe 1235 (base32
c6571adb 1236 "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z"))))
6983ba56 1237 (build-system glib-or-gtk-build-system)
f5ca44b8
RW
1238 (arguments
1239 `(#:tests? #f ; needs X, GL, and software rendering
1240 #:phases
1241 (modify-phases %standard-phases
1242 (add-before 'configure 'fix-docbook
1243 (lambda* (#:key inputs #:allow-other-keys)
1244 (substitute* "man/Makefile.in"
1245 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1246 (string-append (assoc-ref inputs "docbook-xsl")
1247 "/xml/xsl/docbook-xsl-"
1248 ,(package-version docbook-xsl)
1249 "/manpages/docbook.xsl")))
1250 #t)))))
3600420e 1251 (inputs
f5ca44b8 1252 `(("gtk+" ,gtk+)
3600420e
JD
1253 ("libxml2" ,libxml2)))
1254 (native-inputs
1255 `(("intltool" ,intltool)
f5ca44b8
RW
1256 ("itstool" ,itstool)
1257 ("libxslt" ,libxslt) ;for xsltproc
1258 ("docbook-xml" ,docbook-xml-4.2)
1259 ("docbook-xsl" ,docbook-xsl)
1260 ("python" ,python-2)
3600420e
JD
1261 ("pkg-config" ,pkg-config)))
1262 (home-page "https://glade.gnome.org")
1263 (synopsis "GTK+ rapid application development tool")
1264 (description "Glade is a rapid application development (RAD) tool to
1265enable quick & easy development of user interfaces for the GTK+ toolkit and
1266the GNOME desktop environment.")
1dd26275
LC
1267 (license license:lgpl2.0+)))
1268
1269(define-public libcroco
1270 (package
1271 (name "libcroco")
8bdacad2 1272 (version "0.6.13")
1dd26275
LC
1273 (source (origin
1274 (method url-fetch)
b38e45d8
EB
1275 (uri (string-append "mirror://gnome/sources/" name "/"
1276 (version-major+minor version) "/"
1277 name "-" version ".tar.xz"))
1dd26275
LC
1278 (sha256
1279 (base32
8bdacad2 1280 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
1281 (build-system gnu-build-system)
1282 (native-inputs
1283 `(("pkg-config" ,pkg-config)))
1284 (inputs
1285 `(("glib" ,glib)
1286 ("libxml2" ,libxml2)
1287 ("zlib" ,zlib)))
1288 (home-page "https://github.com/GNOME/libcroco")
1289 (synopsis "CSS2 parsing and manipulation library")
1290 (description
1291 "Libcroco is a standalone CSS2 parsing and manipulation library.
1292The parser provides a low level event driven SAC-like API and a CSS object
1293model like API. Libcroco provides a CSS2 selection engine and an experimental
1294XML/CSS rendering engine.")
1295
1296 ;; LGPLv2.1-only.
1297 (license license:lgpl2.1)))
25178594
LC
1298
1299(define-public libgsf
1300 (package
1301 (name "libgsf")
8d1644a1 1302 (version "1.14.46")
25178594
LC
1303 (source (origin
1304 (method url-fetch)
b38e45d8
EB
1305 (uri (string-append "mirror://gnome/sources/" name "/"
1306 (version-major+minor version) "/"
1307 name "-" version ".tar.xz"))
25178594
LC
1308 (sha256
1309 (base32
8d1644a1 1310 "0bddmlzg719sjhlbzqlhb7chwk93qc7g68m2r9r8xz112jdradpa"))))
25178594
LC
1311 (build-system gnu-build-system)
1312 (native-inputs
1313 `(("intltool" ,intltool)
1314 ("pkg-config" ,pkg-config)))
1315 (inputs
1316 `(("python" ,python)
1317 ("zlib" ,zlib)
1318 ("bzip2" ,bzip2)))
1319 (propagated-inputs
1320 `(("gdk-pixbuf" ,gdk-pixbuf)
1321 ("glib" ,glib)
1322 ("libxml2" ,libxml2)))
f032d0be 1323 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
1324 (synopsis "GNOME's Structured File Library")
1325 (description
1326 "Libgsf aims to provide an efficient extensible I/O abstraction for
1327dealing with different structured file formats.")
1328
1329 ;; LGPLv2.1-only.
1330 (license license:lgpl2.1)))
63016e7c
LC
1331
1332(define-public librsvg
f67417a1
MB
1333 (package
1334 (name "librsvg")
1335 (version "2.40.20")
1336 (source (origin
1337 (method url-fetch)
1338 (uri (string-append "mirror://gnome/sources/" name "/"
1339 (version-major+minor version) "/"
1340 name "-" version ".tar.xz"))
1341 (sha256
1342 (base32
1343 "0ay9himvw1l1swcf3h1312d2iqzfl65kpbfgiyfykgvq7cydvx6g"))))
1344 (build-system gnu-build-system)
1345 (arguments
1346 `(#:configure-flags
1347 (list "--disable-static"
1348 "--enable-vala") ; needed for e.g. gnome-mines
1349 #:phases
1350 (modify-phases %standard-phases
1351 (add-before 'configure 'pre-configure
1352 (lambda* (#:key inputs #:allow-other-keys)
1353 (substitute* "gdk-pixbuf-loader/Makefile.in"
1354 ;; By default the gdk-pixbuf loader is installed under
1355 ;; gdk-pixbuf's prefix. Work around that.
1356 (("gdk_pixbuf_moduledir = .*$")
1357 (string-append "gdk_pixbuf_moduledir = "
1358 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
1359 "loaders\n"))
1360 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
1361 (("gdk_pixbuf_cache_file = .*$")
1362 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
1363 #t))
1364 (add-before 'check 'remove-failing-tests
1365 (lambda _
1366 (with-directory-excursion "tests/fixtures/reftests"
1367 (for-each delete-file
1368 '(;; This test fails on i686:
1369 "svg1.1/masking-path-04-b.svg"
1370 ;; This test fails on armhf:
1371 "svg1.1/masking-mask-01-b.svg"
1372 ;; This test fails on aarch64:
1373 "bugs/777834-empty-text-children.svg")))
1374 #t)))))
1375 (native-inputs
1376 `(("pkg-config" ,pkg-config)
1377 ("vala" ,vala)
1378 ("glib" ,glib "bin") ; glib-mkenums, etc.
1379 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
1380 (inputs
1381 `(("pango" ,pango)
1382 ("libcroco" ,libcroco)
1383 ("bzip2" ,bzip2)
1384 ("libgsf" ,libgsf)
1385 ("libxml2" ,libxml2)))
1386 (propagated-inputs
1387 ;; librsvg-2.0.pc refers to all of that.
1388 `(("cairo" ,cairo)
1389 ("gdk-pixbuf" ,gdk-pixbuf)
1390 ("glib" ,glib)))
1391 (home-page "https://wiki.gnome.org/LibRsvg")
1392 (synopsis "Render SVG files using Cairo")
1393 (description
1394 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
1395library.")
1396 (license license:lgpl2.0+)))
1397
1398(define-public librsvg-next
63016e7c
LC
1399 (package
1400 (name "librsvg")
64855281 1401 (version "2.46.0")
63016e7c
LC
1402 (source (origin
1403 (method url-fetch)
b38e45d8
EB
1404 (uri (string-append "mirror://gnome/sources/" name "/"
1405 (version-major+minor version) "/"
1406 name "-" version ".tar.xz"))
63016e7c
LC
1407 (sha256
1408 (base32
64855281 1409 "1la3az2af2ccm6rp86b6wh0kq7kxzl4n8pli5qxhyic1rd91xj4n"))))
63016e7c
LC
1410 (build-system gnu-build-system)
1411 (arguments
d953418a
RW
1412 `(#:configure-flags
1413 (list "--disable-static"
1414 "--enable-vala") ; needed for e.g. gnome-mines
7e0f4cb1 1415 #:make-flags '("CC=gcc")
ec47c07d 1416 #:phases
b6239e45 1417 (modify-phases %standard-phases
ec47c07d
MB
1418 ;; Don't patch anything in vendor/ to avoid having to recompute
1419 ;; checksums for the bundled Cargo "crates". TODO: Unbundle those.
1420 (delete 'patch-source-shebangs)
1421 (delete 'patch-generated-file-shebangs)
1422 (delete 'patch-usr-bin-file)
1423 (add-before 'configure 'patch-all-the-things
1424 (lambda _
1425 (for-each patch-shebang '("tap-driver.sh" "tap-test"))
1426 (patch-/usr/bin/file "configure")
64855281 1427 (patch-makefile-SHELL "po/Makefile.in.in")
ec47c07d 1428 #t))
b6239e45
EF
1429 (add-before 'configure 'pre-configure
1430 (lambda* (#:key inputs #:allow-other-keys)
1431 (substitute* "gdk-pixbuf-loader/Makefile.in"
1432 ;; By default the gdk-pixbuf loader is installed under
1433 ;; gdk-pixbuf's prefix. Work around that.
1434 (("gdk_pixbuf_moduledir = .*$")
1435 (string-append "gdk_pixbuf_moduledir = "
1436 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
1437 "loaders\n"))
1438 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
1439 (("gdk_pixbuf_cache_file = .*$")
1440 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
1441 #t))
ec47c07d 1442 (add-before 'check 'remove-failing-tests
b6239e45 1443 (lambda _
64a153bd
MW
1444 (with-directory-excursion "tests/fixtures/reftests"
1445 (for-each delete-file
ec47c07d
MB
1446 '(;; The images produced by these tests differ slightly
1447 ;; from their reference counterparts due to differences
1448 ;; in the build environment (missing fonts, etc). See
1449 ;; <tests/README.md> for details.
1450 ;; These fail on x86_64.
1451 "svg1.1/coords-viewattr-02-b.svg"
1452 "svg1.1/filters-composite-04-f.svg"
1453 "svg1.1/filters-image-01-b.svg"
1454 "svg1.1/filters-conv-02-f.svg"
1455 "svg1.1/filters-conv-04-f.svg"
1456 ;; This test fails on i686:
64a153bd 1457 "svg1.1/masking-path-04-b.svg"
64a153bd
MW
1458 ;; This test fails on armhf:
1459 "svg1.1/masking-mask-01-b.svg"
64a153bd 1460 ;; This test fails on aarch64:
ec47c07d 1461 "bugs/777834-empty-text-children.svg")))
b6239e45 1462 #t)))))
63016e7c
LC
1463 (native-inputs
1464 `(("pkg-config" ,pkg-config)
64855281
MB
1465 ;; This is the minimum supported Rust version in Librsvg 2.46.
1466 ("rust" ,rust-1.34)
1467 ("cargo" ,rust-1.34 "cargo")
d953418a 1468 ("vala" ,vala)
44add1ce 1469 ("glib" ,glib "bin") ; glib-mkenums, etc.
63016e7c
LC
1470 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
1471 (inputs
1472 `(("pango" ,pango)
1473 ("libcroco" ,libcroco)
1474 ("bzip2" ,bzip2)
1475 ("libgsf" ,libgsf)
1476 ("libxml2" ,libxml2)))
1477 (propagated-inputs
1478 ;; librsvg-2.0.pc refers to all of that.
1479 `(("cairo" ,cairo)
1480 ("gdk-pixbuf" ,gdk-pixbuf)
1481 ("glib" ,glib)))
1482 (home-page "https://wiki.gnome.org/LibRsvg")
1483 (synopsis "Render SVG files using Cairo")
1484 (description
35b9e423 1485 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
63016e7c
LC
1486library.")
1487 (license license:lgpl2.0+)))
5698b8b8
JD
1488
1489(define-public libidl
1490 (package
1491 (name "libidl")
1492 (version "0.8.14")
1493 (source (origin
1494 (method url-fetch)
1495 (uri (let ((upstream-name "libIDL"))
b38e45d8
EB
1496 (string-append "mirror://gnome/sources/" upstream-name "/"
1497 (version-major+minor version) "/"
1498 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
1499 (sha256
1500 (base32
1501 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
1502 (build-system gnu-build-system)
1503 (inputs `(("glib" ,glib)))
1504 (native-inputs
1505 `(("pkg-config" ,pkg-config)
b3546174 1506 ("flex" ,flex)
5698b8b8
JD
1507 ("bison" ,bison)))
1508 (home-page "http://freecode.com/projects/libidl")
1509 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 1510 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
1511Definition Language (idl) files, which is a specification for defining
1512portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 1513GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 1514functionality was designed to be as reusable and portable as possible.")
5698b8b8
JD
1515 (license license:lgpl2.0+)))
1516
1517
1518(define-public orbit2
1519 (package
1520 (name "orbit2")
1521 (version "2.14.19")
1522 (source (origin
1523 (method url-fetch)
2e6ecc5c 1524 (uri (let ((upstream-name "ORBit2"))
a124bbd2 1525 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
1526 (version-major+minor version) "/"
1527 upstream-name "-" version ".tar.bz2")))
5698b8b8 1528 (sha256
a124bbd2
SB
1529 (base32
1530 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
1531 (build-system gnu-build-system)
1532 (arguments
a124bbd2 1533 `(#:configure-flags
8aad2e32
LC
1534 '(;; We don't need static libraries, plus they don't build reproducibly
1535 ;; (non-deterministic ordering of .o files in the archive.)
1536 "--disable-static"
1537
1538 ;; The programmer kindly gives us a hook to turn off deprecation
1539 ;; warnings ...
1540 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
1541 ;; ... which they then completly ignore !!
1542 #:phases
dc1d3cde
KK
1543 (modify-phases %standard-phases
1544 (add-before 'configure 'ignore-deprecations
1545 (lambda _
1546 (substitute* "linc2/src/Makefile.in"
1547 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
1548 #t)))))
5698b8b8
JD
1549 (inputs `(("glib" ,glib)
1550 ("libidl" ,libidl)))
1551 (native-inputs
1552 `(("pkg-config" ,pkg-config)))
1553 (home-page "https://projects.gnome.org/orbit2/")
1554 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 1555 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 1556featuring mature C, C++ and Python bindings.")
a124bbd2
SB
1557 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
1558 ;; a version. SOME of the code files have licence notices for GPLv2+.
1559 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
1560 (license license:gpl2+)
1561 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
1562
1563
1564(define-public libbonobo
1565 (package
1566 (name "libbonobo")
1567 (version "2.32.1")
1568 (source (origin
1569 (method url-fetch)
5becd025 1570 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 1571 (version-major+minor version)
5becd025 1572 "/" name "-" version ".tar.bz2"))
5698b8b8 1573 (sha256
f1fc45a9 1574 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
1575 (patches (search-patches
1576 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
1577 (build-system gnu-build-system)
1578 (arguments
1579 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
1580 `(#:configure-flags
1581 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
1582 ;; ... which they then completly ignore !!
1583 #:phases
dc1d3cde
KK
1584 (modify-phases %standard-phases
1585 (add-before 'configure 'ignore-deprecations
1586 (lambda _
1587 (substitute* "activation-server/Makefile.in"
1588 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
1589 #t)))
1590
1591 ;; There's apparently a race condition between the server stub
1592 ;; generation and linking of the example under 'samples/echo' that can
1593 ;; lead do undefined references when building in parallel, as reported
1594 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
1595 ;; Thus, disable parallel builds.
1596 #:parallel-build? #f))
5698b8b8
JD
1597 (inputs `(("popt" ,popt)
1598 ("libxml2" ,libxml2)))
1599 ;; The following are Required by the .pc file
44add1ce 1600 (propagated-inputs
5698b8b8
JD
1601 `(("glib" ,glib)
1602 ("orbit2" ,orbit2)))
1603 (native-inputs
1604 `(("intltool" ,intltool)
1605 ("pkg-config" ,pkg-config)
221ed17a 1606 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
1607 ("flex" ,flex)
1608 ("bison" ,bison)))
1609 (home-page "https://developer.gnome.org/libbonobo/")
1610 (synopsis "Framework for creating reusable components for use in GNOME applications")
1611 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 1612use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
1613 ;; Licence not explicitly stated. Source files contain no licence notices.
1614 ;; Tarball contains text of both GPLv2 and LGPLv2
1615 ;; GPLv2 covers both conditions
1616 (license license:gpl2+)))
1617
1618
1619(define-public gconf
1620 (package
1621 (name "gconf")
1622 (version "3.2.6")
1623 (source (origin
1624 (method url-fetch)
a124bbd2
SB
1625 (uri
1626 (let ((upstream-name "GConf"))
1627 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
1628 (version-major+minor version) "/"
1629 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
1630 (sha256
1631 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
1632 (build-system gnu-build-system)
2e88d113 1633 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 1634 ("libxml2" ,libxml2)))
2e6ecc5c
AE
1635 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
1636 ("orbit2" ,orbit2)))
5698b8b8
JD
1637 (native-inputs
1638 `(("intltool" ,intltool)
221ed17a 1639 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
1640 ("pkg-config" ,pkg-config)))
1641 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
1642 (synopsis "Store application preferences")
1643 (description "Gconf is a system for storing application preferences. It
1644is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
1645 (license license:lgpl2.0+)
1646 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
1647
1648
1649(define-public gnome-mime-data
1650 (package
1651 (name "gnome-mime-data")
1652 (version "2.18.0")
1653 (source (origin
1654 (method url-fetch)
b38e45d8
EB
1655 (uri (string-append "mirror://gnome/sources/" name "/"
1656 (version-major+minor version) "/"
1657 name "-" version ".tar.bz2"))
5698b8b8
JD
1658 (sha256
1659 (base32
1660 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
1661 (build-system gnu-build-system)
1662 (native-inputs
1663 `(("perl" ,perl)
1664 ("intltool" ,intltool)))
3e6add96
LC
1665 (arguments
1666 '(#:phases (modify-phases %standard-phases
1667 (add-after 'configure 'use-our-intltool
1668 (lambda _
1669 ;; Do not use the bundled intltool commands, which lack
1670 ;; the "dotless @INC" fixes of our 'intltool' package.
1671 (substitute* (find-files "." "^Makefile$")
1672 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
1673 (string-append "INTLTOOL_" tool " = intltool-"
1674 (string-downcase tool) "\n")))
1675 #t)))))
f032d0be 1676 (home-page "https://www.gnome.org")
35b9e423 1677 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
1678 (description "GNOME Mime Data is a module which contains the base MIME
1679and Application database for GNOME. The data stored by this module is
1680designed to be accessed through the MIME functions in GnomeVFS.")
1681 (license license:gpl2+)))
1682
1683
1684(define-public gnome-vfs
1685 (package
1686 (name "gnome-vfs")
1687 (version "2.24.4")
1688 (source (origin
1689 (method url-fetch)
b38e45d8
EB
1690 (uri (string-append "mirror://gnome/sources/" name "/"
1691 (version-major+minor version) "/"
1692 name "-" version ".tar.bz2"))
5698b8b8 1693 (sha256
9e12bc34
MW
1694 (base32
1695 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
1696 (build-system gnu-build-system)
1697 (arguments
db5127d8 1698 `(#:phases
dc1d3cde
KK
1699 (modify-phases %standard-phases
1700 (add-before 'configure 'ignore-deprecations
1701 (lambda _
1702 (substitute* '("libgnomevfs/Makefile.in"
1703 "daemon/Makefile.in")
1704 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
1705 #t))
1706 (add-before 'configure 'patch-test-async-cancel-to-never-fail
1707 (lambda _
1708 (substitute* "test/test-async-cancel.c"
1709 (("EXIT_FAILURE") "77"))
1710 #t)))))
2e6ecc5c 1711 (inputs `(("libxml2" ,libxml2)
5698b8b8 1712 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
1713 ("gconf" ,gconf)
1714 ("gnome-mime-data" ,gnome-mime-data)
1715 ("zlib" ,zlib)))
1716 (native-inputs
221ed17a
EB
1717 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1718 ("intltool" ,intltool)
5698b8b8
JD
1719 ("pkg-config" ,pkg-config)))
1720 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 1721 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
1722 (description
1723 "GnomeVFS is the core library used to access files and folders in GNOME
1724applications. It provides a file system abstraction which allows applications
1725to access local and remote files with a single consistent API.")
5698b8b8
JD
1726 (license license:lgpl2.0+)))
1727
1728
1729
1730(define-public libgnome
1731 (package
1732 (name "libgnome")
1733 (version "2.32.1")
1734 (source (origin
1735 (method url-fetch)
b38e45d8
EB
1736 (uri (string-append "mirror://gnome/sources/" name "/"
1737 (version-major+minor version) "/"
1738 name "-" version ".tar.bz2"))
5698b8b8
JD
1739 (sha256
1740 (base32
17c3eea7
LC
1741 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
1742 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
1743 (build-system gnu-build-system)
1744 (arguments
1745 `(#:phases
dc1d3cde
KK
1746 (modify-phases %standard-phases
1747 (add-before 'configure 'enable-deprecated
1748 (lambda _
1749 (substitute* "libgnome/Makefile.in"
1750 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
1751 #t)))))
25338e9f 1752 (inputs `(("libxml2" ,libxml2)))
5698b8b8 1753 (native-inputs
221ed17a
EB
1754 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1755 ("intltool" ,intltool)
5698b8b8
JD
1756 ("pkg-config" ,pkg-config)))
1757 ;; The following are listed as Required in the .pc file
1758 ;; (except for libcanberra -- which seems to be oversight on the part
1759 ;; of the upstream developers -- anything that links against libgnome,
1760 ;; must also link against libcanberra
1761 (propagated-inputs
1762 `(("libcanberra" ,libcanberra)
1763 ("libbonobo" ,libbonobo)
1764 ("gconf" ,gconf)
a640d3d5
LC
1765 ("gnome-vfs" ,gnome-vfs)
1766 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
1767 (home-page "https://developer.gnome.org/libgnome/")
1768 (synopsis "Useful routines for building applications")
1769 (description "The libgnome library provides a number of useful routines
1770for building modern applications, including session management, activation of
1771files and URIs, and displaying help.")
1772 (license license:lgpl2.0+)))
1773
1774
1775(define-public libart-lgpl
1776 (package
1777 (name "libart-lgpl")
76c9b6aa 1778 (version "2.3.21")
5698b8b8
JD
1779 (source (origin
1780 (method url-fetch)
1781 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
1782 (string-append "mirror://gnome/sources/" upstream-name "/"
1783 (version-major+minor version) "/"
1784 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
1785 (sha256
1786 (base32
76c9b6aa 1787 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
1788 (build-system gnu-build-system)
1789 (native-inputs
1790 `(("pkg-config" ,pkg-config)))
1791 (home-page "https://people.gnome.org/~mathieu/libart")
1792 (synopsis "2D drawing library")
2e6ecc5c 1793 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
1794high-quality vector-based 2D library with antialiasing and alpha composition.")
1795 (license license:lgpl2.0+)))
1796
1797
1798
1799(define-public libgnomecanvas
1800 (package
1801 (name "libgnomecanvas")
1802 (version "2.30.3")
1803 (source (origin
1804 (method url-fetch)
b38e45d8
EB
1805 (uri (string-append "mirror://gnome/sources/" name "/"
1806 (version-major+minor version) "/"
1807 name "-" version ".tar.gz"))
5698b8b8
JD
1808 (sha256
1809 (base32
1810 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
1811 (build-system gnu-build-system)
1812 ;; Mentioned as Required in the .pc file
1813 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
1814 ("gtk+" ,gtk+-2)))
1815 (native-inputs
1816 `(("intltool" ,intltool)
221ed17a 1817 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
1818 ("pkg-config" ,pkg-config)))
1819 (home-page "https://developer.gnome.org/libgnomecanvas/")
1820 (synopsis "Flexible widget for creating interactive structured graphics")
1821 (description "The GnomeCanvas widget provides a flexible widget for
1822creating interactive structured graphics.")
1823 (license license:lgpl2.0+)))
1824
eadc734e
RW
1825(define-public libgnomecanvasmm
1826 (package
1827 (name "libgnomecanvasmm")
1828 (version "2.26.0")
1829 (source (origin
1830 (method url-fetch)
1831 (uri (string-append "mirror://gnome/sources/" name "/"
1832 (version-major+minor version) "/"
1833 name "-" version ".tar.bz2"))
1834 (sha256
1835 (base32
1836 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
1837 (build-system gnu-build-system)
1838 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
1839 (native-inputs
1840 `(("gtkmm-2" ,gtkmm-2)
1841 ("pkg-config" ,pkg-config)))
8e933cb3 1842 (home-page "https://gtkmm.org")
eadc734e
RW
1843 (synopsis "C++ bindings to the GNOME Canvas library")
1844 (description "C++ bindings to the GNOME Canvas library.")
1845 (license license:lgpl2.0+)))
1846
5698b8b8
JD
1847(define-public libgnomeui
1848 (package
1849 (name "libgnomeui")
1850 (version "2.24.5")
1851 (source (origin
1852 (method url-fetch)
b38e45d8
EB
1853 (uri (string-append "mirror://gnome/sources/" name "/"
1854 (version-major+minor version) "/"
1855 name "-" version ".tar.bz2"))
8fa1872a 1856 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
1857 (sha256
1858 (base32
1859 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
1860 (build-system gnu-build-system)
1861 ;; Mentioned as Required in the .pc file
0a38a497
AE
1862 (propagated-inputs `(("libbonoboui" ,libbonoboui)
1863 ("libgnome" ,libgnome)
1864 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 1865 ("libgnome-keyring" ,libgnome-keyring)))
0a38a497 1866 (inputs `(("libjpeg" ,libjpeg)
5698b8b8
JD
1867 ("popt" ,popt)
1868 ("libbonobo" ,libbonobo)
1869 ("libxml2" ,libxml2)
1870 ("libglade" ,libglade)))
1871 (native-inputs
221ed17a
EB
1872 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
1873 ("intltool" ,intltool)
5698b8b8
JD
1874 ("pkg-config" ,pkg-config)))
1875 (home-page "https://developer.gnome.org/libgnomeui/")
1876 (synopsis "Additional widgets for applications")
35b9e423 1877 (description "The libgnomeui library provides additional widgets for
e881752c
AK
1878applications. Many of the widgets from libgnomeui have already been
1879ported to GTK+.")
5698b8b8
JD
1880 (license license:lgpl2.0+)))
1881
1882(define-public libglade
1883 (package
1884 (name "libglade")
1885 (version "2.6.4")
1886 (source (origin
1887 (method url-fetch)
b38e45d8
EB
1888 (uri (string-append "mirror://gnome/sources/" name "/"
1889 (version-major+minor version) "/"
1890 name "-" version ".tar.bz2"))
5698b8b8
JD
1891 (sha256
1892 (base32
1893 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
1894 (build-system gnu-build-system)
1895 (inputs
92dcc23d
AE
1896 `(("python" ,python))) ;; needed for the optional libglade-convert program
1897 (propagated-inputs
5698b8b8 1898 `(("gtk+-2" ,gtk+-2)
92dcc23d 1899 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
1900 (native-inputs
1901 `(("pkg-config" ,pkg-config)))
1902 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
1903 (synopsis "Load glade interfaces and access the glade built widgets")
1904 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
1905graphical interfaces described in glade files and for accessing the
1906widgets built in the loading process.")
1907 (license license:gpl2+))) ; This is correct. GPL not LGPL
1908
1909(define-public libgnomeprint
eb497b66
LC
1910 ;; This library has been deprecated since 2006; see
1911 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
1912 (package
1913 (name "libgnomeprint")
d19db454 1914 (version "2.18.8")
5698b8b8
JD
1915 (source (origin
1916 (method url-fetch)
b38e45d8
EB
1917 (uri (string-append "mirror://gnome/sources/" name "/"
1918 (version-major+minor version) "/"
1919 name "-" version ".tar.bz2"))
5698b8b8
JD
1920 (sha256
1921 (base32
d19db454 1922 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
1923 (build-system gnu-build-system)
1924 (inputs
1925 `(("popt" ,popt)
1926 ("libart-lgpl" ,libart-lgpl)
1927 ("gtk+" ,gtk+-2)
44add1ce 1928 ("libxml2" ,libxml2)))
5698b8b8
JD
1929 (native-inputs
1930 `(("intltool" ,intltool)
221ed17a 1931 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
1932 ("pkg-config" ,pkg-config)))
1933 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 1934 (synopsis "Printing framework for GNOME")
eb497b66
LC
1935 (description
1936 "GNOME-print was a printing framework for GNOME. It has been deprecated
1937since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
1938 (license license:lgpl2.0+)))
1939
1940
1941(define-public libgnomeprintui
eb497b66 1942 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
1943 (package
1944 (name "libgnomeprintui")
36053d7f 1945 (version "2.18.6")
5698b8b8
JD
1946 (source (origin
1947 (method url-fetch)
b38e45d8
EB
1948 (uri (string-append "mirror://gnome/sources/" name "/"
1949 (version-major+minor version) "/"
1950 name "-" version ".tar.bz2"))
5698b8b8
JD
1951 (sha256
1952 (base32
36053d7f 1953 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
1954 (build-system gnu-build-system)
1955 ;; Mentioned as Required in the .pc file
1956 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
1957 (inputs `(("gtk+" ,gtk+-2)
1958 ("glib" ,glib)
1959 ("gnome-icon-theme" ,gnome-icon-theme)
1960 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 1961 ("libxml2" ,libxml2)))
5698b8b8
JD
1962 (native-inputs
1963 `(("intltool" ,intltool)
1964 ("pkg-config" ,pkg-config)))
1965 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
1966 (synopsis "Printing framework for GNOME")
eb497b66 1967 (description (package-description libgnomeprint))
5698b8b8
JD
1968 (license license:lgpl2.0+)))
1969
5698b8b8
JD
1970(define-public libbonoboui
1971 (package
1972 (name "libbonoboui")
1973 (version "2.24.5")
1974 (source (origin
1975 (method url-fetch)
b38e45d8
EB
1976 (uri (string-append "mirror://gnome/sources/" name "/"
1977 (version-major+minor version) "/"
1978 name "-" version ".tar.bz2"))
5698b8b8
JD
1979 (sha256
1980 (base32
1981 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
1982 (build-system gnu-build-system)
1983 (arguments
1984 `(#:phases
dc1d3cde
KK
1985 (modify-phases %standard-phases
1986 (add-before 'check 'start-xserver
1987 (lambda* (#:key inputs #:allow-other-keys)
1988 (let ((xorg-server (assoc-ref inputs "xorg-server"))
1989 (disp ":1"))
1990
1991 (setenv "HOME" (getcwd))
1992 (setenv "DISPLAY" disp)
1993 ;; There must be a running X server and make check doesn't start one.
1994 ;; Therefore we must do it.
1995 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
1996 ;; Mentioned as Required by the .pc file
1997 (propagated-inputs `(("libxml2" ,libxml2)))
1998 (inputs
1999 `(("popt" ,popt)
2000 ("pangox-compat" ,pangox-compat)
2001 ("libgnome" ,libgnome)
2002 ("libgnomecanvas" ,libgnomecanvas)
2003 ("libglade" ,libglade)))
2004 (native-inputs
221ed17a
EB
2005 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
2006 ("intltool" ,intltool)
5698b8b8
JD
2007 ("xorg-server" ,xorg-server) ; For running the tests
2008 ("pkg-config" ,pkg-config)))
2009 (home-page "https://developer.gnome.org/libbonoboui/")
2010 (synopsis "Some user interface controls using Bonobo")
2011 (description "The Bonobo UI library provides a number of user interface
2012controls using the Bonobo component framework.")
2013 (license license:lgpl2.0+)))
2014
fecbf86e
SB
2015(define-public libwnck
2016 (package
2017 (name "libwnck")
6cc6e3e5 2018 (version "3.30.0")
fecbf86e
SB
2019 (source (origin
2020 (method url-fetch)
2021 (uri (string-append "mirror://gnome/sources/" name "/"
2022 (version-major+minor version) "/"
2023 name "-" version ".tar.xz"))
2024 (sha256
ad9b8987 2025 (base32
6cc6e3e5 2026 "0f9lvhm3w25046dqq8xyg7nzggxpmdriwrb661nng05a8qk0svdc"))))
fecbf86e
SB
2027 (build-system gnu-build-system)
2028 (native-inputs
2029 `(("pkg-config" ,pkg-config)
2030 ("intltool" ,intltool)))
2031 (propagated-inputs
427476d5
SB
2032 `(("gtk+" ,gtk+)
2033 ("libxres" ,libxres)
2034 ("startup-notification" ,startup-notification)))
fecbf86e
SB
2035 (home-page "https://developer.gnome.org/libwnck/")
2036 (synopsis "Window Navigator Construction Kit")
2037 (description
2038 "Libwnck is the Window Navigator Construction Kit, a library for use in
2039writing pagers, tasklists, and more generally applications that are dealing
2040with window management. It tries hard to respect the Extended Window Manager
2041Hints specification (EWMH).")
2042 (license license:lgpl2.0+)))
2043
2044;; stable version for gtk2, required by xfwm4.
dbb7a081 2045(define-public libwnck-2
fecbf86e
SB
2046 (package (inherit libwnck)
2047 (name "libwnck")
2048 (version "2.30.7")
2049 (source (origin
2050 (method url-fetch)
2051 (uri (string-append "mirror://gnome/sources/" name "/"
2052 (version-major+minor version) "/"
2053 name "-" version ".tar.xz"))
2054 (sha256
2055 (base32
2056 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
2057 (propagated-inputs
427476d5
SB
2058 `(("gtk+" ,gtk+-2)
2059 ("libxres" ,libxres)
2060 ("startup-notification" ,startup-notification)))))
b804c61e
JD
2061
2062(define-public goffice
2063 (package
2064 (name "goffice")
0528f70d 2065 (version "0.10.44")
b804c61e
JD
2066 (source (origin
2067 (method url-fetch)
b38e45d8
EB
2068 (uri (string-append "mirror://gnome/sources/" name "/"
2069 (version-major+minor version) "/"
2070 name "-" version ".tar.xz"))
b804c61e 2071 (sha256
0528f70d 2072 (base32 "1fd7cm6j0g0mqgpqs4y22b4gd2ll4mcyvg4d0q22d5ndjapl4q3d"))))
b804c61e 2073 (build-system gnu-build-system)
72a06d3e 2074 (outputs '("out"
0528f70d 2075 "doc")) ;4.0 MiB of gtk-doc
72a06d3e
LC
2076 (arguments
2077 '(#:configure-flags (list (string-append "--with-html-dir="
2078 (assoc-ref %outputs "doc")
2079 "/share/gtk-doc/html"))))
b804c61e
JD
2080 (inputs
2081 `(("gtk+" ,gtk+)
2082 ("libgsf" ,libgsf)
2083 ("librsvg" ,librsvg)
2084 ("libxslt" ,libxslt)
2085 ("libxml2" ,libxml2)))
2086 (native-inputs
2087 `(("intltool" ,intltool)
f280cdb1 2088 ("glib" ,glib "bin")
b804c61e
JD
2089 ("pkg-config" ,pkg-config)))
2090 (home-page "https://developer.gnome.org/goffice/")
2091 (synopsis "Document-centric objects and utilities")
2092 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 2093 (license
b804c61e
JD
2094 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
2095 ;; Note: NOT LGPL
2096 (list license:gpl2 license:gpl3))))
2097
c024ae36
RW
2098(define-public goffice-0.8
2099 (package (inherit goffice)
2100 (version "0.8.17")
2101 (source (origin
2102 (method url-fetch)
2103 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
2104 (version-major+minor version) "/"
2105 (package-name goffice) "-" version ".tar.xz"))
2106 (sha256
2107 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
2108 (arguments
2109 `(#:phases
dc1d3cde
KK
2110 (modify-phases %standard-phases
2111 (add-after 'unpack 'fix-pcre-check
2112 (lambda _
2113 ;; Only glib.h can be included directly. See
2114 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
2115 (substitute* "configure"
2116 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
2117
2118 ,@(package-arguments goffice)))
c024ae36
RW
2119 (propagated-inputs
2120 ;; libgoffice-0.8.pc mentions libgsf-1
2121 `(("libgsf" ,libgsf)))
2122 (inputs
2123 `(("gtk" ,gtk+-2)
2124 ,@(alist-delete "gtk" (package-inputs goffice))))))
2125
b804c61e
JD
2126(define-public gnumeric
2127 (package
2128 (name "gnumeric")
597ab33d 2129 (version "1.12.45")
b804c61e
JD
2130 (source (origin
2131 (method url-fetch)
b7fd0217 2132 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 2133 (version-major+minor version) "/"
b7fd0217 2134 "gnumeric-" version ".tar.xz"))
b804c61e
JD
2135 (sha256
2136 (base32
597ab33d 2137 "0c8dl1kvnj3g32qy3s92qpqpqfy0in59cx005gjvvzsflahav61h"))))
bd1b1e05 2138 (build-system glib-or-gtk-build-system)
b804c61e
JD
2139 (arguments
2140 `(;; The gnumeric developers don't worry much about failing tests.
2141 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 2142 #:tests? #f
b804c61e 2143 #:phases
7bcbd40d
EF
2144 (modify-phases %standard-phases
2145 (add-before
2146 'configure 'pre-conf
2147 (lambda* (#:key outputs #:allow-other-keys)
2148 ;; Make install tries to write into the directory of goffice
2149 ;; I am informed that this only affects the possibility to embed a
2150 ;; spreadsheet inside an Abiword document. So presumably when we
2151 ;; package Abiword we'll have to refer it to this directory.
2152 (substitute* "configure"
2153 (("^GOFFICE_PLUGINS_DIR=.*")
2154 (string-append "GOFFICE_PLUGINS_DIR="
2155 (assoc-ref outputs "out")
2156 "/goffice/plugins"))))))))
b804c61e
JD
2157 (inputs
2158 `(("glib" ,glib)
2159 ("gtk+" ,gtk+)
2160 ("goffice" ,goffice)
2161 ("libgsf" ,libgsf)
7bcbd40d 2162 ("librsvg" ,librsvg)
b804c61e 2163 ("libxml2" ,libxml2)
7bcbd40d 2164 ("libxslt" ,libxslt)
2e4c5457 2165 ("python" ,python-2)
6983ba56 2166 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
2167 ("zlib" ,zlib)))
2168 (native-inputs
6983ba56 2169 `(("bison" ,bison)
1ed398d1 2170 ("docbook-xml" ,docbook-xml)
6983ba56 2171 ("intltool" ,intltool)
3a2efbc8 2172 ("itstool" ,itstool/fixed) ;see <https://bugs.gnu.org/37468>
b9663471 2173 ("glib:bin" ,glib "bin")
b804c61e
JD
2174 ("pkg-config" ,pkg-config)))
2175 (home-page "http://www.gnumeric.org")
66672a45
LC
2176 (synopsis "Spreadsheet application")
2177 (description
2178 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
2179interoperable with other spreadsheet applications. It has a vast array of
2180features beyond typical spreadsheet functionality, such as support for linear
2181and non-linear solvers, statistical analysis, and telecommunication
2182engineering.")
2183 (license
b804c61e
JD
2184 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
2185 (list license:gpl2 license:gpl3))))
6f885c05
FB
2186
2187(define-public gnome-themes-standard
2188 (package
2189 (name "gnome-themes-standard")
0b7b8fb0 2190 (version "3.22.3")
6f885c05
FB
2191 (source
2192 (origin
2193 (method url-fetch)
2e6ecc5c 2194 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
2195 (version-major+minor version) "/" name "-"
2196 version ".tar.xz"))
2197 (sha256
2198 (base32
0b7b8fb0 2199 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 2200 (build-system gnu-build-system)
8ac70c7f
SB
2201 (arguments
2202 '(#:configure-flags
2203 ;; Don't create 'icon-theme.cache'.
2204 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
2205 (true (string-append coreutils "/bin/true")))
2206 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
2207 (inputs
2208 `(("gtk+" ,gtk+)
2209 ("gtk+-2" ,gtk+-2)
2210 ("librsvg" ,librsvg)
2211 ("libxml2" ,libxml2)
2212 ("glib" ,glib)))
2213 (native-inputs
2214 `(("intltool" ,intltool)
2215 ("glib:bin" ,glib "bin")
2216 ("pkg-config" ,pkg-config)))
6f885c05
FB
2217 (home-page "https://launchpad.net/gnome-themes-standard")
2218 (synopsis "Default GNOME 3 themes")
2219 (description
2220 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
2221 (license license:lgpl2.1+)))
5a659a48 2222
df90c701
RW
2223(define-public seahorse
2224 (package
2225 (name "seahorse")
0db6bafb 2226 (version "3.30")
df90c701
RW
2227 (source
2228 (origin
2229 (method url-fetch)
2230 (uri (string-append "mirror://gnome/sources/" name "/"
2231 (version-major+minor version) "/" name "-"
2232 version ".tar.xz"))
2233 (sha256
2234 (base32
0db6bafb 2235 "1sbj1czlx1fakm72dwgbn0bwm12j838yaky4mkf6hf8j8afnxmzp"))))
df90c701
RW
2236 (build-system glib-or-gtk-build-system)
2237 (inputs
2238 `(("gtk+" ,gtk+)
2239 ("gcr" ,gcr)
34b979b9 2240 ("gnupg" ,gnupg)
df90c701 2241 ("gpgme" ,gpgme)
34b979b9 2242 ("openldap" ,openldap)
4a1bf090 2243 ("openssh" ,openssh)
34b979b9
EF
2244 ("libsecret" ,libsecret)
2245 ("libsoup" ,libsoup)))
df90c701
RW
2246 (native-inputs
2247 `(("intltool" ,intltool)
2248 ("glib:bin" ,glib "bin")
2249 ("itstool" ,itstool)
bcb354ad
SB
2250 ("pkg-config" ,pkg-config)
2251 ("xmllint" ,libxml2)))
df90c701
RW
2252 (home-page "https://launchpad.net/gnome-themes-standard")
2253 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
2254 (description
2255 "Seahorse is a GNOME application for managing encryption keys and
2256passwords in the GNOME keyring.")
2257 (license license:gpl2+)))
2258
5a659a48
SB
2259(define-public vala
2260 (package
2261 (name "vala")
2d6872f6 2262 (version "0.44.5")
5a659a48
SB
2263 (source (origin
2264 (method url-fetch)
2265 (uri (string-append "mirror://gnome/sources/" name "/"
2266 (version-major+minor version) "/"
2267 name "-" version ".tar.xz"))
2268 (sha256
2269 (base32
2d6872f6 2270 "0zy2kfcvhikczfzhk5l7pkw6mvn3d6vw8cv7g08iah85p22q33xv"))))
5a659a48 2271 (build-system gnu-build-system)
1ea90625
SB
2272 (arguments
2273 '(#:phases
2274 (modify-phases %standard-phases
f4925a4f 2275 (add-before 'check 'pre-check
1ea90625
SB
2276 (lambda _
2277 (setenv "CC" "gcc")
8839b6be
RW
2278 (substitute* "valadoc/tests/testrunner.sh"
2279 (("export PKG_CONFIG_PATH=" m)
2280 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
2281 ;; For missing '/etc/machine-id'.
2282 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 2283 #t)))))
5a659a48
SB
2284 (native-inputs
2285 `(("pkg-config" ,pkg-config)
2286 ("flex" ,flex)
2287 ("bison" ,bison)
2288 ("xsltproc" ,libxslt)
2289 ("dbus" ,dbus) ; for dbus tests
2290 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
2291 (inputs
2292 `(("graphviz" ,graphviz)))
5a659a48 2293 (propagated-inputs
8839b6be 2294 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 2295 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
2296 (synopsis "Compiler for the GObject type system")
2297 (description
2298 "Vala is a programming language that aims to bring modern programming
2299language features to GNOME developers without imposing any additional runtime
2300requirements and without using a different ABI compared to applications and
2301libraries written in C.")
2302 (license license:lgpl2.1+)))
ea57378f
SB
2303
2304(define-public vte
2305 (package
2306 (name "vte")
838a52a5 2307 (version "0.56.3")
ea57378f
SB
2308 (source (origin
2309 (method url-fetch)
2310 (uri (string-append "mirror://gnome/sources/" name "/"
2311 (version-major+minor version) "/"
2312 name "-" version ".tar.xz"))
2313 (sha256
2314 (base32
838a52a5 2315 "0j166gic5znssdb9r45qazq4kb4v9fial82czand5wa8i2yd988p"))))
ea57378f
SB
2316 (build-system gnu-build-system)
2317 (native-inputs
2318 `(("pkg-config" ,pkg-config)
2319 ("intltool" ,intltool)
2320 ("vala" ,vala)
2321 ("gobject-introspection" ,gobject-introspection)
2322 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 2323 ("gperf" ,gperf)
ea57378f
SB
2324 ("xmllint" ,libxml2)))
2325 (propagated-inputs
302393bc 2326 `(("gtk+" ,gtk+) ;required by vte-2.91.pc
de1215e2
MW
2327 ("gnutls" ,gnutls) ;ditto
2328 ("pcre2" ,pcre2))) ;ditto
f032d0be 2329 (home-page "https://www.gnome.org/")
ea57378f
SB
2330 (synopsis "Virtual Terminal Emulator")
2331 (description
2332 "VTE is a library (libvte) implementing a terminal emulator widget for
2333GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
2334gnome-terminal, but can also be used to embed a console/terminal in games,
2335editors, IDEs, etc.")
2336 (license license:lgpl2.1+)))
2337
c44fb4df
MO
2338(define-public vte-ng
2339 (package
2340 (inherit vte)
2341 (name "vte-ng")
24f4fcbe 2342 (version "0.58.2.a")
afd90f8d 2343 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
2344 (source (origin
2345 (method git-fetch)
2346 (uri (git-reference (url home-page) (commit version)))
2347 (file-name (git-file-name name version))
2348 (sha256
2349 (base32
24f4fcbe
MB
2350 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
2351 (build-system meson-build-system)
c44fb4df
MO
2352 (native-inputs
2353 `(("gtk-doc" ,gtk-doc)
c44fb4df 2354 ,@(package-native-inputs vte)))
c44fb4df 2355 (arguments
24f4fcbe 2356 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
2357 (synopsis "Enhanced VTE terminal widget")
2358 (description
2359 "VTE is a library (libvte) implementing a terminal emulator widget for
2360GTK+, this fork provides additional functions exposed for keyboard text
2361selection and URL hints.")))
2362
2776d72c
EF
2363;; provides vte 2.90, required for some terminal emulators
2364;; tilda bug: https://github.com/lanoxx/tilda/issues/94
2365;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
2366;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
2367;; pantheon-terminal, roxterm are not currently packaged
2368(define-public vte-0.36
2369 (package (inherit vte)
2370 (name "vte")
2371 (version "0.36.5")
2372 (source (origin
2373 (method url-fetch)
2374 (uri (string-append "mirror://gnome/sources/" name "/"
2375 (version-major+minor version) "/"
2376 name "-" version ".tar.xz"))
2377 (sha256
2378 (base32
2379 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
2380 (propagated-inputs
2381 `(("gtk" ,gtk+)
2382 ("ncurses" ,ncurses)))))
2383
ea57378f
SB
2384;; stable version for gtk2, required by xfce4-terminal.
2385(define-public vte/gtk+-2
2386 (package (inherit vte)
2387 (name "vte")
2388 (version "0.28.2")
2389 (source (origin
2390 (method url-fetch)
2391 (uri (string-append "mirror://gnome/sources/" name "/"
2392 (version-major+minor version) "/"
2393 name "-" version ".tar.xz"))
2394 (sha256
2395 (base32
7d48938a
EF
2396 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
2397 (patches (search-patches
2398 "vte-CVE-2012-2738-pt1.patch"
2399 "vte-CVE-2012-2738-pt2.patch"))))
ea57378f
SB
2400 (arguments
2401 '(#:configure-flags '("--disable-python")))
2402 (native-inputs
2403 `(("pkg-config" ,pkg-config)
2404 ("intltool" ,intltool)
2405 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
2406 (propagated-inputs
2407 `(("gtk+" ,gtk+-2) ; required by libvte.pc
2408 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 2409
cce0da5e
TD
2410(define-public vinagre
2411 (package
2412 (name "vinagre")
2413 (version "3.22.0")
2414 (source (origin
2415 (method url-fetch)
2416 (uri (string-append "mirror://gnome/sources/" name "/"
2417 (version-major+minor version) "/"
2418 name "-" version ".tar.xz"))
684f97f8
EF
2419 (patches (search-patches "vinagre-newer-freerdp.patch"
2420 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
2421 (sha256
2422 (base32
2423 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
2424 (build-system glib-or-gtk-build-system)
684f97f8 2425 (arguments
7f486d25
MC
2426 ;; Disable -Werror and such, to avoid build failures on compilation
2427 ;; warnings.
2428 '(#:configure-flags '("--enable-compile-warnings=minimum")
2429 #:phases
684f97f8 2430 (modify-phases %standard-phases
1839768c
EF
2431 (add-before 'install 'skip-gtk-update-icon-cache
2432 (lambda _
2433 ;; Don't create 'icon-theme.cache'
2434 (substitute* (find-files "." "^Makefile$")
2435 (("gtk-update-icon-cache") (which "true")))
2436 #t))
684f97f8
EF
2437 (add-after 'unpack 'patch-configure
2438 (lambda _
2439 (substitute* "configure"
2440 (("freerdp") "freerdp2"))
2441 #t)))))
cce0da5e
TD
2442 (native-inputs
2443 `(("pkg-config" ,pkg-config)
2444 ("intltool" ,intltool)
2445 ("itstool" ,itstool)
1839768c 2446 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
2447 (inputs
2448 `(("libxml2" ,libxml2)
2449 ("gtk-vnc" ,gtk-vnc)
2450 ("gnome-keyring" ,gnome-keyring)
2451 ("libsecret" ,libsecret)
2452 ("freerdp" ,freerdp)
2453 ("spice" ,spice)
2454 ("spice-gtk" ,spice-gtk)
2455 ("telepathy-glib" ,telepathy-glib)
2456 ("vte" ,vte)))
cce0da5e
TD
2457 (home-page "https://wiki.gnome.org/Apps/Vinagre")
2458 (synopsis "Remote desktop viewer for GNOME")
2459 (description "Vinagre is a remote display client supporting the VNC, SPICE
2460and RDP protocols.")
2461 (license license:gpl3+)))
2462
b47e1b20
FB
2463(define-public dconf
2464 (package
2465 (name "dconf")
1e33331c 2466 (version "0.32.0")
b47e1b20
FB
2467 (source (origin
2468 (method url-fetch)
2469 (uri (string-append
2e6ecc5c 2470 "mirror://gnome/sources/" name "/"
b47e1b20
FB
2471 (version-major+minor version) "/"
2472 name "-" version ".tar.xz"))
2473 (sha256
f05c809f 2474 (base32
1e33331c 2475 "1azz4hb9z76yxn34yrrsiib3iqz5z4vpwn5q7cncp55w365ygg38"))))
35fa923d 2476 (build-system meson-build-system)
bc036f4c
MB
2477 (propagated-inputs
2478 ;; In Requires of dconf.pc.
2479 `(("glib" ,glib)))
b47e1b20
FB
2480 (inputs
2481 `(("gtk+" ,gtk+)
bc036f4c 2482 ("dbus" ,dbus)))
b47e1b20 2483 (native-inputs
1e33331c
MB
2484 `(("bash-completion" ,bash-completion)
2485 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 2486 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
2487 ("docbook-xml" ,docbook-xml-4.2)
2488 ("docbook-xsl" ,docbook-xsl)
35fa923d 2489 ("glib:bin" ,glib "bin")
03676d6f 2490 ("gtk-doc" ,gtk-doc)
35fa923d
MB
2491 ("pkg-config" ,pkg-config)
2492 ("vala" ,vala)))
b47e1b20
FB
2493 (arguments
2494 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
2495 ; or /etc/machine-id.
35fa923d
MB
2496 #:glib-or-gtk? #t
2497 #:configure-flags '("-Denable-gtk-doc=true")))
b47e1b20
FB
2498 (home-page "https://developer.gnome.org/dconf")
2499 (synopsis "Low-level GNOME configuration system")
2500 (description "Dconf is a low-level configuration system. Its main purpose
2501is to provide a backend to GSettings on platforms that don't already have
2502configuration storage systems.")
e20e6b40 2503 (license license:lgpl2.1+)))
109da1c0
AE
2504
2505(define-public json-glib
2506 (package
2507 (name "json-glib")
4115e8ea 2508 (version "1.4.4")
109da1c0
AE
2509 (source (origin
2510 (method url-fetch)
2511 (uri (string-append "mirror://gnome/sources/" name "/"
2512 (version-major+minor version) "/"
2513 name "-" version ".tar.xz"))
2514 (sha256
2515 (base32
4115e8ea 2516 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 2517 (build-system meson-build-system)
109da1c0 2518 (native-inputs
98afa184
MB
2519 `(("gettext" ,gettext-minimal)
2520 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
2521 ("gobject-introspection" ,gobject-introspection)
2522 ("pkg-config" ,pkg-config)))
2523 (propagated-inputs
88c6b580 2524 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
2525 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
2526 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
2527 (description
2528 "JSON-GLib is a C library based on GLib providing serialization and
2529deserialization support for the JavaScript Object Notation (JSON) format
2530described by RFC 4627. It provides parser and generator GObject classes and
2531various wrappers for the complex data types employed by JSON, such as arrays
2532and objects.")
109da1c0 2533 (license license:lgpl2.1+)))
6f96a359
SB
2534
2535(define-public libxklavier
2536 (package
2537 (name "libxklavier")
5f39050b 2538 (version "5.4")
6f96a359 2539 (source (origin
5f39050b 2540 ;; Note: There's no tarball at ftp.gnome.org for this version.
2541 (method git-fetch)
2542 (uri (git-reference
2543 (url "https://anongit.freedesktop.org/git/libxklavier")
2544 (commit (string-append "libxklavier-" version))))
6f96a359
SB
2545 (sha256
2546 (base32
5f39050b 2547 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
2548 (file-name (git-file-name name version))))
6f96a359
SB
2549 (build-system gnu-build-system)
2550 (arguments
5f39050b 2551 '(#:phases
2552 (modify-phases %standard-phases
2553 (add-after 'unpack 'no-configure
2554 (lambda* _
2555 (setenv "NOCONFIGURE" "1")
2556 #t)))
2557 #:configure-flags
6f96a359
SB
2558 (list (string-append "--with-xkb-base="
2559 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 2560 "/share/X11/xkb")
2561 "--disable-xmodmap-support")))
6f96a359
SB
2562 (native-inputs
2563 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
2564 ("gobject-introspection" ,gobject-introspection)
5f39050b 2565 ("pkg-config" ,pkg-config)
2566 ("gtk-doc" ,gtk-doc)
2567 ("intltool" ,intltool)
2568 ("which" ,which)
2569 ("autoconf" ,autoconf)
2570 ("automake" ,automake)
2571 ("libtool" ,libtool)))
6f96a359
SB
2572 (propagated-inputs
2573 ;; Required by libxklavier.pc.
2574 `(("glib" ,glib)
2575 ("libxml2" ,libxml2)))
2576 (inputs
2577 `(("iso-codes" ,iso-codes)
2578 ("libxi" ,libxi)
2579 ("libxkbfile" ,libxkbfile)
2580 ("xkbcomp" ,xkbcomp)
2581 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 2582 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
2583 (synopsis "High-level API for X Keyboard Extension")
2584 (description
2585 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
2586Extension known as XKB. This library is intended to support XFree86 and other
2587commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
2588indicators etc).")
2589 (license license:lgpl2.0+)))
619936a4
LC
2590
2591(define-public python2-rsvg
2592 ;; XXX: This is actually a subset of gnome-python-desktop.
2593 (package
2594 (name "python2-rsvg")
2595 (version "2.32.0")
2596 (source
2597 (origin
2598 (method url-fetch)
2599 (uri (string-append
2600 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
2601 version ".tar.bz2"))
2602 (sha256
2603 (base32
2604 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
2605 (build-system gnu-build-system)
2606 (native-inputs
2607 `(("pkg-config" ,pkg-config)))
2608 (inputs
2609 `(("python" ,python-2)
2610 ("python2-pygtk" ,python2-pygtk)
2611 ("librsvg" ,librsvg)))
f032d0be 2612 (home-page "https://www.gnome.org")
619936a4
LC
2613 (synopsis "Python bindings to librsvg")
2614 (description
3ad75446 2615 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
2616library.")
2617
2618 ;; This is the license of the rsvg bindings. The license of each module
2619 ;; of gnome-python-desktop is given in 'COPYING'.
2620 (license license:lgpl2.1+)))
a31a6d22 2621
f2ca414a
SB
2622(define-public glib-networking
2623 (package
2624 (name "glib-networking")
0d75c64d 2625 (version "2.60.3")
f2ca414a
SB
2626 (source (origin
2627 (method url-fetch)
2628 (uri (string-append "mirror://gnome/sources/glib-networking/"
2629 (version-major+minor version) "/"
fb8fe1e8 2630 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
2631 (sha256
2632 (base32
0d75c64d 2633 "1mfw44qpmwvz6yzj8c6spx6z357wrmkk15byrkc5byagd82860fm"))))
65211552 2634 (build-system meson-build-system)
f2ca414a 2635 (arguments
0d75c64d 2636 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
2637 (native-inputs
2638 `(("pkg-config" ,pkg-config)
2639 ("intltool" ,intltool)))
2640 (inputs
2641 `(("glib" ,glib)
2642 ("gnutls" ,gnutls)
4b8f1313 2643 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 2644 (home-page "https://www.gnome.org")
f2ca414a
SB
2645 (synopsis "Network-related GIO modules")
2646 (description
2647 "This package contains various network related extensions for the GIO
2648library.")
2649 (license license:lgpl2.0+)))
2650
ca649680 2651(define-public rest
4510b2da 2652 (package
ca649680 2653 (name "rest")
a4194d16 2654 (version "0.8.1")
4510b2da
SB
2655 (source (origin
2656 (method url-fetch)
2657 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
2658 (version-major+minor version) "/"
2659 name "-" version ".tar.xz"))
4510b2da
SB
2660 (sha256
2661 (base32
a4194d16 2662 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
2663 (build-system gnu-build-system)
2664 (arguments
2665 '(#:tests? #f ; tests require internet connection
2666 #:configure-flags
2667 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
2668 (native-inputs
2669 `(("glib-mkenums" ,glib "bin")
2670 ("gobject-introspection" ,gobject-introspection)
2671 ("pkg-config" ,pkg-config)))
2672 (propagated-inputs
2673 ;; rest-0.7.pc refers to all these.
2674 `(("glib" ,glib)
2675 ("libsoup" ,libsoup)
2676 ("libxml2" ,libxml2)))
24d6cc1d 2677 (home-page "https://www.gtk.org/")
4510b2da
SB
2678 (synopsis "RESTful web api query library")
2679 (description
2680 "This library was designed to make it easier to access web services that
2681claim to be \"RESTful\". It includes convenience wrappers for libsoup and
2682libxml to ease remote use of the RESTful API.")
2683 (license license:lgpl2.1+)))
2684
6e1bb642
SB
2685(define-public libsoup
2686 (package
2687 (name "libsoup")
f8026a79 2688 (version "2.68.2")
6e1bb642
SB
2689 (source (origin
2690 (method url-fetch)
2691 (uri (string-append "mirror://gnome/sources/libsoup/"
2692 (version-major+minor version) "/"
c1b79b36 2693 "libsoup-" version ".tar.xz"))
6e1bb642
SB
2694 (sha256
2695 (base32
f8026a79 2696 "0crr9qprmacr626fx83cx81ggk85zsgxr4mn577kpzj6m40k1bai"))))
eccaa8bf 2697 (build-system meson-build-system)
6e1bb642
SB
2698 (outputs '("out" "doc"))
2699 (arguments
2deb146f 2700 `(#:modules ((guix build utils)
eccaa8bf 2701 (guix build meson-build-system)
2deb146f
LC
2702 (ice-9 popen))
2703
f8026a79 2704 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
2705 #:phases
2706 (modify-phases %standard-phases
eccaa8bf 2707 (add-after 'unpack 'adjust-tests
26c228f9 2708 (lambda _
eccaa8bf
MB
2709 ;; This test fails due to missing /etc/nsswitch.conf
2710 ;; in the build environment.
26c228f9
LC
2711 (substitute* "tests/socket-test.c"
2712 ((".*/sockets/unconnected.*") ""))
2deb146f 2713
f8026a79
MB
2714 ;; These fail because "subdomain.localhost" does not resolve in
2715 ;; the build environment.
2716 (substitute* "tests/hsts-test.c"
2717 ((".*/hsts/basic.*") "")
2718 ((".*/hsts/subdomains.*") "")
2719 ((".*/hsts/superdomain.*") "")
2720 ((".*/hsts/utf8-address.*") ""))
2721 (substitute* "tests/hsts-db-test.c"
2722 ((".*/hsts-db/subdomains.*") ""))
2723
2deb146f
LC
2724 ;; Generate a self-signed certificate that has "localhost" as its
2725 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
2726 ;; 3.5.12, tests such as "ssl-tests" fail:
2727 ;;
2728 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
2729 ;;
2730 ;; 'certtool' is interactive so we have to pipe it the answers.
2731 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
2732 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
2733 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
2734 (for-each (lambda (line)
2735 (display line pipe)
2736 (newline pipe))
2737 '("" ;Common name
2738 "" ;UID
2739 "Guix" ;Organizational unit name
2740 "GNU" ;Organization name
2741 "" ;Locality name
2742 "" ;State or province
2743 "" ;Country
2744 "" ;subject's domain component (DC)
2745 "" ;E-mail
2746 "" ;serial number
2747 "-1" ;expiration time
2748 "N" ;belong to authority?
2749 "N" ;web client certificate?
2750 "N" ;IPsec IKE?
2751 "Y" ;web server certificate?
2752 "localhost" ;dnsName of subject
2753 "" ;dnsName of subject (end)
2754 "" ;URI of subject
2755 "127.0.0.1" ;IP address of subject
2756 "" ;signing?
06f5bc4e
MB
2757 "" ;encryption (RSA)?
2758 "" ;data encryption?
2deb146f
LC
2759 "" ;sign OCSP requests?
2760 "" ;sign code?
2761 "" ;time stamping?
2762 "" ;email protection?
2763 "" ;URI of the CRL distribution point
2764 "y" ;above info OK?
2765 ))
2766 (close-pipe pipe))
26c228f9 2767 #t))
eccaa8bf
MB
2768 (add-after 'install 'move-doc
2769 (lambda* (#:key outputs #:allow-other-keys)
2770 (let ((out (assoc-ref outputs "out"))
2771 (doc (assoc-ref outputs "doc")))
2772 (mkdir-p (string-append doc "/share"))
2773 (copy-recursively (string-append out "/share/gtk-doc")
2774 (string-append doc "/share/gtk-doc"))
2775 (delete-file-recursively (string-append out "/share/gtk-doc"))
2776 #t))))))
6e1bb642 2777 (native-inputs
26c228f9 2778 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 2779 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 2780 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
2781 ("intltool" ,intltool)
2782 ("pkg-config" ,pkg-config)
2783 ("python" ,python-wrapper)
fd730590 2784 ("vala" ,vala)
6e1bb642
SB
2785 ;; These are needed for the tests.
2786 ;; FIXME: Add PHP once available.
2787 ("curl" ,curl)
2deb146f 2788 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
2789 ("httpd" ,httpd)))
2790 (propagated-inputs
2791 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
2792 `(("brotli" ,google-brotli)
2793 ("glib" ,glib)
249846bf 2794 ("libpsl" ,libpsl)
eccaa8bf 2795 ("libxml2" ,libxml2)
f8026a79
MB
2796 ("sqlite" ,sqlite)
2797 ("zlib" ,zlib)))
eccaa8bf
MB
2798 (inputs
2799 `(("glib-networking" ,glib-networking)
2800 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
2801 (home-page "https://live.gnome.org/LibSoup/")
2802 (synopsis "GLib-based HTTP Library")
2803 (description
2804 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
2805and the GLib main loop, to integrate well with GNOME applications.")
2806 (license license:lgpl2.0+)))
2807
bba229a3
SB
2808(define-public libsecret
2809 (package
2810 (name "libsecret")
b243d2f7 2811 (version "0.19.1")
bba229a3
SB
2812 (source (origin
2813 (method url-fetch)
2814 (uri (string-append
896dcbc7
EF
2815 "mirror://gnome/sources/libsecret/"
2816 (version-major+minor version) "/"
0ada4e29 2817 "libsecret-" version ".tar.xz"))
bba229a3
SB
2818 (sha256
2819 (base32
b243d2f7 2820 "0fhflcsr70b1pps2pcvqcbdhip2ny5am9nbm634f4sj5g40y30w5"))))
bba229a3
SB
2821 (build-system gnu-build-system)
2822 (outputs '("out" "doc"))
2823 (arguments
2824 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
2825 #:configure-flags
2826 (list (string-append "--with-html-dir="
2827 (assoc-ref %outputs "doc")
2828 "/share/gtk-doc/html"))))
2829 (native-inputs
c06ef010
MB
2830 `(("gettext" ,gettext-minimal)
2831 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 2832 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
2833 ("pkg-config" ,pkg-config)
2834 ("vala" ,vala)
2835 ("xsltproc" ,libxslt)))
2836 ;; These are needed for the tests.
2837 ;; FIXME: Add gjs once available.
2838 ;("dbus" ,dbus)
2839 ;("python2" ,python-2)
2840 ;("python2-dbus" ,python2-dbus)
2841 ;("python2-pygobject" ,python2-pygobject)
2842 ;("python2-pygobject-2" ,python2-pygobject-2)))
2843 (propagated-inputs
2844 `(("glib" ,glib))) ; required by libsecret-1.pc
2845 (inputs
2846 `(("docbook-xsl" ,docbook-xsl)
2847 ("libgcrypt" ,libgcrypt)
2848 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
2849 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
2850 (synopsis "GObject bindings for \"Secret Service\" API")
2851 (description
2852 "Libsecret is a GObject based library for storing and retrieving passwords
2853and other secrets. It communicates with the \"Secret Service\" using DBus.")
2854 (license license:lgpl2.1+)))
2855
b6821ee0 2856(define-public five-or-more
2857 (package
2858 (name "five-or-more")
fd0557f8 2859 (version "3.30.0")
b6821ee0 2860 (source
2861 (origin
2862 (method url-fetch)
2863 (uri (string-append "mirror://gnome/sources/" name "/"
2864 (version-major+minor version) "/"
2865 name "-" version ".tar.xz"))
2866 (sha256
2867 (base32
fd0557f8 2868 "00d729p251kh96624i7qg2370r5mxwafs016i6hy01vsr71jzb9x"))))
b6821ee0 2869 (build-system glib-or-gtk-build-system)
2870 (native-inputs
2871 `(("pkg-config" ,pkg-config)
2872 ("desktop-file-utils" ,desktop-file-utils)
2873 ("intltool" ,intltool)
2874 ("itstool" ,itstool)
2875 ("xmllint" ,libxml2)))
2876 (inputs
2877 `(("gtk+" ,gtk+)
2878 ("librsvg" ,librsvg)))
2879 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
2880 (synopsis "Logic puzzle game")
2881 (description "Five or More is a game where you try to align
2882 five or more objects of the same color and shape causing them to disappear.
2883 On every turn more objects will appear, until the board is full.
2884 Try to last as long as possible.")
2885 (license license:gpl2+)))
2886
a31a6d22
SB
2887(define-public gnome-mines
2888 (package
2889 (name "gnome-mines")
f7a584f4 2890 (version "3.30.1.1")
a31a6d22
SB
2891 (source
2892 (origin
2893 (method url-fetch)
2894 (uri (string-append "mirror://gnome/sources/" name "/"
2895 (version-major+minor version) "/"
2896 name "-" version ".tar.xz"))
2897 (sha256
2898 (base32
f7a584f4 2899 "08ddk400sg1g3q26gnm5mgv81vdqyix0yl7pd47p50vkc1w6f33z"))))
8c0fab36 2900 (build-system meson-build-system)
a31a6d22 2901 (arguments
8c0fab36 2902 `(#:phases
a31a6d22 2903 (modify-phases %standard-phases
8c0fab36 2904 (delete 'bootstrap))))
a31a6d22 2905 (native-inputs
8c0fab36
RW
2906 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
2907 ("pkg-config" ,pkg-config)
a31a6d22
SB
2908 ("desktop-file-utils" ,desktop-file-utils)
2909 ("intltool" ,intltool)
bcb354ad 2910 ("itstool" ,itstool)
8c0fab36
RW
2911 ("vala" ,vala)
2912 ("yelp" ,yelp)
2913 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
2914 (inputs
2915 `(("gtk+" ,gtk+)
73992962 2916 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
2917 ("librsvg" ,librsvg)))
2918 (home-page "https://wiki.gnome.org/Apps/Mines")
2919 (synopsis "Minesweeper game")
2920 (description
2921 "Mines (previously gnomine) is a puzzle game where you locate mines
2922floating in an ocean using only your brain and a little bit of luck.")
2923 (license license:gpl2+)))
88f70665 2924
dfc407f3
KY
2925(define-public gnome-sudoku
2926 (package
2927 (name "gnome-sudoku")
b3f95507 2928 (version "3.30.0")
dfc407f3
KY
2929 (source
2930 (origin
2931 (method url-fetch)
2932 (uri (string-append "mirror://gnome/sources/" name "/"
2933 (version-major+minor version) "/"
2934 name "-" version ".tar.xz"))
2935 (sha256
2936 (base32
b3f95507 2937 "1xy986s51jnrcqwan2hy4bjdg6797yr9s7gxx2z2q4j4gkx3qa1f"))))
dfc407f3
KY
2938 (build-system glib-or-gtk-build-system)
2939 (native-inputs
2940 `(("pkg-config" ,pkg-config)
2941 ("desktop-file-utils" ,desktop-file-utils)
2942 ("intltool" ,intltool)
2943 ("itstool" ,itstool)
2944 ("xmllint" ,libxml2)))
2945 (inputs
2946 `(("gtk+" ,gtk+)
2947 ("json-glib" ,json-glib)
2948 ("libgee" ,libgee)
2949 ("librsvg" ,librsvg)
2950 ("qqwing" ,qqwing)))
2951 (home-page "https://wiki.gnome.org/Apps/Sudoku")
2952 (synopsis "Japanese logic game")
2953 (description
2954 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
2955GNOME Sudoku is meant to have an interface as simple and unobstrusive as
2956possible while still providing features that make playing difficult Sudoku
2957more fun.")
2958 (license license:gpl2+)))
2959
88f70665
AW
2960(define-public gnome-terminal
2961 (package
2962 (name "gnome-terminal")
50888342 2963 (version "3.30.3")
88f70665
AW
2964 (source
2965 (origin
2966 (method url-fetch)
2967 (uri (string-append "mirror://gnome/sources/" name "/"
2968 (version-major+minor version) "/"
2969 name "-" version ".tar.xz"))
2970 (sha256
2971 (base32
50888342 2972 "0bar8qazk39acsif31h8i408nl82mzdcdg6p7ymak4l9pxyscxf8"))))
88f70665
AW
2973 (build-system glib-or-gtk-build-system)
2974 (arguments
2975 '(#:configure-flags
2976 (list "--disable-migration" "--disable-search-provider"
2977 "--without-nautilus-extension")
2978 #:phases
2979 (modify-phases %standard-phases
3a4de6b2 2980 (add-before 'configure 'patch-/bin/true
88f70665
AW
2981 (lambda _
2982 (substitute* "configure"
2983 (("/bin/true") (which "true"))))))))
2984 (native-inputs
2985 `(("pkg-config" ,pkg-config)
2986 ("desktop-file-utils" ,desktop-file-utils)
2987 ("intltool" ,intltool)
bcb354ad
SB
2988 ("itstool" ,itstool)
2989 ("xmllint" ,libxml2)))
68702167
MW
2990 (propagated-inputs
2991 `(("dconf" ,dconf)))
88f70665
AW
2992 (inputs
2993 `(("gtk+" ,gtk+)
2994 ("vte" ,vte)
2995 ("gnutls" ,gnutls)
88f70665
AW
2996 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2997 ("util-linux" ,util-linux)
2998 ("vala" ,vala)))
2999 (home-page "https://wiki.gnome.org/Apps/Terminal")
3000 (synopsis "Terminal emulator")
3001 (description
3002 "GNOME Terminal is a terminal emulator application for accessing a
3003UNIX shell environment which can be used to run programs available on
3004your system.
3005
3006It supports several profiles, multiple tabs and implements several
3007keyboard shortcuts.")
3008 (license license:gpl3+)))
75016d07
AW
3009
3010(define-public colord
3011 (package
3012 (name "colord")
a68544a8 3013 (version "1.4.3")
75016d07
AW
3014 (source
3015 (origin
3016 (method url-fetch)
5cc3096c 3017 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
75016d07
AW
3018 name "-" version ".tar.xz"))
3019 (sha256
3020 (base32
a68544a8
RW
3021 "1xwxahg9mgmapc16xkb4kgmc40zpadrwav33xqmn6cgaw6g6d3ls"))))
3022 (build-system meson-build-system)
75016d07 3023 (arguments
a68544a8
RW
3024 '(;; FIXME: One test fails:
3025 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
3026 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
3027 ;; application/x-zerosize
75016d07 3028 #:tests? #f
a68544a8
RW
3029 #:glib-or-gtk? #t
3030 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 3031 ;; No dep on systemd.
a68544a8 3032 "-Dsystemd=false"
75016d07
AW
3033 ;; Wants to install to global completion dir;
3034 ;; punt.
a68544a8 3035 "-Dbash_completion=false"
75016d07 3036 ;; colord-gtk not packaged yet.
a68544a8
RW
3037 "-Dsession_example=false"
3038 "-Ddaemon_user=colord"
3039 "-Dsane=true"
3040 ;; Requires spotread
3041 "-Dargyllcms_sensor=false"
3042 ;; TODO: Requires docbook2x
3043 "-Dman=false")
75016d07
AW
3044 #:phases
3045 (modify-phases %standard-phases
a68544a8
RW
3046 (add-before 'configure 'patch-build-system
3047 (lambda* (#:key outputs #:allow-other-keys)
3048 (substitute* "rules/meson.build"
3049 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
3050 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
3051 #t)))))
75016d07
AW
3052 (native-inputs
3053 `(("pkg-config" ,pkg-config)
a68544a8 3054 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
75016d07 3055 ("gobject-introspection" ,gobject-introspection)
a68544a8 3056 ("gtk-doc" ,gtk-doc)
75016d07
AW
3057 ("libtool" ,libtool)
3058 ("intltool" ,intltool)))
65cb2d61
SB
3059 (propagated-inputs
3060 ;; colord.pc refers to all these.
3061 `(("glib" ,glib)
3062 ("udev" ,eudev)
3063 ("lcms" ,lcms)))
75016d07 3064 (inputs
65cb2d61 3065 `(("dbus-glib" ,dbus-glib)
a68544a8 3066 ("gusb" ,gusb)
80c7dd1a 3067 ("libgudev" ,libgudev)
75016d07 3068 ("libusb" ,libusb)
75016d07
AW
3069 ("sqlite" ,sqlite)
3070 ("polkit" ,polkit)
a68544a8 3071 ("python" ,python-wrapper)
4c928743 3072 ("sane-backends" ,sane-backends)))
57e7d748 3073 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
3074 (synopsis "Color management service")
3075 (description "Colord is a system service that makes it easy to manage,
3076install and generate color profiles to accurately color manage input and
3077output devices.")
3078 (license license:gpl2+)))
7b2abd00
AW
3079
3080(define-public geoclue
3081 (package
3082 (name "geoclue")
b433c7b3 3083 (version "2.4.8")
7b2abd00
AW
3084 (source
3085 (origin
3086 (method url-fetch)
5cc3096c 3087 (uri (string-append "https://www.freedesktop.org/software/" name
7b2abd00
AW
3088 "/releases/" (version-major+minor version) "/"
3089 name "-" version ".tar.xz"))
3090 (sha256
3091 (base32
b433c7b3 3092 "08yg1r7m0n9hwyvcy769qkmkf8lslqwv69cjfffwnc3zm5km25qj"))
fc1adab1 3093 (patches (search-patches "geoclue-config.patch"))))
7b2abd00
AW
3094 (build-system glib-or-gtk-build-system)
3095 (arguments
3096 '(;; The tests want to run the system bus.
3097 #:tests? #f
3098 #:configure-flags (list ;; Disable bits requiring ModemManager.
3099 "--disable-3g-source"
3100 "--disable-cdma-source"
3101 "--disable-modem-gps-source"
3102 "--with-dbus-service-user=geoclue")
3103 #:phases
3104 (modify-phases %standard-phases
3a4de6b2 3105 (add-before 'configure 'patch-/bin/true
7b2abd00
AW
3106 (lambda _
3107 (substitute* "configure"
e3eb53e7
MW
3108 (("/bin/true") (which "true")))
3109 #t)))))
7b2abd00
AW
3110 (native-inputs
3111 `(("pkg-config" ,pkg-config)
758798a9 3112 ("gobject-introspection" ,gobject-introspection)
7b2abd00
AW
3113 ("intltool" ,intltool)))
3114 (inputs
54e911bc
SB
3115 `(("avahi" ,avahi)
3116 ("glib" ,glib)
7b2abd00
AW
3117 ("json-glib" ,json-glib)
3118 ("libsoup" ,libsoup)))
99adfd7d 3119 (home-page "https://www.freedesktop.org/wiki/Software/GeoClue/")
7b2abd00
AW
3120 (synopsis "Geolocation service")
3121 (description "Geoclue is a D-Bus service that provides location
3122information. The primary goal of the Geoclue project is to make creating
3123location-aware applications as simple as possible, while the secondary goal is
3124to ensure that no application can access location information without explicit
e881752c 3125permission from user.")
7b2abd00 3126 (license license:gpl2+)))
2bfe7437
AW
3127
3128(define-public geocode-glib
3129 (package
3130 (name "geocode-glib")
65de725f 3131 (version "3.26.1")
2bfe7437
AW
3132 (source (origin
3133 (method url-fetch)
3134 (uri (string-append "mirror://gnome/sources/geocode-glib/"
3135 (version-major+minor version) "/"
d485cdc0 3136 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
3137 (sha256
3138 (base32
65de725f 3139 "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv"))))
a7dd0c02 3140 (build-system meson-build-system)
2bfe7437 3141 (arguments
a7dd0c02
RW
3142 `(#:phases
3143 (modify-phases %standard-phases
3144 ;; The tests require a bunch of locales.
3145 (add-before 'check 'set-locales
3146 (lambda* (#:key inputs #:allow-other-keys)
3147 (setenv "GUIX_LOCPATH"
3148 (string-append (assoc-ref inputs "glibc-locales")
3149 "/lib/locale"))
3150 #t)))))
2bfe7437
AW
3151 (native-inputs
3152 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
3153 ("glibc-locales" ,glibc-locales) ; for tests
3154 ("gettext" ,gettext-minimal)
2bfe7437 3155 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 3156 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
3157 ("pkg-config" ,pkg-config)
3158 ("json-glib" ,json-glib)))
3159 (propagated-inputs
3160 ;; geocode-glib-1.0.pc refers to GIO.
3161 `(("glib" ,glib)))
3162 (inputs
3163 `(("libsoup" ,libsoup)))
3164 (home-page "https://github.com/GNOME/geocode-glib/")
3165 (synopsis "Geocoding and reverse-geocoding library")
3166 (description
3167 "geocode-glib is a convenience library for geocoding (finding longitude,
3168and latitude from an address) and reverse geocoding (finding an address from
3169coordinates) using the Nominatim service. geocode-glib caches requests for
3170faster results and to avoid unnecessary server load.")
3171 (license license:lgpl2.0+)))
a1d5bb0e
AW
3172
3173(define-public upower
3174 (package
3175 (name "upower")
4088d809 3176 (version "0.99.10")
a1d5bb0e
AW
3177 (source (origin
3178 (method url-fetch)
9ec54965 3179 (uri (string-append "https://gitlab.freedesktop.org/upower/upower/"
4088d809 3180 "uploads/c438511024b9bc5a904f8775cfc8e4c4/"
9ec54965 3181 "upower-" version ".tar.xz"))
a1d5bb0e
AW
3182 (sha256
3183 (base32
4088d809 3184 "17d2bclv5fgma2y3g8bsn9pdvspn1zrzismzdnzfivc0f2wm28k4"))
fc1adab1 3185 (patches (search-patches "upower-builddir.patch"))))
a1d5bb0e
AW
3186 (build-system glib-or-gtk-build-system)
3187 (arguments
3188 '( ;; The tests want to contact the system bus, which can't be done in the
3189 ;; build environment. The integration test can run, but the last of
3190 ;; the up-self-tests doesn't. Disable tests for now.
3191 #:tests? #f
3192 #:configure-flags (list "--localstatedir=/var"
3193 (string-append "--with-udevrulesdir="
3194 (assoc-ref %outputs "out")
9ec54965 3195 "/lib/udev/rules.d"))))
a1d5bb0e 3196 (native-inputs
ebeabe2d
SB
3197 `(("gobject-introspection" ,gobject-introspection)
3198 ("pkg-config" ,pkg-config)
a1d5bb0e 3199 ("intltool" ,intltool)
55409295
LC
3200 ("python" ,python)
3201
3202 ;; For man pages.
3203 ("libxslt" ,libxslt) ;for 'xsltproc'
3204 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
3205 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 3206 (inputs
ea226291
SB
3207 `(("dbus-glib" ,dbus-glib)
3208 ("libgudev" ,libgudev)
a1d5bb0e 3209 ("libusb" ,libusb)))
d7a503fc
MB
3210 (propagated-inputs
3211 ;; In Requires of upower-glib.pc.
3212 `(("glib" ,glib)))
57e7d748 3213 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
3214 (synopsis "System daemon for managing power devices")
3215 (description
3216 "UPower is an abstraction for enumerating power devices,
3217listening to device events and querying history and statistics. Any
3218application or service on the system can access the org.freedesktop.UPower
3219service via the system message bus.")
3220 (license license:gpl2+)))
6a180f6f
AW
3221
3222(define-public libgweather
3223 (package
3224 (name "libgweather")
794ce8ea 3225 (version "3.28.3")
6a180f6f
AW
3226 (source (origin
3227 (method url-fetch)
3228 (uri (string-append "mirror://gnome/sources/" name "/"
3229 (version-major+minor version) "/"
3230 name "-" version ".tar.xz"))
3231 (sha256
3232 (base32
794ce8ea 3233 "1xz60h59zgyk61y2wwzm0xlqav72i668g7v0x7rh9idz240hxls5"))))
cf6cbc34 3234 (build-system meson-build-system)
6a180f6f 3235 (arguments
cf6cbc34
RW
3236 `(#:tests? #f ; one of two tests requires network access
3237 #:configure-flags
3238 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 3239 (assoc-ref %build-inputs "tzdata")
cf6cbc34 3240 "/share/zoneinfo"))))
6a180f6f
AW
3241 (native-inputs
3242 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 3243 ("gobject-introspection" ,gobject-introspection)
6a180f6f 3244 ("pkg-config" ,pkg-config)
1d3fcf94 3245 ("vala" ,vala)
6a180f6f
AW
3246 ("intltool" ,intltool)))
3247 (propagated-inputs
3248 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
3249 ;; libsoup.
3250 `(("gtk+" ,gtk+)
3251 ("gdk-pixbuf" ,gdk-pixbuf)
3252 ("libxml2" ,libxml2)
cf6cbc34 3253 ("libsoup" ,libsoup)
6a180f6f 3254 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
3255 (inputs
3256 `(("tzdata" ,tzdata)))
6a180f6f
AW
3257 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
3258 (synopsis "Location, time zone, and weather library for GNOME")
3259 (description
3260 "libgweather is a library to access weather information from online
3261services for numerous locations.")
3262 (license license:gpl2+)))
23a22af6
AW
3263
3264(define-public gnome-settings-daemon
3265 (package
3266 (name "gnome-settings-daemon")
90fdc80f 3267 (version "3.30.2")
23a22af6
AW
3268 (source
3269 (origin
3270 (method url-fetch)
3271 (uri (string-append "mirror://gnome/sources/" name "/"
3272 (version-major+minor version) "/"
3273 name "-" version ".tar.xz"))
3274 (sha256
3275 (base32
90fdc80f 3276 "0c663csa3gnsr6wm0xfll6aani45snkdj7zjwjfzcwfh8w4a3z12"))))
e644f9fa 3277 (build-system meson-build-system)
23a22af6 3278 (arguments
e644f9fa
RW
3279 `(#:glib-or-gtk? #t
3280 #:configure-flags
3281 (list (string-append "-Dudev_dir="
3282 (assoc-ref %outputs "out")
4d0e085b
RW
3283 "/lib/udev/rules.d/")
3284 ;; Otherwise, the RUNPATH will lack the final path component.
3285 (string-append "-Dc_link_args=-Wl,-rpath="
3286 (assoc-ref %outputs "out")
3287 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 3288 ;; Color management test can't reach the colord system service.
23a22af6
AW
3289 #:tests? #f))
3290 (native-inputs
e644f9fa
RW
3291 `(("glib:bin" ,glib "bin") ; for glib-mkenums
3292 ("pkg-config" ,pkg-config)
23a22af6
AW
3293 ("intltool" ,intltool)
3294 ("xsltproc" ,libxslt)
3295 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
3296 ("docbook-xml" ,docbook-xml-4.2)
3297 ("docbook-xsl" ,docbook-xsl)))
3298 (inputs
e644f9fa
RW
3299 `(("alsa-lib" ,alsa-lib)
3300 ("colord" ,colord)
ea226291 3301 ("libgudev" ,libgudev)
23a22af6
AW
3302 ("upower" ,upower)
3303 ("polkit" ,polkit)
3304 ("pulseaudio" ,pulseaudio)
3305 ("libcanberra" ,libcanberra)
3306 ("libx11" ,libx11)
3307 ("libxtst" ,libxtst)
3308 ("lcms" ,lcms)
3309 ("libnotify" ,libnotify)
3310 ("geoclue" ,geoclue)
3311 ("geocode-glib" ,geocode-glib)
3312 ("libgweather" ,libgweather)
3313 ("gnome-desktop" ,gnome-desktop)
3314 ("nss" ,nss)
3315 ("cups" ,cups)
ec2b1921
AW
3316 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3317 ("libwacom" ,libwacom)
3318 ("librsvg" ,librsvg)
eee7878f 3319 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 3320 ("wayland" ,wayland)
eee7878f 3321 ("network-manager" ,network-manager)))
f032d0be 3322 (home-page "https://www.gnome.org")
23a22af6
AW
3323 (synopsis "GNOME settings daemon")
3324 (description
3325 "This package contains the daemon responsible for setting the various
3326parameters of a GNOME session and the applications that run under it. It
3327handles settings such keyboard layout, shortcuts, and accessibility, clipboard
3328settings, themes, mouse settings, and startup of other daemons.")
3329 (license license:gpl2+)))
1e7464a9
DH
3330
3331(define-public totem-pl-parser
3332 (package
3333 (name "totem-pl-parser")
77425f04 3334 (version "3.26.3")
1e7464a9
DH
3335 (source (origin
3336 (method url-fetch)
e980cbe9
MW
3337 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
3338 (version-major+minor version) "/"
1e7464a9
DH
3339 "totem-pl-parser-" version ".tar.xz"))
3340 (sha256
3341 (base32
77425f04 3342 "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
1e9b19dd 3343 (build-system meson-build-system)
1e7464a9
DH
3344 (arguments
3345 ;; FIXME: Tests require gvfs.
3346 `(#:tests? #f))
3347 (native-inputs
3348 `(("intltool" ,intltool)
3349 ("glib" ,glib "bin")
4d6d8281 3350 ("gobject-introspection" ,gobject-introspection)
1e7464a9 3351 ("pkg-config" ,pkg-config)))
22a6ad6a 3352 (propagated-inputs
1e7464a9
DH
3353 `(("glib" ,glib)
3354 ("gmime" ,gmime)
1e9b19dd
RW
3355 ("libarchive" ,libarchive)
3356 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
3357 ("libxml2" ,libxml2)))
3358 (inputs
0a6e9e13 3359 `(("libsoup" ,libsoup)))
1e7464a9
DH
3360 (home-page "https://projects.gnome.org/totem")
3361 (synopsis "Library to parse and save media playlists for GNOME")
3362 (description "Totem-pl-parser is a GObjects-based library to parse and save
3363playlists in a variety of formats.")
3364 (license license:lgpl2.0+)))
3365
6b888eff
SB
3366(define-public aisleriot
3367 (package
3368 (name "aisleriot")
36ed9b46 3369 (version "3.22.9")
6b888eff
SB
3370 (source (origin
3371 (method url-fetch)
e43f622a 3372 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 3373 (version-major+minor version) "/"
e43f622a 3374 "aisleriot-" version ".tar.xz"))
6b888eff
SB
3375 (sha256
3376 (base32
36ed9b46 3377 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
3378 (build-system glib-or-gtk-build-system)
3379 (arguments
3380 '(#:configure-flags
3381 '("--with-platform=gtk-only"
3382 "--with-card-theme-formats=svg")))
3383 (native-inputs
3384 `(("desktop-file-utils" ,desktop-file-utils)
3385 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
3386 ("intltool" ,intltool)
3387 ("itstool" ,itstool)
3388 ("pkg-config" ,pkg-config)
3389 ("xmllint" ,libxml2)))
3390 (inputs
3391 `(("gtk+" ,gtk+)
226e57d6 3392 ("guile" ,guile-2.2)
6b888eff
SB
3393 ("libcanberra" ,libcanberra)
3394 ("librsvg" ,librsvg)))
3395 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
3396 (synopsis "Solitaire card games")
3397 (description
3398 "Aisleriot (also known as Solitaire or sol) is a collection of card games
3399which are easy to play with the aid of a mouse.")
3400 (license license:gpl3+)))
4a79e256 3401
f828d05b
KK
3402(define-public amtk
3403 (package
3404 (name "amtk")
09c4e43f 3405 (version "5.0.1")
f828d05b
KK
3406 (source (origin
3407 (method url-fetch)
bf92ba6b 3408 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 3409 (version-major+minor version) "/"
bf92ba6b 3410 "amtk-" version ".tar.xz"))
f828d05b
KK
3411 (sha256
3412 (base32
09c4e43f 3413 "09yy95w1s83c43mh9vha1jbb780yighf5pd2j0ygjmc68sjg871d"))))
f828d05b
KK
3414 (build-system gnu-build-system)
3415 (arguments
3416 '(#:configure-flags '("--enable-gtk-doc")))
3417 (native-inputs
3418 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 3419 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
3420 ("gtk-doc" ,gtk-doc)
3421 ("pkg-config" ,pkg-config)))
3422 (inputs
3423 `(("glib" ,glib)
3424 ("gtk+" ,gtk+)))
3425 (home-page "https://wiki.gnome.org/Projects/Amtk")
3426 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
3427 (description
3428 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
3429It is a basic GtkUIManager replacement based on GAction. It is suitable for
3430both a traditional UI or a modern UI with a GtkHeaderBar.")
3431 (license license:lgpl2.1+)))
3432
4a79e256
SB
3433(define-public devhelp
3434 (package
3435 (name "devhelp")
11d28bd9 3436 (version "3.30.1")
4a79e256
SB
3437 (source (origin
3438 (method url-fetch)
3439 (uri (string-append "mirror://gnome/sources/" name "/"
3440 (version-major+minor version) "/"
3441 name "-" version ".tar.xz"))
3442 (sha256
3443 (base32
11d28bd9
KK
3444 "036sddvhs0blqpc2ixmjdl9vxynvkn5jpgn0jxr1fxcm4rh3q07a"))))
3445 (build-system meson-build-system)
4a79e256
SB
3446 (native-inputs
3447 `(("intltool" ,intltool)
5dd12afc 3448 ("itstool" ,itstool)
11d28bd9
KK
3449 ("gobject-introspection" ,gobject-introspection)
3450 ("glib:bin" ,glib "bin") ; for glib-mkmenus
3451 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
4a79e256
SB
3452 ("pkg-config" ,pkg-config)))
3453 (inputs
11d28bd9
KK
3454 `(("amtk" ,amtk)
3455 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
3456 ("webkitgtk" ,webkitgtk)))
3457 (home-page "https://wiki.gnome.org/Apps/Devhelp")
3458 (synopsis "API documentation browser for GNOME")
3459 (description
3460 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
3461natively with GTK-Doc (the API reference system developed for GTK+ and used
3462throughout GNOME for API documentation).")
3463 (license license:gpl2+)))
ba421ab7
MW
3464
3465(define-public cogl
3466 (package
3467 (name "cogl")
54c69ae1 3468 (version "1.22.4")
ba421ab7
MW
3469 (source
3470 (origin
3471 (method url-fetch)
5754f0cf 3472 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 3473 (version-major+minor version) "/"
5754f0cf 3474 "cogl-" version ".tar.xz"))
ba421ab7 3475 (sha256
54c69ae1 3476 (base32 "1q0drs82a8f6glg1v29bb6g2nf15fw0rvdx3d0rgcgfarfaby5sj"))))
a88d5a0c
MW
3477 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
3478 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
3479 (build-system gnu-build-system)
3480 (native-inputs
3481 `(("glib:bin" ,glib "bin") ; for glib-mkenums
3482 ("gobject-introspection" ,gobject-introspection)
3483 ;;("xorg-server" ,xorg-server) ; for the test suite
3484 ("pkg-config" ,pkg-config)))
3485 (propagated-inputs
3486 `(("glib" ,glib)
3487 ("gdk-pixbuf" ,gdk-pixbuf)
3488 ("libx11" ,libx11)
3489 ("libxext" ,libxext)
3490 ("libxfixes" ,libxfixes)
3491 ("libxdamage" ,libxdamage)
3492 ("libxcomposite" ,libxcomposite)
3493 ("libxrandr" ,libxrandr)))
3494 (inputs
3495 `(("mesa" ,mesa)
3496 ("cairo" ,cairo)
3497 ("pango" ,pango)
3498 ("gstreamer" ,gstreamer)
31860852
KK
3499 ("gst-plugins-base" ,gst-plugins-base)
3500 ("wayland" ,wayland)))
ba421ab7
MW
3501 (arguments
3502 `(#:configure-flags (list "--enable-cogl-gst"
31860852
KK
3503 "--enable-wayland-egl-platform"
3504 "--enable-wayland-egl-server"
3505
ba421ab7
MW
3506 ;; Arrange to pass an absolute file name to
3507 ;; dlopen for libGL.so.
3508 (string-append "--with-gl-libname="
3509 (assoc-ref %build-inputs "mesa")
3510 "/lib/libGL.so"))
3511 ;; XXX FIXME: All tests fail, with many warnings printed like this:
3512 ;; _FontTransOpen: Unable to Parse address
3513 ;; ${prefix}/share/fonts/X11/misc/
3514 #:tests? #f
3515 #; #:phases
3516 #;
3517 (modify-phases %standard-phases
3518 (add-before 'check 'start-xorg-server
3519 (lambda* (#:key inputs #:allow-other-keys)
3520 ;; The test suite requires a running X server.
3521 (system (format #f "~a/bin/Xvfb :1 &"
3522 (assoc-ref inputs "xorg-server")))
3523 (setenv "DISPLAY" ":1")
3524 #t)))))
3525 (home-page "http://www.cogl3d.org")
3526 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
3527 (description
3528 "Cogl is a small library for using 3D graphics hardware to draw pretty
3529pictures. The API departs from the flat state machine style of OpenGL and is
3530designed to make it easy to write orthogonal components that can render
3531without stepping on each others toes.")
3532 (license (list license:expat ; most of the code
3533 license:bsd-3 ; cogl/cogl-point-in-poly.c
3534 license:sgifreeb2.0 ; cogl-path/tesselator/
3535 license:asl2.0)))) ; examples/android/
fb182b8a
MW
3536
3537(define-public clutter
3538 (package
3539 (name "clutter")
6a88e4ee 3540 (version "1.26.2")
fb182b8a
MW
3541 (source
3542 (origin
3543 (method url-fetch)
3544 (uri (string-append "mirror://gnome/sources/" name "/"
3545 (version-major+minor version) "/"
3546 name "-" version ".tar.xz"))
3547 (sha256
3548 (base32
6a88e4ee 3549 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
3550 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
3551 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 3552 (build-system gnu-build-system)
600233bd
LC
3553 (outputs '("out"
3554 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
3555 (native-inputs
3556 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
3557 ("gobject-introspection" ,gobject-introspection)
3558 ("pkg-config" ,pkg-config)
3559 ("xsltproc" ,libxslt)))
3560 (propagated-inputs
3561 `(("cogl" ,cogl)
3562 ("cairo" ,cairo)
3563 ("atk" ,atk)
3564 ("gtk+" ,gtk+)
3565 ("json-glib" ,json-glib)
3566 ("glib" ,glib)
3567 ("libxcomposite" ,libxcomposite)
3568 ("libxdamage" ,libxdamage)
3569 ("libxext" ,libxext)
3570 ("xinput" ,xinput)))
3571 (inputs
3572 `(("libxkbcommon" ,libxkbcommon)
3573 ("udev" ,eudev)))
3574 (arguments
600233bd
LC
3575 `(#:configure-flags (list "--enable-x11-backend=yes"
3576
3577 ;; This produces share/doc/{clutter,cally}.
3578 (string-append "--with-html-dir="
3579 (assoc-ref %outputs "doc")
3580 "/share/doc"))
fb182b8a
MW
3581 ;; XXX FIXME: Get test suite working. It would probably fail in the
3582 ;; same way the cogl tests fail, since clutter is based on cogl.
3583 #:tests? #f))
3584 (home-page "http://www.clutter-project.org")
476af713 3585 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 3586 (description
476af713 3587 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
3588creating fast, mainly 2D single window applications such as media box UIs,
3589presentations, kiosk style applications and so on.")
3590 (license license:lgpl2.0+)))
bf7f17ba
MW
3591
3592(define-public clutter-gtk
3593 (package
3594 (name "clutter-gtk")
5d1a3219 3595 (version "1.8.4")
bf7f17ba
MW
3596 (source
3597 (origin
3598 (method url-fetch)
3599 (uri (string-append "mirror://gnome/sources/" name "/"
3600 (version-major+minor version) "/"
3601 name "-" version ".tar.xz"))
3602 (sha256
3603 (base32
5d1a3219 3604 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
3605 (build-system gnu-build-system)
3606 (native-inputs
3607 `(("pkg-config" ,pkg-config)
3608 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
3609 (propagated-inputs
3610 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
3611 `(("clutter" ,clutter)
3612 ("gtk+" ,gtk+)))
3613 (home-page "http://www.clutter-project.org")
476af713 3614 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 3615 (description
476af713 3616 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
3617creating fast, mainly 2D single window applications such as media box UIs,
3618presentations, kiosk style applications and so on.")
3619 (license license:lgpl2.0+)))
86d6a893
MW
3620
3621(define-public clutter-gst
3622 (package
3623 (name "clutter-gst")
ba07ac19 3624 (version "3.0.27")
86d6a893
MW
3625 (source
3626 (origin
3627 (method url-fetch)
f010f89b 3628 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 3629 (version-major+minor version) "/"
f010f89b 3630 "clutter-gst-" version ".tar.xz"))
86d6a893 3631 (sha256
ba07ac19 3632 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
3633 (build-system gnu-build-system)
3634 (native-inputs
ba07ac19 3635 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
3636 ("pkg-config" ,pkg-config)
3637 ("gobject-introspection" ,gobject-introspection)))
3638 (inputs
3639 `(("clutter" ,clutter)
3640 ("gstreamer" ,gstreamer)
3641 ("gst-plugins-base" ,gst-plugins-base)))
3642 (home-page "http://www.clutter-project.org")
3643 (synopsis "Integration library for using GStreamer with Clutter")
3644 (description
3645 "Clutter-Gst is an integration library for using GStreamer with Clutter.
3646It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
3647implements the ClutterGstPlayer interface using playbin. Clutter is an
3648OpenGL-based interactive canvas library.")
86d6a893 3649 (license license:lgpl2.0+)))
607a04ae 3650
30dc88d9
LC
3651(define-public libchamplain
3652 (package
3653 (name "libchamplain")
5564b2c5 3654 (version "0.12.16")
30dc88d9
LC
3655 (source (origin
3656 (method url-fetch)
3657 (uri (string-append
3658 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
3659 version ".tar.xz"))
3660 (sha256
3661 (base32
5564b2c5 3662 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 3663 (build-system gnu-build-system)
f7c6833f
LF
3664 (arguments '(#:configure-flags '("--enable-vala")))
3665 (native-inputs
3666 `(("gobject-introspection" ,gobject-introspection)
3667 ("pkg-config" ,pkg-config)
3668 ("vala" ,vala)))
30dc88d9
LC
3669 (propagated-inputs
3670 `(("libsoup" ,libsoup)
3671 ("sqlite" ,sqlite)
3672 ("clutter" ,clutter)
3673 ("clutter-gtk" ,clutter-gtk)
3674 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
3675 ("cairo" ,cairo)
3676 ("gtk+3" ,gtk+)
3677 ("glib" ,glib)))
f032d0be 3678 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
3679 (synopsis "C library providing a ClutterActor to display maps")
3680 (description
3681 "libchamplain is a C library providing a ClutterActor to display maps.
3682It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
3683and Perl bindings are also available. It supports numerous free map sources
3684such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
3685 (license license:lgpl2.1+)))
3686
607a04ae
MW
3687(define-public gom
3688 (package
3689 (name "gom")
0510440b 3690 (version "0.3.2")
607a04ae
MW
3691 (source
3692 (origin
3693 (method url-fetch)
6c8a0b6f 3694 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 3695 (version-major+minor version) "/"
6c8a0b6f 3696 "gom-" version ".tar.xz"))
607a04ae
MW
3697 (sha256
3698 (base32
0510440b 3699 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
3700 (build-system gnu-build-system)
3701 (native-inputs
3702 `(("intltool" ,intltool)
3703 ("pkg-config" ,pkg-config)
3704 ("gobject-introspection" ,gobject-introspection)))
3705 (inputs
3706 `(("glib" ,glib)
3707 ("gdk-pixbuf" ,gdk-pixbuf)
3708 ("sqlite" ,sqlite)))
3709 ;; XXX TODO: Figure out how to run the test suite.
3710 (arguments `(#:tests? #f))
3711 (home-page "https://wiki.gnome.org/Projects/Gom")
3712 (synopsis "Object mapper from GObjects to SQLite")
3713 (description
3714 "Gom provides an object mapper from GObjects to SQLite. It helps you
3715write applications that need to store structured data as well as make complex
3716queries upon that data.")
3717 (license license:lgpl2.1+)))
b7a3cf11 3718
865aacc9 3719(define-public libgnome-games-support
f09520db 3720 (package
865aacc9 3721 (name "libgnome-games-support")
4c6d15cf 3722 (version "1.4.4")
f09520db
SB
3723 (source (origin
3724 (method url-fetch)
2d8dca9d 3725 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 3726 (version-major+minor version) "/"
2d8dca9d 3727 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
3728 (sha256
3729 (base32
4c6d15cf 3730 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
3731 (build-system gnu-build-system)
3732 (arguments
3733 '(#:phases
3734 (modify-phases %standard-phases
3735 (add-before 'check 'pre-check
3736 (lambda _
865aacc9 3737 ;; Tests require a writable HOME.
f09520db
SB
3738 (setenv "HOME" (getcwd))
3739 #t)))))
3740 (native-inputs
3741 `(("intltool" ,intltool)
3742 ("pkg-config" ,pkg-config)
3743 ("vala" ,vala)))
3744 (propagated-inputs
865aacc9 3745 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
3746 `(("gtk+" ,gtk+)
3747 ("libgee" ,libgee)))
3748 (home-page "https://www.gnome.org/")
3749 (synopsis "Useful functionality shared among GNOME games")
3750 (description
865aacc9 3751 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
3752GNOME Games, but it may be used by others.")
3753 (license license:lgpl3+)))
3754
b7a3cf11
SB
3755(define-public gnome-klotski
3756 (package
3757 (name "gnome-klotski")
36828576 3758 (version "3.22.3")
b7a3cf11
SB
3759 (source (origin
3760 (method url-fetch)
3761 (uri (string-append "mirror://gnome/sources/" name "/"
3762 (version-major+minor version) "/"
3763 name "-" version ".tar.xz"))
3764 (sha256
3765 (base32
36828576 3766 "0prc0s28pdflgzyvk1g0yfx982q2grivmz3858nwpqmbkha81r7f"))))
b7a3cf11
SB
3767 (build-system glib-or-gtk-build-system)
3768 (native-inputs
3769 `(("desktop-file-utils" ,desktop-file-utils)
3770 ("intltool" ,intltool)
3771 ("itstool" ,itstool)
bcb354ad
SB
3772 ("pkg-config" ,pkg-config)
3773 ("xmllint" ,libxml2)))
b7a3cf11
SB
3774 (inputs
3775 `(("gtk+" ,gtk+)
f4eae76f 3776 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
3777 ("librsvg" ,librsvg)))
3778 (home-page "https://wiki.gnome.org/Apps/Klotski")
3779 (synopsis "Sliding block puzzles")
3780 (description
3781 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
3782the patterned block to the area bordered by green markers. To do so, you will
3783need to slide other blocks out of the way. Complete each puzzle in as few moves
3784as possible!")
3785 (license license:gpl2+)))
8d4791bf
MW
3786
3787(define-public grilo
3788 (package
3789 (name "grilo")
99dd2af9 3790 (version "0.3.3")
8d4791bf
MW
3791 (source
3792 (origin
3793 (method url-fetch)
3794 (uri (string-append "mirror://gnome/sources/" name "/"
3795 (version-major+minor version) "/"
3796 name "-" version ".tar.xz"))
3797 (sha256
3798 (base32
99dd2af9 3799 "1qx072m0gl6m3d5g5cbbf13p4h217icmlxjnrn829x5xqwi451sw"))))
8d4791bf
MW
3800 (build-system gnu-build-system)
3801 (native-inputs
3802 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3803 ("intltool" ,intltool)
3804 ("pkg-config" ,pkg-config)
3805 ("gobject-introspection" ,gobject-introspection)))
3806 (inputs
6d7273a0
KK
3807 `(("cyrus-sasl" ,cyrus-sasl)
3808 ("glib" ,glib)
8d4791bf
MW
3809 ("gtk+" ,gtk+)
3810 ("libxml2" ,libxml2)
6d7273a0 3811 ("liboauth" ,liboauth)
8d4791bf
MW
3812 ("libsoup" ,libsoup)
3813 ("totem-pl-parser" ,totem-pl-parser)))
3814 (arguments
3815 `(#:phases
3816 (modify-phases %standard-phases
3817 (add-after 'unpack 'fix-introspection-install-dir
3818 (lambda* (#:key outputs #:allow-other-keys)
3819 (let ((out (assoc-ref outputs "out")))
3820 (substitute* '("src/Makefile.in"
3821 "libs/pls/Makefile.in"
3822 "libs/net/Makefile.in")
3823 (("@INTROSPECTION_GIRDIR@")
3824 (string-append out "/share/gir-1.0/"))
3825 (("@INTROSPECTION_TYPELIBDIR@")
8c52aab4
MW
3826 (string-append out "/lib/girepository-1.0/")))
3827 #t))))))
8d4791bf
MW
3828 (native-search-paths
3829 (list (search-path-specification
3830 (variable "GRL_PLUGIN_PATH")
3831 (files (list (string-append "lib/grilo-"
3832 (version-major+minor version)))))))
f032d0be 3833 (home-page "https://live.gnome.org/Grilo")
8d4791bf
MW
3834 (synopsis "Framework for discovering and browsing media")
3835 (description
3836 "Grilo is a framework focused on making media discovery and browsing easy
3837for application developers.")
3838 (license license:lgpl2.1+)))
7b212526
MW
3839
3840(define-public grilo-plugins
3841 (package
3842 (name "grilo-plugins")
22753632 3843 (version "0.3.3")
7b212526
MW
3844 (source
3845 (origin
3846 (method url-fetch)
3847 (uri (string-append "mirror://gnome/sources/" name "/"
3848 (version-major+minor version) "/"
3849 name "-" version ".tar.xz"))
3850 (sha256
3851 (base32
22753632 3852 "172vr1y98d2mzlmg5akjn4ibrcj3gh22cwnb3cv9rvvzhj3yhrpy"))))
7b212526
MW
3853 (build-system gnu-build-system)
3854 (native-inputs
3855 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3856 ("intltool" ,intltool)
3857 ("itstool" ,itstool)
3858 ("pkg-config" ,pkg-config)))
3859 (inputs
3860 `(("grilo" ,grilo)
3861 ("glib" ,glib)
3862 ("libxml2" ,libxml2)
3863 ("sqlite" ,sqlite)
3864 ("gom" ,gom)
3865 ;; XXX TODO: Add oauth
3866 ;; XXX TODO: Add goa
3867 ;; XXX TODO: Add gdata (e.g. needed for youtube plugin)
3868 ;; XXX TODO: Add lua (needs help finding it)
3869 ("json-glib" ,json-glib)
3870 ("avahi" ,avahi)
3871 ("gmime" ,gmime)
3872 ("libsoup" ,libsoup)
3873 ("libarchive" ,libarchive)
3874 ("totem-pl-parser" ,totem-pl-parser)))
3875 (arguments
3876 `(#:make-flags (list (string-append "GRL_PLUGINS_DIR="
3877 %output
3878 "/lib/grilo-"
3879 ,(version-major+minor version)))
3880 ;; XXX FIXME: Try to get the test suite working. It appears to require
3881 ;; a working system dbus. Inside the build container, all tests fail
3882 ;; with: "assertion failed: (source)". Outside of the build container,
3883 ;; most tests succeed.
3884 #:tests? #f))
f032d0be 3885 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
3886 (synopsis "Plugins for the Grilo media discovery library")
3887 (description
3888 "Grilo is a framework focused on making media discovery and browsing easy
3889for application developers.")
3890 (license license:lgpl2.1+)))
4e3fc547
MW
3891
3892(define-public totem
3893 (package
3894 (name "totem")
77425f04 3895 (version "3.30.0")
4e3fc547
MW
3896 (source
3897 (origin
3898 (method url-fetch)
3899 (uri (string-append "mirror://gnome/sources/" name "/"
3900 (version-major+minor version) "/"
3901 name "-" version ".tar.xz"))
3902 (sha256
3903 (base32
77425f04 3904 "0rahkybxbmxhlmrrgrzxny1xm7wycx7ib4blxp1i2l1q3i8s84b0"))
81382e3f
MB
3905 (patches (search-patches "totem-meson-easy-codec.patch"
3906 "totem-meson-compat.patch"))))
7ad81b8b 3907 (build-system meson-build-system)
4e3fc547
MW
3908 (native-inputs
3909 `(("pkg-config" ,pkg-config)
3910 ("desktop-file-utils" ,desktop-file-utils)
3911 ("gobject-introspection" ,gobject-introspection)
7ad81b8b
LC
3912 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
3913 ("gtk:bin" ,gtk+ "bin") ;for 'gtk-update-icon-cache'
4e3fc547 3914 ("intltool" ,intltool)
bcb354ad
SB
3915 ("itstool" ,itstool)
3916 ("xmllint" ,libxml2)))
4e3fc547
MW
3917 (propagated-inputs
3918 `(("dconf" ,dconf)))
3919 (inputs
3920 `(("gtk+" ,gtk+)
3921 ("gdk-pixbuf" ,gdk-pixbuf)
3922 ("atk" ,atk)
3923 ("cairo" ,cairo)
3924 ("dbus-glib" ,dbus-glib)
3925 ("clutter" ,clutter)
3926 ("clutter-gtk" ,clutter-gtk)
3927 ("clutter-gst" ,clutter-gst)
6a6db57f 3928 ("xorgproto" ,xorgproto)
4e3fc547
MW
3929 ("libxxf86vm" ,libxxf86vm)
3930 ("libxtst" ,libxtst)
3931 ("libxrandr" ,libxrandr)
3932 ("libxml2" ,libxml2)
3933 ("libsoup" ,libsoup)
3934 ("libpeas" ,libpeas)
3935 ("librsvg" ,librsvg)
3936 ("lirc" ,lirc)
3937 ("gnome-desktop" ,gnome-desktop)
3938 ("gstreamer" ,gstreamer)
3939 ("gst-plugins-base" ,gst-plugins-base)
3940 ("gst-plugins-good" ,gst-plugins-good)
3941 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3942 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 3943 ("python" ,python)
4e3fc547
MW
3944 ("python-pygobject" ,python2-pygobject)
3945 ;; XXX TODO pylint needed for python support
3946 ("totem-pl-parser" ,totem-pl-parser)
3947 ("grilo" ,grilo)
3948 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
3949 ("vala" ,vala)))
3950 (arguments
7ad81b8b
LC
3951 `(#:glib-or-gtk? #t
3952
a97bfa46
AVY
3953 ;; Disable parallel builds until
3954 ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28813 is
3955 ;; fixed. Try enabling it when updating this package in case
3956 ;; upstream has fixed it.
3957 #:parallel-build? #f
3958
7ad81b8b 3959 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 3960 ;; all that.
7ad81b8b 3961 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
3962
3963 ;; Do not build .a files for the plugins, it's
3964 ;; completely useless. This saves 2 MiB.
7ad81b8b 3965 "--default-library" "shared")
ec5c24f9
LC
3966
3967 #:phases
4e3fc547 3968 (modify-phases %standard-phases
6368eb39
DM
3969 (add-before
3970 'install 'disable-cache-generation
3971 (lambda _
3972 (setenv "DESTDIR" "/")
3973 #t))
4e3fc547
MW
3974 (add-after
3975 'install 'wrap-totem
3976 (lambda* (#:key inputs outputs #:allow-other-keys)
3977 (let ((out (assoc-ref outputs "out"))
3978 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
3979 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
3980 (wrap-program (string-append out "/bin/totem")
3981 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
3982 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
3983 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
3984 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
3985 #t)))))
3986 (home-page "https://wiki.gnome.org/Apps/Videos")
3987 (synopsis "Simple media player for GNOME based on GStreamer")
3988 (description "Totem is a simple yet featureful media player for GNOME
3989which can read a large number of file formats.")
3990 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
3991 ;; to be used and distributed together with GStreamer and Totem. See
3992 ;; file://COPYING in the source distribution for details.
3993 (license license:gpl2+)))
f0afb0c8
DH
3994
3995(define-public rhythmbox
3996 (package
3997 (name "rhythmbox")
8190e1ed 3998 (version "3.4.3")
f0afb0c8
DH
3999 (source (origin
4000 (method url-fetch)
4001 (uri (string-append "mirror://gnome/sources/" name "/"
4002 (version-major+minor version) "/"
4003 name "-" version ".tar.xz"))
4004 (sha256
4005 (base32
8190e1ed 4006 "1yx3n7p9vmv23jsv98fxwq95n78awdxqm8idhyhxx2d6vk4w1hgx"))))
f0afb0c8
DH
4007 (build-system glib-or-gtk-build-system)
4008 (arguments
4009 `(#:configure-flags
4010 (list "--enable-lirc"
4011 "--enable-python"
4012 "--enable-vala"
4013 "--with-brasero"
4014 "--with-gudev"
4015 "--with-libsecret")
4016 #:phases
4017 (modify-phases %standard-phases
4018 (add-after
4019 'install 'wrap-rhythmbox
4020 (lambda* (#:key inputs outputs #:allow-other-keys)
4021 (let ((out (assoc-ref outputs "out"))
4022 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4023 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
4024 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
4025 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
4026 (wrap-program (string-append out "/bin/rhythmbox")
4027 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
4028 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
4029 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
4030 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
4031 #t)))))
4032 (propagated-inputs
4033 `(("dconf" ,dconf)))
4034 (native-inputs
bcb354ad
SB
4035 `(("itstool" ,itstool)
4036 ("intltool" ,intltool)
f0afb0c8
DH
4037 ("glib" ,glib "bin")
4038 ("gobject-introspection" ,gobject-introspection)
4039 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
4040 ("pkg-config" ,pkg-config)
4041 ("xmllint" ,libxml2)))
f0afb0c8
DH
4042 (inputs
4043 `(("json-glib" ,json-glib)
4044 ("tdb" ,tdb)
4045 ("gnome-desktop" ,gnome-desktop)
4046 ("python" ,python)
4047 ("python-pygobject" ,python2-pygobject)
4048 ("vala" ,vala)
4049 ("gmime" ,gmime)
f0afb0c8
DH
4050 ("adwaita-icon-theme" ,adwaita-icon-theme)
4051 ("grilo" ,grilo)
4052 ("grilo-plugins" ,grilo-plugins)
4053 ("gstreamer" ,gstreamer)
4054 ("gst-plugins-base" ,gst-plugins-base)
4055 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 4056 ("totem-pl-parser" ,totem-pl-parser)
ea226291 4057 ("libgudev" ,libgudev)
f0afb0c8
DH
4058 ;;("libmtp" ,libmtp) FIXME: Not detected
4059 ("libsecret" ,libsecret)
4060 ("libsoup" ,libsoup)
4061 ("libnotify" ,libnotify)
4062 ("libpeas" ,libpeas)
4063 ("lirc" ,lirc)
4064 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
4065 ;;("clutter" ,clutter)
4066 ;;("clutter-gtk" ,clutter-gtk)
4067 ;;("clutter-gst" ,clutter-gst)
4068 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4069 ("atk" ,atk)
4070 ("pango" ,pango)
4071 ("gtk+" ,gtk+)
4072 ;; TODO:
4073 ;; * libgpod
4074 ;; * mx
f0afb0c8
DH
4075 ("brasero" ,brasero)))
4076 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
4077 (synopsis "Music player for GNOME")
4078 (description "Rhythmbox is a music playing application for GNOME. It
4079supports playlists, song ratings, and any codecs installed through gstreamer.")
4080 (license license:gpl2+)))
f70d8383
DH
4081
4082(define-public eog
4083 (package
4084 (name "eog")
ec7d4bc7 4085 (version "3.28.4")
f70d8383
DH
4086 (source (origin
4087 (method url-fetch)
4088 (uri (string-append "mirror://gnome/sources/" name "/"
4089 (version-major+minor version) "/"
4090 name "-" version ".tar.xz"))
4091 (sha256
4092 (base32
ec7d4bc7 4093 "1wrq3l3z0x6q0hnc1vqr2hnyb1b14qw6aqvc5dldfgbs0yys6p55"))))
61fb581f 4094 (build-system meson-build-system)
f70d8383 4095 (arguments
34c44a34
RW
4096 `(#:configure-flags
4097 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
4098 (list (string-append "-Dc_link_args=-Wl,-rpath="
4099 (assoc-ref %outputs "out") "/lib/eog"))
4100 #:phases
f70d8383 4101 (modify-phases %standard-phases
61fb581f
RW
4102 (add-after 'install 'wrap-eog
4103 (lambda* (#:key outputs #:allow-other-keys)
4104 (let ((out (assoc-ref outputs "out"))
4105 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
4106 (wrap-program (string-append out "/bin/eog")
4107 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
4108 #t)))))
f70d8383
DH
4109 (propagated-inputs
4110 `(("dconf" ,dconf)))
4111 (native-inputs
4112 `(("intltool" ,intltool)
b3546174 4113 ("itstool" ,itstool)
f70d8383 4114 ("glib" ,glib "bin")
61fb581f 4115 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
f70d8383 4116 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
4117 ("pkg-config" ,pkg-config)
4118 ("xmllint" ,libxml2)))
f70d8383
DH
4119 (inputs
4120 `(("gnome-desktop" ,gnome-desktop)
4121 ("shared-mime-info" ,shared-mime-info)
4122 ("adwaita-icon-theme" ,adwaita-icon-theme)
4123 ("exempi" ,exempi)
4124 ("lcms" ,lcms)
4125 ("libexif" ,libexif)
4126 ("libpeas" ,libpeas)
4127 ("libjpeg" ,libjpeg)
4128 ("librsvg" ,librsvg)
4129 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4130 ("gtk+" ,gtk+)))
4131 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
4132 (synopsis "GNOME image viewer")
4133 (description "Eye of GNOME is the GNOME image viewer. It
4134supports image conversion, rotation, and slideshows.")
4135 (license license:gpl2+)))
41af5e7b 4136
0c3f8cb8
LC
4137(define-public eog-plugins
4138 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
4139 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
4140 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
4141 ;; 'XDG_DATA_DIRS' appropriately set.
4142 (package
4143 (name "eog-plugins")
54b74cc6 4144 (version "3.26.4")
0c3f8cb8
LC
4145 (source (origin
4146 (method url-fetch)
f3b88ed2 4147 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 4148 (version-major+minor version) "/"
f3b88ed2 4149 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
4150 (sha256
4151 (base32
54b74cc6 4152 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
4153 (build-system gnu-build-system)
4154 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
4155 (synopsis "Extensions for the Eye of GNOME image viewer")
4156 (native-inputs
4157 `(("pkg-config" ,pkg-config)
4158 ("gettext" ,gnu-gettext)))
4159 (inputs
4160 `(("eog" ,eog)
4161 ("glib" ,glib)
4162 ("gtk+" ,gtk+)
4163 ("libpeas" ,libpeas)
4164 ("libexif" ,libexif)
4165 ("libchamplain" ,libchamplain)))
4166 (description
4167 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
4168notably:
4169
4170@itemize
4171@item @dfn{EXIF Display}, which displays camera (EXIF) information;
4172@item @dfn{Map}, which displays a map of where the picture was taken on the
4173side panel;
4174@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
4175@end itemize\n")
4176
4177 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
4178 ;; long suspicious byte stream that goes to a
4179 ;; ".gresource.eog_postasa_plugin" ELF section.
4180 (license license:gpl2+)))
4181
41af5e7b
SB
4182(define-public libgudev
4183 (package
4184 (name "libgudev")
b78f5118 4185 (version "232")
41af5e7b
SB
4186 (source (origin
4187 (method url-fetch)
4188 (uri (string-append "mirror://gnome/sources/" name "/"
4189 version "/" name "-" version ".tar.xz"))
4190 (sha256
4191 (base32
b78f5118 4192 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 4193 (build-system gnu-build-system)
b78f5118
RW
4194 (arguments
4195 '(#:configure-flags
4196 ;; umockdev depends on libgudev.
4197 (list "--disable-umockdev")))
41af5e7b
SB
4198 (native-inputs
4199 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
4200 ("gobject-introspection" ,gobject-introspection)
4201 ("pkg-config" ,pkg-config)))
4202 (propagated-inputs
4203 `(("glib" ,glib))) ; required by gudev-1.0.pc
4204 (inputs
4205 `(("udev" ,eudev)))
4206 (home-page "https://wiki.gnome.org/Projects/libgudev")
4207 (synopsis "GObject bindings for libudev")
4208 (description
4209 "This library provides GObject bindings for libudev. It was originally
4210part of udev-extras, then udev, then systemd. It's now a project on its own.")
4211 (license license:lgpl2.1+)))
3dc8828f
SB
4212
4213(define-public gvfs
4214 (package
4215 (name "gvfs")
12fe4846 4216 (version "1.40.1")
3dc8828f
SB
4217 (source (origin
4218 (method url-fetch)
1d68eb32 4219 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 4220 (version-major+minor version) "/"
1d68eb32 4221 "gvfs-" version ".tar.xz"))
3dc8828f
SB
4222 (sha256
4223 (base32
12fe4846 4224 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))))
e762d943 4225 (build-system meson-build-system)
3dc8828f 4226 (arguments
e762d943
RW
4227 '(#:glib-or-gtk? #t
4228 #:configure-flags
4229 (list "-Dsystemduserunitdir=no"
4230 "-Dtmpfilesdir=no"
4231 ;; Otherwise, the RUNPATH will lack the final path component.
4232 (string-append "-Dc_link_args=-Wl,-rpath="
4233 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
4234 (native-inputs
4235 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
4236 ("gettext" ,gettext-minimal)
4237 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
4238 ("pkg-config" ,pkg-config)
4239 ("xsltproc" ,libxslt)))
4240 (inputs
4241 `(("avahi" ,avahi)
4242 ("docbook-xml" ,docbook-xml-4.2)
4243 ("docbook-xsl" ,docbook-xsl)
4244 ("dbus" ,dbus)
e762d943 4245 ("elogind" ,elogind)
3dc8828f 4246 ("fuse" ,fuse)
24a78aa6 4247 ("gcr" ,gcr)
3dc8828f 4248 ("glib" ,glib)
e762d943 4249 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
4250 ("libarchive" ,libarchive)
4251 ("libbluray" ,libbluray)
8852ca24 4252 ("libcap" ,libcap)
3dc8828f
SB
4253 ("libcdio-paranoia" ,libcdio-paranoia)
4254 ("libgcrypt" ,libgcrypt)
e762d943 4255 ("libgdata" ,libgdata)
3dc8828f
SB
4256 ("libgphoto2" ,libgphoto2)
4257 ("libgudev" ,libgudev)
0ab9f949 4258 ("libimobiledevice" ,libimobiledevice)
3dc8828f 4259 ("libmtp" ,libmtp)
e762d943 4260 ("libnfs" ,libnfs)
3dc8828f
SB
4261 ("libsecret" ,libsecret)
4262 ("libsmbclient" ,samba)
4263 ("libsoup" ,libsoup)
4264 ("libxml2" ,libxml2)
e762d943 4265 ("openssh" ,openssh)
8852ca24 4266 ("polkit" ,polkit)
3dc8828f
SB
4267 ("udisks" ,udisks)))
4268 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 4269 (synopsis "Userspace virtual file system for GIO")
3dc8828f 4270 (description
8f65585b 4271 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
4272abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
4273to all applications using the GIO API. It also supports exposing the GVFS
4274mounts to non-GIO applications using FUSE.
4275
4276GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
4277DAV, and others.")
4278 (license license:lgpl2.0+)))
7c88b6bd
AW
4279
4280(define-public gusb
4281 (package
4282 (name "gusb")
536b3274 4283 (version "0.3.0")
7c88b6bd
AW
4284 (source (origin
4285 (method url-fetch)
4286 (uri (string-append "https://github.com/hughsie/libgusb/archive/"
536b3274 4287 version ".tar.gz"))
7c88b6bd
AW
4288 (sha256
4289 (base32
536b3274
MB
4290 "1wa9787ww7s1kl9jml6kiyrjgimlgagq4jmgdj7xcpsx83w10qxk"))))
4291 (build-system meson-build-system)
7c88b6bd 4292 (native-inputs
536b3274 4293 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
4294 ("pkg-config" ,pkg-config)
4295 ("vala" ,vala)
7c88b6bd
AW
4296 ("gtk-doc" ,gtk-doc)))
4297 (propagated-inputs
4298 ;; Both of these are required by gusb.pc.
4299 `(("glib" ,glib)
4300 ("libusb" ,libusb)))
4301 (arguments
536b3274 4302 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 4303 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 4304 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
4305 (description
4306 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
4307asynchronous control, bulk and interrupt transfers with proper cancellation
4308and integration into a mainloop. This makes it easy to integrate low level
4309USB transfers with your high-level application or system daemon.")
4310 (license license:lgpl2.1+)))
0abe1d86
AW
4311
4312(define-public simple-scan
4313 (package
4314 (name "simple-scan")
baca5333 4315 (version "3.24.1")
0abe1d86
AW
4316 (source (origin
4317 (method url-fetch)
4318 (uri (string-append "https://launchpad.net/simple-scan/"
4319 (version-major+minor version) "/"
4320 version "/+download/simple-scan-"
4321 version ".tar.xz"))
4322 (sha256
4323 (base32
baca5333 4324 "1czg21cdbd2fgqylxfnzfhhzy69gycf816d5bbaq6hb62hmq7bjy"))))
0abe1d86
AW
4325 (build-system glib-or-gtk-build-system)
4326 (inputs
4327 `(("gtk" ,gtk+)
4328 ("zlib" ,zlib)
4329 ("cairo" ,cairo)
4330 ("gdk-pixbuf" ,gdk-pixbuf)
4331 ("gusb" ,gusb)
4c928743 4332 ("libsane" ,sane-backends)))
0abe1d86 4333 (native-inputs
b94a6ca0 4334 `(("gettext" ,gettext-minimal)
0abe1d86
AW
4335 ("itstool" ,itstool)
4336 ("colord" ,colord)
4337 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
4338 ("pkg-config" ,pkg-config)
bcb354ad
SB
4339 ("vala" ,vala)
4340 ("xmllint" ,libxml2)))
fb9ca511
TGR
4341 (arguments
4342 '(#:configure-flags '("--disable-packagekit")
4343 #:phases
4344 (modify-phases %standard-phases
4345 (add-after 'unpack 'clean
4346 (lambda _
4347 ;; Remove a left-over reference to PackageKit.
4348
4349 ;; https://bugs.launchpad.net/simple-scan/+bug/1462769
4350
4351 ;; There are some generated C files erroneously
4352 ;; included in the source distribution, and this
4353 ;; one breaks the build by referring to a
4354 ;; non-existent header (packagekit.h)
4355 (delete-file "src/ui.c"))))))
0abe1d86
AW
4356 (home-page "https://launchpad.net/simple-scan")
4357 (synopsis "Document and image scanner")
4358 (description "Simple Scan is an easy-to-use application, designed to let
4359users connect their scanner and quickly have the image/document in an
4360appropriate format. Simple Scan is basically a frontend for SANE - which is
4361the same backend as XSANE uses. This means that all existing scanners will
4362work and the interface is well tested.")
4363 (license license:gpl3+)))
7549f984 4364
ab466d79
RW
4365(define-public eolie
4366 (package
4367 (name "eolie")
fa8ef3ed 4368 (version "0.9.63")
ab466d79
RW
4369 (source (origin
4370 (method url-fetch)
00014781 4371 (uri (string-append "https://gitlab.gnome.org/World/eolie/"
fa8ef3ed 4372 "uploads/d42b466752729a0d3fa828a721e25043/"
00014781 4373 "eolie-" version ".tar.xz"))
ab466d79
RW
4374 (sha256
4375 (base32
fa8ef3ed 4376 "11pp8g0w22h1q0bbj9517l5838gcymvvp8fp9kh6h2dmgir2ssih"))))
00014781 4377 (build-system meson-build-system)
ab466d79 4378 (arguments
00014781
RW
4379 `(#:glib-or-gtk? #t
4380 #:phases
ab466d79
RW
4381 (modify-phases %standard-phases
4382 (add-after 'wrap 'wrap-more
4383 (lambda* (#:key inputs outputs #:allow-other-keys)
4384 (let* ((out (assoc-ref outputs "out"))
4385 ;; These libraries must be on LD_LIBRARY_PATH.
4386 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
4387 "atk" "gtk+" "gsettings-desktop-schemas"
4388 "gobject-introspection"))
4389 (path (string-join
4390 (map (lambda (lib)
4391 (string-append (assoc-ref inputs lib) "/lib"))
4392 libs)
4393 ":")))
4394 (wrap-program (string-append out "/bin/eolie")
4395 `("LD_LIBRARY_PATH" ":" prefix (,path))
4396 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
4397 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
4398 #t)))))
4399 (native-inputs
f85ca6ed 4400 `(("intltool" ,intltool)
ab466d79 4401 ("itstool" ,itstool)
d95f1041 4402 ("pkg-config" ,pkg-config)
d95f1041 4403 ("python" ,python)
00014781 4404 ("glib:bin" ,glib "bin")
d95f1041 4405 ("gtk+" ,gtk+ "bin")))
ab466d79
RW
4406 (inputs
4407 `(("gobject-introspection" ,gobject-introspection)
4408 ("glib-networking" ,glib-networking)
4409 ("cairo" ,cairo)
4410 ("gtk+" ,gtk+)
4411 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
4412 ("python" ,python-wrapper)
d72f76df 4413 ("python-dateutil" ,python-dateutil)
00014781 4414 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
4415 ("python-pygobject" ,python-pygobject)
4416 ("python-pycairo" ,python-pycairo)
00014781 4417 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
4418 ("libsecret" ,libsecret)
4419 ("gtkspell3" ,gtkspell3)
4420 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 4421 ("webkitgtk" ,webkitgtk)))
166b2c97 4422 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
4423 (synopsis "Web browser for GNOME")
4424 (description
4425 "Eolie is a new web browser for GNOME. It features Firefox sync support,
4426a secret password store, an adblocker, and a modern UI.")
4427 (license license:gpl3+)))
4428
7549f984
SB
4429(define-public epiphany
4430 (package
4431 (name "epiphany")
f37dfe1e 4432 (version "3.30.4")
7549f984
SB
4433 (source (origin
4434 (method url-fetch)
dd3266ec 4435 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 4436 (version-major+minor version) "/"
dd3266ec 4437 "epiphany-" version ".tar.xz"))
7549f984
SB
4438 (sha256
4439 (base32
f37dfe1e 4440 "0nk0krzrfck6hhfs52f4sjmj93yjyvabm72bq8i8f9l1pass5vgd"))))
fc5c5b92
R
4441
4442 (build-system meson-build-system)
7549f984
SB
4443 (arguments
4444 ;; FIXME: tests run under Xvfb, but fail with:
4445 ;; /src/bookmarks/ephy-bookmarks/create:
4446 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
4447 ;; subsystem
4448 ;; FAIL
6f48d9db 4449 '(#:tests? #f
e19f9c24
LF
4450 #:glib-or-gtk? #t
4451 #:configure-flags
4452 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
4453 (list (string-append "-Dc_link_args=-Wl,-rpath="
4454 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
4455 (propagated-inputs
4456 `(("dconf" ,dconf)))
7549f984 4457 (native-inputs
fc5c5b92
R
4458 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
4459 ("glib:bin" ,glib "bin") ; for glib-mkenums
4460 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
4461 ("intltool" ,intltool)
7549f984 4462 ("itstool" ,itstool)
bcb354ad
SB
4463 ("pkg-config" ,pkg-config)
4464 ("xmllint" ,libxml2)))
7549f984
SB
4465 (inputs
4466 `(("avahi" ,avahi)
4467 ("gcr" ,gcr)
fc5c5b92 4468 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
4469 ("glib-networking" ,glib-networking)
4470 ("gnome-desktop" ,gnome-desktop)
4471 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 4472 ("json-glib" ,json-glib)
7549f984 4473 ("iso-codes" ,iso-codes)
8748e29c 4474 ("libdazzle" ,libdazzle)
7549f984
SB
4475 ("libnotify" ,libnotify)
4476 ("libsecret" ,libsecret)
7549f984 4477 ("libxslt" ,libxslt)
fc5c5b92 4478 ("nettle" ,nettle) ; for hogweed
7549f984 4479 ("sqlite" ,sqlite)
f85ca6ed 4480 ("webkitgtk" ,webkitgtk)))
7549f984
SB
4481 (home-page "https://wiki.gnome.org/Apps/Web")
4482 (synopsis "GNOME web browser")
4483 (description
4484 "Epiphany is a GNOME web browser targeted at non-technical users. Its
4485principles are simplicity and standards compliance.")
4486 (license license:gpl2+)))
a3856b2c
SB
4487
4488(define-public d-feet
4489 (package
4490 (name "d-feet")
458e9221 4491 (version "0.3.14")
a3856b2c
SB
4492 (source (origin
4493 (method url-fetch)
4494 (uri (string-append "mirror://gnome/sources/" name "/"
4495 (version-major+minor version) "/"
4496 name "-" version ".tar.xz"))
4497 (sha256
4498 (base32
458e9221 4499 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
4500 (build-system glib-or-gtk-build-system)
4501 (arguments
4502 '(#:out-of-source? #f ; tests need to run in the source directory.
4503 #:phases
4504 (modify-phases %standard-phases
4505 (add-before
4506 'check 'pre-check
86aff791 4507 (lambda _
a3856b2c
SB
4508 ;; The test suite requires a running X server.
4509 (system "Xvfb :1 &")
4510 (setenv "DISPLAY" ":1")
4511 ;; Don't fail on missing '/etc/machine-id'.
4512 (setenv "DBUS_FATAL_WARNINGS" "0")
4513 ;; tests.py and window.py don't meet E402:
4514 ;; E402 module level import not at top of file
4515 (substitute* "src/tests/Makefile"
86aff791
MW
4516 (("--ignore=E123") "--ignore=E123,E402"))
4517 #t))
a3856b2c
SB
4518 (add-after
4519 'install 'wrap-program
4520 (lambda* (#:key outputs #:allow-other-keys)
4521 (let ((prog (string-append (assoc-ref outputs "out")
4522 "/bin/d-feet")))
4523 (wrap-program prog
4524 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
4525 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
4526 #t))))))
a3856b2c
SB
4527 (native-inputs
4528 `(("intltool" ,intltool)
4529 ("itstool" ,itstool)
4530 ("pkg-config" ,pkg-config)
4531 ("python-pep8" ,python-pep8)
4532 ("xmllint" ,libxml2)
4533 ("xorg-server" ,xorg-server)))
4534 (inputs
4535 `(("gobject-introspection" ,gobject-introspection)
4536 ("gtk+" ,gtk+)
4537 ("python" ,python-wrapper)
458e9221 4538 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
4539 ("python-pygobject" ,python-pygobject)))
4540 (home-page "https://wiki.gnome.org/Apps/DFeet")
4541 (synopsis "D-Bus debugger")
4542 (description
4543 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
4544of running programs and invoke methods on those interfaces.")
4545 (license license:gpl2+)))
c3b97bd9
SB
4546
4547(define-public yelp-xsl
4548 (package
4549 (name "yelp-xsl")
b3640e79 4550 (version "3.32.1")
c3b97bd9
SB
4551 (source (origin
4552 (method url-fetch)
4553 (uri (string-append "mirror://gnome/sources/" name "/"
4554 (version-major+minor version) "/"
4555 name "-" version ".tar.xz"))
4556 (sha256
4557 (base32
b3640e79 4558 "013z2ixx9kfrs6hq79qpil093xfbc12y1p0mvsh6lpala30iphya"))))
c3b97bd9
SB
4559 (build-system gnu-build-system)
4560 (native-inputs
4561 `(("intltool" ,intltool)
4562 ("itstool" ,itstool)
4563 ("xmllint" ,libxml2)))
4564 (home-page "https://wiki.gnome.org/Apps/Yelp")
4565 (synopsis "XSL stylesheets for Yelp")
4566 (description
4567 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
4568to format Docbook and Mallard documents.")
4569 (license license:gpl2+)))
de3d612a
SB
4570
4571(define-public yelp
4572 (package
4573 (name "yelp")
9d029b7f 4574 (version "3.30.0")
de3d612a
SB
4575 (source (origin
4576 (method url-fetch)
4577 (uri (string-append "mirror://gnome/sources/" name "/"
4578 (version-major+minor version) "/"
4579 name "-" version ".tar.xz"))
4580 (sha256
4581 (base32
9d029b7f 4582 "060a902j15k76fyhk8xfl38ipvrrcc0qd7nm2mcck4ifb45b0zv4"))))
de3d612a
SB
4583 (build-system glib-or-gtk-build-system)
4584 (native-inputs
4585 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
4586 ("intltool" ,intltool)
4587 ("itstool" ,itstool)
4588 ("pkg-config" ,pkg-config)))
4589 (propagated-inputs
4590 `(("dconf" ,dconf)))
4591 (inputs
ad1b7d8b
SB
4592 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4593 ("libxslt" ,libxslt)
de3d612a 4594 ("sqlite" ,sqlite)
4c28ca1d
SB
4595 ("webkitgtk" ,webkitgtk)
4596 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
4597 (home-page "https://wiki.gnome.org/Apps/Yelp")
4598 (synopsis "GNOME help browser")
4599 (description
4600 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
4601man, info, and HTML documents. It can locate documents according to the
4602freedesktop.org help system specification.")
4603 (license license:gpl2+)))
122d0d10
SB
4604
4605(define-public yelp-tools
4606 (package
4607 (name "yelp-tools")
2089bca5 4608 (version "3.28.0")
122d0d10
SB
4609 (source (origin
4610 (method url-fetch)
4611 (uri (string-append "mirror://gnome/sources/" name "/"
4612 (version-major+minor version) "/"
4613 name "-" version ".tar.xz"))
4614 (sha256
4615 (base32
2089bca5 4616 "1b61dmlb1sd50fgq6zgnkcpx2s1py33q0x9cx67fzpsr4gmgxnw2"))))
122d0d10
SB
4617 (build-system gnu-build-system)
4618 (native-inputs
4619 `(("pkg-config" ,pkg-config)))
4620 (propagated-inputs
4621 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
4622 `(("itstool" ,itstool)
4623 ("xmllint" ,libxml2)
4624 ("xsltproc" ,libxslt)))
4625 (inputs
4626 `(("yelp-xsl" ,yelp-xsl)))
4627 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
4628 (synopsis "Yelp documentation tools")
4629 (description
4630 "Yelp-tools is a collection of scripts and build utilities to help create,
4631manage, and publish documentation for Yelp and the web. Most of the heavy
4632lifting is done by packages like yelp-xsl and itstool. This package just
4633wraps things up in a developer-friendly way.")
4634 (license license:gpl2+)))
af8f9f23 4635
4ed041d9
MB
4636(define-public yelp-tools/fixed
4637 ;; This variant fixes a python-libxml2 crash when processing UTF-8
4638 ;; sequences: <https://bugs.gnu.org/37468>. TODO: Remove this in
4639 ;; the next rebuild cycle.
4640 (hidden-package
4641 (package/inherit
4642 yelp-tools
4643 (propagated-inputs
4644 `(("itstool" ,itstool/fixed)
4645 ,@(alist-delete "itstool" (package-propagated-inputs yelp-tools)))))))
4646
af8f9f23
RW
4647(define-public libgee
4648 (package
4649 (name "libgee")
4c2c5ae6 4650 (version "0.20.2")
af8f9f23
RW
4651 (source (origin
4652 (method url-fetch)
84a1b007 4653 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 4654 (version-major+minor version) "/"
84a1b007 4655 "libgee-" version ".tar.xz"))
af8f9f23
RW
4656 (sha256
4657 (base32
4c2c5ae6 4658 "0g1mhl7nidg82v4cikkk8dakzc18hg7wv0dsf2pbyijzfm5mq0wy"))))
af8f9f23
RW
4659 (build-system gnu-build-system)
4660 (arguments
4661 `(#:phases
4662 (modify-phases %standard-phases
4663 (add-after 'unpack 'fix-introspection-install-dir
4664 (lambda* (#:key outputs #:allow-other-keys)
4665 (let ((out (assoc-ref outputs "out")))
4666 (substitute* "gee/Makefile.in"
4667 (("@INTROSPECTION_GIRDIR@")
4668 (string-append out "/share/gir-1.0/"))
4669 (("@INTROSPECTION_TYPELIBDIR@")
4670 (string-append out "/lib/girepository-1.0/")))))))))
4671 (native-inputs
4672 `(("glib" ,glib "bin")
4673 ("pkg-config" ,pkg-config)))
4674 (inputs
4675 `(("glib" ,glib)
4676 ("gobject-introspection" ,gobject-introspection)))
4677 (home-page "https://wiki.gnome.org/Projects/Libgee")
4678 (synopsis "GObject collection library")
4679 (description
4680 "Libgee is a utility library providing GObject-based interfaces and
4681classes for commonly used data structures.")
4682 (license license:lgpl2.1+)))
b0f9c4b8
RW
4683
4684(define-public gexiv2
4685 (package
4686 (name "gexiv2")
b1a8b408 4687 (version "0.12.0")
b0f9c4b8
RW
4688 (source (origin
4689 (method url-fetch)
4690 (uri (string-append "mirror://gnome/sources/" name "/"
4691 (version-major+minor version) "/"
4692 name "-" version ".tar.xz"))
4693 (sha256
4694 (base32
b1a8b408 4695 "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq"))))
51c482e4 4696 (build-system meson-build-system)
b0f9c4b8 4697 (native-inputs
b1a8b408
KK
4698 `(("gcr" ,gcr)
4699 ("glib" ,glib "bin")
4700 ("pkg-config" ,pkg-config)
4701 ("vala" ,vala)))
b0f9c4b8
RW
4702 (propagated-inputs
4703 ;; Listed in "Requires" section of gexiv2.pc
4704 `(("exiv2" ,exiv2)))
4705 (inputs
4706 `(("glib" ,glib)
4707 ("gobject-introspection" ,gobject-introspection)))
4708 (home-page "https://wiki.gnome.org/Projects/gexiv2")
4709 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
4710 (description
4711 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
4712allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
4713metadata in photo and video files of various formats.")
4714 (license license:gpl2+)))
fed5a689
RW
4715
4716(define-public shotwell
4717 (package
4718 (name "shotwell")
a1c6fb52 4719 (version "0.30.7")
fed5a689
RW
4720 (source (origin
4721 (method url-fetch)
5497d682 4722 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 4723 (version-major+minor version) "/"
5497d682 4724 "shotwell-" version ".tar.xz"))
fed5a689
RW
4725 (sha256
4726 (base32
a1c6fb52 4727 "1m9i8r4gyd2hzlxjjwfyck4kz7gdg2vz2k6l6d0ga9hdfq2l4p9l"))))
3b79afa6
KK
4728 (build-system meson-build-system)
4729 (arguments
4730 '(#:glib-or-gtk? #t))
735b8db6
TGR
4731 (propagated-inputs
4732 `(("dconf" ,dconf)))
fed5a689 4733 (native-inputs
3b79afa6 4734 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b94a6ca0 4735 ("gettext" ,gettext-minimal)
77e9c993 4736 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
735b8db6 4737 ("itstool" ,itstool)
3b79afa6 4738 ("pkg-config" ,pkg-config)
735b8db6 4739 ("vala" ,vala)))
fed5a689 4740 (inputs
735b8db6
TGR
4741 `(("glib:bin" ,glib "bin")
4742 ("gstreamer" ,gstreamer)
fed5a689 4743 ("gst-plugins-base" ,gst-plugins-base)
dfb0323d 4744 ("libgdata" ,libgdata)
fed5a689
RW
4745 ("libgee" ,libgee)
4746 ("gexiv2" ,gexiv2)
4747 ("libraw" ,libraw)
4748 ("json-glib" ,json-glib)
7108425c 4749 ("webkitgtk" ,webkitgtk)
fed5a689
RW
4750 ("sqlite" ,sqlite)
4751 ("libsoup" ,libsoup)
4752 ("libxml2" ,libxml2)
fed5a689 4753 ("libgudev" ,libgudev)
522fc32e
LF
4754 ("libgphoto2" ,libgphoto2)
4755 ("gcr" ,gcr)))
fed5a689
RW
4756 (home-page "https://wiki.gnome.org/Apps/Shotwell")
4757 (synopsis "Photo manager for GNOME 3")
4758 (description
4759 "Shotwell is a digital photo manager designed for the GNOME desktop
4760environment. It allows you to import photos from disk or camera, organize
4761them by keywords and events, view them in full-window or fullscreen mode, and
4762share them with others via social networking and more.")
4763 (license license:lgpl2.1+)))
293ff8b2
DT
4764
4765(define-public file-roller
4766 (package
4767 (name "file-roller")
976e7801 4768 (version "3.30.1")
293ff8b2
DT
4769 (source (origin
4770 (method url-fetch)
4771 (uri (string-append "mirror://gnome/sources/" name "/"
4772 (version-major+minor version) "/"
4773 name "-" version ".tar.xz"))
4774 (sha256
4775 (base32
976e7801 4776 "0kiragsqyixyx15747b71qc4nw8y4jx9d55wgg612xb0hp5l9pj1"))))
0a500745 4777 (build-system meson-build-system)
293ff8b2 4778 (native-inputs
0a500745
RW
4779 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
4780 ("intltool" ,intltool)
4781 ("pkg-config" ,pkg-config)
4782 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
4783 ("glib:bin" ,glib "bin")))
293ff8b2
DT
4784 ;; TODO: Add libnautilus.
4785 (inputs
4786 `(("gtk+" ,gtk+)
4787 ("gdk-pixbuf" ,gdk-pixbuf)
4788 ("json-glib" ,json-glib)
4789 ("libarchive" ,libarchive)
4790 ("libnotify" ,libnotify)
293ff8b2
DT
4791 ("itstool" ,itstool)
4792 ("libxml2" ,libxml2)))
4793 (synopsis "Graphical archive manager for GNOME")
4794 (description "File Roller is an archive manager for the GNOME desktop
4795environment that allows users to view, unpack, and create compressed archives
4796such as gzip tarballs.")
4797 (home-page "http://fileroller.sourceforge.net/")
4798 (license license:gpl2+)))
7ce49365
SB
4799
4800(define-public gnome-session
4801 (package
4802 (name "gnome-session")
da886d6f 4803 (version "3.30.1")
7ce49365
SB
4804 (source (origin
4805 (method url-fetch)
4806 (uri (string-append "mirror://gnome/sources/" name "/"
4807 (version-major+minor version) "/"
4808 name "-" version ".tar.xz"))
4809 (sha256
4810 (base32
da886d6f 4811 "0fbpq103md4g9gi67rxnwvha21629nxx7qazddy6q6494sbqbzpa"))))
2914af3c 4812 (arguments
df278071
RW
4813 '(#:glib-or-gtk? #t
4814 #:phases
2914af3c
AW
4815 (modify-phases %standard-phases
4816 (add-before 'configure 'pre-configure
4817 (lambda* (#:key outputs #:allow-other-keys)
4818 ;; Use elogind instead of systemd.
df278071
RW
4819 (substitute* "meson.build"
4820 (("libsystemd-login") "libelogind")
4821 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
4822 (substitute* "gnome-session/gsm-systemd.c"
4823 (("#include <systemd/sd-login.h>")
4824 "#include <elogind/sd-login.h>"))
df278071 4825 ;; Remove uses of the systemd daemon.
803ab416
SB
4826 (substitute* "gnome-session/gsm-autostart-app.c"
4827 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
4828 #t))
4829 (add-after 'install 'wrap-gnome-session
4830 (lambda* (#:key inputs outputs #:allow-other-keys)
4831 ;; Make sure 'gnome-session' finds the 'gsettings' program.
4832 (let ((glib (assoc-ref inputs "glib:bin"))
4833 (out (assoc-ref outputs "out")))
4834 (wrap-program (string-append out "/bin/gnome-session")
4835 `("PATH" ":" prefix (,(string-append glib "/bin"))))
4836 #t))))
6cbc8d57 4837
2914af3c 4838 #:configure-flags
df278071
RW
4839 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
4840 "-Dman=false" ; FIXME: disabled because of docbook validation error
4841 "-Dsystemd_journal=false")))
4842 (build-system meson-build-system)
7ce49365
SB
4843 (native-inputs
4844 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4845 ("pkg-config" ,pkg-config)
4846 ("intltool" ,intltool)
df278071
RW
4847 ("xsltproc" ,libxslt)
4848 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
4849 ("docbook-xsl" ,docbook-xsl)
4850 ("docbook-xml" ,docbook-xml)
4851 ("xmlto" ,xmlto)))
7ce49365 4852 (inputs
2914af3c
AW
4853 `(("elogind" ,elogind)
4854 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 4855 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
4856 ("gtk+" ,gtk+)
4857 ("json-glib" ,json-glib)
4858 ("libsm" ,libsm)
4859 ("libxcomposite" ,libxcomposite)
4860 ("libxtst" ,libxtst)
4861 ("mesa" ,mesa)
4862 ("upower" ,upower)
4863 ("xtrans" ,xtrans)))
4864 (synopsis "Session manager for GNOME")
4865 (description
4866 "This package contains the GNOME session manager, as well as a
4867configuration program to choose applications starting on login.")
4868 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
4869 (license license:gpl2+)))
f47ba77e
SB
4870
4871(define-public gjs
4872 (package
4873 (name "gjs")
d054fbf5 4874 (version "1.56.2")
f47ba77e
SB
4875 (source (origin
4876 (method url-fetch)
4877 (uri (string-append "mirror://gnome/sources/" name "/"
4878 (version-major+minor version) "/"
4879 name "-" version ".tar.xz"))
4880 (sha256
4881 (base32
d054fbf5 4882 "1b5321krn89p3f7s2ik6gpfnc61apzljhlnbqky8c88f7n6832ac"))))
f47ba77e
SB
4883 (build-system gnu-build-system)
4884 (arguments
4885 '(#:phases
4886 (modify-phases %standard-phases
4887 (add-before
4888 'check 'pre-check
4889 (lambda _
fc119619
MW
4890 ;; The test suite requires a running X server.
4891 (system "Xvfb :1 &")
4892 (setenv "DISPLAY" ":1")
4893
f47ba77e
SB
4894 ;; For the missing /etc/machine-id.
4895 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 4896
144f94d0
KK
4897 ;; Our mozjs-38 package does not compile the required Intl API
4898 ;; support for these failing tests.
4899 (substitute* "installed-tests/js/testLocale.js"
4900 ((".*toBeDefined.*") "")
4901 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
4902 (substitute* "installed-tests/scripts/testCommandLine.sh"
4903 (("Valentín") "")
4904 (("☭") ""))
f47ba77e
SB
4905 #t)))))
4906 (native-inputs
8a831c6f 4907 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
4908 ("pkg-config" ,pkg-config)
4909 ("xmllint" ,libxml2)
4910 ;; For testing
4911 ("dbus-launch" ,dbus)
4912 ("uuidgen" ,util-linux)
ebebee94 4913 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
4914 (propagated-inputs
4915 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
4916 `(("cairo" ,cairo)
4917 ("gobject-introspection" ,gobject-introspection)
d054fbf5 4918 ("mozjs" ,mozjs-60)))
f47ba77e
SB
4919 (inputs
4920 `(("gtk+" ,gtk+)
4921 ("readline" ,readline)))
4922 (synopsis "Javascript bindings for GNOME")
f032d0be 4923 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
4924 (description
4925 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
4926javascript engine and the GObject introspection framework.")
4927 (license license:gpl2+)))
329d731b
DH
4928
4929(define-public gedit
4930 (package
4931 (name "gedit")
42f95e34 4932 (version "3.30.2")
329d731b
DH
4933 (source (origin
4934 (method url-fetch)
4935 (uri (string-append "mirror://gnome/sources/" name "/"
4936 (version-major+minor version) "/"
4937 name "-" version ".tar.xz"))
4938 (sha256
4939 (base32
42f95e34 4940 "0qwig35hzvjaqic9x92jcpmycnvcybsbnbiw6rppryx0arwb3wza"))))
329d731b
DH
4941 (build-system glib-or-gtk-build-system)
4942 (arguments
0d2df50c 4943 `(#:phases
329d731b
DH
4944 (modify-phases %standard-phases
4945 (add-after
4946 'install 'wrap-gedit
4947 (lambda* (#:key inputs outputs #:allow-other-keys)
4948 (let ((out (assoc-ref outputs "out"))
4949 (gtksourceview (assoc-ref inputs "gtksourceview"))
afc25242
SB
4950 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4951 (python-path (getenv "PYTHONPATH")))
329d731b 4952 (wrap-program (string-append out "/bin/gedit")
afc25242 4953 ;; For plugins.
329d731b 4954 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
afc25242 4955 `("PYTHONPATH" ":" prefix (,python-path))
329d731b
DH
4956 ;; For language-specs.
4957 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
4958 "/share")))))
4959 #t)))))
4960 (propagated-inputs
4961 `(("dconf" ,dconf)))
4962 (native-inputs
4963 `(("intltool" ,intltool)
b3546174 4964 ("itstool" ,itstool)
329d731b
DH
4965 ("gobject-introspection" ,gobject-introspection)
4966 ("pkg-config" ,pkg-config)))
4967 (inputs
4968 `(("glib" ,glib)
0d2df50c 4969 ("gspell" ,gspell)
329d731b 4970 ("gtk+" ,gtk+)
b54c2289 4971 ("gtksourceview" ,gtksourceview-3)
329d731b
DH
4972 ("libpeas" ,libpeas)
4973 ("libxml2" ,libxml2)
329d731b
DH
4974 ("iso-codes" ,iso-codes)
4975 ("python-pygobject" ,python-pygobject)
4976 ("python" ,python)
4977 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4978 ("libx11" ,libx11)
4979 ("vala" ,vala)
4980 ("adwaita-icon-theme" ,adwaita-icon-theme)
4981 ("libsoup" ,libsoup)
4982 ("gnome-desktop" ,gnome-desktop)))
4983 (home-page "https://wiki.gnome.org/Apps/Gedit")
4984 (synopsis "GNOME text editor")
4985 (description "While aiming at simplicity and ease of use, gedit is a
4986powerful general purpose text editor.")
4987 (license license:gpl2+)))
b7179363
SB
4988
4989(define-public zenity
4990 (package
4991 (name "zenity")
4f581bd0 4992 (version "3.32.0")
b7179363
SB
4993 (source (origin
4994 (method url-fetch)
5958df04 4995 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 4996 (version-major+minor version) "/"
5958df04 4997 "zenity-" version ".tar.xz"))
b7179363
SB
4998 (sha256
4999 (base32
4f581bd0 5000 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
5001 (build-system gnu-build-system)
5002 (native-inputs
b94a6ca0 5003 `(("gettext" ,gettext-minimal)
b7179363
SB
5004 ("itstool" ,itstool)
5005 ("pkg-config" ,pkg-config)))
5006 (inputs
5007 `(("libnotify" ,libnotify)
5008 ("webkitgtk" ,webkitgtk)))
5009 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 5010 (home-page "https://www.gnome.org")
b7179363
SB
5011 (description
5012 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
5013to display dialog boxes from the commandline and shell scripts.")
5014 (license license:lgpl2.0+)))
60c3627c
SB
5015
5016(define-public mutter
5017 (package
5018 (name "mutter")
e402eae6 5019 (version "3.30.2")
60c3627c 5020 (source (origin
86c44e72
KK
5021 (method url-fetch)
5022 (uri (string-append "mirror://gnome/sources/" name "/"
5023 (version-major+minor version) "/"
5024 name "-" version ".tar.xz"))
60c3627c
SB
5025 (sha256
5026 (base32
e402eae6 5027 "0qr3w480p31nbiad49213rj9rk6p9fl82a68pzznpz36p30dq96z"))))
86c44e72
KK
5028 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
5029 ;; versions of cogl and clutter. As a result, many of the inputs,
5030 ;; propagated-inputs, and configure flags used in cogl and clutter are
5031 ;; needed here as well.
60c3627c
SB
5032 (build-system gnu-build-system)
5033 (arguments
5034 '(#:configure-flags
5035 ;; XXX: build fails with [-Werror]:
5036 ;; backends/meta-cursor-renderer.c:112:5: error:
5037 ;; implicit declaration of function ?roundf?
a88d5a0c
MW
5038 (list "--enable-compile-warnings=minimum"
5039
86c44e72 5040 "--enable-native-backend"
a88d5a0c
MW
5041
5042 ;; The following flags are needed for the bundled clutter
5043 "--enable-x11-backend=yes"
5044
d633f2f6
RH
5045 (string-append "--with-xwayland-path="
5046 (assoc-ref %build-inputs "xorg-server-xwayland")
5047 "/bin/Xwayland")
5048
a88d5a0c
MW
5049 ;; the remaining flags are needed for the bundled cogl
5050 "--enable-cogl-gst"
5051 (string-append "--with-gl-libname="
5052 (assoc-ref %build-inputs "mesa")
f23052a6
DC
5053 "/lib/libGL.so"))
5054 #:phases
5055 (modify-phases %standard-phases
86c44e72
KK
5056 ;; Replace references to systemd libraries to elogind references.
5057 (add-before 'configure 'use-elogind
5058 (lambda _
5059 (substitute* (list "configure"
5060 "src/backends/native/meta-launcher.c"
5061 "src/core/main.c")
5062 (("systemd") "elogind"))
5063 #t)))))
60c3627c
SB
5064 (native-inputs
5065 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5066 ("gobject-introspection" ,gobject-introspection)
5067 ("intltool" ,intltool)
f23052a6
DC
5068 ("pkg-config" ,pkg-config)
5069 ;; For git build
5070 ("autoconf" ,autoconf)
5071 ("automake" ,automake)
5072 ("libtool" ,libtool)))
60c3627c 5073 (propagated-inputs
a88d5a0c
MW
5074 `(;; libmutter.pc refers to these:
5075 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5076 ("gtk+" ,gtk+)
5077 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
5078 ("atk" ,atk)
5079 ("cairo" ,cairo)
5080 ("gdk-pixbuf" ,gdk-pixbuf)
5081 ("glib" ,glib)
a88d5a0c
MW
5082 ("json-glib" ,json-glib)
5083 ("libinput" ,libinput)
5084 ("libx11" ,libx11)
5085 ("libxcomposite" ,libxcomposite)
5086 ("libxdamage" ,libxdamage)
5087 ("libxext" ,libxext)
5088 ("libxfixes" ,libxfixes)
5089 ("libxkbcommon" ,libxkbcommon)
5090 ("libxrandr" ,libxrandr)
5091 ("mesa" ,mesa)
5092 ("pango" ,pango)
5093 ("udev" ,eudev)
a88d5a0c 5094 ("xinput" ,xinput)))
60c3627c 5095 (inputs
86c44e72
KK
5096 `(("elogind" ,elogind)
5097 ("gnome-desktop" ,gnome-desktop)
60c3627c 5098 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 5099 ("libgudev" ,libgudev)
60c3627c
SB
5100 ("libice" ,libice)
5101 ("libsm" ,libsm)
60c3627c 5102 ("libxkbfile" ,libxkbfile)
a88d5a0c 5103 ("libxrandr" ,libxrandr)
86c44e72 5104 ("libxtst" ,libxtst)
60c3627c
SB
5105 ("startup-notification" ,startup-notification)
5106 ("upower-glib" ,upower)
5107 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 5108 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
5109 ("zenity" ,zenity)))
5110 (synopsis "Window and compositing manager")
f032d0be 5111 (home-page "https://www.gnome.org")
60c3627c
SB
5112 (description
5113 "Mutter is a window and compositing manager that displays and manages your
5114desktop via OpenGL. Mutter combines a sophisticated display engine using the
5115Clutter toolkit with solid window-management logic inherited from the Metacity
5116window manager.")
86c44e72 5117 (license license:gpl2+)))
685cee87
SB
5118
5119(define-public gnome-online-accounts
5120 (package
5121 (name "gnome-online-accounts")
d29298ef 5122 (version "3.30.2")
685cee87
SB
5123 (source (origin
5124 (method url-fetch)
5125 (uri (string-append "mirror://gnome/sources/" name "/"
5126 (version-major+minor version) "/"
5127 name "-" version ".tar.xz"))
5128 (sha256
5129 (base32
d29298ef 5130 "1p1gdgryziklrgngn6m13xnvfx4gb01h723nndfi9944r24fbiq5"))))
14c297fd 5131 (outputs '("out" "lib"))
685cee87 5132 (build-system glib-or-gtk-build-system)
14c297fd
TS
5133 (arguments
5134 `(#:configure-flags
5135 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
5136 #:phases
5137 (modify-phases %standard-phases
5138 (add-before 'configure 'patch-libgoa-output
5139 (lambda* (#:key outputs #:allow-other-keys)
5140 (let ((lib (assoc-ref outputs "lib")))
5141 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
5142 (("@prefix@") lib)
5143 (("@exec_prefix@") lib)
5144 (("@libdir@") (string-append lib "/lib"))
5145 (("@includedir@") (string-append lib "/include"))
5146 (("@datadir@") (string-append lib "/share")))
7555d539
MB
5147 ;; Make sure gobject-introspection knows about the output
5148 ;; too (see <https://bugs.gnu.org/36535>).
5149 (setenv "outputs" "out lib")
14c297fd 5150 #t))))))
685cee87
SB
5151 (native-inputs
5152 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5153 ("gobject-introspection" ,gobject-introspection)
5154 ("intltool" ,intltool)
5155 ("pkg-config" ,pkg-config)
5156 ("xsltproc" ,libxslt)))
5157 (propagated-inputs
5158 `(("glib" ,glib) ; required by goa-1.0.pc
5159 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
5160 (inputs
5161 `(("docbook-xsl" ,docbook-xsl)
5162 ("json-glib" ,json-glib)
5163 ("libsecret" ,libsecret)
5164 ("rest" ,rest)
685cee87
SB
5165 ("webkitgtk" ,webkitgtk)))
5166 (synopsis "Single sign-on framework for GNOME")
5167 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
5168 (description
5169 "GNOME Online Accounts provides interfaces so that applications and
5170libraries in GNOME can access the user's online accounts. It has providers for
5171Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
5172Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
5173 (license license:lgpl2.0+)))
df217748
SB
5174
5175(define-public evolution-data-server
5176 (package
5177 (name "evolution-data-server")
68c3ca93 5178 (version "3.30.5")
df217748
SB
5179 (source (origin
5180 (method url-fetch)
5181 (uri (string-append "mirror://gnome/sources/" name "/"
5182 (version-major+minor version) "/"
5183 name "-" version ".tar.xz"))
e1f174ae 5184 (patches (search-patches "evolution-data-server-locales.patch"))
df217748
SB
5185 (sha256
5186 (base32
68c3ca93 5187 "1s952wyhgcbmq9nfgk75v15zdy1h3wy5p5rmkqibaavmc0pk3mli"))))
743aebd7 5188 (build-system cmake-build-system)
df217748 5189 (arguments
b468eedc
RW
5190 '(#:configure-flags
5191 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
5192 (runpaths (map (lambda (s)
5193 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
5194 '("addressbook-backends" "calendar-backends"
5195 "camel-providers" "credential-modules"
5196 "registry-modules"))))
5197 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
5198 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
5199 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
5200 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
5201 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
5202 (string-append lib "/evolution-data-server;")
5203 (string-join runpaths ";"))
5204 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
5205 #:phases
5206 (modify-phases %standard-phases
b468eedc
RW
5207 (add-after 'unpack 'disable-failing-tests
5208 (lambda _
5209 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
5210 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
5211 (delete-file-recursively "tests/book-migration")
5212 (substitute* "tests/CMakeLists.txt"
5213 (("add_subdirectory\\(book-migration\\)") ""))
5214 ;; tests/libedata-cal/test-cal-meta-backend.c:1328:test_get_attachment_uris:
5215 ;; assertion failed (uris->data == expected_uri):
5216 ;; ("" == "file:///tests/libedata-cal/components/event-1.ics")
5217 (substitute* "tests/libedata-cal/CMakeLists.txt"
5218 (("test-cal-meta-backend") ""))
5219 #t))
743aebd7 5220 (add-after 'unpack 'patch-paths
df217748 5221 (lambda _
b468eedc
RW
5222 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
5223 "tests/libedata-book/data-test-utils.c"
5224 "tests/libedata-book/test-book-cache-utils.c"
5225 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 5226 (("/bin/rm") (which "rm")))
ac033c7b
MB
5227 #t))
5228 (add-before 'configure 'dont-override-rpath
5229 (lambda _
5230 (substitute* "CMakeLists.txt"
5231 ;; CMakeLists.txt hard-codes runpath to just the libdir.
5232 ;; Remove it so the configure flag is respected.
5233 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 5234 #t)))))
df217748
SB
5235 (native-inputs
5236 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5237 ("gobject-introspection" ,gobject-introspection)
5238 ("gperf" ,gperf)
5239 ("intltool" ,intltool)
5240 ("pkg-config" ,pkg-config)
a73c1cf8 5241 ("vala" ,vala)
743aebd7 5242 ("python" ,python-wrapper)))
df217748
SB
5243 (propagated-inputs
5244 ;; These are all in the Requires field of .pc files.
5245 `(("gtk+" ,gtk+)
5246 ("libical" ,libical)
5247 ("libsecret" ,libsecret)
5248 ("libsoup" ,libsoup)
5249 ("nss" ,nss)
5250 ("sqlite" ,sqlite)))
5251 (inputs
5252 `(("bdb" ,bdb)
5253 ("gcr" ,gcr)
14c297fd 5254 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 5255 ("json-glib" ,json-glib)
b468eedc 5256 ("libcanberra" ,libcanberra)
743aebd7
MB
5257 ("libgweather" ,libgweather)
5258 ("mit-krb5" ,mit-krb5)
891199c6
MW
5259 ("openldap" ,openldap)
5260 ("webkitgtk" ,webkitgtk)))
df217748
SB
5261 (synopsis "Store address books and calendars")
5262 (home-page "https://wiki.gnome.org/Apps/Evolution")
5263 (description
5264 "This package provides a unified backend for programs that work with
5265contacts, tasks, and calendar information. It was originally developed for
5266Evolution (hence the name), but is now used by other packages as well.")
5267 (license license:lgpl2.0)))
bd7dfafa
SB
5268
5269(define-public caribou
5270 (package
5271 (name "caribou")
fe964bb5 5272 (version "0.4.21")
bd7dfafa
SB
5273 (source (origin
5274 (method url-fetch)
5275 (uri (string-append "mirror://gnome/sources/" name "/"
5276 (version-major+minor version) "/"
5277 name "-" version ".tar.xz"))
5278 (sha256
5279 (base32
fe964bb5 5280 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
5281 (build-system glib-or-gtk-build-system)
5282 (arguments
5283 '(#:phases
5284 (modify-phases %standard-phases
5285 (add-before
5286 'build 'pre-build
5287 (lambda* (#:key outputs #:allow-other-keys)
5288 (let ((out (assoc-ref outputs "out")))
5289 ;; Use absolute shared library path in Caribou-1.0.typelib.
5290 (substitute* "libcaribou/Makefile"
5291 (("--shared-library=libcaribou.so")
5292 (string-append "--shared-library="
5293 out "/lib/libcaribou.so")))
5294 #t)))
5295 (add-after 'install 'wrap-programs
5296 (lambda* (#:key outputs #:allow-other-keys)
5297 (let* ((out (assoc-ref outputs "out"))
5298 (python-path (getenv "PYTHONPATH"))
5299 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5300 (for-each
5301 (lambda (prog)
5302 (wrap-program prog
5303 `("PYTHONPATH" ":" prefix (,python-path))
5304 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5305 (list (string-append out "/bin/caribou-preferences")
5306 (string-append out "/libexec/antler-keyboard"))))
5307 #t)))))
5308 (native-inputs
5309 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5310 ("gobject-introspection" ,gobject-introspection)
5311 ("intltool" ,intltool)
5312 ("pkg-config" ,pkg-config)
5313 ("python" ,python-2) ; incompatible with Python 3 (print syntax)
5314 ("vala" ,vala)
5315 ("xsltproc" ,libxslt)))
5316 (propagated-inputs
5317 ;; caribou-1.0.pc refers to all these.
5318 `(("libgee" ,libgee)
5319 ("libxklavier" ,libxklavier)
5320 ("libxtst" ,libxtst)
5321 ("gtk+" ,gtk+)))
5322 (inputs
5323 `(("clutter" ,clutter)
5324 ("dconf" ,dconf)
5325 ("gtk+-2" ,gtk+-2)
5326 ("python-pygobject" ,python2-pygobject)))
5327 (synopsis "Text entry and UI navigation application")
5328 (home-page "https://wiki.gnome.org/Projects/Caribou")
5329 (description
5330 "Caribou is an input assistive technology intended for switch and pointer
5331users.")
5332 (license license:lgpl2.1)))
ba5dd105 5333
ba5dd105
SB
5334(define-public network-manager
5335 (package
5336 (name "network-manager")
02710a9b 5337 (version "1.14.4")
ba5dd105
SB
5338 (source (origin
5339 (method url-fetch)
5340 (uri (string-append "mirror://gnome/sources/NetworkManager/"
5341 (version-major+minor version) "/"
5342 "NetworkManager-" version ".tar.xz"))
7d1861e2 5343 (patches (search-patches "nm-plugin-path.patch"))
ba5dd105
SB
5344 (sha256
5345 (base32
02710a9b
RW
5346 "064cgj9za0kzarks0lrv0qw2ysdphb5l97iw0c964bfiqzjfv8rm"))
5347 (modules '((guix build utils)))
fd070f35 5348 (snippet
02710a9b
RW
5349 '(begin
5350 (substitute* "src/devices/wwan/nm-modem-manager.c"
5351 (("systemd") "elogind"))
5352 #t))))
ba5dd105
SB
5353 (build-system gnu-build-system)
5354 (outputs '("out"
5355 "doc")) ; 8 MiB of gtk-doc HTML
5356 (arguments
5357 '(#:configure-flags
5358 (let ((out (assoc-ref %outputs "out"))
5359 (doc (assoc-ref %outputs "doc"))
5360 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
5361 "/sbin/dhclient")))
02710a9b
RW
5362 (list "--with-libnm-glib" ; needed by network-manager-applet
5363 "--with-systemd-journal=no"
5364 "--with-session-tracking=elogind"
5365 "--with-suspend-resume=elogind"
fd070f35
CM
5366 "--with-consolekit=no"
5367 "--with-crypto=gnutls"
ba5dd105
SB
5368 "--disable-config-plugin-ibft"
5369 "--sysconfdir=/etc"
5370 "--localstatedir=/var"
5371 (string-append "--with-udev-dir="
5372 out "/lib/udev")
5373 (string-append "--with-dbus-sys-dir="
5374 out "/etc/dbus-1/system.d")
5375 (string-append "--with-html-dir="
5376 doc "/share/gtk-doc/html")
5377 (string-append "--with-dhclient=" dhclient)))
5378 #:phases
5379 (modify-phases %standard-phases
02710a9b
RW
5380 ;; This bare "ls" invocation breaks some tests.
5381 (add-after 'unpack 'patch-ls-invocation
5382 (lambda _
5383 (substitute* "build-aux/ltmain.sh"
5384 (("`ls -")
5385 (string-append "`" (which "ls") " -")))
5386 #t))
b4f59d87
AW
5387 (add-before 'configure 'pre-configure
5388 (lambda _
5389 ;; These tests try to test aspects of network-manager's
5390 ;; functionality within restricted containers, but they don't
5391 ;; cope with being already in the Guix build jail as that jail
5392 ;; lacks some features that they would like to proxy over (like
5393 ;; a /sys mount).
d04687dc
HG
5394 (substitute* '("Makefile.in")
5395 (("src/platform/tests/test-address-linux") " ")
5396 (("src/platform/tests/test-cleanup-linux") " ")
5397 (("src/platform/tests/test-link-linux") " ")
5398 (("src/platform/tests/test-route-linux") " ")
02710a9b 5399 (("src/devices/tests/test-acd") "")
d04687dc
HG
5400 (("src/devices/tests/test-arping") " ")
5401 (("src/devices/tests/test-lldp") " ")
5402 (("src/tests/test-route-manager-linux") " "))
b4f59d87 5403 #t))
45f80fce
RW
5404 (add-after 'unpack 'delete-failing-tests
5405 (lambda _
02710a9b 5406 ;; FIXME: These three tests fail for unknown reasons.
45f80fce
RW
5407 ;; ERROR:libnm-core/tests/test-general.c:5842:
5408 ;; _json_config_check_valid: assertion failed (res == expected): (1 == 0)
5409 ;; ERROR:libnm-core/tests/test-keyfile.c:647:
5410 ;; test_team_conf_read_invalid: assertion failed: (nm_setting_team_get_config (s_team) == NULL)
5411 ;; ERROR:libnm-core/tests/test-setting.c:907:
5412 ;; _test_team_config_sync: assertion failed: (nm_streq0 (nm_setting_team_get_runner (s_team), runner))
45f80fce
RW
5413 (substitute* "Makefile.in"
5414 (("libnm-core/tests/test-general") " ")
5415 (("libnm-core/tests/test-keyfile") " ")
02710a9b 5416 (("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " "))
45f80fce 5417 #t))
ba5dd105
SB
5418 (add-before 'check 'pre-check
5419 (lambda _
5420 ;; For the missing /etc/machine-id.
5421 (setenv "DBUS_FATAL_WARNINGS" "0")
5422 #t))
5423 (replace 'install
5424 (lambda _
45f80fce
RW
5425 (invoke "make"
5426 "sysconfdir=/tmp"
5427 "rundir=/tmp"
5428 "statedir=/tmp"
5429 "nmstatedir=/tmp/nm"
5430 "install")
5431 #t)))))
b93502d6
DC
5432 (propagated-inputs
5433 `(("glib" ,glib)))
ba5dd105
SB
5434 (native-inputs
5435 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
5436 ("gobject-introspection" ,gobject-introspection)
d04687dc 5437 ("docbook-xsl" ,docbook-xsl)
ba5dd105 5438 ("intltool" ,intltool)
d04687dc
HG
5439 ("libxslt" ,libxslt)
5440 ("libxml2" ,libxml2)
ba5dd105
SB
5441 ("pkg-config" ,pkg-config)
5442 ;; For testing.
5443 ("python" ,python-wrapper)
5444 ("python-dbus" ,python-dbus)
5445 ("python-pygobject" ,python-pygobject)))
5446 (inputs
02710a9b
RW
5447 `(("coreutils" ,coreutils) ; for ls
5448 ("curl" ,curl)
856ca567
KK
5449 ("cyrus-sasl" ,cyrus-sasl)
5450 ("dbus-glib" ,dbus-glib)
ba5dd105 5451 ("dnsmasq" ,dnsmasq)
856ca567 5452 ("eudev" ,eudev)
ba5dd105
SB
5453 ("gnutls" ,gnutls)
5454 ("iptables" ,iptables)
5455 ("isc-dhcp" ,isc-dhcp)
d04687dc 5456 ("jansson" ,jansson)
ba5dd105
SB
5457 ("libgcrypt" ,libgcrypt)
5458 ("libgudev" ,libgudev)
5459 ("libndp" ,libndp)
5460 ("libnl" ,libnl)
5461 ("libsoup" ,libsoup)
142bdcbc 5462 ("modem-manager" ,modem-manager)
c27e02bf 5463 ("newt" ,newt) ;for the 'nmtui' console interface
ba5dd105
SB
5464 ("polkit" ,polkit)
5465 ("ppp" ,ppp)
5466 ("readline" ,readline)
fd070f35
CM
5467 ("util-linux" ,util-linux)
5468 ("elogind" ,elogind)))
ba5dd105 5469 (synopsis "Network connection manager")
f032d0be 5470 (home-page "https://www.gnome.org/projects/NetworkManager/")
ba5dd105
SB
5471 (description
5472 "NetworkManager is a system network service that manages your network
5473devices and connections, attempting to keep active network connectivity when
5474available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
5475devices, and provides VPN integration with a variety of different VPN
5476services.")
29d2f451
LC
5477 (license license:gpl2+)
5478 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 5479
f2b96b3a
LC
5480(define-public network-manager-openvpn
5481 (package
5482 (name "network-manager-openvpn")
be1c4b07 5483 ;; Updating? Check whether network-manager-applet still needs libnm_gtk.
7d87eede 5484 (version "1.8.10")
f2b96b3a
LC
5485 (source (origin
5486 (method url-fetch)
5487 (uri (string-append
5488 "mirror://gnome/sources/NetworkManager-openvpn/"
5489 (version-major+minor version)
5490 "/NetworkManager-openvpn-" version ".tar.xz"))
5491 (sha256
5492 (base32
7d87eede 5493 "1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g"))))
f2b96b3a
LC
5494 (build-system gnu-build-system)
5495 (arguments
633422b0
JL
5496 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
5497 #:phases
5498 (modify-phases %standard-phases
5499 (add-after 'configure 'patch-path
5500 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
5501 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
5502 "/sbin/openvpn"))
5503 (modprobe (string-append (assoc-ref inputs "kmod")
5504 "/bin/modprobe"))
5505 (pretty-ovpn (string-append "\"" ovpn "\"")))
5506 (for-each
5507 (lambda (file)
5508 (substitute* file
5509 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
5510 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
5511 (("\"/sbin/openvpn\"") pretty-ovpn)
5512 (("/sbin/modprobe") modprobe)))
5513 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
5514 #t)))))
f2b96b3a
LC
5515 (native-inputs
5516 `(("pkg-config" ,pkg-config)
5517 ("intltool" ,intltool)))
5518 (inputs
5519 `(("gtk+" ,gtk+)
633422b0 5520 ("kmod" ,kmod)
f2b96b3a
LC
5521 ("openvpn" ,openvpn)
5522 ("network-manager" ,network-manager)
5523 ("network-manager-applet" ,network-manager-applet) ;for libnma
5524 ("libsecret" ,libsecret)))
5525 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
5526 (synopsis "OpenVPN plug-in for NetworkManager")
5527 (description
5528 "This extension of NetworkManager allows it to take care of connections
5529to virtual private networks (VPNs) via OpenVPN.")
5530 (license license:gpl2+)
5531 (properties `((upstream-name . "NetworkManager-openvpn")))))
5532
d376129f
JL
5533(define-public network-manager-vpnc
5534 (package
5535 (name "network-manager-vpnc")
5536 (version "1.2.6")
5537 (source (origin
5538 (method url-fetch)
5539 (uri (string-append
5540 "mirror://gnome/sources/NetworkManager-vpnc/"
5541 (version-major+minor version)
5542 "/NetworkManager-vpnc-" version ".tar.xz"))
5543 (sha256
5544 (base32
5545 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
5546 (build-system gnu-build-system)
5547 (arguments
5548 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
5549 #:phases
5550 (modify-phases %standard-phases
5551 (add-after 'configure 'patch-path
5552 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
5553 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
5554 "/sbin/vpnc"))
5555 (modprobe (string-append (assoc-ref inputs "kmod")
5556 "/bin/modprobe"))
5557 (pretty-ovpn (string-append "\"" vpnc "\"")))
5558 (substitute* "src/nm-vpnc-service.c"
5559 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
5560 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
5561 (("\"/sbin/vpnc\"") pretty-ovpn)
5562 (("/sbin/modprobe") modprobe)))
5563 #t)))))
5564 (native-inputs
5565 `(("pkg-config" ,pkg-config)
5566 ("intltool" ,intltool)))
5567 (inputs
5568 `(("gtk+" ,gtk+)
5569 ("kmod" ,kmod)
5570 ("vpnc" ,vpnc)
5571 ("network-manager" ,network-manager)
5572 ("network-manager-applet" ,network-manager-applet) ;for libnma
5573 ("libsecret" ,libsecret)))
5574 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
5575 (synopsis "VPNC plug-in for NetworkManager")
5576 (description
5577 "Support for configuring virtual private networks based on VPNC.
5578Compatible with Cisco VPN concentrators configured to use IPsec.")
5579 (license license:gpl2+)
5580 (properties `((upstream-name . "NetworkManager-vpnc")))))
5581
8378c87a
EF
5582(define-public network-manager-openconnect
5583 (package
5584 (name "network-manager-openconnect")
5585 (version "1.2.6")
5586 (source (origin
5587 (method url-fetch)
5588 (uri (string-append
5589 "mirror://gnome/sources/NetworkManager-openconnect/"
5590 (version-major+minor version)
5591 "/NetworkManager-openconnect-" version ".tar.xz"))
5592 (sha256
5593 (base32
5594 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
5595 (build-system gnu-build-system)
5596 (arguments
5597 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
5598 #:phases
5599 (modify-phases %standard-phases
5600 (add-after 'configure 'patch-path
5601 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
5602 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
5603 "/sbin/openconnect"))
5604 (modprobe (string-append (assoc-ref inputs "kmod")
5605 "/bin/modprobe"))
5606 (pretty-ovpn (string-append "\"" openconnect "\"")))
5607 (substitute* "src/nm-openconnect-service.c"
5608 (("\"/usr/local/sbin/openconnect\"") pretty-ovpn)
5609 (("\"/usr/sbin/openconnect\"") pretty-ovpn)
5610 (("/sbin/modprobe") modprobe)))
5611 #t)))))
5612 (native-inputs
5613 `(("intltool" ,intltool)
5614 ("network-manager-applet" ,network-manager-applet) ;for libnma
5615 ("pkg-config" ,pkg-config)))
5616 (inputs
5617 `(("gcr" ,gcr)
5618 ("gtk+" ,gtk+)
5619 ("kmod" ,kmod)
5620 ("libsecret" ,libsecret)
5621 ("libxml2" ,libxml2)
5622 ("network-manager" ,network-manager)
5623 ("openconnect" ,openconnect)))
5624 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
5625 (synopsis "OpenConnect plug-in for NetworkManager")
5626 (description
5627 "This extension of NetworkManager allows it to take care of connections
5628to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
5629Cisco's AnyConnect SSL VPN.")
5630 (license license:gpl2+)
e52b9534
LC
5631 (properties `((upstream-name . "NetworkManager-openconnect")
5632
5633 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
5634 ;; file refers to account "nm-openconnect". Specify it here
5635 ;; so that 'network-manager-service-type' creates it.
5636 (user-accounts . ("nm-openconnect"))))))
8378c87a 5637
e5e1df4d
DC
5638(define-public mobile-broadband-provider-info
5639 (package
5640 (name "mobile-broadband-provider-info")
310c89e3 5641 (version "20190116")
e5e1df4d
DC
5642 (source (origin
5643 (method url-fetch)
5644 (uri (string-append
5645 "mirror://gnome/sources/"
5646 "mobile-broadband-provider-info/" version "/"
5647 "mobile-broadband-provider-info-" version ".tar.xz"))
5648 (sha256
5649 (base32
310c89e3 5650 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
5651 (build-system gnu-build-system)
5652 (arguments
310c89e3 5653 `(#:tests? #f)) ; no tests
e5e1df4d
DC
5654 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
5655 (synopsis "Database of broadband connection configuration")
5656 (description "Database of broadband connection configuration.")
5657 (license license:public-domain)))
5658
4d62a9d3
SB
5659(define-public network-manager-applet
5660 (package
5661 (name "network-manager-applet")
8fc3a337 5662 (version "1.8.24")
4d62a9d3
SB
5663 (source (origin
5664 (method url-fetch)
3df63444 5665 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 5666 (version-major+minor version) "/"
3df63444 5667 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
5668 (sha256
5669 (base32
8fc3a337 5670 "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi"))))
cd7f718e
RW
5671 (build-system meson-build-system)
5672 (arguments
be1c4b07
TGR
5673 '(#:configure-flags
5674 ;; ‘Nobody should be using this’ but network-manager-openvpn 1.8.10 does.
5675 (list "-Dlibnm_gtk=true")
5676 #:glib-or-gtk? #t))
4d62a9d3
SB
5677 (native-inputs
5678 `(("intltool" ,intltool)
cd7f718e 5679 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 5680 ("gobject-introspection" ,gobject-introspection)
cd7f718e 5681 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
5682 ("pkg-config" ,pkg-config)))
5683 (propagated-inputs
5684 ;; libnm-gtk.pc refers to all these.
5685 `(("dbus-glib" ,dbus-glib)
5686 ("gtk+" ,gtk+)
5687 ("network-manager" ,network-manager)))
5688 (inputs
cd7f718e
RW
5689 `(("gcr" ,gcr)
5690 ("iso-codes" ,iso-codes)
4d62a9d3
SB
5691 ("libgudev" ,libgudev)
5692 ("libnotify" ,libnotify)
2116bfb3 5693 ("libsecret" ,libsecret)
240cee8a
KK
5694 ("libselinux" ,libselinux)
5695 ("jansson" ,jansson) ; for team support
3e9c80b2
FP
5696 ("modem-manager" ,modem-manager)
5697 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)))
4d62a9d3 5698 (synopsis "Applet for managing network connections")
f032d0be 5699 (home-page "https://www.gnome.org/projects/NetworkManager/")
4d62a9d3
SB
5700 (description
5701 "This package contains a systray applet for NetworkManager. It displays
5702the available networks and allows users to easily switch between them.")
5703 (license license:gpl2+)))
56196594
RW
5704
5705(define-public libxml++
5706 (package
5707 (name "libxml++")
8344a85e 5708 (version "3.0.1")
56196594
RW
5709 (source (origin
5710 (method url-fetch)
5711 (uri (string-append "mirror://gnome/sources/" name "/"
5712 (version-major+minor version) "/"
5713 name "-" version ".tar.xz"))
5714 (sha256
5715 (base32
8344a85e 5716 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
5717 (build-system gnu-build-system)
5718 ;; libxml++-3.0.pc refers to all these.
5719 (propagated-inputs
5720 `(("libxml2" ,libxml2)
5721 ("glibmm" ,glibmm)))
5722 (native-inputs
5723 `(("perl" ,perl)
5724 ("pkg-config" ,pkg-config)))
5725 (home-page "http://libxmlplusplus.sourceforge.net/")
5726 (synopsis "C++ wrapper for XML parser library libxml2")
5727 (description
5728 "This package provides a C++ wrapper for the XML parser library
5729libxml2.")
5730 (license license:lgpl2.1+)))
df12f04a 5731
b61d9627
AW
5732(define-public libxml++-2
5733 (package
5734 (inherit libxml++)
5735 (name "libxml++")
5736 (version "2.40.1")
5737 (source (origin
5738 (method url-fetch)
5739 (uri (string-append "mirror://gnome/sources/" name "/"
5740 (version-major+minor version) "/"
5741 name "-" version ".tar.xz"))
5742 (sha256
5743 (base32
5744 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
5745
df12f04a
SB
5746(define-public gdm
5747 (package
5748 (name "gdm")
7734b4a2 5749 (version "3.30.3")
df12f04a
SB
5750 (source (origin
5751 (method url-fetch)
5752 (uri (string-append "mirror://gnome/sources/" name "/"
5753 (version-major+minor version) "/"
5754 name "-" version ".tar.xz"))
5755 (sha256
5756 (base32
7734b4a2 5757 "15f7lz7z75krgbq8vb800afj96h8mw2fpy1s28za2911x5vgq0ak"))))
957dbc0a 5758 (build-system glib-or-gtk-build-system)
df12f04a
SB
5759 (arguments
5760 '(#:configure-flags
af37e6bb 5761 `("--without-plymouth"
957dbc0a 5762 "--disable-systemd-journal"
51bc8357
TS
5763
5764 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
5765 ;; instead of having to replace it (i.e., stopping the mingetty
5766 ;; service for TTY 1 before starting GDM).
5767 "--with-initial-vt=7"
5768
89c86562
TS
5769 ;; Use '/etc/environment' for locale settings instead of the
5770 ;; systemd-specific '/etc/locale.conf'.
5771 "--with-lang-file=/etc/environment"
5772
b74ef0ba
RW
5773 ,(string-append "--with-udevdir="
5774 (assoc-ref %outputs "out") "/lib/udev")
5775
af37e6bb
AW
5776 "--localstatedir=/var"
5777 ,(string-append "--with-default-path="
5778 (string-join '("/run/setuid-programs"
5779 "/run/current-system/profile/bin"
5780 "/run/current-system/profile/sbin")
957dbc0a
AW
5781 ":"))
5782 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
5783 ;; XDG_DATA_DIRS so that it finds its schemas.
5784 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
5785 #:phases
5786 (modify-phases %standard-phases
5787 (add-before
5788 'configure 'pre-configure
e8c6e771 5789 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
5790 ;; We don't have <systemd/sd-daemon.h>.
5791 (substitute* '("common/gdm-log.c"
5792 "daemon/gdm-server.c"
5793 "daemon/gdm-session-worker.c"
5794 "daemon/gdm-session-worker-job.c")
5795 (("#include <systemd/sd-daemon\\.h>") ""))
5796 ;; Use elogind for sd-login.
5797 (substitute* '("common/gdm-common.c"
5798 "daemon/gdm-manager.c"
5799 "libgdm/gdm-user-switching.c")
5800 (("#include <systemd/sd-login\\.h>")
5801 "#include <elogind/sd-login.h>"))
957dbc0a
AW
5802 ;; Check for elogind.
5803 (substitute* '("configure")
5804 (("libsystemd")
5805 "libelogind"))
af37e6bb
AW
5806 ;; Look for system-installed sessions in
5807 ;; /run/current-system/profile/share.
5808 (substitute* '("libgdm/gdm-sessions.c"
5809 "daemon/gdm-session.c"
5810 "daemon/gdm-display.c"
5811 "daemon/gdm-launch-environment.c")
5812 (("DATADIR \"/x")
5813 "\"/run/current-system/profile/share/x")
5814 (("DATADIR \"/wayland")
5815 "\"/run/current-system/profile/share/wayland")
5816 (("DATADIR \"/gnome")
5817 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 5818 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 5819 "GDM_DBUS_DAEMON"
c9ff92b5 5820 "GDM_X_SERVER"
41fa9f18 5821 "GDM_X_SESSION"
c9ff92b5
TS
5822 ;; XXX: Remove this once GNOME Shell is
5823 ;; a dependency of GDM.
5824 "XDG_DATA_DIRS")))
5825 (substitute* "daemon/gdm-session.c"
5826 (("set_up_session_environment \\(self\\);")
5827 (apply string-append
5828 "set_up_session_environment (self);\n"
5829 (map (lambda (name)
5830 (string-append
5831 "gdm_session_set_environment_variable "
5832 "(self, \"" name "\","
5833 "g_getenv (\"" name "\"));\n"))
5834 propagate)))))
a430a350
TS
5835 ;; Find the configuration file using an environment variable.
5836 (substitute* '("common/gdm-settings.c")
e0e6756f 5837 (("GDM_CUSTOM_CONF")
e57c2adb
TS
5838 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
5839 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
5840 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
5841 ;; Use service-supplied path to X.
5842 (substitute* '("daemon/gdm-server.c")
5843 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
5844 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
5845 (substitute* '("daemon/gdm-x-session.c")
1f564c15
TS
5846 (("\"dbus-daemon\"")
5847 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 5848 (("X_SERVER")
41fa9f18
TS
5849 "g_getenv (\"GDM_X_SERVER\")")
5850 (("GDMCONFDIR \"/Xsession\"")
5851 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
5852 ;; Use an absolute path for GNOME Session.
5853 (substitute* "daemon/gdm-launch-environment.c"
5854 (("\"gnome-session\"")
5855 (string-append "\"" (assoc-ref inputs "gnome-session")
5856 "/bin/gnome-session\"")))
e8c6e771
TS
5857 ;; Do not automatically select the placeholder session.
5858 (substitute* "daemon/gdm-session.c"
5859 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
5860 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
5861 "(g_strcmp0(search_dirs[i], \""
5862 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
5863 "\") == 0 && "
5864 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
5865 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
5866 "{ self->priv->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 5867 #t))
8caa4589
TS
5868 ;; GDM requires that there be at least one desktop entry
5869 ;; file. This phase installs a hidden one that simply
5870 ;; fails. This enables users to use GDM with a
5871 ;; '~/.xsession' script with no other desktop entry files.
5872 ;; See <https://bugs.gnu.org/35068>.
5873 (add-after 'install 'install-placeholder-desktop-entry
5874 (lambda* (#:key inputs outputs #:allow-other-keys)
5875 (let* ((out (assoc-ref outputs "out"))
5876 (sessions (string-append out "/share/gdm/BuiltInSessions"))
5877 (fail (string-append sessions "/fail.desktop")))
5878 (mkdir-p sessions)
5879 (with-output-to-file fail
5880 (lambda ()
5881 (for-each
5882 display
5883 '("[Desktop Entry]\n"
5884 "Encoding=UTF-8\n"
5885 "Type=Application\n"
5886 "Name=Fail\n"
5887 "Comment=This session fails immediately.\n"
5888 "NoDisplay=true\n"
5889 "Exec=false\n"))))
5890 #t)))
69544798
TS
5891 ;; GDM needs GNOME Session to run these applications. We link
5892 ;; their autostart files in `share/gdm/greeter/autostart'
5893 ;; because GDM explicitly tells GNOME Session to look there.
5894 ;;
5895 ;; XXX: GNOME Shell should be linked here too, but currently
5896 ;; GNOME Shell depends on GDM.
5897 (add-after 'install 'link-autostart-files
5898 (lambda* (#:key inputs outputs #:allow-other-keys)
5899 (let* ((out (assoc-ref outputs "out"))
5900 (autostart (string-append out "/share/gdm/"
5901 "greeter/autostart"))
5902 (settings (assoc-ref inputs "gnome-settings-daemon")))
5903 (mkdir-p autostart)
5904 (with-directory-excursion autostart
5905 (for-each (lambda (desktop)
5906 (symlink desktop (basename desktop)))
5907 (find-files (string-append settings "/etc/xdg"))))
5908 #t))))))
df12f04a
SB
5909 (native-inputs
5910 `(("dconf" ,dconf)
5911 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5912 ("gobject-introspection" ,gobject-introspection)
5913 ("intltool" ,intltool)
5914 ("itstool" ,itstool)
5915 ("pkg-config" ,pkg-config)
5916 ("xmllint" ,libxml2)))
5917 (inputs
5918 `(("accountsservice" ,accountsservice)
5919 ("check" ,check) ; for testing
5920 ("elogind" ,elogind)
def6d6b6 5921 ("gnome-session" ,gnome-session)
69544798 5922 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
5923 ("gtk+" ,gtk+)
5924 ("iso-codes" ,iso-codes)
5925 ("libcanberra" ,libcanberra)
5926 ("linux-pam" ,linux-pam)))
5927 (synopsis "Display manager for GNOME")
f032d0be 5928 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
5929 (description
5930 "GNOME Display Manager is a system service that is responsible for
5931providing graphical log-ins and managing local and remote displays.")
5932 (license license:gpl2+)))
8e1dd04f
SB
5933
5934(define-public libgtop
5935 (package
5936 (name "libgtop")
015fc036 5937 (version "2.40.0")
8e1dd04f
SB
5938 (source (origin
5939 (method url-fetch)
59487fc2 5940 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 5941 (version-major+minor version) "/"
59487fc2 5942 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
5943 (sha256
5944 (base32
015fc036 5945 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
5946 (build-system gnu-build-system)
5947 (native-inputs
5948 `(("gobject-introspection" ,gobject-introspection)
5949 ("intltool" ,intltool)
5950 ("perl" ,perl)
5951 ("pkg-config" ,pkg-config)))
5952 (propagated-inputs
5953 `(("glib" ,glib))) ; required by libgtop-2.0.pc
5954 (synopsis "Portable system access library")
5955 (home-page "https://www.gnome.org/")
5956 (description
5957 "LibGTop is a library to get system specific data such as CPU and memory
5958usage and information about running processes.")
5959 (license license:gpl2+)))
b96c4260
SB
5960
5961(define-public gnome-bluetooth
5962 (package
5963 (name "gnome-bluetooth")
fd3b1171 5964 (version "3.28.0")
b96c4260
SB
5965 (source (origin
5966 (method url-fetch)
5967 (uri (string-append "mirror://gnome/sources/" name "/"
5968 (version-major+minor version) "/"
5969 name "-" version ".tar.xz"))
5970 (sha256
5971 (base32
fd3b1171
RW
5972 "0q7yzklrlayj99risj096mr5x35anx94wvr6nbf6pwbvvzv7453p"))))
5973 (build-system meson-build-system)
b96c4260
SB
5974 (native-inputs
5975 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 5976 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
5977 ("gobject-introspection" ,gobject-introspection)
5978 ("intltool" ,intltool)
5979 ("pkg-config" ,pkg-config)
5980 ("xmllint" ,libxml2)))
5981 (propagated-inputs
5982 ;; gnome-bluetooth-1.0.pc refers to all these.
5983 `(("gtk+" ,gtk+)
5984 ("udev" ,eudev)))
5985 (inputs
5986 `(("libcanberra" ,libcanberra)
5987 ("libnotify" ,libnotify)))
5988 (synopsis "GNOME Bluetooth subsystem")
5989 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
5990 (description
5991 "This package contains tools for managing and manipulating Bluetooth
5992devices using the GNOME desktop.")
5993 (license license:lgpl2.1+)))
b645146f
SB
5994
5995(define-public gnome-control-center
5996 (package
5997 (name "gnome-control-center")
982c0b36 5998 (version "3.30.3")
b645146f
SB
5999 (source (origin
6000 (method url-fetch)
6001 (uri (string-append "mirror://gnome/sources/" name "/"
6002 (version-major+minor version) "/"
6003 name "-" version ".tar.xz"))
6004 (sha256
6005 (base32
982c0b36
KK
6006 "0gih1cmqbv803kp30704sllghb0impa0mmv3j8pndfg4zr2mnq9r"))
6007 (patches
0de9a1be 6008 (search-patches "gnome-control-center-udisks.patch"))))
59dac026 6009 (build-system meson-build-system)
b645146f 6010 (arguments
59dac026
RW
6011 '(#:glib-or-gtk? #t
6012 #:configure-flags
64c70430
KK
6013 (list "-Dcheese=false"
6014 (string-append "-Dgnome_session_libexecdir="
6015 (assoc-ref %build-inputs "gnome-session")
6016 "/libexec"))
59dac026 6017 #:phases
b645146f
SB
6018 (modify-phases %standard-phases
6019 (add-before 'configure 'patch-paths
6020 (lambda* (#:key inputs #:allow-other-keys)
6021 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 6022 (tzdata (assoc-ref inputs "tzdata"))
341225ac 6023 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
6024 (nm-applet (assoc-ref inputs "network-manager-applet"))
6025 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
6026 (substitute* "panels/datetime/tz.h"
6027 (("/usr/share/zoneinfo/zone.tab")
6028 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 6029 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
6030 (("/usr/share/locale")
6031 (string-append libc "/share/locale")))
1df38cfc
LC
6032 (substitute* "panels/region/cc-region-panel.c"
6033 (("\"gkbd-keyboard-display")
6034 (string-append "\"" libgnomekbd
6035 "/bin/gkbd-keyboard-display")))
341225ac
LC
6036 (substitute* '("panels/network/net-device-wifi.c"
6037 "panels/network/net-device.c"
6038 "panels/network/connection-editor/net-connection-editor.c")
6039 (("\"nm-connection-editor")
6040 (string-append "\"" nm-applet
6041 "/bin/nm-connection-editor")))
1acd107c
FP
6042 (substitute* '("panels/user-accounts/run-passwd.c")
6043 (("/usr/bin/passwd")
6044 "/run/setuid-programs/passwd"))
64c70430
KK
6045 (substitute* "panels/info/cc-info-overview-panel.c"
6046 (("DATADIR \"/gnome/gnome-version.xml\"")
6047 (string-append "\"" gnome-desktop
6048 "/share/gnome/gnome-version.xml\"")))
b645146f
SB
6049 #t))))))
6050 (native-inputs
6051 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
59dac026 6052 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
b645146f
SB
6053 ("intltool" ,intltool)
6054 ("pkg-config" ,pkg-config)
6055 ("xsltproc" ,libxslt)))
6056 (inputs
6057 `(("accountsservice" ,accountsservice)
6058 ("clutter-gtk" ,clutter-gtk)
6059 ("colord-gtk" ,colord-gtk)
6060 ("cups" ,cups)
6061 ("dconf" ,dconf)
6062 ("docbook-xsl" ,docbook-xsl)
3446ffb5 6063 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
6064 ("gnome-bluetooth" ,gnome-bluetooth)
6065 ("gnome-desktop" ,gnome-desktop)
6066 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 6067 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 6068 ("gnome-session" ,gnome-session)
b645146f
SB
6069 ("gnome-settings-daemon" ,gnome-settings-daemon)
6070 ("grilo" ,grilo)
6071 ("ibus" ,ibus)
6072 ("libcanberra" ,libcanberra)
1df38cfc 6073 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
6074 ("libgudev" ,libgudev)
6075 ("libgtop" ,libgtop)
6076 ("libpwquality" ,libpwquality)
982c0b36 6077 ("libsecret" ,libsecret)
b645146f
SB
6078 ("libsoup" ,libsoup)
6079 ("libxml2" ,libxml2)
6080 ("libwacom" ,libwacom)
6081 ("mesa" ,mesa)
6082 ("mit-krb5" ,mit-krb5)
6083 ("modem-manager" ,modem-manager)
6084 ("network-manager-applet" ,network-manager-applet)
6085 ("polkit" ,polkit)
6086 ("pulseaudio" ,pulseaudio)
6087 ("smbclient" ,samba)
6088 ("tzdata" ,tzdata)
982c0b36 6089 ("udisks" ,udisks)
b645146f
SB
6090 ("upower" ,upower)))
6091 (synopsis "Utilities to configure the GNOME desktop")
6092 (home-page "https://www.gnome.org/")
6093 (description
6094 "This package contains configuration applets for the GNOME desktop,
6095allowing to set accessibility configuration, desktop fonts, keyboard and mouse
6096properties, sound setup, desktop theme and background, user interface
6097properties, screen resolution, and other GNOME parameters.")
6098 (license license:gpl2+)))
a4df5756
SB
6099
6100(define-public gnome-shell
6101 (package
6102 (name "gnome-shell")
bd0dc2df 6103 (version "3.30.2")
a4df5756
SB
6104 (source (origin
6105 (method url-fetch)
6106 (uri (string-append "mirror://gnome/sources/" name "/"
6107 (version-major+minor version) "/"
6108 name "-" version ".tar.xz"))
6109 (sha256
6110 (base32
bd0dc2df 6111 "0kacd4w9lc5finsvs170i7827qkxwd1ddj0g2giizwffpjdjqqr2"))
a76d0f03
LC
6112 (patches (search-patches "gnome-shell-theme.patch"))
6113 (modules '((guix build utils)))
6114 (snippet
6115 #~(begin
a76d0f03
LC
6116 ;; Copy images for use on the GDM log-in screen.
6117 (copy-file #$(file-append %artwork-repository
6118 "/slim/0.x/background.png")
6119 "data/theme/guix-background.png")
45fef894
LC
6120 (copy-file #$(file-append %artwork-repository
6121 "/logo/Guix-horizontal-white.svg")
6122 "data/theme/guix-logo.svg")
a76d0f03 6123 #t))))
2b0c755d 6124 (build-system meson-build-system)
a4df5756 6125 (arguments
08185081
MB
6126 `(#:glib-or-gtk? #t
6127 #:disallowed-references ((,glib "bin")
11e1df56
LC
6128 ,inkscape ,libxslt
6129 ,ruby-sass)
2b0c755d
RW
6130 #:configure-flags
6131 (list "-Dsystemd=false"
6132 ;; Otherwise, the RUNPATH will lack the final path component.
6133 (string-append "-Dc_link_args=-Wl,-rpath="
6134 (assoc-ref %outputs "out")
6135 "/lib/gnome-shell"))
11e1df56 6136
08185081 6137 #:modules ((guix build meson-build-system)
11e1df56
LC
6138 (guix build utils)
6139 (srfi srfi-1))
6140
2b0c755d 6141 #:phases
a4df5756 6142 (modify-phases %standard-phases
2b0c755d 6143 (add-after 'unpack 'fix-keysdir
a4df5756
SB
6144 (lambda* (#:key outputs #:allow-other-keys)
6145 (let* ((out (assoc-ref outputs "out"))
6146 (keysdir (string-append
6147 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
6148 (substitute* "meson.build"
6149 (("keysdir =.*")
6150 (string-append "keysdir = '" keysdir "'\n")))
6151 #t)))
ebfe259f
MB
6152 (add-before 'configure 'convert-logo-to-png
6153 (lambda* (#:key inputs #:allow-other-keys)
6154 ;; Convert the logo from SVG to PNG.
6155 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
6156 "data/theme/guix-logo.svg")))
ba00235a 6157 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
6158 (lambda* (#:key inputs #:allow-other-keys)
6159 (substitute* "js/misc/ibusManager.js"
6160 (("'ibus-daemon'")
6161 (string-append "'" (assoc-ref inputs "ibus")
6162 "/bin/ibus-daemon'")))
d6fda4d3
LC
6163 (substitute* "js/ui/status/keyboard.js"
6164 (("'gkbd-keyboard-display'")
6165 (string-append "'" (assoc-ref inputs "libgnomekbd")
6166 "/bin/gkbd-keyboard-display'")))
2472cdec 6167 #t))
2b0c755d
RW
6168 (add-before 'check 'pre-check
6169 (lambda* (#:key inputs #:allow-other-keys)
6170 ;; Tests require a running X server.
6171 (system "Xvfb :1 &")
6172 (setenv "DISPLAY" ":1")
6173 #t))
6174 (add-after 'install 'wrap-programs
6175 (lambda* (#:key inputs outputs #:allow-other-keys)
6176 (let ((out (assoc-ref outputs "out"))
6177 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
6178 (python-path (getenv "PYTHONPATH")))
6179 (wrap-program (string-append out "/bin/gnome-shell")
6180 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
6181 ;; FIXME: gnome-shell loads these libraries with unqualified
6182 ;; names only, so they need to be on LD_LIBRARY_PATH. The
6183 ;; alternative might be to patch gnome-shell.
6184 `("LD_LIBRARY_PATH" ":" prefix
6185 ,(map (lambda (pkg)
6186 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
6187 '("gdk-pixbuf"
6188 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
6189 (for-each
6190 (lambda (prog)
6191 (wrap-program (string-append out "/bin/" prog)
6192 `("PYTHONPATH" ":" prefix (,python-path))
6193 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6194 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 6195 #t)))
11e1df56
LC
6196 (replace 'glib-or-gtk-wrap
6197 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
6198 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
6199 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
6200 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
6201 ;; phase. Fix that since we don't need these.
6202 (wrap #:inputs (fold alist-delete inputs
6203 '("inkscape" "intltool" "glib:bin"))
6204 #:outputs outputs)))))))
a4df5756
SB
6205 (native-inputs
6206 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 6207 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 6208 ("gobject-introspection" ,gobject-introspection)
ebfe259f 6209 ("inkscape" ,inkscape)
a4df5756
SB
6210 ("intltool" ,intltool)
6211 ("pkg-config" ,pkg-config)
6212 ("python" ,python)
2b0c755d
RW
6213 ("ruby-sass" ,ruby-sass)
6214 ("sassc" ,sassc)
a76d0f03 6215 ("xsltproc" ,libxslt)
2b0c755d 6216 ;; For tests
0b4504f6 6217 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
6218 (inputs
6219 `(("accountsservice" ,accountsservice)
6220 ("caribou" ,caribou)
6221 ("docbook-xsl" ,docbook-xsl)
6222 ("evolution-data-server" ,evolution-data-server)
6223 ("gcr" ,gcr)
6224 ("gdm" ,gdm)
c5db31d4 6225 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756
SB
6226 ("gjs" ,gjs)
6227 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
6228 ("gnome-desktop" ,gnome-desktop)
6229 ("gnome-settings-daemon" ,gnome-settings-daemon)
6230 ("gst-plugins-base" ,gst-plugins-base)
6231 ("ibus" ,ibus)
6232 ("libcanberra" ,libcanberra)
6233 ("libcroco" ,libcroco)
d6fda4d3 6234 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756
SB
6235 ("libgweather" ,libgweather)
6236 ("libsoup" ,libsoup)
6237 ("mesa-headers" ,mesa-headers)
6238 ("mutter" ,mutter)
6239 ("network-manager-applet" ,network-manager-applet)
6240 ("polkit" ,polkit)
6241 ("pulseaudio" ,pulseaudio)
6242 ("python-pygobject" ,python-pygobject)
6243 ("startup-notification" ,startup-notification)
6244 ("telepathy-logger" ,telepathy-logger)
6245 ("upower" ,upower)
30e760f0
MB
6246 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
6247 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
6248 ("librsvg" ,librsvg)
2b0c755d 6249 ("geoclue" ,geoclue)))
a4df5756
SB
6250 (synopsis "Desktop shell for GNOME")
6251 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
6252 (description
6253 "GNOME Shell provides core user interface functions for the GNOME desktop,
6254like switching to windows and launching applications.")
6255 (license license:gpl2+)))
c3f29bc9
RS
6256
6257(define-public gtk-vnc
6258 (package
6259 (name "gtk-vnc")
965ff023 6260 (version "0.9.0")
c3f29bc9
RS
6261 (source
6262 (origin
6263 (method url-fetch)
6264 (uri (string-append "mirror://gnome/sources/" name "/"
6265 (version-major+minor version) "/"
6266 name "-" version ".tar.xz"))
6267 (sha256
6268 (base32
965ff023 6269 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
6270 (build-system gnu-build-system)
6271 (arguments
6272 '(#:configure-flags '("--with-gtk=3.0")))
6273 (propagated-inputs
6274 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
6275 (inputs
6276 `(("cyrus-sasl" ,cyrus-sasl)
6277 ("gnutls" ,gnutls)
6278 ("libgcrypt" ,libgcrypt)
6279 ("pulseaudio" ,pulseaudio)))
6280 (native-inputs
6281 `(("glib:bin" ,glib "bin")
6282 ("gobject-introspection" ,gobject-introspection)
6283 ("intltool" ,intltool)
6284 ("pkg-config" ,pkg-config)
2f17e939 6285 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
6286 ("vala" ,vala)))
6287 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
6288 (synopsis "VNC viewer widget for GTK+")
6289 (description
6290 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
6291applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
6292GTK-VNC implements client side RFB protocol and authentication extensions such
6293as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
6294 (license license:lgpl2.1+)))
8b877545 6295
dc69fe18
MW
6296(define-public gnome-autoar
6297 (package
6298 (name "gnome-autoar")
c7da8510 6299 (version "0.2.3")
dc69fe18
MW
6300 (source (origin
6301 (method url-fetch)
6302 (uri (string-append "mirror://gnome/sources/" name "/"
6303 (version-major+minor version) "/"
6304 name "-" version ".tar.xz"))
6305 (sha256
6306 (base32
c7da8510 6307 "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax"))))
dc69fe18
MW
6308 (build-system glib-or-gtk-build-system)
6309 (native-inputs
6310 `(("gnome-common" ,gnome-common)
6311 ("gobject-introspection" ,gobject-introspection)
6312 ("pkg-config" ,pkg-config)))
6313 (propagated-inputs
6314 `(("libarchive" ,libarchive))) ; XXX document why
6315 (inputs
0a6e9e13 6316 `(("gtk+" ,gtk+)))
dc69fe18
MW
6317 (synopsis "Archives integration support for GNOME")
6318 (home-page "https://git.gnome.org/browse/gnome-autoar/")
6319 (description
6320 "GNOME Autoar is a library which makes creating and extracting archives
6321easy, safe, and automatic.")
6322 (license license:lgpl2.1+)))
6323
b64e217f
MW
6324(define-public tracker
6325 (package
6326 (name "tracker")
c8bdf589 6327 (version "2.0.4")
b64e217f
MW
6328 (source (origin
6329 (method url-fetch)
b5b0fd23 6330 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 6331 (version-major+minor version) "/"
b5b0fd23 6332 "tracker-" version ".tar.xz"))
b64e217f
MW
6333 (sha256
6334 (base32
c8bdf589 6335 "1mfc5lv820kr7ssi7hldn25gmshh65k19kh478qjsnb64sshsbyf"))))
b64e217f 6336 (build-system glib-or-gtk-build-system)
c8bdf589
RW
6337 (arguments
6338 `(#:phases
6339 (modify-phases %standard-phases
6340 (add-after 'unpack 'disable-broken-tests
6341 (lambda _
6342 ;; FIXME: Most of these fail with GLib-GIO-FATAL-ERROR: Settings
6343 ;; schema 'org.freedesktop.Tracker.FTS' is not installed.
6344 (substitute* "tests/libtracker-miner/Makefile.in"
6345 (("tracker-file-notifier-test\\$\\(EXEEXT\\)") "")
6346 (("tracker-miner-fs-test\\$\\(EXEEXT\\)") "")
6347 (("tracker-monitor-test\\$\\(EXEEXT\\)") ""))
6348 (substitute* "tests/libtracker-fts/Makefile.in"
6349 (("tracker-fts-test\\$\\(EXEEXT\\)") ""))
6350 (substitute* "tests/libtracker-data/Makefile.in"
6351 (("tracker-ontology\\$\\(EXEEXT\\)") "")
6352 (("tracker-ontology-change\\$\\(EXEEXT\\)") "")
6353 (("tracker-backup\\$\\(EXEEXT\\)") "")
6354 (("tracker-sparql-blank\\$\\(EXEEXT\\)") "")
6355 (("tracker-sparql\\$\\(EXEEXT\\)") ""))
6356 ;; These fail because the SPARQL backend could not be loaded.
6357 ;; That's because /etc/machine-id is missing, but
6358 ;; DBUS_FATAL_WARNINGS does not help here.
6359 (substitute* "tests/libtracker-sparql/Makefile.in"
6360 (("tracker-gb-737023-test\\$\\(EXEEXT\\)") "")
6361 (("tracker-sparql-test\\$\\(EXEEXT\\)") ""))
6362 (substitute* "tests/tracker-steroids/Makefile.in"
6363 (("tracker-test\\$\\(EXEEXT\\)") ""))
6364 #t))
6365 ;; Two tests fail if LANG is not set.
6366 (add-before 'check 'pre-check
6367 (lambda _
6368 (setenv "LANG" "en_US.UTF-8")
6369 ;; For the missing /etc/machine-id.
6370 (setenv "DBUS_FATAL_WARNINGS" "0")
6371 #t)))))
b64e217f
MW
6372 (native-inputs
6373 `(("gnome-common" ,gnome-common)
6374 ("gobject-introspection" ,gobject-introspection)
6375 ("intltool" ,intltool)
6376 ("pkg-config" ,pkg-config)
6377 ("vala" ,vala)))
6378 (inputs
6379 `(("gtk+" ,gtk+)
6380 ("dbus" ,dbus)
6381 ("gstreamer" ,gstreamer)
6382 ("gst-plugins-base" ,gst-plugins-base)
44ed6284 6383 ("sqlite" ,sqlite)
c8bdf589 6384 ("python" ,python)
b64e217f
MW
6385 ("poppler" ,poppler)
6386 ("libgsf" ,libgsf)
6387 ("libexif" ,libexif)
6388 ("libpng" ,libpng)
6389 ("libtiff" ,libtiff)
6390 ("libvorbis" ,libvorbis)
6391 ("flac" ,flac)
6392 ("totem-pl-parser" ,totem-pl-parser)
6393 ("zlib" ,zlib)
6394 ("exempi" ,exempi)
6395 ("libxml2" ,libxml2)
6396 ("upower" ,upower)
b64e217f
MW
6397 ("libunistring" ,libunistring)
6398 ("giflib" ,giflib)
0ef48cd9 6399 ("json-glib" ,json-glib)
b64e217f
MW
6400 ("openjpeg" ,openjpeg-1)
6401 ("libosinfo" ,libosinfo)
6402 ("libcue" ,libcue)
6403 ("libseccomp" ,libseccomp)
0ef48cd9 6404 ("libsoup" ,libsoup)
b64e217f 6405 ("libuuid" ,util-linux)))
b64e217f
MW
6406 (synopsis "Metadata database, indexer and search tool")
6407 (home-page "https://wiki.gnome.org/Projects/Tracker")
6408 (description
6409 "Tracker is an advanced framework for first class objects with associated
6410metadata and tags. It provides a one stop solution for all metadata, tags,
6411shared object databases, search tools and indexing.")
6412 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
6413 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
6414 (license (list license:gpl2+
6415 license:lgpl2.1+
6416 license:lgpl2.0+))))
6417
8b877545
RS
6418(define-public nautilus
6419 (package
6420 (name "nautilus")
c71bb3f2 6421 (version "3.30.5")
8b877545
RS
6422 (source (origin
6423 (method url-fetch)
6424 (uri (string-append "mirror://gnome/sources/" name "/"
6425 (version-major+minor version) "/"
6426 name "-" version ".tar.xz"))
6427 (sha256
6428 (base32
c71bb3f2 6429 "144r4py9b8w9ycsg6fggjg05kwvymh003qsb3h6apgpch5y3zgnv"))))
35e2d0cf 6430 (build-system meson-build-system)
8b877545 6431 (arguments
35e2d0cf 6432 '(#:glib-or-gtk? #t
8b877545
RS
6433 ;; XXX: FAIL: check-nautilus
6434 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
6435 #:tests? #f))
6436 (native-inputs
35e2d0cf
R
6437 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6438 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
6439 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8b877545
RS
6440 ("gobject-introspection" ,gobject-introspection)
6441 ("intltool" ,intltool)
6442 ("pkg-config" ,pkg-config)))
8b877545 6443 (inputs
8b877545 6444 `(("dconf" ,dconf)
caf6c363 6445 ("gexiv2" ,gexiv2)
dd05e731 6446 ("gvfs" ,gvfs)
8b877545
RS
6447 ("exempi" ,exempi)
6448 ("gnome-desktop" ,gnome-desktop)
09d88905 6449 ("gnome-autoar" ,gnome-autoar)
ec66ebd4 6450 ("libseccomp" ,libseccomp)
35e2d0cf 6451 ("libselinux" ,libselinux)
09d88905 6452 ("tracker" ,tracker)
ce6027bf
SB
6453 ;; XXX: gtk+ is required by libnautilus-extension.pc
6454 ;;
6455 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
6456 ;; package. See:
6457 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
6458 ("gtk+" ,gtk+)
8b877545
RS
6459 ("libexif" ,libexif)
6460 ("libxml2" ,libxml2)))
6461 (synopsis "File manager for GNOME")
6462 (home-page "https://wiki.gnome.org/Apps/Nautilus")
6463 (description
6464 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
6465design and behaviour, giving the user a simple way to navigate and manage its
6466files.")
6467 (license license:gpl2+)))
3c697ffd
JR
6468
6469(define-public baobab
6470 (package
6471 (name "baobab")
d4ae2d15 6472 (version "3.30.0")
3c697ffd
JR
6473 (source (origin
6474 (method url-fetch)
6475 (uri (string-append
6476 "mirror://gnome/sources/" name "/"
6477 (version-major+minor version) "/"
6478 name "-" version ".tar.xz"))
6479 (sha256
6480 (base32
d4ae2d15 6481 "0kx721s1hhw1g0nvbqhb93g8iq6f852imyhfhl02zcqy4ipx0kay"))))
d233d373
RJ
6482 (build-system meson-build-system)
6483 (arguments
6484 '(#:glib-or-gtk? #t))
3c697ffd
JR
6485 (native-inputs
6486 `(("intltool" ,intltool)
6487 ("pkg-config" ,pkg-config)
d233d373
RJ
6488 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
6489 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
6490 ("itstool" ,itstool)
6491 ("xmllint" ,libxml2)
6492 ("glib" ,glib "bin")
6493 ("vala" ,vala)))
6494 (inputs
6495 `(("gtk+" ,gtk+)))
6496 (synopsis "Disk usage analyzer for GNOME")
6497 (description
6498 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
6499usage in the GNOME desktop environment. It can easily scan device volumes or
6500a specific user-requested directory branch (local or remote). Once the scan
6501is complete it provides a graphical representation of each selected folder.")
6502 (home-page "https://wiki.gnome.org/Apps/Baobab")
6503 (license license:gpl2+)))
dc050251 6504
fdba447c
RS
6505(define-public gnome-backgrounds
6506 (package
6507 (name "gnome-backgrounds")
29b85910 6508 (version "3.30.0")
fdba447c
RS
6509 (source
6510 (origin
6511 (method url-fetch)
6512 (uri (string-append "mirror://gnome/sources/" name "/"
6513 (version-major+minor version) "/"
6514 name "-" version ".tar.xz"))
6515 (sha256
6516 (base32
29b85910 6517 "1179jrl16bp9gqabqhw7nnfp8qzf5y1vf9fi45bni6rfmwm3mrpc"))))
9ca381f0 6518 (build-system meson-build-system)
fdba447c
RS
6519 (native-inputs
6520 `(("intltool" ,intltool)))
6521 (home-page "https://git.gnome.org/browse/gnome-backgrounds")
6522 (synopsis "Background images for the GNOME desktop")
6523 (description
6524 "GNOME backgrounds package contains a collection of graphics files which
6525can be used as backgrounds in the GNOME Desktop environment. Additionally,
6526the package creates the proper framework and directory structure so that you
6527can add your own files to the collection.")
6528 (license (list license:gpl2+
6529 license:cc-by2.0
6530 license:cc-by-sa2.0
6531 license:cc-by-sa3.0))))
6532
b784b1a9
RS
6533(define-public gnome-screenshot
6534 (package
6535 (name "gnome-screenshot")
676e7cb4 6536 (version "3.30.0")
b784b1a9
RS
6537 (source
6538 (origin
6539 (method url-fetch)
6540 (uri (string-append "mirror://gnome/sources/" name "/"
6541 (version-major+minor version) "/"
6542 name "-" version ".tar.xz"))
6543 (sha256
6544 (base32
676e7cb4 6545 "06dx3svxq6sar4913mrz5lzb7hmc66wck138vmyxj8x8iv1iw0w8"))))
8356aefa 6546 (build-system meson-build-system)
b784b1a9
RS
6547 (native-inputs
6548 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa
RW
6549 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
6550 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 6551 ("intltool" ,intltool)
8356aefa 6552 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
6553 ("pkg-config" ,pkg-config)))
6554 (inputs
6555 `(("gtk+" ,gtk+)
6556 ("libcanberra" ,libcanberra)
6557 ("libx11" ,libx11)
6558 ("libxext" ,libxext)))
676e7cb4 6559 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
6560 (synopsis "Take pictures of your screen")
6561 (description
6562 "GNOME Screenshot is a utility used for taking screenshots of the entire
6563screen, a window or a user defined area of the screen, with optional
6564beautifying border effects.")
6565 (license license:gpl2+)))
6566
66d59111
RS
6567(define-public dconf-editor
6568 (package
6569 (name "dconf-editor")
bc09c416 6570 (version "3.30.2")
66d59111
RS
6571 (source
6572 (origin
6573 (method url-fetch)
6574 (uri (string-append "mirror://gnome/sources/" name "/"
6575 (version-major+minor version) "/"
6576 name "-" version ".tar.xz"))
6577 (sha256
6578 (base32
bc09c416 6579 "06f736spn20s7qjsz00xw44v8r8bjhyrz1v3bix6v416jc5jp6ia"))))
294ff39d 6580 (build-system meson-build-system)
86f2124b
LC
6581 (arguments
6582 '(#:phases (modify-phases %standard-phases
6583 (add-before 'configure 'set-glib-minimum-version
6584 (lambda _
6585 ;; Change the minimum required GLib version so that
6586 ;; 'valac' is passed '--target-glib 2.60.0'; failing to
6587 ;; do that, it complains that "55" is not an even
6588 ;; number. See <https://bugs.gnu.org/37503>.
6589 (substitute* "editor/meson.build"
6590 (("2\\.55\\.1") "2.60.0"))
6591 #t)))))
66d59111
RS
6592 (native-inputs
6593 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 6594 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 6595 ("intltool" ,intltool)
294ff39d
RW
6596 ("pkg-config" ,pkg-config)
6597 ("vala" ,vala)))
66d59111
RS
6598 (inputs
6599 `(("dconf" ,dconf)
6600 ("gtk+" ,gtk+)
6601 ("libxml2" ,libxml2)))
6602 (home-page "https://git.gnome.org/browse/dconf-editor")
6603 (synopsis "Graphical editor for GNOME's dconf configuration system")
6604 (description
6605 "Dconf-editor is a graphical tool for browsing and editing the dconf
6606configuration system for GNOME. It allows users to configure desktop
6607software that do not provide their own configuration interface.")
6608 (license license:lgpl2.1+)))
6609
96d36f38
AW
6610(define-public gnome-default-applications
6611 (package
6612 (name "gnome-default-applications")
6613 (version "0")
6614 (build-system trivial-build-system)
6615 (source #f)
6616 (propagated-inputs
8ad4f0aa
LC
6617 `(("nautilus" ,nautilus)
6618 ("evince" ,evince)))
96d36f38
AW
6619 (arguments
6620 `(#:modules ((guix build utils))
6621 #:builder
6622 (begin
6623 (use-modules (guix build utils))
6624 (let* ((out (assoc-ref %outputs "out"))
6625 (apps (string-append out "/share/applications")))
6626 (mkdir-p apps)
6627 (call-with-output-file (string-append apps "/defaults.list")
6628 (lambda (port)
6629 (format port "[Default Applications]\n")
8ad4f0aa
LC
6630 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
6631 (format port "application/pdf=evince.desktop\n")
6632 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
6633 #t))))
6634 (synopsis "Default MIME type associations for the GNOME desktop")
6635 (description
6636 "Given many installed packages which might handle a given MIME type, a
6637user running the GNOME desktop probably has some preferences: for example,
6638that folders be opened by default by the Nautilus file manager, not the Baobab
6639disk usage analyzer. This package establishes that set of default MIME type
6640associations for GNOME.")
6641 (license license:gpl3+)
6642 (home-page #f)))
6643
dc050251
SB
6644(define-public gnome
6645 (package
6646 (name "gnome")
6647 (version (package-version gnome-shell))
6648 (source #f)
6649 (build-system trivial-build-system)
e3cfef22 6650 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251
SB
6651 (propagated-inputs
6652 ;; TODO: Add more packages according to:
6653 ;; <https://packages.debian.org/jessie/gnome-core>.
6654 `(("adwaita-icon-theme" ,adwaita-icon-theme)
05f651c4 6655 ("baobab" ,baobab)
0bd3597b 6656 ("font-cantarell" ,font-cantarell)
a9dbefdc 6657 ("font-dejavu" ,font-dejavu)
dc050251
SB
6658 ("at-spi2-core" ,at-spi2-core)
6659 ("dbus" ,dbus)
6660 ("dconf" ,dconf)
72360453 6661 ("desktop-file-utils" ,desktop-file-utils)
dc050251
SB
6662 ("eog" ,eog)
6663 ("epiphany" ,epiphany)
6664 ("evince" ,evince)
71d9b980 6665 ("file-roller" ,file-roller)
dc050251
SB
6666 ("gedit" ,gedit)
6667 ("glib-networking" ,glib-networking)
05f651c4 6668 ("gnome-backgrounds" ,gnome-backgrounds)
63ad9b80
AW
6669 ("gnome-bluetooth" ,gnome-bluetooth)
6670 ("gnome-calculator" ,gnome-calculator)
dc050251 6671 ("gnome-control-center" ,gnome-control-center)
63ad9b80 6672 ("gnome-disk-utility" ,gnome-disk-utility)
96d36f38 6673 ("gnome-default-applications" ,gnome-default-applications)
dc050251 6674 ("gnome-keyring" ,gnome-keyring)
63ad9b80 6675 ("gnome-online-accounts" ,gnome-online-accounts)
dc050251
SB
6676 ("gnome-session" ,gnome-session)
6677 ("gnome-settings-daemon" ,gnome-settings-daemon)
6678 ("gnome-shell" ,gnome-shell)
63ad9b80 6679 ("gnome-system-monitor" ,gnome-system-monitor)
dc050251
SB
6680 ("gnome-terminal" ,gnome-terminal)
6681 ("gnome-themes-standard" ,gnome-themes-standard)
2999dcd5
AW
6682 ("gst-plugins-base" ,gst-plugins-base)
6683 ("gst-plugins-good" ,gst-plugins-good)
63ad9b80 6684 ("gucharmap" ,gucharmap)
05f651c4 6685 ("gvfs" ,gvfs)
dc050251
SB
6686 ("hicolor-icon-theme" ,hicolor-icon-theme)
6687 ("nautilus" ,nautilus)
69308043 6688 ("pinentry-gnome3" ,pinentry-gnome3)
dc050251
SB
6689 ("pulseaudio" ,pulseaudio)
6690 ("shared-mime-info" ,shared-mime-info)
f6f4370f 6691 ("system-config-printer" ,system-config-printer)
dc050251 6692 ("totem" ,totem)
c20cd0d2 6693 ("xdg-user-dirs" ,xdg-user-dirs)
dc050251
SB
6694 ("yelp" ,yelp)
6695 ("zenity" ,zenity)))
fe4e698d 6696 (synopsis "The GNU desktop environment")
dc050251
SB
6697 (home-page "https://www.gnome.org/")
6698 (description
fe4e698d
LC
6699 "GNOME is the graphical desktop for GNU. It includes a wide variety of
6700applications for browsing the web, editing text and images, creating
6701documents and diagrams, playing media, scanning, and much more.")
dc050251 6702 (license license:gpl2+)))
4a526711
DT
6703
6704(define-public byzanz
6705 ;; The last stable release of Byzanz was in 2011, but there have been many
6706 ;; useful commits made to the Byzanz repository since then that it would be
6707 ;; silly to use such an old release.
6708 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
6709 (package
6710 (name "byzanz")
6711 (version (string-append "0.2-1." (string-take commit 7)))
6712 (source (origin
6713 (method git-fetch)
6714 (uri (git-reference
5f13bf09 6715 (url "https://git.gnome.org/browse/byzanz")
4a526711 6716 (commit commit)))
5a6527e4 6717 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
6718 (sha256
6719 (base32
6720 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
6721 (build-system glib-or-gtk-build-system)
6722 (arguments
6723 '(#:phases
6724 (modify-phases %standard-phases
189be331 6725 (replace 'bootstrap
4a526711
DT
6726 (lambda _
6727 ;; The build system cleverly detects that we're not building from
6728 ;; a release tarball and turns on -Werror for GCC.
6729 ;; Unsurprisingly, there is a warning during compilation that
6730 ;; causes the build to fail unnecessarily, so we remove the flag.
6731 (substitute* '("configure.ac")
6732 (("-Werror") ""))
6733 ;; The autogen.sh script in gnome-common will run ./configure
6734 ;; by default, which is problematic because source shebangs
6735 ;; have not yet been patched.
6736 (setenv "NOCONFIGURE" "t")
6737 (zero? (system* "sh" "autogen.sh")))))))
6738 (native-inputs
6739 `(("autoconf" ,autoconf)
6740 ("automake" ,automake)
6741 ("gnome-common" ,gnome-common)
6742 ("intltool" ,intltool)
6743 ("libtool" ,libtool)
6744 ("pkg-config" ,pkg-config)
6745 ("which" ,which)))
6746 (inputs
6747 `(("glib" ,glib)
6748 ("gstreamer" ,gstreamer)
6749 ("gst-plugins-base" ,gst-plugins-base)
6750 ("gtk+" ,gtk+)))
6751 (synopsis "Desktop recording program")
6752 (description "Byzanz is a simple desktop recording program with a
6753command-line interface. It can record part or all of an X display for a
6754specified duration and save it as a GIF encoded animated image file.")
6755 (home-page "https://git.gnome.org/browse/byzanz")
6756 (license license:gpl2+))))
3a9a4c51 6757
0ec171ec
MS
6758(define-public gsound
6759 (package
6760 (name "gsound")
6761 (version "1.0.2")
6762 (source (origin
6763 (method url-fetch)
6764 (uri (string-append "mirror://gnome/sources/" name "/"
6765 (version-major+minor version) "/"
6766 name "-" version ".tar.xz"))
6767 (sha256
6768 (base32
6769 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
6770 (build-system glib-or-gtk-build-system)
6771 (native-inputs
6772 `(("pkg-config" ,pkg-config)
6773 ("gobject-introspection" ,gobject-introspection)
6774 ("vala" ,vala)))
6775 (inputs
6776 `(("glib" ,glib)
6777 ("libcanberra" ,libcanberra)))
6778 (home-page "https://wiki.gnome.org/Projects/GSound")
6779 (synopsis "GObject wrapper for libcanberra")
6780 (description
6781 "GSound is a small library for playing system sounds. It's designed to be
6782used via GObject Introspection, and is a thin wrapper around the libcanberra C
6783library.")
6784 (license license:lgpl2.1+)))
6785
3a9a4c51
RS
6786(define-public libzapojit
6787 (package
6788 (name "libzapojit")
6789 (version "0.0.3")
6790 (source (origin
6791 (method url-fetch)
6792 (uri (string-append "mirror://gnome/sources/" name "/"
6793 (version-major+minor version) "/"
6794 name "-" version ".tar.xz"))
6795 (sha256
6796 (base32
6797 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
6798 (build-system gnu-build-system)
6799 (native-inputs
6800 `(("gobject-introspection" ,gobject-introspection)
6801 ("intltool" ,intltool)
6802 ("pkg-config" ,pkg-config)))
6803 (inputs
14c297fd 6804 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
6805 ("json-glib" ,json-glib)
6806 ("rest" ,rest)))
6807 (home-page "https://wiki.gnome.org/Projects/Zapojit")
6808 (synopsis "Library for accessing SkyDrive and Hotmail")
6809 (description
6810 "Libzapojit is a GLib-based library for accessing online service APIs of
6811Microsoft SkyDrive and Hotmail, using their REST protocols.")
6812 (license license:lgpl2.1+)))
9365ee1c 6813
60e2a9ae
MS
6814(define-public gnome-clocks
6815 (package
6816 (name "gnome-clocks")
757f863b 6817 (version "3.30.1")
60e2a9ae
MS
6818 (source (origin
6819 (method url-fetch)
6820 (uri (string-append "mirror://gnome/sources/" name "/"
6821 (version-major+minor version) "/"
6822 name "-" version ".tar.xz"))
6823 (sha256
6824 (base32
757f863b 6825 "009fr6zwv37wryi0c0syi4i7pxpdbn3gliws68l99cjsbn2qd6pc"))))
60e2a9ae
MS
6826 (build-system meson-build-system)
6827 (arguments
6828 '(#:glib-or-gtk? #t))
6829 (native-inputs
6830 `(("vala" ,vala)
6831 ("pkg-config" ,pkg-config)
6832 ("glib" ,glib "bin") ; for glib-compile-resources
6833 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
6834 ("desktop-file-utils" ,desktop-file-utils)
6835 ("gettext" ,gettext-minimal)
6836 ("itstool" ,itstool)))
6837 (inputs
6838 `(("glib" ,glib)
6839 ("gtk+" ,gtk+)
6840 ("gsound" ,gsound)
6841 ("geoclue" ,geoclue)
6842 ("geocode-glib" ,geocode-glib)
6843 ("libgweather" ,libgweather)
6844 ("gnome-desktop" ,gnome-desktop)))
6845 (home-page "https://wiki.gnome.org/Apps/Clocks")
6846 (synopsis "GNOME's clock application")
6847 (description
6848 "GNOME Clocks is a simple clocks application designed to fit the GNOME
6849desktop. It supports world clock, stop watch, alarms, and count down timer.")
6850 (license license:gpl3+)))
6851
3c474897
KY
6852(define-public gnome-calendar
6853 (package
6854 (name "gnome-calendar")
496d7ccd 6855 (version "3.30.1")
3c474897
KY
6856 (source (origin
6857 (method url-fetch)
6858 (uri (string-append "mirror://gnome/sources/" name "/"
6859 (version-major+minor version) "/"
6860 name "-" version ".tar.xz"))
6861 (sha256
6862 (base32
496d7ccd 6863 "1avi7a29y8d8kzwslp51nwy6s692alms7917454j0xpfc6hnw62s"))))
a49d3e37
MS
6864 (build-system meson-build-system)
6865 (arguments
6866 '(#:glib-or-gtk? #t
6867 ;; gnome-calendar has to be installed before the tests can be run
6868 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
6869 #:tests? #f))
3c474897 6870 (native-inputs
a49d3e37
MS
6871 `(("gettext" ,gettext-minimal)
6872 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
6873 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
3c474897
KY
6874 ("pkg-config" ,pkg-config)))
6875 (inputs
a49d3e37 6876 `(("evolution-data-server" ,evolution-data-server)
14c297fd 6877 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
6878 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6879 ("libdazzle" ,libdazzle)
b63c06f1 6880 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
6881 ("libgweather" ,libgweather)
6882 ("geoclue" ,geoclue)))
3c474897
KY
6883 (home-page "https://wiki.gnome.org/Apps/Calendar")
6884 (synopsis "GNOME's calendar application")
6885 (description
6886 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 6887desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
6888 (license license:gpl3+)))
6889
57b14665
MS
6890(define-public gnome-todo
6891 (package
6892 (name "gnome-todo")
9f3c6c88 6893 (version "3.28.1")
57b14665
MS
6894 (source (origin
6895 (method url-fetch)
6896 (uri (string-append "mirror://gnome/sources/" name "/"
6897 (version-major+minor version) "/"
6898 name "-" version ".tar.xz"))
6899 (sha256
6900 (base32
9f3c6c88 6901 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))))
57b14665
MS
6902 (build-system meson-build-system)
6903 (arguments
6904 '(#:glib-or-gtk? #t
6905 #:phases (modify-phases %standard-phases
6906 (add-after
6907 'install 'wrap-gnome-todo
6908 (lambda* (#:key inputs outputs #:allow-other-keys)
6909 (let ((out (assoc-ref outputs "out"))
6910 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
6911 (python-path (getenv "PYTHONPATH")))
6912 (wrap-program (string-append out "/bin/gnome-todo")
6913 ;; XXX: gi plugins are broken.
6914 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
6915 ;; For plugins.
6916 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
6917 `("PYTHONPATH" ":" prefix (,python-path))))
6918 #t)))))
6919 (native-inputs
6920 `(("gettext" ,gettext-minimal)
6921 ("gobject-introspection" ,gobject-introspection)
6922 ("glib:bin" ,glib "bin") ; For glib-compile-resources
6923 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
6924 ("pkg-config" ,pkg-config)))
6925 (inputs
6926 `(("rest" ,rest) ; For Todoist plugin
6927 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 6928 ("libedataserverui" ,evolution-data-server)
57b14665
MS
6929 ("libical" ,libical)
6930 ("libpeas" ,libpeas)
6931 ("python-pygobject" ,python-pygobject)
6932 ("evolution-data-server" ,evolution-data-server)
14c297fd 6933 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
6934 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
6935 (home-page "https://wiki.gnome.org/Apps/Todo")
6936 (synopsis "GNOME's ToDo Application")
6937 (description
6938 "GNOME To Do is a simplistic personal task manager designed to perfectly
6939fit the GNOME desktop.")
6940 (license license:gpl3+)))
6941
ab179eaf
SB
6942(define-public gnome-dictionary
6943 (package
6944 (name "gnome-dictionary")
cf81ddef 6945 (version "3.26.1")
ab179eaf
SB
6946 (source (origin
6947 (method url-fetch)
6948 (uri (string-append "mirror://gnome/sources/" name "/"
6949 (version-major+minor version) "/"
6950 name "-" version ".tar.xz"))
6951 (sha256
6952 (base32
cf81ddef
LC
6953 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
6954 (build-system meson-build-system)
2776b5d5
MB
6955 (arguments '(#:glib-or-gtk? #t
6956 #:phases (modify-phases %standard-phases
6957 (add-after 'unpack 'patch-install-script
6958 (lambda _
6959 ;; This script attempts to compile glib schemas
6960 ;; and create an empty MIME database. We do
6961 ;; that elsewhere, so prevent it from running.
6962 (substitute* "build-aux/post-install.sh"
6963 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
6964 #t)))))
ab179eaf
SB
6965 (native-inputs
6966 `(("glib:bin" ,glib "bin")
6967 ("gobject-introspection" ,gobject-introspection)
6968 ("intltool" ,intltool)
6969 ("itstool" ,itstool)
6970 ("pkg-config" ,pkg-config)
6971 ("xmllint" ,libxml2)))
6972 (inputs
6973 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6974 ("gtk+" ,gtk+)))
6975 (home-page "https://wiki.gnome.org/Apps/Dictionary")
6976 (synopsis "Look up words in dictionary sources")
6977 (description
6978 "GNOME Dictionary can look for the definition or translation of a word in
6979existing databases over the internet.")
6980 (license license:gpl3+)))
6981
d13f3a03 6982(define-public gnome-tweaks
9365ee1c 6983 (package
d13f3a03 6984 (name "gnome-tweaks")
9d4d439b 6985 (version "3.30.2")
9365ee1c
JN
6986 (source (origin
6987 (method url-fetch)
d13f3a03 6988 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 6989 (version-major+minor version) "/"
d13f3a03
RW
6990 "gnome-tweaks-" version ".tar.xz"))
6991 (patches
6992 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
6993 (sha256
6994 (base32
9d4d439b 6995 "0j63siy1i5pl2g6di1r9vjn54m9ahh42wj20j6689pza2lamay1z"))))
d13f3a03 6996 (build-system meson-build-system)
9365ee1c 6997 (arguments
d13f3a03
RW
6998 `(#:glib-or-gtk? #t
6999 #:configure-flags '("-Dlocalstatedir=/tmp"
7000 "-Dsysconfdir=/tmp")
9365ee1c 7001 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
7002 ,@%meson-build-system-modules)
7003 #:phases
7004 (modify-phases %standard-phases
7005 (add-after 'install 'wrap
7006 (@@ (guix build python-build-system) wrap))
7007 (add-after 'wrap 'wrap-gi-typelib
7008 (lambda* (#:key inputs outputs #:allow-other-keys)
7009 (let ((out (assoc-ref outputs "out"))
7010 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
7011 (wrap-program (string-append out "/bin/gnome-tweaks")
7012 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7013 #t)))))
9365ee1c 7014 (native-inputs
c7fc414e
RH
7015 `(("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
7016 ("intltool" ,intltool)
9365ee1c
JN
7017 ("pkg-config" ,pkg-config)))
7018 (inputs
c7fc414e
RH
7019 `(("gnome-desktop" ,gnome-desktop)
7020 ("gtk+" ,gtk+)
9365ee1c
JN
7021 ("gobject-introspection" ,gobject-introspection)
7022 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
c7fc414e
RH
7023 ("libnotify" ,libnotify)
7024 ("libsoup" ,libsoup)
7025 ("nautilus" ,nautilus)
7026 ("python" ,python)
7027 ("python-pygobject" ,python-pygobject)))
9365ee1c 7028 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 7029 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 7030 (description
d13f3a03 7031 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
7032GNOME 3. This includes things like the fonts used in user interface elements,
7033alternative user interface themes, changes in window management behavior,
7034GNOME Shell appearance and extension, etc.")
7035 (license license:gpl3+)))
813f814a 7036
d13f3a03
RW
7037;; This package has been renamed by upstream.
7038(define-public gnome-tweak-tool
7039 (deprecated-package "gnome-tweak-tool" gnome-tweaks))
7040
32ac717c
DT
7041(define-public gnome-shell-extensions
7042 (package
7043 (name "gnome-shell-extensions")
2aabc647 7044 (version "3.30.1")
32ac717c
DT
7045 (source (origin
7046 (method url-fetch)
7047 (uri (string-append "mirror://gnome/sources/" name "/"
7048 (version-major+minor version) "/"
7049 name "-" version ".tar.xz"))
7050 (sha256
7051 (base32
2aabc647 7052 "1grxn4f5x754r172wmnf0h0xpy69afmj359zsj1rwgqlzw4i4c5p"))))
100f625b 7053 (build-system meson-build-system)
32ac717c 7054 (arguments
100f625b 7055 '(#:configure-flags '("-Dextension_set=all")))
32ac717c
DT
7056 (native-inputs
7057 `(("intltool" ,intltool)
7058 ("pkg-config" ,pkg-config)))
7059 (propagated-inputs
7060 `(("glib" ,glib)
7061 ("glib" ,glib "bin")))
7062 (synopsis "Extensions for GNOME Shell")
7063 (description "GNOME Shell extensions modify and extend GNOME Shell
7064functionality and behavior.")
7065 (home-page "https://extensions.gnome.org/")
7066 (license license:gpl3+)))
7067
a7a31827
GL
7068(define-public numix-theme
7069 (package
7070 (name "numix-theme")
7071 (version "2.6.7")
7072 (source (origin
7073 (method git-fetch)
7074 (uri (git-reference
7075 (url "https://github.com/numixproject/numix-gtk-theme.git")
7076 (commit version)))
7077 (file-name (git-file-name name version))
7078 (sha256
7079 (base32
7080 "12mw0kr0kkvg395qlbsvkvaqccr90cmxw5rrsl236zh43kj8grb7"))))
7081 (build-system gnu-build-system)
7082 (arguments
7083 '(#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
7084 #:phases
7085 (modify-phases %standard-phases
7086 (delete 'configure)
7087 (delete 'check))))
7088 (native-inputs
7089 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas
7090 ("gnome-shell" ,gnome-shell)
7091 ("gtk+" ,gtk+)
7092 ("xmllint" ,libxml2)
7093 ("ruby-sass" ,ruby-sass)))
7094 (synopsis "Flat theme with light and dark elements")
7095 (description "Numix is a modern flat theme with a combination of light and
7096dark elements. It supports GNOME, Unity, Xfce, and Openbox.")
7097 (home-page "https://numixproject.github.io")
7098 (license license:gpl3+)))
7099
813f814a
DT
7100(define-public arc-theme
7101 (package
7102 (name "arc-theme")
a18f8eaf 7103 (version "20181022")
813f814a 7104 (source (origin
a18f8eaf
BH
7105 (method git-fetch)
7106 (uri (git-reference
7107 (url "https://github.com/NicoHood/arc-theme.git")
7108 (commit version)))
7109 (file-name (git-file-name name version))
813f814a
DT
7110 (sha256
7111 (base32
a18f8eaf 7112 "08951dk1irfadwpr3p323a4fprmxg53rk2r2niwq3v62ryhi3663"))))
813f814a 7113 (build-system gnu-build-system)
d88884fa
EF
7114 (arguments
7115 '(#:phases
7116 (modify-phases %standard-phases
7117 ;; autogen.sh calls configure at the end of the script.
7118 (replace 'bootstrap
7119 (lambda _ (invoke "autoreconf" "-vfi"))))))
813f814a
DT
7120 (native-inputs
7121 `(("autoconf" ,autoconf)
7122 ("automake" ,automake)
a18f8eaf
BH
7123 ("glib" ,glib "bin") ; for glib-compile-resources
7124 ("gnome-shell" ,gnome-shell)
7125 ("gtk+" ,gtk+)
7126 ("inkscape" ,inkscape)
7127 ("optipng" ,optipng)
7128 ("pkg-config" ,pkg-config)
7129 ("sassc" ,sassc)))
813f814a
DT
7130 (synopsis "A flat GTK+ theme with transparent elements")
7131 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
71322, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
7133like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
7134 (home-page "https://github.com/horst3180/arc-theme")
7135 ;; No "or later" language found.
a18f8eaf 7136 (license license:gpl3+)))
9987c57c 7137
d935e6a1 7138(define-public faba-icon-theme
9987c57c 7139 (package
d935e6a1 7140 (name "faba-icon-theme")
2eee7ee3 7141 (version "4.3")
d935e6a1
BT
7142 (source
7143 (origin
7144 (method url-fetch)
7145 (uri (string-append "https://github.com/moka-project/"
7146 name "/archive/v" version ".tar.gz"))
7147 (file-name (string-append name "-" version ".tar.gz"))
7148 (sha256
7149 (base32
2eee7ee3 7150 "18ln06xl60qzvzz61zq9q72hdbfgjsza3flph8i2asyzx3dffz68"))))
f6a9b345 7151 (build-system meson-build-system)
9987c57c 7152 (arguments
82da291a 7153 `(#:phases
9987c57c 7154 (modify-phases %standard-phases
82da291a 7155 (add-before 'configure 'disable-post-install
9987c57c 7156 (lambda _
82da291a
JL
7157 (substitute* "meson.build"
7158 (("meson.add_install_script.*") "")))))))
9987c57c
DT
7159 (native-inputs
7160 `(("autoconf" ,autoconf)
7161 ("automake" ,automake)))
d935e6a1
BT
7162 (synopsis "Faba icon theme")
7163 (description
7164 "Faba is a minimal icon set used as a basis for other themes such as
7165Moka")
7166 (home-page "https://snwh.org/moka")
7167 (license (list license:lgpl3+
7168 license:cc-by-sa4.0))))
7169
9987c57c
DT
7170(define-public moka-icon-theme
7171 (package
8b0e4177 7172 (inherit faba-icon-theme)
9987c57c 7173 (name "moka-icon-theme")
105a3625 7174 (version "5.4.0")
9987c57c
DT
7175 (source (origin
7176 (method url-fetch)
7177 (uri (string-append "https://github.com/moka-project"
7178 "/moka-icon-theme/archive/v"
7179 version ".tar.gz"))
7180 (file-name (string-append name "-" version ".tar.gz"))
7181 (sha256
7182 (base32
105a3625 7183 "1nbwdjj268hxv9lfagd9aylily9f0hhallp841v0i3imljp84bmk"))))
550281fb
BT
7184 (propagated-inputs
7185 ;; Moka is based on Faba by using it as a fallback icon set instead of
7186 ;; bundling it, so we need to add it as a propagated input.
7187 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
7188 (synopsis "Moka icon theme")
7189 (description "Moka is a stylized desktop icon set, designed to be clear,
7190simple and consistent.")
fedde43b
BT
7191 (license (list license:gpl3+
7192 license:cc-by-sa4.0))))
6fd8f8d6
DT
7193
7194(define-public arc-icon-theme
7195 (package
7196 (name "arc-icon-theme")
c4180240 7197 (version "20161122")
6fd8f8d6
DT
7198 (source (origin
7199 (method url-fetch)
7200 (uri (string-append "https://github.com/horst3180/arc-icon-theme"
7201 "/archive/" version ".tar.gz"))
7202 (file-name (string-append name "-" version ".tar.gz"))
7203 (sha256
7204 (base32
c4180240 7205 "1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b"))))
6fd8f8d6 7206 (build-system gnu-build-system)
9e1ede95
JL
7207 (arguments
7208 `(#:phases
7209 (modify-phases %standard-phases
7210 (add-after 'unpack 'disable-configure-during-bootstrap
7211 (lambda _
7212 (substitute* "autogen.sh"
7213 (("^\"\\$srcdir/configure\".*") ""))
7214 #t)))))
6fd8f8d6
DT
7215 (native-inputs
7216 `(("autoconf" ,autoconf)
7217 ("automake" ,automake)))
7218 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
7219 (propagated-inputs
7220 `(("moka-icon-theme" ,moka-icon-theme)))
7221 (synopsis "Arc icon theme")
7222 (description "The Arc icon theme provides a set of icons matching the
7223style of the Arc GTK theme. Icons missing from the Arc theme are provided by
7224the Moka icon theme.")
7225 (home-page "https://github.com/horst3180/arc-icon-theme")
7226 (license license:gpl3+)))
6064a4e8
LF
7227
7228(define-public folks
7229 (package
7230 (name "folks")
d23495fa 7231 (version "0.11.4")
6064a4e8
LF
7232 (source (origin
7233 (method url-fetch)
7234 (uri (string-append
e5f4796e 7235 "mirror://gnome/sources/folks/"
6064a4e8 7236 (version-major+minor version) "/"
e5f4796e 7237 "folks-" version ".tar.xz"))
6064a4e8
LF
7238 (sha256
7239 (base32
d23495fa 7240 "16hqh2gxlbx0b0hgq216hndr1m72vj54jvryzii9zqkk0g9kxc57"))))
6064a4e8
LF
7241 (build-system glib-or-gtk-build-system)
7242 (inputs
7243 `(("bdb" ,bdb)
7244 ("dbus-glib" ,dbus-glib)
7245 ("evolution-data-server" ,evolution-data-server)
7246 ("glib" ,glib)
7247 ("libgee" ,libgee)
7248 ("telepathy-glib" ,telepathy-glib)))
7249 (native-inputs
7250 `(("gobject-introspection" ,gobject-introspection)
7251 ("intltool" ,intltool)
7252 ("pkg-config" ,pkg-config)
7253 ("vala" ,vala)))
7254 (synopsis "Library to aggregate data about people")
7255 (description "Libfolks is a library that aggregates information about people
7256from multiple sources (e.g., Telepathy connection managers for IM contacts,
7257Evolution Data Server for local contacts, libsocialweb for web service contacts,
7258etc.) to create metacontacts. It's written in Vala, which generates C code when
7259compiled.")
7260 (home-page "https://wiki.gnome.org/Projects/Folks")
7261 (license license:lgpl2.1+)))
01ea778f
LF
7262
7263(define-public gfbgraph
7264 (package
7265 (name "gfbgraph")
7266 (version "0.2.3")
7267 (source (origin
7268 (method url-fetch)
7269 (uri (string-append
237d4cf7 7270 "mirror://gnome/sources/gfbgraph/"
01ea778f 7271 (version-major+minor version) "/"
237d4cf7 7272 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
7273 (sha256
7274 (base32
7275 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
7276 (build-system glib-or-gtk-build-system)
7277 (arguments
7278 `(#:tests? #f ; Tests appear to require the network.
7279 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
7280 #:configure-flags '("--disable-gtk-doc"
7281 "--disable-static"
7282 "--enable-introspection")))
7283 (native-inputs
7284 `(("pkg-config" ,pkg-config)
7285 ("gobject-introspection" ,gobject-introspection)))
7286 (inputs
7287 `(("json-glib" ,json-glib)
14c297fd 7288 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
7289 ("rest" ,rest)))
7290 (synopsis "GLib/GObject wrapper for the Facebook API")
7291 (description "This library allows you to use the Facebook API from
7292GLib/GObject code.")
7293 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
7294 (license license:lgpl2.1+)))
3920868c 7295
7296(define-public libgnomekbd
7297 (package
7298 (name "libgnomekbd")
70f2b0f9 7299 (version "3.26.1")
3920868c 7300 (source (origin
7301 (method url-fetch)
d47fa82d 7302 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 7303 (version-major+minor version) "/"
d47fa82d 7304 "libgnomekbd-" version ".tar.xz"))
3920868c 7305 (sha256
7306 (base32
70f2b0f9 7307 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 7308 (build-system gnu-build-system)
7309 (native-inputs
7310 `(("pkg-config" ,pkg-config)
7311 ("glib" ,glib "bin")
7312 ("intltool" ,intltool)))
7313 (propagated-inputs
7314 ;; Referred to in .h files and .pc.
7315 `(("glib" ,glib)
7316 ("gtk+" ,gtk+)
7317 ("libxklavier" ,libxklavier)))
7318 (home-page "https://www.gnome.org")
7319 (synopsis "GNOME keyboard configuration library")
7320 (description
7321 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
7322environment, which can notably display keyboard layouts.")
7323 (license license:lgpl2.0+)))
85327d0d 7324
7325;;; This package is no longer maintained:
7326;;; https://wiki.gnome.org/Attic/LibUnique
7327;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
7328;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
7329(define-public libunique
7330 (package
7331 (name "libunique")
7332 (version "3.0.2")
7333 (source (origin
7334 (method url-fetch)
7335 (uri (string-append "mirror://gnome/sources/" name "/"
7336 (version-major+minor version) "/"
7337 name "-" version ".tar.xz"))
7338 (sha256
7339 (base32
7340 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
7341 (build-system glib-or-gtk-build-system)
7342 (arguments
7343 `(#:configure-flags '("--disable-static"
7344 "--disable-dbus" ; use gdbus
7345 "--enable-introspection")))
7346 (native-inputs
7347 `(("pkg-config" ,pkg-config)
7348 ("gobject-introspection" ,gobject-introspection)
7349 ("glib:bin" ,glib "bin")
7350 ("gtk-doc" ,gtk-doc)))
7351 (propagated-inputs
7352 ;; Referred to in .h files and .pc.
7353 `(("gtk+" ,gtk+)))
7354 (home-page "https://wiki.gnome.org/Attic/LibUnique")
7355 (synopsis "Library for writing single instance applications")
7356 (description
7357 "Libunique is a library for writing single instance applications. If you
7358launch a single instance application twice, the second instance will either just
7359quit or will send a message to the running instance. Libunique makes it easy to
7360write this kind of application, by providing a base class, taking care of all
7361the IPC machinery needed to send messages to a running instance, and also
7362handling the startup notification side.")
7363 (license license:lgpl2.1+)))
54021cd8
RS
7364
7365(define-public gnome-calculator
7366 (package
7367 (name "gnome-calculator")
07ace641 7368 (version "3.32.2")
54021cd8
RS
7369 (source
7370 (origin
7371 (method url-fetch)
7372 (uri (string-append "mirror://gnome/sources/" name "/"
7373 (version-major+minor version) "/"
7374 name "-" version ".tar.xz"))
7375 (sha256
7376 (base32
07ace641 7377 "0fgpn3sc226s9fpzhik5rkkrf669037gc659ga2kn9jsyckj6p41"))))
2d475910
RW
7378 (build-system meson-build-system)
7379 (arguments '(#:glib-or-gtk? #t))
54021cd8
RS
7380 (native-inputs
7381 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 7382 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8
RS
7383 ("intltool" ,intltool)
7384 ("itstool" ,itstool)
2d475910 7385 ("vala" ,vala)
54021cd8
RS
7386 ("pkg-config" ,pkg-config)))
7387 (inputs
112e9083 7388 `(("glib" ,glib)
07ace641 7389 ("gtksourceview" ,gtksourceview)
54021cd8 7390 ("libsoup" ,libsoup)
112e9083 7391 ("libxml2" ,libxml2)
2c2da7ec 7392 ("mpc" ,mpc)
54021cd8
RS
7393 ("mpfr" ,mpfr)))
7394 (home-page "https://wiki.gnome.org/Apps/Calculator")
7395 (synopsis "Desktop calculator")
7396 (description
7397 "Calculator is an application that solves mathematical equations and
7398is suitable as a default application in a Desktop environment.")
7399 (license license:gpl3)))
0bd69759
RS
7400
7401(define-public xpad
7402 (package
7403 (name "xpad")
c85626bb 7404 (version "5.1.0")
0bd69759
RS
7405 (source
7406 (origin
7407 (method url-fetch)
08fda9c6
R
7408 (uri (string-append "https://launchpad.net/xpad/trunk/"
7409 version "/+download/"
0bd69759
RS
7410 name "-" version ".tar.bz2"))
7411 (sha256
7412 (base32
c85626bb 7413 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
7414 (build-system gnu-build-system)
7415 (native-inputs
08fda9c6
R
7416 `(("autoconf" ,autoconf)
7417 ("automake" ,automake)
7418 ("gtk+:bin" ,gtk+ "bin")
7419 ("intltool" ,intltool)
0bd69759
RS
7420 ("pkg-config" ,pkg-config)))
7421 (inputs
c72647fb 7422 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
7423 ("libsm" ,libsm)))
7424 (home-page "https://wiki.gnome.org/Apps/Xpad")
7425 (synopsis "Virtual sticky note")
7426 (description
7427 "Xpad is a sticky note that strives to be simple, fault tolerant,
7428and customizable. Xpad consists of independent pad windows, each is
7429basically a text box in which notes can be written.")
7430 (license license:gpl3+)))
3ad7dce1
RS
7431
7432(define-public gucharmap
c60063ea
RW
7433 (let ((unicode-files
7434 '(("Blocks.txt"
1f8b5515 7435 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 7436 ("DerivedAge.txt"
1f8b5515 7437 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 7438 ("NamesList.txt"
1f8b5515 7439 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 7440 ("Scripts.txt"
1f8b5515 7441 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 7442 ("UnicodeData.txt"
1f8b5515 7443 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 7444 ("Unihan.zip"
1f8b5515 7445 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
7446 (package
7447 (name "gucharmap")
1f8b5515 7448 (version "12.0.1")
c60063ea
RW
7449 (source
7450 (origin
7451 (method url-fetch)
7452 (uri (string-append "mirror://gnome/sources/" name "/"
7453 (version-major+minor version) "/"
7454 name "-" version ".tar.xz"))
7455 (sha256
7456 (base32
1f8b5515 7457 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
7458 (build-system glib-or-gtk-build-system)
7459 (arguments
7460 `(#:modules ((ice-9 match)
7461 (guix build glib-or-gtk-build-system)
7462 (guix build utils))
7463 #:configure-flags
7464 (list "--with-unicode-data=../unicode-data")
7465 #:phases
7466 (modify-phases %standard-phases
7467 (add-after 'unpack 'prepare-unicode-data
7468 (lambda* (#:key inputs #:allow-other-keys)
7469 (mkdir-p "../unicode-data")
7470 (with-directory-excursion "../unicode-data"
7471 (for-each (match-lambda
7472 ((file _)
7473 (install-file (assoc-ref inputs file) ".")))
7474 ',unicode-files))
7475 #t)))))
7476 (native-inputs
7477 `(("desktop-file-utils" ,desktop-file-utils)
7478 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
7479 ("gobject-introspection" ,gobject-introspection)
7480 ("intltool" ,intltool)
7481 ("itstool" ,itstool)
7482 ("pkg-config" ,pkg-config)
7483 ,@(map (match-lambda
7484 ((file hash)
7485 `(,file
7486 ,(origin
7487 (method url-fetch)
7488 (uri (string-append
1f8b5515 7489 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
7490 file))
7491 (sha256 (base32 hash))))))
7492 unicode-files)
7493 ("unzip" ,unzip)))
7494 (inputs
7495 `(("gtk+" ,gtk+)
7496 ("xmllint" ,libxml2)))
7497 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
7498 (synopsis "Unicode character picker and font browser")
7499 (description
7500 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
7501characters and categories for the installed fonts, and to examine their
7502detailed properties. It is an easy way to find the character you might
7503only know by its Unicode name or code point.")
c60063ea 7504 (license license:gpl3+))))
04ce840a
RS
7505
7506(define-public bluefish
7507 (package
7508 (name "bluefish")
ea8afaf3 7509 (version "2.2.10")
04ce840a
RS
7510 (source
7511 (origin
7512 (method url-fetch)
7513 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
7514 name "-" version ".tar.gz"))
7515 (sha256
7516 (base32
ea8afaf3 7517 "1jw4has7lbp77lqmzvnnjmqcf0lacjfnka873lkkwdyrpzc4c1q4"))))
04ce840a
RS
7518 (build-system gnu-build-system)
7519 (native-inputs
7520 `(("desktop-file-utils" ,desktop-file-utils)
7521 ("intltool" ,intltool)
7522 ("pkg-config" ,pkg-config)))
7523 (inputs
7524 `(("enchant" ,enchant)
7525 ("gtk+" ,gtk+)
7526 ("python" ,python-2)
7527 ("xmllint" ,libxml2)
7528 ("gucharmap" ,gucharmap)))
7529 (home-page "http://bluefish.openoffice.nl")
7530 (synopsis "Web development studio")
7531 (description
7532 "Bluefish is an editor targeted towards programmers and web developers,
7533with many options to write web sites, scripts and other code.
7534Bluefish supports many programming and markup languages.")
7535 (license license:gpl3+)))
1f6a73ee
RS
7536
7537(define-public gnome-system-monitor
7538 (package
7539 (name "gnome-system-monitor")
85fb3df3 7540 (version "3.30.0")
1f6a73ee
RS
7541 (source
7542 (origin
7543 (method url-fetch)
7544 (uri (string-append "mirror://gnome/sources/" name "/"
7545 (version-major+minor version) "/"
7546 name "-" version ".tar.xz"))
7547 (sha256
7548 (base32
85fb3df3
RW
7549 "0g0y565bjs6bdszrnxsz1f7hcm1x59i3mfvplysirh7nz3hpz888"))))
7550 (build-system meson-build-system)
7551 (arguments
7552 '(#:glib-or-gtk? #t
7553 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
7554 (native-inputs
7555 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 7556 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
7557 ("intltool" ,intltool)
7558 ("itstool" ,itstool)
7559 ("libgtop" ,libgtop)
4985d9aa 7560 ("polkit" ,polkit)
1f6a73ee
RS
7561 ("pkg-config" ,pkg-config)))
7562 (inputs
7563 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
7564 ("gtk+" ,gtk+)
7565 ("gtkmm" ,gtkmm)
7566 ("librsvg" ,librsvg)
4985d9aa
RW
7567 ("libxml2" ,libxml2)
7568 ("libwnck" ,libwnck)))
1f6a73ee
RS
7569 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
7570 (synopsis "Process viewer and system resource monitor for GNOME")
7571 (description
7572 "GNOME System Monitor is a GNOME process viewer and system monitor with
7573an attractive, easy-to-use interface. It has features, such as a tree view
7574for process dependencies, icons for processes, the ability to hide processes,
7575graphical time histories of CPU/memory/swap usage and the ability to
7576kill/reinice processes.")
7577 (license license:gpl2+)))
3e00ac47
SB
7578
7579(define-public python-pyatspi
7580 (package
7581 (name "python-pyatspi")
84548bd7 7582 (version "2.26.0")
3e00ac47
SB
7583 (source (origin
7584 (method url-fetch)
7585 (uri (string-append
7586 "mirror://gnome/sources/pyatspi/"
7587 (version-major+minor version)
7588 "/pyatspi-" version ".tar.xz"))
7589 (sha256
7590 (base32
b95af3f6
JL
7591 "0xdnix7gxzgf75xy9ris4dd6b05mqwicw190b98xqmypydyf95n6"))
7592 ;; Patch from upstream, fixed in newer versions.
7593 (patches (search-patches "python-pyatspi-python-37.patch"))))
3e00ac47 7594 (build-system gnu-build-system)
b95af3f6
JL
7595 (arguments
7596 `(#:phases
7597 (modify-phases %standard-phases
7598 (add-before 'build 'fix-atk-load
7599 (lambda _
7600 (substitute* "pyatspi/__init__.py"
7601 (("from gi.repository import Atspi")
7602 "gi.require_version('Gtk', '3.0')
7603from gi.repository import Gtk
7604from gi.repository import Atspi"))
7605 #t)))))
3e00ac47
SB
7606 (native-inputs
7607 `(("pkg-config" ,pkg-config)))
7608 (inputs
7609 `(("python" ,python)
7610 ("python-pygobject" ,python-pygobject)))
7611 (synopsis "Python client bindings for D-Bus AT-SPI")
7612 (home-page "https://wiki.linuxfoundation.org/accessibility\
7613/atk/at-spi/at-spi_on_d-bus")
7614 (description
7615 "This package includes a python client library for the AT-SPI D-Bus
7616accessibility infrastructure.")
7617 (license license:lgpl2.0)
7618 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
7619
7620(define-public orca
7621 (package
7622 (name "orca")
ef9b7d4c 7623 (version "3.30.2")
53201c0d
SB
7624 (source (origin
7625 (method url-fetch)
7626 (uri (string-append
7627 "mirror://gnome/sources/" name "/"
7628 (version-major+minor version) "/"
7629 name "-" version ".tar.xz"))
7630 (sha256
7631 (base32
ef9b7d4c 7632 "17asibc46i5gr2fw04jvvdi85zzmxwlnhyq7r6cr3m5prrdr8a53"))))
53201c0d
SB
7633 (build-system glib-or-gtk-build-system)
7634 (arguments
7635 '(#:phases
7636 (modify-phases %standard-phases
7637 (add-before 'configure 'qualify-xkbcomp
7638 (lambda* (#:key inputs #:allow-other-keys)
7639 (let ((xkbcomp (string-append
7640 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
7641 (substitute* "src/orca/orca.py"
7642 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
7643 #t))
7644 (add-after 'install 'wrap-orca
7645 (lambda* (#:key outputs #:allow-other-keys)
7646 (let* ((out (assoc-ref outputs "out"))
7647 (prog (string-append out "/bin/orca")))
7648 (wrap-program prog
7649 `("GI_TYPELIB_PATH" ":" prefix
7650 (,(getenv "GI_TYPELIB_PATH")))
7651 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
7652 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
7653 `("PYTHONPATH" ":" prefix
7654 (,(getenv "PYTHONPATH")))))
7655 #t)))))
7656 (native-inputs
7657 `(("intltool" ,intltool)
7658 ("itstool" ,itstool)
7659 ("pkg-config" ,pkg-config)
7660 ("xmllint" ,libxml2)))
7661 (inputs
7662 `(("at-spi2-atk" ,at-spi2-atk)
7663 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7664 ("gstreamer" ,gstreamer)
7665 ("gst-plugins-base" ,gst-plugins-base)
7666 ("gst-plugins-good" ,gst-plugins-good)
7667 ("gtk+" ,gtk+)
7668 ("python" ,python)
7669 ("python-pygobject" ,python-pygobject)
7670 ("python-pyatspi" ,python-pyatspi)
7671 ("python-speechd" ,speech-dispatcher)
7672 ("xkbcomp" ,xkbcomp)))
7673 (synopsis
7674 "Screen reader for individuals who are blind or visually impaired")
7675 (home-page "https://wiki.gnome.org/Projects/Orca")
7676 (description
7677 "Orca is a screen reader that provides access to the graphical desktop
7678via speech and refreshable braille. Orca works with applications and toolkits
7679that support the Assistive Technology Service Provider Interface (AT-SPI).")
7680 (license license:lgpl2.1+)))
411ba511
LC
7681
7682(define-public gspell
7683 (package
7684 (name "gspell")
7a6bbe9b 7685 (version "1.8.2")
411ba511
LC
7686 (source (origin
7687 (method url-fetch)
7688 (uri (string-append "mirror://gnome/sources/" name "/"
7689 (version-major+minor version) "/"
7690 name "-" version ".tar.xz"))
7691 (sha256
7692 (base32
7a6bbe9b 7693 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
7694 (patches (search-patches "gspell-dash-test.patch"))))
7695 (build-system glib-or-gtk-build-system)
7696 (arguments
7697 '(#:phases
7698 (modify-phases %standard-phases
7699 (add-before 'check 'pre-check
7700 (lambda* (#:key inputs #:allow-other-keys)
7701 ;; Tests require a running X server.
7702 (system "Xvfb :1 &")
7703 (setenv "DISPLAY" ":1")
7704
7705 ;; For the missing /etc/machine-id.
7706 (setenv "DBUS_FATAL_WARNINGS" "0")
7707
7708 ;; Allow Enchant and its Aspell backend to find the en_US
7709 ;; dictionary.
7710 (setenv "ASPELL_DICT_DIR"
7711 (string-append (assoc-ref inputs "aspell-dict-en")
7712 "/lib/aspell"))
7713 #t)))))
7714 (inputs
eccd35be 7715 `(("gtk+" ,gtk+)
a801ae4c
TGR
7716 ("glib" ,glib)
7717 ("iso-codes" ,iso-codes)))
411ba511
LC
7718 (native-inputs
7719 `(("glib" ,glib "bin")
7720 ("pkg-config" ,pkg-config)
7721 ("xmllint" ,libxml2)
7722
7723 ;; For tests.
a801ae4c
TGR
7724 ("aspell-dict-en" ,aspell-dict-en)
7725 ("xorg-server" ,xorg-server)))
eccd35be 7726 (propagated-inputs
9b1bb757 7727 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
7728 (home-page "https://wiki.gnome.org/Projects/gspell")
7729 (synopsis "GNOME's alternative spell checker")
7730 (description
7731 "gspell provides a flexible API to add spell-checking to a GTK+
7732application. It provides a GObject API, spell-checking to text entries and
7733text views, and buttons to choose the language.")
7734 (license license:gpl2+)))
d1d739fa
CM
7735
7736(define-public gnome-planner
7737 (package
7738 (name "gnome-planner")
7739 (version "0.14.6")
7740 (source (origin
7741 (method url-fetch)
7742 (uri (string-append "mirror://gnome/sources/planner/"
7743 (version-major+minor version) "/planner-"
7744 version ".tar.xz"))
7745 (sha256
7746 (base32
7747 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
7748 (build-system glib-or-gtk-build-system)
7749 (arguments
7750 ;; Disable the Python bindings because the Planner program functions
7751 ;; without them, and (as of 2017-06-13) we have not packaged all of
7752 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
7753 `(#:configure-flags
7754 (list "--disable-python"
7755 ,@(if (string=? "aarch64-linux" (%current-system))
7756 '("--build=aarch64-unknown-linux-gnu")
7757 '()))))
d1d739fa
CM
7758 (inputs
7759 `(("libgnomecanvas" ,libgnomecanvas)
7760 ("libgnomeui" ,libgnomeui)
7761 ("libglade" ,libglade)
7762 ("gnome-vfs" ,gnome-vfs)
7763 ("gconf" ,gconf)
7764 ("libxml2" ,libxml2)
7765 ("libxslt" ,libxslt)
7766 ("gtk+" ,gtk+)
7767 ("glib" ,glib)))
7768 (native-inputs
7769 `(("intltool" ,intltool)
7770 ("scrollkeeper" ,scrollkeeper)
7771 ("pkg-config" ,pkg-config)))
7772 (home-page "https://wiki.gnome.org/Apps/Planner")
7773 (synopsis "Project management software for the GNOME desktop")
7774 (description
7775 "GNOME Planner is a project management tool based on the Work Breakdown
7776Structure (WBS). Its goal is to enable you to easily plan projects. Based on
7777the resources, tasks, and constraints that you define, Planner generates
7778various views into a project. For example, Planner can show a Gantt chart of
7779the project. It can show a detailed summary of tasks including their
7780duration, cost, and current progress. It can also show a report of resource
7781utilization that highlights under-utilized and over-utilized resources. These
7782views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 7783 (license license:gpl2+)))
64fce637
RS
7784
7785(define-public lollypop
7786 (package
7787 (name "lollypop")
d029afdd 7788 (version "1.1.3.1")
64fce637
RS
7789 (source
7790 (origin
7791 (method url-fetch)
b98eace8 7792 (uri (string-append "https://gitlab.gnome.org/World/lollypop/uploads/"
d029afdd 7793 "5a7cd7c72b6d83ae08d0c54c4691f9df/"
64fce637
RS
7794 name "-" version ".tar.xz"))
7795 (sha256
7796 (base32
d029afdd 7797 "1r5wn0bja9psz6nr1rcaysdkkwz84rbyzpdfw66cxa6wiy52pkjm"))))
aa498fc0 7798 (build-system meson-build-system)
64fce637
RS
7799 (arguments
7800 `(#:imported-modules ((guix build python-build-system)
aa498fc0
TD
7801 ,@%meson-build-system-modules)
7802 #:glib-or-gtk? #t
5fc9b6c1
EF
7803 #:tests? #f ; no test suite
7804 #:phases
7805 (modify-phases %standard-phases
5fc9b6c1
EF
7806 (add-after 'install 'wrap-program
7807 (lambda* (#:key outputs #:allow-other-keys)
7808 (let ((out (assoc-ref outputs "out"))
7809 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
7810 (wrap-program (string-append out "/bin/lollypop")
7811 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7812 #t))
7813 (add-after 'install 'wrap
7814 (@@ (guix build python-build-system) wrap)))))
64fce637
RS
7815 (native-inputs
7816 `(("intltool" ,intltool)
7817 ("itstool" ,itstool)
aa498fc0
TD
7818 ("glib:bin" ,glib "bin") ; For glib-compile-resources
7819 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
7820 ("pkg-config" ,pkg-config)))
7821 (inputs
7822 `(("gobject-introspection" ,gobject-introspection)
5fc9b6c1 7823 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
7824 ("libnotify" ,libnotify)
7825 ("libsecret" ,libsecret)
7826 ("libsoup" ,libsoup)
7827 ("python" ,python)
7828 ("python-beautifulsoup4" ,python-beautifulsoup4)
7829 ("python-gst" ,python-gst)
d029afdd 7830 ("python-pil" ,python-pillow)
64fce637
RS
7831 ("python-pycairo" ,python-pycairo)
7832 ("python-pygobject" ,python-pygobject)
7833 ("python-pylast" ,python-pylast)
7834 ("totem-pl-parser" ,totem-pl-parser)
7835 ("webkitgtk" ,webkitgtk)))
7836 (propagated-inputs
7837 `(;; gst-plugins-base is required to start Lollypop,
7838 ;; the others are required to play streaming.
64fce637
RS
7839 ("gst-plugins-good" ,gst-plugins-good)
7840 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 7841 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
7842 (synopsis "GNOME music playing application")
7843 (description
7844 "Lollypop is a music player designed to play well with GNOME desktop.
7845Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
7846from artists and tracks from the web. It also fetches cover artworks
7847automatically and it can stream songs from online music services and charts.")
7848 (license license:gpl3+)))
d831d49d
AW
7849
7850(define-public gnome-video-effects
7851 (package
7852 (name "gnome-video-effects")
7853 (version "0.4.3")
7854 (source (origin
7855 (method url-fetch)
7856 (uri (string-append "mirror://gnome/sources/" name "/"
7857 (version-major+minor version) "/" name "-"
7858 version ".tar.xz"))
7859 (sha256
7860 (base32
7861 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
7862 (build-system glib-or-gtk-build-system)
7863 (arguments
7864 `(#:out-of-source? #f))
7865 (native-inputs
7866 `(("glib:bin" ,glib "bin")
7867 ("intltool" ,intltool)
7868 ("gettext" ,gettext-minimal)
7869 ("pkg-config" ,pkg-config)))
7870 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
7871 (synopsis "Video effects for Cheese and other GNOME applications")
7872 (description
7873 "A collection of GStreamer video filters and effects to be used in
7874photo-booth-like software, such as Cheese.")
7875 (license license:gpl2+)))
3511c780
AW
7876
7877(define-public cheese
7878 (package
7879 (name "cheese")
00b14dbb 7880 (version "3.30.0")
3511c780
AW
7881 (source (origin
7882 (method url-fetch)
7883 (uri (string-append "mirror://gnome/sources/" name "/"
7884 (version-major+minor version) "/" name "-"
7885 version ".tar.xz"))
7886 (sha256
7887 (base32
00b14dbb 7888 "0zz2bgjaf2lsmfs3zn24925vbjb0rycr39i288brlbzixrpcyljr"))))
3511c780
AW
7889 (arguments
7890 ;; Tests require GDK.
7891 `(#:tests? #f
7892 #:phases
7893 (modify-phases %standard-phases
7894 (add-before 'install 'skip-gtk-update-icon-cache
7895 (lambda _
7896 ;; Don't create 'icon-theme.cache'
7897 (substitute* "Makefile"
7898 (("gtk-update-icon-cache") (which "true")))
7899 #t))
7900 (add-after 'install 'wrap-cheese
7901 (lambda* (#:key inputs outputs #:allow-other-keys)
7902 (let ((out (assoc-ref outputs "out"))
7903 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
7904 (wrap-program (string-append out "/bin/cheese")
7905 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
7906 #t)))))
7907 (build-system glib-or-gtk-build-system)
7908 (native-inputs
7909 `(("glib:bin" ,glib "bin")
7910 ("intltool" ,intltool)
7911 ("itstool" ,itstool)
7912 ("libxml2" ,libxml2)
7913 ("pkg-config" ,pkg-config)
7914 ("vala" ,vala)))
7915 (propagated-inputs
6a19f03e
RW
7916 `(("gnome-video-effects" ,gnome-video-effects)
7917 ("clutter" ,clutter)
3511c780
AW
7918 ("clutter-gst" ,clutter-gst)
7919 ("clutter-gtk" ,clutter-gtk)
6a19f03e 7920 ("libcanberra" ,libcanberra)
3511c780
AW
7921 ("gdk-pixbuf" ,gdk-pixbuf)
7922 ("glib" ,glib)
6a19f03e
RW
7923 ("gstreamer" ,gstreamer)))
7924 (inputs
7925 `(("gnome-desktop" ,gnome-desktop)
3511c780 7926 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
7927 ("gst-plugins-base" ,gst-plugins-base)
7928 ("gst-plugins-bad" ,gst-plugins-bad)
7929 ("gtk+" ,gtk+)
3511c780
AW
7930 ("libx11" ,libx11)
7931 ("libxtst" ,libxtst)))
7932 (home-page "https://wiki.gnome.org/Apps/Cheese")
7933 (synopsis "Webcam photo booth software for GNOME")
7934 (description
7935 "Cheese uses your webcam to take photos and videos. Cheese can also
7936apply fancy special effects and lets you share the fun with others.")
7937 (license license:gpl2+)))
3c5dbd2b 7938
7939(define-public sound-juicer
7940 (package
7941 (name "sound-juicer")
7942 (version "3.24.0")
7943 (source
7944 (origin
7945 (method url-fetch)
7946 (uri (string-append "mirror://gnome/sources/" name "/"
7947 (version-major+minor version) "/"
7948 name "-" version ".tar.xz"))
7949 (sha256
7950 (base32
7951 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
7952 (build-system glib-or-gtk-build-system)
7953 (native-inputs
7954 `(("desktop-file-utils" ,desktop-file-utils)
7955 ("intltool" ,intltool)
7956 ("itstool" ,itstool)
7957 ("pkg-config" ,pkg-config)
7958 ("xmllint" ,libxml2)))
7959 (inputs
7960 `(("gtk+" ,gtk+)
7961 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7962 ("gstreamer" ,gstreamer)
7963 ("gst-plugins-base" ,gst-plugins-base)
7964 ("gst-plugins-good" ,gst-plugins-good)
7965 ("iso-codes" ,iso-codes)
7966 ("libbrasero-media3" ,brasero)
7967 ("libcanberra" ,libcanberra)
7968 ("libdiscid" ,libdiscid)
7969 ("libmusicbrainz" ,libmusicbrainz)
7970 ("neon" ,neon)))
7971 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
7972 (synopsis "Audio music cd ripper")
7973 (description "Sound Juicer extracts audio from compact discs and convert it
7974into audio files that a personal computer or digital audio player can play.
7975It supports ripping to any audio codec supported by a GStreamer plugin, such as
7976mp3, Ogg Vorbis and FLAC")
7977 (license license:gpl2+)))
4e3fdeb7 7978
0d3f1708
CB
7979(define-public soundconverter
7980 (package
7981 (name "soundconverter")
fa75a213 7982 (version "3.0.1")
0d3f1708
CB
7983 (source
7984 (origin
7985 (method url-fetch)
7986 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
7987 version "/+download/"
7988 "soundconverter-" version ".tar.xz"))
7989
7990 (sha256
fa75a213 7991 (base32 "1d6x1yf8psqbd9zbybxivfqg55khcnngp2mn92l161dfdk9512c5"))
0d3f1708
CB
7992 (patches
7993 (search-patches
7994 "soundconverter-remove-gconf-dependency.patch"))))
7995 (build-system glib-or-gtk-build-system)
7996 (arguments
7997 `(#:imported-modules ((guix build python-build-system)
7998 (guix build glib-or-gtk-build-system)
7999 ,@%gnu-build-system-modules)
8000
8001 #:modules ((guix build glib-or-gtk-build-system)
8002 (guix build utils)
8003 ((guix build gnu-build-system) #:prefix gnu:)
8004 ((guix build python-build-system) #:prefix python:))
8005
8006 #:phases
8007 (modify-phases %standard-phases
0d3f1708
CB
8008 (add-after 'install 'wrap-soundconverter-for-python
8009 (assoc-ref python:%standard-phases 'wrap))
8010 (add-after 'install 'wrap-soundconverter
8011 (lambda* (#:key inputs outputs #:allow-other-keys)
8012 (let ((out (assoc-ref outputs "out"))
8013 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8014 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
8015 (wrap-program (string-append out "/bin/soundconverter")
8016 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8017 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
8018 #t)))))
8019 (native-inputs
8020 `(("intltool" ,intltool)
8021 ("pkg-config" ,pkg-config)
8022 ("glib:bin" ,glib "bin")))
8023 (inputs
8024 `(("gtk+" ,gtk+)
8025 ("python" ,python)
8026 ("python-pygobject" ,python-pygobject)
8027 ("gstreamer" ,gstreamer)
8028 ("gst-plugins-base" ,gst-plugins-base)))
8029 (home-page "http://soundconverter.org/")
8030 (synopsis "Convert between audio formats with a graphical interface")
8031 (description
8032 "SoundConverter supports converting between many audio formats including
8033Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
8034configurable file renaming. ")
8035 (license license:gpl3)))
8036
4e3fdeb7 8037(define-public workrave
89f2d736
TGR
8038 (package
8039 (name "workrave")
aa51d92c 8040 (version "1.10.34")
89f2d736
TGR
8041 (source
8042 (origin
8043 (method git-fetch)
8044 (uri (git-reference
8045 (url "https://github.com/rcaelers/workrave.git")
c2e50474
TGR
8046 (commit (string-append "v" (string-map
8047 (match-lambda (#\. #\_) (chr chr))
8048 version)))))
89f2d736
TGR
8049 (file-name (git-file-name name version))
8050 (sha256
aa51d92c 8051 (base32 "0czwhr7nw523753ajcjjfwrf91mq8pmzr19gp0srqsvb1dsn1zcf"))))
89f2d736 8052 (build-system glib-or-gtk-build-system)
d1c96847
MC
8053 (inputs `(("glib" ,glib)
8054 ("gtk+" ,gtk+)
8055 ("gdk-pixbuf" ,gdk-pixbuf)
8056 ("gtkmm" ,gtkmm)
8057 ("glibmm" ,glibmm)
8058 ("libx11" ,libx11)
8059 ("libxtst" ,libxtst)
8060 ("dconf" ,dconf)
8061 ("libice" ,libice)
8062 ("libsm" ,libsm)
8063 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 8064 (native-inputs `(("boost" ,boost)
89f2d736
TGR
8065 ("pkg-config" ,pkg-config)
8066 ("gettext" ,gnu-gettext)
8067 ("autoconf" ,autoconf)
8068 ("autoconf-archive" , autoconf-archive)
8069 ("automake" ,automake)
8070 ("libtool" ,libtool)
8071 ("intltool" ,intltool)
89f2d736 8072 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
8073 ("python3" ,python-3)
8074 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
8075 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
8076 (description
8077 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
8078repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
8079micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
8080 (home-page "http://www.workrave.org")
8081 (license license:gpl3+)))
312afa7d
LC
8082
8083(define-public ghex
8084 (package
8085 (name "ghex")
8086 (version "3.18.3")
8087 (source (origin
8088 (method url-fetch)
2fbab848 8089 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 8090 (version-major+minor version) "/"
2fbab848 8091 "ghex-" version ".tar.xz"))
312afa7d
LC
8092 (sha256
8093 (base32
8094 "1lq8920ad2chi9ibmyq0x9hg9yk63b0kdbzid03w42cwdzw50x66"))))
8095 (build-system glib-or-gtk-build-system)
8096 (native-inputs
8097 `(("pkg-config" ,pkg-config)
8098 ("gnome-common" ,gnome-common)
8099 ("which" ,which)
8100 ("intltool" ,intltool)
8101 ("yelp-tools" ,yelp-tools)
2fbab848 8102 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
8103 (inputs
8104 `(("atk" ,atk)
8105 ("gtk" ,gtk+)))
8106 (synopsis "GNOME hexadecimal editor")
8107 (description "The GHex program can view and edit files in two ways:
8108hexadecimal or ASCII. It is useful for editing binary files in general.")
8109 (home-page "https://wiki.gnome.org/Apps/Ghex")
8110 (license license:gpl2)))
4b2ed6c2
RW
8111
8112(define-public libdazzle
8113 (package
8114 (name "libdazzle")
64fa66ba 8115 (version "3.33.90")
4b2ed6c2
RW
8116 (source (origin
8117 (method url-fetch)
687b4909 8118 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 8119 (version-major+minor version) "/"
687b4909 8120 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
8121 (sha256
8122 (base32
64fa66ba 8123 "189m7q88d1a7bq0yyal9f3yhm9kz46lb61379nn4wsnnhpa1d0qs"))))
4b2ed6c2
RW
8124 (build-system meson-build-system)
8125 (arguments
8126 `(#:phases
8127 (modify-phases %standard-phases
4b2ed6c2
RW
8128 (add-before 'check 'pre-check
8129 (lambda _
8130 ;; Tests require a running X server.
8131 (system "Xvfb :1 &")
8132 (setenv "DISPLAY" ":1")
8133 #t)))))
8134 (native-inputs
687b4909 8135 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 8136 ("pkg-config" ,pkg-config)
687b4909 8137 ;; For tests.
4b2ed6c2
RW
8138 ("xorg-server" ,xorg-server)))
8139 (inputs
8140 `(("glib" ,glib)
8141 ("gobject-introspection" ,gobject-introspection)
8142 ("gtk+" ,gtk+)
8143 ("vala" ,vala)))
8144 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
8145 (synopsis "Companion library to GObject and Gtk+")
8146 (description "The libdazzle library is a companion library to GObject and
8147Gtk+. It provides various features that the authors wish were in the
8148underlying library but cannot for various reasons. In most cases, they are
8149wildly out of scope for those libraries. In other cases, they are not quite
8150generic enough to work for everyone.")
8151 (license license:gpl3+)))
7d3bb433
RW
8152
8153(define-public evolution
8154 (package
8155 (name "evolution")
5229bea1 8156 (version "3.30.5")
7d3bb433
RW
8157 (source (origin
8158 (method url-fetch)
8159 (uri (string-append "mirror://gnome/sources/evolution/"
8160 (version-major+minor version) "/"
8161 "evolution-" version ".tar.xz"))
8162 (sha256
8163 (base32
5229bea1 8164 "1hhxj3rh921pp3l3c5k33bdypcas1p66krzs65k1qn82c5fpgl2h"))))
7d3bb433
RW
8165 (build-system cmake-build-system)
8166 (arguments
5229bea1
KK
8167 `(#:imported-modules (,@%cmake-build-system-modules
8168 (guix build glib-or-gtk-build-system))
8169 #:modules ((guix build cmake-build-system)
8170 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
8171 (guix build utils))
8172 #:configure-flags
7d3bb433 8173 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 8174 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 8175 ; in four years and cannot be built.
5229bea1
KK
8176 #:phases
8177 (modify-phases %standard-phases
8178 ;; The build system attempts to install user interface modules to the
8179 ;; output directory of the "evolution-data-server" package. This
8180 ;; change redirects that change.
8181 (add-after 'unpack 'patch-ui-module-dir
8182 (lambda* (#:key outputs #:allow-other-keys)
8183 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
8184 (("\\$\\{edsuimoduledir\\}")
8185 (string-append (assoc-ref outputs "out")
8186 "/lib/evolution-data-server/ui-modules")))
8187 #t))
8188 (add-after 'install 'glib-or-gtk-compile-schemas
8189 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
8190 (add-after 'install 'glib-or-gtk-wrap
8191 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 8192 (native-inputs
ad6e168b 8193 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
8194 ("pkg-config" ,pkg-config)
8195 ("intltool" ,intltool)
8196 ("itstool" ,itstool)))
8197 (inputs
8198 `(("enchant" ,enchant)
8199 ("evolution-data-server" ,evolution-data-server) ; must be the same version
8200 ("gcr" ,gcr)
ad6e168b 8201 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
8202 ("gnome-autoar" ,gnome-autoar)
8203 ("gnome-desktop" ,gnome-desktop)
8204 ("gtkspell3" ,gtkspell3)
8205 ("highlight" ,highlight)
8206 ("libcanberra" ,libcanberra)
b63c06f1 8207 ("libedataserverui" ,evolution-data-server)
7d3bb433
RW
8208 ("libgweather" ,libgweather)
8209 ("libnotify" ,libnotify)
8210 ("libsoup" ,libsoup)
8211 ("nss" ,nss)
8212 ("openldap" ,openldap)
8213 ("webkitgtk" ,webkitgtk)
8214 ("ytnef" ,ytnef)))
8215 (home-page "https://gitlab.gnome.org/GNOME/evolution")
8216 (synopsis "Manage your email, contacts and schedule")
8217 (description "Evolution is a personal information management application
8218that provides integrated mail, calendaring and address book
8219functionality.")
8220 ;; See COPYING for details.
23dbe621 8221 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 8222 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 8223 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
8224
8225(define-public gthumb
8226 (package
8227 (name "gthumb")
f99bc1af 8228 (version "3.8.1")
169d63f5
AT
8229 (source (origin
8230 (method url-fetch)
8231 (uri (string-append "mirror://gnome/sources/gthumb/"
8232 (version-major+minor version) "/"
8233 "gthumb-" version ".tar.xz"))
8234 (sha256
8235 (base32
f99bc1af 8236 "184zn79w4s9y1zy42ar31p3jsg8rmkxy8k6iry51nz8aizbcs7jb"))))
169d63f5
AT
8237 (build-system meson-build-system)
8238 (arguments
8239 `(#:glib-or-gtk? #t
8240 #:configure-flags
8241 ;; Ensure the RUNPATH contains all installed library locations.
8242 (list (string-append "-Dc_link_args=-Wl,-rpath="
8243 (assoc-ref %outputs "out")
8244 "/lib/gthumb/extensions")
8245 (string-append "-Dcpp_link_args=-Wl,-rpath="
8246 (assoc-ref %outputs "out")
8247 "/lib/gthumb/extensions"))))
8248 (native-inputs
8249 `(("pkg-config" ,pkg-config)
8250 ("glib:bin" ,glib "bin") ; for glib-compile-resources
8251 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8252 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
8253 ("intltool" ,intltool)
8254 ("itstool" ,itstool)))
8255 (inputs
8256 `(("exiv2" ,exiv2)
8257 ("gtk" ,gtk+)
8258 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8259 ("gstreamer" ,gstreamer)
8260 ("clutter" ,clutter)
8261 ("clutter-gst" ,clutter-gst)
8262 ("clutter-gtk" ,clutter-gtk)
8263 ("libjpeg" ,libjpeg)
8264 ("libtiff" ,libtiff)
8265 ("libraw" ,libraw)))
8266 (home-page "https://wiki.gnome.org/Apps/Gthumb")
8267 (synopsis "GNOME image viewer and browser")
8268 (description "GThumb is an image viewer, browser, organizer, editor and
8269advanced image management tool")
8270 (license license:gpl2+)))
08be02be
AT
8271
8272(define-public terminator
8273 (package
8274 (name "terminator")
8275 (version "1.91")
8276 (source (origin
8277 (method url-fetch)
8278 (uri (string-append "https://launchpad.net/" name "/"
8279 "gtk3/" version "/" "+download/"
8280 name "-" version ".tar.gz"))
8281 (sha256
8282 (base32
8283 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
8284 (build-system python-build-system)
8285 (native-inputs
8286 `(("intltool" ,intltool)
8287 ("glib:bin" ,glib "bin") ; for glib-compile-resources
8288 ("gettext" ,gettext-minimal)
8289 ("pkg-config" ,pkg-config)))
8290 (inputs
8291 `(("cairo" ,cairo)
8292 ("gobject-introspection" ,gobject-introspection)
96681d4b 8293 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
8294 ("python2-pycairo" ,python2-pycairo)
8295 ("python2-pygobject" ,python2-pygobject)
8296 ("python2-psutil" ,python2-psutil)
8297 ("vte" ,vte)))
8298 (arguments
96681d4b
TGR
8299 `(#:python ,python-2 ; Python 3 isn't supported
8300 #:imported-modules ((guix build glib-or-gtk-build-system)
8301 ,@%python-build-system-modules)
8302 #:modules ((guix build python-build-system)
8303 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
8304 (guix build utils))
08be02be
AT
8305 #:phases
8306 (modify-phases %standard-phases
8307 (add-after
8308 'install 'wrap-program
8309 (lambda* (#:key outputs #:allow-other-keys)
8310 (let ((prog (string-append (assoc-ref outputs "out")
8311 "/bin/terminator")))
8312 (wrap-program prog
8313 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
8314 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
8315 #t)))
8316 (add-after 'wrap-program 'glib-or-gtk-wrap
8317 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
8318 (home-page "https://gnometerminator.blogspot.com/")
8319 (synopsis "Store and run multiple GNOME terminals in one window")
8320 (description
8321 "Terminator allows you to run multiple GNOME terminals in a grid and
8322+tabs, and it supports drag and drop re-ordering of terminals.")
8323 (license license:gpl2)))
213315d4
JF
8324
8325(define-public libhandy
8326 (package
8327 (name "libhandy")
d41ee146 8328 (version "0.0.11")
213315d4
JF
8329 (source
8330 (origin
8331 (method git-fetch)
8332 (uri (git-reference
8333 (url "https://source.puri.sm/Librem5/libhandy")
8334 (commit (string-append "v" version))))
8335 (file-name (git-file-name name version))
8336 (sha256
d41ee146 8337 (base32 "0622zp5wrvn5bvgardijxd11y76g1i54fs32y03dw9nrar7i6vb0"))))
213315d4
JF
8338 (build-system meson-build-system)
8339 (arguments
8340 `(#:configure-flags
8341 '("-Dglade_catalog=disabled"
8342 "-Dgtk_doc=true")
8343 #:phases
8344 (modify-phases %standard-phases
213315d4
JF
8345 (add-before 'check 'pre-check
8346 (lambda _
8347 ;; Tests require a running X server.
8348 (system "Xvfb :1 &")
8349 (setenv "DISPLAY" ":1")
8350 #t)))))
8351 (inputs
8352 `(("gtk+" ,gtk+)))
8353 (native-inputs
8354 `(("glib:bin" ,glib "bin")
8355 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
8356 ("vala" ,vala)
8357 ("gtk-doc" ,gtk-doc)
8358 ("pkg-config" ,pkg-config)
8359 ("gettext" ,gettext-minimal)
d41ee146
TGR
8360 ("xorg-server" ,xorg-server)
8361
8362 ;; Test suite dependencies.
8363 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
8364 (home-page "https://source.puri.sm/Librem5/libhandy")
8365 (synopsis "Library full of GTK+ widgets for mobile phones")
8366 (description "The aim of the handy library is to help with developing user
8367intefaces for mobile devices using GTK+.")
8368 (license license:lgpl2.1+)))
a830d14d
GL
8369
8370(define-public libgit2-glib
8371 (package
8372 (name "libgit2-glib")
8373 (version "0.28.0.1")
8374 (source (origin
8375 (method url-fetch)
8376 (uri (string-append "mirror://gnome/sources/" name "/"
8377 (version-major+minor version) "/"
8378 name "-" version ".tar.xz"))
8379 (sha256
8380 (base32
8381 "0a0g7aw66rfgnqr4z7fgbk5zzcjq66m4rp8v4val3a212941h0g7"))))
8382 (build-system meson-build-system)
8383 (native-inputs
8384 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
8385 ("gobject-introspection" ,gobject-introspection)
8386 ("intltool" ,intltool)
8387 ("libssh2" ,libssh2)
8388 ("pkg-config" ,pkg-config)
8389 ("python-pygobject" ,python-pygobject)
8390 ("python-wrapper" ,python-wrapper)
8391 ("vala" ,vala)))
8392 (inputs
8393 `(("glib" ,glib)
8394 ("libgit2" ,libgit2)))
8395 (synopsis "GLib wrapper around the libgit2 Git access library")
8396 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
8397access library. It only implements the core plumbing functions, not really the
8398higher level porcelain stuff.")
8399 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
8400 (license license:gpl2+)))
93beace0
DW
8401
8402(define-public gnome-mahjongg
8403 (package
8404 (name "gnome-mahjongg")
8405 (version "3.35.1")
8406 (source (origin
8407 (method git-fetch)
8408 (uri (git-reference
8409 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
8410 (commit version)))
8411 (file-name (git-file-name name version))
8412 (sha256
8413 (base32
8414 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
8415 (build-system meson-build-system)
8416 (arguments
8417 `(#:glib-or-gtk? #t))
8418 (native-inputs
8419 `(("appstream-glib" ,appstream-glib)
8420 ("gettext" ,gettext-minimal)
8421 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
8422 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
8423 ("itstool" ,itstool)
8424 ("pkg-config" ,pkg-config)
8425 ("vala" ,vala)))
8426 (propagated-inputs
8427 `(("dconf" ,dconf)))
8428 (inputs
8429 `(("glib" ,glib)
8430 ("gtk+" ,gtk+)
8431 ("librsvg" ,librsvg)))
8432 (synopsis "Mahjongg tile-matching game")
8433 (description "GNOME Mahjongg is a game based on the classic Chinese
8434tile-matching game Mahjong. It features multiple board layouts, tile themes,
8435and a high score table.")
8436 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
8437 (license license:gpl2+)))