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