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