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