unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Raghav Gururajan <raghavgururajan@disroot.org>
To: Danny Milosavljevic <dannym@scratchpost.org>
Cc: guix-devel@gnu.org
Subject: Re: [OUTREACHY]: Integration of desktop environments into GNU Guix
Date: Wed, 15 Jul 2020 21:21:51 -0400	[thread overview]
Message-ID: <b750439c-84d7-e7eb-6d0a-9e5fe4b20fea@disroot.org> (raw)
In-Reply-To: <a6d93456-e02b-e8d9-081e-e621fce9f6ad@disroot.org>


[-- Attachment #1.1.1: Type: text/plain, Size: 27588 bytes --]

@Danny

Please find the attached patches.

@Others

Please find the following git log.

*** START ***

commit 11245d7d1c0bcad5a08d08980871646bf50bd2f0
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 15 21:11:06 2020 -0400

    gnu: zenity: Update package definition.

    * gnu/packages/gnome.scm (zenity): Update package definition.
    [build-system]: Change from gnu to glib-or-gtk.
    [outputs]: New output "help".
    [arguments]<#:configure-flags>[--enable-libnotify]: New flag.
    [--enable-webkitgtk]: New flag.
    [--with-help-dir=]: New flag.
    [native-inputs]: Add glib:bin, gtk+:bin, perl and libxml2.
    [inputs]: Add glib, gtk+ and libx11.
    [synopsis]: Modify.
    [description]: Modify.
    [home-page]: Modify.

commit c97586fad6d9329513e6ee1c665c53b7e6855cdd
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 15 21:05:47 2020 -0400

    gnu: yelp: Update package definition.

    * gnu/packages/gnome.scm (yelp) [version]: Update to 3.36.0.
    [source]<origin>[sha256]: Modify base32.
    [outputs]: New output "doc".
    [arguments]<#:configure-flags>[--enable-gtk-doc]: New flag.
    [--with-html-dir]: New flag.
    <#:phases>['patch-docbook-xml]: New phase.
    [native-inputs]: Add docbook-xml, gtk+:bin, gtk-doc and python-wrapper.
    [inputs]: Add glib and gtk+.
    [home-page]: Modify.

commit 9a4fd7c36c49cada1374ce83941efd3789a8bff6
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 15 17:36:28 2020 -0400

    gnu: yelp-tools: Update package definition.

    * gnu/packages/gnome.scm (yelp-tools): Update package definition.
    [propagated-inputs]: Move itstool, libxml2 and libxslt to ...
    [native-inputs]: ... here.
    [synopsis]: Modify.
    [description]: Modify.

commit f08f1af84dba99afe351c29e4df5669b23467ec5
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 15 17:22:32 2020 -0400

    gnu: yelp-xsl: Update package definition.

    * gnu/packages/gnome.scm (yelp-xsl) [version]: Update to 3.36.0.
    [source]<origin>[sha256]: Modify base32.
    [arguments]<#:configure-flag>[--enable-doc]: New flag.
    [native-inputs]: Add mallard-ducktype, intltool and libxslt.
    [description]: Modify.
    [license]: Add lgpl2.1+ and expat.

commit 13925ff5981504ba811f2965ddbb2511431148c8
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Tue Jul 14 21:51:58 2020 -0400

    gnu: webkitgtk: Update package definition.

    * gnu/packages/webkit.scm (webkitgtk) [version]: Update to 2.28.3.
    [source]<origin>[sha256]: Modify base32.
    [arguments]<#:configure-flags>[-DENABLE_GLES2]: New flag.
    [-DENABLE_MINIBROWSER]: New flag.
    [-DLIB_INSTALL_DIR]: Remove flag.
    [-DUSE_GSTREAMER_GL]: Remove flag.
    [-DUSE_WOFF2]: Remove flag.
    <#:phases>['configure-bubblewrap-store-directory]: Remove phase.
    ['embed-absolute-wpebackend-reference]: Remove phase.
    [native-inputs]: Add docbook-xsl and gtk-doc and python-2.7.
    [inputs]: Add atk, gstreamer, wayland and woff2.
    [propagated-inputs]: Add glib.
    [synopsis]: Modify.
    [license]: Modify.

commit e843dbb5c02ffb739c1c222a737e7b7dbbed24b5
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Tue Jul 14 19:06:41 2020 -0400

    gnu: pipewire: Update package definition.

    * gnu/packages/linux.scm (pipewire) [version]: Update to 0.3.6.
    [source]<origin>[uri]: Modify url.
    [sha256]: Modify base32.
    [outputs]: New output "doc".
    [arguments]<#:glib-or-gtk?>: New argument.
    <#:configure-flags>[-Ddocs]: New flag.
    [-Daudiotestsrc]: New flag.
    [-Dffmpeg]: New flag.
    [-Dtest]: New flag.
    [-Dlibcamera]: New flag.
    [-Dvideotestsrc]: New flag.
    [-Dvolume]: New flag.
    [-Dc_link_args]: New flag.
    <#:phases>['move-doc]: New phase.
    [native-inputs]: Add graphviz, doxygen and xmltoman.
    [inputs]: Add bluez, libcamera, glib, jack-2, pulseaudio, libsndfile,
    vulkan-headers and vulkan-loader.
    [synopsis]: Modify.
    [description]: Modify.

commit 2eb7c10dbf7ce06d5270199892234a06797c0888
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Tue Jul 14 22:05:34 2020 -0400

    gnu: tesseract-ocr: Propagate leptonica.

    * gnu/packages/ocr.scm (tesseract-ocr) [inputs]: Move leptonica to ...
    [propagated-inputs]: ... here.

commit faf98a15c6f6db821c6190fdc0e27cbdbc13580f
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Tue Jul 14 17:21:08 2020 -0400

    gnu: Add xmltoman.

    * gnu/packages/man.scm (xmltoman): New variable.

commit 39dfc4e931930bdfb8c259b4ee5838b832dd9fc8
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Tue Jul 14 16:26:28 2020 -0400

    gnu: Add libcamera.

    * gnu/packages/networking.scm (libcamera): New variable.

commit 1b4d807e0dff5ac9f4032d3c11a7b8a0696eccb2
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Tue Jul 14 13:32:10 2020 -0400

    gnu: hplip: Update hash.

commit a303d53f5f7946ec1b013d4b574fc9575761c001
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Mon Jul 13 03:44:32 2020 -0400

    gnu: Add wpewebkit.

    * gnu/packages/webkit.scm (wpewebkit): New variable.

commit a1cbbf446de3607c10d281b865cf15ae77b7d91d
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Mon Jul 13 03:16:47 2020 -0400

    gnu: woff2: Update package definition.

    * gnu/packages/fontutils.scm (woff2): Update package definition.
    [source]: Modify.
    [outputs]: New output "bin".
    [arguments]<#:configure-flags>[-DCMAKE_INSTALL_BINDIR]: New flag.
    [-DCMAKE_INSTALL_INCLUDEDIR]: New flag.
    [-DCMAKE_INSTALL_LIBDIR]: New flag.
    [-DBUILD_SHARED_LIBS]: Remove flag.
    <#:phases>['patch-installation]: New phase.
    [synopsis]: Modify.
    [description]: Modify.
    [home-page]: Modify.
    [license]: Change to expat.

commit 8853a749cc54af887284fec83bddc5838986694d
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Mon Jul 13 02:00:12 2020 -0400

    gnu: wpebackend-fdo: Update package definition.

    * gnu/packages/webkit.scm (wpebackend-fdo): Update package definition.
    [inputs]: Remove libwpe.
    [propagated-inputs]: Add libwpe.
    [synopsis]: Modify.

commit e90a5e0db901d54ad81ccc85249c628f83bf1a98
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Mon Jul 13 01:48:50 2020 -0400

    gnu: libwpe: Update package definition.

    * gnu/packages/webkit.scm (libwpe): Update package definition.
    [native-inputs]: Add python-wrapper.
    [synopsis]: Modify.
    [description]: Modify.

commit 7a6ff3b48ee3ac2a789ce0fac3d6c2227199e685
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Mon Jul 13 00:45:13 2020 -0400

    gnu: vala: Update package definition.

    * gnu/packages/gnome.scm (vala) [version]: Update to 0.48.7.
    [source]<origin>[sha256]: Modify base32.
    [build-system]: Change from gnu to glib-or-gtk.
    [arguments]<#:configure-flags>["--enable-coverage]: New flag.
    <#:phases>['patch-docbook-xml]: New phase.
    [native-inputs]: Add docbook-xml, docbook-xsl, help2man and perl.
    [inputs]: Remove graphviz.
    [propagated-inputs]: Add libgvc.
    [synopsis]: Modify.
    [description]: Modify.
    [home-page]: Modify.

commit 1e9b2acee02c03b0b57b8dc8579ac8482dcb87d3
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sun Jul 12 20:31:48 2020 -0400

    gnu: gtk+: Add missing input.

    * gnu/package/gtk.scm (gtk+) [native-inputs]: Add hicolor-icon-theme.

commit a0134df6fe09f0a5ee7d1930d8336b8055108b3d
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jul 11 18:36:12 2020 -0400

    gnu: pango: Update package definition.

    * gnu/packages/gtk.scm (pango): Update package definition.
    [arguments]<#:glib-or-gtk?>: New argument.
    [native-inputs]: Add help2man, perl and python-wrapper.
    [propagated-inputs]: Add libthai and libxrender.
    [synopsis]: Modify.
    [description]: Modify.
    [home-page]: Modify.

    * gnu/packages/patches/pango-skip-libthai-test.patch: Delete file.

    * gnu/local.mk (pango-skip-libthai-test.patch): Remove reference.

commit 8fdc1ae1c66c9d08f5842962964fffdeeaea9d28
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jul 11 12:29:32 2020 -0400

    gnu: Add libthai.

    * gnu/packages/gtk.scm (libthai): New variable.

commit d994a6a1511d2840b46ce6121e96bb31787b24a2
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Sat Jul 11 12:20:05 2020 -0400

    gnu: Add libdatrie.

    * gnu/packages/gtk.scm (libdatrie): New variable.

commit 2b979582344e137d22f32a8f943c347ec9a88e16
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Jul 10 21:52:18 2020 -0400

    gnu: openjpeg: Update package definition.

    * gnu/packages/image.scm (openjpeg): Update package definition.
    [outputs]: New output "doc".
    [arguments]<#:tests?>: Remove argument.
    <#:configure-flags>[-DBUILD_DOC]: New flag.
    [-DBUILD_LUTS_GENERATOR]: New flag.
    [-DBUILD_UNIT_TESTS]: New flag.
    [-DBUILD_MJ2]: New flag.
    [-DBUILD_JPWL]: New flag.
    [-DBUILD_JP3D]: New flag.
    [-DBUILD_TESTING]: New flag.
    [-DOPJ_DATA_ROOT]: New flag.
    <#:phases>['disable-failing-tests]: New phase.
    ['move-docs]: New phase.
    [native-inputs]: Add doxygen, openjpeg-data and python-wrapper.
    [inputs]: Add curl and fcgi.
    [synopsis]: Modify.
    [description]: Modify.

commit 3b0c5eb403f37e34d1eaea81ec772ff0d2e9cff1
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Jul 10 15:57:04 2020 -0400

    gnu: Add openjpeg-data.

    * gnu/packages/image.scm (openjpeg-data): New variable.

commit e62c2d2a03b8c80325a5123ff17e6a01200adbd2
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Fri Jul 10 10:56:58 2020 -0400

    gnu: libsoup: Update package definition.

    * gnu/packages/gnome.scm (libsoup): Update package definition.
    [arguments]<#:modules>: Remove argument.
    <#:glib-or-gtk?>: New argument.
    <#:phases>['adjust-tests]: Remove phase.
    ['patch-docbook-xml]: New phase.
    ['disable-failing-tests]: New phase.
    ['move-doc]: Modify phase.
    [native-inputs]: Remove gnutls. Add docbook-xml.
    [inputs]: Remove glib-networking. Add samba.
    [propagated-inputs]: Add glib-networking.
    [home-page]: Modify.

commit ac6be0a068ab5e064e3d2ca621cd06fc29428831
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 18:34:16 2020 -0400

    gnu: libsecret: Update package definition.

    * gnu/packages/gnome.scm (libsecret): Update package definition.
    [build-system]: Change from gnu to meson.
    [arguments]<#:glib-or-gtk?>: New argument.
    <#:tests?>: Remove argument.
    <#:configure-flags>[--with-html-dir]: Remove flag.
    <#:phases>['patch-docbook-xml]: New phase.
    ['check]: New phase.
    ['move-docs]: New phase.
    [native-inputs]: Add dbus, docbook-xml, docbook-xsl, gtk-doc,
    python-wrapper, python-dbus and python-pygobject.
    [inputs]: Remove docbook-xsl and libgcrypt.
    [propagated-inputs]: Add libgcrypt.
    [synopsis]: Modify.
    [description]: Modify.
    [license]: Add asl2.0 and gpl2+.

commit ccf88caec4ea397e3be75fed52ab4217123e2a0e
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 15:32:05 2020 -0400

    gnu: librsvg-next: Update package definition.

    * gnu/packages/gnome.scm (librsvg-next): Remove inheritance from
librsvg.
    [version]: Update to 2.48.8.
    [source]<origin>[sha256]: Modify base32.
    [modules]: Remove modules.
    [snippet]: Remove snippet.
    [arguments]<#:cargo-inputs>: Add rust-alga, rust-approx, rust-atty,
    rust-autocfg, rust-block, rust-bstr, rust-bumpalo, rust-byteorder,
    rust-cast, rust-cfg-if, rust-clap, rust-criterion, rust-criterion-plot,
    rust-crossbeam-deque, rust-crossbeam-epoch, rust-crossbeam-queue,
    rust-crossbeam-utils, rust-cssparser-macros, rust-csv, rust-csv-core,
    rust-derive-more, rust-dtoa, rust-dtoa-short, rust-either,
    rust-encoding-index-japanese, rust-encoding-index-korean,
    rust-encoding-index-simpchinese, rust-encoding-index-singlebyte,
    rust-encoding-index-tradchinese, rust-encoding-index-tests,
    rust-futf, rust-futures-channel, rust-futures-core,
rust-futures-executor,
    rust-futures-io, rust-futures-macro, rust-futures-task,
rust-futures-util,
    rust-fxhash, rust-generic-array, rust-getrandom, rust-half,
    rust-hermit-abi, rust-idna, rust-itoa, rust-js-sys, rust-libm, rust-log,
    rust-mac, rust-malloc-buf, rust-matches, rust-matrixmultiply,
    rust-maybe-uninit, rust-memchr, rust-memoffset,
rust-new-debug-unreachable,
    rust-nodrop, rust-num-complex, rust-num-integer, rust-num-rational,
    rust-num-cpus, rust-objc, rust-objc-foundation, rust-objc-id,
rust-once-cell,
    rust-oorandom, rust-pangocairo-sys, rust-percent-encoding,
rust-phf-codegen,
    rust-phf-generator, rust-phf-macros, rust-phf-shared, rust-pin-project,
    rust-pin-project-internal, rust-pin-utils, rust-pkg-config,
rust-plotters,
    rust-ppv-lite86, rust-precomputed-hash, rust-proc-macro-hack,
    rust-proc-macro-nested, rust-proc-macro2, rust-quote, rust-rand,
    rust-rand-chacha, rust-rand-core, rust-rand-distr, rust-rand-hc,
    rust-rand-pcg, rust-rawpointer, rust-regex-automata, rust-regex-syntax,
    rust-rgb, rust-rustc-version, rust-ryu, rust-same-file, rust-scopeguard,
    rust-selectors, rust-semver, rust-semver-parser, rust-serde,
    rust-serde-cbor, rust-serde-derive, rust-serde-json, rust-servo-arc,
    rust-siphasher, rust-slab, rust-smallvec, rust-stable-deref-trait,
    rust-string-cache-codegen, rust-syn, rust-tendril, rust-textwrap,
    rust-thin-slice, rust-thread-local, rust-time, rust-tinytemplate,
rust-tinyvec,
    rust-typenum, rust-unicode-bidi, rust-unicode-normalization,
rust-unicode-width,
    rust-unicode-xid, rust-utf, rust-walkdir, rust-wasi, rust-wasm-bindgen,
    rust-wasm-bindgen-backend, rust-wasm-bindgen-macro,
rust-wasm-bindgen-macro-support,
    rust-wasm-bindgen-shared, rust-web-sys, rust-winapi,
rust-winapi-i686-pc-windows-gnu,
    rust-winapi-util, rust-winapi-x86-64-pc-windows-gnu, rust-xml5ever.
    <#:phases>['patch-docbook]: New phase.
    ['prepare-for-build]: Modify phase.
    ['gnu-configure]: Modify.
    ['remove-failing-tests]: Remove phase.
    [native-inputs]: Add docbook-xml, python-wrapper and ruby.
    [inputs]: Add fontconfig, freetype and harfbuzz.
    [synopsis]: Modify.
    [description]: Modify.

commit 47ceef6764ce44b52badbaa10275abbc21ab752b
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 10:05:40 2020 -0400

    gnu: Add rust-nalgebra-0.19.

    * gnu/packages/crates-io.scm (rust-nalgebra-0.19): New variable.

commit 60174915d2478f0d23fcd59e18029f7dd37220c8
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 09:57:47 2020 -0400

    gnu: Add rust-xml5ever-0.16.

    * gnu/packages/crates-io.scm (rust-xml5ever-0.16): New Variable.

commit 4d6bde65bc13ee142c5ba490fb1727372b339070
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 09:36:50 2020 -0400

    gnu: Add rust-tinyvec-0.3.

    * gnu/packages/crates-io.scm (rust-tinyvec-0.3): New variable.

commit 4aba7254add4df3b608b5745f354e41e505b9e81
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 09:21:14 2020 -0400

    gnu: Add rust-selectors-0.22.

    * gnu/packages/crates-io.scm (rust-selectors-0.22): New variable.

commit 887779c517f0dc7b10fcd05974dc09e79d491d4b
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 09:03:34 2020 -0400

    gnu: Add rust-thin-slice-0.1.

    * gnu/packages/crates-io.scm (rust-thin-slice-0.1): New variable.

commit 71e18e69f09c46632e91413bf2f1936a6c526020
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 08:58:21 2020 -0400

    gnu: Add rust-servo-arc-0.1.

    * gnu/packages/crates-io.scm (rust-servo-arc-0.1): New variable.

commit a745441f602f2b30ce19599886f064c778bfe511
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 08:02:04 2020 -0400

    git: Add rust-rgb-0.8.

    * gnu/packages/crates-io.scm (rust-rgb-0.8): New variable.

commit 0e49975422adc4b97c72b9f9b74729ab60b26e6e
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 07:54:46 2020 -0400

    gnu: Add rust-bytemuck-1.2.

    * gnu/packages/crates-io.scm (rust-bytemuck-1.2): New variable.

commit 5eae01e8267d13f2b204b31b91047003a6e36c82
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 07:47:50 2020 -0400

    gnu: Add rust-rand-distr-0.2.

    * gnu/packages/crates-io.scm (rust-rand-distr-0.2): New variable.

commit 4dcf62989da3166ca40fa4f3c5c551888087512f
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 07:20:20 2020 -0400

    gnu: Add rust-pin-project-0.4.

    * gnu/packages/crates-io.scm (rust-pin-project-0.4): New variable.

commit aa55a904828da2177dc1af513b9e02c93e1f04d9
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 07:10:34 2020 -0400

    gnu: Add rust-pin-project-internal-0.4.

    * gnu/packages/crates-io.scm (rust-pin-project-internal-0.4): New
variable.

commit ed44c254b8fb635f1393d59ab5b4726214102029
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 06:57:37 2020 -0400

    gnu: Add rust-itertools-0.9.

    * gnu/packages/crates-io.scm (rust-itertools-0.9): New variable.

commit b3384295a3bc06e3dfcd7fe2e2720e1138ff91b3
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 06:24:38 2020 -0400

    gnu: Add rust-derive-more-0.99.

    * gnu/packages/crates-io.scm (rust-derive-more-0.99): New variable.

commit b88d76191d6ccc6b3fee1e3a5fac87214bd33921
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 06:11:09 2020 -0400

    gnu: Add rust-peg-0.5.

    * gnu/packages/crates-io.scm (rust-peg-0.5): New variable.

commit 781f11b7111641ba828db6578708f38830406442
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 05:56:20 2020 -0400

    gnu: Add rust-peg-0.6.

    * gnu/packages/crates-io.scm (rust-peg-0.6): New variable.

commit 6a528d68fd127ee1d28b335d7e9fdf5789b3abae
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 05:35:36 2020 -0400

    gnu: Add rust-peg-macros-0.6.

    * gnu/packages/crates-io.scm (rust-peg-macros-0.6): New variable.

commit dc076128b1023ef9b3a124033b27de1204b437a1
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 05:28:52 2020 -0400

    gnu: Add rust-peg-runtime-0.6.

    * gnu/packages/crates-io.scm (rust-peg-runtime-0.6): New variable.

commit 2bb07bd0288b0b24b61a39c856e88575d657edaf
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Thu Jul 9 05:16:02 2020 -0400

    gnu: Add rust-pangocairo-0.9.

    * gnu/packages/crates-io.scm (rust-pangocairo-0.9): New variable.

commit 9d7906a55f1cf71ba415130adde3213453ee014d
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 14:53:21 2020 -0400

    gnu: Add rust-pango-0.8.

    * gnu/packages/crates-io.scm (rust-pango-0.8): New variable.

commit e4d5578699e49f481a9d9cb92bc8772b459a0c78
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 14:53:03 2020 -0400

    gnu: Add rust-markup5ever-0.10.

    * gnu/packages/crates-io.scm (rust-markup5ever-0.10): New variable.

commit 18b4927d7ac981cec981719b9da252c88c26d3bb
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 14:52:26 2020 -0400

    gnu: Add rust-string-cache-codegen-0.5.

    * gnu/packages/crates-io.scm (rust-string-cache-codegen-0.5): New
variable.

commit 08d4259b593d29735ae892d1340896a9d13bd554
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 14:52:04 2020 -0400

    gnu: Add rust-string-cache-0.8.

    * gnu/packages/crates-io.scm (rust-string-cache-0.8): New variable.

commit 845c8f24b851366eda195f946fddc4d46c95f5e6
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 14:51:28 2020 -0400

    gnu: Add rust-gdk-pixbuf-0.8.

    * gnu/packages/crates-io.scm (rust-gdk-pixbuf-0.8): New variable.

commit 4a5a15d0702cfb6724d96ee7cf3232e2c3aada27
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 14:50:51 2020 -0400

    gnu: Add rust-gio-0.8.

    * gnu/packages/crates-io.scm (rust-gio-0.8): New variable.

commit e9731ea683856c84f6527f681418ad93a0796ea6
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 14:48:59 2020 -0400

    gnu: Add rust-serial-test-derive-0.1.

    * gnu/packages/crates-io.scm (rust-serial-test-derive-0.1): New
variable.

commit fed457440890662c10efe3fceb1026deebd1c6e5
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 14:48:28 2020 -0400

    gnu: Add rust-serial-test-0.1.

    * gnu/packages/crates-io.scm (rust-serial-test-0.1): New variable.

commit 80c4c7b042554e69c65dff0cb65c2edb880f29b4
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 14:48:03 2020 -0400

    gnu: Add rust-serial-test-0.4.

    * gnu/packages/crates-io.scm (rust-serial-test-0.4): New variable.

commit 8d65543c7ab73f8584b46f62c7676ce35b7f0d6c
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 14:47:02 2020 -0400

    gnu : Add rust-serial-test-derive-0.4.

    * gnu/packages/crates-io.scm (rust-serial-test-derive-0.4): New
variable.

commit 23980cab980c49a732181b3464f05c9dfef29650
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 14:46:42 2020 -0400

    gnu: Add rust-float-cmp-0.6.

    * gnu/packages/crates-io.scm (rust-float-cmp-0.6): New variable.

commit c3df5d13eda86deea0f43a28bb78edca68a94540
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 14:44:49 2020 -0400

    gnu: Add rust-downcast-rs-1.2.

    * gnu/packages/crates-io.scm (rust-downcast-rs-1.2): New variable.

commit 21450c93bd6bafda55ab0dfeb762ce16819f7521
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 14:44:20 2020 -0400

    gnu: Add rust-cssparser-0.27.

    * gnu/packages/crates-io.scm (rust-cssparser-0.27): New variable.

commit cb19410f00429d63aa3bc982534b73f1799549bf
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 14:43:51 2020 -0400

    gnu: Add rust-cssparser-macros-0.6.

    * gnu/packages/crates-io.scm (rust-cssparser-macros-0.6): New variable.

commit c63227858d1e9c7563a192af82cbf9fcd5394664
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 13:47:34 2020 -0400

    gnu: librsvg: Update package definition.

    * gnu/packages/gnome.scm (librsvg): Update package definition.
    [build-system]: Change from gnu to glib-or-gtk.
    [outputs]: New output "doc".
    [arguments]<#:configure-flags>[--with-html-dir]: New flag.
    <#:phases>['patch-docbook]: New phase.
    ['remove-failing-tests]: Modify phase.
    [native-inputs]: Add docbook-xml and python-wrapper.
    [inputs]: Add fontconfig, freetype and  harfbuzz.
    [synopsis]: Modify.
    [description]: Modify.
    [license]: Update to lgpl2.1+.

commit 2875ac51195fa7944c7791df0ce1a497a5d76e45
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 13:46:52 2020 -0400

    gnu: libnotify: Update package definition.

    * gnu/packages/gnome.scm (libnotify) [version]: Update to 0.7.9.
    [build-system]: Change from gnu to meson.
    [outputs]: New output "doc".
    [arguments]<#:glib-or-gtk?>: New argument.
    <#:configure>[-Dman]: New flag.
    <#:phases>['patch-docbook]: New phase.
    ['move-doc]: New phase.
    [native-inputs]: Add docbook-xml, gtk-doc and python-wrapper.
    [inputs]: Remove libpng.
    [home-page]: Modify.

commit 6300619139d1a18b5a948aec96dd0b9b83b6fb5c
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 13:46:05 2020 -0400

    gnu: libgee: Update package definition.

    * gnu/packages/gnome.scm (libgee): Update package definition.
    [build-system]: Change from gnu to glib-or-gtk.
    [native-inputs]: Add gobject-introspection and perl.
    [inputs]: Remove glib and gobject-introspection.
    [propagated-inputs]: Add glib.

commit 321791ac488ff6026ae6d2a79044d926a5faf00f
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 13:45:25 2020 -0400

    gnu: libcanberra: Update package definition.

    * gnu/packages/libcanberra.scm (libcanberra): Update package definition.
    [source]<origin>[method]: Change from url-fetch to git-fetch.
    [uri]: Change from fedora to debian.
    [build-system]: Change from gnu to glib-or-gtk.
    [outputs]: New output "doc".
    [inputs]: Add glib and tdb. Remove gtk+.
    [propagated-inputs]: Add gtk+-2 and gtk+.
    [synopsis]: Modify.

commit c282146c9f24ef5cc1926099c60df08fc4d9daa5
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 13:44:36 2020 -0400

    gnu: json-glib: Update package definition.

    * gnu/packages/gnome.scm (json-glib): Update package definition.
    [outputs]: New output "doc".
    [arguments]<#:glib-or-gtk?>: New argument.
    <#:configure-flags>[-Ddocs]: New flag.
    [-Dman]: New flag.
    <#:phases>['patch-docbook]: New phase.
    ['move-doc]: New phase.
    [native-inputs]: Add docbook-xml, docbook-xsl, gtk-doc and libxslt.
    [synopsis]: Modify.
    [description]: Modify.

commit fa60ad8e79034bfd415cb8e443e355b51846c6c8
Author: Raghav Gururajan <raghavgururajan@disroot.org>
Date:   Wed Jul 8 12:57:45 2020 -0400

    gnu: ibus: Update package definition.

    * gnu/packages/ibus.scm (ibus): Update package definition.
    [source]<origin>[method]: Change from url-fetch to git-fetch.
    [uri]: Add git-reference, url and commit.
    [file-name]: Add git-file-name.
    [sha256]: Modify base32.
    [patches]: Add ibus-disable-failing-tests.patch.
    [outputs]: New output 'doc'.
    [arguments]<#:tests?>: Remove argument.
    <#:parallel-build?>: Remove argument.
    <#:configure-flags>[--enable-appindicator]: New flag.
    [--enable-gtk-doc]: New flag.
    [--enable-memconf]: New flag.
    <#:phases>['delete-generated-files]: Remove phase.
    ['patch-docbook-xml]: New phase.
    ['pre-check]: New phase.
    ['move-docs]: New phase.
    [native-inputs]: Remove ucd, unicode-emoji and unicode-cldr-common.
    Add autoconf, automake, docbook-xml, gnome-common, gtk+:bin, gtk-doc,
    libtool, perl, which and xorg-server-for-tests.
    [inputs]: Add python-dbus, python2-dbus, glib, python-pygobject,
    python-wrapper, python-2, python-3, ucd, unicode-cldr-common,
    unicode-emoji, libxkbcommon and libxtst.
    [search-paths]: New field.
    [synopsis]: Modify.

    * gnu/packages/patches/ibus-disable-failing-tests.patch: New file.

    * gnu/local.mk (ibus-disable-failing-tests.patch): New reference.

*** END ***

Regards,
RG.

[-- Attachment #1.1.2: 0001-gnu-ibus-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 15555 bytes --]

From fa60ad8e79034bfd415cb8e443e355b51846c6c8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 12:57:45 -0400
Subject: [PATCH 01/62] gnu: ibus: Update package definition.

* gnu/packages/ibus.scm (ibus): Update package definition.
[source]<origin>[method]: Change from url-fetch to git-fetch.
[uri]: Add git-reference, url and commit.
[file-name]: Add git-file-name.
[sha256]: Modify base32.
[patches]: Add ibus-disable-failing-tests.patch.
[outputs]: New output 'doc'.
[arguments]<#:tests?>: Remove argument.
<#:parallel-build?>: Remove argument.
<#:configure-flags>[--enable-appindicator]: New flag.
[--enable-gtk-doc]: New flag.
[--enable-memconf]: New flag.
<#:phases>['delete-generated-files]: Remove phase.
['patch-docbook-xml]: New phase.
['pre-check]: New phase.
['move-docs]: New phase.
[native-inputs]: Remove ucd, unicode-emoji and unicode-cldr-common.
Add autoconf, automake, docbook-xml, gnome-common, gtk+:bin, gtk-doc,
libtool, perl, which and xorg-server-for-tests.
[inputs]: Add python-dbus, python2-dbus, glib, python-pygobject,
python-wrapper, python-2, python-3, ucd, unicode-cldr-common,
unicode-emoji, libxkbcommon and libxtst.
[search-paths]: New field.
[synopsis]: Modify.

* gnu/packages/patches/ibus-disable-failing-tests.patch: New file.

* gnu/local.mk (ibus-disable-failing-tests.patch): New reference.
---
 gnu/local.mk                                  |   1 +
 gnu/packages/ibus.scm                         | 193 +++++++++++-------
 .../patches/ibus-disable-failing-tests.patch  |  75 +++++++
 3 files changed, 197 insertions(+), 72 deletions(-)
 create mode 100644 gnu/packages/patches/ibus-disable-failing-tests.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 5c1eb7224f..b36b91ce74 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1093,6 +1093,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/hurd-xattr.patch				\
   %D%/packages/patches/hplip-remove-imageprocessor.patch	\
   %D%/packages/patches/hydra-disable-darcs-test.patch		\
+  %D%/packages/patches/ibus-disable-failing-tests.patch			\
   %D%/packages/patches/icecat-makeicecat.patch			\
   %D%/packages/patches/icecat-avoid-bundled-libraries.patch	\
   %D%/packages/patches/icecat-use-older-reveal-hidden-html.patch	\
diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm
index 0793635b7d..2d430f2f3c 100644
--- a/gnu/packages/ibus.scm
+++ b/gnu/packages/ibus.scm
@@ -42,6 +42,7 @@
   #:use-module (gnu packages databases)
   #:use-module (gnu packages datastructures)
   #:use-module (gnu packages dbm)
+  #:use-module (gnu packages docbook)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
@@ -49,70 +50,64 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages iso-codes)
   #:use-module (gnu packages logging)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages unicode)
-  #:use-module (gnu packages xorg))
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages xdisorg))
 
 (define-public ibus
   (package
     (name "ibus")
     (version "1.5.22")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/ibus/ibus/"
-                                  "releases/download/"
-                                  version "/ibus-" version ".tar.gz"))
-              (sha256
-               (base32
-                "0jmy2w01phpmqnjnfnak7nvfna57mpgfnl87jwc4iai8ijjynw41"))))
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/ibus/ibus.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "09ynn7gq84q18hhbg6wq2yrliwil42qbzxbwbpggry1s955jg5xb"))
+       (patches
+        (search-patches "ibus-disable-failing-tests.patch"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:tests? #f  ; tests fail because there's no connection to dbus
-       #:parallel-build? #f ; race condition discovered with emoji support
-       #:configure-flags (list "--enable-python-library"
-                               (string-append
-                                "--with-unicode-emoji-dir="
-                                (assoc-ref %build-inputs "unicode-emoji")
-                                "/share/unicode/emoji")
-                               (string-append
-                                "--with-emoji-annotation-dir="
-                                (assoc-ref %build-inputs "unicode-cldr-common")
-                                "/share/unicode/cldr/common/annotations")
-                               (string-append "--with-ucd-dir="
-                                              (assoc-ref %build-inputs "ucd")
-                                              "/share/ucd")
-                               "--enable-wayland")
+     `(#:configure-flags
+       (list
+        "--enable-wayland"
+        "--enable-appindicator"
+        "--enable-gtk-doc"
+        "--enable-memconf"
+        "--enable-python-library"
+        (string-append
+         "--with-unicode-emoji-dir="
+         (assoc-ref %build-inputs "unicode-emoji")
+         "/share/unicode/emoji")
+        (string-append
+         "--with-emoji-annotation-dir="
+         (assoc-ref %build-inputs "unicode-cldr-common")
+         "/share/unicode/cldr/common/annotations")
+        (string-append "--with-ucd-dir="
+                       (assoc-ref %build-inputs "ucd")
+                       "/share/ucd"))
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'patch-python-target-directories
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((root (string-append (assoc-ref outputs "out")
-                                        "/lib/python"
-                                        ,(version-major+minor (package-version python))
-                                        "/site-packages")))
-               (substitute* "configure"
-                 (("(py2?overridesdir)=.*" _ var)
-                  (string-append var "=" root "/gi/overrides/"))
-                 (("(pkgpython2dir=).*" _ var)
-                  (string-append var root "/ibus"))))
-             #t))
-         (add-before 'configure 'disable-dconf-update
-           (lambda _
-             (substitute* "data/dconf/Makefile.in"
-               (("dconf update") "echo dconf update"))
-             #t))
-         (add-after 'unpack 'delete-generated-files
-           (lambda _
-             (for-each (lambda (file)
-                         (let ((c (string-append (string-drop-right file 4) "c")))
-                           (when (file-exists? c)
-                             (format #t "deleting ~a\n" c)
-                             (delete-file c))))
-                       (find-files "." "\\.vala"))
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs/reference/ibus"
+               (substitute* "ibus-docs.sgml.in"
+                 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
              #t))
          (add-after 'unpack 'fix-paths
            (lambda* (#:key inputs #:allow-other-keys)
@@ -124,50 +119,104 @@
                (("\"(setxkbmap|xmodmap)\"" _ prog)
                 (string-append "\"" (assoc-ref inputs prog) "/bin/" prog "\"")))
              #t))
+         (add-after 'unpack 'disable-dconf-update
+           (lambda _
+             (substitute* "data/dconf/Makefile.am"
+               (("dconf update")
+                "echo dconf update"))
+             #t))
+         (add-before 'configure 'patch-python-target-directories
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((root (string-append (assoc-ref outputs "out")
+                                         "/lib/python"
+                                         ,(version-major+minor (package-version python))
+                                         "/site-packages")))
+               (substitute* "configure"
+                 (("(py2?overridesdir)=.*" _ var)
+                  (string-append var "=" root "/gi/overrides/"))
+                 (("(pkgpython2dir=).*" _ var)
+                  (string-append var root "/ibus"))))
+             #t))
+         (add-before 'check 'pre-check
+           (lambda _
+             ;; Tests write to $HOME.
+             (setenv "HOME" (getcwd))
+             ;; Tests require running iBus daemon.
+             (system "./bus/ibus-daemon --daemonize")
+             #t))
+         (add-after 'install 'move-docs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share"))
+               (rename-file
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t)))
          (add-after 'wrap-program 'wrap-with-additional-paths
            (lambda* (#:key outputs #:allow-other-keys)
              ;; Make sure 'ibus-setup' runs with the correct PYTHONPATH and
              ;; GI_TYPELIB_PATH.
-             (let ((out (assoc-ref outputs "out")))
+             (let* ((out (assoc-ref outputs "out")))
                (wrap-program (string-append out "/bin/ibus-setup")
                  `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))
                  `("GI_TYPELIB_PATH" ":" prefix
                    (,(getenv "GI_TYPELIB_PATH")
                     ,(string-append out "/lib/girepository-1.0")))))
              #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("docbook-xml" ,docbook-xml-4.1.2)
+       ("gettext" ,gettext-minimal)
+       ("glib" ,glib "bin")
+       ("gnome-common" ,gnome-common)
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+:bin" ,gtk+ "bin")
+       ("gtk-doc" ,gtk-doc)
+       ("libtool" ,libtool)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("vala" ,vala)
+       ("which" ,which)
+       ("xorg-server" ,xorg-server-for-tests)))
     (inputs
      `(("dbus" ,dbus)
+       ("dbus-python" ,python-dbus)
+       ("dbus-python2" ,python2-dbus)
        ("dconf" ,dconf)
        ("gconf" ,gconf)
+       ("glib" ,glib)
        ("gtk2" ,gtk+-2)
-       ("gtk+" ,gtk+)
+       ("gtk3" ,gtk+)
+       ("iso-codes" ,iso-codes)
        ("json-glib" ,json-glib)
        ("libnotify" ,libnotify)
-       ("libx11" ,libx11)
+       ("pygobject" ,python-pygobject)
+       ("pygobject2" ,python2-pygobject)
+       ("python" ,python-wrapper)
+       ("python2" ,python-2)
+       ("python3" ,python-3)
        ("setxkbmap" ,setxkbmap)
-       ("wayland" ,wayland)
-       ("xmodmap" ,xmodmap)
-       ("iso-codes" ,iso-codes)
-       ("pygobject2" ,python-pygobject)
-       ("python" ,python)))
-    (native-inputs
-     `(("glib" ,glib "bin") ; for glib-genmarshal
-       ("gettext" ,gettext-minimal)
-       ("gobject-introspection" ,gobject-introspection) ; for g-ir-compiler
        ("ucd" ,ucd)
-       ("unicode-emoji" ,unicode-emoji)
        ("unicode-cldr-common" ,unicode-cldr-common)
-       ("vala" ,vala)
-       ("pkg-config" ,pkg-config)))
+       ("unicode-emoji" ,unicode-emoji)
+       ("wayland" ,wayland)
+       ("x11" ,libx11)
+       ("xkbcommon" ,libxkbcommon)
+       ("xmodmap" ,xmodmap)
+       ("xtst" ,libxtst)))
     (native-search-paths
-     (list (search-path-specification
-            (variable "IBUS_COMPONENT_PATH")
-            (files '("share/ibus/component")))))
-    (synopsis "Input method framework")
-    (description
-     "IBus is an input framework providing a full-featured and user-friendly
-input method user interface.  It comes with multilingual input support.  It
-may also simplify input method development.")
+     (list
+      (search-path-specification
+       (variable "IBUS_COMPONENT_PATH")
+       (files '("share/ibus/component")))))
+    ;; To load iBus components.
+    (search-paths native-search-paths)
+    (synopsis "Intelligent Input Bus")
+    (description "IBus is an input framework providing a full-featured and
+user-friendly input method user interface.  It comes with multilingual input
+support.  It may also simplify input method development.")
     (home-page "https://github.com/ibus/ibus/wiki")
     (license lgpl2.1+)))
 
diff --git a/gnu/packages/patches/ibus-disable-failing-tests.patch b/gnu/packages/patches/ibus-disable-failing-tests.patch
new file mode 100644
index 0000000000..6c55550d7a
--- /dev/null
+++ b/gnu/packages/patches/ibus-disable-failing-tests.patch
@@ -0,0 +1,75 @@
+From 402e545ee411f9ef758636a6ac12b4741476b7e0 Mon Sep 17 00:00:00 2001
+From: Raghav Gururajan <raghavgururajan@disroot.org>
+Date: Sun, 5 Jul 2020 09:44:03 -0400
+Subject: [PATCH] [PATCH]: Disable failing tests.
+
+---
+ bindings/pygobject/Makefile.am | 5 -----
+ bus/Makefile.am                | 1 -
+ src/tests/Makefile.am          | 8 --------
+ 3 files changed, 14 deletions(-)
+
+diff --git a/bindings/pygobject/Makefile.am b/bindings/pygobject/Makefile.am
+index 84bd37cb..16ae0591 100644
+--- a/bindings/pygobject/Makefile.am
++++ b/bindings/pygobject/Makefile.am
+@@ -39,10 +39,6 @@ overrides_PYTHON =				\
+ 
+ TESTS =
+ 
+-if ENABLE_TESTS
+-TESTS += test-override-ibus.py
+-endif
+-
+ # IBus.Keymap() accesses keymap files
+ TESTS_ENVIRONMENT = \
+ 	PYTHONPATH=$(top_srcdir)/tests:$${PYTHONPATH:+:$$PYTHONPATH} \
+@@ -56,7 +52,6 @@ LOG_COMPILER = $(PYTHON) -B
+ EXTRA_DIST =					\
+ 	gi/__init__.py				\
+ 	gi/overrides/__init__.py		\
+-	test-override-ibus.py                   \
+ 	$(NULL)
+ 
+ install-data-hook:
+diff --git a/bus/Makefile.am b/bus/Makefile.am
+index 4383a874..610b0ebc 100644
+--- a/bus/Makefile.am
++++ b/bus/Makefile.am
+@@ -113,7 +113,6 @@ endif
+ if ENABLE_TESTS
+ TESTS = \
+ 	test-matchrule \
+-	test-stress	\
+ 	$(NULL)
+ endif
+ 
+diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am
+index 0a2e523c..7e3a2ef9 100644
+--- a/src/tests/Makefile.am
++++ b/src/tests/Makefile.am
+@@ -51,7 +51,6 @@ TESTS = \
+     ibus-keynames                   \
+     ibus-registry                   \
+     ibus-serializable               \
+-    ibus-share                      \
+     ibus-util                       \
+     $(NULL)
+ 
+@@ -61,13 +60,6 @@ if ENABLE_ENGINE
+ TESTS += ibus-engine-switch
+ endif
+ 
+-if ENABLE_GTK3
+-TESTS += ibus-compose
+-if ENABLE_XTEST
+-TESTS += ibus-keypress
+-endif
+-endif
+-
+ TESTS_ENVIRONMENT = \
+     top_builddir=$(top_builddir) \
+     top_srcdir=$(top_srcdir) \
+-- 
+2.26.2
+
-- 
2.27.0


[-- Attachment #1.1.3: 0002-gnu-json-glib-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 4653 bytes --]

From c282146c9f24ef5cc1926099c60df08fc4d9daa5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 13:44:36 -0400
Subject: [PATCH 02/62] gnu: json-glib: Update package definition.

* gnu/packages/gnome.scm (json-glib): Update package definition.
[outputs]: New output "doc".
[arguments]<#:glib-or-gtk?>: New argument.
<#:configure-flags>[-Ddocs]: New flag.
[-Dman]: New flag.
<#:phases>['patch-docbook]: New phase.
['move-doc]: New phase.
[native-inputs]: Add docbook-xml, docbook-xsl, gtk-doc and libxslt.
[synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/gnome.scm | 71 +++++++++++++++++++++++++++++++-----------
 1 file changed, 52 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index a739225e4a..f0982b2ed6 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3943,30 +3943,63 @@ configuration storage systems.")
   (package
     (name "json-glib")
     (version "1.4.4")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0ixwyis47v5bkx6h8a1iqlw3638cxcv57ivxv4gw2gaig51my33j"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Ddocs=true"
+        "-Dman=true")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* "json-glib-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/")))
+               (substitute* "meson.build"
+                 (("http://docbook.sourceforge.net/release/xsl/current/")
+                  (string-append (assoc-ref inputs "docbook-xsl")
+                                 "/xml/xsl/docbook-xsl-1.79.1/"))))
+             #t))
+         (add-after 'install 'move-docs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share"))
+               (rename-file
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
-       ("glib" ,glib "bin")              ;for glib-mkenums and glib-genmarshal
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("docbook-xsl" ,docbook-xsl)
+       ("gettext" ,gettext-minimal)
+       ("glib" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
-       ("pkg-config" ,pkg-config)))
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
-     `(("glib" ,glib)))                         ;according to json-glib-1.0.pc
-    (home-page "https://wiki.gnome.org/Projects/JsonGlib")
-    (synopsis "Compiler for the GObject type system")
-    (description
-     "JSON-GLib is a C library based on GLib providing serialization and
+     `(("glib" ,glib)))
+    (synopsis "Glib and GObject implementation of JSON")
+    (description "JSON-GLib is a library providing serialization and
 deserialization support for the JavaScript Object Notation (JSON) format
-described by RFC 4627.  It provides parser and generator GObject classes and
-various wrappers for the complex data types employed by JSON, such as arrays
-and objects.")
+described by RFC 4627.  It implements a full JSON parser and generator using
+GLib and GObject, and integrates JSON with GLib data types.")
+    (home-page "https://wiki.gnome.org/Projects/JsonGlib")
     (license license:lgpl2.1+)))
 
 (define-public libxklavier
-- 
2.27.0


[-- Attachment #1.1.4: 0003-gnu-libcanberra-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 6255 bytes --]

From 321791ac488ff6026ae6d2a79044d926a5faf00f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 13:45:25 -0400
Subject: [PATCH 03/62] gnu: libcanberra: Update package definition.

* gnu/packages/libcanberra.scm (libcanberra): Update package definition.
[source]<origin>[method]: Change from url-fetch to git-fetch.
[uri]: Change from fedora to debian.
[build-system]: Change from gnu to glib-or-gtk.
[outputs]: New output "doc".
[inputs]: Add glib and tdb. Remove gtk+.
[propagated-inputs]: Add gtk+-2 and gtk+.
[synopsis]: Modify.
---
 gnu/packages/libcanberra.scm | 99 ++++++++++++++++++++----------------
 1 file changed, 55 insertions(+), 44 deletions(-)

diff --git a/gnu/packages/libcanberra.scm b/gnu/packages/libcanberra.scm
index 32d1cd3605..61d88d5e01 100644
--- a/gnu/packages/libcanberra.scm
+++ b/gnu/packages/libcanberra.scm
@@ -26,10 +26,12 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (guix utils)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages glib)
@@ -46,44 +48,40 @@
     (version "0.30")
     (source
      (origin
-      (method url-fetch)
-
-      ;; This used to be at 0pointer.de but it vanished.
-      (uri (string-append
-            "http://pkgs.fedoraproject.org/repo/pkgs/libcanberra/libcanberra-"
-            version ".tar.xz/34cb7e4430afaf6f447c4ebdb9b42072/libcanberra-"
-            version ".tar.xz"))
-      (sha256
-       (base32
-        "0wps39h8rx2b00vyvkia5j40fkak3dpipp1kzilqla0cgvk73dn2"))
-      ;; "sound-theme-freedesktop" is the default and fall-back sound theme for
-      ;; XDG desktops and should always be present.
-      ;; http://www.freedesktop.org/wiki/Specifications/sound-theme-spec/
-      ;; We make sure libcanberra will find it.
-      ;;
-      ;; We add the default sounds store directory to the code dealing with
-      ;; XDG_DATA_DIRS and not XDG_DATA_HOME. This is because XDG_DATA_HOME
-      ;; can only be a single directory and is inspected first.  XDG_DATA_DIRS
-      ;; can list an arbitrary number of directories and is only inspected
-      ;; later.  This is designed to allows the user to modify any theme at
-      ;; his pleasure.
-      (patch-flags '("-p0"))
-      (patches
-       (search-patches "libcanberra-sound-theme-freedesktop.patch"))))
-    (build-system gnu-build-system)
-    (inputs
-     `(("alsa-lib" ,alsa-lib)
-       ("gstreamer" ,gstreamer)
-       ("gtk+" ,gtk+)
-       ("libltdl" ,libltdl)
-       ("libvorbis" ,libvorbis)
-       ("pulseaudio" ,pulseaudio)
-       ("udev" ,eudev)
-       ("sound-theme-freedesktop" ,sound-theme-freedesktop)))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
+       (method git-fetch)
+       ;; The original source is no longer available.
+       (uri
+        (git-reference
+         (url "https://salsa.debian.org/gnome-team/libcanberra.git")
+         (commit
+          (string-append "upstream/" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "14bsgi9pf9hbscsg4ad7pzv9k9iyb5nkns474syx9sw8kfgzx6cc"))
+       ;; "sound-theme-freedesktop" is the default and fall-back sound theme for
+       ;; XDG desktops and should always be present.
+       ;; http://www.freedesktop.org/wiki/Specifications/sound-theme-spec/
+       ;; We make sure libcanberra will find it.
+       ;;
+       ;; We add the default sounds store directory to the code dealing with
+       ;; XDG_DATA_DIRS and not XDG_DATA_HOME. This is because XDG_DATA_HOME
+       ;; can only be a single directory and is inspected first.  XDG_DATA_DIRS
+       ;; can list an arbitrary number of directories and is only inspected
+       ;; later.  This is designed to allows the user to modify any theme at
+       ;; his pleasure.
+       (patch-flags '("-p0"))
+       (patches
+        (search-patches "libcanberra-sound-theme-freedesktop.patch"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:phases
+     `(#:configure-flags
+       (list
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
+       #:phases
        (modify-phases %standard-phases
          (add-before 'build 'patch-default-sounds-directory
            (lambda* (#:key inputs #:allow-other-keys)
@@ -93,14 +91,27 @@
                  (assoc-ref inputs "sound-theme-freedesktop")
                  "/share")))
              #t)))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("glib" ,glib)
+       ("gstreamer" ,gstreamer)
+       ("libltdl" ,libltdl)
+       ("libvorbis" ,libvorbis)
+       ("pulseaudio" ,pulseaudio)
+       ("tdb" ,tdb)
+       ("udev" ,eudev)
+       ("sound-theme-freedesktop" ,sound-theme-freedesktop)))
+    (propagated-inputs
+     `(("gtk+2" ,gtk+-2)
+       ("gtk+3" ,gtk+)))
+    (synopsis "FreeDeskop.org Sound Theme and Name Specifications")
+    (description "Libcanberra is an implementation of the XDG Sound Theme and
+Name Specifications, for generating event sounds on free desktops, such as
+GNOME.  It comes with several backends (ALSA, PulseAudio, OSS, GStreamer, null)
+and is designed to be portable.")
     (home-page "http://0pointer.de/lennart/projects/libcanberra/")
-    (synopsis
-     "Implementation of the XDG Sound Theme and Name Specifications")
-    (description
-     "Libcanberra is an implementation of the XDG Sound Theme and Name
-Specifications, for generating event sounds on free desktops, such as
-GNOME.  It comes with several backends (ALSA, PulseAudio, OSS, GStreamer,
-null) and is designed to be portable.")
     (license lgpl2.1+)))
 
 (define-public libcanberra/gtk+-2
-- 
2.27.0


[-- Attachment #1.1.5: 0004-gnu-libgee-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 3466 bytes --]

From 6300619139d1a18b5a948aec96dd0b9b83b6fb5c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 13:46:05 -0400
Subject: [PATCH 04/62] gnu: libgee: Update package definition.

* gnu/packages/gnome.scm (libgee): Update package definition.
[build-system]: Change from gnu to glib-or-gtk.
[native-inputs]: Add gobject-introspection and perl.
[inputs]: Remove glib and gobject-introspection.
[propagated-inputs]: Add glib.
---
 gnu/packages/gnome.scm | 48 ++++++++++++++++++++++--------------------
 1 file changed, 25 insertions(+), 23 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index f0982b2ed6..13dc8a7af4 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6356,37 +6356,39 @@ wraps things up in a developer-friendly way.")
   (package
     (name "libgee")
     (version "0.20.3")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/libgee/"
-                                  (version-major+minor version) "/"
-                                  "libgee-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
-    (build-system gnu-build-system)
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/libgee/"
+                       (version-major+minor version) "/"
+                       "libgee-" version ".tar.xz"))
+       (sha256
+        (base32
+         "1pm525wm11dhwz24m8bpcln9547lmrigl6cxf3qsbg4cr3pyvdfh"))))
+    (build-system glib-or-gtk-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'fix-introspection-install-dir
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out")))
-              (substitute* "gee/Makefile.in"
-                (("@INTROSPECTION_GIRDIR@")
-                 (string-append out "/share/gir-1.0/"))
-                (("@INTROSPECTION_TYPELIBDIR@")
-                 (string-append out "/lib/girepository-1.0/")))))))))
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (substitute* "gee/Makefile.in"
+                 (("@INTROSPECTION_GIRDIR@")
+                  (string-append out "/share/gir-1.0/"))
+                 (("@INTROSPECTION_TYPELIBDIR@")
+                  (string-append out "/lib/girepository-1.0/")))))))))
     (native-inputs
      `(("glib" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("perl" ,perl)
        ("pkg-config" ,pkg-config)))
-    (inputs
-     `(("glib" ,glib)
-       ("gobject-introspection" ,gobject-introspection)))
-    (home-page "https://wiki.gnome.org/Projects/Libgee")
+    (propagated-inputs
+     `(("glib" ,glib)))
     (synopsis "GObject collection library")
-    (description
-     "Libgee is a utility library providing GObject-based interfaces and
-classes for commonly used data structures.")
+    (description "Libgee is a utility library providing GObject-based interfaces
+and classes for commonly used data structures.")
+    (home-page "https://wiki.gnome.org/Projects/Libgee")
     (license license:lgpl2.1+)))
 
 (define-public gexiv2
-- 
2.27.0


[-- Attachment #1.1.6: 0005-gnu-libnotify-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 4697 bytes --]

From 2875ac51195fa7944c7791df0ce1a497a5d76e45 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 13:46:52 -0400
Subject: [PATCH 05/62] gnu: libnotify: Update package definition.

* gnu/packages/gnome.scm (libnotify) [version]: Update to 0.7.9.
[build-system]: Change from gnu to meson.
[outputs]: New output "doc".
[arguments]<#:glib-or-gtk?>: New argument.
<#:configure>[-Dman]: New flag.
<#:phases>['patch-docbook]: New phase.
['move-doc]: New phase.
[native-inputs]: Add docbook-xml, gtk-doc and python-wrapper.
[inputs]: Remove libpng.
[home-page]: Modify.
---
 gnu/packages/gnome.scm | 78 ++++++++++++++++++++++++++++--------------
 1 file changed, 52 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 13dc8a7af4..713734318f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2422,38 +2422,64 @@ configuring CUPS.")
 (define-public libnotify
   (package
     (name "libnotify")
-    (version "0.7.7")
+    (version "0.7.9")
     (source
      (origin
-      (method url-fetch)
-      (uri (string-append "mirror://gnome/sources/" name "/"
-                          (version-major+minor version)  "/"
-                          name "-" version ".tar.xz"))
-      (sha256
-       (base32
-        "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
-    (build-system gnu-build-system)
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0qa7cx6ra5hwqnxw95b9svgjg5q6ynm8y843iqjszxvds5z53h36"))))
+    (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:configure-flags '("--disable-static")))
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Dman=false")                  ; XXX: docbook-xsl-ns not available
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute*
+                   (append
+                    (list
+                     "notification-spec.xml"
+                     "reference/libnotify-docs.sgml")
+                    (find-files "releases" "\\.xml$"))
+                 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))))
+         (add-after 'install 'move-docs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share"))
+               (rename-file
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
+    (native-inputs
+     `(("docbook-xml" ,docbook-xml-4.1.2)
+       ("glib" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("gtk+" ,gtk+)))
     (propagated-inputs
-     `(;; In Requires of libnotify.pc.
-       ("gdk-pixbuf" ,gdk-pixbuf)
+     `(("gdk-pixbuf" ,gdk-pixbuf+svg)
        ("glib" ,glib)))
-    (inputs
-     `(("gtk+" ,gtk+)
-       ("libpng" ,libpng)))
-    (native-inputs
-      `(("pkg-config" ,pkg-config)
-        ("glib" ,glib "bin")
-        ("gobject-introspection" ,gobject-introspection)))
-    (home-page "https://developer-next.gnome.org/libnotify/")
-    (synopsis
-     "GNOME desktop notification library")
-    (description
-     "Libnotify is a library that sends desktop notifications to a
+    (synopsis "GNOME desktop notification library")
+    (description "Libnotify is a library that sends desktop notifications to a
 notification daemon, as defined in the Desktop Notifications spec.  These
-notifications can be used to inform the user about an event or display
-some form of information without getting in the user's way.")
+notifications can be used to inform the user about an event or display some
+form of information without getting in the user's way.")
+    (home-page "https://developer.gnome.org/libnotify/")
     (license license:lgpl2.1+)))
 
 (define-public libpeas
-- 
2.27.0


[-- Attachment #1.1.7: 0006-gnu-librsvg-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 5980 bytes --]

From c63227858d1e9c7563a192af82cbf9fcd5394664 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 13:47:34 -0400
Subject: [PATCH 06/62] gnu: librsvg: Update package definition.

* gnu/packages/gnome.scm (librsvg): Update package definition.
[build-system]: Change from gnu to glib-or-gtk.
[outputs]: New output "doc".
[arguments]<#:configure-flags>[--with-html-dir]: New flag.
<#:phases>['patch-docbook]: New phase.
['remove-failing-tests]: Modify phase.
[native-inputs]: Add docbook-xml and python-wrapper.
[inputs]: Add fontconfig, freetype and  harfbuzz.
[synopsis]: Modify.
[description]: Modify.
[license]: Update to lgpl2.1+.
---
 gnu/packages/gnome.scm | 79 +++++++++++++++++++++++++-----------------
 1 file changed, 47 insertions(+), 32 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 713734318f..9dc88c611e 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2693,21 +2693,35 @@ dealing with different structured file formats.")
   (package
     (name "librsvg")
     (version "2.40.21")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version)  "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))
-    (build-system gnu-build-system)
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1fljkag2gr7c4k5mn798lgf9903xslz8h51bgvl89nnay42qjqpp"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
     (arguments
      `(#:configure-flags
-       (list "--disable-static"
-             "--enable-vala") ; needed for e.g. gnome-mines
+       (list
+        "--disable-static"
+        "--enable-vala"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* "rsvg-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
          (add-before 'configure 'pre-configure
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "gdk-pixbuf-loader/Makefile.in"
@@ -2716,7 +2730,7 @@ dealing with different structured file formats.")
                (("gdk_pixbuf_moduledir = .*$")
                 (string-append "gdk_pixbuf_moduledir = "
                                "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
-                                "loaders\n"))
+                               "loaders\n"))
                ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
                (("gdk_pixbuf_cache_file = .*$")
                 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
@@ -2725,37 +2739,38 @@ dealing with different structured file formats.")
            (lambda _
              (with-directory-excursion "tests/fixtures/reftests"
                (for-each delete-file
-                         '(;; This test fails on i686:
-                           "svg1.1/masking-path-04-b.svg"
-                           ;; This test fails on armhf:
-                           "svg1.1/masking-mask-01-b.svg"
-                           ;; This test fails on aarch64:
+                         '("bugs/340047.svg"
+                           "bugs/587721-text-transform.svg"
+                           "bugs/749415.svg"
                            "bugs/777834-empty-text-children.svg")))
              #t)))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("vala" ,vala)
-       ("glib" ,glib "bin")                               ; glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("glib" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("vala" ,vala)))
     (inputs
-     `(;; XXX: 1.44 causes some test failures, so we stick with 1.42 for
-       ;; this ancient version of librsvg.
-       ("pango" ,pango-1.42)
+     `(("bzip2" ,bzip2)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("harfbuzz" ,harfbuzz)
        ("libcroco" ,libcroco)
-       ("bzip2" ,bzip2)
        ("libgsf" ,libgsf)
-       ("libxml2" ,libxml2)))
+       ("libxml2" ,libxml2)
+       ("pango" ,pango)))
     (propagated-inputs
-     ;; librsvg-2.0.pc refers to all of that.
      `(("cairo" ,cairo)
        ("gdk-pixbuf" ,gdk-pixbuf)
        ("glib" ,glib)))
+    (synopsis "SVG rendering library")
+    (description "Librsvg is a library to render SVG images to Cairo surfaces.
+GNOME uses this to render SVG icons.  Outside of GNOME, other desktop
+environments use it for similar purposes.  Wikimedia uses it for Wikipedia's SVG
+diagrams.")
     (home-page "https://wiki.gnome.org/LibRsvg")
-    (synopsis "Render SVG files using Cairo")
-    (description
-     "Librsvg is a C library to render SVG files using the Cairo 2D graphics
-library.")
-    (license license:lgpl2.0+)))
+    (license license:lgpl2.1+)))
 
 (define-public librsvg-next
   (package
-- 
2.27.0


[-- Attachment #1.1.8: 0007-gnu-Add-rust-cssparser-macros-0.6.patch --]
[-- Type: text/x-patch, Size: 1816 bytes --]

From cb19410f00429d63aa3bc982534b73f1799549bf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 14:43:51 -0400
Subject: [PATCH 07/62] gnu: Add rust-cssparser-macros-0.6.

* gnu/packages/crates-io.scm (rust-cssparser-macros-0.6): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a48b0522db..6306219c01 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4544,6 +4544,33 @@ Code} (MAC) algorithms.")
      "This package provides the procedural macros for rust-cssparser.")
     (license license:mpl2.0)))
 
+(define-public rust-cssparser-macros-0.6
+  (package
+    (name "rust-cssparser-macros")
+    (version "0.6.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "cssparser-macros" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0vp13g4blyjvhg3j4r9b7vrwhnfi1y2fmhv8hxgficpjazg7bbnz"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-phf-codegen" ,rust-phf-codegen-0.7)
+        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-procedural-masquerade" ,rust-procedural-masquerade-0.1)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0))))
+    (home-page "https://github.com/servo/rust-cssparser")
+    (synopsis "Procedural macros for cssparser")
+    (description
+     "This package provides the procedural macros for rust-cssparser.")
+    (license license:mpl2.0)))
+
 (define-public rust-csv-1.1
   (package
     (name "rust-csv")
-- 
2.27.0


[-- Attachment #1.1.9: 0008-gnu-Add-rust-cssparser-0.27.patch --]
[-- Type: text/x-patch, Size: 2445 bytes --]

From 21450c93bd6bafda55ab0dfeb762ce16819f7521 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 14:44:20 -0400
Subject: [PATCH 08/62] gnu: Add rust-cssparser-0.27.

* gnu/packages/crates-io.scm (rust-cssparser-0.27): New variable.
---
 gnu/packages/crates-io.scm | 40 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6306219c01..98498b93be 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4517,6 +4517,46 @@ Code} (MAC) algorithms.")
      "This package contains a Rust implementation of CSS Syntax Level 3.")
     (license license:mpl2.0)))
 
+(define-public rust-cssparser-0.27
+  (package
+    (name "rust-cssparser")
+    (version "0.27.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "cssparser" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "02nbm690rmkaz1ca0383qq7mc1g066w3s85f17pdihnda79njjvm"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f      ; Some test files missing.
+       #:cargo-inputs
+       (("rust-cssparser-macros" ,rust-cssparser-macros-0.6)
+        ("rust-dtoa-short" ,rust-dtoa-short-0.3)
+        ("rust-heapsize" ,rust-heapsize-0.4)
+        ("rust-itoa" ,rust-itoa-0.4)
+        ("rust-matches" ,rust-matches-0.1)
+        ("rust-phf" ,rust-phf-0.8)
+        ("rust-procedural-masquerade" ,rust-procedural-masquerade-0.1)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-smallvec" ,rust-smallvec-0.6)
+        ("rust-autocfg" ,rust-autocfg-0.1)
+        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0))
+       #:cargo-development-inputs
+       (("rust-difference" ,rust-difference-2.0)
+        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
+        ("rust-serde-json" ,rust-serde-json-1.0))))
+    (home-page "https://github.com/servo/rust-cssparser")
+    (synopsis "Rust implementation of CSS Syntax Level 3")
+    (description
+     "This package contains a Rust implementation of CSS Syntax Level 3.")
+    (license license:mpl2.0)))
+
 (define-public rust-cssparser-macros-0.3
   (package
     (name "rust-cssparser-macros")
-- 
2.27.0


[-- Attachment #1.1.10: 0009-gnu-Add-rust-downcast-rs-1.2.patch --]
[-- Type: text/x-patch, Size: 1580 bytes --]

From c3df5d13eda86deea0f43a28bb78edca68a94540 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 14:44:49 -0400
Subject: [PATCH 09/62] gnu: Add rust-downcast-rs-1.2.

* gnu/packages/crates-io.scm (rust-downcast-rs-1.2): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 98498b93be..46f0d32f5d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5594,6 +5594,27 @@ from macros.")
 parameters, associated types, and type constraints.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-downcast-rs-1.2
+  (package
+    (name "rust-downcast-rs")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "downcast-rs" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0l36kgxqd5djhqwf5abxjmgasdw8n0qsjvw3jdvhi91nj393ba4y"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/marcianx/downcast-rs")
+    (synopsis "Trait object downcasting support using only safe Rust")
+    (description
+     "Trait object downcasting support using only safe Rust.  It supports type
+parameters, associated types, and type constraints.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-dogged-0.2
   (package
     (name "rust-dogged")
-- 
2.27.0


[-- Attachment #1.1.11: 0010-gnu-Add-rust-float-cmp-0.6.patch --]
[-- Type: text/x-patch, Size: 1585 bytes --]

From 23980cab980c49a732181b3464f05c9dfef29650 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 14:46:42 -0400
Subject: [PATCH 10/62] gnu: Add rust-float-cmp-0.6.

* gnu/packages/crates-io.scm (rust-float-cmp-0.6): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 46f0d32f5d..247cd2f09c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6868,6 +6868,28 @@ Reader/Writer streams.  Contains bindings for zlib, deflate, and gzip-based
 streams.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-float-cmp-0.6
+  (package
+    (name "rust-float-cmp")
+    (version "0.6.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "float-cmp" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0zb1lv3ga18vsnpjjdg87yazbzvmfwwllj3aiid8660rp3qw8qns"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-num-traits" ,rust-num-traits-0.2))))
+    (home-page "https://github.com/mikedilger/float-cmp")
+    (synopsis "Floating point approximate comparison traits")
+    (description
+     "Floating point approximate comparison traits in Rust.")
+    (license license:expat)))
+
 (define-public rust-float-cmp-0.5
   (package
     (name "rust-float-cmp")
-- 
2.27.0


[-- Attachment #1.1.12: 0011-gnu-Add-rust-serial-test-derive-0.4.patch --]
[-- Type: text/x-patch, Size: 1721 bytes --]

From 8d65543c7ab73f8584b46f62c7676ce35b7f0d6c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 14:47:02 -0400
Subject: [PATCH 11/62] gnu : Add rust-serial-test-derive-0.4.

* gnu/packages/crates-io.scm (rust-serial-test-derive-0.4): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 247cd2f09c..a96754b413 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21401,6 +21401,32 @@ for the serde framework.")
     (description "YAML support for Serde.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-serial-test-derive-0.4
+  (package
+    (name "rust-serial-test-derive")
+    (version "0.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serial_test_derive" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "05b5xr36zi8damfg3bmbh1kwdxc3k1y2r8b8pmi7q8jb0bc3i0yh"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-env-logger" ,rust-env-logger-0.7)
+        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0))))
+    (home-page
+     "https://github.com/palfrey/serial_test_derive/")
+    (synopsis "Serialising Rust tests")
+    (description "Serialising Rust tests")
+    (license license:expat)))
+
 (define-public rust-servo-fontconfig-0.4
   (package
     (name "rust-servo-fontconfig")
-- 
2.27.0


[-- Attachment #1.1.13: 0012-gnu-Add-rust-serial-test-0.4.patch --]
[-- Type: text/x-patch, Size: 1629 bytes --]

From 80c4c7b042554e69c65dff0cb65c2edb880f29b4 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 14:48:03 -0400
Subject: [PATCH 12/62] gnu: Add rust-serial-test-0.4.

* gnu/packages/crates-io.scm (rust-serial-test-0.4): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a96754b413..777d00fb35 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21427,6 +21427,31 @@ for the serde framework.")
     (description "Serialising Rust tests")
     (license license:expat)))
 
+(define-public rust-serial-test-0.4
+  (package
+    (name "rust-serial-test")
+    (version "0.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serial_test" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1mkz246ax07nar0bmh3m98kl27lacja98vywi9cjqbsb8g3zgxgy"))))	
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+("rust-parking-lot" ,rust-parking-lot-0.10)
+("rust-serial-test-derive" ,rust-serial-test-derive-0.4))))
+    (home-page
+     "https://github.com/palfrey/serial_test/")
+    (synopsis "Serialising Rust tests")
+    (description "Serialising Rust tests")
+    (license license:expat)))
+
 (define-public rust-servo-fontconfig-0.4
   (package
     (name "rust-servo-fontconfig")
-- 
2.27.0


[-- Attachment #1.1.14: 0013-gnu-Add-rust-serial-test-0.1.patch --]
[-- Type: text/x-patch, Size: 1629 bytes --]

From fed457440890662c10efe3fceb1026deebd1c6e5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 14:48:28 -0400
Subject: [PATCH 13/62] gnu: Add rust-serial-test-0.1.

* gnu/packages/crates-io.scm (rust-serial-test-0.1): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 777d00fb35..3cadde498f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21452,6 +21452,31 @@ for the serde framework.")
     (description "Serialising Rust tests")
     (license license:expat)))
 
+(define-public rust-serial-test-0.1
+  (package
+    (name "rust-serial-test")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serial_test" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0qywhzjc4jh6dqqng90maai0mjlmafk9aa5rrl9g3d2g01wdn8ms"))))	
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+("rust-parking-lot" ,rust-parking-lot-0.10)
+("rust-serial-test-derive" ,rust-serial-test-derive-0.4))))
+    (home-page
+     "https://github.com/palfrey/serial_test/")
+    (synopsis "Serialising Rust tests")
+    (description "Serialising Rust tests")
+    (license license:expat)))
+
 (define-public rust-servo-fontconfig-0.4
   (package
     (name "rust-servo-fontconfig")
-- 
2.27.0


[-- Attachment #1.1.15: 0014-gnu-Add-rust-serial-test-derive-0.1.patch --]
[-- Type: text/x-patch, Size: 1688 bytes --]

From e9731ea683856c84f6527f681418ad93a0796ea6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 14:48:59 -0400
Subject: [PATCH 14/62] gnu: Add rust-serial-test-derive-0.1.

* gnu/packages/crates-io.scm (rust-serial-test-derive-0.1): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3cadde498f..24a12c022e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21427,6 +21427,32 @@ for the serde framework.")
     (description "Serialising Rust tests")
     (license license:expat)))
 
+(define-public rust-serial-test-derive-0.1
+  (package
+    (name "rust-serial-test-derive")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serial_test_derive" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "17fkqrba233sjhdak986y4w3z4yjxa4idjkh46l7zxgcgjlvrnic"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-env-logger" ,rust-env-logger-0.7)
+        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-0.6)
+        ("rust-syn" ,rust-syn-0.15))))
+    (home-page
+     "https://github.com/palfrey/serial_test_derive/")
+    (synopsis "Serialising Rust tests")
+    (description "Serialising Rust tests")
+    (license license:expat)))
+
 (define-public rust-serial-test-0.4
   (package
     (name "rust-serial-test")
-- 
2.27.0


[-- Attachment #1.1.16: 0015-gnu-Add-rust-gio-0.8.patch --]
[-- Type: text/x-patch, Size: 2391 bytes --]

From 4a5a15d0702cfb6724d96ee7cf3232e2c3aada27 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 14:50:51 -0400
Subject: [PATCH 15/62] gnu: Add rust-gio-0.8.

* gnu/packages/crates-io.scm (rust-gio-0.8): New variable.
---
 gnu/packages/crates-io.scm | 41 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 24a12c022e..b6f98b60bd 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8621,6 +8621,47 @@ DWARF debugging format.")
     (description "Rust bindings for the Gio library.")
     (license license:expat)))
 
+(define-public rust-gio-0.8
+  (package
+    (name "rust-gio")
+    (version "0.8.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "gio" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0662dc6a0ja97rzr8l2xd5laxhc7nm7i0sc6cnfq28qnm6qmx6l7"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ; XXX: Fix-me.
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-fragile" ,rust-fragile-0.3)
+        ("rust-futures-channel" ,rust-futures-channel-0.3)
+        ("rust-futures-io" ,rust-futures-io-0.3)
+        ("rust-futures-preview" ,rust-futures-preview-0.3)
+        ("rust-futures-util" ,rust-futures-util-0.3)
+        ("rust-gio-sys" ,rust-gio-sys-0.9)
+        ("rust-glib" ,rust-glib-0.9)
+        ("rust-glib-sys" ,rust-glib-sys-0.9)
+        ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)
+        ("rust-serial-test" ,rust-serial-test-0.1)
+        ("rust-serial-test-derive" ,rust-serial-test-derive-0.1))
+       #:cargo-development-inputs
+       (("rust-gir-format-check" ,rust-gir-format-check-0.1))))
+    (inputs
+     `(("glib" ,glib)))
+    (home-page "https://gtk-rs.org/")
+    (synopsis "Rust bindings for the Gio library")
+    (description "Rust bindings for the Gio library.")
+    (license license:expat)))
+
 (define-public rust-gio-sys-0.9
   (package
     (name "rust-gio-sys")
-- 
2.27.0


[-- Attachment #1.1.17: 0016-gnu-Add-rust-gdk-pixbuf-0.8.patch --]
[-- Type: text/x-patch, Size: 2142 bytes --]

From 845c8f24b851366eda195f946fddc4d46c95f5e6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 14:51:28 -0400
Subject: [PATCH 16/62] gnu: Add rust-gdk-pixbuf-0.8.

* gnu/packages/crates-io.scm (rust-gdk-pixbuf-0.8): New variable.
---
 gnu/packages/crates-io.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b6f98b60bd..e208e4a29e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8114,6 +8114,42 @@ API library @code{gdi32}.")
      "Rust bindings for the GdkPixbuf library.")
     (license license:expat)))
 
+(define-public rust-gdk-pixbuf-0.8
+  (package
+    (name "rust-gdk-pixbuf")
+    (version "0.8.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "gdk-pixbuf" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1mxxca0fkcw2rsd3kl3nvlb8ys4cgxqx4n5isjbv0adk8q624j72"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-fragile" ,rust-fragile-0.3)
+        ("rust-futures-preview" ,rust-futures-preview-0.3)
+        ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
+        ("rust-gio" ,rust-gio-0.8)
+        ("rust-gio-sys" ,rust-gio-sys-0.9)
+        ("rust-glib" ,rust-glib-0.8)
+        ("rust-glib-sys" ,rust-glib-sys-0.9)
+        ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1))
+       #:cargo-development-inputs
+       (("rust-gir-format-check" ,rust-gir-format-check-0.1))))
+    (inputs
+     `(("gdk-pixbuf" ,gdk-pixbuf)))
+    (home-page "https://gtk-rs.org/")
+    (synopsis "Rust bindings for the GdkPixbuf library")
+    (description
+     "Rust bindings for the GdkPixbuf library.")
+    (license license:expat)))
+
 (define-public rust-gdk-pixbuf-sys-0.9
   (package
     (name "rust-gdk-pixbuf-sys")
-- 
2.27.0


[-- Attachment #1.1.18: 0017-gnu-Add-rust-string-cache-0.8.patch --]
[-- Type: text/x-patch, Size: 2131 bytes --]

From 08d4259b593d29735ae892d1340896a9d13bd554 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 14:52:04 -0400
Subject: [PATCH 17/62] gnu: Add rust-string-cache-0.8.

* gnu/packages/crates-io.scm (rust-string-cache-0.8): New variable.
---
 gnu/packages/crates-io.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e208e4a29e..01c48640eb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -23019,6 +23019,39 @@ configurable byte storage.")
 developed as part of the Servo project.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-string-cache-0.8
+  (package
+    (name "rust-string-cache")
+    (version "0.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "string_cache" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "12i0synp8l0qpnzi5qki4pjq3jx28ykikyffjjjg6fsfxddwfh19"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-new-debug-unreachable"
+         ,rust-new-debug-unreachable-1.0)
+        ("rust-phf-shared" ,rust-phf-shared-0.8)
+        ("rust-precomputed-hash" ,rust-precomputed-hash-0.1)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-string-cache-codegen" ,rust-string-cache-codegen-0.4)
+        ("rust-string-cache-shared" ,rust-string-cache-shared-0.3))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.4))))
+    (home-page "https://github.com/servo/string-cache")
+    (synopsis "String interning library for Rust")
+    (description
+     "This package provides a string interning library for Rust,
+developed as part of the Servo project.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-string-cache-codegen-0.4
   (package
     (name "rust-string-cache-codegen")
-- 
2.27.0


[-- Attachment #1.1.19: 0018-gnu-Add-rust-string-cache-codegen-0.5.patch --]
[-- Type: text/x-patch, Size: 1954 bytes --]

From 18b4927d7ac981cec981719b9da252c88c26d3bb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 14:52:26 -0400
Subject: [PATCH 18/62] gnu: Add rust-string-cache-codegen-0.5.

* gnu/packages/crates-io.scm (rust-string-cache-codegen-0.5): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 01c48640eb..b6891c895d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -23052,6 +23052,35 @@ developed as part of the Servo project.")
 developed as part of the Servo project.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-string-cache-codegen-0.5
+  (package
+    (name "rust-string-cache-codegen")
+    (version "0.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "string-cache-codegen" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "15vbk5i7kkj5bbx7f0fi477js4svw5py39gi4rk74anj35g8wk7j"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-phf-generator" ,rust-phf-generator-0.8)
+        ("rust-phf-shared" ,rust-phf-shared-0.8)
+        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-string-cache-shared"
+         ,rust-string-cache-shared-0.3))))
+    (home-page "https://github.com/servo/string-cache")
+    (synopsis "Codegen library for string-cache")
+    (description
+     "This package provides a codegen library for string-cache,
+developed as part of the Servo project.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-string-cache-codegen-0.4
   (package
     (name "rust-string-cache-codegen")
-- 
2.27.0


[-- Attachment #1.1.20: 0019-gnu-Add-rust-markup5ever-0.10.patch --]
[-- Type: text/x-patch, Size: 1976 bytes --]

From e4d5578699e49f481a9d9cb92bc8772b459a0c78 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 14:53:03 -0400
Subject: [PATCH 19/62] gnu: Add rust-markup5ever-0.10.

* gnu/packages/crates-io.scm (rust-markup5ever-0.10): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b6891c895d..65db59b221 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12702,6 +12702,37 @@ platform-independently.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-markup5ever-0.10
+  (package
+    (name "rust-markup5ever")
+    (version "0.10.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "markup5ever" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1aqxl1lsc8s6ycsw5ibwynadnb9qpiab4ggwgdq9pjlnjdk8vqxa"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-log" ,rust-log-0.4)
+        ("rust-phf" ,rust-phf-0.8)
+        ("rust-string-cache" ,rust-string-cache-0.8)
+        ("rust-tendril" ,rust-tendril-0.4)
+        ("rust-phf-codegen" ,rust-phf-codegen-0.7)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-string-cache-codegen" ,rust-string-cache-codegen-0.5))))
+    (home-page "https://github.com/servo/html5ever")
+    (synopsis "Common code for xml5ever and html5ever")
+    (description
+     "Common code for xml5ever and html5ever.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-markup5ever-0.9
   (package
     (name "rust-markup5ever")
-- 
2.27.0


[-- Attachment #1.1.21: 0020-gnu-Add-rust-pango-0.8.patch --]
[-- Type: text/x-patch, Size: 2049 bytes --]

From 9d7906a55f1cf71ba415130adde3213453ee014d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 8 Jul 2020 14:53:21 -0400
Subject: [PATCH 20/62] gnu: Add rust-pango-0.8.

* gnu/packages/crates-io.scm (rust-pango-0.8): New variable.
---
 gnu/packages/crates-io.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 65db59b221..5c2b87e752 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15516,6 +15516,40 @@ normally prevent moving a type that has been borrowed from.")
      "Automatically implement traits from the palette crate.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-pango-0.8
+  (package
+    (name "rust-pango")
+    (version "0.8.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "pango" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0xq50950il3228grzs4xvc5s6phxcl5l50grz6syvs0vixr6p70y"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-glib" ,rust-glib-0.9)
+        ("rust-glib-sys" ,rust-glib-sys-0.9)
+        ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-pango-sys" ,rust-pango-sys-0.9)
+        ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1))
+       #:cargo-development-inputs
+       (("rust-gir-format-check" ,rust-gir-format-check-0.1))))
+    (inputs
+     `(("pango" ,pango)))
+    (home-page "https://gtk-rs.org/")
+    (synopsis "Rust bindings for the Pango library")
+    (description
+     "Rust bindings for the Pango library.")
+    (license license:expat)))
+
 (define-public rust-pango-0.7
   (package
     (name "rust-pango")
-- 
2.27.0


[-- Attachment #1.1.22: 0021-gnu-Add-rust-pangocairo-0.9.patch --]
[-- Type: text/x-patch, Size: 2240 bytes --]

From 2bb07bd0288b0b24b61a39c856e88575d657edaf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 05:16:02 -0400
Subject: [PATCH 21/62] gnu: Add rust-pangocairo-0.9.

* gnu/packages/crates-io.scm (rust-pangocairo-0.9): New variable.
---
 gnu/packages/crates-io.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5c2b87e752..76e7ee4980 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15615,6 +15615,43 @@ normally prevent moving a type that has been borrowed from.")
     (description "This package provides FFI bindings to @code{libpango-1.0}.")
     (license license:expat)))
 
+(define-public rust-pangocairo-0.9
+  (package
+    (name "rust-pangocairo")
+    (version "0.9.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "pangocairo" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0bap3h78hdqdyln58349qjjbcv45m8a0a16c4n9fprdj1my0gldx"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-cairo-rs" ,rust-cairo-rs-0.8)
+        ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
+        ("rust-glib" ,rust-glib-0.9)
+        ("rust-glib-sys" ,rust-glib-sys-0.9)
+        ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-pango" ,rust-pango-0.8)
+        ("rust-pango-sys" ,rust-pango-sys-0.9)
+        ("rust-pangocairo-sys" ,rust-pangocairo-sys-0.10)
+        ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1))
+       #:cargo-development-inputs
+       (("rust-gir-format-check" ,rust-gir-format-check-0.1))))
+    (inputs
+     `(("gtk+" ,gtk+)))
+    (home-page "http://gtk-rs.org/")
+    (synopsis "Rust bindings for the PangoCairo library")
+    (description
+     "Rust bindings for the PangoCairo library.")
+    (license license:expat)))
+
 (define-public rust-pangocairo-0.8
   (package
     (name "rust-pangocairo")
-- 
2.27.0


[-- Attachment #1.1.23: 0022-gnu-Add-rust-peg-runtime-0.6.patch --]
[-- Type: text/x-patch, Size: 1490 bytes --]

From dc076128b1023ef9b3a124033b27de1204b437a1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 05:28:52 -0400
Subject: [PATCH 22/62] gnu: Add rust-peg-runtime-0.6.

* gnu/packages/crates-io.scm (rust-peg-runtime-0.6): New variable.
---
 gnu/packages/crates-io.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 76e7ee4980..cc28d817d6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -16222,6 +16222,24 @@ the @code{take_while} predicate returned false after dropping the @code{by_ref}.
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-peg-runtime-0.6
+  (package
+    (name "rust-peg-runtime")
+    (version "0.6.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "peg-runtime" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0r583cq923v0narrpq73qmp780yg4pablzklhrwnr64xwsbjh6hc"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/peg-runtime")
+    (synopsis "Runtime support for rust-peg grammars")
+    (description "Runtime support for rust-peg grammars.")
+    (license license:expat)))
+
 (define-public rust-percent-encoding-2.1
   (package
     (name "rust-percent-encoding")
-- 
2.27.0


[-- Attachment #1.1.24: 0023-gnu-Add-rust-peg-macros-0.6.patch --]
[-- Type: text/x-patch, Size: 1656 bytes --]

From 6a528d68fd127ee1d28b335d7e9fdf5789b3abae Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 05:35:36 -0400
Subject: [PATCH 23/62] gnu: Add rust-peg-macros-0.6.

* gnu/packages/crates-io.scm (rust-peg-macros-0.6): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index cc28d817d6..fd407b9681 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -16222,6 +16222,29 @@ the @code{take_while} predicate returned false after dropping the @code{by_ref}.
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-peg-macros-0.6
+  (package
+    (name "rust-peg-macros")
+    (version "0.6.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "peg-macros" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0li8qrb8hyqr7v5mhrkym0xp7ijnbksqviqc2i3556cysdgick62"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-peg-runtime" ,rust-peg-runtime-0.6)
+        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0))))
+    (home-page "https://crates.io/crates/peg-macros")
+    (synopsis "Procedural macros for rust-peg")
+    (description "Procedural macros for rust-peg.")
+    (license license:expat)))
+
 (define-public rust-peg-runtime-0.6
   (package
     (name "rust-peg-runtime")
-- 
2.27.0


[-- Attachment #1.1.25: 0024-gnu-Add-rust-peg-0.6.patch --]
[-- Type: text/x-patch, Size: 2034 bytes --]

From 781f11b7111641ba828db6578708f38830406442 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 05:56:20 -0400
Subject: [PATCH 24/62] gnu: Add rust-peg-0.6.

* gnu/packages/crates-io.scm (rust-peg-0.6): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fd407b9681..ea1f505e7e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -16222,6 +16222,37 @@ the @code{take_while} predicate returned false after dropping the @code{by_ref}.
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-peg-0.6
+  (package
+    (name "rust-peg")
+    (version "0.6.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "peg" version))
+       (file-name (string-append name "-" version ".crate"))
+       (sha256
+        (base32
+         "15rfp12dgsynplphp443zfw47m2d5snvdm6a25gz48dv2if8fxch"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-failing-tests
+           (lambda _
+             (delete-file "tests/compile-fail/rust_action_type_error.rs")
+             #t)))
+       #:cargo-inputs
+       (("rust-peg-macros" ,rust-peg-macros-0.6)
+        ("rust-peg-runtime" ,rust-peg-runtime-0.6)
+        ("rust-trybuild" ,rust-trybuild-1.0))))
+    (home-page "https://crates.io/crates/peg")
+    (synopsis "Parsing Expression Grammars in Rust")
+    (description "Rust-peg is a simple yet flexible parser generator based on
+the Parsing Expression Grammar formalism.  It provides a Rust macro that builds
+a recursive descent parser from a concise definition of the grammar.")
+    (license license:expat)))
+
 (define-public rust-peg-macros-0.6
   (package
     (name "rust-peg-macros")
-- 
2.27.0


[-- Attachment #1.1.26: 0025-gnu-Add-rust-peg-0.5.patch --]
[-- Type: text/x-patch, Size: 1825 bytes --]

From b88d76191d6ccc6b3fee1e3a5fac87214bd33921 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 06:11:09 -0400
Subject: [PATCH 25/62] gnu: Add rust-peg-0.5.

* gnu/packages/crates-io.scm (rust-peg-0.5): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ea1f505e7e..1831477dc1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -16222,6 +16222,32 @@ the @code{take_while} predicate returned false after dropping the @code{by_ref}.
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-peg-0.5
+  (package
+    (name "rust-peg")
+    (version "0.5.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "peg" version))
+       (file-name (string-append name "-" version ".crate"))
+       (sha256
+        (base32
+         "11az3bs3ngvfip920xfr0zwblfkyg6cjgz1v9hmfsdnqw7fi5ps0"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-peg-macros" ,rust-peg-macros-0.6)
+        ("rust-quote" ,rust-quote-0.3)
+        ("rust-peg-runtime" ,rust-peg-runtime-0.6)
+        ("rust-trybuild" ,rust-trybuild-1.0))))
+    (home-page "https://crates.io/crates/peg")
+    (synopsis "Parsing Expression Grammars in Rust")
+    (description "Rust-peg is a simple yet flexible parser generator based on
+the Parsing Expression Grammar formalism.  It provides a Rust macro that builds
+a recursive descent parser from a concise definition of the grammar.")
+    (license license:expat)))
+
 (define-public rust-peg-0.6
   (package
     (name "rust-peg")
-- 
2.27.0


[-- Attachment #1.1.27: 0026-gnu-Add-rust-derive-more-0.99.patch --]
[-- Type: text/x-patch, Size: 1698 bytes --]

From b3384295a3bc06e3dfcd7fe2e2720e1138ff91b3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 06:24:38 -0400
Subject: [PATCH 26/62] gnu: Add rust-derive-more-0.99.

* gnu/packages/crates-io.scm (rust-derive-more-0.99): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1831477dc1..dc52d7e870 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5144,6 +5144,30 @@ for arbitrary structs.")
     (description "Internal helper library for the derive_builder crate.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-derive-more-0.99
+  (package
+    (name "rust-derive-more")
+    (version "0.99.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "derive_more" version))
+      (file-name (string-append name "-" version ".tar.gz"))
+      (sha256
+       (base32 "0xizcpj39rx0474mbbx8m0xww98qh92zsg82gf52qnvbryqri299"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ; XXX: Fix-me.
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-peg" ,rust-peg-0.5)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0))))
+    (home-page "https://crates.io/crates/derive_more")
+    (synopsis "Some more derive(Trait) options")
+    (description "Some more derive(Trait) options")
+  (license license:expat)))
+
 (define-public rust-derive-new-0.5
   (package
     (name "rust-derive-new")
-- 
2.27.0


[-- Attachment #1.1.28: 0027-gnu-Add-rust-itertools-0.9.patch --]
[-- Type: text/x-patch, Size: 2137 bytes --]

From ed44c254b8fb635f1393d59ab5b4726214102029 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 06:57:37 -0400
Subject: [PATCH 27/62] gnu: Add rust-itertools-0.9.

* gnu/packages/crates-io.scm (rust-itertools-0.9): New variable.
---
 gnu/packages/crates-io.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index dc52d7e870..c1768f66ab 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11057,6 +11057,44 @@ immutable interval tree.")
     (description "Parsing ISO8601 dates using nom.")
     (license license:expat)))
 
+(define-public rust-itertools-0.9
+  (package
+    (name "rust-itertools")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "itertools" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0jyml7ygr7kijkcjdl3fk5f34y5h5jsavclim7l13zjiavw1hkr8"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-criterion-version
+           (lambda _
+             (substitute* "Cargo.toml"
+               (("0.3.0")
+                "0.3.1"))
+             #t)))
+       #:cargo-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-either" ,rust-either-1.5))
+       #:cargo-development-inputs
+       (("rust-permutohedron" ,rust-permutohedron-0.2)
+        ("rust-quickcheck" ,rust-quickcheck-0.9)
+        ("rust-rand" ,rust-rand-0.6))))
+    (home-page
+     "https://github.com/rust-itertools/itertools")
+    (synopsis
+     "Extra iterator adaptors, iterator methods, free functions, and macros")
+    (description
+     "Extra iterator adaptors, iterator methods, free functions, and macros.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-itertools-0.8
   (package
     (name "rust-itertools")
-- 
2.27.0


[-- Attachment #1.1.29: 0028-gnu-Add-rust-pin-project-internal-0.4.patch --]
[-- Type: text/x-patch, Size: 1741 bytes --]

From aa55a904828da2177dc1af513b9e02c93e1f04d9 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 07:10:34 -0400
Subject: [PATCH 28/62] gnu: Add rust-pin-project-internal-0.4.

* gnu/packages/crates-io.scm (rust-pin-project-internal-0.4): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c1768f66ab..e12cd95716 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -17232,6 +17232,29 @@ interactive applications.")
      "This package provides a library for window abstraction.")
     (license license:expat)))
 
+(define-public rust-pin-project-internal-0.4
+  (package
+    (name "rust-pin-project-internal")
+    (version "0.4.22")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pin-project-internal" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1xxac6f3ip45zqbfcmmk748ywjw9sbavz1fcswvqgn3rrx2zs3va"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ; XXX: Fix-me.
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0))))
+    (home-page "https://crates.io/crates/pin-project-internal")
+    (synopsis "An internal crate to support pin_project")
+    (description "An internal crate to support pin_project")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-pin-project-lite-0.1
   (package
     (name "rust-pin-project-lite")
-- 
2.27.0


[-- Attachment #1.1.30: 0029-gnu-Add-rust-pin-project-0.4.patch --]
[-- Type: text/x-patch, Size: 1644 bytes --]

From 4dcf62989da3166ca40fa4f3c5c551888087512f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 07:20:20 -0400
Subject: [PATCH 29/62] gnu: Add rust-pin-project-0.4.

* gnu/packages/crates-io.scm (rust-pin-project-0.4): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e12cd95716..bd6eeb9f5e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -17232,6 +17232,27 @@ interactive applications.")
      "This package provides a library for window abstraction.")
     (license license:expat)))
 
+(define-public rust-pin-project-0.4
+  (package
+    (name "rust-pin-project")
+    (version "0.4.22")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pin-project" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "05wwxy46j9z27ibbiisjqk0rivf0z00h4al1f92mwjp9pz6sdqqj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ; XXX: Fix-me.
+       #:cargo-inputs
+       (("rust-pin-project-internal" ,rust-pin-project-internal-0.4))))
+    (home-page "https://crates.io/crates/pin-project")
+    (synopsis "A crate for safe and ergonomic pin-projection")
+    (description "A crate for safe and ergonomic pin-projection.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-pin-project-internal-0.4
   (package
     (name "rust-pin-project-internal")
-- 
2.27.0


[-- Attachment #1.1.31: 0030-gnu-Add-rust-rand-distr-0.2.patch --]
[-- Type: text/x-patch, Size: 2127 bytes --]

From 5eae01e8267d13f2b204b31b91047003a6e36c82 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 07:47:50 -0400
Subject: [PATCH 30/62] gnu: Add rust-rand-distr-0.2.

* gnu/packages/crates-io.scm (rust-rand-distr-0.2): New variable.
---
 gnu/packages/crates-io.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bd6eeb9f5e..136a253728 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -18800,6 +18800,42 @@ useful types and distributions, and some randomness-related algorithms.")
        #:cargo-inputs
        (("rust-rand-core" ,rust-rand-core-0.3))))))
 
+(define-public rust-rand-distr-0.2
+  (package
+    (name "rust-rand-distr")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rand_distr" version))
+       (file-name (string-append name "-" version ".crate"))
+       (sha256
+        (base32
+         "1cpz577qid09lirjjhhn98yqdwsv0c01jf973pxpcr9svp5pm5wn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f                      ; Requires rust-average
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-rust-average
+           (lambda _
+             (substitute* "Cargo.toml"
+               (("\\[dev-dependencies.average\\]")
+                "")
+               (("version = \"0.10.3\"")
+                ""))
+             #t)))
+       #:cargo-inputs
+       (("rust-rand" ,rust-rand-0.7))
+       #:cargo-development-inputs
+       (("rust-rand-pcg" ,rust-rand-pcg-0.2))))
+    (home-page "https://crates.io/crates/rand_distr")
+    (synopsis "Super-set of the rand::distributions module")
+    (description "Implements a full suite of random number distributions
+sampling routines.")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-rand-hc-0.2
   (package
     (name "rust-rand-hc")
-- 
2.27.0


[-- Attachment #1.1.32: 0031-gnu-Add-rust-bytemuck-1.2.patch --]
[-- Type: text/x-patch, Size: 1466 bytes --]

From 0e49975422adc4b97c72b9f9b74729ab60b26e6e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 07:54:46 -0400
Subject: [PATCH 31/62] gnu: Add rust-bytemuck-1.2.

* gnu/packages/crates-io.scm (rust-bytemuck-1.2): New variable.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 136a253728..6a99143b95 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2116,6 +2116,28 @@ in a byte slice, fast.")
         ("rust-quickcheck" ,rust-quickcheck-0.6)
         ("rust-rand" ,rust-rand-0.4))))))
 
+(define-public rust-bytemuck-1.2
+  (package
+    (name "rust-bytemuck")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bytemuck" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0cclc9v10hc1abqrxgirg3qbwa3ra3s0dai3xiwv9v4j4bgi7yip"))))
+    (build-system cargo-build-system)
+    (home-page
+     "https://crates.io/crates/bytemuck")
+    (synopsis
+     "A crate for mucking around with piles of bytes")
+    (description
+     "A crate for mucking around with piles of bytes.")
+    (license license:zlib)))
+
 (define-public rust-byteorder-1.3
   (package
     (name "rust-byteorder")
-- 
2.27.0


[-- Attachment #1.1.33: 0032-git-Add-rust-rgb-0.8.patch --]
[-- Type: text/x-patch, Size: 1619 bytes --]

From a745441f602f2b30ce19599886f064c778bfe511 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 08:02:04 -0400
Subject: [PATCH 32/62] git: Add rust-rgb-0.8.

* gnu/packages/crates-io.scm (rust-rgb-0.8): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6a99143b95..2ce55534b3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -19892,6 +19892,31 @@ uses finite automata and guarantees linear time matching on all inputs.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-rgb-0.8
+  (package
+    (name "rust-rgb")
+    (version "0.8.20")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rgb" version))
+       (file-name (string-append name "-" version ".crate"))
+       (sha256
+        (base32
+         "1620mn5dp1rr9fpvd9wbr3b8l2g4zrij8zjri1x34cg1bas59vwh"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bytemuck" ,rust-bytemuck-1.2)
+        ("rust-serde", rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-serde-json" ,rust-serde-json-1.0))))
+    (home-page "https://crates.io/crates/bytemuck")
+    (synopsis "Struct RGB for Rust")
+    (description
+     "RGB and RGBA structs for Rust.")
+    (license license:expat)))
+
 (define-public rust-ring-0.16
   (package
     (name "rust-ring")
-- 
2.27.0


[-- Attachment #1.1.34: 0033-gnu-Add-rust-servo-arc-0.1.patch --]
[-- Type: text/x-patch, Size: 1997 bytes --]

From 71e18e69f09c46632e91413bf2f1936a6c526020 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 08:58:21 -0400
Subject: [PATCH 33/62] gnu: Add rust-servo-arc-0.1.

* gnu/packages/crates-io.scm (rust-servo-arc-0.1): New variable.
---
 gnu/packages/crates-io.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2ce55534b3..d0afd99707 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21969,6 +21969,41 @@ for the serde framework.")
     (description "Serialising Rust tests")
     (license license:expat)))
 
+(define-public rust-servo-arc-0.1
+  (package
+    (name "rust-servo-arc")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "servo-arc" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0cjljr9znwahry6p95xvd3p4pmy24wlf6gbfidnmglg002w3i0nr"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-versions
+           (lambda _
+             (substitute* "Cargo.toml"
+               (("0\\.1\\.8")
+                "0.1.14")
+               (("1\\.0\\.0")
+                "1.1.1"))
+             #t)))
+       #:cargo-inputs
+       (("rust-nodrop" ,rust-nodrop-0.1)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-stable-deref-trait" ,rust-stable-deref-trait-1.1))))
+    (home-page "https://crates.io/crates/servo_arc")
+    (synopsis "Servo in Rust")
+    (description "A fork of std::sync::Arc with some extra functionality and
+without weak references.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-servo-fontconfig-0.4
   (package
     (name "rust-servo-fontconfig")
-- 
2.27.0


[-- Attachment #1.1.35: 0034-gnu-Add-rust-thin-slice-0.1.patch --]
[-- Type: text/x-patch, Size: 1454 bytes --]

From 887779c517f0dc7b10fcd05974dc09e79d491d4b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 09:03:34 -0400
Subject: [PATCH 34/62] gnu: Add rust-thin-slice-0.1.

* gnu/packages/crates-io.scm (rust-thin-slice-0.1): New variable.
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d0afd99707..4b68b6c68b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -24797,6 +24797,26 @@ handle Unicode characters correctly.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-thin-slice-0.1
+  (package
+    (name "rust-thin-slice")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "thin-slice" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0g4z51g3yarah89ijpakbwhrrknw6d7k3ry0m1zqcn3hbhiq3alf"))))
+    (build-system cargo-build-system)
+    (home-page "https://crates.io/crates/thin-slice")
+    (synopsis "Thin slice for Rust")
+    (description
+     "An owned slice that packs the slice storage into a single word when
+possible.")
+    (license license:expat)))
+
 (define-public rust-thiserror-1.0
   (package
     (name "rust-thiserror")
-- 
2.27.0


[-- Attachment #1.1.36: 0035-gnu-Add-rust-selectors-0.22.patch --]
[-- Type: text/x-patch, Size: 2103 bytes --]

From 4aba7254add4df3b608b5745f354e41e505b9e81 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 09:21:14 -0400
Subject: [PATCH 35/62] gnu: Add rust-selectors-0.22.

* gnu/packages/crates-io.scm (rust-selectors-0.22): New variable.
---
 gnu/packages/crates-io.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4b68b6c68b..874614baea 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21276,6 +21276,40 @@ proven statistical guarantees.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-selectors-0.22
+  (package
+    (name "rust-selectors")
+    (version "0.22.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "selectors" version))
+       (file-name (string-append name "-" version ".crate"))
+       (sha256
+        (base32
+         "1zhjpvww238lh4nz7kdw4ywlpmjbmzvrm76w1jyacjxci4c0ycnz"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-cssparser" ,rust-cssparser-0.27)
+        ("rust-derive-more" ,rust-derive-more-0.99)
+        ("rust-fxhash" ,rust-fxhash-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-matches" ,rust-matches-0.1)
+        ("rust-phf" ,rust-phf-0.8)
+        ("rust-phf-codegen" ,rust-phf-codegen-0.8)
+        ("rust-precomputed-hash" ,rust-precomputed-hash-0.1)
+        ("rust-servo-arc" ,rust-servo-arc-0.1)
+        ("rust-smallvec" ,rust-smallvec-1)
+        ("rust-thin-slice" ,rust-thin-slice-0.1))))
+    (home-page "https://crates.io/crates/selectors")
+    (synopsis "CSS Selectors library for Rust")
+    (description
+     "Includes parsing and serilization of selectors, as well as matching
+against a generic tree of elements.")
+    (license license:mpl2.0)))
+
 (define-public rust-sema-0.1
   (package
     (name "rust-sema")
-- 
2.27.0


[-- Attachment #1.1.37: 0036-gnu-Add-rust-tinyvec-0.3.patch --]
[-- Type: text/x-patch, Size: 1509 bytes --]

From 4d6bde65bc13ee142c5ba490fb1727372b339070 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 09:36:50 -0400
Subject: [PATCH 36/62] gnu: Add rust-tinyvec-0.3.

* gnu/packages/crates-io.scm (rust-tinyvec-0.3): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 874614baea..dd2269ec45 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -25141,6 +25141,29 @@ in Rust.")
      "Simple, lightweight template engine.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-tinyvec-0.3
+  (package
+    (name "rust-tinyvec")
+    (version "0.3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tinyvec" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vgg2z317kq75bpd0nfda2v507qjpd7g2cjahjgivn2s78nkv5ak"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3))))
+    (home-page "https://crates.io/crates/tinyvec")
+    (synopsis "Tiny vec-like types for Rust")
+    (description
+     "A 100% safe crate of vec-like types.")
+    (license license:zlib)))
+
 (define-public rust-tokio-0.2
   (package
     (name "rust-tokio")
-- 
2.27.0


[-- Attachment #1.1.38: 0037-gnu-Add-rust-xml5ever-0.16.patch --]
[-- Type: text/x-patch, Size: 1865 bytes --]

From 60174915d2478f0d23fcd59e18029f7dd37220c8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 09:57:47 -0400
Subject: [PATCH 37/62] gnu: Add rust-xml5ever-0.16.

* gnu/packages/crates-io.scm (rust-xml5ever-0.16): New Variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index dd2269ec45..5fde6aaefe 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -28846,6 +28846,36 @@ to XDG Base Directory specification")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-xml5ever-0.16
+  (package
+    (name "rust-xml5ever")
+    (version "0.16.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "xml5ever" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0nbapmdrn4zqry5p01l2mmbb48fcq0gga377p1c4lkb1x3k546qb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-log" ,rust-log-0.4)
+        ("rust-mac" ,rust-mac-0.1)
+        ("rust-markup5ever" ,rust-markup5ever-0.10)
+        ("rust-time" ,rust-time-0.1))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-rustc-test" ,rust-rustc-test-0.3))))
+    (home-page "https://crates.io/crates/xml5ever")
+    (synopsis "XML parser for Rust")
+    (description "This crate provides a push based XML parser library that
+trades well-formedness for error recovery.")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-xml-rs-0.8
   (package
     (name "rust-xml-rs")
-- 
2.27.0


[-- Attachment #1.1.39: 0038-gnu-Add-rust-nalgebra-0.19.patch --]
[-- Type: text/x-patch, Size: 2568 bytes --]

From 47ceef6764ce44b52badbaa10275abbc21ab752b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 10:05:40 -0400
Subject: [PATCH 38/62] gnu: Add rust-nalgebra-0.19.

* gnu/packages/crates-io.scm (rust-nalgebra-0.19): New variable.
---
 gnu/packages/crates-io.scm | 44 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5fde6aaefe..c24cb0a01f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13712,6 +13712,50 @@ checking.")
     (description "Run NASM during your Cargo build.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-nalgebra-0.19
+  (package
+    (name "rust-nalgebra")
+    (version "0.19.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "nalgebra" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0i87k57nav221lnr9z7ljlwxh8073qsx33bajdm146y00q805fqa"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ; XXX: Fix-me.
+       #:cargo-inputs
+       (("rust-abomonation" ,rust-abomonation-0.7)
+        ("rust-alga" ,rust-alga-0.9)
+        ("rust-approx" ,rust-approx-0.3)
+        ("rust-generic-array" ,rust-generic-array-0.12)
+        ("rust-matrixmultiply" ,rust-matrixmultiply-0.2)
+        ("rust-mint" ,rust-mint-0.5)
+        ("rust-num-complex" ,rust-num-complex-0.2)
+        ("rust-num-rational" ,rust-num-rational-0.2)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-pest" ,rust-pest-2.1)
+        ("rust-pest-derive" ,rust-pest-derive-2.1)
+        ("rust-quickcheck" ,rust-quickcheck-0.9)
+        ("rust-rand" ,rust-rand-0.6)
+        ("rust-rand-distr" ,rust-rand-distr-0.2)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-typenum" ,rust-typenum-1))
+       #:cargo-development-inputs
+       (("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
+        ("rust-serde-json" ,rust-serde-json-1.0))))
+    (home-page "https://nalgebra.org")
+    (synopsis "Linear algebra library")
+    (description
+     "This package provides a linear algebra library with transformations and
+statically-sized or dynamically-sized matrices.")
+    (license license:bsd-3)))
+
 (define-public rust-nalgebra-0.18
   (package
     (name "rust-nalgebra")
-- 
2.27.0


[-- Attachment #1.1.40: 0039-gnu-librsvg-next-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 20862 bytes --]

From ccf88caec4ea397e3be75fed52ab4217123e2a0e Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 15:32:05 -0400
Subject: [PATCH 39/62] gnu: librsvg-next: Update package definition.

* gnu/packages/gnome.scm (librsvg-next): Remove inheritance from librsvg.
[version]: Update to 2.48.8.
[source]<origin>[sha256]: Modify base32.
[modules]: Remove modules.
[snippet]: Remove snippet.
[arguments]<#:cargo-inputs>: Add rust-alga, rust-approx, rust-atty,
rust-autocfg, rust-block, rust-bstr, rust-bumpalo, rust-byteorder,
rust-cast, rust-cfg-if, rust-clap, rust-criterion, rust-criterion-plot,
rust-crossbeam-deque, rust-crossbeam-epoch, rust-crossbeam-queue,
rust-crossbeam-utils, rust-cssparser-macros, rust-csv, rust-csv-core,
rust-derive-more, rust-dtoa, rust-dtoa-short, rust-either,
rust-encoding-index-japanese, rust-encoding-index-korean,
rust-encoding-index-simpchinese, rust-encoding-index-singlebyte,
rust-encoding-index-tradchinese, rust-encoding-index-tests,
rust-futf, rust-futures-channel, rust-futures-core, rust-futures-executor,
rust-futures-io, rust-futures-macro, rust-futures-task, rust-futures-util,
rust-fxhash, rust-generic-array, rust-getrandom, rust-half,
rust-hermit-abi, rust-idna, rust-itoa, rust-js-sys, rust-libm, rust-log,
rust-mac, rust-malloc-buf, rust-matches, rust-matrixmultiply,
rust-maybe-uninit, rust-memchr, rust-memoffset, rust-new-debug-unreachable,
rust-nodrop, rust-num-complex, rust-num-integer, rust-num-rational,
rust-num-cpus, rust-objc, rust-objc-foundation, rust-objc-id, rust-once-cell,
rust-oorandom, rust-pangocairo-sys, rust-percent-encoding, rust-phf-codegen,
rust-phf-generator, rust-phf-macros, rust-phf-shared, rust-pin-project,
rust-pin-project-internal, rust-pin-utils, rust-pkg-config, rust-plotters,
rust-ppv-lite86, rust-precomputed-hash, rust-proc-macro-hack,
rust-proc-macro-nested, rust-proc-macro2, rust-quote, rust-rand,
rust-rand-chacha, rust-rand-core, rust-rand-distr, rust-rand-hc,
rust-rand-pcg, rust-rawpointer, rust-regex-automata, rust-regex-syntax,
rust-rgb, rust-rustc-version, rust-ryu, rust-same-file, rust-scopeguard,
rust-selectors, rust-semver, rust-semver-parser, rust-serde,
rust-serde-cbor, rust-serde-derive, rust-serde-json, rust-servo-arc,
rust-siphasher, rust-slab, rust-smallvec, rust-stable-deref-trait,
rust-string-cache-codegen, rust-syn, rust-tendril, rust-textwrap,
rust-thin-slice, rust-thread-local, rust-time, rust-tinytemplate, rust-tinyvec,
rust-typenum, rust-unicode-bidi, rust-unicode-normalization, rust-unicode-width,
rust-unicode-xid, rust-utf, rust-walkdir, rust-wasi, rust-wasm-bindgen,
rust-wasm-bindgen-backend, rust-wasm-bindgen-macro, rust-wasm-bindgen-macro-support,
rust-wasm-bindgen-shared, rust-web-sys, rust-winapi, rust-winapi-i686-pc-windows-gnu,
rust-winapi-util, rust-winapi-x86-64-pc-windows-gnu, rust-xml5ever.
<#:phases>['patch-docbook]: New phase.
['prepare-for-build]: Modify phase.
['gnu-configure]: Modify.
['remove-failing-tests]: Remove phase.
[native-inputs]: Add docbook-xml, python-wrapper and ruby.
[inputs]: Add fontconfig, freetype and harfbuzz.
[synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/gnome.scm | 334 ++++++++++++++++++++++++++++++-----------
 1 file changed, 245 insertions(+), 89 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 9dc88c611e..2ac98a5d6d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2774,78 +2774,222 @@ diagrams.")
 
 (define-public librsvg-next
   (package
-    (inherit librsvg)
     (name "librsvg")
-    (version "2.46.4")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/librsvg/"
-                                  (version-major+minor version)  "/"
-                                  "librsvg-" version ".tar.xz"))
-              (sha256
-               (base32
-                "0afc82nsxc6kw136xid4vcq9kmq4rmgzzk8bh2pvln2cnvirwnxl"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin (delete-file-recursively "vendor")
-                       ;; Don't demand an exact version for string_cache
-                       (substitute* "rsvg_internals/Cargo.toml"
-                         (("\"=") "\""))
-                       #t))))
+    (version "2.48.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version)  "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "14i6xzghcidv64cyd3g0wdjbl82rph737yxn9s3x29nzpcjs707l"))))
     (build-system cargo-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     `(#:modules ((guix build cargo-build-system)
-                  (guix build utils)
-                  ((guix build gnu-build-system) #:prefix gnu:))
-       #:vendor-dir "vendor"
+     `(#:modules
+       ((guix build cargo-build-system)
+        (guix build utils)
+        ((guix build gnu-build-system) #:prefix gnu:))
        #:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-cairo-rs" ,rust-cairo-rs-0.7)
-        ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
-        ("rust-cssparser" ,rust-cssparser-0.25)
-        ("rust-data-url" ,rust-data-url-0.1)
-        ("rust-downcast-rs" ,rust-downcast-rs-1.1)
-        ("rust-encoding" ,rust-encoding-0.2)
-        ("rust-float-cmp" ,rust-float-cmp-0.5)
-        ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.7)
-        ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
-        ("rust-gio" ,rust-gio-0.7)
-        ("rust-gio-sys" ,rust-gio-sys-0.9)
-        ("rust-glib" ,rust-glib-0.8)
-        ("rust-glib-sys" ,rust-glib-sys-0.9)
-        ("rust-gobject-sys" ,rust-gobject-sys-0.9)
-        ("rust-itertools" ,rust-itertools-0.8)
-        ("rust-language-tags" ,rust-language-tags-0.2)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-locale-config" ,rust-locale-config-0.3)
-        ("rust-markup5ever" ,rust-markup5ever-0.9)
-        ("rust-nalgebra" ,rust-nalgebra-0.18)
-        ("rust-num-traits" ,rust-num-traits-0.2)
-        ("rust-pkg-config" ,rust-pkg-config-0.3)
-        ("rust-pango" ,rust-pango-0.7)
-        ("rust-pango-sys" ,rust-pango-sys-0.9)
-        ("rust-pangocairo" ,rust-pangocairo-0.8)
-        ("rust-phf" ,rust-phf-0.7)
-        ("rust-rayon" ,rust-rayon-1)
-        ("rust-rctree" ,rust-rctree-0.3)
-        ("rust-string-cache" ,rust-string-cache-0.7)
-        ("rust-regex" ,rust-regex-1)
-        ("rust-url" ,rust-url-2.1)
-        ("rust-xml-rs" ,rust-xml-rs-0.8))
+       ( ;; Keep this list updated in accordance with Cargo.lock.
+        ("aho-corasick" ,rust-aho-corasick-0.7)
+        ("alga" ,rust-alga-0.9)
+        ("approx" ,rust-approx-0.3)
+        ("atty" ,rust-atty-0.2)
+        ("autocfg" ,rust-autocfg-1.0)
+        ("bitflags" ,rust-bitflags-1)
+        ("block" ,rust-block-0.1)
+        ("bstr" ,rust-bstr-0.2)
+        ("bumpalo" ,rust-bumpalo-3)
+        ("byteorder" ,rust-byteorder-1.3)
+        ("cairo-rs" ,rust-cairo-rs-0.8)
+        ("cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
+        ("cast" ,rust-cast-0.2)
+        ("cfg-if" ,rust-cfg-if-0.1)
+        ("clap" ,rust-clap-2)
+        ("criterion" ,rust-criterion-0.3)
+        ("criterion-plot" ,rust-criterion-plot-0.4)
+        ("crossbeam-deque" ,rust-crossbeam-deque-0.7)
+        ("crossbeam-epoch" ,rust-crossbeam-epoch-0.8)
+        ("crossbeam-queue" ,rust-crossbeam-queue-0.2)
+        ("crossbeam-utils" ,rust-crossbeam-utils-0.7)
+        ("cssparser" ,rust-cssparser-0.27)
+        ("cssparser-macros" ,rust-cssparser-macros-0.6)
+        ("csv" ,rust-csv-1.1)
+        ("csv-core" ,rust-csv-core-0.1)
+        ("data-url" ,rust-data-url-0.1)
+        ("derive_more" ,rust-derive-more-0.99)
+        ("downcast-rs" ,rust-downcast-rs-1.2)
+        ("dtoa" ,rust-dtoa-0.4)
+        ("dtoa-short" ,rust-dtoa-short-0.3)
+        ("either" ,rust-either-1.5)
+        ("encoding" ,rust-encoding-0.2)
+        ("encoding-index-japanese" ,rust-encoding-index-japanese-1.20141219)
+        ("encoding-index-korean" ,rust-encoding-index-korean-1.20141219)
+        ("encoding-index-simpchinese" ,rust-encoding-index-simpchinese-1.20141219)
+        ("encoding-index-singlebyte" ,rust-encoding-index-singlebyte-1.20141219)
+        ("encoding-index-tradchinese" ,rust-encoding-index-tradchinese-1.20141219)
+        ("encoding_index_tests" ,rust-encoding-index-tests-0.1)
+        ("float-cmp" ,rust-float-cmp-0.6)
+        ("futf" ,rust-futf-0.1)
+        ("futures-channel" ,rust-futures-channel-0.3)
+        ("futures-core" ,rust-futures-core-0.3)
+        ("futures-executor" ,rust-futures-executor-0.3)
+        ("futures-io" ,rust-futures-io-0.3)
+        ("futures-macro" ,rust-futures-macro-0.3)
+        ("futures-task" ,rust-futures-task-0.3)
+        ("futures-util" ,rust-futures-util-0.3)
+        ("fxhash" ,rust-fxhash-0.2)
+        ("gdk-pixbuf" ,rust-gdk-pixbuf-0.8)
+        ("gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
+        ("generic-array" ,rust-generic-array-0.13)
+        ("getrandom" ,rust-getrandom-0.1)
+        ("gio" ,rust-gio-0.8)
+        ("gio-sys" ,rust-gio-sys-0.9)
+        ("glib" ,rust-glib-0.9)
+        ("glib-sys" ,rust-glib-sys-0.9)
+        ("gobject-sys" ,rust-gobject-sys-0.9)
+        ("half" ,rust-half-1.3)
+        ("hermit-abi" ,rust-hermit-abi-0.1)
+        ("idna" ,rust-idna-0.2)
+        ("itertools-0.8" ,rust-itertools-0.8)
+        ("itertools-0.9" ,rust-itertools-0.9)
+        ("itoa" ,rust-itoa-0.4)
+        ("js-sys" ,rust-js-sys-0.3)
+        ("language-tags" ,rust-language-tags-0.2)
+        ("lazy-static" ,rust-lazy-static-1)
+        ("libc" ,rust-libc-0.2)
+        ("libm" ,rust-libm-0.2)
+        ("locale-config" ,rust-locale-config-0.3)
+        ("log" ,rust-log-0.4)
+        ("mac" ,rust-mac-0.1)
+        ("malloc_buf" ,rust-malloc-buf-0.0)
+        ("markup5ever" ,rust-markup5ever-0.10)
+        ("matches" ,rust-matches-0.1)
+        ("matrixmultiply" ,rust-matrixmultiply-0.2)
+        ("maybe-uninit" ,rust-maybe-uninit-2.0)
+        ("memchr" ,rust-memchr-2)
+        ("memoffset" ,rust-memoffset-0.5)
+        ("nalgebra" ,rust-nalgebra-0.19)
+        ("new_debug_unreachable" ,rust-new-debug-unreachable-1.0)
+        ("nodrop" ,rust-nodrop-0.1)
+        ("num-complex" ,rust-num-complex-0.2)
+        ("num-integer" ,rust-num-integer-0.1)
+        ("num-rational" ,rust-num-rational-0.2)
+        ("num-traits" ,rust-num-traits-0.2)
+        ("num_cpus" ,rust-num-cpus-1)
+        ("objc" ,rust-objc-0.2)
+        ("objc-foundation" ,rust-objc-foundation-0.1)
+        ("objc_id" ,rust-objc-id-0.1)
+        ("once_cell" ,rust-once-cell-1.2)
+        ("oorandom" ,rust-oorandom-11.1)
+        ("pango" ,rust-pango-0.8)
+        ("pango-sys" ,rust-pango-sys-0.9)
+        ("pangocairo" ,rust-pangocairo-0.9)
+        ("pangocairo-sys" ,rust-pangocairo-sys-0.10)
+        ("percent-encoding" ,rust-percent-encoding-2.1)
+        ("phf" ,rust-phf-0.8)
+        ("phf_codegen" ,rust-phf-codegen-0.8)
+        ("phf_generator" ,rust-phf-generator-0.8)
+        ("phf_macros" ,rust-phf-macros-0.8)
+        ("phf_shared" ,rust-phf-shared-0.8)
+        ("pin-project" ,rust-pin-project-0.4)
+        ("pin-project-internal" ,rust-pin-project-internal-0.4)
+        ("pin-utils" ,rust-pin-utils-0.1)
+        ("pkg-config" ,rust-pkg-config-0.3)
+        ("plotters" ,rust-plotters-0.2)
+        ("ppv-lite86" ,rust-ppv-lite86-0.2)
+        ("precomputed-hash" ,rust-precomputed-hash-0.1)
+        ("proc-macro-hack" ,rust-proc-macro-hack-0.5)
+        ("proc-macro-nested" ,rust-proc-macro-nested-0.1)
+        ("proc-macro2" ,rust-proc-macro2-1.0)
+        ("quote" ,rust-quote-1.0)
+        ("rand" ,rust-rand-0.7)
+        ("rand_chacha" ,rust-rand-chacha-0.2)
+        ("rand_core" ,rust-rand-core-0.5)
+        ("rand_distr" ,rust-rand-distr-0.2)
+        ("rand_hc" ,rust-rand-hc-0.2)
+        ("rand_pcg" ,rust-rand-pcg-0.2)
+        ("rawpointer" ,rust-rawpointer-0.2)
+        ("rayon" ,rust-rayon-1)
+        ("rayon-core" ,rust-rayon-core-1)
+        ("rctree" ,rust-rctree-0.3)
+        ("regex" ,rust-regex-1)
+        ("regex-automata" ,rust-regex-automata-0.1)
+        ("regex-syntax" ,rust-regex-syntax-0.6)
+        ("rgb" ,rust-rgb-0.8)
+        ("rustc_version" ,rust-rustc-version-0.2)
+        ("ryu" ,rust-ryu-1.0)
+        ("same-file" ,rust-same-file-1.0)
+        ("scopeguard" ,rust-scopeguard-1.0)
+        ("selectors" ,rust-selectors-0.22)
+        ("semver" ,rust-semver-0.9)
+        ("semver-parser" ,rust-semver-parser-0.7)
+        ("serde" ,rust-serde-1.0)
+        ("serde_cbor" ,rust-serde-cbor-0.11)
+        ("serde_derive" ,rust-serde-derive-1.0)
+        ("serde_json" ,rust-serde-json-1.0)
+        ("servo_arc" ,rust-servo-arc-0.1)
+        ("siphasher" ,rust-siphasher-0.3)
+        ("slab" ,rust-slab-0.4)
+        ("smallvec" ,rust-smallvec-1)
+        ("stable_deref_trait" ,rust-stable-deref-trait-1.1)
+        ("string-cache" ,rust-string-cache-0.8)
+        ("string_cache_codegen" ,rust-string-cache-codegen-0.5)
+        ("syn" ,rust-syn-1.0)
+        ("tendril" ,rust-tendril-0.4)
+        ("textwrap" ,rust-textwrap-0.11)
+        ("thin-slice" ,rust-thin-slice-0.1)
+        ("thread_local" ,rust-thread-local-1.0)
+        ("time" ,rust-time-0.1)
+        ("tinytemplate" ,rust-tinytemplate-1.0)
+        ("tinyvec" ,rust-tinyvec-0.3)
+        ("typenum" ,rust-typenum-1)
+        ("unicode-bidi" ,rust-unicode-bidi-0.3)
+        ("unicode-normalization" ,rust-unicode-normalization-0.1)
+        ("unicode-width" ,rust-unicode-width-0.1)
+        ("unicode-xid" ,rust-unicode-xid-0.2)
+        ("url" ,rust-url-2.1)
+        ("utf-8" ,rust-utf-8-0.7)
+        ("walkdir" ,rust-walkdir-2.3)
+        ("wasi" ,rust-wasi-0.9)
+        ("wasm-bindgen" ,rust-wasm-bindgen-0.2)
+        ("wasm-bindgen-backend" ,rust-wasm-bindgen-backend-0.2)
+        ("wasm-bindgen-macro" ,rust-wasm-bindgen-macro-0.2)
+        ("wasm-bindgen-macro-support" ,rust-wasm-bindgen-macro-support-0.2)
+        ("wasm-bindgen-shared" ,rust-wasm-bindgen-shared-0.2)
+        ("web-sys" ,rust-web-sys-0.3)
+        ("winapi" ,rust-winapi-0.3)
+        ("winapi-i686-pc-windows-gnu" ,rust-winapi-i686-pc-windows-gnu-0.4)
+        ("winapi-util" ,rust-winapi-util-0.1)
+        ("winapi-x86_64-pc-windows-gnu" ,rust-winapi-x86-64-pc-windows-gnu-0.4)
+        ("xml5ever" ,rust-xml5ever-0.16))
        #:cargo-development-inputs
-       (("rust-cairo-rs" ,rust-cairo-rs-0.7)
-        ("rust-criterion" ,rust-criterion-0.2))
+       (("rust-cairo-rs" ,rust-cairo-rs-0.8)
+        ("rust-criterion" ,rust-criterion-0.3))
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc"
+               (substitute* "rsvg-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
          (add-after 'unpack 'prepare-for-build
            (lambda _
+             (delete-file-recursively "vendor")
+             ;; Don't demand an exact version for string_cache
+             (substitute* "rsvg_internals/Cargo.toml"
+               (("\"=") "\""))
              ;; In lieu of #:make-flags
              (setenv "CC" "gcc")
              ;; Something about the build environment resists building
              ;; successfully with the '--locked' flag.
-             (substitute* '("Makefile.am"
-                            "Makefile.in")
+             (substitute* '("Makefile.am" "Makefile.in")
                (("--locked") ""))
              #t))
          (add-before 'configure 'pre-configure
@@ -2856,23 +3000,29 @@ diagrams.")
                (("gdk_pixbuf_moduledir = .*$")
                 (string-append "gdk_pixbuf_moduledir = "
                                "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/"
-                                "loaders\n"))
+                               "loaders\n"))
                ;; Drop the 'loaders.cache' file, it's in gdk-pixbuf+svg.
                (("gdk_pixbuf_cache_file = .*$")
                 "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
              #t))
          (add-after 'configure 'gnu-configure
-           (assoc-ref gnu:%standard-phases 'configure))
-           ;(lambda* (#:key outputs #:allow-other-keys)
-           ;  ((assoc-ref gnu:%standard-phases 'configure)
-           ;   #:outputs outputs
-           ;   #:configure-flags ("--disable-static"
-           ;                      "--enable-vala"))))
+           (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
+             ((assoc-ref gnu:%standard-phases 'configure)
+              #:native-inputs native-inputs
+              #:inputs inputs
+              #:outputs outputs
+              #:configure-flags
+              (list
+               "--disable-static"
+               "--enable-vala"
+               (string-append "--with-html-dir="
+                              (assoc-ref %outputs "doc")
+                              "/share/gtk-doc/html")))))
          (add-after 'configure 'dont-vendor-self
            (lambda* (#:key vendor-dir #:allow-other-keys)
              ;; Don't keep the whole tarball in the vendor directory
              (delete-file-recursively
-               (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))
+              (string-append vendor-dir "/" ,name "-" ,version ".tar.xz"))
              #t))
          (replace 'build
            (assoc-ref gnu:%standard-phases 'build))
@@ -2881,28 +3031,34 @@ diagrams.")
              ((assoc-ref gnu:%standard-phases 'check)
               #:test-target "check")))
          (replace 'install
-           (assoc-ref gnu:%standard-phases 'install))
-         (add-before 'check 'remove-failing-tests
-           (lambda _
-             (with-directory-excursion "tests/fixtures/reftests"
-               (for-each delete-file
-                         '(;; The images produced by these tests differ slightly
-                           ;; from their reference counterparts due to differences
-                           ;; in the build environment (missing fonts, etc).  See
-                           ;; <tests/README.md> for details.
-                           ;; These fail on x86_64.
-                           "svg1.1/coords-viewattr-02-b.svg"
-                           "svg1.1/filters-composite-04-f.svg"
-                           "svg1.1/filters-image-01-b.svg"
-                           "svg1.1/filters-conv-02-f.svg"
-                           "svg1.1/filters-conv-04-f.svg"
-                           ;; This test fails on i686:
-                           "svg1.1/masking-path-04-b.svg"
-                           ;; This test fails on armhf:
-                           "svg1.1/masking-mask-01-b.svg"
-                           ;; This test fails on aarch64:
-                           "bugs/777834-empty-text-children.svg")))
-             #t)))))
+           (assoc-ref gnu:%standard-phases 'install)))))
+    (native-inputs
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("glib" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("ruby" ,ruby)
+       ("vala" ,vala)))
+    (inputs
+     `(("bzip2" ,bzip2)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("harfbuzz" ,harfbuzz)
+       ("libcroco" ,libcroco)
+       ("libgsf" ,libgsf)
+       ("libxml2" ,libxml2)
+       ("pango" ,pango)))
+    (propagated-inputs
+     `(("cairo" ,cairo)
+       ("gdk-pixbuf" ,gdk-pixbuf)
+       ("glib" ,glib)))
+    (synopsis "SVG rendering library")
+    (description "Librsvg is a library to render SVG images to Cairo surfaces.
+GNOME uses this to render SVG icons.  Outside of GNOME, other desktop
+environments use it for similar purposes.  Wikimedia uses it for Wikipedia's SVG
+diagrams.")
+    (home-page "https://wiki.gnome.org/LibRsvg")
     (license license:lgpl2.1+)))
 
 (define-public libidl
-- 
2.27.0


[-- Attachment #1.1.41: 0040-gnu-libsecret-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 6064 bytes --]

From ac6be0a068ab5e064e3d2ca621cd06fc29428831 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Thu, 9 Jul 2020 18:34:16 -0400
Subject: [PATCH 40/62] gnu: libsecret: Update package definition.

* gnu/packages/gnome.scm (libsecret): Update package definition.
[build-system]: Change from gnu to meson.
[arguments]<#:glib-or-gtk?>: New argument.
<#:tests?>: Remove argument.
<#:configure-flags>[--with-html-dir]: Remove flag.
<#:phases>['patch-docbook-xml]: New phase.
['check]: New phase.
['move-docs]: New phase.
[native-inputs]: Add dbus, docbook-xml, docbook-xsl, gtk-doc,
python-wrapper, python-dbus and python-pygobject.
[inputs]: Remove docbook-xsl and libgcrypt.
[propagated-inputs]: Add libgcrypt.
[synopsis]: Modify.
[description]: Modify.
[license]: Add asl2.0 and gpl2+.
---
 gnu/packages/gnome.scm | 100 +++++++++++++++++++++++++++--------------
 1 file changed, 66 insertions(+), 34 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 2ac98a5d6d..12721b71fa 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4496,49 +4496,81 @@ and the GLib main loop, to integrate well with GNOME applications.")
   (package
     (name "libsecret")
     (version "0.20.3")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "mirror://gnome/sources/libsecret/"
-                    (version-major+minor version) "/"
-                    "libsecret-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1r4habxdzmn02id324m0m4mg5isf22q1z436bg3vjjmcz1b3rjsg"))))
-    (build-system gnu-build-system)
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1r4habxdzmn02id324m0m4mg5isf22q1z436bg3vjjmcz1b3rjsg"))))
+    (build-system meson-build-system)
     (outputs '("out" "doc"))
     (arguments
-     `(#:tests? #f ; FIXME: Testing hangs.
-       #:configure-flags
-       (list (string-append "--with-html-dir="
-                            (assoc-ref %outputs "doc")
-                            "/share/gtk-doc/html"))))
+     `(#:glib-or-gtk? #t
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "man/secret-tool.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.2/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.2")
+                                 "/xml/dtd/docbook/")))
+               (substitute* '("reference/libsecret/libsecret-docs.sgml"
+                              "reference/libsecret/libsecret-examples.sgml"
+                              "reference/libsecret/libsecret-using.sgml")
+                 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+                  (string-append (assoc-ref inputs "docbook-xml-4.1.2")
+                                 "/xml/dtd/docbook/"))))))
+         (replace 'check
+           (lambda _
+             ;; For missing '/etc/machine-id'.
+             (setenv "DBUS_FATAL_WARNINGS" "0")
+             (invoke "dbus-launch" "meson" "test")
+             #t))
+         (add-after 'install 'move-docs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share"))
+               (rename-file
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
     (native-inputs
-     `(("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
+     `(("dbus" ,dbus)
+       ("docbook-xml-4.1.2" ,docbook-xml-4.1.2)
+       ("docbook-xml-4.2" ,docbook-xml-4.2)
+       ("docbook-xsl" ,docbook-xsl)
+       ("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
        ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("python-dbus" ,python-dbus)
+       ("python-pygobject" ,python-pygobject)
        ("vala" ,vala)
        ("xsltproc" ,libxslt)))
-       ;; These are needed for the tests.
-       ;; FIXME: Add gjs once available.
-       ;("dbus" ,dbus)
-       ;("python2" ,python-2)
-       ;("python2-dbus" ,python2-dbus)
-       ;("python2-pygobject" ,python2-pygobject)
-       ;("python2-pygobject-2" ,python2-pygobject-2)))
-    (propagated-inputs
-     `(("glib" ,glib))) ; required by libsecret-1.pc
     (inputs
-     `(("docbook-xsl" ,docbook-xsl)
-       ("libgcrypt" ,libgcrypt)
-       ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES
+     `(("libxml2" ,libxml2)))
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("libgcrypt" ,libgcrypt)))
+    (synopsis "GObject bindings for Secret Service API")
+    (description "Libsecret is a library for storing and retrieving passwords
+and other secrets.  It communicates with the Secret Service, using D-Bus.
+Gnome-Keyring and Ksecretservice are both implementations of a Secret Service.")
     (home-page "https://wiki.gnome.org/Projects/Libsecret/")
-    (synopsis "GObject bindings for \"Secret Service\" API")
-    (description
-     "Libsecret is a GObject based library for storing and retrieving passwords
-and other secrets.  It communicates with the \"Secret Service\" using DBus.")
-    (license license:lgpl2.1+)))
+    (license
+     (list
+      ;; Tests
+      license:asl2.0
+      license:gpl2+
+      ;; Others
+      license:lgpl2.1+))))
 
 (define-public five-or-more
   (package
-- 
2.27.0


[-- Attachment #1.1.42: 0041-gnu-libsoup-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 9420 bytes --]

From e62c2d2a03b8c80325a5123ff17e6a01200adbd2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 10 Jul 2020 10:56:58 -0400
Subject: [PATCH 41/62] gnu: libsoup: Update package definition.

* gnu/packages/gnome.scm (libsoup): Update package definition.
[arguments]<#:modules>: Remove argument.
<#:glib-or-gtk?>: New argument.
<#:phases>['adjust-tests]: Remove phase.
['patch-docbook-xml]: New phase.
['disable-failing-tests]: New phase.
['move-doc]: Modify phase.
[native-inputs]: Remove gnutls. Add docbook-xml.
[inputs]: Remove glib-networking. Add samba.
[propagated-inputs]: Add glib-networking.
[home-page]: Modify.
---
 gnu/packages/gnome.scm | 140 ++++++++++++++---------------------------
 1 file changed, 48 insertions(+), 92 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 12721b71fa..10a69ded3b 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -115,6 +115,7 @@
   #:use-module (gnu packages geo)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages graphviz)
+  #:use-module (gnu packages gsasl)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -4358,125 +4359,80 @@ libxml to ease remote use of the RESTful API.")
   (package
     (name "libsoup")
     (version "2.70.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/libsoup/"
-                                  (version-major+minor version) "/"
-                                  "libsoup-" version ".tar.xz"))
-              (sha256
-               (base32
-                "0hjk9lgppc5435my0lyywbpmj7ib5vvcylwfin8ki97g9bvj1c2l"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/libsoup/"
+                       (version-major+minor version) "/"
+                       "libsoup-" version ".tar.xz"))
+       (sha256
+        (base32 "0hjk9lgppc5435my0lyywbpmj7ib5vvcylwfin8ki97g9bvj1c2l"))))
     (build-system meson-build-system)
     (outputs '("out" "doc"))
     (arguments
-     `(#:modules ((guix build utils)
-                  (guix build meson-build-system)
-                  (ice-9 popen))
-
-       #:configure-flags '("-Dgtk_doc=true")
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Dgtk_doc=true")
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'adjust-tests
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs/reference"
+               (substitute* '("libsoup-2.4-docs.sgml"
+                              "build-howto.xml" "client-howto.xml"
+                              "request-howto.xml" "server-howto.xml"
+                              "session-porting.xml")
+                 (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
+         (add-after 'unpack 'disable-failing-tests
+           ;; These tests require network services.
            (lambda _
-             ;; This test fails due to missing /etc/nsswitch.conf
-             ;; in the build environment.
-             (substitute* "tests/socket-test.c"
-               ((".*/sockets/unconnected.*") ""))
-
-             ;; These fail because "subdomain.localhost" does not resolve in
-             ;; the build environment.
-             (substitute* "tests/hsts-test.c"
-               ((".*/hsts/basic.*") "")
-               ((".*/hsts/subdomains.*") "")
-               ((".*/hsts/superdomain.*") "")
-               ((".*/hsts/utf8-address.*") ""))
-             (substitute* "tests/hsts-db-test.c"
-               ((".*/hsts-db/subdomains.*") ""))
-
-             ;; Generate a self-signed certificate that has "localhost" as its
-             ;; 'dnsName'.  Failing to do that, and starting with GnuTLS
-             ;; 3.5.12, tests such as "ssl-tests" fail:
-             ;;
-             ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
-             ;;
-             ;; 'certtool' is interactive so we have to pipe it the answers.
-             ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
-             (let ((pipe (open-output-pipe "certtool --generate-self-signed \
- --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
-               (for-each (lambda (line)
-                           (display line pipe)
-                           (newline pipe))
-                         '(""               ;Common name
-                           ""               ;UID
-                           "Guix"           ;Organizational unit name
-                           "GNU"            ;Organization name
-                           ""               ;Locality name
-                           ""               ;State or province
-                           ""               ;Country
-                           ""               ;subject's domain component (DC)
-                           ""               ;E-mail
-                           ""               ;serial number
-                           "-1"             ;expiration time
-                           "N"              ;belong to authority?
-                           "N"              ;web client certificate?
-                           "N"              ;IPsec IKE?
-                           "Y"              ;web server certificate?
-                           "localhost"      ;dnsName of subject
-                           ""               ;dnsName of subject (end)
-                           ""               ;URI of subject
-                           "127.0.0.1"      ;IP address of subject
-                           ""               ;signing?
-                           ""               ;encryption (RSA)?
-                           ""               ;data encryption?
-                           ""               ;sign OCSP requests?
-                           ""               ;sign code?
-                           ""               ;time stamping?
-                           ""               ;email protection?
-                           ""               ;URI of the CRL distribution point
-                           "y"              ;above info OK?
-                           ))
-               (close-pipe pipe))
+             (substitute* "tests/meson.build"
+               (("\\['socket', true, \\[\\]\\],")
+                ""))
              #t))
          (add-after 'install 'move-doc
            (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (doc (assoc-ref outputs "doc")))
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
                (mkdir-p (string-append doc "/share"))
-               (copy-recursively (string-append out "/share/gtk-doc")
-                                 (string-append doc "/share/gtk-doc"))
-               (delete-file-recursively (string-append out "/share/gtk-doc"))
+               (rename-file
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
                #t))))))
     (native-inputs
-     `(("glib:bin" ,glib "bin")                   ; for glib-mkenums
+     `(("curl" ,curl)
+       ("docbook-xml" ,docbook-xml-4.1.2)
+       ("glib:bin" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
        ("gtk-doc" ,gtk-doc)
+       ("httpd" ,httpd)
        ("intltool" ,intltool)
+       ("php" ,php)
        ("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)
-       ("vala" ,vala)
-       ("php" ,php)
-       ("curl" ,curl)
-       ("gnutls" ,gnutls)                         ;for 'certtool'
-       ("httpd" ,httpd)))
+       ("vala" ,vala)))
+    (inputs
+     `(("krb5_config" ,mit-krb5)
+       ("ntlm_auth" ,samba)))
     (propagated-inputs
-     ;; libsoup-2.4.pc refers to all these.
      `(("brotli" ,google-brotli)
        ("glib" ,glib)
+       ("glib-networking" ,glib-networking)
        ("libpsl" ,libpsl)
        ("libxml2" ,libxml2)
        ("sqlite" ,sqlite)
        ("zlib" ,zlib)))
-    (inputs
-     `(("glib-networking" ,glib-networking)
-       ("mit-krb5" ,mit-krb5)))
-    (home-page "https://live.gnome.org/LibSoup/")
     (synopsis "GLib-based HTTP Library")
-    (description
-     "LibSoup is an HTTP client/server library for GNOME.  It uses GObjects
-and the GLib main loop, to integrate well with GNOME applications.")
+    (description "LibSoup is an HTTP client/server library for GNOME.  It uses
+GObjects and the GLib main loop, to integrate well with GNOME applications.")
+    (home-page "https://wiki.gnome.org/Projects/libsoup")
     (license license:lgpl2.0+)))
 
-
 ;;; A minimal version of libsoup used to prevent a cycle with Inkscape.
 (define-public libsoup-minimal
   (package
-- 
2.27.0


[-- Attachment #1.1.43: 0042-gnu-Add-openjpeg-data.patch --]
[-- Type: text/x-patch, Size: 1929 bytes --]

From 3b0c5eb403f37e34d1eaea81ec772ff0d2e9cff1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 10 Jul 2020 15:57:04 -0400
Subject: [PATCH 42/62] gnu: Add openjpeg-data.

* gnu/packages/image.scm (openjpeg-data): New variable.
---
 gnu/packages/image.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 9754de03b7..8788de5038 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -87,6 +87,7 @@
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system copy)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (guix build-system scons)
@@ -790,6 +791,28 @@ images of initially unknown height.")
     (license (list license:isc          ; pbmtools/p?m.5
                    license:gpl2+))))    ; the rest
 
+(define-public openjpeg-data
+  (package
+    (name "openjpeg-data")
+    (version "2020.05.19")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/uclouvain/openjpeg-data.git")
+         (commit "c5c4a8c")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1jp84gbhw8q5b8mhc322ql9410hjf32w9hg10x4isfa9j59mnncb"))))
+    (build-system copy-build-system)
+    (synopsis "Test files for OpenJPEG")
+    (description "OpenJPEG-Data contains all files required to run the openjpeg
+test suite, including conformance tests (following Rec. ITU-T T.803 | ISO/IEC
+15444-4 procedures), non-regression tests and unit tests.")
+    (home-page "https://github.com/uclouvain/openjpeg-data")
+    (license license:bsd-2)))
+
 (define-public openjpeg
   (package
     (name "openjpeg")
-- 
2.27.0


[-- Attachment #1.1.44: 0043-gnu-openjpeg-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 5191 bytes --]

From 2b979582344e137d22f32a8f943c347ec9a88e16 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Fri, 10 Jul 2020 21:52:18 -0400
Subject: [PATCH 43/62] gnu: openjpeg: Update package definition.

* gnu/packages/image.scm (openjpeg): Update package definition.
[outputs]: New output "doc".
[arguments]<#:tests?>: Remove argument.
<#:configure-flags>[-DBUILD_DOC]: New flag.
[-DBUILD_LUTS_GENERATOR]: New flag.
[-DBUILD_UNIT_TESTS]: New flag.
[-DBUILD_MJ2]: New flag.
[-DBUILD_JPWL]: New flag.
[-DBUILD_JP3D]: New flag.
[-DBUILD_TESTING]: New flag.
[-DOPJ_DATA_ROOT]: New flag.
<#:phases>['disable-failing-tests]: New phase.
['move-docs]: New phase.
[native-inputs]: Add doxygen, openjpeg-data and python-wrapper.
[inputs]: Add curl and fcgi.
[synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/image.scm | 88 +++++++++++++++++++++++++++++-------------
 1 file changed, 62 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 8788de5038..d5946faea1 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -817,35 +817,71 @@ test suite, including conformance tests (following Rec. ITU-T T.803 | ISO/IEC
   (package
     (name "openjpeg")
     (version "2.3.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/uclouvain/openjpeg")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name "openjpeg" version))
-              (sha256
-               (base32
-                "1dn98d2dfa1lqyxxmab6rrcv52dyhjr4g7i4xf2w54fqsx14ynrb"))))
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/uclouvain/openjpeg.git")
+         (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1dn98d2dfa1lqyxxmab6rrcv52dyhjr4g7i4xf2w54fqsx14ynrb"))))
     (build-system cmake-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     '(#:tests? #f                   ;TODO: requires a 1.1 GiB data repository
-       #:configure-flags '("-DBUILD_STATIC_LIBS=OFF")))
+     '(#:configure-flags
+       (list
+        "-DBUILD_DOC=ON"
+        "-DBUILD_STATIC_LIBS=OFF"
+        "-DBUILD_LUTS_GENERATOR=ON"
+        "-DBUILD_UNIT_TESTS=ON"
+        "-DBUILD_MJ2=ON"
+        "-DBUILD_JPWL=ON"
+        ;; To be enabled after Java becomes reproducible.
+        ;; "-DBUILD_JPIP=ON"
+        ;; "-DBUILD_JPIP_SERVER=ON"
+        ;; "-DBUILD_JAVA=ON"
+        "-DBUILD_JP3D=ON"
+        "-DBUILD_TESTING=ON"
+        (string-append "-DOPJ_DATA_ROOT="
+                       (assoc-ref %build-inputs "openjpeg-data")))
+       #:phases
+       (modify-phases %standard-phases
+         ;; To be re-enabled after upstream fixes the bug,
+         ;; https://github.com/uclouvain/openjpeg/issues/1264
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "tests/CMakeLists.txt"
+               (("add_subdirectory\\(nonregression\\)")
+                ""))
+             #t))
+         (add-after 'install 'move-docs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share/doc"))
+               (rename-file
+                (string-append out "/share/doc/html")
+                (string-append doc "/share/doc/html"))
+               #t))))))
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("openjpeg-data" ,openjpeg-data) ; Files for test-suite
+       ("python" ,python-wrapper)))
     (inputs
-      `(("lcms" ,lcms)
-        ("libpng" ,libpng)
-        ("libtiff" ,libtiff)
-        ("zlib" ,zlib)))
-    (synopsis "JPEG 2000 codec")
-    (description
-      "The OpenJPEG library is a JPEG 2000 codec written in C.  It has
-been developed in order to promote the use of JPEG 2000, the new
-still-image compression standard from the Joint Photographic Experts
-Group (JPEG).
-
-In addition to the basic codec, various other features are under
-development, among them the JP2 and MJ2 (Motion JPEG 2000) file formats,
-an indexing tool useful for the JPIP protocol, JPWL-tools for
-error-resilience, a Java-viewer for j2k-images, ...")
+     `(("curl" ,curl)
+       ("fcgi" ,fcgi)
+       ("lcms" ,lcms)
+       ("libpng" ,libpng)
+       ("libtiff" ,libtiff)
+       ("zlib" ,zlib)))
+    (synopsis "OPENJPEG Library and Applications")
+    (description "OpenJPEG is an implementation of JPEG 2000 codec written in C
+language.  It has been developed in order to promote the use of JPEG 2000, a
+still-image compression standard from the Joint Photographic Experts Group
+(JPEG).  Since April 2015, it is officially recognized by ISO/IEC and ITU-T as a
+JPEG 2000 Reference Software.")
     (home-page "https://github.com/uclouvain/openjpeg")
     (license license:bsd-2)))
 
-- 
2.27.0


[-- Attachment #1.1.45: 0044-gnu-Add-libdatrie.patch --]
[-- Type: text/x-patch, Size: 2176 bytes --]

From d994a6a1511d2840b46ce6121e96bb31787b24a2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 11 Jul 2020 12:20:05 -0400
Subject: [PATCH 44/62] gnu: Add libdatrie.

* gnu/packages/gtk.scm (libdatrie): New variable.
---
 gnu/packages/gtk.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 2623dd9256..49f2f15aac 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -61,6 +61,7 @@
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages docbook)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages enchant)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
@@ -234,6 +235,35 @@ affine transformation (scale, rotation, shear, etc.).")
                        "See 'COPYING' in the distribution."))
    (home-page "https://www.freedesktop.org/wiki/Software/HarfBuzz/")))
 
+(define-public libdatrie
+  (package
+    (name "libdatrie")
+    (version "0.2.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://linux.thai.net/pub/ThaiLinux/software/"
+                       "libthai/libdatrie-" version ".tar.xz"))
+       (sha256
+        (base32 "0jz9k0dd8jim4iyk5xrhkkdm4zq2ly6aw317ydjss44ymg97nz2l"))))
+    (build-system gnu-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:configure-flags
+       (list
+        (string-append "--with-html-docdir="
+                       (assoc-ref %outputs "doc")
+                       "/share/doc/datrie/html"))))
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Double-Array Trie Library")
+    (description "Libdatrie is an implementation of double-array structure for
+representing trie.  Trie is a kind of digital search tree.")
+    (home-page "https://linux.thai.net/~thep/datrie/datrie.html")
+    (license license:lgpl2.1+)))
+
 (define-public pango
   (package
    (name "pango")
-- 
2.27.0


[-- Attachment #1.1.46: 0045-gnu-Add-libthai.patch --]
[-- Type: text/x-patch, Size: 1908 bytes --]

From 8fdc1ae1c66c9d08f5842962964fffdeeaea9d28 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 11 Jul 2020 12:29:32 -0400
Subject: [PATCH 45/62] gnu: Add libthai.

* gnu/packages/gtk.scm (libthai): New variable.
---
 gnu/packages/gtk.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 49f2f15aac..ad5db049d8 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -264,6 +264,38 @@ representing trie.  Trie is a kind of digital search tree.")
     (home-page "https://linux.thai.net/~thep/datrie/datrie.html")
     (license license:lgpl2.1+)))
 
+(define-public libthai
+  (package
+    (name "libthai")
+    (version "0.1.28")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://linux.thai.net/pub/thailinux/software/"
+                       "libthai/libthai-" version ".tar.xz"))
+       (sha256
+        (base32 "04g93bgxrcnay9fglpq2lj9nr7x1xh06i60m7haip8as9dxs3q7z"))))
+    (build-system gnu-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:configure-flags
+       (list
+        (string-append "--with-html-docdir="
+                       (assoc-ref %outputs "doc")
+                       "/share/doc/libthai/html"))))
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("pkg-config" ,pkg-config)))
+    (propagated-inputs
+     `(("datrie" ,libdatrie)))
+    (synopsis "Thai language support library")
+    (description "LibThai is a set of Thai language support routines aimed to
+ease developers’ tasks to incorporate Thai language support in their
+applications.")
+    (home-page "https://linux.thai.net/projects/libthai")
+    (license license:lgpl2.1+)))
+
 (define-public pango
   (package
    (name "pango")
-- 
2.27.0


[-- Attachment #1.1.47: 0046-gnu-pango-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 7363 bytes --]

From a0134df6fe09f0a5ee7d1930d8336b8055108b3d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sat, 11 Jul 2020 18:36:12 -0400
Subject: [PATCH 46/62] gnu: pango: Update package definition.

* gnu/packages/gtk.scm (pango): Update package definition.
[arguments]<#:glib-or-gtk?>: New argument.
[native-inputs]: Add help2man, perl and python-wrapper.
[propagated-inputs]: Add libthai and libxrender.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.

* gnu/packages/patches/pango-skip-libthai-test.patch: Delete file.

* gnu/local.mk (pango-skip-libthai-test.patch): Remove reference.
---
 gnu/local.mk                                  |  1 -
 gnu/packages/gtk.scm                          | 99 ++++++++++---------
 .../patches/pango-skip-libthai-test.patch     | 23 -----
 3 files changed, 51 insertions(+), 72 deletions(-)
 delete mode 100644 gnu/packages/patches/pango-skip-libthai-test.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index b36b91ce74..0786fa426b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1351,7 +1351,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/p7zip-remove-unused-code.patch		\
   %D%/packages/patches/pam-krb5-CVE-2020-10595.patch		\
   %D%/packages/patches/pam-mount-luks2-support.patch		\
-  %D%/packages/patches/pango-skip-libthai-test.patch		\
   %D%/packages/patches/pciutils-hurd-configure.patch		\
   %D%/packages/patches/sdl-pango-api_additions.patch		\
   %D%/packages/patches/sdl-pango-blit_overflow.patch		\
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index ad5db049d8..c51089be38 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -78,6 +78,7 @@
   #:use-module (gnu packages iso-codes)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -298,54 +299,56 @@ applications.")
 
 (define-public pango
   (package
-   (name "pango")
-   (version "1.44.7")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/pango/"
-                                (version-major+minor version) "/"
-                                name "-" version ".tar.xz"))
-            (patches (search-patches "pango-skip-libthai-test.patch"))
-            (sha256
-             (base32
-              "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))
-   (build-system meson-build-system)
-   (arguments
-    '(#:phases (modify-phases %standard-phases
-                 (add-after 'unpack 'disable-cantarell-tests
-                   (lambda _
-                     (substitute* "tests/meson.build"
-                       ;; XXX FIXME: These tests require "font-cantarell", but
-                       ;; adding it here would introduce a circular dependency.
-                       (("\\[ 'test-harfbuzz'.*") "")
-                       (("\\[ 'test-itemize'.*") "")
-                       (("\\[ 'test-layout'.*") ""))
-                     #t)))))
-   (propagated-inputs
-    ;; These are all in Requires or Requires.private of the '.pc' files.
-    `(("cairo" ,cairo)
-      ("fribidi" ,fribidi)
-      ("fontconfig" ,fontconfig)
-      ("freetype" ,freetype)
-      ("glib" ,glib)
-      ("harfbuzz" ,harfbuzz)
-
-      ;; Some packages, such as Openbox, expect Pango to be built with the
-      ;; optional libxft support.
-      ("libxft" ,libxft)))
-   (inputs
-    `(("zlib" ,zlib)))
-   (native-inputs
-    `(("pkg-config" ,pkg-config)
-      ("glib" ,glib "bin")                               ; glib-mkenums, etc.
-      ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
-   (synopsis "GNOME text and font handling library")
-   (description
-    "Pango is the core text and font handling library used in GNOME
-applications.  It has extensive support for the different writing systems
-used throughout the world.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/pango/")))
+    (name "pango")
+    (version "1.44.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/pango/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "tests/meson.build"
+               (("\\[ 'test-harfbuzz'.*") "")
+               (("\\[ 'test-itemize'.*") "")
+               (("\\[ 'test-layout'.*") ""))
+             #t)))))
+    (native-inputs
+     `(("glib" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("help2man" ,help2man)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("zlib" ,zlib)))
+    (propagated-inputs
+     `(("cairo" ,cairo)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("fribidi" ,fribidi)
+       ("glib" ,glib)
+       ("harfbuzz" ,harfbuzz)
+       ("libthai" ,libthai)
+       ("libxft" ,libxft)
+       ("libxrender" ,libxrender)))
+    (synopsis "Text and font handling library")
+    (description "Pango is a library for laying out and rendering of text, with
+an emphasis on internationalization.  Pango can be used anywhere that text
+layout is needed, though most of the work on Pango so far has been done in the
+context of the GTK+ widget toolkit.  Pango forms the core of text and font
+handling for GTK+-2.x.")
+    (home-page "https://pango.gnome.org/")
+    (license license:lgpl2.0+)))
 
 (define-public pango-1.42
   (package
diff --git a/gnu/packages/patches/pango-skip-libthai-test.patch b/gnu/packages/patches/pango-skip-libthai-test.patch
deleted file mode 100644
index 98732b5391..0000000000
--- a/gnu/packages/patches/pango-skip-libthai-test.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Skip Thai character test when libthai is unavailable.
-
-Taken from upstream bug tracker:
-https://gitlab.gnome.org/GNOME/pango/merge_requests/161
-https://gitlab.gnome.org/GNOME/pango/commit/b73284747ac937e31dc9191f84ed6e24284c88ee
-
-diff --git a/tests/test-break.c b/tests/test-break.c
-index 8549b678bba69360d07dce3af21d915412f20d51..47fa3009165e19a331aa04a0df4351ae2323933b 100644
---- a/tests/test-break.c
-+++ b/tests/test-break.c
-@@ -305,6 +305,12 @@ main (int argc, char *argv[])
-       if (!strstr (name, "break"))
-         continue;
- 
-+#ifndef HAVE_LIBTHAI
-+      /* four.break involves Thai, so only test it when we have libthai */
-+      if (strstr (name, "four.break"))
-+        continue;
-+#endif
-+
-       path = g_strdup_printf ("/break/%s", name);
-       g_test_add_data_func_full (path, g_test_build_filename (G_TEST_DIST, "breaks", name, NULL),
-                                  test_break, g_free);
-- 
2.27.0


[-- Attachment #1.1.48: 0047-gnu-gtk-Add-missing-input.patch --]
[-- Type: text/x-patch, Size: 842 bytes --]

From 1e9b2acee02c03b0b57b8dc8579ac8482dcb87d3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Sun, 12 Jul 2020 20:31:48 -0400
Subject: [PATCH 47/62] gnu: gtk+: Add missing input.

* gnu/package/gtk.scm (gtk+) [native-inputs]: Add hicolor-icon-theme.
---
 gnu/packages/gtk.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index c51089be38..50827320ee 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1027,6 +1027,7 @@ application suites.")
        ("gettext" ,gettext-minimal)
        ("glib" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
+       ("hicolor-icon-theme" ,hicolor-icon-theme)
        ("intltool" ,intltool)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
-- 
2.27.0


[-- Attachment #1.1.49: 0048-gnu-vala-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 5380 bytes --]

From 7a6ff3b48ee3ac2a789ce0fac3d6c2227199e685 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 13 Jul 2020 00:45:13 -0400
Subject: [PATCH 48/62] gnu: vala: Update package definition.

* gnu/packages/gnome.scm (vala) [version]: Update to 0.48.7.
[source]<origin>[sha256]: Modify base32.
[build-system]: Change from gnu to glib-or-gtk.
[arguments]<#:configure-flags>["--enable-coverage]: New flag.
<#:phases>['patch-docbook-xml]: New phase.
[native-inputs]: Add docbook-xml, docbook-xsl, help2man and perl.
[inputs]: Remove graphviz.
[propagated-inputs]: Add libgvc.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
---
 gnu/packages/gnome.scm | 84 +++++++++++++++++++++++++-----------------
 1 file changed, 50 insertions(+), 34 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 10a69ded3b..ba125db3f7 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -135,6 +135,7 @@
   #:use-module (gnu packages lirc)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages mail)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages mp3)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages music)
@@ -3856,46 +3857,61 @@ passwords in the GNOME keyring.")
 (define-public vala
   (package
     (name "vala")
-    (version "0.46.5")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s"))))
-    (build-system gnu-build-system)
+    (version "0.48.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0lswkb7gj0chas9n3l3dbrm9l71hs77adhvm2v600id2ipi37pi8"))))
+    (build-system glib-or-gtk-build-system)
     (arguments
-     '(#:phases
+     `(#:configure-flags
+       (list
+        "--enable-coverage")
+       #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "doc/manual"
+               (substitute* '("manual.xml" "version.xml.in")
+                 (("http://www.oasis-open.org/docbook/xml/4.4/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t))
          (add-before 'check 'pre-check
-                     (lambda _
-                       (setenv "CC" "gcc")
-                       (substitute* "valadoc/tests/testrunner.sh"
-                         (("export PKG_CONFIG_PATH=" m)
-                          (string-append m "$PKG_CONFIG_PATH:")))
-                       ;; For missing '/etc/machine-id'.
-                       (setenv "DBUS_FATAL_WARNINGS" "0")
-                       #t)))))
+           (lambda _
+             (setenv "CC" "gcc")
+             (substitute* "valadoc/tests/testrunner.sh"
+               (("export PKG_CONFIG_PATH=" m)
+                (string-append m "$PKG_CONFIG_PATH:")))
+             ;; For missing '/etc/machine-id'.
+             (setenv "DBUS_FATAL_WARNINGS" "0")
+             #t)))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
+     `(("bison" ,bison)
+       ("dbus" ,dbus)
+       ("docbook-xml" ,docbook-xml-4.4)
+       ("docbook-xsl" ,docbook-xsl)
        ("flex" ,flex)
-       ("bison" ,bison)
-       ("xsltproc" ,libxslt)
-       ("dbus" ,dbus)                                     ; for dbus tests
-       ("gobject-introspection" ,gobject-introspection))) ; for gir tests
-    (inputs
-     `(("graphviz" ,graphviz)))
+       ("gobject-introspection" ,gobject-introspection)
+       ("help2man" ,help2man)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xsltproc" ,libxslt)))
     (propagated-inputs
-     `(("glib" ,glib))) ; required by libvala-0.40.pc
-    (home-page "https://live.gnome.org/Vala/")
-    (synopsis "Compiler for the GObject type system")
-    (description
-     "Vala is a programming language that aims to bring modern programming
-language features to GNOME developers without imposing any additional runtime
-requirements and without using a different ABI compared to applications and
-libraries written in C.")
+     `(("glib" ,glib)
+       ("libgvc" ,graphviz)))
+    (synopsis "Compiler using the GObject type system")
+    (description "Vala is a programming language using modern high level
+abstractions without imposing additional runtime requirements and without using
+a different ABI compared to applications and libraries written in C.  Vala uses
+the GObject type system and has additional code generation routines that make
+targeting the GNOME stack simple.")
+    (home-page "https://wiki.gnome.org/Projects/Vala/")
     (license license:lgpl2.1+)))
 
 (define-public vala-0.48
-- 
2.27.0


[-- Attachment #1.1.50: 0049-gnu-libwpe-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 2377 bytes --]

From e90a5e0db901d54ad81ccc85249c628f83bf1a98 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 13 Jul 2020 01:48:50 -0400
Subject: [PATCH 49/62] gnu: libwpe: Update package definition.

* gnu/packages/webkit.scm (libwpe): Update package definition.
[native-inputs]: Add python-wrapper.
[synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/webkit.scm | 31 +++++++++++++++----------------
 1 file changed, 15 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index 3804209841..06eab4a206 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -65,29 +65,28 @@
   (package
     (name "libwpe")
     (version "1.6.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://wpewebkit.org/releases/libwpe-"
-                                  version ".tar.xz"))
-              (sha256
-               (base32
-                "141w35b488jjhanl3nrm0awrbcy6hb579fk8n9vbpx07m2wcd1rm"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://wpewebkit.org/releases/libwpe-"
+                       version ".tar.xz"))
+       (sha256
+        (base32 "141w35b488jjhanl3nrm0awrbcy6hb579fk8n9vbpx07m2wcd1rm"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:tests? #f))                    ;no tests
+     `(#:tests? #f))                    ; No target
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
     (inputs
      `(("mesa" ,mesa)))
     (propagated-inputs
-     `(;; In Requires of wpe-1.0.pc.
-       ("libxkbcommon" ,libxkbcommon)))
+     `(("libxkbcommon" ,libxkbcommon)))
+    (synopsis "General-purpose library for WPE")
+    (description "LibWPE is general-purpose library specifically developed for
+the WPE-flavored port of WebKit.")
     (home-page "https://wpewebkit.org/")
-    (synopsis "Platform agnostic WebKit interfaces")
-    (description
-     "@code{libwpe} is a small library that defines programming interfaces
-for use by WebKit, and provides a mechanism for loading a platform-specific
-backend which implements them.")
     (license license:bsd-2)))
 
 (define-public wpebackend-fdo
-- 
2.27.0


[-- Attachment #1.1.51: 0050-gnu-wpebackend-fdo-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 2301 bytes --]

From 8853a749cc54af887284fec83bddc5838986694d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 13 Jul 2020 02:00:12 -0400
Subject: [PATCH 50/62] gnu: wpebackend-fdo: Update package definition.

* gnu/packages/webkit.scm (wpebackend-fdo): Update package definition.
[inputs]: Remove libwpe.
[propagated-inputs]: Add libwpe.
[synopsis]: Modify.
---
 gnu/packages/webkit.scm | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index 06eab4a206..8568dd2ff1 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -93,28 +93,29 @@ the WPE-flavored port of WebKit.")
   (package
     (name "wpebackend-fdo")
     (version "1.6.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://wpewebkit.org/releases/"
-                                  "wpebackend-fdo-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1jdi43gciqjgvhnqxs160f3hmp1hkqhrllb0hhmldyxc4wryw3kl"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://wpewebkit.org/releases/"
+                       "wpebackend-fdo-" version ".tar.xz"))
+       (sha256
+        (base32 "1jdi43gciqjgvhnqxs160f3hmp1hkqhrllb0hhmldyxc4wryw3kl"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:tests? #f))                    ;no tests
+     `(#:tests? #f))                    ; No target
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (inputs
      `(("glib" ,glib)
-       ("libwpe" ,libwpe)
        ("mesa" ,mesa)
        ("wayland" ,wayland)))
+    (propagated-inputs
+     `(("libwpe" ,libwpe)))
+    (synopsis "A FreeDesktop.org backend for WPE.")
+    (description "This package provides a backend implementation for the WPE
+WebKit engine that uses Wayland for graphics output.")
     (home-page "https://wpewebkit.org/")
-    (synopsis "Wayland WPE backend")
-    (description
-     "This package provides a backend implementation for the WPE WebKit
-engine that uses Wayland for graphics output.")
     (license license:bsd-2)))
 
 (define-public webkitgtk
-- 
2.27.0


[-- Attachment #1.1.52: 0051-gnu-woff2-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 3778 bytes --]

From a1cbbf446de3607c10d281b865cf15ae77b7d91d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 13 Jul 2020 03:16:47 -0400
Subject: [PATCH 51/62] gnu: woff2: Update package definition.

* gnu/packages/fontutils.scm (woff2): Update package definition.
[source]: Modify.
[outputs]: New output "bin".
[arguments]<#:configure-flags>[-DCMAKE_INSTALL_BINDIR]: New flag.
[-DCMAKE_INSTALL_INCLUDEDIR]: New flag.
[-DCMAKE_INSTALL_LIBDIR]: New flag.
[-DBUILD_SHARED_LIBS]: Remove flag.
<#:phases>['patch-installation]: New phase.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
[license]: Change to expat.
---
 gnu/packages/fontutils.scm | 62 ++++++++++++++++++++++++--------------
 1 file changed, 40 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 3336a84001..7553c35028 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -263,32 +263,50 @@ work with most software requiring Type 1 fonts.")
   (package
     (name "woff2")
     (version "1.0.2")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/google/woff2.git")
-                    (commit (string-append "v" version))))
-              (file-name (string-append name "-" version ".git"))
-              (sha256
-               (base32
-                "13l4g536h0pr84ww4wxs2za439s0xp1va55g6l478rfbb1spp44y"))))
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/google/woff2.git")
+         (commit (string-append "v" version))))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "13l4g536h0pr84ww4wxs2za439s0xp1va55g6l478rfbb1spp44y"))))
     (build-system cmake-build-system)
+    (outputs '("out" "bin"))
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:configure-flags
+       (list
+        (string-append "-DCMAKE_INSTALL_BINDIR="
+                       (assoc-ref %outputs "bin")
+                       "/bin")
+        (string-append "-DCMAKE_INSTALL_INCLUDEDIR="
+                       (assoc-ref %outputs "out")
+                       "/include")
+        (string-append "-DCMAKE_INSTALL_LIBDIR="
+                       (assoc-ref %outputs "out")
+                       "/lib"))
+       #:phases
+       (modify-phases %standard-phases
+         ;; To install both binaries and libraries.
+         (add-after 'unpack 'patch-installation
+           (lambda _
+             (substitute* "CMakeLists.txt"
+               (("NOT BUILD_SHARED_LIBS")
+                "BUILD_SHARED_LIBS"))
+             #t)))))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (inputs
-     `(("google-brotli" ,google-brotli)))
-    (arguments
-     ;; package has no tests
-     `(#:tests? #f
-       ;; we can’t have both, shared libraries and binaries, so turn off the
-       ;; former
-       #:configure-flags (list "-DBUILD_SHARED_LIBS=OFF")))
-    (synopsis "Compress TrueType fonts to WOFF2")
-    (description
-     "This package provides utilities for compressing/decompressing TrueType
-fonts to/from the WOFF2 format.")
-    (license license:asl2.0)
-    (home-page "https://github.com/google/woff2")))
+     `(("brotli" ,google-brotli)))
+    (synopsis "Libraries and tools for WOFF2 font format")
+    (description "WOFF2 provides libraires and tools to handle the Web Open
+Font Format (WOFF).")
+    (home-page "https://w3c.github.io/woff/woff2/")
+    (license license:expat)))
 
 (define-public fontconfig
   (package
-- 
2.27.0


[-- Attachment #1.1.53: 0052-gnu-Add-wpewebkit.patch --]
[-- Type: text/x-patch, Size: 4879 bytes --]

From a303d53f5f7946ec1b013d4b574fc9575761c001 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Mon, 13 Jul 2020 03:44:32 -0400
Subject: [PATCH 52/62] gnu: Add wpewebkit.

* gnu/packages/webkit.scm (wpewebkit): New variable.
---
 gnu/packages/webkit.scm | 104 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 104 insertions(+)

diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index 8568dd2ff1..bf705b2b7d 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -32,9 +32,11 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages compression)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages enchant)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
@@ -118,6 +120,108 @@ WebKit engine that uses Wayland for graphics output.")
     (home-page "https://wpewebkit.org/")
     (license license:bsd-2)))
 
+(define-public wpewebkit
+  (package
+    (name "wpewebkit")
+    (version "2.28.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://wpewebkit.org/releases/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "12z9457ja1xm93kl3gpd6nvd5xn11mvm8pr0w2zhmh3k9lx2cf95"))))
+    (build-system cmake-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:tests? #f                      ; XXX: To be enabled
+       #:configure-flags
+       (list
+        "-DPORT=WPE"
+        ;; XXX: To be enabled.
+        ;; "-DENABLE_ACCELERATED_2D_CANVAS=ON"
+        "-DENABLE_ENCRYPTED_MEDIA=ON"
+        "-DENABLE_GTKDOC=ON")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'setenv
+           (lambda _
+             (setenv "HOME" "/tmp")
+             #t))
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (for-each
+              (lambda (file)
+                (substitute* file
+                  (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
+                   (string-append (assoc-ref inputs "docbook-xml")
+                                  "/xml/dtd/docbook/docbookx.dtd"))))
+              (find-files "Source" "\\.sgml$"))
+             #t))
+         (add-after 'install 'move-doc-files
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share"))
+               (rename-file
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
+               #t))))))
+    (native-inputs
+     `(("docbook-xml" ,docbook-xml-4.1.2)
+       ("docbook-xsl" ,docbook-xsl)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk-doc" ,gtk-doc)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("python2" ,python-2.7)
+       ("ruby" ,ruby)))
+    (inputs
+     `(("atk" ,atk)
+       ("atk-bridge" ,at-spi2-atk)
+       ("bubblewrap" ,bubblewrap)
+       ("cairo" ,cairo)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("gperf" ,gperf)
+       ("gstreamer" ,gstreamer)
+       ("gst-plugins-base" ,gst-plugins-base)
+       ("harfbuzz" ,harfbuzz)
+       ("icu" ,icu4c)
+       ("libepoxy" ,libepoxy)
+       ("libgcrypt" ,libgcrypt)
+       ("libjpeg" ,libjpeg-turbo)
+       ("libpng" ,libpng)
+       ("libseccomp" ,libseccomp)
+       ("libtasn1" ,libtasn1)
+       ("libxml2" ,libxml2)
+       ("libxslt" ,libxslt)
+       ("mesa" ,mesa)
+       ("openjpeg" ,openjpeg)
+       ("sqlite" ,sqlite)
+       ("webp" ,libwebp)
+       ("woff2" ,woff2)
+       ("xdg-dbus-proxy" ,xdg-dbus-proxy)
+       ("zlib" ,zlib)))
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("libsoup" ,libsoup)
+       ("wpe" ,libwpe)))
+    (synopsis "WebKit port optimized for embedded devices")
+    (description "WPE WebKit allows embedders to create simple and performant
+systems based on Web platform technologies.  It is designed with hardware
+acceleration in mind, leveraging common 3D graphics APIs for best performance.")
+    (home-page "https://wpewebkit.org/")
+    (license
+     (list
+      ;; Rendering and JavaScript Engines.
+      license:lgpl2.1+
+      ;; Others
+      license:bsd-2))))
+
 (define-public webkitgtk
   (package
     (name "webkitgtk")
-- 
2.27.0


[-- Attachment #1.1.54: 0053-gnu-hplip-Update-hash.patch --]
[-- Type: text/x-patch, Size: 976 bytes --]

From 1b4d807e0dff5ac9f4032d3c11a7b8a0696eccb2 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 14 Jul 2020 13:32:10 -0400
Subject: [PATCH 53/62] gnu: hplip: Update hash.

---
 gnu/packages/cups.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 8bfe96079c..281c2718e8 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -422,7 +422,7 @@ should only be used as part of the Guix cups-pk-helper service.")
                                   "/hplip-" version ".tar.gz"))
               (sha256
                (base32
-                "0rmk7i28mb0q66i5l9d0fq2j23dkhz5gx5g2xvi16ga0dnprcilp"))
+                "083w58wpvvm6sir6rf5dwx3r0rman9sv1zpl26chl0a88crjsjy6"))
               (modules '((guix build utils)))
               (patches (search-patches "hplip-remove-imageprocessor.patch"))
               (snippet
-- 
2.27.0


[-- Attachment #1.1.55: 0054-gnu-Add-libcamera.patch --]
[-- Type: text/x-patch, Size: 3535 bytes --]

From 39dfc4e931930bdfb8c259b4ee5838b832dd9fc8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 14 Jul 2020 16:26:28 -0400
Subject: [PATCH 54/62] gnu: Add libcamera.

* gnu/packages/networking.scm (libcamera): New variable.
---
 gnu/packages/networking.scm | 65 +++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index c6bcd39d52..675c9c8d1e 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -95,6 +95,7 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
@@ -125,6 +126,7 @@
   #:use-module (gnu packages samba)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages shells)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages tcl)
@@ -137,6 +139,69 @@
   #:use-module (gnu packages xml)
   #:use-module (ice-9 match))
 
+;; This package does not have a release yet.
+;; But this is required to provide a feature in PipeWire.
+(define-public libcamera
+  (package
+    (name "libcamera")
+    (version "0.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "git://linuxtv.org/libcamera.git")
+         (commit "74c8b508338ccdd0780aa1e067a1e8fcb9ee326b")))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "0d9lp8b9gyxh4jwfh55kp8zl1xyyg32z684v3y29378zpksncss1"))))
+    (build-system meson-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Dv4l2=true")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "test/meson.build"
+               (("\\['list-cameras',                    'list-cameras.cpp'\\],")
+                ""))
+             #t))
+         (add-after 'install 'move-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share"))
+               (rename-file
+                (string-append out "/share/doc")
+                (string-append doc "/share/doc"))
+               #t))))))
+    (native-inputs
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)
+       ("sphinx" ,python-sphinx)
+       ("yaml" ,python-pyyaml)))
+    (inputs
+     `(("boost" ,boost)
+       ("glib" ,glib)
+       ("gstreamer" ,gst-plugins-base)
+       ("gnutls" ,gnutls)
+       ("libtiff" ,libtiff)
+       ("openssl" ,openssl)
+       ("qt5" ,qtbase)
+       ("udev" ,eudev)))
+    (synopsis "Camera stack and framework")
+    (description "LibCamera is a complex camera support library for GNU+Linux,
+Android, and ChromeOS.")
+    (home-page "https://libcamera.org/")
+    (license license:lgpl2.1+)))
+
 (define-public libnice
   (package
     (name "libnice")
-- 
2.27.0


[-- Attachment #1.1.56: 0055-gnu-Add-xmltoman.patch --]
[-- Type: text/x-patch, Size: 2046 bytes --]

From faf98a15c6f6db821c6190fdc0e27cbdbc13580f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 14 Jul 2020 17:21:08 -0400
Subject: [PATCH 55/62] gnu: Add xmltoman.

* gnu/packages/man.scm (xmltoman): New variable.
---
 gnu/packages/man.scm | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 356d520f07..63a1227655 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -38,7 +38,41 @@
   #:use-module (gnu packages less)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages linux))
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages xml))
+
+(define-public xmltoman
+  (package
+    (name "xmltoman")
+    (version "0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://sourceforge.net/projects/xmltoman/files/"
+                       "xmltoman/xmltoman-" version ".tar.gz/xmltoman-"
+                       version ".tar.gz/download"))
+       (sha256
+        (base32 "1c0lvzr7kdy63wbn1jv6s126ds7add3pxqb0vlxd3v5a2sir91wl"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No target
+       #:make-flags
+       (list
+        (string-append "PREFIX="
+                       (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure))))
+    (propagated-inputs
+     `(("perl" ,perl)
+       ("perl-xml-parser" ,perl-xml-parser)))
+    (synopsis "XML to Man converter")
+    (description "XMLtoMan and XMLMantoHTML are two small scripts to convert xml
+to man pages in groff format or html.  It features the usual man page items such
+as description, options, see also, etc.")
+    (home-page "http://xmltoman.sourceforge.net/")
+    (license gpl2+)))
 
 (define-public ronn
   (package
-- 
2.27.0


[-- Attachment #1.1.57: 0056-gnu-tesseract-ocr-Propagate-leptonica.patch --]
[-- Type: text/x-patch, Size: 1031 bytes --]

From 2eb7c10dbf7ce06d5270199892234a06797c0888 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 14 Jul 2020 22:05:34 -0400
Subject: [PATCH 56/62] gnu: tesseract-ocr: Propagate leptonica.

* gnu/packages/ocr.scm (tesseract-ocr) [inputs]: Move leptonica to ...
[propagated-inputs]: ... here.
---
 gnu/packages/ocr.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ocr.scm b/gnu/packages/ocr.scm
index dc690f3cef..23cb86449e 100644
--- a/gnu/packages/ocr.scm
+++ b/gnu/packages/ocr.scm
@@ -65,8 +65,8 @@ it produces text in 8-bit or UTF-8 formats.")
        (sha256
         (base32 "0h1x4z1h86n2gwknd0wck6gykkp99bmm02lg4a47a698g4az6ybv"))))
     (build-system gnu-build-system)
-    (inputs
-     `(("leptonica" ,leptonica)))
+    (propagated-inputs
+     `(("leptonica" ,leptonica))) ; Refered by .pc file
     (arguments
      '(#:configure-flags
        (let ((leptonica (assoc-ref %build-inputs "leptonica")))
-- 
2.27.0


[-- Attachment #1.1.58: 0057-gnu-pipewire-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 6055 bytes --]

From e843dbb5c02ffb739c1c222a737e7b7dbbed24b5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 14 Jul 2020 19:06:41 -0400
Subject: [PATCH 57/62] gnu: pipewire: Update package definition.

* gnu/packages/linux.scm (pipewire) [version]: Update to 0.3.6.
[source]<origin>[uri]: Modify url.
[sha256]: Modify base32.
[outputs]: New output "doc".
[arguments]<#:glib-or-gtk?>: New argument.
<#:configure-flags>[-Ddocs]: New flag.
[-Daudiotestsrc]: New flag.
[-Dffmpeg]: New flag.
[-Dtest]: New flag.
[-Dlibcamera]: New flag.
[-Dvideotestsrc]: New flag.
[-Dvolume]: New flag.
[-Dc_link_args]: New flag.
<#:phases>['move-doc]: New phase.
[native-inputs]: Add graphviz, doxygen and xmltoman.
[inputs]: Add bluez, libcamera, glib, jack-2, pulseaudio, libsndfile,
vulkan-headers and vulkan-loader.
[synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/linux.scm | 91 ++++++++++++++++++++++++++++++------------
 1 file changed, 66 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 21d0e552ab..4357ed8f87 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -90,6 +90,7 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages gperf)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages haskell-apps)
@@ -130,6 +131,7 @@
   #:use-module (gnu packages rsync)
   #:use-module (gnu packages selinux)
   #:use-module (gnu packages swig)
+  #:use-module (gnu packages vulkan)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
@@ -6982,42 +6984,81 @@ types and interfaces and translates so that the X server can use them.")
 (define-public pipewire
   (package
     (name "pipewire")
-    (version "0.2.7")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/PipeWire/pipewire")
-                    (commit version)))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc"))))
+    (version "0.3.6")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://gitlab.freedesktop.org/pipewire/pipewire.git")
+         (commit version)))
+       (file-name
+        (git-file-name name version))
+       (sha256
+        (base32 "0g149vyaigf4gzm764fcgxxci9niw19z0af9afs4diwq5xzr1qd3"))))
     (build-system meson-build-system)
+    (outputs '("out" "doc"))
     (arguments
-     '(#:configure-flags '("-Dsystemd=false")))
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:configure-flags
+       (list
+        "-Ddocs=true"
+        "-Dsystemd=false"
+        "-Daudiotestsrc=true"
+        "-Dffmpeg=true"
+        ;; XXX: EVL not available.
+        ;; https://evlproject.org/
+        ;; "-Devl=true"
+        "-Dtest=true"
+        "-Dlibcamera=true"
+        "-Dvideotestsrc=true"
+        "-Dvolume=true"
+        ;; Required for RUNPATH validation.
+        (string-append "-Dc_link_args=-Wl,-rpath="
+                       (assoc-ref %outputs "out") "/lib"
+                       ":"
+                       (assoc-ref %outputs "out") "/lib/pipewire-0.3"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'move-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (mkdir-p (string-append doc "/share"))
+               (rename-file
+                (string-append out "/share/doc")
+                (string-append doc "/share/doc"))
+               #t))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("dot" ,graphviz)
+       ("doxygen" ,doxygen)
+       ("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
+       ("xmltoman" ,xmltoman)))
     (inputs
-     `(("alsa-lib" ,alsa-lib)
+     `(("alsa" ,alsa-lib)
+       ("bluez" ,bluez)
+       ("camera" ,libcamera)
        ("dbus" ,dbus)
-       ("eudev" ,eudev)
        ("ffmpeg" ,ffmpeg)
+       ("glib" ,glib)
        ("gstreamer" ,gstreamer)
        ("gst-plugins-base" ,gst-plugins-base)
+       ("jack" ,jack-2)
        ("libva" ,libva)
+       ("pulseaudio" ,pulseaudio)
        ("sbc" ,sbc)
-       ("sdl2" ,sdl2)))
+       ("sdl2" ,sdl2)
+       ("sndfile" ,libsndfile)
+       ("udev" ,eudev)
+       ("vulkan-headers" ,vulkan-headers)
+       ("vulkan-loader" ,vulkan-loader)))
+    (synopsis "Multimedia processing graphs")
+    (description "PipeWire is a server and user space API to deal with
+multimedia pipelines.  It provides a low-latency, graph based processing engine
+on top of audio and video devices that can be used to support the use cases
+currently handled by both pulseaudio and JACK.")
     (home-page "https://pipewire.org/")
-    (synopsis "Server and user space API to deal with multimedia pipelines")
-    (description
-     "PipeWire is a project that aims to greatly improve handling of audio and
-video under Linux.  It aims to support the usecases currently handled by both
-PulseAudio and Jack and at the same time provide same level of powerful handling
-of Video input and output.  It also introduces a security model that makes
-interacting with audio and video devices from containerized applications easy,
-with supporting Flatpak applications being the primary goal.  Alongside Wayland
-and Flatpak we expect PipeWire to provide a core building block for the future
-of Linux application development.")
     (license license:lgpl2.0+)))
 
 (define-public ell
-- 
2.27.0


[-- Attachment #1.1.59: 0058-gnu-webkitgtk-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 8944 bytes --]

From 13925ff5981504ba811f2965ddbb2511431148c8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Tue, 14 Jul 2020 21:51:58 -0400
Subject: [PATCH 58/62] gnu: webkitgtk: Update package definition.

* gnu/packages/webkit.scm (webkitgtk) [version]: Update to 2.28.3.
[source]<origin>[sha256]: Modify base32.
[arguments]<#:configure-flags>[-DENABLE_GLES2]: New flag.
[-DENABLE_MINIBROWSER]: New flag.
[-DLIB_INSTALL_DIR]: Remove flag.
[-DUSE_GSTREAMER_GL]: Remove flag.
[-DUSE_WOFF2]: Remove flag.
<#:phases>['configure-bubblewrap-store-directory]: Remove phase.
['embed-absolute-wpebackend-reference]: Remove phase.
[native-inputs]: Add docbook-xsl and gtk-doc and python-2.7.
[inputs]: Add atk, gstreamer, wayland and woff2.
[propagated-inputs]: Add glib.
[synopsis]: Modify.
[license]: Modify.
---
 gnu/packages/webkit.scm | 132 +++++++++++++++++-----------------------
 1 file changed, 56 insertions(+), 76 deletions(-)

diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index bf705b2b7d..c6e27e4d52 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -225,95 +225,69 @@ acceleration in mind, leveraging common 3D graphics APIs for best performance.")
 (define-public webkitgtk
   (package
     (name "webkitgtk")
-    (version "2.28.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://www.webkitgtk.org/releases/"
-                                  "webkitgtk-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1g9hik3bprki5s9d7y5288q5irwckbzajr6rnlvjrlnqrwjkblmr"))
-              (patches (search-patches "webkitgtk-share-store.patch"))))
+    (version "2.28.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://www.webkitgtk.org/releases/"
+                       "webkitgtk-" version ".tar.xz"))
+       (sha256
+        (base32 "08imj2q6h975mz7714dqdrmbav0s884990gf98xf2862fb08m2gh"))))
     (build-system cmake-build-system)
     (outputs '("out" "doc"))
     (arguments
-     '(#:tests? #f ; no tests
-       #:build-type "Release" ; turn off debugging symbols to save space
-       #:configure-flags (list
-                          "-DPORT=GTK"
-                          "-DENABLE_GTKDOC=ON" ; No doc by default
-                          (string-append ; uses lib64 by default
-                           "-DLIB_INSTALL_DIR="
-                           (assoc-ref %outputs "out") "/lib")
-
-                          ;; XXX Adding GStreamer GL support would apparently
-                          ;; require adding gst-plugins-bad to the inputs,
-                          ;; which might entail a security risk as a result of
-                          ;; the plugins of dubious code quality that are
-                          ;; included.  More investigation is needed.  For
-                          ;; now, we explicitly disable it to prevent an error
-                          ;; at configuration time.
-                          "-DUSE_GSTREAMER_GL=OFF"
-
-                          ;; XXX Disable WOFF2 ‘web fonts’.  These were never
-                          ;; supported in our previous builds.  Enabling them
-                          ;; requires building libwoff2 and possibly woff2dec.
-                          "-DUSE_WOFF2=OFF")
+     `(#:tests? #f                      ; XXX: To be enabled
+       #:configure-flags
+       (list
+        "-DPORT=GTK"
+        ;; XXX: To be enabled.
+        ;; "-DENABLE_ACCELERATED_2D_CANVAS=ON"
+        "-DENABLE_GLES2=ON"
+        "-DENABLE_GTKDOC=ON"
+        "-DENABLE_MINIBROWSER=ON")
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'configure-bubblewrap-store-directory
-           (lambda _
-             ;; This phase is a corollary to 'webkitgtk-share-store.patch' to
-             ;; avoid hard coding /gnu/store, for users with other prefixes.
-             (let ((store-directory (%store-directory)))
-               (substitute*
-                   "Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp"
-                 (("@storedir@") store-directory))
-               #t)))
-         (add-after 'unpack 'patch-gtk-doc-scan
+         (add-after 'unpack 'patch-docbook-xml
            (lambda* (#:key inputs #:allow-other-keys)
-             (for-each (lambda (file)
-                         (substitute* file
-                           (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
-                            (string-append (assoc-ref inputs "docbook-xml")
-                                           "/xml/dtd/docbook/docbookx.dtd"))))
-                       (find-files "Source" "\\.sgml$"))
+             (for-each
+              (lambda (file)
+                (substitute* file
+                  (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd")
+                   (string-append (assoc-ref inputs "docbook-xml")
+                                  "/xml/dtd/docbook/docbookx.dtd"))))
+              (find-files "Source" "\\.sgml$"))
              #t))
-         (add-after 'unpack 'embed-absolute-wpebackend-reference
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((wpebackend-fdo (assoc-ref inputs "wpebackend-fdo")))
-               (substitute* "Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp"
-                 (("libWPEBackend-fdo-([\\.0-9]+)\\.so" all version)
-                  (string-append wpebackend-fdo "/lib/" all)))
-               #t)))
          (add-after 'install 'move-doc-files
            (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out"))
-                   (doc (assoc-ref outputs "doc")))
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
                (mkdir-p (string-append doc "/share"))
-               (rename-file (string-append out "/share/gtk-doc")
-                            (string-append doc "/share/gtk-doc"))
+               (rename-file
+                (string-append out "/share/gtk-doc")
+                (string-append doc "/share/gtk-doc"))
                #t))))))
     (native-inputs
      `(("bison" ,bison)
+       ("docbook-xml" ,docbook-xml-4.1.2)
+       ("docbook-xsl" ,docbook-xsl)
        ("gettext" ,gettext-minimal)
-       ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
+       ("glib:bin" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection)
        ("gperf" ,gperf)
+       ("gtk-doc" ,gtk-doc)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)
-       ("gtk-doc" ,gtk-doc) ; For documentation generation
-       ("docbook-xml" ,docbook-xml) ; For documentation generation
+       ("python2" ,python-2.7)
        ("ruby" ,ruby)))
-    (propagated-inputs
-     `(("gtk+" ,gtk+)
-       ("libsoup" ,libsoup)))
     (inputs
-     `(("at-spi2-core" ,at-spi2-core)
+     `(("atk" ,atk)
+       ("at-spi2-core" ,at-spi2-core)
        ("bubblewrap" ,bubblewrap)
        ("enchant" ,enchant)
        ("geoclue" ,geoclue)
+       ("gstreamer" ,gstreamer)
        ("gst-plugins-base" ,gst-plugins-base)
        ("gtk+-2" ,gtk+-2)
        ("harfbuzz" ,harfbuzz)
@@ -335,17 +309,23 @@ acceleration in mind, leveraging common 3D graphics APIs for best performance.")
        ("mesa" ,mesa)
        ("openjpeg" ,openjpeg)
        ("sqlite" ,sqlite)
+       ("wayland" ,wayland)
+       ("woff2" ,woff2)
        ("wpebackend-fdo" ,wpebackend-fdo)
+       ("x11" ,libx11)
        ("xdg-dbus-proxy" ,xdg-dbus-proxy)))
-    (home-page "https://www.webkitgtk.org/")
-    (synopsis "Web content engine for GTK+")
-    (description
-     "WebKitGTK+ is a full-featured port of the WebKit rendering engine,
-suitable for projects requiring any kind of web integration, from hybrid
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("libsoup" ,libsoup)))
+    (synopsis "WebKit port for GTK+")
+    (description "WebKitGTK+ is a full-featured port of the WebKit rendering
+engine, suitable for projects requiring any kind of web integration, from hybrid
 HTML/CSS applications to full-fledged web browsers.")
-    ;; WebKit's JavaScriptCore and WebCore components are available under
-    ;; the GNU LGPL, while the rest is available under a BSD-style license.
-    (license (list license:lgpl2.0
-                   license:lgpl2.1+
-                   license:bsd-2
-                   license:bsd-3))))
+    (home-page "https://www.webkitgtk.org/")
+    (license
+     (list
+      ;; Rendering and JavaScript Engines.
+      license:lgpl2.1+
+      ;; Others
+      license:bsd-2))))
-- 
2.27.0


[-- Attachment #1.1.60: 0059-gnu-yelp-xsl-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 3118 bytes --]

From f08f1af84dba99afe351c29e4df5669b23467ec5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 15 Jul 2020 17:22:32 -0400
Subject: [PATCH 59/62] gnu: yelp-xsl: Update package definition.

* gnu/packages/gnome.scm (yelp-xsl) [version]: Update to 3.36.0.
[source]<origin>[sha256]: Modify base32.
[arguments]<#:configure-flag>[--enable-doc]: New flag.
[native-inputs]: Add mallard-ducktype, intltool and libxslt.
[description]: Modify.
[license]: Add lgpl2.1+ and expat.
---
 gnu/packages/gnome.scm | 50 ++++++++++++++++++++++++++++--------------
 1 file changed, 34 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index ba125db3f7..7cd480ee83 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6467,26 +6467,44 @@ of running programs and invoke methods on those interfaces.")
 (define-public yelp-xsl
   (package
     (name "yelp-xsl")
-    (version "3.34.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc"))))
+    (version "3.36.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1hsfj3q3a3kca0cf9i02xlq2qd4vy12qsjb89hh4r6mp6c11rrag"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        "--enable-doc")))
     (native-inputs
-     `(("gettext-minimal" ,gettext-minimal)
+     `(("ducktype" ,mallard-ducktype)
+       ("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
        ("itstool" ,itstool)
-       ("xmllint" ,libxml2)))
-    (home-page "https://wiki.gnome.org/Apps/Yelp")
+       ("xmllint" ,libxml2)
+       ("xsltproc" ,libxslt)))
     (synopsis "XSL stylesheets for Yelp")
-    (description
-     "Yelp-xsl contains XSL stylesheets that are used by the yelp help browser
-to format Docbook and Mallard documents.")
-    (license license:gpl2+)))
+    (description "Yelp-XSL is a collection of programs and data files to help
+you build, maintain, and distribute documentation.  It provides XSLT stylesheets
+that can be built upon for help viewers and publishing systems.  These
+stylesheets output JavaScript and CSS content, and reference images
+provided by yelp-xsl. It also redistributes copies of the jQuery and
+jQuery.Syntax JavaScript libraries.")
+    (home-page "https://wiki.gnome.org/Apps/Yelp")
+    (license
+     (list
+      ;; XSLT
+      license:gpl2+
+      ;; Images
+      license:lgpl2.1+
+      ;; JavaScript
+      license:expat))))
 
 (define-public yelp
   (package
-- 
2.27.0


[-- Attachment #1.1.61: 0060-gnu-yelp-tools-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 2598 bytes --]

From 9a4fd7c36c49cada1374ce83941efd3789a8bff6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 15 Jul 2020 17:36:28 -0400
Subject: [PATCH 60/62] gnu: yelp-tools: Update package definition.

* gnu/packages/gnome.scm (yelp-tools): Update package definition.
[propagated-inputs]: Move itstool, libxml2 and libxslt to ...
[native-inputs]: ... here.
[synopsis]: Modify.
[description]: Modify.
---
 gnu/packages/gnome.scm | 30 +++++++++++++-----------------
 1 file changed, 13 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 7cd480ee83..0b9343845b 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6544,31 +6544,27 @@ freedesktop.org help system specification.")
   (package
     (name "yelp-tools")
     (version "3.32.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "1yg8f5g5wadhmy4yfd9yjhvd8vll4gq4l86ibp0b42qbxnsmcf0q"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (propagated-inputs
-     ;; Needed by `yelp-build', `yelp-check' or 'yelp.m4'.
      `(("itstool" ,itstool)
+       ("pkg-config" ,pkg-config)
        ("xmllint" ,libxml2)
        ("xsltproc" ,libxslt)))
     (inputs
      `(("yelp-xsl" ,yelp-xsl)))
+    (synopsis "Tools for Yelp")
+    (description "Yelp-Tools contains small programs that help you create, edit,
+manage, and publish your Mallard or DocBook documentation.")
     (home-page "https://wiki.gnome.org/Apps/Yelp/Tools")
-    (synopsis "Yelp documentation tools")
-    (description
-     "Yelp-tools is a collection of scripts and build utilities to help create,
-manage, and publish documentation for Yelp and the web.  Most of the heavy
-lifting is done by packages like yelp-xsl and itstool.  This package just
-wraps things up in a developer-friendly way.")
     (license license:gpl2+)))
 
 (define-public libgee
-- 
2.27.0


[-- Attachment #1.1.62: 0061-gnu-yelp-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 3994 bytes --]

From c97586fad6d9329513e6ee1c665c53b7e6855cdd Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 15 Jul 2020 21:05:47 -0400
Subject: [PATCH 61/62] gnu: yelp: Update package definition.

* gnu/packages/gnome.scm (yelp) [version]: Update to 3.36.0.
[source]<origin>[sha256]: Modify base32.
[outputs]: New output "doc".
[arguments]<#:configure-flags>[--enable-gtk-doc]: New flag.
[--with-html-dir]: New flag.
<#:phases>['patch-docbook-xml]: New phase.
[native-inputs]: Add docbook-xml, gtk+:bin, gtk-doc and python-wrapper.
[inputs]: Add glib and gtk+.
[home-page]: Modify.
---
 gnu/packages/gnome.scm | 60 +++++++++++++++++++++++++++++-------------
 1 file changed, 41 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0b9343845b..0316a4258b 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6509,35 +6509,57 @@ jQuery.Syntax JavaScript libraries.")
 (define-public yelp
   (package
     (name "yelp")
-    (version "3.32.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/" name "/"
-                                  (version-major+minor version) "/"
-                                  name "-" version ".tar.xz"))
-              (sha256
-               (base32
-                "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f"))))
+    (version "3.36.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/" name "/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "097djjyl096zmicjpxlb858yz6rd5cj813xc8azbxlhsscikwjzx"))))
     (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:configure-flags
+       (list
+        "--enable-gtk-doc"
+        (string-append "--with-html-dir="
+                       (assoc-ref %outputs "doc")
+                       "/share/gtk-doc/html"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-docbook-xml
+           (lambda* (#:key inputs #:allow-other-keys)
+             (with-directory-excursion "docs"
+               (substitute* "libyelp/libyelp-docs.xml"
+                 (("http://www.oasis-open.org/docbook/xml/4.3/")
+                  (string-append (assoc-ref inputs "docbook-xml")
+                                 "/xml/dtd/docbook/"))))
+             #t)))))
     (native-inputs
-     `(("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
+     `(("docbook-xml" ,docbook-xml-4.3)
+       ("glib:bin" ,glib "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("gtk-doc" ,gtk-doc)
        ("intltool" ,intltool)
        ("itstool" ,itstool)
-       ("pkg-config" ,pkg-config)))
-    (propagated-inputs
-     `(("dconf" ,dconf)))
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
     (inputs
-     `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("libxml2" ,libxml2)
        ("libxslt" ,libxslt)
        ("sqlite" ,sqlite)
        ("webkitgtk" ,webkitgtk)
        ("yelp-xsl" ,yelp-xsl)))
-    (home-page "https://wiki.gnome.org/Apps/Yelp")
     (synopsis "GNOME help browser")
-    (description
-     "Yelp is the help viewer in Gnome.  It natively views Mallard, DocBook,
-man, info, and HTML documents.  It can locate documents according to the
-freedesktop.org help system specification.")
+    (description "Yelp is the help viewer in Gnome.  It natively views Mallard,
+DocBook, man, info, and HTML documents.  It can locate documents according to
+the freedesktop.org help system specification.")
+    (home-page "https://wiki.gnome.org/Apps/Yelp")
     (license license:gpl2+)))
 
 (define-public yelp-tools
-- 
2.27.0


[-- Attachment #1.1.63: 0062-gnu-zenity-Update-package-definition.patch --]
[-- Type: text/x-patch, Size: 3235 bytes --]

From 11245d7d1c0bcad5a08d08980871646bf50bd2f0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <raghavgururajan@disroot.org>
Date: Wed, 15 Jul 2020 21:11:06 -0400
Subject: [PATCH 62/62] gnu: zenity: Update package definition.

* gnu/packages/gnome.scm (zenity): Update package definition.
[build-system]: Change from gnu to glib-or-gtk.
[outputs]: New output "help".
[arguments]<#:configure-flags>[--enable-libnotify]: New flag.
[--enable-webkitgtk]: New flag.
[--with-help-dir=]: New flag.
[native-inputs]: Add glib:bin, gtk+:bin, perl and libxml2.
[inputs]: Add glib, gtk+ and libx11.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
---
 gnu/packages/gnome.scm | 48 ++++++++++++++++++++++++++++--------------
 1 file changed, 32 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0316a4258b..f772b9c0d2 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6989,27 +6989,43 @@ powerful general purpose text editor.")
   (package
     (name "zenity")
     (version "3.32.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/zenity/"
-                                  (version-major+minor version) "/"
-                                  "zenity-" version ".tar.xz"))
-              (sha256
-               (base32
-                "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
-    (build-system gnu-build-system)
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/zenity/"
+                       (version-major+minor version) "/"
+                       "zenity-" version ".tar.xz"))
+       (sha256
+        (base32 "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "help"))
+    (arguments
+     `(#:configure-flags
+       (list
+        "--enable-libnotify"
+        "--enable-webkitgtk"
+        (string-append "--with-help-dir="
+                       (assoc-ref %outputs "help")
+                       "/share/help"))))
     (native-inputs
      `(("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
+       ("gtk+:bin" ,gtk+ "bin")
        ("itstool" ,itstool)
-       ("pkg-config" ,pkg-config)))
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("xmllint" ,libxml2)))
     (inputs
-     `(("libnotify" ,libnotify)
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("libnotify" ,libnotify)
+       ("x11" ,libx11)
        ("webkitgtk" ,webkitgtk)))
-    (synopsis "Display graphical dialog boxes from shell scripts")
-    (home-page "https://www.gnome.org")
-    (description
-     "Zenity is a rewrite of gdialog, the GNOME port of dialog which allows you
-to display dialog boxes from the commandline and shell scripts.")
+    (synopsis "Rewrite of gdialog")
+    (description "Zenity is a tool that allows you to display GTK dialog boxes
+in commandline and shell scripts.")
+    (home-page "https://wiki.gnome.org/Projects/Zenity")
     (license license:lgpl2.0+)))
 
 (define-public mutter
-- 
2.27.0


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  parent reply	other threads:[~2020-07-16  1:24 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-06  9:13 [OUTREACHY]: Integration of desktop environments into GNU Guix Raghav Gururajan
2020-05-06 14:19 ` Ludovic Courtès
2020-05-06 15:05   ` Gábor Boskovits
2020-05-06 15:49 ` Ricardo Wurmus
2020-05-06 16:03   ` Raghav Gururajan
2020-05-06 15:52 ` sirgazil
2020-05-06 16:04   ` Raghav Gururajan
2020-05-06 17:22 ` Jan Nieuwenhuizen
2020-05-06 17:23   ` Raghav Gururajan
2020-05-20 13:34 ` Raghav Gururajan
2020-05-20 13:51   ` Pierre Neidhardt
2020-05-20 13:57     ` Raghav Gururajan
2020-05-20 14:06       ` Pierre Neidhardt
2020-05-21  9:08   ` Efraim Flashner
2020-05-22 11:18     ` Raghav Gururajan
2020-05-22 11:25   ` Raghav Gururajan
2020-05-23 14:26     ` Raghav Gururajan
2020-05-25 20:08       ` Danny Milosavljevic
2020-05-28 17:11         ` Raghav Gururajan
2020-05-28 17:10       ` Raghav Gururajan
2020-05-28 18:23         ` Danny Milosavljevic
2020-05-29 21:01           ` Raghav Gururajan
2020-05-29 23:02             ` Danny Milosavljevic
2020-05-29 20:54         ` Raghav Gururajan
2020-05-29 21:08           ` Raghav Gururajan
2020-05-30 20:30             ` Raghav Gururajan
2020-05-31 13:31               ` Danny Milosavljevic
2020-06-10 13:12                 ` Raghav Gururajan
2020-06-04 18:31               ` Raghav Gururajan
2020-06-04 18:52                 ` Vincent Legoll
2020-06-10 13:06                   ` Raghav Gururajan
2020-06-04 18:57                 ` Danny Milosavljevic
2020-06-14 13:31                 ` Raghav Gururajan
2020-06-19 23:37                   ` Raghav Gururajan
2020-06-24 22:40                     ` Danny Milosavljevic
2020-07-04 10:37                       ` Raghav Gururajan
2020-07-04 11:14                         ` Raghav Gururajan
2020-07-06  1:36                           ` Raghav Gururajan
2020-07-06 19:24                           ` Danny Milosavljevic
2020-07-06 19:56                             ` Efraim Flashner
2020-07-05 19:25                         ` Danny Milosavljevic
2020-07-06  5:05                           ` Raghav Gururajan
2020-07-13 13:45                             ` Ludovic Courtès
2020-07-13 13:50                               ` Raghav Gururajan
2020-07-16  1:21                             ` Raghav Gururajan [this message]
2020-07-17 12:38                               ` Danny Milosavljevic
2020-07-18 13:29                                 ` Raghav Gururajan
2020-07-18 14:12                                   ` Danny Milosavljevic
2020-07-18 19:27                                     ` Raghav Gururajan
2020-07-18 20:18                                       ` Raghav Gururajan
2020-07-19 11:43                                         ` Danny Milosavljevic
2020-07-19 19:21                                         ` Danny Milosavljevic
2020-07-19 19:22                                   ` Danny Milosavljevic
2020-07-20  1:54                                     ` Raghav Gururajan
2020-07-24 18:29                                       ` Raghav Gururajan
2020-07-25  8:15                                         ` Raghav Gururajan
2020-07-25  8:18                                           ` Raghav Gururajan
2020-07-25  8:24                                             ` Raghav Gururajan
2020-07-25  9:12                                               ` Raghav Gururajan
2020-07-27 16:11                                                 ` Raghav Gururajan
2020-07-30 23:51                                                   ` Raghav Gururajan
2020-08-02  7:32                                                   ` Raghav Gururajan
2020-08-03 22:29                                                     ` Danny Milosavljevic
2020-08-04 10:22                                                       ` Raghav Gururajan
2020-08-04 22:50                                                         ` Raghav Gururajan
2020-08-05 15:14                                                           ` Danny Milosavljevic
2020-08-07  2:14                                                             ` Raghav Gururajan
2020-08-09 22:28                                                               ` Danny Milosavljevic
2020-08-11 10:38                                                                 ` Raghav Gururajan
2020-08-12  4:05                                                                   ` Raghav Gururajan
2020-08-12  4:11                                                                     ` Raghav Gururajan
2020-08-12  8:02                                                                       ` Danny Milosavljevic
2020-08-19 15:06                                                                         ` Raghav Gururajan
2020-08-22 14:48                                                                           ` Pierre Neidhardt
2020-08-24  3:18                                                                           ` Maxim Cournoyer
2020-08-14 14:24                                                               ` [20.08.2020 Hartmut Goebel
2020-08-14 14:28                                                                 ` [20.08.2020 Raghav Gururajan
2020-06-24 11:37                   ` [OUTREACHY]: Integration of desktop environments into GNU Guix Danny Milosavljevic
2020-06-25  4:04                     ` Raghav Gururajan
2020-06-25 11:47                       ` Danny Milosavljevic
2020-06-28  5:56                         ` Raghav Gururajan
2020-06-25 11:52                       ` Danny Milosavljevic
2020-05-25 19:58     ` Danny Milosavljevic
2020-05-25 20:00     ` Danny Milosavljevic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b750439c-84d7-e7eb-6d0a-9e5fe4b20fea@disroot.org \
    --to=raghavgururajan@disroot.org \
    --cc=dannym@scratchpost.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).