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