gnu: gnome-initial-setup: Update description.
[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>
03be9874 17;;; Copyright © 2016, 2017, 2019 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>
ac631328 24;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
cce0da5e 25;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
d04687dc 26;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
3c5dbd2b 27;;; Copyright © 2017, 2018 nee <nee-git@hidamari.blue>
d1d739fa 28;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
1d3fcf94 29;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
dcfa0acd 30;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
0438f1d8 31;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
4e3fdeb7 32;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
2eee7ee3 33;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
a18f8eaf 34;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
e57c2adb 35;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
8caa4589 36;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>
ec47c07d 37;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
3e9c80b2 38;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
a7a31827 39;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
633422b0 40;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
213315d4 41;;; Copyright © 2019 Jonathan Frederickson <jonathan@terracrypt.net>
aa51d92c 42;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
ad6e168b 43;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
93beace0 44;;; Copyright © 2019 David Wilson <david@daviwil.com>
4e868d22 45;;; Copyright © 2019 Raghav Gururajan <raghavgururajan@disroot.org>
f6501b9f 46;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
26ba3f07 47;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at>
fa01e10d 48;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
995b7261
AE
49;;;
50;;; This file is part of GNU Guix.
51;;;
52;;; GNU Guix is free software; you can redistribute it and/or modify it
53;;; under the terms of the GNU General Public License as published by
54;;; the Free Software Foundation; either version 3 of the License, or (at
55;;; your option) any later version.
56;;;
57;;; GNU Guix is distributed in the hope that it will be useful, but
58;;; WITHOUT ANY WARRANTY; without even the implied warranty of
59;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
60;;; GNU General Public License for more details.
61;;;
62;;; You should have received a copy of the GNU General Public License
63;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
64
65(define-module (gnu packages gnome)
ed19903d 66 #:use-module (gnu packages)
ba5dd105 67 #:use-module (gnu packages admin)
411ba511 68 #:use-module (gnu packages aspell)
75016d07 69 #:use-module (gnu packages autotools)
7b212526 70 #:use-module (gnu packages avahi)
b29909b4 71 #:use-module (gnu packages backup)
6a180f6f 72 #:use-module (gnu packages base)
1e33331c 73 #:use-module (gnu packages bash)
5698b8b8 74 #:use-module (gnu packages bison)
aa51d92c 75 #:use-module (gnu packages boost)
5fc9b6c1 76 #:use-module (gnu packages build-tools)
df217748 77 #:use-module (gnu packages calendar)
b29909b4 78 #:use-module (gnu packages cdrom)
df12f04a 79 #:use-module (gnu packages check)
d61a894b 80 #:use-module (gnu packages cmake)
b29909b4 81 #:use-module (gnu packages compression)
8f523eb9 82 #:use-module (gnu packages crates-io)
23a22af6 83 #:use-module (gnu packages cups)
6e1bb642 84 #:use-module (gnu packages curl)
c3f29bc9 85 #:use-module (gnu packages cyrus-sasl)
6e1bb642 86 #:use-module (gnu packages databases)
255d1bbe 87 #:use-module (gnu packages dbm)
c769cf9f 88 #:use-module (gnu packages djvu)
ba5dd105 89 #:use-module (gnu packages dns)
b4ce6300 90 #:use-module (gnu packages docbook)
b29909b4 91 #:use-module (gnu packages documentation)
329d731b 92 #:use-module (gnu packages enchant)
b29909b4
TGR
93 #:use-module (gnu packages flex)
94 #:use-module (gnu packages fonts)
e762d943 95 #:use-module (gnu packages file-systems)
a56be436 96 #:use-module (gnu packages fontutils)
b29909b4 97 #:use-module (gnu packages freedesktop)
dfc407f3 98 #:use-module (gnu packages game-development)
fed5a689 99 #:use-module (gnu packages gettext)
b29909b4
TGR
100 #:use-module (gnu packages ghostscript)
101 #:use-module (gnu packages gl)
995b7261 102 #:use-module (gnu packages glib)
c1354b90 103 #:use-module (gnu packages gnupg)
23a22af6 104 #:use-module (gnu packages gnuzilla)
8d8c6bff 105 #:use-module (gnu packages geo)
b29909b4
TGR
106 #:use-module (gnu packages gperf)
107 #:use-module (gnu packages graphviz)
85f5dc19 108 #:use-module (gnu packages gstreamer)
d9c1a22b 109 #:use-module (gnu packages gtk)
6b888eff 110 #:use-module (gnu packages guile)
b645146f 111 #:use-module (gnu packages ibus)
03be9874 112 #:use-module (gnu packages icu4c)
b29909b4
TGR
113 #:use-module (gnu packages image)
114 #:use-module (gnu packages imagemagick)
115 #:use-module (gnu packages inkscape)
9cc98f8a 116 #:use-module (gnu packages iso-codes)
b29909b4 117 #:use-module (gnu packages kerberos)
85f5dc19 118 #:use-module (gnu packages libcanberra)
b64e217f 119 #:use-module (gnu packages libunistring)
75016d07 120 #:use-module (gnu packages libusb)
b29909b4 121 #:use-module (gnu packages linux)
4e3fc547 122 #:use-module (gnu packages lirc)
7b212526 123 #:use-module (gnu packages lua)
b29909b4 124 #:use-module (gnu packages mail)
03be9874 125 #:use-module (gnu packages mp3)
b29909b4 126 #:use-module (gnu packages multiprecision)
64fce637 127 #:use-module (gnu packages music)
b29909b4
TGR
128 #:use-module (gnu packages ncurses)
129 #:use-module (gnu packages nettle)
ba5dd105 130 #:use-module (gnu packages networking)
5fc9b6c1 131 #:use-module (gnu packages ninja)
aff0cce9 132 #:use-module (gnu packages nss)
b29909b4 133 #:use-module (gnu packages openldap)
b645146f 134 #:use-module (gnu packages password-utils)
de1215e2 135 #:use-module (gnu packages pcre)
b29909b4 136 #:use-module (gnu packages pdf)
27477d2d 137 #:use-module (gnu packages perl)
f70d8383 138 #:use-module (gnu packages photo)
995b7261 139 #:use-module (gnu packages pkg-config)
b29909b4
TGR
140 #:use-module (gnu packages polkit)
141 #:use-module (gnu packages popt)
7d3bb433 142 #:use-module (gnu packages pretty-print)
23a22af6 143 #:use-module (gnu packages pulseaudio)
995b7261 144 #:use-module (gnu packages python)
00014781
RW
145 #:use-module (gnu packages python-crypto)
146 #:use-module (gnu packages python-web)
44d10b1f 147 #:use-module (gnu packages python-xyz)
cce0da5e 148 #:use-module (gnu packages rdesktop)
b29909b4 149 #:use-module (gnu packages readline)
a76d0f03 150 #:use-module (gnu packages ruby)
ec47c07d 151 #:use-module (gnu packages rust)
b29909b4 152 #:use-module (gnu packages samba)
75016d07 153 #:use-module (gnu packages scanner)
240cee8a 154 #:use-module (gnu packages selinux)
c27e02bf 155 #:use-module (gnu packages slang)
b29909b4
TGR
156 #:use-module (gnu packages speech)
157 #:use-module (gnu packages spice)
cd0322a3 158 #:use-module (gnu packages sqlite)
4a1bf090 159 #:use-module (gnu packages ssh)
8f9ac901 160 #:use-module (gnu packages tex)
33dc54b0 161 #:use-module (gnu packages time)
a7fd7b68 162 #:use-module (gnu packages tls)
3c5dbd2b 163 #:use-module (gnu packages version-control)
b29909b4 164 #:use-module (gnu packages video)
59132b80 165 #:use-module (gnu packages virtualization)
f2b96b3a 166 #:use-module (gnu packages vpn)
a18f8eaf 167 #:use-module (gnu packages web)
b29909b4
TGR
168 #:use-module (gnu packages web)
169 #:use-module (gnu packages webkit)
170 #:use-module (gnu packages xdisorg)
171 #:use-module (gnu packages xiph)
172 #:use-module (gnu packages xml)
d633f2f6 173 #:use-module (gnu packages xorg)
b29909b4 174 #:use-module (gnu packages xorg)
a76d0f03 175 #:use-module (gnu artwork)
8f523eb9 176 #:use-module (guix build-system cargo)
b29909b4
TGR
177 #:use-module (guix build-system cmake)
178 #:use-module (guix build-system glib-or-gtk)
179 #:use-module (guix build-system gnu)
180 #:use-module (guix build-system meson)
08be02be 181 #:use-module (guix build-system python)
b29909b4
TGR
182 #:use-module (guix build-system trivial)
183 #:use-module (guix download)
184 #:use-module (guix git-download)
185 #:use-module ((guix licenses) #:prefix license:)
186 #:use-module (guix packages)
187 #:use-module (guix utils)
a76d0f03 188 #:use-module (guix gexp)
8f523eb9
EF
189 #:use-module (guix monads)
190 #:use-module (guix store)
4e3fdeb7 191 #:use-module (ice-9 match)
c024ae36 192 #:use-module (srfi srfi-1))
85f5dc19
AE
193
194(define-public brasero
195 (package
196 (name "brasero")
e2bf423a 197 (version "3.12.2")
85f5dc19
AE
198 (source (origin
199 (method url-fetch)
d1df7554 200 (uri (string-append "mirror://gnome/sources/brasero/"
e8627cd9 201 (version-major+minor version) "/"
d1df7554 202 "brasero-" version ".tar.xz"))
85f5dc19
AE
203 (sha256
204 (base32
e2bf423a 205 "0h90y674j26rvjahb8cc0w79zx477rb6zaqcj26wzvq8kmpic8k8"))))
1c40e3b7 206 (build-system glib-or-gtk-build-system)
e8627cd9
DH
207 (arguments
208 `(#:configure-flags (list
209 (string-append "--with-girdir="
210 (assoc-ref %outputs "out")
211 "/share/gir-1.0")
212 (string-append "--with-typelibdir="
213 (assoc-ref %outputs "out")
ce426deb
TD
214 "/lib/girepository-1.0"))
215 #:phases
216 (modify-phases %standard-phases
217 (add-before 'configure 'embed-growisofs
218 (lambda* (#:key inputs #:allow-other-keys)
219 (substitute* "plugins/growisofs/burn-growisofs.c"
220 (("\"growisofs") (string-append "\"" (which "growisofs"))))
e2bf423a 221 #t)))))
85f5dc19
AE
222 (propagated-inputs
223 `(("hicolor-icon-theme" ,hicolor-icon-theme)))
9cc98f8a
CR
224 (native-inputs
225 `(("intltool" ,intltool)
ba549e17 226 ("itstool" ,itstool)
426adbe8 227 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
e8627cd9 228 ("gobject-introspection" ,gobject-introspection)
9cc98f8a 229 ("pkg-config" ,pkg-config)))
85f5dc19 230 (inputs
ce426deb
TD
231 `(("dvd+rw-tools" ,dvd+rw-tools)
232 ("glib" ,glib)
85f5dc19
AE
233 ("gnome-doc-utils" ,gnome-doc-utils)
234 ("gstreamer" ,gstreamer)
235 ("gst-plugins-base" ,gst-plugins-base)
236 ("gtk+" ,gtk+)
85f5dc19
AE
237 ("libcanberra" ,libcanberra)
238 ("libice" ,libice)
239 ("libnotify" ,libnotify)
240 ("libsm" ,libsm)
e8627cd9 241 ("libxml2" ,libxml2)
e8627cd9 242 ("totem-pl-parser" ,totem-pl-parser)))
fb9399e9 243 (home-page "https://wiki.gnome.org/Apps/Brasero")
85f5dc19
AE
244 (synopsis "CD/DVD burning tool for Gnome")
245 (description "Brasero is an application to burn CD/DVD for the Gnome
246Desktop. It is designed to be as simple as possible and has some unique
247features to enable users to create their discs easily and quickly.")
1dd26275 248 (license license:gpl2+)))
995b7261 249
29ae18db
RG
250(define-public gnome-color-manager
251 (package
252 (name "gnome-color-manager")
253 (version "3.32.0")
254 (source (origin
255 (method url-fetch)
256 (uri (string-append "mirror://gnome/sources/" name "/"
257 (version-major+minor version) "/"
258 name "-" version ".tar.xz"))
259 (sha256
260 (base32
261 "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"))))
262 (build-system meson-build-system)
263 (arguments
264 `(#:glib-or-gtk? #t
265 #:phases
266 (modify-phases %standard-phases
267 (add-before
268 'check 'pre-check
269 (lambda _
270 ;; Tests require a running X server.
271 (system "Xvfb :1 &")
272 (setenv "DISPLAY" ":1")
273 #t)))))
274 (native-inputs
275 `(("desktop-file-utils" ,desktop-file-utils)
276 ("gettext" ,gettext-minimal)
277 ("glib:bin" ,glib "bin")
278 ("gtk+:bin" ,gtk+ "bin")
279 ("itstool" ,itstool)
280 ("pkg-config" ,pkg-config)
281 ("xorg-server" ,xorg-server-for-tests)))
282 (inputs
283 `(("adwaita-icon-theme" ,adwaita-icon-theme)
284 ("appstream-glib" ,appstream-glib)
285 ("colord-gtk" ,colord-gtk)
286 ("exiv2" ,exiv2)
287 ("gnome-desktop" ,gnome-desktop)
288 ("libcanberra" ,libcanberra)
289 ("libexif" ,libexif)
290 ("libtiff" ,libtiff)
291 ("libxrandr" ,libxrandr)
292 ("libxtst" ,libxtst)
293 ("libxxf86vm" ,libxxf86vm)
294 ("vte" ,vte)
295 ("xorgproto" ,xorgproto)))
296 (synopsis "Color profile manager for the GNOME desktop")
297 (description "GNOME Color Manager is a session framework that makes
298it easy to manage, install and generate color profiles
299in the GNOME desktop.")
300 (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager")
7bd000d1 301 (license license:gpl2+)))
29ae18db 302
e05471a1
RG
303(define-public gnome-online-miners
304 (package
305 (name "gnome-online-miners")
306 (version "3.30.0")
307 (source (origin
308 (method url-fetch)
309 (uri (string-append "mirror://gnome/sources/" name "/"
310 (version-major+minor version) "/"
311 name "-" version ".tar.xz"))
312 (sha256
313 (base32
314 "0pjamwwzn5wqgihyss357dyl2q70r0bngnqmwsqawchx5f9aja9c"))))
315 (build-system glib-or-gtk-build-system)
316 (native-inputs
317 `(("gettext" ,gettext-minimal)
318 ("glib:bin" ,glib "bin")
29ae18db 319 ("gobject-introspection" ,gobject-introspection)
e05471a1
RG
320 ("gtk+:bin" ,gtk+ "bin")
321 ("pkg-config" ,pkg-config)))
322 (inputs
323 `(("gnome-online-accounts" ,gnome-online-accounts)
324 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
e05471a1
RG
325 ("grilo" ,grilo)
326 ("libgdata" ,libgdata)
327 ("libgfbgraph" ,gfbgraph)
328 ("libzapojit" ,libzapojit)
329 ("rest" ,rest)
330 ("tracker" ,tracker)))
331 (synopsis "Web Crawlers for GNOME")
332 (description "GNOME Online Miners provides a set of crawlers that
333go through your online content and index them locally in Tracker.
334It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.")
335 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners")
7bd000d1 336 (license license:gpl2+)))
e05471a1 337
02ebbca8
RG
338(define-public libmediaart
339 (package
340 (name "libmediaart")
341 (version "1.9.4")
342 (source (origin
343 (method url-fetch)
344 (uri (string-append "mirror://gnome/sources/" name "/"
345 (version-major+minor version) "/"
346 name "-" version ".tar.xz"))
347 (sha256
348 (base32
349 "0gc10imyabk57ar54m0qzms0x9dnmkymhkzyk8w1aj3y4lby0yx5"))))
350 (build-system gnu-build-system)
351 (native-inputs
352 `(("glib:bin" ,glib "bin")
353 ("pkg-config" ,pkg-config)))
354 (inputs
355 `(("gdk-pixbuf" ,gdk-pixbuf)
356 ("gettext" ,gettext-minimal)
357 ("gobject-introspection" ,gobject-introspection)
358 ("gtk+:doc", gtk+ "doc")
359 ("vala" ,vala)))
360 (synopsis "Media art library for the GNOME desktop")
361 (description
362 "The libmediaart library is the foundation for media art caching,
363extraction, and lookup for applications on the desktop.")
364 (home-page "https://gitlab.gnome.org/GNOME/libmediaart")
365 (license license:lgpl2.1+)))
366
a26680eb
RG
367(define-public gnome-initial-setup
368 (package
369 (name "gnome-initial-setup")
370 (version "3.32.1")
371 (source (origin
372 (method url-fetch)
373 (uri (string-append "mirror://gnome/sources/gnome-initial-setup/"
374 (version-major+minor version)
375 "/gnome-initial-setup-" version ".tar.xz"))
376 (sha256
377 (base32
378 "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry"))))
379 (build-system meson-build-system)
380 (arguments
a65cc579
DM
381 '(#:configure-flags '(;; Enable camera support for user selfie.
382 "-Dcheese=auto"
383 "-Dsystemd=false")))
a26680eb
RG
384 (native-inputs
385 `(("gettext" ,gettext-minimal)
386 ("glib:bin" ,glib "bin")
387 ("gobject-introspection" ,gobject-introspection)
388 ("gtk+:bin" ,gtk+ "bin")
389 ("pkg-config" ,pkg-config)))
390 (inputs
391 `(("accountsservice" ,accountsservice)
392 ;("adwaita-icon-theme" ,adwaita-icon-theme)
393 ("gdm" ,gdm)
394 ("geoclue" ,geoclue)
395 ("gnome-desktop" ,gnome-desktop)
396 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
397 ("gnome-online-accounts" ,gnome-online-accounts)
398 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
399 ("gstreamer" ,gstreamer)
400 ("ibus" ,ibus)
401 ("json-glib" ,json-glib)
402 ("krb5" ,mit-krb5)
403 ("libgweather" ,libgweather)
404 ("libsecret" ,libsecret)
405 ("network-manager" ,network-manager)
406 ("network-manager-applet" ,network-manager-applet)
407 ("packagekit" ,packagekit)
408 ("polkit" ,polkit)
409 ("pwquality" ,libpwquality)
410 ("rest" ,rest)
411 ("upower" ,upower)
412 ("webkitgtk" ,webkitgtk)))
413 (synopsis "Initial setup wizard for GNOME desktop")
a65cc579
DM
414 (description "This package provides a set-up wizard when a
415user logs into GNOME for the first time. It typically provides a
416tour of all gnome components and allows the user to set them up.")
a26680eb
RG
417 (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup")
418 (license license:gpl2)))
419
30416265
RG
420(define-public gnome-menus
421 (package
422 (name "gnome-menus")
423 (version "3.32.0")
424 (source (origin
425 (method url-fetch)
426 (uri (string-append "mirror://gnome/sources/gnome-menus/"
427 (version-major+minor version) "/"
428 name "-" version ".tar.xz"))
429 (sha256
430 (base32
431 "0x2blzqrapmbsbfzxjcdcpa3vkw9hq5k96h9kvjmy9kl415wcl68"))))
432 (build-system gnu-build-system)
433 (native-inputs
434 `(("gettext" ,gettext-minimal)
435 ("glib" ,glib)
436 ("pkg-config" ,pkg-config)))
437 (synopsis "Menu support for GNOME desktop")
438 (description "GNOME Menus contains the libgnome-menu library, the layout
439configuration files for the GNOME menu, as well as a simple menu editor.")
440 (home-page "https://gitlab.gnome.org/GNOME/gnome-menus")
7bd000d1 441 (license license:lgpl2.0+)))
30416265 442
d61a894b
CB
443(define-public deja-dup
444 (package
445 (name "deja-dup")
446 (version "34.3")
447 (source (origin
448 (method url-fetch)
449 (uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz")
450 (sha256
451 (base32
452 "1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9"))
453 (patches
454 (search-patches "deja-dup-use-ref-keyword-for-iter.patch"))))
455 (build-system glib-or-gtk-build-system)
456 (arguments
457 `(#:modules ((guix build gnu-build-system)
458 ((guix build cmake-build-system) #:prefix cmake:)
459 (guix build glib-or-gtk-build-system)
460 (guix build utils))
461 #:imported-modules (,@%glib-or-gtk-build-system-modules
462 (guix build cmake-build-system))
463 #:test-target "test"
464 #:configure-flags (list (string-append
465 "-DCMAKE_INSTALL_FULL_DATADIR=" %output)
466 (string-append
467 "-DCMAKE_INSTALL_LIBEXECDIR=" %output))
468 #:phases
469 (modify-phases %standard-phases
470 (add-after 'unpack 'patch-lockfile-deletion
471 (lambda rest
472 (substitute* "libdeja/tools/duplicity/DuplicityInstance.vala"
473 (("/bin/rm")
474 (which "rm")))))
475 (replace 'configure
476 (assoc-ref cmake:%standard-phases 'configure))
477 (delete 'check) ;; Fails due to issues with DBus
478 (add-after 'install 'wrap-deja-dup
479 (lambda* (#:key inputs outputs #:allow-other-keys)
480 (let ((python (assoc-ref inputs "python"))
481 (python-path (getenv "PYTHONPATH"))
482 (duplicity (assoc-ref inputs "duplicity"))
483 (out (assoc-ref outputs "out")))
484 (for-each
485 (lambda (program)
486 (wrap-program program
487 `("PATH" ":" prefix (,(string-append python "/bin")
488 ,(string-append duplicity "/bin"))))
489 (wrap-program program
490 `("PYTHONPATH" ":" prefix (,python-path))))
491
492 (find-files (string-append out "/bin")))
493 #t))))))
494 (inputs
495 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
496 ("gobject-introspection" ,gobject-introspection)
497 ("duplicity" ,duplicity)
61506fe5 498 ("python" ,python-2)
d61a894b
CB
499 ("python-pygobject" ,python2-pygobject)
500 ("gtk+" ,gtk+)
501 ("libnotify" ,libnotify)
502 ("libpeas" ,libpeas)
503 ("libsecret" ,libsecret)
504 ("packagekit" ,packagekit)))
505 (native-inputs
506 `(("pkg-config" ,pkg-config)
507 ("vala" ,vala)
508 ("gettext" ,gettext-minimal)
509 ("itstool" ,itstool)
510 ("intltool" ,intltool)
c69959f0 511 ("cmake" ,cmake-minimal)))
d61a894b
CB
512 (home-page "https://launchpad.net/deja-dup")
513 (synopsis "Simple backup tool, for regular encrypted backups")
514 (description
515 "Déjà Dup is a simple backup tool, for regular encrypted backups. It
516uses duplicity as the backend, which supports incremental backups and storage
517either on a local, or remote machine via a number of methods.")
518 (license license:gpl3+)))
519
823b77fb
RG
520(define-public gnome-user-docs
521 (package
522 (name "gnome-user-docs")
523 (version "3.32.3")
524 (source
525 (origin
526 (method url-fetch)
527 (uri (string-append "mirror://gnome/sources/gnome-user-docs/"
528 (version-major+minor version)
529 "/gnome-user-docs-" version ".tar.xz"))
530 (sha256
531 (base32 "0dvsl0ldg8rf7yq0r4dv1pn41s7gjgcqp7agkbflkbmhrl6vbhig"))))
532 (build-system gnu-build-system)
533 (native-inputs
534 `(("gettext" ,gettext-minimal)
535 ("itstool" ,itstool)
536 ("pkg-config" ,pkg-config)
537 ("xmllint" ,libxml2)))
538 (synopsis "User documentation for the GNOME desktop")
539 (description
540 "The GNOME User Documentation explains how to use the GNOME desktop and its
541components. It covers usage and setup of the core GNOME programs by end-users
542and system administrators.")
543 (home-page "https://live.gnome.org/DocumentationProject")
544 (license license:cc-by3.0)))
545
be93299d
RG
546(define-public gnome-getting-started-docs
547 (package
548 (name "gnome-getting-started-docs")
549 (version "3.32.2")
550 (source
551 (origin
552 (method url-fetch)
553 (uri (string-append "mirror://gnome/sources/gnome-getting-started-docs/"
554 (version-major+minor version)
555 "/gnome-getting-started-docs-" version ".tar.xz"))
556 (sha256
557 (base32 "1v4k465mlzrhgcdddzs6bmm0yliyrfx6jg3gh0s17a08i0w5rbwq"))))
558 (build-system gnu-build-system)
559 (native-inputs
560 `(("gettext" ,gettext-minimal)
561 ("itstool" ,itstool)
562 ("pkg-config" ,pkg-config)
563 ("xmllint" ,libxml2)))
564 (synopsis "Help to get new users started with the GNOME desktop")
565 (description
566 "The GNOME Getting Started Documentation contains GNOME's intuitive
567\"Getting Started\" tour, with video guides, that can be viewed with Yelp.
568
569It is normally used together with @command{gnome-initial-setup}, but is also
570useful as a tutorial and users' guide for new or less experienced users.")
571 (home-page "https://live.gnome.org/DocumentationProject")
572 (license license:cc-by-sa3.0)))
573
a56be436
RJ
574(define-public dia
575 ;; This version from GNOME's repository includes fixes for compiling with
576 ;; recent versions of the build tools. The latest activity on the
577 ;; pre-GNOME version has been in 2014, while GNOME has continued applying
578 ;; fixes in 2016.
579 (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4"))
580 (package
581 (name "dia")
914c8cdf 582 (version (git-version "0.97.3" "1" commit))
a56be436
RJ
583 (source (origin
584 (method git-fetch)
585 (uri (git-reference
914c8cdf 586 (url "https://gitlab.gnome.org/GNOME/dia.git/")
a56be436 587 (commit commit)))
914c8cdf 588 (file-name (git-file-name name version))
a56be436
RJ
589 (sha256
590 (base32
591 "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l"))))
592 (build-system gnu-build-system)
593 (inputs
a315afa3 594 `(("freetype" ,freetype)
a56be436
RJ
595 ("gdk-pixbuf" ,gdk-pixbuf)
596 ("gtk+" ,gtk+-2)
a315afa3 597 ("libart-lgpl" ,libart-lgpl)
a56be436 598 ("libxml2" ,libxml2)
a315afa3 599 ("pango" ,pango)))
a56be436 600 (native-inputs
a315afa3 601 `(("autoconf" ,autoconf)
a56be436 602 ("automake" ,automake)
a315afa3
EF
603 ("intltool" ,intltool)
604 ("glib" ,glib "bin")
a56be436
RJ
605 ("libtool" ,libtool)
606 ("perl" ,perl)
a315afa3 607 ("pkg-config" ,pkg-config)
a56be436
RJ
608 ("python-wrapper" ,python-wrapper)))
609 (arguments
610 `(#:phases
611 (modify-phases %standard-phases
4b3e91de 612 (add-before 'bootstrap 'dont-configure-during-bootstrap
a56be436 613 (lambda _
4b3e91de
EF
614 (setenv "NOCONFIGURE" "true")
615 #t)))))
a56be436
RJ
616 (home-page "https://wiki.gnome.org/Apps/Dia")
617 (synopsis "Diagram creation for GNOME")
618 (description "Dia can be used to draw different types of diagrams, and
619includes support for UML static structure diagrams (class diagrams), entity
620relationship modeling, and network diagrams. The program supports various file
621formats like PNG, SVG, PDF and EPS.")
622 (license license:gpl2+))))
623
d0b19e44
RW
624;; This is the unstable release, but it is required for the current stable
625;; release of gvfs (1.38.1).
adc5cb1b
KK
626(define-public libgdata
627 (package
628 (name "libgdata")
d0b19e44 629 (version "0.17.9")
adc5cb1b
KK
630 (source (origin
631 (method url-fetch)
632 (uri (string-append "mirror://gnome/sources/" name "/"
633 (version-major+minor version) "/"
634 name "-" version ".tar.xz"))
635 (sha256
636 (base32
d0b19e44 637 "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45"))))
adc5cb1b
KK
638 (build-system gnu-build-system)
639 (arguments
640 '(#:phases
641 (modify-phases %standard-phases
448052b7
TGR
642 (add-before 'check 'disable-failing-tests
643 (lambda _
644 ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2.
645 ;; They have been removed in libgdata 0.17.6, so just do the same.
646 (substitute* "gdata/tests/Makefile"
647 (("picasaweb\\$\\(EXEEXT\\) ") ""))
adc5cb1b
KK
648 #t)))))
649 (native-inputs
650 `(("glib:bin" ,glib "bin")
651 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
652 ("intltool" ,intltool)
653 ("pkg-config" ,pkg-config)
654 ("uhttpmock" ,uhttpmock)))
655 (inputs
656 `(("cyrus-sasl" ,cyrus-sasl)
d0b19e44 657 ("glib-networking" ,glib-networking)))
adc5cb1b
KK
658 (propagated-inputs
659 `(("gcr" ,gcr)
d0b19e44 660 ("glib" ,glib)
14c297fd 661 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
d0b19e44 662 ("json-glib" ,json-glib)
adc5cb1b 663 ("liboauth" ,liboauth)
d0b19e44 664 ("libsoup" ,libsoup)
adc5cb1b
KK
665 ("libxml2" ,libxml2)))
666 (home-page "https://wiki.gnome.org/Projects/libgdata")
667 (synopsis "Library for accessing online service APIs")
668 (description
669 "libgdata is a GLib-based library for accessing online service APIs using
670the GData protocol — most notably, Google's services. It provides APIs to
671access the common Google services, and has full asynchronous support.")
672 (license license:lgpl2.1+)))
673
94e10cf4
KK
674(define-public libgxps
675 (package
676 (name "libgxps")
66470a5a 677 (version "0.3.1")
94e10cf4
KK
678 (source (origin
679 (method url-fetch)
7f10628c 680 (uri (string-append "mirror://gnome/sources/" name "/"
94e10cf4
KK
681 (version-major+minor version) "/"
682 name "-" version ".tar.xz"))
683 (sha256
684 (base32
66470a5a 685 "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs"))))
b6b3e512 686 (build-system meson-build-system)
94e10cf4
KK
687 (native-inputs
688 `(("gobject-introspection" ,gobject-introspection)
689 ("pkg-config" ,pkg-config)))
690 (inputs
c8d62d93 691 `(("gtk+" ,gtk+)
b6b3e512 692 ("libjpeg" ,libjpeg-turbo)
94e10cf4 693 ("lcms" ,lcms)
0a6e9e13 694 ("libtiff" ,libtiff)))
c8d62d93
MB
695 (propagated-inputs
696 ;; In Requires of libgxps.pc.
697 `(("cairo" ,cairo)
698 ("glib" ,glib)
699 ("libarchive" ,libarchive)))
94e10cf4
KK
700 (home-page "https://wiki.gnome.org/Projects/libgxps")
701 (synopsis "GObject-based library for handling and rendering XPS documents")
702 (description
703 "libgxps is a GObject-based library for handling and rendering XPS
704documents. This package also contains binaries that can convert XPS documents
705to other formats.")
706 (license license:lgpl2.1+)))
707
4e09f57a
RG
708(define-public gnome-characters
709 (package
710 (name "gnome-characters")
711 (version "3.30.0")
712 (source
713 (origin
714 (method url-fetch)
715 (uri (string-append "mirror://gnome/sources/"
716 "gnome-characters/" (version-major+minor version)
717 "/gnome-characters-" version ".tar.xz"))
718 (sha256
719 (base32
720 "08cwz39iwgsyyb2wqhb8vfbmh1cwfkgfiy7adp08w7rwqi99x3dp"))))
721 (build-system meson-build-system)
5757c641 722 (arguments
723 `(#:glib-or-gtk? #t
724 #:phases (modify-phases %standard-phases
725 (add-after 'install 'wrap
726 (lambda* (#:key outputs #:allow-other-keys)
727 ;; GNOME Characters needs Typelib files from GTK and
728 ;; gnome-desktop.
729 (wrap-program (string-append (assoc-ref outputs "out")
730 "/bin/gnome-characters")
731 `("GI_TYPELIB_PATH" ":" prefix
732 (,(getenv "GI_TYPELIB_PATH"))))
733 #t)))))
4e09f57a
RG
734 (native-inputs
735 `(("gettext" ,gettext-minimal)
736 ("glib:bin" ,glib "bin")
737 ("gtk+:bin" ,gtk+ "bin")
738 ("pkg-config" ,pkg-config)
739 ("python" ,python-minimal)))
740 (inputs
741 `(("gjs" ,gjs)
742 ("gtk+" ,gtk+)
5757c641 743 ("libunistring" ,libunistring)
744 ("gnome-desktop" ,gnome-desktop)))
4e09f57a
RG
745 (home-page "https://wiki.gnome.org/Apps/CharacterMap")
746 (synopsis "Find and insert unusual characters")
747 (description "Characters is a simple utility application to find
748and insert unusual characters. It allows you to quickly find the
749character you are looking for by searching for keywords.")
750 (license license:bsd-3)))
751
7aab13f1
ML
752(define-public gnome-common
753 (package
754 (name "gnome-common")
af83490d 755 (version "3.18.0")
7aab13f1
ML
756 (source
757 (origin
758 (method url-fetch)
759 (uri (string-append "mirror://gnome/sources/" name "/"
760 (version-major+minor version) "/"
761 name "-" version ".tar.xz"))
762 (sha256
763 (base32
af83490d 764 "1kzqi8qvh5p1zncj8msazlmvcwsczjz2hqxp4x2y0mg718vrwmi2"))))
7aab13f1
ML
765 (build-system gnu-build-system)
766 (home-page "https://www.gnome.org/")
767 (synopsis "Bootstrap GNOME modules built from Git")
768 (description "gnome-common contains various files needed to bootstrap
769GNOME modules built from Git. It contains a common \"autogen.sh\" script that
770can be used to configure a source directory checked out from Git and some
771commonly used macros.")
772 (license license:gpl2+)))
773
4e868d22
RG
774(define-public gnome-contacts
775 (package
776 (name "gnome-contacts")
6a6138b2 777 (version "3.32.1")
4e868d22
RG
778 (source (origin
779 (method url-fetch)
780 (uri (string-append "mirror://gnome/sources/gnome-contacts/"
781 (version-major+minor version) "/"
782 name "-" version ".tar.xz"))
783 (sha256
784 (base32
6a6138b2 785 "17g1gh8yj58cfpdx69h2szivlbjgvv982kmhnkkh0i5bwj0zs2yy"))))
4e868d22
RG
786 (build-system meson-build-system)
787 (arguments
788 `(#:phases
789 (modify-phases %standard-phases
790 (add-after 'unpack 'generate-vapis
791 (lambda* (#:key inputs #:allow-other-keys)
792 ;; To generate goa's missing .vapi file
793 (define goa
794 (assoc-ref inputs "gnome-online-accounts:lib"))
795
796 (invoke "vapigen" "--directory=vapi" "--pkg=gio-2.0"
797 "--library=goa-1.0"
798 (string-append goa "/share/gir-1.0/Goa-1.0.gir"))
799 #t)))))
800 (native-inputs
801 `(("glib:bin" ,glib "bin")
802 ("gtk+:bin" ,gtk+ "bin")
803 ("pkg-config" ,pkg-config)))
804 (inputs
805 `(("cheese" ,cheese)
806 ("docbook-xml" ,docbook-xml)
807 ("dockbook-xsl" ,docbook-xsl)
808 ("evolution-data-server" ,evolution-data-server)
809 ("gettext" ,gettext-minimal)
810 ("gnome-desktop" ,gnome-desktop)
811 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
812 ("gobject-introspection" ,gobject-introspection)
813 ("gst-plugins-base" ,gst-plugins-base)
814 ("gtk+" ,gtk+)
815 ("libgee" ,libgee)
816 ("libxslt" ,libxslt)
817 ("telepathy-glib" ,telepathy-glib)
818 ("vala" ,vala)))
819 (propagated-inputs
820 `(("folks", folks)
821 ("telepathy-mission-control" ,telepathy-mission-control)))
822 (synopsis "GNOME's integrated address book")
823 (description
824 "GNOME Contacts organizes your contact information from online and
825offline sources, providing a centralized place for managing your contacts.")
826 (home-page "https://wiki.gnome.org/Apps/Contacts")
827 (license license:gpl2+)))
828
9cc98f8a
CR
829(define-public gnome-desktop
830 (package
831 (name "gnome-desktop")
e8a26caa 832 (version "3.32.2")
9cc98f8a
CR
833 (source
834 (origin
835 (method url-fetch)
b38e45d8
EB
836 (uri (string-append "mirror://gnome/sources/" name "/"
837 (version-major+minor version) "/"
9cc98f8a
CR
838 name "-" version ".tar.xz"))
839 (sha256
840 (base32
e8a26caa
KK
841 "0bidx4626x7k2myv6f64qv4fzmxv8v475wibiz19kj8hjfr737q9"))))
842 (build-system meson-build-system)
a0fe7c06
CB
843 (arguments
844 '(#:phases
845 (modify-phases %standard-phases
846 (add-before 'configure 'patch-path
847 (lambda* (#:key inputs #:allow-other-keys)
848 (let ((libc (assoc-ref inputs "libc")))
849 (substitute* "libgnome-desktop/gnome-languages.c"
850 (("\"locale\"")
851 (string-append "\"" libc "/bin/locale\"")))
e8a26caa
KK
852 #t)))
853 (add-before 'check 'pre-check
854 (lambda* (#:key inputs #:allow-other-keys)
855 ;; Tests require a running X server and locales.
856 (system "Xvfb :1 &")
857 (setenv "DISPLAY" ":1")
858 (setenv "GUIX_LOCPATH"
859 (string-append (assoc-ref inputs "glibc-locales")
860 "/lib/locale"))
861 #t)))))
9cc98f8a 862 (native-inputs
e8a26caa
KK
863 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
864 ("glibc-locales" ,glibc-locales) ; for tests
865 ("gobject-introspection" ,gobject-introspection)
a8340482 866 ("itstool" ,itstool)
bcb354ad
SB
867 ("intltool" ,intltool)
868 ("pkg-config" ,pkg-config)
e8a26caa
KK
869 ("xmllint" ,libxml2)
870 ("xorg-server" ,xorg-server-for-tests)))
a8340482
SB
871 (propagated-inputs
872 ;; Required by gnome-desktop-3.0.pc.
873 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
e8a26caa 874 ("gtk+" ,gtk+)
9cc98f8a 875 ("iso-codes" ,iso-codes)
9863ce20 876 ("libseccomp" ,libseccomp)
9cc98f8a 877 ("libx11" ,libx11)
e8a26caa
KK
878 ("xkeyboard-config" ,xkeyboard-config)))
879 (inputs
880 `(("gdk-pixbuf" ,gdk-pixbuf)
881 ("glib" ,glib)
9cc98f8a
CR
882 ("libxext" ,libxext)
883 ("libxkbfile" ,libxkbfile)
e8a26caa 884 ("libxrandr" ,libxrandr)))
9cc98f8a
CR
885 (home-page "https://www.gnome.org/")
886 (synopsis
35b9e423 887 "Libgnome-desktop, gnome-about, and desktop-wide documents")
9cc98f8a
CR
888 (description
889 "The libgnome-desktop library provides API shared by several applications
35b9e423
EB
890on the desktop, but that cannot live in the platform for various reasons.
891There is no API or ABI guarantee, although we are doing our best to provide
892stability. Documentation for the API is available with gtk-doc.
9cc98f8a
CR
893
894The gnome-about program helps find which version of GNOME is installed.")
895 ; Some bits under the LGPL.
1dd26275 896 (license license:gpl2+)))
9cc98f8a 897
995b7261
AE
898(define-public gnome-doc-utils
899 (package
900 (name "gnome-doc-utils")
901 (version "0.20.10")
902 (source
903 (origin
904 (method url-fetch)
b38e45d8
EB
905 (uri (string-append "mirror://gnome/sources/" name "/"
906 (version-major+minor version) "/"
995b7261
AE
907 name "-" version ".tar.xz"))
908 (sha256
909 (base32
910 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
911 (build-system gnu-build-system)
c4c4cc05 912 (native-inputs
995b7261 913 `(("intltool" ,intltool)
b4ce6300 914 ("docbook-xml" ,docbook-xml-4.4)
d80b0d4a 915 ("python2-libxml2" ,python2-libxml2)
995b7261
AE
916 ("libxml2" ,libxml2)
917 ("libxslt" ,libxslt)
918 ("pkg-config" ,pkg-config)
919 ("python-2" ,python-2)))
995b7261
AE
920 (home-page "https://wiki.gnome.org/GnomeDocUtils")
921 (synopsis
922 "Documentation utilities for the Gnome project")
923 (description
924 "Gnome-doc-utils is a collection of documentation utilities for the
925Gnome project. It includes xml2po tool which makes it easier to translate
926and keep up to date translations of documentation.")
1dd26275 927 (license license:gpl2+))) ; xslt under lgpl
d9c1a22b 928
6c4f7022
DC
929(define-public gnome-disk-utility
930 (package
931 (name "gnome-disk-utility")
e106d0a6 932 (version "3.32.1")
6c4f7022
DC
933 (source (origin
934 (method url-fetch)
935 (uri (string-append "mirror://gnome/sources/" name "/"
936 (version-major+minor version) "/"
937 name "-" version ".tar.xz"))
938 (sha256
939 (base32
e106d0a6 940 "08vwbji9m1nhjjdiyhhaqi8cncys7i89b4bpy095f8475v8y05bg"))))
4b9a65bf 941 (build-system meson-build-system)
321c73c3
EF
942 (arguments
943 '(#:phases
944 (modify-phases %standard-phases
945 (add-after 'unpack 'skip-gtk-update-icon-cache
946 ;; Don't create 'icon-theme.cache'.
947 (lambda _
948 (substitute* "meson_post_install.py"
949 (("gtk-update-icon-cache") "true"))
950 #t)))))
6c4f7022
DC
951 (native-inputs
952 `(("glib:bin" ,glib "bin")
953 ("intltool" ,intltool)
954 ("pkg-config" ,pkg-config)
955 ("docbook-xml" ,docbook-xml)
956 ("docbook-xsl" ,docbook-xsl)
957 ("libxml2" ,libxml2)
958 ("libxslt" ,libxslt)))
959 (inputs
960 `(("glib" ,glib)
961 ("appstream-glib" ,appstream-glib)
962 ("gnome-settings-daemon" ,gnome-settings-daemon)
963 ("gtk+" ,gtk+)
964 ("libcanberra" ,libcanberra)
965 ("libdvdread" ,libdvdread)
966 ("libnotify" ,libnotify)
967 ("libpwquality" ,libpwquality)
968 ("libsecret" ,libsecret)
969 ("udisks" ,udisks)))
970 (home-page "https://git.gnome.org/browse/gnome-disk-utility")
971 (synopsis "Disk management utility for GNOME")
972 (description "Disk management utility for GNOME.")
973 (license license:gpl2+)))
974
3d217317
RG
975(define-public gnome-font-viewer
976 (package
977 (name "gnome-font-viewer")
978 (version "3.30.0")
979 (source (origin
980 (method url-fetch)
981 (uri (string-append "mirror://gnome/sources/gnome-font-viewer/"
982 (version-major+minor version)
983 "/gnome-font-viewer-" version ".tar.xz"))
984 (sha256
985 (base32
986 "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5"))))
987 (build-system meson-build-system)
988 (arguments
989 '(#:phases
990 (modify-phases %standard-phases
991 (add-after 'unpack 'patch-post-install-script
992 (lambda _
993 (substitute* "meson-postinstall.sh"
994 (("update-desktop-database") (which "true")))
995 #t)))))
996 (native-inputs
997 `(("gettext" ,gettext-minimal)
998 ("glib:bin" ,glib "bin")
999 ("pkg-config" ,pkg-config)))
1000 (inputs
1001 `(("glib" ,glib)
1002 ("gnome-desktop" ,gnome-desktop)
1003 ("gtk+" ,gtk+)))
1004 (home-page "https://gitlab.gnome.org/GNOME/gnome-font-viewer")
1005 (synopsis "GNOME Fonts")
1006 (description "Application to show you the fonts installed on your computer
1007for your use as thumbnails. Selecting any thumbnails shows the full view of how
1008the font would look under various sizes.")
1009 (license license:gpl2+)))
1010
8ff49011
RW
1011(define-public gcr
1012 (package
1013 (name "gcr")
bea6b829 1014 (version "3.28.1")
8ff49011 1015 (source (origin
0daf0efb
RW
1016 (method url-fetch)
1017 (uri (string-append "mirror://gnome/sources/" name "/"
1018 (version-major+minor version) "/"
1019 name "-" version ".tar.xz"))
1020 (sha256
1021 (base32
bea6b829 1022 "12qn7mcmxb45lz1gq3s3b34rimiyrrshkrpvxdw1fc0w26i4l84m"))
03ecf85a
MB
1023 (patches
1024 (list
1025 ;; This patch solves an ordering issue that showed up when
1026 ;; running the test suite against newer Glib 2.60. See
1027 ;; <https://gitlab.gnome.org/GNOME/gcr/merge_requests/9>.
1028 (origin
1029 (method url-fetch)
1030 (uri (string-append "https://gitlab.gnome.org/GNOME/gcr/commit/"
1031 "45d637578d7643ff96c0183ac267497a0b4c6344.diff"))
1032 (file-name "gcr-hashtable-ordering.patch")
1033 (sha256
1034 (base32
1035 "1vsqiys8fsm1f1vvds783wwf7zwi5v282rhsai8jrsm6x7h79gbi")))))))
8ff49011
RW
1036 (build-system gnu-build-system)
1037 (arguments
0daf0efb
RW
1038 '(#:phases
1039 (modify-phases %standard-phases
1040 ;; These fail because /var/lib/dbus/machine-id is not present in the
1041 ;; build environment.
1042 (add-after 'unpack 'disable-failing-tests
1043 (lambda _
1044 (substitute* "gcr/test-system-prompt.c"
1045 (("g_test_add") "//")
1046 (("return.*") "return 0;"))
1047 #t))
1048 (add-before 'check 'pre-check
1049 (lambda _
1050 ;; Some tests expect to write to $HOME.
1051 (setenv "HOME" "/tmp")
1052 #t)))))
8ff49011
RW
1053 (inputs
1054 `(("dbus" ,dbus)
0daf0efb 1055 ("gnupg" ,gnupg) ;called as a child process during tests
8ff49011
RW
1056 ("libgcrypt" ,libgcrypt)))
1057 (native-inputs
0daf0efb 1058 `(("python" ,python-2) ;for tests
8ff49011
RW
1059 ("pkg-config" ,pkg-config)
1060 ("glib" ,glib "bin")
2af4f5b0
SB
1061 ("gobject-introspection" ,gobject-introspection)
1062 ("intltool" ,intltool)
0daf0efb 1063 ("libxml2" ,libxml2)
bea6b829 1064 ("vala" ,vala)
2af4f5b0 1065 ("xsltproc" ,libxslt)))
8ff49011
RW
1066 ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc
1067 (propagated-inputs
1068 `(("p11-kit" ,p11-kit)
1069 ("glib" ,glib)
1070 ("gtk+" ,gtk+)))
f032d0be 1071 (home-page "https://www.gnome.org")
8ff49011
RW
1072 (synopsis "Libraries for displaying certificates and accessing key stores")
1073 (description
1074 "The GCR package contains libraries used for displaying certificates and
1075accessing key stores. It also provides the viewer for crypto files on the
1076GNOME Desktop.")
1077 (license license:lgpl2.1+)))
1078
c1354b90
LC
1079(define-public libgnome-keyring
1080 (package
1081 (name "libgnome-keyring")
5e8aec2c 1082 (version "3.12.0")
c1354b90
LC
1083 (source (origin
1084 (method url-fetch)
b38e45d8
EB
1085 (uri (string-append "mirror://gnome/sources/" name "/"
1086 (version-major+minor version) "/"
1087 name "-" version ".tar.xz"))
c1354b90
LC
1088 (sha256
1089 (base32
5e8aec2c 1090 "10vpjhgbjm7z2djy04qakd02qlzpd02xnbfjhk2aqwjzn3xpihf4"))))
c1354b90 1091 (build-system gnu-build-system)
c1354b90 1092 (inputs
c4c4cc05 1093 `(("libgcrypt" ,libgcrypt)
c1354b90 1094 ("dbus" ,dbus)))
c4c4cc05
JD
1095 (native-inputs
1096 `(("pkg-config" ,pkg-config)
426adbe8 1097 ("glib" ,glib "bin")
c4c4cc05 1098 ("intltool" ,intltool)))
c1354b90
LC
1099 (propagated-inputs
1100 ;; Referred to in .h files and .pc.
1101 `(("glib" ,glib)))
f032d0be 1102 (home-page "https://www.gnome.org")
c1354b90
LC
1103 (synopsis "Accessing passwords from the GNOME keyring")
1104 (description
1105 "Client library to access passwords from the GNOME keyring.")
1106
1107 ;; Though a couple of files are LGPLv2.1+.
1dd26275 1108 (license license:lgpl2.0+)))
c1354b90 1109
e99a3d6f
RW
1110(define-public gnome-keyring
1111 (package
1112 (name "gnome-keyring")
ab35cc6e 1113 (version "3.28.2")
e99a3d6f
RW
1114 (source (origin
1115 (method url-fetch)
1116 (uri (string-append "mirror://gnome/sources/" name "/"
1117 (version-major+minor version) "/"
1118 name "-" version ".tar.xz"))
1119 (sha256
1120 (base32
ab35cc6e 1121 "0sk4las4ji8wv9nx8mldzqccmpmkvvr9pdwv9imj26r10xyin5w1"))))
e99a3d6f
RW
1122 (build-system gnu-build-system)
1123 (arguments
1124 `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
1125 ;not exist
1126 #:configure-flags
1127 (list
1128 (string-append "--with-pkcs11-config="
1129 (assoc-ref %outputs "out") "/share/p11-kit/modules/")
1130 (string-append "--with-pkcs11-modules="
1131 (assoc-ref %outputs "out") "/share/p11-kit/modules/"))
1132 #:phases
1133 (modify-phases %standard-phases
ab35cc6e
RW
1134 (add-after 'unpack 'fix-/bin/sh-reference
1135 (lambda _
1136 (substitute* "po/Makefile.in.in"
1137 (("/bin/sh") (which "sh")))
1138 #t))
5120f24f
RW
1139 (add-after 'unpack 'fix-docbook
1140 (lambda* (#:key inputs #:allow-other-keys)
1141 (substitute* "docs/Makefile.am"
1142 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1143 (string-append (assoc-ref inputs "docbook-xsl")
1144 "/xml/xsl/docbook-xsl-"
1145 ,(package-version docbook-xsl)
1146 "/manpages/docbook.xsl")))
1147 (setenv "XML_CATALOG_FILES"
1148 (string-append (assoc-ref inputs "docbook-xml")
1149 "/xml/dtd/docbook/catalog.xml"))
1150 ;; Rerun the whole thing to avoid version mismatch ("This is
1151 ;; Automake 1.15.1, but the definition used by this
1152 ;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
1153 ;; use 'autoreconf' because it insists on running 'libtoolize'.
1154 (invoke "autoconf")
1155 (invoke "aclocal")
1156 (invoke "automake" "-ac"))))))
e99a3d6f
RW
1157 (inputs
1158 `(("libgcrypt" ,libgcrypt)
1a0b2d82 1159 ("linux-pam" ,linux-pam)
ab35cc6e 1160 ("openssh" ,openssh)
e99a3d6f
RW
1161 ("dbus" ,dbus)
1162 ("gcr" ,gcr)))
1163 (native-inputs
1164 `(("pkg-config" ,pkg-config)
1165 ("glib" ,glib "bin")
5120f24f 1166 ("glib" ,glib) ; for m4 macros
e99a3d6f
RW
1167 ("python" ,python-2) ;for tests
1168 ("intltool" ,intltool)
1169 ("autoconf" ,autoconf)
1170 ("automake" ,automake)
1171 ("libxslt" ,libxslt) ;for documentation
1172 ("docbook-xml" ,docbook-xml-4.2)
1173 ("docbook-xsl" ,docbook-xsl)))
f032d0be 1174 (home-page "https://www.gnome.org")
e99a3d6f
RW
1175 (synopsis "Daemon to store passwords and encryption keys")
1176 (description
1177 "gnome-keyring is a program that keeps passwords and other secrets for
1178users. It is run as a daemon in the session, similar to ssh-agent, and other
1179applications locate it via an environment variable or D-Bus.
1180
1181The program can manage several keyrings, each with its own master password,
1182and there is also a session keyring which is never stored to disk, but
1183forgotten when the session ends.")
1184 (license license:lgpl2.1+)))
1185
c1354b90
LC
1186(define-public evince
1187 (package
1188 (name "evince")
936d5642 1189 (version "3.34.2")
c1354b90
LC
1190 (source (origin
1191 (method url-fetch)
ac631328 1192 (uri (string-append "mirror://gnome/sources/evince/"
b38e45d8 1193 (version-major+minor version) "/"
ac631328 1194 "evince-" version ".tar.xz"))
c1354b90
LC
1195 (sha256
1196 (base32
936d5642 1197 "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w"))))
121de2e1 1198 (build-system glib-or-gtk-build-system)
c1354b90
LC
1199 (arguments
1200 `(#:configure-flags '("--disable-nautilus")
554b2dac
SB
1201 #:phases
1202 (modify-phases %standard-phases
1203 (add-before 'install 'skip-gtk-update-icon-cache
1204 ;; Don't create 'icon-theme.cache'.
1205 (lambda _
1206 (substitute* "data/Makefile"
1207 (("gtk-update-icon-cache") "true"))
1208 #t)))))
c1354b90 1209 (inputs
9a096881
KK
1210 `(("libarchive" ,libarchive)
1211 ("libgxps" ,libgxps)
1212 ("libspectre" ,libspectre)
c769cf9f 1213 ("djvulibre" ,djvulibre)
c1354b90
LC
1214 ("ghostscript" ,ghostscript)
1215 ("poppler" ,poppler)
c769cf9f
SB
1216 ("libtiff" ,libtiff)
1217 ;; TODO:
c769cf9f
SB
1218 ;; Build libkpathsea as a shared library for DVI support.
1219 ;; ("libkpathsea" ,texlive-bin)
1220 ("gnome-desktop" ,gnome-desktop)
c1354b90 1221 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
2dfc16d1 1222 ("gspell" ,gspell)
c1354b90 1223 ("libgnome-keyring" ,libgnome-keyring)
c769cf9f 1224 ("adwaita-icon-theme" ,adwaita-icon-theme)
c1354b90
LC
1225 ("gdk-pixbuf" ,gdk-pixbuf)
1226 ("atk" ,atk)
1227 ("pango" ,pango)
1228 ("gtk+" ,gtk+)
1229 ("glib" ,glib)
1230 ("libxml2" ,libxml2)
c1354b90
LC
1231 ("libsm" ,libsm)
1232 ("libice" ,libice)
96e42467 1233 ("shared-mime-info" ,shared-mime-info)
3d243e9c
FB
1234 ("dconf" ,dconf)
1235 ("libcanberra" ,libcanberra)
c769cf9f 1236 ("libsecret" ,libsecret)
a271096b 1237
c1354b90
LC
1238 ;; For tests.
1239 ("dogtail" ,python2-dogtail)))
96e42467 1240 (native-inputs
bcb354ad
SB
1241 `(("itstool" ,itstool)
1242 ("intltool" ,intltool)
426adbe8 1243 ("glib" ,glib "bin")
bcb354ad
SB
1244 ("pkg-config" ,pkg-config)
1245 ("xmllint" ,libxml2)))
c1354b90 1246 (home-page
f032d0be 1247 "https://www.gnome.org/projects/evince/")
c1354b90
LC
1248 (synopsis "GNOME's document viewer")
1249 (description
1250 "Evince is a document viewer for multiple document formats. It
1251currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
1252of Evince is to replace the multiple document viewers that exist
96e42467 1253on the GNOME Desktop with a single simple application.")
1dd26275 1254 (license license:gpl2+)))
c1354b90 1255
22e32e69
AE
1256(define-public gsettings-desktop-schemas
1257 (package
1258 (name "gsettings-desktop-schemas")
c900dabd 1259 (version "3.32.0")
22e32e69
AE
1260 (source
1261 (origin
1262 (method url-fetch)
1263 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1264 (version-major+minor version) "/"
22e32e69
AE
1265 name "-" version ".tar.xz"))
1266 (sha256
1267 (base32
c900dabd
KK
1268 "0d8a6479vappgplq5crdr3ah0ykqcr3fw533wkx9v1a8lnrv8n9d"))))
1269 (build-system meson-build-system)
65209ffa
LC
1270 (arguments
1271 '(#:phases (modify-phases %standard-phases
1272 (add-after 'unpack 'set-adwaita-theme-file-name
1273 (lambda* (#:key inputs #:allow-other-keys)
1274 ;; Provide the correct file name of the default GNOME
1275 ;; background, 'adwaita-timed.xml'.
1276 (let ((theme (assoc-ref inputs "gnome-backgrounds")))
1277 (substitute* (find-files "schemas"
1278 "\\.gschema\\.xml\\.in$")
1279 (("@datadir@/backgrounds/gnome")
1280 (string-append theme "/share/backgrounds/gnome")))
1281 #t))))))
22e32e69 1282 (inputs
65209ffa
LC
1283 `(("glib" ,glib)
1284 ("gnome-backgrounds" ,gnome-backgrounds)))
c4c4cc05
JD
1285 (native-inputs
1286 `(("intltool" ,intltool)
426adbe8 1287 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
7211944a 1288 ("gobject-introspection" ,gobject-introspection)
22e32e69
AE
1289 ("pkg-config" ,pkg-config)))
1290 (home-page "https://launchpad.net/gsettings-desktop-schemas")
1291 (synopsis
1292 "GNOME settings for various desktop components")
1293 (description
1294 "Gsettings-desktop-schemas contains a collection of GSettings schemas
1295for settings shared by various components of the GNOME desktop.")
1dd26275 1296 (license license:lgpl2.1+)))
22e32e69 1297
27477d2d
AE
1298(define-public icon-naming-utils
1299 (package
1300 (name "icon-naming-utils")
1301 (version "0.8.90")
1302 (source
1303 (origin
1304 (method url-fetch)
5cc3096c 1305 (uri (string-append "https://tango.freedesktop.org/releases/icon-naming-utils-"
27477d2d
AE
1306 version ".tar.bz2"))
1307 (sha256
1308 (base32
1309 "1mc3v28fdfqanx3lqx233vcr4glb4c2376k0kx2v91a4vxwqcdxi"))))
1310 (build-system gnu-build-system)
1311 (inputs
1312 `(("perl" ,perl)
1313 ("perl-xml-simple" ,perl-xml-simple)))
f4e97277
SB
1314 (arguments
1315 '(#:phases
dc1d3cde
KK
1316 (modify-phases %standard-phases
1317 (add-after 'install 'set-load-paths
1318 ;; Tell 'icon-name-mapping' where XML::Simple is.
1319 (lambda* (#:key outputs #:allow-other-keys)
1320 (let* ((out (assoc-ref outputs "out"))
1321 (prog (string-append out "/libexec/icon-name-mapping")))
1322 (wrap-program
1323 prog
1324 `("PERL5LIB" = ,(list (getenv "PERL5LIB")))))
1325 #t)))))
27477d2d
AE
1326 (home-page "http://tango.freedesktop.org/Standard_Icon_Naming_Specification")
1327 (synopsis
1328 "Utility to implement the Freedesktop Icon Naming Specification")
1329 (description
1330 "To help with the transition to the Freedesktop Icon Naming
1331Specification, the icon naming utility maps the icon names used by the
1332GNOME and KDE desktops to the icon names proposed in the specification.")
1dd26275 1333 (license license:lgpl2.1+)))
27477d2d 1334
7d3f3651
AE
1335(define-public gnome-icon-theme
1336 (package
1337 (name "gnome-icon-theme")
b32f58dd 1338 (version "3.12.0")
7d3f3651
AE
1339 (source
1340 (origin
1341 (method url-fetch)
1342 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1343 (version-major+minor version) "/"
7d3f3651
AE
1344 name "-" version ".tar.xz"))
1345 (sha256
1346 (base32
b32f58dd 1347 "0fjh9qmmgj34zlgxb09231ld7khys562qxbpsjlaplq2j85p57im"))))
7d3f3651 1348 (build-system gnu-build-system)
5613c27d
SB
1349 (arguments
1350 '(#:configure-flags
1351 ;; Don't create 'icon-theme.cache'.
1352 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
1353 (true (string-append coreutils "/bin/true")))
1354 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
c4c4cc05 1355 (native-inputs
5613c27d 1356 `(("icon-naming-utils" ,icon-naming-utils)
73b6cf42
SB
1357 ("intltool" ,intltool)
1358 ("pkg-config" ,pkg-config)))
5c610d4f
KK
1359 (home-page "https://wiki.gnome.org/Personalization")
1360 (synopsis "GNOME icon theme")
1361 (description "Icons for the GNOME desktop.")
1dd26275 1362 (license license:lgpl3))) ; or Creative Commons BY-SA 3.0
7d3f3651 1363
14eeefa2
SB
1364;; gnome-icon-theme was renamed to adwaita-icon-theme after version 3.12.0.
1365(define-public adwaita-icon-theme
1366 (package (inherit gnome-icon-theme)
1367 (name "adwaita-icon-theme")
9be59d7f 1368 (version "3.32.0")
14eeefa2
SB
1369 (source (origin
1370 (method url-fetch)
1371 (uri (string-append "mirror://gnome/sources/" name "/"
1372 (version-major+minor version) "/"
1373 name "-" version ".tar.xz"))
1374 (sha256
1375 (base32
9be59d7f 1376 "11ij35na8nisvxx3qh527iz33h6z2q1a7iinqyp7p65v0zjbd3b9"))))
5613c27d
SB
1377 (native-inputs
1378 `(("gtk-encode-symbolic-svg" ,gtk+ "bin")))))
14eeefa2 1379
ae792dba
RW
1380(define-public tango-icon-theme
1381 (package
1382 (name "tango-icon-theme")
1383 (version "0.8.90")
1384 (source (origin
1385 (method url-fetch)
1386 (uri (string-append "http://tango.freedesktop.org/releases/"
1387 "tango-icon-theme-" version ".tar.bz2"))
1388 (sha256
1389 (base32
1390 "034r9s944b4yikyfgn602yv7s54wdzlq0qfvqh52b9x6kbx08h79"))))
1391 (build-system gnu-build-system)
1392 (native-inputs
1393 `(("icon-naming-utils" ,icon-naming-utils)
1394 ("intltool" ,intltool)
1395 ("imagemagick" ,imagemagick)
1396 ("pkg-config" ,pkg-config)))
1397 (home-page "http://tango-project.org/")
1398 (synopsis "Tango icon theme")
1399 (description "This is an icon theme that follows the Tango visual
1400guidelines.")
1401 (license license:public-domain)))
1402
9167f8e6
LC
1403(define-public shared-mime-info
1404 (package
1405 (name "shared-mime-info")
18138ab9 1406 (version "1.10")
9167f8e6
LC
1407 (source (origin
1408 (method url-fetch)
5cc3096c 1409 (uri (string-append "https://freedesktop.org/~hadess/"
b38e45d8 1410 "shared-mime-info-" version ".tar.xz"))
9167f8e6
LC
1411 (sha256
1412 (base32
18138ab9 1413 "1gxyvwym3xgpmp262gfn8jg5sla6k5hy6m6dmy6grgiq90xsh9f6"))))
9167f8e6
LC
1414 (build-system gnu-build-system)
1415 (arguments
1416 ;; The build system appears not to be parallel-safe.
1417 '(#:parallel-build? #f))
1418 (inputs
1419 `(("glib" ,glib)
c4c4cc05 1420 ("libxml2" ,libxml2)))
9167f8e6 1421 (native-inputs
c4c4cc05
JD
1422 `(("intltool" ,intltool)
1423 ("pkg-config" ,pkg-config)))
57e7d748 1424 (home-page "https://www.freedesktop.org/wiki/Software/shared-mime-info")
9167f8e6
LC
1425 (synopsis "Database of common MIME types")
1426 (description
1427 "The shared-mime-info package contains the core database of common types
1428and the update-mime-database command used to extend it. It requires glib2 to
1429be installed for building the update command. Additionally, it uses intltool
1430for translations, though this is only a dependency for the maintainers. This
1431database is translated at Transifex.")
1dd26275 1432 (license license:gpl2+)))
9167f8e6 1433
dd1fcddc
CB
1434(define-public system-config-printer
1435 (package
1436 (name "system-config-printer")
fa01e10d 1437 (version "1.5.12")
a5643044
TGR
1438 (source
1439 (origin
1440 (method url-fetch)
1441 (uri (string-append
1442 "https://github.com/OpenPrinting/system-config-printer/releases/"
1443 "download/" version
1444 "/system-config-printer-" version ".tar.xz"))
1445 (sha256
fa01e10d 1446 (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
dd1fcddc
CB
1447 (build-system glib-or-gtk-build-system)
1448 (arguments
1449 `(#:imported-modules ((guix build python-build-system)
1450 ,@%glib-or-gtk-build-system-modules)
1451 #:phases
1452 (modify-phases %standard-phases
1453 (add-after 'unpack 'patch-Makefile.am
1454 (lambda _
1455 ;; The Makefile generates some scripts, so set a valid shebang
1456 (substitute* "Makefile.am"
1457 (("/bin/bash") (which "bash")))
1458 (delete-file "configure")
1459 #t))
1460 (add-after 'unpack 'patch-docbook-xml
1461 (lambda* (#:key inputs #:allow-other-keys)
1462 ;; Modify the man XML otherwise xmlto tries to access the network
1463 (substitute* "man/system-config-printer.xml"
1464 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
1465 (string-append (assoc-ref inputs "docbook-xml")
1466 "/xml/dtd/docbook/")))
1467 #t))
1468 (add-after 'install 'wrap-for-python
1469 (@@ (guix build python-build-system) wrap))
1470 (add-after 'install 'wrap
1471 (lambda* (#:key outputs #:allow-other-keys)
1472 (let ((out (assoc-ref outputs "out"))
1473 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
1474 (for-each
1475 (lambda (program)
1476 (wrap-program program
1477 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
1478 (map (lambda (name)
1479 (string-append out "/bin/" name))
1480 '("system-config-printer"
1481 "system-config-printer-applet"
1482 "install-printerdriver"
1483 "scp-dbus-service"))))
1484 #t)))))
1485 (inputs
1486 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
1487 ("gobject-introspection" ,gobject-introspection)
1488 ("python" ,python)
1489 ("cups" ,cups)
1490 ("python-dbus" ,python-dbus)
1491 ("python-pygobject" ,python-pygobject)
1492 ("python-pycups" ,python-pycups)
1493 ("python-requests" ,python-requests)
1494 ("python-pycairo" ,python-pycairo)
1495 ("libnotify" ,libnotify)
1496 ("packagekit" ,packagekit)))
1497 (native-inputs
1498 `(("pkg-config" ,pkg-config)
1499 ("desktop-file-utils" ,desktop-file-utils)
1500 ("glib" ,glib)
1501 ("autoconf" ,autoconf)
1502 ("automake" ,automake)
1503 ("intltool" ,intltool)
1504 ("xmlto" ,xmlto)
1505 ("docbook-xml" ,docbook-xml-4.1.2)
1506 ("docbook-xsl" ,docbook-xsl)
1507 ("libxml2" ,libxml2)))
1508 (home-page "https://github.com/zdohnal/system-config-printer")
1509 (synopsis "CUPS administration tool")
1510 (description
1511 "system-config-printer is a CUPS administration tool. It's written in
1512Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
1513configuring CUPS.")
1514 (license license:gpl2+)))
1515
bef4dd92
AE
1516(define-public hicolor-icon-theme
1517 (package
1518 (name "hicolor-icon-theme")
851cb6dd 1519 (version "0.17")
bef4dd92
AE
1520 (source
1521 (origin
1522 (method url-fetch)
5cc3096c 1523 (uri (string-append "https://icon-theme.freedesktop.org/releases/"
b62a0070 1524 "hicolor-icon-theme-" version ".tar.xz"))
bef4dd92
AE
1525 (sha256
1526 (base32
851cb6dd 1527 "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i"))))
bef4dd92
AE
1528 (build-system gnu-build-system)
1529 (arguments
1530 `(#:tests? #f)) ; no check target
57e7d748 1531 (home-page "https://icon-theme.freedesktop.org/releases/")
bef4dd92
AE
1532 (synopsis
1533 "Freedesktop icon theme")
1534 (description
1535 "Freedesktop icon theme.")
1dd26275 1536 (license license:gpl2)))
bef4dd92 1537
d9c1a22b
AE
1538(define-public libnotify
1539 (package
1540 (name "libnotify")
195bfa68 1541 (version "0.7.7")
d9c1a22b
AE
1542 (source
1543 (origin
1544 (method url-fetch)
1545 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1546 (version-major+minor version) "/"
d9c1a22b
AE
1547 name "-" version ".tar.xz"))
1548 (sha256
1549 (base32
195bfa68 1550 "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
d9c1a22b 1551 (build-system gnu-build-system)
6acf6cec
MB
1552 (arguments
1553 `(#:configure-flags '("--disable-static")))
7ef08efa
UK
1554 (propagated-inputs
1555 `(;; In Requires of libnotify.pc.
1556 ("gdk-pixbuf" ,gdk-pixbuf)
1557 ("glib" ,glib)))
d9c1a22b 1558 (inputs
7ef08efa 1559 `(("gtk+" ,gtk+)
c4c4cc05
JD
1560 ("libpng" ,libpng)))
1561 (native-inputs
426adbe8 1562 `(("pkg-config" ,pkg-config)
277a7d82
JN
1563 ("glib" ,glib "bin")
1564 ("gobject-introspection" ,gobject-introspection)))
d9c1a22b
AE
1565 (home-page "https://developer-next.gnome.org/libnotify/")
1566 (synopsis
1567 "GNOME desktop notification library")
1568 (description
1569 "Libnotify is a library that sends desktop notifications to a
35b9e423 1570notification daemon, as defined in the Desktop Notifications spec. These
d9c1a22b
AE
1571notifications can be used to inform the user about an event or display
1572some form of information without getting in the user's way.")
1dd26275 1573 (license license:lgpl2.1+)))
7a8605ce
CR
1574
1575(define-public libpeas
1576 (package
1577 (name "libpeas")
db122a9b 1578 (version "1.22.0")
7a8605ce
CR
1579 (source
1580 (origin
1581 (method url-fetch)
1582 (uri (string-append "mirror://gnome/sources/" name "/"
b38e45d8 1583 (version-major+minor version) "/"
7a8605ce
CR
1584 name "-" version ".tar.xz"))
1585 (sha256
1586 (base32
db122a9b 1587 "0qm908kisyjzjxvygdl18hjqxvvgkq9w0phs2g55pck277sw0bsv"))))
7a8605ce 1588 (build-system gnu-build-system)
7a8605ce 1589 (inputs
2ed6522a
SB
1590 `(("gtk+" ,gtk+)
1591 ("glade" ,glade3)
2ed6522a
SB
1592 ("python" ,python)
1593 ("python-pygobject" ,python-pygobject)))
141aed80
LC
1594 (native-inputs
1595 `(("pkg-config" ,pkg-config)
93622993 1596 ("glib:bin" ,glib "bin")
141aed80
LC
1597 ("gobject-introspection" ,gobject-introspection)
1598 ("intltool" ,intltool)))
55b7bbd8
LC
1599 (propagated-inputs
1600 ;; The .pc file "Requires" gobject-introspection.
1601 `(("gobject-introspection" ,gobject-introspection)))
7a8605ce
CR
1602 (home-page "https://wiki.gnome.org/Libpeas")
1603 (synopsis "GObject plugin system")
1604 (description
d1e4ad1b
TGR
1605 "Libpeas is a gobject-based plugin engine, targeted at giving every
1606application the chance to assume its own extensibility. It also has a set of
1607features including, but not limited to: multiple extension points; on-demand
1608(lazy) programming language support for C, Python and JS; simplicity of the
1609API.")
1dd26275 1610 (license license:lgpl2.0+)))
ed19903d
JD
1611
1612(define-public gtkglext
1613 (package
1614 (name "gtkglext")
1615 (version "1.2.0")
1616 (source (origin
1617 (method url-fetch)
0f971a04 1618 (uri (string-append "mirror://sourceforge/gtkglext/gtkglext/"
ed19903d
JD
1619 version "/gtkglext-" version ".tar.gz"))
1620 (sha256
1621 (base32 "1ya4d2j2aacr9ii5zj4ac95fjpdvlm2rg79mgnk7yvl1dcy3y1z5"))
fc1adab1
AK
1622 (patches (search-patches
1623 "gtkglext-disable-disable-deprecated.patch"))))
ed19903d 1624 (build-system gnu-build-system)
14e2f61a
RW
1625 (arguments
1626 `(#:phases
1627 (modify-phases %standard-phases
1628 ;; Fix a collision between a local variable and a definition from
1629 ;; glibc's string.h.
1630 (add-after 'unpack 'fix-collision
1631 (lambda _
1632 (substitute* "gdk/gdkglshapes.c"
1633 ((" index") " triangle_index"))
1634 #t)))))
ed19903d
JD
1635 (inputs `(("gtk+" ,gtk+-2)
1636 ("mesa" ,mesa)
cc8b02f4 1637 ("glu" ,glu)
ed19903d
JD
1638 ("libx11" ,libx11)
1639 ("libxt" ,libxt)))
426adbe8
LC
1640 (native-inputs `(("pkg-config" ,pkg-config)
1641 ("glib" ,glib "bin")))
a83b6a06 1642 (propagated-inputs `(("pangox-compat" ,pangox-compat)))
ed19903d 1643 (home-page "https://projects.gnome.org/gtkglext")
9e771e3b 1644 (synopsis "OpenGL extension to GTK+")
35b9e423 1645 (description "GtkGLExt is an OpenGL extension to GTK+. It provides
ed19903d
JD
1646additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget
1647API add-ons to make GTK+ widgets OpenGL-capable.")
1dd26275 1648 (license license:lgpl2.1+)))
3600420e
JD
1649
1650(define-public glade3
1651 (package
1652 (name "glade")
c6571adb 1653 (version "3.22.1")
b38e45d8
EB
1654 (source (origin
1655 (method url-fetch)
1656 (uri (string-append "mirror://gnome/sources/" name "/"
1657 (version-major+minor version) "/"
f5ca44b8 1658 name "-" version ".tar.xz"))
3600420e 1659 (sha256
f714d9fe 1660 (base32
c6571adb 1661 "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z"))))
6983ba56 1662 (build-system glib-or-gtk-build-system)
f5ca44b8
RW
1663 (arguments
1664 `(#:tests? #f ; needs X, GL, and software rendering
1665 #:phases
1666 (modify-phases %standard-phases
1667 (add-before 'configure 'fix-docbook
1668 (lambda* (#:key inputs #:allow-other-keys)
1669 (substitute* "man/Makefile.in"
1670 (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
1671 (string-append (assoc-ref inputs "docbook-xsl")
1672 "/xml/xsl/docbook-xsl-"
1673 ,(package-version docbook-xsl)
1674 "/manpages/docbook.xsl")))
1675 #t)))))
3600420e 1676 (inputs
f5ca44b8 1677 `(("gtk+" ,gtk+)
3600420e
JD
1678 ("libxml2" ,libxml2)))
1679 (native-inputs
1680 `(("intltool" ,intltool)
f5ca44b8
RW
1681 ("itstool" ,itstool)
1682 ("libxslt" ,libxslt) ;for xsltproc
1683 ("docbook-xml" ,docbook-xml-4.2)
1684 ("docbook-xsl" ,docbook-xsl)
1685 ("python" ,python-2)
3600420e
JD
1686 ("pkg-config" ,pkg-config)))
1687 (home-page "https://glade.gnome.org")
1688 (synopsis "GTK+ rapid application development tool")
1689 (description "Glade is a rapid application development (RAD) tool to
1690enable quick & easy development of user interfaces for the GTK+ toolkit and
1691the GNOME desktop environment.")
1dd26275
LC
1692 (license license:lgpl2.0+)))
1693
1694(define-public libcroco
1695 (package
1696 (name "libcroco")
8bdacad2 1697 (version "0.6.13")
1dd26275
LC
1698 (source (origin
1699 (method url-fetch)
b38e45d8
EB
1700 (uri (string-append "mirror://gnome/sources/" name "/"
1701 (version-major+minor version) "/"
1702 name "-" version ".tar.xz"))
1dd26275
LC
1703 (sha256
1704 (base32
8bdacad2 1705 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn"))))
1dd26275
LC
1706 (build-system gnu-build-system)
1707 (native-inputs
1708 `(("pkg-config" ,pkg-config)))
1709 (inputs
1710 `(("glib" ,glib)
1711 ("libxml2" ,libxml2)
1712 ("zlib" ,zlib)))
1713 (home-page "https://github.com/GNOME/libcroco")
1714 (synopsis "CSS2 parsing and manipulation library")
1715 (description
1716 "Libcroco is a standalone CSS2 parsing and manipulation library.
1717The parser provides a low level event driven SAC-like API and a CSS object
1718model like API. Libcroco provides a CSS2 selection engine and an experimental
1719XML/CSS rendering engine.")
1720
1721 ;; LGPLv2.1-only.
1722 (license license:lgpl2.1)))
25178594
LC
1723
1724(define-public libgsf
1725 (package
1726 (name "libgsf")
8d1644a1 1727 (version "1.14.46")
25178594
LC
1728 (source (origin
1729 (method url-fetch)
b38e45d8
EB
1730 (uri (string-append "mirror://gnome/sources/" name "/"
1731 (version-major+minor version) "/"
1732 name "-" version ".tar.xz"))
25178594
LC
1733 (sha256
1734 (base32
8d1644a1 1735 "0bddmlzg719sjhlbzqlhb7chwk93qc7g68m2r9r8xz112jdradpa"))))
25178594
LC
1736 (build-system gnu-build-system)
1737 (native-inputs
1738 `(("intltool" ,intltool)
1739 ("pkg-config" ,pkg-config)))
1740 (inputs
1741 `(("python" ,python)
1742 ("zlib" ,zlib)
1743 ("bzip2" ,bzip2)))
1744 (propagated-inputs
1745 `(("gdk-pixbuf" ,gdk-pixbuf)
1746 ("glib" ,glib)
1747 ("libxml2" ,libxml2)))
f032d0be 1748 (home-page "https://www.gnome.org/projects/libgsf")
25178594
LC
1749 (synopsis "GNOME's Structured File Library")
1750 (description
1751 "Libgsf aims to provide an efficient extensible I/O abstraction for
1752dealing with different structured file formats.")
1753
1754 ;; LGPLv2.1-only.
1755 (license license:lgpl2.1)))
63016e7c
LC
1756
1757(define-public librsvg
f67417a1
MB
1758 (package
1759 (name "librsvg")
1760 (version "2.40.20")
1761 (source (origin
1762 (method url-fetch)
1763 (uri (string-append "mirror://gnome/sources/" name "/"
1764 (version-major+minor version) "/"
1765 name "-" version ".tar.xz"))
1766 (sha256
1767 (base32
1768 "0ay9himvw1l1swcf3h1312d2iqzfl65kpbfgiyfykgvq7cydvx6g"))))
1769 (build-system gnu-build-system)
1770 (arguments
1771 `(#:configure-flags
1772 (list "--disable-static"
1773 "--enable-vala") ; needed for e.g. gnome-mines
1774 #:phases
1775 (modify-phases %standard-phases
1776 (add-before 'configure 'pre-configure
1777 (lambda* (#:key inputs #:allow-other-keys)
1778 (substitute* "gdk-pixbuf-loader/Makefile.in"
1779 ;; By default the gdk-pixbuf loader is installed under
1780 ;; gdk-pixbuf's prefix. Work around that.
1781 (("gdk_pixbuf_moduledir = .*$")
1782 (string-append "gdk_pixbuf_moduledir = "
1783 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
1784 "loaders\n"))
1785 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
1786 (("gdk_pixbuf_cache_file = .*$")
1787 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
1788 #t))
1789 (add-before 'check 'remove-failing-tests
1790 (lambda _
1791 (with-directory-excursion "tests/fixtures/reftests"
1792 (for-each delete-file
1793 '(;; This test fails on i686:
1794 "svg1.1/masking-path-04-b.svg"
1795 ;; This test fails on armhf:
1796 "svg1.1/masking-mask-01-b.svg"
1797 ;; This test fails on aarch64:
1798 "bugs/777834-empty-text-children.svg")))
1799 #t)))))
1800 (native-inputs
1801 `(("pkg-config" ,pkg-config)
1802 ("vala" ,vala)
1803 ("glib" ,glib "bin") ; glib-mkenums, etc.
1804 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
1805 (inputs
1806 `(("pango" ,pango)
1807 ("libcroco" ,libcroco)
1808 ("bzip2" ,bzip2)
1809 ("libgsf" ,libgsf)
1810 ("libxml2" ,libxml2)))
1811 (propagated-inputs
1812 ;; librsvg-2.0.pc refers to all of that.
1813 `(("cairo" ,cairo)
1814 ("gdk-pixbuf" ,gdk-pixbuf)
1815 ("glib" ,glib)))
1816 (home-page "https://wiki.gnome.org/LibRsvg")
1817 (synopsis "Render SVG files using Cairo")
1818 (description
1819 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
1820library.")
1821 (license license:lgpl2.0+)))
1822
8f523eb9
EF
1823(define* (computed-origin-method gexp-promise hash-algo hash
1824 #:optional (name "source")
1825 #:key (system (%current-system))
1826 (guile (default-guile)))
1827 "Return a derivation that executes the G-expression that results
1828from forcing GEXP-PROMISE."
1829 (mlet %store-monad ((guile (package->derivation guile system)))
1830 (gexp->derivation (or name "computed-origin")
1831 (force gexp-promise)
1832 #:graft? #f ;nothing to graft
1833 #:system system
1834 #:guile-for-build guile)))
1835
1836(define librsvg-next-source
1837 (let* ((version "2.46.3")
1838 (upstream-source (origin
1839 (method url-fetch)
1840 (uri (string-append "mirror://gnome/sources/librsvg/"
1841 (version-major+minor version) "/"
1842 "librsvg-" version ".tar.xz"))
1843 (sha256
1844 (base32
1845 "1s3a96i7f4pynjwxxvhysp4b6r7kyi8nasdxfyi62hc7gm34d3kn")))))
1846 (origin
1847 (method computed-origin-method)
1848 (file-name (string-append "librsvg-" version ".tar.xz"))
1849 (sha256 #f)
1850 (uri
1851 (delay
1852 (with-imported-modules '((guix build utils))
1853 #~(begin
1854 (use-modules (guix build utils))
1855 (set-path-environment-variable
1856 "PATH" '("bin")
1857 (list "/tmp"
1858 #+(canonical-package xz)
1859 #+(canonical-package gzip)
1860 #+(canonical-package tar)))
1861 (invoke "tar" "xvf" #+upstream-source)
1862 (with-directory-excursion (string-append "librsvg-" #$version)
1863 (for-each
1864 (lambda (crate)
1865 (delete-file-recursively (string-append "vendor/" (car crate)))
1866 (invoke "tar" "xvf" (cdr crate) "-C" "vendor"))
1867 '(
1868;; aho-corasick 0.7
1869;; alga 0.9
1870;; approx 0.3
1871;; arrayvec 0.4
1872 ("atty" . #+(package-source rust-atty-0.2))
1873 ("autocfg" . #+(package-source rust-autocfg-0.1))
1874 ("bitflags" . #+(package-source rust-bitflags-1))
1875;; block 0.1
1876;; bstr 0.2
1877;; byteorder 1.3
1878;; cairo-rs 0.7
1879;; cairo-sys-rs 0.9
1880;; cast 0.2
1881 ("cfg-if" . #+(package-source rust-cfg-if-0.1))
1882 ("clap" . #+(package-source rust-clap-2))
1883 ;("cloudabi" . #+(package-source rust-cloudabi-0.0))
1884;; criterion 0.2
1885;; criterion-plot 0.3
1886;; crossbeam-deque 0.7
1887;; crossbeam-epoch 0.7
1888;; crossbeam-queue 0.1
1889;; crossbeam-utils 0.6
1890;; cssparser 0.25
1891;; cssparser-macros 0.3
1892;; csv 1.1
1893;; csv-core 0.1
1894;; data-url 0.1
1895;; downcast-rs 1.0
1896 ("dtoa" . #+(package-source rust-dtoa-0.4))
1897;; dtoa-short 0.3
1898;; either 1.5
1899;; encoding 0.2
1900;; encoding-index-japanese 1.20141219.5
1901;; encoding-index-korean 1.20141219.5
1902;; encoding-index-simpchinese 1.20141219.5
1903;; encoding-index-singlebyte 1.20141219.5
1904;; encoding-index-tradchinese 1.20141219.5
1905;; encoding_index_tests 0.1
1906;; float-cmp 0.5
1907;; fragile 0.3
1908 ;("fuchsia-cprng" . #+(package-source rust-fuchsia-cprng-0.1))
1909;; futf 0.1
1910;; gdk-pixbuf 0.7
1911;; gdk-pixbuf-sys 0.9
1912;; generic-array 0.12
1913;; gio 0.7
1914;; gio-sys 0.9
1915;; glib 0.8
1916;; glib-sys 0.9
1917;; gobject-sys 0.9
1918;; idna 0.2
1919;; itertools 0.8
1920 ("itoa" . #+(package-source rust-itoa-0.4))
1921 ;("language-tags" . #+(package-source rust-language-tags-0.2))
1922 ("lazy_static" . #+(package-source rust-lazy-static-1.3))
1923 ("libc" . #+(package-source rust-libc-0.2))
1924;; libm 0.1
1925;; locale_config 0.3
1926 ("log" . #+(package-source rust-log-0.4))
1927;; mac 0.1
1928;; malloc_buf 0.0
1929;; markup5ever 0.9
1930 ;("matches" . #+(package-source rust-matches-0.1))
1931;; matrixmultiply 0.2
1932;; memchr 2.2
1933;; memoffset 0.5
1934;; nalgebra 0.18
1935;; new_debug_unreachable 1.0
1936 ("nodrop" . #+(package-source rust-nodrop-0.1))
1937;; num-complex 0.2
1938 ("num-integer" . #+(package-source rust-num-integer-0.1))
1939;; num-rational 0.2
1940 ("num-traits" . #+(package-source rust-num-traits-0.2))
1941 ("num_cpus" . #+(package-source rust-num-cpus-1.10))
1942;; objc 0.2
1943;; objc-foundation 0.1
1944;; objc_id 0.1
1945;; pango 0.7
1946;; pango-sys 0.9
1947;; pangocairo 0.8
1948;; pangocairo-sys 0.10
1949 ("percent-encoding" . #+(package-source rust-percent-encoding-2.1))
1950;; phf 0.7.24
1951;; phf_codegen 0.7.24
1952;; phf_generator 0.7.24
1953;; phf_shared 0.7.24
1954 ;("pkg-config" . #+(package-source rust-pkg-config-0.3))
1955;; precomputed-hash 0.1
1956 ("proc-macro2" . #+(package-source rust-proc-macro2-1.0))
1957;; procedural-masquerade 0.1
1958 ("quote" . #+(package-source rust-quote-1.0))
1959 ;("rand" . #+(package-source rust-rand-0.6))
1960 ("rand_chacha" . #+(package-source rust-rand-chacha-0.1))
1961 ("rand_core-0.3.1" . #+(package-source rust-rand-core-0.3))
1962 ("rand_core" . #+(package-source rust-rand-core-0.4))
1963 ("rand_hc" . #+(package-source rust-rand-hc-0.1))
1964 ("rand_isaac" . #+(package-source rust-rand-isaac-0.1))
1965 ("rand_jitter" . #+(package-source rust-rand-jitter-0.1))
1966 ("rand_os" . #+(package-source rust-rand-os-0.1))
1967 ("rand_pcg" . #+(package-source rust-rand-pcg-0.1))
1968 ("rand_xorshift" . #+(package-source rust-rand-xorshift-0.1))
1969;; rand_xoshiro 0.1
1970 ;("rawpointer" . #+(package-source rust-rawpointer-0.1))
1971;; rayon 1.2
1972;; rayon-core 1.6
1973;; rctree 0.3
1974 ("rdrand" . #+(package-source rust-rdrand-0.4))
1975;; regex 1.3
1976;; regex-automata 0.1
1977 ;("regex-syntax" . #+(package-source rust-regex-syntax-0.6))
1978;; rustc_version 0.2
1979 ("ryu" . #+(package-source rust-ryu-1.0))
1980 ("same-file" . #+(package-source rust-same-file-1.0))
1981 ("scopeguard" . #+(package-source rust-scopeguard-1.0))
1982;; semver 0.9
1983 ;("semver-parser" . #+(package-source rust-semver-parser-0.7))
1984 ("serde" . #+(package-source rust-serde-1.0))
1985 ("serde_derive" . #+(package-source rust-serde-derive-1.0))
1986 ("serde_json" . #+(package-source rust-serde-json-1.0))
1987;; siphasher 0.2
1988;; smallvec 0.6
1989;; string_cache 0.7
1990;; string_cache_codegen 0.4
1991;; string_cache_shared 0.3
1992 ("syn" . #+(package-source rust-syn-1.0))
1993;; tendril 0.4
1994 ("textwrap" . #+(package-source rust-textwrap-0.11))
1995 ;("thread_local" . #+(package-source rust-thread-local-0.3))
1996;; tinytemplate 1.0
1997 ;("typenum" . #+(package-source rust-typenum-1.10))
1998;; unicode-bidi 0.3
1999;; unicode-normalization 0.1
2000 ("unicode-width" . #+(package-source rust-unicode-width-0.1))
2001 ("unicode-xid" . #+(package-source rust-unicode-xid-0.2))
2002;; url 2.1
2003;; utf-8 0.7
2004 ("walkdir" . #+(package-source rust-walkdir-2.2))
2005 ("winapi" . #+(package-source rust-winapi-0.3))
2006 ;("winapi-i686-pc-windows-gnu" . #+(package-source rust-winapi-i686-pc-windows-gnu-0.4))
2007 ("winapi-util" . #+(package-source rust-winapi-util-0.1))
2008 ;("winapi-x86_64-pc-windows-gnu" . #+(package-source rust-winapi-x86-64-pc-windows-gnu-0.4))
2009;; xml-rs 0.8
2010 )))
2011 (format #t "Replacing vendored crates in the tarball and repacking ...~%")
2012 (force-output)
2013 (invoke "tar" "cfa" #$output
2014 ;; Avoid non-determinism in the archive. We set the
2015 ;; mtime of files in the archive to early 1980 because
2016 ;; the build process fails if the mtime of source
2017 ;; files is pre-1980, due to the creation of zip
2018 ;; archives.
2019 "--mtime=@315619200" ; 1980-01-02 UTC
2020 "--owner=root:0"
2021 "--group=root:0"
2022 "--sort=name"
2023 (string-append "librsvg-" #$version))
2024 #t)))))))
2025
f67417a1 2026(define-public librsvg-next
63016e7c
LC
2027 (package
2028 (name "librsvg")
cf9dad6c 2029 (version "2.46.3")
8f523eb9 2030 (source librsvg-next-source)
63016e7c
LC
2031 (build-system gnu-build-system)
2032 (arguments
d953418a
RW
2033 `(#:configure-flags
2034 (list "--disable-static"
2035 "--enable-vala") ; needed for e.g. gnome-mines
7e0f4cb1 2036 #:make-flags '("CC=gcc")
8f523eb9 2037 #:imported-modules ,%cargo-utils-modules ;for `generate-all-checksums'
ec47c07d 2038 #:phases
b6239e45 2039 (modify-phases %standard-phases
8f523eb9 2040 (add-after 'configure 'patch-cargo-checksums
ec47c07d 2041 (lambda _
8f523eb9
EF
2042 (use-modules (guix build cargo-utils))
2043 (substitute* "librsvg/Cargo.toml"
2044 (("bitflags .*") "bitflags = \"1\"\n")) ; 1.2 is vendored
b665a246 2045 (generate-all-checksums "vendor")
8f523eb9
EF
2046 (delete-file "Cargo.lock")
2047 (invoke "cargo" "generate-lockfile")))
b6239e45
EF
2048 (add-before 'configure 'pre-configure
2049 (lambda* (#:key inputs #:allow-other-keys)
2050 (substitute* "gdk-pixbuf-loader/Makefile.in"
2051 ;; By default the gdk-pixbuf loader is installed under
2052 ;; gdk-pixbuf's prefix. Work around that.
2053 (("gdk_pixbuf_moduledir = .*$")
2054 (string-append "gdk_pixbuf_moduledir = "
2055 "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
2056 "loaders\n"))
2057 ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
2058 (("gdk_pixbuf_cache_file = .*$")
2059 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
2060 #t))
ec47c07d 2061 (add-before 'check 'remove-failing-tests
b6239e45 2062 (lambda _
64a153bd
MW
2063 (with-directory-excursion "tests/fixtures/reftests"
2064 (for-each delete-file
ec47c07d
MB
2065 '(;; The images produced by these tests differ slightly
2066 ;; from their reference counterparts due to differences
2067 ;; in the build environment (missing fonts, etc). See
2068 ;; <tests/README.md> for details.
2069 ;; These fail on x86_64.
2070 "svg1.1/coords-viewattr-02-b.svg"
2071 "svg1.1/filters-composite-04-f.svg"
2072 "svg1.1/filters-image-01-b.svg"
2073 "svg1.1/filters-conv-02-f.svg"
2074 "svg1.1/filters-conv-04-f.svg"
2075 ;; This test fails on i686:
64a153bd 2076 "svg1.1/masking-path-04-b.svg"
64a153bd
MW
2077 ;; This test fails on armhf:
2078 "svg1.1/masking-mask-01-b.svg"
64a153bd 2079 ;; This test fails on aarch64:
ec47c07d 2080 "bugs/777834-empty-text-children.svg")))
b6239e45 2081 #t)))))
63016e7c
LC
2082 (native-inputs
2083 `(("pkg-config" ,pkg-config)
64855281
MB
2084 ;; This is the minimum supported Rust version in Librsvg 2.46.
2085 ("rust" ,rust-1.34)
2086 ("cargo" ,rust-1.34 "cargo")
d953418a 2087 ("vala" ,vala)
44add1ce 2088 ("glib" ,glib "bin") ; glib-mkenums, etc.
63016e7c
LC
2089 ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
2090 (inputs
2091 `(("pango" ,pango)
2092 ("libcroco" ,libcroco)
2093 ("bzip2" ,bzip2)
2094 ("libgsf" ,libgsf)
2095 ("libxml2" ,libxml2)))
2096 (propagated-inputs
2097 ;; librsvg-2.0.pc refers to all of that.
2098 `(("cairo" ,cairo)
2099 ("gdk-pixbuf" ,gdk-pixbuf)
2100 ("glib" ,glib)))
2101 (home-page "https://wiki.gnome.org/LibRsvg")
2102 (synopsis "Render SVG files using Cairo")
2103 (description
35b9e423 2104 "Librsvg is a C library to render SVG files using the Cairo 2D graphics
63016e7c 2105library.")
cf9dad6c 2106 (license license:lgpl2.1+)))
5698b8b8
JD
2107
2108(define-public libidl
2109 (package
2110 (name "libidl")
2111 (version "0.8.14")
2112 (source (origin
2113 (method url-fetch)
80a06e62
EF
2114 (uri (string-append "mirror://gnome/sources/libIDL/"
2115 (version-major+minor version) "/"
2116 "libIDL-" version ".tar.bz2"))
5698b8b8
JD
2117 (sha256
2118 (base32
2119 "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5"))))
2120 (build-system gnu-build-system)
2121 (inputs `(("glib" ,glib)))
2122 (native-inputs
2123 `(("pkg-config" ,pkg-config)
b3546174 2124 ("flex" ,flex)
5698b8b8
JD
2125 ("bison" ,bison)))
2126 (home-page "http://freecode.com/projects/libidl")
2127 (synopsis "Create trees of CORBA Interface Definition Language files")
35b9e423 2128 (description "Libidl is a library for creating trees of CORBA Interface
5698b8b8
JD
2129Definition Language (idl) files, which is a specification for defining
2130portable interfaces. libidl was initially written for orbit (the orb from the
35b9e423 2131GNOME project, and the primary means of libidl distribution). However, the
2e6ecc5c 2132functionality was designed to be as reusable and portable as possible.")
ef2c55bb 2133 (properties `((upstream-name . "libIDL")))
5698b8b8
JD
2134 (license license:lgpl2.0+)))
2135
2136
2137(define-public orbit2
2138 (package
2139 (name "orbit2")
2140 (version "2.14.19")
2141 (source (origin
2142 (method url-fetch)
2e6ecc5c 2143 (uri (let ((upstream-name "ORBit2"))
a124bbd2 2144 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2145 (version-major+minor version) "/"
2146 upstream-name "-" version ".tar.bz2")))
5698b8b8 2147 (sha256
a124bbd2
SB
2148 (base32
2149 "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"))))
5698b8b8
JD
2150 (build-system gnu-build-system)
2151 (arguments
a124bbd2 2152 `(#:configure-flags
8aad2e32
LC
2153 '(;; We don't need static libraries, plus they don't build reproducibly
2154 ;; (non-deterministic ordering of .o files in the archive.)
2155 "--disable-static"
2156
2157 ;; The programmer kindly gives us a hook to turn off deprecation
2158 ;; warnings ...
2159 "DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
a124bbd2
SB
2160 ;; ... which they then completly ignore !!
2161 #:phases
dc1d3cde
KK
2162 (modify-phases %standard-phases
2163 (add-before 'configure 'ignore-deprecations
2164 (lambda _
2165 (substitute* "linc2/src/Makefile.in"
2166 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2167 #t)))))
5698b8b8
JD
2168 (inputs `(("glib" ,glib)
2169 ("libidl" ,libidl)))
2170 (native-inputs
2171 `(("pkg-config" ,pkg-config)))
2172 (home-page "https://projects.gnome.org/orbit2/")
2173 (synopsis "CORBA 2.4-compliant Object Request Broker")
35b9e423 2174 (description "ORBit2 is a CORBA 2.4-compliant Object Request Broker (orb)
2e6ecc5c 2175featuring mature C, C++ and Python bindings.")
a124bbd2
SB
2176 ;; Licence notice is unclear. The Web page simply say "GPL" without giving
2177 ;; a version. SOME of the code files have licence notices for GPLv2+.
2178 ;; The tarball contains files of the text of GPLv2 and LGPLv2.
892307ae
LC
2179 (license license:gpl2+)
2180 (properties `((upstream-name . "ORBit2")))))
5698b8b8
JD
2181
2182
2183(define-public libbonobo
2184 (package
2185 (name "libbonobo")
2186 (version "2.32.1")
2187 (source (origin
2188 (method url-fetch)
5becd025 2189 (uri (string-append "mirror://gnome/sources/" name "/"
29a7c98a 2190 (version-major+minor version)
5becd025 2191 "/" name "-" version ".tar.bz2"))
5698b8b8 2192 (sha256
f1fc45a9 2193 (base32 "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"))
fc1adab1
AK
2194 (patches (search-patches
2195 "libbonobo-activation-test-race.patch"))))
5698b8b8
JD
2196 (build-system gnu-build-system)
2197 (arguments
2198 ;; The programmer kindly gives us a hook to turn off deprecation warnings ...
5becd025
EB
2199 `(#:configure-flags
2200 '("DISABLE_DEPRECATED_CFLAGS=-DGLIB_DISABLE_DEPRECATION_WARNINGS")
2201 ;; ... which they then completly ignore !!
2202 #:phases
dc1d3cde
KK
2203 (modify-phases %standard-phases
2204 (add-before 'configure 'ignore-deprecations
2205 (lambda _
2206 (substitute* "activation-server/Makefile.in"
2207 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
994b5b1d
LC
2208 #t)))
2209
2210 ;; There's apparently a race condition between the server stub
2211 ;; generation and linking of the example under 'samples/echo' that can
2212 ;; lead do undefined references when building in parallel, as reported
2213 ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
2214 ;; Thus, disable parallel builds.
2215 #:parallel-build? #f))
5698b8b8
JD
2216 (inputs `(("popt" ,popt)
2217 ("libxml2" ,libxml2)))
2218 ;; The following are Required by the .pc file
44add1ce 2219 (propagated-inputs
5698b8b8
JD
2220 `(("glib" ,glib)
2221 ("orbit2" ,orbit2)))
2222 (native-inputs
2223 `(("intltool" ,intltool)
2224 ("pkg-config" ,pkg-config)
221ed17a 2225 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2226 ("flex" ,flex)
2227 ("bison" ,bison)))
2228 (home-page "https://developer.gnome.org/libbonobo/")
2229 (synopsis "Framework for creating reusable components for use in GNOME applications")
2230 (description "Bonobo is a framework for creating reusable components for
2e6ecc5c 2231use in GNOME applications, built on top of CORBA.")
5698b8b8
JD
2232 ;; Licence not explicitly stated. Source files contain no licence notices.
2233 ;; Tarball contains text of both GPLv2 and LGPLv2
2234 ;; GPLv2 covers both conditions
2235 (license license:gpl2+)))
2236
2237
2238(define-public gconf
2239 (package
2240 (name "gconf")
2241 (version "3.2.6")
2242 (source (origin
2243 (method url-fetch)
a124bbd2
SB
2244 (uri
2245 (let ((upstream-name "GConf"))
2246 (string-append "mirror://gnome/sources/" upstream-name "/"
b38e45d8
EB
2247 (version-major+minor version) "/"
2248 upstream-name "-" version ".tar.xz")))
5698b8b8
JD
2249 (sha256
2250 (base32 "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr"))))
2251 (build-system gnu-build-system)
2e88d113 2252 (inputs `(("dbus-glib" ,dbus-glib)
5698b8b8 2253 ("libxml2" ,libxml2)))
2e6ecc5c
AE
2254 (propagated-inputs `(("glib" ,glib) ; referred to in the .pc file
2255 ("orbit2" ,orbit2)))
5698b8b8
JD
2256 (native-inputs
2257 `(("intltool" ,intltool)
221ed17a 2258 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2259 ("pkg-config" ,pkg-config)))
2260 (home-page "https://projects.gnome.org/gconf/")
35b9e423
EB
2261 (synopsis "Store application preferences")
2262 (description "Gconf is a system for storing application preferences. It
2263is intended for user preferences; not arbitrary data storage.")
29d2f451
LC
2264 (license license:lgpl2.0+)
2265 (properties '((upstream-name . "GConf")))))
5698b8b8
JD
2266
2267
2268(define-public gnome-mime-data
2269 (package
2270 (name "gnome-mime-data")
2271 (version "2.18.0")
2272 (source (origin
2273 (method url-fetch)
b38e45d8
EB
2274 (uri (string-append "mirror://gnome/sources/" name "/"
2275 (version-major+minor version) "/"
2276 name "-" version ".tar.bz2"))
5698b8b8
JD
2277 (sha256
2278 (base32
2279 "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p"))))
2280 (build-system gnu-build-system)
2281 (native-inputs
2282 `(("perl" ,perl)
2283 ("intltool" ,intltool)))
3e6add96
LC
2284 (arguments
2285 '(#:phases (modify-phases %standard-phases
2286 (add-after 'configure 'use-our-intltool
2287 (lambda _
2288 ;; Do not use the bundled intltool commands, which lack
2289 ;; the "dotless @INC" fixes of our 'intltool' package.
2290 (substitute* (find-files "." "^Makefile$")
2291 (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
2292 (string-append "INTLTOOL_" tool " = intltool-"
2293 (string-downcase tool) "\n")))
2294 #t)))))
f032d0be 2295 (home-page "https://www.gnome.org")
35b9e423 2296 (synopsis "Base MIME and Application database for GNOME")
5698b8b8
JD
2297 (description "GNOME Mime Data is a module which contains the base MIME
2298and Application database for GNOME. The data stored by this module is
2299designed to be accessed through the MIME functions in GnomeVFS.")
2300 (license license:gpl2+)))
2301
2302
2303(define-public gnome-vfs
2304 (package
2305 (name "gnome-vfs")
2306 (version "2.24.4")
2307 (source (origin
2308 (method url-fetch)
b38e45d8
EB
2309 (uri (string-append "mirror://gnome/sources/" name "/"
2310 (version-major+minor version) "/"
2311 name "-" version ".tar.bz2"))
5698b8b8 2312 (sha256
9e12bc34
MW
2313 (base32
2314 "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"))))
5698b8b8
JD
2315 (build-system gnu-build-system)
2316 (arguments
db5127d8 2317 `(#:phases
dc1d3cde
KK
2318 (modify-phases %standard-phases
2319 (add-before 'configure 'ignore-deprecations
2320 (lambda _
2321 (substitute* '("libgnomevfs/Makefile.in"
2322 "daemon/Makefile.in")
2323 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2324 #t))
2325 (add-before 'configure 'patch-test-async-cancel-to-never-fail
2326 (lambda _
2327 (substitute* "test/test-async-cancel.c"
2328 (("EXIT_FAILURE") "77"))
2329 #t)))))
2e6ecc5c 2330 (inputs `(("libxml2" ,libxml2)
5698b8b8 2331 ("dbus-glib" ,dbus-glib)
5698b8b8
JD
2332 ("gconf" ,gconf)
2333 ("gnome-mime-data" ,gnome-mime-data)
2334 ("zlib" ,zlib)))
2335 (native-inputs
221ed17a
EB
2336 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2337 ("intltool" ,intltool)
5698b8b8
JD
2338 ("pkg-config" ,pkg-config)))
2339 (home-page "https://developer.gnome.org/gnome-vfs/")
35b9e423 2340 (synopsis "Access files and folders in GNOME applications")
9e12bc34
MW
2341 (description
2342 "GnomeVFS is the core library used to access files and folders in GNOME
2343applications. It provides a file system abstraction which allows applications
2344to access local and remote files with a single consistent API.")
5698b8b8
JD
2345 (license license:lgpl2.0+)))
2346
2347
2348
2349(define-public libgnome
2350 (package
2351 (name "libgnome")
2352 (version "2.32.1")
2353 (source (origin
2354 (method url-fetch)
b38e45d8
EB
2355 (uri (string-append "mirror://gnome/sources/" name "/"
2356 (version-major+minor version) "/"
2357 name "-" version ".tar.bz2"))
5698b8b8
JD
2358 (sha256
2359 (base32
17c3eea7
LC
2360 "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"))
2361 (patches (search-patches "libgnome-encoding.patch"))))
5698b8b8
JD
2362 (build-system gnu-build-system)
2363 (arguments
2364 `(#:phases
dc1d3cde
KK
2365 (modify-phases %standard-phases
2366 (add-before 'configure 'enable-deprecated
2367 (lambda _
2368 (substitute* "libgnome/Makefile.in"
2369 (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
2370 #t)))))
25338e9f 2371 (inputs `(("libxml2" ,libxml2)))
5698b8b8 2372 (native-inputs
221ed17a
EB
2373 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2374 ("intltool" ,intltool)
5698b8b8
JD
2375 ("pkg-config" ,pkg-config)))
2376 ;; The following are listed as Required in the .pc file
2377 ;; (except for libcanberra -- which seems to be oversight on the part
2378 ;; of the upstream developers -- anything that links against libgnome,
2379 ;; must also link against libcanberra
2380 (propagated-inputs
2381 `(("libcanberra" ,libcanberra)
2382 ("libbonobo" ,libbonobo)
2383 ("gconf" ,gconf)
a640d3d5
LC
2384 ("gnome-vfs" ,gnome-vfs)
2385 ("popt" ,popt))) ;gnome-program.h includes popt.h
5698b8b8
JD
2386 (home-page "https://developer.gnome.org/libgnome/")
2387 (synopsis "Useful routines for building applications")
2388 (description "The libgnome library provides a number of useful routines
2389for building modern applications, including session management, activation of
2390files and URIs, and displaying help.")
2391 (license license:lgpl2.0+)))
2392
2393
2394(define-public libart-lgpl
2395 (package
2396 (name "libart-lgpl")
76c9b6aa 2397 (version "2.3.21")
5698b8b8
JD
2398 (source (origin
2399 (method url-fetch)
2400 (uri (let ((upstream-name "libart_lgpl"))
b38e45d8
EB
2401 (string-append "mirror://gnome/sources/" upstream-name "/"
2402 (version-major+minor version) "/"
2403 upstream-name "-" version ".tar.bz2")))
5698b8b8
JD
2404 (sha256
2405 (base32
76c9b6aa 2406 "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx"))))
5698b8b8
JD
2407 (build-system gnu-build-system)
2408 (native-inputs
2409 `(("pkg-config" ,pkg-config)))
2410 (home-page "https://people.gnome.org/~mathieu/libart")
2411 (synopsis "2D drawing library")
2e6ecc5c 2412 (description "Libart is a 2D drawing library intended as a
5698b8b8
JD
2413high-quality vector-based 2D library with antialiasing and alpha composition.")
2414 (license license:lgpl2.0+)))
2415
2416
2417
2418(define-public libgnomecanvas
2419 (package
2420 (name "libgnomecanvas")
2421 (version "2.30.3")
2422 (source (origin
2423 (method url-fetch)
b38e45d8
EB
2424 (uri (string-append "mirror://gnome/sources/" name "/"
2425 (version-major+minor version) "/"
2426 name "-" version ".tar.gz"))
5698b8b8
JD
2427 (sha256
2428 (base32
2429 "1nhnq4lfkk8ljkdafscwaggx0h95mq0rxnd7zgqyq0xb6kkqbjm8"))))
2430 (build-system gnu-build-system)
2431 ;; Mentioned as Required in the .pc file
2432 (propagated-inputs `(("libart-lgpl" ,libart-lgpl)
2433 ("gtk+" ,gtk+-2)))
2434 (native-inputs
2435 `(("intltool" ,intltool)
221ed17a 2436 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2437 ("pkg-config" ,pkg-config)))
2438 (home-page "https://developer.gnome.org/libgnomecanvas/")
2439 (synopsis "Flexible widget for creating interactive structured graphics")
2440 (description "The GnomeCanvas widget provides a flexible widget for
2441creating interactive structured graphics.")
2442 (license license:lgpl2.0+)))
2443
eadc734e
RW
2444(define-public libgnomecanvasmm
2445 (package
2446 (name "libgnomecanvasmm")
2447 (version "2.26.0")
2448 (source (origin
2449 (method url-fetch)
2450 (uri (string-append "mirror://gnome/sources/" name "/"
2451 (version-major+minor version) "/"
2452 name "-" version ".tar.bz2"))
2453 (sha256
2454 (base32
2455 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
2456 (build-system gnu-build-system)
2457 (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
2458 (native-inputs
2459 `(("gtkmm-2" ,gtkmm-2)
2460 ("pkg-config" ,pkg-config)))
8e933cb3 2461 (home-page "https://gtkmm.org")
eadc734e
RW
2462 (synopsis "C++ bindings to the GNOME Canvas library")
2463 (description "C++ bindings to the GNOME Canvas library.")
2464 (license license:lgpl2.0+)))
2465
5698b8b8
JD
2466(define-public libgnomeui
2467 (package
2468 (name "libgnomeui")
2469 (version "2.24.5")
2470 (source (origin
2471 (method url-fetch)
b38e45d8
EB
2472 (uri (string-append "mirror://gnome/sources/" name "/"
2473 (version-major+minor version) "/"
2474 name "-" version ".tar.bz2"))
8fa1872a 2475 (patches (search-patches "libgnomeui-utf8.patch"))
5698b8b8
JD
2476 (sha256
2477 (base32
2478 "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf"))))
2479 (build-system gnu-build-system)
2480 ;; Mentioned as Required in the .pc file
0a38a497
AE
2481 (propagated-inputs `(("libbonoboui" ,libbonoboui)
2482 ("libgnome" ,libgnome)
2483 ("libgnomecanvas" ,libgnomecanvas)
5698b8b8 2484 ("libgnome-keyring" ,libgnome-keyring)))
0a38a497 2485 (inputs `(("libjpeg" ,libjpeg)
5698b8b8
JD
2486 ("popt" ,popt)
2487 ("libbonobo" ,libbonobo)
2488 ("libxml2" ,libxml2)
2489 ("libglade" ,libglade)))
2490 (native-inputs
221ed17a
EB
2491 `(("glib" ,glib "bin") ; for glib-mkenums, etc.
2492 ("intltool" ,intltool)
5698b8b8
JD
2493 ("pkg-config" ,pkg-config)))
2494 (home-page "https://developer.gnome.org/libgnomeui/")
2495 (synopsis "Additional widgets for applications")
35b9e423 2496 (description "The libgnomeui library provides additional widgets for
e881752c
AK
2497applications. Many of the widgets from libgnomeui have already been
2498ported to GTK+.")
5698b8b8
JD
2499 (license license:lgpl2.0+)))
2500
2501(define-public libglade
2502 (package
2503 (name "libglade")
2504 (version "2.6.4")
2505 (source (origin
2506 (method url-fetch)
b38e45d8
EB
2507 (uri (string-append "mirror://gnome/sources/" name "/"
2508 (version-major+minor version) "/"
2509 name "-" version ".tar.bz2"))
5698b8b8
JD
2510 (sha256
2511 (base32
2512 "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"))))
2513 (build-system gnu-build-system)
2514 (inputs
92dcc23d
AE
2515 `(("python" ,python))) ;; needed for the optional libglade-convert program
2516 (propagated-inputs
5698b8b8 2517 `(("gtk+-2" ,gtk+-2)
92dcc23d 2518 ("libxml2" ,libxml2))) ; required by libglade-2.0.pc
5698b8b8
JD
2519 (native-inputs
2520 `(("pkg-config" ,pkg-config)))
2521 (home-page "https://developer.gnome.org/libglade")
35b9e423
EB
2522 (synopsis "Load glade interfaces and access the glade built widgets")
2523 (description "Libglade is a library that provides interfaces for loading
5698b8b8
JD
2524graphical interfaces described in glade files and for accessing the
2525widgets built in the loading process.")
2526 (license license:gpl2+))) ; This is correct. GPL not LGPL
2527
2528(define-public libgnomeprint
eb497b66
LC
2529 ;; This library has been deprecated since 2006; see
2530 ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>.
5698b8b8
JD
2531 (package
2532 (name "libgnomeprint")
d19db454 2533 (version "2.18.8")
5698b8b8
JD
2534 (source (origin
2535 (method url-fetch)
b38e45d8
EB
2536 (uri (string-append "mirror://gnome/sources/" name "/"
2537 (version-major+minor version) "/"
2538 name "-" version ".tar.bz2"))
5698b8b8
JD
2539 (sha256
2540 (base32
d19db454 2541 "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h"))))
5698b8b8
JD
2542 (build-system gnu-build-system)
2543 (inputs
2544 `(("popt" ,popt)
2545 ("libart-lgpl" ,libart-lgpl)
2546 ("gtk+" ,gtk+-2)
44add1ce 2547 ("libxml2" ,libxml2)))
5698b8b8
JD
2548 (native-inputs
2549 `(("intltool" ,intltool)
221ed17a 2550 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
5698b8b8
JD
2551 ("pkg-config" ,pkg-config)))
2552 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
35b9e423 2553 (synopsis "Printing framework for GNOME")
eb497b66
LC
2554 (description
2555 "GNOME-print was a printing framework for GNOME. It has been deprecated
2556since ca. 2006, when GTK+ itself incorporated printing support.")
5698b8b8
JD
2557 (license license:lgpl2.0+)))
2558
2559
2560(define-public libgnomeprintui
eb497b66 2561 ;; Deprecated; see libgnomeprint.
5698b8b8
JD
2562 (package
2563 (name "libgnomeprintui")
36053d7f 2564 (version "2.18.6")
5698b8b8
JD
2565 (source (origin
2566 (method url-fetch)
b38e45d8
EB
2567 (uri (string-append "mirror://gnome/sources/" name "/"
2568 (version-major+minor version) "/"
2569 name "-" version ".tar.bz2"))
5698b8b8
JD
2570 (sha256
2571 (base32
36053d7f 2572 "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm"))))
5698b8b8
JD
2573 (build-system gnu-build-system)
2574 ;; Mentioned as Required in the .pc file
2575 (propagated-inputs `(("libgnomeprint" ,libgnomeprint)))
2576 (inputs `(("gtk+" ,gtk+-2)
2577 ("glib" ,glib)
2578 ("gnome-icon-theme" ,gnome-icon-theme)
2579 ("libgnomecanvas" ,libgnomecanvas)
2e6ecc5c 2580 ("libxml2" ,libxml2)))
5698b8b8
JD
2581 (native-inputs
2582 `(("intltool" ,intltool)
2583 ("pkg-config" ,pkg-config)))
2584 (home-page "https://projects.gnome.org/gnome-print/home/faq.html")
2585 (synopsis "Printing framework for GNOME")
eb497b66 2586 (description (package-description libgnomeprint))
5698b8b8
JD
2587 (license license:lgpl2.0+)))
2588
5698b8b8
JD
2589(define-public libbonoboui
2590 (package
2591 (name "libbonoboui")
2592 (version "2.24.5")
2593 (source (origin
2594 (method url-fetch)
b38e45d8
EB
2595 (uri (string-append "mirror://gnome/sources/" name "/"
2596 (version-major+minor version) "/"
2597 name "-" version ".tar.bz2"))
5698b8b8
JD
2598 (sha256
2599 (base32
2600 "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs"))))
2601 (build-system gnu-build-system)
2602 (arguments
2603 `(#:phases
dc1d3cde
KK
2604 (modify-phases %standard-phases
2605 (add-before 'check 'start-xserver
2606 (lambda* (#:key inputs #:allow-other-keys)
2607 (let ((xorg-server (assoc-ref inputs "xorg-server"))
2608 (disp ":1"))
2609
2610 (setenv "HOME" (getcwd))
2611 (setenv "DISPLAY" disp)
2612 ;; There must be a running X server and make check doesn't start one.
2613 ;; Therefore we must do it.
2614 (zero? (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)))))))))
5698b8b8
JD
2615 ;; Mentioned as Required by the .pc file
2616 (propagated-inputs `(("libxml2" ,libxml2)))
2617 (inputs
2618 `(("popt" ,popt)
2619 ("pangox-compat" ,pangox-compat)
2620 ("libgnome" ,libgnome)
2621 ("libgnomecanvas" ,libgnomecanvas)
2622 ("libglade" ,libglade)))
2623 (native-inputs
221ed17a
EB
2624 `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
2625 ("intltool" ,intltool)
ff337525 2626 ("xorg-server" ,xorg-server-for-tests) ; For running the tests
5698b8b8
JD
2627 ("pkg-config" ,pkg-config)))
2628 (home-page "https://developer.gnome.org/libbonoboui/")
2629 (synopsis "Some user interface controls using Bonobo")
2630 (description "The Bonobo UI library provides a number of user interface
2631controls using the Bonobo component framework.")
2632 (license license:lgpl2.0+)))
2633
fecbf86e
SB
2634(define-public libwnck
2635 (package
2636 (name "libwnck")
d3b40696 2637 (version "3.32.0")
fecbf86e
SB
2638 (source (origin
2639 (method url-fetch)
2640 (uri (string-append "mirror://gnome/sources/" name "/"
2641 (version-major+minor version) "/"
2642 name "-" version ".tar.xz"))
2643 (sha256
ad9b8987 2644 (base32
d3b40696
KK
2645 "1jp3p1lnwnwi6fxl2rz3166cmwzwy9vqz896anpwc3wdy9f875cm"))))
2646 (build-system meson-build-system)
fecbf86e
SB
2647 (native-inputs
2648 `(("pkg-config" ,pkg-config)
d3b40696
KK
2649 ("glib" ,glib "bin") ; for glib-mkenums
2650 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
fecbf86e
SB
2651 ("intltool" ,intltool)))
2652 (propagated-inputs
427476d5
SB
2653 `(("gtk+" ,gtk+)
2654 ("libxres" ,libxres)
2655 ("startup-notification" ,startup-notification)))
fecbf86e
SB
2656 (home-page "https://developer.gnome.org/libwnck/")
2657 (synopsis "Window Navigator Construction Kit")
2658 (description
2659 "Libwnck is the Window Navigator Construction Kit, a library for use in
2660writing pagers, tasklists, and more generally applications that are dealing
2661with window management. It tries hard to respect the Extended Window Manager
2662Hints specification (EWMH).")
2663 (license license:lgpl2.0+)))
2664
2665;; stable version for gtk2, required by xfwm4.
dbb7a081 2666(define-public libwnck-2
fecbf86e
SB
2667 (package (inherit libwnck)
2668 (name "libwnck")
2669 (version "2.30.7")
2670 (source (origin
2671 (method url-fetch)
2672 (uri (string-append "mirror://gnome/sources/" name "/"
2673 (version-major+minor version) "/"
2674 name "-" version ".tar.xz"))
2675 (sha256
2676 (base32
2677 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b"))))
ba7fed8e
MÁAV
2678 (build-system gnu-build-system)
2679 (native-inputs
2680 `(("pkg-config" ,pkg-config)
2681 ("intltool" ,intltool)))
fecbf86e 2682 (propagated-inputs
427476d5
SB
2683 `(("gtk+" ,gtk+-2)
2684 ("libxres" ,libxres)
2685 ("startup-notification" ,startup-notification)))))
b804c61e
JD
2686
2687(define-public goffice
2688 (package
2689 (name "goffice")
09abffcc 2690 (version "0.10.46")
b804c61e
JD
2691 (source (origin
2692 (method url-fetch)
16243f0b 2693 (uri (string-append "mirror://gnome/sources/goffice/"
b38e45d8 2694 (version-major+minor version) "/"
16243f0b 2695 "goffice-" version ".tar.xz"))
b804c61e 2696 (sha256
09abffcc 2697 (base32 "1a8kba36zwzr0ilafc0d1nsxxma1qibviiifd0jhbxp180x6v385"))))
b804c61e 2698 (build-system gnu-build-system)
72a06d3e 2699 (outputs '("out"
355420c6 2700 "doc")) ; 4.0 MiB of gtk-doc
72a06d3e
LC
2701 (arguments
2702 '(#:configure-flags (list (string-append "--with-html-dir="
2703 (assoc-ref %outputs "doc")
2704 "/share/gtk-doc/html"))))
b804c61e
JD
2705 (inputs
2706 `(("gtk+" ,gtk+)
2707 ("libgsf" ,libgsf)
2708 ("librsvg" ,librsvg)
2709 ("libxslt" ,libxslt)
2710 ("libxml2" ,libxml2)))
2711 (native-inputs
2712 `(("intltool" ,intltool)
f280cdb1 2713 ("glib" ,glib "bin")
b804c61e
JD
2714 ("pkg-config" ,pkg-config)))
2715 (home-page "https://developer.gnome.org/goffice/")
2716 (synopsis "Document-centric objects and utilities")
2717 (description "A GLib/GTK+ set of document-centric objects and utilities.")
2e6ecc5c 2718 (license
b804c61e
JD
2719 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
2720 ;; Note: NOT LGPL
2721 (list license:gpl2 license:gpl3))))
2722
c024ae36
RW
2723(define-public goffice-0.8
2724 (package (inherit goffice)
2725 (version "0.8.17")
2726 (source (origin
2727 (method url-fetch)
2728 (uri (string-append "mirror://gnome/sources/" (package-name goffice) "/"
2729 (version-major+minor version) "/"
2730 (package-name goffice) "-" version ".tar.xz"))
2731 (sha256
2732 (base32 "05fvzbs5bin05bbsr4dp79aiva3lnq0a3a40zq55i13vnsz70l0n"))))
2733 (arguments
2734 `(#:phases
dc1d3cde
KK
2735 (modify-phases %standard-phases
2736 (add-after 'unpack 'fix-pcre-check
2737 (lambda _
2738 ;; Only glib.h can be included directly. See
2739 ;; https://bugzilla.gnome.org/show_bug.cgi?id=670316
2740 (substitute* "configure"
2741 (("glib/gregex\\.h") "glib.h")) #t)))
72a06d3e
LC
2742
2743 ,@(package-arguments goffice)))
c024ae36
RW
2744 (propagated-inputs
2745 ;; libgoffice-0.8.pc mentions libgsf-1
2746 `(("libgsf" ,libgsf)))
2747 (inputs
2748 `(("gtk" ,gtk+-2)
2749 ,@(alist-delete "gtk" (package-inputs goffice))))))
2750
b804c61e
JD
2751(define-public gnumeric
2752 (package
2753 (name "gnumeric")
f0517b5d 2754 (version "1.12.46")
b804c61e
JD
2755 (source (origin
2756 (method url-fetch)
b7fd0217 2757 (uri (string-append "mirror://gnome/sources/gnumeric/"
b38e45d8 2758 (version-major+minor version) "/"
b7fd0217 2759 "gnumeric-" version ".tar.xz"))
b804c61e
JD
2760 (sha256
2761 (base32
f0517b5d 2762 "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z"))))
bd1b1e05 2763 (build-system glib-or-gtk-build-system)
b804c61e
JD
2764 (arguments
2765 `(;; The gnumeric developers don't worry much about failing tests.
2766 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
2e6ecc5c 2767 #:tests? #f
b804c61e 2768 #:phases
7bcbd40d
EF
2769 (modify-phases %standard-phases
2770 (add-before
2771 'configure 'pre-conf
2772 (lambda* (#:key outputs #:allow-other-keys)
2773 ;; Make install tries to write into the directory of goffice
2774 ;; I am informed that this only affects the possibility to embed a
2775 ;; spreadsheet inside an Abiword document. So presumably when we
2776 ;; package Abiword we'll have to refer it to this directory.
2777 (substitute* "configure"
2778 (("^GOFFICE_PLUGINS_DIR=.*")
2779 (string-append "GOFFICE_PLUGINS_DIR="
2780 (assoc-ref outputs "out")
2781 "/goffice/plugins"))))))))
b804c61e
JD
2782 (inputs
2783 `(("glib" ,glib)
2784 ("gtk+" ,gtk+)
2785 ("goffice" ,goffice)
2786 ("libgsf" ,libgsf)
7bcbd40d 2787 ("librsvg" ,librsvg)
b804c61e 2788 ("libxml2" ,libxml2)
7bcbd40d 2789 ("libxslt" ,libxslt)
2e4c5457 2790 ("python" ,python-2)
6983ba56 2791 ("python2-pygobject" ,python2-pygobject)
b804c61e
JD
2792 ("zlib" ,zlib)))
2793 (native-inputs
6983ba56 2794 `(("bison" ,bison)
1ed398d1 2795 ("docbook-xml" ,docbook-xml)
6983ba56 2796 ("intltool" ,intltool)
3a2efbc8 2797 ("itstool" ,itstool/fixed) ;see <https://bugs.gnu.org/37468>
b9663471 2798 ("glib:bin" ,glib "bin")
b804c61e
JD
2799 ("pkg-config" ,pkg-config)))
2800 (home-page "http://www.gnumeric.org")
66672a45
LC
2801 (synopsis "Spreadsheet application")
2802 (description
2803 "GNUmeric is a GNU spreadsheet application, running under GNOME. It is
2804interoperable with other spreadsheet applications. It has a vast array of
2805features beyond typical spreadsheet functionality, such as support for linear
2806and non-linear solvers, statistical analysis, and telecommunication
2807engineering.")
2808 (license
b804c61e
JD
2809 ;; Dual licensed under GPLv2 or GPLv3 (both without "or later")
2810 (list license:gpl2 license:gpl3))))
6f885c05
FB
2811
2812(define-public gnome-themes-standard
2813 (package
2814 (name "gnome-themes-standard")
0b7b8fb0 2815 (version "3.22.3")
6f885c05
FB
2816 (source
2817 (origin
2818 (method url-fetch)
2e6ecc5c 2819 (uri (string-append "mirror://gnome/sources/" name "/"
6f885c05
FB
2820 (version-major+minor version) "/" name "-"
2821 version ".tar.xz"))
2822 (sha256
2823 (base32
0b7b8fb0 2824 "0smmiamrgcgf5sa88bsn8hwmvsyx4gczzs359nwxbkv14b2qgp31"))))
6f885c05 2825 (build-system gnu-build-system)
8ac70c7f
SB
2826 (arguments
2827 '(#:configure-flags
2828 ;; Don't create 'icon-theme.cache'.
2829 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
2830 (true (string-append coreutils "/bin/true")))
2831 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
6f885c05
FB
2832 (inputs
2833 `(("gtk+" ,gtk+)
2834 ("gtk+-2" ,gtk+-2)
2835 ("librsvg" ,librsvg)
2836 ("libxml2" ,libxml2)
2837 ("glib" ,glib)))
2838 (native-inputs
2839 `(("intltool" ,intltool)
2840 ("glib:bin" ,glib "bin")
2841 ("pkg-config" ,pkg-config)))
6f885c05
FB
2842 (home-page "https://launchpad.net/gnome-themes-standard")
2843 (synopsis "Default GNOME 3 themes")
2844 (description
2845 "The default GNOME 3 themes (Adwaita and some accessibility themes).")
2846 (license license:lgpl2.1+)))
5a659a48 2847
df90c701
RW
2848(define-public seahorse
2849 (package
2850 (name "seahorse")
bcea3c11 2851 (version "3.32.2")
df90c701
RW
2852 (source
2853 (origin
2854 (method url-fetch)
2855 (uri (string-append "mirror://gnome/sources/" name "/"
2856 (version-major+minor version) "/" name "-"
2857 version ".tar.xz"))
2858 (sha256
2859 (base32
bcea3c11 2860 "0d8zdzmlz7fjv9xl20zl4ckidf465mvdjnbpxy3k08y9iw423q4x"))
af561664
MÁAV
2861 (patches (search-patches
2862 "seahorse-gkr-use-0-on-empty-flags.patch"))))
2863 (build-system meson-build-system)
2864 (arguments
bcea3c11
KK
2865 '(#:glib-or-gtk? #t
2866 #:phases
af561664
MÁAV
2867 (modify-phases %standard-phases
2868 (add-after 'unpack 'skip-gtk-update-icon-cache
2869 ;; Don't create 'icon-theme.cache'.
2870 (lambda _
2871 (substitute* "build-aux/meson_post_install.py"
2872 (("gtk-update-icon-cache") "true"))
2873 #t)))))
df90c701
RW
2874 (inputs
2875 `(("gtk+" ,gtk+)
2876 ("gcr" ,gcr)
34b979b9 2877 ("gnupg" ,gnupg)
df90c701 2878 ("gpgme" ,gpgme)
34b979b9 2879 ("openldap" ,openldap)
4a1bf090 2880 ("openssh" ,openssh)
af561664 2881 ("avahi" ,avahi)
bcea3c11 2882 ("libpwquality" ,libpwquality)
34b979b9
EF
2883 ("libsecret" ,libsecret)
2884 ("libsoup" ,libsoup)))
df90c701 2885 (native-inputs
af561664 2886 `(("gettext" ,gettext-minimal)
df90c701
RW
2887 ("glib:bin" ,glib "bin")
2888 ("itstool" ,itstool)
bcb354ad 2889 ("pkg-config" ,pkg-config)
af561664 2890 ("vala" ,vala)
bcb354ad 2891 ("xmllint" ,libxml2)))
bcea3c11 2892 (home-page "https://wiki.gnome.org/Apps/Seahorse")
df90c701
RW
2893 (synopsis "Manage encryption keys and passwords in the GNOME keyring")
2894 (description
2895 "Seahorse is a GNOME application for managing encryption keys and
2896passwords in the GNOME keyring.")
2897 (license license:gpl2+)))
2898
5a659a48
SB
2899(define-public vala
2900 (package
2901 (name "vala")
2d6872f6 2902 (version "0.44.5")
5a659a48
SB
2903 (source (origin
2904 (method url-fetch)
2905 (uri (string-append "mirror://gnome/sources/" name "/"
2906 (version-major+minor version) "/"
2907 name "-" version ".tar.xz"))
2908 (sha256
2909 (base32
2d6872f6 2910 "0zy2kfcvhikczfzhk5l7pkw6mvn3d6vw8cv7g08iah85p22q33xv"))))
5a659a48 2911 (build-system gnu-build-system)
1ea90625
SB
2912 (arguments
2913 '(#:phases
2914 (modify-phases %standard-phases
f4925a4f 2915 (add-before 'check 'pre-check
1ea90625
SB
2916 (lambda _
2917 (setenv "CC" "gcc")
8839b6be
RW
2918 (substitute* "valadoc/tests/testrunner.sh"
2919 (("export PKG_CONFIG_PATH=" m)
2920 (string-append m "$PKG_CONFIG_PATH:")))
f4925a4f
SB
2921 ;; For missing '/etc/machine-id'.
2922 (setenv "DBUS_FATAL_WARNINGS" "0")
8839b6be 2923 #t)))))
5a659a48
SB
2924 (native-inputs
2925 `(("pkg-config" ,pkg-config)
2926 ("flex" ,flex)
2927 ("bison" ,bison)
2928 ("xsltproc" ,libxslt)
2929 ("dbus" ,dbus) ; for dbus tests
2930 ("gobject-introspection" ,gobject-introspection))) ; for gir tests
8839b6be
RW
2931 (inputs
2932 `(("graphviz" ,graphviz)))
5a659a48 2933 (propagated-inputs
8839b6be 2934 `(("glib" ,glib))) ; required by libvala-0.40.pc
f032d0be 2935 (home-page "https://live.gnome.org/Vala/")
5a659a48
SB
2936 (synopsis "Compiler for the GObject type system")
2937 (description
2938 "Vala is a programming language that aims to bring modern programming
2939language features to GNOME developers without imposing any additional runtime
2940requirements and without using a different ABI compared to applications and
2941libraries written in C.")
2942 (license license:lgpl2.1+)))
ea57378f
SB
2943
2944(define-public vte
2945 (package
2946 (name "vte")
68c47474 2947 (version "0.58.3")
ea57378f
SB
2948 (source (origin
2949 (method url-fetch)
ac87ffb8 2950 (uri (string-append "mirror://gnome/sources/vte/"
ea57378f 2951 (version-major+minor version) "/"
ac87ffb8 2952 "vte-" version ".tar.xz"))
ea57378f
SB
2953 (sha256
2954 (base32
68c47474
TGR
2955 "0xa9ipwic4jnhhbzlnqbhssz10xkzv61cpkl1ammc6mdq95bbp12"))))
2956 (build-system meson-build-system)
ea57378f
SB
2957 (native-inputs
2958 `(("pkg-config" ,pkg-config)
2959 ("intltool" ,intltool)
2960 ("vala" ,vala)
2961 ("gobject-introspection" ,gobject-introspection)
68c47474 2962 ("glib" ,glib "bin") ; for glib-genmarshal, etc.
73f0e1ab 2963 ("gperf" ,gperf)
ea57378f
SB
2964 ("xmllint" ,libxml2)))
2965 (propagated-inputs
68c47474
TGR
2966 `(("gtk+" ,gtk+) ; required by vte-2.91.pc
2967 ("gnutls" ,gnutls) ; ditto
2968 ("pcre2" ,pcre2))) ; ditto
f032d0be 2969 (home-page "https://www.gnome.org/")
ea57378f
SB
2970 (synopsis "Virtual Terminal Emulator")
2971 (description
2972 "VTE is a library (libvte) implementing a terminal emulator widget for
2973GTK+, and a minimal sample application (vte) using that. Vte is mainly used in
2974gnome-terminal, but can also be used to embed a console/terminal in games,
2975editors, IDEs, etc.")
2976 (license license:lgpl2.1+)))
2977
c44fb4df
MO
2978(define-public vte-ng
2979 (package
2980 (inherit vte)
2981 (name "vte-ng")
24f4fcbe 2982 (version "0.58.2.a")
afd90f8d 2983 (home-page "https://github.com/thestinger/vte-ng")
6bc00737
MB
2984 (source (origin
2985 (method git-fetch)
2986 (uri (git-reference (url home-page) (commit version)))
2987 (file-name (git-file-name name version))
2988 (sha256
2989 (base32
24f4fcbe
MB
2990 "0rnm5c6m3abbm81jsfdas0y80z299ny54gr4syn4bfrms3s4g19l"))))
2991 (build-system meson-build-system)
c44fb4df
MO
2992 (native-inputs
2993 `(("gtk-doc" ,gtk-doc)
c44fb4df 2994 ,@(package-native-inputs vte)))
c44fb4df 2995 (arguments
24f4fcbe 2996 `(#:configure-flags '("-Ddocs=true")))
c44fb4df
MO
2997 (synopsis "Enhanced VTE terminal widget")
2998 (description
2999 "VTE is a library (libvte) implementing a terminal emulator widget for
3000GTK+, this fork provides additional functions exposed for keyboard text
3001selection and URL hints.")))
3002
2776d72c
EF
3003;; provides vte 2.90, required for some terminal emulators
3004;; tilda bug: https://github.com/lanoxx/tilda/issues/94
3005;; pantheon-terminal bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788021
3006;; roxterm bug: http://sourceforge.net/p/roxterm/bugs/107/
3007;; pantheon-terminal, roxterm are not currently packaged
3008(define-public vte-0.36
3009 (package (inherit vte)
3010 (name "vte")
3011 (version "0.36.5")
3012 (source (origin
3013 (method url-fetch)
3014 (uri (string-append "mirror://gnome/sources/" name "/"
3015 (version-major+minor version) "/"
3016 name "-" version ".tar.xz"))
3017 (sha256
3018 (base32
3019 "1psfnqsmxx4qzc55qwvb8jai824ix4pqcdqhgxk0g2zh82bcxhn2"))))
3020 (propagated-inputs
3021 `(("gtk" ,gtk+)
3022 ("ncurses" ,ncurses)))))
3023
ea57378f
SB
3024;; stable version for gtk2, required by xfce4-terminal.
3025(define-public vte/gtk+-2
3026 (package (inherit vte)
3027 (name "vte")
3028 (version "0.28.2")
3029 (source (origin
3030 (method url-fetch)
3031 (uri (string-append "mirror://gnome/sources/" name "/"
3032 (version-major+minor version) "/"
3033 name "-" version ".tar.xz"))
3034 (sha256
3035 (base32
7d48938a
EF
3036 "1bmhahkf8wdsra9whd3k5l5z4rv7r58ksr8mshzajgq2ma0hpkw6"))
3037 (patches (search-patches
3038 "vte-CVE-2012-2738-pt1.patch"
3039 "vte-CVE-2012-2738-pt2.patch"))))
8eebde74 3040 (build-system gnu-build-system)
ea57378f
SB
3041 (arguments
3042 '(#:configure-flags '("--disable-python")))
3043 (native-inputs
3044 `(("pkg-config" ,pkg-config)
3045 ("intltool" ,intltool)
3046 ("glib" ,glib "bin"))) ; for glib-genmarshal, etc.
3047 (propagated-inputs
3048 `(("gtk+" ,gtk+-2) ; required by libvte.pc
3049 ("ncurses" ,ncurses))))) ; required by libvte.la
b47e1b20 3050
cce0da5e
TD
3051(define-public vinagre
3052 (package
3053 (name "vinagre")
3054 (version "3.22.0")
3055 (source (origin
3056 (method url-fetch)
3057 (uri (string-append "mirror://gnome/sources/" name "/"
3058 (version-major+minor version) "/"
3059 name "-" version ".tar.xz"))
684f97f8
EF
3060 (patches (search-patches "vinagre-newer-freerdp.patch"
3061 "vinagre-newer-rdp-parameters.patch"))
cce0da5e
TD
3062 (sha256
3063 (base32
3064 "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
3065 (build-system glib-or-gtk-build-system)
684f97f8 3066 (arguments
7f486d25
MC
3067 ;; Disable -Werror and such, to avoid build failures on compilation
3068 ;; warnings.
3069 '(#:configure-flags '("--enable-compile-warnings=minimum")
3070 #:phases
684f97f8 3071 (modify-phases %standard-phases
1839768c
EF
3072 (add-before 'install 'skip-gtk-update-icon-cache
3073 (lambda _
3074 ;; Don't create 'icon-theme.cache'
3075 (substitute* (find-files "." "^Makefile$")
3076 (("gtk-update-icon-cache") (which "true")))
3077 #t))
684f97f8
EF
3078 (add-after 'unpack 'patch-configure
3079 (lambda _
3080 (substitute* "configure"
3081 (("freerdp") "freerdp2"))
3082 #t)))))
cce0da5e
TD
3083 (native-inputs
3084 `(("pkg-config" ,pkg-config)
3085 ("intltool" ,intltool)
3086 ("itstool" ,itstool)
1839768c 3087 ("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
cce0da5e
TD
3088 (inputs
3089 `(("libxml2" ,libxml2)
3090 ("gtk-vnc" ,gtk-vnc)
3091 ("gnome-keyring" ,gnome-keyring)
3092 ("libsecret" ,libsecret)
3093 ("freerdp" ,freerdp)
3094 ("spice" ,spice)
3095 ("spice-gtk" ,spice-gtk)
3096 ("telepathy-glib" ,telepathy-glib)
3097 ("vte" ,vte)))
cce0da5e
TD
3098 (home-page "https://wiki.gnome.org/Apps/Vinagre")
3099 (synopsis "Remote desktop viewer for GNOME")
3100 (description "Vinagre is a remote display client supporting the VNC, SPICE
3101and RDP protocols.")
3102 (license license:gpl3+)))
3103
b47e1b20
FB
3104(define-public dconf
3105 (package
3106 (name "dconf")
1e33331c 3107 (version "0.32.0")
b47e1b20
FB
3108 (source (origin
3109 (method url-fetch)
3110 (uri (string-append
2e6ecc5c 3111 "mirror://gnome/sources/" name "/"
b47e1b20
FB
3112 (version-major+minor version) "/"
3113 name "-" version ".tar.xz"))
3114 (sha256
f05c809f 3115 (base32
1e33331c 3116 "1azz4hb9z76yxn34yrrsiib3iqz5z4vpwn5q7cncp55w365ygg38"))))
35fa923d 3117 (build-system meson-build-system)
bc036f4c
MB
3118 (propagated-inputs
3119 ;; In Requires of dconf.pc.
3120 `(("glib" ,glib)))
b47e1b20
FB
3121 (inputs
3122 `(("gtk+" ,gtk+)
bc036f4c 3123 ("dbus" ,dbus)))
b47e1b20 3124 (native-inputs
1e33331c
MB
3125 `(("bash-completion" ,bash-completion)
3126 ("libxslt" ,libxslt) ;for xsltproc
bc036f4c 3127 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
b47e1b20
FB
3128 ("docbook-xml" ,docbook-xml-4.2)
3129 ("docbook-xsl" ,docbook-xsl)
35fa923d 3130 ("glib:bin" ,glib "bin")
03676d6f 3131 ("gtk-doc" ,gtk-doc)
35fa923d
MB
3132 ("pkg-config" ,pkg-config)
3133 ("vala" ,vala)))
b47e1b20
FB
3134 (arguments
3135 `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id
3136 ; or /etc/machine-id.
35fa923d
MB
3137 #:glib-or-gtk? #t
3138 #:configure-flags '("-Denable-gtk-doc=true")))
b47e1b20
FB
3139 (home-page "https://developer.gnome.org/dconf")
3140 (synopsis "Low-level GNOME configuration system")
3141 (description "Dconf is a low-level configuration system. Its main purpose
3142is to provide a backend to GSettings on platforms that don't already have
3143configuration storage systems.")
e20e6b40 3144 (license license:lgpl2.1+)))
109da1c0
AE
3145
3146(define-public json-glib
3147 (package
3148 (name "json-glib")
4115e8ea 3149 (version "1.4.4")
109da1c0
AE
3150 (source (origin
3151 (method url-fetch)
3152 (uri (string-append "mirror://gnome/sources/" name "/"
3153 (version-major+minor version) "/"
3154 name "-" version ".tar.xz"))
3155 (sha256
3156 (base32
4115e8ea 3157 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
98afa184 3158 (build-system meson-build-system)
109da1c0 3159 (native-inputs
98afa184
MB
3160 `(("gettext" ,gettext-minimal)
3161 ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
109da1c0
AE
3162 ("gobject-introspection" ,gobject-introspection)
3163 ("pkg-config" ,pkg-config)))
3164 (propagated-inputs
88c6b580 3165 `(("glib" ,glib))) ;according to json-glib-1.0.pc
109da1c0
AE
3166 (home-page "https://wiki.gnome.org/Projects/JsonGlib")
3167 (synopsis "Compiler for the GObject type system")
7c125ce0
AK
3168 (description
3169 "JSON-GLib is a C library based on GLib providing serialization and
3170deserialization support for the JavaScript Object Notation (JSON) format
3171described by RFC 4627. It provides parser and generator GObject classes and
3172various wrappers for the complex data types employed by JSON, such as arrays
3173and objects.")
109da1c0 3174 (license license:lgpl2.1+)))
6f96a359
SB
3175
3176(define-public libxklavier
3177 (package
3178 (name "libxklavier")
5f39050b 3179 (version "5.4")
6f96a359 3180 (source (origin
5f39050b 3181 ;; Note: There's no tarball at ftp.gnome.org for this version.
3182 (method git-fetch)
3183 (uri (git-reference
3184 (url "https://anongit.freedesktop.org/git/libxklavier")
3185 (commit (string-append "libxklavier-" version))))
6f96a359
SB
3186 (sha256
3187 (base32
5f39050b 3188 "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a"))
3189 (file-name (git-file-name name version))))
6f96a359
SB
3190 (build-system gnu-build-system)
3191 (arguments
5f39050b 3192 '(#:phases
3193 (modify-phases %standard-phases
3194 (add-after 'unpack 'no-configure
3195 (lambda* _
3196 (setenv "NOCONFIGURE" "1")
3197 #t)))
3198 #:configure-flags
6f96a359
SB
3199 (list (string-append "--with-xkb-base="
3200 (assoc-ref %build-inputs "xkeyboard-config")
5f39050b 3201 "/share/X11/xkb")
3202 "--disable-xmodmap-support")))
6f96a359
SB
3203 (native-inputs
3204 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
3205 ("gobject-introspection" ,gobject-introspection)
5f39050b 3206 ("pkg-config" ,pkg-config)
3207 ("gtk-doc" ,gtk-doc)
3208 ("intltool" ,intltool)
3209 ("which" ,which)
3210 ("autoconf" ,autoconf)
3211 ("automake" ,automake)
3212 ("libtool" ,libtool)))
6f96a359
SB
3213 (propagated-inputs
3214 ;; Required by libxklavier.pc.
3215 `(("glib" ,glib)
3216 ("libxml2" ,libxml2)))
3217 (inputs
3218 `(("iso-codes" ,iso-codes)
3219 ("libxi" ,libxi)
3220 ("libxkbfile" ,libxkbfile)
3221 ("xkbcomp" ,xkbcomp)
3222 ("xkeyboard-config" ,xkeyboard-config)))
57e7d748 3223 (home-page "https://www.freedesktop.org/wiki/Software/LibXklavier/")
6f96a359
SB
3224 (synopsis "High-level API for X Keyboard Extension")
3225 (description
3226 "LibXklavier is a library providing high-level API for X Keyboard
e881752c
AK
3227Extension known as XKB. This library is intended to support XFree86 and other
3228commercial X servers. It is useful for creating XKB-related software (layout
6f96a359
SB
3229indicators etc).")
3230 (license license:lgpl2.0+)))
619936a4
LC
3231
3232(define-public python2-rsvg
3233 ;; XXX: This is actually a subset of gnome-python-desktop.
3234 (package
3235 (name "python2-rsvg")
3236 (version "2.32.0")
3237 (source
3238 (origin
3239 (method url-fetch)
3240 (uri (string-append
3241 "mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
3242 version ".tar.bz2"))
3243 (sha256
3244 (base32
3245 "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
3246 (build-system gnu-build-system)
3247 (native-inputs
3248 `(("pkg-config" ,pkg-config)))
3249 (inputs
3250 `(("python" ,python-2)
3251 ("python2-pygtk" ,python2-pygtk)
3252 ("librsvg" ,librsvg)))
f032d0be 3253 (home-page "https://www.gnome.org")
619936a4
LC
3254 (synopsis "Python bindings to librsvg")
3255 (description
3ad75446 3256 "This package provides Python bindings to librsvg, the SVG rendering
619936a4
LC
3257library.")
3258
3259 ;; This is the license of the rsvg bindings. The license of each module
3260 ;; of gnome-python-desktop is given in 'COPYING'.
3261 (license license:lgpl2.1+)))
a31a6d22 3262
f2ca414a
SB
3263(define-public glib-networking
3264 (package
3265 (name "glib-networking")
0d75c64d 3266 (version "2.60.3")
f2ca414a
SB
3267 (source (origin
3268 (method url-fetch)
3269 (uri (string-append "mirror://gnome/sources/glib-networking/"
3270 (version-major+minor version) "/"
fb8fe1e8 3271 "glib-networking-" version ".tar.xz"))
f2ca414a
SB
3272 (sha256
3273 (base32
0d75c64d 3274 "1mfw44qpmwvz6yzj8c6spx6z357wrmkk15byrkc5byagd82860fm"))))
65211552 3275 (build-system meson-build-system)
f2ca414a 3276 (arguments
0d75c64d 3277 `(#:configure-flags '("-Dlibproxy_support=false")))
f2ca414a
SB
3278 (native-inputs
3279 `(("pkg-config" ,pkg-config)
3280 ("intltool" ,intltool)))
3281 (inputs
3282 `(("glib" ,glib)
3283 ("gnutls" ,gnutls)
4b8f1313 3284 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
f032d0be 3285 (home-page "https://www.gnome.org")
f2ca414a
SB
3286 (synopsis "Network-related GIO modules")
3287 (description
3288 "This package contains various network related extensions for the GIO
3289library.")
3290 (license license:lgpl2.0+)))
3291
ca649680 3292(define-public rest
4510b2da 3293 (package
ca649680 3294 (name "rest")
a4194d16 3295 (version "0.8.1")
4510b2da
SB
3296 (source (origin
3297 (method url-fetch)
3298 (uri (string-append "mirror://gnome/sources/rest/"
ca649680
SB
3299 (version-major+minor version) "/"
3300 name "-" version ".tar.xz"))
4510b2da
SB
3301 (sha256
3302 (base32
a4194d16 3303 "1j81bgqmd55s5lxyaxcplym9n6xywcs1cm9wmvafsg2xiv9sl4q5"))))
4510b2da
SB
3304 (build-system gnu-build-system)
3305 (arguments
3306 '(#:tests? #f ; tests require internet connection
3307 #:configure-flags
3308 '("--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt")))
3309 (native-inputs
3310 `(("glib-mkenums" ,glib "bin")
3311 ("gobject-introspection" ,gobject-introspection)
3312 ("pkg-config" ,pkg-config)))
3313 (propagated-inputs
3314 ;; rest-0.7.pc refers to all these.
3315 `(("glib" ,glib)
3316 ("libsoup" ,libsoup)
3317 ("libxml2" ,libxml2)))
24d6cc1d 3318 (home-page "https://www.gtk.org/")
4510b2da
SB
3319 (synopsis "RESTful web api query library")
3320 (description
3321 "This library was designed to make it easier to access web services that
3322claim to be \"RESTful\". It includes convenience wrappers for libsoup and
3323libxml to ease remote use of the RESTful API.")
3324 (license license:lgpl2.1+)))
3325
6e1bb642
SB
3326(define-public libsoup
3327 (package
3328 (name "libsoup")
9ae87870 3329 (version "2.68.3")
6e1bb642
SB
3330 (source (origin
3331 (method url-fetch)
3332 (uri (string-append "mirror://gnome/sources/libsoup/"
3333 (version-major+minor version) "/"
c1b79b36 3334 "libsoup-" version ".tar.xz"))
6e1bb642
SB
3335 (sha256
3336 (base32
9ae87870 3337 "1yxs0ax4rq3g0lgkbv7mz497rqj16iyyizddyc13gzxh6n7b0jsk"))))
eccaa8bf 3338 (build-system meson-build-system)
6e1bb642
SB
3339 (outputs '("out" "doc"))
3340 (arguments
2deb146f 3341 `(#:modules ((guix build utils)
eccaa8bf 3342 (guix build meson-build-system)
2deb146f
LC
3343 (ice-9 popen))
3344
f8026a79 3345 #:configure-flags '("-Dgtk_doc=true")
6e1bb642
SB
3346 #:phases
3347 (modify-phases %standard-phases
eccaa8bf 3348 (add-after 'unpack 'adjust-tests
26c228f9 3349 (lambda _
eccaa8bf
MB
3350 ;; This test fails due to missing /etc/nsswitch.conf
3351 ;; in the build environment.
26c228f9
LC
3352 (substitute* "tests/socket-test.c"
3353 ((".*/sockets/unconnected.*") ""))
2deb146f 3354
f8026a79
MB
3355 ;; These fail because "subdomain.localhost" does not resolve in
3356 ;; the build environment.
3357 (substitute* "tests/hsts-test.c"
3358 ((".*/hsts/basic.*") "")
3359 ((".*/hsts/subdomains.*") "")
3360 ((".*/hsts/superdomain.*") "")
3361 ((".*/hsts/utf8-address.*") ""))
3362 (substitute* "tests/hsts-db-test.c"
3363 ((".*/hsts-db/subdomains.*") ""))
3364
2deb146f
LC
3365 ;; Generate a self-signed certificate that has "localhost" as its
3366 ;; 'dnsName'. Failing to do that, and starting with GnuTLS
3367 ;; 3.5.12, tests such as "ssl-tests" fail:
3368 ;;
3369 ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
3370 ;;
3371 ;; 'certtool' is interactive so we have to pipe it the answers.
3372 ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
3373 (let ((pipe (open-output-pipe "certtool --generate-self-signed \
3374 --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
3375 (for-each (lambda (line)
3376 (display line pipe)
3377 (newline pipe))
3378 '("" ;Common name
3379 "" ;UID
3380 "Guix" ;Organizational unit name
3381 "GNU" ;Organization name
3382 "" ;Locality name
3383 "" ;State or province
3384 "" ;Country
3385 "" ;subject's domain component (DC)
3386 "" ;E-mail
3387 "" ;serial number
3388 "-1" ;expiration time
3389 "N" ;belong to authority?
3390 "N" ;web client certificate?
3391 "N" ;IPsec IKE?
3392 "Y" ;web server certificate?
3393 "localhost" ;dnsName of subject
3394 "" ;dnsName of subject (end)
3395 "" ;URI of subject
3396 "127.0.0.1" ;IP address of subject
3397 "" ;signing?
06f5bc4e
MB
3398 "" ;encryption (RSA)?
3399 "" ;data encryption?
2deb146f
LC
3400 "" ;sign OCSP requests?
3401 "" ;sign code?
3402 "" ;time stamping?
3403 "" ;email protection?
3404 "" ;URI of the CRL distribution point
3405 "y" ;above info OK?
3406 ))
3407 (close-pipe pipe))
26c228f9 3408 #t))
eccaa8bf
MB
3409 (add-after 'install 'move-doc
3410 (lambda* (#:key outputs #:allow-other-keys)
3411 (let ((out (assoc-ref outputs "out"))
3412 (doc (assoc-ref outputs "doc")))
3413 (mkdir-p (string-append doc "/share"))
3414 (copy-recursively (string-append out "/share/gtk-doc")
3415 (string-append doc "/share/gtk-doc"))
3416 (delete-file-recursively (string-append out "/share/gtk-doc"))
3417 #t))))))
6e1bb642 3418 (native-inputs
26c228f9 3419 `(("glib:bin" ,glib "bin") ; for glib-mkenums
6e1bb642 3420 ("gobject-introspection" ,gobject-introspection)
eccaa8bf 3421 ("gtk-doc" ,gtk-doc)
6e1bb642
SB
3422 ("intltool" ,intltool)
3423 ("pkg-config" ,pkg-config)
3424 ("python" ,python-wrapper)
fd730590 3425 ("vala" ,vala)
6e1bb642
SB
3426 ;; These are needed for the tests.
3427 ;; FIXME: Add PHP once available.
3428 ("curl" ,curl)
2deb146f 3429 ("gnutls" ,gnutls) ;for 'certtool'
6e1bb642
SB
3430 ("httpd" ,httpd)))
3431 (propagated-inputs
3432 ;; libsoup-2.4.pc refers to all these.
f8026a79
MB
3433 `(("brotli" ,google-brotli)
3434 ("glib" ,glib)
249846bf 3435 ("libpsl" ,libpsl)
eccaa8bf 3436 ("libxml2" ,libxml2)
f8026a79
MB
3437 ("sqlite" ,sqlite)
3438 ("zlib" ,zlib)))
eccaa8bf
MB
3439 (inputs
3440 `(("glib-networking" ,glib-networking)
3441 ("mit-krb5" ,mit-krb5)))
6e1bb642
SB
3442 (home-page "https://live.gnome.org/LibSoup/")
3443 (synopsis "GLib-based HTTP Library")
3444 (description
3445 "LibSoup is an HTTP client/server library for GNOME. It uses GObjects
3446and the GLib main loop, to integrate well with GNOME applications.")
3447 (license license:lgpl2.0+)))
3448
bba229a3
SB
3449(define-public libsecret
3450 (package
3451 (name "libsecret")
b243d2f7 3452 (version "0.19.1")
bba229a3
SB
3453 (source (origin
3454 (method url-fetch)
3455 (uri (string-append
896dcbc7
EF
3456 "mirror://gnome/sources/libsecret/"
3457 (version-major+minor version) "/"
0ada4e29 3458 "libsecret-" version ".tar.xz"))
bba229a3
SB
3459 (sha256
3460 (base32
b243d2f7 3461 "0fhflcsr70b1pps2pcvqcbdhip2ny5am9nbm634f4sj5g40y30w5"))))
bba229a3
SB
3462 (build-system gnu-build-system)
3463 (outputs '("out" "doc"))
3464 (arguments
3465 `(#:tests? #f ; FIXME: Testing hangs.
bba229a3
SB
3466 #:configure-flags
3467 (list (string-append "--with-html-dir="
3468 (assoc-ref %outputs "doc")
3469 "/share/gtk-doc/html"))))
3470 (native-inputs
c06ef010
MB
3471 `(("gettext" ,gettext-minimal)
3472 ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
bba229a3 3473 ("gobject-introspection" ,gobject-introspection)
bba229a3
SB
3474 ("pkg-config" ,pkg-config)
3475 ("vala" ,vala)
3476 ("xsltproc" ,libxslt)))
3477 ;; These are needed for the tests.
3478 ;; FIXME: Add gjs once available.
3479 ;("dbus" ,dbus)
3480 ;("python2" ,python-2)
3481 ;("python2-dbus" ,python2-dbus)
3482 ;("python2-pygobject" ,python2-pygobject)
3483 ;("python2-pygobject-2" ,python2-pygobject-2)))
3484 (propagated-inputs
3485 `(("glib" ,glib))) ; required by libsecret-1.pc
3486 (inputs
3487 `(("docbook-xsl" ,docbook-xsl)
3488 ("libgcrypt" ,libgcrypt)
3489 ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
3490 (home-page "https://wiki.gnome.org/Projects/Libsecret/")
3491 (synopsis "GObject bindings for \"Secret Service\" API")
3492 (description
3493 "Libsecret is a GObject based library for storing and retrieving passwords
3494and other secrets. It communicates with the \"Secret Service\" using DBus.")
3495 (license license:lgpl2.1+)))
3496
b6821ee0 3497(define-public five-or-more
3498 (package
3499 (name "five-or-more")
d9795e93 3500 (version "3.32.0")
b6821ee0 3501 (source
3502 (origin
3503 (method url-fetch)
3504 (uri (string-append "mirror://gnome/sources/" name "/"
3505 (version-major+minor version) "/"
3506 name "-" version ".tar.xz"))
3507 (sha256
3508 (base32
d9795e93
KK
3509 "0v52i22ygv6y4zqs8nyb1qmacmj9whhqrw7qss6vn7by4nsikhrn"))))
3510 (build-system meson-build-system)
3511 (arguments
3512 '(#:glib-or-gtk? #t
3513 #:phases
3514 (modify-phases %standard-phases
3515 (add-after 'unpack 'skip-gtk-update-icon-cache
3516 (lambda _
3517 (substitute* "meson_post_install.py"
3518 (("gtk-update-icon-cache") (which "true")))
3519 #t)))))
b6821ee0 3520 (native-inputs
3521 `(("pkg-config" ,pkg-config)
d9795e93 3522 ("appstream-glib" ,appstream-glib)
b6821ee0 3523 ("desktop-file-utils" ,desktop-file-utils)
d9795e93 3524 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b6821ee0 3525 ("intltool" ,intltool)
3526 ("itstool" ,itstool)
d9795e93 3527 ("vala" ,vala)
b6821ee0 3528 ("xmllint" ,libxml2)))
3529 (inputs
3530 `(("gtk+" ,gtk+)
d9795e93 3531 ("libgnome-games-support" ,libgnome-games-support)
b6821ee0 3532 ("librsvg" ,librsvg)))
3533 (home-page "https://wiki.gnome.org/Apps/Five%20or%20more")
3534 (synopsis "Logic puzzle game")
3535 (description "Five or More is a game where you try to align
3536 five or more objects of the same color and shape causing them to disappear.
3537 On every turn more objects will appear, until the board is full.
3538 Try to last as long as possible.")
3539 (license license:gpl2+)))
3540
a31a6d22
SB
3541(define-public gnome-mines
3542 (package
3543 (name "gnome-mines")
2d817e41 3544 (version "3.32.2")
a31a6d22
SB
3545 (source
3546 (origin
3547 (method url-fetch)
3548 (uri (string-append "mirror://gnome/sources/" name "/"
3549 (version-major+minor version) "/"
3550 name "-" version ".tar.xz"))
3551 (sha256
3552 (base32
2d817e41 3553 "1nv966wkp2rqxzcdb76bwlbzpjqadcaqzrnkxpzwnvjjr167yx8g"))))
8c0fab36 3554 (build-system meson-build-system)
a31a6d22 3555 (arguments
2d817e41
KK
3556 '(#:glib-or-gtk? #t
3557 #:phases
a31a6d22 3558 (modify-phases %standard-phases
2d817e41
KK
3559 (add-after 'unpack 'skip-gtk-update-icon-cache
3560 (lambda _
3561 (substitute* "build-aux/meson_post_install.py"
3562 (("gtk-update-icon-cache") (which "true")))
3563 #t)))))
a31a6d22 3564 (native-inputs
8c0fab36
RW
3565 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
3566 ("pkg-config" ,pkg-config)
a31a6d22
SB
3567 ("desktop-file-utils" ,desktop-file-utils)
3568 ("intltool" ,intltool)
bcb354ad 3569 ("itstool" ,itstool)
8c0fab36
RW
3570 ("vala" ,vala)
3571 ("yelp" ,yelp)
3572 ("appstream-glib" ,appstream-glib)))
a31a6d22
SB
3573 (inputs
3574 `(("gtk+" ,gtk+)
73992962 3575 ("libgnome-games-support" ,libgnome-games-support)
a31a6d22
SB
3576 ("librsvg" ,librsvg)))
3577 (home-page "https://wiki.gnome.org/Apps/Mines")
3578 (synopsis "Minesweeper game")
3579 (description
3580 "Mines (previously gnomine) is a puzzle game where you locate mines
3581floating in an ocean using only your brain and a little bit of luck.")
3582 (license license:gpl2+)))
88f70665 3583
dfc407f3
KY
3584(define-public gnome-sudoku
3585 (package
3586 (name "gnome-sudoku")
7dc728c4 3587 (version "3.32.0")
dfc407f3
KY
3588 (source
3589 (origin
3590 (method url-fetch)
3591 (uri (string-append "mirror://gnome/sources/" name "/"
3592 (version-major+minor version) "/"
3593 name "-" version ".tar.xz"))
3594 (sha256
3595 (base32
7dc728c4
KK
3596 "1wwdjflw1lbx3cv6gvqcgp5jnjkrq37ld6mjbjj03g3vr90qaf0l"))))
3597 (build-system meson-build-system)
3598 (arguments
3599 '(#:glib-or-gtk? #t
3600 #:phases
3601 (modify-phases %standard-phases
3602 (add-after 'unpack 'skip-gtk-update-icon-cache
3603 (lambda _
3604 (substitute* "build-aux/post_install.py"
3605 (("gtk-update-icon-cache") (which "true")))
3606 #t)))))
dfc407f3
KY
3607 (native-inputs
3608 `(("pkg-config" ,pkg-config)
3609 ("desktop-file-utils" ,desktop-file-utils)
7dc728c4 3610 ("glib:bin" ,glib "bin") ; for glib-compile-resources
dfc407f3
KY
3611 ("intltool" ,intltool)
3612 ("itstool" ,itstool)
7dc728c4 3613 ("vala" ,vala)
dfc407f3
KY
3614 ("xmllint" ,libxml2)))
3615 (inputs
3616 `(("gtk+" ,gtk+)
3617 ("json-glib" ,json-glib)
3618 ("libgee" ,libgee)
3619 ("librsvg" ,librsvg)
3620 ("qqwing" ,qqwing)))
3621 (home-page "https://wiki.gnome.org/Apps/Sudoku")
3622 (synopsis "Japanese logic game")
3623 (description
3624 "Sudoku is a Japanese logic game that exploded in popularity in 2005.
3625GNOME Sudoku is meant to have an interface as simple and unobstrusive as
3626possible while still providing features that make playing difficult Sudoku
3627more fun.")
3628 (license license:gpl2+)))
3629
88f70665
AW
3630(define-public gnome-terminal
3631 (package
3632 (name "gnome-terminal")
7dee3942 3633 (version "3.32.2")
88f70665
AW
3634 (source
3635 (origin
3636 (method url-fetch)
3637 (uri (string-append "mirror://gnome/sources/" name "/"
3638 (version-major+minor version) "/"
3639 name "-" version ".tar.xz"))
3640 (sha256
3641 (base32
7dee3942 3642 "0shhpnagasyp1kxgjczfrivcxbgrrl3y8lzvp1z101m67h4jp6km"))))
88f70665
AW
3643 (build-system glib-or-gtk-build-system)
3644 (arguments
3645 '(#:configure-flags
3646 (list "--disable-migration" "--disable-search-provider"
3647 "--without-nautilus-extension")
3648 #:phases
3649 (modify-phases %standard-phases
3a4de6b2 3650 (add-before 'configure 'patch-/bin/true
88f70665
AW
3651 (lambda _
3652 (substitute* "configure"
3653 (("/bin/true") (which "true"))))))))
3654 (native-inputs
3655 `(("pkg-config" ,pkg-config)
3656 ("desktop-file-utils" ,desktop-file-utils)
3657 ("intltool" ,intltool)
bcb354ad
SB
3658 ("itstool" ,itstool)
3659 ("xmllint" ,libxml2)))
68702167
MW
3660 (propagated-inputs
3661 `(("dconf" ,dconf)))
88f70665
AW
3662 (inputs
3663 `(("gtk+" ,gtk+)
3664 ("vte" ,vte)
3665 ("gnutls" ,gnutls)
88f70665
AW
3666 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3667 ("util-linux" ,util-linux)
3668 ("vala" ,vala)))
3669 (home-page "https://wiki.gnome.org/Apps/Terminal")
3670 (synopsis "Terminal emulator")
3671 (description
3672 "GNOME Terminal is a terminal emulator application for accessing a
3673UNIX shell environment which can be used to run programs available on
3674your system.
3675
3676It supports several profiles, multiple tabs and implements several
3677keyboard shortcuts.")
3678 (license license:gpl3+)))
75016d07
AW
3679
3680(define-public colord
3681 (package
3682 (name "colord")
f98be942 3683 (version "1.4.4")
75016d07
AW
3684 (source
3685 (origin
3686 (method url-fetch)
5cc3096c 3687 (uri (string-append "https://www.freedesktop.org/software/colord/releases/"
d21778aa 3688 "colord-" version ".tar.xz"))
75016d07 3689 (sha256
f98be942 3690 (base32 "19f0938fr7nvvm3jr263dlknaq7md40zrac2npfyz25zc00yh3ws"))))
a68544a8 3691 (build-system meson-build-system)
75016d07 3692 (arguments
a68544a8
RW
3693 '(;; FIXME: One test fails:
3694 ;; /colord/icc-store (in lib/colord/colord-self-test-private):
3695 ;; Incorrect content type for /tmp/colord-vkve/already-exists.icc, got
3696 ;; application/x-zerosize
75016d07 3697 #:tests? #f
a68544a8
RW
3698 #:glib-or-gtk? #t
3699 #:configure-flags (list "-Dlocalstatedir=/var"
75016d07 3700 ;; No dep on systemd.
a68544a8 3701 "-Dsystemd=false"
75016d07
AW
3702 ;; Wants to install to global completion dir;
3703 ;; punt.
a68544a8 3704 "-Dbash_completion=false"
a68544a8
RW
3705 "-Ddaemon_user=colord"
3706 "-Dsane=true"
dac26e22 3707 "-Dvapi=true"
6f20e2dc 3708 ;; Requires spotread.
a68544a8 3709 "-Dargyllcms_sensor=false"
6f20e2dc 3710 ;; TODO: Requires docbook2x.
a68544a8 3711 "-Dman=false")
75016d07
AW
3712 #:phases
3713 (modify-phases %standard-phases
a68544a8
RW
3714 (add-before 'configure 'patch-build-system
3715 (lambda* (#:key outputs #:allow-other-keys)
3716 (substitute* "rules/meson.build"
3717 (("udev.get_pkgconfig_variable\\('udevdir'\\)")
3718 (string-append "'" (assoc-ref outputs "out") "/lib/udev'")))
2a1f3e3f
LC
3719 #t))
3720 (add-before 'configure 'set-sqlite3-file-name
3721 (lambda* (#:key inputs #:allow-other-keys)
3722 ;; "colormgr dump" works by invoking the "sqlite3" command.
3723 ;; Record its absolute file name.
3724 (let ((sqlite (assoc-ref inputs "sqlite")))
3725 (substitute* "client/cd-util.c"
3726 (("\"sqlite3\"")
3727 (string-append "\"" sqlite "/bin/sqlite3\"")))
3728 #t))))))
75016d07 3729 (native-inputs
6f20e2dc 3730 `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
2536027c 3731 ("gettext" ,gettext-minimal)
75016d07 3732 ("gobject-introspection" ,gobject-introspection)
a68544a8 3733 ("gtk-doc" ,gtk-doc)
dac26e22
TGR
3734 ("pkg-config" ,pkg-config)
3735 ("vala" ,vala)))
65cb2d61
SB
3736 (propagated-inputs
3737 ;; colord.pc refers to all these.
3738 `(("glib" ,glib)
6f20e2dc
TGR
3739 ("lcms" ,lcms)
3740 ("udev" ,eudev)))
75016d07 3741 (inputs
65cb2d61 3742 `(("dbus-glib" ,dbus-glib)
a68544a8 3743 ("gusb" ,gusb)
80c7dd1a 3744 ("libgudev" ,libgudev)
75016d07 3745 ("libusb" ,libusb)
75016d07 3746 ("polkit" ,polkit)
a68544a8 3747 ("python" ,python-wrapper)
6f20e2dc 3748 ("sqlite" ,sqlite)
4c928743 3749 ("sane-backends" ,sane-backends)))
57e7d748 3750 (home-page "https://www.freedesktop.org/software/colord/")
75016d07
AW
3751 (synopsis "Color management service")
3752 (description "Colord is a system service that makes it easy to manage,
3753install and generate color profiles to accurately color manage input and
3754output devices.")
3755 (license license:gpl2+)))
7b2abd00
AW
3756
3757(define-public geoclue
3758 (package
3759 (name "geoclue")
b433c7b3 3760 (version "2.4.8")
7b2abd00
AW
3761 (source
3762 (origin
3763 (method url-fetch)
5cc3096c 3764 (uri (string-append "https://www.freedesktop.org/software/" name
7b2abd00
AW
3765 "/releases/" (version-major+minor version) "/"
3766 name "-" version ".tar.xz"))
3767 (sha256
3768 (base32
b433c7b3 3769 "08yg1r7m0n9hwyvcy769qkmkf8lslqwv69cjfffwnc3zm5km25qj"))
fc1adab1 3770 (patches (search-patches "geoclue-config.patch"))))
7b2abd00
AW
3771 (build-system glib-or-gtk-build-system)
3772 (arguments
3773 '(;; The tests want to run the system bus.
3774 #:tests? #f
3775 #:configure-flags (list ;; Disable bits requiring ModemManager.
3776 "--disable-3g-source"
3777 "--disable-cdma-source"
3778 "--disable-modem-gps-source"
3779 "--with-dbus-service-user=geoclue")
3780 #:phases
3781 (modify-phases %standard-phases
3a4de6b2 3782 (add-before 'configure 'patch-/bin/true
7b2abd00
AW
3783 (lambda _
3784 (substitute* "configure"
e3eb53e7
MW
3785 (("/bin/true") (which "true")))
3786 #t)))))
7b2abd00
AW
3787 (native-inputs
3788 `(("pkg-config" ,pkg-config)
758798a9 3789 ("gobject-introspection" ,gobject-introspection)
7b2abd00
AW
3790 ("intltool" ,intltool)))
3791 (inputs
54e911bc
SB
3792 `(("avahi" ,avahi)
3793 ("glib" ,glib)
7b2abd00
AW
3794 ("json-glib" ,json-glib)
3795 ("libsoup" ,libsoup)))
99adfd7d 3796 (home-page "https://www.freedesktop.org/wiki/Software/GeoClue/")
7b2abd00
AW
3797 (synopsis "Geolocation service")
3798 (description "Geoclue is a D-Bus service that provides location
3799information. The primary goal of the Geoclue project is to make creating
3800location-aware applications as simple as possible, while the secondary goal is
3801to ensure that no application can access location information without explicit
e881752c 3802permission from user.")
7b2abd00 3803 (license license:gpl2+)))
2bfe7437
AW
3804
3805(define-public geocode-glib
3806 (package
3807 (name "geocode-glib")
65de725f 3808 (version "3.26.1")
2bfe7437
AW
3809 (source (origin
3810 (method url-fetch)
3811 (uri (string-append "mirror://gnome/sources/geocode-glib/"
3812 (version-major+minor version) "/"
d485cdc0 3813 "geocode-glib-" version ".tar.xz"))
2bfe7437
AW
3814 (sha256
3815 (base32
65de725f 3816 "076ydfpyc4n5c9dbqmf26i4pilfi5jpw6cjcgrbgrjbndavnmajv"))))
a7dd0c02 3817 (build-system meson-build-system)
2bfe7437 3818 (arguments
a7dd0c02
RW
3819 `(#:phases
3820 (modify-phases %standard-phases
3821 ;; The tests require a bunch of locales.
3822 (add-before 'check 'set-locales
3823 (lambda* (#:key inputs #:allow-other-keys)
3824 (setenv "GUIX_LOCPATH"
3825 (string-append (assoc-ref inputs "glibc-locales")
3826 "/lib/locale"))
3827 #t)))))
2bfe7437
AW
3828 (native-inputs
3829 `(("glib:bin" ,glib "bin") ; for glib-mkenums
a7dd0c02
RW
3830 ("glibc-locales" ,glibc-locales) ; for tests
3831 ("gettext" ,gettext-minimal)
2bfe7437 3832 ("gobject-introspection" ,gobject-introspection)
a7dd0c02 3833 ("gtk-doc" ,gtk-doc)
2bfe7437
AW
3834 ("pkg-config" ,pkg-config)
3835 ("json-glib" ,json-glib)))
3836 (propagated-inputs
3837 ;; geocode-glib-1.0.pc refers to GIO.
3838 `(("glib" ,glib)))
3839 (inputs
3840 `(("libsoup" ,libsoup)))
3841 (home-page "https://github.com/GNOME/geocode-glib/")
3842 (synopsis "Geocoding and reverse-geocoding library")
3843 (description
3844 "geocode-glib is a convenience library for geocoding (finding longitude,
3845and latitude from an address) and reverse geocoding (finding an address from
3846coordinates) using the Nominatim service. geocode-glib caches requests for
3847faster results and to avoid unnecessary server load.")
3848 (license license:lgpl2.0+)))
a1d5bb0e
AW
3849
3850(define-public upower
3851 (package
3852 (name "upower")
df45af90 3853 (version "0.99.11")
a1d5bb0e
AW
3854 (source (origin
3855 (method url-fetch)
df45af90 3856 (uri (string-append "https://upower.freedesktop.org/releases/"
9ec54965 3857 "upower-" version ".tar.xz"))
a1d5bb0e
AW
3858 (sha256
3859 (base32
df45af90 3860 "1vxxvmz2cxb1qy6ibszaz5bskqdy9nd9fxspj9fv3gfmrjzzzdb4"))
fc1adab1 3861 (patches (search-patches "upower-builddir.patch"))))
a1d5bb0e
AW
3862 (build-system glib-or-gtk-build-system)
3863 (arguments
3864 '( ;; The tests want to contact the system bus, which can't be done in the
3865 ;; build environment. The integration test can run, but the last of
3866 ;; the up-self-tests doesn't. Disable tests for now.
3867 #:tests? #f
3868 #:configure-flags (list "--localstatedir=/var"
3869 (string-append "--with-udevrulesdir="
3870 (assoc-ref %outputs "out")
9ec54965 3871 "/lib/udev/rules.d"))))
a1d5bb0e 3872 (native-inputs
ebeabe2d
SB
3873 `(("gobject-introspection" ,gobject-introspection)
3874 ("pkg-config" ,pkg-config)
a1d5bb0e 3875 ("intltool" ,intltool)
55409295
LC
3876 ("python" ,python)
3877
3878 ;; For man pages.
3879 ("libxslt" ,libxslt) ;for 'xsltproc'
3880 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
3881 ("docbook-xsl" ,docbook-xsl)))
a1d5bb0e 3882 (inputs
ea226291
SB
3883 `(("dbus-glib" ,dbus-glib)
3884 ("libgudev" ,libgudev)
a1d5bb0e 3885 ("libusb" ,libusb)))
d7a503fc
MB
3886 (propagated-inputs
3887 ;; In Requires of upower-glib.pc.
3888 `(("glib" ,glib)))
57e7d748 3889 (home-page "https://upower.freedesktop.org/")
a1d5bb0e
AW
3890 (synopsis "System daemon for managing power devices")
3891 (description
3892 "UPower is an abstraction for enumerating power devices,
3893listening to device events and querying history and statistics. Any
3894application or service on the system can access the org.freedesktop.UPower
3895service via the system message bus.")
3896 (license license:gpl2+)))
6a180f6f
AW
3897
3898(define-public libgweather
3899 (package
3900 (name "libgweather")
794ce8ea 3901 (version "3.28.3")
6a180f6f
AW
3902 (source (origin
3903 (method url-fetch)
3904 (uri (string-append "mirror://gnome/sources/" name "/"
3905 (version-major+minor version) "/"
3906 name "-" version ".tar.xz"))
3907 (sha256
3908 (base32
794ce8ea 3909 "1xz60h59zgyk61y2wwzm0xlqav72i668g7v0x7rh9idz240hxls5"))))
cf6cbc34 3910 (build-system meson-build-system)
6a180f6f 3911 (arguments
cf6cbc34
RW
3912 `(#:tests? #f ; one of two tests requires network access
3913 #:configure-flags
3914 `(,(string-append "-Dzoneinfo_dir="
b6072e6b 3915 (assoc-ref %build-inputs "tzdata")
cf6cbc34 3916 "/share/zoneinfo"))))
6a180f6f
AW
3917 (native-inputs
3918 `(("glib:bin" ,glib "bin") ; for glib-mkenums
b6072e6b 3919 ("gobject-introspection" ,gobject-introspection)
6a180f6f 3920 ("pkg-config" ,pkg-config)
1d3fcf94 3921 ("vala" ,vala)
6a180f6f
AW
3922 ("intltool" ,intltool)))
3923 (propagated-inputs
3924 ;; gweather-3.0.pc refers to GTK+, GDK-Pixbuf, GLib/GObject, libxml, and
3925 ;; libsoup.
3926 `(("gtk+" ,gtk+)
3927 ("gdk-pixbuf" ,gdk-pixbuf)
3928 ("libxml2" ,libxml2)
cf6cbc34 3929 ("libsoup" ,libsoup)
6a180f6f 3930 ("geocode-glib" ,geocode-glib)))
cf6cbc34
RW
3931 (inputs
3932 `(("tzdata" ,tzdata)))
6a180f6f
AW
3933 (home-page "https://wiki.gnome.org/action/show/Projects/LibGWeather")
3934 (synopsis "Location, time zone, and weather library for GNOME")
3935 (description
3936 "libgweather is a library to access weather information from online
3937services for numerous locations.")
3938 (license license:gpl2+)))
23a22af6
AW
3939
3940(define-public gnome-settings-daemon
3941 (package
3942 (name "gnome-settings-daemon")
4be0719f 3943 (version "3.32.1")
23a22af6
AW
3944 (source
3945 (origin
3946 (method url-fetch)
3947 (uri (string-append "mirror://gnome/sources/" name "/"
3948 (version-major+minor version) "/"
3949 name "-" version ".tar.xz"))
3950 (sha256
3951 (base32
4be0719f 3952 "02d0s0g2mmqfib44r3sf0499r08p61s8l2ndsjssbam1bi7x2dks"))))
e644f9fa 3953 (build-system meson-build-system)
23a22af6 3954 (arguments
e644f9fa
RW
3955 `(#:glib-or-gtk? #t
3956 #:configure-flags
3957 (list (string-append "-Dudev_dir="
3958 (assoc-ref %outputs "out")
4d0e085b
RW
3959 "/lib/udev/rules.d/")
3960 ;; Otherwise, the RUNPATH will lack the final path component.
3961 (string-append "-Dc_link_args=-Wl,-rpath="
3962 (assoc-ref %outputs "out")
3963 "/lib/gnome-settings-daemon-3.0"))
e644f9fa 3964 ;; Color management test can't reach the colord system service.
23a22af6
AW
3965 #:tests? #f))
3966 (native-inputs
e644f9fa
RW
3967 `(("glib:bin" ,glib "bin") ; for glib-mkenums
3968 ("pkg-config" ,pkg-config)
23a22af6
AW
3969 ("intltool" ,intltool)
3970 ("xsltproc" ,libxslt)
3971 ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
3972 ("docbook-xml" ,docbook-xml-4.2)
3973 ("docbook-xsl" ,docbook-xsl)))
3974 (inputs
e644f9fa
RW
3975 `(("alsa-lib" ,alsa-lib)
3976 ("colord" ,colord)
ea226291 3977 ("libgudev" ,libgudev)
23a22af6
AW
3978 ("upower" ,upower)
3979 ("polkit" ,polkit)
3980 ("pulseaudio" ,pulseaudio)
3981 ("libcanberra" ,libcanberra)
3982 ("libx11" ,libx11)
3983 ("libxtst" ,libxtst)
3984 ("lcms" ,lcms)
3985 ("libnotify" ,libnotify)
3986 ("geoclue" ,geoclue)
3987 ("geocode-glib" ,geocode-glib)
3988 ("libgweather" ,libgweather)
3989 ("gnome-desktop" ,gnome-desktop)
3990 ("nss" ,nss)
3991 ("cups" ,cups)
ec2b1921
AW
3992 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
3993 ("libwacom" ,libwacom)
3994 ("librsvg" ,librsvg)
eee7878f 3995 ("xf86-input-wacom" ,xf86-input-wacom)
e644f9fa 3996 ("wayland" ,wayland)
eee7878f 3997 ("network-manager" ,network-manager)))
f032d0be 3998 (home-page "https://www.gnome.org")
23a22af6
AW
3999 (synopsis "GNOME settings daemon")
4000 (description
4001 "This package contains the daemon responsible for setting the various
4002parameters of a GNOME session and the applications that run under it. It
4003handles settings such keyboard layout, shortcuts, and accessibility, clipboard
4004settings, themes, mouse settings, and startup of other daemons.")
4005 (license license:gpl2+)))
1e7464a9
DH
4006
4007(define-public totem-pl-parser
4008 (package
4009 (name "totem-pl-parser")
77425f04 4010 (version "3.26.3")
1e7464a9
DH
4011 (source (origin
4012 (method url-fetch)
e980cbe9
MW
4013 (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
4014 (version-major+minor version) "/"
1e7464a9
DH
4015 "totem-pl-parser-" version ".tar.xz"))
4016 (sha256
4017 (base32
77425f04 4018 "13a45py2j1r9967zgww8kd24bn2fhycd4m3kzr90sxx9l2w03z8f"))))
1e9b19dd 4019 (build-system meson-build-system)
1e7464a9
DH
4020 (arguments
4021 ;; FIXME: Tests require gvfs.
4022 `(#:tests? #f))
4023 (native-inputs
4024 `(("intltool" ,intltool)
4025 ("glib" ,glib "bin")
4d6d8281 4026 ("gobject-introspection" ,gobject-introspection)
1e7464a9 4027 ("pkg-config" ,pkg-config)))
22a6ad6a 4028 (propagated-inputs
1e7464a9
DH
4029 `(("glib" ,glib)
4030 ("gmime" ,gmime)
1e9b19dd
RW
4031 ("libarchive" ,libarchive)
4032 ("libgcrypt" ,libgcrypt)
22a6ad6a
MW
4033 ("libxml2" ,libxml2)))
4034 (inputs
0a6e9e13 4035 `(("libsoup" ,libsoup)))
1e7464a9
DH
4036 (home-page "https://projects.gnome.org/totem")
4037 (synopsis "Library to parse and save media playlists for GNOME")
4038 (description "Totem-pl-parser is a GObjects-based library to parse and save
4039playlists in a variety of formats.")
4040 (license license:lgpl2.0+)))
4041
6b888eff
SB
4042(define-public aisleriot
4043 (package
4044 (name "aisleriot")
36ed9b46 4045 (version "3.22.9")
6b888eff
SB
4046 (source (origin
4047 (method url-fetch)
e43f622a 4048 (uri (string-append "mirror://gnome/sources/aisleriot/"
6b888eff 4049 (version-major+minor version) "/"
e43f622a 4050 "aisleriot-" version ".tar.xz"))
6b888eff
SB
4051 (sha256
4052 (base32
36ed9b46 4053 "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"))))
6b888eff
SB
4054 (build-system glib-or-gtk-build-system)
4055 (arguments
4056 '(#:configure-flags
4057 '("--with-platform=gtk-only"
4058 "--with-card-theme-formats=svg")))
4059 (native-inputs
4060 `(("desktop-file-utils" ,desktop-file-utils)
4061 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
4062 ("intltool" ,intltool)
4063 ("itstool" ,itstool)
4064 ("pkg-config" ,pkg-config)
4065 ("xmllint" ,libxml2)))
4066 (inputs
4067 `(("gtk+" ,gtk+)
226e57d6 4068 ("guile" ,guile-2.2)
6b888eff
SB
4069 ("libcanberra" ,libcanberra)
4070 ("librsvg" ,librsvg)))
4071 (home-page "https://wiki.gnome.org/Apps/Aisleriot")
4072 (synopsis "Solitaire card games")
4073 (description
4074 "Aisleriot (also known as Solitaire or sol) is a collection of card games
4075which are easy to play with the aid of a mouse.")
4076 (license license:gpl3+)))
4a79e256 4077
f828d05b
KK
4078(define-public amtk
4079 (package
4080 (name "amtk")
09c4e43f 4081 (version "5.0.1")
f828d05b
KK
4082 (source (origin
4083 (method url-fetch)
bf92ba6b 4084 (uri (string-append "mirror://gnome/sources/amtk/"
f828d05b 4085 (version-major+minor version) "/"
bf92ba6b 4086 "amtk-" version ".tar.xz"))
f828d05b
KK
4087 (sha256
4088 (base32
09c4e43f 4089 "09yy95w1s83c43mh9vha1jbb780yighf5pd2j0ygjmc68sjg871d"))))
f828d05b
KK
4090 (build-system gnu-build-system)
4091 (arguments
4092 '(#:configure-flags '("--enable-gtk-doc")))
4093 (native-inputs
4094 `(("gobject-introspection" ,gobject-introspection)
09c4e43f 4095 ("glib:bin" ,glib "bin") ; for glib-mkenums
f828d05b
KK
4096 ("gtk-doc" ,gtk-doc)
4097 ("pkg-config" ,pkg-config)))
4098 (inputs
4099 `(("glib" ,glib)
4100 ("gtk+" ,gtk+)))
4101 (home-page "https://wiki.gnome.org/Projects/Amtk")
4102 (synopsis "Actions, Menus and Toolbars Kit for GTK+ applications")
4103 (description
4104 "Amtk is the acronym for @acronym{Amtk, Actions Menus and Toolbars Kit}.
4105It is a basic GtkUIManager replacement based on GAction. It is suitable for
4106both a traditional UI or a modern UI with a GtkHeaderBar.")
4107 (license license:lgpl2.1+)))
4108
4a79e256
SB
4109(define-public devhelp
4110 (package
4111 (name "devhelp")
20db7a3d 4112 (version "3.32.0")
4a79e256
SB
4113 (source (origin
4114 (method url-fetch)
4115 (uri (string-append "mirror://gnome/sources/" name "/"
4116 (version-major+minor version) "/"
4117 name "-" version ".tar.xz"))
4118 (sha256
4119 (base32
20db7a3d 4120 "06sa83zggk29wcg75fl3gqh0rmi7cd3gsbk09a2z23r7vpy7xanq"))))
11d28bd9 4121 (build-system meson-build-system)
35407f94 4122 (arguments
20db7a3d
KK
4123 '(#:glib-or-gtk? #t
4124 #:phases
35407f94
EF
4125 (modify-phases %standard-phases
4126 (add-after 'unpack 'skip-gtk-update-icon-cache
4127 ;; Don't create 'icon-theme.cache'.
4128 (lambda _
4129 (substitute* "meson_post_install.py"
4130 (("gtk-update-icon-cache") "true"))
4131 #t)))))
4a79e256
SB
4132 (native-inputs
4133 `(("intltool" ,intltool)
5dd12afc 4134 ("itstool" ,itstool)
11d28bd9
KK
4135 ("gobject-introspection" ,gobject-introspection)
4136 ("glib:bin" ,glib "bin") ; for glib-mkmenus
4a79e256
SB
4137 ("pkg-config" ,pkg-config)))
4138 (inputs
11d28bd9
KK
4139 `(("amtk" ,amtk)
4140 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4a79e256
SB
4141 ("webkitgtk" ,webkitgtk)))
4142 (home-page "https://wiki.gnome.org/Apps/Devhelp")
4143 (synopsis "API documentation browser for GNOME")
4144 (description
4145 "Devhelp is an API documentation browser for GTK+ and GNOME. It works
4146natively with GTK-Doc (the API reference system developed for GTK+ and used
4147throughout GNOME for API documentation).")
4148 (license license:gpl2+)))
ba421ab7
MW
4149
4150(define-public cogl
4151 (package
4152 (name "cogl")
54c69ae1 4153 (version "1.22.4")
ba421ab7
MW
4154 (source
4155 (origin
4156 (method url-fetch)
5754f0cf 4157 (uri (string-append "mirror://gnome/sources/cogl/"
ba421ab7 4158 (version-major+minor version) "/"
5754f0cf 4159 "cogl-" version ".tar.xz"))
ba421ab7 4160 (sha256
54c69ae1 4161 (base32 "1q0drs82a8f6glg1v29bb6g2nf15fw0rvdx3d0rgcgfarfaby5sj"))))
a88d5a0c
MW
4162 ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to
4163 ;; cogl, corresponding changes may be appropriate in mutter as well.
ba421ab7
MW
4164 (build-system gnu-build-system)
4165 (native-inputs
4166 `(("glib:bin" ,glib "bin") ; for glib-mkenums
4167 ("gobject-introspection" ,gobject-introspection)
4168 ;;("xorg-server" ,xorg-server) ; for the test suite
4169 ("pkg-config" ,pkg-config)))
4170 (propagated-inputs
4171 `(("glib" ,glib)
4172 ("gdk-pixbuf" ,gdk-pixbuf)
4173 ("libx11" ,libx11)
4174 ("libxext" ,libxext)
4175 ("libxfixes" ,libxfixes)
4176 ("libxdamage" ,libxdamage)
4177 ("libxcomposite" ,libxcomposite)
4178 ("libxrandr" ,libxrandr)))
4179 (inputs
4180 `(("mesa" ,mesa)
4181 ("cairo" ,cairo)
4182 ("pango" ,pango)
4183 ("gstreamer" ,gstreamer)
31860852
KK
4184 ("gst-plugins-base" ,gst-plugins-base)
4185 ("wayland" ,wayland)))
ba421ab7
MW
4186 (arguments
4187 `(#:configure-flags (list "--enable-cogl-gst"
31860852
KK
4188 "--enable-wayland-egl-platform"
4189 "--enable-wayland-egl-server"
4190
ba421ab7
MW
4191 ;; Arrange to pass an absolute file name to
4192 ;; dlopen for libGL.so.
4193 (string-append "--with-gl-libname="
4194 (assoc-ref %build-inputs "mesa")
4195 "/lib/libGL.so"))
4196 ;; XXX FIXME: All tests fail, with many warnings printed like this:
4197 ;; _FontTransOpen: Unable to Parse address
4198 ;; ${prefix}/share/fonts/X11/misc/
4199 #:tests? #f
4200 #; #:phases
4201 #;
4202 (modify-phases %standard-phases
4203 (add-before 'check 'start-xorg-server
4204 (lambda* (#:key inputs #:allow-other-keys)
4205 ;; The test suite requires a running X server.
4206 (system (format #f "~a/bin/Xvfb :1 &"
4207 (assoc-ref inputs "xorg-server")))
4208 (setenv "DISPLAY" ":1")
4209 #t)))))
4210 (home-page "http://www.cogl3d.org")
4211 (synopsis "Object oriented GL/GLES Abstraction/Utility Layer")
4212 (description
4213 "Cogl is a small library for using 3D graphics hardware to draw pretty
4214pictures. The API departs from the flat state machine style of OpenGL and is
4215designed to make it easy to write orthogonal components that can render
4216without stepping on each others toes.")
4217 (license (list license:expat ; most of the code
4218 license:bsd-3 ; cogl/cogl-point-in-poly.c
4219 license:sgifreeb2.0 ; cogl-path/tesselator/
4220 license:asl2.0)))) ; examples/android/
fb182b8a
MW
4221
4222(define-public clutter
4223 (package
4224 (name "clutter")
6a88e4ee 4225 (version "1.26.2")
fb182b8a
MW
4226 (source
4227 (origin
4228 (method url-fetch)
4229 (uri (string-append "mirror://gnome/sources/" name "/"
4230 (version-major+minor version) "/"
4231 name "-" version ".tar.xz"))
4232 (sha256
4233 (base32
6a88e4ee 4234 "0mif1qnrpkgxi43h7pimim6w6zwywa16ixcliw0yjm9hk0a368z7"))))
a88d5a0c
MW
4235 ;; NOTE: mutter exports a bundled fork of clutter, so when making changes
4236 ;; to clutter, corresponding changes may be appropriate in mutter as well.
fb182b8a 4237 (build-system gnu-build-system)
600233bd
LC
4238 (outputs '("out"
4239 "doc")) ;9 MiB of gtk-doc HTML pages
fb182b8a
MW
4240 (native-inputs
4241 `(("glib:bin" ,glib "bin") ; for glib-genmarshal
4242 ("gobject-introspection" ,gobject-introspection)
4243 ("pkg-config" ,pkg-config)
4244 ("xsltproc" ,libxslt)))
4245 (propagated-inputs
4246 `(("cogl" ,cogl)
4247 ("cairo" ,cairo)
4248 ("atk" ,atk)
4249 ("gtk+" ,gtk+)
4250 ("json-glib" ,json-glib)
4251 ("glib" ,glib)
4252 ("libxcomposite" ,libxcomposite)
4253 ("libxdamage" ,libxdamage)
4254 ("libxext" ,libxext)
4255 ("xinput" ,xinput)))
4256 (inputs
4257 `(("libxkbcommon" ,libxkbcommon)
4258 ("udev" ,eudev)))
4259 (arguments
600233bd
LC
4260 `(#:configure-flags (list "--enable-x11-backend=yes"
4261
4262 ;; This produces share/doc/{clutter,cally}.
4263 (string-append "--with-html-dir="
4264 (assoc-ref %outputs "doc")
4265 "/share/doc"))
fb182b8a
MW
4266 ;; XXX FIXME: Get test suite working. It would probably fail in the
4267 ;; same way the cogl tests fail, since clutter is based on cogl.
4268 #:tests? #f))
4269 (home-page "http://www.clutter-project.org")
476af713 4270 (synopsis "OpenGL-based interactive canvas library")
fb182b8a 4271 (description
476af713 4272 "Clutter is an OpenGL-based interactive canvas library, designed for
fb182b8a
MW
4273creating fast, mainly 2D single window applications such as media box UIs,
4274presentations, kiosk style applications and so on.")
4275 (license license:lgpl2.0+)))
bf7f17ba
MW
4276
4277(define-public clutter-gtk
4278 (package
4279 (name "clutter-gtk")
5d1a3219 4280 (version "1.8.4")
bf7f17ba
MW
4281 (source
4282 (origin
4283 (method url-fetch)
4284 (uri (string-append "mirror://gnome/sources/" name "/"
4285 (version-major+minor version) "/"
4286 name "-" version ".tar.xz"))
4287 (sha256
4288 (base32
5d1a3219 4289 "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
bf7f17ba
MW
4290 (build-system gnu-build-system)
4291 (native-inputs
4292 `(("pkg-config" ,pkg-config)
4293 ("gobject-introspection" ,gobject-introspection)))
9a3a8b8e
SB
4294 (propagated-inputs
4295 ;; clutter-gtk.pc refers to all these.
bf7f17ba
MW
4296 `(("clutter" ,clutter)
4297 ("gtk+" ,gtk+)))
4298 (home-page "http://www.clutter-project.org")
476af713 4299 (synopsis "OpenGL-based interactive canvas library GTK+ widget")
bf7f17ba 4300 (description
476af713 4301 "Clutter is an OpenGL-based interactive canvas library, designed for
bf7f17ba
MW
4302creating fast, mainly 2D single window applications such as media box UIs,
4303presentations, kiosk style applications and so on.")
4304 (license license:lgpl2.0+)))
86d6a893
MW
4305
4306(define-public clutter-gst
4307 (package
4308 (name "clutter-gst")
ba07ac19 4309 (version "3.0.27")
86d6a893
MW
4310 (source
4311 (origin
4312 (method url-fetch)
f010f89b 4313 (uri (string-append "mirror://gnome/sources/clutter-gst/"
86d6a893 4314 (version-major+minor version) "/"
f010f89b 4315 "clutter-gst-" version ".tar.xz"))
86d6a893 4316 (sha256
ba07ac19 4317 (base32 "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy"))))
86d6a893
MW
4318 (build-system gnu-build-system)
4319 (native-inputs
ba07ac19 4320 `(("glib:bin" ,glib "bin") ; for glib-mkenums
86d6a893
MW
4321 ("pkg-config" ,pkg-config)
4322 ("gobject-introspection" ,gobject-introspection)))
4323 (inputs
4324 `(("clutter" ,clutter)
4325 ("gstreamer" ,gstreamer)
4326 ("gst-plugins-base" ,gst-plugins-base)))
4327 (home-page "http://www.clutter-project.org")
4328 (synopsis "Integration library for using GStreamer with Clutter")
4329 (description
4330 "Clutter-Gst is an integration library for using GStreamer with Clutter.
4331It provides a GStreamer sink to upload frames to GL and an actor that
476af713
TGR
4332implements the ClutterGstPlayer interface using playbin. Clutter is an
4333OpenGL-based interactive canvas library.")
86d6a893 4334 (license license:lgpl2.0+)))
607a04ae 4335
30dc88d9
LC
4336(define-public libchamplain
4337 (package
4338 (name "libchamplain")
5564b2c5 4339 (version "0.12.16")
30dc88d9
LC
4340 (source (origin
4341 (method url-fetch)
4342 (uri (string-append
4343 "mirror://gnome/sources/libchamplain/0.12/libchamplain-"
4344 version ".tar.xz"))
4345 (sha256
4346 (base32
5564b2c5 4347 "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja"))))
30dc88d9 4348 (build-system gnu-build-system)
f7c6833f
LF
4349 (arguments '(#:configure-flags '("--enable-vala")))
4350 (native-inputs
4351 `(("gobject-introspection" ,gobject-introspection)
4352 ("pkg-config" ,pkg-config)
4353 ("vala" ,vala)))
30dc88d9
LC
4354 (propagated-inputs
4355 `(("libsoup" ,libsoup)
4356 ("sqlite" ,sqlite)
4357 ("clutter" ,clutter)
4358 ("clutter-gtk" ,clutter-gtk)
4359 ("glib:bin" ,glib "bin") ;glib-mkenums, etc.
4360 ("cairo" ,cairo)
4361 ("gtk+3" ,gtk+)
4362 ("glib" ,glib)))
f032d0be 4363 (home-page "https://projects.gnome.org/libchamplain/")
30dc88d9
LC
4364 (synopsis "C library providing a ClutterActor to display maps")
4365 (description
4366 "libchamplain is a C library providing a ClutterActor to display maps.
4367It also provides a Gtk+ widget to display maps in Gtk+ applications. Python
4368and Perl bindings are also available. It supports numerous free map sources
4369such as OpenStreetMap, OpenCycleMap, OpenAerialMap, and Maps for free.")
4370 (license license:lgpl2.1+)))
4371
607a04ae
MW
4372(define-public gom
4373 (package
4374 (name "gom")
0510440b 4375 (version "0.3.2")
607a04ae
MW
4376 (source
4377 (origin
4378 (method url-fetch)
6c8a0b6f 4379 (uri (string-append "mirror://gnome/sources/gom/"
607a04ae 4380 (version-major+minor version) "/"
6c8a0b6f 4381 "gom-" version ".tar.xz"))
607a04ae
MW
4382 (sha256
4383 (base32
0510440b 4384 "1zaqqwwkyiswib3v1v8wafpbifpbpak0nn2kp13pizzn9bwz1s5w"))))
607a04ae
MW
4385 (build-system gnu-build-system)
4386 (native-inputs
4387 `(("intltool" ,intltool)
4388 ("pkg-config" ,pkg-config)
4389 ("gobject-introspection" ,gobject-introspection)))
4390 (inputs
4391 `(("glib" ,glib)
4392 ("gdk-pixbuf" ,gdk-pixbuf)
4393 ("sqlite" ,sqlite)))
4394 ;; XXX TODO: Figure out how to run the test suite.
4395 (arguments `(#:tests? #f))
4396 (home-page "https://wiki.gnome.org/Projects/Gom")
4397 (synopsis "Object mapper from GObjects to SQLite")
4398 (description
4399 "Gom provides an object mapper from GObjects to SQLite. It helps you
4400write applications that need to store structured data as well as make complex
4401queries upon that data.")
4402 (license license:lgpl2.1+)))
b7a3cf11 4403
865aacc9 4404(define-public libgnome-games-support
f09520db 4405 (package
865aacc9 4406 (name "libgnome-games-support")
4c6d15cf 4407 (version "1.4.4")
f09520db
SB
4408 (source (origin
4409 (method url-fetch)
2d8dca9d 4410 (uri (string-append "mirror://gnome/sources/libgnome-games-support/"
f09520db 4411 (version-major+minor version) "/"
2d8dca9d 4412 "libgnome-games-support-" version ".tar.xz"))
f09520db
SB
4413 (sha256
4414 (base32
4c6d15cf 4415 "1zkbmnrn161p74qg6jhsn9f66yjjzxfm13pl1klv9av8k1bax9pq"))))
f09520db
SB
4416 (build-system gnu-build-system)
4417 (arguments
4418 '(#:phases
4419 (modify-phases %standard-phases
4420 (add-before 'check 'pre-check
4421 (lambda _
865aacc9 4422 ;; Tests require a writable HOME.
f09520db
SB
4423 (setenv "HOME" (getcwd))
4424 #t)))))
4425 (native-inputs
4426 `(("intltool" ,intltool)
4427 ("pkg-config" ,pkg-config)
4428 ("vala" ,vala)))
4429 (propagated-inputs
865aacc9 4430 ;; Required by libgnome-games-support-1.0.pc
f09520db
SB
4431 `(("gtk+" ,gtk+)
4432 ("libgee" ,libgee)))
4433 (home-page "https://www.gnome.org/")
4434 (synopsis "Useful functionality shared among GNOME games")
4435 (description
865aacc9 4436 "libgnome-games-support is a small library intended for internal use by
f09520db
SB
4437GNOME Games, but it may be used by others.")
4438 (license license:lgpl3+)))
4439
b7a3cf11
SB
4440(define-public gnome-klotski
4441 (package
4442 (name "gnome-klotski")
c1e419c4 4443 (version "3.32.0")
b7a3cf11
SB
4444 (source (origin
4445 (method url-fetch)
4446 (uri (string-append "mirror://gnome/sources/" name "/"
4447 (version-major+minor version) "/"
4448 name "-" version ".tar.xz"))
4449 (sha256
4450 (base32
c1e419c4
KK
4451 "1p4s15gxj6gasix22z9vlx2yrx196fvcxr6v6qrl569idfgjbi72"))))
4452 (build-system meson-build-system)
4453 (arguments
4454 '(#:glib-or-gtk? #t
4455 #:phases
4456 (modify-phases %standard-phases
4457 (add-after 'unpack 'skip-gtk-update-icon-cache
4458 ;; Don't create 'icon-theme.cache'.
4459 (lambda _
4460 (substitute* "build-aux/meson_post_install.py"
4461 (("gtk-update-icon-cache") (which "true")))
4462 #t)))))
b7a3cf11
SB
4463 (native-inputs
4464 `(("desktop-file-utils" ,desktop-file-utils)
c1e419c4 4465 ("glib:bin" ,glib "bin") ; for glib-compile-resources
b7a3cf11
SB
4466 ("intltool" ,intltool)
4467 ("itstool" ,itstool)
bcb354ad 4468 ("pkg-config" ,pkg-config)
c1e419c4 4469 ("vala" ,vala)
bcb354ad 4470 ("xmllint" ,libxml2)))
b7a3cf11
SB
4471 (inputs
4472 `(("gtk+" ,gtk+)
f4eae76f 4473 ("libgnome-games-support" ,libgnome-games-support)
b7a3cf11
SB
4474 ("librsvg" ,librsvg)))
4475 (home-page "https://wiki.gnome.org/Apps/Klotski")
4476 (synopsis "Sliding block puzzles")
4477 (description
4478 "GNOME Klotski is a set of block sliding puzzles. The objective is to move
4479the patterned block to the area bordered by green markers. To do so, you will
4480need to slide other blocks out of the way. Complete each puzzle in as few moves
4481as possible!")
4482 (license license:gpl2+)))
8d4791bf
MW
4483
4484(define-public grilo
4485 (package
4486 (name "grilo")
a865e938 4487 (version "0.3.10")
8d4791bf
MW
4488 (source
4489 (origin
4490 (method url-fetch)
4491 (uri (string-append "mirror://gnome/sources/" name "/"
4492 (version-major+minor version) "/"
4493 name "-" version ".tar.xz"))
4494 (sha256
4495 (base32
a865e938 4496 "1s7ilyywf18q26aj5c4709kfizqywjlnacp4jzmj9v9i9kkv4i3y"))))
d48d4c98 4497 (build-system meson-build-system)
8d4791bf
MW
4498 (native-inputs
4499 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
4500 ("intltool" ,intltool)
4501 ("pkg-config" ,pkg-config)
d48d4c98
KK
4502 ("gobject-introspection" ,gobject-introspection)
4503 ("gtk-doc" ,gtk-doc)
4504 ("vala" ,vala)))
8d4791bf 4505 (inputs
6d7273a0
KK
4506 `(("cyrus-sasl" ,cyrus-sasl)
4507 ("glib" ,glib)
8d4791bf
MW
4508 ("gtk+" ,gtk+)
4509 ("libxml2" ,libxml2)
6d7273a0 4510 ("liboauth" ,liboauth)
8d4791bf
MW
4511 ("libsoup" ,libsoup)
4512 ("totem-pl-parser" ,totem-pl-parser)))
8d4791bf
MW
4513 (native-search-paths
4514 (list (search-path-specification
4515 (variable "GRL_PLUGIN_PATH")
4516 (files (list (string-append "lib/grilo-"
4517 (version-major+minor version)))))))
d48d4c98 4518 (home-page "https://wiki.gnome.org/action/show/Projects/Grilo")
8d4791bf
MW
4519 (synopsis "Framework for discovering and browsing media")
4520 (description
4521 "Grilo is a framework focused on making media discovery and browsing easy
4522for application developers.")
4523 (license license:lgpl2.1+)))
7b212526
MW
4524
4525(define-public grilo-plugins
4526 (package
4527 (name "grilo-plugins")
22753632 4528 (version "0.3.3")
7b212526
MW
4529 (source
4530 (origin
4531 (method url-fetch)
4532 (uri (string-append "mirror://gnome/sources/" name "/"
4533 (version-major+minor version) "/"
4534 name "-" version ".tar.xz"))
4535 (sha256
4536 (base32
22753632 4537 "172vr1y98d2mzlmg5akjn4ibrcj3gh22cwnb3cv9rvvzhj3yhrpy"))))
7b212526
MW
4538 (build-system gnu-build-system)
4539 (native-inputs
4540 `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal
4541 ("intltool" ,intltool)
4542 ("itstool" ,itstool)
4543 ("pkg-config" ,pkg-config)))
4544 (inputs
4545 `(("grilo" ,grilo)
4546 ("glib" ,glib)
4547 ("libxml2" ,libxml2)
4548 ("sqlite" ,sqlite)
4549 ("gom" ,gom)
4550 ;; XXX TODO: Add oauth
4551 ;; XXX TODO: Add goa
4552 ;; XXX TODO: Add gdata (e.g. needed for youtube plugin)
4553 ;; XXX TODO: Add lua (needs help finding it)
4554 ("json-glib" ,json-glib)
4555 ("avahi" ,avahi)
4556 ("gmime" ,gmime)
4557 ("libsoup" ,libsoup)
4558 ("libarchive" ,libarchive)
4559 ("totem-pl-parser" ,totem-pl-parser)))
4560 (arguments
4561 `(#:make-flags (list (string-append "GRL_PLUGINS_DIR="
4562 %output
4563 "/lib/grilo-"
4564 ,(version-major+minor version)))
4565 ;; XXX FIXME: Try to get the test suite working. It appears to require
4566 ;; a working system dbus. Inside the build container, all tests fail
4567 ;; with: "assertion failed: (source)". Outside of the build container,
4568 ;; most tests succeed.
4569 #:tests? #f))
f032d0be 4570 (home-page "https://live.gnome.org/Grilo")
7b212526
MW
4571 (synopsis "Plugins for the Grilo media discovery library")
4572 (description
4573 "Grilo is a framework focused on making media discovery and browsing easy
4574for application developers.")
4575 (license license:lgpl2.1+)))
4e3fc547
MW
4576
4577(define-public totem
4578 (package
4579 (name "totem")
995ef5ea 4580 (version "3.32.1")
4e3fc547
MW
4581 (source
4582 (origin
4583 (method url-fetch)
4584 (uri (string-append "mirror://gnome/sources/" name "/"
4585 (version-major+minor version) "/"
4586 name "-" version ".tar.xz"))
4587 (sha256
4588 (base32
995ef5ea 4589 "0yra8apc7smpwf7d1k8crhrm8d4wix24ds6i9yxbch1v11jnhr3v"))))
7ad81b8b 4590 (build-system meson-build-system)
4e3fc547
MW
4591 (native-inputs
4592 `(("pkg-config" ,pkg-config)
4593 ("desktop-file-utils" ,desktop-file-utils)
4594 ("gobject-introspection" ,gobject-introspection)
7ad81b8b 4595 ("glib:bin" ,glib "bin") ;for 'glib-mkenums'
4e3fc547 4596 ("intltool" ,intltool)
bcb354ad 4597 ("itstool" ,itstool)
995ef5ea
KK
4598 ("xmllint" ,libxml2)
4599 ("python-pylint" ,python-pylint)
4600 ("xorg-server" ,xorg-server-for-tests)))
4e3fc547
MW
4601 (propagated-inputs
4602 `(("dconf" ,dconf)))
4603 (inputs
4604 `(("gtk+" ,gtk+)
4605 ("gdk-pixbuf" ,gdk-pixbuf)
4606 ("atk" ,atk)
4607 ("cairo" ,cairo)
4608 ("dbus-glib" ,dbus-glib)
4609 ("clutter" ,clutter)
4610 ("clutter-gtk" ,clutter-gtk)
4611 ("clutter-gst" ,clutter-gst)
6a6db57f 4612 ("xorgproto" ,xorgproto)
4e3fc547
MW
4613 ("libxxf86vm" ,libxxf86vm)
4614 ("libxtst" ,libxtst)
4615 ("libxrandr" ,libxrandr)
4616 ("libxml2" ,libxml2)
4617 ("libsoup" ,libsoup)
4618 ("libpeas" ,libpeas)
4619 ("librsvg" ,librsvg)
4620 ("lirc" ,lirc)
4621 ("gnome-desktop" ,gnome-desktop)
4622 ("gstreamer" ,gstreamer)
4623 ("gst-plugins-base" ,gst-plugins-base)
4624 ("gst-plugins-good" ,gst-plugins-good)
4625 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4626 ("adwaita-icon-theme" ,adwaita-icon-theme)
d7b63ba9 4627 ("python" ,python)
995ef5ea 4628 ("python-pygobject" ,python-pygobject)
4e3fc547
MW
4629 ("totem-pl-parser" ,totem-pl-parser)
4630 ("grilo" ,grilo)
4631 ("grilo-plugins" ,grilo-plugins)
4e3fc547
MW
4632 ("vala" ,vala)))
4633 (arguments
7ad81b8b
LC
4634 `(#:glib-or-gtk? #t
4635
4636 ;; Disable automatic GStreamer plugin installation via PackageKit and
ec5c24f9 4637 ;; all that.
7ad81b8b 4638 #:configure-flags '("-D" "enable-easy-codec-installation=no"
a388c951
LC
4639
4640 ;; Do not build .a files for the plugins, it's
4641 ;; completely useless. This saves 2 MiB.
7ad81b8b 4642 "--default-library" "shared")
ec5c24f9 4643 #:phases
4e3fc547 4644 (modify-phases %standard-phases
d51b19ad
EF
4645 (add-after 'unpack 'skip-gtk-update-icon-cache
4646 ;; Don't create 'icon-theme.cache'.
4647 (lambda _
4648 (substitute* "meson_post_install.py"
4649 (("gtk-update-icon-cache") "true"))
4650 #t))
6368eb39
DM
4651 (add-before
4652 'install 'disable-cache-generation
4653 (lambda _
4654 (setenv "DESTDIR" "/")
4655 #t))
995ef5ea
KK
4656 (add-before
4657 'check 'pre-check
4658 (lambda _
4659 ;; Tests require a running X server.
4660 (system "Xvfb :1 &")
4661 (setenv "DISPLAY" ":1")
4662 #t))
4e3fc547
MW
4663 (add-after
4664 'install 'wrap-totem
4665 (lambda* (#:key inputs outputs #:allow-other-keys)
4666 (let ((out (assoc-ref outputs "out"))
4667 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
4668 (grl-plugin-path (getenv "GRL_PLUGIN_PATH")))
4669 (wrap-program (string-append out "/bin/totem")
4670 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
39c853bd
AW
4671 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path)))
4672 (wrap-program (string-append out "/bin/totem-video-thumbnailer")
4673 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
4e3fc547
MW
4674 #t)))))
4675 (home-page "https://wiki.gnome.org/Apps/Videos")
4676 (synopsis "Simple media player for GNOME based on GStreamer")
4677 (description "Totem is a simple yet featureful media player for GNOME
4678which can read a large number of file formats.")
4679 ;; GPL2+ with an exception clause for non-GPL compatible GStreamer plugins
4680 ;; to be used and distributed together with GStreamer and Totem. See
4681 ;; file://COPYING in the source distribution for details.
4682 (license license:gpl2+)))
f0afb0c8
DH
4683
4684(define-public rhythmbox
4685 (package
4686 (name "rhythmbox")
8190e1ed 4687 (version "3.4.3")
f0afb0c8
DH
4688 (source (origin
4689 (method url-fetch)
4690 (uri (string-append "mirror://gnome/sources/" name "/"
4691 (version-major+minor version) "/"
4692 name "-" version ".tar.xz"))
4693 (sha256
4694 (base32
8190e1ed 4695 "1yx3n7p9vmv23jsv98fxwq95n78awdxqm8idhyhxx2d6vk4w1hgx"))))
f0afb0c8
DH
4696 (build-system glib-or-gtk-build-system)
4697 (arguments
4698 `(#:configure-flags
4699 (list "--enable-lirc"
4700 "--enable-python"
4701 "--enable-vala"
4702 "--with-brasero"
4703 "--with-gudev"
4704 "--with-libsecret")
4705 #:phases
4706 (modify-phases %standard-phases
4707 (add-after
4708 'install 'wrap-rhythmbox
4709 (lambda* (#:key inputs outputs #:allow-other-keys)
4710 (let ((out (assoc-ref outputs "out"))
4711 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
4712 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
349cef58
TGR
4713 (grl-plugin-path (getenv "GRL_PLUGIN_PATH"))
4714 (python-path (getenv "PYTHONPATH")))
f0afb0c8
DH
4715 (wrap-program (string-append out "/bin/rhythmbox")
4716 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
4717 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
349cef58
TGR
4718 `("GRL_PLUGIN_PATH" ":" prefix (,grl-plugin-path))
4719 `("PYTHONPATH" ":" prefix (,python-path))))
f0afb0c8
DH
4720 #t)))))
4721 (propagated-inputs
4722 `(("dconf" ,dconf)))
4723 (native-inputs
bcb354ad
SB
4724 `(("itstool" ,itstool)
4725 ("intltool" ,intltool)
f0afb0c8
DH
4726 ("glib" ,glib "bin")
4727 ("gobject-introspection" ,gobject-introspection)
4728 ("desktop-file-utils" ,desktop-file-utils)
bcb354ad
SB
4729 ("pkg-config" ,pkg-config)
4730 ("xmllint" ,libxml2)))
f0afb0c8
DH
4731 (inputs
4732 `(("json-glib" ,json-glib)
4733 ("tdb" ,tdb)
4734 ("gnome-desktop" ,gnome-desktop)
4735 ("python" ,python)
4736 ("python-pygobject" ,python2-pygobject)
4737 ("vala" ,vala)
4738 ("gmime" ,gmime)
f0afb0c8
DH
4739 ("adwaita-icon-theme" ,adwaita-icon-theme)
4740 ("grilo" ,grilo)
4741 ("grilo-plugins" ,grilo-plugins)
4742 ("gstreamer" ,gstreamer)
4743 ("gst-plugins-base" ,gst-plugins-base)
4744 ("gst-plugins-good" ,gst-plugins-good)
f0afb0c8 4745 ("totem-pl-parser" ,totem-pl-parser)
ea226291 4746 ("libgudev" ,libgudev)
f0afb0c8
DH
4747 ;;("libmtp" ,libmtp) FIXME: Not detected
4748 ("libsecret" ,libsecret)
4749 ("libsoup" ,libsoup)
4750 ("libnotify" ,libnotify)
4751 ("libpeas" ,libpeas)
4752 ("lirc" ,lirc)
4753 ;; TODO: clutter* only used by visualizer plugin, which also requires mx
4754 ;;("clutter" ,clutter)
4755 ;;("clutter-gtk" ,clutter-gtk)
4756 ;;("clutter-gst" ,clutter-gst)
4757 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4758 ("atk" ,atk)
4759 ("pango" ,pango)
4760 ("gtk+" ,gtk+)
4761 ;; TODO:
4762 ;; * libgpod
4763 ;; * mx
f0afb0c8
DH
4764 ("brasero" ,brasero)))
4765 (home-page "https://wiki.gnome.org/Apps/Rhythmbox")
4766 (synopsis "Music player for GNOME")
4767 (description "Rhythmbox is a music playing application for GNOME. It
4768supports playlists, song ratings, and any codecs installed through gstreamer.")
4769 (license license:gpl2+)))
f70d8383
DH
4770
4771(define-public eog
4772 (package
4773 (name "eog")
b0f24a82 4774 (version "3.32.2")
f70d8383
DH
4775 (source (origin
4776 (method url-fetch)
4777 (uri (string-append "mirror://gnome/sources/" name "/"
4778 (version-major+minor version) "/"
4779 name "-" version ".tar.xz"))
4780 (sha256
4781 (base32
b0f24a82 4782 "1bcxpqgzlk2cy4wfb3b5h66mhpj2fhrk1rrb5qqcv5xrr62ik5xy"))))
61fb581f 4783 (build-system meson-build-system)
f70d8383 4784 (arguments
34c44a34
RW
4785 `(#:configure-flags
4786 ;; Otherwise, the RUNPATH will lack the final 'eog' path component.
4787 (list (string-append "-Dc_link_args=-Wl,-rpath="
4788 (assoc-ref %outputs "out") "/lib/eog"))
4789 #:phases
f70d8383 4790 (modify-phases %standard-phases
7a034665
EF
4791 (add-after 'unpack 'skip-gtk-update-icon-cache
4792 ;; Don't create 'icon-theme.cache'.
4793 (lambda _
4794 (substitute* "meson_post_install.py"
4795 (("gtk-update-icon-cache") "true"))
4796 #t))
61fb581f
RW
4797 (add-after 'install 'wrap-eog
4798 (lambda* (#:key outputs #:allow-other-keys)
4799 (let ((out (assoc-ref outputs "out"))
4800 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
4801 (wrap-program (string-append out "/bin/eog")
4802 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
4803 #t)))))
f70d8383
DH
4804 (propagated-inputs
4805 `(("dconf" ,dconf)))
4806 (native-inputs
4807 `(("intltool" ,intltool)
b3546174 4808 ("itstool" ,itstool)
f70d8383
DH
4809 ("glib" ,glib "bin")
4810 ("gobject-introspection" ,gobject-introspection)
bcb354ad
SB
4811 ("pkg-config" ,pkg-config)
4812 ("xmllint" ,libxml2)))
f70d8383
DH
4813 (inputs
4814 `(("gnome-desktop" ,gnome-desktop)
4815 ("shared-mime-info" ,shared-mime-info)
4816 ("adwaita-icon-theme" ,adwaita-icon-theme)
4817 ("exempi" ,exempi)
4818 ("lcms" ,lcms)
4819 ("libexif" ,libexif)
4820 ("libpeas" ,libpeas)
4821 ("libjpeg" ,libjpeg)
4822 ("librsvg" ,librsvg)
4823 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
4824 ("gtk+" ,gtk+)))
4825 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome")
4826 (synopsis "GNOME image viewer")
4827 (description "Eye of GNOME is the GNOME image viewer. It
4828supports image conversion, rotation, and slideshows.")
4829 (license license:gpl2+)))
41af5e7b 4830
0c3f8cb8
LC
4831(define-public eog-plugins
4832 ;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
4833 ;; $DATA/lib/eog/plugins, where DATA is one of the entries in
4834 ;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
4835 ;; 'XDG_DATA_DIRS' appropriately set.
4836 (package
4837 (name "eog-plugins")
54b74cc6 4838 (version "3.26.4")
0c3f8cb8
LC
4839 (source (origin
4840 (method url-fetch)
f3b88ed2 4841 (uri (string-append "mirror://gnome/sources/eog-plugins/"
0c3f8cb8 4842 (version-major+minor version) "/"
f3b88ed2 4843 "eog-plugins-" version ".tar.xz"))
0c3f8cb8
LC
4844 (sha256
4845 (base32
54b74cc6 4846 "0pd7fqa4ciy5844k5s1c6rlsqkk8pxd8cchxjcjhxlsngm9lynnx"))))
0c3f8cb8
LC
4847 (build-system gnu-build-system)
4848 (home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
4849 (synopsis "Extensions for the Eye of GNOME image viewer")
4850 (native-inputs
4851 `(("pkg-config" ,pkg-config)
4852 ("gettext" ,gnu-gettext)))
4853 (inputs
4854 `(("eog" ,eog)
4855 ("glib" ,glib)
4856 ("gtk+" ,gtk+)
4857 ("libpeas" ,libpeas)
4858 ("libexif" ,libexif)
4859 ("libchamplain" ,libchamplain)))
4860 (description
4861 "This package provides plugins for the Eye of GNOME (EOG) image viewer,
4862notably:
4863
4864@itemize
4865@item @dfn{EXIF Display}, which displays camera (EXIF) information;
4866@item @dfn{Map}, which displays a map of where the picture was taken on the
4867side panel;
4868@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
4869@end itemize\n")
4870
4871 ;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
4872 ;; long suspicious byte stream that goes to a
4873 ;; ".gresource.eog_postasa_plugin" ELF section.
4874 (license license:gpl2+)))
4875
41af5e7b
SB
4876(define-public libgudev
4877 (package
4878 (name "libgudev")
b78f5118 4879 (version "232")
41af5e7b
SB
4880 (source (origin
4881 (method url-fetch)
4882 (uri (string-append "mirror://gnome/sources/" name "/"
4883 version "/" name "-" version ".tar.xz"))
4884 (sha256
4885 (base32
b78f5118 4886 "0q3qki451zzgdjazlgshsfzbbm0in40lyx7dyrag7kbkqnwv4k7f"))))
41af5e7b 4887 (build-system gnu-build-system)
b78f5118
RW
4888 (arguments
4889 '(#:configure-flags
4890 ;; umockdev depends on libgudev.
4891 (list "--disable-umockdev")))
41af5e7b
SB
4892 (native-inputs
4893 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
4894 ("gobject-introspection" ,gobject-introspection)
4895 ("pkg-config" ,pkg-config)))
4896 (propagated-inputs
4897 `(("glib" ,glib))) ; required by gudev-1.0.pc
4898 (inputs
4899 `(("udev" ,eudev)))
4900 (home-page "https://wiki.gnome.org/Projects/libgudev")
4901 (synopsis "GObject bindings for libudev")
4902 (description
4903 "This library provides GObject bindings for libudev. It was originally
4904part of udev-extras, then udev, then systemd. It's now a project on its own.")
4905 (license license:lgpl2.1+)))
3dc8828f
SB
4906
4907(define-public gvfs
4908 (package
4909 (name "gvfs")
12fe4846 4910 (version "1.40.1")
3dc8828f
SB
4911 (source (origin
4912 (method url-fetch)
1d68eb32 4913 (uri (string-append "mirror://gnome/sources/gvfs/"
3dc8828f 4914 (version-major+minor version) "/"
1d68eb32 4915 "gvfs-" version ".tar.xz"))
3dc8828f
SB
4916 (sha256
4917 (base32
12fe4846 4918 "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj"))))
e762d943 4919 (build-system meson-build-system)
3dc8828f 4920 (arguments
e762d943
RW
4921 '(#:glib-or-gtk? #t
4922 #:configure-flags
4923 (list "-Dsystemduserunitdir=no"
4924 "-Dtmpfilesdir=no"
4925 ;; Otherwise, the RUNPATH will lack the final path component.
4926 (string-append "-Dc_link_args=-Wl,-rpath="
4927 (assoc-ref %outputs "out") "/lib/gvfs"))))
3dc8828f
SB
4928 (native-inputs
4929 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
0ab9f949
RW
4930 ("gettext" ,gettext-minimal)
4931 ("gtk-doc" ,gtk-doc)
3dc8828f
SB
4932 ("pkg-config" ,pkg-config)
4933 ("xsltproc" ,libxslt)))
4934 (inputs
4935 `(("avahi" ,avahi)
4936 ("docbook-xml" ,docbook-xml-4.2)
4937 ("docbook-xsl" ,docbook-xsl)
4938 ("dbus" ,dbus)
e762d943 4939 ("elogind" ,elogind)
3dc8828f 4940 ("fuse" ,fuse)
24a78aa6 4941 ("gcr" ,gcr)
3dc8828f 4942 ("glib" ,glib)
e762d943 4943 ("gnome-online-accounts" ,gnome-online-accounts)
3dc8828f
SB
4944 ("libarchive" ,libarchive)
4945 ("libbluray" ,libbluray)
8852ca24 4946 ("libcap" ,libcap)
3dc8828f
SB
4947 ("libcdio-paranoia" ,libcdio-paranoia)
4948 ("libgcrypt" ,libgcrypt)
e762d943 4949 ("libgdata" ,libgdata)
3dc8828f
SB
4950 ("libgphoto2" ,libgphoto2)
4951 ("libgudev" ,libgudev)
0ab9f949 4952 ("libimobiledevice" ,libimobiledevice)
3dc8828f 4953 ("libmtp" ,libmtp)
e762d943 4954 ("libnfs" ,libnfs)
3dc8828f
SB
4955 ("libsecret" ,libsecret)
4956 ("libsmbclient" ,samba)
4957 ("libsoup" ,libsoup)
4958 ("libxml2" ,libxml2)
e762d943 4959 ("openssh" ,openssh)
8852ca24 4960 ("polkit" ,polkit)
3dc8828f
SB
4961 ("udisks" ,udisks)))
4962 (home-page "https://wiki.gnome.org/gvfs/")
8f65585b 4963 (synopsis "Userspace virtual file system for GIO")
3dc8828f 4964 (description
8f65585b 4965 "GVFS is a userspace virtual file system designed to work with the I/O
3dc8828f
SB
4966abstraction of GIO. It contains a GIO module that seamlessly adds GVFS support
4967to all applications using the GIO API. It also supports exposing the GVFS
4968mounts to non-GIO applications using FUSE.
4969
4970GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
4971DAV, and others.")
4972 (license license:lgpl2.0+)))
7c88b6bd
AW
4973
4974(define-public gusb
4975 (package
4976 (name "gusb")
536b3274 4977 (version "0.3.0")
7c88b6bd 4978 (source (origin
bbfb36f9
EF
4979 (method git-fetch)
4980 (uri (git-reference
4981 (url "https://github.com/hughsie/libgusb.git")
4982 (commit version)))
4983 (file-name (git-file-name name version))
7c88b6bd
AW
4984 (sha256
4985 (base32
bbfb36f9 4986 "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7"))))
536b3274 4987 (build-system meson-build-system)
7c88b6bd 4988 (native-inputs
536b3274 4989 `(("gobject-introspection" ,gobject-introspection)
7c88b6bd
AW
4990 ("pkg-config" ,pkg-config)
4991 ("vala" ,vala)
7c88b6bd
AW
4992 ("gtk-doc" ,gtk-doc)))
4993 (propagated-inputs
4994 ;; Both of these are required by gusb.pc.
4995 `(("glib" ,glib)
4996 ("libusb" ,libusb)))
4997 (arguments
536b3274 4998 `(#:tests? #f)) ;libusb fails to initialize. Wonder what that is.
8f1640ed 4999 (home-page "https://github.com/hughsie/libgusb")
a124bbd2 5000 (synopsis "GLib binding for libusb1")
7c88b6bd
AW
5001 (description
5002 "GUsb is a GObject wrapper for libusb1 that makes it easy to do
5003asynchronous control, bulk and interrupt transfers with proper cancellation
5004and integration into a mainloop. This makes it easy to integrate low level
5005USB transfers with your high-level application or system daemon.")
5006 (license license:lgpl2.1+)))
0abe1d86
AW
5007
5008(define-public simple-scan
5009 (package
5010 (name "simple-scan")
4afb7dd9 5011 (version "3.34.2")
d9f6d587
TGR
5012 (source
5013 (origin
5014 (method url-fetch)
5015 (uri (string-append "mirror://gnome/sources/simple-scan/"
5016 (version-major+minor version) "/"
5017 "simple-scan-" version ".tar.xz"))
5018 (sha256
4afb7dd9 5019 (base32 "1fk3g4f9slckqfwm576jrjq1d1qihw0dlgzdf00ns7qbhzb0kxsp"))))
d9f6d587
TGR
5020 (build-system meson-build-system)
5021 ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
5022 (arguments
5023 '(#:glib-or-gtk? #t))
0abe1d86
AW
5024 (inputs
5025 `(("gtk" ,gtk+)
5026 ("zlib" ,zlib)
5027 ("cairo" ,cairo)
c501f592 5028 ("colord" ,colord)
0abe1d86
AW
5029 ("gdk-pixbuf" ,gdk-pixbuf)
5030 ("gusb" ,gusb)
4c928743 5031 ("libsane" ,sane-backends)))
0abe1d86 5032 (native-inputs
b94a6ca0 5033 `(("gettext" ,gettext-minimal)
0abe1d86 5034 ("itstool" ,itstool)
c501f592 5035 ("glib" ,glib "bin") ; glib-compile-schemas, etc.
0abe1d86 5036 ("pkg-config" ,pkg-config)
bcb354ad
SB
5037 ("vala" ,vala)
5038 ("xmllint" ,libxml2)))
dff0eedb 5039 (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
0abe1d86 5040 (synopsis "Document and image scanner")
d9f6d587
TGR
5041 (description
5042 "Document Scanner is an easy-to-use application that lets you connect your
5043scanner and quickly capture images and documents in an appropriate format. It
5044supports any scanner for which a suitable SANE driver is available, which is
5045almost all of them.")
0abe1d86 5046 (license license:gpl3+)))
7549f984 5047
ab466d79
RW
5048(define-public eolie
5049 (package
5050 (name "eolie")
fa8ef3ed 5051 (version "0.9.63")
ab466d79
RW
5052 (source (origin
5053 (method url-fetch)
00014781 5054 (uri (string-append "https://gitlab.gnome.org/World/eolie/"
fa8ef3ed 5055 "uploads/d42b466752729a0d3fa828a721e25043/"
00014781 5056 "eolie-" version ".tar.xz"))
ab466d79
RW
5057 (sha256
5058 (base32
fa8ef3ed 5059 "11pp8g0w22h1q0bbj9517l5838gcymvvp8fp9kh6h2dmgir2ssih"))))
00014781 5060 (build-system meson-build-system)
ab466d79 5061 (arguments
00014781
RW
5062 `(#:glib-or-gtk? #t
5063 #:phases
ab466d79 5064 (modify-phases %standard-phases
f0c68100
EF
5065 (add-after 'unpack 'skip-gtk-update-icon-cache
5066 ;; Don't create 'icon-theme.cache'.
5067 (lambda _
5068 (substitute* "meson_post_install.py"
5069 (("gtk-update-icon-cache") "true"))
5070 #t))
ab466d79
RW
5071 (add-after 'wrap 'wrap-more
5072 (lambda* (#:key inputs outputs #:allow-other-keys)
5073 (let* ((out (assoc-ref outputs "out"))
5074 ;; These libraries must be on LD_LIBRARY_PATH.
5075 (libs '("gtkspell3" "webkitgtk" "libsoup" "libsecret"
5076 "atk" "gtk+" "gsettings-desktop-schemas"
5077 "gobject-introspection"))
5078 (path (string-join
5079 (map (lambda (lib)
5080 (string-append (assoc-ref inputs lib) "/lib"))
5081 libs)
5082 ":")))
5083 (wrap-program (string-append out "/bin/eolie")
5084 `("LD_LIBRARY_PATH" ":" prefix (,path))
5085 `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
5086 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))
5087 #t)))))
5088 (native-inputs
f85ca6ed 5089 `(("intltool" ,intltool)
ab466d79 5090 ("itstool" ,itstool)
d95f1041 5091 ("pkg-config" ,pkg-config)
d95f1041 5092 ("python" ,python)
f0c68100 5093 ("glib:bin" ,glib "bin")))
ab466d79
RW
5094 (inputs
5095 `(("gobject-introspection" ,gobject-introspection)
5096 ("glib-networking" ,glib-networking)
5097 ("cairo" ,cairo)
5098 ("gtk+" ,gtk+)
5099 ("atk" ,atk) ; propagated by gtk+, but we need it in LD_LIBRARY_PATH
5100 ("python" ,python-wrapper)
d72f76df 5101 ("python-dateutil" ,python-dateutil)
00014781 5102 ("python-pyfxa" ,python-pyfxa)
ab466d79
RW
5103 ("python-pygobject" ,python-pygobject)
5104 ("python-pycairo" ,python-pycairo)
00014781 5105 ("python-pycrypto" ,python-pycrypto)
ab466d79
RW
5106 ("libsecret" ,libsecret)
5107 ("gtkspell3" ,gtkspell3)
5108 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
f85ca6ed 5109 ("webkitgtk" ,webkitgtk)))
166b2c97 5110 (home-page "https://wiki.gnome.org/Apps/Eolie")
ab466d79
RW
5111 (synopsis "Web browser for GNOME")
5112 (description
5113 "Eolie is a new web browser for GNOME. It features Firefox sync support,
5114a secret password store, an adblocker, and a modern UI.")
5115 (license license:gpl3+)))
5116
7549f984
SB
5117(define-public epiphany
5118 (package
5119 (name "epiphany")
60680365 5120 (version "3.32.5")
7549f984
SB
5121 (source (origin
5122 (method url-fetch)
dd3266ec 5123 (uri (string-append "mirror://gnome/sources/epiphany/"
7549f984 5124 (version-major+minor version) "/"
dd3266ec 5125 "epiphany-" version ".tar.xz"))
7549f984
SB
5126 (sha256
5127 (base32
60680365 5128 "1hj4yy53fwh96h17cqiw3gxc070vmc7yqwc7phvhnpyinkp9g5my"))))
fc5c5b92
R
5129
5130 (build-system meson-build-system)
7549f984
SB
5131 (arguments
5132 ;; FIXME: tests run under Xvfb, but fail with:
5133 ;; /src/bookmarks/ephy-bookmarks/create:
5134 ;; ** (test-ephy-bookmarks:19591): WARNING **: Unable to start Zeroconf
5135 ;; subsystem
5136 ;; FAIL
6f48d9db 5137 '(#:tests? #f
e19f9c24 5138 #:glib-or-gtk? #t
bb7ff88f
EF
5139 #:phases
5140 (modify-phases %standard-phases
5141 (add-after 'unpack 'skip-gtk-update-icon-cache
5142 ;; Don't create 'icon-theme.cache'.
5143 (lambda _
5144 (substitute* "post_install.py"
5145 (("gtk-update-icon-cache") "true"))
5146 #t)))
e19f9c24
LF
5147 #:configure-flags
5148 ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component.
5149 (list (string-append "-Dc_link_args=-Wl,-rpath="
5150 (assoc-ref %outputs "out") "/lib/epiphany"))))
80a747c4
SB
5151 (propagated-inputs
5152 `(("dconf" ,dconf)))
7549f984 5153 (native-inputs
fc5c5b92
R
5154 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5155 ("glib:bin" ,glib "bin") ; for glib-mkenums
fc5c5b92 5156 ("intltool" ,intltool)
7549f984 5157 ("itstool" ,itstool)
bcb354ad
SB
5158 ("pkg-config" ,pkg-config)
5159 ("xmllint" ,libxml2)))
7549f984
SB
5160 (inputs
5161 `(("avahi" ,avahi)
5162 ("gcr" ,gcr)
fc5c5b92 5163 ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) ; for loading SVG files
7549f984
SB
5164 ("glib-networking" ,glib-networking)
5165 ("gnome-desktop" ,gnome-desktop)
5166 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
eb6f315b 5167 ("json-glib" ,json-glib)
7549f984 5168 ("iso-codes" ,iso-codes)
8748e29c 5169 ("libdazzle" ,libdazzle)
7549f984
SB
5170 ("libnotify" ,libnotify)
5171 ("libsecret" ,libsecret)
7549f984 5172 ("libxslt" ,libxslt)
fc5c5b92 5173 ("nettle" ,nettle) ; for hogweed
7549f984 5174 ("sqlite" ,sqlite)
f85ca6ed 5175 ("webkitgtk" ,webkitgtk)))
7549f984
SB
5176 (home-page "https://wiki.gnome.org/Apps/Web")
5177 (synopsis "GNOME web browser")
5178 (description
5179 "Epiphany is a GNOME web browser targeted at non-technical users. Its
5180principles are simplicity and standards compliance.")
5181 (license license:gpl2+)))
a3856b2c
SB
5182
5183(define-public d-feet
5184 (package
5185 (name "d-feet")
458e9221 5186 (version "0.3.14")
a3856b2c
SB
5187 (source (origin
5188 (method url-fetch)
5189 (uri (string-append "mirror://gnome/sources/" name "/"
5190 (version-major+minor version) "/"
5191 name "-" version ".tar.xz"))
5192 (sha256
5193 (base32
458e9221 5194 "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f"))))
a3856b2c
SB
5195 (build-system glib-or-gtk-build-system)
5196 (arguments
5197 '(#:out-of-source? #f ; tests need to run in the source directory.
5198 #:phases
5199 (modify-phases %standard-phases
5200 (add-before
5201 'check 'pre-check
86aff791 5202 (lambda _
a3856b2c
SB
5203 ;; The test suite requires a running X server.
5204 (system "Xvfb :1 &")
5205 (setenv "DISPLAY" ":1")
5206 ;; Don't fail on missing '/etc/machine-id'.
5207 (setenv "DBUS_FATAL_WARNINGS" "0")
5208 ;; tests.py and window.py don't meet E402:
5209 ;; E402 module level import not at top of file
5210 (substitute* "src/tests/Makefile"
86aff791
MW
5211 (("--ignore=E123") "--ignore=E123,E402"))
5212 #t))
a3856b2c
SB
5213 (add-after
5214 'install 'wrap-program
5215 (lambda* (#:key outputs #:allow-other-keys)
5216 (let ((prog (string-append (assoc-ref outputs "out")
5217 "/bin/d-feet")))
5218 (wrap-program prog
5219 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
86aff791
MW
5220 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
5221 #t))))))
a3856b2c
SB
5222 (native-inputs
5223 `(("intltool" ,intltool)
5224 ("itstool" ,itstool)
5225 ("pkg-config" ,pkg-config)
5226 ("python-pep8" ,python-pep8)
5227 ("xmllint" ,libxml2)
ff337525 5228 ("xorg-server" ,xorg-server-for-tests)))
a3856b2c
SB
5229 (inputs
5230 `(("gobject-introspection" ,gobject-introspection)
5231 ("gtk+" ,gtk+)
5232 ("python" ,python-wrapper)
458e9221 5233 ("hicolor-icon-theme" ,hicolor-icon-theme)
a3856b2c
SB
5234 ("python-pygobject" ,python-pygobject)))
5235 (home-page "https://wiki.gnome.org/Apps/DFeet")
5236 (synopsis "D-Bus debugger")
5237 (description
5238 "D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
5239of running programs and invoke methods on those interfaces.")
5240 (license license:gpl2+)))
c3b97bd9
SB
5241
5242(define-public yelp-xsl
5243 (package
5244 (name "yelp-xsl")
b3640e79 5245 (version "3.32.1")
c3b97bd9
SB
5246 (source (origin
5247 (method url-fetch)
5248 (uri (string-append "mirror://gnome/sources/" name "/"
5249 (version-major+minor version) "/"
5250 name "-" version ".tar.xz"))
5251 (sha256
5252 (base32
b3640e79 5253 "013z2ixx9kfrs6hq79qpil093xfbc12y1p0mvsh6lpala30iphya"))))
c3b97bd9
SB
5254 (build-system gnu-build-system)
5255 (native-inputs
5256 `(("intltool" ,intltool)
5257 ("itstool" ,itstool)
5258 ("xmllint" ,libxml2)))
5259 (home-page "https://wiki.gnome.org/Apps/Yelp")
5260 (synopsis "XSL stylesheets for Yelp")
5261 (description
5262 "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
5263to format Docbook and Mallard documents.")
5264 (license license:gpl2+)))
de3d612a
SB
5265
5266(define-public yelp
5267 (package
5268 (name "yelp")
1f1b6d60 5269 (version "3.32.2")
de3d612a
SB
5270 (source (origin
5271 (method url-fetch)
5272 (uri (string-append "mirror://gnome/sources/" name "/"
5273 (version-major+minor version) "/"
5274 name "-" version ".tar.xz"))
5275 (sha256
5276 (base32
1f1b6d60 5277 "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
de3d612a
SB
5278 (build-system glib-or-gtk-build-system)
5279 (native-inputs
5280 `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
5281 ("intltool" ,intltool)
5282 ("itstool" ,itstool)
5283 ("pkg-config" ,pkg-config)))
5284 (propagated-inputs
5285 `(("dconf" ,dconf)))
5286 (inputs
ad1b7d8b
SB
5287 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5288 ("libxslt" ,libxslt)
de3d612a 5289 ("sqlite" ,sqlite)
4c28ca1d
SB
5290 ("webkitgtk" ,webkitgtk)
5291 ("yelp-xsl" ,yelp-xsl)))
de3d612a
SB
5292 (home-page "https://wiki.gnome.org/Apps/Yelp")
5293 (synopsis "GNOME help browser")
5294 (description
5295 "Yelp is the help viewer in Gnome. It natively views Mallard, DocBook,
5296man, info, and HTML documents. It can locate documents according to the
5297freedesktop.org help system specification.")
5298 (license license:gpl2+)))
122d0d10
SB
5299
5300(define-public yelp-tools
5301 (package
5302 (name "yelp-tools")
2089bca5 5303 (version "3.28.0")
122d0d10
SB
5304 (source (origin
5305 (method url-fetch)
5306 (uri (string-append "mirror://gnome/sources/" name "/"
5307 (version-major+minor version) "/"
5308 name "-" version ".tar.xz"))
5309 (sha256
5310 (base32
2089bca5 5311 "1b61dmlb1sd50fgq6zgnkcpx2s1py33q0x9cx67fzpsr4gmgxnw2"))))
122d0d10
SB
5312 (build-system gnu-build-system)
5313 (native-inputs
5314 `(("pkg-config" ,pkg-config)))
5315 (propagated-inputs
5316 ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
5317 `(("itstool" ,itstool)
5318 ("xmllint" ,libxml2)
5319 ("xsltproc" ,libxslt)))
5320 (inputs
5321 `(("yelp-xsl" ,yelp-xsl)))
5322 (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
5323 (synopsis "Yelp documentation tools")
5324 (description
5325 "Yelp-tools is a collection of scripts and build utilities to help create,
5326manage, and publish documentation for Yelp and the web. Most of the heavy
5327lifting is done by packages like yelp-xsl and itstool. This package just
5328wraps things up in a developer-friendly way.")
5329 (license license:gpl2+)))
af8f9f23 5330
4ed041d9
MB
5331(define-public yelp-tools/fixed
5332 ;; This variant fixes a python-libxml2 crash when processing UTF-8
5333 ;; sequences: <https://bugs.gnu.org/37468>. TODO: Remove this in
5334 ;; the next rebuild cycle.
5335 (hidden-package
5336 (package/inherit
5337 yelp-tools
5338 (propagated-inputs
5339 `(("itstool" ,itstool/fixed)
5340 ,@(alist-delete "itstool" (package-propagated-inputs yelp-tools)))))))
5341
af8f9f23
RW
5342(define-public libgee
5343 (package
5344 (name "libgee")
4c2c5ae6 5345 (version "0.20.2")
af8f9f23
RW
5346 (source (origin
5347 (method url-fetch)
84a1b007 5348 (uri (string-append "mirror://gnome/sources/libgee/"
af8f9f23 5349 (version-major+minor version) "/"
84a1b007 5350 "libgee-" version ".tar.xz"))
af8f9f23
RW
5351 (sha256
5352 (base32
4c2c5ae6 5353 "0g1mhl7nidg82v4cikkk8dakzc18hg7wv0dsf2pbyijzfm5mq0wy"))))
af8f9f23
RW
5354 (build-system gnu-build-system)
5355 (arguments
5356 `(#:phases
5357 (modify-phases %standard-phases
5358 (add-after 'unpack 'fix-introspection-install-dir
5359 (lambda* (#:key outputs #:allow-other-keys)
5360 (let ((out (assoc-ref outputs "out")))
5361 (substitute* "gee/Makefile.in"
5362 (("@INTROSPECTION_GIRDIR@")
5363 (string-append out "/share/gir-1.0/"))
5364 (("@INTROSPECTION_TYPELIBDIR@")
5365 (string-append out "/lib/girepository-1.0/")))))))))
5366 (native-inputs
5367 `(("glib" ,glib "bin")
5368 ("pkg-config" ,pkg-config)))
5369 (inputs
5370 `(("glib" ,glib)
5371 ("gobject-introspection" ,gobject-introspection)))
5372 (home-page "https://wiki.gnome.org/Projects/Libgee")
5373 (synopsis "GObject collection library")
5374 (description
5375 "Libgee is a utility library providing GObject-based interfaces and
5376classes for commonly used data structures.")
5377 (license license:lgpl2.1+)))
b0f9c4b8
RW
5378
5379(define-public gexiv2
5380 (package
5381 (name "gexiv2")
b1a8b408 5382 (version "0.12.0")
b0f9c4b8
RW
5383 (source (origin
5384 (method url-fetch)
5385 (uri (string-append "mirror://gnome/sources/" name "/"
5386 (version-major+minor version) "/"
5387 name "-" version ".tar.xz"))
5388 (sha256
5389 (base32
b1a8b408 5390 "0slj5yj8c90l9pp5i3z74x5r3r4da0xfmbzkfq5k0dkg72q3kxaq"))))
51c482e4 5391 (build-system meson-build-system)
b0f9c4b8 5392 (native-inputs
b1a8b408
KK
5393 `(("gcr" ,gcr)
5394 ("glib" ,glib "bin")
5395 ("pkg-config" ,pkg-config)
5396 ("vala" ,vala)))
b0f9c4b8
RW
5397 (propagated-inputs
5398 ;; Listed in "Requires" section of gexiv2.pc
5399 `(("exiv2" ,exiv2)))
5400 (inputs
5401 `(("glib" ,glib)
5402 ("gobject-introspection" ,gobject-introspection)))
5403 (home-page "https://wiki.gnome.org/Projects/gexiv2")
5404 (synopsis "GObject wrapper around the Exiv2 photo metadata library")
5405 (description
5406 "Gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It
5407allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP
5408metadata in photo and video files of various formats.")
5409 (license license:gpl2+)))
fed5a689
RW
5410
5411(define-public shotwell
5412 (package
5413 (name "shotwell")
a1c6fb52 5414 (version "0.30.7")
fed5a689
RW
5415 (source (origin
5416 (method url-fetch)
5497d682 5417 (uri (string-append "mirror://gnome/sources/shotwell/"
fed5a689 5418 (version-major+minor version) "/"
5497d682 5419 "shotwell-" version ".tar.xz"))
fed5a689
RW
5420 (sha256
5421 (base32
a1c6fb52 5422 "1m9i8r4gyd2hzlxjjwfyck4kz7gdg2vz2k6l6d0ga9hdfq2l4p9l"))))
3b79afa6
KK
5423 (build-system meson-build-system)
5424 (arguments
5a0beca3
EF
5425 '(#:glib-or-gtk? #t
5426 #:phases
5427 (modify-phases %standard-phases
5428 (add-after 'unpack 'skip-gtk-update-icon-cache
5429 (lambda _
5430 (substitute* "build-aux/meson/postinstall.py"
5431 (("gtk-update-icon-cache") (which "true"))
5432 (("update-desktop-database") (which "true")))
5433 #t)))))
735b8db6
TGR
5434 (propagated-inputs
5435 `(("dconf" ,dconf)))
fed5a689 5436 (native-inputs
5a0beca3
EF
5437 `(("gettext" ,gettext-minimal)
5438 ("glib:bin" ,glib "bin")
735b8db6 5439 ("itstool" ,itstool)
3b79afa6 5440 ("pkg-config" ,pkg-config)
735b8db6 5441 ("vala" ,vala)))
fed5a689 5442 (inputs
5a0beca3
EF
5443 `(("gcr" ,gcr)
5444 ("gexiv2" ,gexiv2)
fed5a689 5445 ("gst-plugins-base" ,gst-plugins-base)
5a0beca3
EF
5446 ("gstreamer" ,gstreamer)
5447 ("json-glib" ,json-glib)
dfb0323d 5448 ("libgdata" ,libgdata)
fed5a689 5449 ("libgee" ,libgee)
5a0beca3
EF
5450 ("libgphoto2" ,libgphoto2)
5451 ("libgudev" ,libgudev)
fed5a689 5452 ("libraw" ,libraw)
fed5a689
RW
5453 ("libsoup" ,libsoup)
5454 ("libxml2" ,libxml2)
5a0beca3
EF
5455 ("sqlite" ,sqlite)
5456 ("webkitgtk" ,webkitgtk)))
fed5a689
RW
5457 (home-page "https://wiki.gnome.org/Apps/Shotwell")
5458 (synopsis "Photo manager for GNOME 3")
5459 (description
5460 "Shotwell is a digital photo manager designed for the GNOME desktop
5461environment. It allows you to import photos from disk or camera, organize
5462them by keywords and events, view them in full-window or fullscreen mode, and
5463share them with others via social networking and more.")
5464 (license license:lgpl2.1+)))
293ff8b2
DT
5465
5466(define-public file-roller
5467 (package
5468 (name "file-roller")
dcae4270 5469 (version "3.32.3")
293ff8b2
DT
5470 (source (origin
5471 (method url-fetch)
f89a27c6 5472 (uri (string-append "mirror://gnome/sources/file-roller/"
293ff8b2 5473 (version-major+minor version) "/"
f89a27c6 5474 "file-roller-" version ".tar.xz"))
293ff8b2
DT
5475 (sha256
5476 (base32
dcae4270 5477 "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy"))))
0a500745 5478 (build-system meson-build-system)
293ff8b2 5479 (native-inputs
0a500745
RW
5480 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5481 ("intltool" ,intltool)
4c96e5d1 5482 ("itstool" ,itstool)
0a500745
RW
5483 ("pkg-config" ,pkg-config)
5484 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
5485 ("glib:bin" ,glib "bin")))
293ff8b2
DT
5486 ;; TODO: Add libnautilus.
5487 (inputs
5488 `(("gtk+" ,gtk+)
5489 ("gdk-pixbuf" ,gdk-pixbuf)
5490 ("json-glib" ,json-glib)
5491 ("libarchive" ,libarchive)
5492 ("libnotify" ,libnotify)
4c96e5d1 5493 ("nettle" ,nettle)
293ff8b2
DT
5494 ("libxml2" ,libxml2)))
5495 (synopsis "Graphical archive manager for GNOME")
5496 (description "File Roller is an archive manager for the GNOME desktop
5497environment that allows users to view, unpack, and create compressed archives
5498such as gzip tarballs.")
5499 (home-page "http://fileroller.sourceforge.net/")
5500 (license license:gpl2+)))
7ce49365
SB
5501
5502(define-public gnome-session
5503 (package
5504 (name "gnome-session")
1fc2ec79 5505 (version "3.32.0")
7ce49365
SB
5506 (source (origin
5507 (method url-fetch)
5508 (uri (string-append "mirror://gnome/sources/" name "/"
5509 (version-major+minor version) "/"
5510 name "-" version ".tar.xz"))
5511 (sha256
5512 (base32
1fc2ec79 5513 "0zrzkpd406i159mla7bfs5npa32fgqh66aip1rfq02rgsgmc9m5v"))))
2914af3c 5514 (arguments
df278071
RW
5515 '(#:glib-or-gtk? #t
5516 #:phases
2914af3c
AW
5517 (modify-phases %standard-phases
5518 (add-before 'configure 'pre-configure
5519 (lambda* (#:key outputs #:allow-other-keys)
5520 ;; Use elogind instead of systemd.
df278071
RW
5521 (substitute* "meson.build"
5522 (("libsystemd-login") "libelogind")
5523 (("and libsystemd_daemon_dep.found.*") ","))
2914af3c
AW
5524 (substitute* "gnome-session/gsm-systemd.c"
5525 (("#include <systemd/sd-login.h>")
5526 "#include <elogind/sd-login.h>"))
df278071 5527 ;; Remove uses of the systemd daemon.
803ab416
SB
5528 (substitute* "gnome-session/gsm-autostart-app.c"
5529 (("#ifdef HAVE_SYSTEMD") "#if 0"))
a0d7baaf
LC
5530 #t))
5531 (add-after 'install 'wrap-gnome-session
5532 (lambda* (#:key inputs outputs #:allow-other-keys)
5533 ;; Make sure 'gnome-session' finds the 'gsettings' program.
5534 (let ((glib (assoc-ref inputs "glib:bin"))
5535 (out (assoc-ref outputs "out")))
5536 (wrap-program (string-append out "/bin/gnome-session")
5537 `("PATH" ":" prefix (,(string-append glib "/bin"))))
5538 #t))))
6cbc8d57 5539
2914af3c 5540 #:configure-flags
df278071
RW
5541 '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error
5542 "-Dman=false" ; FIXME: disabled because of docbook validation error
5543 "-Dsystemd_journal=false")))
5544 (build-system meson-build-system)
7ce49365
SB
5545 (native-inputs
5546 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5547 ("pkg-config" ,pkg-config)
5548 ("intltool" ,intltool)
df278071
RW
5549 ("xsltproc" ,libxslt)
5550 ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES'
5551 ("docbook-xsl" ,docbook-xsl)
5552 ("docbook-xml" ,docbook-xml)
5553 ("xmlto" ,xmlto)))
7ce49365 5554 (inputs
2914af3c
AW
5555 `(("elogind" ,elogind)
5556 ("gnome-desktop" ,gnome-desktop)
ba3cb5ab 5557 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7ce49365
SB
5558 ("gtk+" ,gtk+)
5559 ("json-glib" ,json-glib)
5560 ("libsm" ,libsm)
5561 ("libxcomposite" ,libxcomposite)
5562 ("libxtst" ,libxtst)
5563 ("mesa" ,mesa)
5564 ("upower" ,upower)
5565 ("xtrans" ,xtrans)))
5566 (synopsis "Session manager for GNOME")
5567 (description
5568 "This package contains the GNOME session manager, as well as a
5569configuration program to choose applications starting on login.")
5570 (home-page "https://wiki.gnome.org/Projects/SessionManagement")
5571 (license license:gpl2+)))
f47ba77e
SB
5572
5573(define-public gjs
5574 (package
5575 (name "gjs")
d054fbf5 5576 (version "1.56.2")
f47ba77e
SB
5577 (source (origin
5578 (method url-fetch)
5579 (uri (string-append "mirror://gnome/sources/" name "/"
5580 (version-major+minor version) "/"
5581 name "-" version ".tar.xz"))
5582 (sha256
5583 (base32
d054fbf5 5584 "1b5321krn89p3f7s2ik6gpfnc61apzljhlnbqky8c88f7n6832ac"))))
f47ba77e
SB
5585 (build-system gnu-build-system)
5586 (arguments
5587 '(#:phases
5588 (modify-phases %standard-phases
5589 (add-before
5590 'check 'pre-check
5591 (lambda _
fc119619
MW
5592 ;; The test suite requires a running X server.
5593 (system "Xvfb :1 &")
5594 (setenv "DISPLAY" ":1")
5595
f47ba77e
SB
5596 ;; For the missing /etc/machine-id.
5597 (setenv "DBUS_FATAL_WARNINGS" "0")
ba666b07 5598
144f94d0
KK
5599 ;; Our mozjs-38 package does not compile the required Intl API
5600 ;; support for these failing tests.
5601 (substitute* "installed-tests/js/testLocale.js"
5602 ((".*toBeDefined.*") "")
5603 ((".*expect\\(datestr\\).*") ""))
d054fbf5
KK
5604 (substitute* "installed-tests/scripts/testCommandLine.sh"
5605 (("Valentín") "")
5606 (("☭") ""))
f47ba77e
SB
5607 #t)))))
5608 (native-inputs
8a831c6f 5609 `(("glib:bin" ,glib "bin") ; for glib-compile-resources
f47ba77e
SB
5610 ("pkg-config" ,pkg-config)
5611 ("xmllint" ,libxml2)
5612 ;; For testing
5613 ("dbus-launch" ,dbus)
5614 ("uuidgen" ,util-linux)
ebebee94 5615 ("xvfb" ,xorg-server-for-tests)))
f47ba77e
SB
5616 (propagated-inputs
5617 ;; These are all in the Requires.private field of gjs-1.0.pc.
144f94d0
KK
5618 `(("cairo" ,cairo)
5619 ("gobject-introspection" ,gobject-introspection)
d054fbf5 5620 ("mozjs" ,mozjs-60)))
f47ba77e
SB
5621 (inputs
5622 `(("gtk+" ,gtk+)
5623 ("readline" ,readline)))
5624 (synopsis "Javascript bindings for GNOME")
f032d0be 5625 (home-page "https://live.gnome.org/Gjs")
f47ba77e
SB
5626 (description
5627 "Gjs is a javascript binding for GNOME. It's mainly based on spidermonkey
5628javascript engine and the GObject introspection framework.")
5629 (license license:gpl2+)))
329d731b
DH
5630
5631(define-public gedit
5632 (package
5633 (name "gedit")
480c9226 5634 (version "3.32.2")
329d731b
DH
5635 (source (origin
5636 (method url-fetch)
5637 (uri (string-append "mirror://gnome/sources/" name "/"
5638 (version-major+minor version) "/"
5639 name "-" version ".tar.xz"))
5640 (sha256
5641 (base32
480c9226
KK
5642 "1q2rk7fym542c7k3bn2wlnzgy384gxacbifsjny0spbg95gfybvl"))))
5643 (build-system meson-build-system)
329d731b 5644 (arguments
480c9226
KK
5645 `(#:glib-or-gtk? #t
5646 #:configure-flags
5647 ;; Otherwise, the RUNPATH will lack the final path component.
5648 (list (string-append "-Dc_link_args=-Wl,-rpath="
5649 (assoc-ref %outputs "out") "/lib/gedit"))
d9b4022c
LC
5650
5651 ;; XXX: Generated .h files are sometimes used before being built.
5652 #:parallel-build? #f
5653
480c9226 5654 #:phases
329d731b 5655 (modify-phases %standard-phases
480c9226
KK
5656 (add-after 'unpack 'skip-gtk-update-icon-cache
5657 ;; Don't create 'icon-theme.cache'.
5658 (lambda _
5659 (substitute* "build-aux/meson/post_install.py"
5660 (("gtk-update-icon-cache") (which "true")))
5661 #t))
5662 (add-after 'unpack 'patch-libgd-fetch
5663 (lambda* (#:key inputs #:allow-other-keys)
5664 (let ((libgd (assoc-ref inputs "libgd")))
5665 ;; Calling git is unnecessary because libgd is fetched as a
5666 ;; native input to this package.
5667 (substitute* "meson.build"
5668 ((".*git.*") ""))
5669 (copy-recursively libgd "subprojects/libgd")
5670 #t)))
5671 (add-after 'install 'wrap-gedit
5672 (lambda* (#:key inputs outputs #:allow-other-keys)
5673 (let ((out (assoc-ref outputs "out"))
5674 (gtksourceview (assoc-ref inputs "gtksourceview"))
5675 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
5676 (python-path (getenv "PYTHONPATH")))
5677 (wrap-program (string-append out "/bin/gedit")
5678 ;; For plugins.
5679 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
5680 `("PYTHONPATH" ":" prefix (,python-path))
5681 ;; For language-specs.
5682 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
5683 "/share")))))
5684 #t)))))
329d731b
DH
5685 (propagated-inputs
5686 `(("dconf" ,dconf)))
5687 (native-inputs
480c9226
KK
5688 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
5689 ("intltool" ,intltool)
b3546174 5690 ("itstool" ,itstool)
480c9226 5691 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
329d731b 5692 ("gobject-introspection" ,gobject-introspection)
480c9226
KK
5693 ("libgd"
5694 ,(origin
5695 (method git-fetch)
5696 (uri (git-reference
5697 (url "https://gitlab.gnome.org/GNOME/libgd")
5698 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
5699 (file-name (git-file-name "libgd" version))
5700 (sha256
5701 (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
329d731b
DH
5702 ("pkg-config" ,pkg-config)))
5703 (inputs
5704 `(("glib" ,glib)
0d2df50c 5705 ("gspell" ,gspell)
329d731b 5706 ("gtk+" ,gtk+)
480c9226 5707 ("gtksourceview" ,gtksourceview)
329d731b
DH
5708 ("libpeas" ,libpeas)
5709 ("libxml2" ,libxml2)
329d731b
DH
5710 ("iso-codes" ,iso-codes)
5711 ("python-pygobject" ,python-pygobject)
5712 ("python" ,python)
5713 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5714 ("libx11" ,libx11)
5715 ("vala" ,vala)
5716 ("adwaita-icon-theme" ,adwaita-icon-theme)
5717 ("libsoup" ,libsoup)
5718 ("gnome-desktop" ,gnome-desktop)))
5719 (home-page "https://wiki.gnome.org/Apps/Gedit")
5720 (synopsis "GNOME text editor")
5721 (description "While aiming at simplicity and ease of use, gedit is a
5722powerful general purpose text editor.")
5723 (license license:gpl2+)))
b7179363
SB
5724
5725(define-public zenity
5726 (package
5727 (name "zenity")
4f581bd0 5728 (version "3.32.0")
b7179363
SB
5729 (source (origin
5730 (method url-fetch)
5958df04 5731 (uri (string-append "mirror://gnome/sources/zenity/"
b7179363 5732 (version-major+minor version) "/"
5958df04 5733 "zenity-" version ".tar.xz"))
b7179363
SB
5734 (sha256
5735 (base32
4f581bd0 5736 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
b7179363
SB
5737 (build-system gnu-build-system)
5738 (native-inputs
b94a6ca0 5739 `(("gettext" ,gettext-minimal)
b7179363
SB
5740 ("itstool" ,itstool)
5741 ("pkg-config" ,pkg-config)))
5742 (inputs
5743 `(("libnotify" ,libnotify)
5744 ("webkitgtk" ,webkitgtk)))
5745 (synopsis "Display graphical dialog boxes from shell scripts")
f032d0be 5746 (home-page "https://www.gnome.org")
b7179363
SB
5747 (description
5748 "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
5749to display dialog boxes from the commandline and shell scripts.")
5750 (license license:lgpl2.0+)))
60c3627c
SB
5751
5752(define-public mutter
5753 (package
5754 (name "mutter")
edf43f68 5755 (version "3.32.2")
60c3627c 5756 (source (origin
86c44e72
KK
5757 (method url-fetch)
5758 (uri (string-append "mirror://gnome/sources/" name "/"
5759 (version-major+minor version) "/"
5760 name "-" version ".tar.xz"))
60c3627c
SB
5761 (sha256
5762 (base32
edf43f68 5763 "1h577i2ap7dpfy1jg101jvc6nzccc0csgvd55ahydlr8f94frcva"))))
86c44e72
KK
5764 ;; NOTE: Since version 3.21.x, mutter now bundles and exports forked
5765 ;; versions of cogl and clutter. As a result, many of the inputs,
5766 ;; propagated-inputs, and configure flags used in cogl and clutter are
5767 ;; needed here as well.
edf43f68 5768 (build-system meson-build-system)
60c3627c 5769 (arguments
edf43f68
KK
5770 '(;; XXX: All mutter tests fail with the following error:
5771 ;; Settings schema 'org.gnome.mutter' is not installed
5772 #:tests? #f
5773 #:glib-or-gtk? #t
5774 #:configure-flags
5775 ;; Otherwise, the RUNPATH will lack the final path component.
5776 (list (string-append "-Dc_link_args=-Wl,-rpath="
5777 (assoc-ref %outputs "out") "/lib:"
5778 (assoc-ref %outputs "out") "/lib/mutter-4")
a88d5a0c
MW
5779
5780 ;; The following flags are needed for the bundled clutter
edf43f68 5781 (string-append "-Dxwayland_path="
d633f2f6
RH
5782 (assoc-ref %build-inputs "xorg-server-xwayland")
5783 "/bin/Xwayland")
5784
a88d5a0c 5785 ;; the remaining flags are needed for the bundled cogl
edf43f68 5786 (string-append "-Dopengl_libname="
a88d5a0c 5787 (assoc-ref %build-inputs "mesa")
f23052a6
DC
5788 "/lib/libGL.so"))
5789 #:phases
5790 (modify-phases %standard-phases
edf43f68
KK
5791 (add-after 'unpack 'disable-werror
5792 (lambda _
5793 ;; XXX: build fails with [-Werror]:
5794 ;; backends/meta-cursor-renderer.c:112:5: error:
5795 ;; implicit declaration of function ?roundf?
5796 (substitute* "meson.build"
5797 (("'-Werror=.*',") ""))
5798 #t))
86c44e72
KK
5799 ;; Replace references to systemd libraries to elogind references.
5800 (add-before 'configure 'use-elogind
5801 (lambda _
edf43f68 5802 (substitute* (list "meson.build"
86c44e72
KK
5803 "src/backends/native/meta-launcher.c"
5804 "src/core/main.c")
5805 (("systemd") "elogind"))
5806 #t)))))
60c3627c
SB
5807 (native-inputs
5808 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5809 ("gobject-introspection" ,gobject-introspection)
5810 ("intltool" ,intltool)
f23052a6 5811 ("pkg-config" ,pkg-config)
edf43f68 5812 ("xorg-server" ,xorg-server-for-tests)
f23052a6
DC
5813 ;; For git build
5814 ("autoconf" ,autoconf)
5815 ("automake" ,automake)
5816 ("libtool" ,libtool)))
60c3627c 5817 (propagated-inputs
a88d5a0c
MW
5818 `(;; libmutter.pc refers to these:
5819 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5820 ("gtk+" ,gtk+)
5821 ;; mutter-clutter-1.0.pc and mutter-cogl-1.0.pc refer to these:
5822 ("atk" ,atk)
5823 ("cairo" ,cairo)
5824 ("gdk-pixbuf" ,gdk-pixbuf)
5825 ("glib" ,glib)
a88d5a0c
MW
5826 ("json-glib" ,json-glib)
5827 ("libinput" ,libinput)
5828 ("libx11" ,libx11)
5829 ("libxcomposite" ,libxcomposite)
5830 ("libxdamage" ,libxdamage)
5831 ("libxext" ,libxext)
5832 ("libxfixes" ,libxfixes)
5833 ("libxkbcommon" ,libxkbcommon)
5834 ("libxrandr" ,libxrandr)
5835 ("mesa" ,mesa)
5836 ("pango" ,pango)
5837 ("udev" ,eudev)
a88d5a0c 5838 ("xinput" ,xinput)))
60c3627c 5839 (inputs
86c44e72
KK
5840 `(("elogind" ,elogind)
5841 ("gnome-desktop" ,gnome-desktop)
edf43f68 5842 ("gnome-settings-daemon" ,gnome-settings-daemon)
60c3627c 5843 ("libcanberra-gtk" ,libcanberra)
a88d5a0c 5844 ("libgudev" ,libgudev)
60c3627c
SB
5845 ("libice" ,libice)
5846 ("libsm" ,libsm)
edf43f68 5847 ("libwacom" ,libwacom)
60c3627c 5848 ("libxkbfile" ,libxkbfile)
a88d5a0c 5849 ("libxrandr" ,libxrandr)
86c44e72 5850 ("libxtst" ,libxtst)
edf43f68 5851 ("pipewire" ,pipewire)
60c3627c
SB
5852 ("startup-notification" ,startup-notification)
5853 ("upower-glib" ,upower)
5854 ("xkeyboard-config" ,xkeyboard-config)
d633f2f6 5855 ("xorg-server-xwayland" ,xorg-server-xwayland)
60c3627c
SB
5856 ("zenity" ,zenity)))
5857 (synopsis "Window and compositing manager")
f032d0be 5858 (home-page "https://www.gnome.org")
60c3627c
SB
5859 (description
5860 "Mutter is a window and compositing manager that displays and manages your
5861desktop via OpenGL. Mutter combines a sophisticated display engine using the
5862Clutter toolkit with solid window-management logic inherited from the Metacity
5863window manager.")
86c44e72 5864 (license license:gpl2+)))
685cee87
SB
5865
5866(define-public gnome-online-accounts
5867 (package
5868 (name "gnome-online-accounts")
aa200347 5869 (version "3.32.1")
685cee87
SB
5870 (source (origin
5871 (method url-fetch)
5872 (uri (string-append "mirror://gnome/sources/" name "/"
5873 (version-major+minor version) "/"
5874 name "-" version ".tar.xz"))
5875 (sha256
5876 (base32
aa200347 5877 "08g9kdj8fzcgp76z2zsj9m7wfjks9z6xfrfrbfmcr69k40mapfx8"))))
14c297fd 5878 (outputs '("out" "lib"))
685cee87 5879 (build-system glib-or-gtk-build-system)
14c297fd
TS
5880 (arguments
5881 `(#:configure-flags
5882 (list (string-append "--libdir=" (assoc-ref %outputs "out") "/lib"))
5883 #:phases
5884 (modify-phases %standard-phases
5885 (add-before 'configure 'patch-libgoa-output
5886 (lambda* (#:key outputs #:allow-other-keys)
5887 (let ((lib (assoc-ref outputs "lib")))
5888 (substitute* '("src/goa/Makefile.in" "src/goa/goa-1.0.pc.in")
5889 (("@prefix@") lib)
5890 (("@exec_prefix@") lib)
5891 (("@libdir@") (string-append lib "/lib"))
5892 (("@includedir@") (string-append lib "/include"))
5893 (("@datadir@") (string-append lib "/share")))
7555d539
MB
5894 ;; Make sure gobject-introspection knows about the output
5895 ;; too (see <https://bugs.gnu.org/36535>).
5896 (setenv "outputs" "out lib")
14c297fd 5897 #t))))))
685cee87
SB
5898 (native-inputs
5899 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
5900 ("gobject-introspection" ,gobject-introspection)
5901 ("intltool" ,intltool)
5902 ("pkg-config" ,pkg-config)
ebb2873d 5903 ("vala" ,vala)
685cee87
SB
5904 ("xsltproc" ,libxslt)))
5905 (propagated-inputs
5906 `(("glib" ,glib) ; required by goa-1.0.pc
5907 ("gtk+" ,gtk+))) ; required by goa-backend-1.0.pc
5908 (inputs
5909 `(("docbook-xsl" ,docbook-xsl)
5910 ("json-glib" ,json-glib)
5911 ("libsecret" ,libsecret)
5912 ("rest" ,rest)
685cee87
SB
5913 ("webkitgtk" ,webkitgtk)))
5914 (synopsis "Single sign-on framework for GNOME")
5915 (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts")
5916 (description
5917 "GNOME Online Accounts provides interfaces so that applications and
5918libraries in GNOME can access the user's online accounts. It has providers for
5919Google, ownCloud, Facebook, Flickr, Windows Live, Pocket, Foursquare, Microsoft
5920Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
5921 (license license:lgpl2.0+)))
df217748
SB
5922
5923(define-public evolution-data-server
5924 (package
5925 (name "evolution-data-server")
2196a8d4 5926 (version "3.32.4")
df217748
SB
5927 (source (origin
5928 (method url-fetch)
5929 (uri (string-append "mirror://gnome/sources/" name "/"
5930 (version-major+minor version) "/"
5931 name "-" version ".tar.xz"))
e1f174ae 5932 (patches (search-patches "evolution-data-server-locales.patch"))
df217748
SB
5933 (sha256
5934 (base32
2196a8d4 5935 "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3"))))
743aebd7 5936 (build-system cmake-build-system)
df217748 5937 (arguments
b468eedc
RW
5938 '(#:configure-flags
5939 (let* ((lib (string-append (assoc-ref %outputs "out") "/lib"))
5940 (runpaths (map (lambda (s)
5941 (string-append lib "/evolution-data-server/" s))
ac033c7b
MB
5942 '("addressbook-backends" "calendar-backends"
5943 "camel-providers" "credential-modules"
5944 "registry-modules"))))
5945 (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
5946 "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
5947 "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
5948 "-DENABLE_VALA_BINDINGS=ON"
ac033c7b
MB
5949 (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
5950 (string-append lib "/evolution-data-server;")
5951 (string-join runpaths ";"))
5952 "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
df217748
SB
5953 #:phases
5954 (modify-phases %standard-phases
b468eedc
RW
5955 (add-after 'unpack 'disable-failing-tests
5956 (lambda _
5957 ;; tests/book-migration/test-migration.c:160:test_fetch_contacts:
5958 ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20)
5959 (delete-file-recursively "tests/book-migration")
5960 (substitute* "tests/CMakeLists.txt"
5961 (("add_subdirectory\\(book-migration\\)") ""))
2196a8d4
KK
5962 ;; tests/libebook/client/test-book-client-view-operations:8077):
5963 ;; e-data-server-WARNING **:
5964 ;; (src/libedataserver/e-source-registry.c:264):thread_closure_free:
5965 ;; runtime check failed:
5966 ;; (!g_main_context_pending (closure->main_context))
5967 (substitute* "tests/libebook/client/CMakeLists.txt"
5968 (("test-book-client-view-operations") ""))
b468eedc 5969 #t))
743aebd7 5970 (add-after 'unpack 'patch-paths
df217748 5971 (lambda _
b468eedc
RW
5972 (substitute* '("tests/test-server-utils/e-test-server-utils.c"
5973 "tests/libedata-book/data-test-utils.c"
5974 "tests/libedata-book/test-book-cache-utils.c"
5975 "tests/libedata-cal/test-cal-cache-utils.c")
df217748 5976 (("/bin/rm") (which "rm")))
ac033c7b
MB
5977 #t))
5978 (add-before 'configure 'dont-override-rpath
5979 (lambda _
5980 (substitute* "CMakeLists.txt"
5981 ;; CMakeLists.txt hard-codes runpath to just the libdir.
5982 ;; Remove it so the configure flag is respected.
5983 (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
b63c06f1 5984 #t)))))
df217748
SB
5985 (native-inputs
5986 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
5987 ("gobject-introspection" ,gobject-introspection)
5988 ("gperf" ,gperf)
5989 ("intltool" ,intltool)
5990 ("pkg-config" ,pkg-config)
a73c1cf8 5991 ("vala" ,vala)
743aebd7 5992 ("python" ,python-wrapper)))
df217748
SB
5993 (propagated-inputs
5994 ;; These are all in the Requires field of .pc files.
5995 `(("gtk+" ,gtk+)
5996 ("libical" ,libical)
5997 ("libsecret" ,libsecret)
5998 ("libsoup" ,libsoup)
5999 ("nss" ,nss)
6000 ("sqlite" ,sqlite)))
6001 (inputs
6002 `(("bdb" ,bdb)
6003 ("gcr" ,gcr)
14c297fd 6004 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
891199c6 6005 ("json-glib" ,json-glib)
b468eedc 6006 ("libcanberra" ,libcanberra)
743aebd7
MB
6007 ("libgweather" ,libgweather)
6008 ("mit-krb5" ,mit-krb5)
891199c6
MW
6009 ("openldap" ,openldap)
6010 ("webkitgtk" ,webkitgtk)))
df217748
SB
6011 (synopsis "Store address books and calendars")
6012 (home-page "https://wiki.gnome.org/Apps/Evolution")
6013 (description
6014 "This package provides a unified backend for programs that work with
6015contacts, tasks, and calendar information. It was originally developed for
6016Evolution (hence the name), but is now used by other packages as well.")
6017 (license license:lgpl2.0)))
bd7dfafa
SB
6018
6019(define-public caribou
6020 (package
6021 (name "caribou")
fe964bb5 6022 (version "0.4.21")
bd7dfafa
SB
6023 (source (origin
6024 (method url-fetch)
6025 (uri (string-append "mirror://gnome/sources/" name "/"
6026 (version-major+minor version) "/"
6027 name "-" version ".tar.xz"))
6028 (sha256
6029 (base32
fe964bb5 6030 "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"))))
bd7dfafa
SB
6031 (build-system glib-or-gtk-build-system)
6032 (arguments
6033 '(#:phases
6034 (modify-phases %standard-phases
6035 (add-before
6036 'build 'pre-build
6037 (lambda* (#:key outputs #:allow-other-keys)
6038 (let ((out (assoc-ref outputs "out")))
6039 ;; Use absolute shared library path in Caribou-1.0.typelib.
6040 (substitute* "libcaribou/Makefile"
6041 (("--shared-library=libcaribou.so")
6042 (string-append "--shared-library="
6043 out "/lib/libcaribou.so")))
6044 #t)))
6045 (add-after 'install 'wrap-programs
6046 (lambda* (#:key outputs #:allow-other-keys)
6047 (let* ((out (assoc-ref outputs "out"))
6048 (python-path (getenv "PYTHONPATH"))
6049 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
6050 (for-each
6051 (lambda (prog)
6052 (wrap-program prog
6053 `("PYTHONPATH" ":" prefix (,python-path))
6054 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6055 (list (string-append out "/bin/caribou-preferences")
6056 (string-append out "/libexec/antler-keyboard"))))
6057 #t)))))
6058 (native-inputs
6059 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6060 ("gobject-introspection" ,gobject-introspection)
6061 ("intltool" ,intltool)
6062 ("pkg-config" ,pkg-config)
6063 ("python" ,python-2) ; incompatible with Python 3 (print syntax)
6064 ("vala" ,vala)
6065 ("xsltproc" ,libxslt)))
6066 (propagated-inputs
6067 ;; caribou-1.0.pc refers to all these.
6068 `(("libgee" ,libgee)
6069 ("libxklavier" ,libxklavier)
6070 ("libxtst" ,libxtst)
6071 ("gtk+" ,gtk+)))
6072 (inputs
6073 `(("clutter" ,clutter)
6074 ("dconf" ,dconf)
6075 ("gtk+-2" ,gtk+-2)
6076 ("python-pygobject" ,python2-pygobject)))
6077 (synopsis "Text entry and UI navigation application")
6078 (home-page "https://wiki.gnome.org/Projects/Caribou")
6079 (description
6080 "Caribou is an input assistive technology intended for switch and pointer
6081users.")
6082 (license license:lgpl2.1)))
ba5dd105 6083
ba5dd105
SB
6084(define-public network-manager
6085 (package
6086 (name "network-manager")
6425d87a 6087 (version "1.18.4")
ba5dd105
SB
6088 (source (origin
6089 (method url-fetch)
6090 (uri (string-append "mirror://gnome/sources/NetworkManager/"
6091 (version-major+minor version) "/"
6092 "NetworkManager-" version ".tar.xz"))
7d1861e2 6093 (patches (search-patches "nm-plugin-path.patch"))
ba5dd105
SB
6094 (sha256
6095 (base32
6425d87a 6096 "0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3"))
02710a9b 6097 (modules '((guix build utils)))
fd070f35 6098 (snippet
02710a9b
RW
6099 '(begin
6100 (substitute* "src/devices/wwan/nm-modem-manager.c"
6101 (("systemd") "elogind"))
6102 #t))))
ba5dd105
SB
6103 (build-system gnu-build-system)
6104 (outputs '("out"
6105 "doc")) ; 8 MiB of gtk-doc HTML
6106 (arguments
6107 '(#:configure-flags
6108 (let ((out (assoc-ref %outputs "out"))
6109 (doc (assoc-ref %outputs "doc"))
6110 (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
6111 "/sbin/dhclient")))
02710a9b
RW
6112 (list "--with-libnm-glib" ; needed by network-manager-applet
6113 "--with-systemd-journal=no"
6114 "--with-session-tracking=elogind"
6115 "--with-suspend-resume=elogind"
fd070f35
CM
6116 "--with-consolekit=no"
6117 "--with-crypto=gnutls"
ba5dd105
SB
6118 "--disable-config-plugin-ibft"
6119 "--sysconfdir=/etc"
6120 "--localstatedir=/var"
6121 (string-append "--with-udev-dir="
6122 out "/lib/udev")
6123 (string-append "--with-dbus-sys-dir="
6124 out "/etc/dbus-1/system.d")
6125 (string-append "--with-html-dir="
6126 doc "/share/gtk-doc/html")
6127 (string-append "--with-dhclient=" dhclient)))
6128 #:phases
6129 (modify-phases %standard-phases
02710a9b
RW
6130 ;; This bare "ls" invocation breaks some tests.
6131 (add-after 'unpack 'patch-ls-invocation
6132 (lambda _
6133 (substitute* "build-aux/ltmain.sh"
6134 (("`ls -")
6135 (string-append "`" (which "ls") " -")))
6136 #t))
b4f59d87
AW
6137 (add-before 'configure 'pre-configure
6138 (lambda _
6139 ;; These tests try to test aspects of network-manager's
6140 ;; functionality within restricted containers, but they don't
6141 ;; cope with being already in the Guix build jail as that jail
6142 ;; lacks some features that they would like to proxy over (like
6143 ;; a /sys mount).
d04687dc
HG
6144 (substitute* '("Makefile.in")
6145 (("src/platform/tests/test-address-linux") " ")
6146 (("src/platform/tests/test-cleanup-linux") " ")
6147 (("src/platform/tests/test-link-linux") " ")
6148 (("src/platform/tests/test-route-linux") " ")
02710a9b 6149 (("src/devices/tests/test-acd") "")
d04687dc
HG
6150 (("src/devices/tests/test-arping") " ")
6151 (("src/devices/tests/test-lldp") " ")
6152 (("src/tests/test-route-manager-linux") " "))
b4f59d87 6153 #t))
45f80fce
RW
6154 (add-after 'unpack 'delete-failing-tests
6155 (lambda _
02710a9b 6156 ;; FIXME: These three tests fail for unknown reasons.
45f80fce
RW
6157 ;; ERROR:libnm-core/tests/test-general.c:5842:
6158 ;; _json_config_check_valid: assertion failed (res == expected): (1 == 0)
6159 ;; ERROR:libnm-core/tests/test-keyfile.c:647:
6160 ;; test_team_conf_read_invalid: assertion failed: (nm_setting_team_get_config (s_team) == NULL)
6161 ;; ERROR:libnm-core/tests/test-setting.c:907:
6162 ;; _test_team_config_sync: assertion failed: (nm_streq0 (nm_setting_team_get_runner (s_team), runner))
45f80fce
RW
6163 (substitute* "Makefile.in"
6164 (("libnm-core/tests/test-general") " ")
6165 (("libnm-core/tests/test-keyfile") " ")
02710a9b 6166 (("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " "))
45f80fce 6167 #t))
ba5dd105
SB
6168 (add-before 'check 'pre-check
6169 (lambda _
6170 ;; For the missing /etc/machine-id.
6171 (setenv "DBUS_FATAL_WARNINGS" "0")
6172 #t))
6173 (replace 'install
6174 (lambda _
45f80fce
RW
6175 (invoke "make"
6176 "sysconfdir=/tmp"
6177 "rundir=/tmp"
6178 "statedir=/tmp"
6179 "nmstatedir=/tmp/nm"
6180 "install")
6181 #t)))))
b93502d6
DC
6182 (propagated-inputs
6183 `(("glib" ,glib)))
ba5dd105
SB
6184 (native-inputs
6185 `(("glib:bin" ,glib "bin") ; for gdbus-codegen
6186 ("gobject-introspection" ,gobject-introspection)
d04687dc 6187 ("docbook-xsl" ,docbook-xsl)
ba5dd105 6188 ("intltool" ,intltool)
d04687dc
HG
6189 ("libxslt" ,libxslt)
6190 ("libxml2" ,libxml2)
ba5dd105
SB
6191 ("pkg-config" ,pkg-config)
6192 ;; For testing.
6193 ("python" ,python-wrapper)
6194 ("python-dbus" ,python-dbus)
6195 ("python-pygobject" ,python-pygobject)))
6196 (inputs
02710a9b
RW
6197 `(("coreutils" ,coreutils) ; for ls
6198 ("curl" ,curl)
856ca567
KK
6199 ("cyrus-sasl" ,cyrus-sasl)
6200 ("dbus-glib" ,dbus-glib)
ba5dd105 6201 ("dnsmasq" ,dnsmasq)
856ca567 6202 ("eudev" ,eudev)
ba5dd105
SB
6203 ("gnutls" ,gnutls)
6204 ("iptables" ,iptables)
6205 ("isc-dhcp" ,isc-dhcp)
d04687dc 6206 ("jansson" ,jansson)
ba5dd105
SB
6207 ("libgcrypt" ,libgcrypt)
6208 ("libgudev" ,libgudev)
6209 ("libndp" ,libndp)
6210 ("libnl" ,libnl)
6211 ("libsoup" ,libsoup)
142bdcbc 6212 ("modem-manager" ,modem-manager)
c27e02bf 6213 ("newt" ,newt) ;for the 'nmtui' console interface
ba5dd105
SB
6214 ("polkit" ,polkit)
6215 ("ppp" ,ppp)
6216 ("readline" ,readline)
fd070f35
CM
6217 ("util-linux" ,util-linux)
6218 ("elogind" ,elogind)))
ba5dd105 6219 (synopsis "Network connection manager")
f032d0be 6220 (home-page "https://www.gnome.org/projects/NetworkManager/")
ba5dd105
SB
6221 (description
6222 "NetworkManager is a system network service that manages your network
6223devices and connections, attempting to keep active network connectivity when
6224available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
6225devices, and provides VPN integration with a variety of different VPN
6226services.")
29d2f451
LC
6227 (license license:gpl2+)
6228 (properties '((upstream-name . "NetworkManager")))))
4d62a9d3 6229
f2b96b3a
LC
6230(define-public network-manager-openvpn
6231 (package
6232 (name "network-manager-openvpn")
be1c4b07 6233 ;; Updating? Check whether network-manager-applet still needs libnm_gtk.
7d87eede 6234 (version "1.8.10")
f2b96b3a
LC
6235 (source (origin
6236 (method url-fetch)
6237 (uri (string-append
6238 "mirror://gnome/sources/NetworkManager-openvpn/"
6239 (version-major+minor version)
6240 "/NetworkManager-openvpn-" version ".tar.xz"))
6241 (sha256
6242 (base32
7d87eede 6243 "1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g"))))
f2b96b3a
LC
6244 (build-system gnu-build-system)
6245 (arguments
633422b0
JL
6246 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6247 #:phases
6248 (modify-phases %standard-phases
6249 (add-after 'configure 'patch-path
6250 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6251 (let* ((ovpn (string-append (assoc-ref inputs "openvpn")
6252 "/sbin/openvpn"))
6253 (modprobe (string-append (assoc-ref inputs "kmod")
6254 "/bin/modprobe"))
6255 (pretty-ovpn (string-append "\"" ovpn "\"")))
6256 (for-each
6257 (lambda (file)
6258 (substitute* file
6259 (("\"/usr/local/sbin/openvpn\"") pretty-ovpn)
6260 (("\"/usr/sbin/openvpn\"") pretty-ovpn)
6261 (("\"/sbin/openvpn\"") pretty-ovpn)
6262 (("/sbin/modprobe") modprobe)))
6263 '("src/nm-openvpn-service.c" "properties/nm-openvpn-editor.c")))
6264 #t)))))
f2b96b3a
LC
6265 (native-inputs
6266 `(("pkg-config" ,pkg-config)
6267 ("intltool" ,intltool)))
6268 (inputs
6269 `(("gtk+" ,gtk+)
633422b0 6270 ("kmod" ,kmod)
f2b96b3a
LC
6271 ("openvpn" ,openvpn)
6272 ("network-manager" ,network-manager)
6273 ("network-manager-applet" ,network-manager-applet) ;for libnma
6274 ("libsecret" ,libsecret)))
6275 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6276 (synopsis "OpenVPN plug-in for NetworkManager")
6277 (description
6278 "This extension of NetworkManager allows it to take care of connections
6279to virtual private networks (VPNs) via OpenVPN.")
6280 (license license:gpl2+)
6281 (properties `((upstream-name . "NetworkManager-openvpn")))))
6282
d376129f
JL
6283(define-public network-manager-vpnc
6284 (package
6285 (name "network-manager-vpnc")
6286 (version "1.2.6")
6287 (source (origin
6288 (method url-fetch)
6289 (uri (string-append
6290 "mirror://gnome/sources/NetworkManager-vpnc/"
6291 (version-major+minor version)
6292 "/NetworkManager-vpnc-" version ".tar.xz"))
6293 (sha256
6294 (base32
6295 "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy"))))
6296 (build-system gnu-build-system)
6297 (arguments
6298 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6299 #:phases
6300 (modify-phases %standard-phases
6301 (add-after 'configure 'patch-path
6302 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6303 (let* ((vpnc (string-append (assoc-ref inputs "vpnc")
6304 "/sbin/vpnc"))
6305 (modprobe (string-append (assoc-ref inputs "kmod")
6306 "/bin/modprobe"))
6307 (pretty-ovpn (string-append "\"" vpnc "\"")))
6308 (substitute* "src/nm-vpnc-service.c"
6309 (("\"/usr/local/sbin/vpnc\"") pretty-ovpn)
6310 (("\"/usr/sbin/vpnc\"") pretty-ovpn)
6311 (("\"/sbin/vpnc\"") pretty-ovpn)
6312 (("/sbin/modprobe") modprobe)))
6313 #t)))))
6314 (native-inputs
6315 `(("pkg-config" ,pkg-config)
6316 ("intltool" ,intltool)))
6317 (inputs
6318 `(("gtk+" ,gtk+)
6319 ("kmod" ,kmod)
6320 ("vpnc" ,vpnc)
6321 ("network-manager" ,network-manager)
6322 ("network-manager-applet" ,network-manager-applet) ;for libnma
6323 ("libsecret" ,libsecret)))
6324 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6325 (synopsis "VPNC plug-in for NetworkManager")
6326 (description
6327 "Support for configuring virtual private networks based on VPNC.
6328Compatible with Cisco VPN concentrators configured to use IPsec.")
6329 (license license:gpl2+)
6330 (properties `((upstream-name . "NetworkManager-vpnc")))))
6331
8378c87a
EF
6332(define-public network-manager-openconnect
6333 (package
6334 (name "network-manager-openconnect")
6335 (version "1.2.6")
6336 (source (origin
6337 (method url-fetch)
6338 (uri (string-append
6339 "mirror://gnome/sources/NetworkManager-openconnect/"
6340 (version-major+minor version)
6341 "/NetworkManager-openconnect-" version ".tar.xz"))
6342 (sha256
6343 (base32
6344 "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m"))))
6345 (build-system gnu-build-system)
6346 (arguments
6347 `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var")
6348 #:phases
6349 (modify-phases %standard-phases
6350 (add-after 'configure 'patch-path
6351 (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
6352 (let* ((openconnect (string-append (assoc-ref inputs "openconnect")
6353 "/sbin/openconnect"))
6354 (modprobe (string-append (assoc-ref inputs "kmod")
6355 "/bin/modprobe"))
6356 (pretty-ovpn (string-append "\"" openconnect "\"")))
6357 (substitute* "src/nm-openconnect-service.c"
6358 (("\"/usr/local/sbin/openconnect\"") pretty-ovpn)
6359 (("\"/usr/sbin/openconnect\"") pretty-ovpn)
6360 (("/sbin/modprobe") modprobe)))
6361 #t)))))
6362 (native-inputs
6363 `(("intltool" ,intltool)
6364 ("network-manager-applet" ,network-manager-applet) ;for libnma
6365 ("pkg-config" ,pkg-config)))
6366 (inputs
6367 `(("gcr" ,gcr)
6368 ("gtk+" ,gtk+)
6369 ("kmod" ,kmod)
6370 ("libsecret" ,libsecret)
6371 ("libxml2" ,libxml2)
6372 ("network-manager" ,network-manager)
6373 ("openconnect" ,openconnect)))
6374 (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
6375 (synopsis "OpenConnect plug-in for NetworkManager")
6376 (description
6377 "This extension of NetworkManager allows it to take care of connections
6378to @acronym{VPNs, virtual private networks} via OpenConnect, an open client for
6379Cisco's AnyConnect SSL VPN.")
6380 (license license:gpl2+)
e52b9534
LC
6381 (properties `((upstream-name . "NetworkManager-openconnect")
6382
6383 ;; The 'etc/dbus-1/system.d/nm-openconnect-service.conf'
6384 ;; file refers to account "nm-openconnect". Specify it here
6385 ;; so that 'network-manager-service-type' creates it.
6386 (user-accounts . ("nm-openconnect"))))))
8378c87a 6387
e5e1df4d
DC
6388(define-public mobile-broadband-provider-info
6389 (package
6390 (name "mobile-broadband-provider-info")
310c89e3 6391 (version "20190116")
e5e1df4d
DC
6392 (source (origin
6393 (method url-fetch)
6394 (uri (string-append
6395 "mirror://gnome/sources/"
6396 "mobile-broadband-provider-info/" version "/"
6397 "mobile-broadband-provider-info-" version ".tar.xz"))
6398 (sha256
6399 (base32
310c89e3 6400 "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic"))))
e5e1df4d
DC
6401 (build-system gnu-build-system)
6402 (arguments
310c89e3 6403 `(#:tests? #f)) ; no tests
e5e1df4d
DC
6404 (home-page "https://wiki.gnome.org/Projects/NetworkManager")
6405 (synopsis "Database of broadband connection configuration")
6406 (description "Database of broadband connection configuration.")
6407 (license license:public-domain)))
6408
4d62a9d3
SB
6409(define-public network-manager-applet
6410 (package
6411 (name "network-manager-applet")
8fc3a337 6412 (version "1.8.24")
4d62a9d3
SB
6413 (source (origin
6414 (method url-fetch)
3df63444 6415 (uri (string-append "mirror://gnome/sources/network-manager-applet/"
4d62a9d3 6416 (version-major+minor version) "/"
3df63444 6417 "network-manager-applet-" version ".tar.xz"))
4d62a9d3
SB
6418 (sha256
6419 (base32
8fc3a337 6420 "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi"))))
cd7f718e
RW
6421 (build-system meson-build-system)
6422 (arguments
be1c4b07
TGR
6423 '(#:configure-flags
6424 ;; ‘Nobody should be using this’ but network-manager-openvpn 1.8.10 does.
6425 (list "-Dlibnm_gtk=true")
6426 #:glib-or-gtk? #t))
4d62a9d3
SB
6427 (native-inputs
6428 `(("intltool" ,intltool)
cd7f718e 6429 ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc.
4d62a9d3 6430 ("gobject-introspection" ,gobject-introspection)
cd7f718e 6431 ("gtk-doc" ,gtk-doc)
4d62a9d3
SB
6432 ("pkg-config" ,pkg-config)))
6433 (propagated-inputs
6434 ;; libnm-gtk.pc refers to all these.
6435 `(("dbus-glib" ,dbus-glib)
6436 ("gtk+" ,gtk+)
6437 ("network-manager" ,network-manager)))
6438 (inputs
cd7f718e
RW
6439 `(("gcr" ,gcr)
6440 ("iso-codes" ,iso-codes)
4d62a9d3
SB
6441 ("libgudev" ,libgudev)
6442 ("libnotify" ,libnotify)
2116bfb3 6443 ("libsecret" ,libsecret)
240cee8a
KK
6444 ("libselinux" ,libselinux)
6445 ("jansson" ,jansson) ; for team support
3e9c80b2
FP
6446 ("modem-manager" ,modem-manager)
6447 ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)))
4d62a9d3 6448 (synopsis "Applet for managing network connections")
f032d0be 6449 (home-page "https://www.gnome.org/projects/NetworkManager/")
4d62a9d3
SB
6450 (description
6451 "This package contains a systray applet for NetworkManager. It displays
6452the available networks and allows users to easily switch between them.")
6453 (license license:gpl2+)))
56196594
RW
6454
6455(define-public libxml++
6456 (package
6457 (name "libxml++")
8344a85e 6458 (version "3.0.1")
56196594
RW
6459 (source (origin
6460 (method url-fetch)
6461 (uri (string-append "mirror://gnome/sources/" name "/"
6462 (version-major+minor version) "/"
6463 name "-" version ".tar.xz"))
6464 (sha256
6465 (base32
8344a85e 6466 "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r"))))
56196594
RW
6467 (build-system gnu-build-system)
6468 ;; libxml++-3.0.pc refers to all these.
6469 (propagated-inputs
6470 `(("libxml2" ,libxml2)
6471 ("glibmm" ,glibmm)))
6472 (native-inputs
6473 `(("perl" ,perl)
6474 ("pkg-config" ,pkg-config)))
6475 (home-page "http://libxmlplusplus.sourceforge.net/")
6476 (synopsis "C++ wrapper for XML parser library libxml2")
6477 (description
6478 "This package provides a C++ wrapper for the XML parser library
6479libxml2.")
6480 (license license:lgpl2.1+)))
df12f04a 6481
b61d9627
AW
6482(define-public libxml++-2
6483 (package
6484 (inherit libxml++)
6485 (name "libxml++")
6486 (version "2.40.1")
6487 (source (origin
6488 (method url-fetch)
6489 (uri (string-append "mirror://gnome/sources/" name "/"
6490 (version-major+minor version) "/"
6491 name "-" version ".tar.xz"))
6492 (sha256
6493 (base32
6494 "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a"))))))
6495
df12f04a
SB
6496(define-public gdm
6497 (package
6498 (name "gdm")
bcca95dc 6499 (version "3.32.0")
df12f04a
SB
6500 (source (origin
6501 (method url-fetch)
6502 (uri (string-append "mirror://gnome/sources/" name "/"
6503 (version-major+minor version) "/"
6504 name "-" version ".tar.xz"))
6505 (sha256
6506 (base32
bcca95dc 6507 "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4"))))
957dbc0a 6508 (build-system glib-or-gtk-build-system)
df12f04a
SB
6509 (arguments
6510 '(#:configure-flags
af37e6bb 6511 `("--without-plymouth"
957dbc0a 6512 "--disable-systemd-journal"
51bc8357
TS
6513
6514 ;; Using --with-initial-vt=7 allows GDM to run alongside TTY 1,
6515 ;; instead of having to replace it (i.e., stopping the mingetty
6516 ;; service for TTY 1 before starting GDM).
6517 "--with-initial-vt=7"
6518
89c86562
TS
6519 ;; Use '/etc/environment' for locale settings instead of the
6520 ;; systemd-specific '/etc/locale.conf'.
6521 "--with-lang-file=/etc/environment"
6522
b74ef0ba
RW
6523 ,(string-append "--with-udevdir="
6524 (assoc-ref %outputs "out") "/lib/udev")
6525
af37e6bb
AW
6526 "--localstatedir=/var"
6527 ,(string-append "--with-default-path="
6528 (string-join '("/run/setuid-programs"
6529 "/run/current-system/profile/bin"
6530 "/run/current-system/profile/sbin")
957dbc0a
AW
6531 ":"))
6532 ;; Put GDM in bindir so that glib-or-gtk-build-system wraps the
6533 ;; XDG_DATA_DIRS so that it finds its schemas.
6534 "--sbindir" ,(string-append (assoc-ref %outputs "out") "/bin"))
df12f04a
SB
6535 #:phases
6536 (modify-phases %standard-phases
6537 (add-before
6538 'configure 'pre-configure
e8c6e771 6539 (lambda* (#:key inputs outputs #:allow-other-keys)
df12f04a
SB
6540 ;; We don't have <systemd/sd-daemon.h>.
6541 (substitute* '("common/gdm-log.c"
6542 "daemon/gdm-server.c"
6543 "daemon/gdm-session-worker.c"
6544 "daemon/gdm-session-worker-job.c")
6545 (("#include <systemd/sd-daemon\\.h>") ""))
6546 ;; Use elogind for sd-login.
6547 (substitute* '("common/gdm-common.c"
6548 "daemon/gdm-manager.c"
6549 "libgdm/gdm-user-switching.c")
6550 (("#include <systemd/sd-login\\.h>")
6551 "#include <elogind/sd-login.h>"))
957dbc0a
AW
6552 ;; Check for elogind.
6553 (substitute* '("configure")
6554 (("libsystemd")
6555 "libelogind"))
af37e6bb
AW
6556 ;; Look for system-installed sessions in
6557 ;; /run/current-system/profile/share.
6558 (substitute* '("libgdm/gdm-sessions.c"
6559 "daemon/gdm-session.c"
6560 "daemon/gdm-display.c"
6561 "daemon/gdm-launch-environment.c")
6562 (("DATADIR \"/x")
6563 "\"/run/current-system/profile/share/x")
6564 (("DATADIR \"/wayland")
6565 "\"/run/current-system/profile/share/wayland")
6566 (("DATADIR \"/gnome")
6567 "\"/run/current-system/profile/share/gnome"))
c9ff92b5 6568 (let ((propagate '("GDM_CUSTOM_CONF"
1f564c15 6569 "GDM_DBUS_DAEMON"
c9ff92b5 6570 "GDM_X_SERVER"
41fa9f18 6571 "GDM_X_SESSION"
c9ff92b5
TS
6572 ;; XXX: Remove this once GNOME Shell is
6573 ;; a dependency of GDM.
6574 "XDG_DATA_DIRS")))
6575 (substitute* "daemon/gdm-session.c"
6576 (("set_up_session_environment \\(self\\);")
6577 (apply string-append
6578 "set_up_session_environment (self);\n"
6579 (map (lambda (name)
6580 (string-append
6581 "gdm_session_set_environment_variable "
6582 "(self, \"" name "\","
6583 "g_getenv (\"" name "\"));\n"))
6584 propagate)))))
a430a350
TS
6585 ;; Find the configuration file using an environment variable.
6586 (substitute* '("common/gdm-settings.c")
e0e6756f 6587 (("GDM_CUSTOM_CONF")
e57c2adb
TS
6588 (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
6589 " ? g_getenv(\"GDM_CUSTOM_CONF\")"
6590 " : GDM_CUSTOM_CONF)")))
e0e6756f
AW
6591 ;; Use service-supplied path to X.
6592 (substitute* '("daemon/gdm-server.c")
6593 (("\\(X_SERVER X_SERVER_ARG_FORMAT")
6594 "(\"%s\" X_SERVER_ARG_FORMAT, g_getenv (\"GDM_X_SERVER\")"))
6595 (substitute* '("daemon/gdm-x-session.c")
1f564c15
TS
6596 (("\"dbus-daemon\"")
6597 "g_getenv (\"GDM_DBUS_DAEMON\")")
e0e6756f 6598 (("X_SERVER")
41fa9f18
TS
6599 "g_getenv (\"GDM_X_SERVER\")")
6600 (("GDMCONFDIR \"/Xsession\"")
6601 "g_getenv (\"GDM_X_SESSION\")"))
def6d6b6
TS
6602 ;; Use an absolute path for GNOME Session.
6603 (substitute* "daemon/gdm-launch-environment.c"
6604 (("\"gnome-session\"")
6605 (string-append "\"" (assoc-ref inputs "gnome-session")
6606 "/bin/gnome-session\"")))
e8c6e771
TS
6607 ;; Do not automatically select the placeholder session.
6608 (substitute* "daemon/gdm-session.c"
6609 (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
6610 (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
6611 "(g_strcmp0(search_dirs[i], \""
6612 (assoc-ref outputs "out") "/share/gdm/BuiltInSessions/"
6613 "\") == 0 && "
6614 "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
6615 (("g_error [(]\"GdmSession: no session desktop files installed, aborting\\.\\.\\.\"[)];")
bcca95dc 6616 "{ self->fallback_session_name = g_strdup(\"fail\"); goto out; }"))
69544798 6617 #t))
8caa4589
TS
6618 ;; GDM requires that there be at least one desktop entry
6619 ;; file. This phase installs a hidden one that simply
6620 ;; fails. This enables users to use GDM with a
6621 ;; '~/.xsession' script with no other desktop entry files.
6622 ;; See <https://bugs.gnu.org/35068>.
6623 (add-after 'install 'install-placeholder-desktop-entry
6624 (lambda* (#:key inputs outputs #:allow-other-keys)
6625 (let* ((out (assoc-ref outputs "out"))
6626 (sessions (string-append out "/share/gdm/BuiltInSessions"))
6627 (fail (string-append sessions "/fail.desktop")))
6628 (mkdir-p sessions)
6629 (with-output-to-file fail
6630 (lambda ()
6631 (for-each
6632 display
6633 '("[Desktop Entry]\n"
6634 "Encoding=UTF-8\n"
6635 "Type=Application\n"
6636 "Name=Fail\n"
6637 "Comment=This session fails immediately.\n"
6638 "NoDisplay=true\n"
6639 "Exec=false\n"))))
6640 #t)))
69544798
TS
6641 ;; GDM needs GNOME Session to run these applications. We link
6642 ;; their autostart files in `share/gdm/greeter/autostart'
6643 ;; because GDM explicitly tells GNOME Session to look there.
6644 ;;
6645 ;; XXX: GNOME Shell should be linked here too, but currently
6646 ;; GNOME Shell depends on GDM.
6647 (add-after 'install 'link-autostart-files
6648 (lambda* (#:key inputs outputs #:allow-other-keys)
6649 (let* ((out (assoc-ref outputs "out"))
6650 (autostart (string-append out "/share/gdm/"
6651 "greeter/autostart"))
6652 (settings (assoc-ref inputs "gnome-settings-daemon")))
6653 (mkdir-p autostart)
6654 (with-directory-excursion autostart
6655 (for-each (lambda (desktop)
6656 (symlink desktop (basename desktop)))
6657 (find-files (string-append settings "/etc/xdg"))))
6658 #t))))))
df12f04a
SB
6659 (native-inputs
6660 `(("dconf" ,dconf)
6661 ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
6662 ("gobject-introspection" ,gobject-introspection)
6663 ("intltool" ,intltool)
6664 ("itstool" ,itstool)
6665 ("pkg-config" ,pkg-config)
6666 ("xmllint" ,libxml2)))
6667 (inputs
6668 `(("accountsservice" ,accountsservice)
6669 ("check" ,check) ; for testing
6670 ("elogind" ,elogind)
def6d6b6 6671 ("gnome-session" ,gnome-session)
69544798 6672 ("gnome-settings-daemon" ,gnome-settings-daemon)
df12f04a
SB
6673 ("gtk+" ,gtk+)
6674 ("iso-codes" ,iso-codes)
6675 ("libcanberra" ,libcanberra)
6676 ("linux-pam" ,linux-pam)))
6677 (synopsis "Display manager for GNOME")
f032d0be 6678 (home-page "https://wiki.gnome.org/Projects/GDM/")
df12f04a
SB
6679 (description
6680 "GNOME Display Manager is a system service that is responsible for
6681providing graphical log-ins and managing local and remote displays.")
6682 (license license:gpl2+)))
8e1dd04f
SB
6683
6684(define-public libgtop
6685 (package
6686 (name "libgtop")
015fc036 6687 (version "2.40.0")
8e1dd04f
SB
6688 (source (origin
6689 (method url-fetch)
59487fc2 6690 (uri (string-append "mirror://gnome/sources/libgtop/"
8e1dd04f 6691 (version-major+minor version) "/"
59487fc2 6692 "libgtop-" version ".tar.xz"))
8e1dd04f
SB
6693 (sha256
6694 (base32
015fc036 6695 "1m6jbqk8maa52gxrf223442fr5bvvxgb7ham6v039i3r1i62gwvq"))))
8e1dd04f
SB
6696 (build-system gnu-build-system)
6697 (native-inputs
6698 `(("gobject-introspection" ,gobject-introspection)
6699 ("intltool" ,intltool)
6700 ("perl" ,perl)
6701 ("pkg-config" ,pkg-config)))
6702 (propagated-inputs
6703 `(("glib" ,glib))) ; required by libgtop-2.0.pc
6704 (synopsis "Portable system access library")
6705 (home-page "https://www.gnome.org/")
6706 (description
6707 "LibGTop is a library to get system specific data such as CPU and memory
6708usage and information about running processes.")
6709 (license license:gpl2+)))
b96c4260
SB
6710
6711(define-public gnome-bluetooth
6712 (package
6713 (name "gnome-bluetooth")
723afae6 6714 (version "3.32.1")
b96c4260
SB
6715 (source (origin
6716 (method url-fetch)
6717 (uri (string-append "mirror://gnome/sources/" name "/"
6718 (version-major+minor version) "/"
6719 name "-" version ".tar.xz"))
6720 (sha256
6721 (base32
723afae6 6722 "1am1gf0nzwg6x1s8ly13j0xnjzgrfj06j0dp52x4zy9s67ywlhb4"))))
fd3b1171 6723 (build-system meson-build-system)
b96c4260
SB
6724 (native-inputs
6725 `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
fd3b1171 6726 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
b96c4260
SB
6727 ("gobject-introspection" ,gobject-introspection)
6728 ("intltool" ,intltool)
6729 ("pkg-config" ,pkg-config)
6730 ("xmllint" ,libxml2)))
6731 (propagated-inputs
6732 ;; gnome-bluetooth-1.0.pc refers to all these.
723afae6
KK
6733 `(("glib" ,glib)
6734 ("gtk+" ,gtk+)))
b96c4260 6735 (inputs
723afae6
KK
6736 `(("eudev" ,eudev)
6737 ("libcanberra" ,libcanberra)
b96c4260
SB
6738 ("libnotify" ,libnotify)))
6739 (synopsis "GNOME Bluetooth subsystem")
6740 (home-page "https://wiki.gnome.org/Projects/GnomeBluetooth")
6741 (description
6742 "This package contains tools for managing and manipulating Bluetooth
6743devices using the GNOME desktop.")
6744 (license license:lgpl2.1+)))
b645146f
SB
6745
6746(define-public gnome-control-center
6747 (package
6748 (name "gnome-control-center")
a6938bac 6749 (version "3.32.2")
b645146f
SB
6750 (source (origin
6751 (method url-fetch)
6752 (uri (string-append "mirror://gnome/sources/" name "/"
6753 (version-major+minor version) "/"
6754 name "-" version ".tar.xz"))
6755 (sha256
6756 (base32
a6938bac 6757 "03np0mhfl9kkdw4cb711pda0cli9zgh2bq2gqn2zwbdi3qnhk9gs"))))
59dac026 6758 (build-system meson-build-system)
b645146f 6759 (arguments
59dac026
RW
6760 '(#:glib-or-gtk? #t
6761 #:configure-flags
64c70430
KK
6762 (list "-Dcheese=false"
6763 (string-append "-Dgnome_session_libexecdir="
6764 (assoc-ref %build-inputs "gnome-session")
6765 "/libexec"))
59dac026 6766 #:phases
b645146f
SB
6767 (modify-phases %standard-phases
6768 (add-before 'configure 'patch-paths
6769 (lambda* (#:key inputs #:allow-other-keys)
6770 (let ((libc (assoc-ref inputs "libc"))
1df38cfc 6771 (tzdata (assoc-ref inputs "tzdata"))
341225ac 6772 (libgnomekbd (assoc-ref inputs "libgnomekbd"))
64c70430
KK
6773 (nm-applet (assoc-ref inputs "network-manager-applet"))
6774 (gnome-desktop (assoc-ref inputs "gnome-desktop")))
b645146f
SB
6775 (substitute* "panels/datetime/tz.h"
6776 (("/usr/share/zoneinfo/zone.tab")
6777 (string-append tzdata "/share/zoneinfo/zone.tab")))
982c0b36 6778 (substitute* "tests/datetime/test-endianess.c"
b645146f
SB
6779 (("/usr/share/locale")
6780 (string-append libc "/share/locale")))
1df38cfc
LC
6781 (substitute* "panels/region/cc-region-panel.c"
6782 (("\"gkbd-keyboard-display")
6783 (string-append "\"" libgnomekbd
6784 "/bin/gkbd-keyboard-display")))
341225ac
LC
6785 (substitute* '("panels/network/net-device-wifi.c"
6786 "panels/network/net-device.c"
6787 "panels/network/connection-editor/net-connection-editor.c")
6788 (("\"nm-connection-editor")
6789 (string-append "\"" nm-applet
6790 "/bin/nm-connection-editor")))
1acd107c
FP
6791 (substitute* '("panels/user-accounts/run-passwd.c")
6792 (("/usr/bin/passwd")
6793 "/run/setuid-programs/passwd"))
64c70430
KK
6794 (substitute* "panels/info/cc-info-overview-panel.c"
6795 (("DATADIR \"/gnome/gnome-version.xml\"")
6796 (string-append "\"" gnome-desktop
6797 "/share/gnome/gnome-version.xml\"")))
b645146f
SB
6798 #t))))))
6799 (native-inputs
6800 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
59dac026 6801 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
b645146f
SB
6802 ("intltool" ,intltool)
6803 ("pkg-config" ,pkg-config)
a6938bac
KK
6804 ("xsltproc" ,libxslt)
6805 ;; For tests
6806 ("hicolor-icon-theme" ,hicolor-icon-theme)
6807 ("python-dbusmock" ,python-dbusmock)
6808 ("xorg-server" ,xorg-server-for-tests)))
b645146f
SB
6809 (inputs
6810 `(("accountsservice" ,accountsservice)
6811 ("clutter-gtk" ,clutter-gtk)
6812 ("colord-gtk" ,colord-gtk)
6813 ("cups" ,cups)
6814 ("dconf" ,dconf)
6815 ("docbook-xsl" ,docbook-xsl)
3446ffb5 6816 ("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
b645146f
SB
6817 ("gnome-bluetooth" ,gnome-bluetooth)
6818 ("gnome-desktop" ,gnome-desktop)
6819 ("gnome-online-accounts" ,gnome-online-accounts)
14c297fd 6820 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
64c70430 6821 ("gnome-session" ,gnome-session)
b645146f
SB
6822 ("gnome-settings-daemon" ,gnome-settings-daemon)
6823 ("grilo" ,grilo)
a6938bac 6824 ("gsound" ,gsound)
b645146f
SB
6825 ("ibus" ,ibus)
6826 ("libcanberra" ,libcanberra)
1df38cfc 6827 ("libgnomekbd" ,libgnomekbd)
b645146f
SB
6828 ("libgudev" ,libgudev)
6829 ("libgtop" ,libgtop)
6830 ("libpwquality" ,libpwquality)
982c0b36 6831 ("libsecret" ,libsecret)
b645146f
SB
6832 ("libsoup" ,libsoup)
6833 ("libxml2" ,libxml2)
6834 ("libwacom" ,libwacom)
6835 ("mesa" ,mesa)
6836 ("mit-krb5" ,mit-krb5)
6837 ("modem-manager" ,modem-manager)
6838 ("network-manager-applet" ,network-manager-applet)
6839 ("polkit" ,polkit)
6840 ("pulseaudio" ,pulseaudio)
6841 ("smbclient" ,samba)
6842 ("tzdata" ,tzdata)
982c0b36 6843 ("udisks" ,udisks)
b645146f
SB
6844 ("upower" ,upower)))
6845 (synopsis "Utilities to configure the GNOME desktop")
6846 (home-page "https://www.gnome.org/")
6847 (description
6848 "This package contains configuration applets for the GNOME desktop,
6849allowing to set accessibility configuration, desktop fonts, keyboard and mouse
6850properties, sound setup, desktop theme and background, user interface
6851properties, screen resolution, and other GNOME parameters.")
6852 (license license:gpl2+)))
a4df5756
SB
6853
6854(define-public gnome-shell
6855 (package
6856 (name "gnome-shell")
d5e615ca 6857 (version "3.32.2")
a4df5756
SB
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
d5e615ca 6865 "0anlkdnqsp5fqvmg95rqjpp1ifcx5xzsvwcrdsvb1cqzbh6inmp5"))
a76d0f03
LC
6866 (patches (search-patches "gnome-shell-theme.patch"))
6867 (modules '((guix build utils)))
6868 (snippet
6869 #~(begin
a76d0f03
LC
6870 ;; Copy images for use on the GDM log-in screen.
6871 (copy-file #$(file-append %artwork-repository
6872 "/slim/0.x/background.png")
6873 "data/theme/guix-background.png")
45fef894
LC
6874 (copy-file #$(file-append %artwork-repository
6875 "/logo/Guix-horizontal-white.svg")
6876 "data/theme/guix-logo.svg")
a76d0f03 6877 #t))))
2b0c755d 6878 (build-system meson-build-system)
a4df5756 6879 (arguments
08185081
MB
6880 `(#:glib-or-gtk? #t
6881 #:disallowed-references ((,glib "bin")
11e1df56
LC
6882 ,inkscape ,libxslt
6883 ,ruby-sass)
2b0c755d
RW
6884 #:configure-flags
6885 (list "-Dsystemd=false"
6886 ;; Otherwise, the RUNPATH will lack the final path component.
6887 (string-append "-Dc_link_args=-Wl,-rpath="
6888 (assoc-ref %outputs "out")
6889 "/lib/gnome-shell"))
11e1df56 6890
08185081 6891 #:modules ((guix build meson-build-system)
11e1df56
LC
6892 (guix build utils)
6893 (srfi srfi-1))
6894
2b0c755d 6895 #:phases
a4df5756 6896 (modify-phases %standard-phases
2b0c755d 6897 (add-after 'unpack 'fix-keysdir
a4df5756
SB
6898 (lambda* (#:key outputs #:allow-other-keys)
6899 (let* ((out (assoc-ref outputs "out"))
6900 (keysdir (string-append
6901 out "/share/gnome-control-center/keybindings")))
2b0c755d
RW
6902 (substitute* "meson.build"
6903 (("keysdir =.*")
6904 (string-append "keysdir = '" keysdir "'\n")))
6905 #t)))
ebfe259f
MB
6906 (add-before 'configure 'convert-logo-to-png
6907 (lambda* (#:key inputs #:allow-other-keys)
6908 ;; Convert the logo from SVG to PNG.
6909 (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
6910 "data/theme/guix-logo.svg")))
ba00235a 6911 (add-before 'configure 'record-absolute-file-names
2472cdec
LC
6912 (lambda* (#:key inputs #:allow-other-keys)
6913 (substitute* "js/misc/ibusManager.js"
6914 (("'ibus-daemon'")
6915 (string-append "'" (assoc-ref inputs "ibus")
6916 "/bin/ibus-daemon'")))
d6fda4d3
LC
6917 (substitute* "js/ui/status/keyboard.js"
6918 (("'gkbd-keyboard-display'")
6919 (string-append "'" (assoc-ref inputs "libgnomekbd")
6920 "/bin/gkbd-keyboard-display'")))
2472cdec 6921 #t))
2b0c755d
RW
6922 (add-before 'check 'pre-check
6923 (lambda* (#:key inputs #:allow-other-keys)
6924 ;; Tests require a running X server.
6925 (system "Xvfb :1 &")
6926 (setenv "DISPLAY" ":1")
6927 #t))
6928 (add-after 'install 'wrap-programs
6929 (lambda* (#:key inputs outputs #:allow-other-keys)
6930 (let ((out (assoc-ref outputs "out"))
6931 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
6932 (python-path (getenv "PYTHONPATH")))
6933 (wrap-program (string-append out "/bin/gnome-shell")
6934 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
6935 ;; FIXME: gnome-shell loads these libraries with unqualified
6936 ;; names only, so they need to be on LD_LIBRARY_PATH. The
6937 ;; alternative might be to patch gnome-shell.
6938 `("LD_LIBRARY_PATH" ":" prefix
6939 ,(map (lambda (pkg)
6940 (string-append (assoc-ref inputs pkg) "/lib"))
cd8dce8a
RW
6941 '("gdk-pixbuf"
6942 "gnome-bluetooth" "librsvg" "libgweather"))))
2b0c755d
RW
6943 (for-each
6944 (lambda (prog)
6945 (wrap-program (string-append out "/bin/" prog)
6946 `("PYTHONPATH" ":" prefix (,python-path))
6947 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
6948 '("gnome-shell-extension-tool" "gnome-shell-perf-tool"))
08185081 6949 #t)))
11e1df56
LC
6950 (replace 'glib-or-gtk-wrap
6951 (let ((wrap (assoc-ref %standard-phases 'glib-or-gtk-wrap)))
6952 (lambda* (#:key inputs outputs #:allow-other-keys #:rest rest)
6953 ;; By default Inkscape et al. would end up in the XDG_DATA_DIRS
6954 ;; settings of the wrappers created by the 'glib-or-gtk-wrap'
6955 ;; phase. Fix that since we don't need these.
6956 (wrap #:inputs (fold alist-delete inputs
6957 '("inkscape" "intltool" "glib:bin"))
6958 #:outputs outputs)))))))
a4df5756
SB
6959 (native-inputs
6960 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
2b0c755d 6961 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
a4df5756 6962 ("gobject-introspection" ,gobject-introspection)
ebfe259f 6963 ("inkscape" ,inkscape)
a4df5756
SB
6964 ("intltool" ,intltool)
6965 ("pkg-config" ,pkg-config)
6966 ("python" ,python)
2b0c755d
RW
6967 ("ruby-sass" ,ruby-sass)
6968 ("sassc" ,sassc)
a76d0f03 6969 ("xsltproc" ,libxslt)
2b0c755d 6970 ;; For tests
0b4504f6 6971 ("xorg-server" ,xorg-server-for-tests)))
a4df5756
SB
6972 (inputs
6973 `(("accountsservice" ,accountsservice)
6974 ("caribou" ,caribou)
6975 ("docbook-xsl" ,docbook-xsl)
6976 ("evolution-data-server" ,evolution-data-server)
6977 ("gcr" ,gcr)
6978 ("gdm" ,gdm)
c5db31d4 6979 ("gdk-pixbuf" ,gdk-pixbuf+svg)
a4df5756
SB
6980 ("gjs" ,gjs)
6981 ("gnome-bluetooth" ,gnome-bluetooth)
a4df5756
SB
6982 ("gnome-desktop" ,gnome-desktop)
6983 ("gnome-settings-daemon" ,gnome-settings-daemon)
6984 ("gst-plugins-base" ,gst-plugins-base)
6985 ("ibus" ,ibus)
6986 ("libcanberra" ,libcanberra)
6987 ("libcroco" ,libcroco)
d6fda4d3 6988 ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display
a4df5756
SB
6989 ("libgweather" ,libgweather)
6990 ("libsoup" ,libsoup)
6991 ("mesa-headers" ,mesa-headers)
6992 ("mutter" ,mutter)
6993 ("network-manager-applet" ,network-manager-applet)
6994 ("polkit" ,polkit)
6995 ("pulseaudio" ,pulseaudio)
6996 ("python-pygobject" ,python-pygobject)
6997 ("startup-notification" ,startup-notification)
6998 ("telepathy-logger" ,telepathy-logger)
6999 ("upower" ,upower)
30e760f0
MB
7000 ;; XXX: These requirements were added in 3.24, but no mention in NEWS.
7001 ;; Missing propagation? See also: <https://bugs.gnu.org/27264>
7002 ("librsvg" ,librsvg)
2b0c755d 7003 ("geoclue" ,geoclue)))
a4df5756
SB
7004 (synopsis "Desktop shell for GNOME")
7005 (home-page "https://wiki.gnome.org/Projects/GnomeShell")
7006 (description
7007 "GNOME Shell provides core user interface functions for the GNOME desktop,
7008like switching to windows and launching applications.")
7009 (license license:gpl2+)))
c3f29bc9
RS
7010
7011(define-public gtk-vnc
7012 (package
7013 (name "gtk-vnc")
965ff023 7014 (version "0.9.0")
c3f29bc9
RS
7015 (source
7016 (origin
7017 (method url-fetch)
7018 (uri (string-append "mirror://gnome/sources/" name "/"
7019 (version-major+minor version) "/"
7020 name "-" version ".tar.xz"))
7021 (sha256
7022 (base32
965ff023 7023 "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is"))))
c3f29bc9
RS
7024 (build-system gnu-build-system)
7025 (arguments
7026 '(#:configure-flags '("--with-gtk=3.0")))
7027 (propagated-inputs
7028 `(("gtk+" ,gtk+))) ; required by gtk-vnc-2.0.pc.
7029 (inputs
7030 `(("cyrus-sasl" ,cyrus-sasl)
7031 ("gnutls" ,gnutls)
7032 ("libgcrypt" ,libgcrypt)
7033 ("pulseaudio" ,pulseaudio)))
7034 (native-inputs
7035 `(("glib:bin" ,glib "bin")
7036 ("gobject-introspection" ,gobject-introspection)
7037 ("intltool" ,intltool)
7038 ("pkg-config" ,pkg-config)
2f17e939 7039 ("python-wrapper" ,python-wrapper)
c3f29bc9
RS
7040 ("vala" ,vala)))
7041 (home-page "https://wiki.gnome.org/Projects/gtk-vnc")
7042 (synopsis "VNC viewer widget for GTK+")
7043 (description
7044 "GTK-VNC is a VNC viewer widget for GTK+, used by remote desktop viewing
7045applications, for instance the Vinagre client, GNOME Boxes and virt-viewer.
7046GTK-VNC implements client side RFB protocol and authentication extensions such
7047as SASL, TLS and VeNCrypt. Additionally it supports encoding extensions.")
7048 (license license:lgpl2.1+)))
8b877545 7049
dc69fe18
MW
7050(define-public gnome-autoar
7051 (package
7052 (name "gnome-autoar")
c7da8510 7053 (version "0.2.3")
dc69fe18
MW
7054 (source (origin
7055 (method url-fetch)
7056 (uri (string-append "mirror://gnome/sources/" name "/"
7057 (version-major+minor version) "/"
7058 name "-" version ".tar.xz"))
7059 (sha256
7060 (base32
c7da8510 7061 "02i4zgqqqj56h7bcys6dz7n78m4nj2x4dv1ggjmnrk98n06xpsax"))))
dc69fe18
MW
7062 (build-system glib-or-gtk-build-system)
7063 (native-inputs
7064 `(("gnome-common" ,gnome-common)
7065 ("gobject-introspection" ,gobject-introspection)
7066 ("pkg-config" ,pkg-config)))
7067 (propagated-inputs
7068 `(("libarchive" ,libarchive))) ; XXX document why
7069 (inputs
0a6e9e13 7070 `(("gtk+" ,gtk+)))
dc69fe18
MW
7071 (synopsis "Archives integration support for GNOME")
7072 (home-page "https://git.gnome.org/browse/gnome-autoar/")
7073 (description
7074 "GNOME Autoar is a library which makes creating and extracting archives
7075easy, safe, and automatic.")
7076 (license license:lgpl2.1+)))
7077
b64e217f
MW
7078(define-public tracker
7079 (package
7080 (name "tracker")
5ada561c 7081 (version "2.2.2")
b64e217f
MW
7082 (source (origin
7083 (method url-fetch)
b5b0fd23 7084 (uri (string-append "mirror://gnome/sources/tracker/"
b64e217f 7085 (version-major+minor version) "/"
b5b0fd23 7086 "tracker-" version ".tar.xz"))
b64e217f
MW
7087 (sha256
7088 (base32
5ada561c
KK
7089 "1rp2c6k7ajcm553p9kpni87zgi9aplm3s01rl7pk575az5i399y6"))))
7090 (build-system meson-build-system)
c8bdf589 7091 (arguments
5ada561c
KK
7092 `(#:glib-or-gtk? #t
7093 #:configure-flags
7094 ;; Otherwise, the RUNPATH will lack the final path component.
7095 (list (string-append "-Dc_link_args=-Wl,-rpath="
7096 (assoc-ref %outputs "out") "/lib:"
7097 (assoc-ref %outputs "out") "/lib/tracker-2.0"))
7098 #:phases
c8bdf589
RW
7099 (modify-phases %standard-phases
7100 (add-after 'unpack 'disable-broken-tests
7101 (lambda _
c8bdf589
RW
7102 ;; These fail because the SPARQL backend could not be loaded.
7103 ;; That's because /etc/machine-id is missing, but
7104 ;; DBUS_FATAL_WARNINGS does not help here.
5ada561c
KK
7105 (substitute* "tests/libtracker-sparql/meson.build"
7106 (("'sparql',") ""))
7107 (substitute* "tests/tracker-steroids/meson.build"
7108 (("test\\(.*") ""))
c8bdf589
RW
7109 #t))
7110 ;; Two tests fail if LANG is not set.
7111 (add-before 'check 'pre-check
7112 (lambda _
7113 (setenv "LANG" "en_US.UTF-8")
7114 ;; For the missing /etc/machine-id.
7115 (setenv "DBUS_FATAL_WARNINGS" "0")
7116 #t)))))
b64e217f 7117 (native-inputs
5ada561c
KK
7118 `(("glib:bin" ,glib "bin")
7119 ("gnome-common" ,gnome-common)
b64e217f 7120 ("gobject-introspection" ,gobject-introspection)
5ada561c 7121 ("python-pygobject" ,python-pygobject)
b64e217f
MW
7122 ("intltool" ,intltool)
7123 ("pkg-config" ,pkg-config)
7124 ("vala" ,vala)))
7125 (inputs
7126 `(("gtk+" ,gtk+)
7127 ("dbus" ,dbus)
44ed6284 7128 ("sqlite" ,sqlite)
c8bdf589 7129 ("python" ,python)
b64e217f 7130 ("poppler" ,poppler)
b64e217f
MW
7131 ("libpng" ,libpng)
7132 ("libtiff" ,libtiff)
b64e217f 7133 ("zlib" ,zlib)
b64e217f 7134 ("libxml2" ,libxml2)
b64e217f 7135 ("libunistring" ,libunistring)
0ef48cd9 7136 ("json-glib" ,json-glib)
b64e217f 7137 ("openjpeg" ,openjpeg-1)
b64e217f 7138 ("libseccomp" ,libseccomp)
0ef48cd9 7139 ("libsoup" ,libsoup)
5ada561c
KK
7140 ("libuuid" ,util-linux)
7141 ("network-manager" ,network-manager)))
b64e217f
MW
7142 (synopsis "Metadata database, indexer and search tool")
7143 (home-page "https://wiki.gnome.org/Projects/Tracker")
7144 (description
7145 "Tracker is an advanced framework for first class objects with associated
7146metadata and tags. It provides a one stop solution for all metadata, tags,
7147shared object databases, search tools and indexing.")
7148 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7149 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7150 (license (list license:gpl2+
7151 license:lgpl2.1+
7152 license:lgpl2.0+))))
7153
03be9874
KK
7154(define-public tracker-miners
7155 (package
7156 (name "tracker-miners")
7157 (version "2.2.2")
7158 (source (origin
7159 (method url-fetch)
7160 (uri (string-append "mirror://gnome/sources/tracker-miners/"
7161 (version-major+minor version)
7162 "/tracker-miners-" version ".tar.xz"))
7163 (sha256
7164 (base32
7165 "0kk5xaajamb8jlm6cfdbc2m3axzr6bnph84m7697xmb0pkg8hdiw"))))
7166 (build-system meson-build-system)
7167 (arguments
7168 `(#:glib-or-gtk? #t
7169 #:configure-flags
7170 (list "-Dminer_rss=false" ; libgrss is required.
7171 ;; Ensure the RUNPATH contains all installed library locations.
7172 (string-append "-Dc_link_args=-Wl,-rpath="
7173 (assoc-ref %outputs "out")
7174 "/lib/tracker-miners-2.0")
7175 ;; TODO: Enable functional tests. Currently, the following error
7176 ;; appears:
7177 ;; Exception: The functional tests require DConf to be the default
7178 ;; GSettings backend. Got GKeyfileSettingsBackend instead.
7179 "-Dfunctional_tests=false")))
7180 (native-inputs
7181 `(("dbus" ,dbus)
7182 ("intltool" ,intltool)
7183 ("glib:bin" ,glib "bin")
7184 ("gobject-introspection" ,gobject-introspection)
7185 ("pkg-config" ,pkg-config)
7186 ("python-pygobject" ,python-pygobject)))
7187 (inputs
7188 `(("exempi" ,exempi)
7189 ("ffmpeg" ,ffmpeg)
7190 ("flac" ,flac)
7191 ("giflib" ,giflib)
7192 ("glib" ,glib)
7193 ("gstreamer" ,gstreamer)
7194 ("icu4c" ,icu4c)
7195 ("libcue" ,libcue)
7196 ("libexif" ,libexif)
7197 ("libgsf" ,libgsf)
7198 ("libgxps" ,libgxps)
7199 ("libiptcdata" ,libiptcdata)
7200 ("libjpeg" ,libjpeg)
7201 ("libosinfo" ,libosinfo)
7202 ("libpng" ,libpng)
7203 ("libseccomp" ,libseccomp)
7204 ("libtiff" ,libtiff)
7205 ("libvorbis" ,libvorbis)
7206 ("libxml2" ,libxml2)
7207 ("poppler" ,poppler)
7208 ("taglib" ,taglib)
7209 ("totem-pl-parser" ,totem-pl-parser)
7210 ("tracker" ,tracker)
7211 ("upower" ,upower)
7212 ("zlib" ,zlib)))
7213 (synopsis "Metadata database, indexer and search tool")
7214 (home-page "https://wiki.gnome.org/Projects/Tracker")
7215 (description
7216 "Tracker is an advanced framework for first class objects with associated
7217metadata and tags. It provides a one stop solution for all metadata, tags,
7218shared object databases, search tools and indexing.")
7219 ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
7220 ;; src/gvdb/* are covered by lgpl2.0+, and the rest is gpl2+.
7221 (license (list license:gpl2+
7222 license:lgpl2.1+
7223 license:lgpl2.0+))))
7224
8b877545
RS
7225(define-public nautilus
7226 (package
7227 (name "nautilus")
d682c599 7228 (version "3.32.3")
8b877545
RS
7229 (source (origin
7230 (method url-fetch)
7231 (uri (string-append "mirror://gnome/sources/" name "/"
7232 (version-major+minor version) "/"
7233 name "-" version ".tar.xz"))
7234 (sha256
7235 (base32
d682c599 7236 "1x9crzbj6rrrf8w5dkcx0c14j40byr4ijpzkwd5dcrbfvvdy1r01"))))
35e2d0cf 7237 (build-system meson-build-system)
8b877545 7238 (arguments
35e2d0cf 7239 '(#:glib-or-gtk? #t
8b877545
RS
7240 ;; XXX: FAIL: check-nautilus
7241 ;; Settings schema 'org.gnome.nautilus.preferences' is not installed
7242 #:tests? #f))
7243 (native-inputs
35e2d0cf
R
7244 `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7245 ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
7246 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
8b877545
RS
7247 ("gobject-introspection" ,gobject-introspection)
7248 ("intltool" ,intltool)
7249 ("pkg-config" ,pkg-config)))
8b877545 7250 (inputs
8b877545 7251 `(("dconf" ,dconf)
caf6c363 7252 ("gexiv2" ,gexiv2)
dd05e731 7253 ("gvfs" ,gvfs)
8b877545
RS
7254 ("exempi" ,exempi)
7255 ("gnome-desktop" ,gnome-desktop)
09d88905 7256 ("gnome-autoar" ,gnome-autoar)
3cafb9d4 7257 ("gst-plugins-base" ,gst-plugins-base)
ec66ebd4 7258 ("libseccomp" ,libseccomp)
35e2d0cf 7259 ("libselinux" ,libselinux)
09d88905 7260 ("tracker" ,tracker)
3cafb9d4 7261 ("tracker-miners" ,tracker-miners)
ce6027bf
SB
7262 ;; XXX: gtk+ is required by libnautilus-extension.pc
7263 ;;
7264 ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta
7265 ;; package. See:
7266 ;; <http://lists.gnu.org/archive/html/guix-devel/2016-03/msg00283.html>.
7267 ("gtk+" ,gtk+)
8b877545
RS
7268 ("libexif" ,libexif)
7269 ("libxml2" ,libxml2)))
7270 (synopsis "File manager for GNOME")
7271 (home-page "https://wiki.gnome.org/Apps/Nautilus")
7272 (description
7273 "Nautilus (Files) is a file manager designed to fit the GNOME desktop
7274design and behaviour, giving the user a simple way to navigate and manage its
7275files.")
7276 (license license:gpl2+)))
3c697ffd
JR
7277
7278(define-public baobab
7279 (package
7280 (name "baobab")
e0c5f20c 7281 (version "3.32.0")
3c697ffd
JR
7282 (source (origin
7283 (method url-fetch)
7284 (uri (string-append
7285 "mirror://gnome/sources/" name "/"
7286 (version-major+minor version) "/"
7287 name "-" version ".tar.xz"))
7288 (sha256
7289 (base32
e0c5f20c 7290 "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r"))))
d233d373
RJ
7291 (build-system meson-build-system)
7292 (arguments
7293 '(#:glib-or-gtk? #t))
3c697ffd
JR
7294 (native-inputs
7295 `(("intltool" ,intltool)
7296 ("pkg-config" ,pkg-config)
d233d373
RJ
7297 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
7298 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
3c697ffd
JR
7299 ("itstool" ,itstool)
7300 ("xmllint" ,libxml2)
7301 ("glib" ,glib "bin")
7302 ("vala" ,vala)))
7303 (inputs
7304 `(("gtk+" ,gtk+)))
7305 (synopsis "Disk usage analyzer for GNOME")
7306 (description
7307 "Baobab (Disk Usage Analyzer) is a graphical application to analyse disk
7308usage in the GNOME desktop environment. It can easily scan device volumes or
7309a specific user-requested directory branch (local or remote). Once the scan
7310is complete it provides a graphical representation of each selected folder.")
7311 (home-page "https://wiki.gnome.org/Apps/Baobab")
7312 (license license:gpl2+)))
dc050251 7313
fdba447c
RS
7314(define-public gnome-backgrounds
7315 (package
7316 (name "gnome-backgrounds")
e04e8a8c 7317 (version "3.32.0")
fdba447c
RS
7318 (source
7319 (origin
7320 (method url-fetch)
7321 (uri (string-append "mirror://gnome/sources/" name "/"
7322 (version-major+minor version) "/"
7323 name "-" version ".tar.xz"))
7324 (sha256
7325 (base32
e04e8a8c 7326 "1s5krdmd3md44p1fgr2lqm5ifxb8s1vzx6hm11sb4cgzr4dw6lrz"))))
9ca381f0 7327 (build-system meson-build-system)
fdba447c
RS
7328 (native-inputs
7329 `(("intltool" ,intltool)))
e04e8a8c 7330 (home-page "https://gitlab.gnome.org/GNOME/gnome-backgrounds")
fdba447c
RS
7331 (synopsis "Background images for the GNOME desktop")
7332 (description
7333 "GNOME backgrounds package contains a collection of graphics files which
7334can be used as backgrounds in the GNOME Desktop environment. Additionally,
7335the package creates the proper framework and directory structure so that you
7336can add your own files to the collection.")
7337 (license (list license:gpl2+
7338 license:cc-by2.0
7339 license:cc-by-sa2.0
7340 license:cc-by-sa3.0))))
7341
b784b1a9
RS
7342(define-public gnome-screenshot
7343 (package
7344 (name "gnome-screenshot")
6acf4033 7345 (version "3.32.0")
b784b1a9
RS
7346 (source
7347 (origin
7348 (method url-fetch)
7349 (uri (string-append "mirror://gnome/sources/" name "/"
7350 (version-major+minor version) "/"
7351 name "-" version ".tar.xz"))
7352 (sha256
7353 (base32
6acf4033 7354 "09ha7dizjm5ymqpjyrqd10ijfb3xlqc1mwg9ajkrbfry11q9yq4b"))))
8356aefa 7355 (build-system meson-build-system)
b784b1a9
RS
7356 (native-inputs
7357 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
8356aefa
RW
7358 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
7359 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
b784b1a9 7360 ("intltool" ,intltool)
8356aefa 7361 ("appstream-glib" ,appstream-glib)
b784b1a9
RS
7362 ("pkg-config" ,pkg-config)))
7363 (inputs
7364 `(("gtk+" ,gtk+)
7365 ("libcanberra" ,libcanberra)
7366 ("libx11" ,libx11)
7367 ("libxext" ,libxext)))
676e7cb4 7368 (home-page "https://gitlab.gnome.org/GNOME/gnome-screenshot")
b784b1a9
RS
7369 (synopsis "Take pictures of your screen")
7370 (description
7371 "GNOME Screenshot is a utility used for taking screenshots of the entire
7372screen, a window or a user defined area of the screen, with optional
7373beautifying border effects.")
7374 (license license:gpl2+)))
7375
66d59111
RS
7376(define-public dconf-editor
7377 (package
7378 (name "dconf-editor")
66261451 7379 (version "3.32.0")
66d59111
RS
7380 (source
7381 (origin
7382 (method url-fetch)
7383 (uri (string-append "mirror://gnome/sources/" name "/"
7384 (version-major+minor version) "/"
7385 name "-" version ".tar.xz"))
7386 (sha256
7387 (base32
66261451 7388 "1fmsmlh16njjm948grz20mzrsvb4wjj7pl1fvkrkxqi7mhr177gi"))))
294ff39d 7389 (build-system meson-build-system)
86f2124b
LC
7390 (arguments
7391 '(#:phases (modify-phases %standard-phases
7392 (add-before 'configure 'set-glib-minimum-version
7393 (lambda _
7394 ;; Change the minimum required GLib version so that
7395 ;; 'valac' is passed '--target-glib 2.60.0'; failing to
7396 ;; do that, it complains that "55" is not an even
7397 ;; number. See <https://bugs.gnu.org/37503>.
7398 (substitute* "editor/meson.build"
7399 (("2\\.55\\.1") "2.60.0"))
7400 #t)))))
66d59111
RS
7401 (native-inputs
7402 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
294ff39d 7403 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
66d59111 7404 ("intltool" ,intltool)
294ff39d
RW
7405 ("pkg-config" ,pkg-config)
7406 ("vala" ,vala)))
66d59111
RS
7407 (inputs
7408 `(("dconf" ,dconf)
7409 ("gtk+" ,gtk+)
7410 ("libxml2" ,libxml2)))
7411 (home-page "https://git.gnome.org/browse/dconf-editor")
7412 (synopsis "Graphical editor for GNOME's dconf configuration system")
7413 (description
7414 "Dconf-editor is a graphical tool for browsing and editing the dconf
7415configuration system for GNOME. It allows users to configure desktop
7416software that do not provide their own configuration interface.")
7417 (license license:lgpl2.1+)))
7418
96d36f38
AW
7419(define-public gnome-default-applications
7420 (package
7421 (name "gnome-default-applications")
7422 (version "0")
7423 (build-system trivial-build-system)
7424 (source #f)
7425 (propagated-inputs
8ad4f0aa
LC
7426 `(("nautilus" ,nautilus)
7427 ("evince" ,evince)))
96d36f38
AW
7428 (arguments
7429 `(#:modules ((guix build utils))
7430 #:builder
7431 (begin
7432 (use-modules (guix build utils))
7433 (let* ((out (assoc-ref %outputs "out"))
7434 (apps (string-append out "/share/applications")))
7435 (mkdir-p apps)
7436 (call-with-output-file (string-append apps "/defaults.list")
7437 (lambda (port)
7438 (format port "[Default Applications]\n")
8ad4f0aa
LC
7439 (format port "inode/directory=org.gnome.Nautilus.desktop\n")
7440 (format port "application/pdf=evince.desktop\n")
7441 (format port "application/postscript=evince.desktop\n")))
96d36f38
AW
7442 #t))))
7443 (synopsis "Default MIME type associations for the GNOME desktop")
7444 (description
7445 "Given many installed packages which might handle a given MIME type, a
7446user running the GNOME desktop probably has some preferences: for example,
7447that folders be opened by default by the Nautilus file manager, not the Baobab
7448disk usage analyzer. This package establishes that set of default MIME type
7449associations for GNOME.")
7450 (license license:gpl3+)
7451 (home-page #f)))
7452
dc050251
SB
7453(define-public gnome
7454 (package
7455 (name "gnome")
7456 (version (package-version gnome-shell))
7457 (source #f)
7458 (build-system trivial-build-system)
e3cfef22 7459 (arguments '(#:builder (begin (mkdir %output) #t)))
dc050251 7460 (propagated-inputs
8d8c6bff 7461 ;; TODO: Add or remove packages according to:
a8cda7f5 7462 ;; <https://calc.disroot.org/2nu6mpf88ynq.html>.
7922b6f7 7463 `(
8d8c6bff 7464 ;; GNOME-Core-OS-Services
7922b6f7 7465 ("accountsservice" ,accountsservice)
8d8c6bff
RG
7466 ("network-manager" ,network-manager)
7467 ("packagekit" ,packagekit)
7468 ("upower" ,upower)
7469 ;; GNOME-Core-Shell
7470 ("adwaita-icon-theme" ,adwaita-icon-theme)
7471 ("gdm" ,gdm)
7472 ("glib-networking" ,glib-networking)
7473 ("gnome-backgrounds" ,gnome-backgrounds)
7474 ("gnome-bluetooth" ,gnome-bluetooth)
7475 ("gnome-control-center" ,gnome-control-center)
7476 ("gnome-desktop" ,gnome-desktop)
7922b6f7 7477 ("gnome-getting-started-docs" ,gnome-getting-started-docs)
8d8c6bff 7478 ("gnome-keyring" ,gnome-keyring)
7922b6f7 7479 ("gnome-menus" ,gnome-menus)
8d8c6bff
RG
7480 ("gnome-session" ,gnome-session)
7481 ("gnome-settings-daemon" ,gnome-settings-daemon)
7482 ("gnome-shell-extensions" ,gnome-shell-extensions)
7483 ("gnome-shell" ,gnome-shell)
7484 ("gnome-themes-extra" ,gnome-themes-extra)
7922b6f7 7485 ("gnome-user-docs" ,gnome-user-docs)
a8cda7f5 7486 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8d8c6bff
RG
7487 ("gvfs" ,gvfs)
7488 ("mutter" ,mutter)
7489 ("orca" ,orca)
7490 ;; GNOME-Core-Utilities
7491 ("baobab" ,baobab)
7492 ("cheese" ,cheese)
7493 ("eog" ,eog)
7494 ("epiphany" ,epiphany)
7495 ("evince" ,evince)
7496 ("file-roller" ,file-roller)
7497 ("gedit" ,gedit)
7498 ("gnome-calculator" ,gnome-calculator)
7499 ("gnome-calendar" ,gnome-calendar)
7500 ("gnome-characters" ,gnome-characters)
7501 ("gnome-clocks" ,gnome-clocks)
7502 ("gnome-contacts" ,gnome-contacts)
7503 ("gnome-disk-utility" ,gnome-disk-utility)
7504 ("gnome-font-viewer" ,gnome-font-viewer)
7505 ("gnome-maps" ,gnome-maps)
7506 ("gnome-screenshot" ,gnome-screenshot)
7507 ("gnome-system-monitor" ,gnome-system-monitor)
7508 ("gnome-terminal" ,gnome-terminal)
7509 ("nautilus" ,nautilus)
7510 ("simple-scan" ,simple-scan)
7511 ("totem" ,totem)
7922b6f7
RG
7512 ("yelp" ,yelp)
7513 ;; Others
7514 ("hicolor-icon-theme" ,hicolor-icon-theme)
7515 ("gnome-online-accounts" ,gnome-online-accounts)))
fe4e698d 7516 (synopsis "The GNU desktop environment")
dc050251
SB
7517 (home-page "https://www.gnome.org/")
7518 (description
fe4e698d
LC
7519 "GNOME is the graphical desktop for GNU. It includes a wide variety of
7520applications for browsing the web, editing text and images, creating
7521documents and diagrams, playing media, scanning, and much more.")
dc050251 7522 (license license:gpl2+)))
4a526711
DT
7523
7524(define-public byzanz
7525 ;; The last stable release of Byzanz was in 2011, but there have been many
7526 ;; useful commits made to the Byzanz repository since then that it would be
7527 ;; silly to use such an old release.
7528 (let ((commit "f7af3a5bd252db84af8365bd059c117a7aa5c4af"))
7529 (package
7530 (name "byzanz")
7531 (version (string-append "0.2-1." (string-take commit 7)))
7532 (source (origin
7533 (method git-fetch)
7534 (uri (git-reference
5f13bf09 7535 (url "https://git.gnome.org/browse/byzanz")
4a526711 7536 (commit commit)))
5a6527e4 7537 (file-name (string-append name "-" version "-checkout"))
4a526711
DT
7538 (sha256
7539 (base32
7540 "1l60myzxf9cav27v5v3nsijlslz9r7ip6d5kiirfpkf9k0w26hz3"))))
7541 (build-system glib-or-gtk-build-system)
7542 (arguments
7543 '(#:phases
7544 (modify-phases %standard-phases
189be331 7545 (replace 'bootstrap
4a526711
DT
7546 (lambda _
7547 ;; The build system cleverly detects that we're not building from
7548 ;; a release tarball and turns on -Werror for GCC.
7549 ;; Unsurprisingly, there is a warning during compilation that
7550 ;; causes the build to fail unnecessarily, so we remove the flag.
7551 (substitute* '("configure.ac")
7552 (("-Werror") ""))
7553 ;; The autogen.sh script in gnome-common will run ./configure
7554 ;; by default, which is problematic because source shebangs
7555 ;; have not yet been patched.
7556 (setenv "NOCONFIGURE" "t")
7557 (zero? (system* "sh" "autogen.sh")))))))
7558 (native-inputs
7559 `(("autoconf" ,autoconf)
7560 ("automake" ,automake)
7561 ("gnome-common" ,gnome-common)
7562 ("intltool" ,intltool)
7563 ("libtool" ,libtool)
7564 ("pkg-config" ,pkg-config)
7565 ("which" ,which)))
7566 (inputs
7567 `(("glib" ,glib)
7568 ("gstreamer" ,gstreamer)
7569 ("gst-plugins-base" ,gst-plugins-base)
7570 ("gtk+" ,gtk+)))
7571 (synopsis "Desktop recording program")
7572 (description "Byzanz is a simple desktop recording program with a
7573command-line interface. It can record part or all of an X display for a
7574specified duration and save it as a GIF encoded animated image file.")
7575 (home-page "https://git.gnome.org/browse/byzanz")
7576 (license license:gpl2+))))
3a9a4c51 7577
0ec171ec
MS
7578(define-public gsound
7579 (package
7580 (name "gsound")
7581 (version "1.0.2")
7582 (source (origin
7583 (method url-fetch)
7584 (uri (string-append "mirror://gnome/sources/" name "/"
7585 (version-major+minor version) "/"
7586 name "-" version ".tar.xz"))
7587 (sha256
7588 (base32
7589 "0lwfwx2c99qrp08pfaj59pks5dphsnxjgrxyadz065d8xqqgza5v"))))
7590 (build-system glib-or-gtk-build-system)
7591 (native-inputs
7592 `(("pkg-config" ,pkg-config)
7593 ("gobject-introspection" ,gobject-introspection)
7594 ("vala" ,vala)))
7595 (inputs
7596 `(("glib" ,glib)
7597 ("libcanberra" ,libcanberra)))
7598 (home-page "https://wiki.gnome.org/Projects/GSound")
7599 (synopsis "GObject wrapper for libcanberra")
7600 (description
7601 "GSound is a small library for playing system sounds. It's designed to be
7602used via GObject Introspection, and is a thin wrapper around the libcanberra C
7603library.")
7604 (license license:lgpl2.1+)))
7605
3a9a4c51
RS
7606(define-public libzapojit
7607 (package
7608 (name "libzapojit")
7609 (version "0.0.3")
7610 (source (origin
7611 (method url-fetch)
7612 (uri (string-append "mirror://gnome/sources/" name "/"
7613 (version-major+minor version) "/"
7614 name "-" version ".tar.xz"))
7615 (sha256
7616 (base32
7617 "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
7618 (build-system gnu-build-system)
7619 (native-inputs
7620 `(("gobject-introspection" ,gobject-introspection)
7621 ("intltool" ,intltool)
7622 ("pkg-config" ,pkg-config)))
7623 (inputs
14c297fd 7624 `(("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
3a9a4c51
RS
7625 ("json-glib" ,json-glib)
7626 ("rest" ,rest)))
7627 (home-page "https://wiki.gnome.org/Projects/Zapojit")
7628 (synopsis "Library for accessing SkyDrive and Hotmail")
7629 (description
7630 "Libzapojit is a GLib-based library for accessing online service APIs of
7631Microsoft SkyDrive and Hotmail, using their REST protocols.")
7632 (license license:lgpl2.1+)))
9365ee1c 7633
60e2a9ae
MS
7634(define-public gnome-clocks
7635 (package
7636 (name "gnome-clocks")
c76d0dbc 7637 (version "3.32.0")
60e2a9ae
MS
7638 (source (origin
7639 (method url-fetch)
7640 (uri (string-append "mirror://gnome/sources/" name "/"
7641 (version-major+minor version) "/"
7642 name "-" version ".tar.xz"))
7643 (sha256
7644 (base32
c76d0dbc 7645 "1w6lgjdak3x76c9gyhd1lqrdmjfh8q77sjnrkcimylsg0jq913bc"))))
60e2a9ae
MS
7646 (build-system meson-build-system)
7647 (arguments
7648 '(#:glib-or-gtk? #t))
7649 (native-inputs
7650 `(("vala" ,vala)
7651 ("pkg-config" ,pkg-config)
7652 ("glib" ,glib "bin") ; for glib-compile-resources
7653 ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
7654 ("desktop-file-utils" ,desktop-file-utils)
7655 ("gettext" ,gettext-minimal)
7656 ("itstool" ,itstool)))
7657 (inputs
7658 `(("glib" ,glib)
7659 ("gtk+" ,gtk+)
7660 ("gsound" ,gsound)
7661 ("geoclue" ,geoclue)
7662 ("geocode-glib" ,geocode-glib)
7663 ("libgweather" ,libgweather)
7664 ("gnome-desktop" ,gnome-desktop)))
7665 (home-page "https://wiki.gnome.org/Apps/Clocks")
7666 (synopsis "GNOME's clock application")
7667 (description
7668 "GNOME Clocks is a simple clocks application designed to fit the GNOME
7669desktop. It supports world clock, stop watch, alarms, and count down timer.")
7670 (license license:gpl3+)))
7671
3c474897
KY
7672(define-public gnome-calendar
7673 (package
7674 (name "gnome-calendar")
339b59bf 7675 (version "3.32.2")
3c474897
KY
7676 (source (origin
7677 (method url-fetch)
7678 (uri (string-append "mirror://gnome/sources/" name "/"
7679 (version-major+minor version) "/"
7680 name "-" version ".tar.xz"))
7681 (sha256
7682 (base32
339b59bf 7683 "07p73cvzj8idr80npja5yiv9pjfyi6qqfhaz5jwcgqspqbnhnl7k"))))
a49d3e37
MS
7684 (build-system meson-build-system)
7685 (arguments
7686 '(#:glib-or-gtk? #t
7687 ;; gnome-calendar has to be installed before the tests can be run
7688 ;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
7689 #:tests? #f))
3c474897 7690 (native-inputs
a49d3e37
MS
7691 `(("gettext" ,gettext-minimal)
7692 ("glib-bin" ,glib "bin") ; For glib-compile-schemas
7693 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
3c474897
KY
7694 ("pkg-config" ,pkg-config)))
7695 (inputs
a49d3e37 7696 `(("evolution-data-server" ,evolution-data-server)
14c297fd 7697 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
a286b5eb
RW
7698 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7699 ("libdazzle" ,libdazzle)
b63c06f1 7700 ("libedataserverui" ,evolution-data-server)
a286b5eb
RW
7701 ("libgweather" ,libgweather)
7702 ("geoclue" ,geoclue)))
3c474897
KY
7703 (home-page "https://wiki.gnome.org/Apps/Calendar")
7704 (synopsis "GNOME's calendar application")
7705 (description
7706 "GNOME Calendar is a simple calendar application designed to fit the GNOME
a49d3e37 7707desktop. It supports multiple calendars, month, week and year view.")
3c474897
KY
7708 (license license:gpl3+)))
7709
57b14665
MS
7710(define-public gnome-todo
7711 (package
7712 (name "gnome-todo")
9f3c6c88 7713 (version "3.28.1")
57b14665
MS
7714 (source (origin
7715 (method url-fetch)
7716 (uri (string-append "mirror://gnome/sources/" name "/"
7717 (version-major+minor version) "/"
7718 name "-" version ".tar.xz"))
7719 (sha256
7720 (base32
9f3c6c88 7721 "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"))))
57b14665
MS
7722 (build-system meson-build-system)
7723 (arguments
7724 '(#:glib-or-gtk? #t
7725 #:phases (modify-phases %standard-phases
7726 (add-after
7727 'install 'wrap-gnome-todo
7728 (lambda* (#:key inputs outputs #:allow-other-keys)
7729 (let ((out (assoc-ref outputs "out"))
7730 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
7731 (python-path (getenv "PYTHONPATH")))
7732 (wrap-program (string-append out "/bin/gnome-todo")
7733 ;; XXX: gi plugins are broken.
7734 ;; See https://bugzilla.gnome.org/show_bug.cgi?id=787212
7735 ;; For plugins.
7736 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
7737 `("PYTHONPATH" ":" prefix (,python-path))))
7738 #t)))))
7739 (native-inputs
7740 `(("gettext" ,gettext-minimal)
7741 ("gobject-introspection" ,gobject-introspection)
7742 ("glib:bin" ,glib "bin") ; For glib-compile-resources
7743 ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
7744 ("pkg-config" ,pkg-config)))
7745 (inputs
7746 `(("rest" ,rest) ; For Todoist plugin
7747 ("json-glib" ,json-glib) ; For Todoist plugin
b63c06f1 7748 ("libedataserverui" ,evolution-data-server)
57b14665
MS
7749 ("libical" ,libical)
7750 ("libpeas" ,libpeas)
7751 ("python-pygobject" ,python-pygobject)
7752 ("evolution-data-server" ,evolution-data-server)
14c297fd 7753 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
57b14665
MS
7754 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
7755 (home-page "https://wiki.gnome.org/Apps/Todo")
7756 (synopsis "GNOME's ToDo Application")
7757 (description
7758 "GNOME To Do is a simplistic personal task manager designed to perfectly
7759fit the GNOME desktop.")
7760 (license license:gpl3+)))
7761
ab179eaf
SB
7762(define-public gnome-dictionary
7763 (package
7764 (name "gnome-dictionary")
cf81ddef 7765 (version "3.26.1")
ab179eaf
SB
7766 (source (origin
7767 (method url-fetch)
7768 (uri (string-append "mirror://gnome/sources/" name "/"
7769 (version-major+minor version) "/"
7770 name "-" version ".tar.xz"))
7771 (sha256
7772 (base32
cf81ddef
LC
7773 "007k2bq8iplg4psdpz074r5d4zxvn4s95qym4rw9hs6giljbrf0n"))))
7774 (build-system meson-build-system)
2776b5d5
MB
7775 (arguments '(#:glib-or-gtk? #t
7776 #:phases (modify-phases %standard-phases
7777 (add-after 'unpack 'patch-install-script
7778 (lambda _
7779 ;; This script attempts to compile glib schemas
7780 ;; and create an empty MIME database. We do
7781 ;; that elsewhere, so prevent it from running.
7782 (substitute* "build-aux/post-install.sh"
7783 (("\\[ -z \"\\$DESTDIR\" \\]") "false"))
7784 #t)))))
ab179eaf
SB
7785 (native-inputs
7786 `(("glib:bin" ,glib "bin")
7787 ("gobject-introspection" ,gobject-introspection)
7788 ("intltool" ,intltool)
7789 ("itstool" ,itstool)
7790 ("pkg-config" ,pkg-config)
7791 ("xmllint" ,libxml2)))
7792 (inputs
7793 `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7794 ("gtk+" ,gtk+)))
7795 (home-page "https://wiki.gnome.org/Apps/Dictionary")
7796 (synopsis "Look up words in dictionary sources")
7797 (description
7798 "GNOME Dictionary can look for the definition or translation of a word in
7799existing databases over the internet.")
7800 (license license:gpl3+)))
7801
d13f3a03 7802(define-public gnome-tweaks
9365ee1c 7803 (package
d13f3a03 7804 (name "gnome-tweaks")
652af676 7805 (version "3.32.0")
9365ee1c
JN
7806 (source (origin
7807 (method url-fetch)
d13f3a03 7808 (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
9365ee1c 7809 (version-major+minor version) "/"
d13f3a03
RW
7810 "gnome-tweaks-" version ".tar.xz"))
7811 (patches
7812 (list (search-patch "gnome-tweaks-search-paths.patch")))
9365ee1c
JN
7813 (sha256
7814 (base32
652af676 7815 "037r35cw34ifcs676fq9n2v4mh1nkqx0qk474bznf18mr6r62h55"))))
d13f3a03 7816 (build-system meson-build-system)
9365ee1c 7817 (arguments
d13f3a03
RW
7818 `(#:glib-or-gtk? #t
7819 #:configure-flags '("-Dlocalstatedir=/tmp"
7820 "-Dsysconfdir=/tmp")
9365ee1c 7821 #:imported-modules ((guix build python-build-system)
d13f3a03
RW
7822 ,@%meson-build-system-modules)
7823 #:phases
7824 (modify-phases %standard-phases
7825 (add-after 'install 'wrap
7826 (@@ (guix build python-build-system) wrap))
7827 (add-after 'wrap 'wrap-gi-typelib
7828 (lambda* (#:key inputs outputs #:allow-other-keys)
7829 (let ((out (assoc-ref outputs "out"))
7830 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
7831 (wrap-program (string-append out "/bin/gnome-tweaks")
7832 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
7833 #t)))))
9365ee1c 7834 (native-inputs
c7fc414e
RH
7835 `(("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
7836 ("intltool" ,intltool)
9365ee1c
JN
7837 ("pkg-config" ,pkg-config)))
7838 (inputs
c7fc414e
RH
7839 `(("gnome-desktop" ,gnome-desktop)
7840 ("gtk+" ,gtk+)
9365ee1c
JN
7841 ("gobject-introspection" ,gobject-introspection)
7842 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
c7fc414e
RH
7843 ("libnotify" ,libnotify)
7844 ("libsoup" ,libsoup)
7845 ("nautilus" ,nautilus)
7846 ("python" ,python)
7847 ("python-pygobject" ,python-pygobject)))
9365ee1c 7848 (synopsis "Customize advanced GNOME 3 options")
d13f3a03 7849 (home-page "https://wiki.gnome.org/Apps/Tweaks")
9365ee1c 7850 (description
d13f3a03 7851 "GNOME Tweaks allows adjusting advanced configuration settings in
9365ee1c
JN
7852GNOME 3. This includes things like the fonts used in user interface elements,
7853alternative user interface themes, changes in window management behavior,
7854GNOME Shell appearance and extension, etc.")
7855 (license license:gpl3+)))
813f814a 7856
d13f3a03
RW
7857;; This package has been renamed by upstream.
7858(define-public gnome-tweak-tool
7859 (deprecated-package "gnome-tweak-tool" gnome-tweaks))
7860
32ac717c
DT
7861(define-public gnome-shell-extensions
7862 (package
7863 (name "gnome-shell-extensions")
ae4c05e0 7864 (version "3.32.1")
32ac717c
DT
7865 (source (origin
7866 (method url-fetch)
7867 (uri (string-append "mirror://gnome/sources/" name "/"
7868 (version-major+minor version) "/"
7869 name "-" version ".tar.xz"))
7870 (sha256
7871 (base32
ae4c05e0 7872 "07libf6z24n42hpdsq163w0j8xyrav0lxqrwxrvq5kbz8zxv5ch2"))))
100f625b 7873 (build-system meson-build-system)
32ac717c 7874 (arguments
100f625b 7875 '(#:configure-flags '("-Dextension_set=all")))
32ac717c 7876 (native-inputs
c9ea8873
LP
7877 `(("glib:bin" ,glib "bin")
7878 ("intltool" ,intltool)
32ac717c
DT
7879 ("pkg-config" ,pkg-config)))
7880 (propagated-inputs
c9ea8873 7881 `(("glib" ,glib)))
32ac717c
DT
7882 (synopsis "Extensions for GNOME Shell")
7883 (description "GNOME Shell extensions modify and extend GNOME Shell
7884functionality and behavior.")
7885 (home-page "https://extensions.gnome.org/")
7886 (license license:gpl3+)))
7887
813f814a
DT
7888(define-public arc-theme
7889 (package
7890 (name "arc-theme")
37781323 7891 (version "20190917")
813f814a 7892 (source (origin
a18f8eaf
BH
7893 (method git-fetch)
7894 (uri (git-reference
7895 (url "https://github.com/NicoHood/arc-theme.git")
7896 (commit version)))
7897 (file-name (git-file-name name version))
813f814a
DT
7898 (sha256
7899 (base32
37781323 7900 "1qgpk4p2hi5hd4yy0hj93kq1vs0b32wb8qkaj1wi90c8gwddq5wa"))))
813f814a 7901 (build-system gnu-build-system)
d88884fa
EF
7902 (arguments
7903 '(#:phases
7904 (modify-phases %standard-phases
7905 ;; autogen.sh calls configure at the end of the script.
7906 (replace 'bootstrap
7907 (lambda _ (invoke "autoreconf" "-vfi"))))))
813f814a
DT
7908 (native-inputs
7909 `(("autoconf" ,autoconf)
7910 ("automake" ,automake)
a18f8eaf
BH
7911 ("glib" ,glib "bin") ; for glib-compile-resources
7912 ("gnome-shell" ,gnome-shell)
7913 ("gtk+" ,gtk+)
7914 ("inkscape" ,inkscape)
7915 ("optipng" ,optipng)
7916 ("pkg-config" ,pkg-config)
7917 ("sassc" ,sassc)))
813f814a
DT
7918 (synopsis "A flat GTK+ theme with transparent elements")
7919 (description "Arc is a flat theme with transparent elements for GTK 3, GTK
79202, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
7921like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
7922 (home-page "https://github.com/horst3180/arc-theme")
7923 ;; No "or later" language found.
a18f8eaf 7924 (license license:gpl3+)))
9987c57c 7925
d935e6a1 7926(define-public faba-icon-theme
9987c57c 7927 (package
d935e6a1 7928 (name "faba-icon-theme")
2eee7ee3 7929 (version "4.3")
d935e6a1
BT
7930 (source
7931 (origin
757e4027
TGR
7932 (method git-fetch)
7933 (uri (git-reference
7934 (url "https://github.com/snwh/faba-icon-theme.git")
7935 (commit (string-append "v" version))))
7936 (file-name (git-file-name name version))
d935e6a1 7937 (sha256
757e4027 7938 (base32 "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n"))))
f6a9b345 7939 (build-system meson-build-system)
9987c57c 7940 (arguments
82da291a 7941 `(#:phases
9987c57c 7942 (modify-phases %standard-phases
82da291a 7943 (add-before 'configure 'disable-post-install
9987c57c 7944 (lambda _
82da291a
JL
7945 (substitute* "meson.build"
7946 (("meson.add_install_script.*") "")))))))
9987c57c
DT
7947 (native-inputs
7948 `(("autoconf" ,autoconf)
7949 ("automake" ,automake)))
d935e6a1
BT
7950 (synopsis "Faba icon theme")
7951 (description
7952 "Faba is a minimal icon set used as a basis for other themes such as
7953Moka")
7954 (home-page "https://snwh.org/moka")
7955 (license (list license:lgpl3+
7956 license:cc-by-sa4.0))))
7957
9987c57c
DT
7958(define-public moka-icon-theme
7959 (package
8b0e4177 7960 (inherit faba-icon-theme)
9987c57c 7961 (name "moka-icon-theme")
105a3625 7962 (version "5.4.0")
8c3f2170
TGR
7963 (source
7964 (origin
7965 (method git-fetch)
7966 (uri (git-reference
7967 (url "https://github.com/snwh/moka-icon-theme.git")
7968 (commit (string-append "v" version))))
7969 (file-name (git-file-name name version))
7970 (sha256
7971 (base32 "015l02im4mha5z91dbchxf6xkp66d346bg3xskwg0rh3lglhjsrd"))))
550281fb
BT
7972 (propagated-inputs
7973 ;; Moka is based on Faba by using it as a fallback icon set instead of
7974 ;; bundling it, so we need to add it as a propagated input.
7975 `(("faba-icon-theme" ,faba-icon-theme)))
9987c57c
DT
7976 (synopsis "Moka icon theme")
7977 (description "Moka is a stylized desktop icon set, designed to be clear,
7978simple and consistent.")
fedde43b
BT
7979 (license (list license:gpl3+
7980 license:cc-by-sa4.0))))
6fd8f8d6
DT
7981
7982(define-public arc-icon-theme
7983 (package
7984 (name "arc-icon-theme")
c4180240 7985 (version "20161122")
bbf66cbf
TGR
7986 (source
7987 (origin
7988 (method git-fetch)
7989 (uri (git-reference
7990 (url "https://github.com/horst3180/arc-icon-theme.git")
7991 (commit version)))
7992 (file-name (git-file-name name version))
7993 (sha256
7994 (base32 "1ch3hp08qri93510hypzz6m2x4xgg2h15wvnhjwh1x1s1b7jvxjd"))))
6fd8f8d6 7995 (build-system gnu-build-system)
9e1ede95
JL
7996 (arguments
7997 `(#:phases
7998 (modify-phases %standard-phases
7999 (add-after 'unpack 'disable-configure-during-bootstrap
8000 (lambda _
8001 (substitute* "autogen.sh"
8002 (("^\"\\$srcdir/configure\".*") ""))
8003 #t)))))
6fd8f8d6
DT
8004 (native-inputs
8005 `(("autoconf" ,autoconf)
8006 ("automake" ,automake)))
8007 ;; When Arc is missing an icon, it looks in the Moka icon theme for it.
8008 (propagated-inputs
8009 `(("moka-icon-theme" ,moka-icon-theme)))
8010 (synopsis "Arc icon theme")
8011 (description "The Arc icon theme provides a set of icons matching the
8012style of the Arc GTK theme. Icons missing from the Arc theme are provided by
8013the Moka icon theme.")
8014 (home-page "https://github.com/horst3180/arc-icon-theme")
8015 (license license:gpl3+)))
6064a4e8
LF
8016
8017(define-public folks
8018 (package
8019 (name "folks")
d23495fa 8020 (version "0.11.4")
6064a4e8
LF
8021 (source (origin
8022 (method url-fetch)
8023 (uri (string-append
e5f4796e 8024 "mirror://gnome/sources/folks/"
6064a4e8 8025 (version-major+minor version) "/"
e5f4796e 8026 "folks-" version ".tar.xz"))
6064a4e8
LF
8027 (sha256
8028 (base32
d23495fa 8029 "16hqh2gxlbx0b0hgq216hndr1m72vj54jvryzii9zqkk0g9kxc57"))))
6064a4e8
LF
8030 (build-system glib-or-gtk-build-system)
8031 (inputs
8032 `(("bdb" ,bdb)
8033 ("dbus-glib" ,dbus-glib)
8034 ("evolution-data-server" ,evolution-data-server)
8035 ("glib" ,glib)
8036 ("libgee" ,libgee)
8037 ("telepathy-glib" ,telepathy-glib)))
8038 (native-inputs
8039 `(("gobject-introspection" ,gobject-introspection)
8040 ("intltool" ,intltool)
8041 ("pkg-config" ,pkg-config)
8042 ("vala" ,vala)))
8043 (synopsis "Library to aggregate data about people")
8044 (description "Libfolks is a library that aggregates information about people
8045from multiple sources (e.g., Telepathy connection managers for IM contacts,
8046Evolution Data Server for local contacts, libsocialweb for web service contacts,
8047etc.) to create metacontacts. It's written in Vala, which generates C code when
8048compiled.")
8049 (home-page "https://wiki.gnome.org/Projects/Folks")
8050 (license license:lgpl2.1+)))
01ea778f
LF
8051
8052(define-public gfbgraph
8053 (package
8054 (name "gfbgraph")
8055 (version "0.2.3")
8056 (source (origin
8057 (method url-fetch)
8058 (uri (string-append
237d4cf7 8059 "mirror://gnome/sources/gfbgraph/"
01ea778f 8060 (version-major+minor version) "/"
237d4cf7 8061 "gfbgraph-" version ".tar.xz"))
01ea778f
LF
8062 (sha256
8063 (base32
8064 "1dp0v8ia35fxs9yhnqpxj3ir5lh018jlbiwifjfn8ayy7h47j4fs"))))
8065 (build-system glib-or-gtk-build-system)
8066 (arguments
8067 `(#:tests? #f ; Tests appear to require the network.
8068 ;; FIXME --enable-gtk-doc fails even with gtk-doc as a native-input.
8069 #:configure-flags '("--disable-gtk-doc"
8070 "--disable-static"
8071 "--enable-introspection")))
8072 (native-inputs
8073 `(("pkg-config" ,pkg-config)
8074 ("gobject-introspection" ,gobject-introspection)))
8075 (inputs
8076 `(("json-glib" ,json-glib)
14c297fd 8077 ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
01ea778f
LF
8078 ("rest" ,rest)))
8079 (synopsis "GLib/GObject wrapper for the Facebook API")
8080 (description "This library allows you to use the Facebook API from
8081GLib/GObject code.")
8082 (home-page "https://wiki.gnome.org/Projects/GFBGraph")
8083 (license license:lgpl2.1+)))
3920868c 8084
8085(define-public libgnomekbd
8086 (package
8087 (name "libgnomekbd")
70f2b0f9 8088 (version "3.26.1")
3920868c 8089 (source (origin
8090 (method url-fetch)
d47fa82d 8091 (uri (string-append "mirror://gnome/sources/libgnomekbd/"
3920868c 8092 (version-major+minor version) "/"
d47fa82d 8093 "libgnomekbd-" version ".tar.xz"))
3920868c 8094 (sha256
8095 (base32
70f2b0f9 8096 "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp"))))
3920868c 8097 (build-system gnu-build-system)
8098 (native-inputs
8099 `(("pkg-config" ,pkg-config)
8100 ("glib" ,glib "bin")
8101 ("intltool" ,intltool)))
8102 (propagated-inputs
8103 ;; Referred to in .h files and .pc.
8104 `(("glib" ,glib)
8105 ("gtk+" ,gtk+)
8106 ("libxklavier" ,libxklavier)))
8107 (home-page "https://www.gnome.org")
8108 (synopsis "GNOME keyboard configuration library")
8109 (description
8110 "Libgnomekbd is a keyboard configuration library for the GNOME desktop
8111environment, which can notably display keyboard layouts.")
8112 (license license:lgpl2.0+)))
85327d0d 8113
8114;;; This package is no longer maintained:
8115;;; https://wiki.gnome.org/Attic/LibUnique
8116;;; "Unique is now in maintenance mode, and its usage is strongly discouraged.
8117;;; Applications should use the GtkApplication class provided by GTK+ 3.0."
8118(define-public libunique
8119 (package
8120 (name "libunique")
8121 (version "3.0.2")
8122 (source (origin
8123 (method url-fetch)
8124 (uri (string-append "mirror://gnome/sources/" name "/"
8125 (version-major+minor version) "/"
8126 name "-" version ".tar.xz"))
8127 (sha256
8128 (base32
8129 "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58"))))
8130 (build-system glib-or-gtk-build-system)
8131 (arguments
8132 `(#:configure-flags '("--disable-static"
8133 "--disable-dbus" ; use gdbus
8134 "--enable-introspection")))
8135 (native-inputs
8136 `(("pkg-config" ,pkg-config)
8137 ("gobject-introspection" ,gobject-introspection)
8138 ("glib:bin" ,glib "bin")
8139 ("gtk-doc" ,gtk-doc)))
8140 (propagated-inputs
8141 ;; Referred to in .h files and .pc.
8142 `(("gtk+" ,gtk+)))
8143 (home-page "https://wiki.gnome.org/Attic/LibUnique")
8144 (synopsis "Library for writing single instance applications")
8145 (description
8146 "Libunique is a library for writing single instance applications. If you
8147launch a single instance application twice, the second instance will either just
8148quit or will send a message to the running instance. Libunique makes it easy to
8149write this kind of application, by providing a base class, taking care of all
8150the IPC machinery needed to send messages to a running instance, and also
8151handling the startup notification side.")
8152 (license license:lgpl2.1+)))
54021cd8
RS
8153
8154(define-public gnome-calculator
8155 (package
8156 (name "gnome-calculator")
07ace641 8157 (version "3.32.2")
54021cd8
RS
8158 (source
8159 (origin
8160 (method url-fetch)
8161 (uri (string-append "mirror://gnome/sources/" name "/"
8162 (version-major+minor version) "/"
8163 name "-" version ".tar.xz"))
8164 (sha256
8165 (base32
07ace641 8166 "0fgpn3sc226s9fpzhik5rkkrf669037gc659ga2kn9jsyckj6p41"))))
2d475910
RW
8167 (build-system meson-build-system)
8168 (arguments '(#:glib-or-gtk? #t))
54021cd8
RS
8169 (native-inputs
8170 `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
2d475910 8171 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
54021cd8
RS
8172 ("intltool" ,intltool)
8173 ("itstool" ,itstool)
2d475910 8174 ("vala" ,vala)
54021cd8
RS
8175 ("pkg-config" ,pkg-config)))
8176 (inputs
112e9083 8177 `(("glib" ,glib)
07ace641 8178 ("gtksourceview" ,gtksourceview)
54021cd8 8179 ("libsoup" ,libsoup)
112e9083 8180 ("libxml2" ,libxml2)
2c2da7ec 8181 ("mpc" ,mpc)
54021cd8
RS
8182 ("mpfr" ,mpfr)))
8183 (home-page "https://wiki.gnome.org/Apps/Calculator")
8184 (synopsis "Desktop calculator")
8185 (description
8186 "Calculator is an application that solves mathematical equations and
8187is suitable as a default application in a Desktop environment.")
8188 (license license:gpl3)))
0bd69759
RS
8189
8190(define-public xpad
8191 (package
8192 (name "xpad")
c85626bb 8193 (version "5.1.0")
0bd69759
RS
8194 (source
8195 (origin
8196 (method url-fetch)
08fda9c6
R
8197 (uri (string-append "https://launchpad.net/xpad/trunk/"
8198 version "/+download/"
0bd69759
RS
8199 name "-" version ".tar.bz2"))
8200 (sha256
8201 (base32
c85626bb 8202 "0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
0bd69759
RS
8203 (build-system gnu-build-system)
8204 (native-inputs
08fda9c6
R
8205 `(("autoconf" ,autoconf)
8206 ("automake" ,automake)
8207 ("gtk+:bin" ,gtk+ "bin")
8208 ("intltool" ,intltool)
0bd69759
RS
8209 ("pkg-config" ,pkg-config)))
8210 (inputs
c72647fb 8211 `(("gtksourceview" ,gtksourceview-3)
0bd69759
RS
8212 ("libsm" ,libsm)))
8213 (home-page "https://wiki.gnome.org/Apps/Xpad")
8214 (synopsis "Virtual sticky note")
8215 (description
8216 "Xpad is a sticky note that strives to be simple, fault tolerant,
8217and customizable. Xpad consists of independent pad windows, each is
8218basically a text box in which notes can be written.")
8219 (license license:gpl3+)))
3ad7dce1
RS
8220
8221(define-public gucharmap
c60063ea
RW
8222 (let ((unicode-files
8223 '(("Blocks.txt"
1f8b5515 8224 "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1")
c60063ea 8225 ("DerivedAge.txt"
1f8b5515 8226 "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6")
c60063ea 8227 ("NamesList.txt"
1f8b5515 8228 "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61")
c60063ea 8229 ("Scripts.txt"
1f8b5515 8230 "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx")
c60063ea 8231 ("UnicodeData.txt"
1f8b5515 8232 "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap")
c60063ea 8233 ("Unihan.zip"
1f8b5515 8234 "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf"))))
c60063ea
RW
8235 (package
8236 (name "gucharmap")
1f8b5515 8237 (version "12.0.1")
c60063ea
RW
8238 (source
8239 (origin
8240 (method url-fetch)
8241 (uri (string-append "mirror://gnome/sources/" name "/"
8242 (version-major+minor version) "/"
8243 name "-" version ".tar.xz"))
8244 (sha256
8245 (base32
1f8b5515 8246 "0m915hm2b2d6r3vs1l80rqpssvg78pv8j6nv54yg62kzknnqmpir"))))
c60063ea
RW
8247 (build-system glib-or-gtk-build-system)
8248 (arguments
8249 `(#:modules ((ice-9 match)
8250 (guix build glib-or-gtk-build-system)
8251 (guix build utils))
8252 #:configure-flags
8253 (list "--with-unicode-data=../unicode-data")
8254 #:phases
8255 (modify-phases %standard-phases
8256 (add-after 'unpack 'prepare-unicode-data
8257 (lambda* (#:key inputs #:allow-other-keys)
8258 (mkdir-p "../unicode-data")
8259 (with-directory-excursion "../unicode-data"
8260 (for-each (match-lambda
8261 ((file _)
8262 (install-file (assoc-ref inputs file) ".")))
8263 ',unicode-files))
8264 #t)))))
8265 (native-inputs
8266 `(("desktop-file-utils" ,desktop-file-utils)
8267 ("glib:bin" ,glib "bin") ; for glib-compile-resources.
8268 ("gobject-introspection" ,gobject-introspection)
8269 ("intltool" ,intltool)
8270 ("itstool" ,itstool)
8271 ("pkg-config" ,pkg-config)
8272 ,@(map (match-lambda
8273 ((file hash)
8274 `(,file
8275 ,(origin
8276 (method url-fetch)
8277 (uri (string-append
1f8b5515 8278 "http://www.unicode.org/Public/12.0.0/ucd/"
c60063ea
RW
8279 file))
8280 (sha256 (base32 hash))))))
8281 unicode-files)
8282 ("unzip" ,unzip)))
8283 (inputs
8284 `(("gtk+" ,gtk+)
8285 ("xmllint" ,libxml2)))
8286 (home-page "https://wiki.gnome.org/Apps/Gucharmap")
8287 (synopsis "Unicode character picker and font browser")
8288 (description
8289 "This program allows you to browse through all the available Unicode
3ad7dce1
RS
8290characters and categories for the installed fonts, and to examine their
8291detailed properties. It is an easy way to find the character you might
8292only know by its Unicode name or code point.")
c60063ea 8293 (license license:gpl3+))))
04ce840a
RS
8294
8295(define-public bluefish
8296 (package
8297 (name "bluefish")
ea8afaf3 8298 (version "2.2.10")
04ce840a
RS
8299 (source
8300 (origin
8301 (method url-fetch)
8302 (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
8303 name "-" version ".tar.gz"))
8304 (sha256
8305 (base32
ea8afaf3 8306 "1jw4has7lbp77lqmzvnnjmqcf0lacjfnka873lkkwdyrpzc4c1q4"))))
04ce840a
RS
8307 (build-system gnu-build-system)
8308 (native-inputs
8309 `(("desktop-file-utils" ,desktop-file-utils)
8310 ("intltool" ,intltool)
8311 ("pkg-config" ,pkg-config)))
8312 (inputs
8313 `(("enchant" ,enchant)
8314 ("gtk+" ,gtk+)
8315 ("python" ,python-2)
8316 ("xmllint" ,libxml2)
8317 ("gucharmap" ,gucharmap)))
8318 (home-page "http://bluefish.openoffice.nl")
8319 (synopsis "Web development studio")
8320 (description
8321 "Bluefish is an editor targeted towards programmers and web developers,
8322with many options to write web sites, scripts and other code.
8323Bluefish supports many programming and markup languages.")
8324 (license license:gpl3+)))
1f6a73ee
RS
8325
8326(define-public gnome-system-monitor
8327 (package
8328 (name "gnome-system-monitor")
083cffaf 8329 (version "3.32.1")
1f6a73ee
RS
8330 (source
8331 (origin
8332 (method url-fetch)
8333 (uri (string-append "mirror://gnome/sources/" name "/"
8334 (version-major+minor version) "/"
8335 name "-" version ".tar.xz"))
8336 (sha256
8337 (base32
083cffaf 8338 "1wd43qdgjav6xamq5z5cy8fri5zr01jga3plc9w95gcia0rk3ha8"))))
85fb3df3
RW
8339 (build-system meson-build-system)
8340 (arguments
8341 '(#:glib-or-gtk? #t
8342 #:configure-flags '("-Dsystemd=false")))
1f6a73ee
RS
8343 (native-inputs
8344 `(("glib:bin" ,glib "bin") ; for glib-mkenums.
85fb3df3 8345 ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
1f6a73ee
RS
8346 ("intltool" ,intltool)
8347 ("itstool" ,itstool)
8348 ("libgtop" ,libgtop)
4985d9aa 8349 ("polkit" ,polkit)
1f6a73ee
RS
8350 ("pkg-config" ,pkg-config)))
8351 (inputs
8352 `(("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files.
8353 ("gtk+" ,gtk+)
8354 ("gtkmm" ,gtkmm)
8355 ("librsvg" ,librsvg)
4985d9aa
RW
8356 ("libxml2" ,libxml2)
8357 ("libwnck" ,libwnck)))
1f6a73ee
RS
8358 (home-page "https://wiki.gnome.org/Apps/SystemMonitor")
8359 (synopsis "Process viewer and system resource monitor for GNOME")
8360 (description
8361 "GNOME System Monitor is a GNOME process viewer and system monitor with
8362an attractive, easy-to-use interface. It has features, such as a tree view
8363for process dependencies, icons for processes, the ability to hide processes,
8364graphical time histories of CPU/memory/swap usage and the ability to
8365kill/reinice processes.")
8366 (license license:gpl2+)))
3e00ac47
SB
8367
8368(define-public python-pyatspi
8369 (package
8370 (name "python-pyatspi")
4f937a32 8371 (version "2.34.0")
3e00ac47
SB
8372 (source (origin
8373 (method url-fetch)
8374 (uri (string-append
8375 "mirror://gnome/sources/pyatspi/"
8376 (version-major+minor version)
8377 "/pyatspi-" version ".tar.xz"))
8378 (sha256
8379 (base32
4f937a32 8380 "0j3f75j0zd6ca8msg7yr19qsfirqkn9fk8pqbjnlhqrpri455g4p"))))
3e00ac47 8381 (build-system gnu-build-system)
b95af3f6
JL
8382 (arguments
8383 `(#:phases
8384 (modify-phases %standard-phases
8385 (add-before 'build 'fix-atk-load
8386 (lambda _
8387 (substitute* "pyatspi/__init__.py"
8388 (("from gi.repository import Atspi")
8389 "gi.require_version('Gtk', '3.0')
8390from gi.repository import Gtk
8391from gi.repository import Atspi"))
8392 #t)))))
3e00ac47
SB
8393 (native-inputs
8394 `(("pkg-config" ,pkg-config)))
8395 (inputs
8396 `(("python" ,python)
8397 ("python-pygobject" ,python-pygobject)))
8398 (synopsis "Python client bindings for D-Bus AT-SPI")
8399 (home-page "https://wiki.linuxfoundation.org/accessibility\
8400/atk/at-spi/at-spi_on_d-bus")
8401 (description
8402 "This package includes a python client library for the AT-SPI D-Bus
8403accessibility infrastructure.")
8404 (license license:lgpl2.0)
8405 (properties '((upstream-name . "pyatspi")))))
53201c0d
SB
8406
8407(define-public orca
8408 (package
8409 (name "orca")
089e8585 8410 (version "3.32.0")
53201c0d
SB
8411 (source (origin
8412 (method url-fetch)
8413 (uri (string-append
8414 "mirror://gnome/sources/" name "/"
8415 (version-major+minor version) "/"
8416 name "-" version ".tar.xz"))
8417 (sha256
8418 (base32
089e8585 8419 "05jqzlg0f1x53hyl0l9282ynmw37159g6dsbrid12b7sjs12cc1i"))))
53201c0d
SB
8420 (build-system glib-or-gtk-build-system)
8421 (arguments
8422 '(#:phases
8423 (modify-phases %standard-phases
8424 (add-before 'configure 'qualify-xkbcomp
8425 (lambda* (#:key inputs #:allow-other-keys)
8426 (let ((xkbcomp (string-append
8427 (assoc-ref inputs "xkbcomp") "/bin/xkbcomp")))
8428 (substitute* "src/orca/orca.py"
8429 (("'xkbcomp'") (format #f "'~a'" xkbcomp))))
8430 #t))
8431 (add-after 'install 'wrap-orca
8432 (lambda* (#:key outputs #:allow-other-keys)
8433 (let* ((out (assoc-ref outputs "out"))
8434 (prog (string-append out "/bin/orca")))
8435 (wrap-program prog
8436 `("GI_TYPELIB_PATH" ":" prefix
8437 (,(getenv "GI_TYPELIB_PATH")))
8438 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
8439 (,(getenv "GST_PLUGIN_SYSTEM_PATH")))
8440 `("PYTHONPATH" ":" prefix
8441 (,(getenv "PYTHONPATH")))))
8442 #t)))))
8443 (native-inputs
8444 `(("intltool" ,intltool)
8445 ("itstool" ,itstool)
8446 ("pkg-config" ,pkg-config)
8447 ("xmllint" ,libxml2)))
8448 (inputs
8449 `(("at-spi2-atk" ,at-spi2-atk)
8450 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8451 ("gstreamer" ,gstreamer)
8452 ("gst-plugins-base" ,gst-plugins-base)
8453 ("gst-plugins-good" ,gst-plugins-good)
8454 ("gtk+" ,gtk+)
8455 ("python" ,python)
8456 ("python-pygobject" ,python-pygobject)
8457 ("python-pyatspi" ,python-pyatspi)
8458 ("python-speechd" ,speech-dispatcher)
8459 ("xkbcomp" ,xkbcomp)))
8460 (synopsis
8461 "Screen reader for individuals who are blind or visually impaired")
8462 (home-page "https://wiki.gnome.org/Projects/Orca")
8463 (description
8464 "Orca is a screen reader that provides access to the graphical desktop
8465via speech and refreshable braille. Orca works with applications and toolkits
8466that support the Assistive Technology Service Provider Interface (AT-SPI).")
8467 (license license:lgpl2.1+)))
411ba511
LC
8468
8469(define-public gspell
8470 (package
8471 (name "gspell")
7a6bbe9b 8472 (version "1.8.2")
411ba511
LC
8473 (source (origin
8474 (method url-fetch)
8475 (uri (string-append "mirror://gnome/sources/" name "/"
8476 (version-major+minor version) "/"
8477 name "-" version ".tar.xz"))
8478 (sha256
8479 (base32
7a6bbe9b 8480 "1miybm1z5cl91i25l7mfqlxhv7j8yy8rcgi0s1bgbb2vm71rb4dv"))
411ba511
LC
8481 (patches (search-patches "gspell-dash-test.patch"))))
8482 (build-system glib-or-gtk-build-system)
8483 (arguments
8484 '(#:phases
8485 (modify-phases %standard-phases
8486 (add-before 'check 'pre-check
8487 (lambda* (#:key inputs #:allow-other-keys)
8488 ;; Tests require a running X server.
8489 (system "Xvfb :1 &")
8490 (setenv "DISPLAY" ":1")
8491
8492 ;; For the missing /etc/machine-id.
8493 (setenv "DBUS_FATAL_WARNINGS" "0")
8494
8495 ;; Allow Enchant and its Aspell backend to find the en_US
8496 ;; dictionary.
8497 (setenv "ASPELL_DICT_DIR"
8498 (string-append (assoc-ref inputs "aspell-dict-en")
8499 "/lib/aspell"))
8500 #t)))))
8501 (inputs
eccd35be 8502 `(("gtk+" ,gtk+)
a801ae4c
TGR
8503 ("glib" ,glib)
8504 ("iso-codes" ,iso-codes)))
411ba511
LC
8505 (native-inputs
8506 `(("glib" ,glib "bin")
26ba3f07 8507 ("gobject-introspection" ,gobject-introspection)
411ba511
LC
8508 ("pkg-config" ,pkg-config)
8509 ("xmllint" ,libxml2)
8510
8511 ;; For tests.
a801ae4c 8512 ("aspell-dict-en" ,aspell-dict-en)
ff337525 8513 ("xorg-server" ,xorg-server-for-tests)))
eccd35be 8514 (propagated-inputs
9b1bb757 8515 `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc
411ba511
LC
8516 (home-page "https://wiki.gnome.org/Projects/gspell")
8517 (synopsis "GNOME's alternative spell checker")
8518 (description
8519 "gspell provides a flexible API to add spell-checking to a GTK+
8520application. It provides a GObject API, spell-checking to text entries and
8521text views, and buttons to choose the language.")
8522 (license license:gpl2+)))
d1d739fa
CM
8523
8524(define-public gnome-planner
8525 (package
8526 (name "gnome-planner")
8527 (version "0.14.6")
8528 (source (origin
8529 (method url-fetch)
8530 (uri (string-append "mirror://gnome/sources/planner/"
8531 (version-major+minor version) "/planner-"
8532 version ".tar.xz"))
8533 (sha256
8534 (base32
8535 "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"))))
8536 (build-system glib-or-gtk-build-system)
8537 (arguments
8538 ;; Disable the Python bindings because the Planner program functions
8539 ;; without them, and (as of 2017-06-13) we have not packaged all of
8540 ;; packages that are necessary for building the Python bindings.
20b7b75c
EF
8541 `(#:configure-flags
8542 (list "--disable-python"
8543 ,@(if (string=? "aarch64-linux" (%current-system))
8544 '("--build=aarch64-unknown-linux-gnu")
8545 '()))))
d1d739fa
CM
8546 (inputs
8547 `(("libgnomecanvas" ,libgnomecanvas)
8548 ("libgnomeui" ,libgnomeui)
8549 ("libglade" ,libglade)
8550 ("gnome-vfs" ,gnome-vfs)
8551 ("gconf" ,gconf)
8552 ("libxml2" ,libxml2)
8553 ("libxslt" ,libxslt)
8554 ("gtk+" ,gtk+)
8555 ("glib" ,glib)))
8556 (native-inputs
8557 `(("intltool" ,intltool)
8558 ("scrollkeeper" ,scrollkeeper)
8559 ("pkg-config" ,pkg-config)))
8560 (home-page "https://wiki.gnome.org/Apps/Planner")
8561 (synopsis "Project management software for the GNOME desktop")
8562 (description
8563 "GNOME Planner is a project management tool based on the Work Breakdown
8564Structure (WBS). Its goal is to enable you to easily plan projects. Based on
8565the resources, tasks, and constraints that you define, Planner generates
8566various views into a project. For example, Planner can show a Gantt chart of
8567the project. It can show a detailed summary of tasks including their
8568duration, cost, and current progress. It can also show a report of resource
8569utilization that highlights under-utilized and over-utilized resources. These
8570views can be printed as PDF or PostScript files, or exported to HTML.")
4b926cb6 8571 (license license:gpl2+)))
64fce637
RS
8572
8573(define-public lollypop
8574 (package
8575 (name "lollypop")
ca32627a 8576 (version "1.2.7")
64fce637
RS
8577 (source
8578 (origin
8579 (method url-fetch)
b98eace8 8580 (uri (string-append "https://gitlab.gnome.org/World/lollypop/uploads/"
ca32627a 8581 "08f973788c7ca46d9285eec2ac818edb/"
3275d43d 8582 "lollypop-" version ".tar.xz"))
64fce637 8583 (sha256
ca32627a 8584 (base32 "0hvq6m4i62i0m63bg4gzpfb9rv1fk6vq5jl2g3ppcgm4srmfm77j"))))
aa498fc0 8585 (build-system meson-build-system)
64fce637
RS
8586 (arguments
8587 `(#:imported-modules ((guix build python-build-system)
aa498fc0
TD
8588 ,@%meson-build-system-modules)
8589 #:glib-or-gtk? #t
5fc9b6c1
EF
8590 #:tests? #f ; no test suite
8591 #:phases
8592 (modify-phases %standard-phases
5fc9b6c1
EF
8593 (add-after 'install 'wrap-program
8594 (lambda* (#:key outputs #:allow-other-keys)
8595 (let ((out (assoc-ref outputs "out"))
8596 (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
8597 (wrap-program (string-append out "/bin/lollypop")
8598 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
8599 #t))
8ac8b3b3
TGR
8600 (add-after 'install 'wrap-python
8601 (@@ (guix build python-build-system) wrap))
8602 (add-after 'install 'wrap-glib-or-gtk
8603 (@@ (guix build glib-or-gtk-build-system) wrap-all-programs)))))
64fce637
RS
8604 (native-inputs
8605 `(("intltool" ,intltool)
8606 ("itstool" ,itstool)
aa498fc0
TD
8607 ("glib:bin" ,glib "bin") ; For glib-compile-resources
8608 ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache
64fce637
RS
8609 ("pkg-config" ,pkg-config)))
8610 (inputs
8611 `(("gobject-introspection" ,gobject-introspection)
8ac8b3b3 8612 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
5fc9b6c1 8613 ("gst-plugins-base" ,gst-plugins-base)
64fce637
RS
8614 ("libnotify" ,libnotify)
8615 ("libsecret" ,libsecret)
8616 ("libsoup" ,libsoup)
8617 ("python" ,python)
8618 ("python-beautifulsoup4" ,python-beautifulsoup4)
8619 ("python-gst" ,python-gst)
d029afdd 8620 ("python-pil" ,python-pillow)
64fce637 8621 ("python-pycairo" ,python-pycairo)
7460f346 8622 ("python-pygobject" ,python-pygobject-3.34)
64fce637
RS
8623 ("python-pylast" ,python-pylast)
8624 ("totem-pl-parser" ,totem-pl-parser)
8625 ("webkitgtk" ,webkitgtk)))
8626 (propagated-inputs
8627 `(;; gst-plugins-base is required to start Lollypop,
8628 ;; the others are required to play streaming.
64fce637
RS
8629 ("gst-plugins-good" ,gst-plugins-good)
8630 ("gst-plugins-ugly" ,gst-plugins-ugly)))
b98eace8 8631 (home-page "https://wiki.gnome.org/Apps/Lollypop")
64fce637
RS
8632 (synopsis "GNOME music playing application")
8633 (description
8634 "Lollypop is a music player designed to play well with GNOME desktop.
8635Lollypop plays audio formats such as mp3, mp4, ogg and flac and gets information
8636from artists and tracks from the web. It also fetches cover artworks
8637automatically and it can stream songs from online music services and charts.")
8638 (license license:gpl3+)))
d831d49d
AW
8639
8640(define-public gnome-video-effects
8641 (package
8642 (name "gnome-video-effects")
8643 (version "0.4.3")
8644 (source (origin
8645 (method url-fetch)
8646 (uri (string-append "mirror://gnome/sources/" name "/"
8647 (version-major+minor version) "/" name "-"
8648 version ".tar.xz"))
8649 (sha256
8650 (base32
8651 "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs"))))
8652 (build-system glib-or-gtk-build-system)
8653 (arguments
8654 `(#:out-of-source? #f))
8655 (native-inputs
8656 `(("glib:bin" ,glib "bin")
8657 ("intltool" ,intltool)
8658 ("gettext" ,gettext-minimal)
8659 ("pkg-config" ,pkg-config)))
8660 (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects")
8661 (synopsis "Video effects for Cheese and other GNOME applications")
8662 (description
8663 "A collection of GStreamer video filters and effects to be used in
8664photo-booth-like software, such as Cheese.")
8665 (license license:gpl2+)))
3511c780
AW
8666
8667(define-public cheese
8668 (package
8669 (name "cheese")
dd33b337 8670 (version "3.32.1")
3511c780
AW
8671 (source (origin
8672 (method url-fetch)
8673 (uri (string-append "mirror://gnome/sources/" name "/"
8674 (version-major+minor version) "/" name "-"
8675 version ".tar.xz"))
8676 (sha256
8677 (base32
dd33b337 8678 "1xlmsm4zsx05ahvpd4mgy1hfhxbag0r5i6p63bksjxdligdd36kv"))))
3511c780
AW
8679 (arguments
8680 ;; Tests require GDK.
8681 `(#:tests? #f
8682 #:phases
8683 (modify-phases %standard-phases
8684 (add-before 'install 'skip-gtk-update-icon-cache
8685 (lambda _
8686 ;; Don't create 'icon-theme.cache'
8687 (substitute* "Makefile"
8688 (("gtk-update-icon-cache") (which "true")))
8689 #t))
8690 (add-after 'install 'wrap-cheese
8691 (lambda* (#:key inputs outputs #:allow-other-keys)
8692 (let ((out (assoc-ref outputs "out"))
8693 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
8694 (wrap-program (string-append out "/bin/cheese")
8695 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
8696 #t)))))
8697 (build-system glib-or-gtk-build-system)
8698 (native-inputs
8699 `(("glib:bin" ,glib "bin")
8700 ("intltool" ,intltool)
8701 ("itstool" ,itstool)
8702 ("libxml2" ,libxml2)
8703 ("pkg-config" ,pkg-config)
8704 ("vala" ,vala)))
8705 (propagated-inputs
6a19f03e
RW
8706 `(("gnome-video-effects" ,gnome-video-effects)
8707 ("clutter" ,clutter)
3511c780
AW
8708 ("clutter-gst" ,clutter-gst)
8709 ("clutter-gtk" ,clutter-gtk)
6a19f03e 8710 ("libcanberra" ,libcanberra)
3511c780
AW
8711 ("gdk-pixbuf" ,gdk-pixbuf)
8712 ("glib" ,glib)
6a19f03e
RW
8713 ("gstreamer" ,gstreamer)))
8714 (inputs
8715 `(("gnome-desktop" ,gnome-desktop)
3511c780 8716 ("gobject-introspection" ,gobject-introspection)
3511c780
AW
8717 ("gst-plugins-base" ,gst-plugins-base)
8718 ("gst-plugins-bad" ,gst-plugins-bad)
8719 ("gtk+" ,gtk+)
3511c780
AW
8720 ("libx11" ,libx11)
8721 ("libxtst" ,libxtst)))
8722 (home-page "https://wiki.gnome.org/Apps/Cheese")
8723 (synopsis "Webcam photo booth software for GNOME")
8724 (description
8725 "Cheese uses your webcam to take photos and videos. Cheese can also
8726apply fancy special effects and lets you share the fun with others.")
8727 (license license:gpl2+)))
3c5dbd2b 8728
8729(define-public sound-juicer
8730 (package
8731 (name "sound-juicer")
8732 (version "3.24.0")
8733 (source
8734 (origin
8735 (method url-fetch)
8736 (uri (string-append "mirror://gnome/sources/" name "/"
8737 (version-major+minor version) "/"
8738 name "-" version ".tar.xz"))
8739 (sha256
8740 (base32
8741 "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"))))
8742 (build-system glib-or-gtk-build-system)
8743 (native-inputs
8744 `(("desktop-file-utils" ,desktop-file-utils)
8745 ("intltool" ,intltool)
8746 ("itstool" ,itstool)
8747 ("pkg-config" ,pkg-config)
8748 ("xmllint" ,libxml2)))
8749 (inputs
8750 `(("gtk+" ,gtk+)
8751 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
8752 ("gstreamer" ,gstreamer)
8753 ("gst-plugins-base" ,gst-plugins-base)
8754 ("gst-plugins-good" ,gst-plugins-good)
8755 ("iso-codes" ,iso-codes)
8756 ("libbrasero-media3" ,brasero)
8757 ("libcanberra" ,libcanberra)
8758 ("libdiscid" ,libdiscid)
8759 ("libmusicbrainz" ,libmusicbrainz)
8760 ("neon" ,neon)))
8761 (home-page "https://wiki.gnome.org/Apps/SoundJuicer")
8762 (synopsis "Audio music cd ripper")
8763 (description "Sound Juicer extracts audio from compact discs and convert it
8764into audio files that a personal computer or digital audio player can play.
8765It supports ripping to any audio codec supported by a GStreamer plugin, such as
8766mp3, Ogg Vorbis and FLAC")
8767 (license license:gpl2+)))
4e3fdeb7 8768
0d3f1708
CB
8769(define-public soundconverter
8770 (package
8771 (name "soundconverter")
fa75a213 8772 (version "3.0.1")
0d3f1708
CB
8773 (source
8774 (origin
8775 (method url-fetch)
8776 (uri (string-append "https://launchpad.net/soundconverter/trunk/"
8777 version "/+download/"
8778 "soundconverter-" version ".tar.xz"))
8779
8780 (sha256
fa75a213 8781 (base32 "1d6x1yf8psqbd9zbybxivfqg55khcnngp2mn92l161dfdk9512c5"))
0d3f1708
CB
8782 (patches
8783 (search-patches
8784 "soundconverter-remove-gconf-dependency.patch"))))
8785 (build-system glib-or-gtk-build-system)
8786 (arguments
8787 `(#:imported-modules ((guix build python-build-system)
8788 (guix build glib-or-gtk-build-system)
8789 ,@%gnu-build-system-modules)
8790
8791 #:modules ((guix build glib-or-gtk-build-system)
8792 (guix build utils)
8793 ((guix build gnu-build-system) #:prefix gnu:)
8794 ((guix build python-build-system) #:prefix python:))
8795
8796 #:phases
8797 (modify-phases %standard-phases
0d3f1708
CB
8798 (add-after 'install 'wrap-soundconverter-for-python
8799 (assoc-ref python:%standard-phases 'wrap))
8800 (add-after 'install 'wrap-soundconverter
8801 (lambda* (#:key inputs outputs #:allow-other-keys)
8802 (let ((out (assoc-ref outputs "out"))
8803 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
8804 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
8805 (wrap-program (string-append out "/bin/soundconverter")
8806 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
8807 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
8808 #t)))))
8809 (native-inputs
8810 `(("intltool" ,intltool)
8811 ("pkg-config" ,pkg-config)
8812 ("glib:bin" ,glib "bin")))
8813 (inputs
8814 `(("gtk+" ,gtk+)
8815 ("python" ,python)
8816 ("python-pygobject" ,python-pygobject)
8817 ("gstreamer" ,gstreamer)
8818 ("gst-plugins-base" ,gst-plugins-base)))
8819 (home-page "http://soundconverter.org/")
8820 (synopsis "Convert between audio formats with a graphical interface")
8821 (description
8822 "SoundConverter supports converting between many audio formats including
8823Opus, Ogg Vorbis, FLAC and more. It supports parallel conversion, and
8824configurable file renaming. ")
8825 (license license:gpl3)))
8826
4e3fdeb7 8827(define-public workrave
89f2d736
TGR
8828 (package
8829 (name "workrave")
aa51d92c 8830 (version "1.10.34")
89f2d736
TGR
8831 (source
8832 (origin
8833 (method git-fetch)
8834 (uri (git-reference
8835 (url "https://github.com/rcaelers/workrave.git")
c2e50474
TGR
8836 (commit (string-append "v" (string-map
8837 (match-lambda (#\. #\_) (chr chr))
8838 version)))))
89f2d736
TGR
8839 (file-name (git-file-name name version))
8840 (sha256
aa51d92c 8841 (base32 "0czwhr7nw523753ajcjjfwrf91mq8pmzr19gp0srqsvb1dsn1zcf"))))
89f2d736 8842 (build-system glib-or-gtk-build-system)
d1c96847
MC
8843 (inputs `(("glib" ,glib)
8844 ("gtk+" ,gtk+)
8845 ("gdk-pixbuf" ,gdk-pixbuf)
8846 ("gtkmm" ,gtkmm)
8847 ("glibmm" ,glibmm)
8848 ("libx11" ,libx11)
8849 ("libxtst" ,libxtst)
8850 ("dconf" ,dconf)
8851 ("libice" ,libice)
8852 ("libsm" ,libsm)
8853 ("libxscrnsaver" ,libxscrnsaver)))
aa51d92c 8854 (native-inputs `(("boost" ,boost)
89f2d736
TGR
8855 ("pkg-config" ,pkg-config)
8856 ("gettext" ,gnu-gettext)
8857 ("autoconf" ,autoconf)
8858 ("autoconf-archive" , autoconf-archive)
8859 ("automake" ,automake)
8860 ("libtool" ,libtool)
8861 ("intltool" ,intltool)
89f2d736 8862 ("gobject-introspection" ,gobject-introspection)
aa51d92c
MC
8863 ("python3" ,python-3)
8864 ("python-jinja2" ,python-jinja2)))
89f2d736
TGR
8865 (synopsis "Tool to help prevent repetitive strain injury (RSI)")
8866 (description
8867 "Workrave is a program that assists in the recovery and prevention of
cc00249b
TGR
8868repetitive strain injury (@dfn{RSI}). The program frequently alerts you to take
8869micro-pauses and rest breaks, and restricts you to your daily limit.")
89f2d736
TGR
8870 (home-page "http://www.workrave.org")
8871 (license license:gpl3+)))
312afa7d
LC
8872
8873(define-public ghex
8874 (package
8875 (name "ghex")
3748992a 8876 (version "3.18.4")
312afa7d
LC
8877 (source (origin
8878 (method url-fetch)
2fbab848 8879 (uri (string-append "mirror://gnome/sources/ghex/"
312afa7d 8880 (version-major+minor version) "/"
2fbab848 8881 "ghex-" version ".tar.xz"))
312afa7d
LC
8882 (sha256
8883 (base32
3748992a
KK
8884 "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"))))
8885 (build-system meson-build-system)
8886 (arguments
8887 '(#:glib-or-gtk? #t
8888 #:phases
8889 (modify-phases %standard-phases
8890 (add-after 'unpack 'skip-gtk-update-icon-cache
8891 ;; Don't create 'icon-theme.cache'.
8892 (lambda _
8893 (substitute* "meson_post_install.py"
8894 (("gtk-update-icon-cache") (which "true")))
8895 #t)))))
312afa7d
LC
8896 (native-inputs
8897 `(("pkg-config" ,pkg-config)
3748992a 8898 ("glib:bin" ,glib "bin") ; for glib-compile-schemas
312afa7d
LC
8899 ("gnome-common" ,gnome-common)
8900 ("which" ,which)
8901 ("intltool" ,intltool)
8902 ("yelp-tools" ,yelp-tools)
2fbab848 8903 ("desktop-file-utils" ,desktop-file-utils))) ; for 'desktop-file-validate'
312afa7d
LC
8904 (inputs
8905 `(("atk" ,atk)
8906 ("gtk" ,gtk+)))
8907 (synopsis "GNOME hexadecimal editor")
8908 (description "The GHex program can view and edit files in two ways:
8909hexadecimal or ASCII. It is useful for editing binary files in general.")
8910 (home-page "https://wiki.gnome.org/Apps/Ghex")
8911 (license license:gpl2)))
4b2ed6c2
RW
8912
8913(define-public libdazzle
8914 (package
8915 (name "libdazzle")
64fa66ba 8916 (version "3.33.90")
4b2ed6c2
RW
8917 (source (origin
8918 (method url-fetch)
687b4909 8919 (uri (string-append "mirror://gnome/sources/libdazzle/"
4b2ed6c2 8920 (version-major+minor version) "/"
687b4909 8921 "libdazzle-" version ".tar.xz"))
4b2ed6c2
RW
8922 (sha256
8923 (base32
64fa66ba 8924 "189m7q88d1a7bq0yyal9f3yhm9kz46lb61379nn4wsnnhpa1d0qs"))))
4b2ed6c2
RW
8925 (build-system meson-build-system)
8926 (arguments
8927 `(#:phases
8928 (modify-phases %standard-phases
4b2ed6c2
RW
8929 (add-before 'check 'pre-check
8930 (lambda _
8931 ;; Tests require a running X server.
8932 (system "Xvfb :1 &")
8933 (setenv "DISPLAY" ":1")
8934 #t)))))
8935 (native-inputs
687b4909 8936 `(("glib" ,glib "bin") ; glib-compile-resources
4b2ed6c2 8937 ("pkg-config" ,pkg-config)
687b4909 8938 ;; For tests.
ff337525 8939 ("xorg-server" ,xorg-server-for-tests)))
4b2ed6c2
RW
8940 (inputs
8941 `(("glib" ,glib)
8942 ("gobject-introspection" ,gobject-introspection)
8943 ("gtk+" ,gtk+)
8944 ("vala" ,vala)))
8945 (home-page "https://gitlab.gnome.org/GNOME/libdazzle")
8946 (synopsis "Companion library to GObject and Gtk+")
8947 (description "The libdazzle library is a companion library to GObject and
8948Gtk+. It provides various features that the authors wish were in the
8949underlying library but cannot for various reasons. In most cases, they are
8950wildly out of scope for those libraries. In other cases, they are not quite
8951generic enough to work for everyone.")
8952 (license license:gpl3+)))
7d3bb433
RW
8953
8954(define-public evolution
8955 (package
8956 (name "evolution")
06141f83 8957 (version "3.32.4")
7d3bb433
RW
8958 (source (origin
8959 (method url-fetch)
8960 (uri (string-append "mirror://gnome/sources/evolution/"
8961 (version-major+minor version) "/"
8962 "evolution-" version ".tar.xz"))
8963 (sha256
8964 (base32
06141f83 8965 "00hmmg4hfns8rq9rcilmy0gi1xkksld27lfbd9zmw2xw37wjmbqh"))))
7d3bb433
RW
8966 (build-system cmake-build-system)
8967 (arguments
5229bea1
KK
8968 `(#:imported-modules (,@%cmake-build-system-modules
8969 (guix build glib-or-gtk-build-system))
8970 #:modules ((guix build cmake-build-system)
8971 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
8972 (guix build utils))
8973 #:configure-flags
7d3bb433 8974 (list "-DENABLE_PST_IMPORT=OFF" ; libpst is not packaged
5229bea1 8975 "-DENABLE_LIBCRYPTUI=OFF") ; libcryptui hasn't seen a release
7d3bb433 8976 ; in four years and cannot be built.
5229bea1
KK
8977 #:phases
8978 (modify-phases %standard-phases
8979 ;; The build system attempts to install user interface modules to the
8980 ;; output directory of the "evolution-data-server" package. This
8981 ;; change redirects that change.
8982 (add-after 'unpack 'patch-ui-module-dir
8983 (lambda* (#:key outputs #:allow-other-keys)
8984 (substitute* "src/modules/alarm-notify/CMakeLists.txt"
8985 (("\\$\\{edsuimoduledir\\}")
8986 (string-append (assoc-ref outputs "out")
8987 "/lib/evolution-data-server/ui-modules")))
8988 #t))
8989 (add-after 'install 'glib-or-gtk-compile-schemas
8990 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
8991 (add-after 'install 'glib-or-gtk-wrap
8992 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
7d3bb433 8993 (native-inputs
ad6e168b 8994 `(("glib" ,glib "bin") ; glib-mkenums
7d3bb433
RW
8995 ("pkg-config" ,pkg-config)
8996 ("intltool" ,intltool)
8997 ("itstool" ,itstool)))
8998 (inputs
8999 `(("enchant" ,enchant)
9000 ("evolution-data-server" ,evolution-data-server) ; must be the same version
9001 ("gcr" ,gcr)
ad6e168b 9002 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
7d3bb433
RW
9003 ("gnome-autoar" ,gnome-autoar)
9004 ("gnome-desktop" ,gnome-desktop)
9005 ("gtkspell3" ,gtkspell3)
9006 ("highlight" ,highlight)
9007 ("libcanberra" ,libcanberra)
b63c06f1 9008 ("libedataserverui" ,evolution-data-server)
7d3bb433
RW
9009 ("libgweather" ,libgweather)
9010 ("libnotify" ,libnotify)
9011 ("libsoup" ,libsoup)
9012 ("nss" ,nss)
9013 ("openldap" ,openldap)
9014 ("webkitgtk" ,webkitgtk)
9015 ("ytnef" ,ytnef)))
9016 (home-page "https://gitlab.gnome.org/GNOME/evolution")
9017 (synopsis "Manage your email, contacts and schedule")
9018 (description "Evolution is a personal information management application
9019that provides integrated mail, calendaring and address book
9020functionality.")
9021 ;; See COPYING for details.
23dbe621 9022 (license (list license:lgpl2.1 license:lgpl3 ; either one of these
7d3bb433 9023 license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
23dbe621 9024 license:lgpl2.1+)))) ; smime/lib/*
169d63f5
AT
9025
9026(define-public gthumb
9027 (package
9028 (name "gthumb")
8280676b 9029 (version "3.8.2")
169d63f5
AT
9030 (source (origin
9031 (method url-fetch)
9032 (uri (string-append "mirror://gnome/sources/gthumb/"
9033 (version-major+minor version) "/"
9034 "gthumb-" version ".tar.xz"))
9035 (sha256
9036 (base32
8280676b 9037 "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q"))))
169d63f5
AT
9038 (build-system meson-build-system)
9039 (arguments
9040 `(#:glib-or-gtk? #t
9041 #:configure-flags
9042 ;; Ensure the RUNPATH contains all installed library locations.
9043 (list (string-append "-Dc_link_args=-Wl,-rpath="
9044 (assoc-ref %outputs "out")
9045 "/lib/gthumb/extensions")
9046 (string-append "-Dcpp_link_args=-Wl,-rpath="
9047 (assoc-ref %outputs "out")
9048 "/lib/gthumb/extensions"))))
9049 (native-inputs
9050 `(("pkg-config" ,pkg-config)
9051 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9052 ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
9053 ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
9054 ("intltool" ,intltool)
9055 ("itstool" ,itstool)))
9056 (inputs
9057 `(("exiv2" ,exiv2)
9058 ("gtk" ,gtk+)
9059 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9060 ("gstreamer" ,gstreamer)
9061 ("clutter" ,clutter)
9062 ("clutter-gst" ,clutter-gst)
9063 ("clutter-gtk" ,clutter-gtk)
9064 ("libjpeg" ,libjpeg)
9065 ("libtiff" ,libtiff)
9066 ("libraw" ,libraw)))
9067 (home-page "https://wiki.gnome.org/Apps/Gthumb")
9068 (synopsis "GNOME image viewer and browser")
9069 (description "GThumb is an image viewer, browser, organizer, editor and
9070advanced image management tool")
9071 (license license:gpl2+)))
08be02be
AT
9072
9073(define-public terminator
9074 (package
9075 (name "terminator")
9076 (version "1.91")
9077 (source (origin
9078 (method url-fetch)
9079 (uri (string-append "https://launchpad.net/" name "/"
9080 "gtk3/" version "/" "+download/"
9081 name "-" version ".tar.gz"))
9082 (sha256
9083 (base32
9084 "0sdyqwydmdnh7j6mn74vrywz35m416kqsbxbrqcnv5ak08y6xxwm"))))
9085 (build-system python-build-system)
9086 (native-inputs
9087 `(("intltool" ,intltool)
9088 ("glib:bin" ,glib "bin") ; for glib-compile-resources
9089 ("gettext" ,gettext-minimal)
9090 ("pkg-config" ,pkg-config)))
9091 (inputs
9092 `(("cairo" ,cairo)
9093 ("gobject-introspection" ,gobject-introspection)
96681d4b 9094 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
08be02be
AT
9095 ("python2-pycairo" ,python2-pycairo)
9096 ("python2-pygobject" ,python2-pygobject)
9097 ("python2-psutil" ,python2-psutil)
9098 ("vte" ,vte)))
9099 (arguments
96681d4b
TGR
9100 `(#:python ,python-2 ; Python 3 isn't supported
9101 #:imported-modules ((guix build glib-or-gtk-build-system)
9102 ,@%python-build-system-modules)
9103 #:modules ((guix build python-build-system)
9104 ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
9105 (guix build utils))
08be02be
AT
9106 #:phases
9107 (modify-phases %standard-phases
9108 (add-after
9109 'install 'wrap-program
9110 (lambda* (#:key outputs #:allow-other-keys)
9111 (let ((prog (string-append (assoc-ref outputs "out")
9112 "/bin/terminator")))
9113 (wrap-program prog
9114 `("PYTHONPATH" = (,(getenv "PYTHONPATH")))
9115 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
96681d4b
TGR
9116 #t)))
9117 (add-after 'wrap-program 'glib-or-gtk-wrap
9118 (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
08be02be
AT
9119 (home-page "https://gnometerminator.blogspot.com/")
9120 (synopsis "Store and run multiple GNOME terminals in one window")
9121 (description
9122 "Terminator allows you to run multiple GNOME terminals in a grid and
9123+tabs, and it supports drag and drop re-ordering of terminals.")
9124 (license license:gpl2)))
213315d4
JF
9125
9126(define-public libhandy
9127 (package
9128 (name "libhandy")
f6501b9f 9129 (version "0.0.12")
213315d4
JF
9130 (source
9131 (origin
9132 (method git-fetch)
9133 (uri (git-reference
9134 (url "https://source.puri.sm/Librem5/libhandy")
9135 (commit (string-append "v" version))))
9136 (file-name (git-file-name name version))
9137 (sha256
f6501b9f 9138 (base32 "09wlknarzsbk9hr5ws6s7x5kibkhx9ayrbhshfqib4zkhq2f76hw"))))
213315d4
JF
9139 (build-system meson-build-system)
9140 (arguments
9141 `(#:configure-flags
9142 '("-Dglade_catalog=disabled"
9143 "-Dgtk_doc=true")
9144 #:phases
9145 (modify-phases %standard-phases
213315d4
JF
9146 (add-before 'check 'pre-check
9147 (lambda _
9148 ;; Tests require a running X server.
9149 (system "Xvfb :1 &")
9150 (setenv "DISPLAY" ":1")
9151 #t)))))
9152 (inputs
9153 `(("gtk+" ,gtk+)))
9154 (native-inputs
9155 `(("glib:bin" ,glib "bin")
9156 ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
9157 ("vala" ,vala)
9158 ("gtk-doc" ,gtk-doc)
9159 ("pkg-config" ,pkg-config)
9160 ("gettext" ,gettext-minimal)
d41ee146
TGR
9161
9162 ;; Test suite dependencies.
ff337525 9163 ("xorg-server" ,xorg-server-for-tests)
d41ee146 9164 ("hicolor-icon-theme" ,hicolor-icon-theme)))
213315d4
JF
9165 (home-page "https://source.puri.sm/Librem5/libhandy")
9166 (synopsis "Library full of GTK+ widgets for mobile phones")
9167 (description "The aim of the handy library is to help with developing user
ae4e1414
JB
9168interfaces for mobile devices using GTK+. It provides responsive GTK+ widgets
9169for usage on small and big screens.")
213315d4 9170 (license license:lgpl2.1+)))
a830d14d
GL
9171
9172(define-public libgit2-glib
9173 (package
9174 (name "libgit2-glib")
9175 (version "0.28.0.1")
9176 (source (origin
9177 (method url-fetch)
9178 (uri (string-append "mirror://gnome/sources/" name "/"
9179 (version-major+minor version) "/"
9180 name "-" version ".tar.xz"))
9181 (sha256
9182 (base32
9183 "0a0g7aw66rfgnqr4z7fgbk5zzcjq66m4rp8v4val3a212941h0g7"))))
9184 (build-system meson-build-system)
9185 (native-inputs
9186 `(("glib:bin" ,glib "bin") ;; For glib-mkenums
9187 ("gobject-introspection" ,gobject-introspection)
9188 ("intltool" ,intltool)
9189 ("libssh2" ,libssh2)
9190 ("pkg-config" ,pkg-config)
9191 ("python-pygobject" ,python-pygobject)
9192 ("python-wrapper" ,python-wrapper)
9193 ("vala" ,vala)))
9194 (inputs
9195 `(("glib" ,glib)
9196 ("libgit2" ,libgit2)))
9197 (synopsis "GLib wrapper around the libgit2 Git access library")
9198 (description "libgit2-glib is a GLib wrapper library around the libgit2 Git
9199access library. It only implements the core plumbing functions, not really the
9200higher level porcelain stuff.")
9201 (home-page "https://wiki.gnome.org/Projects/Libgit2-glib")
9202 (license license:gpl2+)))
93beace0 9203
08db81c9
LP
9204(define-public gitg
9205 (package
9206 (name "gitg")
9207 (version "3.32.1")
9208 (source (origin
9209 (method url-fetch)
9210 (uri (string-append "mirror://gnome/sources/" name "/"
9211 (version-major+minor version) "/"
9212 name "-" version ".tar.xz"))
9213 (sha256
9214 (base32
9215 "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"))))
9216 (build-system meson-build-system)
9217 (arguments
9218 `(#:glib-or-gtk? #t
9219 #:phases
9220 (modify-phases %standard-phases
9221 (add-after 'unpack 'disable-post-install-partially
9222 (lambda _
9223 (substitute* "meson_post_install.py"
9224 (("'python'") ; there are no python sources to compile
9225 (string-append "'" (which "true") "'"))
9226 (("gtk-update-icon-cache") (which "true")))
9227 #t))
9228 (add-after 'unpack 'fix-test-sources
9229 (lambda _
9230 (substitute* "tests/libgitg/test-commit.vala"
9231 (("/bin/bash") (which "bash")))
9232 #t))
9233 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9234 (lambda* (#:key outputs #:allow-other-keys)
9235 (let ((prog (string-append (assoc-ref outputs "out")
9236 "/bin/gitg")))
9237 (wrap-program prog
9238 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9239 #t))))))
9240 (inputs
9241 `(("glib" ,glib)
9242 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9243 ("gtk+" ,gtk+)
9244 ("gtkspell3" ,gtkspell3)
9245 ("gtksourceview" ,gtksourceview-3)
9246 ("json-glib" ,json-glib)
9247 ("libdazzle" ,libdazzle)
9248 ("libgee" ,libgee)
9249 ("libgit2" ,libgit2) ; propagated by libgit2-glib
9250 ("libgit2-glib" ,libgit2-glib)
9251 ("libpeas" ,libpeas)
9252 ("libsecret" ,libsecret)
9253 ("libsoup" ,libsoup)
9254 ("libxml2" ,libxml2)))
9255 (native-inputs
9256 `(("glib:bin" ,glib "bin")
9257 ("gtk+:bin" ,gtk+ "bin")
9258 ("gobject-introspection" ,gobject-introspection)
9259 ("intltool" ,intltool)
9260 ("pkg-config" ,pkg-config)
9261 ("vala" ,vala)))
9262 (synopsis "Graphical user interface for git")
9263 (description
9264 "gitg is a graphical user interface for git. It aims at being a small,
9265fast and convenient tool to visualize the history of git repositories.
9266Besides visualization, gitg also provides several utilities to manage your
9267repository and commit your work.")
9268 (home-page "https://wiki.gnome.org/Apps/Gitg")
9269 (license license:gpl2+)))
9270
1e600ed0
RW
9271(define-public gamin
9272 (package
9273 (name "gamin")
9274 (version "0.1.10")
9275 (source (origin
9276 (method url-fetch)
9277 (uri (string-append "mirror://gnome/sources/" name "/"
9278 (version-major+minor version) "/"
9279 name "-" version ".tar.bz2"))
9280 (sha256
9281 (base32
9282 "02n1zr9y8q9lyczhcz0nxar1vmf8p2mmbw8kq0v43wg21jr4i6d5"))))
9283 (build-system gnu-build-system)
9284 (arguments
9285 `(#:phases
9286 (modify-phases %standard-phases
9287 (add-after 'unpack 'remove-deprecated-macro
9288 (lambda _
9289 (substitute* '("server/gam_node.c"
9290 "server/gam_subscription.h"
9291 "server/gam_node.h"
9292 "server/gam_subscription.c")
9293 (("G_CONST_RETURN") "const"))
9294 #t)))))
9295 (inputs
9296 `(("glib" ,glib)))
9297 (native-inputs
9298 `(("intltool" ,intltool)
9299 ("pkg-config" ,pkg-config)))
9300 (home-page "https://people.gnome.org/~veillard/gamin/")
9301 (synopsis "File alteration monitor")
9302 (description
9303 "Gamin is a file and directory monitoring system defined to be a subset
9304of the FAM (File Alteration Monitor) system. This is a service provided by a
9305library which allows to detect when a file or a directory has been modified.")
9306 (license license:gpl2+)))
9307
93beace0
DW
9308(define-public gnome-mahjongg
9309 (package
9310 (name "gnome-mahjongg")
9311 (version "3.35.1")
9312 (source (origin
9313 (method git-fetch)
9314 (uri (git-reference
9315 (url "https://gitlab.gnome.org/GNOME/gnome-mahjongg.git")
9316 (commit version)))
9317 (file-name (git-file-name name version))
9318 (sha256
9319 (base32
9320 "019a66a4m5w4kkb0sm6gxj0wi54n06zdxdlmyqw7h8kbakjizv7l"))))
9321 (build-system meson-build-system)
9322 (arguments
9323 `(#:glib-or-gtk? #t))
9324 (native-inputs
9325 `(("appstream-glib" ,appstream-glib)
9326 ("gettext" ,gettext-minimal)
9327 ("glib:bin" ,glib "bin") ;; For glib-compile-resources
9328 ("gtk+" ,gtk+ "bin") ;; For gtk-update-icon-cache
9329 ("itstool" ,itstool)
9330 ("pkg-config" ,pkg-config)
9331 ("vala" ,vala)))
9332 (propagated-inputs
9333 `(("dconf" ,dconf)))
9334 (inputs
9335 `(("glib" ,glib)
9336 ("gtk+" ,gtk+)
9337 ("librsvg" ,librsvg)))
9338 (synopsis "Mahjongg tile-matching game")
9339 (description "GNOME Mahjongg is a game based on the classic Chinese
9340tile-matching game Mahjong. It features multiple board layouts, tile themes,
9341and a high score table.")
9342 (home-page "https://wiki.gnome.org/Apps/Mahjongg")
9343 (license license:gpl2+)))
f825476c 9344
76ea7632
RG
9345(define-public gnome-themes-extra
9346 (package
9347 (name "gnome-themes-extra")
9348 (version "3.28")
9349 (source
9350 (origin
9351 (method url-fetch)
9352 (uri (string-append "mirror://gnome/sources/" name "/"
9353 (version-major+minor version) "/" name "-"
9354 version ".tar.xz"))
9355 (sha256
9356 (base32
9357 "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"))))
9358 (build-system gnu-build-system)
885424bf
RG
9359 (arguments
9360 '(#:configure-flags
9361 ;; Don't create 'icon-theme.cache'.
9362 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
9363 (true (string-append coreutils "/bin/true")))
9364 (list (string-append "GTK_UPDATE_ICON_CACHE=" true)))))
76ea7632
RG
9365 (native-inputs
9366 `(("glib:bin" ,glib "bin")
9367 ("intltool" ,intltool)
9368 ("pkg-config" ,pkg-config)))
9369 (inputs
9370 `(("glib" ,glib)
9371 ("gtk+" ,gtk+)
9372 ("gtk+-2" ,gtk+-2)
9373 ("librsvg" ,librsvg)
9374 ("libxml2" ,libxml2)))
9375 (home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
9376 (synopsis "GNOME Extra Themes")
9377 (description "This package provides themes and related elements that don't
9378really fit in other upstream packages. It offers legacy support for GTK+ 2
9379versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides
9380index files needed for Adwaita to be used outside of GNOME.")
9381 (license license:lgpl2.1+)))
9382
f825476c
LP
9383(define-public polari
9384 (package
9385 (name "polari")
9386 (version "3.32.2")
9387 (source (origin
9388 (method url-fetch)
9389 (uri (string-append "mirror://gnome/sources/polari/"
9390 (version-major+minor version)
9391 "/polari-" version ".tar.xz"))
9392 (sha256
9393 (base32
9394 "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp"))))
9395 (build-system meson-build-system)
9396 (arguments
9397 `(#:glib-or-gtk? #t
9398 #:phases
9399 (modify-phases %standard-phases
9400 (add-after 'unpack 'skip-gtk-update-icon-cache
9401 (lambda _
9402 (substitute* "meson/meson-postinstall.sh"
9403 (("gtk-update-icon-cache") (which "true")))
9404 #t))
9405 (add-after 'glib-or-gtk-wrap 'wrap-typelib
9406 (lambda* (#:key outputs #:allow-other-keys)
9407 (let ((prog (string-append (assoc-ref outputs "out")
9408 "/bin/polari")))
9409 (wrap-program prog
9410 `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
9411 #t))))))
9412 (inputs
9413 `(("glib" ,glib)
9414 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
9415 ("gspell" ,gspell)
9416 ("gtk+" ,gtk+)
9417 ("gjs" ,gjs)
9418 ("libsecret" ,libsecret)
9419 ("libsoup" ,libsoup)
9420 ("telepathy-glib" ,telepathy-glib)
9421 ("telepathy-logger" ,telepathy-logger)))
9422 (native-inputs
9423 `(("glib:bin" ,glib "bin")
9424 ("gobject-introspection" ,gobject-introspection)
9425 ("intltool" ,intltool)
9426 ("pkg-config" ,pkg-config)
9427 ("yelp-tools" ,yelp-tools)))
9428 (propagated-inputs
9429 `(("telepathy-idle" ,telepathy-idle)
9430 ("telepathy-mission-control" ,telepathy-mission-control)))
9431 (synopsis "Simple IRC Client")
9432 (description
9433 "Polari is a simple Internet Relay Chat (IRC) client that is designed to
9434integrate seamlessly with the GNOME desktop.")
9435 (home-page "https://wiki.gnome.org/Apps/Polari")
9436 (license license:gpl2+)))