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