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