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