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