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