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