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