gnu: libksysguard: Enable more tests (not all working yet).
[jackhill/guix/guix.git] / gnu / packages / gnome.scm
CommitLineData
995b7261 1;;; GNU Guix --- Functional package management for GNU
109da1c0 2;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
89e34644 3;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
29a7c98a 4;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
7108425c 5;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
58d32305 6;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
8b877545 7;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
7aab13f1 8;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
63ad9b80 9;;; Copyright © 2015, 2017 Andy Wingo <wingo@igalia.com>
1e7464a9 10;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
49586905 11;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
8344a85e 12;;; Copyright © 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
293ff8b2 13;;; Copyright © 2015 David Thompson <davet@gnu.org>
5a6527e4 14;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
cc3bc027 15;;; Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org>
3c697ffd 16;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
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
865aacc9 3338(define-public libgnome-games-support
f09520db 3339 (package
865aacc9
TGR
3340 (name "libgnome-games-support")
3341 (version "1.2.2")
f09520db
SB
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
865aacc9 3349 "04qbgcgmc01sinhbqdljiny8q868l01nkdawj8wrnqnd1i8czvsg"))))
f09520db
SB
3350 (build-system gnu-build-system)
3351 (arguments
3352 '(#:phases
3353 (modify-phases %standard-phases
3354 (add-before 'check 'pre-check
3355 (lambda _
865aacc9 3356 ;; Tests require a writable HOME.
f09520db
SB
3357 (setenv "HOME" (getcwd))
3358 #t)))))
3359 (native-inputs
3360 `(("intltool" ,intltool)
3361 ("pkg-config" ,pkg-config)
3362 ("vala" ,vala)))
3363 (propagated-inputs
865aacc9 3364 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
3365 `(("gtk+" ,gtk+)
3366 ("libgee" ,libgee)))
3367 (home-page "https://www.gnome.org/")
3368 (synopsis "Useful functionality shared among GNOME games")
3369 (description
865aacc9 3370 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
3371GNOME Games, but it may be used by others.")
3372 (license license:lgpl3+)))
3373
b7a3cf11
SB
3374(define-public gnome-klotski
3375 (package
3376 (name "gnome-klotski")
f4eae76f 3377 (version "3.22.1")
b7a3cf11
SB
3378 (source (origin
3379 (method url-fetch)
3380 (uri (string-append "mirror://gnome/sources/" name "/"
3381 (version-major+minor version) "/"
3382 name "-" version ".tar.xz"))
3383 (sha256
3384 (base32
f4eae76f 3385 "04ragvrz29sydi2kf1zk2aimi3b3hn34jrndfd2lx6h8l45anq3q"))))
b7a3cf11
SB
3386 (build-system glib-or-gtk-build-system)
3387 (native-inputs
3388 `(("desktop-file-utils" ,desktop-file-utils)
3389 ("intltool" ,intltool)
3390 ("itstool" ,itstool)
bcb354ad
SB
3391 ("pkg-config" ,pkg-config)
3392 ("xmllint" ,libxml2)))
b7a3cf11
SB
3393 (inputs
3394 `(("gtk+" ,gtk+)
f4eae76f 3395 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
3396 ("librsvg" ,librsvg)))
3397 (home-page "https://wiki.gnome.org/Apps/Klotski")
3398 (synopsis "Sliding block puzzles")
3399 (description
3400 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
3401the patterned block to the area bordered by green markers. To do so, you will
3402need to slide other blocks out of the way. Complete each puzzle in as few moves
3403as possible!")
3404 (license license:gpl2+)))
8d4791bf
MW
3405
3406(define-public grilo
3407 (package
3408 (name "grilo")
99dd2af9 3409 (version "0.3.3")
8d4791bf
MW
3410 (source
3411 (origin
3412 (method url-fetch)
3413 (uri (string-append "mirror://gnome/sources/" name "/"
3414 (version-major+minor version) "/"
3415 name "-" version ".tar.xz"))
3416 (sha256
3417 (base32
99dd2af9 3418 "1qx072m0gl6m3d5g5cbbf13p4h217icmlxjnrn829x5xqwi451sw"))))
8d4791bf
MW
3419 (build-system gnu-build-system)
3420 (native-inputs
3421 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3422 ("intltool" ,intltool)
3423 ("pkg-config" ,pkg-config)
3424 ("gobject-introspection" ,gobject-introspection)))
3425 (inputs
6d7273a0
KK
3426 `(("cyrus-sasl" ,cyrus-sasl)
3427 ("glib" ,glib)
8d4791bf
MW
3428 ("gtk+" ,gtk+)
3429 ("libxml2" ,libxml2)
6d7273a0 3430 ("liboauth" ,liboauth)
8d4791bf 3431 ("libsoup" ,libsoup)
e7305878 3432 ("nettle" ,nettle)
8d4791bf
MW
3433 ("totem-pl-parser" ,totem-pl-parser)))
3434 (arguments
3435 `(#:phases
3436 (modify-phases %standard-phases
3437 (add-after 'unpack 'fix-introspection-install-dir
3438 (lambda* (#:key outputs #:allow-other-keys)
3439 (let ((out (assoc-ref outputs "out")))
3440 (substitute* '("src/Makefile.in"
3441 "libs/pls/Makefile.in"
3442 "libs/net/Makefile.in")
3443 (("@INTROSPECTION_GIRDIR@")
3444 (string-append out "/share/gir-1.0/"))
3445 (("@INTROSPECTION_TYPELIBDIR@")
3446 (string-append out "/lib/girepository-1.0/")))))))))
3447 (native-search-paths
3448 (list (search-path-specification
3449 (variable "GRL_PLUGIN_PATH")
3450 (files (list (string-append "lib/grilo-"
3451 (version-major+minor version)))))))
f032d0be 3452 (home-page "https://live.gnome.org/Grilo")
8d4791bf
MW
3453 (synopsis "Framework for discovering and browsing media")
3454 (description
3455 "Grilo is a framework focused on making media discovery and browsing easy
3456for application developers.")
3457 (license license:lgpl2.1+)))
7b212526
MW
3458
3459(define-public grilo-plugins
3460 (package
3461 (name "grilo-plugins")
22753632 3462 (version "0.3.3")
7b212526
MW
3463 (source
3464 (origin
3465 (method url-fetch)
3466 (uri (string-append "mirror://gnome/sources/" name "/"
3467 (version-major+minor version) "/"
3468 name "-" version ".tar.xz"))
3469 (sha256
3470 (base32
22753632 3471 "172vr1y98d2mzlmg5akjn4ibrcj3gh22cwnb3cv9rvvzhj3yhrpy"))))
7b212526
MW
3472 (build-system gnu-build-system)
3473 (native-inputs
3474 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3475 ("intltool" ,intltool)
3476 ("itstool" ,itstool)
3477 ("pkg-config" ,pkg-config)))
3478 (inputs
3479 `(("grilo" ,grilo)
924ae80f 3480 ("nettle" ,nettle) ; XXX: required by libgrlpls-0.3.la
7b212526
MW
3481 ("glib" ,glib)
3482 ("libxml2" ,libxml2)
3483 ("sqlite" ,sqlite)
3484 ("gom" ,gom)
3485 ;; XXX TODO: Add oauth
3486 ;; XXX TODO: Add goa
3487 ;; XXX TODO: Add gdata (e.g. needed for youtube plugin)
3488 ;; XXX TODO: Add lua (needs help finding it)
3489 ("json-glib" ,json-glib)
3490 ("avahi" ,avahi)
3491 ("gmime" ,gmime)
3492 ("libsoup" ,libsoup)
3493 ("libarchive" ,libarchive)
3494 ("totem-pl-parser" ,totem-pl-parser)))
3495 (arguments
3496 `(#:make-flags (list (string-append "GRL_PLUGINS_DIR="
3497 %output
3498 "/lib/grilo-"
3499 ,(version-major+minor version)))
3500 ;; XXX FIXME: Try to get the test suite working. It appears to require
3501 ;; a working system dbus. Inside the build container, all tests fail
3502 ;; with: "assertion failed: (source)". Outside of the build container,
3503 ;; most tests succeed.
3504 #:tests? #f))
f032d0be 3505 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
3506 (synopsis "Plugins for the Grilo media discovery library")
3507 (description
3508 "Grilo is a framework focused on making media discovery and browsing easy
3509for application developers.")
3510 (license license:lgpl2.1+)))
4e3fc547
MW
3511
3512(define-public totem
3513 (package
3514 (name "totem")
aad56d0e 3515 (version "3.24.0")
4e3fc547
MW
3516 (source
3517 (origin
3518 (method url-fetch)
3519 (uri (string-append "mirror://gnome/sources/" name "/"
3520 (version-major+minor version) "/"
3521 name "-" version ".tar.xz"))
3522 (sha256
3523 (base32
aad56d0e 3524 "00cdlll5b0wj5ckl1pc0a3g39a0hlq0gxkcsh1f6p20fjixqzmwv"))))
4e3fc547
MW
3525 (build-system glib-or-gtk-build-system)
3526 (native-inputs
3527 `(("pkg-config" ,pkg-config)
3528 ("desktop-file-utils" ,desktop-file-utils)
3529 ("gobject-introspection" ,gobject-introspection)
3530 ("intltool" ,intltool)
bcb354ad
SB
3531 ("itstool" ,itstool)
3532 ("xmllint" ,libxml2)))
4e3fc547
MW
3533 (propagated-inputs
3534 `(("dconf" ,dconf)))
3535 (inputs
3536 `(("gtk+" ,gtk+)
3537 ("gdk-pixbuf" ,gdk-pixbuf)
3538 ("atk" ,atk)
3539 ("cairo" ,cairo)
3540 ("dbus-glib" ,dbus-glib)
3541 ("clutter" ,clutter)
3542 ("clutter-gtk" ,clutter-gtk)
3543 ("clutter-gst" ,clutter-gst)
3544 ("xproto" ,xproto)
3545 ("libxxf86vm" ,libxxf86vm)
3546 ("libxtst" ,libxtst)
3547 ("libxrandr" ,libxrandr)
3548 ("libxml2" ,libxml2)
3549 ("libsoup" ,libsoup)
3550 ("libpeas" ,libpeas)
3551 ("librsvg" ,librsvg)
3552 ("lirc" ,lirc)
3553 ("gnome-desktop" ,gnome-desktop)
3554 ("gstreamer" ,gstreamer)
3555 ("gst-plugins-base" ,gst-plugins-base)
3556 ("gst-plugins-good" ,gst-plugins-good)
3557 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3558 ("adwaita-icon-theme" ,adwaita-icon-theme)
3559 ;; XXX We use python-2 because libxml2 because itstool (which needs
3560 ;; libxml) currently uses python-2.
3561 ("python" ,python-2)
3562 ("python-pygobject" ,python2-pygobject)
3563 ;; XXX TODO pylint needed for python support
3564 ("totem-pl-parser" ,totem-pl-parser)
3565 ("grilo" ,grilo)
3566 ("grilo-plugins" ,grilo-plugins)
3567 ("nettle" ,nettle)
3568 ("vala" ,vala)))
3569 (arguments
ec5c24f9
LC
3570 `(;; Disable automatic GStreamer plugin installation via PackageKit and
3571 ;; all that.
a388c951
LC
3572 #:configure-flags '("--disable-easy-codec-installation"
3573
3574 ;; Do not build .a files for the plugins, it's
3575 ;; completely useless. This saves 2 MiB.
3576 "--disable-static")
ec5c24f9
LC
3577
3578 #:phases
4e3fc547
MW
3579 (modify-phases %standard-phases
3580 (add-after
3581 'install 'wrap-totem
3582 (lambda* (#:key inputs outputs #:allow-other-keys)
3583 (let ((out (assoc-ref outputs "out"))
3584 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
3585 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
3586 (wrap-program (string-append out "/bin/totem")
3587 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
3588 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))))
3589 #t)))))
3590 (home-page "https://wiki.gnome.org/Apps/Videos")
3591 (synopsis "Simple media player for GNOME based on GStreamer")
3592 (description "Totem is a simple yet featureful media player for GNOME
3593which can read a large number of file formats.")
3594 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
3595 ;; to be used and distributed together with GStreamer and Totem. See
3596 ;; file://COPYING in the source distribution for details.
3597 (license license:gpl2+)))
f0afb0c8
DH
3598
3599(define-public rhythmbox
3600 (package
3601 (name "rhythmbox")
4faa8abe 3602 (version "3.4.1")
f0afb0c8
DH
3603 (source (origin
3604 (method url-fetch)
3605 (uri (string-append "mirror://gnome/sources/" name "/"
3606 (version-major+minor version) "/"
3607 name "-" version ".tar.xz"))
3608 (sha256
3609 (base32
4faa8abe 3610 "1dj1hgdyhmwzs6h2zr89b1ipk0p6g7x74rfz56a5yjds3ik8d7q3"))))
f0afb0c8
DH
3611 (build-system glib-or-gtk-build-system)
3612 (arguments
3613 `(#:configure-flags
3614 (list "--enable-lirc"
3615 "--enable-python"
3616 "--enable-vala"
3617 "--with-brasero"
3618 "--with-gudev"
3619 "--with-libsecret")
3620 #:phases
3621 (modify-phases %standard-phases
3622 (add-after
3623 'install 'wrap-rhythmbox
3624 (lambda* (#:key inputs outputs #:allow-other-keys)
3625 (let ((out (assoc-ref outputs "out"))
3626 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
3627 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
3628 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
3629 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
3630 (wrap-program (string-append out "/bin/rhythmbox")
3631 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
3632 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
3633 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
3634 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
3635 #t)))))
3636 (propagated-inputs
3637 `(("dconf" ,dconf)))
3638 (native-inputs
bcb354ad
SB
3639 `(("itstool" ,itstool)
3640 ("intltool" ,intltool)
f0afb0c8
DH
3641 ("glib" ,glib "bin")
3642 ("gobject-introspection" ,gobject-introspection)
3643 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
3644 ("pkg-config" ,pkg-config)
3645 ("xmllint" ,libxml2)))
f0afb0c8
DH
3646 (inputs
3647 `(("json-glib" ,json-glib)
3648 ("tdb" ,tdb)
3649 ("gnome-desktop" ,gnome-desktop)
3650 ("python" ,python)
3651 ("python-pygobject" ,python2-pygobject)
3652 ("vala" ,vala)
3653 ("gmime" ,gmime)
3654 ("nettle" ,nettle)
f0afb0c8
DH
3655 ("adwaita-icon-theme" ,adwaita-icon-theme)
3656 ("grilo" ,grilo)
3657 ("grilo-plugins" ,grilo-plugins)
3658 ("gstreamer" ,gstreamer)
3659 ("gst-plugins-base" ,gst-plugins-base)
3660 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 3661 ("totem-pl-parser" ,totem-pl-parser)
ea226291 3662 ("libgudev" ,libgudev)
f0afb0c8
DH
3663 ;;("libmtp" ,libmtp) FIXME: Not detected
3664 ("libsecret" ,libsecret)
3665 ("libsoup" ,libsoup)
3666 ("libnotify" ,libnotify)
3667 ("libpeas" ,libpeas)
3668 ("lirc" ,lirc)
3669 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
3670 ;;("clutter" ,clutter)
3671 ;;("clutter-gtk" ,clutter-gtk)
3672 ;;("clutter-gst" ,clutter-gst)
3673 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3674 ("atk" ,atk)
3675 ("pango" ,pango)
3676 ("gtk+" ,gtk+)
3677 ;; TODO:
3678 ;; * libgpod
3679 ;; * mx
f0afb0c8
DH
3680 ("brasero" ,brasero)))
3681 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
3682 (synopsis "Music player for GNOME")
3683 (description "Rhythmbox is a music playing application for GNOME. It
3684supports playlists, song ratings, and any codecs installed through gstreamer.")
3685 (license license:gpl2+)))
f70d8383
DH
3686
3687(define-public eog
3688 (package
3689 (name "eog")
dc4b64ae 3690 (version "3.24.1")
f70d8383
DH
3691 (source (origin
3692 (method url-fetch)
3693 (uri (string-append "mirror://gnome/sources/" name "/"
3694 (version-major+minor version) "/"
3695 name "-" version ".tar.xz"))
3696 (sha256
3697 (base32
dc4b64ae 3698 "1rr7zy8afqgl15j1zz8l37svyv6bw4r3l04yf70zlnf1w8bf27pm"))))
f70d8383
DH
3699 (build-system glib-or-gtk-build-system)
3700 (arguments
3701 `(#:phases
3702 (modify-phases %standard-phases
3703 (add-after
3704 'install 'wrap-eog
3705 (lambda* (#:key outputs #:allow-other-keys)
3706 (let ((out (assoc-ref outputs "out"))
3707 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
3708 (wrap-program (string-append out "/bin/eog")
3709 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
3710 #t)))))
3711 (propagated-inputs
3712 `(("dconf" ,dconf)))
3713 (native-inputs
3714 `(("intltool" ,intltool)
b3546174 3715 ("itstool" ,itstool)
f70d8383
DH
3716 ("glib" ,glib "bin")
3717 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
3718 ("pkg-config" ,pkg-config)
3719 ("xmllint" ,libxml2)))
f70d8383
DH
3720 (inputs
3721 `(("gnome-desktop" ,gnome-desktop)
3722 ("shared-mime-info" ,shared-mime-info)
3723 ("adwaita-icon-theme" ,adwaita-icon-theme)
3724 ("exempi" ,exempi)
3725 ("lcms" ,lcms)
3726 ("libexif" ,libexif)
3727 ("libpeas" ,libpeas)
3728 ("libjpeg" ,libjpeg)
3729 ("librsvg" ,librsvg)
3730 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3731 ("gtk+" ,gtk+)))
3732 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
3733 (synopsis "GNOME image viewer")
3734 (description "Eye of GNOME is the GNOME image viewer. It
3735supports image conversion, rotation, and slideshows.")
3736 (license license:gpl2+)))
41af5e7b 3737
0c3f8cb8
LC
3738(define-public eog-plugins
3739 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
3740 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
3741 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
3742 ;; 'XDG_DATA_DIRS' appropriately set.
3743 (package
3744 (name "eog-plugins")
3745 (version "3.25.1")
3746 (source (origin
3747 (method url-fetch)
3748 (uri (string-append "mirror://gnome/sources/" name "/"
3749 (version-major+minor version) "/"
3750 name "-" version ".tar.xz"))
3751 (sha256
3752 (base32
3753 "0an04z8v83qa6j950rbwdzf1s86y7zd8h1r4p2x36fwbkk1m617q"))))
3754 (build-system gnu-build-system)
3755 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
3756 (synopsis "Extensions for the Eye of GNOME image viewer")
3757 (native-inputs
3758 `(("pkg-config" ,pkg-config)
3759 ("gettext" ,gnu-gettext)))
3760 (inputs
3761 `(("eog" ,eog)
3762 ("glib" ,glib)
3763 ("gtk+" ,gtk+)
3764 ("libpeas" ,libpeas)
3765 ("libexif" ,libexif)
3766 ("libchamplain" ,libchamplain)))
3767 (description
3768 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
3769notably:
3770
3771@itemize
3772@item @dfn{EXIF Display}, which displays camera (EXIF) information;
3773@item @dfn{Map}, which displays a map of where the picture was taken on the
3774side panel;
3775@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
3776@end itemize\n")
3777
3778 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
3779 ;; long suspicious byte stream that goes to a
3780 ;; ".gresource.eog_postasa_plugin" ELF section.
3781 (license license:gpl2+)))
3782
41af5e7b
SB
3783(define-public libgudev
3784 (package
3785 (name "libgudev")
3786 (version "230")
3787 (source (origin
3788 (method url-fetch)
3789 (uri (string-append "mirror://gnome/sources/" name "/"
3790 version "/" name "-" version ".tar.xz"))
3791 (sha256
3792 (base32
3793 "063w6j35n0i0ssmv58kivc1mw4070z6fzb83hi4xfrhcxnn7zrx2"))))
3794 (build-system gnu-build-system)
3795 (native-inputs
3796 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3797 ("gobject-introspection" ,gobject-introspection)
3798 ("pkg-config" ,pkg-config)))
3799 (propagated-inputs
3800 `(("glib" ,glib))) ; required by gudev-1.0.pc
3801 (inputs
3802 `(("udev" ,eudev)))
3803 (home-page "https://wiki.gnome.org/Projects/libgudev")
3804 (synopsis "GObject bindings for libudev")
3805 (description
3806 "This library provides GObject bindings for libudev. It was originally
3807part of udev-extras, then udev, then systemd. It's now a project on its own.")
3808 (license license:lgpl2.1+)))
3dc8828f
SB
3809
3810(define-public gvfs
3811 (package
3812 (name "gvfs")
8e8fefb6 3813 (version "1.32.1")
3dc8828f
SB
3814 (source (origin
3815 (method url-fetch)
3816 (uri (string-append "mirror://gnome/sources/" name "/"
3817 (version-major+minor version) "/"
3818 name "-" version ".tar.xz"))
3819 (sha256
3820 (base32
8e8fefb6 3821 "1pkahczniar1yyas7awcqpkb4ca8l7qa4msn6mr29m89mgnwkdnh"))))
3dc8828f
SB
3822 (build-system gnu-build-system)
3823 (arguments
3824 '(#:tests? #f)) ; XXX: requiring `pidof'
3825 (native-inputs
3826 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3827 ("intltool" ,intltool)
3828 ("pkg-config" ,pkg-config)
3829 ("xsltproc" ,libxslt)))
3830 (inputs
3831 `(("avahi" ,avahi)
3832 ("docbook-xml" ,docbook-xml-4.2)
3833 ("docbook-xsl" ,docbook-xsl)
3834 ("dbus" ,dbus)
3835 ("fuse" ,fuse)
24a78aa6 3836 ("gcr" ,gcr)
3dc8828f
SB
3837 ("glib" ,glib)
3838 ("libarchive" ,libarchive)
3839 ("libbluray" ,libbluray)
8852ca24 3840 ("libcap" ,libcap)
3dc8828f
SB
3841 ("libcdio-paranoia" ,libcdio-paranoia)
3842 ("libgcrypt" ,libgcrypt)
3843 ("libgphoto2" ,libgphoto2)
3844 ("libgudev" ,libgudev)
3845 ("libmtp" ,libmtp)
3846 ("libsecret" ,libsecret)
3847 ("libsmbclient" ,samba)
3848 ("libsoup" ,libsoup)
3849 ("libxml2" ,libxml2)
3850 ("nettle" ,nettle) ; XXX: required by libarchive.pc
8852ca24 3851 ("polkit" ,polkit)
3dc8828f
SB
3852 ("udisks" ,udisks)))
3853 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 3854 (synopsis "Userspace virtual file system for GIO")
3dc8828f 3855 (description
8f65585b 3856 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
3857abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
3858to all applications using the GIO API. It also supports exposing the GVFS
3859mounts to non-GIO applications using FUSE.
3860
3861GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
3862DAV, and others.")
3863 (license license:lgpl2.0+)))
7c88b6bd
AW
3864
3865(define-public gusb
3866 (package
3867 (name "gusb")
6b7d7e9b 3868 (version "0.2.9")
7c88b6bd
AW
3869 (source (origin
3870 (method url-fetch)
3871 (uri (string-append "https://github.com/hughsie/libgusb/archive/"
3872 "gusb_"
3873 (string-join (string-split version #\.)
3874 "_")
3875 ".tar.gz"))
3876 (sha256
3877 (base32
6b7d7e9b 3878 "1500mgpidmnjfkcz1fzqkbqv547iy1cvr8bwf3k9vqgqcjx3844n"))))
7c88b6bd
AW
3879 (build-system gnu-build-system)
3880 (native-inputs
3881 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3882 ("gobject-introspection" ,gobject-introspection)
3883 ("pkg-config" ,pkg-config)
3884 ("vala" ,vala)
3885 ("autoconf" ,autoconf)
3886 ("automake" ,automake)
3887 ("libtool" ,libtool)
3888 ("gtk-doc" ,gtk-doc)))
3889 (propagated-inputs
3890 ;; Both of these are required by gusb.pc.
3891 `(("glib" ,glib)
3892 ("libusb" ,libusb)))
3893 (arguments
3894 `(#:tests? #f ; libusb fails to initialize. Wonder what that is.
3895 #:phases
3896 (modify-phases %standard-phases
3897 (add-after 'unpack 'autogen
3898 (lambda _
3899 (and (zero? (system* "gtkdocize"))
3900 (zero? (system* "autoreconf" "-vif"))))))))
8f1640ed 3901 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 3902 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
3903 (description
3904 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
3905asynchronous control, bulk and interrupt transfers with proper cancellation
3906and integration into a mainloop. This makes it easy to integrate low level
3907USB transfers with your high-level application or system daemon.")
3908 (license license:lgpl2.1+)))
0abe1d86
AW
3909
3910(define-public simple-scan
3911 (package
3912 (name "simple-scan")
baca5333 3913 (version "3.24.1")
0abe1d86
AW
3914 (source (origin
3915 (method url-fetch)
3916 (uri (string-append "https://launchpad.net/simple-scan/"
3917 (version-major+minor version) "/"
3918 version "/+download/simple-scan-"
3919 version ".tar.xz"))
3920 (sha256
3921 (base32
baca5333 3922 "1czg21cdbd2fgqylxfnzfhhzy69gycf816d5bbaq6hb62hmq7bjy"))))
0abe1d86
AW
3923 (build-system glib-or-gtk-build-system)
3924 (inputs
3925 `(("gtk" ,gtk+)
3926 ("zlib" ,zlib)
3927 ("cairo" ,cairo)
3928 ("gdk-pixbuf" ,gdk-pixbuf)
3929 ("gusb" ,gusb)
4c928743 3930 ("libsane" ,sane-backends)))
0abe1d86 3931 (native-inputs
b94a6ca0 3932 `(("gettext" ,gettext-minimal)
0abe1d86
AW
3933 ("itstool" ,itstool)
3934 ("colord" ,colord)
3935 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
3936 ("pkg-config" ,pkg-config)
bcb354ad
SB
3937 ("vala" ,vala)
3938 ("xmllint" ,libxml2)))
fb9ca511
TGR
3939 (arguments
3940 '(#:configure-flags '("--disable-packagekit")
3941 #:phases
3942 (modify-phases %standard-phases
3943 (add-after 'unpack 'clean
3944 (lambda _
3945 ;; Remove a left-over reference to PackageKit.
3946
3947 ;; https://bugs.launchpad.net/simple-scan/+bug/1462769
3948
3949 ;; There are some generated C files erroneously
3950 ;; included in the source distribution, and this
3951 ;; one breaks the build by referring to a
3952 ;; non-existent header (packagekit.h)
3953 (delete-file "src/ui.c"))))))
0abe1d86
AW
3954 (home-page "https://launchpad.net/simple-scan")
3955 (synopsis "Document and image scanner")
3956 (description "Simple Scan is an easy-to-use application, designed to let
3957users connect their scanner and quickly have the image/document in an
3958appropriate format. Simple Scan is basically a frontend for SANE - which is
3959the same backend as XSANE uses. This means that all existing scanners will
3960work and the interface is well tested.")
3961 (license license:gpl3+)))
7549f984 3962
ab466d79
RW
3963(define-public eolie
3964 (package
3965 (name "eolie")
3966 (version "0.9.0")
3967 (source (origin
3968 (method url-fetch)
3969 (uri (string-append "https://github.com/gnumdk/eolie/"
3970 "releases/download/"
3971 (version-major+minor version)
3972 "/eolie-" version ".tar.xz"))
3973 (sha256
3974 (base32
3975 "1lb3rd2as12vq24fcf9nmlhggf8vka3kli2i92i8iylwi7nq5n2a"))))
3976 (build-system glib-or-gtk-build-system)
3977 (arguments
3978 `(#:modules ((guix build glib-or-gtk-build-system)
3979 (guix build utils)
3980 (ice-9 match))
3981 #:phases
3982 (modify-phases %standard-phases
3983 (add-after 'wrap 'wrap-more
3984 (lambda* (#:key inputs outputs #:allow-other-keys)
3985 (let* ((out (assoc-ref outputs "out"))
3986 ;; These libraries must be on LD_LIBRARY_PATH.
3987 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
3988 "atk" "gtk+" "gsettings-desktop-schemas"
3989 "gobject-introspection"))
3990 (path (string-join
3991 (map (lambda (lib)
3992 (string-append (assoc-ref inputs lib) "/lib"))
3993 libs)
3994 ":")))
3995 (wrap-program (string-append out "/bin/eolie")
3996 `("LD_LIBRARY_PATH" ":" prefix (,path))
3997 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
3998 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
3999 #t)))))
4000 (native-inputs
4001 `(("intltool" ,intltool)
4002 ("itstool" ,itstool)
4003 ("pkg-config" ,pkg-config)))
4004 (inputs
4005 `(("gobject-introspection" ,gobject-introspection)
4006 ("glib-networking" ,glib-networking)
4007 ("cairo" ,cairo)
4008 ("gtk+" ,gtk+)
4009 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
4010 ("python" ,python-wrapper)
4011 ("python-pygobject" ,python-pygobject)
4012 ("python-pycairo" ,python-pycairo)
4013 ("libsecret" ,libsecret)
4014 ("gtkspell3" ,gtkspell3)
4015 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4016 ("webkitgtk" ,webkitgtk)))
4017 (home-page "https://github.com/gnumdk/eolie/")
4018 (synopsis "Web browser for GNOME")
4019 (description
4020 "Eolie is a new web browser for GNOME. It features Firefox sync support,
4021a secret password store, an adblocker, and a modern UI.")
4022 (license license:gpl3+)))
4023
7549f984
SB
4024(define-public epiphany
4025 (package
4026 (name "epiphany")
02605195 4027 (version "3.24.3")
7549f984
SB
4028 (source (origin
4029 (method url-fetch)
4030 (uri (string-append "mirror://gnome/sources/" name "/"
4031 (version-major+minor version) "/"
4032 name "-" version ".tar.xz"))
4033 (sha256
4034 (base32
02605195 4035 "0m51cclpnb7lxk8w526rriyb2bi3aj17fbcvikhkg7qd65v1dxgy"))))
7549f984
SB
4036 (build-system glib-or-gtk-build-system)
4037 (arguments
4038 ;; FIXME: tests run under Xvfb, but fail with:
4039 ;; /src/bookmarks/ephy-bookmarks/create:
4040 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
4041 ;; subsystem
4042 ;; FAIL
6f48d9db
MW
4043 '(#:tests? #f
4044 #:configure-flags '("CFLAGS=-std=gnu99")))
80a747c4
SB
4045 (propagated-inputs
4046 `(("dconf" ,dconf)))
7549f984
SB
4047 (native-inputs
4048 `(("intltool" ,intltool)
4049 ("itstool" ,itstool)
bcb354ad
SB
4050 ("pkg-config" ,pkg-config)
4051 ("xmllint" ,libxml2)))
7549f984
SB
4052 (inputs
4053 `(("avahi" ,avahi)
4054 ("gcr" ,gcr)
0e5c9cf5 4055 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
7549f984
SB
4056 ("glib-networking" ,glib-networking)
4057 ("gnome-desktop" ,gnome-desktop)
4058 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 4059 ("json-glib" ,json-glib)
7549f984
SB
4060 ("iso-codes" ,iso-codes)
4061 ("libnotify" ,libnotify)
4062 ("libsecret" ,libsecret)
7549f984 4063 ("libxslt" ,libxslt)
7549f984
SB
4064 ("sqlite" ,sqlite)
4065 ("webkitgtk" ,webkitgtk)))
4066 (home-page "https://wiki.gnome.org/Apps/Web")
4067 (synopsis "GNOME web browser")
4068 (description
4069 "Epiphany is a GNOME web browser targeted at non-technical users. Its
4070principles are simplicity and standards compliance.")
4071 (license license:gpl2+)))
a3856b2c
SB
4072
4073(define-public d-feet
4074 (package
4075 (name "d-feet")
7d04b13c 4076 (version "0.3.11")
a3856b2c
SB
4077 (source (origin
4078 (method url-fetch)
4079 (uri (string-append "mirror://gnome/sources/" name "/"
4080 (version-major+minor version) "/"
4081 name "-" version ".tar.xz"))
4082 (sha256
4083 (base32
7d04b13c 4084 "1hmrijm4d9vwzx2r8qzzsy8ccpj79l1y6cc569n9jjzqcq699p53"))))
a3856b2c
SB
4085 (build-system glib-or-gtk-build-system)
4086 (arguments
4087 '(#:out-of-source? #f ; tests need to run in the source directory.
4088 #:phases
4089 (modify-phases %standard-phases
4090 (add-before
4091 'check 'pre-check
86aff791 4092 (lambda _
a3856b2c
SB
4093 ;; The test suite requires a running X server.
4094 (system "Xvfb :1 &")
4095 (setenv "DISPLAY" ":1")
4096 ;; Don't fail on missing '/etc/machine-id'.
4097 (setenv "DBUS_FATAL_WARNINGS" "0")
4098 ;; tests.py and window.py don't meet E402:
4099 ;; E402 module level import not at top of file
4100 (substitute* "src/tests/Makefile"
86aff791
MW
4101 (("--ignore=E123") "--ignore=E123,E402"))
4102 #t))
a3856b2c
SB
4103 (add-after
4104 'install 'wrap-program
4105 (lambda* (#:key outputs #:allow-other-keys)
4106 (let ((prog (string-append (assoc-ref outputs "out")
4107 "/bin/d-feet")))
4108 (wrap-program prog
4109 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
4110 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
4111 #t))))))
a3856b2c
SB
4112 (native-inputs
4113 `(("intltool" ,intltool)
4114 ("itstool" ,itstool)
4115 ("pkg-config" ,pkg-config)
4116 ("python-pep8" ,python-pep8)
4117 ("xmllint" ,libxml2)
4118 ("xorg-server" ,xorg-server)))
4119 (inputs
4120 `(("gobject-introspection" ,gobject-introspection)
4121 ("gtk+" ,gtk+)
4122 ("python" ,python-wrapper)
4123 ("python-pygobject" ,python-pygobject)))
4124 (home-page "https://wiki.gnome.org/Apps/DFeet")
4125 (synopsis "D-Bus debugger")
4126 (description
4127 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
4128of running programs and invoke methods on those interfaces.")
4129 (license license:gpl2+)))
c3b97bd9
SB
4130
4131(define-public yelp-xsl
4132 (package
4133 (name "yelp-xsl")
27ad5743 4134 (version "3.20.1")
c3b97bd9
SB
4135 (source (origin
4136 (method url-fetch)
4137 (uri (string-append "mirror://gnome/sources/" name "/"
4138 (version-major+minor version) "/"
4139 name "-" version ".tar.xz"))
4140 (sha256
4141 (base32
27ad5743 4142 "183vz4aw8fcmw8k8q7r4zrm1p76gwg2cca1fsdrkaiyabng88qfw"))))
c3b97bd9
SB
4143 (build-system gnu-build-system)
4144 (native-inputs
4145 `(("intltool" ,intltool)
4146 ("itstool" ,itstool)
4147 ("xmllint" ,libxml2)))
4148 (home-page "https://wiki.gnome.org/Apps/Yelp")
4149 (synopsis "XSL stylesheets for Yelp")
4150 (description
4151 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
4152to format Docbook and Mallard documents.")
4153 (license license:gpl2+)))
de3d612a
SB
4154
4155(define-public yelp
4156 (package
4157 (name "yelp")
491cc0dc 4158 (version "3.22.0")
de3d612a
SB
4159 (source (origin
4160 (method url-fetch)
4161 (uri (string-append "mirror://gnome/sources/" name "/"
4162 (version-major+minor version) "/"
4163 name "-" version ".tar.xz"))
4164 (sha256
4165 (base32
491cc0dc 4166 "13kpi0qmnfx2xwizyhmf5i5xaw9ckcn1k7v0289p7als4dybf5l6"))))
de3d612a
SB
4167 (build-system glib-or-gtk-build-system)
4168 (native-inputs
4169 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
4170 ("intltool" ,intltool)
4171 ("itstool" ,itstool)
4172 ("pkg-config" ,pkg-config)))
4173 (propagated-inputs
4174 `(("dconf" ,dconf)))
4175 (inputs
ad1b7d8b
SB
4176 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4177 ("libxslt" ,libxslt)
de3d612a 4178 ("sqlite" ,sqlite)
4c28ca1d
SB
4179 ("webkitgtk" ,webkitgtk)
4180 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
4181 (home-page "https://wiki.gnome.org/Apps/Yelp")
4182 (synopsis "GNOME help browser")
4183 (description
4184 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
4185man, info, and HTML documents. It can locate documents according to the
4186freedesktop.org help system specification.")
4187 (license license:gpl2+)))
122d0d10
SB
4188
4189(define-public yelp-tools
4190 (package
4191 (name "yelp-tools")
50695955 4192 (version "3.18.0")
122d0d10
SB
4193 (source (origin
4194 (method url-fetch)
4195 (uri (string-append "mirror://gnome/sources/" name "/"
4196 (version-major+minor version) "/"
4197 name "-" version ".tar.xz"))
4198 (sha256
4199 (base32
50695955 4200 "0ck9f78c1xka8a823bd7w1k0gdn4k19zvaj7viy2d5r3h1gxdhf6"))))
122d0d10
SB
4201 (build-system gnu-build-system)
4202 (native-inputs
4203 `(("pkg-config" ,pkg-config)))
4204 (propagated-inputs
4205 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
4206 `(("itstool" ,itstool)
4207 ("xmllint" ,libxml2)
4208 ("xsltproc" ,libxslt)))
4209 (inputs
4210 `(("yelp-xsl" ,yelp-xsl)))
4211 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
4212 (synopsis "Yelp documentation tools")
4213 (description
4214 "Yelp-tools is a collection of scripts and build utilities to help create,
4215manage, and publish documentation for Yelp and the web. Most of the heavy
4216lifting is done by packages like yelp-xsl and itstool. This package just
4217wraps things up in a developer-friendly way.")
4218 (license license:gpl2+)))
af8f9f23
RW
4219
4220(define-public libgee
4221 (package
4222 (name "libgee")
afd8e16b 4223 (version "0.20.0")
af8f9f23
RW
4224 (source (origin
4225 (method url-fetch)
4226 (uri (string-append "mirror://gnome/sources/" name "/"
4227 (version-major+minor version) "/"
4228 name "-" version ".tar.xz"))
4229 (sha256
4230 (base32
afd8e16b 4231 "1fy24dr8imrjlmsqj1syn0gi139gba6hwk3j5vd6sr3pxniqnc11"))))
af8f9f23
RW
4232 (build-system gnu-build-system)
4233 (arguments
4234 `(#:phases
4235 (modify-phases %standard-phases
4236 (add-after 'unpack 'fix-introspection-install-dir
4237 (lambda* (#:key outputs #:allow-other-keys)
4238 (let ((out (assoc-ref outputs "out")))
4239 (substitute* "gee/Makefile.in"
4240 (("@INTROSPECTION_GIRDIR@")
4241 (string-append out "/share/gir-1.0/"))
4242 (("@INTROSPECTION_TYPELIBDIR@")
4243 (string-append out "/lib/girepository-1.0/")))))))))
4244 (native-inputs
4245 `(("glib" ,glib "bin")
4246 ("pkg-config" ,pkg-config)))
4247 (inputs
4248 `(("glib" ,glib)
4249 ("gobject-introspection" ,gobject-introspection)))
4250 (home-page "https://wiki.gnome.org/Projects/Libgee")
4251 (synopsis "GObject collection library")
4252 (description
4253 "Libgee is a utility library providing GObject-based interfaces and
4254classes for commonly used data structures.")
4255 (license license:lgpl2.1+)))
b0f9c4b8
RW
4256
4257(define-public gexiv2
4258 (package
4259 (name "gexiv2")
b7c0c756 4260 (version "0.10.6")
b0f9c4b8
RW
4261 (source (origin
4262 (method url-fetch)
4263 (uri (string-append "mirror://gnome/sources/" name "/"
4264 (version-major+minor version) "/"
4265 name "-" version ".tar.xz"))
4266 (sha256
4267 (base32
b7c0c756 4268 "09aqsnpah71p9gx0ap2px2dyanrs7jmkkar6q114n9b7js8qh9qk"))))
b0f9c4b8
RW
4269 (build-system gnu-build-system)
4270 (native-inputs
4271 `(("glib" ,glib "bin")
4272 ("pkg-config" ,pkg-config)))
4273 (propagated-inputs
4274 ;; Listed in "Requires" section of gexiv2.pc
4275 `(("exiv2" ,exiv2)))
4276 (inputs
4277 `(("glib" ,glib)
4278 ("gobject-introspection" ,gobject-introspection)))
4279 (home-page "https://wiki.gnome.org/Projects/gexiv2")
4280 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
4281 (description
4282 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
4283allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
4284metadata in photo and video files of various formats.")
4285 (license license:gpl2+)))
fed5a689
RW
4286
4287(define-public shotwell
4288 (package
4289 (name "shotwell")
69d06748 4290 (version "0.26.3")
fed5a689
RW
4291 (source (origin
4292 (method url-fetch)
4293 (uri (string-append "mirror://gnome/sources/" name "/"
4294 (version-major+minor version) "/"
4295 name "-" version ".tar.xz"))
4296 (sha256
4297 (base32
69d06748 4298 "1r8fd63r7c5n99hwrkzv9jlrk84z4sa15q3h70pydzfjnfqf90zv"))))
fed5a689 4299 (build-system glib-or-gtk-build-system)
735b8db6
TGR
4300 (propagated-inputs
4301 `(("dconf" ,dconf)))
fed5a689
RW
4302 (native-inputs
4303 `(("pkg-config" ,pkg-config)
f819c21d 4304 ("itstool" ,itstool)
b94a6ca0 4305 ("gettext" ,gettext-minimal)
77e9c993 4306 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
735b8db6
TGR
4307 ("itstool" ,itstool)
4308 ("vala" ,vala)))
fed5a689 4309 (inputs
735b8db6
TGR
4310 `(("glib:bin" ,glib "bin")
4311 ("gstreamer" ,gstreamer)
fed5a689 4312 ("gst-plugins-base" ,gst-plugins-base)
dfb0323d 4313 ("libgdata" ,libgdata)
fed5a689
RW
4314 ("libgee" ,libgee)
4315 ("gexiv2" ,gexiv2)
4316 ("libraw" ,libraw)
4317 ("json-glib" ,json-glib)
7108425c 4318 ("webkitgtk" ,webkitgtk)
fed5a689
RW
4319 ("sqlite" ,sqlite)
4320 ("libsoup" ,libsoup)
4321 ("libxml2" ,libxml2)
fed5a689 4322 ("libgudev" ,libgudev)
522fc32e
LF
4323 ("libgphoto2" ,libgphoto2)
4324 ("gcr" ,gcr)))
fed5a689
RW
4325 (home-page "https://wiki.gnome.org/Apps/Shotwell")
4326 (synopsis "Photo manager for GNOME 3")
4327 (description
4328 "Shotwell is a digital photo manager designed for the GNOME desktop
4329environment. It allows you to import photos from disk or camera, organize
4330them by keywords and events, view them in full-window or fullscreen mode, and
4331share them with others via social networking and more.")
4332 (license license:lgpl2.1+)))
293ff8b2
DT
4333
4334(define-public file-roller
4335 (package
4336 (name "file-roller")
e62a38d4 4337 (version "3.24.1")
293ff8b2
DT
4338 (source (origin
4339 (method url-fetch)
4340 (uri (string-append "mirror://gnome/sources/" name "/"
4341 (version-major+minor version) "/"
4342 name "-" version ".tar.xz"))
4343 (sha256
4344 (base32
e62a38d4 4345 "0fkz9h9a6149crmf6311fsqlmv9wyrxk86470vxib941ppl4a581"))))
293ff8b2 4346 (build-system glib-or-gtk-build-system)
c282c55d
SB
4347 (arguments
4348 '(#:phases
4349 (modify-phases %standard-phases
4350 (add-before 'install 'skip-gtk-update-icon-cache
4351 (lambda _
4352 ;; Don't create 'icon-theme.cache'
4353 (substitute* (find-files "data" "^Makefile$")
4354 (("gtk-update-icon-cache") (which "true")))
4355 #t)))))
293ff8b2
DT
4356 (native-inputs
4357 `(("intltool" ,intltool)
4358 ("pkg-config" ,pkg-config)))
4359 ;; TODO: Add libnautilus.
4360 (inputs
4361 `(("gtk+" ,gtk+)
4362 ("gdk-pixbuf" ,gdk-pixbuf)
4363 ("json-glib" ,json-glib)
4364 ("libarchive" ,libarchive)
4365 ("libnotify" ,libnotify)
4366 ("nettle" ,nettle)
4367 ("itstool" ,itstool)
4368 ("libxml2" ,libxml2)))
4369 (synopsis "Graphical archive manager for GNOME")
4370 (description "File Roller is an archive manager for the GNOME desktop
4371environment that allows users to view, unpack, and create compressed archives
4372such as gzip tarballs.")
4373 (home-page "http://fileroller.sourceforge.net/")
4374 (license license:gpl2+)))
7ce49365
SB
4375
4376(define-public gnome-session
4377 (package
4378 (name "gnome-session")
17cf06c3 4379 (version "3.24.1")
7ce49365
SB
4380 (source (origin
4381 (method url-fetch)
4382 (uri (string-append "mirror://gnome/sources/" name "/"
4383 (version-major+minor version) "/"
4384 name "-" version ".tar.xz"))
4385 (sha256
4386 (base32
17cf06c3 4387 "1vkfjsgks9czajivcg3y1krzlnilv2cnzzbdc7wrasrriqilji1v"))))
2914af3c
AW
4388 (arguments
4389 '(#:phases
4390 (modify-phases %standard-phases
4391 (add-before 'configure 'pre-configure
4392 (lambda* (#:key outputs #:allow-other-keys)
4393 ;; Use elogind instead of systemd.
4394 (substitute* "configure"
4395 (("libsystemd-login >= 183 libsystemd-daemon libsystemd-journal")
4396 "libelogind")
4397 (("systemd") "elogind"))
4398 (substitute* "gnome-session/gsm-systemd.c"
4399 (("#include <systemd/sd-login.h>")
4400 "#include <elogind/sd-login.h>"))
4401 ;; Remove uses of the systemd journal.
4402 (substitute* "gnome-session/main.c"
4403 (("#ifdef HAVE_SYSTEMD") "#if 0"))
4404 (substitute* "gnome-session/gsm-manager.c"
4405 (("#ifdef HAVE_SYSTEMD") "#if 0"))
803ab416
SB
4406 (substitute* "gnome-session/gsm-autostart-app.c"
4407 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
4408 #t))
4409 (add-after 'install 'wrap-gnome-session
4410 (lambda* (#:key inputs outputs #:allow-other-keys)
4411 ;; Make sure 'gnome-session' finds the 'gsettings' program.
4412 (let ((glib (assoc-ref inputs "glib:bin"))
4413 (out (assoc-ref outputs "out")))
4414 (wrap-program (string-append out "/bin/gnome-session")
4415 `("PATH" ":" prefix (,(string-append glib "/bin"))))
6cbc8d57
LC
4416 #t)))
4417 (add-after 'install 'disable-hardware-acceleration-check
4418 (lambda* (#:key outputs #:allow-other-keys)
4419 ;; Do not abort if hardware acceleration is missing. This allows
4420 ;; GNOME to run in QEMU and on low-end devices.
4421 (let ((out (assoc-ref outputs "out")))
4422 (substitute* (string-append out
4423 "/share/xsessions/gnome.desktop")
4424 (("gnome-session")
4425 "gnome-session --disable-acceleration-check"))
a0d7baaf 4426 #t))))
6cbc8d57 4427
2914af3c
AW
4428 #:configure-flags
4429 '("--enable-elogind")))
ba3cb5ab 4430 (build-system glib-or-gtk-build-system)
7ce49365
SB
4431 (native-inputs
4432 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4433 ("pkg-config" ,pkg-config)
4434 ("intltool" ,intltool)
4435 ("xsltproc" ,libxslt)))
4436 (inputs
2914af3c
AW
4437 `(("elogind" ,elogind)
4438 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 4439 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
4440 ("gtk+" ,gtk+)
4441 ("json-glib" ,json-glib)
4442 ("libsm" ,libsm)
4443 ("libxcomposite" ,libxcomposite)
4444 ("libxtst" ,libxtst)
4445 ("mesa" ,mesa)
4446 ("upower" ,upower)
4447 ("xtrans" ,xtrans)))
4448 (synopsis "Session manager for GNOME")
4449 (description
4450 "This package contains the GNOME session manager, as well as a
4451configuration program to choose applications starting on login.")
4452 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
4453 (license license:gpl2+)))
f47ba77e
SB
4454
4455(define-public gjs
4456 (package
4457 (name "gjs")
9d086c07 4458 (version "1.48.6")
f47ba77e
SB
4459 (source (origin
4460 (method url-fetch)
4461 (uri (string-append "mirror://gnome/sources/" name "/"
4462 (version-major+minor version) "/"
4463 name "-" version ".tar.xz"))
4464 (sha256
4465 (base32
9d086c07 4466 "04nkig077r7xq55dxg9v46w8i7p8zkkdyja92yv81grq9fx6apz8"))))
f47ba77e
SB
4467 (build-system gnu-build-system)
4468 (arguments
4469 '(#:phases
4470 (modify-phases %standard-phases
4471 (add-before
4472 'check 'pre-check
4473 (lambda _
fc119619
MW
4474 ;; The test suite requires a running X server.
4475 (system "Xvfb :1 &")
4476 (setenv "DISPLAY" ":1")
4477
f47ba77e
SB
4478 ;; For the missing /etc/machine-id.
4479 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 4480
144f94d0
KK
4481 ;; Our mozjs-38 package does not compile the required Intl API
4482 ;; support for these failing tests.
4483 (substitute* "installed-tests/js/testLocale.js"
4484 ((".*toBeDefined.*") "")
4485 ((".*expect\\(datestr\\).*") ""))
f47ba77e
SB
4486 #t)))))
4487 (native-inputs
4488 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
4489 ("pkg-config" ,pkg-config)
4490 ("xmllint" ,libxml2)
4491 ;; For testing
4492 ("dbus-launch" ,dbus)
4493 ("uuidgen" ,util-linux)
4494 ("xvfb" ,xorg-server)))
4495 (propagated-inputs
4496 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
4497 `(("cairo" ,cairo)
4498 ("gobject-introspection" ,gobject-introspection)
4499 ("mozjs" ,mozjs-38)))
f47ba77e
SB
4500 (inputs
4501 `(("gtk+" ,gtk+)
4502 ("readline" ,readline)))
4503 (synopsis "Javascript bindings for GNOME")
f032d0be 4504 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
4505 (description
4506 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
4507javascript engine and the GObject introspection framework.")
4508 (license license:gpl2+)))
329d731b
DH
4509
4510(define-public gedit
4511 (package
4512 (name "gedit")
e3705bb6 4513 (version "3.22.1")
329d731b
DH
4514 (source (origin
4515 (method url-fetch)
4516 (uri (string-append "mirror://gnome/sources/" name "/"
4517 (version-major+minor version) "/"
4518 name "-" version ".tar.xz"))
4519 (sha256
4520 (base32
e3705bb6 4521 "0as9r5zvnyrxh699q6jnd0p9ddqy5qamfbxggpdjzagzixhw6yxa"))))
329d731b
DH
4522 (build-system glib-or-gtk-build-system)
4523 (arguments
0d2df50c 4524 `(#:phases
329d731b
DH
4525 (modify-phases %standard-phases
4526 (add-after
4527 'install 'wrap-gedit
4528 (lambda* (#:key inputs outputs #:allow-other-keys)
4529 (let ((out (assoc-ref outputs "out"))
4530 (gtksourceview (assoc-ref inputs "gtksourceview"))
afc25242
SB
4531 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4532 (python-path (getenv "PYTHONPATH")))
329d731b 4533 (wrap-program (string-append out "/bin/gedit")
afc25242 4534 ;; For plugins.
329d731b 4535 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
afc25242 4536 `("PYTHONPATH" ":" prefix (,python-path))
329d731b
DH
4537 ;; For language-specs.
4538 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
4539 "/share")))))
4540 #t)))))
4541 (propagated-inputs
4542 `(("dconf" ,dconf)))
4543 (native-inputs
4544 `(("intltool" ,intltool)
b3546174 4545 ("itstool" ,itstool)
329d731b
DH
4546 ("gobject-introspection" ,gobject-introspection)
4547 ("pkg-config" ,pkg-config)))
4548 (inputs
4549 `(("glib" ,glib)
0d2df50c 4550 ("gspell" ,gspell)
329d731b
DH
4551 ("gtk+" ,gtk+)
4552 ("gtksourceview" ,gtksourceview)
4553 ("libpeas" ,libpeas)
4554 ("libxml2" ,libxml2)
329d731b
DH
4555 ("iso-codes" ,iso-codes)
4556 ("python-pygobject" ,python-pygobject)
4557 ("python" ,python)
4558 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4559 ("libx11" ,libx11)
4560 ("vala" ,vala)
4561 ("adwaita-icon-theme" ,adwaita-icon-theme)
4562 ("libsoup" ,libsoup)
4563 ("gnome-desktop" ,gnome-desktop)))
4564 (home-page "https://wiki.gnome.org/Apps/Gedit")
4565 (synopsis "GNOME text editor")
4566 (description "While aiming at simplicity and ease of use, gedit is a
4567powerful general purpose text editor.")
4568 (license license:gpl2+)))
b7179363
SB
4569
4570(define-public zenity
4571 (package
4572 (name "zenity")
380cb96e 4573 (version "3.24.0")
b7179363
SB
4574 (source (origin
4575 (method url-fetch)
4576 (uri (string-append "mirror://gnome/sources/" name "/"
4577 (version-major+minor version) "/"
4578 name "-" version ".tar.xz"))
4579 (sha256
4580 (base32
380cb96e 4581 "1xzpm63cib2xzr99phplhbcjzy7lahggk3gp60dvrrclxhka1w3g"))))
b7179363
SB
4582 (build-system gnu-build-system)
4583 (native-inputs
b94a6ca0 4584 `(("gettext" ,gettext-minimal)
b7179363
SB
4585 ("itstool" ,itstool)
4586 ("pkg-config" ,pkg-config)))
4587 (inputs
4588 `(("libnotify" ,libnotify)
4589 ("webkitgtk" ,webkitgtk)))
4590 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 4591 (home-page "https://www.gnome.org")
b7179363
SB
4592 (description
4593 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
4594to display dialog boxes from the commandline and shell scripts.")
4595 (license license:lgpl2.0+)))
60c3627c
SB
4596
4597(define-public mutter
4598 (package
4599 (name "mutter")
a51fc34c 4600 (version "3.24.4")
60c3627c 4601 (source (origin
86c44e72
KK
4602 (method url-fetch)
4603 (uri (string-append "mirror://gnome/sources/" name "/"
4604 (version-major+minor version) "/"
4605 name "-" version ".tar.xz"))
60c3627c
SB
4606 (sha256
4607 (base32
a51fc34c 4608 "1slspy5krbqfvnma72lvdnxjf8ag2cvxssa8bvi7y3xxy7xv603k"))))
86c44e72
KK
4609 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
4610 ;; versions of cogl and clutter. As a result, many of the inputs,
4611 ;; propagated-inputs, and configure flags used in cogl and clutter are
4612 ;; needed here as well.
60c3627c
SB
4613 (build-system gnu-build-system)
4614 (arguments
4615 '(#:configure-flags
4616 ;; XXX: build fails with [-Werror]:
4617 ;; backends/meta-cursor-renderer.c:112:5: error:
4618 ;; implicit declaration of function ?roundf?
a88d5a0c
MW
4619 (list "--enable-compile-warnings=minimum"
4620
86c44e72 4621 "--enable-native-backend"
a88d5a0c
MW
4622
4623 ;; The following flags are needed for the bundled clutter
4624 "--enable-x11-backend=yes"
4625
4626 ;; the remaining flags are needed for the bundled cogl
4627 "--enable-cogl-gst"
4628 (string-append "--with-gl-libname="
4629 (assoc-ref %build-inputs "mesa")
f23052a6
DC
4630 "/lib/libGL.so"))
4631 #:phases
4632 (modify-phases %standard-phases
86c44e72
KK
4633 ;; Replace references to systemd libraries to elogind references.
4634 (add-before 'configure 'use-elogind
4635 (lambda _
4636 (substitute* (list "configure"
4637 "src/backends/native/meta-launcher.c"
4638 "src/core/main.c")
4639 (("systemd") "elogind"))
4640 #t)))))
60c3627c
SB
4641 (native-inputs
4642 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4643 ("gobject-introspection" ,gobject-introspection)
4644 ("intltool" ,intltool)
f23052a6
DC
4645 ("pkg-config" ,pkg-config)
4646 ;; For git build
4647 ("autoconf" ,autoconf)
4648 ("automake" ,automake)
4649 ("libtool" ,libtool)))
60c3627c 4650 (propagated-inputs
a88d5a0c
MW
4651 `(;; libmutter.pc refers to these:
4652 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4653 ("gtk+" ,gtk+)
4654 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
4655 ("atk" ,atk)
4656 ("cairo" ,cairo)
4657 ("gdk-pixbuf" ,gdk-pixbuf)
4658 ("glib" ,glib)
4659 ("glib" ,glib)
60c3627c 4660 ("gtk+" ,gtk+)
a88d5a0c
MW
4661 ("json-glib" ,json-glib)
4662 ("libinput" ,libinput)
4663 ("libx11" ,libx11)
4664 ("libxcomposite" ,libxcomposite)
4665 ("libxdamage" ,libxdamage)
4666 ("libxext" ,libxext)
4667 ("libxfixes" ,libxfixes)
4668 ("libxkbcommon" ,libxkbcommon)
4669 ("libxrandr" ,libxrandr)
4670 ("mesa" ,mesa)
4671 ("pango" ,pango)
4672 ("udev" ,eudev)
a88d5a0c 4673 ("xinput" ,xinput)))
60c3627c 4674 (inputs
86c44e72
KK
4675 `(("elogind" ,elogind)
4676 ("gnome-desktop" ,gnome-desktop)
60c3627c 4677 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 4678 ("libgudev" ,libgudev)
60c3627c
SB
4679 ("libice" ,libice)
4680 ("libsm" ,libsm)
60c3627c 4681 ("libxkbfile" ,libxkbfile)
a88d5a0c 4682 ("libxrandr" ,libxrandr)
86c44e72 4683 ("libxtst" ,libxtst)
60c3627c
SB
4684 ("startup-notification" ,startup-notification)
4685 ("upower-glib" ,upower)
4686 ("xkeyboard-config" ,xkeyboard-config)
4687 ("zenity" ,zenity)))
4688 (synopsis "Window and compositing manager")
f032d0be 4689 (home-page "https://www.gnome.org")
60c3627c
SB
4690 (description
4691 "Mutter is a window and compositing manager that displays and manages your
4692desktop via OpenGL. Mutter combines a sophisticated display engine using the
4693Clutter toolkit with solid window-management logic inherited from the Metacity
4694window manager.")
86c44e72 4695 (license license:gpl2+)))
685cee87
SB
4696
4697(define-public gnome-online-accounts
4698 (package
4699 (name "gnome-online-accounts")
666901b2 4700 (version "3.24.2")
685cee87
SB
4701 (source (origin
4702 (method url-fetch)
4703 (uri (string-append "mirror://gnome/sources/" name "/"
4704 (version-major+minor version) "/"
4705 name "-" version ".tar.xz"))
4706 (sha256
4707 (base32
666901b2 4708 "1fmgywfcvlb5sa0slxxlg80gafiaal8vnq6h5lcybqa12lnxa2mp"))))
685cee87
SB
4709 (build-system glib-or-gtk-build-system)
4710 (native-inputs
4711 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4712 ("gobject-introspection" ,gobject-introspection)
4713 ("intltool" ,intltool)
4714 ("pkg-config" ,pkg-config)
4715 ("xsltproc" ,libxslt)))
4716 (propagated-inputs
4717 `(("glib" ,glib) ; required by goa-1.0.pc
4718 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
4719 (inputs
4720 `(("docbook-xsl" ,docbook-xsl)
4721 ("json-glib" ,json-glib)
4722 ("libsecret" ,libsecret)
4723 ("rest" ,rest)
4724 ("telepathy-glib" ,telepathy-glib)
4725 ("webkitgtk" ,webkitgtk)))
4726 (synopsis "Single sign-on framework for GNOME")
4727 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
4728 (description
4729 "GNOME Online Accounts provides interfaces so that applications and
4730libraries in GNOME can access the user's online accounts. It has providers for
4731Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
4732Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
4733 (license license:lgpl2.0+)))
df217748
SB
4734
4735(define-public evolution-data-server
4736 (package
4737 (name "evolution-data-server")
07cabcb1 4738 (version "3.24.3")
df217748
SB
4739 (source (origin
4740 (method url-fetch)
4741 (uri (string-append "mirror://gnome/sources/" name "/"
4742 (version-major+minor version) "/"
4743 name "-" version ".tar.xz"))
4744 (sha256
4745 (base32
07cabcb1 4746 "1jj1q81bl3r0c8rnsfqi83igqlprzdcjim1fvygbyfy7b8gigqqk"))))
743aebd7 4747 (build-system cmake-build-system)
df217748 4748 (arguments
743aebd7 4749 '(;; XXX FIXME: 11/85 tests are failing.
df217748
SB
4750 #:tests? #f
4751 #:configure-flags
743aebd7
MB
4752 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
4753 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
4754 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
4755 "-DENABLE_VALA_BINDINGS=ON"
4756 "-DENABLE_INTROSPECTION=ON") ;required for Vala bindings
df217748
SB
4757 #:phases
4758 (modify-phases %standard-phases
743aebd7 4759 (add-after 'unpack 'patch-paths
df217748
SB
4760 (lambda _
4761 (substitute* "tests/test-server-utils/e-test-server-utils.c"
4762 (("/bin/rm") (which "rm")))
4763 #t)))))
4764 (native-inputs
4765 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4766 ("gobject-introspection" ,gobject-introspection)
4767 ("gperf" ,gperf)
4768 ("intltool" ,intltool)
4769 ("pkg-config" ,pkg-config)
a73c1cf8 4770 ("vala" ,vala)
743aebd7 4771 ("python" ,python-wrapper)))
df217748
SB
4772 (propagated-inputs
4773 ;; These are all in the Requires field of .pc files.
4774 `(("gtk+" ,gtk+)
4775 ("libical" ,libical)
4776 ("libsecret" ,libsecret)
4777 ("libsoup" ,libsoup)
4778 ("nss" ,nss)
4779 ("sqlite" ,sqlite)))
4780 (inputs
4781 `(("bdb" ,bdb)
4782 ("gcr" ,gcr)
4783 ("gnome-online-accounts" ,gnome-online-accounts)
743aebd7
MB
4784 ("libgweather" ,libgweather)
4785 ("mit-krb5" ,mit-krb5)
4786 ("openldap" ,openldap)))
df217748
SB
4787 (synopsis "Store address books and calendars")
4788 (home-page "https://wiki.gnome.org/Apps/Evolution")
4789 (description
4790 "This package provides a unified backend for programs that work with
4791contacts, tasks, and calendar information. It was originally developed for
4792Evolution (hence the name), but is now used by other packages as well.")
4793 (license license:lgpl2.0)))
bd7dfafa
SB
4794
4795(define-public caribou
4796 (package
4797 (name "caribou")
fe964bb5 4798 (version "0.4.21")
bd7dfafa
SB
4799 (source (origin
4800 (method url-fetch)
4801 (uri (string-append "mirror://gnome/sources/" name "/"
4802 (version-major+minor version) "/"
4803 name "-" version ".tar.xz"))
4804 (sha256
4805 (base32
fe964bb5 4806 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
4807 (build-system glib-or-gtk-build-system)
4808 (arguments
4809 '(#:phases
4810 (modify-phases %standard-phases
4811 (add-before
4812 'build 'pre-build
4813 (lambda* (#:key outputs #:allow-other-keys)
4814 (let ((out (assoc-ref outputs "out")))
4815 ;; Use absolute shared library path in Caribou-1.0.typelib.
4816 (substitute* "libcaribou/Makefile"
4817 (("--shared-library=libcaribou.so")
4818 (string-append "--shared-library="
4819 out "/lib/libcaribou.so")))
4820 #t)))
4821 (add-after 'install 'wrap-programs
4822 (lambda* (#:key outputs #:allow-other-keys)
4823 (let* ((out (assoc-ref outputs "out"))
4824 (python-path (getenv "PYTHONPATH"))
4825 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
4826 (for-each
4827 (lambda (prog)
4828 (wrap-program prog
4829 `("PYTHONPATH" ":" prefix (,python-path))
4830 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
4831 (list (string-append out "/bin/caribou-preferences")
4832 (string-append out "/libexec/antler-keyboard"))))
4833 #t)))))
4834 (native-inputs
4835 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4836 ("gobject-introspection" ,gobject-introspection)
4837 ("intltool" ,intltool)
4838 ("pkg-config" ,pkg-config)
4839 ("python" ,python-2) ; incompatible with Python 3 (print syntax)
4840 ("vala" ,vala)
4841 ("xsltproc" ,libxslt)))
4842 (propagated-inputs
4843 ;; caribou-1.0.pc refers to all these.
4844 `(("libgee" ,libgee)
4845 ("libxklavier" ,libxklavier)
4846 ("libxtst" ,libxtst)
4847 ("gtk+" ,gtk+)))
4848 (inputs
4849 `(("clutter" ,clutter)
4850 ("dconf" ,dconf)
4851 ("gtk+-2" ,gtk+-2)
4852 ("python-pygobject" ,python2-pygobject)))
4853 (synopsis "Text entry and UI navigation application")
4854 (home-page "https://wiki.gnome.org/Projects/Caribou")
4855 (description
4856 "Caribou is an input assistive technology intended for switch and pointer
4857users.")
4858 (license license:lgpl2.1)))
ba5dd105 4859
ba5dd105
SB
4860(define-public network-manager
4861 (package
4862 (name "network-manager")
856ca567 4863 (version "1.8.0")
ba5dd105
SB
4864 (source (origin
4865 (method url-fetch)
4866 (uri (string-append "mirror://gnome/sources/NetworkManager/"
4867 (version-major+minor version) "/"
4868 "NetworkManager-" version ".tar.xz"))
4869 (sha256
4870 (base32
856ca567 4871 "17pn7kzilyl0qk525gp9xnbz4x0ssrdmgk1lvw95pyfd6rm5qnps"))
fd070f35
CM
4872 (snippet
4873 '(begin
4874 (use-modules (guix build utils))
4875 (substitute* "configure"
4876 ;; Replace libsystemd-login with libelogind.
4877 (("libsystemd-login") "libelogind"))
4878 (substitute* "src/devices/wwan/nm-modem-manager.c"
4879 (("systemd") "elogind"))
4880 (substitute* "src/nm-session-monitor.c"
4881 (("systemd") "elogind"))
4882 (substitute* "./src/nm-logging.c"
4883 (("systemd") "elogind"))))))
ba5dd105
SB
4884 (build-system gnu-build-system)
4885 (outputs '("out"
4886 "doc")) ; 8 MiB of gtk-doc HTML
4887 (arguments
4888 '(#:configure-flags
4889 (let ((out (assoc-ref %outputs "out"))
4890 (doc (assoc-ref %outputs "doc"))
4891 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
4892 "/sbin/dhclient")))
fd070f35
CM
4893 (list "--with-systemd-logind=yes" ;In GuixSD, this is provided by elogind.
4894 "--with-consolekit=no"
4895 "--with-crypto=gnutls"
ba5dd105
SB
4896 "--disable-config-plugin-ibft"
4897 "--sysconfdir=/etc"
4898 "--localstatedir=/var"
4899 (string-append "--with-udev-dir="
4900 out "/lib/udev")
4901 (string-append "--with-dbus-sys-dir="
4902 out "/etc/dbus-1/system.d")
4903 (string-append "--with-html-dir="
4904 doc "/share/gtk-doc/html")
4905 (string-append "--with-dhclient=" dhclient)))
4906 #:phases
4907 (modify-phases %standard-phases
b4f59d87
AW
4908 (add-before 'configure 'pre-configure
4909 (lambda _
4910 ;; These tests try to test aspects of network-manager's
4911 ;; functionality within restricted containers, but they don't
4912 ;; cope with being already in the Guix build jail as that jail
4913 ;; lacks some features that they would like to proxy over (like
4914 ;; a /sys mount).
d04687dc
HG
4915 (substitute* '("Makefile.in")
4916 (("src/platform/tests/test-address-linux") " ")
4917 (("src/platform/tests/test-cleanup-linux") " ")
4918 (("src/platform/tests/test-link-linux") " ")
4919 (("src/platform/tests/test-route-linux") " ")
4920 (("src/devices/tests/test-arping") " ")
4921 (("src/devices/tests/test-lldp") " ")
4922 (("src/tests/test-route-manager-linux") " "))
b4f59d87 4923 #t))
ba5dd105
SB
4924 (add-before 'check 'pre-check
4925 (lambda _
4926 ;; For the missing /etc/machine-id.
4927 (setenv "DBUS_FATAL_WARNINGS" "0")
4928 #t))
4929 (replace 'install
4930 (lambda _
4931 (zero? (system* "make"
4932 "sysconfdir=/tmp"
142bdcbc
SB
4933 "rundir=/tmp"
4934 "statedir=/tmp"
d04687dc 4935 "nmstatedir=/tmp/nm"
ba5dd105 4936 "install")))))))
b93502d6
DC
4937 (propagated-inputs
4938 `(("glib" ,glib)))
ba5dd105
SB
4939 (native-inputs
4940 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
4941 ("gobject-introspection" ,gobject-introspection)
d04687dc 4942 ("docbook-xsl" ,docbook-xsl)
ba5dd105 4943 ("intltool" ,intltool)
d04687dc
HG
4944 ("libxslt" ,libxslt)
4945 ("libxml2" ,libxml2)
ba5dd105
SB
4946 ("pkg-config" ,pkg-config)
4947 ;; For testing.
4948 ("python" ,python-wrapper)
4949 ("python-dbus" ,python-dbus)
4950 ("python-pygobject" ,python-pygobject)))
4951 (inputs
856ca567
KK
4952 `(("curl" ,curl)
4953 ("cyrus-sasl" ,cyrus-sasl)
4954 ("dbus-glib" ,dbus-glib)
ba5dd105 4955 ("dnsmasq" ,dnsmasq)
856ca567 4956 ("eudev" ,eudev)
ba5dd105
SB
4957 ("gnutls" ,gnutls)
4958 ("iptables" ,iptables)
4959 ("isc-dhcp" ,isc-dhcp)
d04687dc 4960 ("jansson" ,jansson)
ba5dd105
SB
4961 ("libgcrypt" ,libgcrypt)
4962 ("libgudev" ,libgudev)
4963 ("libndp" ,libndp)
4964 ("libnl" ,libnl)
4965 ("libsoup" ,libsoup)
142bdcbc 4966 ("modem-manager" ,modem-manager)
c27e02bf 4967 ("newt" ,newt) ;for the 'nmtui' console interface
ba5dd105
SB
4968 ("polkit" ,polkit)
4969 ("ppp" ,ppp)
4970 ("readline" ,readline)
fd070f35
CM
4971 ("util-linux" ,util-linux)
4972 ("elogind" ,elogind)))
ba5dd105 4973 (synopsis "Network connection manager")
f032d0be 4974 (home-page "https://www.gnome.org/projects/NetworkManager/")
ba5dd105
SB
4975 (description
4976 "NetworkManager is a system network service that manages your network
4977devices and connections, attempting to keep active network connectivity when
4978available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
4979devices, and provides VPN integration with a variety of different VPN
4980services.")
29d2f451
LC
4981 (license license:gpl2+)
4982 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 4983
e5e1df4d
DC
4984(define-public mobile-broadband-provider-info
4985 (package
4986 (name "mobile-broadband-provider-info")
4987 (version "20151214")
4988 (source (origin
4989 (method url-fetch)
4990 (uri (string-append
4991 "mirror://gnome/sources/"
4992 "mobile-broadband-provider-info/" version "/"
4993 "mobile-broadband-provider-info-" version ".tar.xz"))
4994 (sha256
4995 (base32
4996 "1905nab1h8p4hx0m1w0rn4mkg9209x680dcr4l77bngy21pmvr4a"))))
4997 (build-system gnu-build-system)
4998 (arguments
4999 `(#:tests? #f)) ; No tests
5000 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
5001 (synopsis "Database of broadband connection configuration")
5002 (description "Database of broadband connection configuration.")
5003 (license license:public-domain)))
5004
4d62a9d3
SB
5005(define-public network-manager-applet
5006 (package
5007 (name "network-manager-applet")
240cee8a 5008 (version "1.8.2")
4d62a9d3
SB
5009 (source (origin
5010 (method url-fetch)
5011 (uri (string-append "mirror://gnome/sources/" name "/"
5012 (version-major+minor version) "/"
5013 name "-" version ".tar.xz"))
5014 (sha256
5015 (base32
240cee8a 5016 "09f9hjpn9nkhw57mk6pi7q1bq3lhf5hvmwas0fknscssak7yjmry"))))
4d62a9d3 5017 (build-system glib-or-gtk-build-system)
240cee8a 5018 (arguments '(#:configure-flags '("--disable-migration")))
4d62a9d3
SB
5019 (native-inputs
5020 `(("intltool" ,intltool)
5021 ("gobject-introspection" ,gobject-introspection)
5022 ("pkg-config" ,pkg-config)))
5023 (propagated-inputs
5024 ;; libnm-gtk.pc refers to all these.
5025 `(("dbus-glib" ,dbus-glib)
5026 ("gtk+" ,gtk+)
5027 ("network-manager" ,network-manager)))
5028 (inputs
5029 `(("iso-codes" ,iso-codes)
5030 ("libgudev" ,libgudev)
5031 ("libnotify" ,libnotify)
2116bfb3 5032 ("libsecret" ,libsecret)
240cee8a
KK
5033 ("libselinux" ,libselinux)
5034 ("jansson" ,jansson) ; for team support
5035 ("modem-manager" ,modem-manager)))
4d62a9d3 5036 (synopsis "Applet for managing network connections")
f032d0be 5037 (home-page "https://www.gnome.org/projects/NetworkManager/")
4d62a9d3
SB
5038 (description
5039 "This package contains a systray applet for NetworkManager. It displays
5040the available networks and allows users to easily switch between them.")
5041 (license license:gpl2+)))
56196594
RW
5042
5043(define-public libxml++
5044 (package
5045 (name "libxml++")
8344a85e 5046 (version "3.0.1")
56196594
RW
5047 (source (origin
5048 (method url-fetch)
5049 (uri (string-append "mirror://gnome/sources/" name "/"
5050 (version-major+minor version) "/"
5051 name "-" version ".tar.xz"))
5052 (sha256
5053 (base32
8344a85e 5054 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
5055 (build-system gnu-build-system)
5056 ;; libxml++-3.0.pc refers to all these.
5057 (propagated-inputs
5058 `(("libxml2" ,libxml2)
5059 ("glibmm" ,glibmm)))
5060 (native-inputs
5061 `(("perl" ,perl)
5062 ("pkg-config" ,pkg-config)))
5063 (home-page "http://libxmlplusplus.sourceforge.net/")
5064 (synopsis "C++ wrapper for XML parser library libxml2")
5065 (description
5066 "This package provides a C++ wrapper for the XML parser library
5067libxml2.")
5068 (license license:lgpl2.1+)))
df12f04a 5069
b61d9627
AW
5070(define-public libxml++-2
5071 (package
5072 (inherit libxml++)
5073 (name "libxml++")
5074 (version "2.40.1")
5075 (source (origin
5076 (method url-fetch)
5077 (uri (string-append "mirror://gnome/sources/" name "/"
5078 (version-major+minor version) "/"
5079 name "-" version ".tar.xz"))
5080 (sha256
5081 (base32
5082 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
5083
df12f04a
SB
5084(define-public gdm
5085 (package
5086 (name "gdm")
8f37813e 5087 (version "3.24.2")
df12f04a
SB
5088 (source (origin
5089 (method url-fetch)
5090 (uri (string-append "mirror://gnome/sources/" name "/"
5091 (version-major+minor version) "/"
5092 name "-" version ".tar.xz"))
5093 (sha256
5094 (base32
8f37813e 5095 "1s2xzrwcjhfb4ra8jrxqfycs1jpv97id0f6idb2h6vjkspxbjy23"))))
df12f04a
SB
5096 (build-system gnu-build-system)
5097 (arguments
5098 '(#:configure-flags
5099 '("--without-plymouth")
5100 #:phases
5101 (modify-phases %standard-phases
5102 (add-before
5103 'configure 'pre-configure
5104 (lambda _
5105 ;; We don't have <systemd/sd-daemon.h>.
5106 (substitute* '("common/gdm-log.c"
5107 "daemon/gdm-server.c"
5108 "daemon/gdm-session-worker.c"
5109 "daemon/gdm-session-worker-job.c")
5110 (("#include <systemd/sd-daemon\\.h>") ""))
5111 ;; Use elogind for sd-login.
5112 (substitute* '("common/gdm-common.c"
5113 "daemon/gdm-manager.c"
5114 "libgdm/gdm-user-switching.c")
5115 (("#include <systemd/sd-login\\.h>")
5116 "#include <elogind/sd-login.h>"))
5117 ;; Avoid checking SYSTEMD using pkg-config.
5118 (setenv "SYSTEMD_CFLAGS" " ")
5119 (setenv "SYSTEMD_LIBS" "-lelogind")
5120 #t)))))
5121 (native-inputs
5122 `(("dconf" ,dconf)
5123 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5124 ("gobject-introspection" ,gobject-introspection)
5125 ("intltool" ,intltool)
5126 ("itstool" ,itstool)
5127 ("pkg-config" ,pkg-config)
5128 ("xmllint" ,libxml2)))
5129 (inputs
5130 `(("accountsservice" ,accountsservice)
5131 ("check" ,check) ; for testing
5132 ("elogind" ,elogind)
5133 ("gtk+" ,gtk+)
5134 ("iso-codes" ,iso-codes)
5135 ("libcanberra" ,libcanberra)
5136 ("linux-pam" ,linux-pam)))
5137 (synopsis "Display manager for GNOME")
f032d0be 5138 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
5139 (description
5140 "GNOME Display Manager is a system service that is responsible for
5141providing graphical log-ins and managing local and remote displays.")
5142 (license license:gpl2+)))
8e1dd04f
SB
5143
5144(define-public libgtop
5145 (package
5146 (name "libgtop")
6206db89 5147 (version "2.36.0")
8e1dd04f
SB
5148 (source (origin
5149 (method url-fetch)
5150 (uri (string-append "mirror://gnome/sources/" name "/"
5151 (version-major+minor version) "/"
5152 name "-" version ".tar.xz"))
5153 (sha256
5154 (base32
6206db89 5155 "0ax17c7nplghxgsf8zl92nmhkbnggj62wwzl7nq00aqb2m6f7gqk"))))
8e1dd04f
SB
5156 (build-system gnu-build-system)
5157 (native-inputs
5158 `(("gobject-introspection" ,gobject-introspection)
5159 ("intltool" ,intltool)
5160 ("perl" ,perl)
5161 ("pkg-config" ,pkg-config)))
5162 (propagated-inputs
5163 `(("glib" ,glib))) ; required by libgtop-2.0.pc
5164 (synopsis "Portable system access library")
5165 (home-page "https://www.gnome.org/")
5166 (description
5167 "LibGTop is a library to get system specific data such as CPU and memory
5168usage and information about running processes.")
5169 (license license:gpl2+)))
b96c4260
SB
5170
5171(define-public gnome-bluetooth
5172 (package
5173 (name "gnome-bluetooth")
f8cb2fbf 5174 (version "3.20.1")
b96c4260
SB
5175 (source (origin
5176 (method url-fetch)
5177 (uri (string-append "mirror://gnome/sources/" name "/"
5178 (version-major+minor version) "/"
5179 name "-" version ".tar.xz"))
5180 (sha256
5181 (base32
f8cb2fbf 5182 "1zlqcz6jz4vzzr8gd1678i9s4015kiwcpr5szrwz4kmryfsm147a"))))
b96c4260
SB
5183 (build-system glib-or-gtk-build-system)
5184 (native-inputs
5185 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
5186 ("gobject-introspection" ,gobject-introspection)
5187 ("intltool" ,intltool)
5188 ("pkg-config" ,pkg-config)
5189 ("xmllint" ,libxml2)))
5190 (propagated-inputs
5191 ;; gnome-bluetooth-1.0.pc refers to all these.
5192 `(("gtk+" ,gtk+)
5193 ("udev" ,eudev)))
5194 (inputs
5195 `(("libcanberra" ,libcanberra)
5196 ("libnotify" ,libnotify)))
5197 (synopsis "GNOME Bluetooth subsystem")
5198 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
5199 (description
5200 "This package contains tools for managing and manipulating Bluetooth
5201devices using the GNOME desktop.")
5202 (license license:lgpl2.1+)))
b645146f
SB
5203
5204(define-public gnome-control-center
5205 (package
5206 (name "gnome-control-center")
cd5db771 5207 (version "3.24.3")
b645146f
SB
5208 (source (origin
5209 (method url-fetch)
5210 (uri (string-append "mirror://gnome/sources/" name "/"
5211 (version-major+minor version) "/"
5212 name "-" version ".tar.xz"))
5213 (sha256
5214 (base32
cd5db771 5215 "18ncjqjj93a39sla2zjr9i6pw59yh87p4jla899lmvi2qajd5923"))))
b645146f
SB
5216 (build-system glib-or-gtk-build-system)
5217 (arguments
5218 '(#:phases
5219 (modify-phases %standard-phases
5220 (add-before 'configure 'patch-paths
5221 (lambda* (#:key inputs #:allow-other-keys)
5222 (let ((libc (assoc-ref inputs "libc"))
5223 (tzdata (assoc-ref inputs "tzdata")))
5224 (substitute* "panels/datetime/tz.h"
5225 (("/usr/share/zoneinfo/zone.tab")
5226 (string-append tzdata "/share/zoneinfo/zone.tab")))
5227 (substitute* "panels/datetime/test-endianess.c"
5228 (("/usr/share/locale")
5229 (string-append libc "/share/locale")))
5230 #t))))))
5231 (native-inputs
5232 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5233 ("intltool" ,intltool)
5234 ("pkg-config" ,pkg-config)
5235 ("xsltproc" ,libxslt)))
5236 (inputs
5237 `(("accountsservice" ,accountsservice)
5238 ("clutter-gtk" ,clutter-gtk)
5239 ("colord-gtk" ,colord-gtk)
5240 ("cups" ,cups)
5241 ("dconf" ,dconf)
5242 ("docbook-xsl" ,docbook-xsl)
3446ffb5 5243 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
5244 ("gnome-bluetooth" ,gnome-bluetooth)
5245 ("gnome-desktop" ,gnome-desktop)
5246 ("gnome-online-accounts" ,gnome-online-accounts)
5247 ("gnome-settings-daemon" ,gnome-settings-daemon)
5248 ("grilo" ,grilo)
5249 ("ibus" ,ibus)
5250 ("libcanberra" ,libcanberra)
5251 ("libgudev" ,libgudev)
5252 ("libgtop" ,libgtop)
5253 ("libpwquality" ,libpwquality)
5254 ("libsoup" ,libsoup)
5255 ("libxml2" ,libxml2)
5256 ("libwacom" ,libwacom)
5257 ("mesa" ,mesa)
5258 ("mit-krb5" ,mit-krb5)
5259 ("modem-manager" ,modem-manager)
5260 ("network-manager-applet" ,network-manager-applet)
5261 ("polkit" ,polkit)
5262 ("pulseaudio" ,pulseaudio)
5263 ("smbclient" ,samba)
5264 ("tzdata" ,tzdata)
5265 ("upower" ,upower)))
5266 (synopsis "Utilities to configure the GNOME desktop")
5267 (home-page "https://www.gnome.org/")
5268 (description
5269 "This package contains configuration applets for the GNOME desktop,
5270allowing to set accessibility configuration, desktop fonts, keyboard and mouse
5271properties, sound setup, desktop theme and background, user interface
5272properties, screen resolution, and other GNOME parameters.")
5273 (license license:gpl2+)))
a4df5756
SB
5274
5275(define-public gnome-shell
5276 (package
5277 (name "gnome-shell")
1f9c2351 5278 (version "3.24.3")
a4df5756
SB
5279 (source (origin
5280 (method url-fetch)
5281 (uri (string-append "mirror://gnome/sources/" name "/"
5282 (version-major+minor version) "/"
5283 name "-" version ".tar.xz"))
5284 (sha256
5285 (base32
1f9c2351 5286 "1f20x36ymkp1j667hb7s7byly2gqc4m0anldy3qwp38vm8437caq"))))
a4df5756
SB
5287 (build-system glib-or-gtk-build-system)
5288 (arguments
5289 '(#:phases
5290 (modify-phases %standard-phases
5291 (replace 'install
5292 (lambda* (#:key outputs #:allow-other-keys)
5293 (let* ((out (assoc-ref outputs "out"))
5294 (keysdir (string-append
5295 out "/share/gnome-control-center/keybindings")))
5296 (zero? (system* "make"
5297 (string-append "keysdir=" keysdir)
5298 "install")))))
5299 (add-after
5300 'install 'wrap-programs
5301 (lambda* (#:key outputs #:allow-other-keys)
5302 (let ((out (assoc-ref outputs "out"))
5303 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5304 (python-path (getenv "PYTHONPATH")))
5305 (wrap-program (string-append out "/bin/gnome-shell")
5306 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
5307 (for-each
5308 (lambda (prog)
5309 (wrap-program (string-append out "/bin/" prog)
5310 `("PYTHONPATH" ":" prefix (,python-path))
5311 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5312 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
5313 #t))))))
5314 (native-inputs
5315 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5316 ("gobject-introspection" ,gobject-introspection)
5317 ("intltool" ,intltool)
5318 ("pkg-config" ,pkg-config)
5319 ("python" ,python)
5320 ("xsltproc" ,libxslt)))
5321 (inputs
5322 `(("accountsservice" ,accountsservice)
5323 ("caribou" ,caribou)
5324 ("docbook-xsl" ,docbook-xsl)
5325 ("evolution-data-server" ,evolution-data-server)
5326 ("gcr" ,gcr)
5327 ("gdm" ,gdm)
5328 ("gjs" ,gjs)
5329 ("gnome-bluetooth" ,gnome-bluetooth)
5330 ("gnome-control-center" ,gnome-control-center)
5331 ("gnome-desktop" ,gnome-desktop)
5332 ("gnome-settings-daemon" ,gnome-settings-daemon)
5333 ("gst-plugins-base" ,gst-plugins-base)
5334 ("ibus" ,ibus)
5335 ("libcanberra" ,libcanberra)
5336 ("libcroco" ,libcroco)
5337 ("libgweather" ,libgweather)
5338 ("libsoup" ,libsoup)
5339 ("mesa-headers" ,mesa-headers)
5340 ("mutter" ,mutter)
5341 ("network-manager-applet" ,network-manager-applet)
5342 ("polkit" ,polkit)
5343 ("pulseaudio" ,pulseaudio)
5344 ("python-pygobject" ,python-pygobject)
5345 ("startup-notification" ,startup-notification)
5346 ("telepathy-logger" ,telepathy-logger)
5347 ("upower" ,upower)
30e760f0
MB
5348 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
5349 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
5350 ("librsvg" ,librsvg)
5351 ("geoclue" ,geoclue)
a4df5756
SB
5352 ;; XXX: required by libgjs.la.
5353 ("readline" ,readline)))
5354 (synopsis "Desktop shell for GNOME")
5355 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
5356 (description
5357 "GNOME Shell provides core user interface functions for the GNOME desktop,
5358like switching to windows and launching applications.")
5359 (license license:gpl2+)))
c3f29bc9
RS
5360
5361(define-public gtk-vnc
5362 (package
5363 (name "gtk-vnc")
26653538 5364 (version "0.7.0")
c3f29bc9
RS
5365 (source
5366 (origin
5367 (method url-fetch)
5368 (uri (string-append "mirror://gnome/sources/" name "/"
5369 (version-major+minor version) "/"
5370 name "-" version ".tar.xz"))
5371 (sha256
5372 (base32
26653538 5373 "0gj8dpy3sj4dp810gy67spzh5f0jd8aqg69clcwqjcskj1yawbiw"))))
c3f29bc9
RS
5374 (build-system gnu-build-system)
5375 (arguments
5376 '(#:configure-flags '("--with-gtk=3.0")))
5377 (propagated-inputs
5378 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
5379 (inputs
5380 `(("cyrus-sasl" ,cyrus-sasl)
5381 ("gnutls" ,gnutls)
5382 ("libgcrypt" ,libgcrypt)
5383 ("pulseaudio" ,pulseaudio)))
5384 (native-inputs
5385 `(("glib:bin" ,glib "bin")
5386 ("gobject-introspection" ,gobject-introspection)
5387 ("intltool" ,intltool)
5388 ("pkg-config" ,pkg-config)
5389 ("vala" ,vala)))
5390 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
5391 (synopsis "VNC viewer widget for GTK+")
5392 (description
5393 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
5394applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
5395GTK-VNC implements client side RFB protocol and authentication extensions such
5396as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
5397 (license license:lgpl2.1+)))
8b877545 5398
dc69fe18
MW
5399(define-public gnome-autoar
5400 (package
5401 (name "gnome-autoar")
4063a40a 5402 (version "0.2.2")
dc69fe18
MW
5403 (source (origin
5404 (method url-fetch)
5405 (uri (string-append "mirror://gnome/sources/" name "/"
5406 (version-major+minor version) "/"
5407 name "-" version ".tar.xz"))
5408 (sha256
5409 (base32
4063a40a 5410 "0qnafiwgajsaryh669lfclb4f6z5n1r9r4zhig1ha0ykxq32rzp1"))))
dc69fe18
MW
5411 (build-system glib-or-gtk-build-system)
5412 (native-inputs
5413 `(("gnome-common" ,gnome-common)
5414 ("gobject-introspection" ,gobject-introspection)
5415 ("pkg-config" ,pkg-config)))
5416 (propagated-inputs
5417 `(("libarchive" ,libarchive))) ; XXX document why
5418 (inputs
5419 `(("gtk+" ,gtk+)
5420 ("nettle" ,nettle))) ; XXX: required by libarchive.pc
5421 (synopsis "Archives integration support for GNOME")
5422 (home-page "https://git.gnome.org/browse/gnome-autoar/")
5423 (description
5424 "GNOME Autoar is a library which makes creating and extracting archives
5425easy, safe, and automatic.")
5426 (license license:lgpl2.1+)))
5427
b64e217f
MW
5428(define-public tracker
5429 (package
5430 (name "tracker")
c762011e 5431 (version "1.12.2")
b64e217f
MW
5432 (source (origin
5433 (method url-fetch)
5434 (uri (string-append "mirror://gnome/sources/" name "/"
5435 (version-major+minor version) "/"
5436 name "-" version ".tar.xz"))
5437 (sha256
5438 (base32
c762011e 5439 "1zdzh8l5ahi906i40i4pqw2cs1hwrl6l9a7fp344a3idk3pl5szb"))))
b64e217f
MW
5440 (build-system glib-or-gtk-build-system)
5441 (native-inputs
5442 `(("gnome-common" ,gnome-common)
5443 ("gobject-introspection" ,gobject-introspection)
5444 ("intltool" ,intltool)
5445 ("pkg-config" ,pkg-config)
5446 ("vala" ,vala)))
5447 (inputs
5448 `(("gtk+" ,gtk+)
5449 ("dbus" ,dbus)
5450 ("gstreamer" ,gstreamer)
5451 ("gst-plugins-base" ,gst-plugins-base)
5452 ("sqlite" ,sqlite)
5453 ("nettle" ,nettle) ; XXX why is this needed?
5454 ("poppler" ,poppler)
5455 ("libgsf" ,libgsf)
5456 ("libexif" ,libexif)
5457 ("libpng" ,libpng)
5458 ("libtiff" ,libtiff)
5459 ("libvorbis" ,libvorbis)
5460 ("flac" ,flac)
5461 ("totem-pl-parser" ,totem-pl-parser)
5462 ("zlib" ,zlib)
5463 ("exempi" ,exempi)
5464 ("libxml2" ,libxml2)
5465 ("upower" ,upower)
b64e217f
MW
5466 ("libunistring" ,libunistring)
5467 ("giflib" ,giflib)
0ef48cd9 5468 ("json-glib" ,json-glib)
b64e217f
MW
5469 ("openjpeg" ,openjpeg-1)
5470 ("libosinfo" ,libosinfo)
5471 ("libcue" ,libcue)
5472 ("libseccomp" ,libseccomp)
0ef48cd9 5473 ("libsoup" ,libsoup)
b64e217f
MW
5474 ("libuuid" ,util-linux)))
5475 (arguments `(#:tests? #f)) ; XXX FIXME enable tests (some fail)
5476 (synopsis "Metadata database, indexer and search tool")
5477 (home-page "https://wiki.gnome.org/Projects/Tracker")
5478 (description
5479 "Tracker is an advanced framework for first class objects with associated
5480metadata and tags. It provides a one stop solution for all metadata, tags,
5481shared object databases, search tools and indexing.")
5482 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
5483 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
5484 (license (list license:gpl2+
5485 license:lgpl2.1+
5486 license:lgpl2.0+))))
5487
8b877545
RS
5488(define-public nautilus
5489 (package
5490 (name "nautilus")
0f6cf5a6 5491 (version "3.24.2.1")
8b877545
RS
5492 (source (origin
5493 (method url-fetch)
5494 (uri (string-append "mirror://gnome/sources/" name "/"
5495 (version-major+minor version) "/"
5496 name "-" version ".tar.xz"))
5497 (sha256
5498 (base32
0f6cf5a6 5499 "1cv138z04qx0fh1a2z2hvxy4p1x15vdv5gmkx5f3hb6c3w2rsz9m"))))
8b877545
RS
5500 (build-system glib-or-gtk-build-system)
5501 (arguments
6983ba56 5502 '(#:configure-flags
09d88905 5503 '("--disable-selinux") ; XXX: not packaged
8b877545
RS
5504 ;; XXX: FAIL: check-nautilus
5505 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
5506 #:tests? #f))
5507 (native-inputs
5508 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5509 ("gobject-introspection" ,gobject-introspection)
5510 ("intltool" ,intltool)
5511 ("pkg-config" ,pkg-config)))
8b877545 5512 (inputs
8b877545 5513 `(("dconf" ,dconf)
dd05e731 5514 ("gvfs" ,gvfs)
8b877545
RS
5515 ("exempi" ,exempi)
5516 ("gnome-desktop" ,gnome-desktop)
09d88905
MW
5517 ("gnome-autoar" ,gnome-autoar)
5518 ("nettle" ,nettle) ; XXX required by libarchive.pc via gnome-autoar
5519 ("tracker" ,tracker)
ce6027bf
SB
5520 ;; XXX: gtk+ is required by libnautilus-extension.pc
5521 ;;
5522 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
5523 ;; package. See:
5524 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
5525 ("gtk+" ,gtk+)
8b877545
RS
5526 ("libexif" ,libexif)
5527 ("libxml2" ,libxml2)))
5528 (synopsis "File manager for GNOME")
5529 (home-page "https://wiki.gnome.org/Apps/Nautilus")
5530 (description
5531 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
5532design and behaviour, giving the user a simple way to navigate and manage its
5533files.")
5534 (license license:gpl2+)))
3c697ffd
JR
5535
5536(define-public baobab
5537 (package
5538 (name "baobab")
9be54b15 5539 (version "3.24.0")
3c697ffd
JR
5540 (source (origin
5541 (method url-fetch)
5542 (uri (string-append
5543 "mirror://gnome/sources/" name "/"
5544 (version-major+minor version) "/"
5545 name "-" version ".tar.xz"))
5546 (sha256
5547 (base32
9be54b15 5548 "0gzwzn8p0agidjq3wnkxcsny6jhqph3yqscqjqd7blgkz5nyk02r"))))
3c697ffd
JR
5549 (build-system glib-or-gtk-build-system)
5550 (native-inputs
5551 `(("intltool" ,intltool)
5552 ("pkg-config" ,pkg-config)
5553 ("itstool" ,itstool)
5554 ("xmllint" ,libxml2)
5555 ("glib" ,glib "bin")
5556 ("vala" ,vala)))
5557 (inputs
5558 `(("gtk+" ,gtk+)))
5559 (synopsis "Disk usage analyzer for GNOME")
5560 (description
5561 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
5562usage in the GNOME desktop environment. It can easily scan device volumes or
5563a specific user-requested directory branch (local or remote). Once the scan
5564is complete it provides a graphical representation of each selected folder.")
5565 (home-page "https://wiki.gnome.org/Apps/Baobab")
5566 (license license:gpl2+)))
dc050251 5567
fdba447c
RS
5568(define-public gnome-backgrounds
5569 (package
5570 (name "gnome-backgrounds")
2df65d37 5571 (version "3.24.0")
fdba447c
RS
5572 (source
5573 (origin
5574 (method url-fetch)
5575 (uri (string-append "mirror://gnome/sources/" name "/"
5576 (version-major+minor version) "/"
5577 name "-" version ".tar.xz"))
5578 (sha256
5579 (base32
2df65d37 5580 "1jkikis9k3psp6rb8axnqy86awdyg5rzfbcp9gx40a99b4hlrnnb"))))
fdba447c
RS
5581 (build-system glib-or-gtk-build-system)
5582 (native-inputs
5583 `(("intltool" ,intltool)))
5584 (home-page "https://git.gnome.org/browse/gnome-backgrounds")
5585 (synopsis "Background images for the GNOME desktop")
5586 (description
5587 "GNOME backgrounds package contains a collection of graphics files which
5588can be used as backgrounds in the GNOME Desktop environment. Additionally,
5589the package creates the proper framework and directory structure so that you
5590can add your own files to the collection.")
5591 (license (list license:gpl2+
5592 license:cc-by2.0
5593 license:cc-by-sa2.0
5594 license:cc-by-sa3.0))))
5595
b784b1a9
RS
5596(define-public gnome-screenshot
5597 (package
5598 (name "gnome-screenshot")
efa355bc 5599 (version "3.22.0")
b784b1a9
RS
5600 (source
5601 (origin
5602 (method url-fetch)
5603 (uri (string-append "mirror://gnome/sources/" name "/"
5604 (version-major+minor version) "/"
5605 name "-" version ".tar.xz"))
5606 (sha256
5607 (base32
efa355bc 5608 "0c02n1hgv21m4082jx399b1yazsc0cr07ba8k0pv8v3w7i5z21ca"))))
b784b1a9
RS
5609 (build-system glib-or-gtk-build-system)
5610 (native-inputs
5611 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5612 ("intltool" ,intltool)
5613 ("pkg-config" ,pkg-config)))
5614 (inputs
5615 `(("gtk+" ,gtk+)
5616 ("libcanberra" ,libcanberra)
5617 ("libx11" ,libx11)
5618 ("libxext" ,libxext)))
5619 (home-page "https://git.gnome.org/browse/gnome-screenshot")
5620 (synopsis "Take pictures of your screen")
5621 (description
5622 "GNOME Screenshot is a utility used for taking screenshots of the entire
5623screen, a window or a user defined area of the screen, with optional
5624beautifying border effects.")
5625 (license license:gpl2+)))
5626
66d59111
RS
5627(define-public dconf-editor
5628 (package
5629 (name "dconf-editor")
123e8168 5630 (version "3.22.3")
66d59111
RS
5631 (source
5632 (origin
5633 (method url-fetch)
5634 (uri (string-append "mirror://gnome/sources/" name "/"
5635 (version-major+minor version) "/"
5636 name "-" version ".tar.xz"))
5637 (sha256
5638 (base32
123e8168 5639 "1939yq3fl55c2dqkc6nzp6cbpxq9sli74gdj0rj7c50pwvbngwam"))))
66d59111 5640 (build-system glib-or-gtk-build-system)
d25c1836
SB
5641 (arguments
5642 '(#:phases
5643 (modify-phases %standard-phases
5644 (add-before 'install 'skip-gtk-update-icon-cache
5645 (lambda _
5646 ;; Don't create 'icon-theme.cache'.
5647 (substitute* "editor/Makefile"
5648 (("gtk-update-icon-cache") "true"))
5649 #t)))))
66d59111
RS
5650 (native-inputs
5651 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
5652 ("intltool" ,intltool)
5653 ("pkg-config" ,pkg-config)))
5654 (inputs
5655 `(("dconf" ,dconf)
5656 ("gtk+" ,gtk+)
5657 ("libxml2" ,libxml2)))
5658 (home-page "https://git.gnome.org/browse/dconf-editor")
5659 (synopsis "Graphical editor for GNOME's dconf configuration system")
5660 (description
5661 "Dconf-editor is a graphical tool for browsing and editing the dconf
5662configuration system for GNOME. It allows users to configure desktop
5663software that do not provide their own configuration interface.")
5664 (license license:lgpl2.1+)))
5665
96d36f38
AW
5666(define-public gnome-default-applications
5667 (package
5668 (name "gnome-default-applications")
5669 (version "0")
5670 (build-system trivial-build-system)
5671 (source #f)
5672 (propagated-inputs
5673 `(("nautilus" ,nautilus)))
5674 (arguments
5675 `(#:modules ((guix build utils))
5676 #:builder
5677 (begin
5678 (use-modules (guix build utils))
5679 (let* ((out (assoc-ref %outputs "out"))
5680 (apps (string-append out "/share/applications")))
5681 (mkdir-p apps)
5682 (call-with-output-file (string-append apps "/defaults.list")
5683 (lambda (port)
5684 (format port "[Default Applications]\n")
5685 (format port "inode/directory=org.gnome.Nautilus.desktop\n")))
5686 #t))))
5687 (synopsis "Default MIME type associations for the GNOME desktop")
5688 (description
5689 "Given many installed packages which might handle a given MIME type, a
5690user running the GNOME desktop probably has some preferences: for example,
5691that folders be opened by default by the Nautilus file manager, not the Baobab
5692disk usage analyzer. This package establishes that set of default MIME type
5693associations for GNOME.")
5694 (license license:gpl3+)
5695 (home-page #f)))
5696
dc050251
SB
5697(define-public gnome
5698 (package
5699 (name "gnome")
5700 (version (package-version gnome-shell))
5701 (source #f)
5702 (build-system trivial-build-system)
5703 (arguments '(#:builder (mkdir %output)))
5704 (propagated-inputs
5705 ;; TODO: Add more packages according to:
5706 ;; <https://packages.debian.org/jessie/gnome-core>.
5707 `(("adwaita-icon-theme" ,adwaita-icon-theme)
05f651c4 5708 ("baobab" ,baobab)
0bd3597b 5709 ("font-cantarell" ,font-cantarell)
a9dbefdc 5710 ("font-dejavu" ,font-dejavu)
dc050251
SB
5711 ("at-spi2-core" ,at-spi2-core)
5712 ("dbus" ,dbus)
5713 ("dconf" ,dconf)
72360453 5714 ("desktop-file-utils" ,desktop-file-utils)
dc050251
SB
5715 ("eog" ,eog)
5716 ("epiphany" ,epiphany)
5717 ("evince" ,evince)
71d9b980 5718 ("file-roller" ,file-roller)
dc050251
SB
5719 ("gedit" ,gedit)
5720 ("glib-networking" ,glib-networking)
05f651c4 5721 ("gnome-backgrounds" ,gnome-backgrounds)
63ad9b80
AW
5722 ("gnome-bluetooth" ,gnome-bluetooth)
5723 ("gnome-calculator" ,gnome-calculator)
dc050251 5724 ("gnome-control-center" ,gnome-control-center)
63ad9b80 5725 ("gnome-disk-utility" ,gnome-disk-utility)
96d36f38 5726 ("gnome-default-applications" ,gnome-default-applications)
dc050251 5727 ("gnome-keyring" ,gnome-keyring)
63ad9b80 5728 ("gnome-online-accounts" ,gnome-online-accounts)
dc050251
SB
5729 ("gnome-session" ,gnome-session)
5730 ("gnome-settings-daemon" ,gnome-settings-daemon)
5731 ("gnome-shell" ,gnome-shell)
63ad9b80 5732 ("gnome-system-monitor" ,gnome-system-monitor)
dc050251
SB
5733 ("gnome-terminal" ,gnome-terminal)
5734 ("gnome-themes-standard" ,gnome-themes-standard)
63ad9b80 5735 ("gucharmap" ,gucharmap)
05f651c4 5736 ("gvfs" ,gvfs)
dc050251
SB
5737 ("hicolor-icon-theme" ,hicolor-icon-theme)
5738 ("nautilus" ,nautilus)
69308043 5739 ("pinentry-gnome3" ,pinentry-gnome3)
dc050251
SB
5740 ("pulseaudio" ,pulseaudio)
5741 ("shared-mime-info" ,shared-mime-info)
5742 ("totem" ,totem)
5743 ("yelp" ,yelp)
5744 ("zenity" ,zenity)))
fe4e698d 5745 (synopsis "The GNU desktop environment")
dc050251
SB
5746 (home-page "https://www.gnome.org/")
5747 (description
fe4e698d
LC
5748 "GNOME is the graphical desktop for GNU. It includes a wide variety of
5749applications for browsing the web, editing text and images, creating
5750documents and diagrams, playing media, scanning, and much more.")
dc050251 5751 (license license:gpl2+)))
4a526711
DT
5752
5753(define-public byzanz
5754 ;; The last stable release of Byzanz was in 2011, but there have been many
5755 ;; useful commits made to the Byzanz repository since then that it would be
5756 ;; silly to use such an old release.
5757 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
5758 (package
5759 (name "byzanz")
5760 (version (string-append "0.2-1." (string-take commit 7)))
5761 (source (origin
5762 (method git-fetch)
5763 (uri (git-reference
5764 (url "git://git.gnome.org/byzanz")
5765 (commit commit)))
5a6527e4 5766 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
5767 (sha256
5768 (base32
5769 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
5770 (build-system glib-or-gtk-build-system)
5771 (arguments
5772 '(#:phases
5773 (modify-phases %standard-phases
5774 (add-after 'unpack 'bootstrap
5775 (lambda _
5776 ;; The build system cleverly detects that we're not building from
5777 ;; a release tarball and turns on -Werror for GCC.
5778 ;; Unsurprisingly, there is a warning during compilation that
5779 ;; causes the build to fail unnecessarily, so we remove the flag.
5780 (substitute* '("configure.ac")
5781 (("-Werror") ""))
5782 ;; The autogen.sh script in gnome-common will run ./configure
5783 ;; by default, which is problematic because source shebangs
5784 ;; have not yet been patched.
5785 (setenv "NOCONFIGURE" "t")
5786 (zero? (system* "sh" "autogen.sh")))))))
5787 (native-inputs
5788 `(("autoconf" ,autoconf)
5789 ("automake" ,automake)
5790 ("gnome-common" ,gnome-common)
5791 ("intltool" ,intltool)
5792 ("libtool" ,libtool)
5793 ("pkg-config" ,pkg-config)
5794 ("which" ,which)))
5795 (inputs
5796 `(("glib" ,glib)
5797 ("gstreamer" ,gstreamer)
5798 ("gst-plugins-base" ,gst-plugins-base)
5799 ("gtk+" ,gtk+)))
5800 (synopsis "Desktop recording program")
5801 (description "Byzanz is a simple desktop recording program with a
5802command-line interface. It can record part or all of an X display for a
5803specified duration and save it as a GIF encoded animated image file.")
5804 (home-page "https://git.gnome.org/browse/byzanz")
5805 (license license:gpl2+))))
3a9a4c51
RS
5806
5807(define-public libzapojit
5808 (package
5809 (name "libzapojit")
5810 (version "0.0.3")
5811 (source (origin
5812 (method url-fetch)
5813 (uri (string-append "mirror://gnome/sources/" name "/"
5814 (version-major+minor version) "/"
5815 name "-" version ".tar.xz"))
5816 (sha256
5817 (base32
5818 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
5819 (build-system gnu-build-system)
5820 (native-inputs
5821 `(("gobject-introspection" ,gobject-introspection)
5822 ("intltool" ,intltool)
5823 ("pkg-config" ,pkg-config)))
5824 (inputs
5825 `(("gnome-online-accounts" ,gnome-online-accounts)
5826 ("json-glib" ,json-glib)
5827 ("rest" ,rest)))
5828 (home-page "https://wiki.gnome.org/Projects/Zapojit")
5829 (synopsis "Library for accessing SkyDrive and Hotmail")
5830 (description
5831 "Libzapojit is a GLib-based library for accessing online service APIs of
5832Microsoft SkyDrive and Hotmail, using their REST protocols.")
5833 (license license:lgpl2.1+)))
9365ee1c 5834
3c474897
KY
5835(define-public gnome-calendar
5836 (package
5837 (name "gnome-calendar")
a93f14ea 5838 (version "3.24.3")
3c474897
KY
5839 (source (origin
5840 (method url-fetch)
5841 (uri (string-append "mirror://gnome/sources/" name "/"
5842 (version-major+minor version) "/"
5843 name "-" version ".tar.xz"))
5844 (sha256
5845 (base32
a93f14ea 5846 "1v7k1wcl5yg9bd4l0rz0z03h32d35zgfp4qzz21widjcyis41jry"))))
3c474897
KY
5847 (build-system glib-or-gtk-build-system)
5848 (native-inputs
5849 `(("intltool" ,intltool)
5850 ("pkg-config" ,pkg-config)))
5851 (inputs
5852 `(("bdb" ,bdb)
5853 ("desktop-file-utils" ,desktop-file-utils)
5854 ("evolution-data-server" ,evolution-data-server)
4b8aae41
MW
5855 ("gnome-online-accounts" ,gnome-online-accounts)
5856 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
3c474897
KY
5857 (home-page "https://wiki.gnome.org/Apps/Calendar")
5858 (synopsis "GNOME's calendar application")
5859 (description
5860 "GNOME Calendar is a simple calendar application designed to fit the GNOME
5861desktop. It supports multiple calendars, monthly view and yearly view.")
5862 (license license:gpl3+)))
5863
ab179eaf
SB
5864(define-public gnome-dictionary
5865 (package
5866 (name "gnome-dictionary")
6e2fc6c7 5867 (version "3.24.0")
ab179eaf
SB
5868 (source (origin
5869 (method url-fetch)
5870 (uri (string-append "mirror://gnome/sources/" name "/"
5871 (version-major+minor version) "/"
5872 name "-" version ".tar.xz"))
5873 (sha256
5874 (base32
6e2fc6c7 5875 "1wnrpg8yndacq0xnzc84d519yp7f28brzklm3a48xcgs1i50drs1"))))
ab179eaf
SB
5876 (build-system glib-or-gtk-build-system)
5877 (native-inputs
5878 `(("glib:bin" ,glib "bin")
5879 ("gobject-introspection" ,gobject-introspection)
5880 ("intltool" ,intltool)
5881 ("itstool" ,itstool)
5882 ("pkg-config" ,pkg-config)
5883 ("xmllint" ,libxml2)))
5884 (inputs
5885 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5886 ("gtk+" ,gtk+)))
5887 (home-page "https://wiki.gnome.org/Apps/Dictionary")
5888 (synopsis "Look up words in dictionary sources")
5889 (description
5890 "GNOME Dictionary can look for the definition or translation of a word in
5891existing databases over the internet.")
5892 (license license:gpl3+)))
5893
9365ee1c
JN
5894(define-public gnome-tweak-tool
5895 (package
5896 (name "gnome-tweak-tool")
a7850769 5897 (version "3.24.1")
9365ee1c
JN
5898 (source (origin
5899 (method url-fetch)
5900 (uri (string-append "mirror://gnome/sources/gnome-tweak-tool/"
5901 (version-major+minor version) "/"
5902 "gnome-tweak-tool-" version ".tar.xz"))
5903 (patches (list
5904 (search-patch "gnome-tweak-tool-search-paths.patch")))
5905 (sha256
5906 (base32
a7850769 5907 "0rgmm7n6jwc5hz64sprm4jxnky62hw839a7r18rn1mj884vnn8hr"))))
7ef335b0 5908 (build-system glib-or-gtk-build-system)
9365ee1c
JN
5909 (arguments
5910 `(#:configure-flags '("--localstatedir=/tmp"
5911 "--sysconfdir=/tmp")
5912 #:imported-modules ((guix build python-build-system)
7ef335b0 5913 ,@%glib-or-gtk-build-system-modules)
9365ee1c 5914 #:phases (modify-phases %standard-phases
9af6bce1
CB
5915 (add-after 'install 'wrap-program
5916 (lambda* (#:key outputs #:allow-other-keys)
5917 (let ((out (assoc-ref outputs "out"))
5918 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5919 (wrap-program (string-append out "/bin/gnome-tweak-tool")
5920 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5921 #t))
9365ee1c
JN
5922 (add-after 'install 'wrap
5923 (@@ (guix build python-build-system) wrap)))))
5924 (native-inputs
5925 `(("intltool" ,intltool)
5926 ("pkg-config" ,pkg-config)))
5927 (inputs
5928 `(("python" ,python-2)
adb41527 5929 ("python2-pygobject" ,python2-pygobject)
fab2784d
CB
5930 ("gnome-desktop" ,gnome-desktop)
5931 ("libsoup" ,libsoup)
adb41527 5932 ("libnotify" ,libnotify)
9365ee1c
JN
5933 ("gobject-introspection" ,gobject-introspection)
5934 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5935 ("gtk+" ,gtk+)))
5936 (synopsis "Customize advanced GNOME 3 options")
5937 (home-page "https://wiki.gnome.org/action/show/Apps/GnomeTweakTool")
5938 (description
5939 "GNOME Tweak Tool allows adjusting advanced configuration settings in
5940GNOME 3. This includes things like the fonts used in user interface elements,
5941alternative user interface themes, changes in window management behavior,
5942GNOME Shell appearance and extension, etc.")
5943 (license license:gpl3+)))
813f814a 5944
32ac717c
DT
5945(define-public gnome-shell-extensions
5946 (package
5947 (name "gnome-shell-extensions")
a5b5fcae 5948 (version "3.24.2")
32ac717c
DT
5949 (source (origin
5950 (method url-fetch)
5951 (uri (string-append "mirror://gnome/sources/" name "/"
5952 (version-major+minor version) "/"
5953 name "-" version ".tar.xz"))
5954 (sha256
5955 (base32
a5b5fcae 5956 "10sg87wml5cmyk90pybnr6r942ba7173sl7yplhj2sfggp0wc74s"))))
32ac717c
DT
5957 (build-system gnu-build-system)
5958 (arguments
5959 '(#:configure-flags '("--enable-extensions=all")))
5960 (native-inputs
5961 `(("intltool" ,intltool)
5962 ("pkg-config" ,pkg-config)))
5963 (propagated-inputs
5964 `(("glib" ,glib)
5965 ("glib" ,glib "bin")))
5966 (synopsis "Extensions for GNOME Shell")
5967 (description "GNOME Shell extensions modify and extend GNOME Shell
5968functionality and behavior.")
5969 (home-page "https://extensions.gnome.org/")
5970 (license license:gpl3+)))
5971
813f814a
DT
5972(define-public arc-theme
5973 (package
5974 (name "arc-theme")
7967efc1 5975 (version "20170302")
813f814a
DT
5976 (source (origin
5977 (method url-fetch)
5978 (uri (string-append "https://github.com/horst3180/arc-theme"
5979 "/archive/" version ".tar.gz"))
5980 (file-name (string-append name "-" version ".tar.gz"))
5981 (sha256
5982 (base32
7967efc1 5983 "0igxpngnkf1wpsg872a9jg3c9f5z8afm312yfbillz16mk8w39cw"))))
813f814a
DT
5984 (build-system gnu-build-system)
5985 (arguments
5986 '(#:phases
5987 (modify-phases %standard-phases
5988 (add-after 'unpack 'bootstrap
5989 (lambda _
5990 (zero? (system* "autoreconf" "-vif")))))))
5991 (native-inputs
5992 `(("autoconf" ,autoconf)
5993 ("automake" ,automake)
5994 ("pkg-config" ,pkg-config)))
5995 (inputs
5996 `(("gtk+" ,gtk+)))
5997 (synopsis "A flat GTK+ theme with transparent elements")
5998 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
59992, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
6000like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
6001 (home-page "https://github.com/horst3180/arc-theme")
6002 ;; No "or later" language found.
6003 (license license:gpl3)))
9987c57c
DT
6004
6005(define-public moka-icon-theme
6006 (package
6007 (name "moka-icon-theme")
e4e52509 6008 (version "5.3.6")
9987c57c
DT
6009 (source (origin
6010 (method url-fetch)
6011 (uri (string-append "https://github.com/moka-project"
6012 "/moka-icon-theme/archive/v"
6013 version ".tar.gz"))
6014 (file-name (string-append name "-" version ".tar.gz"))
6015 (sha256
6016 (base32
e4e52509 6017 "04axinv79qnngsxkwqzi5j9lc3hn24rjqps5ai8d42pdnfaf0x37"))))
9987c57c
DT
6018 (build-system gnu-build-system)
6019 (arguments
6020 '(#:phases
6021 (modify-phases %standard-phases
6022 (add-after 'unpack 'patch-makefile.am
6023 (lambda _
6024 (substitute* '("Makefile.am")
6025 (("\\$\\(DESTDIR\\)/usr/share")
6026 "$(datadir)"))
6027 #t))
6028 (add-after 'patch-makefile.am 'bootstrap
6029 (lambda _
6030 (zero? (system* "autoreconf" "-vif")))))))
6031 (native-inputs
6032 `(("autoconf" ,autoconf)
6033 ("automake" ,automake)))
6034 (synopsis "Moka icon theme")
6035 (description "Moka is a stylized desktop icon set, designed to be clear,
6036simple and consistent.")
6037 (home-page "http://snwh.org/moka")
6038 (license license:gpl3+)))
6fd8f8d6
DT
6039
6040(define-public arc-icon-theme
6041 (package
6042 (name "arc-icon-theme")
c4180240 6043 (version "20161122")
6fd8f8d6
DT
6044 (source (origin
6045 (method url-fetch)
6046 (uri (string-append "https://github.com/horst3180/arc-icon-theme"
6047 "/archive/" version ".tar.gz"))
6048 (file-name (string-append name "-" version ".tar.gz"))
6049 (sha256
6050 (base32
c4180240 6051 "1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b"))))
6fd8f8d6
DT
6052 (build-system gnu-build-system)
6053 (arguments
6054 '(#:phases
6055 (modify-phases %standard-phases
6056 (add-after 'unpack 'bootstrap
6057 (lambda _
6058 (zero? (system* "autoreconf" "-vif")))))))
6059 (native-inputs
6060 `(("autoconf" ,autoconf)
6061 ("automake" ,automake)))
6062 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
6063 (propagated-inputs
6064 `(("moka-icon-theme" ,moka-icon-theme)))
6065 (synopsis "Arc icon theme")
6066 (description "The Arc icon theme provides a set of icons matching the
6067style of the Arc GTK theme. Icons missing from the Arc theme are provided by
6068the Moka icon theme.")
6069 (home-page "https://github.com/horst3180/arc-icon-theme")
6070 (license license:gpl3+)))
6064a4e8
LF
6071
6072(define-public folks
6073 (package
6074 (name "folks")
6075 (version "0.11.2")
6076 (source (origin
6077 (method url-fetch)
6078 (uri (string-append
6079 "mirror://gnome/sources/" name "/"
6080 (version-major+minor version) "/"
6081 name "-" version ".tar.xz"))
6082 (sha256
6083 (base32
6084 "1f51albxgfqxbax57i3pcgv2fx7i419xaapzdvldas6gw100ma1m"))))
6085 (build-system glib-or-gtk-build-system)
6086 (inputs
6087 `(("bdb" ,bdb)
6088 ("dbus-glib" ,dbus-glib)
6089 ("evolution-data-server" ,evolution-data-server)
6090 ("glib" ,glib)
6091 ("libgee" ,libgee)
6092 ("telepathy-glib" ,telepathy-glib)))
6093 (native-inputs
6094 `(("gobject-introspection" ,gobject-introspection)
6095 ("intltool" ,intltool)
6096 ("pkg-config" ,pkg-config)
6097 ("vala" ,vala)))
6098 (synopsis "Library to aggregate data about people")
6099 (description "Libfolks is a library that aggregates information about people
6100from multiple sources (e.g., Telepathy connection managers for IM contacts,
6101Evolution Data Server for local contacts, libsocialweb for web service contacts,
6102etc.) to create metacontacts. It's written in Vala, which generates C code when
6103compiled.")
6104 (home-page "https://wiki.gnome.org/Projects/Folks")
6105 (license license:lgpl2.1+)))
01ea778f
LF
6106
6107(define-public gfbgraph
6108 (package
6109 (name "gfbgraph")
6110 (version "0.2.3")
6111 (source (origin
6112 (method url-fetch)
6113 (uri (string-append
6114 "mirror://gnome/sources/" name "/"
6115 (version-major+minor version) "/"
6116 name "-" version ".tar.xz"))
6117 (sha256
6118 (base32
6119 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
6120 (build-system glib-or-gtk-build-system)
6121 (arguments
6122 `(#:tests? #f ; Tests appear to require the network.
6123 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
6124 #:configure-flags '("--disable-gtk-doc"
6125 "--disable-static"
6126 "--enable-introspection")))
6127 (native-inputs
6128 `(("pkg-config" ,pkg-config)
6129 ("gobject-introspection" ,gobject-introspection)))
6130 (inputs
6131 `(("json-glib" ,json-glib)
6132 ("gnome-online-accounts" ,gnome-online-accounts)
6133 ("rest" ,rest)))
6134 (synopsis "GLib/GObject wrapper for the Facebook API")
6135 (description "This library allows you to use the Facebook API from
6136GLib/GObject code.")
6137 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
6138 (license license:lgpl2.1+)))
3920868c 6139
6140(define-public libgnomekbd
6141 (package
6142 (name "libgnomekbd")
47b93ae5 6143 (version "3.22.0.1")
3920868c 6144 (source (origin
6145 (method url-fetch)
6146 (uri (string-append "mirror://gnome/sources/" name "/"
6147 (version-major+minor version) "/"
6148 name "-" version ".tar.xz"))
6149 (sha256
6150 (base32
47b93ae5 6151 "1plkkack6s8b21gcmmly0lapgcjz53dmw2vixnn4rw4jxjwbdzaf"))))
3920868c 6152 (build-system gnu-build-system)
6153 (native-inputs
6154 `(("pkg-config" ,pkg-config)
6155 ("glib" ,glib "bin")
6156 ("intltool" ,intltool)))
6157 (propagated-inputs
6158 ;; Referred to in .h files and .pc.
6159 `(("glib" ,glib)
6160 ("gtk+" ,gtk+)
6161 ("libxklavier" ,libxklavier)))
6162 (home-page "https://www.gnome.org")
6163 (synopsis "GNOME keyboard configuration library")
6164 (description
6165 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
6166environment, which can notably display keyboard layouts.")
6167 (license license:lgpl2.0+)))
85327d0d 6168
6169;;; This package is no longer maintained:
6170;;; https://wiki.gnome.org/Attic/LibUnique
6171;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
6172;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
6173(define-public libunique
6174 (package
6175 (name "libunique")
6176 (version "3.0.2")
6177 (source (origin
6178 (method url-fetch)
6179 (uri (string-append "mirror://gnome/sources/" name "/"
6180 (version-major+minor version) "/"
6181 name "-" version ".tar.xz"))
6182 (sha256
6183 (base32
6184 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
6185 (build-system glib-or-gtk-build-system)
6186 (arguments
6187 `(#:configure-flags '("--disable-static"
6188 "--disable-dbus" ; use gdbus
6189 "--enable-introspection")))
6190 (native-inputs
6191 `(("pkg-config" ,pkg-config)
6192 ("gobject-introspection" ,gobject-introspection)
6193 ("glib:bin" ,glib "bin")
6194 ("gtk-doc" ,gtk-doc)))
6195 (propagated-inputs
6196 ;; Referred to in .h files and .pc.
6197 `(("gtk+" ,gtk+)))
6198 (home-page "https://wiki.gnome.org/Attic/LibUnique")
6199 (synopsis "Library for writing single instance applications")
6200 (description
6201 "Libunique is a library for writing single instance applications. If you
6202launch a single instance application twice, the second instance will either just
6203quit or will send a message to the running instance. Libunique makes it easy to
6204write this kind of application, by providing a base class, taking care of all
6205the IPC machinery needed to send messages to a running instance, and also
6206handling the startup notification side.")
6207 (license license:lgpl2.1+)))
54021cd8
RS
6208
6209(define-public gnome-calculator
6210 (package
6211 (name "gnome-calculator")
2c2da7ec 6212 (version "3.24.0")
54021cd8
RS
6213 (source
6214 (origin
6215 (method url-fetch)
6216 (uri (string-append "mirror://gnome/sources/" name "/"
6217 (version-major+minor version) "/"
6218 name "-" version ".tar.xz"))
6219 (sha256
6220 (base32
2c2da7ec 6221 "041d40as8y0r5d0kk83dy842711zchydwwqh71kh1lpd373qlxa4"))))
54021cd8
RS
6222 (build-system glib-or-gtk-build-system)
6223 (native-inputs
6224 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
6225 ("intltool" ,intltool)
6226 ("itstool" ,itstool)
6227 ("pkg-config" ,pkg-config)))
6228 (inputs
6229 `(("gtksourceview" ,gtksourceview)
6230 ("libsoup" ,libsoup)
2c2da7ec 6231 ("mpc" ,mpc)
54021cd8
RS
6232 ("mpfr" ,mpfr)))
6233 (home-page "https://wiki.gnome.org/Apps/Calculator")
6234 (synopsis "Desktop calculator")
6235 (description
6236 "Calculator is an application that solves mathematical equations and
6237is suitable as a default application in a Desktop environment.")
6238 (license license:gpl3)))
0bd69759
RS
6239
6240(define-public xpad
6241 (package
6242 (name "xpad")
6243 (version "4.8.0")
6244 (source
6245 (origin
6246 (method url-fetch)
6247 (uri (string-append "https://launchpad.net/xpad/trunk/4.8.0/+download/"
6248 name "-" version ".tar.bz2"))
6249 (sha256
6250 (base32
6251 "17f915yyvfa2fsavq6wh0q0dfhib28b4k1gc0292b9xdlrvy7f22"))))
6252 (build-system gnu-build-system)
6253 (native-inputs
6254 `(("intltool" ,intltool)
6255 ("pkg-config" ,pkg-config)))
6256 (inputs
6257 `(("gtk+" ,gtk+)
6258 ("gtksourceview" ,gtksourceview)
6259 ("libsm" ,libsm)))
6260 (home-page "https://wiki.gnome.org/Apps/Xpad")
6261 (synopsis "Virtual sticky note")
6262 (description
6263 "Xpad is a sticky note that strives to be simple, fault tolerant,
6264and customizable. Xpad consists of independent pad windows, each is
6265basically a text box in which notes can be written.")
6266 (license license:gpl3+)))
3ad7dce1
RS
6267
6268(define-public gucharmap
6269 (package
6270 (name "gucharmap")
6271 (version "3.18.0")
6272 (source
6273 (origin
6274 (method url-fetch)
6275 (uri (string-append "mirror://gnome/sources/" name "/"
6276 (version-major+minor version) "/"
6277 name "-" version ".tar.xz"))
6278 (sha256
6279 (base32
6280 "0c1q9w5vql0vvg6g0knxfnv4ap19fg5cdrwndi1cj9lsym92c78j"))))
6281 (build-system gnu-build-system)
6282 (native-inputs
6283 `(("desktop-file-utils" ,desktop-file-utils)
6284 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
6285 ("gobject-introspection" ,gobject-introspection)
6286 ("intltool" ,intltool)
6287 ("itstool" ,itstool)
6288 ("pkg-config" ,pkg-config)))
6289 (inputs
6290 `(("gtk+" ,gtk+)
6291 ("xmllint" ,libxml2)))
6292 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
6293 (synopsis "Unicode character picker and font browser")
6294 (description
6295 "This program allows you to browse through all the available Unicode
6296characters and categories for the installed fonts, and to examine their
6297detailed properties. It is an easy way to find the character you might
6298only know by its Unicode name or code point.")
6299 (license license:gpl3+)))
04ce840a
RS
6300
6301(define-public bluefish
6302 (package
6303 (name "bluefish")
6304 (version "2.2.9")
6305 (source
6306 (origin
6307 (method url-fetch)
6308 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
6309 name "-" version ".tar.gz"))
6310 (sha256
6311 (base32
6312 "1vnl6raxbvc4hacg3pr6sqyjh707d304dhk5nyhlp7m0m1y3j756"))))
6313 (build-system gnu-build-system)
6314 (native-inputs
6315 `(("desktop-file-utils" ,desktop-file-utils)
6316 ("intltool" ,intltool)
6317 ("pkg-config" ,pkg-config)))
6318 (inputs
6319 `(("enchant" ,enchant)
6320 ("gtk+" ,gtk+)
6321 ("python" ,python-2)
6322 ("xmllint" ,libxml2)
6323 ("gucharmap" ,gucharmap)))
6324 (home-page "http://bluefish.openoffice.nl")
6325 (synopsis "Web development studio")
6326 (description
6327 "Bluefish is an editor targeted towards programmers and web developers,
6328with many options to write web sites, scripts and other code.
6329Bluefish supports many programming and markup languages.")
6330 (license license:gpl3+)))
1f6a73ee
RS
6331
6332(define-public gnome-system-monitor
6333 (package
6334 (name "gnome-system-monitor")
155f0d69 6335 (version "3.24.0")
1f6a73ee
RS
6336 (source
6337 (origin
6338 (method url-fetch)
6339 (uri (string-append "mirror://gnome/sources/" name "/"
6340 (version-major+minor version) "/"
6341 name "-" version ".tar.xz"))
6342 (sha256
6343 (base32
155f0d69 6344 "1x3343hchkllj8wyifk844v8psi45kyjhphyd03fzahi4h34aay3"))))
1f6a73ee
RS
6345 (build-system glib-or-gtk-build-system)
6346 (native-inputs
6347 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
6348 ("intltool" ,intltool)
6349 ("itstool" ,itstool)
6350 ("libgtop" ,libgtop)
6351 ("pkg-config" ,pkg-config)))
6352 (inputs
6353 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
6354 ("gtk+" ,gtk+)
6355 ("gtkmm" ,gtkmm)
6356 ("librsvg" ,librsvg)
6357 ("libxml2" ,libxml2)))
6358 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
6359 (synopsis "Process viewer and system resource monitor for GNOME")
6360 (description
6361 "GNOME System Monitor is a GNOME process viewer and system monitor with
6362an attractive, easy-to-use interface. It has features, such as a tree view
6363for process dependencies, icons for processes, the ability to hide processes,
6364graphical time histories of CPU/memory/swap usage and the ability to
6365kill/reinice processes.")
6366 (license license:gpl2+)))
3e00ac47
SB
6367
6368(define-public python-pyatspi
6369 (package
6370 (name "python-pyatspi")
6371 (version "2.24.0")
6372 (source (origin
6373 (method url-fetch)
6374 (uri (string-append
6375 "mirror://gnome/sources/pyatspi/"
6376 (version-major+minor version)
6377 "/pyatspi-" version ".tar.xz"))
6378 (sha256
6379 (base32
6380 "14m6y27ziqc9f6339gjz49mlsk6mrsyg4bkj055cdzc7sfjlgvz7"))))
6381 (build-system gnu-build-system)
6382 (native-inputs
6383 `(("pkg-config" ,pkg-config)))
6384 (inputs
6385 `(("python" ,python)
6386 ("python-pygobject" ,python-pygobject)))
6387 (synopsis "Python client bindings for D-Bus AT-SPI")
6388 (home-page "https://wiki.linuxfoundation.org/accessibility\
6389/atk/at-spi/at-spi_on_d-bus")
6390 (description
6391 "This package includes a python client library for the AT-SPI D-Bus
6392accessibility infrastructure.")
6393 (license license:lgpl2.0)
6394 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
6395
6396(define-public orca
6397 (package
6398 (name "orca")
6399 (version "3.24.0")
6400 (source (origin
6401 (method url-fetch)
6402 (uri (string-append
6403 "mirror://gnome/sources/" name "/"
6404 (version-major+minor version) "/"
6405 name "-" version ".tar.xz"))
6406 (sha256
6407 (base32
6408 "1la6f815drykrgqf791jx1dda6716cfv6052frqp7nhjxr75xg97"))))
6409 (build-system glib-or-gtk-build-system)
6410 (arguments
6411 '(#:phases
6412 (modify-phases %standard-phases
6413 (add-before 'configure 'qualify-xkbcomp
6414 (lambda* (#:key inputs #:allow-other-keys)
6415 (let ((xkbcomp (string-append
6416 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
6417 (substitute* "src/orca/orca.py"
6418 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
6419 #t))
6420 (add-after 'install 'wrap-orca
6421 (lambda* (#:key outputs #:allow-other-keys)
6422 (let* ((out (assoc-ref outputs "out"))
6423 (prog (string-append out "/bin/orca")))
6424 (wrap-program prog
6425 `("GI_TYPELIB_PATH" ":" prefix
6426 (,(getenv "GI_TYPELIB_PATH")))
6427 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
6428 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
6429 `("PYTHONPATH" ":" prefix
6430 (,(getenv "PYTHONPATH")))))
6431 #t)))))
6432 (native-inputs
6433 `(("intltool" ,intltool)
6434 ("itstool" ,itstool)
6435 ("pkg-config" ,pkg-config)
6436 ("xmllint" ,libxml2)))
6437 (inputs
6438 `(("at-spi2-atk" ,at-spi2-atk)
6439 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6440 ("gstreamer" ,gstreamer)
6441 ("gst-plugins-base" ,gst-plugins-base)
6442 ("gst-plugins-good" ,gst-plugins-good)
6443 ("gtk+" ,gtk+)
6444 ("python" ,python)
6445 ("python-pygobject" ,python-pygobject)
6446 ("python-pyatspi" ,python-pyatspi)
6447 ("python-speechd" ,speech-dispatcher)
6448 ("xkbcomp" ,xkbcomp)))
6449 (synopsis
6450 "Screen reader for individuals who are blind or visually impaired")
6451 (home-page "https://wiki.gnome.org/Projects/Orca")
6452 (description
6453 "Orca is a screen reader that provides access to the graphical desktop
6454via speech and refreshable braille. Orca works with applications and toolkits
6455that support the Assistive Technology Service Provider Interface (AT-SPI).")
6456 (license license:lgpl2.1+)))
411ba511
LC
6457
6458(define-public gspell
6459 (package
6460 (name "gspell")
9f9d2a72 6461 (version "1.4.2")
411ba511
LC
6462 (source (origin
6463 (method url-fetch)
6464 (uri (string-append "mirror://gnome/sources/" name "/"
6465 (version-major+minor version) "/"
6466 name "-" version ".tar.xz"))
6467 (sha256
6468 (base32
9f9d2a72 6469 "1683vyyfq3q0ph665jj6id8hnlyid4qxzmqiwpv97gmz8zksg6x5"))
411ba511
LC
6470 (patches (search-patches "gspell-dash-test.patch"))))
6471 (build-system glib-or-gtk-build-system)
6472 (arguments
6473 '(#:phases
6474 (modify-phases %standard-phases
6475 (add-before 'check 'pre-check
6476 (lambda* (#:key inputs #:allow-other-keys)
6477 ;; Tests require a running X server.
6478 (system "Xvfb :1 &")
6479 (setenv "DISPLAY" ":1")
6480
6481 ;; For the missing /etc/machine-id.
6482 (setenv "DBUS_FATAL_WARNINGS" "0")
6483
6484 ;; Allow Enchant and its Aspell backend to find the en_US
6485 ;; dictionary.
6486 (setenv "ASPELL_DICT_DIR"
6487 (string-append (assoc-ref inputs "aspell-dict-en")
6488 "/lib/aspell"))
6489 #t)))))
6490 (inputs
eccd35be 6491 `(("gtk+" ,gtk+)
a801ae4c
TGR
6492 ("glib" ,glib)
6493 ("iso-codes" ,iso-codes)))
411ba511
LC
6494 (native-inputs
6495 `(("glib" ,glib "bin")
6496 ("pkg-config" ,pkg-config)
6497 ("xmllint" ,libxml2)
6498
6499 ;; For tests.
a801ae4c
TGR
6500 ("aspell-dict-en" ,aspell-dict-en)
6501 ("xorg-server" ,xorg-server)))
eccd35be
TGR
6502 (propagated-inputs
6503 `(("enchant" ,enchant))) ; enchant.pc is required by gspell-1.pc
411ba511
LC
6504 (home-page "https://wiki.gnome.org/Projects/gspell")
6505 (synopsis "GNOME's alternative spell checker")
6506 (description
6507 "gspell provides a flexible API to add spell-checking to a GTK+
6508application. It provides a GObject API, spell-checking to text entries and
6509text views, and buttons to choose the language.")
6510 (license license:gpl2+)))
d1d739fa
CM
6511
6512(define-public gnome-planner
6513 (package
6514 (name "gnome-planner")
6515 (version "0.14.6")
6516 (source (origin
6517 (method url-fetch)
6518 (uri (string-append "mirror://gnome/sources/planner/"
6519 (version-major+minor version) "/planner-"
6520 version ".tar.xz"))
6521 (sha256
6522 (base32
6523 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
6524 (build-system glib-or-gtk-build-system)
6525 (arguments
6526 ;; Disable the Python bindings because the Planner program functions
6527 ;; without them, and (as of 2017-06-13) we have not packaged all of
6528 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
6529 `(#:configure-flags
6530 (list "--disable-python"
6531 ,@(if (string=? "aarch64-linux" (%current-system))
6532 '("--build=aarch64-unknown-linux-gnu")
6533 '()))))
d1d739fa
CM
6534 (inputs
6535 `(("libgnomecanvas" ,libgnomecanvas)
6536 ("libgnomeui" ,libgnomeui)
6537 ("libglade" ,libglade)
6538 ("gnome-vfs" ,gnome-vfs)
6539 ("gconf" ,gconf)
6540 ("libxml2" ,libxml2)
6541 ("libxslt" ,libxslt)
6542 ("gtk+" ,gtk+)
6543 ("glib" ,glib)))
6544 (native-inputs
6545 `(("intltool" ,intltool)
6546 ("scrollkeeper" ,scrollkeeper)
6547 ("pkg-config" ,pkg-config)))
6548 (home-page "https://wiki.gnome.org/Apps/Planner")
6549 (synopsis "Project management software for the GNOME desktop")
6550 (description
6551 "GNOME Planner is a project management tool based on the Work Breakdown
6552Structure (WBS). Its goal is to enable you to easily plan projects. Based on
6553the resources, tasks, and constraints that you define, Planner generates
6554various views into a project. For example, Planner can show a Gantt chart of
6555the project. It can show a detailed summary of tasks including their
6556duration, cost, and current progress. It can also show a report of resource
6557utilization that highlights under-utilized and over-utilized resources. These
6558views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 6559 (license license:gpl2+)))
64fce637
RS
6560
6561(define-public lollypop
6562 (package
6563 (name "lollypop")
3592a572 6564 (version "0.9.244")
64fce637
RS
6565 (source
6566 (origin
6567 (method url-fetch)
6568 (uri (string-append "https://github.com/gnumdk/lollypop/"
6569 "releases/download/" version "/"
6570 name "-" version ".tar.xz"))
6571 (sha256
6572 (base32
3592a572 6573 "0y9nmwrplz4mlvc2badfbyjj97ksn6qqis3rgm8lvp5llsk1583w"))))
64fce637
RS
6574 (build-system glib-or-gtk-build-system)
6575 (arguments
6576 `(#:imported-modules ((guix build python-build-system)
6577 ,@%glib-or-gtk-build-system-modules)
6578 #:phases (modify-phases %standard-phases
6579 (add-after 'install 'wrap-program
6580 (lambda* (#:key outputs #:allow-other-keys)
6581 (let ((out (assoc-ref outputs "out"))
6582 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6583 (wrap-program (string-append out "/bin/lollypop")
6584 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6585 #t))
6586 (add-after 'install 'wrap
6587 (@@ (guix build python-build-system) wrap)))))
6588 (native-inputs
6589 `(("intltool" ,intltool)
6590 ("itstool" ,itstool)
6591 ("pkg-config" ,pkg-config)))
6592 (inputs
6593 `(("gobject-introspection" ,gobject-introspection)
6594 ("gtk+" ,gtk+)
6595 ("libnotify" ,libnotify)
6596 ("libsecret" ,libsecret)
6597 ("libsoup" ,libsoup)
6598 ("python" ,python)
6599 ("python-beautifulsoup4" ,python-beautifulsoup4)
6600 ("python-gst" ,python-gst)
6601 ("python-pycairo" ,python-pycairo)
6602 ("python-pygobject" ,python-pygobject)
6603 ("python-pylast" ,python-pylast)
6604 ("totem-pl-parser" ,totem-pl-parser)
6605 ("webkitgtk" ,webkitgtk)))
6606 (propagated-inputs
6607 `(;; gst-plugins-base is required to start Lollypop,
6608 ;; the others are required to play streaming.
6609 ("gst-plugins-base" ,gst-plugins-base)
6610 ("gst-plugins-good" ,gst-plugins-good)
6611 ("gst-plugins-ugly" ,gst-plugins-ugly)))
6612 (home-page "https://gnumdk.github.io/lollypop-web")
6613 (synopsis "GNOME music playing application")
6614 (description
6615 "Lollypop is a music player designed to play well with GNOME desktop.
6616Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
6617from artists and tracks from the web. It also fetches cover artworks
6618automatically and it can stream songs from online music services and charts.")
6619 (license license:gpl3+)))