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