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