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