guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

12/459: gnu: rust.scm: Sort packages alphabetically.


From: guix-commits
Subject: 12/459: gnu: rust.scm: Sort packages alphabetically.
Date: Mon, 24 Apr 2023 15:01:39 -0400 (EDT)

efraim pushed a commit to branch rust-team
in repository guix.

commit c246ade7c7130b8df6b197d354c4c9697906ab6e
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Sun Feb 19 01:17:30 2023 +0200

    gnu: rust.scm: Sort packages alphabetically.
    
    * gnu/packages/rust.scm: Sort packages which were added to the end of
    the file alphabetically within the rest of the file.
---
 gnu/packages/crates-io.scm | 3134 ++++++++++++++++++++++----------------------
 1 file changed, 1566 insertions(+), 1568 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4c1e42e404..4e7bca4dda 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39260,6 +39260,45 @@ normally prevent moving a type that has been borrowed 
from.")
     (description "Portable Packed SIMD vectors.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-packed-struct
+  (package
+    (name "rust-packed-struct")
+    (version "0.3.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "packed_struct" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "10b2fmxchmcigwagnhi42frj74dl02wyv0xwmbr9839qfh7gijlh"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-serde" ,rust-serde-1)
+        ("rust-serde-derive" ,rust-serde-derive-1))))
+    (home-page "http://www.hashmismatch.net/libraries/packed-struct/";)
+    (synopsis "Binary-level structure packing and unpacking generator")
+    (description "This package provides bit-level packing an unpacking
+of structs.  Tkhe library provides a meta-programming approach, using
+attributes to define fields and how they should be packed.  The resulting
+trait implementations provide safe packing, unpacking and runtime debugging
+formatters with per-field documentation generated for each structure.
+
+@itemize
+@item Plain Rust structures, decorated with attributes
+@item MSB or LSB integers of user-defined bit widths
+@item Primitive enum code generation helper
+@item MSB0 or LSB0 bit positioning
+@item Documents the field's packing table
+@item Runtime packing visualization
+@item Nested packed types
+@item Arrays of packed structures as fields
+@item Reserved fields, their bits are always 0 or 1
+@end itemize")
+    ;; User can choose either license.
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-pad-0.1
   (package
     (name "rust-pad")
@@ -41691,6 +41730,33 @@ provides comprehensive coverage of that portion of the 
specification
 along with strong support for variations and the core header tables.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-piper-0.1
+  (package
+    (name "rust-piper")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "piper" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "062zdv9w7l5037g113bh7r72wmygz92ajzr0z41v3bqdd3x8nq01"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #false
+       #:cargo-inputs
+       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
+        ("rust-futures-io" ,rust-futures-io-0.3)
+        ("rust-futures-sink" ,rust-futures-sink-0.3)
+        ("rust-futures-util" ,rust-futures-util-0.3))
+       #:cargo-development-inputs
+       (("rust-futures" ,rust-futures-0.3))))
+    (home-page "https://crates.io/crates/piper";)
+    (synopsis "Async pipes, channels, mutexes, and more")
+    (description
+     "This crate provides async pipes, channels, mutexes, and more.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-pkcs1-0.2
   (package
     (name "rust-pkcs1")
@@ -41859,6 +41925,27 @@ network packet formats.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-pledge-0.3
+  (package
+    (name "rust-pledge")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pledge" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1rgbnvl97ks25aanxm680687df6li6y8h3f5mvdw3806rwz8xcg2"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
+    (home-page "https://github.com/i80and/pledge-rs";)
+    (synopsis "Rust binding to OpenBSD's pledge(2) interface")
+    (description
+     "This package provides Rust bindings to OpenBSD's pledge(2) interface.")
+    (license license:expat)))
+
 (define-public rust-plist-1
   (package
     (name "rust-plist")
@@ -44158,6 +44245,89 @@ implementation crates.")
 stack pointer and inspect the properties of the stack.")
     (license (list license:isc license:asl2.0))))
 
+(define-public rust-ptr-meta-0.1
+  (package
+    (name "rust-ptr-meta")
+    (version "0.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ptr_meta" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1wd4wy0wxrcays4f1gy8gwcmxg7mskmivcv40p0hidh6xbvwqf07"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-ptr-meta-derive" ,rust-ptr-meta-derive-0.1))))
+    (home-page "https://github.com/djkoloski/ptr_meta";)
+    (synopsis "Manipulate metadata of fat pointers")
+    (description "This package allows manipulating the metadata of fat
+pointers:
+
+@itemize
+@item Naming the metadata’s type (as an associated type)
+@item Extracting metadata from a pointer
+@item Reconstructing a pointer from a data pointer and metadata
+@item Representing vtables, the metadata for trait objects, as a type with
+  some limited API.
+@end itemize")
+    (license license:expat)))
+
+(define-public rust-ptr-meta-derive-0.1
+  (package
+    (name "rust-ptr-meta-derive")
+    (version "0.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ptr_meta_derive" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1b69cav9wn67cixshizii0q5mlbl0lihx706vcrzm259zkdlbf0n"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/djkoloski/ptr_meta";)
+    (synopsis "Macros for the ptr_meta fat pointer metadata API")
+    (description "This package provides macros for the ptr_meta API.")
+    (license license:expat)))
+
+(define-public rust-ptree-0.4
+  (package
+    (name "rust-ptree")
+    (version "0.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ptree" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0w72k0svlj8ihbf7m7ivay7rpv38xz9ad5a06isyqsiiddwq1pm0"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-ansi-term" ,rust-ansi-term-0.12)
+        ("rust-atty" ,rust-atty-0.2)
+        ("rust-config" ,rust-config-0.11)
+        ("rust-directories" ,rust-directories-4)
+        ("rust-petgraph" ,rust-petgraph-0.6)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-value" ,rust-serde-value-0.7)
+        ("rust-tint" ,rust-tint-1))))
+    (home-page "https://gitlab.com/Noughmad/ptree";)
+    (synopsis "Pretty-print tree-like structures")
+    (description
+     "The @code{ptree} crate supports output formatting due to a user-provided
+configuration file and/or environment variables.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-publicsuffix-2
   (package
     (name "rust-publicsuffix")
@@ -68621,2022 +68791,1850 @@ color in a Windows console.")
        #:cargo-inputs
        (("rust-winapi" ,rust-winapi-0.3))))))
 
-(define-public rust-winreg-0.8
+(define-public rust-windows-0.32
   (package
-    (name "rust-winreg")
-    (version "0.8.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "winreg" version))
-       (file-name (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32 "1364vyx4kh170pxfg8iwlvv8xskvry53xfya0565q8qnx73gh1yi"))))
+    (name "rust-windows")
+    (version "0.32.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "windows" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1v0h5b5g1ak2f2a6gkgjqgrqkkbdcfmf02nfmmj27g4nj3dzdvgv"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-chrono" ,rust-chrono-0.4)
-        ("rust-serde" ,rust-serde-1)
-        ("rust-winapi" ,rust-winapi-0.3))))
-    (home-page "https://github.com/gentoo90/winreg-rs";)
-    (synopsis "Rust bindings to the MS Windows Registry API")
-    (description
-     "This package provides Rust bindings to MS Windows Registry API.")
-    (license license:expat)))
+       (("rust-windows-implement" ,rust-windows-implement-0.32)
+        ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.32)
+        ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.32)
+        ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.32)
+        ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.32)
+        ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.32))))
+    (home-page "https://github.com/microsoft/windows-rs";)
+    (synopsis "Rust for Windows")
+    (description "Rust for Windows")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-winreg-0.7
+(define-public rust-windows-0.9
   (package
-    (inherit rust-winreg-0.8)
-    (name "rust-winreg")
-    (version "0.7.0")
+    (inherit rust-windows-0.32)
+    (name "rust-windows")
+    (version "0.9.1")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "winreg" version))
+       (uri (crate-uri "windows" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "0sdxcyvda4v1v6a0k1j2v1400z3ng323k9a56gxvkq51x21dn801"))))
+        (base32 "0zy9jmhkhmsng7l9qiznxpdh5ns303s875p5kf6a5q9ym0rka7rn"))))
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-chrono" ,rust-chrono-0.4)
-        ("rust-serde" ,rust-serde-1)
-        ("rust-winapi" ,rust-winapi-0.3))
-       #:cargo-development-inputs
-       (("rust-rand" ,rust-rand-0.3)
-        ("rust-serde-derive" ,rust-serde-derive-1))))))
+       (("rust-const-sha1" ,rust-const-sha1-0.2)
+        ("rust-windows-gen" ,rust-windows-gen-0.9)
+        ("rust-windows-macros" ,rust-windows-macros-0.9))))))
 
-(define-public rust-winreg-0.6
+(define-public rust-windows-aarch64-gnullvm-0.42
   (package
-    (name "rust-winreg")
-    (version "0.6.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "winreg" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1jdcqr6zmvwyrp87h48miasfdvv16gjsb60rc8dy2kqwb3mnv65j"))))
+    (name "rust-windows-aarch64-gnullvm")
+    (version "0.42.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "windows-aarch64-gnullvm" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "17m1p753qk02r25afg31dxym4rpy7kpr0z8nwl5f1jzhyrqsmlj1"))
+              (snippet
+               '(begin
+                  (delete-file "lib/libwindows.a")))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-chrono" ,rust-chrono-0.4)
-        ("rust-serde" ,rust-serde-1)
-        ("rust-winapi" ,rust-winapi-0.3))
-       #:cargo-development-inputs
-       (("rust-rand" ,rust-rand-0.3)
-        ("rust-serde-derive" ,rust-serde-derive-1))))
-    (home-page "https://github.com/gentoo90/winreg-rs";)
-    (synopsis "Rust bindings to MS Windows Registry API")
+     (list #:skip-build? #t))
+    (home-page "https://github.com/microsoft/windows-rs";)
+    (synopsis "Code gen support for the windows crate")
     (description
-     "This package provides Rust bindings to MS Windows Registry API.")
-    (license license:expat)))
+     "This package provides code gen support for the windows crate.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-winreg-0.5
+(define-public rust-windows-aarch64-msvc-0.42
   (package
-    (inherit rust-winreg-0.7)
-    (name "rust-winreg")
-    (version "0.5.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "winreg" version))
-       (file-name (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32 "0jkh4jj2g8g0bl7r1xvq9vv9hr4gdzphg9ndqm65q6f1jn9paym2"))))
+    (name "rust-windows-aarch64-msvc")
+    (version "0.42.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "windows-aarch64-msvc" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1d6d9ny0yl5l9vvagydigvkfcphzk2aygchiccywijimb8pja3yx"))
+              (snippet
+               '(begin
+                  (delete-file "lib/windows.lib")))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-clippy" ,rust-clippy-0.0)
-        ("rust-serde" ,rust-serde-1)
-        ("rust-winapi" ,rust-winapi-0.3))))))
+     (list #:skip-build? #t))
+    (home-page "https://github.com/microsoft/windows-rs";)
+    (synopsis "Code gen support for the windows crate")
+    (description "This package provides code gen support for the windows
+crate.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-winres-0.1
+(define-public rust-windows-aarch64-msvc-0.36
   (package
-    (name "rust-winres")
-    (version "0.1.12")
+    (inherit rust-windows-aarch64-msvc-0.42)
+    (name "rust-windows-aarch64-msvc")
+    (version "0.36.1")
     (source
      (origin
+       (inherit (package-source rust-windows-aarch64-msvc-0.42))
        (method url-fetch)
-       (uri (crate-uri "winres" version))
+       (uri (crate-uri "windows_aarch64_msvc" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0v2gvqnd8iwwvb6fs69nv0mmk1z96430527n0qlfbsarxxhv53dn"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-toml" ,rust-toml-0.5))))
-    (home-page "https://github.com/mxre/winres";)
-    (synopsis "Create and set windows icons and metadata for executables")
-    (description "A simple library to facilitate adding metainformation and
-icons to windows executables and dynamic libraries.")
-    (license license:expat)))
+        (base32 "0ixaxs2c37ll2smprzh0xq5p238zn8ylzb3lk1zddqmd77yw7f4v"))))))
 
-(define-public rust-winutil-0.1
+(define-public rust-windows-aarch64-msvc-0.32
   (package
-    (name "rust-winutil")
-    (version "0.1.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "winutil" version))
-        (file-name (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "0vkyl3fbbf05n5ph5yz8sfaccrk9x3qsr25560w6w68ldf5i7bvx"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-winapi" ,rust-winapi-0.3))))
-    (build-system cargo-build-system)
-    (home-page "https://bitbucket.org/DaveLancaster/winutil";)
-    (synopsis "Library wrapping a handful of useful winapi functions")
-    (description
-     "A simple library wrapping a handful of useful winapi functions.")
-    (license license:expat)))
+    (inherit rust-windows-aarch64-msvc-0.36)
+    (name "rust-windows-aarch64-msvc")
+    (version "0.32.0")
+    (source (origin
+              (inherit (package-source rust-windows-aarch64-msvc-0.36))
+              (method url-fetch)
+              (uri (crate-uri "windows_aarch64_msvc" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1x8bnafz15ksgpbjbgk1l1j2jx4rq4a2ylzcahb1jhy4n59jgsfq"))))))
 
-(define-public rust-wio-0.2
+(define-public rust-windows-aarch64-msvc-0.28
   (package
-    (name "rust-wio")
-    (version "0.2.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wio" version))
-       (file-name (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32 "199p404fp96w1f1c93bf1jrvaqwypxf3hmmldhww4jk4yhr9j4jx"))))
+    (inherit rust-windows-aarch64-msvc-0.32)
+    (name "rust-windows-aarch64-msvc")
+    (version "0.28.0")
+    (source (origin
+              (inherit (package-source rust-windows-aarch64-msvc-0.32))
+              (method url-fetch)
+              (uri (crate-uri "windows_aarch64_msvc" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1hpk0n2z0jzzvwlvs98b75sa4q920953nqfc119rv19nwm0mlsaj"))))))
+
+(define-public rust-windows-i686-gnu-0.42
+  (package
+    (name "rust-windows-i686-gnu")
+    (version "0.42.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "windows_i686_gnu" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1rsxdjp50nk38zfd1dxj12i2qmhpvxsm6scdq8v1d10ncygy3spv"))
+              (snippet
+               '(begin
+                  (delete-file "lib/libwindows.a")))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-winapi" ,rust-winapi-0.3))))
-    (home-page "https://github.com/retep998/wio-rs";)
-    (synopsis "Windows IO wrapper")
+     (list #:skip-build? #t))
+    (home-page "https://github.com/microsoft/windows-rs";)
+    (synopsis "Code gen support for the windows crate")
     (description
-     "Wio is a middle-level wrapper around various things in Windows API.  It
-is designed to be a very thin layer around Windows API to provide a safe Rusty
-API but without hiding any functionality.")
+     "This package provides code gen support for the windows crate.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-write-json-0.1
+(define-public rust-windows-i686-gnu-0.36
   (package
-    (name "rust-write-json")
-    (version "0.1.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "write-json" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1qxr1xwwyf7rd270rvjlcssm515pikf0sg70wpiymz4miy29l1h6"))))
-    (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/matklad/write-json";)
-    (synopsis
-      "Simple {dependency,trait,macro}-less JSON serialization")
-    (description
-      "This package provides a simple {dependency,trait,macro}-less JSON
-serialization.")
-    (license (list license:expat license:asl2.0))))
+    (inherit rust-windows-i686-gnu-0.42)
+    (name "rust-windows-i686-gnu")
+    (version "0.36.1")
+    (source (origin
+              (inherit (package-source rust-windows-i686-gnu-0.42))
+              (method url-fetch)
+              (uri (crate-uri "windows_i686_gnu" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1dm3svxfzamrv6kklyda9c3qylgwn5nwdps6p0kc9x6s077nq3hq"))))))
 
-(define-public rust-ws2-32-sys-0.2
+(define-public rust-windows-i686-gnu-0.32
   (package
-    (name "rust-ws2-32-sys")
-    (version "0.2.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "ws2_32-sys" version))
-        (file-name (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m"))))
+    (inherit rust-windows-i686-gnu-0.36)
+    (name "rust-windows-i686-gnu")
+    (version "0.32.0")
+    (source (origin
+              (inherit (package-source rust-windows-i686-gnu-0.36))
+              (method url-fetch)
+              (uri (crate-uri "windows_i686_gnu" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "05g6kpdfxwxnw2gn1nrd7bsf5997rci0k3h3nqby168ph5l1qwba"))))))
+
+(define-public rust-windows-i686-gnu-0.28
+  (package
+    (inherit rust-windows-i686-gnu-0.32)
+    (name "rust-windows-i686-gnu")
+    (version "0.28.0")
+    (source (origin
+              (inherit (package-source rust-windows-i686-gnu-0.32))
+              (method url-fetch)
+              (uri (crate-uri "windows_i686_gnu" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "12hx7qpsjg9p7jggfcplqa3mf1mzr7k7s5ybzqwg1zmg4fn2aizm"))))))
+
+(define-public rust-windows-i686-msvc-0.42
+  (package
+    (name "rust-windows-i686-msvc")
+    (version "0.42.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "windows_i686_msvc" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0ii2hrsdif2ms79dfiyfzm1n579jzj42ji3fpsxd57d3v9jjzhc4"))
+              (snippet
+               '(begin
+                  (delete-file "lib/windows.lib")))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-winapi" ,rust-winapi-0.2)
-        ("rust-winapi-build" ,rust-winapi-build-0.1))))
-    (home-page "https://github.com/retep998/winapi-rs";)
-    (synopsis "Function definitions for the Windows API library ws2_32")
+     (list #:skip-build? #t))
+    (home-page "https://github.com/microsoft/windows-rs";)
+    (synopsis "Code gen support for the windows crate")
     (description
-     "Contains function definitions for the Windows API library ws2_32.")
-    (license license:expat)))
+     "This package provides code gen support for the windows crate.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-wyhash-0.5
+(define-public rust-windows-i686-msvc-0.36
   (package
-    (name "rust-wyhash")
-    (version "0.5.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "wyhash" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32 "15f26hvx6nyp4d6iswha7rm3psidxa2k2iab1f1aqgsyq9iy3xms"))))
+    (inherit rust-windows-i686-msvc-0.42)
+    (name "rust-windows-i686-msvc")
+    (version "0.36.1")
+    (source (origin
+              (inherit (package-source rust-windows-i686-msvc-0.42))
+              (method url-fetch)
+              (uri (crate-uri "windows_i686_msvc" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "097h2a7wig04wbmpi3rz1akdy4s8gslj5szsx8g2v0dj91qr3rz2"))))))
+
+(define-public rust-windows-i686-msvc-0.32
+  (package
+    (inherit rust-windows-i686-msvc-0.36)
+    (name "rust-windows-i686-msvc")
+    (version "0.32.0")
+    (source (origin
+              (inherit (package-source rust-windows-i686-msvc-0.36))
+              (method url-fetch)
+              (uri (crate-uri "windows_i686_msvc" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0wj1wi01fc8hrasbakjcq8y5a7ynw9l2mcw08svmsq823axi2v0l"))))))
+
+(define-public rust-windows-i686-msvc-0.28
+  (package
+    (inherit rust-windows-i686-msvc-0.32)
+    (name "rust-windows-i686-msvc")
+    (version "0.28.0")
+    (source (origin
+              (inherit (package-source rust-windows-i686-msvc-0.32))
+              (method url-fetch)
+              (uri (crate-uri "windows_i686_msvc" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0r0z8s1wcdwd20azsdfilf2a6bz68xkavl990wy64hyc8f51bmai"))))))
+
+(define-public rust-windows-implement-0.32
+  (package
+    (name "rust-windows-implement")
+    (version "0.32.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "windows-implement" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0f3lnjs9rlihin9cjf9y7np1x15c0v09v0cwlw1n7c30145xmciz"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-rand-core" ,rust-rand-core-0.6))))
-    (home-page "https://github.com/eldruin/wyhash-rs";)
-    (synopsis "Rust implementation of the WyHash algorithm")
-    (description
-     "This package provides a Rust implementation of the WyHash fast portable
-non-cryptographic hashing algorithm and random number generator.")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-syn" ,rust-syn-1)
+        ("rust-windows-tokens" ,rust-windows-tokens-0.32))))
+    (home-page "https://github.com/microsoft/windows-rs";)
+    (synopsis "Implement macro for the windows crate")
+    (description "This package provides the implement macro for the windows
+crate.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-wyz-0.4
+(define-public rust-windows-sys-0.42
   (package
-    (name "rust-wyz")
-    (version "0.4.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wyz" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "126irvwn63kxgqjk5ap1pw3p3grw2sskyg32h0v4bqawsrx057hj"))))
+    (name "rust-windows-sys")
+    (version "0.42.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "windows-sys" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "19waf8aryvyq9pzk0gamgfwjycgzk4gnrazpfvv171cby0h1hgjs"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-once-cell" ,rust-once-cell-1)
-        ("rust-tap" ,rust-tap-1)
-        ("rust-typemap" ,rust-typemap-0.3))))
-    (home-page "https://myrrlyn.net/crates/wyz";)
-    (synopsis "Collection of utility functions")
-    (description
-     "This package provides a collection of utility functions.")
-    (license license:expat)))
+     (list #:skip-build? #t
+           #:cargo-inputs
+           `(("rust-windows-aarch64-gnullvm" 
,rust-windows-aarch64-gnullvm-0.42)
+             ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.42)
+             ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.42)
+             ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.42)
+             ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.42)
+             ("rust-windows-x86-64-gnullvm" ,rust-windows-x86-64-gnullvm-0.42)
+             ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.42))))
+    (home-page "https://github.com/microsoft/windows-rs";)
+    (synopsis "Rust for Windows")
+    (description "The windows crate lets you call any Windows API past,
+present, and future using code generated on the fly directly from the metadata
+describing the API and right into your Rust package where you can call them as
+if they were just another Rust module.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-wyz-0.2
+(define-public rust-windows-sys-0.36
   (package
-    (name "rust-wyz")
-    (version "0.2.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "wyz" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "05028bk49b2ix1lz22sj65fnlxr0f29j2klkaqjxp6az3c6hprl5"))))
-    (build-system cargo-build-system)
-    (home-page "https://myrrlyn.net/crates/wyz";)
-    (synopsis "Collection of utility functions")
-    (description
-     "This package provides a collection of utility functions.")
-    (license license:expat)))
+    (inherit rust-windows-sys-0.42)
+    (name "rust-windows-sys")
+    (version "0.36.1")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "windows-sys" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1lmqangv0zg1l46xiq7rfnqwsx8f8m52mqbgg2mrx7x52rd1a17a"))))
+    (arguments
+     (list #:skip-build? #t
+           #:cargo-inputs
+           `(("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.36)
+             ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.36)
+             ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.36)
+             ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.36)
+             ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.36))))))
 
-(define-public rust-x25519-dalek-1
+(define-public rust-windows-sys-0.28
   (package
-    (name "rust-x25519-dalek")
-    (version "1.2.0")
+    (inherit rust-windows-sys-0.36)
+    (name "rust-windows-sys")
+    (version "0.28.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "x25519-dalek" version))
+       (uri (crate-uri "windows-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0xz0m1pczss9r25d1r52420dl2picdypbcn5ycmlwssp9awvd4i3"))
-       (modules '((guix build utils)))
-       (snippet
-        '(begin
-           (substitute* "Cargo.toml"
-             (("version = \"=1.3\"") "version = \"^1.3\""))))))
-    (build-system cargo-build-system)
+        (base32 "1xkghf343nll9i1yvha1a4spf53mnb5knzmnqj9adgsw5mh3kjl2"))))
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-curve25519-dalek" ,rust-curve25519-dalek-3)
-        ("rust-rand-core" ,rust-rand-core-0.5)
-        ("rust-serde" ,rust-serde-1)
-        ("rust-zeroize" ,rust-zeroize-1))))
-    (home-page "https://dalek.rs/";)
-    (synopsis "X25519 elliptic curve Diffie-Hellman key exchange")
-    (description
-     "This crate provides a pure-Rust implementation of x25519 elliptic curve
-Diffie-Hellman key exchange, with curve operations provided by
-@code{curve25519-dalek}.")
-    (license license:bsd-3)))
+     (list #:skip-build? #t
+           #:cargo-inputs
+           `(("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.28)
+             ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.28)
+             ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.28)
+             ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.28)
+             ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.28))))))
 
-(define-public rust-x509-parser-0.12
+(define-public rust-windows-gen-0.9
   (package
-    (name "rust-x509-parser")
-    (version "0.12.0")
+    (name "rust-windows-gen")
+    (version "0.9.1")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "x509-parser" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
+       (uri (crate-uri "windows_gen" version))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "1vanwazknxwd1kmlp443bpph9qyas021ayqk6iljxdscm0v0ijgz"))))
+        (base32 "0lh492px26rrna0harikyy4p7nk520pw2lv0dczp4n2xa6y4s5al"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-base64" ,rust-base64-0.13)
-        ("rust-chrono" ,rust-chrono-0.4)
-        ("rust-data-encoding" ,rust-data-encoding-2)
-        ("rust-der-parser" ,rust-der-parser-6)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-nom" ,rust-nom-7)
-        ("rust-oid-registry" ,rust-oid-registry-0.2)
-        ("rust-ring" ,rust-ring-0.16)
-        ("rust-rusticata-macros" ,rust-rusticata-macros-4)
-        ("rust-thiserror" ,rust-thiserror-1))))
-    (home-page "https://github.com/rusticata/x509-parser";)
-    (synopsis "X.509 parser written in pure Rust")
-    (description "This crate provides a parser for the X.509 v3 format (RFC
-5280 certificates).")
+    (arguments `(#:skip-build? #t #:cargo-inputs (("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/microsoft/windows-rs";)
+    (synopsis "Code gen support for the windows crate")
+    (description "Code gen support for the windows crate")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-x86-0.33
+(define-public rust-windows-macros-0.9
   (package
-    (name "rust-x86")
-    (version "0.33.0")
+    (name "rust-windows-macros")
+    (version "0.9.1")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "x86" version))
+       (uri (crate-uri "windows_macros" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0sas98yzn549f5lxswqra2rjdfjxh24f3ndw5dfsnwnm9rlsr1i7"))
-       (modules '((guix build utils)))
-       (snippet
-        '(begin
-           (substitute* "Cargo.toml"
-             (("8\\.0") "8"))))))
+        (base32 "0xivsg3lf023hs83xiab2k40fmrl11nbihcdrdkc8pc4ab398xqg"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-bit-field" ,rust-bit-field-0.10)
-        ("rust-bitflags" ,rust-bitflags-1)
-        ("rust-csv" ,rust-csv-1)
-        ("rust-phf" ,rust-phf-0.7)
-        ("rust-phf-codegen" ,rust-phf-codegen-0.7)
-        ("rust-raw-cpuid" ,rust-raw-cpuid-8)
-        ("rust-serde-json" ,rust-serde-json-1))))
-    (home-page "https://github.com/gz/rust-x86";)
-    (synopsis "Library to program x86 (amd64) hardware")
-    (description
-     "This is a Library to program x86 (amd64) hardware.  It contains x86
-specific data structure descriptions, data-tables, as well as convenience
-function to call assembly instructions typically not exposed in higher level
-languages.")
-    (license license:expat)))
+       (("rust-syn" ,rust-syn-1) ("rust-windows-gen" ,rust-windows-gen-0.9))))
+    (home-page "https://github.com/microsoft/windows-rs";)
+    (synopsis "Macros for the windows crate")
+    (description "Macros for the windows crate")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-xattr-0.2
+(define-public rust-windows-tokens-0.32
   (package
-    (name "rust-xattr")
-    (version "0.2.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "xattr" version))
-        (file-name (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "0k556fb6f5jc907975j9c8iynl2fqz3rf0w6fiig83i4yi0kfk14"))))
+    (name "rust-windows-tokens")
+    (version "0.32.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "windows-tokens" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1rrqbxjkyk6h6p6jjzbcxr0mhqbz0yfndd2s2dsgmbl75f4yy7gn"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2))
-       #:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3))))
-    (home-page "https://github.com/Stebalien/xattr";)
-    (synopsis "Unix extended file system attributes")
-    (description
-     "This package provide a small library for setting, getting, and listing
-extended attributes.")
-    (license (list license:asl2.0
-                   license:expat))))
+     `(#:skip-build? #t))
+    (home-page "https://github.com/microsoft/windows-rs";)
+    (synopsis "Code gen support for the windows crate")
+    (description "This package provides code generation support for the
+windows crate.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-xcb-1
+(define-public rust-windows-x86-64-gnu-0.42
   (package
-    (name "rust-xcb")
-    (version "1.2.0")
+    (name "rust-windows-x86-64-gnu")
+    (version "0.42.0")
     (source (origin
               (method url-fetch)
-              (uri (crate-uri "xcb" version))
+              (uri (crate-uri "windows_x86_64_gnu" version))
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1ifnchjzf9xlwy6pfa90mwa6j43bx2bi5xl40m5gykymwbbv9bhg"))))
+                "1vdh8k5a4m6pfkc5gladqznyqxgapkjm0qb8iwqvqb1nnlhinyxz"))
+              (snippet
+               '(begin
+                  (delete-file "lib/libwindows.a")))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-build-flags '("--all-features")
-       #:cargo-test-flags '("--all-features")
-       #:cargo-development-inputs
-       (("rust-gl" ,rust-gl-0.14)
-        ("rust-png" ,rust-png-0.17)
-        ("rust-x11" ,rust-x11-2))
-       #:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-quick-xml" ,rust-quick-xml-0.22)
-        ("rust-x11" ,rust-x11-2))))
-    (inputs
-     (list mesa))                      ;required by rust-x11-2
-    (native-inputs
-     (list pkg-config))
-    (home-page "https://github.com/rust-x-bindings/rust-xcb";)
-    (synopsis "Rust bindings and wrappers for XCB")
+     (list #:skip-build? #t))
+    (home-page "https://github.com/microsoft/windows-rs";)
+    (synopsis "Code gen support for the windows crate")
     (description
-     "This package provides Rust bindings and wrappers for XCB.")
-    (license license:expat)))
+     "This package provides code gen support for the windows crate.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-xcb-0.9
+(define-public rust-windows-x86-64-gnu-0.36
   (package
-    (inherit rust-xcb-1)
-    (name "rust-xcb")
-    (version "0.9.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "xcb" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "19i2pm8alpn2f0m4jg8bsw6ckw8irj1wjh55h9pi2fcb2diny1b2"))))
+    (inherit rust-windows-x86-64-gnu-0.42)
+    (name "rust-windows-x86-64-gnu")
+    (version "0.36.1")
+    (source (origin
+              (inherit (package-source rust-windows-x86-64-gnu-0.42))
+              (method url-fetch)
+              (uri (crate-uri "windows_x86_64_gnu" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1qfrck3jnihymfrd01s8260d4snql8ks2p8yaabipi3nhwdigkad"))))))
+
+(define-public rust-windows-x86-64-gnu-0.32
+  (package
+    (inherit rust-windows-x86-64-gnu-0.36)
+    (name "rust-windows-x86-64-gnu")
+    (version "0.32.0")
+    (source (origin
+              (inherit (package-source rust-windows-x86-64-gnu-0.36))
+              (method url-fetch)
+              (uri (crate-uri "windows_x86_64_gnu" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1g34xhcayig9sndq3555w95q6lr7jr839zxv6l365ijlfhpv24n9"))))))
+
+(define-public rust-windows-x86-64-gnu-0.28
+  (package
+    (inherit rust-windows-x86-64-gnu-0.32)
+    (name "rust-windows-x86-64-gnu")
+    (version "0.28.0")
+    (source (origin
+              (inherit (package-source rust-windows-x86-64-gnu-0.32))
+              (method url-fetch)
+              (uri (crate-uri "windows_x86_64_gnu" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0m79bhdr54g4h4wh2q8wkjlkypb5wvl7xzhc2csiaqb5yl4z8cdw"))))))
+
+(define-public rust-windows-x86-64-gnullvm-0.42
+  (package
+    (name "rust-windows-x86-64-gnullvm")
+    (version "0.42.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "windows-x86-64-gnullvm" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0a10rns9b07m9snlr97iqxq42zi9ai547gb5fqlv7vihpb92bm89"))
+              (snippet
+               '(begin
+                  (delete-file "lib/libwindows.a")))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:tests? #f  ; Building all the features tests the code.
-       #:cargo-build-flags '("--features" "debug_all")
-       #:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-x11" ,rust-x11-2))))
-    (inputs
-     (list libx11 libxcb xcb-proto))
-    (native-inputs
-     (list pkg-config python))))
+    (arguments (list #:skip-build? #t))
+    (home-page "https://github.com/microsoft/windows-rs";)
+    (synopsis "Code gen support for the windows crate")
+    (description
+     "This package provides code gen support for the windows crate.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-xcursor-0.3
+(define-public rust-windows-x86-64-msvc-0.42
   (package
-    (name "rust-xcursor")
-    (version "0.3.3")
+    (name "rust-windows-x86-64-msvc")
+    (version "0.42.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "windows_x86_64_msvc" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1xdnvhg8yj4fgjy0vkrahq5cbgfpcd7ak2bdv8s5lwjrazc0j07l"))
+              (snippet
+               '(begin
+                  (delete-file "lib/windows.lib")))))
+    (build-system cargo-build-system)
+    (arguments (list #:skip-build? #t))
+    (home-page "https://github.com/microsoft/windows-rs";)
+    (synopsis "Code gen support for the windows crate")
+    (description
+     "This package provides code gen support for the windows crate.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-windows-x86-64-msvc-0.36
+  (package
+    (inherit rust-windows-x86-64-msvc-0.42)
+    (name "rust-windows-x86-64-msvc")
+    (version "0.36.1")
+    (source (origin
+              (inherit (package-source rust-windows-x86-64-msvc-0.42))
+              (method url-fetch)
+              (uri (crate-uri "windows_x86_64_msvc" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "103n3xijm5vr7qxr1dps202ckfnv7njjnnfqmchg8gl5ii5cl4f8"))))))
+
+(define-public rust-windows-x86-64-msvc-0.32
+  (package
+    (inherit rust-windows-x86-64-msvc-0.36)
+    (name "rust-windows-x86-64-msvc")
+    (version "0.32.0")
+    (source (origin
+              (inherit (package-source rust-windows-x86-64-msvc-0.36))
+              (method url-fetch)
+              (uri (crate-uri "windows_x86_64_msvc" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "05l392h518dxn808dc1zkv6d0r9z38q68qqc0ix9fs9741v28jjh"))))))
+
+(define-public rust-windows-x86-64-msvc-0.28
+  (package
+    (inherit rust-windows-x86-64-msvc-0.32)
+    (name "rust-windows-x86-64-msvc")
+    (version "0.28.0")
+    (source (origin
+              (inherit (package-source rust-windows-x86-64-msvc-0.32))
+              (method url-fetch)
+              (uri (crate-uri "windows_x86_64_msvc" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "17z8q25pd3dp6b84qm9nlayd3ym78sbryxlqmgcxvz9vpmy8qarz"))))))
+
+(define-public rust-winreg-0.8
+  (package
+    (name "rust-winreg")
+    (version "0.8.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "xcursor" version))
+       (uri (crate-uri "winreg" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "022x7jm71dyqrxwsjkqfgj8bx57y7g8yyz318qb80y5ffhaj76is"))))
+        (base32 "1364vyx4kh170pxfg8iwlvv8xskvry53xfya0565q8qnx73gh1yi"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-nom" ,rust-nom-6))))
-    (home-page "https://crates.io/crates/xcursor";)
-    (synopsis "Library for loading XCursor themes")
+       (("rust-chrono" ,rust-chrono-0.4)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/gentoo90/winreg-rs";)
+    (synopsis "Rust bindings to the MS Windows Registry API")
     (description
-     "This package provides a library for loading XCursor themes.")
+     "This package provides Rust bindings to MS Windows Registry API.")
     (license license:expat)))
 
-(define-public rust-xdg-2
+(define-public rust-winreg-0.7
   (package
-    (name "rust-xdg")
-    (version "2.4.1")
+    (inherit rust-winreg-0.8)
+    (name "rust-winreg")
+    (version "0.7.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "xdg" version))
+       (uri (crate-uri "winreg" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "1xl81zfx5fsc5n06h77s0fvrslzhh2piabfz0c1lqk5xbkdq6i8c"))))
-    (build-system cargo-build-system)
-    (arguments `(#:cargo-inputs (("rust-dirs" ,rust-dirs-4))))
-    (home-page "https://github.com/whitequark/rust-xdg";)
-    (synopsis "Store and retrieve files according to XDG specification")
-    (description
-     "This package provides a library for storing and retrieving files 
according
-to XDG Base Directory specification.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-xflags-macros-0.2
-  (package
-    (name "rust-xflags-macros")
-    (version "0.2.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "xflags-macros" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1jb2bq76kzzmq5rdyi3hzkq6x41l11fr1yn00f5ib5j9l4y7s0y8"))))
-    (build-system cargo-build-system)
+        (base32
+         "0sdxcyvda4v1v6a0k1j2v1400z3ng323k9a56gxvkq51x21dn801"))))
     (arguments
-      `(#:skip-build? #t
-        #:cargo-inputs
-        (("rust-proc-macro2" ,rust-proc-macro2-1))
-        #:cargo-development-inputs
-        (("rust-expect-test" ,rust-expect-test-1))))
-    (home-page "https://github.com/matklad/xflags";)
-    (synopsis
-      "Private implementation details of xflags")
-    (description
-      "This package provides a private implementation details of xflags.")
-    (license (list license:expat license:asl2.0))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-chrono" ,rust-chrono-0.4)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.3)
+        ("rust-serde-derive" ,rust-serde-derive-1))))))
 
-(define-public rust-xflags-0.2
+(define-public rust-winreg-0.6
   (package
-    (name "rust-xflags")
-    (version "0.2.1")
+    (name "rust-winreg")
+    (version "0.6.2")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "xflags" version))
+       (uri (crate-uri "winreg" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "12i0m43fmvwhlqid5xbr017c12j7jv3vlkjv04q428mpl3k6rbar"))))
+         "1jdcqr6zmvwyrp87h48miasfdvv16gjsb60rc8dy2kqwb3mnv65j"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-xflags-macros" ,rust-xflags-macros-0.2))))
-    (home-page "https://github.com/matklad/xflags";)
-    (synopsis
-     "Moderately simple command line arguments parser")
+       (("rust-chrono" ,rust-chrono-0.4)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.3)
+        ("rust-serde-derive" ,rust-serde-derive-1))))
+    (home-page "https://github.com/gentoo90/winreg-rs";)
+    (synopsis "Rust bindings to MS Windows Registry API")
     (description
-     "This package provides a moderately simple command line arguments 
parser.")
-    (license (list license:expat license:asl2.0))))
+     "This package provides Rust bindings to MS Windows Registry API.")
+    (license license:expat)))
 
-(define-public rust-xi-unicode-0.3
+(define-public rust-winreg-0.5
   (package
-    (name "rust-xi-unicode")
-    (version "0.3.0")
+    (inherit rust-winreg-0.7)
+    (name "rust-winreg")
+    (version "0.5.1")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "xi-unicode" version))
+       (uri (crate-uri "winreg" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "12mvjgrhr7557cib69wm4q5s4srba27pg2df9l1zihrxgnbh0wx6"))))
-    (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/google/xi-editor";)
-    (synopsis
-     "Unicode utilities for text editing, including a line breaking iterator")
-    (description
-     "This package provides Unicode utilities useful for text editing,
-including a line breaking iterator.")
-    (license license:asl2.0)))
-
-(define-public rust-xml-rs-0.8
-  (package
-    (name "rust-xml-rs")
-    (version "0.8.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "xml-rs" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "12ndxyhzxw2zdr76ql8nfdwb2vwhvdkrxwk4pbjafqfglmjv0zdh"))
-       (modules '((guix build utils)))
-       (snippet
-        '(begin
-           ;; 'doctest' isn't stable until rust-1.40
-           (substitute* "src/lib.rs"
-             (("\\(doctest") "(test"))
-           #t))))
+        (base32 "0jkh4jj2g8g0bl7r1xvq9vv9hr4gdzphg9ndqm65q6f1jn9paym2"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment-0.3)
-        ("rust-lazy-static" ,rust-lazy-static-1))))
-    (home-page "https://github.com/netvl/xml-rs";)
-    (synopsis "XML library in pure Rust")
-    (description "An XML library in pure Rust.")
-    (license license:expat)))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-clippy" ,rust-clippy-0.0)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-winapi" ,rust-winapi-0.3))))))
 
-(define-public rust-xml-rs-0.7
+(define-public rust-winres-0.1
   (package
-    (name "rust-xml-rs")
-    (version "0.7.0")
+    (name "rust-winres")
+    (version "0.1.12")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "xml-rs" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
+       (uri (crate-uri "winres" version))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "1hp9kf80y9qm3aiqg5psyshqfkcrjgifbcm2c2nc5qlzs80vc71w"))))
+        (base32 "0v2gvqnd8iwwvb6fs69nv0mmk1z96430527n0qlfbsarxxhv53dn"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-test-flags '("--release" "--lib")
+     `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1))))
-    (home-page "https://github.com/netvl/xml-rs";)
-    (synopsis "XML library in pure Rust")
-    (description "An XML library in pure Rust.")
+       (("rust-toml" ,rust-toml-0.5))))
+    (home-page "https://github.com/mxre/winres";)
+    (synopsis "Create and set windows icons and metadata for executables")
+    (description "A simple library to facilitate adding metainformation and
+icons to windows executables and dynamic libraries.")
     (license license:expat)))
 
-(define-public rust-xml5ever-0.16
+(define-public rust-winutil-0.1
   (package
-    (name "rust-xml5ever")
-    (version "0.16.2")
+    (name "rust-winutil")
+    (version "0.1.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "xml5ever" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "winutil" version))
+        (file-name (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "0rfqys8yyigkzrqcrn5c6r10v42pwxahccyyzhc293px30w1cd4j"))))
-    (build-system cargo-build-system)
+          "0vkyl3fbbf05n5ph5yz8sfaccrk9x3qsr25560w6w68ldf5i7bvx"))))
     (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://github.com/servo/html5ever/blob/master/xml5ever/README.md";)
-    (synopsis "Push based streaming parser for xml")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-winapi" ,rust-winapi-0.3))))
+    (build-system cargo-build-system)
+    (home-page "https://bitbucket.org/DaveLancaster/winutil";)
+    (synopsis "Library wrapping a handful of useful winapi functions")
     (description
-     "Push based streaming parser for xml.")
-    (license (list license:expat license:asl2.0))))
+     "A simple library wrapping a handful of useful winapi functions.")
+    (license license:expat)))
 
-(define-public rust-xmlparser-0.13
+(define-public rust-wio-0.2
   (package
-    (name "rust-xmlparser")
-    (version "0.13.3")
+    (name "rust-wio")
+    (version "0.2.2")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "xmlparser" version))
+       (uri (crate-uri "wio" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "1n73ymdxpdq30fgz698095zvh8k5r264rl6pcxnyyrr19nra4jqi"))))
+        (base32 "199p404fp96w1f1c93bf1jrvaqwypxf3hmmldhww4jk4yhr9j4jx"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/RazrFalcon/xmlparser";)
-    (synopsis "Pull-based, zero-allocation XML parser")
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/retep998/wio-rs";)
+    (synopsis "Windows IO wrapper")
     (description
-     "@code{xmlparser} is a low-level, pull-based, zero-allocation XML 1.0
-parser.")
+     "Wio is a middle-level wrapper around various things in Windows API.  It
+is designed to be a very thin layer around Windows API to provide a safe Rusty
+API but without hiding any functionality.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-xshell-macros-0.1
+(define-public rust-write-json-0.1
   (package
-    (name "rust-xshell-macros")
-    (version "0.1.13")
+    (name "rust-write-json")
+    (version "0.1.2")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "xshell-macros" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0lkym5kfq446xymimxr226kppr3ynpi9n8iif32vrfbm5i5djzng"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "write-json" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1qxr1xwwyf7rd270rvjlcssm515pikf0sg70wpiymz4miy29l1h6"))))
     (build-system cargo-build-system)
     (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/matklad/xshell";)
+    (home-page
+      "https://github.com/matklad/write-json";)
     (synopsis
-     "Private implementation detail of xshell crate")
+      "Simple {dependency,trait,macro}-less JSON serialization")
     (description
-     "This package provide a private implementation detail of xshell crate.")
+      "This package provides a simple {dependency,trait,macro}-less JSON
+serialization.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-xshell-0.1
+(define-public rust-ws2-32-sys-0.2
   (package
-    (name "rust-xshell")
-    (version "0.1.13")
+    (name "rust-ws2-32-sys")
+    (version "0.2.1")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "xshell" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1iilg7cjgz3342f3na500dp3c371jk198qh053kfy57b84dvn5gb"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ws2_32-sys" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-xshell-macros" ,rust-xshell-macros-0.1))))
-    (home-page "https://github.com/matklad/xshell";)
-    (synopsis
-     "Utilities for quick shell scripting in Rust")
+       (("rust-winapi" ,rust-winapi-0.2)
+        ("rust-winapi-build" ,rust-winapi-build-0.1))))
+    (home-page "https://github.com/retep998/winapi-rs";)
+    (synopsis "Function definitions for the Windows API library ws2_32")
     (description
-     "This package provide a utilities for quick shell scripting in Rust.")
-    (license (list license:expat license:asl2.0))))
+     "Contains function definitions for the Windows API library ws2_32.")
+    (license license:expat)))
 
-(define-public rust-xxhash-rust-0.8
+(define-public rust-wyhash-0.5
   (package
-    (name "rust-xxhash-rust")
-    (version "0.8.2")
+    (name "rust-wyhash")
+    (version "0.5.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "xxhash-rust" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "wyhash" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32 "1v9dk6shls1rsmidf2dxdi3460bn7ingqgvn5mf7prgnxmdy2xg5"))))
+         (base32 "15f26hvx6nyp4d6iswha7rm3psidxa2k2iab1f1aqgsyq9iy3xms"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build? #t))
-    (home-page "https://github.com/DoumanAsh/xxhash-rust";)
-    (synopsis "Implementation of xxHash in Rust")
-    (description "This package provides an implementation of the xxHash
-algorithm in Rust.")
-    (license license:boost1.0)))
+     `(#:cargo-inputs
+       (("rust-rand-core" ,rust-rand-core-0.6))))
+    (home-page "https://github.com/eldruin/wyhash-rs";)
+    (synopsis "Rust implementation of the WyHash algorithm")
+    (description
+     "This package provides a Rust implementation of the WyHash fast portable
+non-cryptographic hashing algorithm and random number generator.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-xz2-0.1
+(define-public rust-wyz-0.4
   (package
-    (name "rust-xz2")
-    (version "0.1.6")
+    (name "rust-wyz")
+    (version "0.4.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "xz2" version))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (uri (crate-uri "wyz" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0v4jb0193gx8s1kvd2ajsgh0ffmwhqhfmrrw1n1h2z7w6jgqcyf1"))))
+         "126irvwn63kxgqjk5ap1pw3p3grw2sskyg32h0v4bqawsrx057hj"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #f  ; Not all files included in the tarball.
-       #:cargo-inputs
-       (("rust-futures" ,rust-futures-0.1)
-        ("rust-lzma-sys" ,rust-lzma-sys-0.1)
-        ("rust-tokio-io" ,rust-tokio-io-0.1))
-       #:cargo-development-inputs
-       (("rust-quickcheck" ,rust-quickcheck-0.7)
-        ("rust-rand" ,rust-rand-0.5)
-        ("rust-tokio-core" ,rust-tokio-core-0.1))))
-    (native-inputs
-     (list pkg-config xz))
-    (home-page "https://github.com/alexcrichton/xz2-rs";)
-    (synopsis "Rust bindings to liblzma")
-    (description "This package provides Rust bindings to liblzma providing
-Read/Write streams as well as low-level in-memory encoding and decoding.")
-    (license (list license:expat license:asl2.0))))
+     `(#:cargo-inputs
+       (("rust-once-cell" ,rust-once-cell-1)
+        ("rust-tap" ,rust-tap-1)
+        ("rust-typemap" ,rust-typemap-0.3))))
+    (home-page "https://myrrlyn.net/crates/wyz";)
+    (synopsis "Collection of utility functions")
+    (description
+     "This package provides a collection of utility functions.")
+    (license license:expat)))
 
-(define-public rust-yaml-rust-0.4
+(define-public rust-wyz-0.2
   (package
-    (name "rust-yaml-rust")
-    (version "0.4.5")
+    (name "rust-wyz")
+    (version "0.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "wyz" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "05028bk49b2ix1lz22sj65fnlxr0f29j2klkaqjxp6az3c6hprl5"))))
+    (build-system cargo-build-system)
+    (home-page "https://myrrlyn.net/crates/wyz";)
+    (synopsis "Collection of utility functions")
+    (description
+     "This package provides a collection of utility functions.")
+    (license license:expat)))
+
+(define-public rust-x25519-dalek-1
+  (package
+    (name "rust-x25519-dalek")
+    (version "1.2.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "yaml-rust" version))
+       (uri (crate-uri "x25519-dalek" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "118wbqrr4n6wgk5rjjnlrdlahawlxc1bdsx146mwk8f79in97han"))))
+        (base32 "0xz0m1pczss9r25d1r52420dl2picdypbcn5ycmlwssp9awvd4i3"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (substitute* "Cargo.toml"
+             (("version = \"=1.3\"") "version = \"^1.3\""))))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-linked-hash-map" ,rust-linked-hash-map-0.5))
-       #:cargo-development-inputs
-       (("rust-quickcheck" ,rust-quickcheck-0.9))))
-    (home-page "https://chyh1990.github.io/yaml-rust/";)
-    (synopsis "YAML 1.2 parser for Rust")
-    (description "This package is a YAML 1.2 parser for Rust.")
-    (license (list license:expat license:asl2.0))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-curve25519-dalek" ,rust-curve25519-dalek-3)
+        ("rust-rand-core" ,rust-rand-core-0.5)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-zeroize" ,rust-zeroize-1))))
+    (home-page "https://dalek.rs/";)
+    (synopsis "X25519 elliptic curve Diffie-Hellman key exchange")
+    (description
+     "This crate provides a pure-Rust implementation of x25519 elliptic curve
+Diffie-Hellman key exchange, with curve operations provided by
+@code{curve25519-dalek}.")
+    (license license:bsd-3)))
 
-(define-public rust-yaml-rust-0.3
+(define-public rust-x509-parser-0.12
   (package
-    (inherit rust-yaml-rust-0.4)
-    (name "rust-yaml-rust")
-    (version "0.3.5")
+    (name "rust-x509-parser")
+    (version "0.12.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "yaml-rust" version))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (uri (crate-uri "x509-parser" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "14m9dzwb8fb05f4jjb4nqp49rxd9c5vcmwpv3a04d2y5iphncqz6"))))
+         "1vanwazknxwd1kmlp443bpph9qyas021ayqk6iljxdscm0v0ijgz"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-clippy" ,rust-clippy-0.0)
-        ("rust-linked-hash-map" ,rust-linked-hash-map-0.3))))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-base64" ,rust-base64-0.13)
+        ("rust-chrono" ,rust-chrono-0.4)
+        ("rust-data-encoding" ,rust-data-encoding-2)
+        ("rust-der-parser" ,rust-der-parser-6)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-nom" ,rust-nom-7)
+        ("rust-oid-registry" ,rust-oid-registry-0.2)
+        ("rust-ring" ,rust-ring-0.16)
+        ("rust-rusticata-macros" ,rust-rusticata-macros-4)
+        ("rust-thiserror" ,rust-thiserror-1))))
+    (home-page "https://github.com/rusticata/x509-parser";)
+    (synopsis "X.509 parser written in pure Rust")
+    (description "This crate provides a parser for the X.509 v3 format (RFC
+5280 certificates).")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-yansi-0.5
+(define-public rust-x86-0.33
   (package
-    (name "rust-yansi")
-    (version "0.5.0")
+    (name "rust-x86")
+    (version "0.33.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "yansi" version))
+       (uri (crate-uri "x86" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0wdx8syhc61lphmgw5cw1vq73isi4szjqriz1k07z19r3r59ziwz"))))
+        (base32 "0sas98yzn549f5lxswqra2rjdfjxh24f3ndw5dfsnwnm9rlsr1i7"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (substitute* "Cargo.toml"
+             (("8\\.0") "8"))))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/SergioBenitez/yansi";)
-    (synopsis "Simple ANSI terminal color painting library")
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bit-field" ,rust-bit-field-0.10)
+        ("rust-bitflags" ,rust-bitflags-1)
+        ("rust-csv" ,rust-csv-1)
+        ("rust-phf" ,rust-phf-0.7)
+        ("rust-phf-codegen" ,rust-phf-codegen-0.7)
+        ("rust-raw-cpuid" ,rust-raw-cpuid-8)
+        ("rust-serde-json" ,rust-serde-json-1))))
+    (home-page "https://github.com/gz/rust-x86";)
+    (synopsis "Library to program x86 (amd64) hardware")
     (description
-     "This package provides a dead simple ANSI terminal color painting
-library.")
-    (license (list license:expat license:asl2.0))))
+     "This is a Library to program x86 (amd64) hardware.  It contains x86
+specific data structure descriptions, data-tables, as well as convenience
+function to call assembly instructions typically not exposed in higher level
+languages.")
+    (license license:expat)))
 
-(define-public rust-yeslogic-fontconfig-sys-3
+(define-public rust-xattr-0.2
   (package
-    (name "rust-yeslogic-fontconfig-sys")
-    (version "3.2.0")
+    (name "rust-xattr")
+    (version "0.2.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "xattr" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0k556fb6f5jc907975j9c8iynl2fqz3rf0w6fiig83i4yi0kfk14"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2))
+       #:cargo-development-inputs
+       (("rust-tempfile" ,rust-tempfile-3))))
+    (home-page "https://github.com/Stebalien/xattr";)
+    (synopsis "Unix extended file system attributes")
+    (description
+     "This package provide a small library for setting, getting, and listing
+extended attributes.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-xcb-1
+  (package
+    (name "rust-xcb")
+    (version "1.2.0")
     (source (origin
               (method url-fetch)
-              (uri (crate-uri "yeslogic-fontconfig-sys" version))
+              (uri (crate-uri "xcb" version))
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "11n3126s717rjqxhf5js3hc0qq8qv7jbicbiyszyp5yk6s8ddfzj"))))
+                "1ifnchjzf9xlwy6pfa90mwa6j43bx2bi5xl40m5gykymwbbv9bhg"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-const-cstr" ,rust-const-cstr-0.3)
-        ("rust-dlib" ,rust-dlib-0.5)
-        ("rust-once-cell" ,rust-once-cell-1)
-        ("rust-pkg-config" ,rust-pkg-config-0.3))))
+     `(#:cargo-build-flags '("--all-features")
+       #:cargo-test-flags '("--all-features")
+       #:cargo-development-inputs
+       (("rust-gl" ,rust-gl-0.14)
+        ("rust-png" ,rust-png-0.17)
+        ("rust-x11" ,rust-x11-2))
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-quick-xml" ,rust-quick-xml-0.22)
+        ("rust-x11" ,rust-x11-2))))
+    (inputs
+     (list mesa))                      ;required by rust-x11-2
     (native-inputs
      (list pkg-config))
-    (inputs
-     (list fontconfig))
-    (home-page "https://github.com/yeslogic/fontconfig-rs";)
-    (synopsis "Raw bindings to Fontconfig without a vendored C library")
+    (home-page "https://github.com/rust-x-bindings/rust-xcb";)
+    (synopsis "Rust bindings and wrappers for XCB")
     (description
-     "This package provides a wrapper around the @code{Fontconfig} library,
-for locating fonts.")
+     "This package provides Rust bindings and wrappers for XCB.")
     (license license:expat)))
 
-(define-public rust-yeslogic-fontconfig-sys-2
-  (package
-    (inherit rust-yeslogic-fontconfig-sys-3)
-    (name "rust-yeslogic-fontconfig-sys")
-    (version "2.11.2")
-    (source (origin
-              (method url-fetch)
-              (uri (crate-uri "yeslogic-fontconfig-sys" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "13bzwn12dmxnc8iqd6za6q3j2ililnqjcplnlrfblbca4ia73r1q"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-const-cstr" ,rust-const-cstr-0.3)
-        ("rust-pkg-config" ,rust-pkg-config-0.3))))))
-
-(define-public rust-zbase32-0.1
+(define-public rust-xcb-0.9
   (package
-    (name "rust-zbase32")
-    (version "0.1.2")
+    (inherit rust-xcb-1)
+    (name "rust-xcb")
+    (version "0.9.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "zbase32" version))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (uri (crate-uri "xcb" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0gz3nmiaidscb5c85rh3qxi8i584gz5xm3amlxqminl8jq27k40g"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t ;; dependency cypthon not yet availalbe
-       #:cargo-development-inputs
-       (;; ("rust-cpython" ,rust-cpython-0.2)  TODO
-        ("rust-quickcheck" ,rust-quickcheck-0.7)
-        ("rust-rand" ,rust-rand-0.6))))
-    (home-page "https://gitlab.com/pgerber/zbase32-rust";)
-    (synopsis "Implementation of zbase32")
-    (description "This package provides an implementation of zbase32.")
-    (license license:lgpl3+)))
-
-(define-public rust-zerocopy-0.6
-  (package
-    (name "rust-zerocopy")
-    (version "0.6.1")
-    (source (origin
-              (method url-fetch)
-              (uri (crate-uri "zerocopy" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "0dpj4nd9v56wy93ahjkp95znjzj91waqvidqch8gxwdwq661hbrk"))))
+        (base32
+         "19i2pm8alpn2f0m4jg8bsw6ckw8irj1wjh55h9pi2fcb2diny1b2"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
+     `(#:tests? #f  ; Building all the features tests the code.
+       #:cargo-build-flags '("--features" "debug_all")
        #:cargo-inputs
-       (("rust-byteorder" ,rust-byteorder-1)
-        ("rust-zerocopy-derive" ,rust-zerocopy-derive-0.3))))
-    (home-page "https://github.com/google/zerocopy";)
-    (synopsis "Utilities for zero-copy parsing and serialization")
-    (description "Utilities for zero-copy parsing and serialization")
-    (license license:bsd-2)))
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-x11" ,rust-x11-2))))
+    (inputs
+     (list libx11 libxcb xcb-proto))
+    (native-inputs
+     (list pkg-config python))))
 
-(define-public rust-zerocopy-0.3
+(define-public rust-xcursor-0.3
   (package
-    (inherit rust-zerocopy-0.6)
-    (name "rust-zerocopy")
-    (version "0.3.1")
+    (name "rust-xcursor")
+    (version "0.3.3")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "zerocopy" version))
+       (uri (crate-uri "xcursor" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "00nbb6yal8f74bkpn7msjcnhisimw8s5777a63206rfnn3br45zh"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-byteorder" ,rust-byteorder-1)
-        ("rust-zerocopy-derive" ,rust-zerocopy-derive-0.2))))
-    (license license:bsd-3)))
-
-(define-public rust-zerocopy-derive-0.3
-  (package
-    (name "rust-zerocopy-derive")
-    (version "0.3.2")
-    (source (origin
-              (method url-fetch)
-              (uri (crate-uri "zerocopy-derive" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "18qr7dqlj89v1xl1g58l2xd6jidv0sbccscgl131gpppba0yc1b5"))))
+        (base32 "022x7jm71dyqrxwsjkqfgj8bx57y7g8yyz318qb80y5ffhaj76is"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1)
-        ("rust-syn" ,rust-syn-1)
-        ("rust-synstructure" ,rust-synstructure-0.12))))
-    (home-page "https://github.com/google/zerocopy";)
-    (synopsis "Custom derive for traits from the zerocopy Rust crate")
+       (("rust-nom" ,rust-nom-6))))
+    (home-page "https://crates.io/crates/xcursor";)
+    (synopsis "Library for loading XCursor themes")
     (description
-     "This package provides custom derive for traits from the zerocopy Rust
-crate.")
-    (license license:bsd-2)))
+     "This package provides a library for loading XCursor themes.")
+    (license license:expat)))
 
-(define-public rust-zerocopy-derive-0.2
+(define-public rust-xdg-2
   (package
-    (inherit rust-zerocopy-derive-0.3)
-    (name "rust-zerocopy-derive")
-    (version "0.2.1")
+    (name "rust-xdg")
+    (version "2.4.1")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "zerocopy-derive" version))
+       (uri (crate-uri "xdg" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "1594sf9wwgpbavl1hb1avyz6n7km9apm8afc03x9y8h3spk3k76w"))))
+        (base32 "1xl81zfx5fsc5n06h77s0fvrslzhh2piabfz0c1lqk5xbkdq6i8c"))))
+    (build-system cargo-build-system)
+    (arguments `(#:cargo-inputs (("rust-dirs" ,rust-dirs-4))))
+    (home-page "https://github.com/whitequark/rust-xdg";)
+    (synopsis "Store and retrieve files according to XDG specification")
+    (description
+     "This package provides a library for storing and retrieving files 
according
+to XDG Base Directory specification.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-xflags-macros-0.2
+  (package
+    (name "rust-xflags-macros")
+    (version "0.2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "xflags-macros" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1jb2bq76kzzmq5rdyi3hzkq6x41l11fr1yn00f5ib5j9l4y7s0y8"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1)
-        ("rust-syn" ,rust-syn-1)
-        ("rust-synstructure" ,rust-synstructure-0.12))))
-    (license license:bsd-3)))
+      `(#:skip-build? #t
+        #:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1))
+        #:cargo-development-inputs
+        (("rust-expect-test" ,rust-expect-test-1))))
+    (home-page "https://github.com/matklad/xflags";)
+    (synopsis
+      "Private implementation details of xflags")
+    (description
+      "This package provides a private implementation details of xflags.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-zeroize-1
+(define-public rust-xflags-0.2
   (package
-    (name "rust-zeroize")
-    (version "1.5.0")
+    (name "rust-xflags")
+    (version "0.2.1")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "zeroize" version))
+       (uri (crate-uri "xflags" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "1nq8zq5h7ad6kahdk0fxw4fdm0ibycj061jngxqkqchw67n2l8nc"))))
+        (base32
+         "12i0m43fmvwhlqid5xbr017c12j7jv3vlkjv04q428mpl3k6rbar"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-zeroize-derive" ,rust-zeroize-derive-1))))
-    (home-page "https://github.com/iqlusioninc/crates/";)
-    (synopsis "Securely clear secrets from memory")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-xflags-macros" ,rust-xflags-macros-0.2))))
+    (home-page "https://github.com/matklad/xflags";)
+    (synopsis
+     "Moderately simple command line arguments parser")
     (description
-     "Zeroize securely clears secrets from memory with a simple trait built on
-stable Rust primitives, which guarantee memory is zeroed using an operation
-will not be ``optimized away'' by the compiler.  It uses a portable pure Rust
-implementation that works everywhere, even WASM!")
-    (license (list license:asl2.0 license:expat))))
+     "This package provides a moderately simple command line arguments 
parser.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-zeroize-derive-1
+(define-public rust-xi-unicode-0.3
   (package
-    (name "rust-zeroize-derive")
-    (version "1.3.1")
+    (name "rust-xi-unicode")
+    (version "0.3.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "zeroize-derive" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
+       (uri (crate-uri "xi-unicode" version))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "1nzdqyryjnqcrqz0vhddpkd8sybhn0bd8rbd6l33rdhhxwzz3s41"))))
+        (base32 "12mvjgrhr7557cib69wm4q5s4srba27pg2df9l1zihrxgnbh0wx6"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1)
-        ("rust-quote" ,rust-quote-1)
-        ("rust-syn" ,rust-syn-1)
-        ("rust-synstructure" ,rust-synstructure-0.12))))
-    (home-page "https://github.com/iqlusioninc/crates/";)
-    (synopsis "Custom derive support for zeroize")
-    (description "This crate provides custom derive support for Zeroize.")
-    (license (list license:asl2.0 license:expat))))
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/google/xi-editor";)
+    (synopsis
+     "Unicode utilities for text editing, including a line breaking iterator")
+    (description
+     "This package provides Unicode utilities useful for text editing,
+including a line breaking iterator.")
+    (license license:asl2.0)))
 
-(define-public rust-zip-0.5
+(define-public rust-xml-rs-0.8
   (package
-    (name "rust-zip")
-    (version "0.5.13")
+    (name "rust-xml-rs")
+    (version "0.8.3")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "zip" version))
+       (uri (crate-uri "xml-rs" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0588z88sj37nj1clis1rf4fh794av0hwaiaihfrin9b19n24iawk"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-byteorder" ,rust-byteorder-1)
-        ("rust-bzip2" ,rust-bzip2-0.4)
-        ("rust-crc32fast" ,rust-crc32fast-1)
-        ("rust-flate2" ,rust-flate2-1)
-        ("rust-thiserror" ,rust-thiserror-1)
-        ("rust-time" ,rust-time-0.1))))
-    (home-page "https://github.com/mvdnes/zip-rs.git";)
-    (synopsis
-     "Library to support the reading and writing of zip files")
-    (description
-     "Library to support the reading and writing of zip files.")
-    (license license:expat)))
-
-(define-public rust-zoneinfo-compiled-0.5
-  (package
-    (name "rust-zoneinfo-compiled")
-    (version "0.5.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "zoneinfo_compiled" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "1pm50w4vv34r08mrajfvyhc1254gv8zv4q6p7gs315c9bvkfpyv4"))))
+         "12ndxyhzxw2zdr76ql8nfdwb2vwhvdkrxwk4pbjafqfglmjv0zdh"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; 'doctest' isn't stable until rust-1.40
+           (substitute* "src/lib.rs"
+             (("\\(doctest") "(test"))
+           #t))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-byteorder" ,rust-byteorder-1)
-        ("rust-datetime" ,rust-datetime-0.5))))
-    (home-page "https://github.com/rust-datetime/zoneinfo-compiled/";)
-    (synopsis "Library for parsing compiled zoneinfo files")
-    (description
-     "This package provides a library for parsing compiled zoneinfo files.")
+     `(#:cargo-development-inputs
+       (("rust-doc-comment" ,rust-doc-comment-0.3)
+        ("rust-lazy-static" ,rust-lazy-static-1))))
+    (home-page "https://github.com/netvl/xml-rs";)
+    (synopsis "XML library in pure Rust")
+    (description "An XML library in pure Rust.")
     (license license:expat)))
 
-(define-public rust-zstd-0.9
+(define-public rust-xml-rs-0.7
   (package
-    (name "rust-zstd")
-    (version "0.9.0+zstd.1.5.0")
+    (name "rust-xml-rs")
+    (version "0.7.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "zstd" version))
+       (uri (crate-uri "xml-rs" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1k9caa048d8x9asksjaf62xkpv0m1wsmw94h29k3csybq9frlx07"))))
+         "1hp9kf80y9qm3aiqg5psyshqfkcrjgifbcm2c2nc5qlzs80vc71w"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
+     `(#:cargo-test-flags '("--release" "--lib")
        #:cargo-inputs
-       (("rust-zstd-safe" ,rust-zstd-safe-4))))
-    (home-page "https://github.com/gyscos/zstd-rs";)
-    (synopsis "Binding to the zstd compression library")
-    (description
-     "This package provides a binding to the Zstd compression library.")
+       (("rust-bitflags" ,rust-bitflags-1))))
+    (home-page "https://github.com/netvl/xml-rs";)
+    (synopsis "XML library in pure Rust")
+    (description "An XML library in pure Rust.")
     (license license:expat)))
 
-(define-public rust-zstd-0.8
-  (package
-    (inherit rust-zstd-0.9)
-    (name "rust-zstd")
-    (version "0.8.3+zstd.1.5.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "zstd" version))
-       (file-name (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32 "1gy2rc3hmqpzfkh9f5d395lhwjk8qwpll3gb73bznn2agd60k9sy"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-futures" ,rust-futures-0.1)
-        ("rust-tokio-io" ,rust-tokio-io-0.1)
-        ("rust-zstd-safe" ,rust-zstd-safe-4))))))
-
-(define-public rust-zstd-0.6
-  (package
-    (inherit rust-zstd-0.8)
-    (name "rust-zstd")
-    (version "0.6.1+zstd.1.4.9")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "zstd" version))
-       (file-name (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32 "18riavdrq4cy10ygvrxby87nxyxbazpy53qvavc0bwlqyxvmxrax"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-futures" ,rust-futures-0.1)
-        ("rust-tokio-io" ,rust-tokio-io-0.1)
-        ("rust-zstd-safe" ,rust-zstd-safe-3))))))
-
-(define-public rust-zstd-safe-4
-  (package
-    (name "rust-zstd-safe")
-    (version "4.1.1+zstd.1.5.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "zstd-safe" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32 "0yghr94blhnfigzsynm2km3g93886z49612y7rh07c4kqpr90769"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-zstd-sys" ,rust-zstd-sys-1))))
-    (home-page "https://github.com/gyscos/zstd-rs";)
-    (synopsis "Safe low-level bindings to the zstd compression library")
-    (description
-     "This package provides safe low-level bindings to the zstd compression
-library.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-zstd-safe-3
-  (package
-    (inherit rust-zstd-safe-4)
-    (name "rust-zstd-safe")
-    (version "3.0.1+zstd.1.4.9")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "zstd-safe" version))
-       (file-name (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32 "133gassn5zy4vf0hhgsff3gxv1q3nc0bzi3qrqq7n4iqv6ycm1qk"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-zstd-sys" ,rust-zstd-sys-1))))))
-
-;; TODO: Unbundle zstd.
-(define-public rust-zstd-sys-1
-  (package
-    (name "rust-zstd-sys")
-    (version "1.6.1+zstd.1.5.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "zstd-sys" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32 "0cra76lginz5k659rch7axg5nyms67yffygr3k7ic7a3lb3j0lb1"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-bindgen" ,rust-bindgen-0.58)
-        ("rust-cc" ,rust-cc-1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-pkg-config" ,rust-pkg-config-0.3))))
-    (home-page "https://github.com/gyscos/zstd-rs";)
-    (synopsis "Low-level bindings to the zstd compression library")
-    (description "This package provides low-level Rust bindings to the zstd
-compression library.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-packed-struct
+(define-public rust-xml5ever-0.16
   (package
-    (name "rust-packed-struct")
-    (version "0.3.0")
+    (name "rust-xml5ever")
+    (version "0.16.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "packed_struct" version))
+        (uri (crate-uri "xml5ever" version))
         (file-name
-         (string-append name "-" version ".tar.gz"))
+         (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-           "10b2fmxchmcigwagnhi42frj74dl02wyv0xwmbr9839qfh7gijlh"))))
-    (build-system cargo-build-system)
-    (arguments
-      `(#:cargo-inputs
-        (("rust-serde" ,rust-serde-1)
-         ("rust-serde-derive" ,rust-serde-derive-1))))
-    (home-page "http://www.hashmismatch.net/libraries/packed-struct/";)
-    (synopsis "Binary-level structure packing and unpacking generator")
-    (description "This package provides bit-level packing an unpacking
-of structs.  Tkhe library provides a meta-programming approach, using
-attributes to define fields and how they should be packed.  The resulting
-trait implementations provide safe packing, unpacking and runtime debugging
-formatters with per-field documentation generated for each structure.
-
-@itemize
-@item Plain Rust structures, decorated with attributes
-@item MSB or LSB integers of user-defined bit widths
-@item Primitive enum code generation helper
-@item MSB0 or LSB0 bit positioning
-@item Documents the field's packing table
-@item Runtime packing visualization
-@item Nested packed types
-@item Arrays of packed structures as fields
-@item Reserved fields, their bits are always 0 or 1
-@end itemize")
-    ;; User can choose either license.
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-piper-0.1
-  (package
-    (name "rust-piper")
-    (version "0.1.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "piper" version))
-       (file-name (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32 "062zdv9w7l5037g113bh7r72wmygz92ajzr0z41v3bqdd3x8nq01"))))
+         (base32
+          "0rfqys8yyigkzrqcrn5c6r10v42pwxahccyyzhc293px30w1cd4j"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #false
-       #:cargo-inputs
-       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
-        ("rust-futures-io" ,rust-futures-io-0.3)
-        ("rust-futures-sink" ,rust-futures-sink-0.3)
-        ("rust-futures-util" ,rust-futures-util-0.3))
+     `(#: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-futures" ,rust-futures-0.3))))
-    (home-page "https://crates.io/crates/piper";)
-    (synopsis "Async pipes, channels, mutexes, and more")
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-rustc-test" ,rust-rustc-test-0.3))))
+    (home-page
+     "https://github.com/servo/html5ever/blob/master/xml5ever/README.md";)
+    (synopsis "Push based streaming parser for xml")
     (description
-     "This crate provides async pipes, channels, mutexes, and more.")
+     "Push based streaming parser for xml.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-pledge-0.3
+(define-public rust-xmlparser-0.13
   (package
-    (name "rust-pledge")
-    (version "0.3.1")
+    (name "rust-xmlparser")
+    (version "0.13.3")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "pledge" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32 "1rgbnvl97ks25aanxm680687df6li6y8h3f5mvdw3806rwz8xcg2"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
-    (home-page "https://github.com/i80and/pledge-rs";)
-    (synopsis "Rust binding to OpenBSD's pledge(2) interface")
-    (description
-     "This package provides Rust bindings to OpenBSD's pledge(2) interface.")
-    (license license:expat)))
-
-(define-public rust-ptr-meta-derive-0.1
-  (package
-    (name "rust-ptr-meta-derive")
-    (version "0.1.4")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "ptr_meta_derive" version))
-       (file-name (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32 "1b69cav9wn67cixshizii0q5mlbl0lihx706vcrzm259zkdlbf0n"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1)
-        ("rust-quote" ,rust-quote-1)
-        ("rust-syn" ,rust-syn-1))))
-    (home-page "https://github.com/djkoloski/ptr_meta";)
-    (synopsis "Macros for the ptr_meta fat pointer metadata API")
-    (description "This package provides macros for the ptr_meta API.")
-    (license license:expat)))
-
-(define-public rust-ptr-meta-0.1
-  (package
-    (name "rust-ptr-meta")
-    (version "0.1.4")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "ptr_meta" version))
-       (file-name (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32 "1wd4wy0wxrcays4f1gy8gwcmxg7mskmivcv40p0hidh6xbvwqf07"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-ptr-meta-derive" ,rust-ptr-meta-derive-0.1))))
-    (home-page "https://github.com/djkoloski/ptr_meta";)
-    (synopsis "Manipulate metadata of fat pointers")
-    (description "This package allows manipulating the metadata of fat
-pointers:
-
-@itemize
-@item Naming the metadata’s type (as an associated type)
-@item Extracting metadata from a pointer
-@item Reconstructing a pointer from a data pointer and metadata
-@item Representing vtables, the metadata for trait objects, as a type with
-  some limited API.
-@end itemize
-")
-    (license license:expat)))
-
-(define-public rust-ptree-0.4
-  (package
-    (name "rust-ptree")
-    (version "0.4.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "ptree" version))
-       (file-name (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32 "0w72k0svlj8ihbf7m7ivay7rpv38xz9ad5a06isyqsiiddwq1pm0"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-ansi-term" ,rust-ansi-term-0.12)
-        ("rust-atty" ,rust-atty-0.2)
-        ("rust-config" ,rust-config-0.11)
-        ("rust-directories" ,rust-directories-4)
-        ("rust-petgraph" ,rust-petgraph-0.6)
-        ("rust-serde" ,rust-serde-1)
-        ("rust-serde-value" ,rust-serde-value-0.7)
-        ("rust-tint" ,rust-tint-1))))
-    (home-page "https://gitlab.com/Noughmad/ptree";)
-    (synopsis "Pretty-print tree-like structures")
-    (description
-     "The @code{ptree} crate supports output formatting due to a user-provided
-configuration file and/or environment variables.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-windows-0.9
-  (package
-    (name "rust-windows")
-    (version "0.9.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "windows" version))
-       (file-name (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32 "0zy9jmhkhmsng7l9qiznxpdh5ns303s875p5kf6a5q9ym0rka7rn"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-const-sha1" ,rust-const-sha1-0.2)
-        ("rust-windows-gen" ,rust-windows-gen-0.9)
-        ("rust-windows-macros" ,rust-windows-macros-0.9))))
-    (home-page "https://github.com/microsoft/windows-rs";)
-    (synopsis "Rust for Windows")
-    (description "Rust for Windows")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-windows-0.32
-  (package
-    (inherit rust-windows-0.9)
-    (name "rust-windows")
-    (version "0.32.0")
-    (source (origin
-              (method url-fetch)
-              (uri (crate-uri "windows" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1v0h5b5g1ak2f2a6gkgjqgrqkkbdcfmf02nfmmj27g4nj3dzdvgv"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-windows-implement" ,rust-windows-implement-0.32)
-        ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.32)
-        ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.32)
-        ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.32)
-        ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.32)
-        ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.32))))))
-
-(define-public rust-windows-aarch64-gnullvm-0.42
-  (package
-    (name "rust-windows-aarch64-gnullvm")
-    (version "0.42.0")
-    (source (origin
-              (method url-fetch)
-              (uri (crate-uri "windows-aarch64-gnullvm" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "17m1p753qk02r25afg31dxym4rpy7kpr0z8nwl5f1jzhyrqsmlj1"))
-              (snippet
-               '(begin
-                  (delete-file "lib/libwindows.a")))))
-    (build-system cargo-build-system)
-    (arguments
-     (list #:skip-build? #t))
-    (home-page "https://github.com/microsoft/windows-rs";)
-    (synopsis "Code gen support for the windows crate")
-    (description
-     "This package provides code gen support for the windows crate.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-windows-aarch64-msvc-0.42
-  (package
-    (name "rust-windows-aarch64-msvc")
-    (version "0.42.0")
-    (source (origin
-              (method url-fetch)
-              (uri (crate-uri "windows-aarch64-msvc" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1d6d9ny0yl5l9vvagydigvkfcphzk2aygchiccywijimb8pja3yx"))
-              (snippet
-               '(begin
-                  (delete-file "lib/windows.lib")))))
-    (build-system cargo-build-system)
-    (arguments
-     (list #:skip-build? #t))
-    (home-page "https://github.com/microsoft/windows-rs";)
-    (synopsis "Code gen support for the windows crate")
-    (description "This package provides code gen support for the windows
-crate.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-windows-aarch64-msvc-0.36
-  (package
-    (inherit rust-windows-aarch64-msvc-0.42)
-    (name "rust-windows-aarch64-msvc")
-    (version "0.36.1")
-    (source
-     (origin
-       (inherit (package-source rust-windows-aarch64-msvc-0.42))
-       (method url-fetch)
-       (uri (crate-uri "windows_aarch64_msvc" version))
-       (file-name (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32 "0ixaxs2c37ll2smprzh0xq5p238zn8ylzb3lk1zddqmd77yw7f4v"))))))
-
-(define-public rust-windows-aarch64-msvc-0.32
-  (package
-    (inherit rust-windows-aarch64-msvc-0.36)
-    (name "rust-windows-aarch64-msvc")
-    (version "0.32.0")
-    (source (origin
-              (inherit (package-source rust-windows-aarch64-msvc-0.36))
-              (method url-fetch)
-              (uri (crate-uri "windows_aarch64_msvc" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1x8bnafz15ksgpbjbgk1l1j2jx4rq4a2ylzcahb1jhy4n59jgsfq"))))))
-
-(define-public rust-windows-aarch64-msvc-0.28
-  (package
-    (inherit rust-windows-aarch64-msvc-0.32)
-    (name "rust-windows-aarch64-msvc")
-    (version "0.28.0")
-    (source (origin
-              (inherit (package-source rust-windows-aarch64-msvc-0.32))
-              (method url-fetch)
-              (uri (crate-uri "windows_aarch64_msvc" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1hpk0n2z0jzzvwlvs98b75sa4q920953nqfc119rv19nwm0mlsaj"))))))
-
-(define-public rust-windows-i686-gnu-0.42
-  (package
-    (name "rust-windows-i686-gnu")
-    (version "0.42.0")
-    (source (origin
-              (method url-fetch)
-              (uri (crate-uri "windows_i686_gnu" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1rsxdjp50nk38zfd1dxj12i2qmhpvxsm6scdq8v1d10ncygy3spv"))
-              (snippet
-               '(begin
-                  (delete-file "lib/libwindows.a")))))
-    (build-system cargo-build-system)
-    (arguments
-     (list #:skip-build? #t))
-    (home-page "https://github.com/microsoft/windows-rs";)
-    (synopsis "Code gen support for the windows crate")
-    (description
-     "This package provides code gen support for the windows crate.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-windows-i686-gnu-0.36
-  (package
-    (inherit rust-windows-i686-gnu-0.42)
-    (name "rust-windows-i686-gnu")
-    (version "0.36.1")
-    (source (origin
-              (inherit (package-source rust-windows-i686-gnu-0.42))
-              (method url-fetch)
-              (uri (crate-uri "windows_i686_gnu" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1dm3svxfzamrv6kklyda9c3qylgwn5nwdps6p0kc9x6s077nq3hq"))))))
-
-(define-public rust-windows-i686-gnu-0.32
-  (package
-    (inherit rust-windows-i686-gnu-0.36)
-    (name "rust-windows-i686-gnu")
-    (version "0.32.0")
-    (source (origin
-              (inherit (package-source rust-windows-i686-gnu-0.36))
-              (method url-fetch)
-              (uri (crate-uri "windows_i686_gnu" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "05g6kpdfxwxnw2gn1nrd7bsf5997rci0k3h3nqby168ph5l1qwba"))))))
-
-(define-public rust-windows-i686-gnu-0.28
-  (package
-    (inherit rust-windows-i686-gnu-0.32)
-    (name "rust-windows-i686-gnu")
-    (version "0.28.0")
-    (source (origin
-              (inherit (package-source rust-windows-i686-gnu-0.32))
-              (method url-fetch)
-              (uri (crate-uri "windows_i686_gnu" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "12hx7qpsjg9p7jggfcplqa3mf1mzr7k7s5ybzqwg1zmg4fn2aizm"))))))
-
-(define-public rust-windows-i686-msvc-0.42
-  (package
-    (name "rust-windows-i686-msvc")
-    (version "0.42.0")
-    (source (origin
-              (method url-fetch)
-              (uri (crate-uri "windows_i686_msvc" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "0ii2hrsdif2ms79dfiyfzm1n579jzj42ji3fpsxd57d3v9jjzhc4"))
-              (snippet
-               '(begin
-                  (delete-file "lib/windows.lib")))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "xmlparser" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1n73ymdxpdq30fgz698095zvh8k5r264rl6pcxnyyrr19nra4jqi"))))
     (build-system cargo-build-system)
-    (arguments
-     (list #:skip-build? #t))
-    (home-page "https://github.com/microsoft/windows-rs";)
-    (synopsis "Code gen support for the windows crate")
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/RazrFalcon/xmlparser";)
+    (synopsis "Pull-based, zero-allocation XML parser")
     (description
-     "This package provides code gen support for the windows crate.")
+     "@code{xmlparser} is a low-level, pull-based, zero-allocation XML 1.0
+parser.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-windows-i686-msvc-0.36
+(define-public rust-xmltree-0.10
   (package
-    (inherit rust-windows-i686-msvc-0.42)
-    (name "rust-windows-i686-msvc")
-    (version "0.36.1")
-    (source (origin
-              (inherit (package-source rust-windows-i686-msvc-0.42))
-              (method url-fetch)
-              (uri (crate-uri "windows_i686_msvc" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "097h2a7wig04wbmpi3rz1akdy4s8gslj5szsx8g2v0dj91qr3rz2"))))))
+    (name "rust-xmltree")
+    (version "0.10.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "xmltree" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1jqzwhr1a5cknflsshhhjlllmd1xi04qdkjsls2bnmv5mxgagn6p"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-indexmap" ,rust-indexmap-1)
+        ("rust-xml-rs" ,rust-xml-rs-0.8))))
+    (home-page "https://github.com/eminence/xmltree-rs";)
+    (synopsis "Parse an XML file into a simple tree-like structure")
+    (description "This package provides a small library for parsing an XML
+file into an in-memory tree structure.")
+    (license license:expat)))
 
-(define-public rust-windows-i686-msvc-0.32
+(define-public rust-xmltree-0.8
   (package
-    (inherit rust-windows-i686-msvc-0.36)
-    (name "rust-windows-i686-msvc")
-    (version "0.32.0")
-    (source (origin
-              (inherit (package-source rust-windows-i686-msvc-0.36))
-              (method url-fetch)
-              (uri (crate-uri "windows_i686_msvc" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "0wj1wi01fc8hrasbakjcq8y5a7ynw9l2mcw08svmsq823axi2v0l"))))))
+    (inherit rust-xmltree-0.10)
+    (name "rust-xmltree")
+    (version "0.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "xmltree" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0w0y0jz7lhxg05ca6ngfj0lj8sbrjh4vaqv13q7qaqkhs7lsx3pz"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-indexmap" ,rust-indexmap-1)
+        ("rust-xml-rs" ,rust-xml-rs-0.7))))))
 
-(define-public rust-windows-i686-msvc-0.28
+(define-public rust-xshell-macros-0.1
   (package
-    (inherit rust-windows-i686-msvc-0.32)
-    (name "rust-windows-i686-msvc")
-    (version "0.28.0")
-    (source (origin
-              (inherit (package-source rust-windows-i686-msvc-0.32))
-              (method url-fetch)
-              (uri (crate-uri "windows_i686_msvc" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "0r0z8s1wcdwd20azsdfilf2a6bz68xkavl990wy64hyc8f51bmai"))))))
+    (name "rust-xshell-macros")
+    (version "0.1.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "xshell-macros" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0lkym5kfq446xymimxr226kppr3ynpi9n8iif32vrfbm5i5djzng"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/matklad/xshell";)
+    (synopsis
+     "Private implementation detail of xshell crate")
+    (description
+     "This package provide a private implementation detail of xshell crate.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-windows-implement-0.32
+(define-public rust-xshell-0.1
   (package
-    (name "rust-windows-implement")
-    (version "0.32.0")
-    (source (origin
-              (method url-fetch)
-              (uri (crate-uri "windows-implement" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "0f3lnjs9rlihin9cjf9y7np1x15c0v09v0cwlw1n7c30145xmciz"))))
+    (name "rust-xshell")
+    (version "0.1.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "xshell" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1iilg7cjgz3342f3na500dp3c371jk198qh053kfy57b84dvn5gb"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-syn" ,rust-syn-1)
-        ("rust-windows-tokens" ,rust-windows-tokens-0.32))))
-    (home-page "https://github.com/microsoft/windows-rs";)
-    (synopsis "Implement macro for the windows crate")
-    (description "This package provides the implement macro for the windows
-crate.")
+       (("rust-xshell-macros" ,rust-xshell-macros-0.1))))
+    (home-page "https://github.com/matklad/xshell";)
+    (synopsis
+     "Utilities for quick shell scripting in Rust")
+    (description
+     "This package provide a utilities for quick shell scripting in Rust.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-windows-sys-0.42
+(define-public rust-xxhash-rust-0.8
   (package
-    (name "rust-windows-sys")
-    (version "0.42.0")
-    (source (origin
-              (method url-fetch)
-              (uri (crate-uri "windows-sys" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "19waf8aryvyq9pzk0gamgfwjycgzk4gnrazpfvv171cby0h1hgjs"))))
+    (name "rust-xxhash-rust")
+    (version "0.8.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "xxhash-rust" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1v9dk6shls1rsmidf2dxdi3460bn7ingqgvn5mf7prgnxmdy2xg5"))))
     (build-system cargo-build-system)
     (arguments
-     (list #:skip-build? #t
-           #:cargo-inputs
-           `(("rust-windows-aarch64-gnullvm" 
,rust-windows-aarch64-gnullvm-0.42)
-             ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.42)
-             ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.42)
-             ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.42)
-             ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.42)
-             ("rust-windows-x86-64-gnullvm" ,rust-windows-x86-64-gnullvm-0.42)
-             ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.42))))
-    (home-page "https://github.com/microsoft/windows-rs";)
-    (synopsis "Rust for Windows")
-    (description "The windows crate lets you call any Windows API past,
-present, and future using code generated on the fly directly from the metadata
-describing the API and right into your Rust package where you can call them as
-if they were just another Rust module.")
-    (license (list license:expat license:asl2.0))))
+      `(#:skip-build? #t))
+    (home-page "https://github.com/DoumanAsh/xxhash-rust";)
+    (synopsis "Implementation of xxHash in Rust")
+    (description "This package provides an implementation of the xxHash
+algorithm in Rust.")
+    (license license:boost1.0)))
 
-(define-public rust-windows-sys-0.36
+(define-public rust-xz2-0.1
   (package
-    (inherit rust-windows-sys-0.42)
-    (name "rust-windows-sys")
-    (version "0.36.1")
-    (source (origin
-              (method url-fetch)
-              (uri (crate-uri "windows-sys" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1lmqangv0zg1l46xiq7rfnqwsx8f8m52mqbgg2mrx7x52rd1a17a"))))
+    (name "rust-xz2")
+    (version "0.1.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "xz2" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0v4jb0193gx8s1kvd2ajsgh0ffmwhqhfmrrw1n1h2z7w6jgqcyf1"))))
+    (build-system cargo-build-system)
     (arguments
-     (list #:skip-build? #t
-           #:cargo-inputs
-           `(("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.36)
-             ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.36)
-             ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.36)
-             ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.36)
-             ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.36))))))
+     `(#:tests? #f  ; Not all files included in the tarball.
+       #:cargo-inputs
+       (("rust-futures" ,rust-futures-0.1)
+        ("rust-lzma-sys" ,rust-lzma-sys-0.1)
+        ("rust-tokio-io" ,rust-tokio-io-0.1))
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.7)
+        ("rust-rand" ,rust-rand-0.5)
+        ("rust-tokio-core" ,rust-tokio-core-0.1))))
+    (native-inputs
+     (list pkg-config xz))
+    (home-page "https://github.com/alexcrichton/xz2-rs";)
+    (synopsis "Rust bindings to liblzma")
+    (description "This package provides Rust bindings to liblzma providing
+Read/Write streams as well as low-level in-memory encoding and decoding.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-windows-sys-0.28
+(define-public rust-yaml-rust-0.4
   (package
-    (inherit rust-windows-sys-0.36)
-    (name "rust-windows-sys")
-    (version "0.28.0")
+    (name "rust-yaml-rust")
+    (version "0.4.5")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "windows-sys" version))
+       (uri (crate-uri "yaml-rust" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "1xkghf343nll9i1yvha1a4spf53mnb5knzmnqj9adgsw5mh3kjl2"))))
+        (base32 "118wbqrr4n6wgk5rjjnlrdlahawlxc1bdsx146mwk8f79in97han"))))
+    (build-system cargo-build-system)
     (arguments
-     (list #:skip-build? #t
-           #:cargo-inputs
-           `(("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.28)
-             ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.28)
-             ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.28)
-             ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.28)
-             ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.28))))))
+     `(#:cargo-inputs
+       (("rust-linked-hash-map" ,rust-linked-hash-map-0.5))
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.9))))
+    (home-page "https://chyh1990.github.io/yaml-rust/";)
+    (synopsis "YAML 1.2 parser for Rust")
+    (description "This package is a YAML 1.2 parser for Rust.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-windows-gen-0.9
+(define-public rust-yaml-rust-0.3
   (package
-    (name "rust-windows-gen")
-    (version "0.9.1")
+    (inherit rust-yaml-rust-0.4)
+    (name "rust-yaml-rust")
+    (version "0.3.5")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "windows_gen" version))
+       (uri (crate-uri "yaml-rust" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0lh492px26rrna0harikyy4p7nk520pw2lv0dczp4n2xa6y4s5al"))))
-    (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t #:cargo-inputs (("rust-syn" ,rust-syn-1))))
-    (home-page "https://github.com/microsoft/windows-rs";)
-    (synopsis "Code gen support for the windows crate")
-    (description "Code gen support for the windows crate")
-    (license (list license:expat license:asl2.0))))
+        (base32
+         "14m9dzwb8fb05f4jjb4nqp49rxd9c5vcmwpv3a04d2y5iphncqz6"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-clippy" ,rust-clippy-0.0)
+        ("rust-linked-hash-map" ,rust-linked-hash-map-0.3))))))
 
-(define-public rust-windows-macros-0.9
+(define-public rust-yansi-0.5
   (package
-    (name "rust-windows-macros")
-    (version "0.9.1")
+    (name "rust-yansi")
+    (version "0.5.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "windows_macros" version))
+       (uri (crate-uri "yansi" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0xivsg3lf023hs83xiab2k40fmrl11nbihcdrdkc8pc4ab398xqg"))))
+        (base32 "0wdx8syhc61lphmgw5cw1vq73isi4szjqriz1k07z19r3r59ziwz"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-syn" ,rust-syn-1) ("rust-windows-gen" ,rust-windows-gen-0.9))))
-    (home-page "https://github.com/microsoft/windows-rs";)
-    (synopsis "Macros for the windows crate")
-    (description "Macros for the windows crate")
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/SergioBenitez/yansi";)
+    (synopsis "Simple ANSI terminal color painting library")
+    (description
+     "This package provides a dead simple ANSI terminal color painting
+library.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-windows-tokens-0.32
+(define-public rust-yeslogic-fontconfig-sys-3
   (package
-    (name "rust-windows-tokens")
-    (version "0.32.0")
+    (name "rust-yeslogic-fontconfig-sys")
+    (version "3.2.0")
     (source (origin
               (method url-fetch)
-              (uri (crate-uri "windows-tokens" version))
+              (uri (crate-uri "yeslogic-fontconfig-sys" version))
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1rrqbxjkyk6h6p6jjzbcxr0mhqbz0yfndd2s2dsgmbl75f4yy7gn"))))
+                "11n3126s717rjqxhf5js3hc0qq8qv7jbicbiyszyp5yk6s8ddfzj"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t))
-    (home-page "https://github.com/microsoft/windows-rs";)
-    (synopsis "Code gen support for the windows crate")
-    (description "This package provides code generation support for the
-windows crate.")
-    (license (list license:expat license:asl2.0))))
+     `(#:cargo-inputs
+       (("rust-const-cstr" ,rust-const-cstr-0.3)
+        ("rust-dlib" ,rust-dlib-0.5)
+        ("rust-once-cell" ,rust-once-cell-1)
+        ("rust-pkg-config" ,rust-pkg-config-0.3))))
+    (native-inputs
+     (list pkg-config))
+    (inputs
+     (list fontconfig))
+    (home-page "https://github.com/yeslogic/fontconfig-rs";)
+    (synopsis "Raw bindings to Fontconfig without a vendored C library")
+    (description
+     "This package provides a wrapper around the @code{Fontconfig} library,
+for locating fonts.")
+    (license license:expat)))
 
-(define-public rust-windows-x86-64-gnu-0.42
+(define-public rust-yeslogic-fontconfig-sys-2
   (package
-    (name "rust-windows-x86-64-gnu")
-    (version "0.42.0")
+    (inherit rust-yeslogic-fontconfig-sys-3)
+    (name "rust-yeslogic-fontconfig-sys")
+    (version "2.11.2")
     (source (origin
               (method url-fetch)
-              (uri (crate-uri "windows_x86_64_gnu" version))
+              (uri (crate-uri "yeslogic-fontconfig-sys" version))
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1vdh8k5a4m6pfkc5gladqznyqxgapkjm0qb8iwqvqb1nnlhinyxz"))
-              (snippet
-               '(begin
-                  (delete-file "lib/libwindows.a")))))
+                "13bzwn12dmxnc8iqd6za6q3j2ililnqjcplnlrfblbca4ia73r1q"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-const-cstr" ,rust-const-cstr-0.3)
+        ("rust-pkg-config" ,rust-pkg-config-0.3))))))
+
+(define-public rust-zbase32-0.1
+  (package
+    (name "rust-zbase32")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "zbase32" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0gz3nmiaidscb5c85rh3qxi8i584gz5xm3amlxqminl8jq27k40g"))))
     (build-system cargo-build-system)
     (arguments
-     (list #:skip-build? #t))
-    (home-page "https://github.com/microsoft/windows-rs";)
-    (synopsis "Code gen support for the windows crate")
-    (description
-     "This package provides code gen support for the windows crate.")
-    (license (list license:expat license:asl2.0))))
+     `(#:skip-build? #t ;; dependency cypthon not yet availalbe
+       #:cargo-development-inputs
+       (;; ("rust-cpython" ,rust-cpython-0.2)  TODO
+        ("rust-quickcheck" ,rust-quickcheck-0.7)
+        ("rust-rand" ,rust-rand-0.6))))
+    (home-page "https://gitlab.com/pgerber/zbase32-rust";)
+    (synopsis "Implementation of zbase32")
+    (description "This package provides an implementation of zbase32.")
+    (license license:lgpl3+)))
 
-(define-public rust-windows-x86-64-gnu-0.36
+(define-public rust-zerocopy-0.6
   (package
-    (inherit rust-windows-x86-64-gnu-0.42)
-    (name "rust-windows-x86-64-gnu")
-    (version "0.36.1")
+    (name "rust-zerocopy")
+    (version "0.6.1")
     (source (origin
-              (inherit (package-source rust-windows-x86-64-gnu-0.42))
               (method url-fetch)
-              (uri (crate-uri "windows_x86_64_gnu" version))
+              (uri (crate-uri "zerocopy" version))
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1qfrck3jnihymfrd01s8260d4snql8ks2p8yaabipi3nhwdigkad"))))))
+                "0dpj4nd9v56wy93ahjkp95znjzj91waqvidqch8gxwdwq661hbrk"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1)
+        ("rust-zerocopy-derive" ,rust-zerocopy-derive-0.3))))
+    (home-page "https://github.com/google/zerocopy";)
+    (synopsis "Utilities for zero-copy parsing and serialization")
+    (description "Utilities for zero-copy parsing and serialization")
+    (license license:bsd-2)))
 
-(define-public rust-windows-x86-64-gnu-0.32
+(define-public rust-zerocopy-0.3
   (package
-    (inherit rust-windows-x86-64-gnu-0.36)
-    (name "rust-windows-x86-64-gnu")
-    (version "0.32.0")
-    (source (origin
-              (inherit (package-source rust-windows-x86-64-gnu-0.36))
-              (method url-fetch)
-              (uri (crate-uri "windows_x86_64_gnu" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1g34xhcayig9sndq3555w95q6lr7jr839zxv6l365ijlfhpv24n9"))))))
+    (inherit rust-zerocopy-0.6)
+    (name "rust-zerocopy")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "zerocopy" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "00nbb6yal8f74bkpn7msjcnhisimw8s5777a63206rfnn3br45zh"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1)
+        ("rust-zerocopy-derive" ,rust-zerocopy-derive-0.2))))
+    (license license:bsd-3)))
 
-(define-public rust-windows-x86-64-gnu-0.28
+(define-public rust-zerocopy-derive-0.3
   (package
-    (inherit rust-windows-x86-64-gnu-0.32)
-    (name "rust-windows-x86-64-gnu")
-    (version "0.28.0")
+    (name "rust-zerocopy-derive")
+    (version "0.3.2")
     (source (origin
-              (inherit (package-source rust-windows-x86-64-gnu-0.32))
               (method url-fetch)
-              (uri (crate-uri "windows_x86_64_gnu" version))
+              (uri (crate-uri "zerocopy-derive" version))
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0m79bhdr54g4h4wh2q8wkjlkypb5wvl7xzhc2csiaqb5yl4z8cdw"))))))
+                "18qr7dqlj89v1xl1g58l2xd6jidv0sbccscgl131gpppba0yc1b5"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-syn" ,rust-syn-1)
+        ("rust-synstructure" ,rust-synstructure-0.12))))
+    (home-page "https://github.com/google/zerocopy";)
+    (synopsis "Custom derive for traits from the zerocopy Rust crate")
+    (description
+     "This package provides custom derive for traits from the zerocopy Rust
+crate.")
+    (license license:bsd-2)))
+
+(define-public rust-zerocopy-derive-0.2
+  (package
+    (inherit rust-zerocopy-derive-0.3)
+    (name "rust-zerocopy-derive")
+    (version "0.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "zerocopy-derive" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1594sf9wwgpbavl1hb1avyz6n7km9apm8afc03x9y8h3spk3k76w"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-syn" ,rust-syn-1)
+        ("rust-synstructure" ,rust-synstructure-0.12))))
+    (license license:bsd-3)))
+
+(define-public rust-zeroize-1
+  (package
+    (name "rust-zeroize")
+    (version "1.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "zeroize" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1nq8zq5h7ad6kahdk0fxw4fdm0ibycj061jngxqkqchw67n2l8nc"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-zeroize-derive" ,rust-zeroize-derive-1))))
+    (home-page "https://github.com/iqlusioninc/crates/";)
+    (synopsis "Securely clear secrets from memory")
+    (description
+     "Zeroize securely clears secrets from memory with a simple trait built on
+stable Rust primitives, which guarantee memory is zeroed using an operation
+will not be ``optimized away'' by the compiler.  It uses a portable pure Rust
+implementation that works everywhere, even WASM!")
+    (license (list license:asl2.0 license:expat))))
+
+(define-public rust-zeroize-derive-1
+  (package
+    (name "rust-zeroize-derive")
+    (version "1.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "zeroize-derive" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1nzdqyryjnqcrqz0vhddpkd8sybhn0bd8rbd6l33rdhhxwzz3s41"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1)
+        ("rust-synstructure" ,rust-synstructure-0.12))))
+    (home-page "https://github.com/iqlusioninc/crates/";)
+    (synopsis "Custom derive support for zeroize")
+    (description "This crate provides custom derive support for Zeroize.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-windows-x86-64-gnullvm-0.42
+(define-public rust-zip-0.5
   (package
-    (name "rust-windows-x86-64-gnullvm")
-    (version "0.42.0")
-    (source (origin
-              (method url-fetch)
-              (uri (crate-uri "windows-x86-64-gnullvm" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "0a10rns9b07m9snlr97iqxq42zi9ai547gb5fqlv7vihpb92bm89"))
-              (snippet
-               '(begin
-                  (delete-file "lib/libwindows.a")))))
+    (name "rust-zip")
+    (version "0.5.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "zip" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0588z88sj37nj1clis1rf4fh794av0hwaiaihfrin9b19n24iawk"))))
     (build-system cargo-build-system)
-    (arguments (list #:skip-build? #t))
-    (home-page "https://github.com/microsoft/windows-rs";)
-    (synopsis "Code gen support for the windows crate")
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1)
+        ("rust-bzip2" ,rust-bzip2-0.4)
+        ("rust-crc32fast" ,rust-crc32fast-1)
+        ("rust-flate2" ,rust-flate2-1)
+        ("rust-thiserror" ,rust-thiserror-1)
+        ("rust-time" ,rust-time-0.1))))
+    (home-page "https://github.com/mvdnes/zip-rs.git";)
+    (synopsis
+     "Library to support the reading and writing of zip files")
     (description
-     "This package provides code gen support for the windows crate.")
-    (license (list license:expat license:asl2.0))))
+     "Library to support the reading and writing of zip files.")
+    (license license:expat)))
 
-(define-public rust-windows-x86-64-msvc-0.42
+(define-public rust-zoneinfo-compiled-0.5
   (package
-    (name "rust-windows-x86-64-msvc")
-    (version "0.42.0")
-    (source (origin
-              (method url-fetch)
-              (uri (crate-uri "windows_x86_64_msvc" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1xdnvhg8yj4fgjy0vkrahq5cbgfpcd7ak2bdv8s5lwjrazc0j07l"))
-              (snippet
-               '(begin
-                  (delete-file "lib/windows.lib")))))
+    (name "rust-zoneinfo-compiled")
+    (version "0.5.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "zoneinfo_compiled" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1pm50w4vv34r08mrajfvyhc1254gv8zv4q6p7gs315c9bvkfpyv4"))))
     (build-system cargo-build-system)
-    (arguments (list #:skip-build? #t))
-    (home-page "https://github.com/microsoft/windows-rs";)
-    (synopsis "Code gen support for the windows crate")
+    (arguments
+     `(#:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1)
+        ("rust-datetime" ,rust-datetime-0.5))))
+    (home-page "https://github.com/rust-datetime/zoneinfo-compiled/";)
+    (synopsis "Library for parsing compiled zoneinfo files")
     (description
-     "This package provides code gen support for the windows crate.")
-    (license (list license:expat license:asl2.0))))
+     "This package provides a library for parsing compiled zoneinfo files.")
+    (license license:expat)))
 
-(define-public rust-windows-x86-64-msvc-0.36
+(define-public rust-zstd-0.9
   (package
-    (inherit rust-windows-x86-64-msvc-0.42)
-    (name "rust-windows-x86-64-msvc")
-    (version "0.36.1")
-    (source (origin
-              (inherit (package-source rust-windows-x86-64-msvc-0.42))
-              (method url-fetch)
-              (uri (crate-uri "windows_x86_64_msvc" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "103n3xijm5vr7qxr1dps202ckfnv7njjnnfqmchg8gl5ii5cl4f8"))))))
+    (name "rust-zstd")
+    (version "0.9.0+zstd.1.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "zstd" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1k9caa048d8x9asksjaf62xkpv0m1wsmw94h29k3csybq9frlx07"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-zstd-safe" ,rust-zstd-safe-4))))
+    (home-page "https://github.com/gyscos/zstd-rs";)
+    (synopsis "Binding to the zstd compression library")
+    (description
+     "This package provides a binding to the Zstd compression library.")
+    (license license:expat)))
 
-(define-public rust-windows-x86-64-msvc-0.32
+(define-public rust-zstd-0.8
   (package
-    (inherit rust-windows-x86-64-msvc-0.36)
-    (name "rust-windows-x86-64-msvc")
-    (version "0.32.0")
-    (source (origin
-              (inherit (package-source rust-windows-x86-64-msvc-0.36))
-              (method url-fetch)
-              (uri (crate-uri "windows_x86_64_msvc" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "05l392h518dxn808dc1zkv6d0r9z38q68qqc0ix9fs9741v28jjh"))))))
+    (inherit rust-zstd-0.9)
+    (name "rust-zstd")
+    (version "0.8.3+zstd.1.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "zstd" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1gy2rc3hmqpzfkh9f5d395lhwjk8qwpll3gb73bznn2agd60k9sy"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-futures" ,rust-futures-0.1)
+        ("rust-tokio-io" ,rust-tokio-io-0.1)
+        ("rust-zstd-safe" ,rust-zstd-safe-4))))))
 
-(define-public rust-windows-x86-64-msvc-0.28
+(define-public rust-zstd-0.6
   (package
-    (inherit rust-windows-x86-64-msvc-0.32)
-    (name "rust-windows-x86-64-msvc")
-    (version "0.28.0")
-    (source (origin
-              (inherit (package-source rust-windows-x86-64-msvc-0.32))
-              (method url-fetch)
-              (uri (crate-uri "windows_x86_64_msvc" version))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "17z8q25pd3dp6b84qm9nlayd3ym78sbryxlqmgcxvz9vpmy8qarz"))))))
+    (inherit rust-zstd-0.8)
+    (name "rust-zstd")
+    (version "0.6.1+zstd.1.4.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "zstd" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "18riavdrq4cy10ygvrxby87nxyxbazpy53qvavc0bwlqyxvmxrax"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-futures" ,rust-futures-0.1)
+        ("rust-tokio-io" ,rust-tokio-io-0.1)
+        ("rust-zstd-safe" ,rust-zstd-safe-3))))))
 
-(define-public rust-xmltree-0.10
+(define-public rust-zstd-safe-4
   (package
-    (name "rust-xmltree")
-    (version "0.10.3")
+    (name "rust-zstd-safe")
+    (version "4.1.1+zstd.1.5.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "xmltree" version))
+       (uri (crate-uri "zstd-safe" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "1jqzwhr1a5cknflsshhhjlllmd1xi04qdkjsls2bnmv5mxgagn6p"))))
+        (base32 "0yghr94blhnfigzsynm2km3g93886z49612y7rh07c4kqpr90769"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-indexmap" ,rust-indexmap-1)
-        ("rust-xml-rs" ,rust-xml-rs-0.8))))
-    (home-page "https://github.com/eminence/xmltree-rs";)
-    (synopsis "Parse an XML file into a simple tree-like structure")
-    (description "This package provides a small library for parsing an XML
-file into an in-memory tree structure.")
-    (license license:expat)))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-zstd-sys" ,rust-zstd-sys-1))))
+    (home-page "https://github.com/gyscos/zstd-rs";)
+    (synopsis "Safe low-level bindings to the zstd compression library")
+    (description
+     "This package provides safe low-level bindings to the zstd compression
+library.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-xmltree-0.8
+(define-public rust-zstd-safe-3
   (package
-    (inherit rust-xmltree-0.10)
-    (name "rust-xmltree")
-    (version "0.8.0")
+    (inherit rust-zstd-safe-4)
+    (name "rust-zstd-safe")
+    (version "3.0.1+zstd.1.4.9")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "xmltree" version))
+       (uri (crate-uri "zstd-safe" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "133gassn5zy4vf0hhgsff3gxv1q3nc0bzi3qrqq7n4iqv6ycm1qk"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-zstd-sys" ,rust-zstd-sys-1))))))
+
+;; TODO: Unbundle zstd.
+(define-public rust-zstd-sys-1
+  (package
+    (name "rust-zstd-sys")
+    (version "1.6.1+zstd.1.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "zstd-sys" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0w0y0jz7lhxg05ca6ngfj0lj8sbrjh4vaqv13q7qaqkhs7lsx3pz"))))
+        (base32 "0cra76lginz5k659rch7axg5nyms67yffygr3k7ic7a3lb3j0lb1"))))
+    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-indexmap" ,rust-indexmap-1)
-        ("rust-xml-rs" ,rust-xml-rs-0.7))))))
+       (("rust-bindgen" ,rust-bindgen-0.58)
+        ("rust-cc" ,rust-cc-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-pkg-config" ,rust-pkg-config-0.3))))
+    (home-page "https://github.com/gyscos/zstd-rs";)
+    (synopsis "Low-level bindings to the zstd compression library")
+    (description "This package provides low-level Rust bindings to the zstd
+compression library.")
+    (license (list license:expat license:asl2.0))))
 
 ;;;
 ;;; Avoid adding new packages to the end of this file. To reduce the chances



reply via email to

[Prev in Thread] Current Thread [Next in Thread]