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