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