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