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