gnu: xf86-video-siliconmotion: Fix building on aarch64.
[jackhill/guix/guix.git] / gnu / packages / gnome.scm
CommitLineData
995b7261 1;;; GNU Guix --- Functional package management for GNU
109da1c0 2;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
89e34644 3;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
29a7c98a 4;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
7108425c 5;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
58d32305 6;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
8b877545 7;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
7aab13f1 8;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
88f70665 9;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
1e7464a9 10;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
49586905 11;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
8344a85e 12;;; Copyright © 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
293ff8b2 13;;; Copyright © 2015 David Thompson <davet@gnu.org>
5a6527e4 14;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
cc3bc027 15;;; Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org>
3c697ffd 16;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
adc5cb1b 17;;; Copyright © 2016, 2017 Kei Kebreau <kei@openmailbox.org>
277a7d82 18;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
a56be436 19;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
6064a4e8 20;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
71d9b980 21;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
3920868c 22;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
e5e1df4d 23;;; Copyright © 2016 David Craven <david@craven.ch>
d1e4ad1b 24;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
cce0da5e 25;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
d04687dc 26;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
b6821ee0 27;;; Copyright © 2017 nee <nee-git@hidamari.blue>
d1d739fa 28;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
995b7261
AE
29;;;
30;;; This file is part of GNU Guix.
31;;;
32;;; GNU Guix is free software; you can redistribute it and/or modify it
33;;; under the terms of the GNU General Public License as published by
34;;; the Free Software Foundation; either version 3 of the License, or (at
35;;; your option) any later version.
36;;;
37;;; GNU Guix is distributed in the hope that it will be useful, but
38;;; WITHOUT ANY WARRANTY; without even the implied warranty of
39;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40;;; GNU General Public License for more details.
41;;;
42;;; You should have received a copy of the GNU General Public License
43;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
44
45(define-module (gnu packages gnome)
b5b73a82 46 #:use-module ((guix licenses) #:prefix license:)
995b7261
AE
47 #:use-module (guix packages)
48 #:use-module (guix download)
4a526711 49 #:use-module (guix git-download)
29a7c98a 50 #:use-module (guix utils)
743aebd7 51 #:use-module (guix build-system cmake)
995b7261 52 #:use-module (guix build-system gnu)
121de2e1 53 #:use-module (guix build-system glib-or-gtk)
dc050251 54 #:use-module (guix build-system trivial)
ed19903d 55 #:use-module (gnu packages)
ba5dd105 56 #:use-module (gnu packages admin)
411ba511 57 #:use-module (gnu packages aspell)
75016d07 58 #:use-module (gnu packages autotools)
7b212526 59 #:use-module (gnu packages avahi)
6a180f6f 60 #:use-module (gnu packages base)
5698b8b8 61 #:use-module (gnu packages bison)
df217748 62 #:use-module (gnu packages calendar)
df12f04a 63 #:use-module (gnu packages check)
d61a894b 64 #:use-module (gnu packages cmake)
23a22af6 65 #:use-module (gnu packages cups)
6e1bb642 66 #:use-module (gnu packages curl)
c3f29bc9 67 #:use-module (gnu packages cyrus-sasl)
6e1bb642 68 #:use-module (gnu packages databases)
c769cf9f 69 #:use-module (gnu packages djvu)
ba5dd105 70 #:use-module (gnu packages dns)
d1d739fa 71 #:use-module (gnu packages documentation)
121de2e1 72 #:use-module (gnu packages flex)
b4ce6300 73 #:use-module (gnu packages docbook)
329d731b 74 #:use-module (gnu packages enchant)
a56be436 75 #:use-module (gnu packages fontutils)
dfc407f3 76 #:use-module (gnu packages game-development)
fed5a689 77 #:use-module (gnu packages gettext)
995b7261 78 #:use-module (gnu packages glib)
c1354b90 79 #:use-module (gnu packages gnupg)
23a22af6 80 #:use-module (gnu packages gnuzilla)
85f5dc19 81 #:use-module (gnu packages gstreamer)
d9c1a22b 82 #:use-module (gnu packages gtk)
df217748 83 #:use-module (gnu packages gperf)
6b888eff 84 #:use-module (gnu packages guile)
34b979b9 85 #:use-module (gnu packages openldap)
c1354b90 86 #:use-module (gnu packages pdf)
75016d07 87 #:use-module (gnu packages polkit)
5698b8b8 88 #:use-module (gnu packages popt)
c1354b90 89 #:use-module (gnu packages ghostscript)
b645146f 90 #:use-module (gnu packages ibus)
9cc98f8a 91 #:use-module (gnu packages iso-codes)
85f5dc19 92 #:use-module (gnu packages libcanberra)
b64e217f 93 #:use-module (gnu packages libunistring)
88f70665 94 #:use-module (gnu packages linux)
75016d07 95 #:use-module (gnu packages libusb)
4e3fc547 96 #:use-module (gnu packages lirc)
7b212526 97 #:use-module (gnu packages lua)
e55354b8 98 #:use-module (gnu packages image)
ae792dba 99 #:use-module (gnu packages imagemagick)
64fce637 100 #:use-module (gnu packages music)
ba5dd105 101 #:use-module (gnu packages networking)
b645146f 102 #:use-module (gnu packages password-utils)
de1215e2 103 #:use-module (gnu packages pcre)
27477d2d 104 #:use-module (gnu packages perl)
f70d8383 105 #:use-module (gnu packages photo)
995b7261 106 #:use-module (gnu packages pkg-config)
23a22af6 107 #:use-module (gnu packages pulseaudio)
995b7261 108 #:use-module (gnu packages python)
cce0da5e 109 #:use-module (gnu packages rdesktop)
75016d07 110 #:use-module (gnu packages scanner)
240cee8a 111 #:use-module (gnu packages selinux)
c27e02bf 112 #:use-module (gnu packages slang)
4a1bf090 113 #:use-module (gnu packages ssh)
85f5dc19 114 #:use-module (gnu packages xml)
200726ed 115 #:use-module (gnu packages gl)
1dd26275 116 #:use-module (gnu packages compression)
cce0da5e 117 #:use-module (gnu packages spice)
8f9ac901 118 #:use-module (gnu packages tex)
a7fd7b68 119 #:use-module (gnu packages tls)
6e1bb642 120 #:use-module (gnu packages web)
4a79e256 121 #:use-module (gnu packages webkit)
b64e217f 122 #:use-module (gnu packages xiph)
fecbf86e 123 #:use-module (gnu packages xorg)
ea57378f 124 #:use-module (gnu packages xdisorg)
ba421ab7 125 #:use-module (gnu packages freedesktop)
1e7464a9 126 #:use-module (gnu packages mail)
89e34644 127 #:use-module (gnu packages kerberos)
54021cd8 128 #:use-module (gnu packages multiprecision)
1e7464a9
DH
129 #:use-module (gnu packages backup)
130 #:use-module (gnu packages nettle)
c024ae36 131 #:use-module (gnu packages ncurses)
3dc8828f
SB
132 #:use-module (gnu packages video)
133 #:use-module (gnu packages cdrom)
134 #:use-module (gnu packages samba)
f47ba77e 135 #:use-module (gnu packages readline)
0bd3597b 136 #:use-module (gnu packages fonts)
53201c0d 137 #:use-module (gnu packages speech)
59132b80 138 #:use-module (gnu packages virtualization)
c024ae36 139 #:use-module (srfi srfi-1))
85f5dc19
AE
140
141(define-public brasero
142 (package
143 (name "brasero")
e2bf423a 144 (version "3.12.2")
85f5dc19
AE
145 (source (origin
146 (method url-fetch)
e8627cd9
DH
147 (uri (string-append "mirror://gnome/sources/" name "/"
148 (version-major+minor version) "/"
149 name "-" version ".tar.xz"))
85f5dc19
AE
150 (sha256
151 (base32
e2bf423a 152 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 153 (build-system glib-or-gtk-build-system)
e8627cd9
DH
154 (arguments
155 `(#:configure-flags (list
156 (string-append "--with-girdir="
157 (assoc-ref %outputs "out")
158 "/share/gir-1.0")
159 (string-append "--with-typelibdir="
160 (assoc-ref %outputs "out")
ce426deb
TD
161 "/lib/girepository-1.0"))
162 #:phases
163 (modify-phases %standard-phases
164 (add-before 'configure 'embed-growisofs
165 (lambda* (#:key inputs #:allow-other-keys)
166 (substitute* "plugins/growisofs/burn-growisofs.c"
167 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 168 #t)))))
85f5dc19
AE
169 (propagated-inputs
170 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
171 (native-inputs
172 `(("intltool" ,intltool)
426adbe8 173 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 174 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 175 ("pkg-config" ,pkg-config)))
85f5dc19 176 (inputs
ce426deb
TD
177 `(("dvd+rw-tools" ,dvd+rw-tools)
178 ("glib" ,glib)
85f5dc19
AE
179 ("gnome-doc-utils" ,gnome-doc-utils)
180 ("gstreamer" ,gstreamer)
181 ("gst-plugins-base" ,gst-plugins-base)
182 ("gtk+" ,gtk+)
85f5dc19
AE
183 ("itstool" ,itstool)
184 ("libcanberra" ,libcanberra)
185 ("libice" ,libice)
186 ("libnotify" ,libnotify)
187 ("libsm" ,libsm)
e8627cd9
DH
188 ("libxml2" ,libxml2)
189 ("nettle" ,nettle)
190 ("totem-pl-parser" ,totem-pl-parser)))
85f5dc19
AE
191 (home-page "https://projects.gnome.org/brasero/")
192 (synopsis "CD/DVD burning tool for Gnome")
193 (description "Brasero is an application to burn CD/DVD for the Gnome
194Desktop. It is designed to be as simple as possible and has some unique
195features to enable users to create their discs easily and quickly.")
1dd26275 196 (license license:gpl2+)))
995b7261 197
d61a894b
CB
198(define-public deja-dup
199 (package
200 (name "deja-dup")
201 (version "34.3")
202 (source (origin
203 (method url-fetch)
204 (uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz")
205 (sha256
206 (base32
207 "1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9"))
208 (patches
209 (search-patches "deja-dup-use-ref-keyword-for-iter.patch"))))
210 (build-system glib-or-gtk-build-system)
211 (arguments
212 `(#:modules ((guix build gnu-build-system)
213 ((guix build cmake-build-system) #:prefix cmake:)
214 (guix build glib-or-gtk-build-system)
215 (guix build utils))
216 #:imported-modules (,@%glib-or-gtk-build-system-modules
217 (guix build cmake-build-system))
218 #:test-target "test"
219 #:configure-flags (list (string-append
220 "-DCMAKE_INSTALL_FULL_DATADIR=" %output)
221 (string-append
222 "-DCMAKE_INSTALL_LIBEXECDIR=" %output))
223 #:phases
224 (modify-phases %standard-phases
225 (add-after 'unpack 'patch-lockfile-deletion
226 (lambda rest
227 (substitute* "libdeja/tools/duplicity/DuplicityInstance.vala"
228 (("/bin/rm")
229 (which "rm")))))
230 (replace 'configure
231 (assoc-ref cmake:%standard-phases 'configure))
232 (delete 'check) ;; Fails due to issues with DBus
233 (add-after 'install 'wrap-deja-dup
234 (lambda* (#:key inputs outputs #:allow-other-keys)
235 (let ((python (assoc-ref inputs "python"))
236 (python-path (getenv "PYTHONPATH"))
237 (duplicity (assoc-ref inputs "duplicity"))
238 (out (assoc-ref outputs "out")))
239 (for-each
240 (lambda (program)
241 (wrap-program program
242 `("PATH" ":" prefix (,(string-append python "/bin")
243 ,(string-append duplicity "/bin"))))
244 (wrap-program program
245 `("PYTHONPATH" ":" prefix (,python-path))))
246
247 (find-files (string-append out "/bin")))
248 #t))))))
249 (inputs
250 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
251 ("gobject-introspection" ,gobject-introspection)
252 ("duplicity" ,duplicity)
253 ("python" ,python2-minimal)
254 ("python-pygobject" ,python2-pygobject)
255 ("gtk+" ,gtk+)
256 ("libnotify" ,libnotify)
257 ("libpeas" ,libpeas)
258 ("libsecret" ,libsecret)
259 ("packagekit" ,packagekit)))
260 (native-inputs
261 `(("pkg-config" ,pkg-config)
262 ("vala" ,vala)
263 ("gettext" ,gettext-minimal)
264 ("itstool" ,itstool)
265 ("intltool" ,intltool)
266 ("cmake", cmake)))
267 (home-page "https://launchpad.net/deja-dup")
268 (synopsis "Simple backup tool, for regular encrypted backups")
269 (description
270 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
271uses duplicity as the backend, which supports incremental backups and storage
272either on a local, or remote machine via a number of methods.")
273 (license license:gpl3+)))
274
a56be436
RJ
275(define-public dia
276 ;; This version from GNOME's repository includes fixes for compiling with
277 ;; recent versions of the build tools. The latest activity on the
278 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
279 ;; fixes in 2016.
280 (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
281 (package
282 (name "dia")
283 (version (string-append "0.97.2-" (string-take commit 7)))
284 (source (origin
285 (method git-fetch)
286 (uri (git-reference
287 (url "https://git.gnome.org/browse/dia")
288 (commit commit)))
289 (file-name (string-append name "-" version "-checkout"))
290 (sha256
291 (base32
292 "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
293 (build-system gnu-build-system)
294 (inputs
295 `(("glib" ,glib "bin")
296 ("pango" ,pango)
297 ("gdk-pixbuf" ,gdk-pixbuf)
298 ("gtk+" ,gtk+-2)
299 ("libxml2" ,libxml2)
300 ("freetype" ,freetype)
301 ("libart-lgpl" ,libart-lgpl)))
302 (native-inputs
303 `(("intltool" ,intltool)
304 ("pkg-config" ,pkg-config)
305 ("automake" ,automake)
306 ("autoconf" ,autoconf)
307 ("libtool" ,libtool)
308 ("perl" ,perl)
309 ("python-wrapper" ,python-wrapper)))
310 (arguments
311 `(#:phases
312 (modify-phases %standard-phases
313 (add-before 'configure 'run-autogen
314 (lambda _
315 (system* "sh" "autogen.sh"))))))
316 (home-page "https://wiki.gnome.org/Apps/Dia")
317 (synopsis "Diagram creation for GNOME")
318 (description "Dia can be used to draw different types of diagrams, and
319includes support for UML static structure diagrams (class diagrams), entity
320relationship modeling, and network diagrams. The program supports various file
321formats like PNG, SVG, PDF and EPS.")
322 (license license:gpl2+))))
323
adc5cb1b
KK
324(define-public libgdata
325 (package
326 (name "libgdata")
327 (version "0.16.1")
328 (source (origin
329 (method url-fetch)
330 (uri (string-append "mirror://gnome/sources/" name "/"
331 (version-major+minor version) "/"
332 name "-" version ".tar.xz"))
333 (sha256
334 (base32
335 "09q8h1129xjpw33rvzz7856drygxwlm0s64z9cm0vbmjxiqy0h47"))
336 (patches
337 (search-patches "libgdata-fix-tests.patch"
338 "libgdata-glib-duplicate-tests.patch"))))
339 (build-system gnu-build-system)
340 (arguments
341 '(#:phases
342 (modify-phases %standard-phases
343 (add-before 'check 'use-empty-ssl-cert-file
344 (lambda _
345 ;; The ca-certificates.crt is not available in the build
346 ;; environment.
347 (setenv "SSL_CERT_FILE" "/dev/null")
448052b7
TGR
348 #t))
349 (add-before 'check 'disable-failing-tests
350 (lambda _
351 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
352 ;; They have been removed in libgdata 0.17.6, so just do the same.
353 (substitute* "gdata/tests/Makefile"
354 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
355 #t)))))
356 (native-inputs
357 `(("glib:bin" ,glib "bin")
358 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
359 ("intltool" ,intltool)
360 ("pkg-config" ,pkg-config)
361 ("uhttpmock" ,uhttpmock)))
362 (inputs
363 `(("cyrus-sasl" ,cyrus-sasl)
364 ("glib" ,glib)
365 ("glib-networking" ,glib-networking)
366 ("json-glib" ,json-glib)
367 ("libsoup" ,libsoup)))
368 (propagated-inputs
369 `(("gcr" ,gcr)
370 ("gnome-online-accounts" ,gnome-online-accounts)
371 ("liboauth" ,liboauth)
372 ("libxml2" ,libxml2)))
373 (home-page "https://wiki.gnome.org/Projects/libgdata")
374 (synopsis "Library for accessing online service APIs")
375 (description
376 "libgdata is a GLib-based library for accessing online service APIs using
377the GData protocol — most notably, Google's services. It provides APIs to
378access the common Google services, and has full asynchronous support.")
379 (license license:lgpl2.1+)))
380
94e10cf4
KK
381(define-public libgxps
382 (package
383 (name "libgxps")
384 (version "0.2.5")
385 (source (origin
386 (method url-fetch)
7f10628c 387 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
388 (version-major+minor version) "/"
389 name "-" version ".tar.xz"))
390 (sha256
391 (base32
392 "184r06s8g20cfigg7m169n42jjsc9wmzzlycr4g1fxxhr72r8x9y"))))
393 (build-system gnu-build-system)
394 (native-inputs
395 `(("gobject-introspection" ,gobject-introspection)
396 ("pkg-config" ,pkg-config)))
397 (inputs
398 `(("cairo" ,cairo)
399 ("glib" ,glib)
400 ("libarchive" ,libarchive)
401 ("libjpeg" ,libjpeg)
402 ("lcms" ,lcms)
403 ("libtiff" ,libtiff)
404 ("nettle" ,nettle)))
405 (home-page "https://wiki.gnome.org/Projects/libgxps")
406 (synopsis "GObject-based library for handling and rendering XPS documents")
407 (description
408 "libgxps is a GObject-based library for handling and rendering XPS
409documents. This package also contains binaries that can convert XPS documents
410to other formats.")
411 (license license:lgpl2.1+)))
412
7aab13f1
ML
413(define-public gnome-common
414 (package
415 (name "gnome-common")
af83490d 416 (version "3.18.0")
7aab13f1
ML
417 (source
418 (origin
419 (method url-fetch)
420 (uri (string-append "mirror://gnome/sources/" name "/"
421 (version-major+minor version) "/"
422 name "-" version ".tar.xz"))
423 (sha256
424 (base32
af83490d 425 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
426 (build-system gnu-build-system)
427 (home-page "https://www.gnome.org/")
428 (synopsis "Bootstrap GNOME modules built from Git")
429 (description "gnome-common contains various files needed to bootstrap
430GNOME modules built from Git. It contains a common \"autogen.sh\" script that
431can be used to configure a source directory checked out from Git and some
432commonly used macros.")
433 (license license:gpl2+)))
434
9cc98f8a
CR
435(define-public gnome-desktop
436 (package
437 (name "gnome-desktop")
7a0d78fc 438 (version "3.24.2")
9cc98f8a
CR
439 (source
440 (origin
441 (method url-fetch)
b38e45d8
EB
442 (uri (string-append "mirror://gnome/sources/" name "/"
443 (version-major+minor version) "/"
9cc98f8a
CR
444 name "-" version ".tar.xz"))
445 (sha256
446 (base32
7a0d78fc 447 "0pkq5l1llw8gkjhfq6y58iyj6wac8dh1mc3rzjzn6nd7lrkdx8cg"))))
9cc98f8a
CR
448 (build-system gnu-build-system)
449 (native-inputs
a8340482
SB
450 `(("gobject-introspection" ,gobject-introspection)
451 ("itstool" ,itstool)
bcb354ad
SB
452 ("intltool" ,intltool)
453 ("pkg-config" ,pkg-config)
454 ("xmllint" ,libxml2)))
a8340482
SB
455 (propagated-inputs
456 ;; Required by gnome-desktop-3.0.pc.
457 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
458 ("gtk+" ,gtk+)))
9cc98f8a
CR
459 (inputs
460 `(("gdk-pixbuf" ,gdk-pixbuf)
461 ("glib" ,glib)
9cc98f8a 462 ("iso-codes" ,iso-codes)
9cc98f8a
CR
463 ("libx11" ,libx11)
464 ("libxext" ,libxext)
465 ("libxkbfile" ,libxkbfile)
466 ("libxrandr" ,libxrandr)
467 ("xkeyboard-config" ,xkeyboard-config)))
468 (home-page "https://www.gnome.org/")
469 (synopsis
35b9e423 470 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
471 (description
472 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
473on the desktop, but that cannot live in the platform for various reasons.
474There is no API or ABI guarantee, although we are doing our best to provide
475stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
476
477The gnome-about program helps find which version of GNOME is installed.")
478 ; Some bits under the LGPL.
1dd26275 479 (license license:gpl2+)))
9cc98f8a 480
995b7261
AE
481(define-public gnome-doc-utils
482 (package
483 (name "gnome-doc-utils")
484 (version "0.20.10")
485 (source
486 (origin
487 (method url-fetch)
b38e45d8
EB
488 (uri (string-append "mirror://gnome/sources/" name "/"
489 (version-major+minor version) "/"
995b7261
AE
490 name "-" version ".tar.xz"))
491 (sha256
492 (base32
493 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
494 (build-system gnu-build-system)
c4c4cc05 495 (native-inputs
995b7261 496 `(("intltool" ,intltool)
b4ce6300 497 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 498 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
499 ("libxml2" ,libxml2)
500 ("libxslt" ,libxslt)
501 ("pkg-config" ,pkg-config)
502 ("python-2" ,python-2)))
995b7261
AE
503 (home-page "https://wiki.gnome.org/GnomeDocUtils")
504 (synopsis
505 "Documentation utilities for the Gnome project")
506 (description
507 "Gnome-doc-utils is a collection of documentation utilities for the
508Gnome project. It includes xml2po tool which makes it easier to translate
509and keep up to date translations of documentation.")
1dd26275 510 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 511
6c4f7022
DC
512(define-public gnome-disk-utility
513 (package
514 (name "gnome-disk-utility")
62963f56 515 (version "3.24.1")
6c4f7022
DC
516 (source (origin
517 (method url-fetch)
518 (uri (string-append "mirror://gnome/sources/" name "/"
519 (version-major+minor version) "/"
520 name "-" version ".tar.xz"))
521 (sha256
522 (base32
62963f56 523 "18akarcbhm8djlmz49jzavc7qx8dg71gvxc9xd23p0bwjj4h93w7"))))
6c4f7022
DC
524 (build-system gnu-build-system)
525 (native-inputs
526 `(("glib:bin" ,glib "bin")
527 ("intltool" ,intltool)
528 ("pkg-config" ,pkg-config)
529 ("docbook-xml" ,docbook-xml)
530 ("docbook-xsl" ,docbook-xsl)
531 ("libxml2" ,libxml2)
532 ("libxslt" ,libxslt)))
533 (inputs
534 `(("glib" ,glib)
535 ("appstream-glib" ,appstream-glib)
536 ("gnome-settings-daemon" ,gnome-settings-daemon)
537 ("gtk+" ,gtk+)
538 ("libcanberra" ,libcanberra)
539 ("libdvdread" ,libdvdread)
540 ("libnotify" ,libnotify)
541 ("libpwquality" ,libpwquality)
542 ("libsecret" ,libsecret)
543 ("udisks" ,udisks)))
544 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
545 (synopsis "Disk management utility for GNOME")
546 (description "Disk management utility for GNOME.")
547 (license license:gpl2+)))
548
8ff49011
RW
549(define-public gcr
550 (package
551 (name "gcr")
6983ba56 552 (version "3.20.0")
8ff49011
RW
553 (source (origin
554 (method url-fetch)
555 (uri (string-append "mirror://gnome/sources/" name "/"
556 (version-major+minor version) "/"
557 name "-" version ".tar.xz"))
558 (sha256
559 (base32
85c77480
KK
560 "0ydk9dzxx6snxza7j5ps8x932hbr3x1b8hhcaqjq4w4admi2qmwh"))
561 (patches
562 (search-patches "gcr-disable-failing-tests.patch"
563 "gcr-fix-collection-tests-to-work-with-gpg-21.patch"))))
8ff49011
RW
564 (build-system gnu-build-system)
565 (arguments
85c77480 566 '(#:phases (modify-phases %standard-phases
8ff49011
RW
567 (add-before
568 'check 'pre-check
569 (lambda* (#:key inputs #:allow-other-keys)
570 (substitute* "build/tap-driver"
571 (("/usr/bin/env python") (which "python"))))))))
572 (inputs
573 `(("dbus" ,dbus)
574 ("gnupg" ,gnupg) ;called as a child process during tests
575 ("libgcrypt" ,libgcrypt)))
576 (native-inputs
577 `(("python" ,python-2) ;for tests
578 ("pkg-config" ,pkg-config)
579 ("glib" ,glib "bin")
2af4f5b0
SB
580 ("gobject-introspection" ,gobject-introspection)
581 ("intltool" ,intltool)
582 ("xsltproc" ,libxslt)))
8ff49011
RW
583 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
584 (propagated-inputs
585 `(("p11-kit" ,p11-kit)
586 ("glib" ,glib)
587 ("gtk+" ,gtk+)))
f032d0be 588 (home-page "https://www.gnome.org")
8ff49011
RW
589 (synopsis "Libraries for displaying certificates and accessing key stores")
590 (description
591 "The GCR package contains libraries used for displaying certificates and
592accessing key stores. It also provides the viewer for crypto files on the
593GNOME Desktop.")
594 (license license:lgpl2.1+)))
595
c1354b90
LC
596(define-public libgnome-keyring
597 (package
598 (name "libgnome-keyring")
5e8aec2c 599 (version "3.12.0")
c1354b90
LC
600 (source (origin
601 (method url-fetch)
b38e45d8
EB
602 (uri (string-append "mirror://gnome/sources/" name "/"
603 (version-major+minor version) "/"
604 name "-" version ".tar.xz"))
c1354b90
LC
605 (sha256
606 (base32
5e8aec2c 607 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 608 (build-system gnu-build-system)
c1354b90 609 (inputs
c4c4cc05 610 `(("libgcrypt" ,libgcrypt)
c1354b90 611 ("dbus" ,dbus)))
c4c4cc05
JD
612 (native-inputs
613 `(("pkg-config" ,pkg-config)
426adbe8 614 ("glib" ,glib "bin")
c4c4cc05 615 ("intltool" ,intltool)))
c1354b90
LC
616 (propagated-inputs
617 ;; Referred to in .h files and .pc.
618 `(("glib" ,glib)))
f032d0be 619 (home-page "https://www.gnome.org")
c1354b90
LC
620 (synopsis "Accessing passwords from the GNOME keyring")
621 (description
622 "Client library to access passwords from the GNOME keyring.")
623
624 ;; Though a couple of files are LGPLv2.1+.
1dd26275 625 (license license:lgpl2.0+)))
c1354b90 626
e99a3d6f
RW
627(define-public gnome-keyring
628 (package
629 (name "gnome-keyring")
6983ba56 630 (version "3.20.0")
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
6983ba56 638 "16gcwwcg91ipxjmiyi4c4njvnxixmv1i278p0bilc3lafk6ww5xw"))))
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"))
2126 (sha256
2127 (base32
2128 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
2129 (build-system glib-or-gtk-build-system)
2130 (native-inputs
2131 `(("pkg-config" ,pkg-config)
2132 ("intltool" ,intltool)
2133 ("itstool" ,itstool)
2134 ("glib-bin" ,glib "bin") ;for glib-compile-schemas
2135 ("gtk+-bin" ,gtk+ "bin"))) ;for gtk-update-icon-cache
2136 (inputs
2137 `(("libxml2" ,libxml2)
2138 ("gtk-vnc" ,gtk-vnc)
2139 ("gnome-keyring" ,gnome-keyring)
2140 ("libsecret" ,libsecret)
2141 ("freerdp" ,freerdp)
2142 ("spice" ,spice)
2143 ("spice-gtk" ,spice-gtk)
2144 ("telepathy-glib" ,telepathy-glib)
2145 ("vte" ,vte)))
2146 (arguments
2147 `(#:configure-flags '("--enable-rdp")))
2148 (home-page "https://wiki.gnome.org/Apps/Vinagre")
2149 (synopsis "Remote desktop viewer for GNOME")
2150 (description "Vinagre is a remote display client supporting the VNC, SPICE
2151and RDP protocols.")
2152 (license license:gpl3+)))
2153
b47e1b20
FB
2154(define-public dconf
2155 (package
2156 (name "dconf")
6983ba56 2157 (version "0.26.0")
b47e1b20
FB
2158 (source (origin
2159 (method url-fetch)
2160 (uri (string-append
2e6ecc5c 2161 "mirror://gnome/sources/" name "/"
b47e1b20
FB
2162 (version-major+minor version) "/"
2163 name "-" version ".tar.xz"))
2164 (sha256
f05c809f 2165 (base32
6983ba56 2166 "1jaqsr1r0grpd25rbsc2v3vb0sc51lia9w31wlqswgqsncp2k0w6"))))
b47e1b20
FB
2167 (build-system glib-or-gtk-build-system)
2168 (inputs
2169 `(("gtk+" ,gtk+)
2170 ("glib" ,glib)
2171 ("dbus" ,dbus)
2172 ("libxml2" ,libxml2)))
2173 (native-inputs
2174 `(("libxslt" ,libxslt)
2175 ("docbook-xml" ,docbook-xml-4.2)
2176 ("docbook-xsl" ,docbook-xsl)
2177 ("intltool" ,intltool)
2178 ("pkg-config" ,pkg-config)))
2179 (arguments
2180 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
2181 ; or /etc/machine-id.
2182 #:configure-flags
2183 ;; Set the correct RUNPATH in binaries.
2e6ecc5c 2184 (list (string-append "LDFLAGS=-Wl,-rpath="
b47e1b20
FB
2185 (assoc-ref %outputs "out") "/lib")
2186 "--disable-gtk-doc-html") ; FIXME: requires gtk-doc
2187 #:phases
2188 (alist-cons-before
2189 'configure 'fix-docbook
2190 (lambda* (#:key inputs #:allow-other-keys)
2191 (substitute* "docs/Makefile.in"
2192 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
2e6ecc5c 2193 (string-append (assoc-ref inputs "docbook-xsl")
b47e1b20
FB
2194 "/xml/xsl/docbook-xsl-"
2195 ,(package-version docbook-xsl)
2196 "/manpages/docbook.xsl")))
2e6ecc5c
AE
2197 (setenv "XML_CATALOG_FILES"
2198 (string-append (assoc-ref inputs "docbook-xml")
b47e1b20
FB
2199 "/xml/dtd/docbook/catalog.xml")))
2200 %standard-phases)))
2201 (home-page "https://developer.gnome.org/dconf")
2202 (synopsis "Low-level GNOME configuration system")
2203 (description "Dconf is a low-level configuration system. Its main purpose
2204is to provide a backend to GSettings on platforms that don't already have
2205configuration storage systems.")
2206 (license license:lgpl2.1)))
109da1c0
AE
2207
2208(define-public json-glib
2209 (package
2210 (name "json-glib")
dbf0424d 2211 (version "1.2.8")
109da1c0
AE
2212 (source (origin
2213 (method url-fetch)
2214 (uri (string-append "mirror://gnome/sources/" name "/"
2215 (version-major+minor version) "/"
2216 name "-" version ".tar.xz"))
2217 (sha256
2218 (base32
dbf0424d 2219 "02pl0wl3mf47c038bgv2r4pa6pr6y3shjhxn1l7s3rrrgl1sjmgx"))))
109da1c0
AE
2220 (build-system gnu-build-system)
2221 (native-inputs
88c6b580 2222 `(("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
2223 ("gobject-introspection" ,gobject-introspection)
2224 ("pkg-config" ,pkg-config)))
2225 (propagated-inputs
88c6b580 2226 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
2227 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
2228 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
2229 (description
2230 "JSON-GLib is a C library based on GLib providing serialization and
2231deserialization support for the JavaScript Object Notation (JSON) format
2232described by RFC 4627. It provides parser and generator GObject classes and
2233various wrappers for the complex data types employed by JSON, such as arrays
2234and objects.")
109da1c0 2235 (license license:lgpl2.1+)))
6f96a359
SB
2236
2237(define-public libxklavier
2238 (package
2239 (name "libxklavier")
2240 (version "5.3")
2241 (source (origin
2242 (method url-fetch)
2243 (uri (string-append "mirror://gnome/sources/" name "/"
2244 version "/" name "-" version ".tar.xz"))
2245 (sha256
2246 (base32
2247 "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b"))))
2248 (build-system gnu-build-system)
2249 (arguments
2250 '(#:configure-flags
2251 (list (string-append "--with-xkb-base="
2252 (assoc-ref %build-inputs "xkeyboard-config")
b19d6805 2253 "/share/X11/xkb"))))
6f96a359
SB
2254 (native-inputs
2255 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
2256 ("gobject-introspection" ,gobject-introspection)
2257 ("pkg-config" ,pkg-config)))
2258 (propagated-inputs
2259 ;; Required by libxklavier.pc.
2260 `(("glib" ,glib)
2261 ("libxml2" ,libxml2)))
2262 (inputs
2263 `(("iso-codes" ,iso-codes)
2264 ("libxi" ,libxi)
2265 ("libxkbfile" ,libxkbfile)
2266 ("xkbcomp" ,xkbcomp)
2267 ("xkeyboard-config" ,xkeyboard-config)))
2268 (home-page "http://www.freedesktop.org/wiki/Software/LibXklavier/")
2269 (synopsis "High-level API for X Keyboard Extension")
2270 (description
2271 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
2272Extension known as XKB. This library is intended to support XFree86 and other
2273commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
2274indicators etc).")
2275 (license license:lgpl2.0+)))
619936a4
LC
2276
2277(define-public python2-rsvg
2278 ;; XXX: This is actually a subset of gnome-python-desktop.
2279 (package
2280 (name "python2-rsvg")
2281 (version "2.32.0")
2282 (source
2283 (origin
2284 (method url-fetch)
2285 (uri (string-append
2286 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
2287 version ".tar.bz2"))
2288 (sha256
2289 (base32
2290 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
2291 (build-system gnu-build-system)
2292 (native-inputs
2293 `(("pkg-config" ,pkg-config)))
2294 (inputs
2295 `(("python" ,python-2)
2296 ("python2-pygtk" ,python2-pygtk)
2297 ("librsvg" ,librsvg)))
f032d0be 2298 (home-page "https://www.gnome.org")
619936a4
LC
2299 (synopsis "Python bindings to librsvg")
2300 (description
2301 "This packages provides Python bindings to librsvg, the SVG rendering
2302library.")
2303
2304 ;; This is the license of the rsvg bindings. The license of each module
2305 ;; of gnome-python-desktop is given in 'COPYING'.
2306 (license license:lgpl2.1+)))
a31a6d22 2307
f2ca414a
SB
2308(define-public glib-networking
2309 (package
2310 (name "glib-networking")
532cbe22 2311 (version "2.50.0")
f2ca414a
SB
2312 (source (origin
2313 (method url-fetch)
2314 (uri (string-append "mirror://gnome/sources/glib-networking/"
2315 (version-major+minor version) "/"
2316 name "-" version ".tar.xz"))
2317 (sha256
2318 (base32
532cbe22 2319 "1vkb53jxawy38y29635izlch64j9xmcwwcimk134jwra7hpl86iz"))
907f939b 2320 (patches
fc1adab1 2321 (search-patches "glib-networking-ssl-cert-file.patch"))))
f2ca414a
SB
2322 (build-system gnu-build-system)
2323 (arguments
2324 `(#:configure-flags
907f939b 2325 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")
f2ca414a
SB
2326 #:phases
2327 (modify-phases %standard-phases
3a4de6b2 2328 (add-before 'configure 'patch-giomoduledir
f2ca414a
SB
2329 ;; Install GIO modules into $out/lib/gio/modules.
2330 (lambda _
2331 (substitute* "configure"
2332 (("GIO_MODULE_DIR=.*")
2333 (string-append "GIO_MODULE_DIR=" %output
907f939b
SB
2334 "/lib/gio/modules\n")))))
2335 (add-before 'check 'use-empty-ssl-cert-file
2336 (lambda _
2337 ;; The ca-certificates.crt is not available in the build
2338 ;; environment.
2339 (setenv "SSL_CERT_FILE" "/dev/null")
2340 #t)))))
f2ca414a
SB
2341 (native-inputs
2342 `(("pkg-config" ,pkg-config)
2343 ("intltool" ,intltool)))
2344 (inputs
2345 `(("glib" ,glib)
2346 ("gnutls" ,gnutls)
2347 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2348 ("p11-kit" ,p11-kit)))
f032d0be 2349 (home-page "https://www.gnome.org")
f2ca414a
SB
2350 (synopsis "Network-related GIO modules")
2351 (description
2352 "This package contains various network related extensions for the GIO
2353library.")
2354 (license license:lgpl2.0+)))
2355
ca649680 2356(define-public rest
4510b2da 2357 (package
ca649680 2358 (name "rest")
90000d4b 2359 (version "0.8.0")
4510b2da
SB
2360 (source (origin
2361 (method url-fetch)
2362 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
2363 (version-major+minor version) "/"
2364 name "-" version ".tar.xz"))
4510b2da
SB
2365 (sha256
2366 (base32
90000d4b 2367 "0iznvzhab1jq9z3nwy97dh2pid9azwkqm7kkxwx0f5ql1hh9pf77"))))
4510b2da
SB
2368 (build-system gnu-build-system)
2369 (arguments
2370 '(#:tests? #f ; tests require internet connection
2371 #:configure-flags
2372 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
2373 (native-inputs
2374 `(("glib-mkenums" ,glib "bin")
2375 ("gobject-introspection" ,gobject-introspection)
2376 ("pkg-config" ,pkg-config)))
2377 (propagated-inputs
2378 ;; rest-0.7.pc refers to all these.
2379 `(("glib" ,glib)
2380 ("libsoup" ,libsoup)
2381 ("libxml2" ,libxml2)))
2382 (home-page "http://www.gtk.org/")
2383 (synopsis "RESTful web api query library")
2384 (description
2385 "This library was designed to make it easier to access web services that
2386claim to be \"RESTful\". It includes convenience wrappers for libsoup and
2387libxml to ease remote use of the RESTful API.")
2388 (license license:lgpl2.1+)))
2389
6e1bb642
SB
2390(define-public libsoup
2391 (package
2392 (name "libsoup")
783daa49 2393 (version "2.58.2")
6e1bb642
SB
2394 (source (origin
2395 (method url-fetch)
2396 (uri (string-append "mirror://gnome/sources/libsoup/"
2397 (version-major+minor version) "/"
2398 name "-" version ".tar.xz"))
2399 (sha256
2400 (base32
783daa49 2401 "0wkvs4kql1iam4cqy17wsi12b1pzhwr2127pyaxs7y0v3g5008s4"))))
6e1bb642
SB
2402 (build-system gnu-build-system)
2403 (outputs '("out" "doc"))
2404 (arguments
b19d6805 2405 `(#:configure-flags
6e1bb642
SB
2406 (list (string-append "--with-html-dir="
2407 (assoc-ref %outputs "doc")
ffaf5cbd
MB
2408 "/share/gtk-doc/html")
2409 (string-append "--with-apache-module-dir="
2410 (assoc-ref %build-inputs "httpd")
2411 "/modules"))
6e1bb642
SB
2412 #:phases
2413 (modify-phases %standard-phases
3a4de6b2 2414 (add-before 'configure 'disable-unconnected-socket-test
6e1bb642
SB
2415 ;; This test fails due to missing /etc/nsswitch.conf
2416 ;; in the build environment.
2417 (lambda _
2418 (substitute* "tests/socket-test.c"
2419 ((".*/sockets/unconnected.*") ""))
2420 #t))
907f939b 2421 (add-before 'check 'pre-check
6e1bb642 2422 (lambda _
907f939b
SB
2423 ;; The 'check-local' target runs 'env LANG=C sort -u',
2424 ;; unset 'LC_ALL' to make 'LANG' working.
6e1bb642 2425 (unsetenv "LC_ALL")
907f939b
SB
2426 ;; The ca-certificates.crt is not available in the build
2427 ;; environment.
2428 (setenv "SSL_CERT_FILE" "/dev/null")
ffaf5cbd
MB
2429 ;; HTTPD in Guix uses mod_event and does not build prefork.
2430 (substitute* "tests/httpd.conf"
2431 (("^LoadModule mpm_prefork_module.*$") "\n"))
fd730590
SB
2432 #t))
2433 (replace 'install
2434 (lambda _
2435 (zero?
2436 (system* "make"
2437 ;; Install vala bindings into $out.
2438 (string-append "vapidir=" %output
2439 "/share/vala/vapi")
2440 "install")))))))
6e1bb642
SB
2441 (native-inputs
2442 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2443 ("gobject-introspection" ,gobject-introspection)
2444 ("intltool" ,intltool)
2445 ("pkg-config" ,pkg-config)
2446 ("python" ,python-wrapper)
fd730590 2447 ("vala" ,vala)
6e1bb642
SB
2448 ;; These are needed for the tests.
2449 ;; FIXME: Add PHP once available.
2450 ("curl" ,curl)
2451 ("httpd" ,httpd)))
2452 (propagated-inputs
2453 ;; libsoup-2.4.pc refers to all these.
2454 `(("glib" ,glib)
2455 ("libxml2" ,libxml2)))
2456 (inputs
2457 `(("glib-networking" ,glib-networking)
2458 ("sqlite" ,sqlite)))
2459 (home-page "https://live.gnome.org/LibSoup/")
2460 (synopsis "GLib-based HTTP Library")
2461 (description
2462 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
2463and the GLib main loop, to integrate well with GNOME applications.")
2464 (license license:lgpl2.0+)))
2465
bba229a3
SB
2466(define-public libsecret
2467 (package
2468 (name "libsecret")
6983ba56 2469 (version "0.18.5")
bba229a3
SB
2470 (source (origin
2471 (method url-fetch)
2472 (uri (string-append
896dcbc7
EF
2473 "mirror://gnome/sources/libsecret/"
2474 (version-major+minor version) "/"
bba229a3
SB
2475 name "-" version ".tar.xz"))
2476 (sha256
2477 (base32
6983ba56 2478 "1cychxc3ff8fp857iikw0n2s13s2mhw2dn1mr632f7w3sn6vvrww"))))
bba229a3
SB
2479 (build-system gnu-build-system)
2480 (outputs '("out" "doc"))
2481 (arguments
2482 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
2483 #:configure-flags
2484 (list (string-append "--with-html-dir="
2485 (assoc-ref %outputs "doc")
2486 "/share/gtk-doc/html"))))
2487 (native-inputs
2488 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
2489 ("gobject-introspection" ,gobject-introspection)
2490 ("intltool" ,intltool)
2491 ("pkg-config" ,pkg-config)
2492 ("vala" ,vala)
2493 ("xsltproc" ,libxslt)))
2494 ;; These are needed for the tests.
2495 ;; FIXME: Add gjs once available.
2496 ;("dbus" ,dbus)
2497 ;("python2" ,python-2)
2498 ;("python2-dbus" ,python2-dbus)
2499 ;("python2-pygobject" ,python2-pygobject)
2500 ;("python2-pygobject-2" ,python2-pygobject-2)))
2501 (propagated-inputs
2502 `(("glib" ,glib))) ; required by libsecret-1.pc
2503 (inputs
2504 `(("docbook-xsl" ,docbook-xsl)
2505 ("libgcrypt" ,libgcrypt)
2506 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
2507 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
2508 (synopsis "GObject bindings for \"Secret Service\" API")
2509 (description
2510 "Libsecret is a GObject based library for storing and retrieving passwords
2511and other secrets. It communicates with the \"Secret Service\" using DBus.")
2512 (license license:lgpl2.1+)))
2513
b6821ee0 2514(define-public five-or-more
2515 (package
2516 (name "five-or-more")
2517 (version "3.22.2")
2518 (source
2519 (origin
2520 (method url-fetch)
2521 (uri (string-append "mirror://gnome/sources/" name "/"
2522 (version-major+minor version) "/"
2523 name "-" version ".tar.xz"))
2524 (sha256
2525 (base32
2526 "1b26afyjr26wqy5j008gzsi3hpblbmabh0192lx6414lml1qxkxs"))))
2527 (build-system glib-or-gtk-build-system)
2528 (native-inputs
2529 `(("pkg-config" ,pkg-config)
2530 ("desktop-file-utils" ,desktop-file-utils)
2531 ("intltool" ,intltool)
2532 ("itstool" ,itstool)
2533 ("xmllint" ,libxml2)))
2534 (inputs
2535 `(("gtk+" ,gtk+)
2536 ("librsvg" ,librsvg)))
2537 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
2538 (synopsis "Logic puzzle game")
2539 (description "Five or More is a game where you try to align
2540 five or more objects of the same color and shape causing them to disappear.
2541 On every turn more objects will appear, until the board is full.
2542 Try to last as long as possible.")
2543 (license license:gpl2+)))
2544
a31a6d22
SB
2545(define-public gnome-mines
2546 (package
2547 (name "gnome-mines")
ac89f213 2548 (version "3.24.0")
a31a6d22
SB
2549 (source
2550 (origin
2551 (method url-fetch)
2552 (uri (string-append "mirror://gnome/sources/" name "/"
2553 (version-major+minor version) "/"
2554 name "-" version ".tar.xz"))
2555 (sha256
2556 (base32
ac89f213 2557 "1xh2as2xmh7gx45gpnl0fh9xjpvyyn3m84qgv41kyp2s4clsyqz6"))))
a31a6d22
SB
2558 (build-system glib-or-gtk-build-system)
2559 (arguments
2560 '(#:phases
2561 (modify-phases %standard-phases
f8503e2b 2562 (add-before 'configure 'patch-/bin/true
a31a6d22
SB
2563 (lambda _
2564 (substitute* "configure"
6983ba56 2565 (("/bin/true") (which "true"))))))))
a31a6d22
SB
2566 (native-inputs
2567 `(("pkg-config" ,pkg-config)
2568 ("desktop-file-utils" ,desktop-file-utils)
2569 ("intltool" ,intltool)
bcb354ad
SB
2570 ("itstool" ,itstool)
2571 ("xmllint" ,libxml2)))
a31a6d22
SB
2572 (inputs
2573 `(("gtk+" ,gtk+)
73992962 2574 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
2575 ("librsvg" ,librsvg)))
2576 (home-page "https://wiki.gnome.org/Apps/Mines")
2577 (synopsis "Minesweeper game")
2578 (description
2579 "Mines (previously gnomine) is a puzzle game where you locate mines
2580floating in an ocean using only your brain and a little bit of luck.")
2581 (license license:gpl2+)))
88f70665 2582
dfc407f3
KY
2583(define-public gnome-sudoku
2584 (package
2585 (name "gnome-sudoku")
34a8af2d 2586 (version "3.24.0")
dfc407f3
KY
2587 (source
2588 (origin
2589 (method url-fetch)
2590 (uri (string-append "mirror://gnome/sources/" name "/"
2591 (version-major+minor version) "/"
2592 name "-" version ".tar.xz"))
2593 (sha256
2594 (base32
34a8af2d 2595 "1mw5ykk7wr0r9770jj5270f07rjws0pmpjs0b1fywj4li13r98h4"))))
dfc407f3
KY
2596 (build-system glib-or-gtk-build-system)
2597 (native-inputs
2598 `(("pkg-config" ,pkg-config)
2599 ("desktop-file-utils" ,desktop-file-utils)
2600 ("intltool" ,intltool)
2601 ("itstool" ,itstool)
2602 ("xmllint" ,libxml2)))
2603 (inputs
2604 `(("gtk+" ,gtk+)
2605 ("json-glib" ,json-glib)
2606 ("libgee" ,libgee)
2607 ("librsvg" ,librsvg)
2608 ("qqwing" ,qqwing)))
2609 (home-page "https://wiki.gnome.org/Apps/Sudoku")
2610 (synopsis "Japanese logic game")
2611 (description
2612 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
2613GNOME Sudoku is meant to have an interface as simple and unobstrusive as
2614possible while still providing features that make playing difficult Sudoku
2615more fun.")
2616 (license license:gpl2+)))
2617
88f70665
AW
2618(define-public gnome-terminal
2619 (package
2620 (name "gnome-terminal")
e20d997f 2621 (version "3.24.2")
88f70665
AW
2622 (source
2623 (origin
2624 (method url-fetch)
2625 (uri (string-append "mirror://gnome/sources/" name "/"
2626 (version-major+minor version) "/"
2627 name "-" version ".tar.xz"))
2628 (sha256
2629 (base32
e20d997f 2630 "03zcvxlzg7n4pz65vrg5xj3qpkqr4bz162mgmaz4bjh71b1xl7i8"))))
88f70665
AW
2631 (build-system glib-or-gtk-build-system)
2632 (arguments
2633 '(#:configure-flags
2634 (list "--disable-migration" "--disable-search-provider"
2635 "--without-nautilus-extension")
2636 #:phases
2637 (modify-phases %standard-phases
3a4de6b2 2638 (add-before 'configure 'patch-/bin/true
88f70665
AW
2639 (lambda _
2640 (substitute* "configure"
2641 (("/bin/true") (which "true"))))))))
2642 (native-inputs
2643 `(("pkg-config" ,pkg-config)
2644 ("desktop-file-utils" ,desktop-file-utils)
2645 ("intltool" ,intltool)
bcb354ad
SB
2646 ("itstool" ,itstool)
2647 ("xmllint" ,libxml2)))
68702167
MW
2648 (propagated-inputs
2649 `(("dconf" ,dconf)))
88f70665
AW
2650 (inputs
2651 `(("gtk+" ,gtk+)
2652 ("vte" ,vte)
2653 ("gnutls" ,gnutls)
88f70665
AW
2654 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2655 ("util-linux" ,util-linux)
2656 ("vala" ,vala)))
2657 (home-page "https://wiki.gnome.org/Apps/Terminal")
2658 (synopsis "Terminal emulator")
2659 (description
2660 "GNOME Terminal is a terminal emulator application for accessing a
2661UNIX shell environment which can be used to run programs available on
2662your system.
2663
2664It supports several profiles, multiple tabs and implements several
2665keyboard shortcuts.")
2666 (license license:gpl3+)))
75016d07
AW
2667
2668(define-public colord
2669 (package
2670 (name "colord")
2671 (version "1.1.8")
2672 (source
2673 (origin
2674 (method url-fetch)
5cc3096c 2675 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
75016d07
AW
2676 name "-" version ".tar.xz"))
2677 (sha256
2678 (base32
2679 "01w97rgzk4qi6fp03scq5jyw0ayx11b479p7dkm2r77k84b9agph"))))
2680 (build-system glib-or-gtk-build-system)
2681 (arguments
2682 '(;; The tests want to run valgrind. Punt for now.
2683 #:tests? #f
2684 #:configure-flags (list "--localstatedir=/var"
2685 ;; GUSB not packaged yet.
2686 "--disable-gusb"
2687 ;; No dep on systemd.
2688 "--disable-systemd-login"
2689 ;; Wants to install to global completion dir;
2690 ;; punt.
2691 "--disable-bash-completion"
2692 ;; colord-gtk not packaged yet.
2693 "--disable-session-example"
2694 "--with-daemon-user=colord"
2695 "--enable-sane"
2696 (string-append "--with-udevrulesdir="
2697 (assoc-ref %outputs "out")
2698 "/lib/udev/rules.d"))
2699 #:phases
2700 (modify-phases %standard-phases
3a4de6b2 2701 (add-before 'configure 'patch-/bin/true
75016d07
AW
2702 (lambda _
2703 (substitute* "configure"
2704 (("/bin/true") (which "true")))
2705 (substitute* "src/Makefile.in"
2706 (("if test -w \\$\\(DESTDIR\\)\\$\\(prefix\\)/;")
b19d6805 2707 "if test -w $(DESTDIR)$(localstatedir);")))))))
75016d07
AW
2708 (native-inputs
2709 `(("pkg-config" ,pkg-config)
2710 ("gobject-introspection" ,gobject-introspection)
2711 ("libtool" ,libtool)
2712 ("intltool" ,intltool)))
65cb2d61
SB
2713 (propagated-inputs
2714 ;; colord.pc refers to all these.
2715 `(("glib" ,glib)
2716 ("udev" ,eudev)
2717 ("lcms" ,lcms)))
75016d07 2718 (inputs
65cb2d61 2719 `(("dbus-glib" ,dbus-glib)
80c7dd1a 2720 ("libgudev" ,libgudev)
75016d07 2721 ("libusb" ,libusb)
75016d07
AW
2722 ("sqlite" ,sqlite)
2723 ("polkit" ,polkit)
4c928743 2724 ("sane-backends" ,sane-backends)))
75016d07
AW
2725 (home-page "http://www.freedesktop.org/software/colord/")
2726 (synopsis "Color management service")
2727 (description "Colord is a system service that makes it easy to manage,
2728install and generate color profiles to accurately color manage input and
2729output devices.")
2730 (license license:gpl2+)))
7b2abd00
AW
2731
2732(define-public geoclue
2733 (package
2734 (name "geoclue")
ccfac09c 2735 (version "2.4.6")
7b2abd00
AW
2736 (source
2737 (origin
2738 (method url-fetch)
5cc3096c 2739 (uri (string-append "https://www.freedesktop.org/software/" name
7b2abd00
AW
2740 "/releases/" (version-major+minor version) "/"
2741 name "-" version ".tar.xz"))
2742 (sha256
2743 (base32
ccfac09c 2744 "1dnknrwln159dj7pdprnfa4zjprgslabxngmn11jyjwvbi2zfzf5"))
fc1adab1 2745 (patches (search-patches "geoclue-config.patch"))))
7b2abd00
AW
2746 (build-system glib-or-gtk-build-system)
2747 (arguments
2748 '(;; The tests want to run the system bus.
2749 #:tests? #f
2750 #:configure-flags (list ;; Disable bits requiring ModemManager.
2751 "--disable-3g-source"
2752 "--disable-cdma-source"
2753 "--disable-modem-gps-source"
2754 "--with-dbus-service-user=geoclue")
2755 #:phases
2756 (modify-phases %standard-phases
3a4de6b2 2757 (add-before 'configure 'patch-/bin/true
7b2abd00
AW
2758 (lambda _
2759 (substitute* "configure"
2760 (("/bin/true") (which "true"))))))))
2761 (native-inputs
2762 `(("pkg-config" ,pkg-config)
758798a9 2763 ("gobject-introspection" ,gobject-introspection)
7b2abd00
AW
2764 ("intltool" ,intltool)))
2765 (inputs
54e911bc
SB
2766 `(("avahi" ,avahi)
2767 ("glib" ,glib)
7b2abd00
AW
2768 ("json-glib" ,json-glib)
2769 ("libsoup" ,libsoup)))
2770 (home-page "http://freedesktop.org/wiki/Software/GeoClue/")
2771 (synopsis "Geolocation service")
2772 (description "Geoclue is a D-Bus service that provides location
2773information. The primary goal of the Geoclue project is to make creating
2774location-aware applications as simple as possible, while the secondary goal is
2775to ensure that no application can access location information without explicit
e881752c 2776permission from user.")
7b2abd00 2777 (license license:gpl2+)))
2bfe7437
AW
2778
2779(define-public geocode-glib
2780 (package
2781 (name "geocode-glib")
3ffd46bd 2782 (version "3.20.1")
2bfe7437
AW
2783 (source (origin
2784 (method url-fetch)
2785 (uri (string-append "mirror://gnome/sources/geocode-glib/"
2786 (version-major+minor version) "/"
2787 name "-" version ".tar.xz"))
2788 (sha256
2789 (base32
3ffd46bd 2790 "18iphsx3bybw7lssbb7rxc1rrnsc8vxai521zkqc535zr8rci7v6"))))
2bfe7437
AW
2791 (build-system gnu-build-system)
2792 (arguments
2793 `(;; The tests want to write to $HOME/.cache/geocode-glib, which doesn't
2794 ;; work for the builder. Punt.
a124bbd2 2795 #:tests? #f))
2bfe7437
AW
2796 (native-inputs
2797 `(("glib:bin" ,glib "bin") ; for glib-mkenums
2798 ("gobject-introspection" ,gobject-introspection)
2799 ("pkg-config" ,pkg-config)
2800 ("json-glib" ,json-glib)))
2801 (propagated-inputs
2802 ;; geocode-glib-1.0.pc refers to GIO.
2803 `(("glib" ,glib)))
2804 (inputs
2805 `(("libsoup" ,libsoup)))
2806 (home-page "https://github.com/GNOME/geocode-glib/")
2807 (synopsis "Geocoding and reverse-geocoding library")
2808 (description
2809 "geocode-glib is a convenience library for geocoding (finding longitude,
2810and latitude from an address) and reverse geocoding (finding an address from
2811coordinates) using the Nominatim service. geocode-glib caches requests for
2812faster results and to avoid unnecessary server load.")
2813 (license license:lgpl2.0+)))
a1d5bb0e
AW
2814
2815(define-public upower
2816 (package
2817 (name "upower")
5e503e73 2818 (version "0.99.4")
a1d5bb0e
AW
2819 (source (origin
2820 (method url-fetch)
5cc3096c 2821 (uri (string-append "https://upower.freedesktop.org/releases/"
a1d5bb0e
AW
2822 name "-" version ".tar.xz"))
2823 (sha256
2824 (base32
5e503e73 2825 "1c1ph1j1fnrf3vipxb7ncmdfc36dpvcvpsv8n8lmal7grjk2b8ww"))
fc1adab1 2826 (patches (search-patches "upower-builddir.patch"))))
a1d5bb0e
AW
2827 (build-system glib-or-gtk-build-system)
2828 (arguments
2829 '( ;; The tests want to contact the system bus, which can't be done in the
2830 ;; build environment. The integration test can run, but the last of
2831 ;; the up-self-tests doesn't. Disable tests for now.
2832 #:tests? #f
2833 #:configure-flags (list "--localstatedir=/var"
2834 (string-append "--with-udevrulesdir="
2835 (assoc-ref %outputs "out")
2836 "/lib/udev/rules.d"))
2837 #:phases
2838 (modify-phases %standard-phases
2839 (add-before 'configure 'patch-/bin/true
2840 (lambda _
2841 (substitute* "configure"
2842 (("/bin/true") (which "true")))))
2843 (add-before 'configure 'patch-integration-test
2844 (lambda _
2845 (substitute* "src/linux/integration-test"
2846 (("/usr/bin/python3") (which "python3"))))))))
2847 (native-inputs
ebeabe2d
SB
2848 `(("gobject-introspection" ,gobject-introspection)
2849 ("pkg-config" ,pkg-config)
a1d5bb0e 2850 ("intltool" ,intltool)
55409295
LC
2851 ("python" ,python)
2852
2853 ;; For man pages.
2854 ("libxslt" ,libxslt) ;for 'xsltproc'
2855 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
2856 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 2857 (inputs
ea226291
SB
2858 `(("dbus-glib" ,dbus-glib)
2859 ("libgudev" ,libgudev)
a1d5bb0e
AW
2860 ("libusb" ,libusb)))
2861 (home-page "http://upower.freedesktop.org/")
2862 (synopsis "System daemon for managing power devices")
2863 (description
2864 "UPower is an abstraction for enumerating power devices,
2865listening to device events and querying history and statistics. Any
2866application or service on the system can access the org.freedesktop.UPower
2867service via the system message bus.")
2868 (license license:gpl2+)))
6a180f6f
AW
2869
2870(define-public libgweather
2871 (package
2872 (name "libgweather")
9cf8d93a 2873 (version "3.24.1")
6a180f6f
AW
2874 (source (origin
2875 (method url-fetch)
2876 (uri (string-append "mirror://gnome/sources/" name "/"
2877 (version-major+minor version) "/"
2878 name "-" version ".tar.xz"))
2879 (sha256
2880 (base32
9cf8d93a 2881 "0g35xfcw9vh3sfff42blk9ksrlmkrjmj46h3ad0sqgdn6xh329qj"))))
6a180f6f
AW
2882 (build-system gnu-build-system)
2883 (arguments
b6072e6b
SB
2884 `(#:configure-flags
2885 `(,(string-append "--with-zoneinfo-dir="
2886 (assoc-ref %build-inputs "tzdata")
2887 "/share/zoneinfo"))
2888 #:phases
2889 (modify-phases %standard-phases
8b8dfa7f
LC
2890 (add-before 'check 'pre-check
2891 (lambda* (#:key inputs #:allow-other-keys)
2892 (substitute* "data/check-timezones.sh"
2893 (("/usr/share/zoneinfo/zone.tab")
2894 (string-append (assoc-ref inputs "tzdata")
2895 "/share/zoneinfo/zone.tab")))
2896
2897 ;; 'Asia/Rangoon' was renamed in tzdata-2016:
2898 ;; <https://github.com/eggert/tz/commit/4368251ebf11310a4aadccd1910daeac9080c501>.
2899 (substitute* "data/Locations.xml"
2900 (("Asia/Rangoon")
2901 "Asia/Yangon"))
b6072e6b 2902 #t)))))
6a180f6f
AW
2903 (native-inputs
2904 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 2905 ("gobject-introspection" ,gobject-introspection)
6a180f6f
AW
2906 ("pkg-config" ,pkg-config)
2907 ("intltool" ,intltool)))
2908 (propagated-inputs
2909 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
2910 ;; libsoup.
2911 `(("gtk+" ,gtk+)
2912 ("gdk-pixbuf" ,gdk-pixbuf)
2913 ("libxml2" ,libxml2)
2914 ("libsoup" ,libsoup)))
2915 (inputs
2916 `(("tzdata" ,tzdata)
2917 ("geocode-glib" ,geocode-glib)))
2918 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
2919 (synopsis "Location, time zone, and weather library for GNOME")
2920 (description
2921 "libgweather is a library to access weather information from online
2922services for numerous locations.")
2923 (license license:gpl2+)))
23a22af6
AW
2924
2925(define-public gnome-settings-daemon
2926 (package
2927 (name "gnome-settings-daemon")
6481cad7 2928 (version "3.24.2")
23a22af6
AW
2929 (source
2930 (origin
2931 (method url-fetch)
2932 (uri (string-append "mirror://gnome/sources/" name "/"
2933 (version-major+minor version) "/"
2934 name "-" version ".tar.xz"))
2935 (sha256
2936 (base32
6481cad7 2937 "1jnw920zn4cadhgmcv2q5ylzqhwm1rmrhf3a14q8mvp38hkdgaaa"))))
23a22af6
AW
2938 (build-system glib-or-gtk-build-system)
2939 (arguments
eee7878f 2940 `(;; Color management test can't reach the colord system service.
23a22af6
AW
2941 #:tests? #f))
2942 (native-inputs
2943 `(("pkg-config" ,pkg-config)
2944 ("intltool" ,intltool)
2945 ("xsltproc" ,libxslt)
2946 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
2947 ("docbook-xml" ,docbook-xml-4.2)
2948 ("docbook-xsl" ,docbook-xsl)))
2949 (inputs
2950 `(("colord" ,colord)
ea226291 2951 ("libgudev" ,libgudev)
23a22af6
AW
2952 ("upower" ,upower)
2953 ("polkit" ,polkit)
2954 ("pulseaudio" ,pulseaudio)
2955 ("libcanberra" ,libcanberra)
2956 ("libx11" ,libx11)
2957 ("libxtst" ,libxtst)
2958 ("lcms" ,lcms)
2959 ("libnotify" ,libnotify)
2960 ("geoclue" ,geoclue)
2961 ("geocode-glib" ,geocode-glib)
2962 ("libgweather" ,libgweather)
2963 ("gnome-desktop" ,gnome-desktop)
2964 ("nss" ,nss)
2965 ("cups" ,cups)
ec2b1921
AW
2966 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2967 ("libwacom" ,libwacom)
2968 ("librsvg" ,librsvg)
eee7878f
CM
2969 ("xf86-input-wacom" ,xf86-input-wacom)
2970 ("network-manager" ,network-manager)))
f032d0be 2971 (home-page "https://www.gnome.org")
23a22af6
AW
2972 (synopsis "GNOME settings daemon")
2973 (description
2974 "This package contains the daemon responsible for setting the various
2975parameters of a GNOME session and the applications that run under it. It
2976handles settings such keyboard layout, shortcuts, and accessibility, clipboard
2977settings, themes, mouse settings, and startup of other daemons.")
2978 (license license:gpl2+)))
1e7464a9
DH
2979
2980(define-public totem-pl-parser
2981 (package
2982 (name "totem-pl-parser")
e980cbe9 2983 (version "3.10.7")
1e7464a9
DH
2984 (source (origin
2985 (method url-fetch)
e980cbe9
MW
2986 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
2987 (version-major+minor version) "/"
1e7464a9
DH
2988 "totem-pl-parser-" version ".tar.xz"))
2989 (sha256
2990 (base32
e980cbe9 2991 "17089sqyh6w6zr8ci865ihmvqshnslcsk9fbsl4s7yii66y8b0lw"))))
1e7464a9
DH
2992 (build-system gnu-build-system)
2993 (arguments
2994 ;; FIXME: Tests require gvfs.
2995 `(#:tests? #f))
2996 (native-inputs
2997 `(("intltool" ,intltool)
2998 ("glib" ,glib "bin")
4d6d8281 2999 ("gobject-introspection" ,gobject-introspection)
1e7464a9 3000 ("pkg-config" ,pkg-config)))
22a6ad6a 3001 (propagated-inputs
1e7464a9
DH
3002 `(("glib" ,glib)
3003 ("gmime" ,gmime)
22a6ad6a
MW
3004 ("libxml2" ,libxml2)))
3005 (inputs
3006 `(("libarchive" ,libarchive)
1e7464a9
DH
3007 ("libgcrypt" ,libgcrypt)
3008 ("nettle" ,nettle)
22a6ad6a 3009 ("libsoup" ,libsoup)))
1e7464a9
DH
3010 (home-page "https://projects.gnome.org/totem")
3011 (synopsis "Library to parse and save media playlists for GNOME")
3012 (description "Totem-pl-parser is a GObjects-based library to parse and save
3013playlists in a variety of formats.")
3014 (license license:lgpl2.0+)))
3015
6b888eff
SB
3016(define-public aisleriot
3017 (package
3018 (name "aisleriot")
e6a36cf2 3019 (version "3.22.2")
6b888eff
SB
3020 (source (origin
3021 (method url-fetch)
3022 (uri (string-append "mirror://gnome/sources/" name "/"
3023 (version-major+minor version) "/"
3024 name "-" version ".tar.xz"))
3025 (sha256
3026 (base32
e6a36cf2 3027 "0a8cir7vgi67sncl0m7cypq11amardm7r68gr3q52a11l8ajycdx"))))
6b888eff
SB
3028 (build-system glib-or-gtk-build-system)
3029 (arguments
3030 '(#:configure-flags
3031 '("--with-platform=gtk-only"
3032 "--with-card-theme-formats=svg")))
3033 (native-inputs
3034 `(("desktop-file-utils" ,desktop-file-utils)
3035 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
3036 ("intltool" ,intltool)
3037 ("itstool" ,itstool)
3038 ("pkg-config" ,pkg-config)
3039 ("xmllint" ,libxml2)))
3040 (inputs
3041 `(("gtk+" ,gtk+)
3042 ("guile" ,guile-2.0)
3043 ("libcanberra" ,libcanberra)
3044 ("librsvg" ,librsvg)))
3045 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
3046 (synopsis "Solitaire card games")
3047 (description
3048 "Aisleriot (also known as Solitaire or sol) is a collection of card games
3049which are easy to play with the aid of a mouse.")
3050 (license license:gpl3+)))
4a79e256
SB
3051
3052(define-public devhelp
3053 (package
3054 (name "devhelp")
9bf10a74 3055 (version "3.24.0")
4a79e256
SB
3056 (source (origin
3057 (method url-fetch)
3058 (uri (string-append "mirror://gnome/sources/" name "/"
3059 (version-major+minor version) "/"
3060 name "-" version ".tar.xz"))
3061 (sha256
3062 (base32
9bf10a74 3063 "0c74rk46dy3kvy78m42jl3ip56c5536zmy8v1lbascjmh4fdwn28"))))
4a79e256
SB
3064 (build-system glib-or-gtk-build-system)
3065 (native-inputs
3066 `(("intltool" ,intltool)
3067 ("pkg-config" ,pkg-config)))
3068 (inputs
3069 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3070 ("webkitgtk" ,webkitgtk)))
3071 (home-page "https://wiki.gnome.org/Apps/Devhelp")
3072 (synopsis "API documentation browser for GNOME")
3073 (description
3074 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
3075natively with GTK-Doc (the API reference system developed for GTK+ and used
3076throughout GNOME for API documentation).")
3077 (license license:gpl2+)))
ba421ab7
MW
3078
3079(define-public cogl
3080 (package
3081 (name "cogl")
6a55accc 3082 (version "1.22.2")
ba421ab7
MW
3083 (source
3084 (origin
3085 (method url-fetch)
3086 (uri (string-append "mirror://gnome/sources/" name "/"
3087 (version-major+minor version) "/"
3088 name "-" version ".tar.xz"))
3089 (sha256
3090 (base32
6a55accc 3091 "03f0ha3qk7ca0nnkkcr1garrm1n1vvfqhkz9lwjm592fnv6ii9rr"))))
a88d5a0c
MW
3092 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
3093 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
3094 (build-system gnu-build-system)
3095 (native-inputs
3096 `(("glib:bin" ,glib "bin") ; for glib-mkenums
3097 ("gobject-introspection" ,gobject-introspection)
3098 ;;("xorg-server" ,xorg-server) ; for the test suite
3099 ("pkg-config" ,pkg-config)))
3100 (propagated-inputs
3101 `(("glib" ,glib)
3102 ("gdk-pixbuf" ,gdk-pixbuf)
3103 ("libx11" ,libx11)
3104 ("libxext" ,libxext)
3105 ("libxfixes" ,libxfixes)
3106 ("libxdamage" ,libxdamage)
3107 ("libxcomposite" ,libxcomposite)
3108 ("libxrandr" ,libxrandr)))
3109 (inputs
3110 `(("mesa" ,mesa)
3111 ("cairo" ,cairo)
3112 ("pango" ,pango)
3113 ("gstreamer" ,gstreamer)
31860852
KK
3114 ("gst-plugins-base" ,gst-plugins-base)
3115 ("wayland" ,wayland)))
ba421ab7
MW
3116 (arguments
3117 `(#:configure-flags (list "--enable-cogl-gst"
31860852
KK
3118 "--enable-wayland-egl-platform"
3119 "--enable-wayland-egl-server"
3120
ba421ab7
MW
3121 ;; Arrange to pass an absolute file name to
3122 ;; dlopen for libGL.so.
3123 (string-append "--with-gl-libname="
3124 (assoc-ref %build-inputs "mesa")
3125 "/lib/libGL.so"))
3126 ;; XXX FIXME: All tests fail, with many warnings printed like this:
3127 ;; _FontTransOpen: Unable to Parse address
3128 ;; ${prefix}/share/fonts/X11/misc/
3129 #:tests? #f
3130 #; #:phases
3131 #;
3132 (modify-phases %standard-phases
3133 (add-before 'check 'start-xorg-server
3134 (lambda* (#:key inputs #:allow-other-keys)
3135 ;; The test suite requires a running X server.
3136 (system (format #f "~a/bin/Xvfb :1 &"
3137 (assoc-ref inputs "xorg-server")))
3138 (setenv "DISPLAY" ":1")
3139 #t)))))
3140 (home-page "http://www.cogl3d.org")
3141 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
3142 (description
3143 "Cogl is a small library for using 3D graphics hardware to draw pretty
3144pictures. The API departs from the flat state machine style of OpenGL and is
3145designed to make it easy to write orthogonal components that can render
3146without stepping on each others toes.")
3147 (license (list license:expat ; most of the code
3148 license:bsd-3 ; cogl/cogl-point-in-poly.c
3149 license:sgifreeb2.0 ; cogl-path/tesselator/
3150 license:asl2.0)))) ; examples/android/
fb182b8a
MW
3151
3152(define-public clutter
3153 (package
3154 (name "clutter")
6a88e4ee 3155 (version "1.26.2")
fb182b8a
MW
3156 (source
3157 (origin
3158 (method url-fetch)
3159 (uri (string-append "mirror://gnome/sources/" name "/"
3160 (version-major+minor version) "/"
3161 name "-" version ".tar.xz"))
3162 (sha256
3163 (base32
6a88e4ee 3164 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
3165 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
3166 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 3167 (build-system gnu-build-system)
600233bd
LC
3168 (outputs '("out"
3169 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
3170 (native-inputs
3171 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
3172 ("gobject-introspection" ,gobject-introspection)
3173 ("pkg-config" ,pkg-config)
3174 ("xsltproc" ,libxslt)))
3175 (propagated-inputs
3176 `(("cogl" ,cogl)
3177 ("cairo" ,cairo)
3178 ("atk" ,atk)
3179 ("gtk+" ,gtk+)
3180 ("json-glib" ,json-glib)
3181 ("glib" ,glib)
3182 ("libxcomposite" ,libxcomposite)
3183 ("libxdamage" ,libxdamage)
3184 ("libxext" ,libxext)
3185 ("xinput" ,xinput)))
3186 (inputs
3187 `(("libxkbcommon" ,libxkbcommon)
3188 ("udev" ,eudev)))
3189 (arguments
600233bd
LC
3190 `(#:configure-flags (list "--enable-x11-backend=yes"
3191
3192 ;; This produces share/doc/{clutter,cally}.
3193 (string-append "--with-html-dir="
3194 (assoc-ref %outputs "doc")
3195 "/share/doc"))
fb182b8a
MW
3196 ;; XXX FIXME: Get test suite working. It would probably fail in the
3197 ;; same way the cogl tests fail, since clutter is based on cogl.
3198 #:tests? #f))
3199 (home-page "http://www.clutter-project.org")
3200 (synopsis "Open GL based interactive canvas library")
3201 (description
3202 "Clutter is an Open GL based interactive canvas library, designed for
3203creating fast, mainly 2D single window applications such as media box UIs,
3204presentations, kiosk style applications and so on.")
3205 (license license:lgpl2.0+)))
bf7f17ba
MW
3206
3207(define-public clutter-gtk
3208 (package
3209 (name "clutter-gtk")
a6e44835 3210 (version "1.8.2")
bf7f17ba
MW
3211 (source
3212 (origin
3213 (method url-fetch)
3214 (uri (string-append "mirror://gnome/sources/" name "/"
3215 (version-major+minor version) "/"
3216 name "-" version ".tar.xz"))
3217 (sha256
3218 (base32
a6e44835 3219 "153bl9256yjnfcplp7jmgf7lm2zb790zkayjclzsv42l6a3d89ys"))))
bf7f17ba
MW
3220 (build-system gnu-build-system)
3221 (native-inputs
3222 `(("pkg-config" ,pkg-config)
3223 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
3224 (propagated-inputs
3225 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
3226 `(("clutter" ,clutter)
3227 ("gtk+" ,gtk+)))
3228 (home-page "http://www.clutter-project.org")
3229 (synopsis "Open GL based interactive canvas library GTK+ widget")
3230 (description
3231 "Clutter is an Open GL based interactive canvas library, designed for
3232creating fast, mainly 2D single window applications such as media box UIs,
3233presentations, kiosk style applications and so on.")
3234 (license license:lgpl2.0+)))
86d6a893
MW
3235
3236(define-public clutter-gst
3237 (package
3238 (name "clutter-gst")
87736005 3239 (version "3.0.24")
86d6a893
MW
3240 (source
3241 (origin
3242 (method url-fetch)
3243 (uri (string-append "mirror://gnome/sources/" name "/"
3244 (version-major+minor version) "/"
3245 name "-" version ".tar.xz"))
3246 (sha256
3247 (base32
87736005 3248 "0v6cg0syh4vx7y7ni47jsvr2r57q0j3h1f1gjlp0ciscixywiwg9"))))
86d6a893
MW
3249 (build-system gnu-build-system)
3250 (native-inputs
3251 `(("glib:bin" ,glib "bin") ; for glib-mkenums
3252 ("pkg-config" ,pkg-config)
3253 ("gobject-introspection" ,gobject-introspection)))
3254 (inputs
3255 `(("clutter" ,clutter)
3256 ("gstreamer" ,gstreamer)
3257 ("gst-plugins-base" ,gst-plugins-base)))
3258 (home-page "http://www.clutter-project.org")
3259 (synopsis "Integration library for using GStreamer with Clutter")
3260 (description
3261 "Clutter-Gst is an integration library for using GStreamer with Clutter.
3262It provides a GStreamer sink to upload frames to GL and an actor that
3263implements the ClutterGstPlayer interface using playbin. Clutter is an Open
3264GL based interactive canvas library.")
3265 (license license:lgpl2.0+)))
607a04ae 3266
30dc88d9
LC
3267(define-public libchamplain
3268 (package
3269 (name "libchamplain")
356f0cef 3270 (version "0.12.15")
30dc88d9
LC
3271 (source (origin
3272 (method url-fetch)
3273 (uri (string-append
3274 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
3275 version ".tar.xz"))
3276 (sha256
3277 (base32
356f0cef 3278 "0x5qa1aw1y59lzkmf4j4szspn49341a87vcja4ydgxny1chilwjl"))))
30dc88d9 3279 (build-system gnu-build-system)
f7c6833f
LF
3280 (arguments '(#:configure-flags '("--enable-vala")))
3281 (native-inputs
3282 `(("gobject-introspection" ,gobject-introspection)
3283 ("pkg-config" ,pkg-config)
3284 ("vala" ,vala)))
30dc88d9
LC
3285 (propagated-inputs
3286 `(("libsoup" ,libsoup)
3287 ("sqlite" ,sqlite)
3288 ("clutter" ,clutter)
3289 ("clutter-gtk" ,clutter-gtk)
3290 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
3291 ("cairo" ,cairo)
3292 ("gtk+3" ,gtk+)
3293 ("glib" ,glib)))
f032d0be 3294 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
3295 (synopsis "C library providing a ClutterActor to display maps")
3296 (description
3297 "libchamplain is a C library providing a ClutterActor to display maps.
3298It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
3299and Perl bindings are also available. It supports numerous free map sources
3300such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
3301 (license license:lgpl2.1+)))
3302
607a04ae
MW
3303(define-public gom
3304 (package
3305 (name "gom")
0510440b 3306 (version "0.3.2")
607a04ae
MW
3307 (source
3308 (origin
3309 (method url-fetch)
3310 (uri (string-append "mirror://gnome/sources/" name "/"
3311 (version-major+minor version) "/"
3312 name "-" version ".tar.xz"))
3313 (sha256
3314 (base32
0510440b 3315 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
3316 (build-system gnu-build-system)
3317 (native-inputs
3318 `(("intltool" ,intltool)
3319 ("pkg-config" ,pkg-config)
3320 ("gobject-introspection" ,gobject-introspection)))
3321 (inputs
3322 `(("glib" ,glib)
3323 ("gdk-pixbuf" ,gdk-pixbuf)
3324 ("sqlite" ,sqlite)))
3325 ;; XXX TODO: Figure out how to run the test suite.
3326 (arguments `(#:tests? #f))
3327 (home-page "https://wiki.gnome.org/Projects/Gom")
3328 (synopsis "Object mapper from GObjects to SQLite")
3329 (description
3330 "Gom provides an object mapper from GObjects to SQLite. It helps you
3331write applications that need to store structured data as well as make complex
3332queries upon that data.")
3333 (license license:lgpl2.1+)))
b7a3cf11 3334
f09520db
SB
3335(define-public libgames-support
3336 (package
3337 (name "libgames-support")
3338 (version "1.0.2")
3339 (source (origin
3340 (method url-fetch)
3341 (uri (string-append "mirror://gnome/sources/" name "/"
3342 (version-major+minor version) "/"
3343 name "-" version ".tar.xz"))
3344 (sha256
3345 (base32
3346 "0rms2ksiv7j9944km7r87q22nh05si1fisn5xm3z4zy5vpcfi5mh"))))
3347 (build-system gnu-build-system)
3348 (arguments
3349 '(#:phases
3350 (modify-phases %standard-phases
3351 (add-before 'check 'pre-check
3352 (lambda _
3353 ;; tests require a writable HOME.
3354 (setenv "HOME" (getcwd))
3355 #t)))))
3356 (native-inputs
3357 `(("intltool" ,intltool)
3358 ("pkg-config" ,pkg-config)
3359 ("vala" ,vala)))
3360 (propagated-inputs
3361 ;; Required by libgames-support-1.0.pc
3362 `(("gtk+" ,gtk+)
3363 ("libgee" ,libgee)))
3364 (home-page "https://www.gnome.org/")
3365 (synopsis "Useful functionality shared among GNOME games")
3366 (description
3367 "libgames-support is a small library intended for internal use by
3368GNOME Games, but it may be used by others.")
3369 (license license:lgpl3+)))
3370
43ec2604
MW
3371(define-public libgnome-games-support
3372 (package
3373 (inherit libgames-support)
3374 (name "libgnome-games-support")
3375 (version "1.2.1")
3376 (source (origin
3377 (method url-fetch)
3378 (uri (string-append "mirror://gnome/sources/" name "/"
3379 (version-major+minor version) "/"
3380 name "-" version ".tar.xz"))
3381 (sha256
3382 (base32
3383 "1rsyf5hbjim7zpk1yar3gv65g1nmw6zbbc0smrmxsfk0f9n3j9m6"))))))
3384
b7a3cf11
SB
3385(define-public gnome-klotski
3386 (package
3387 (name "gnome-klotski")
f4eae76f 3388 (version "3.22.1")
b7a3cf11
SB
3389 (source (origin
3390 (method url-fetch)
3391 (uri (string-append "mirror://gnome/sources/" name "/"
3392 (version-major+minor version) "/"
3393 name "-" version ".tar.xz"))
3394 (sha256
3395 (base32
f4eae76f 3396 "04ragvrz29sydi2kf1zk2aimi3b3hn34jrndfd2lx6h8l45anq3q"))))
b7a3cf11
SB
3397 (build-system glib-or-gtk-build-system)
3398 (native-inputs
3399 `(("desktop-file-utils" ,desktop-file-utils)
3400 ("intltool" ,intltool)
3401 ("itstool" ,itstool)
bcb354ad
SB
3402 ("pkg-config" ,pkg-config)
3403 ("xmllint" ,libxml2)))
b7a3cf11
SB
3404 (inputs
3405 `(("gtk+" ,gtk+)
f4eae76f 3406 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
3407 ("librsvg" ,librsvg)))
3408 (home-page "https://wiki.gnome.org/Apps/Klotski")
3409 (synopsis "Sliding block puzzles")
3410 (description
3411 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
3412the patterned block to the area bordered by green markers. To do so, you will
3413need to slide other blocks out of the way. Complete each puzzle in as few moves
3414as possible!")
3415 (license license:gpl2+)))
8d4791bf
MW
3416
3417(define-public grilo
3418 (package
3419 (name "grilo")
99dd2af9 3420 (version "0.3.3")
8d4791bf
MW
3421 (source
3422 (origin
3423 (method url-fetch)
3424 (uri (string-append "mirror://gnome/sources/" name "/"
3425 (version-major+minor version) "/"
3426 name "-" version ".tar.xz"))
3427 (sha256
3428 (base32
99dd2af9 3429 "1qx072m0gl6m3d5g5cbbf13p4h217icmlxjnrn829x5xqwi451sw"))))
8d4791bf
MW
3430 (build-system gnu-build-system)
3431 (native-inputs
3432 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3433 ("intltool" ,intltool)
3434 ("pkg-config" ,pkg-config)
3435 ("gobject-introspection" ,gobject-introspection)))
3436 (inputs
6d7273a0
KK
3437 `(("cyrus-sasl" ,cyrus-sasl)
3438 ("glib" ,glib)
8d4791bf
MW
3439 ("gtk+" ,gtk+)
3440 ("libxml2" ,libxml2)
6d7273a0 3441 ("liboauth" ,liboauth)
8d4791bf 3442 ("libsoup" ,libsoup)
e7305878 3443 ("nettle" ,nettle)
8d4791bf
MW
3444 ("totem-pl-parser" ,totem-pl-parser)))
3445 (arguments
3446 `(#:phases
3447 (modify-phases %standard-phases
3448 (add-after 'unpack 'fix-introspection-install-dir
3449 (lambda* (#:key outputs #:allow-other-keys)
3450 (let ((out (assoc-ref outputs "out")))
3451 (substitute* '("src/Makefile.in"
3452 "libs/pls/Makefile.in"
3453 "libs/net/Makefile.in")
3454 (("@INTROSPECTION_GIRDIR@")
3455 (string-append out "/share/gir-1.0/"))
3456 (("@INTROSPECTION_TYPELIBDIR@")
3457 (string-append out "/lib/girepository-1.0/")))))))))
3458 (native-search-paths
3459 (list (search-path-specification
3460 (variable "GRL_PLUGIN_PATH")
3461 (files (list (string-append "lib/grilo-"
3462 (version-major+minor version)))))))
f032d0be 3463 (home-page "https://live.gnome.org/Grilo")
8d4791bf
MW
3464 (synopsis "Framework for discovering and browsing media")
3465 (description
3466 "Grilo is a framework focused on making media discovery and browsing easy
3467for application developers.")
3468 (license license:lgpl2.1+)))
7b212526
MW
3469
3470(define-public grilo-plugins
3471 (package
3472 (name "grilo-plugins")
22753632 3473 (version "0.3.3")
7b212526
MW
3474 (source
3475 (origin
3476 (method url-fetch)
3477 (uri (string-append "mirror://gnome/sources/" name "/"
3478 (version-major+minor version) "/"
3479 name "-" version ".tar.xz"))
3480 (sha256
3481 (base32
22753632 3482 "172vr1y98d2mzlmg5akjn4ibrcj3gh22cwnb3cv9rvvzhj3yhrpy"))))
7b212526
MW
3483 (build-system gnu-build-system)
3484 (native-inputs
3485 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
3486 ("intltool" ,intltool)
3487 ("itstool" ,itstool)
3488 ("pkg-config" ,pkg-config)))
3489 (inputs
3490 `(("grilo" ,grilo)
924ae80f 3491 ("nettle" ,nettle) ; XXX: required by libgrlpls-0.3.la
7b212526
MW
3492 ("glib" ,glib)
3493 ("libxml2" ,libxml2)
3494 ("sqlite" ,sqlite)
3495 ("gom" ,gom)
3496 ;; XXX TODO: Add oauth
3497 ;; XXX TODO: Add goa
3498 ;; XXX TODO: Add gdata (e.g. needed for youtube plugin)
3499 ;; XXX TODO: Add lua (needs help finding it)
3500 ("json-glib" ,json-glib)
3501 ("avahi" ,avahi)
3502 ("gmime" ,gmime)
3503 ("libsoup" ,libsoup)
3504 ("libarchive" ,libarchive)
3505 ("totem-pl-parser" ,totem-pl-parser)))
3506 (arguments
3507 `(#:make-flags (list (string-append "GRL_PLUGINS_DIR="
3508 %output
3509 "/lib/grilo-"
3510 ,(version-major+minor version)))
3511 ;; XXX FIXME: Try to get the test suite working. It appears to require
3512 ;; a working system dbus. Inside the build container, all tests fail
3513 ;; with: "assertion failed: (source)". Outside of the build container,
3514 ;; most tests succeed.
3515 #:tests? #f))
f032d0be 3516 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
3517 (synopsis "Plugins for the Grilo media discovery library")
3518 (description
3519 "Grilo is a framework focused on making media discovery and browsing easy
3520for application developers.")
3521 (license license:lgpl2.1+)))
4e3fc547
MW
3522
3523(define-public totem
3524 (package
3525 (name "totem")
aad56d0e 3526 (version "3.24.0")
4e3fc547
MW
3527 (source
3528 (origin
3529 (method url-fetch)
3530 (uri (string-append "mirror://gnome/sources/" name "/"
3531 (version-major+minor version) "/"
3532 name "-" version ".tar.xz"))
3533 (sha256
3534 (base32
aad56d0e 3535 "00cdlll5b0wj5ckl1pc0a3g39a0hlq0gxkcsh1f6p20fjixqzmwv"))))
4e3fc547
MW
3536 (build-system glib-or-gtk-build-system)
3537 (native-inputs
3538 `(("pkg-config" ,pkg-config)
3539 ("desktop-file-utils" ,desktop-file-utils)
3540 ("gobject-introspection" ,gobject-introspection)
3541 ("intltool" ,intltool)
bcb354ad
SB
3542 ("itstool" ,itstool)
3543 ("xmllint" ,libxml2)))
4e3fc547
MW
3544 (propagated-inputs
3545 `(("dconf" ,dconf)))
3546 (inputs
3547 `(("gtk+" ,gtk+)
3548 ("gdk-pixbuf" ,gdk-pixbuf)
3549 ("atk" ,atk)
3550 ("cairo" ,cairo)
3551 ("dbus-glib" ,dbus-glib)
3552 ("clutter" ,clutter)
3553 ("clutter-gtk" ,clutter-gtk)
3554 ("clutter-gst" ,clutter-gst)
3555 ("xproto" ,xproto)
3556 ("libxxf86vm" ,libxxf86vm)
3557 ("libxtst" ,libxtst)
3558 ("libxrandr" ,libxrandr)
3559 ("libxml2" ,libxml2)
3560 ("libsoup" ,libsoup)
3561 ("libpeas" ,libpeas)
3562 ("librsvg" ,librsvg)
3563 ("lirc" ,lirc)
3564 ("gnome-desktop" ,gnome-desktop)
3565 ("gstreamer" ,gstreamer)
3566 ("gst-plugins-base" ,gst-plugins-base)
3567 ("gst-plugins-good" ,gst-plugins-good)
3568 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3569 ("adwaita-icon-theme" ,adwaita-icon-theme)
3570 ;; XXX We use python-2 because libxml2 because itstool (which needs
3571 ;; libxml) currently uses python-2.
3572 ("python" ,python-2)
3573 ("python-pygobject" ,python2-pygobject)
3574 ;; XXX TODO pylint needed for python support
3575 ("totem-pl-parser" ,totem-pl-parser)
3576 ("grilo" ,grilo)
3577 ("grilo-plugins" ,grilo-plugins)
3578 ("nettle" ,nettle)
3579 ("vala" ,vala)))
3580 (arguments
ec5c24f9
LC
3581 `(;; Disable automatic GStreamer plugin installation via PackageKit and
3582 ;; all that.
a388c951
LC
3583 #:configure-flags '("--disable-easy-codec-installation"
3584
3585 ;; Do not build .a files for the plugins, it's
3586 ;; completely useless. This saves 2 MiB.
3587 "--disable-static")
ec5c24f9
LC
3588
3589 #:phases
4e3fc547
MW
3590 (modify-phases %standard-phases
3591 (add-after
3592 'install 'wrap-totem
3593 (lambda* (#:key inputs outputs #:allow-other-keys)
3594 (let ((out (assoc-ref outputs "out"))
3595 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
3596 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
3597 (wrap-program (string-append out "/bin/totem")
3598 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
3599 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))))
3600 #t)))))
3601 (home-page "https://wiki.gnome.org/Apps/Videos")
3602 (synopsis "Simple media player for GNOME based on GStreamer")
3603 (description "Totem is a simple yet featureful media player for GNOME
3604which can read a large number of file formats.")
3605 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
3606 ;; to be used and distributed together with GStreamer and Totem. See
3607 ;; file://COPYING in the source distribution for details.
3608 (license license:gpl2+)))
f0afb0c8
DH
3609
3610(define-public rhythmbox
3611 (package
3612 (name "rhythmbox")
4faa8abe 3613 (version "3.4.1")
f0afb0c8
DH
3614 (source (origin
3615 (method url-fetch)
3616 (uri (string-append "mirror://gnome/sources/" name "/"
3617 (version-major+minor version) "/"
3618 name "-" version ".tar.xz"))
3619 (sha256
3620 (base32
4faa8abe 3621 "1dj1hgdyhmwzs6h2zr89b1ipk0p6g7x74rfz56a5yjds3ik8d7q3"))))
f0afb0c8
DH
3622 (build-system glib-or-gtk-build-system)
3623 (arguments
3624 `(#:configure-flags
3625 (list "--enable-lirc"
3626 "--enable-python"
3627 "--enable-vala"
3628 "--with-brasero"
3629 "--with-gudev"
3630 "--with-libsecret")
3631 #:phases
3632 (modify-phases %standard-phases
3633 (add-after
3634 'install 'wrap-rhythmbox
3635 (lambda* (#:key inputs outputs #:allow-other-keys)
3636 (let ((out (assoc-ref outputs "out"))
3637 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
3638 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
3639 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
3640 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
3641 (wrap-program (string-append out "/bin/rhythmbox")
3642 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
3643 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
3644 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
3645 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
3646 #t)))))
3647 (propagated-inputs
3648 `(("dconf" ,dconf)))
3649 (native-inputs
bcb354ad
SB
3650 `(("itstool" ,itstool)
3651 ("intltool" ,intltool)
f0afb0c8
DH
3652 ("glib" ,glib "bin")
3653 ("gobject-introspection" ,gobject-introspection)
3654 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
3655 ("pkg-config" ,pkg-config)
3656 ("xmllint" ,libxml2)))
f0afb0c8
DH
3657 (inputs
3658 `(("json-glib" ,json-glib)
3659 ("tdb" ,tdb)
3660 ("gnome-desktop" ,gnome-desktop)
3661 ("python" ,python)
3662 ("python-pygobject" ,python2-pygobject)
3663 ("vala" ,vala)
3664 ("gmime" ,gmime)
3665 ("nettle" ,nettle)
f0afb0c8
DH
3666 ("adwaita-icon-theme" ,adwaita-icon-theme)
3667 ("grilo" ,grilo)
3668 ("grilo-plugins" ,grilo-plugins)
3669 ("gstreamer" ,gstreamer)
3670 ("gst-plugins-base" ,gst-plugins-base)
3671 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 3672 ("totem-pl-parser" ,totem-pl-parser)
ea226291 3673 ("libgudev" ,libgudev)
f0afb0c8
DH
3674 ;;("libmtp" ,libmtp) FIXME: Not detected
3675 ("libsecret" ,libsecret)
3676 ("libsoup" ,libsoup)
3677 ("libnotify" ,libnotify)
3678 ("libpeas" ,libpeas)
3679 ("lirc" ,lirc)
3680 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
3681 ;;("clutter" ,clutter)
3682 ;;("clutter-gtk" ,clutter-gtk)
3683 ;;("clutter-gst" ,clutter-gst)
3684 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3685 ("atk" ,atk)
3686 ("pango" ,pango)
3687 ("gtk+" ,gtk+)
3688 ;; TODO:
3689 ;; * libgpod
3690 ;; * mx
f0afb0c8
DH
3691 ("brasero" ,brasero)))
3692 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
3693 (synopsis "Music player for GNOME")
3694 (description "Rhythmbox is a music playing application for GNOME. It
3695supports playlists, song ratings, and any codecs installed through gstreamer.")
3696 (license license:gpl2+)))
f70d8383
DH
3697
3698(define-public eog
3699 (package
3700 (name "eog")
dc4b64ae 3701 (version "3.24.1")
f70d8383
DH
3702 (source (origin
3703 (method url-fetch)
3704 (uri (string-append "mirror://gnome/sources/" name "/"
3705 (version-major+minor version) "/"
3706 name "-" version ".tar.xz"))
3707 (sha256
3708 (base32
dc4b64ae 3709 "1rr7zy8afqgl15j1zz8l37svyv6bw4r3l04yf70zlnf1w8bf27pm"))))
f70d8383
DH
3710 (build-system glib-or-gtk-build-system)
3711 (arguments
3712 `(#:phases
3713 (modify-phases %standard-phases
3714 (add-after
3715 'install 'wrap-eog
3716 (lambda* (#:key outputs #:allow-other-keys)
3717 (let ((out (assoc-ref outputs "out"))
3718 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
3719 (wrap-program (string-append out "/bin/eog")
3720 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
3721 #t)))))
3722 (propagated-inputs
3723 `(("dconf" ,dconf)))
3724 (native-inputs
3725 `(("intltool" ,intltool)
b3546174 3726 ("itstool" ,itstool)
f70d8383
DH
3727 ("glib" ,glib "bin")
3728 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
3729 ("pkg-config" ,pkg-config)
3730 ("xmllint" ,libxml2)))
f70d8383
DH
3731 (inputs
3732 `(("gnome-desktop" ,gnome-desktop)
3733 ("shared-mime-info" ,shared-mime-info)
3734 ("adwaita-icon-theme" ,adwaita-icon-theme)
3735 ("exempi" ,exempi)
3736 ("lcms" ,lcms)
3737 ("libexif" ,libexif)
3738 ("libpeas" ,libpeas)
3739 ("libjpeg" ,libjpeg)
3740 ("librsvg" ,librsvg)
3741 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3742 ("gtk+" ,gtk+)))
3743 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
3744 (synopsis "GNOME image viewer")
3745 (description "Eye of GNOME is the GNOME image viewer. It
3746supports image conversion, rotation, and slideshows.")
3747 (license license:gpl2+)))
41af5e7b 3748
0c3f8cb8
LC
3749(define-public eog-plugins
3750 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
3751 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
3752 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
3753 ;; 'XDG_DATA_DIRS' appropriately set.
3754 (package
3755 (name "eog-plugins")
3756 (version "3.25.1")
3757 (source (origin
3758 (method url-fetch)
3759 (uri (string-append "mirror://gnome/sources/" name "/"
3760 (version-major+minor version) "/"
3761 name "-" version ".tar.xz"))
3762 (sha256
3763 (base32
3764 "0an04z8v83qa6j950rbwdzf1s86y7zd8h1r4p2x36fwbkk1m617q"))))
3765 (build-system gnu-build-system)
3766 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
3767 (synopsis "Extensions for the Eye of GNOME image viewer")
3768 (native-inputs
3769 `(("pkg-config" ,pkg-config)
3770 ("gettext" ,gnu-gettext)))
3771 (inputs
3772 `(("eog" ,eog)
3773 ("glib" ,glib)
3774 ("gtk+" ,gtk+)
3775 ("libpeas" ,libpeas)
3776 ("libexif" ,libexif)
3777 ("libchamplain" ,libchamplain)))
3778 (description
3779 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
3780notably:
3781
3782@itemize
3783@item @dfn{EXIF Display}, which displays camera (EXIF) information;
3784@item @dfn{Map}, which displays a map of where the picture was taken on the
3785side panel;
3786@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
3787@end itemize\n")
3788
3789 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
3790 ;; long suspicious byte stream that goes to a
3791 ;; ".gresource.eog_postasa_plugin" ELF section.
3792 (license license:gpl2+)))
3793
41af5e7b
SB
3794(define-public libgudev
3795 (package
3796 (name "libgudev")
3797 (version "230")
3798 (source (origin
3799 (method url-fetch)
3800 (uri (string-append "mirror://gnome/sources/" name "/"
3801 version "/" name "-" version ".tar.xz"))
3802 (sha256
3803 (base32
3804 "063w6j35n0i0ssmv58kivc1mw4070z6fzb83hi4xfrhcxnn7zrx2"))))
3805 (build-system gnu-build-system)
3806 (native-inputs
3807 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3808 ("gobject-introspection" ,gobject-introspection)
3809 ("pkg-config" ,pkg-config)))
3810 (propagated-inputs
3811 `(("glib" ,glib))) ; required by gudev-1.0.pc
3812 (inputs
3813 `(("udev" ,eudev)))
3814 (home-page "https://wiki.gnome.org/Projects/libgudev")
3815 (synopsis "GObject bindings for libudev")
3816 (description
3817 "This library provides GObject bindings for libudev. It was originally
3818part of udev-extras, then udev, then systemd. It's now a project on its own.")
3819 (license license:lgpl2.1+)))
3dc8828f
SB
3820
3821(define-public gvfs
3822 (package
3823 (name "gvfs")
8e8fefb6 3824 (version "1.32.1")
3dc8828f
SB
3825 (source (origin
3826 (method url-fetch)
3827 (uri (string-append "mirror://gnome/sources/" name "/"
3828 (version-major+minor version) "/"
3829 name "-" version ".tar.xz"))
3830 (sha256
3831 (base32
8e8fefb6 3832 "1pkahczniar1yyas7awcqpkb4ca8l7qa4msn6mr29m89mgnwkdnh"))))
3dc8828f
SB
3833 (build-system gnu-build-system)
3834 (arguments
3835 '(#:tests? #f)) ; XXX: requiring `pidof'
3836 (native-inputs
3837 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3838 ("intltool" ,intltool)
3839 ("pkg-config" ,pkg-config)
3840 ("xsltproc" ,libxslt)))
3841 (inputs
3842 `(("avahi" ,avahi)
3843 ("docbook-xml" ,docbook-xml-4.2)
3844 ("docbook-xsl" ,docbook-xsl)
3845 ("dbus" ,dbus)
3846 ("fuse" ,fuse)
24a78aa6 3847 ("gcr" ,gcr)
3dc8828f
SB
3848 ("glib" ,glib)
3849 ("libarchive" ,libarchive)
3850 ("libbluray" ,libbluray)
8852ca24 3851 ("libcap" ,libcap)
3dc8828f
SB
3852 ("libcdio-paranoia" ,libcdio-paranoia)
3853 ("libgcrypt" ,libgcrypt)
3854 ("libgphoto2" ,libgphoto2)
3855 ("libgudev" ,libgudev)
3856 ("libmtp" ,libmtp)
3857 ("libsecret" ,libsecret)
3858 ("libsmbclient" ,samba)
3859 ("libsoup" ,libsoup)
3860 ("libxml2" ,libxml2)
3861 ("nettle" ,nettle) ; XXX: required by libarchive.pc
8852ca24 3862 ("polkit" ,polkit)
3dc8828f
SB
3863 ("udisks" ,udisks)))
3864 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 3865 (synopsis "Userspace virtual file system for GIO")
3dc8828f 3866 (description
8f65585b 3867 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
3868abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
3869to all applications using the GIO API. It also supports exposing the GVFS
3870mounts to non-GIO applications using FUSE.
3871
3872GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
3873DAV, and others.")
3874 (license license:lgpl2.0+)))
7c88b6bd
AW
3875
3876(define-public gusb
3877 (package
3878 (name "gusb")
6b7d7e9b 3879 (version "0.2.9")
7c88b6bd
AW
3880 (source (origin
3881 (method url-fetch)
3882 (uri (string-append "https://github.com/hughsie/libgusb/archive/"
3883 "gusb_"
3884 (string-join (string-split version #\.)
3885 "_")
3886 ".tar.gz"))
3887 (sha256
3888 (base32
6b7d7e9b 3889 "1500mgpidmnjfkcz1fzqkbqv547iy1cvr8bwf3k9vqgqcjx3844n"))))
7c88b6bd
AW
3890 (build-system gnu-build-system)
3891 (native-inputs
3892 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
3893 ("gobject-introspection" ,gobject-introspection)
3894 ("pkg-config" ,pkg-config)
3895 ("vala" ,vala)
3896 ("autoconf" ,autoconf)
3897 ("automake" ,automake)
3898 ("libtool" ,libtool)
3899 ("gtk-doc" ,gtk-doc)))
3900 (propagated-inputs
3901 ;; Both of these are required by gusb.pc.
3902 `(("glib" ,glib)
3903 ("libusb" ,libusb)))
3904 (arguments
3905 `(#:tests? #f ; libusb fails to initialize. Wonder what that is.
3906 #:phases
3907 (modify-phases %standard-phases
3908 (add-after 'unpack 'autogen
3909 (lambda _
3910 (and (zero? (system* "gtkdocize"))
3911 (zero? (system* "autoreconf" "-vif"))))))))
8f1640ed 3912 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 3913 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
3914 (description
3915 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
3916asynchronous control, bulk and interrupt transfers with proper cancellation
3917and integration into a mainloop. This makes it easy to integrate low level
3918USB transfers with your high-level application or system daemon.")
3919 (license license:lgpl2.1+)))
0abe1d86
AW
3920
3921(define-public simple-scan
3922 (package
3923 (name "simple-scan")
baca5333 3924 (version "3.24.1")
0abe1d86
AW
3925 (source (origin
3926 (method url-fetch)
3927 (uri (string-append "https://launchpad.net/simple-scan/"
3928 (version-major+minor version) "/"
3929 version "/+download/simple-scan-"
3930 version ".tar.xz"))
3931 (sha256
3932 (base32
baca5333 3933 "1czg21cdbd2fgqylxfnzfhhzy69gycf816d5bbaq6hb62hmq7bjy"))))
0abe1d86
AW
3934 (build-system glib-or-gtk-build-system)
3935 (inputs
3936 `(("gtk" ,gtk+)
3937 ("zlib" ,zlib)
3938 ("cairo" ,cairo)
3939 ("gdk-pixbuf" ,gdk-pixbuf)
3940 ("gusb" ,gusb)
4c928743 3941 ("libsane" ,sane-backends)))
0abe1d86 3942 (native-inputs
b94a6ca0 3943 `(("gettext" ,gettext-minimal)
0abe1d86
AW
3944 ("itstool" ,itstool)
3945 ("colord" ,colord)
3946 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
3947 ("pkg-config" ,pkg-config)
bcb354ad
SB
3948 ("vala" ,vala)
3949 ("xmllint" ,libxml2)))
fb9ca511
TGR
3950 (arguments
3951 '(#:configure-flags '("--disable-packagekit")
3952 #:phases
3953 (modify-phases %standard-phases
3954 (add-after 'unpack 'clean
3955 (lambda _
3956 ;; Remove a left-over reference to PackageKit.
3957
3958 ;; https://bugs.launchpad.net/simple-scan/+bug/1462769
3959
3960 ;; There are some generated C files erroneously
3961 ;; included in the source distribution, and this
3962 ;; one breaks the build by referring to a
3963 ;; non-existent header (packagekit.h)
3964 (delete-file "src/ui.c"))))))
0abe1d86
AW
3965 (home-page "https://launchpad.net/simple-scan")
3966 (synopsis "Document and image scanner")
3967 (description "Simple Scan is an easy-to-use application, designed to let
3968users connect their scanner and quickly have the image/document in an
3969appropriate format. Simple Scan is basically a frontend for SANE - which is
3970the same backend as XSANE uses. This means that all existing scanners will
3971work and the interface is well tested.")
3972 (license license:gpl3+)))
7549f984 3973
ab466d79
RW
3974(define-public eolie
3975 (package
3976 (name "eolie")
3977 (version "0.9.0")
3978 (source (origin
3979 (method url-fetch)
3980 (uri (string-append "https://github.com/gnumdk/eolie/"
3981 "releases/download/"
3982 (version-major+minor version)
3983 "/eolie-" version ".tar.xz"))
3984 (sha256
3985 (base32
3986 "1lb3rd2as12vq24fcf9nmlhggf8vka3kli2i92i8iylwi7nq5n2a"))))
3987 (build-system glib-or-gtk-build-system)
3988 (arguments
3989 `(#:modules ((guix build glib-or-gtk-build-system)
3990 (guix build utils)
3991 (ice-9 match))
3992 #:phases
3993 (modify-phases %standard-phases
3994 (add-after 'wrap 'wrap-more
3995 (lambda* (#:key inputs outputs #:allow-other-keys)
3996 (let* ((out (assoc-ref outputs "out"))
3997 ;; These libraries must be on LD_LIBRARY_PATH.
3998 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
3999 "atk" "gtk+" "gsettings-desktop-schemas"
4000 "gobject-introspection"))
4001 (path (string-join
4002 (map (lambda (lib)
4003 (string-append (assoc-ref inputs lib) "/lib"))
4004 libs)
4005 ":")))
4006 (wrap-program (string-append out "/bin/eolie")
4007 `("LD_LIBRARY_PATH" ":" prefix (,path))
4008 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
4009 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
4010 #t)))))
4011 (native-inputs
4012 `(("intltool" ,intltool)
4013 ("itstool" ,itstool)
4014 ("pkg-config" ,pkg-config)))
4015 (inputs
4016 `(("gobject-introspection" ,gobject-introspection)
4017 ("glib-networking" ,glib-networking)
4018 ("cairo" ,cairo)
4019 ("gtk+" ,gtk+)
4020 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
4021 ("python" ,python-wrapper)
4022 ("python-pygobject" ,python-pygobject)
4023 ("python-pycairo" ,python-pycairo)
4024 ("libsecret" ,libsecret)
4025 ("gtkspell3" ,gtkspell3)
4026 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4027 ("webkitgtk" ,webkitgtk)))
4028 (home-page "https://github.com/gnumdk/eolie/")
4029 (synopsis "Web browser for GNOME")
4030 (description
4031 "Eolie is a new web browser for GNOME. It features Firefox sync support,
4032a secret password store, an adblocker, and a modern UI.")
4033 (license license:gpl3+)))
4034
7549f984
SB
4035(define-public epiphany
4036 (package
4037 (name "epiphany")
02605195 4038 (version "3.24.3")
7549f984
SB
4039 (source (origin
4040 (method url-fetch)
4041 (uri (string-append "mirror://gnome/sources/" name "/"
4042 (version-major+minor version) "/"
4043 name "-" version ".tar.xz"))
4044 (sha256
4045 (base32
02605195 4046 "0m51cclpnb7lxk8w526rriyb2bi3aj17fbcvikhkg7qd65v1dxgy"))))
7549f984
SB
4047 (build-system glib-or-gtk-build-system)
4048 (arguments
4049 ;; FIXME: tests run under Xvfb, but fail with:
4050 ;; /src/bookmarks/ephy-bookmarks/create:
4051 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
4052 ;; subsystem
4053 ;; FAIL
6f48d9db
MW
4054 '(#:tests? #f
4055 #:configure-flags '("CFLAGS=-std=gnu99")))
80a747c4
SB
4056 (propagated-inputs
4057 `(("dconf" ,dconf)))
7549f984
SB
4058 (native-inputs
4059 `(("intltool" ,intltool)
4060 ("itstool" ,itstool)
bcb354ad
SB
4061 ("pkg-config" ,pkg-config)
4062 ("xmllint" ,libxml2)))
7549f984
SB
4063 (inputs
4064 `(("avahi" ,avahi)
4065 ("gcr" ,gcr)
0e5c9cf5 4066 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
7549f984
SB
4067 ("glib-networking" ,glib-networking)
4068 ("gnome-desktop" ,gnome-desktop)
4069 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 4070 ("json-glib" ,json-glib)
7549f984
SB
4071 ("iso-codes" ,iso-codes)
4072 ("libnotify" ,libnotify)
4073 ("libsecret" ,libsecret)
7549f984 4074 ("libxslt" ,libxslt)
7549f984
SB
4075 ("sqlite" ,sqlite)
4076 ("webkitgtk" ,webkitgtk)))
4077 (home-page "https://wiki.gnome.org/Apps/Web")
4078 (synopsis "GNOME web browser")
4079 (description
4080 "Epiphany is a GNOME web browser targeted at non-technical users. Its
4081principles are simplicity and standards compliance.")
4082 (license license:gpl2+)))
a3856b2c
SB
4083
4084(define-public d-feet
4085 (package
4086 (name "d-feet")
7d04b13c 4087 (version "0.3.11")
a3856b2c
SB
4088 (source (origin
4089 (method url-fetch)
4090 (uri (string-append "mirror://gnome/sources/" name "/"
4091 (version-major+minor version) "/"
4092 name "-" version ".tar.xz"))
4093 (sha256
4094 (base32
7d04b13c 4095 "1hmrijm4d9vwzx2r8qzzsy8ccpj79l1y6cc569n9jjzqcq699p53"))))
a3856b2c
SB
4096 (build-system glib-or-gtk-build-system)
4097 (arguments
4098 '(#:out-of-source? #f ; tests need to run in the source directory.
4099 #:phases
4100 (modify-phases %standard-phases
4101 (add-before
4102 'check 'pre-check
86aff791 4103 (lambda _
a3856b2c
SB
4104 ;; The test suite requires a running X server.
4105 (system "Xvfb :1 &")
4106 (setenv "DISPLAY" ":1")
4107 ;; Don't fail on missing '/etc/machine-id'.
4108 (setenv "DBUS_FATAL_WARNINGS" "0")
4109 ;; tests.py and window.py don't meet E402:
4110 ;; E402 module level import not at top of file
4111 (substitute* "src/tests/Makefile"
86aff791
MW
4112 (("--ignore=E123") "--ignore=E123,E402"))
4113 #t))
a3856b2c
SB
4114 (add-after
4115 'install 'wrap-program
4116 (lambda* (#:key outputs #:allow-other-keys)
4117 (let ((prog (string-append (assoc-ref outputs "out")
4118 "/bin/d-feet")))
4119 (wrap-program prog
4120 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
4121 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
4122 #t))))))
a3856b2c
SB
4123 (native-inputs
4124 `(("intltool" ,intltool)
4125 ("itstool" ,itstool)
4126 ("pkg-config" ,pkg-config)
4127 ("python-pep8" ,python-pep8)
4128 ("xmllint" ,libxml2)
4129 ("xorg-server" ,xorg-server)))
4130 (inputs
4131 `(("gobject-introspection" ,gobject-introspection)
4132 ("gtk+" ,gtk+)
4133 ("python" ,python-wrapper)
4134 ("python-pygobject" ,python-pygobject)))
4135 (home-page "https://wiki.gnome.org/Apps/DFeet")
4136 (synopsis "D-Bus debugger")
4137 (description
4138 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
4139of running programs and invoke methods on those interfaces.")
4140 (license license:gpl2+)))
c3b97bd9
SB
4141
4142(define-public yelp-xsl
4143 (package
4144 (name "yelp-xsl")
27ad5743 4145 (version "3.20.1")
c3b97bd9
SB
4146 (source (origin
4147 (method url-fetch)
4148 (uri (string-append "mirror://gnome/sources/" name "/"
4149 (version-major+minor version) "/"
4150 name "-" version ".tar.xz"))
4151 (sha256
4152 (base32
27ad5743 4153 "183vz4aw8fcmw8k8q7r4zrm1p76gwg2cca1fsdrkaiyabng88qfw"))))
c3b97bd9
SB
4154 (build-system gnu-build-system)
4155 (native-inputs
4156 `(("intltool" ,intltool)
4157 ("itstool" ,itstool)
4158 ("xmllint" ,libxml2)))
4159 (home-page "https://wiki.gnome.org/Apps/Yelp")
4160 (synopsis "XSL stylesheets for Yelp")
4161 (description
4162 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
4163to format Docbook and Mallard documents.")
4164 (license license:gpl2+)))
de3d612a
SB
4165
4166(define-public yelp
4167 (package
4168 (name "yelp")
491cc0dc 4169 (version "3.22.0")
de3d612a
SB
4170 (source (origin
4171 (method url-fetch)
4172 (uri (string-append "mirror://gnome/sources/" name "/"
4173 (version-major+minor version) "/"
4174 name "-" version ".tar.xz"))
4175 (sha256
4176 (base32
491cc0dc 4177 "13kpi0qmnfx2xwizyhmf5i5xaw9ckcn1k7v0289p7als4dybf5l6"))))
de3d612a
SB
4178 (build-system glib-or-gtk-build-system)
4179 (native-inputs
4180 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
4181 ("intltool" ,intltool)
4182 ("itstool" ,itstool)
4183 ("pkg-config" ,pkg-config)))
4184 (propagated-inputs
4185 `(("dconf" ,dconf)))
4186 (inputs
ad1b7d8b
SB
4187 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4188 ("libxslt" ,libxslt)
de3d612a 4189 ("sqlite" ,sqlite)
4c28ca1d
SB
4190 ("webkitgtk" ,webkitgtk)
4191 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
4192 (home-page "https://wiki.gnome.org/Apps/Yelp")
4193 (synopsis "GNOME help browser")
4194 (description
4195 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
4196man, info, and HTML documents. It can locate documents according to the
4197freedesktop.org help system specification.")
4198 (license license:gpl2+)))
122d0d10
SB
4199
4200(define-public yelp-tools
4201 (package
4202 (name "yelp-tools")
50695955 4203 (version "3.18.0")
122d0d10
SB
4204 (source (origin
4205 (method url-fetch)
4206 (uri (string-append "mirror://gnome/sources/" name "/"
4207 (version-major+minor version) "/"
4208 name "-" version ".tar.xz"))
4209 (sha256
4210 (base32
50695955 4211 "0ck9f78c1xka8a823bd7w1k0gdn4k19zvaj7viy2d5r3h1gxdhf6"))))
122d0d10
SB
4212 (build-system gnu-build-system)
4213 (native-inputs
4214 `(("pkg-config" ,pkg-config)))
4215 (propagated-inputs
4216 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
4217 `(("itstool" ,itstool)
4218 ("xmllint" ,libxml2)
4219 ("xsltproc" ,libxslt)))
4220 (inputs
4221 `(("yelp-xsl" ,yelp-xsl)))
4222 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
4223 (synopsis "Yelp documentation tools")
4224 (description
4225 "Yelp-tools is a collection of scripts and build utilities to help create,
4226manage, and publish documentation for Yelp and the web. Most of the heavy
4227lifting is done by packages like yelp-xsl and itstool. This package just
4228wraps things up in a developer-friendly way.")
4229 (license license:gpl2+)))
af8f9f23
RW
4230
4231(define-public libgee
4232 (package
4233 (name "libgee")
afd8e16b 4234 (version "0.20.0")
af8f9f23
RW
4235 (source (origin
4236 (method url-fetch)
4237 (uri (string-append "mirror://gnome/sources/" name "/"
4238 (version-major+minor version) "/"
4239 name "-" version ".tar.xz"))
4240 (sha256
4241 (base32
afd8e16b 4242 "1fy24dr8imrjlmsqj1syn0gi139gba6hwk3j5vd6sr3pxniqnc11"))))
af8f9f23
RW
4243 (build-system gnu-build-system)
4244 (arguments
4245 `(#:phases
4246 (modify-phases %standard-phases
4247 (add-after 'unpack 'fix-introspection-install-dir
4248 (lambda* (#:key outputs #:allow-other-keys)
4249 (let ((out (assoc-ref outputs "out")))
4250 (substitute* "gee/Makefile.in"
4251 (("@INTROSPECTION_GIRDIR@")
4252 (string-append out "/share/gir-1.0/"))
4253 (("@INTROSPECTION_TYPELIBDIR@")
4254 (string-append out "/lib/girepository-1.0/")))))))))
4255 (native-inputs
4256 `(("glib" ,glib "bin")
4257 ("pkg-config" ,pkg-config)))
4258 (inputs
4259 `(("glib" ,glib)
4260 ("gobject-introspection" ,gobject-introspection)))
4261 (home-page "https://wiki.gnome.org/Projects/Libgee")
4262 (synopsis "GObject collection library")
4263 (description
4264 "Libgee is a utility library providing GObject-based interfaces and
4265classes for commonly used data structures.")
4266 (license license:lgpl2.1+)))
b0f9c4b8
RW
4267
4268(define-public gexiv2
4269 (package
4270 (name "gexiv2")
b7c0c756 4271 (version "0.10.6")
b0f9c4b8
RW
4272 (source (origin
4273 (method url-fetch)
4274 (uri (string-append "mirror://gnome/sources/" name "/"
4275 (version-major+minor version) "/"
4276 name "-" version ".tar.xz"))
4277 (sha256
4278 (base32
b7c0c756 4279 "09aqsnpah71p9gx0ap2px2dyanrs7jmkkar6q114n9b7js8qh9qk"))))
b0f9c4b8
RW
4280 (build-system gnu-build-system)
4281 (native-inputs
4282 `(("glib" ,glib "bin")
4283 ("pkg-config" ,pkg-config)))
4284 (propagated-inputs
4285 ;; Listed in "Requires" section of gexiv2.pc
4286 `(("exiv2" ,exiv2)))
4287 (inputs
4288 `(("glib" ,glib)
4289 ("gobject-introspection" ,gobject-introspection)))
4290 (home-page "https://wiki.gnome.org/Projects/gexiv2")
4291 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
4292 (description
4293 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
4294allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
4295metadata in photo and video files of various formats.")
4296 (license license:gpl2+)))
fed5a689
RW
4297
4298(define-public shotwell
4299 (package
4300 (name "shotwell")
c8fc9a37 4301 (version "0.26.2")
fed5a689
RW
4302 (source (origin
4303 (method url-fetch)
4304 (uri (string-append "mirror://gnome/sources/" name "/"
4305 (version-major+minor version) "/"
4306 name "-" version ".tar.xz"))
4307 (sha256
4308 (base32
c8fc9a37 4309 "0frjqa6nmh025clwnb74z2rzbdq65wjcp2lf9csgcbkpahyjhrag"))))
fed5a689 4310 (build-system glib-or-gtk-build-system)
735b8db6
TGR
4311 (propagated-inputs
4312 `(("dconf" ,dconf)))
fed5a689
RW
4313 (native-inputs
4314 `(("pkg-config" ,pkg-config)
f819c21d 4315 ("itstool" ,itstool)
b94a6ca0 4316 ("gettext" ,gettext-minimal)
77e9c993 4317 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
735b8db6
TGR
4318 ("itstool" ,itstool)
4319 ("vala" ,vala)))
fed5a689 4320 (inputs
735b8db6
TGR
4321 `(("glib:bin" ,glib "bin")
4322 ("gstreamer" ,gstreamer)
fed5a689 4323 ("gst-plugins-base" ,gst-plugins-base)
dfb0323d 4324 ("libgdata" ,libgdata)
fed5a689
RW
4325 ("libgee" ,libgee)
4326 ("gexiv2" ,gexiv2)
4327 ("libraw" ,libraw)
4328 ("json-glib" ,json-glib)
7108425c 4329 ("webkitgtk" ,webkitgtk)
fed5a689
RW
4330 ("sqlite" ,sqlite)
4331 ("libsoup" ,libsoup)
4332 ("libxml2" ,libxml2)
fed5a689 4333 ("libgudev" ,libgudev)
522fc32e
LF
4334 ("libgphoto2" ,libgphoto2)
4335 ("gcr" ,gcr)))
fed5a689
RW
4336 (home-page "https://wiki.gnome.org/Apps/Shotwell")
4337 (synopsis "Photo manager for GNOME 3")
4338 (description
4339 "Shotwell is a digital photo manager designed for the GNOME desktop
4340environment. It allows you to import photos from disk or camera, organize
4341them by keywords and events, view them in full-window or fullscreen mode, and
4342share them with others via social networking and more.")
4343 (license license:lgpl2.1+)))
293ff8b2
DT
4344
4345(define-public file-roller
4346 (package
4347 (name "file-roller")
e62a38d4 4348 (version "3.24.1")
293ff8b2
DT
4349 (source (origin
4350 (method url-fetch)
4351 (uri (string-append "mirror://gnome/sources/" name "/"
4352 (version-major+minor version) "/"
4353 name "-" version ".tar.xz"))
4354 (sha256
4355 (base32
e62a38d4 4356 "0fkz9h9a6149crmf6311fsqlmv9wyrxk86470vxib941ppl4a581"))))
293ff8b2 4357 (build-system glib-or-gtk-build-system)
c282c55d
SB
4358 (arguments
4359 '(#:phases
4360 (modify-phases %standard-phases
4361 (add-before 'install 'skip-gtk-update-icon-cache
4362 (lambda _
4363 ;; Don't create 'icon-theme.cache'
4364 (substitute* (find-files "data" "^Makefile$")
4365 (("gtk-update-icon-cache") (which "true")))
4366 #t)))))
293ff8b2
DT
4367 (native-inputs
4368 `(("intltool" ,intltool)
4369 ("pkg-config" ,pkg-config)))
4370 ;; TODO: Add libnautilus.
4371 (inputs
4372 `(("gtk+" ,gtk+)
4373 ("gdk-pixbuf" ,gdk-pixbuf)
4374 ("json-glib" ,json-glib)
4375 ("libarchive" ,libarchive)
4376 ("libnotify" ,libnotify)
4377 ("nettle" ,nettle)
4378 ("itstool" ,itstool)
4379 ("libxml2" ,libxml2)))
4380 (synopsis "Graphical archive manager for GNOME")
4381 (description "File Roller is an archive manager for the GNOME desktop
4382environment that allows users to view, unpack, and create compressed archives
4383such as gzip tarballs.")
4384 (home-page "http://fileroller.sourceforge.net/")
4385 (license license:gpl2+)))
7ce49365
SB
4386
4387(define-public gnome-session
4388 (package
4389 (name "gnome-session")
17cf06c3 4390 (version "3.24.1")
7ce49365
SB
4391 (source (origin
4392 (method url-fetch)
4393 (uri (string-append "mirror://gnome/sources/" name "/"
4394 (version-major+minor version) "/"
4395 name "-" version ".tar.xz"))
4396 (sha256
4397 (base32
17cf06c3 4398 "1vkfjsgks9czajivcg3y1krzlnilv2cnzzbdc7wrasrriqilji1v"))))
2914af3c
AW
4399 (arguments
4400 '(#:phases
4401 (modify-phases %standard-phases
4402 (add-before 'configure 'pre-configure
4403 (lambda* (#:key outputs #:allow-other-keys)
4404 ;; Use elogind instead of systemd.
4405 (substitute* "configure"
4406 (("libsystemd-login >= 183 libsystemd-daemon libsystemd-journal")
4407 "libelogind")
4408 (("systemd") "elogind"))
4409 (substitute* "gnome-session/gsm-systemd.c"
4410 (("#include <systemd/sd-login.h>")
4411 "#include <elogind/sd-login.h>"))
4412 ;; Remove uses of the systemd journal.
4413 (substitute* "gnome-session/main.c"
4414 (("#ifdef HAVE_SYSTEMD") "#if 0"))
4415 (substitute* "gnome-session/gsm-manager.c"
4416 (("#ifdef HAVE_SYSTEMD") "#if 0"))
803ab416
SB
4417 (substitute* "gnome-session/gsm-autostart-app.c"
4418 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
4419 #t))
4420 (add-after 'install 'wrap-gnome-session
4421 (lambda* (#:key inputs outputs #:allow-other-keys)
4422 ;; Make sure 'gnome-session' finds the 'gsettings' program.
4423 (let ((glib (assoc-ref inputs "glib:bin"))
4424 (out (assoc-ref outputs "out")))
4425 (wrap-program (string-append out "/bin/gnome-session")
4426 `("PATH" ":" prefix (,(string-append glib "/bin"))))
6cbc8d57
LC
4427 #t)))
4428 (add-after 'install 'disable-hardware-acceleration-check
4429 (lambda* (#:key outputs #:allow-other-keys)
4430 ;; Do not abort if hardware acceleration is missing. This allows
4431 ;; GNOME to run in QEMU and on low-end devices.
4432 (let ((out (assoc-ref outputs "out")))
4433 (substitute* (string-append out
4434 "/share/xsessions/gnome.desktop")
4435 (("gnome-session")
4436 "gnome-session --disable-acceleration-check"))
a0d7baaf 4437 #t))))
6cbc8d57 4438
2914af3c
AW
4439 #:configure-flags
4440 '("--enable-elogind")))
ba3cb5ab 4441 (build-system glib-or-gtk-build-system)
7ce49365
SB
4442 (native-inputs
4443 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4444 ("pkg-config" ,pkg-config)
4445 ("intltool" ,intltool)
4446 ("xsltproc" ,libxslt)))
4447 (inputs
2914af3c
AW
4448 `(("elogind" ,elogind)
4449 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 4450 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
4451 ("gtk+" ,gtk+)
4452 ("json-glib" ,json-glib)
4453 ("libsm" ,libsm)
4454 ("libxcomposite" ,libxcomposite)
4455 ("libxtst" ,libxtst)
4456 ("mesa" ,mesa)
4457 ("upower" ,upower)
4458 ("xtrans" ,xtrans)))
4459 (synopsis "Session manager for GNOME")
4460 (description
4461 "This package contains the GNOME session manager, as well as a
4462configuration program to choose applications starting on login.")
4463 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
4464 (license license:gpl2+)))
f47ba77e
SB
4465
4466(define-public gjs
4467 (package
4468 (name "gjs")
144f94d0 4469 (version "1.48.3")
f47ba77e
SB
4470 (source (origin
4471 (method url-fetch)
4472 (uri (string-append "mirror://gnome/sources/" name "/"
4473 (version-major+minor version) "/"
4474 name "-" version ".tar.xz"))
4475 (sha256
4476 (base32
144f94d0 4477 "0cqgv460wfhwkw6j1h46v6bg29bycg6dfl7c5rv0lfcqmmw7v6v6"))))
f47ba77e
SB
4478 (build-system gnu-build-system)
4479 (arguments
4480 '(#:phases
4481 (modify-phases %standard-phases
4482 (add-before
4483 'check 'pre-check
4484 (lambda _
fc119619
MW
4485 ;; The test suite requires a running X server.
4486 (system "Xvfb :1 &")
4487 (setenv "DISPLAY" ":1")
4488
f47ba77e
SB
4489 ;; For the missing /etc/machine-id.
4490 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 4491
144f94d0
KK
4492 ;; Our mozjs-38 package does not compile the required Intl API
4493 ;; support for these failing tests.
4494 (substitute* "installed-tests/js/testLocale.js"
4495 ((".*toBeDefined.*") "")
4496 ((".*expect\\(datestr\\).*") ""))
f47ba77e
SB
4497 #t)))))
4498 (native-inputs
4499 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
4500 ("pkg-config" ,pkg-config)
4501 ("xmllint" ,libxml2)
4502 ;; For testing
4503 ("dbus-launch" ,dbus)
4504 ("uuidgen" ,util-linux)
4505 ("xvfb" ,xorg-server)))
4506 (propagated-inputs
4507 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
4508 `(("cairo" ,cairo)
4509 ("gobject-introspection" ,gobject-introspection)
4510 ("mozjs" ,mozjs-38)))
f47ba77e
SB
4511 (inputs
4512 `(("gtk+" ,gtk+)
4513 ("readline" ,readline)))
4514 (synopsis "Javascript bindings for GNOME")
f032d0be 4515 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
4516 (description
4517 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
4518javascript engine and the GObject introspection framework.")
4519 (license license:gpl2+)))
329d731b
DH
4520
4521(define-public gedit
4522 (package
4523 (name "gedit")
e3705bb6 4524 (version "3.22.1")
329d731b
DH
4525 (source (origin
4526 (method url-fetch)
4527 (uri (string-append "mirror://gnome/sources/" name "/"
4528 (version-major+minor version) "/"
4529 name "-" version ".tar.xz"))
4530 (sha256
4531 (base32
e3705bb6 4532 "0as9r5zvnyrxh699q6jnd0p9ddqy5qamfbxggpdjzagzixhw6yxa"))))
329d731b
DH
4533 (build-system glib-or-gtk-build-system)
4534 (arguments
0d2df50c 4535 `(#:phases
329d731b
DH
4536 (modify-phases %standard-phases
4537 (add-after
4538 'install 'wrap-gedit
4539 (lambda* (#:key inputs outputs #:allow-other-keys)
4540 (let ((out (assoc-ref outputs "out"))
4541 (gtksourceview (assoc-ref inputs "gtksourceview"))
afc25242
SB
4542 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4543 (python-path (getenv "PYTHONPATH")))
329d731b 4544 (wrap-program (string-append out "/bin/gedit")
afc25242 4545 ;; For plugins.
329d731b 4546 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
afc25242 4547 `("PYTHONPATH" ":" prefix (,python-path))
329d731b
DH
4548 ;; For language-specs.
4549 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
4550 "/share")))))
4551 #t)))))
4552 (propagated-inputs
4553 `(("dconf" ,dconf)))
4554 (native-inputs
4555 `(("intltool" ,intltool)
b3546174 4556 ("itstool" ,itstool)
329d731b
DH
4557 ("gobject-introspection" ,gobject-introspection)
4558 ("pkg-config" ,pkg-config)))
4559 (inputs
4560 `(("glib" ,glib)
0d2df50c 4561 ("gspell" ,gspell)
329d731b
DH
4562 ("gtk+" ,gtk+)
4563 ("gtksourceview" ,gtksourceview)
4564 ("libpeas" ,libpeas)
4565 ("libxml2" ,libxml2)
329d731b
DH
4566 ("iso-codes" ,iso-codes)
4567 ("python-pygobject" ,python-pygobject)
4568 ("python" ,python)
4569 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4570 ("libx11" ,libx11)
4571 ("vala" ,vala)
4572 ("adwaita-icon-theme" ,adwaita-icon-theme)
4573 ("libsoup" ,libsoup)
4574 ("gnome-desktop" ,gnome-desktop)))
4575 (home-page "https://wiki.gnome.org/Apps/Gedit")
4576 (synopsis "GNOME text editor")
4577 (description "While aiming at simplicity and ease of use, gedit is a
4578powerful general purpose text editor.")
4579 (license license:gpl2+)))
b7179363
SB
4580
4581(define-public zenity
4582 (package
4583 (name "zenity")
380cb96e 4584 (version "3.24.0")
b7179363
SB
4585 (source (origin
4586 (method url-fetch)
4587 (uri (string-append "mirror://gnome/sources/" name "/"
4588 (version-major+minor version) "/"
4589 name "-" version ".tar.xz"))
4590 (sha256
4591 (base32
380cb96e 4592 "1xzpm63cib2xzr99phplhbcjzy7lahggk3gp60dvrrclxhka1w3g"))))
b7179363
SB
4593 (build-system gnu-build-system)
4594 (native-inputs
b94a6ca0 4595 `(("gettext" ,gettext-minimal)
b7179363
SB
4596 ("itstool" ,itstool)
4597 ("pkg-config" ,pkg-config)))
4598 (inputs
4599 `(("libnotify" ,libnotify)
4600 ("webkitgtk" ,webkitgtk)))
4601 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 4602 (home-page "https://www.gnome.org")
b7179363
SB
4603 (description
4604 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
4605to display dialog boxes from the commandline and shell scripts.")
4606 (license license:lgpl2.0+)))
60c3627c
SB
4607
4608(define-public mutter
4609 (package
4610 (name "mutter")
a51fc34c 4611 (version "3.24.4")
60c3627c 4612 (source (origin
86c44e72
KK
4613 (method url-fetch)
4614 (uri (string-append "mirror://gnome/sources/" name "/"
4615 (version-major+minor version) "/"
4616 name "-" version ".tar.xz"))
60c3627c
SB
4617 (sha256
4618 (base32
a51fc34c 4619 "1slspy5krbqfvnma72lvdnxjf8ag2cvxssa8bvi7y3xxy7xv603k"))))
86c44e72
KK
4620 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
4621 ;; versions of cogl and clutter. As a result, many of the inputs,
4622 ;; propagated-inputs, and configure flags used in cogl and clutter are
4623 ;; needed here as well.
60c3627c
SB
4624 (build-system gnu-build-system)
4625 (arguments
4626 '(#:configure-flags
4627 ;; XXX: build fails with [-Werror]:
4628 ;; backends/meta-cursor-renderer.c:112:5: error:
4629 ;; implicit declaration of function ?roundf?
a88d5a0c
MW
4630 (list "--enable-compile-warnings=minimum"
4631
86c44e72 4632 "--enable-native-backend"
a88d5a0c
MW
4633
4634 ;; The following flags are needed for the bundled clutter
4635 "--enable-x11-backend=yes"
4636
4637 ;; the remaining flags are needed for the bundled cogl
4638 "--enable-cogl-gst"
4639 (string-append "--with-gl-libname="
4640 (assoc-ref %build-inputs "mesa")
f23052a6
DC
4641 "/lib/libGL.so"))
4642 #:phases
4643 (modify-phases %standard-phases
86c44e72
KK
4644 ;; Replace references to systemd libraries to elogind references.
4645 (add-before 'configure 'use-elogind
4646 (lambda _
4647 (substitute* (list "configure"
4648 "src/backends/native/meta-launcher.c"
4649 "src/core/main.c")
4650 (("systemd") "elogind"))
4651 #t)))))
60c3627c
SB
4652 (native-inputs
4653 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4654 ("gobject-introspection" ,gobject-introspection)
4655 ("intltool" ,intltool)
f23052a6
DC
4656 ("pkg-config" ,pkg-config)
4657 ;; For git build
4658 ("autoconf" ,autoconf)
4659 ("automake" ,automake)
4660 ("libtool" ,libtool)))
60c3627c 4661 (propagated-inputs
a88d5a0c
MW
4662 `(;; libmutter.pc refers to these:
4663 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4664 ("gtk+" ,gtk+)
4665 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
4666 ("atk" ,atk)
4667 ("cairo" ,cairo)
4668 ("gdk-pixbuf" ,gdk-pixbuf)
4669 ("glib" ,glib)
4670 ("glib" ,glib)
60c3627c 4671 ("gtk+" ,gtk+)
a88d5a0c
MW
4672 ("json-glib" ,json-glib)
4673 ("libinput" ,libinput)
4674 ("libx11" ,libx11)
4675 ("libxcomposite" ,libxcomposite)
4676 ("libxdamage" ,libxdamage)
4677 ("libxext" ,libxext)
4678 ("libxfixes" ,libxfixes)
4679 ("libxkbcommon" ,libxkbcommon)
4680 ("libxrandr" ,libxrandr)
4681 ("mesa" ,mesa)
4682 ("pango" ,pango)
4683 ("udev" ,eudev)
a88d5a0c 4684 ("xinput" ,xinput)))
60c3627c 4685 (inputs
86c44e72
KK
4686 `(("elogind" ,elogind)
4687 ("gnome-desktop" ,gnome-desktop)
60c3627c 4688 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 4689 ("libgudev" ,libgudev)
60c3627c
SB
4690 ("libice" ,libice)
4691 ("libsm" ,libsm)
60c3627c 4692 ("libxkbfile" ,libxkbfile)
a88d5a0c 4693 ("libxrandr" ,libxrandr)
86c44e72 4694 ("libxtst" ,libxtst)
60c3627c
SB
4695 ("startup-notification" ,startup-notification)
4696 ("upower-glib" ,upower)
4697 ("xkeyboard-config" ,xkeyboard-config)
4698 ("zenity" ,zenity)))
4699 (synopsis "Window and compositing manager")
f032d0be 4700 (home-page "https://www.gnome.org")
60c3627c
SB
4701 (description
4702 "Mutter is a window and compositing manager that displays and manages your
4703desktop via OpenGL. Mutter combines a sophisticated display engine using the
4704Clutter toolkit with solid window-management logic inherited from the Metacity
4705window manager.")
86c44e72 4706 (license license:gpl2+)))
685cee87
SB
4707
4708(define-public gnome-online-accounts
4709 (package
4710 (name "gnome-online-accounts")
666901b2 4711 (version "3.24.2")
685cee87
SB
4712 (source (origin
4713 (method url-fetch)
4714 (uri (string-append "mirror://gnome/sources/" name "/"
4715 (version-major+minor version) "/"
4716 name "-" version ".tar.xz"))
4717 (sha256
4718 (base32
666901b2 4719 "1fmgywfcvlb5sa0slxxlg80gafiaal8vnq6h5lcybqa12lnxa2mp"))))
685cee87
SB
4720 (build-system glib-or-gtk-build-system)
4721 (native-inputs
4722 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4723 ("gobject-introspection" ,gobject-introspection)
4724 ("intltool" ,intltool)
4725 ("pkg-config" ,pkg-config)
4726 ("xsltproc" ,libxslt)))
4727 (propagated-inputs
4728 `(("glib" ,glib) ; required by goa-1.0.pc
4729 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
4730 (inputs
4731 `(("docbook-xsl" ,docbook-xsl)
4732 ("json-glib" ,json-glib)
4733 ("libsecret" ,libsecret)
4734 ("rest" ,rest)
4735 ("telepathy-glib" ,telepathy-glib)
4736 ("webkitgtk" ,webkitgtk)))
4737 (synopsis "Single sign-on framework for GNOME")
4738 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
4739 (description
4740 "GNOME Online Accounts provides interfaces so that applications and
4741libraries in GNOME can access the user's online accounts. It has providers for
4742Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
4743Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
4744 (license license:lgpl2.0+)))
df217748
SB
4745
4746(define-public evolution-data-server
4747 (package
4748 (name "evolution-data-server")
07cabcb1 4749 (version "3.24.3")
df217748
SB
4750 (source (origin
4751 (method url-fetch)
4752 (uri (string-append "mirror://gnome/sources/" name "/"
4753 (version-major+minor version) "/"
4754 name "-" version ".tar.xz"))
4755 (sha256
4756 (base32
07cabcb1 4757 "1jj1q81bl3r0c8rnsfqi83igqlprzdcjim1fvygbyfy7b8gigqqk"))))
743aebd7 4758 (build-system cmake-build-system)
df217748 4759 (arguments
743aebd7 4760 '(;; XXX FIXME: 11/85 tests are failing.
df217748
SB
4761 #:tests? #f
4762 #:configure-flags
743aebd7
MB
4763 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
4764 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
4765 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
4766 "-DENABLE_VALA_BINDINGS=ON"
4767 "-DENABLE_INTROSPECTION=ON") ;required for Vala bindings
df217748
SB
4768 #:phases
4769 (modify-phases %standard-phases
743aebd7 4770 (add-after 'unpack 'patch-paths
df217748
SB
4771 (lambda _
4772 (substitute* "tests/test-server-utils/e-test-server-utils.c"
4773 (("/bin/rm") (which "rm")))
4774 #t)))))
4775 (native-inputs
4776 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
4777 ("gobject-introspection" ,gobject-introspection)
4778 ("gperf" ,gperf)
4779 ("intltool" ,intltool)
4780 ("pkg-config" ,pkg-config)
a73c1cf8 4781 ("vala" ,vala)
743aebd7 4782 ("python" ,python-wrapper)))
df217748
SB
4783 (propagated-inputs
4784 ;; These are all in the Requires field of .pc files.
4785 `(("gtk+" ,gtk+)
4786 ("libical" ,libical)
4787 ("libsecret" ,libsecret)
4788 ("libsoup" ,libsoup)
4789 ("nss" ,nss)
4790 ("sqlite" ,sqlite)))
4791 (inputs
4792 `(("bdb" ,bdb)
4793 ("gcr" ,gcr)
4794 ("gnome-online-accounts" ,gnome-online-accounts)
743aebd7
MB
4795 ("libgweather" ,libgweather)
4796 ("mit-krb5" ,mit-krb5)
4797 ("openldap" ,openldap)))
df217748
SB
4798 (synopsis "Store address books and calendars")
4799 (home-page "https://wiki.gnome.org/Apps/Evolution")
4800 (description
4801 "This package provides a unified backend for programs that work with
4802contacts, tasks, and calendar information. It was originally developed for
4803Evolution (hence the name), but is now used by other packages as well.")
4804 (license license:lgpl2.0)))
bd7dfafa
SB
4805
4806(define-public caribou
4807 (package
4808 (name "caribou")
fe964bb5 4809 (version "0.4.21")
bd7dfafa
SB
4810 (source (origin
4811 (method url-fetch)
4812 (uri (string-append "mirror://gnome/sources/" name "/"
4813 (version-major+minor version) "/"
4814 name "-" version ".tar.xz"))
4815 (sha256
4816 (base32
fe964bb5 4817 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
4818 (build-system glib-or-gtk-build-system)
4819 (arguments
4820 '(#:phases
4821 (modify-phases %standard-phases
4822 (add-before
4823 'build 'pre-build
4824 (lambda* (#:key outputs #:allow-other-keys)
4825 (let ((out (assoc-ref outputs "out")))
4826 ;; Use absolute shared library path in Caribou-1.0.typelib.
4827 (substitute* "libcaribou/Makefile"
4828 (("--shared-library=libcaribou.so")
4829 (string-append "--shared-library="
4830 out "/lib/libcaribou.so")))
4831 #t)))
4832 (add-after 'install 'wrap-programs
4833 (lambda* (#:key outputs #:allow-other-keys)
4834 (let* ((out (assoc-ref outputs "out"))
4835 (python-path (getenv "PYTHONPATH"))
4836 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
4837 (for-each
4838 (lambda (prog)
4839 (wrap-program prog
4840 `("PYTHONPATH" ":" prefix (,python-path))
4841 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
4842 (list (string-append out "/bin/caribou-preferences")
4843 (string-append out "/libexec/antler-keyboard"))))
4844 #t)))))
4845 (native-inputs
4846 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4847 ("gobject-introspection" ,gobject-introspection)
4848 ("intltool" ,intltool)
4849 ("pkg-config" ,pkg-config)
4850 ("python" ,python-2) ; incompatible with Python 3 (print syntax)
4851 ("vala" ,vala)
4852 ("xsltproc" ,libxslt)))
4853 (propagated-inputs
4854 ;; caribou-1.0.pc refers to all these.
4855 `(("libgee" ,libgee)
4856 ("libxklavier" ,libxklavier)
4857 ("libxtst" ,libxtst)
4858 ("gtk+" ,gtk+)))
4859 (inputs
4860 `(("clutter" ,clutter)
4861 ("dconf" ,dconf)
4862 ("gtk+-2" ,gtk+-2)
4863 ("python-pygobject" ,python2-pygobject)))
4864 (synopsis "Text entry and UI navigation application")
4865 (home-page "https://wiki.gnome.org/Projects/Caribou")
4866 (description
4867 "Caribou is an input assistive technology intended for switch and pointer
4868users.")
4869 (license license:lgpl2.1)))
ba5dd105 4870
ba5dd105
SB
4871(define-public network-manager
4872 (package
4873 (name "network-manager")
856ca567 4874 (version "1.8.0")
ba5dd105
SB
4875 (source (origin
4876 (method url-fetch)
4877 (uri (string-append "mirror://gnome/sources/NetworkManager/"
4878 (version-major+minor version) "/"
4879 "NetworkManager-" version ".tar.xz"))
4880 (sha256
4881 (base32
856ca567 4882 "17pn7kzilyl0qk525gp9xnbz4x0ssrdmgk1lvw95pyfd6rm5qnps"))
fd070f35
CM
4883 (snippet
4884 '(begin
4885 (use-modules (guix build utils))
4886 (substitute* "configure"
4887 ;; Replace libsystemd-login with libelogind.
4888 (("libsystemd-login") "libelogind"))
4889 (substitute* "src/devices/wwan/nm-modem-manager.c"
4890 (("systemd") "elogind"))
4891 (substitute* "src/nm-session-monitor.c"
4892 (("systemd") "elogind"))
4893 (substitute* "./src/nm-logging.c"
4894 (("systemd") "elogind"))))))
ba5dd105
SB
4895 (build-system gnu-build-system)
4896 (outputs '("out"
4897 "doc")) ; 8 MiB of gtk-doc HTML
4898 (arguments
4899 '(#:configure-flags
4900 (let ((out (assoc-ref %outputs "out"))
4901 (doc (assoc-ref %outputs "doc"))
4902 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
4903 "/sbin/dhclient")))
fd070f35
CM
4904 (list "--with-systemd-logind=yes" ;In GuixSD, this is provided by elogind.
4905 "--with-consolekit=no"
4906 "--with-crypto=gnutls"
ba5dd105
SB
4907 "--disable-config-plugin-ibft"
4908 "--sysconfdir=/etc"
4909 "--localstatedir=/var"
4910 (string-append "--with-udev-dir="
4911 out "/lib/udev")
4912 (string-append "--with-dbus-sys-dir="
4913 out "/etc/dbus-1/system.d")
4914 (string-append "--with-html-dir="
4915 doc "/share/gtk-doc/html")
4916 (string-append "--with-dhclient=" dhclient)))
4917 #:phases
4918 (modify-phases %standard-phases
b4f59d87
AW
4919 (add-before 'configure 'pre-configure
4920 (lambda _
4921 ;; These tests try to test aspects of network-manager's
4922 ;; functionality within restricted containers, but they don't
4923 ;; cope with being already in the Guix build jail as that jail
4924 ;; lacks some features that they would like to proxy over (like
4925 ;; a /sys mount).
d04687dc
HG
4926 (substitute* '("Makefile.in")
4927 (("src/platform/tests/test-address-linux") " ")
4928 (("src/platform/tests/test-cleanup-linux") " ")
4929 (("src/platform/tests/test-link-linux") " ")
4930 (("src/platform/tests/test-route-linux") " ")
4931 (("src/devices/tests/test-arping") " ")
4932 (("src/devices/tests/test-lldp") " ")
4933 (("src/tests/test-route-manager-linux") " "))
b4f59d87 4934 #t))
ba5dd105
SB
4935 (add-before 'check 'pre-check
4936 (lambda _
4937 ;; For the missing /etc/machine-id.
4938 (setenv "DBUS_FATAL_WARNINGS" "0")
4939 #t))
4940 (replace 'install
4941 (lambda _
4942 (zero? (system* "make"
4943 "sysconfdir=/tmp"
142bdcbc
SB
4944 "rundir=/tmp"
4945 "statedir=/tmp"
d04687dc 4946 "nmstatedir=/tmp/nm"
ba5dd105 4947 "install")))))))
b93502d6
DC
4948 (propagated-inputs
4949 `(("glib" ,glib)))
ba5dd105
SB
4950 (native-inputs
4951 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
4952 ("gobject-introspection" ,gobject-introspection)
d04687dc 4953 ("docbook-xsl" ,docbook-xsl)
ba5dd105 4954 ("intltool" ,intltool)
d04687dc
HG
4955 ("libxslt" ,libxslt)
4956 ("libxml2" ,libxml2)
ba5dd105
SB
4957 ("pkg-config" ,pkg-config)
4958 ;; For testing.
4959 ("python" ,python-wrapper)
4960 ("python-dbus" ,python-dbus)
4961 ("python-pygobject" ,python-pygobject)))
4962 (inputs
856ca567
KK
4963 `(("curl" ,curl)
4964 ("cyrus-sasl" ,cyrus-sasl)
4965 ("dbus-glib" ,dbus-glib)
ba5dd105 4966 ("dnsmasq" ,dnsmasq)
856ca567 4967 ("eudev" ,eudev)
ba5dd105
SB
4968 ("gnutls" ,gnutls)
4969 ("iptables" ,iptables)
4970 ("isc-dhcp" ,isc-dhcp)
d04687dc 4971 ("jansson" ,jansson)
ba5dd105
SB
4972 ("libgcrypt" ,libgcrypt)
4973 ("libgudev" ,libgudev)
4974 ("libndp" ,libndp)
4975 ("libnl" ,libnl)
4976 ("libsoup" ,libsoup)
142bdcbc 4977 ("modem-manager" ,modem-manager)
c27e02bf 4978 ("newt" ,newt) ;for the 'nmtui' console interface
ba5dd105
SB
4979 ("polkit" ,polkit)
4980 ("ppp" ,ppp)
4981 ("readline" ,readline)
fd070f35
CM
4982 ("util-linux" ,util-linux)
4983 ("elogind" ,elogind)))
ba5dd105 4984 (synopsis "Network connection manager")
f032d0be 4985 (home-page "https://www.gnome.org/projects/NetworkManager/")
ba5dd105
SB
4986 (description
4987 "NetworkManager is a system network service that manages your network
4988devices and connections, attempting to keep active network connectivity when
4989available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
4990devices, and provides VPN integration with a variety of different VPN
4991services.")
29d2f451
LC
4992 (license license:gpl2+)
4993 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 4994
e5e1df4d
DC
4995(define-public mobile-broadband-provider-info
4996 (package
4997 (name "mobile-broadband-provider-info")
4998 (version "20151214")
4999 (source (origin
5000 (method url-fetch)
5001 (uri (string-append
5002 "mirror://gnome/sources/"
5003 "mobile-broadband-provider-info/" version "/"
5004 "mobile-broadband-provider-info-" version ".tar.xz"))
5005 (sha256
5006 (base32
5007 "1905nab1h8p4hx0m1w0rn4mkg9209x680dcr4l77bngy21pmvr4a"))))
5008 (build-system gnu-build-system)
5009 (arguments
5010 `(#:tests? #f)) ; No tests
5011 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
5012 (synopsis "Database of broadband connection configuration")
5013 (description "Database of broadband connection configuration.")
5014 (license license:public-domain)))
5015
4d62a9d3
SB
5016(define-public network-manager-applet
5017 (package
5018 (name "network-manager-applet")
240cee8a 5019 (version "1.8.2")
4d62a9d3
SB
5020 (source (origin
5021 (method url-fetch)
5022 (uri (string-append "mirror://gnome/sources/" name "/"
5023 (version-major+minor version) "/"
5024 name "-" version ".tar.xz"))
5025 (sha256
5026 (base32
240cee8a 5027 "09f9hjpn9nkhw57mk6pi7q1bq3lhf5hvmwas0fknscssak7yjmry"))))
4d62a9d3 5028 (build-system glib-or-gtk-build-system)
240cee8a 5029 (arguments '(#:configure-flags '("--disable-migration")))
4d62a9d3
SB
5030 (native-inputs
5031 `(("intltool" ,intltool)
5032 ("gobject-introspection" ,gobject-introspection)
5033 ("pkg-config" ,pkg-config)))
5034 (propagated-inputs
5035 ;; libnm-gtk.pc refers to all these.
5036 `(("dbus-glib" ,dbus-glib)
5037 ("gtk+" ,gtk+)
5038 ("network-manager" ,network-manager)))
5039 (inputs
5040 `(("iso-codes" ,iso-codes)
5041 ("libgudev" ,libgudev)
5042 ("libnotify" ,libnotify)
2116bfb3 5043 ("libsecret" ,libsecret)
240cee8a
KK
5044 ("libselinux" ,libselinux)
5045 ("jansson" ,jansson) ; for team support
5046 ("modem-manager" ,modem-manager)))
4d62a9d3 5047 (synopsis "Applet for managing network connections")
f032d0be 5048 (home-page "https://www.gnome.org/projects/NetworkManager/")
4d62a9d3
SB
5049 (description
5050 "This package contains a systray applet for NetworkManager. It displays
5051the available networks and allows users to easily switch between them.")
5052 (license license:gpl2+)))
56196594
RW
5053
5054(define-public libxml++
5055 (package
5056 (name "libxml++")
8344a85e 5057 (version "3.0.1")
56196594
RW
5058 (source (origin
5059 (method url-fetch)
5060 (uri (string-append "mirror://gnome/sources/" name "/"
5061 (version-major+minor version) "/"
5062 name "-" version ".tar.xz"))
5063 (sha256
5064 (base32
8344a85e 5065 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
5066 (build-system gnu-build-system)
5067 ;; libxml++-3.0.pc refers to all these.
5068 (propagated-inputs
5069 `(("libxml2" ,libxml2)
5070 ("glibmm" ,glibmm)))
5071 (native-inputs
5072 `(("perl" ,perl)
5073 ("pkg-config" ,pkg-config)))
5074 (home-page "http://libxmlplusplus.sourceforge.net/")
5075 (synopsis "C++ wrapper for XML parser library libxml2")
5076 (description
5077 "This package provides a C++ wrapper for the XML parser library
5078libxml2.")
5079 (license license:lgpl2.1+)))
df12f04a 5080
b61d9627
AW
5081(define-public libxml++-2
5082 (package
5083 (inherit libxml++)
5084 (name "libxml++")
5085 (version "2.40.1")
5086 (source (origin
5087 (method url-fetch)
5088 (uri (string-append "mirror://gnome/sources/" name "/"
5089 (version-major+minor version) "/"
5090 name "-" version ".tar.xz"))
5091 (sha256
5092 (base32
5093 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
5094
df12f04a
SB
5095(define-public gdm
5096 (package
5097 (name "gdm")
8f37813e 5098 (version "3.24.2")
df12f04a
SB
5099 (source (origin
5100 (method url-fetch)
5101 (uri (string-append "mirror://gnome/sources/" name "/"
5102 (version-major+minor version) "/"
5103 name "-" version ".tar.xz"))
5104 (sha256
5105 (base32
8f37813e 5106 "1s2xzrwcjhfb4ra8jrxqfycs1jpv97id0f6idb2h6vjkspxbjy23"))))
df12f04a
SB
5107 (build-system gnu-build-system)
5108 (arguments
5109 '(#:configure-flags
5110 '("--without-plymouth")
5111 #:phases
5112 (modify-phases %standard-phases
5113 (add-before
5114 'configure 'pre-configure
5115 (lambda _
5116 ;; We don't have <systemd/sd-daemon.h>.
5117 (substitute* '("common/gdm-log.c"
5118 "daemon/gdm-server.c"
5119 "daemon/gdm-session-worker.c"
5120 "daemon/gdm-session-worker-job.c")
5121 (("#include <systemd/sd-daemon\\.h>") ""))
5122 ;; Use elogind for sd-login.
5123 (substitute* '("common/gdm-common.c"
5124 "daemon/gdm-manager.c"
5125 "libgdm/gdm-user-switching.c")
5126 (("#include <systemd/sd-login\\.h>")
5127 "#include <elogind/sd-login.h>"))
5128 ;; Avoid checking SYSTEMD using pkg-config.
5129 (setenv "SYSTEMD_CFLAGS" " ")
5130 (setenv "SYSTEMD_LIBS" "-lelogind")
5131 #t)))))
5132 (native-inputs
5133 `(("dconf" ,dconf)
5134 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5135 ("gobject-introspection" ,gobject-introspection)
5136 ("intltool" ,intltool)
5137 ("itstool" ,itstool)
5138 ("pkg-config" ,pkg-config)
5139 ("xmllint" ,libxml2)))
5140 (inputs
5141 `(("accountsservice" ,accountsservice)
5142 ("check" ,check) ; for testing
5143 ("elogind" ,elogind)
5144 ("gtk+" ,gtk+)
5145 ("iso-codes" ,iso-codes)
5146 ("libcanberra" ,libcanberra)
5147 ("linux-pam" ,linux-pam)))
5148 (synopsis "Display manager for GNOME")
f032d0be 5149 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
5150 (description
5151 "GNOME Display Manager is a system service that is responsible for
5152providing graphical log-ins and managing local and remote displays.")
5153 (license license:gpl2+)))
8e1dd04f
SB
5154
5155(define-public libgtop
5156 (package
5157 (name "libgtop")
6206db89 5158 (version "2.36.0")
8e1dd04f
SB
5159 (source (origin
5160 (method url-fetch)
5161 (uri (string-append "mirror://gnome/sources/" name "/"
5162 (version-major+minor version) "/"
5163 name "-" version ".tar.xz"))
5164 (sha256
5165 (base32
6206db89 5166 "0ax17c7nplghxgsf8zl92nmhkbnggj62wwzl7nq00aqb2m6f7gqk"))))
8e1dd04f
SB
5167 (build-system gnu-build-system)
5168 (native-inputs
5169 `(("gobject-introspection" ,gobject-introspection)
5170 ("intltool" ,intltool)
5171 ("perl" ,perl)
5172 ("pkg-config" ,pkg-config)))
5173 (propagated-inputs
5174 `(("glib" ,glib))) ; required by libgtop-2.0.pc
5175 (synopsis "Portable system access library")
5176 (home-page "https://www.gnome.org/")
5177 (description
5178 "LibGTop is a library to get system specific data such as CPU and memory
5179usage and information about running processes.")
5180 (license license:gpl2+)))
b96c4260
SB
5181
5182(define-public gnome-bluetooth
5183 (package
5184 (name "gnome-bluetooth")
f8cb2fbf 5185 (version "3.20.1")
b96c4260
SB
5186 (source (origin
5187 (method url-fetch)
5188 (uri (string-append "mirror://gnome/sources/" name "/"
5189 (version-major+minor version) "/"
5190 name "-" version ".tar.xz"))
5191 (sha256
5192 (base32
f8cb2fbf 5193 "1zlqcz6jz4vzzr8gd1678i9s4015kiwcpr5szrwz4kmryfsm147a"))))
b96c4260
SB
5194 (build-system glib-or-gtk-build-system)
5195 (native-inputs
5196 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
5197 ("gobject-introspection" ,gobject-introspection)
5198 ("intltool" ,intltool)
5199 ("pkg-config" ,pkg-config)
5200 ("xmllint" ,libxml2)))
5201 (propagated-inputs
5202 ;; gnome-bluetooth-1.0.pc refers to all these.
5203 `(("gtk+" ,gtk+)
5204 ("udev" ,eudev)))
5205 (inputs
5206 `(("libcanberra" ,libcanberra)
5207 ("libnotify" ,libnotify)))
5208 (synopsis "GNOME Bluetooth subsystem")
5209 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
5210 (description
5211 "This package contains tools for managing and manipulating Bluetooth
5212devices using the GNOME desktop.")
5213 (license license:lgpl2.1+)))
b645146f
SB
5214
5215(define-public gnome-control-center
5216 (package
5217 (name "gnome-control-center")
44da12be 5218 (version "3.24.2")
b645146f
SB
5219 (source (origin
5220 (method url-fetch)
5221 (uri (string-append "mirror://gnome/sources/" name "/"
5222 (version-major+minor version) "/"
5223 name "-" version ".tar.xz"))
5224 (sha256
5225 (base32
44da12be 5226 "0awga40jh6gvn335mn6kyl6yg79frap1znrsz3sw2m27yldlnaiq"))))
b645146f
SB
5227 (build-system glib-or-gtk-build-system)
5228 (arguments
5229 '(#:phases
5230 (modify-phases %standard-phases
5231 (add-before 'configure 'patch-paths
5232 (lambda* (#:key inputs #:allow-other-keys)
5233 (let ((libc (assoc-ref inputs "libc"))
5234 (tzdata (assoc-ref inputs "tzdata")))
5235 (substitute* "panels/datetime/tz.h"
5236 (("/usr/share/zoneinfo/zone.tab")
5237 (string-append tzdata "/share/zoneinfo/zone.tab")))
5238 (substitute* "panels/datetime/test-endianess.c"
5239 (("/usr/share/locale")
5240 (string-append libc "/share/locale")))
5241 #t))))))
5242 (native-inputs
5243 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5244 ("intltool" ,intltool)
5245 ("pkg-config" ,pkg-config)
5246 ("xsltproc" ,libxslt)))
5247 (inputs
5248 `(("accountsservice" ,accountsservice)
5249 ("clutter-gtk" ,clutter-gtk)
5250 ("colord-gtk" ,colord-gtk)
5251 ("cups" ,cups)
5252 ("dconf" ,dconf)
5253 ("docbook-xsl" ,docbook-xsl)
3446ffb5 5254 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
5255 ("gnome-bluetooth" ,gnome-bluetooth)
5256 ("gnome-desktop" ,gnome-desktop)
5257 ("gnome-online-accounts" ,gnome-online-accounts)
5258 ("gnome-settings-daemon" ,gnome-settings-daemon)
5259 ("grilo" ,grilo)
5260 ("ibus" ,ibus)
5261 ("libcanberra" ,libcanberra)
5262 ("libgudev" ,libgudev)
5263 ("libgtop" ,libgtop)
5264 ("libpwquality" ,libpwquality)
5265 ("libsoup" ,libsoup)
5266 ("libxml2" ,libxml2)
5267 ("libwacom" ,libwacom)
5268 ("mesa" ,mesa)
5269 ("mit-krb5" ,mit-krb5)
5270 ("modem-manager" ,modem-manager)
5271 ("network-manager-applet" ,network-manager-applet)
5272 ("polkit" ,polkit)
5273 ("pulseaudio" ,pulseaudio)
5274 ("smbclient" ,samba)
5275 ("tzdata" ,tzdata)
5276 ("upower" ,upower)))
5277 (synopsis "Utilities to configure the GNOME desktop")
5278 (home-page "https://www.gnome.org/")
5279 (description
5280 "This package contains configuration applets for the GNOME desktop,
5281allowing to set accessibility configuration, desktop fonts, keyboard and mouse
5282properties, sound setup, desktop theme and background, user interface
5283properties, screen resolution, and other GNOME parameters.")
5284 (license license:gpl2+)))
a4df5756
SB
5285
5286(define-public gnome-shell
5287 (package
5288 (name "gnome-shell")
ce1e6de0 5289 (version "3.24.2")
a4df5756
SB
5290 (source (origin
5291 (method url-fetch)
5292 (uri (string-append "mirror://gnome/sources/" name "/"
5293 (version-major+minor version) "/"
5294 name "-" version ".tar.xz"))
5295 (sha256
5296 (base32
ce1e6de0 5297 "1xp2ccmdrvzlczsrcplykwqwx2v4lbmkr0rxyylb06danlw9mivh"))))
a4df5756
SB
5298 (build-system glib-or-gtk-build-system)
5299 (arguments
5300 '(#:phases
5301 (modify-phases %standard-phases
5302 (replace 'install
5303 (lambda* (#:key outputs #:allow-other-keys)
5304 (let* ((out (assoc-ref outputs "out"))
5305 (keysdir (string-append
5306 out "/share/gnome-control-center/keybindings")))
5307 (zero? (system* "make"
5308 (string-append "keysdir=" keysdir)
5309 "install")))))
5310 (add-after
5311 'install 'wrap-programs
5312 (lambda* (#:key outputs #:allow-other-keys)
5313 (let ((out (assoc-ref outputs "out"))
5314 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5315 (python-path (getenv "PYTHONPATH")))
5316 (wrap-program (string-append out "/bin/gnome-shell")
5317 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
5318 (for-each
5319 (lambda (prog)
5320 (wrap-program (string-append out "/bin/" prog)
5321 `("PYTHONPATH" ":" prefix (,python-path))
5322 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5323 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
5324 #t))))))
5325 (native-inputs
5326 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5327 ("gobject-introspection" ,gobject-introspection)
5328 ("intltool" ,intltool)
5329 ("pkg-config" ,pkg-config)
5330 ("python" ,python)
5331 ("xsltproc" ,libxslt)))
5332 (inputs
5333 `(("accountsservice" ,accountsservice)
5334 ("caribou" ,caribou)
5335 ("docbook-xsl" ,docbook-xsl)
5336 ("evolution-data-server" ,evolution-data-server)
5337 ("gcr" ,gcr)
5338 ("gdm" ,gdm)
5339 ("gjs" ,gjs)
5340 ("gnome-bluetooth" ,gnome-bluetooth)
5341 ("gnome-control-center" ,gnome-control-center)
5342 ("gnome-desktop" ,gnome-desktop)
5343 ("gnome-settings-daemon" ,gnome-settings-daemon)
5344 ("gst-plugins-base" ,gst-plugins-base)
5345 ("ibus" ,ibus)
5346 ("libcanberra" ,libcanberra)
5347 ("libcroco" ,libcroco)
5348 ("libgweather" ,libgweather)
5349 ("libsoup" ,libsoup)
5350 ("mesa-headers" ,mesa-headers)
5351 ("mutter" ,mutter)
5352 ("network-manager-applet" ,network-manager-applet)
5353 ("polkit" ,polkit)
5354 ("pulseaudio" ,pulseaudio)
5355 ("python-pygobject" ,python-pygobject)
5356 ("startup-notification" ,startup-notification)
5357 ("telepathy-logger" ,telepathy-logger)
5358 ("upower" ,upower)
30e760f0
MB
5359 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
5360 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
5361 ("librsvg" ,librsvg)
5362 ("geoclue" ,geoclue)
a4df5756
SB
5363 ;; XXX: required by libgjs.la.
5364 ("readline" ,readline)))
5365 (synopsis "Desktop shell for GNOME")
5366 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
5367 (description
5368 "GNOME Shell provides core user interface functions for the GNOME desktop,
5369like switching to windows and launching applications.")
5370 (license license:gpl2+)))
c3f29bc9
RS
5371
5372(define-public gtk-vnc
5373 (package
5374 (name "gtk-vnc")
26653538 5375 (version "0.7.0")
c3f29bc9
RS
5376 (source
5377 (origin
5378 (method url-fetch)
5379 (uri (string-append "mirror://gnome/sources/" name "/"
5380 (version-major+minor version) "/"
5381 name "-" version ".tar.xz"))
5382 (sha256
5383 (base32
26653538 5384 "0gj8dpy3sj4dp810gy67spzh5f0jd8aqg69clcwqjcskj1yawbiw"))))
c3f29bc9
RS
5385 (build-system gnu-build-system)
5386 (arguments
5387 '(#:configure-flags '("--with-gtk=3.0")))
5388 (propagated-inputs
5389 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
5390 (inputs
5391 `(("cyrus-sasl" ,cyrus-sasl)
5392 ("gnutls" ,gnutls)
5393 ("libgcrypt" ,libgcrypt)
5394 ("pulseaudio" ,pulseaudio)))
5395 (native-inputs
5396 `(("glib:bin" ,glib "bin")
5397 ("gobject-introspection" ,gobject-introspection)
5398 ("intltool" ,intltool)
5399 ("pkg-config" ,pkg-config)
5400 ("vala" ,vala)))
5401 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
5402 (synopsis "VNC viewer widget for GTK+")
5403 (description
5404 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
5405applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
5406GTK-VNC implements client side RFB protocol and authentication extensions such
5407as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
5408 (license license:lgpl2.1+)))
8b877545 5409
dc69fe18
MW
5410(define-public gnome-autoar
5411 (package
5412 (name "gnome-autoar")
4063a40a 5413 (version "0.2.2")
dc69fe18
MW
5414 (source (origin
5415 (method url-fetch)
5416 (uri (string-append "mirror://gnome/sources/" name "/"
5417 (version-major+minor version) "/"
5418 name "-" version ".tar.xz"))
5419 (sha256
5420 (base32
4063a40a 5421 "0qnafiwgajsaryh669lfclb4f6z5n1r9r4zhig1ha0ykxq32rzp1"))))
dc69fe18
MW
5422 (build-system glib-or-gtk-build-system)
5423 (native-inputs
5424 `(("gnome-common" ,gnome-common)
5425 ("gobject-introspection" ,gobject-introspection)
5426 ("pkg-config" ,pkg-config)))
5427 (propagated-inputs
5428 `(("libarchive" ,libarchive))) ; XXX document why
5429 (inputs
5430 `(("gtk+" ,gtk+)
5431 ("nettle" ,nettle))) ; XXX: required by libarchive.pc
5432 (synopsis "Archives integration support for GNOME")
5433 (home-page "https://git.gnome.org/browse/gnome-autoar/")
5434 (description
5435 "GNOME Autoar is a library which makes creating and extracting archives
5436easy, safe, and automatic.")
5437 (license license:lgpl2.1+)))
5438
b64e217f
MW
5439(define-public tracker
5440 (package
5441 (name "tracker")
c762011e 5442 (version "1.12.2")
b64e217f
MW
5443 (source (origin
5444 (method url-fetch)
5445 (uri (string-append "mirror://gnome/sources/" name "/"
5446 (version-major+minor version) "/"
5447 name "-" version ".tar.xz"))
5448 (sha256
5449 (base32
c762011e 5450 "1zdzh8l5ahi906i40i4pqw2cs1hwrl6l9a7fp344a3idk3pl5szb"))))
b64e217f
MW
5451 (build-system glib-or-gtk-build-system)
5452 (native-inputs
5453 `(("gnome-common" ,gnome-common)
5454 ("gobject-introspection" ,gobject-introspection)
5455 ("intltool" ,intltool)
5456 ("pkg-config" ,pkg-config)
5457 ("vala" ,vala)))
5458 (inputs
5459 `(("gtk+" ,gtk+)
5460 ("dbus" ,dbus)
5461 ("gstreamer" ,gstreamer)
5462 ("gst-plugins-base" ,gst-plugins-base)
5463 ("sqlite" ,sqlite)
5464 ("nettle" ,nettle) ; XXX why is this needed?
5465 ("poppler" ,poppler)
5466 ("libgsf" ,libgsf)
5467 ("libexif" ,libexif)
5468 ("libpng" ,libpng)
5469 ("libtiff" ,libtiff)
5470 ("libvorbis" ,libvorbis)
5471 ("flac" ,flac)
5472 ("totem-pl-parser" ,totem-pl-parser)
5473 ("zlib" ,zlib)
5474 ("exempi" ,exempi)
5475 ("libxml2" ,libxml2)
5476 ("upower" ,upower)
b64e217f
MW
5477 ("libunistring" ,libunistring)
5478 ("giflib" ,giflib)
0ef48cd9 5479 ("json-glib" ,json-glib)
b64e217f
MW
5480 ("openjpeg" ,openjpeg-1)
5481 ("libosinfo" ,libosinfo)
5482 ("libcue" ,libcue)
5483 ("libseccomp" ,libseccomp)
0ef48cd9 5484 ("libsoup" ,libsoup)
b64e217f
MW
5485 ("libuuid" ,util-linux)))
5486 (arguments `(#:tests? #f)) ; XXX FIXME enable tests (some fail)
5487 (synopsis "Metadata database, indexer and search tool")
5488 (home-page "https://wiki.gnome.org/Projects/Tracker")
5489 (description
5490 "Tracker is an advanced framework for first class objects with associated
5491metadata and tags. It provides a one stop solution for all metadata, tags,
5492shared object databases, search tools and indexing.")
5493 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
5494 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
5495 (license (list license:gpl2+
5496 license:lgpl2.1+
5497 license:lgpl2.0+))))
5498
8b877545
RS
5499(define-public nautilus
5500 (package
5501 (name "nautilus")
0f6cf5a6 5502 (version "3.24.2.1")
8b877545
RS
5503 (source (origin
5504 (method url-fetch)
5505 (uri (string-append "mirror://gnome/sources/" name "/"
5506 (version-major+minor version) "/"
5507 name "-" version ".tar.xz"))
5508 (sha256
5509 (base32
0f6cf5a6 5510 "1cv138z04qx0fh1a2z2hvxy4p1x15vdv5gmkx5f3hb6c3w2rsz9m"))))
8b877545
RS
5511 (build-system glib-or-gtk-build-system)
5512 (arguments
6983ba56 5513 '(#:configure-flags
09d88905 5514 '("--disable-selinux") ; XXX: not packaged
8b877545
RS
5515 ;; XXX: FAIL: check-nautilus
5516 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
5517 #:tests? #f))
5518 (native-inputs
5519 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5520 ("gobject-introspection" ,gobject-introspection)
5521 ("intltool" ,intltool)
5522 ("pkg-config" ,pkg-config)))
8b877545 5523 (inputs
8b877545 5524 `(("dconf" ,dconf)
dd05e731 5525 ("gvfs" ,gvfs)
8b877545
RS
5526 ("exempi" ,exempi)
5527 ("gnome-desktop" ,gnome-desktop)
09d88905
MW
5528 ("gnome-autoar" ,gnome-autoar)
5529 ("nettle" ,nettle) ; XXX required by libarchive.pc via gnome-autoar
5530 ("tracker" ,tracker)
ce6027bf
SB
5531 ;; XXX: gtk+ is required by libnautilus-extension.pc
5532 ;;
5533 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
5534 ;; package. See:
5535 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
5536 ("gtk+" ,gtk+)
8b877545
RS
5537 ("libexif" ,libexif)
5538 ("libxml2" ,libxml2)))
5539 (synopsis "File manager for GNOME")
5540 (home-page "https://wiki.gnome.org/Apps/Nautilus")
5541 (description
5542 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
5543design and behaviour, giving the user a simple way to navigate and manage its
5544files.")
5545 (license license:gpl2+)))
3c697ffd
JR
5546
5547(define-public baobab
5548 (package
5549 (name "baobab")
9be54b15 5550 (version "3.24.0")
3c697ffd
JR
5551 (source (origin
5552 (method url-fetch)
5553 (uri (string-append
5554 "mirror://gnome/sources/" name "/"
5555 (version-major+minor version) "/"
5556 name "-" version ".tar.xz"))
5557 (sha256
5558 (base32
9be54b15 5559 "0gzwzn8p0agidjq3wnkxcsny6jhqph3yqscqjqd7blgkz5nyk02r"))))
3c697ffd
JR
5560 (build-system glib-or-gtk-build-system)
5561 (native-inputs
5562 `(("intltool" ,intltool)
5563 ("pkg-config" ,pkg-config)
5564 ("itstool" ,itstool)
5565 ("xmllint" ,libxml2)
5566 ("glib" ,glib "bin")
5567 ("vala" ,vala)))
5568 (inputs
5569 `(("gtk+" ,gtk+)))
5570 (synopsis "Disk usage analyzer for GNOME")
5571 (description
5572 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
5573usage in the GNOME desktop environment. It can easily scan device volumes or
5574a specific user-requested directory branch (local or remote). Once the scan
5575is complete it provides a graphical representation of each selected folder.")
5576 (home-page "https://wiki.gnome.org/Apps/Baobab")
5577 (license license:gpl2+)))
dc050251 5578
fdba447c
RS
5579(define-public gnome-backgrounds
5580 (package
5581 (name "gnome-backgrounds")
2df65d37 5582 (version "3.24.0")
fdba447c
RS
5583 (source
5584 (origin
5585 (method url-fetch)
5586 (uri (string-append "mirror://gnome/sources/" name "/"
5587 (version-major+minor version) "/"
5588 name "-" version ".tar.xz"))
5589 (sha256
5590 (base32
2df65d37 5591 "1jkikis9k3psp6rb8axnqy86awdyg5rzfbcp9gx40a99b4hlrnnb"))))
fdba447c
RS
5592 (build-system glib-or-gtk-build-system)
5593 (native-inputs
5594 `(("intltool" ,intltool)))
5595 (home-page "https://git.gnome.org/browse/gnome-backgrounds")
5596 (synopsis "Background images for the GNOME desktop")
5597 (description
5598 "GNOME backgrounds package contains a collection of graphics files which
5599can be used as backgrounds in the GNOME Desktop environment. Additionally,
5600the package creates the proper framework and directory structure so that you
5601can add your own files to the collection.")
5602 (license (list license:gpl2+
5603 license:cc-by2.0
5604 license:cc-by-sa2.0
5605 license:cc-by-sa3.0))))
5606
b784b1a9
RS
5607(define-public gnome-screenshot
5608 (package
5609 (name "gnome-screenshot")
efa355bc 5610 (version "3.22.0")
b784b1a9
RS
5611 (source
5612 (origin
5613 (method url-fetch)
5614 (uri (string-append "mirror://gnome/sources/" name "/"
5615 (version-major+minor version) "/"
5616 name "-" version ".tar.xz"))
5617 (sha256
5618 (base32
efa355bc 5619 "0c02n1hgv21m4082jx399b1yazsc0cr07ba8k0pv8v3w7i5z21ca"))))
b784b1a9
RS
5620 (build-system glib-or-gtk-build-system)
5621 (native-inputs
5622 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5623 ("intltool" ,intltool)
5624 ("pkg-config" ,pkg-config)))
5625 (inputs
5626 `(("gtk+" ,gtk+)
5627 ("libcanberra" ,libcanberra)
5628 ("libx11" ,libx11)
5629 ("libxext" ,libxext)))
5630 (home-page "https://git.gnome.org/browse/gnome-screenshot")
5631 (synopsis "Take pictures of your screen")
5632 (description
5633 "GNOME Screenshot is a utility used for taking screenshots of the entire
5634screen, a window or a user defined area of the screen, with optional
5635beautifying border effects.")
5636 (license license:gpl2+)))
5637
66d59111
RS
5638(define-public dconf-editor
5639 (package
5640 (name "dconf-editor")
123e8168 5641 (version "3.22.3")
66d59111
RS
5642 (source
5643 (origin
5644 (method url-fetch)
5645 (uri (string-append "mirror://gnome/sources/" name "/"
5646 (version-major+minor version) "/"
5647 name "-" version ".tar.xz"))
5648 (sha256
5649 (base32
123e8168 5650 "1939yq3fl55c2dqkc6nzp6cbpxq9sli74gdj0rj7c50pwvbngwam"))))
66d59111 5651 (build-system glib-or-gtk-build-system)
d25c1836
SB
5652 (arguments
5653 '(#:phases
5654 (modify-phases %standard-phases
5655 (add-before 'install 'skip-gtk-update-icon-cache
5656 (lambda _
5657 ;; Don't create 'icon-theme.cache'.
5658 (substitute* "editor/Makefile"
5659 (("gtk-update-icon-cache") "true"))
5660 #t)))))
66d59111
RS
5661 (native-inputs
5662 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
5663 ("intltool" ,intltool)
5664 ("pkg-config" ,pkg-config)))
5665 (inputs
5666 `(("dconf" ,dconf)
5667 ("gtk+" ,gtk+)
5668 ("libxml2" ,libxml2)))
5669 (home-page "https://git.gnome.org/browse/dconf-editor")
5670 (synopsis "Graphical editor for GNOME's dconf configuration system")
5671 (description
5672 "Dconf-editor is a graphical tool for browsing and editing the dconf
5673configuration system for GNOME. It allows users to configure desktop
5674software that do not provide their own configuration interface.")
5675 (license license:lgpl2.1+)))
5676
dc050251
SB
5677(define-public gnome
5678 (package
5679 (name "gnome")
5680 (version (package-version gnome-shell))
5681 (source #f)
5682 (build-system trivial-build-system)
5683 (arguments '(#:builder (mkdir %output)))
5684 (propagated-inputs
5685 ;; TODO: Add more packages according to:
5686 ;; <https://packages.debian.org/jessie/gnome-core>.
5687 `(("adwaita-icon-theme" ,adwaita-icon-theme)
05f651c4 5688 ("baobab" ,baobab)
0bd3597b 5689 ("font-cantarell" ,font-cantarell)
dc050251
SB
5690 ("at-spi2-core" ,at-spi2-core)
5691 ("dbus" ,dbus)
5692 ("dconf" ,dconf)
72360453 5693 ("desktop-file-utils" ,desktop-file-utils)
dc050251
SB
5694 ("eog" ,eog)
5695 ("epiphany" ,epiphany)
5696 ("evince" ,evince)
71d9b980 5697 ("file-roller" ,file-roller)
dc050251
SB
5698 ("gedit" ,gedit)
5699 ("glib-networking" ,glib-networking)
05f651c4 5700 ("gnome-backgrounds" ,gnome-backgrounds)
dc050251
SB
5701 ("gnome-control-center" ,gnome-control-center)
5702 ("gnome-keyring" ,gnome-keyring)
5703 ("gnome-session" ,gnome-session)
5704 ("gnome-settings-daemon" ,gnome-settings-daemon)
5705 ("gnome-shell" ,gnome-shell)
5706 ("gnome-terminal" ,gnome-terminal)
5707 ("gnome-themes-standard" ,gnome-themes-standard)
05f651c4 5708 ("gvfs" ,gvfs)
dc050251
SB
5709 ("hicolor-icon-theme" ,hicolor-icon-theme)
5710 ("nautilus" ,nautilus)
69308043 5711 ("pinentry-gnome3" ,pinentry-gnome3)
dc050251
SB
5712 ("pulseaudio" ,pulseaudio)
5713 ("shared-mime-info" ,shared-mime-info)
5714 ("totem" ,totem)
5715 ("yelp" ,yelp)
5716 ("zenity" ,zenity)))
fe4e698d 5717 (synopsis "The GNU desktop environment")
dc050251
SB
5718 (home-page "https://www.gnome.org/")
5719 (description
fe4e698d
LC
5720 "GNOME is the graphical desktop for GNU. It includes a wide variety of
5721applications for browsing the web, editing text and images, creating
5722documents and diagrams, playing media, scanning, and much more.")
dc050251 5723 (license license:gpl2+)))
4a526711
DT
5724
5725(define-public byzanz
5726 ;; The last stable release of Byzanz was in 2011, but there have been many
5727 ;; useful commits made to the Byzanz repository since then that it would be
5728 ;; silly to use such an old release.
5729 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
5730 (package
5731 (name "byzanz")
5732 (version (string-append "0.2-1." (string-take commit 7)))
5733 (source (origin
5734 (method git-fetch)
5735 (uri (git-reference
5736 (url "git://git.gnome.org/byzanz")
5737 (commit commit)))
5a6527e4 5738 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
5739 (sha256
5740 (base32
5741 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
5742 (build-system glib-or-gtk-build-system)
5743 (arguments
5744 '(#:phases
5745 (modify-phases %standard-phases
5746 (add-after 'unpack 'bootstrap
5747 (lambda _
5748 ;; The build system cleverly detects that we're not building from
5749 ;; a release tarball and turns on -Werror for GCC.
5750 ;; Unsurprisingly, there is a warning during compilation that
5751 ;; causes the build to fail unnecessarily, so we remove the flag.
5752 (substitute* '("configure.ac")
5753 (("-Werror") ""))
5754 ;; The autogen.sh script in gnome-common will run ./configure
5755 ;; by default, which is problematic because source shebangs
5756 ;; have not yet been patched.
5757 (setenv "NOCONFIGURE" "t")
5758 (zero? (system* "sh" "autogen.sh")))))))
5759 (native-inputs
5760 `(("autoconf" ,autoconf)
5761 ("automake" ,automake)
5762 ("gnome-common" ,gnome-common)
5763 ("intltool" ,intltool)
5764 ("libtool" ,libtool)
5765 ("pkg-config" ,pkg-config)
5766 ("which" ,which)))
5767 (inputs
5768 `(("glib" ,glib)
5769 ("gstreamer" ,gstreamer)
5770 ("gst-plugins-base" ,gst-plugins-base)
5771 ("gtk+" ,gtk+)))
5772 (synopsis "Desktop recording program")
5773 (description "Byzanz is a simple desktop recording program with a
5774command-line interface. It can record part or all of an X display for a
5775specified duration and save it as a GIF encoded animated image file.")
5776 (home-page "https://git.gnome.org/browse/byzanz")
5777 (license license:gpl2+))))
3a9a4c51
RS
5778
5779(define-public libzapojit
5780 (package
5781 (name "libzapojit")
5782 (version "0.0.3")
5783 (source (origin
5784 (method url-fetch)
5785 (uri (string-append "mirror://gnome/sources/" name "/"
5786 (version-major+minor version) "/"
5787 name "-" version ".tar.xz"))
5788 (sha256
5789 (base32
5790 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
5791 (build-system gnu-build-system)
5792 (native-inputs
5793 `(("gobject-introspection" ,gobject-introspection)
5794 ("intltool" ,intltool)
5795 ("pkg-config" ,pkg-config)))
5796 (inputs
5797 `(("gnome-online-accounts" ,gnome-online-accounts)
5798 ("json-glib" ,json-glib)
5799 ("rest" ,rest)))
5800 (home-page "https://wiki.gnome.org/Projects/Zapojit")
5801 (synopsis "Library for accessing SkyDrive and Hotmail")
5802 (description
5803 "Libzapojit is a GLib-based library for accessing online service APIs of
5804Microsoft SkyDrive and Hotmail, using their REST protocols.")
5805 (license license:lgpl2.1+)))
9365ee1c 5806
3c474897
KY
5807(define-public gnome-calendar
5808 (package
5809 (name "gnome-calendar")
a93f14ea 5810 (version "3.24.3")
3c474897
KY
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
a93f14ea 5818 "1v7k1wcl5yg9bd4l0rz0z03h32d35zgfp4qzz21widjcyis41jry"))))
3c474897
KY
5819 (build-system glib-or-gtk-build-system)
5820 (native-inputs
5821 `(("intltool" ,intltool)
5822 ("pkg-config" ,pkg-config)))
5823 (inputs
5824 `(("bdb" ,bdb)
5825 ("desktop-file-utils" ,desktop-file-utils)
5826 ("evolution-data-server" ,evolution-data-server)
4b8aae41
MW
5827 ("gnome-online-accounts" ,gnome-online-accounts)
5828 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
3c474897
KY
5829 (home-page "https://wiki.gnome.org/Apps/Calendar")
5830 (synopsis "GNOME's calendar application")
5831 (description
5832 "GNOME Calendar is a simple calendar application designed to fit the GNOME
5833desktop. It supports multiple calendars, monthly view and yearly view.")
5834 (license license:gpl3+)))
5835
ab179eaf
SB
5836(define-public gnome-dictionary
5837 (package
5838 (name "gnome-dictionary")
6e2fc6c7 5839 (version "3.24.0")
ab179eaf
SB
5840 (source (origin
5841 (method url-fetch)
5842 (uri (string-append "mirror://gnome/sources/" name "/"
5843 (version-major+minor version) "/"
5844 name "-" version ".tar.xz"))
5845 (sha256
5846 (base32
6e2fc6c7 5847 "1wnrpg8yndacq0xnzc84d519yp7f28brzklm3a48xcgs1i50drs1"))))
ab179eaf
SB
5848 (build-system glib-or-gtk-build-system)
5849 (native-inputs
5850 `(("glib:bin" ,glib "bin")
5851 ("gobject-introspection" ,gobject-introspection)
5852 ("intltool" ,intltool)
5853 ("itstool" ,itstool)
5854 ("pkg-config" ,pkg-config)
5855 ("xmllint" ,libxml2)))
5856 (inputs
5857 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5858 ("gtk+" ,gtk+)))
5859 (home-page "https://wiki.gnome.org/Apps/Dictionary")
5860 (synopsis "Look up words in dictionary sources")
5861 (description
5862 "GNOME Dictionary can look for the definition or translation of a word in
5863existing databases over the internet.")
5864 (license license:gpl3+)))
5865
9365ee1c
JN
5866(define-public gnome-tweak-tool
5867 (package
5868 (name "gnome-tweak-tool")
a7850769 5869 (version "3.24.1")
9365ee1c
JN
5870 (source (origin
5871 (method url-fetch)
5872 (uri (string-append "mirror://gnome/sources/gnome-tweak-tool/"
5873 (version-major+minor version) "/"
5874 "gnome-tweak-tool-" version ".tar.xz"))
5875 (patches (list
5876 (search-patch "gnome-tweak-tool-search-paths.patch")))
5877 (sha256
5878 (base32
a7850769 5879 "0rgmm7n6jwc5hz64sprm4jxnky62hw839a7r18rn1mj884vnn8hr"))))
7ef335b0 5880 (build-system glib-or-gtk-build-system)
9365ee1c
JN
5881 (arguments
5882 `(#:configure-flags '("--localstatedir=/tmp"
5883 "--sysconfdir=/tmp")
5884 #:imported-modules ((guix build python-build-system)
7ef335b0 5885 ,@%glib-or-gtk-build-system-modules)
9365ee1c 5886 #:phases (modify-phases %standard-phases
9af6bce1
CB
5887 (add-after 'install 'wrap-program
5888 (lambda* (#:key outputs #:allow-other-keys)
5889 (let ((out (assoc-ref outputs "out"))
5890 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
5891 (wrap-program (string-append out "/bin/gnome-tweak-tool")
5892 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
5893 #t))
9365ee1c
JN
5894 (add-after 'install 'wrap
5895 (@@ (guix build python-build-system) wrap)))))
5896 (native-inputs
5897 `(("intltool" ,intltool)
5898 ("pkg-config" ,pkg-config)))
5899 (inputs
5900 `(("python" ,python-2)
adb41527 5901 ("python2-pygobject" ,python2-pygobject)
fab2784d
CB
5902 ("gnome-desktop" ,gnome-desktop)
5903 ("libsoup" ,libsoup)
adb41527 5904 ("libnotify" ,libnotify)
9365ee1c
JN
5905 ("gobject-introspection" ,gobject-introspection)
5906 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5907 ("gtk+" ,gtk+)))
5908 (synopsis "Customize advanced GNOME 3 options")
5909 (home-page "https://wiki.gnome.org/action/show/Apps/GnomeTweakTool")
5910 (description
5911 "GNOME Tweak Tool allows adjusting advanced configuration settings in
5912GNOME 3. This includes things like the fonts used in user interface elements,
5913alternative user interface themes, changes in window management behavior,
5914GNOME Shell appearance and extension, etc.")
5915 (license license:gpl3+)))
813f814a 5916
32ac717c
DT
5917(define-public gnome-shell-extensions
5918 (package
5919 (name "gnome-shell-extensions")
a5b5fcae 5920 (version "3.24.2")
32ac717c
DT
5921 (source (origin
5922 (method url-fetch)
5923 (uri (string-append "mirror://gnome/sources/" name "/"
5924 (version-major+minor version) "/"
5925 name "-" version ".tar.xz"))
5926 (sha256
5927 (base32
a5b5fcae 5928 "10sg87wml5cmyk90pybnr6r942ba7173sl7yplhj2sfggp0wc74s"))))
32ac717c
DT
5929 (build-system gnu-build-system)
5930 (arguments
5931 '(#:configure-flags '("--enable-extensions=all")))
5932 (native-inputs
5933 `(("intltool" ,intltool)
5934 ("pkg-config" ,pkg-config)))
5935 (propagated-inputs
5936 `(("glib" ,glib)
5937 ("glib" ,glib "bin")))
5938 (synopsis "Extensions for GNOME Shell")
5939 (description "GNOME Shell extensions modify and extend GNOME Shell
5940functionality and behavior.")
5941 (home-page "https://extensions.gnome.org/")
5942 (license license:gpl3+)))
5943
813f814a
DT
5944(define-public arc-theme
5945 (package
5946 (name "arc-theme")
7967efc1 5947 (version "20170302")
813f814a
DT
5948 (source (origin
5949 (method url-fetch)
5950 (uri (string-append "https://github.com/horst3180/arc-theme"
5951 "/archive/" version ".tar.gz"))
5952 (file-name (string-append name "-" version ".tar.gz"))
5953 (sha256
5954 (base32
7967efc1 5955 "0igxpngnkf1wpsg872a9jg3c9f5z8afm312yfbillz16mk8w39cw"))))
813f814a
DT
5956 (build-system gnu-build-system)
5957 (arguments
5958 '(#:phases
5959 (modify-phases %standard-phases
5960 (add-after 'unpack 'bootstrap
5961 (lambda _
5962 (zero? (system* "autoreconf" "-vif")))))))
5963 (native-inputs
5964 `(("autoconf" ,autoconf)
5965 ("automake" ,automake)
5966 ("pkg-config" ,pkg-config)))
5967 (inputs
5968 `(("gtk+" ,gtk+)))
5969 (synopsis "A flat GTK+ theme with transparent elements")
5970 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
59712, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
5972like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
5973 (home-page "https://github.com/horst3180/arc-theme")
5974 ;; No "or later" language found.
5975 (license license:gpl3)))
9987c57c
DT
5976
5977(define-public moka-icon-theme
5978 (package
5979 (name "moka-icon-theme")
e4e52509 5980 (version "5.3.6")
9987c57c
DT
5981 (source (origin
5982 (method url-fetch)
5983 (uri (string-append "https://github.com/moka-project"
5984 "/moka-icon-theme/archive/v"
5985 version ".tar.gz"))
5986 (file-name (string-append name "-" version ".tar.gz"))
5987 (sha256
5988 (base32
e4e52509 5989 "04axinv79qnngsxkwqzi5j9lc3hn24rjqps5ai8d42pdnfaf0x37"))))
9987c57c
DT
5990 (build-system gnu-build-system)
5991 (arguments
5992 '(#:phases
5993 (modify-phases %standard-phases
5994 (add-after 'unpack 'patch-makefile.am
5995 (lambda _
5996 (substitute* '("Makefile.am")
5997 (("\\$\\(DESTDIR\\)/usr/share")
5998 "$(datadir)"))
5999 #t))
6000 (add-after 'patch-makefile.am 'bootstrap
6001 (lambda _
6002 (zero? (system* "autoreconf" "-vif")))))))
6003 (native-inputs
6004 `(("autoconf" ,autoconf)
6005 ("automake" ,automake)))
6006 (synopsis "Moka icon theme")
6007 (description "Moka is a stylized desktop icon set, designed to be clear,
6008simple and consistent.")
6009 (home-page "http://snwh.org/moka")
6010 (license license:gpl3+)))
6fd8f8d6
DT
6011
6012(define-public arc-icon-theme
6013 (package
6014 (name "arc-icon-theme")
c4180240 6015 (version "20161122")
6fd8f8d6
DT
6016 (source (origin
6017 (method url-fetch)
6018 (uri (string-append "https://github.com/horst3180/arc-icon-theme"
6019 "/archive/" version ".tar.gz"))
6020 (file-name (string-append name "-" version ".tar.gz"))
6021 (sha256
6022 (base32
c4180240 6023 "1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b"))))
6fd8f8d6
DT
6024 (build-system gnu-build-system)
6025 (arguments
6026 '(#:phases
6027 (modify-phases %standard-phases
6028 (add-after 'unpack 'bootstrap
6029 (lambda _
6030 (zero? (system* "autoreconf" "-vif")))))))
6031 (native-inputs
6032 `(("autoconf" ,autoconf)
6033 ("automake" ,automake)))
6034 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
6035 (propagated-inputs
6036 `(("moka-icon-theme" ,moka-icon-theme)))
6037 (synopsis "Arc icon theme")
6038 (description "The Arc icon theme provides a set of icons matching the
6039style of the Arc GTK theme. Icons missing from the Arc theme are provided by
6040the Moka icon theme.")
6041 (home-page "https://github.com/horst3180/arc-icon-theme")
6042 (license license:gpl3+)))
6064a4e8
LF
6043
6044(define-public folks
6045 (package
6046 (name "folks")
6047 (version "0.11.2")
6048 (source (origin
6049 (method url-fetch)
6050 (uri (string-append
6051 "mirror://gnome/sources/" name "/"
6052 (version-major+minor version) "/"
6053 name "-" version ".tar.xz"))
6054 (sha256
6055 (base32
6056 "1f51albxgfqxbax57i3pcgv2fx7i419xaapzdvldas6gw100ma1m"))))
6057 (build-system glib-or-gtk-build-system)
6058 (inputs
6059 `(("bdb" ,bdb)
6060 ("dbus-glib" ,dbus-glib)
6061 ("evolution-data-server" ,evolution-data-server)
6062 ("glib" ,glib)
6063 ("libgee" ,libgee)
6064 ("telepathy-glib" ,telepathy-glib)))
6065 (native-inputs
6066 `(("gobject-introspection" ,gobject-introspection)
6067 ("intltool" ,intltool)
6068 ("pkg-config" ,pkg-config)
6069 ("vala" ,vala)))
6070 (synopsis "Library to aggregate data about people")
6071 (description "Libfolks is a library that aggregates information about people
6072from multiple sources (e.g., Telepathy connection managers for IM contacts,
6073Evolution Data Server for local contacts, libsocialweb for web service contacts,
6074etc.) to create metacontacts. It's written in Vala, which generates C code when
6075compiled.")
6076 (home-page "https://wiki.gnome.org/Projects/Folks")
6077 (license license:lgpl2.1+)))
01ea778f
LF
6078
6079(define-public gfbgraph
6080 (package
6081 (name "gfbgraph")
6082 (version "0.2.3")
6083 (source (origin
6084 (method url-fetch)
6085 (uri (string-append
6086 "mirror://gnome/sources/" name "/"
6087 (version-major+minor version) "/"
6088 name "-" version ".tar.xz"))
6089 (sha256
6090 (base32
6091 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
6092 (build-system glib-or-gtk-build-system)
6093 (arguments
6094 `(#:tests? #f ; Tests appear to require the network.
6095 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
6096 #:configure-flags '("--disable-gtk-doc"
6097 "--disable-static"
6098 "--enable-introspection")))
6099 (native-inputs
6100 `(("pkg-config" ,pkg-config)
6101 ("gobject-introspection" ,gobject-introspection)))
6102 (inputs
6103 `(("json-glib" ,json-glib)
6104 ("gnome-online-accounts" ,gnome-online-accounts)
6105 ("rest" ,rest)))
6106 (synopsis "GLib/GObject wrapper for the Facebook API")
6107 (description "This library allows you to use the Facebook API from
6108GLib/GObject code.")
6109 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
6110 (license license:lgpl2.1+)))
3920868c 6111
6112(define-public libgnomekbd
6113 (package
6114 (name "libgnomekbd")
47b93ae5 6115 (version "3.22.0.1")
3920868c 6116 (source (origin
6117 (method url-fetch)
6118 (uri (string-append "mirror://gnome/sources/" name "/"
6119 (version-major+minor version) "/"
6120 name "-" version ".tar.xz"))
6121 (sha256
6122 (base32
47b93ae5 6123 "1plkkack6s8b21gcmmly0lapgcjz53dmw2vixnn4rw4jxjwbdzaf"))))
3920868c 6124 (build-system gnu-build-system)
6125 (native-inputs
6126 `(("pkg-config" ,pkg-config)
6127 ("glib" ,glib "bin")
6128 ("intltool" ,intltool)))
6129 (propagated-inputs
6130 ;; Referred to in .h files and .pc.
6131 `(("glib" ,glib)
6132 ("gtk+" ,gtk+)
6133 ("libxklavier" ,libxklavier)))
6134 (home-page "https://www.gnome.org")
6135 (synopsis "GNOME keyboard configuration library")
6136 (description
6137 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
6138environment, which can notably display keyboard layouts.")
6139 (license license:lgpl2.0+)))
85327d0d 6140
6141;;; This package is no longer maintained:
6142;;; https://wiki.gnome.org/Attic/LibUnique
6143;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
6144;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
6145(define-public libunique
6146 (package
6147 (name "libunique")
6148 (version "3.0.2")
6149 (source (origin
6150 (method url-fetch)
6151 (uri (string-append "mirror://gnome/sources/" name "/"
6152 (version-major+minor version) "/"
6153 name "-" version ".tar.xz"))
6154 (sha256
6155 (base32
6156 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
6157 (build-system glib-or-gtk-build-system)
6158 (arguments
6159 `(#:configure-flags '("--disable-static"
6160 "--disable-dbus" ; use gdbus
6161 "--enable-introspection")))
6162 (native-inputs
6163 `(("pkg-config" ,pkg-config)
6164 ("gobject-introspection" ,gobject-introspection)
6165 ("glib:bin" ,glib "bin")
6166 ("gtk-doc" ,gtk-doc)))
6167 (propagated-inputs
6168 ;; Referred to in .h files and .pc.
6169 `(("gtk+" ,gtk+)))
6170 (home-page "https://wiki.gnome.org/Attic/LibUnique")
6171 (synopsis "Library for writing single instance applications")
6172 (description
6173 "Libunique is a library for writing single instance applications. If you
6174launch a single instance application twice, the second instance will either just
6175quit or will send a message to the running instance. Libunique makes it easy to
6176write this kind of application, by providing a base class, taking care of all
6177the IPC machinery needed to send messages to a running instance, and also
6178handling the startup notification side.")
6179 (license license:lgpl2.1+)))
54021cd8
RS
6180
6181(define-public gnome-calculator
6182 (package
6183 (name "gnome-calculator")
2c2da7ec 6184 (version "3.24.0")
54021cd8
RS
6185 (source
6186 (origin
6187 (method url-fetch)
6188 (uri (string-append "mirror://gnome/sources/" name "/"
6189 (version-major+minor version) "/"
6190 name "-" version ".tar.xz"))
6191 (sha256
6192 (base32
2c2da7ec 6193 "041d40as8y0r5d0kk83dy842711zchydwwqh71kh1lpd373qlxa4"))))
54021cd8
RS
6194 (build-system glib-or-gtk-build-system)
6195 (native-inputs
6196 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
6197 ("intltool" ,intltool)
6198 ("itstool" ,itstool)
6199 ("pkg-config" ,pkg-config)))
6200 (inputs
6201 `(("gtksourceview" ,gtksourceview)
6202 ("libsoup" ,libsoup)
2c2da7ec 6203 ("mpc" ,mpc)
54021cd8
RS
6204 ("mpfr" ,mpfr)))
6205 (home-page "https://wiki.gnome.org/Apps/Calculator")
6206 (synopsis "Desktop calculator")
6207 (description
6208 "Calculator is an application that solves mathematical equations and
6209is suitable as a default application in a Desktop environment.")
6210 (license license:gpl3)))
0bd69759
RS
6211
6212(define-public xpad
6213 (package
6214 (name "xpad")
6215 (version "4.8.0")
6216 (source
6217 (origin
6218 (method url-fetch)
6219 (uri (string-append "https://launchpad.net/xpad/trunk/4.8.0/+download/"
6220 name "-" version ".tar.bz2"))
6221 (sha256
6222 (base32
6223 "17f915yyvfa2fsavq6wh0q0dfhib28b4k1gc0292b9xdlrvy7f22"))))
6224 (build-system gnu-build-system)
6225 (native-inputs
6226 `(("intltool" ,intltool)
6227 ("pkg-config" ,pkg-config)))
6228 (inputs
6229 `(("gtk+" ,gtk+)
6230 ("gtksourceview" ,gtksourceview)
6231 ("libsm" ,libsm)))
6232 (home-page "https://wiki.gnome.org/Apps/Xpad")
6233 (synopsis "Virtual sticky note")
6234 (description
6235 "Xpad is a sticky note that strives to be simple, fault tolerant,
6236and customizable. Xpad consists of independent pad windows, each is
6237basically a text box in which notes can be written.")
6238 (license license:gpl3+)))
3ad7dce1
RS
6239
6240(define-public gucharmap
6241 (package
6242 (name "gucharmap")
6243 (version "3.18.0")
6244 (source
6245 (origin
6246 (method url-fetch)
6247 (uri (string-append "mirror://gnome/sources/" name "/"
6248 (version-major+minor version) "/"
6249 name "-" version ".tar.xz"))
6250 (sha256
6251 (base32
6252 "0c1q9w5vql0vvg6g0knxfnv4ap19fg5cdrwndi1cj9lsym92c78j"))))
6253 (build-system gnu-build-system)
6254 (native-inputs
6255 `(("desktop-file-utils" ,desktop-file-utils)
6256 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
6257 ("gobject-introspection" ,gobject-introspection)
6258 ("intltool" ,intltool)
6259 ("itstool" ,itstool)
6260 ("pkg-config" ,pkg-config)))
6261 (inputs
6262 `(("gtk+" ,gtk+)
6263 ("xmllint" ,libxml2)))
6264 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
6265 (synopsis "Unicode character picker and font browser")
6266 (description
6267 "This program allows you to browse through all the available Unicode
6268characters and categories for the installed fonts, and to examine their
6269detailed properties. It is an easy way to find the character you might
6270only know by its Unicode name or code point.")
6271 (license license:gpl3+)))
04ce840a
RS
6272
6273(define-public bluefish
6274 (package
6275 (name "bluefish")
6276 (version "2.2.9")
6277 (source
6278 (origin
6279 (method url-fetch)
6280 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
6281 name "-" version ".tar.gz"))
6282 (sha256
6283 (base32
6284 "1vnl6raxbvc4hacg3pr6sqyjh707d304dhk5nyhlp7m0m1y3j756"))))
6285 (build-system gnu-build-system)
6286 (native-inputs
6287 `(("desktop-file-utils" ,desktop-file-utils)
6288 ("intltool" ,intltool)
6289 ("pkg-config" ,pkg-config)))
6290 (inputs
6291 `(("enchant" ,enchant)
6292 ("gtk+" ,gtk+)
6293 ("python" ,python-2)
6294 ("xmllint" ,libxml2)
6295 ("gucharmap" ,gucharmap)))
6296 (home-page "http://bluefish.openoffice.nl")
6297 (synopsis "Web development studio")
6298 (description
6299 "Bluefish is an editor targeted towards programmers and web developers,
6300with many options to write web sites, scripts and other code.
6301Bluefish supports many programming and markup languages.")
6302 (license license:gpl3+)))
1f6a73ee
RS
6303
6304(define-public gnome-system-monitor
6305 (package
6306 (name "gnome-system-monitor")
155f0d69 6307 (version "3.24.0")
1f6a73ee
RS
6308 (source
6309 (origin
6310 (method url-fetch)
6311 (uri (string-append "mirror://gnome/sources/" name "/"
6312 (version-major+minor version) "/"
6313 name "-" version ".tar.xz"))
6314 (sha256
6315 (base32
155f0d69 6316 "1x3343hchkllj8wyifk844v8psi45kyjhphyd03fzahi4h34aay3"))))
1f6a73ee
RS
6317 (build-system glib-or-gtk-build-system)
6318 (native-inputs
6319 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
6320 ("intltool" ,intltool)
6321 ("itstool" ,itstool)
6322 ("libgtop" ,libgtop)
6323 ("pkg-config" ,pkg-config)))
6324 (inputs
6325 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
6326 ("gtk+" ,gtk+)
6327 ("gtkmm" ,gtkmm)
6328 ("librsvg" ,librsvg)
6329 ("libxml2" ,libxml2)))
6330 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
6331 (synopsis "Process viewer and system resource monitor for GNOME")
6332 (description
6333 "GNOME System Monitor is a GNOME process viewer and system monitor with
6334an attractive, easy-to-use interface. It has features, such as a tree view
6335for process dependencies, icons for processes, the ability to hide processes,
6336graphical time histories of CPU/memory/swap usage and the ability to
6337kill/reinice processes.")
6338 (license license:gpl2+)))
3e00ac47
SB
6339
6340(define-public python-pyatspi
6341 (package
6342 (name "python-pyatspi")
6343 (version "2.24.0")
6344 (source (origin
6345 (method url-fetch)
6346 (uri (string-append
6347 "mirror://gnome/sources/pyatspi/"
6348 (version-major+minor version)
6349 "/pyatspi-" version ".tar.xz"))
6350 (sha256
6351 (base32
6352 "14m6y27ziqc9f6339gjz49mlsk6mrsyg4bkj055cdzc7sfjlgvz7"))))
6353 (build-system gnu-build-system)
6354 (native-inputs
6355 `(("pkg-config" ,pkg-config)))
6356 (inputs
6357 `(("python" ,python)
6358 ("python-pygobject" ,python-pygobject)))
6359 (synopsis "Python client bindings for D-Bus AT-SPI")
6360 (home-page "https://wiki.linuxfoundation.org/accessibility\
6361/atk/at-spi/at-spi_on_d-bus")
6362 (description
6363 "This package includes a python client library for the AT-SPI D-Bus
6364accessibility infrastructure.")
6365 (license license:lgpl2.0)
6366 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
6367
6368(define-public orca
6369 (package
6370 (name "orca")
6371 (version "3.24.0")
6372 (source (origin
6373 (method url-fetch)
6374 (uri (string-append
6375 "mirror://gnome/sources/" name "/"
6376 (version-major+minor version) "/"
6377 name "-" version ".tar.xz"))
6378 (sha256
6379 (base32
6380 "1la6f815drykrgqf791jx1dda6716cfv6052frqp7nhjxr75xg97"))))
6381 (build-system glib-or-gtk-build-system)
6382 (arguments
6383 '(#:phases
6384 (modify-phases %standard-phases
6385 (add-before 'configure 'qualify-xkbcomp
6386 (lambda* (#:key inputs #:allow-other-keys)
6387 (let ((xkbcomp (string-append
6388 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
6389 (substitute* "src/orca/orca.py"
6390 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
6391 #t))
6392 (add-after 'install 'wrap-orca
6393 (lambda* (#:key outputs #:allow-other-keys)
6394 (let* ((out (assoc-ref outputs "out"))
6395 (prog (string-append out "/bin/orca")))
6396 (wrap-program prog
6397 `("GI_TYPELIB_PATH" ":" prefix
6398 (,(getenv "GI_TYPELIB_PATH")))
6399 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
6400 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
6401 `("PYTHONPATH" ":" prefix
6402 (,(getenv "PYTHONPATH")))))
6403 #t)))))
6404 (native-inputs
6405 `(("intltool" ,intltool)
6406 ("itstool" ,itstool)
6407 ("pkg-config" ,pkg-config)
6408 ("xmllint" ,libxml2)))
6409 (inputs
6410 `(("at-spi2-atk" ,at-spi2-atk)
6411 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
6412 ("gstreamer" ,gstreamer)
6413 ("gst-plugins-base" ,gst-plugins-base)
6414 ("gst-plugins-good" ,gst-plugins-good)
6415 ("gtk+" ,gtk+)
6416 ("python" ,python)
6417 ("python-pygobject" ,python-pygobject)
6418 ("python-pyatspi" ,python-pyatspi)
6419 ("python-speechd" ,speech-dispatcher)
6420 ("xkbcomp" ,xkbcomp)))
6421 (synopsis
6422 "Screen reader for individuals who are blind or visually impaired")
6423 (home-page "https://wiki.gnome.org/Projects/Orca")
6424 (description
6425 "Orca is a screen reader that provides access to the graphical desktop
6426via speech and refreshable braille. Orca works with applications and toolkits
6427that support the Assistive Technology Service Provider Interface (AT-SPI).")
6428 (license license:lgpl2.1+)))
411ba511
LC
6429
6430(define-public gspell
6431 (package
6432 (name "gspell")
f54efbdc 6433 (version "1.4.1")
411ba511
LC
6434 (source (origin
6435 (method url-fetch)
6436 (uri (string-append "mirror://gnome/sources/" name "/"
6437 (version-major+minor version) "/"
6438 name "-" version ".tar.xz"))
6439 (sha256
6440 (base32
f54efbdc 6441 "1ghh1xdzf04mfgb13zqpj88krpa44xv2vbyhm6k017kzrpz8hbs4"))
411ba511
LC
6442 (patches (search-patches "gspell-dash-test.patch"))))
6443 (build-system glib-or-gtk-build-system)
6444 (arguments
6445 '(#:phases
6446 (modify-phases %standard-phases
6447 (add-before 'check 'pre-check
6448 (lambda* (#:key inputs #:allow-other-keys)
6449 ;; Tests require a running X server.
6450 (system "Xvfb :1 &")
6451 (setenv "DISPLAY" ":1")
6452
6453 ;; For the missing /etc/machine-id.
6454 (setenv "DBUS_FATAL_WARNINGS" "0")
6455
6456 ;; Allow Enchant and its Aspell backend to find the en_US
6457 ;; dictionary.
6458 (setenv "ASPELL_DICT_DIR"
6459 (string-append (assoc-ref inputs "aspell-dict-en")
6460 "/lib/aspell"))
6461 #t)))))
6462 (inputs
eccd35be 6463 `(("gtk+" ,gtk+)
a801ae4c
TGR
6464 ("glib" ,glib)
6465 ("iso-codes" ,iso-codes)))
411ba511
LC
6466 (native-inputs
6467 `(("glib" ,glib "bin")
6468 ("pkg-config" ,pkg-config)
6469 ("xmllint" ,libxml2)
6470
6471 ;; For tests.
a801ae4c
TGR
6472 ("aspell-dict-en" ,aspell-dict-en)
6473 ("xorg-server" ,xorg-server)))
eccd35be
TGR
6474 (propagated-inputs
6475 `(("enchant" ,enchant))) ; enchant.pc is required by gspell-1.pc
411ba511
LC
6476 (home-page "https://wiki.gnome.org/Projects/gspell")
6477 (synopsis "GNOME's alternative spell checker")
6478 (description
6479 "gspell provides a flexible API to add spell-checking to a GTK+
6480application. It provides a GObject API, spell-checking to text entries and
6481text views, and buttons to choose the language.")
6482 (license license:gpl2+)))
d1d739fa
CM
6483
6484(define-public gnome-planner
6485 (package
6486 (name "gnome-planner")
6487 (version "0.14.6")
6488 (source (origin
6489 (method url-fetch)
6490 (uri (string-append "mirror://gnome/sources/planner/"
6491 (version-major+minor version) "/planner-"
6492 version ".tar.xz"))
6493 (sha256
6494 (base32
6495 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
6496 (build-system glib-or-gtk-build-system)
6497 (arguments
6498 ;; Disable the Python bindings because the Planner program functions
6499 ;; without them, and (as of 2017-06-13) we have not packaged all of
6500 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
6501 `(#:configure-flags
6502 (list "--disable-python"
6503 ,@(if (string=? "aarch64-linux" (%current-system))
6504 '("--build=aarch64-unknown-linux-gnu")
6505 '()))))
d1d739fa
CM
6506 (inputs
6507 `(("libgnomecanvas" ,libgnomecanvas)
6508 ("libgnomeui" ,libgnomeui)
6509 ("libglade" ,libglade)
6510 ("gnome-vfs" ,gnome-vfs)
6511 ("gconf" ,gconf)
6512 ("libxml2" ,libxml2)
6513 ("libxslt" ,libxslt)
6514 ("gtk+" ,gtk+)
6515 ("glib" ,glib)))
6516 (native-inputs
6517 `(("intltool" ,intltool)
6518 ("scrollkeeper" ,scrollkeeper)
6519 ("pkg-config" ,pkg-config)))
6520 (home-page "https://wiki.gnome.org/Apps/Planner")
6521 (synopsis "Project management software for the GNOME desktop")
6522 (description
6523 "GNOME Planner is a project management tool based on the Work Breakdown
6524Structure (WBS). Its goal is to enable you to easily plan projects. Based on
6525the resources, tasks, and constraints that you define, Planner generates
6526various views into a project. For example, Planner can show a Gantt chart of
6527the project. It can show a detailed summary of tasks including their
6528duration, cost, and current progress. It can also show a report of resource
6529utilization that highlights under-utilized and over-utilized resources. These
6530views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 6531 (license license:gpl2+)))
64fce637
RS
6532
6533(define-public lollypop
6534 (package
6535 (name "lollypop")
6536 (version "0.9.240")
6537 (source
6538 (origin
6539 (method url-fetch)
6540 (uri (string-append "https://github.com/gnumdk/lollypop/"
6541 "releases/download/" version "/"
6542 name "-" version ".tar.xz"))
6543 (sha256
6544 (base32
6545 "0n1ycmg6dgz1pajs80fwlcbxw3rx1hff1xw6ja67zngm85ydbjvq"))))
6546 (build-system glib-or-gtk-build-system)
6547 (arguments
6548 `(#:imported-modules ((guix build python-build-system)
6549 ,@%glib-or-gtk-build-system-modules)
6550 #:phases (modify-phases %standard-phases
6551 (add-after 'install 'wrap-program
6552 (lambda* (#:key outputs #:allow-other-keys)
6553 (let ((out (assoc-ref outputs "out"))
6554 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6555 (wrap-program (string-append out "/bin/lollypop")
6556 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6557 #t))
6558 (add-after 'install 'wrap
6559 (@@ (guix build python-build-system) wrap)))))
6560 (native-inputs
6561 `(("intltool" ,intltool)
6562 ("itstool" ,itstool)
6563 ("pkg-config" ,pkg-config)))
6564 (inputs
6565 `(("gobject-introspection" ,gobject-introspection)
6566 ("gtk+" ,gtk+)
6567 ("libnotify" ,libnotify)
6568 ("libsecret" ,libsecret)
6569 ("libsoup" ,libsoup)
6570 ("python" ,python)
6571 ("python-beautifulsoup4" ,python-beautifulsoup4)
6572 ("python-gst" ,python-gst)
6573 ("python-pycairo" ,python-pycairo)
6574 ("python-pygobject" ,python-pygobject)
6575 ("python-pylast" ,python-pylast)
6576 ("totem-pl-parser" ,totem-pl-parser)
6577 ("webkitgtk" ,webkitgtk)))
6578 (propagated-inputs
6579 `(;; gst-plugins-base is required to start Lollypop,
6580 ;; the others are required to play streaming.
6581 ("gst-plugins-base" ,gst-plugins-base)
6582 ("gst-plugins-good" ,gst-plugins-good)
6583 ("gst-plugins-ugly" ,gst-plugins-ugly)))
6584 (home-page "https://gnumdk.github.io/lollypop-web")
6585 (synopsis "GNOME music playing application")
6586 (description
6587 "Lollypop is a music player designed to play well with GNOME desktop.
6588Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
6589from artists and tracks from the web. It also fetches cover artworks
6590automatically and it can stream songs from online music services and charts.")
6591 (license license:gpl3+)))