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