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