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