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