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