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