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