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