guix-commits
[Top][All Lists]
Advanced

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

branch wip-rav1e updated: WIP: Sort crates alphabetically and deduplicat


From: guix-commits
Subject: branch wip-rav1e updated: WIP: Sort crates alphabetically and deduplicate.
Date: Sun, 05 Apr 2020 16:20:28 -0400

This is an automated email from the git hooks/post-receive script.

efraim pushed a commit to branch wip-rav1e
in repository guix.

The following commit(s) were added to refs/heads/wip-rav1e by this push:
     new df4a8a8  WIP: Sort crates alphabetically and deduplicate.
df4a8a8 is described below

commit df4a8a8ad1f046a1af54fb69a067a6e97eb12b9c
Author: Efraim Flashner <address@hidden>
AuthorDate: Sun Apr 5 23:20:08 2020 +0300

    WIP: Sort crates alphabetically and deduplicate.
---
 gnu/packages/crates-io.scm | 22532 +++++++++++++++++++------------------------
 gnu/packages/rust-apps.scm |    69 +-
 2 files changed, 9976 insertions(+), 12625 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 897098c..9724684 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -72,6 +72,40 @@
 library in Rust.")
     (license license:expat)))
 
+(define-public rust-addr2line-0.11
+  (package
+    (name "rust-addr2line")
+    (version "0.11.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "addr2line" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0sk5g8cb2yynlcm0wcqff9l9c9ml69rqgfrrbii0ybgdc236jkhw"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
+         ("rust-object" ,rust-object-0.17)
+         ("rust-fallible-iterator"
+          ,rust-fallible-iterator-0.2)
+         ("rust-cpp-demangle" ,rust-cpp-demangle-0.2)
+         ("rust-gimli" ,rust-gimli-0.20)
+         ("rust-smallvec" ,rust-smallvec-1)
+         ("rust-lazycell" ,rust-lazycell-1.2))))
+    (home-page
+      "https://github.com/gimli-rs/addr2line";)
+    (synopsis
+      "A cross-platform symbolication library written in Rust, using `gimli`")
+    (description
+      "This package provides a cross-platform symbolication library written in 
Rust, using `gimli`")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-addr2line-0.9
   (package
     (name "rust-addr2line")
@@ -136,6 +170,37 @@ the Rust programming language.")
     (license (list license:bsd-3
                    license:zlib))))
 
+(define-public rust-afl-0.5
+  (package
+    (name "rust-afl")
+    (version "0.5.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "afl" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0azpi917l8nhvx25n2v670nvkxkrhcwmddfi85qnr6kchmi6y946"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-rustc-version" ,rust-rustc-version-0.2)
+         ("rust-rustc-version" ,rust-rustc-version-0.2)
+         ("rust-cc" ,rust-cc-1.0)
+         ("rust-xdg" ,rust-xdg-2.2)
+         ("rust-xdg" ,rust-xdg-2.2)
+         ("rust-clap" ,rust-clap-2))))
+    (home-page "https://github.com/rust-fuzz/afl.rs";)
+    (synopsis
+      "Fuzzing Rust code with american-fuzzy-lop")
+    (description
+      "Fuzzing Rust code with american-fuzzy-lop")
+    (license license:asl2.0)))
+
 (define-public rust-afl-0.4
   (package
     (name "rust-afl")
@@ -170,7 +235,7 @@ the Rust programming language.")
 (define-public rust-aho-corasick-0.7
   (package
     (name "rust-aho-corasick")
-    (version "0.7.8")
+    (version "0.7.10")
     (source
      (origin
        (method url-fetch)
@@ -179,10 +244,10 @@ the Rust programming language.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "048q5vr1qac4lf90z80lw8kcya6qmlxw857xhwxsssk832jdafkl"))))
+         "1nka9509afjgal6lpymn8w2lq11dmjwxs8yjcmzys966if5l05l7"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2.2))
+     `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2.3))
        #:cargo-development-inputs
        (("rust-doc-comment" ,rust-doc-comment-0.3))))
     (home-page "https://github.com/BurntSushi/aho-corasick";)
@@ -450,6 +515,31 @@ text or blue underlined text, on ANSI terminals.")
 @code{std::error::Error}.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-aom-sys-0.1
+  (package
+    (name "rust-aom-sys")
+    (version "0.1.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "aom-sys" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0ix3djcf84kk53h6fac73n7jc614745n7kbmikxwi3s73b6vzgsr"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-bindgen" ,rust-bindgen-0.51)
+         ("rust-metadeps" ,rust-metadeps-1.1))))
+    (home-page "https://github.com/rust-av/aom-rs";)
+    (synopsis "FFI bindings to aom")
+    (description "FFI bindings to aom")
+    (license license:expat)))
+
 (define-public rust-approx-0.3
   (package
     (name "rust-approx")
@@ -492,6 +582,29 @@ text or blue underlined text, on ANSI terminals.")
          "153awzwywmb61xg857b80l63b1x6hifx2pha7lxf6fck9qxwraq8"))))
     (arguments '())))
 
+(define-public rust-arbitrary-0.2
+  (package
+    (name "rust-arbitrary")
+    (version "0.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "arbitrary" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1i3fhcdyjq4isn22xx2svmpfr5hwyzi0wavbm07fs8i2dv5pdkv4"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page
+      "https://github.com/nagisa/rust_arbitrary/";)
+    (synopsis
+      "The trait for generating structured data from unstructured data")
+    (description
+      "The trait for generating structured data from unstructured data")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-arc-swap-0.4
   (package
     (name "rust-arc-swap")
@@ -547,6 +660,35 @@ text or blue underlined text, on ANSI terminals.")
         ("rust-proptest" ,rust-proptest-0.9)
         ("rust-version-sync" ,rust-version-sync-0.8))))))
 
+(define-public rust-arg-enum-proc-macro-0.3
+  (package
+    (name "rust-arg-enum-proc-macro")
+    (version "0.3.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "arg_enum_proc_macro" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "021rr6j3n031ynfbm7kwb3j3bxvbsz40n0nqi78k47d3p92rihcv"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+         ("rust-syn" ,rust-syn-1.0)
+         ("rust-quote" ,rust-quote-1.0))))
+    (home-page
+      "https://github.com/lu-zero/arg_enum_proc_macro";)
+    (synopsis
+      "A procedural macro compatible with clap arg_enum")
+    (description
+      "This package provides a procedural macro compatible with clap arg_enum")
+    (license license:expat)))
+
 (define-public rust-argon2rs-0.2
   (package
     (name "rust-argon2rs")
@@ -638,7 +780,7 @@ ArrayVec and ArrayString.")
   (package
     (inherit rust-arrayvec-0.5)
     (name "rust-arrayvec")
-    (version "0.4.10")
+    (version "0.4.12")
     (source
      (origin
        (method url-fetch)
@@ -647,7 +789,7 @@ ArrayVec and ArrayString.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0wcch3ca9qvkixgdbd2afrv1xa27l83vpraf7frsh9l8pivgpiwj"))))
+         "1fdiv5m627gh6flp4mpmi1mh647imm9x423licsr11psz97d97yd"))))
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
@@ -658,6 +800,34 @@ ArrayVec and ArrayString.")
         ("rust-matches" ,rust-matches-0.1)
         ("rust-serde-test" ,rust-serde-test-1.0))))))
 
+(define-public rust-ascii-1.0
+  (package
+    (name "rust-ascii")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ascii" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0281gc828q4j692gb66jfdr5k16gyszgqflylh0pp30rllv63xdv"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-serde" ,rust-serde-1.0)
+         ("rust-serde-test" ,rust-serde-test-1.0))))
+    (home-page
+      "https://github.com/tomprogrammer/rust-ascii";)
+    (synopsis
+      "ASCII-only equivalents to `char`, `str` and `String`.")
+    (description
+      "ASCII-only equivalents to `char`, `str` and `String`.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-ascii-0.9
   (package
     (name "rust-ascii")
@@ -733,7 +903,7 @@ ArrayVec and ArrayString.")
 (define-public rust-atty-0.2
   (package
     (name "rust-atty")
-    (version "0.2.13")
+    (version "0.2.14")
     (source
       (origin
         (method url-fetch)
@@ -741,12 +911,13 @@ ArrayVec and ArrayString.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "140sswp1bwqwc4zk80bxkbnfb3g936hgrb77g9g0k1zcld3wc0qq"))))
+          "1s7yslcs6a28c5vz7jwj63lkfgyx8mx99fdirlhi9lbhhzhrpcyr"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
+       (("rust-hermit-abi" ,rust-hermit-abi-0.1)
+        ("rust-libc" ,rust-libc-0.2)
         ("rust-winapi" ,rust-winapi-0.3))))
     (home-page "https://github.com/softprops/atty";)
     (synopsis "Simple interface for querying atty")
@@ -827,7 +998,7 @@ in Rust.")
 (define-public rust-backtrace-0.3
   (package
     (name "rust-backtrace")
-    (version "0.3.32")
+    (version "0.3.46")
     (source
      (origin
        (method url-fetch)
@@ -836,18 +1007,18 @@ in Rust.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1rgsaha3b6wxh564s4jqn5hl5pkmg214blyjjs1svafib190zd8q"))))
+         "17hh1vrhfd01qpjilrdpy7q0lf2j2qv36achpg37q92rff4r5rmi"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-addr2line" ,rust-addr2line-0.9)
+       (("rust-addr2line" ,rust-addr2line-0.11)
         ("rust-backtrace-sys" ,rust-backtrace-sys-0.1)
         ("rust-cfg-if" ,rust-cfg-if-0.1)
         ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
         ("rust-cpp-demangle" ,rust-cpp-demangle-0.2)
         ("rust-findshlibs" ,rust-findshlibs-0.5)
-        ("rust-goblin" ,rust-goblin-0.0)
+        ("rust-goblin" ,rust-goblin-0.2)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-memmap" ,rust-memmap-0.7)
         ("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
@@ -866,7 +1037,7 @@ trace (backtrace) at runtime in a Rust program.")
 (define-public rust-backtrace-sys-0.1
   (package
     (name "rust-backtrace-sys")
-    (version "0.1.32")
+    (version "0.1.35")
     (source
       (origin
         (method url-fetch)
@@ -874,16 +1045,15 @@ trace (backtrace) at runtime in a Rust program.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "14c406z8bdmms8a5l8cv79jfkz1mk10qk5p97izf4vai53qparax"))))
+          "066iviphi72mx9hd3njzsplk5v45jhi10mrccbbyij391ahsps3x"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
         ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
-        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0))
-       #:cargo-development-inputs
-       (("rust-cc" ,rust-cc-1.0))))
+        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)
+        ("rust-cc" ,rust-cc-1.0))))
     (home-page "https://github.com/rust-lang/backtrace-rs";)
     (synopsis "Bindings to the libbacktrace gcc library")
     (description
@@ -983,6 +1153,62 @@ and no more (caveat: black_box is still missing!).")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-better-panic-0.2
+  (package
+    (name "rust-better-panic")
+    (version "0.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "better-panic" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0xl48v6pd9ys7wp0ni62i6q73xpd1nhf92z09sjc9n3lrj0ac4ix"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-backtrace" ,rust-backtrace-0.3)
+         ("rust-console" ,rust-console-0.9)
+         ("rust-syntect" ,rust-syntect-3.3))))
+    (home-page
+      "https://github.com/mitsuhiko/better-panic";)
+    (synopsis
+      "Pretty panic backtraces inspired by Python's tracebacks.")
+    (description
+      "Pretty panic backtraces inspired by Python's tracebacks.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-bincode-1.2
+  (package
+    (name "rust-bincode")
+    (version "1.2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "bincode" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1gvxm3n67xv1874fwxmnlircdlphlk1hcw75ykrrnw9l2nky4lsp"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-serde" ,rust-serde-1.0)
+         ("rust-byteorder" ,rust-byteorder-1.3))))
+    (home-page "https://github.com/servo/bincode";)
+    (synopsis
+      "A binary serialization / deserialization strategy that uses Serde for 
transforming structs into bytes and vice versa!")
+    (description
+      "This package provides a binary serialization / deserialization strategy 
that uses Serde for transforming structs into bytes and vice versa!")
+    (license license:expat)))
+
 (define-public rust-bincode-1.1
   (package
     (name "rust-bincode")
@@ -1014,26 +1240,111 @@ and no more (caveat: black_box is still missing!).")
 that uses Serde for transforming structs into bytes and vice versa!")
     (license license:expat)))
 
-(define-public rust-bindgen-0.50
+(define-public rust-bindgen-0.52
   (package
     (name "rust-bindgen")
-    (version "0.50.0")
+    (version "0.52.0")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "bindgen" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1k4n1d002vrfn1mlpww3ib7f275yn4rpxfwkqpr9bym27zg17ab5"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-cexpr" ,rust-cexpr-0.3)
-        ("rust-cfg-if" ,rust-cfg-if-0.1)
-        ("rust-clang-sys" ,rust-clang-sys-0.28)
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "bindgen" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0mzy2gjiaggl602yn4a11xzrxfj18kl7pwqa5yv32njkxd257j7i"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-shlex" ,rust-shlex-0.1)
+         ("rust-cfg-if" ,rust-cfg-if-0.1)
+         ("rust-peeking-take-while"
+          ,rust-peeking-take-while-0.1)
+         ("rust-clang-sys" ,rust-clang-sys-0.28)
+         ("rust-cexpr" ,rust-cexpr-0.3)
+         ("rust-log" ,rust-log-0.4)
+         ("rust-env-logger" ,rust-env-logger-0.7)
+         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+         ("rust-quote" ,rust-quote-1.0)
+         ("rust-rustc-hash" ,rust-rustc-hash-1.1)
+         ("rust-bitflags" ,rust-bitflags-1)
+         ("rust-lazycell" ,rust-lazycell-1.2)
+         ("rust-regex" ,rust-regex-1.3)
+         ("rust-lazy-static" ,rust-lazy-static-1.4)
+         ("rust-clap" ,rust-clap-2)
+         ("rust-which" ,rust-which-3.1))))
+    (home-page
+      "https://rust-lang.github.io/rust-bindgen/";)
+    (synopsis
+      "Automatically generates Rust FFI bindings to C and C++ libraries.")
+    (description
+      "Automatically generates Rust FFI bindings to C and C++ libraries.")
+    (license license:bsd-3)))
+
+(define-public rust-bindgen-0.51
+  (package
+    (name "rust-bindgen")
+    (version "0.51.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "bindgen" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0x9gndlnwmxsihxvsc3izyyss7g8b2djn0daafshj1gcy69i7mzb"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-shlex" ,rust-shlex-0.1)
+         ("rust-cfg-if" ,rust-cfg-if-0.1)
+         ("rust-peeking-take-while"
+          ,rust-peeking-take-while-0.1)
+         ("rust-clang-sys" ,rust-clang-sys-0.28)
+         ("rust-cexpr" ,rust-cexpr-0.3)
+         ("rust-log" ,rust-log-0.4)
+         ("rust-env-logger" ,rust-env-logger-0.6)
+         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+         ("rust-quote" ,rust-quote-1.0)
+         ("rust-rustc-hash" ,rust-rustc-hash-1.1)
+         ("rust-bitflags" ,rust-bitflags-1)
+         ("rust-regex" ,rust-regex-1.3)
+         ("rust-lazy-static" ,rust-lazy-static-1.4)
+         ("rust-clap" ,rust-clap-2)
+         ("rust-which" ,rust-which-3.1))))
+    (home-page
+      "https://rust-lang.github.io/rust-bindgen/";)
+    (synopsis
+      "Automatically generates Rust FFI bindings to C and C++ libraries.")
+    (description
+      "Automatically generates Rust FFI bindings to C and C++ libraries.")
+    (license license:bsd-3)))
+
+(define-public rust-bindgen-0.50
+  (package
+    (name "rust-bindgen")
+    (version "0.50.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bindgen" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1fp98x0k4cawil3rqxsfrb58pq3mb5mn37rp745zxfmjfigml3nb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-cexpr" ,rust-cexpr-0.3)
+        ("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-clang-sys" ,rust-clang-sys-0.28)
         ("rust-clap" ,rust-clap-2)
         ("rust-env-logger" ,rust-env-logger-0.6)
         ("rust-fxhash" ,rust-fxhash-0.2)
@@ -1041,7 +1352,7 @@ that uses Serde for transforming structs into bytes and 
vice versa!")
         ("rust-log" ,rust-log-0.4)
         ("rust-peeking-take-while" ,rust-peeking-take-while-0.1)
         ("rust-proc-macro2" ,rust-proc-macro2-0.4)
-        ("rust-quote" ,rust-quote-1.0)
+        ("rust-quote" ,rust-quote-0.6)
         ("rust-regex" ,rust-regex-1.1)
         ("rust-shlex" ,rust-shlex-0.1)
         ("rust-which" ,rust-which-2.0))
@@ -1058,6 +1369,45 @@ that uses Serde for transforming structs into bytes and 
vice versa!")
 libraries.")
     (license license:bsd-3)))
 
+(define-public rust-bindgen-0.37
+  (package
+    (name "rust-bindgen")
+    (version "0.37.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "bindgen" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "08f2cyzr8fc027mzj2lhmn5j3w318g2ql7yfw5ngxa3yhy1an98v"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-cfg-if" ,rust-cfg-if-0.1)
+         ("rust-peeking-take-while"
+          ,rust-peeking-take-while-0.1)
+         ("rust-cexpr" ,rust-cexpr-0.2)
+         ("rust-clang-sys" ,rust-clang-sys-0.23)
+         ("rust-proc-macro2" ,rust-proc-macro2-0.3)
+         ("rust-log" ,rust-log-0.4)
+         ("rust-env-logger" ,rust-env-logger-0.5)
+         ("rust-quote" ,rust-quote-0.5)
+         ("rust-which" ,rust-which-1.0)
+         ("rust-regex" ,rust-regex-1.3)
+         ("rust-lazy-static" ,rust-lazy-static-1.4)
+         ("rust-clap" ,rust-clap-2))))
+    (home-page
+      "https://rust-lang.github.io/rust-bindgen/";)
+    (synopsis
+      "Automatically generates Rust FFI bindings to C and C++ libraries.")
+    (description
+      "Automatically generates Rust FFI bindings to C and C++ libraries.")
+    (license license:bsd-3)))
+
 (define-public rust-bindgen-0.33
   (package
     (inherit rust-bindgen-0.50)
@@ -1193,6 +1543,29 @@ behave like a set of bitflags.")
         (base32
          "0v8hh6wdkpk9my8z8442g4hqrqf05h0qj53dsay6mv18lqvqklda"))))))
 
+(define-public rust-bitstream-io-0.8
+  (package
+    (name "rust-bitstream-io")
+    (version "0.8.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "bitstream-io" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "00a6wy54s1dmadm5xz8k2cbsd7ixvm48mlc45bk0fdy0pbra6jk1"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page
+      "https://github.com/tuffy/bitstream-io";)
+    (synopsis
+      "Library for reading/writing un-aligned values from/to streams in 
big-endian and little-endian formats.")
+    (description
+      "Library for reading/writing un-aligned values from/to streams in 
big-endian and little-endian formats.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-blake2-0.8
   (package
     (name "rust-blake2")
@@ -1428,7 +1801,7 @@ Bresenham's line algorithm.")
 (define-public rust-bstr-0.2
   (package
     (name "rust-bstr")
-    (version "0.2.1")
+    (version "0.2.12")
     (source
      (origin
        (method url-fetch)
@@ -1437,7 +1810,7 @@ Bresenham's line algorithm.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0prq6yk3da0k5bg2czcgg1i4ynsq1l59xc89ycsv6v7p08p5gh3c"))))
+         "0hazfback6i2k3vhhwyj8h46id3y58zxqh22pz46hj9r1zayd298"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -1476,7 +1849,7 @@ UTF-8.")
 (define-public rust-bumpalo-3
   (package
     (name "rust-bumpalo")
-    (version "3.2.0")
+    (version "3.2.1")
     (source
      (origin
        (method url-fetch)
@@ -1485,7 +1858,7 @@ UTF-8.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0hpp4wfcn04gnl1ji4a80b85xwknsci81xqyllq174gq9z0rsd8z"))))
+         "11silgpsnfv6ir7j2nh7a69564f92vq20k9ha7zcbynpiav9vbhj"))))
     (build-system cargo-build-system)
     (arguments
      `(#:tests? #f      ; cargo_readme_up_to_date test fails
@@ -1567,6 +1940,32 @@ UTF-8.")
 in a byte slice, fast.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-bytecount-0.4
+  (package
+    (name "rust-bytecount")
+    (version "0.4.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "bytecount" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "13qpy38z5wx0rzcdvr2h0ixbfgi1dbrif068il3hwn3k2mah88mr"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-packed-simd" ,rust-packed-simd-0.3))))
+    (home-page "https://github.com/llogiq/bytecount";)
+    (synopsis
+      "count occurrences of a given byte, or the number of UTF-8 code points, 
in a byte slice, fast")
+    (description
+      "count occurrences of a given byte, or the number of UTF-8 code points, 
in a byte slice, fast")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-byteorder-1.3
   (package
     (name "rust-byteorder")
@@ -1910,6 +2309,67 @@ exposed as Reader/Writer streams.")
 capabilities")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-cargo-metadata-0.9
+  (package
+    (name "rust-cargo-metadata")
+    (version "0.9.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "cargo_metadata" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "00pjms89lghvizh4d55lz80hvrih9r55xv9m5wd9vcsgc163gqs6"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-semver" ,rust-semver-0.9)
+         ("rust-serde" ,rust-serde-1.0)
+         ("rust-serde-derive" ,rust-serde-derive-1.0)
+         ("rust-serde-json" ,rust-serde-json-1.0))))
+    (home-page
+      "https://github.com/oli-obk/cargo_metadata";)
+    (synopsis
+      "structured access to the output of `cargo metadata`")
+    (description
+      "structured access to the output of `cargo metadata`")
+    (license license:expat)))
+
+(define-public rust-cargo-metadata-0.6
+  (package
+    (name "rust-cargo-metadata")
+    (version "0.6.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "cargo_metadata" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1givpi2w7iwqqnl87x5yc15zcm5hs6yw490sb6abkfp1h39v9lg5"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-error-chain" ,rust-error-chain-0.12)
+         ("rust-semver" ,rust-semver-0.9)
+         ("rust-serde" ,rust-serde-1.0)
+         ("rust-serde-derive" ,rust-serde-derive-1.0)
+         ("rust-serde-json" ,rust-serde-json-1.0))))
+    (home-page
+      "https://github.com/oli-obk/cargo_metadata";)
+    (synopsis
+      "structured access to the output of `cargo metadata`")
+    (description
+      "structured access to the output of `cargo metadata`")
+    (license license:expat)))
+
 (define-public rust-cargon-0.0
   (package
     (name "rust-cargon")
@@ -1936,7 +2396,7 @@ used in argon2rs' bench suite.")
 (define-public rust-cast-0.2
   (package
     (name "rust-cast")
-    (version "0.2.2")
+    (version "0.2.3")
     (source
      (origin
        (method url-fetch)
@@ -1945,12 +2405,14 @@ used in argon2rs' bench suite.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "09yl2700crxa4n860b080msij25klvs1kfzazhp2aihchvr16q4j"))))
+         "1c5z7zryj0zwnhdgs6rw5dfvnlwc1vm19jzrlgx5055alnwk952b"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
-       #:cargo-development-inputs
-       (("rust-quickcheck" ,rust-quickcheck-0.8))))
+       #:cargo-inputs
+       (("rust-rustc-version" ,rust-rustc-version-0.2))
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.9))))
     (home-page "https://github.com/japaric/cast.rs";)
     (synopsis
      "Ergonomic, checked cast functions for primitive types")
@@ -2012,7 +2474,7 @@ archive to be linked into Rustcode.")
 (define-public rust-cexpr-0.3
   (package
     (name "rust-cexpr")
-    (version "0.3.5")
+    (version "0.3.6")
     (source
      (origin
        (method url-fetch)
@@ -2021,7 +2483,7 @@ archive to be linked into Rustcode.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1by64ini3f058pwad3immx5cc12wr0m0kwgaxa8apzym03mj9ym7"))))
+         "07fdfj4ff2974y33yixrb657riq9zl9b9h9lr0h7ridhhvxvbrgw"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -2197,7 +2659,7 @@ for computer graphics.")
 (define-public rust-chrono-0.4
   (package
     (name "rust-chrono")
-    (version "0.4.7")
+    (version "0.4.11")
     (source
      (origin
        (method url-fetch)
@@ -2206,23 +2668,26 @@ for computer graphics.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1glam3iqhshbamzgf0npn7hgghski92r31lm7gg8841hnxc1zn3p"))))
+         "1cmmxamkzzs36zncqjjr7qm7xkb6zyrkjslnlj3axdgqki84y2c0"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-num-integer" ,rust-num-integer-0.1)
+       (("rust-num-integer" ,rust-num-integer-0.1)
         ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-js-sys" ,rust-js-sys-0.3)
         ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
         ("rust-serde" ,rust-serde-1.0)
-        ("rust-time" ,rust-time-0.1))
+        ("rust-time" ,rust-time-0.1)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
        #:cargo-development-inputs
-       (("rust-bincode" ,rust-bincode-1.1)
+       (;("rust-bincode" ,rust-bincode-0.8)
+        ("rust-criterion" ,rust-criterion-0.2)
         ("rust-doc-comment" ,rust-doc-comment-0.3)
         ("rust-num-iter" ,rust-num-iter-0.1)
         ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))
     (home-page
      "https://github.com/chronotope/chrono";)
     (synopsis "Date and time library for Rust")
@@ -2315,6 +2780,34 @@ for computer graphics.")
                        (string-append clang "/lib")))
              #t)))))))
 
+(define-public rust-clang-sys-0.23
+  (package
+    (name "rust-clang-sys")
+    (version "0.23.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "clang-sys" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1hjr333izzhs6bic84qwnyzy5xzmvasib8f3zkzj4ln3a97c1xyp"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-glob" ,rust-glob-0.2)
+         ("rust-glob" ,rust-glob-0.2)
+         ("rust-libc" ,rust-libc-0.2)
+         ("rust-libloading" ,rust-libloading-0.5))))
+    (home-page
+      "https://github.com/KyleMayes/clang-sys";)
+    (synopsis "Rust bindings for libclang.")
+    (description "Rust bindings for libclang.")
+    (license license:asl2.0)))
+
 (define-public rust-clang-sys-0.22
   (package
     (inherit rust-clang-sys-0.26)
@@ -2512,6 +3005,36 @@ pitfalls in Rust.")
      "Low level interface to CloudABI.  Contains all syscalls and related 
types.")
     (license license:bsd-2)))
 
+(define-public rust-cloudflare-zlib-sys-0.2
+  (package
+    (name "rust-cloudflare-zlib-sys")
+    (version "0.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "cloudflare-zlib-sys" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "01lwfd15ijw4d8jsqp87yv4wpmzcp84qm0qqwy3yxmm0fjr5q6by"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-cc" ,rust-cc-1.0))))
+    (home-page "https://github.com/cloudflare/zlib";)
+    (synopsis
+      "Cloudflare fork of zlib with massive performance improvements")
+    (description
+      "Cloudflare fork of zlib with massive performance improvements")
+    (license
+      (list license:expat
+            license:zlib
+            license:asl2.0
+            license:zlib))))
+
 (define-public rust-cmake-0.1
   (package
     (name "rust-cmake")
@@ -2602,12 +3125,40 @@ CMAKE environmental variable is set.")
      "Color quantization library to reduce n colors to 256 colors.")
     (license license:expat)))
 
+(define-public rust-colored-1.9
+  (package
+    (name "rust-colored")
+    (version "1.9.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "colored" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0nbc1czs512h1k696y7glv1kjrb2b914zpxraic6q5fgv80wizzl"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-atty" ,rust-atty-0.2)
+         ("rust-winapi" ,rust-winapi-0.3)
+         ("rust-lazy-static" ,rust-lazy-static-1.4))))
+    (home-page "https://github.com/mackwic/colored";)
+    (synopsis
+      "The most simple way to add colors in your terminal")
+    (description
+      "The most simple way to add colors in your terminal")
+    (license license:mpl2.0)))
+
 ;; This package requires features which are unavailable
 ;; on the stable releases of Rust.
 (define-public rust-compiler-builtins-0.1
   (package
     (name "rust-compiler-builtins")
-    (version "0.1.23")
+    (version "0.1.26")
     (source
       (origin
         (method url-fetch)
@@ -2615,14 +3166,13 @@ CMAKE environmental variable is set.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0m8rfikg08av2plyp32drjfsv7i10nf2kwzajjjkvl13yhj9s5fn"))))
+          "1rhj6ccmfkh9gcxnxgjq4fg257yi4f9325nfzsphbmxwkrg06sq3"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0))
-       #:cargo-development-inputs
-       (("rust-cc" ,rust-cc-1.0))))
+       (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)
+        ("rust-cc" ,rust-cc-1.0))))
     (home-page "https://github.com/rust-lang/compiler-builtins";)
     (synopsis "Compiler intrinsics used by the Rust compiler")
     (description
@@ -2711,6 +3261,41 @@ harness.")
         ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
         ("rust-tempdir" ,rust-tempdir-0.3))))))
 
+(define-public rust-console-0.9
+  (package
+    (name "rust-console")
+    (version "0.9.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "console" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1h765951c9mywff534f0191slazykmif4290g2yarcwhd2cg7q25"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-unicode-width" ,rust-unicode-width-0.1)
+         ("rust-libc" ,rust-libc-0.2)
+         ("rust-termios" ,rust-termios-0.3)
+         ("rust-encode-unicode" ,rust-encode-unicode-0.3)
+         ("rust-winapi" ,rust-winapi-0.3)
+         ("rust-clicolors-control"
+          ,rust-clicolors-control-1.0)
+         ("rust-regex" ,rust-regex-1.3)
+         ("rust-lazy-static" ,rust-lazy-static-1.4))))
+    (home-page
+      "https://github.com/mitsuhiko/console";)
+    (synopsis
+      "A terminal and console abstraction for Rust")
+    (description
+      "This package provides a terminal and console abstraction for Rust")
+    (license license:expat)))
+
 (define-public rust-console-0.7
   (package
     (name "rust-console")
@@ -3010,7 +3595,7 @@ intrinsics.")
 (define-public rust-cpp-demangle-0.2
   (package
     (name "rust-cpp-demangle")
-    (version "0.2.12")
+    (version "0.2.14")
     (source
      (origin
        (method url-fetch)
@@ -3019,17 +3604,17 @@ intrinsics.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0a4hqsfc0sfdwy7pcr0rc1fjp2j47fxbkqfc2lfrbi4zlm5hq36k"))))
+         "1mm064x84868q06r4m4b7byf999nrkbhx7iyc4nchyssaxpsy5a1"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-afl" ,rust-afl-0.4)
-        ("rust-cfg-if" ,rust-cfg-if-0.1))
+        ("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-glob" ,rust-glob-0.3))
        #:cargo-development-inputs
        (("rust-clap" ,rust-clap-2)
-        ("rust-diff" ,rust-diff-0.1)
-        ("rust-glob" ,rust-glob-0.3))))
+        ("rust-diff" ,rust-diff-0.1))))
     (home-page "https://github.com/gimli-rs/cpp_demangle";)
     (synopsis "Demangle C++ symbols")
     (description
@@ -3101,7 +3686,7 @@ intrinsics.")
 (define-public rust-criterion-0.3
   (package
     (name "rust-criterion")
-    (version "0.3.0")
+    (version "0.3.1")
     (source
      (origin
        (method url-fetch)
@@ -3110,7 +3695,7 @@ intrinsics.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1iig7r9c6bkn5qb6axxkblc1amif6k49lix35rhqs728cphh71wk"))))
+         "1lgpr82rlmg6rm4gr3c3pla2xgxnakbf8w9sabjsig8jkikmbiqz"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -3122,15 +3707,14 @@ intrinsics.")
         ("rust-itertools" ,rust-itertools-0.8)
         ("rust-lazy-static" ,rust-lazy-static-1)
         ("rust-num-traits" ,rust-num-traits-0.2)
-        ("rust-rand-core" ,rust-rand-core-0.5)
-        ("rust-rand-os" ,rust-rand-os-0.2)
-        ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.3)
-        ("rust-rayon" ,rust-rayon-1.1)
+        ("rust-oorandom" ,rust-oorandom-11.1)
+        ("rust-plotters" ,rust-plotters-0.2)
+        ("rust-rayon" ,rust-rayon-1.3)
         ("rust-serde" ,rust-serde-1.0)
         ("rust-serde-derive" ,rust-serde-derive-1.0)
         ("rust-serde-json" ,rust-serde-json-1.0)
         ("rust-tinytemplate" ,rust-tinytemplate-1.0)
-        ("rust-walkdir" ,rust-walkdir-2.2))
+        ("rust-walkdir" ,rust-walkdir-2.3))
        #:cargo-development-inputs
        (("rust-approx" ,rust-approx-0.3)
         ("rust-quickcheck" ,rust-quickcheck-0.9)
@@ -3478,7 +4062,7 @@ intrinsics.")
 (define-public rust-crossbeam-utils-0.7
   (package
     (name "rust-crossbeam-utils")
-    (version "0.7.0")
+    (version "0.7.2")
     (source
      (origin
        (method url-fetch)
@@ -3487,7 +4071,7 @@ intrinsics.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1x1rn35q2v05qif14ijfg7800d3rf3ji2cg79awnacfw5jq6si6f"))))
+         "1a31wbrda1320gj2a6az1lin2d34xfc3xf88da4c17qy5lxcgiy3"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -3621,7 +4205,7 @@ Code} (MAC) algorithms.")
 (define-public rust-csv-1.1
   (package
     (name "rust-csv")
-    (version "1.1.0")
+    (version "1.1.3")
     (source
      (origin
        (method url-fetch)
@@ -3630,7 +4214,7 @@ Code} (MAC) algorithms.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0qxvzq030hi915dszazv6a7f0apzzi7gn193ni0g2lzkawjxck55"))))
+         "0yd2z55m2pg4al4yng4nl2y7c9dw2v7yhg5ynihxyrmmd9zzxbq0"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -3672,7 +4256,7 @@ Code} (MAC) algorithms.")
 (define-public rust-csv-core-0.1
   (package
     (name "rust-csv-core")
-    (version "0.1.6")
+    (version "0.1.10")
     (source
      (origin
        (method url-fetch)
@@ -3681,11 +4265,11 @@ Code} (MAC) algorithms.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0k5zs0x0qmmn27pa5kcg86lg84s29491fw5sh3zswxswnavasp4v"))))
+         "145wcc3560v1kmysqqspvddppiysr2rifqzy4nnlh3r6kxanc91b"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-memchr" ,rust-memchr-2.2))
+       (("rust-memchr" ,rust-memchr-2.3))
        #:cargo-development-inputs
        (("rust-arrayvec" ,rust-arrayvec-0.4))))
     (home-page "https://github.com/BurntSushi/rust-csv";)
@@ -3695,6 +4279,34 @@ Code} (MAC) algorithms.")
      "Bare bones CSV parsing with no_std support.")
     (license (list license:unlicense license:expat))))
 
+(define-public rust-ctor-0.1
+  (package
+    (name "rust-ctor")
+    (version "0.1.13")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ctor" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1qgwkwyxishpp3wkbwq5i27zdxz539ii0sz129xj061ffnnfbia7"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-syn" ,rust-syn-1.0)
+         ("rust-quote" ,rust-quote-1.0))))
+    (home-page
+      "https://github.com/mmastrac/rust-ctor";)
+    (synopsis
+      "__attribute__((constructor)) for Rust")
+    (description
+      "__attribute__((constructor)) for Rust")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-ctrlc-3.1
   (package
     (name "rust-ctrlc")
@@ -3862,6 +4474,32 @@ hexadecimal, base32, and base64.")
 and arithmetic.")
     (license license:expat)))
 
+(define-public rust-dav1d-sys-0.3
+  (package
+    (name "rust-dav1d-sys")
+    (version "0.3.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "dav1d-sys" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1022czzp3s54r42x6rhr870w1fwzyp7b6qn0zirpz55zmqjpgnwa"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-pkg-config" ,rust-pkg-config-0.3)
+         ("rust-bindgen" ,rust-bindgen-0.52)
+         ("rust-metadeps" ,rust-metadeps-1.1))))
+    (home-page "https://github.com/rust-av/dav1d-rs";)
+    (synopsis "FFI bindings to dav1d")
+    (description "FFI bindings to dav1d")
+    (license license:expat)))
+
 (define-public rust-decimal-2.0
   (package
     (name "rust-decimal")
@@ -4109,7 +4747,7 @@ Windows, and the Standard Directory guidelines on macOS.")
   (package
     (inherit rust-dirs-2.0)
     (name "rust-dirs")
-    (version "1.0.3")
+    (version "1.0.5")
     (source
       (origin
         (method url-fetch)
@@ -4117,11 +4755,12 @@ Windows, and the Standard Directory guidelines on 
macOS.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "02vigc566z5i6n9wr2x8sch39qp4arn89xhhrh18fhpm3jfc0ygn"))))
+          "009rrhzj9pxyncmm2vhlj70npg0cgggv2hjbbkiwdl9vccq8kmrz"))))
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
+        ("rust-redox-users" ,rust-redox-users-0.3)
         ("rust-winapi" ,rust-winapi-0.3))))))
 
 (define-public rust-dirs-sys-0.3
@@ -4348,6 +4987,32 @@ from macros.")
 parameters, associated types, and type constraints.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-draw-state-0.8
+  (package
+    (name "rust-draw-state")
+    (version "0.8.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "draw_state" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0lfng4fz9x7bwsmzv9r20ply10w0iid6vfcrhx292s6hw8vrbkrk"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-serde" ,rust-serde-1.0)
+         ("rust-bitflags" ,rust-bitflags-1))))
+    (home-page
+      "https://github.com/gfx-rs/draw_state";)
+    (synopsis "Graphics state blocks for gfx-rs")
+    (description "Graphics state blocks for gfx-rs")
+    (license license:asl2.0)))
+
 (define-public rust-dtoa-0.4
   (package
     (name "rust-dtoa")
@@ -4494,7 +5159,7 @@ floating-point primitives to an @code{io::Write}.")
 (define-public rust-either-1.5
   (package
     (name "rust-either")
-    (version "1.5.2")
+    (version "1.5.3")
     (source
      (origin
        (method url-fetch)
@@ -4503,7 +5168,7 @@ floating-point primitives to an @code{io::Write}.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0yyggfd5yq9hyyp0bd5jj0fgz3rwws42d19ri0znxwwqs3hcy9sm"))))
+         "1qyz1b1acad6w0k5928jw5zaq900zhsk7p8dlcp4hh61w4f6n7xv"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -4545,7 +5210,7 @@ inclusion of Windows resources in the most resilient 
fashion imaginable.")
 (define-public rust-encode-unicode-0.3
   (package
     (name "rust-encode-unicode")
-    (version "0.3.5")
+    (version "0.3.6")
     (source
      (origin
        (method url-fetch)
@@ -4554,12 +5219,12 @@ inclusion of Windows resources in the most resilient 
fashion imaginable.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1g8a8pixkxz6r927f4sc4r15qyc0szxdxb1732v8q7h0di4wkclh"))))
+         "07w3vzrhxh9lpjgsg2y5bwzfar2aq35mdznvcp3zjl0ssj7d4mx3"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-ascii" ,rust-ascii-0.9)
+       (("rust-ascii" ,rust-ascii-1.0)
         ("rust-clippy" ,rust-clippy-0.0))
        #:cargo-development-inputs
        (("rust-lazy-static" ,rust-lazy-static-1))))
@@ -4946,7 +5611,7 @@ is configured via an environment variable.")
 (define-public rust-erased-serde-0.3
   (package
     (name "rust-erased-serde")
-    (version "0.3.9")
+    (version "0.3.11")
     (source
      (origin
        (method url-fetch)
@@ -4955,14 +5620,14 @@ is configured via an environment variable.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0q7bnxs5zskfq5iillig55g7891dllcxh2p8y8k1p2j72syf9viv"))))
+         "1lgkpkk7nx6f24gmr3psyj8d2avc9701r9jyw1i4ssp10lbnv2yq"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-serde" ,rust-serde-1.0))
        #:cargo-development-inputs
-       (("rust-serde-cbor" ,rust-serde-cbor-0.10)
+       (;("rust-serde-cbor" ,rust-serde-cbor-0.9)
         ("rust-serde-derive" ,rust-serde-derive-1.0)
         ("rust-serde-json" ,rust-serde-json-1.0))))
     (home-page "https://github.com/dtolnay/erased-serde";)
@@ -4971,12 +5636,45 @@ is configured via an environment variable.")
      "Type-erased Serialize and Serializer traits.")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-errno-0.2
+(define-public rust-err-derive-0.2
   (package
-    (name "rust-errno")
-    (version "0.2.4")
+    (name "rust-err-derive")
+    (version "0.2.3")
     (source
-     (origin
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "err-derive" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0v6wxrshfpg7mwaxzq8jwxbfiyn7zk5rlm4m8kkrwh7dpf8nrx42"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-synstructure" ,rust-synstructure-0.12)
+         ("rust-skeptic" ,rust-skeptic-0.13)
+         ("rust-proc-macro-error"
+          ,rust-proc-macro-error-0.4)
+         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+         ("rust-syn" ,rust-syn-1.0)
+         ("rust-rustversion" ,rust-rustversion-1.0)
+         ("rust-quote" ,rust-quote-1.0))))
+    (home-page
+      "https://gitlab.com/torkleyy/err-derive";)
+    (synopsis "Derive macro for `std::error::Error`")
+    (description
+      "Derive macro for `std::error::Error`")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-errno-0.2
+  (package
+    (name "rust-errno")
+    (version "0.2.4")
+    (source
+     (origin
        (method url-fetch)
        (uri (crate-uri "errno" version))
        (file-name
@@ -5025,7 +5723,7 @@ is configured via an environment variable.")
 (define-public rust-error-chain-0.12
   (package
     (name "rust-error-chain")
-    (version "0.12.1")
+    (version "0.12.2")
     (source
      (origin
        (method url-fetch)
@@ -5034,23 +5732,77 @@ is configured via an environment variable.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1ndpw1ny2kxqpw6k1shq8k56z4vfpk4xz9zr8ay988k0rffrxd1s"))))
+         "1ka5y0fmymxzx3gz2yrd7rpz2i555m1iw4fpmcggpzcgr1n10wfk"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-backtrace" ,rust-backtrace-0.3)
-        ("rust-version-check" ,rust-version-check-0.1))))
+        ("rust-version-check" ,rust-version-check-0.9))))
     (home-page "https://github.com/rust-lang-nursery/error-chain";)
     (synopsis "Yet another error boilerplate library")
     (description
      "Yet another error boilerplate library.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-error-chain-0.11
+  (package
+    (name "rust-error-chain")
+    (version "0.11.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "error-chain" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1wykkr0naizbkwxjwia1rch8xhwvgij9khqvjzs07mrmqifislgz"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-backtrace" ,rust-backtrace-0.3))))
+    (home-page
+      "https://github.com/rust-lang-nursery/error-chain";)
+    (synopsis
+      "Yet another error boilerplate library.")
+    (description
+      "Yet another error boilerplate library.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-error-chain-0.10
+  (package
+    (name "rust-error-chain")
+    (version "0.10.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "error-chain" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1y1gyj9g5c3k1nzkvxrgry8v9k86kcc585mczrm3qz019s35shyr"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-backtrace" ,rust-backtrace-0.3))))
+    (home-page
+      "https://github.com/rust-lang-nursery/error-chain";)
+    (synopsis
+      "Yet another error boilerplate library.")
+    (description
+      "Yet another error boilerplate library.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-euclid-0.20
   (package
     (name "rust-euclid")
-    (version "0.20.7")
+    (version "0.20.10")
     (source
      (origin
        (method url-fetch)
@@ -5059,7 +5811,7 @@ is configured via an environment variable.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0pa8kxblvc0s9gia9n0966w7169aswpg7knw2pmwrqa204r2v19z"))))
+         "0c3hbl0kvc53k6nws0v9d46hi0giza1j079sqx2bgl4wfw65nshc"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -5127,7 +5879,7 @@ is configured via an environment variable.")
 (define-public rust-failure-0.1
   (package
     (name "rust-failure")
-    (version "0.1.5")
+    (version "0.1.7")
     (source
      (origin
        (method url-fetch)
@@ -5136,7 +5888,7 @@ is configured via an environment variable.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1qppmgv4i5jj6vrss91qackqnl0a12h7lnby4l7j5fdy78yxhnvr"))))
+         "0js6i6mb42q1g6q3csfbmi6q40s64k96705xbim0d8zg44j9qlmq"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -5152,7 +5904,7 @@ is configured via an environment variable.")
 (define-public rust-failure-derive-0.1
   (package
     (name "rust-failure-derive")
-    (version "0.1.5")
+    (version "0.1.7")
     (source
      (origin
        (method url-fetch)
@@ -5161,15 +5913,15 @@ is configured via an environment variable.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1q97n7dp51j5hndzic9ng2fgn6f3z5ya1992w84l7vypby8n647a"))))
+         "0cfjz0c9szqpxn43b2r722p6m3swzxj7aj6xhqw23ml7h8y762h3"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
-        ("rust-quote" ,rust-quote-0.6)
-        ("rust-syn" ,rust-syn-0.15)
-        ("rust-synstructure" ,rust-synstructure-0.10))
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0)
+        ("rust-synstructure" ,rust-synstructure-0.12))
        #:cargo-development-inputs
        (("rust-failure" ,rust-failure-0.1))))
     (home-page "https://rust-lang-nursery.github.io/failure/";)
@@ -5190,7 +5942,6 @@ is configured via an environment variable.")
          (base32
           "1xq759lsr8gqss7hva42azn3whgrbrs2sd9xpn92c5ickxm1fhs4"))))
     (build-system cargo-build-system)
-    (arguments '(#:skip-build? #t))
     (home-page "https://github.com/sfackler/rust-fallible-iterator";)
     (synopsis "Fallible iterator traits")
     (description "If the @code{std} or @code{alloc} features are enabled, this
@@ -5200,6 +5951,36 @@ provides implementations for @code{HashMap} and 
@code{HashSet}.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-fern-0.5
+  (package
+    (name "rust-fern")
+    (version "0.5.9")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "fern" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1anslk0hx9an4ypcaxqff080hgbcxm7ji7d4qf4f6qx1mkav16p6"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-libc" ,rust-libc-0.2)
+         ("rust-reopen" ,rust-reopen-0.3)
+         ("rust-log" ,rust-log-0.4)
+         ("rust-chrono" ,rust-chrono-0.4)
+         ("rust-colored" ,rust-colored-1.9)
+         ("rust-syslog" ,rust-syslog-3.3)
+         ("rust-syslog" ,rust-syslog-4.0))))
+    (home-page "https://github.com/daboross/fern";)
+    (synopsis "Simple, efficient logging")
+    (description "Simple, efficient logging")
+    (license license:expat)))
+
 (define-public rust-filetime-0.2
   (package
     (name "rust-filetime")
@@ -5334,7 +6115,7 @@ cross platform API.")
 (define-public rust-flate2-1.0
   (package
     (name "rust-flate2")
-    (version "1.0.9")
+    (version "1.0.14")
     (source
      (origin
        (method url-fetch)
@@ -5343,22 +6124,25 @@ cross platform API.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1n639gc7sbmrkir6pif608xqpwcv60kigmp5cn9x7m8892nk82am"))))
+         "0hlb2zmn5ixrgr0i1qvrd3a7j4fpp002d0kddn2hm7hjj49z9zrc"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-crc32fast" ,rust-crc32fast-1.2)
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-cloudflare-zlib-sys"
+         ,rust-cloudflare-zlib-sys-0.2)
+        ("rust-crc32fast" ,rust-crc32fast-1.2)
         ("rust-futures" ,rust-futures-0.1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-libz-sys" ,rust-libz-sys-1.0)
         ("rust-miniz-sys" ,rust-miniz-sys-0.1)
-        ("rust-miniz-oxide-c-api" ,rust-miniz-oxide-c-api-0.2)
+        ("rust-miniz-oxide" ,rust-miniz-oxide-0.3)
         ("rust-tokio-io" ,rust-tokio-io-0.1))
        #:cargo-development-inputs
        (("rust-futures" ,rust-futures-0.1)
-        ("rust-quickcheck" ,rust-quickcheck-0.8)
-        ("rust-rand" ,rust-rand-0.4)
+        ("rust-quickcheck" ,rust-quickcheck-0.9)
+        ("rust-rand" ,rust-rand-0.7)
         ("rust-tokio-io" ,rust-tokio-io-0.1)
         ("rust-tokio-tcp" ,rust-tokio-tcp-0.1)
         ("rust-tokio-threadpool" ,rust-tokio-threadpool-0.1))))
@@ -5454,6 +6238,50 @@ implementation that is more efficient for smaller hash 
keys.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-font-kit-0.4
+  (package
+    (name "rust-font-kit")
+    (version "0.4.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "font-kit" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1fmg1jmqdvsjxjbyz8chpx1mhp544mwq128ns1shhrha5a6zzdqp"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-lyon-path" ,rust-lyon-path-0.14)
+         ("rust-core-graphics" ,rust-core-graphics-0.17)
+         ("rust-float-ord" ,rust-float-ord-0.2)
+         ("rust-libc" ,rust-libc-0.2)
+         ("rust-euclid" ,rust-euclid-0.20)
+         ("rust-winapi" ,rust-winapi-0.3)
+         ("rust-servo-fontconfig"
+          ,rust-servo-fontconfig-0.4)
+         ("rust-freetype" ,rust-freetype-0.4)
+         ("rust-log" ,rust-log-0.4)
+         ("rust-core-foundation"
+          ,rust-core-foundation-0.6)
+         ("rust-memmap" ,rust-memmap-0.7)
+         ("rust-dwrote" ,rust-dwrote-0.9)
+         ("rust-dirs" ,rust-dirs-1.0)
+         ("rust-byteorder" ,rust-byteorder-1.3)
+         ("rust-lazy-static" ,rust-lazy-static-1.4)
+         ("rust-core-text" ,rust-core-text-13)
+         ("rust-walkdir" ,rust-walkdir-2.3))))
+    (home-page "https://github.com/servo/font-kit";)
+    (synopsis
+      "A cross-platform font loading library")
+    (description
+      "This package provides a cross-platform font loading library")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-foreign-types-0.5
   (package
     (name "rust-foreign-types")
@@ -5606,6 +6434,34 @@ implementation that is more efficient for smaller hash 
keys.")
 values to other threads.")
     (license license:asl2.0)))
 
+(define-public rust-freetype-0.4
+  (package
+    (name "rust-freetype")
+    (version "0.4.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "freetype" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0a70x03n68997f08bi3n47q9wyi3pv5s9v4rjc79sihb84mnp4hi"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-libc" ,rust-libc-0.2)
+         ("rust-servo-freetype-sys"
+          ,rust-servo-freetype-sys-4))))
+    (home-page
+      "https://github.com/servo/rust-freetype";)
+    (synopsis "Bindings for Freetype used by Servo")
+    (description
+      "Bindings for Freetype used by Servo")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-freetype-rs-0.23
   (package
     (name "rust-freetype-rs")
@@ -5764,6 +6620,36 @@ for file changes notifications")
 macOS API for file changes notifications")
     (license license:expat)))
 
+(define-public rust-fst-0.4
+  (package
+    (name "rust-fst")
+    (version "0.4.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "fst" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0ybmdzkknhv1wx6ws86iyixfyzc04l4nm71b9va7953r1m3i6z1z"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-utf8-ranges" ,rust-utf8-ranges-1.0))))
+    (home-page "https://github.com/BurntSushi/fst";)
+    (synopsis
+      "Use finite state transducers to compactly represents sets or maps of 
many
+strings (> 1 billion is possible).
+")
+    (description
+      "Use finite state transducers to compactly represents sets or maps of 
many
+strings (> 1 billion is possible).
+")
+    (license (list license:unlicense license:expat))))
+
 (define-public rust-fuchsia-cprng-0.1
   (package
     (name "rust-fuchsia-cprng")
@@ -6616,7 +7502,7 @@ API library @code{gdi32}.")
 (define-public rust-getrandom-0.1
   (package
     (name "rust-getrandom")
-    (version "0.1.6")
+    (version "0.1.14")
     (source
      (origin
        (method url-fetch)
@@ -6625,16 +7511,19 @@ API library @code{gdi32}.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0macrjfkgsjn6ikr94agapp4fkxmr8w7y2g7qis4icc4a17cwp76"))))
+         "1sq30li71h19rhnhs1h6576ja68insajx8wvh1nn088r8pc8vg3s"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1)
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-stdweb" ,rust-stdweb-0.4)
-        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
+        ("rust-wasi" ,rust-wasi-0.9)
+        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0))))
     (home-page "https://github.com/rust-random/getrandom";)
     (synopsis "Retrieve random data from system source")
     (description
@@ -6642,10 +7531,119 @@ API library @code{gdi32}.")
 retrieving random data from system source.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-gif-0.10
+(define-public rust-gfx-0.18
   (package
-    (name "rust-gif")
-    (version "0.10.3")
+    (name "rust-gfx")
+    (version "0.18.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "gfx" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0nqmxqi3x4ni0g78g77a6aldrv8cfvzhnpqhxyd2ap4aa3wldph1"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-log" ,rust-log-0.4)
+         ("rust-mint" ,rust-mint-0.5)
+         ("rust-draw-state" ,rust-draw-state-0.8)
+         ("rust-gfx-core" ,rust-gfx-core-0.9))))
+    (home-page "https://github.com/gfx-rs/gfx";)
+    (synopsis
+      "A high-performance, bindless graphics API")
+    (description
+      "This package provides a high-performance, bindless graphics API")
+    (license license:asl2.0)))
+
+(define-public rust-gfx-core-0.9
+  (package
+    (name "rust-gfx-core")
+    (version "0.9.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "gfx_core" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0haldr99n12d90vqgvl77n59hywlklhdff85j2aljaz1yapdvyvm"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-log" ,rust-log-0.4)
+         ("rust-mint" ,rust-mint-0.5)
+         ("rust-draw-state" ,rust-draw-state-0.8)
+         ("rust-serde" ,rust-serde-1.0)
+         ("rust-bitflags" ,rust-bitflags-1))))
+    (home-page "https://github.com/gfx-rs/gfx";)
+    (synopsis "Core library of Gfx-rs")
+    (description "Core library of Gfx-rs")
+    (license license:asl2.0)))
+
+(define-public rust-gfx-device-gl-0.16
+  (package
+    (name "rust-gfx-device-gl")
+    (version "0.16.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "gfx_device_gl" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1g5yg19jvxdmviljyakhd6253bnb2qg7v8iscf48ihc0ldgki70h"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-log" ,rust-log-0.4)
+         ("rust-gfx-gl" ,rust-gfx-gl-0.6)
+         ("rust-gfx-core" ,rust-gfx-core-0.9))))
+    (home-page "https://github.com/gfx-rs/gfx";)
+    (synopsis "OpenGL backend for gfx-rs")
+    (description "OpenGL backend for gfx-rs")
+    (license license:asl2.0)))
+
+(define-public rust-gfx-gl-0.6
+  (package
+    (name "rust-gfx-gl")
+    (version "0.6.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "gfx_gl" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0ppzj4bgjawdqz3fvnscqk8lnmgh95pwzh0v96vwy809cxj83lzj"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-gl-generator" ,rust-gl-generator-0.14))))
+    (home-page "https://github.com/gfx-rs/gfx_gl";)
+    (synopsis
+      "OpenGL bindings for gfx, based on gl-rs")
+    (description
+      "OpenGL bindings for gfx, based on gl-rs")
+    (license license:asl2.0)))
+
+(define-public rust-gif-0.10
+  (package
+    (name "rust-gif")
+    (version "0.10.3")
     (source
      (origin
        (method url-fetch)
@@ -6669,6 +7667,39 @@ retrieving random data from system source.")
     (description "This package provides a GIF decoder and encoder in Rust.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-gimli-0.20
+  (package
+    (name "rust-gimli")
+    (version "0.20.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "gimli" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0cz6wg1niwfqf0mk28igsdnsm92cs57cai9jpzdmvw6hma863pc1"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-fallible-iterator"
+          ,rust-fallible-iterator-0.2)
+         ("rust-arrayvec" ,rust-arrayvec-0.5)
+         ("rust-stable-deref-trait"
+          ,rust-stable-deref-trait-1.1)
+         ("rust-smallvec" ,rust-smallvec-1)
+         ("rust-indexmap" ,rust-indexmap-1.3)
+         ("rust-byteorder" ,rust-byteorder-1.3))))
+    (home-page "https://github.com/gimli-rs/gimli";)
+    (synopsis
+      "A library for reading and writing the DWARF debugging format.")
+    (description
+      "This package provides a library for reading and writing the DWARF 
debugging format.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-gimli-0.18
   (package
     (name "rust-gimli")
@@ -6868,6 +7899,31 @@ reading and writing git repositories.")
         ("rust-thread-id" ,rust-thread-id-3.3)
         ("rust-time" ,rust-time-0.1))))))
 
+(define-public rust-gl-0.11
+  (package
+    (name "rust-gl")
+    (version "0.11.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "gl" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1wcqpyhck0xriffkmgmldy33lwk2044hb4l02d44vm4fbvicin6p"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-gl-generator" ,rust-gl-generator-0.10))))
+    (home-page
+      "https://github.com/brendanzab/gl-rs/";)
+    (synopsis "OpenGL bindings")
+    (description "OpenGL bindings")
+    (license license:asl2.0)))
+
 (define-public rust-gl-generator-0.14
   (package
     (name "rust-gl-generator")
@@ -6923,6 +7979,35 @@ reading and writing git repositories.")
        (base32
         "1gdchvay0k0g931b2ki33mkfixcw4radk5b8sqsm29rahxg3v8ir"))))))
 
+(define-public rust-gl-generator-0.10
+  (package
+    (name "rust-gl-generator")
+    (version "0.10.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "gl_generator" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0146yd4i9wbgfrhnkc04w7n7civbanznc0q87skp6v7p7hbszzx0"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-log" ,rust-log-0.4)
+         ("rust-xml-rs" ,rust-xml-rs-0.8)
+         ("rust-khronos-api" ,rust-khronos-api-3))))
+    (home-page
+      "https://github.com/brendanzab/gl-rs/";)
+    (synopsis
+      "Code generators for creating bindings to the Khronos OpenGL APIs.")
+    (description
+      "Code generators for creating bindings to the Khronos OpenGL APIs.")
+    (license license:asl2.0)))
+
 (define-public rust-gleam-0.6
   (package
     (name "rust-gleam")
@@ -7365,6 +8450,62 @@ path simultaneously, and returning all of the globs that 
matched.")
     (description "This package provides FFI bindings to libgobject-2.0.")
     (license license:expat)))
 
+(define-public rust-goblin-0.2
+  (package
+    (name "rust-goblin")
+    (version "0.2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "goblin" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1j38fkqadbsjxawr3wnj9m0qaihcwp6pmfakmhsar881509y7mfx"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-scroll" ,rust-scroll-0.10)
+         ("rust-plain" ,rust-plain-0.2)
+         ("rust-log" ,rust-log-0.4))))
+    (home-page "https://github.com/m4b/goblin";)
+    (synopsis
+      "An impish, cross-platform, ELF, Mach-o, and PE binary parsing and 
loading crate")
+    (description
+      "An impish, cross-platform, ELF, Mach-o, and PE binary parsing and 
loading crate")
+    (license license:expat)))
+
+(define-public rust-goblin-0.1
+  (package
+    (name "rust-goblin")
+    (version "0.1.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "goblin" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1nn0aa2jf207gbyccxnrzm7n217di025z5y1ybblp7nkk11j309h"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-scroll" ,rust-scroll-0.10)
+         ("rust-plain" ,rust-plain-0.2)
+         ("rust-log" ,rust-log-0.4))))
+    (home-page "https://github.com/m4b/goblin";)
+    (synopsis
+      "An impish, cross-platform, ELF, Mach-o, and PE binary parsing and 
loading crate")
+    (description
+      "An impish, cross-platform, ELF, Mach-o, and PE binary parsing and 
loading crate")
+    (license license:expat)))
+
 (define-public rust-goblin-0.0
   (package
     (name "rust-goblin")
@@ -7845,7 +8986,7 @@ consistent, and reasonably well performing.")
 (define-public rust-hermit-abi-0.1
   (package
     (name "rust-hermit-abi")
-    (version "0.1.6")
+    (version "0.1.10")
     (source
       (origin
         (method url-fetch)
@@ -7854,7 +8995,7 @@ consistent, and reasonably well performing.")
          (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-         "0wippj5nkw9q5yyyaqpdrgdhag3l3nbrwja7149cwn7ii1nnbwpg"))))
+          "0blmmzik5cs79ivq70s9gal8ypgzj50wnl2hwsaam46gjjbz2p3j"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -8364,7 +9505,55 @@ for the most common image formats.")
         ("rust-num-complex" ,rust-num-complex-0.2)
         ("rust-quickcheck" ,rust-quickcheck-0.6))))))
 
-(define-public rust-indexmap-1.0
+(define-public rust-indexmap-1.3
+  (package
+    (name "rust-indexmap")
+    (version "1.3.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "indexmap" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "14i2gmq9pwaafvlxmsc12j6539hjgqk4j4jz40fz763vbcn08vq7"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-autocfg" ,rust-autocfg-1.0)
+         ("rust-serde" ,rust-serde-1.0)
+         ("rust-rayon" ,rust-rayon-1.3))))
+    (home-page "https://github.com/bluss/indexmap";)
+    (synopsis
+      "A hash table with consistent order and fast iteration.
+
+The indexmap is a hash table where the iteration order of the key-value
+pairs is independent of the hash values of the keys. It has the usual
+hash table functionality, it preserves insertion order except after
+removals, and it allows lookup of its elements by either hash table key
+or numerical index. A corresponding hash set type is also provided.
+
+This crate was initially published under the name ordermap, but it was renamed 
to
+indexmap.
+")
+    (description
+      "This package provides a hash table with consistent order and fast 
iteration.
+
+The indexmap is a hash table where the iteration order of the key-value
+pairs is independent of the hash values of the keys.  It has the usual
+hash table functionality, it preserves insertion order except after
+removals, and it allows lookup of its elements by either hash table key
+or numerical index.  A corresponding hash set type is also provided.
+
+This crate was initially published under the name ordermap, but it was renamed 
to
+indexmap.
+")
+    (license (list license:asl2.0 license:expat))))
+
+(define-public rust-indexmap-1.0
   (package
     (name "rust-indexmap")
     (version "1.0.2")
@@ -8546,6 +9735,57 @@ in Rust.")
 that works on WASM too.")
     (license license:bsd-3)))
 
+(define-public rust-interpolate-name-0.2
+  (package
+    (name "rust-interpolate-name")
+    (version "0.2.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "interpolate_name" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "05vzsiqb69d1mbpaphcg4ifjsjs6g03b8pacskfcydqhh555zcxl"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+         ("rust-syn" ,rust-syn-1.0)
+         ("rust-quote" ,rust-quote-1.0))))
+    (home-page
+      "https://github.com/lu-zero/interpolate_name";)
+    (synopsis
+      "Simple procedural macro attribute for repetitive tests")
+    (description
+      "Simple procedural macro attribute for repetitive tests")
+    (license license:expat)))
+
+(define-public rust-interpolation-0.2
+  (package
+    (name "rust-interpolation")
+    (version "0.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "interpolation" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "00icvvgc72zdgyrwwg2p0wad4hry4d2vd6l9iqpyjpmw5dykbdyk"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page
+      "https://github.com/pistondevelopers/interpolation";)
+    (synopsis "A library for interpolation")
+    (description
+      "This package provides a library for interpolation")
+    (license license:expat)))
+
 (define-public rust-intervaltree-0.2
   (package
     (name "rust-intervaltree")
@@ -8620,7 +9860,7 @@ immutable interval tree.")
 (define-public rust-itertools-0.8
   (package
     (name "rust-itertools")
-    (version "0.8.0")
+    (version "0.8.2")
     (source
      (origin
        (method url-fetch)
@@ -8629,7 +9869,7 @@ immutable interval tree.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0n2k13b6w4x2x6np2lykh9bj3b3z4hwh2r4cn3z2dgnfq7cng12v"))))
+         "1154j48aw913v5jnyhpxialxhdn2sfpl4d7bwididyb1r05jsspm"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -8637,8 +9877,8 @@ immutable interval tree.")
        (("rust-either" ,rust-either-1.5))
        #:cargo-development-inputs
        (("rust-permutohedron" ,rust-permutohedron-0.2)
-        ("rust-quickcheck" ,rust-quickcheck-0.8)
-        ("rust-rand" ,rust-rand-0.4))))
+        ("rust-quickcheck" ,rust-quickcheck-0.7)
+        ("rust-rand" ,rust-rand-0.6))))
     (home-page
      "https://github.com/rust-itertools/itertools";)
     (synopsis
@@ -8700,7 +9940,7 @@ and functions.")
 (define-public rust-itoa-0.4
   (package
     (name "rust-itoa")
-    (version "0.4.4")
+    (version "0.4.5")
     (source
       (origin
         (method url-fetch)
@@ -8708,7 +9948,7 @@ and functions.")
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0zvg2d9qv3avhf3d8ggglh6fdyw8kkwqg3r4622ly5yhxnvnc4jh"))))
+          "13nxqrfnh83a7x5rw4wq2ilp8nxvwy74dxzysdg59dbxqk0agdxq"))))
     (build-system cargo-build-system)
     (home-page "https://github.com/dtolnay/itoa";)
     (synopsis "Fast functions for printing integer primitives")
@@ -8746,6 +9986,32 @@ primitives to an @code{io::Write}.")
         (base32
          "18g7p2hrb3dk84z3frfgmszfc9hjb4ps9vp99qlb1kmf9gm8hc5f"))))))
 
+(define-public rust-ivf-0.1
+  (package
+    (name "rust-ivf")
+    (version "0.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ivf" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1wfjf3rilqavrhvwagzinvng9dg28wcjk3c6c6p5qmc1xy65qfh1"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-bitstream-io" ,rust-bitstream-io-0.8))))
+    (home-page "https://github.com/xiph/rav1e";)
+    (synopsis "Simple ivf muxer")
+    (description "Simple ivf muxer")
+    (license #f
+             ;XXX unknown-license!
+             )))
+
 (define-public rust-jemalloc-sys-0.3
   (package
     (name "rust-jemalloc-sys")
@@ -8919,7 +10185,7 @@ primitives to an @code{io::Write}.")
 (define-public rust-js-sys-0.3
   (package
     (name "rust-js-sys")
-    (version "0.3.35")
+    (version "0.3.37")
     (source
      (origin
        (method url-fetch)
@@ -8928,7 +10194,7 @@ primitives to an @code{io::Write}.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1ybwazllkbif71i195dadgrsw64k6l04ggk5yimiy5c2cb1wg2bq"))))
+         "0mbhpbw3zjjl51m24qx3ilq4y8xipm5sfa5hsavaabqs6wsx89va"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -9181,7 +10447,7 @@ requires non-const function calls to be computed.")
 (define-public rust-libc-0.2
   (package
     (name "rust-libc")
-    (version "0.2.66")
+    (version "0.2.68")
     (source
      (origin
        (method url-fetch)
@@ -9189,7 +10455,7 @@ requires non-const function calls to be computed.")
        (file-name (string-append name "-" version ".crate"))
        (sha256
         (base32
-         "0n0mwry21fxfwc063k33mvxk8xj7ia5ar8m42c9ymbam2ksb25fm"))))
+         "1w6z9krcqn7p200sb80dxx76iyvw3jdz949zxr1sgfr3a50c186y"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -9462,6 +10728,32 @@ known as zlib).")
 graphics and video games.")
     (license license:expat)))
 
+(define-public rust-line-wrap-0.1
+  (package
+    (name "rust-line-wrap")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "line-wrap" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1ffa2whkyh9mwvdlpk6v8pjkg8p8mlzyjfymq5adll9a18sl80zk"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-safemem" ,rust-safemem-0.3))))
+    (home-page
+      "https://bitbucket.org/marshallpierce/line-wrap-rs/src";)
+    (synopsis "Efficiently insert line separators")
+    (description
+      "Efficiently insert line separators")
+    (license license:asl2.0)))
+
 (define-public rust-linked-hash-map-0.5
   (package
     (name "rust-linked-hash-map")
@@ -9717,7 +11009,7 @@ by inspecting the system for user preference.")
   (package
     (inherit rust-log-0.4)
     (name "rust-log")
-    (version "0.3.8")
+    (version "0.3.9")
     (source
       (origin
         (method url-fetch)
@@ -9725,7 +11017,10 @@ by inspecting the system for user preference.")
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "0nsn28syc49vvjhxcfc8261rd1frhjc0r4bn9v3mqvps3ra7f3w8"))))))
+          "0jq23hhn5h35k7pa8r7wqnsywji6x3wn1q5q7lif5q536if8v7p1"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-log" ,rust-log-0.4))))))
 
 (define-public rust-loom-0.1
   (package
@@ -9780,6 +11075,62 @@ by inspecting the system for user preference.")
      "Colorize paths using the LS_COLORS environment variable.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-lyon-geom-0.14
+  (package
+    (name "rust-lyon-geom")
+    (version "0.14.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "lyon_geom" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "178z4cqqmyw0rsabbgx9phkjxjzcnq0604062lqjlq87k063216a"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-num-traits" ,rust-num-traits-0.2)
+         ("rust-euclid" ,rust-euclid-0.20)
+         ("rust-arrayvec" ,rust-arrayvec-0.4)
+         ("rust-serde" ,rust-serde-1.0))))
+    (home-page "https://github.com/nical/lyon";)
+    (synopsis
+      "2D quadratic and cubic bézier arcs and line segment math on top of 
euclid.")
+    (description
+      "2D quadratic and cubic bézier arcs and line segment math on top of 
euclid.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-lyon-path-0.14
+  (package
+    (name "rust-lyon-path")
+    (version "0.14.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "lyon_path" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0qk8x46w0sf6j04l6gvhgn9kr4ymcqkmkh67w8wqahm54jn5gjqb"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-lyon-geom" ,rust-lyon-geom-0.14)
+         ("rust-serde" ,rust-serde-1.0))))
+    (home-page "https://github.com/nical/lyon";)
+    (synopsis
+      "Types and utilities to store, build and iterate over 2D paths.")
+    (description
+      "Types and utilities to store, build and iterate over 2D paths.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-lzma-sys-0.1
   (package
     (name "rust-lzma-sys")
@@ -10082,6 +11433,31 @@ parallelize and optimize.")
         (base32
          "0j2s8aqdkhwhy7awga2bmv5n8qq8bgy8672iha9f3y871dm6vibr"))))))
 
+(define-public rust-memchr-2.3
+  (package
+    (name "rust-memchr")
+    (version "2.3.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "memchr" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0074pvsfl938ndl5js14ibc7i9q0k3zp390z843w8nlyv4bxha1p"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-libc" ,rust-libc-0.2))))
+    (home-page
+      "https://github.com/BurntSushi/rust-memchr";)
+    (synopsis "Safe interface to memchr.")
+    (description "Safe interface to memchr.")
+    (license (list license:unlicense license:expat))))
+
 (define-public rust-memchr-2.2
   (package
     (name "rust-memchr")
@@ -10252,15 +11628,44 @@ for Rust structs.")
          "1cvm2z7dy138s302ii7wlzcxbka5a8yfl5pl5di7lbdnw9hw578g"))))
     (arguments `(#:skip-build? #t))))
 
-(define-public rust-metal-0.14
+(define-public rust-metadeps-1.1
   (package
-    (name "rust-metal")
-    (version "0.14.0")
+    (name "rust-metadeps")
+    (version "1.1.2")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "metal" version))
-       (file-name
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "metadeps" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1hjla9ypycqw1snd2qf87cckcc0d5z5qvxpcijn5yrrs3f825cbk"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-error-chain" ,rust-error-chain-0.10)
+         ("rust-toml" ,rust-toml-0.2)
+         ("rust-pkg-config" ,rust-pkg-config-0.3))))
+    (home-page
+      "https://github.com/joshtriplett/metadeps";)
+    (synopsis
+      "Run pkg-config from declarative dependencies in Cargo.toml")
+    (description
+      "Run pkg-config from declarative dependencies in Cargo.toml")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-metal-0.14
+  (package
+    (name "rust-metal")
+    (version "0.14.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "metal" version))
+       (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
@@ -10311,14 +11716,15 @@ for Rust structs.")
 (define-public rust-miniz-oxide-0.3
   (package
     (name "rust-miniz-oxide")
-    (version "0.3.3")
+    (version "0.3.6")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "miniz_oxide" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
-         (base32 "1bmanbbcdmssfbgik3fs323g7vljc5wkjz7s61jsbbz2kg0nckrh"))))
+         (base32
+          "198n4hfpq0qcxf275l6fpzh7b9cl7ck2xs6pjgpds74bazv9yrxa"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -10664,6 +12070,30 @@ checking.")
       "Chaining APIs for both self -> Self and &mut self methods.")
     (license license:expat)))
 
+(define-public rust-nasm-rs-0.1
+  (package
+    (name "rust-nasm-rs")
+    (version "0.1.7")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "nasm-rs" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0r34hiy1pc0aksrfc02zsl0zyw33i9yi7kyx8l214l7nm0mzm97y"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-rayon" ,rust-rayon-1.3))))
+    (home-page "https://github.com/medek/nasm-rs";)
+    (synopsis "Run NASM during your Cargo build.")
+    (description "Run NASM during your Cargo build.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-nalgebra-0.18
   (package
     (name "rust-nalgebra")
@@ -11081,6 +12511,29 @@ combinators library.")
       ;; This is an ancient version and all inputs are optional.
      `(#:skip-build? #t))))
 
+(define-public rust-noop-proc-macro-0.2
+  (package
+    (name "rust-noop-proc-macro")
+    (version "0.2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "noop_proc_macro" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0in1l0rjxzs4fylb6zad484z1c58jxyzchhc12k0cjrvm0y6zwsz"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page
+      "https://github.com/lu-zero/noop_proc_macro";)
+    (synopsis
+      "No-op proc_macro, literally does nothing")
+    (description
+      "No-op proc_macro, literally does nothing")
+    (license license:expat)))
+
 (define-public rust-notify-4
   (package
     (name "rust-notify")
@@ -11318,6 +12771,33 @@ including bigint, complex, rational, range iterators, 
generic integers, and more
        #:cargo-development-inputs
        (("rust-doc-comment" ,rust-doc-comment-0.3))))))
 
+(define-public rust-num-derive-0.3
+  (package
+    (name "rust-num-derive")
+    (version "0.3.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "num-derive" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0imprwv8cs01k46g56ajlvc97dp8kz51y2vn6cp9jkw1c6r1b2qc"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+         ("rust-syn" ,rust-syn-1.0)
+         ("rust-quote" ,rust-quote-1.0))))
+    (home-page
+      "https://github.com/rust-num/num-derive";)
+    (synopsis "Numeric syntax extensions")
+    (description "Numeric syntax extensions")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-num-derive-0.2
   (package
     (name "rust-num-derive")
@@ -11671,6 +13151,39 @@ Foundation framework.")
      "This package provides utilities for testing Objective-C interop.")
     (license license:expat)))
 
+(define-public rust-object-0.17
+  (package
+    (name "rust-object")
+    (version "0.17.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "object" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1bmgbg4k0725lchfy9j1wnpfmywh5qhs0k4k6j2g7c0acvys8i7a"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-goblin" ,rust-goblin-0.1)
+         ("rust-target-lexicon" ,rust-target-lexicon-0.10)
+         ("rust-scroll" ,rust-scroll-0.10)
+         ("rust-parity-wasm" ,rust-parity-wasm-0.41)
+         ("rust-uuid" ,rust-uuid-0.8)
+         ("rust-flate2" ,rust-flate2-1.0)
+         ("rust-crc32fast" ,rust-crc32fast-1.2)
+         ("rust-indexmap" ,rust-indexmap-1.3))))
+    (home-page "https://github.com/gimli-rs/object";)
+    (synopsis
+      "A unified interface for reading and writing object file formats.")
+    (description
+      "This package provides a unified interface for reading and writing 
object file formats.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-object-0.12
   (package
     (name "rust-object")
@@ -11735,6 +13248,87 @@ slices (@code{.find()}, @code{RevSlice}), strings and 
other things.
 Things in odds may move to more appropriate crates if we find them.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-onig-5.0
+  (package
+    (name "rust-onig")
+    (version "5.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "onig" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0ivr0wq1zlyjhhkxpsnmpncg92sjx3rha8pnp3m1mzvgk7y27rz4"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-libc" ,rust-libc-0.2)
+         ("rust-bitflags" ,rust-bitflags-1)
+         ("rust-lazy-static" ,rust-lazy-static-1.4)
+         ("rust-onig-sys" ,rust-onig-sys-69.2))))
+    (home-page
+      "http://github.com/iwillspeak/rust-onig";)
+    (synopsis
+      "Rust-Onig is a set of Rust bindings for the
+Oniguruma regular expression library. Oniguruma
+is a modern regex library with support for
+multiple character encodings and regex syntaxes.
+")
+    (description
+      "Rust-Onig is a set of Rust bindings for the
+Oniguruma regular expression library.  Oniguruma
+is a modern regex library with support for
+multiple character encodings and regex syntaxes.
+")
+    (license license:expat)))
+
+(define-public rust-onig-sys-69.2
+  (package
+    (name "rust-onig-sys")
+    (version "69.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "onig_sys" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0kjijq29yx05xxg9snvqnfn53dl52hchb4sk3zhfr77mypxlx38a"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-pkg-config" ,rust-pkg-config-0.3)
+         ("rust-bindgen" ,rust-bindgen-0.50)
+         ("rust-cc" ,rust-cc-1.0))))
+    (home-page
+      "http://github.com/iwillspeak/rust-onig";)
+    (synopsis
+      "The `onig_sys` crate contains raw rust bindings to the
+oniguruma library. This crate exposes a set of unsafe
+functions which can then be used by other crates to
+create safe wrappers around Oniguruma.
+
+You probably don't want to link to this crate directly;
+instead check out the `onig` crate.
+")
+    (description
+      "The `onig_sys` crate contains raw rust bindings to the
+oniguruma library.  This crate exposes a set of unsafe
+functions which can then be used by other crates to
+create safe wrappers around Oniguruma.
+
+You probably don't want to link to this crate directly;
+instead check out the `onig` crate.
+")
+    (license license:expat)))
+
 (define-public rust-once-cell-1.2
   (package
     (name "rust-once-cell")
@@ -11763,6 +13357,27 @@ Things in odds may move to more appropriate crates if 
we find them.")
      "Single assignment cells and lazy values.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-oorandom-11.1
+  (package
+    (name "rust-oorandom")
+    (version "11.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "oorandom" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "01clxfnz1zwg4maynvbgj09wlkj5m3c8kjqfrp3sqp59qb4wgkpb"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://hg.sr.ht/~icefox/oorandom";)
+    (synopsis "A tiny, robust PRNG implementation.")
+    (description
+      "This package provides a tiny, robust PRNG implementation.")
+    (license license:expat)))
+
 (define-public rust-opaque-debug-0.2
   (package
     (name "rust-opaque-debug")
@@ -12088,18 +13703,45 @@ under its new name.")
      "A cross-platform library for opening OS pipes.")
     (license license:expat)))
 
-(define-public rust-osmesa-sys-0.1
+(define-public rust-output-vt100-0.1
   (package
-    (name "rust-osmesa-sys")
+    (name "rust-output-vt100")
     (version "0.1.2")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "osmesa-sys" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "output_vt100" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1ygqplpxz4gg3i8f3rkan2q69pqll7gv65l2mmd8r9dphnvwbkak"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-winapi" ,rust-winapi-0.3))))
+    (home-page
+      "https://github.com/Phundrak/output-vt100-rs";)
+    (synopsis
+      "Utility to activate escape codes in Windows' CMD and PowerShell")
+    (description
+      "Utility to activate escape codes in Windows' CMD and PowerShell")
+    (license license:expat)))
+
+(define-public rust-osmesa-sys-0.1
+  (package
+    (name "rust-osmesa-sys")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "osmesa-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
          "0fq1q1zcgfb0qydrg9r2738jlwc4hqxgb9vj11z72bjxx7kfrkw8"))))
     (build-system cargo-build-system)
     (arguments
@@ -12187,6 +13829,65 @@ normally prevent moving a type that has been borrowed 
from.")
       "This package provides a library for padding strings at runtime.")
     (license license:expat)))
 
+(define-public rust-palette-0.5
+  (package
+    (name "rust-palette")
+    (version "0.5.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "palette" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0nfc4ycdsx2qgf2wkcpxqxc0vmx7188jjjx3ppgs8qlf8qs06p50"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-num-traits" ,rust-num-traits-0.2)
+         ("rust-approx" ,rust-approx-0.3)
+         ("rust-palette-derive" ,rust-palette-derive-0.5)
+         ("rust-phf" ,rust-phf-0.8)
+         ("rust-phf-codegen" ,rust-phf-codegen-0.8)
+         ("rust-serde" ,rust-serde-1.0))))
+    (home-page "https://github.com/Ogeon/palette";)
+    (synopsis
+      "Makes linear color calculations and conversion easy and accessible for 
anyone.")
+    (description
+      "Makes linear color calculations and conversion easy and accessible for 
anyone.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-palette-derive-0.5
+  (package
+    (name "rust-palette-derive")
+    (version "0.5.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "palette_derive" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1x5icddb877923rpl27bg4cjsf1x0d3layxmgwa3mpb01rh5yjqb"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+         ("rust-syn" ,rust-syn-1.0)
+         ("rust-quote" ,rust-quote-1.0))))
+    (home-page "https://github.com/Ogeon/palette";)
+    (synopsis
+      "Automatically implement traits from the palette crate.")
+    (description
+      "Automatically implement traits from the palette crate.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-pango-0.7
   (package
     (name "rust-pango")
@@ -12320,6 +14021,28 @@ normally prevent moving a type that has been borrowed 
from.")
     (description "This package provides FFI bindings to libgtk-3.")
     (license license:expat)))
 
+(define-public rust-parity-wasm-0.41
+  (package
+    (name "rust-parity-wasm")
+    (version "0.41.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "parity-wasm" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0rfqgjyxrxrfjq5r5n81mdklahl8g4az6yhyyvw25nh0mj6qgz6x"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page
+      "https://github.com/paritytech/parity-wasm";)
+    (synopsis "WebAssembly low-level format library")
+    (description
+      "WebAssembly low-level format library")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-parity-wasm-0.40
   (package
     (name "rust-parity-wasm")
@@ -12573,7 +14296,7 @@ synchronization primitives.")
 (define-public rust-paste-0.1
   (package
     (name "rust-paste")
-    (version "0.1.7")
+    (version "0.1.10")
     (source
      (origin
        (method url-fetch)
@@ -12582,12 +14305,15 @@ synchronization primitives.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0in0dqar8s16w6gbwyzwvckm80ala02pq87innx1w6yp73kszqb3"))))
+         "0yk4zbi7128dcrklsbwfa63d39x0dv8f7pdbrylvdlcj0s9v2kxb"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-paste-impl" ,rust-paste-impl-0.1)
-        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))))
+        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))
+       #:cargo-development-inputs
+       (("rust-rustversion" ,rust-rustversion-1.0)
+        ("rust-trybuild" ,rust-trybuild-1.0))))
     (home-page "https://github.com/dtolnay/paste";)
     (synopsis "Macros for all your token pasting needs")
     (description
@@ -12597,7 +14323,7 @@ synchronization primitives.")
 (define-public rust-paste-impl-0.1
   (package
     (name "rust-paste-impl")
-    (version "0.1.7")
+    (version "0.1.10")
     (source
      (origin
        (method url-fetch)
@@ -12606,7 +14332,7 @@ synchronization primitives.")
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1fwj11j5lhya5fjr4gfljxfm74ahlr09c8xbb8f22hzpyskw8kbd"))))
+         "12jsm83dnsqnrcabfacnwcxh3h4kykl622vi7glv2wg527hqc956"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -12895,6 +14621,36 @@ algorithm.")
 algorithms.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-phf-0.8
+  (package
+    (name "rust-phf")
+    (version "0.8.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "phf" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "04pyv8bzqvw69rd5dynd5nb85py1hf7wa4ixyhrvdz1l5qin3yrx"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-proc-macro-hack"
+          ,rust-proc-macro-hack-0.5)
+         ("rust-phf-shared" ,rust-phf-shared-0.8)
+         ("rust-phf-macros" ,rust-phf-macros-0.8))))
+    (home-page
+      "https://github.com/sfackler/rust-phf";)
+    (synopsis
+      "Runtime support for perfect hash function data structures")
+    (description
+      "Runtime support for perfect hash function data structures")
+    (license license:expat)))
+
 (define-public rust-phf-0.7
   (package
     (name "rust-phf")
@@ -12920,6 +14676,31 @@ algorithms.")
      "Runtime support for perfect hash function data structures.")
     (license license:expat)))
 
+(define-public rust-phf-codegen-0.8
+  (package
+    (name "rust-phf-codegen")
+    (version "0.8.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "phf_codegen" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "05d8w7aqqjb6039pfm6404gk5dlwrrf97kiy1n21212vb1hyxzyb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build?
+       #t
+       #:cargo-inputs
+       (("rust-phf-generator" ,rust-phf-generator-0.8)
+        ("rust-phf-shared" ,rust-phf-shared-0.8))))
+    (home-page "https://github.com/sfackler/rust-phf";)
+    (synopsis "Codegen library for PHF types")
+    (description "Codegen library for PHF types")
+    (license license:expat)))
+
 (define-public rust-phf-codegen-0.7
   (package
     (name "rust-phf-codegen")
@@ -12944,6 +14725,33 @@ algorithms.")
     (description "Codegen library for PHF types.")
     (license license:expat)))
 
+(define-public rust-phf-generator-0.8
+  (package
+    (name "rust-phf-generator")
+    (version "0.8.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "phf_generator" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "09i5338d1kixq6a60fcayz6awgxjlxcfw9ic5f02abbgr067ydhp"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-criterion" ,rust-criterion-0.3)
+         ("rust-rand" ,rust-rand-0.7)
+         ("rust-phf-shared" ,rust-phf-shared-0.8))))
+    (home-page
+      "https://github.com/sfackler/rust-phf";)
+    (synopsis "PHF generation logic")
+    (description "PHF generation logic")
+    (license license:expat)))
+
 (define-public rust-phf-generator-0.7
   (package
     (name "rust-phf-generator")
@@ -12967,6 +14775,39 @@ algorithms.")
     (description "PHF generation logic")
     (license license:expat)))
 
+(define-public rust-phf-macros-0.8
+  (package
+    (name "rust-phf-macros")
+    (version "0.8.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "phf_macros" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "170qm6yqn6b9mjlwb2xmm3iad9d5nzwgfawfwy7zr7s2zwcdwvvz"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-proc-macro-hack"
+          ,rust-proc-macro-hack-0.5)
+         ("rust-phf-generator" ,rust-phf-generator-0.8)
+         ("rust-phf-shared" ,rust-phf-shared-0.8)
+         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+         ("rust-syn" ,rust-syn-1.0)
+         ("rust-quote" ,rust-quote-1.0))))
+    (home-page
+      "https://github.com/sfackler/rust-phf";)
+    (synopsis
+      "Macros to generate types in the phf crate")
+    (description
+      "Macros to generate types in the phf crate")
+    (license license:expat)))
+
 (define-public rust-phf-macros-0.7
   (package
     (name "rust-phf-macros")
@@ -12999,23 +14840,50 @@ algorithms.")
      "Macros to generate types in the phf crate.")
     (license license:expat)))
 
-(define-public rust-phf-shared-0.7
+(define-public rust-phf-shared-0.8
   (package
     (name "rust-phf-shared")
-    (version "0.7.24")
+    (version "0.8.0")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "phf-shared" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "18371fla0vsj7d6d5rlfb747xbr2in11ar9vgv5qna72bnhp2kr3"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "phf_shared" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1xssnqrrcn0nr9ayqrnm8xm37ac4xvwcx8pax7jxss7yxawzh360"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-siphasher" ,rust-siphasher-0.2)
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-siphasher" ,rust-siphasher-0.3)
+         ("rust-unicase" ,rust-unicase-2.6))))
+    (home-page
+      "https://github.com/sfackler/rust-phf";)
+    (synopsis "Support code shared by PHF libraries")
+    (description
+      "Support code shared by PHF libraries")
+    (license license:expat)))
+
+(define-public rust-phf-shared-0.7
+  (package
+    (name "rust-phf-shared")
+    (version "0.7.24")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "phf-shared" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "18371fla0vsj7d6d5rlfb747xbr2in11ar9vgv5qna72bnhp2kr3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-siphasher" ,rust-siphasher-0.2)
         ("rust-unicase" ,rust-unicase-1))))
     (home-page "https://github.com/sfackler/rust-phf";)
     (synopsis "Support code shared by PHF libraries")
@@ -13062,13522 +14930,9034 @@ algorithms.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-pkg-config-0.3
+(define-public rust-piston-0.49
   (package
-    (name "rust-pkg-config")
-    (version "0.3.17")
+    (name "rust-piston")
+    (version "0.49.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "pkg-config" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "piston" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "0xynnaxdv0gzadlw4h79j855k0q7rj4zb9xb1vk00nc6ss559nh5"))))
+          (base32
+            "1y0rbw92mzagqmwk79wv9axq0m7aid0s0d5cppyzh33wrxhdl3xj"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-development-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1))))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (home-page "https://github.com/rust-lang/pkg-config-rs";)
-    (synopsis "Library to run the pkg-config system tool")
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-pistoncore-input"
+          ,rust-pistoncore-input-0.28)
+         ("rust-pistoncore-window"
+          ,rust-pistoncore-window-0.44)
+         ("rust-pistoncore-event-loop"
+          ,rust-pistoncore-event-loop-0.49))))
+    (home-page
+      "https://github.com/PistonDevelopers/piston";)
+    (synopsis
+      "The Piston game engine core libraries")
     (description
-     "A library to run the pkg-config system tool at build time in order to be
-used in Cargo build scripts.")
-    (license (list license:asl2.0
-                   license:expat))))
+      "The Piston game engine core libraries")
+    (license license:expat)))
 
-(define-public rust-plain-0.2
+(define-public rust-piston-float-1.0
   (package
-    (name "rust-plain")
-    (version "0.2.3")
+    (name "rust-piston-float")
+    (version "1.0.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "plain" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "piston-float" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "19n1xbxb4wa7w891268bzf6cbwq4qvdb86bik1z129qb0xnnnndl"))))
+          (base32
+            "0r35aasycms79hf2vf1ap40kkp8ywgl4hmfkf762dq8jwd3vw07r"))))
     (build-system cargo-build-system)
-    (home-page "https://github.com/randomites/plain";)
-    (synopsis "Rust library that allows reinterpreting data safely")
-    (description "This package provides a small Rust library that allows users
- to reinterpret data of certain types safely.")
-    (license (list license:asl2.0
-                   license:expat))))
+    (arguments `(#:skip-build? #t))
+    (home-page
+      "https://github.com/pistondevelopers/float";)
+    (synopsis
+      "Traits for generic floats in game development")
+    (description
+      "Traits for generic floats in game development")
+    (license license:expat)))
 
-(define-public rust-plugin-0.2
+(define-public rust-piston-gfx-texture-0.40
   (package
-    (name "rust-plugin")
-    (version "0.2.6")
+    (name "rust-piston-gfx-texture")
+    (version "0.40.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "plugin" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "piston-gfx_texture" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "1q7nghkpvxxr168y2jnzh3w7qc9vfrby9n7ygy3xpj0bj71hsshs"))))
+          (base32
+            "1nr5awdgk3njfvfanszrv4gxz93f6skid1c8yijswccygripchqz"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-typemap" ,rust-typemap-0.3))
-       #:cargo-development-inputs
-       (("rust-void" ,rust-void-1.0))))
-    (home-page "https://github.com/reem/rust-plugin";)
-    (synopsis "Lazily evaluated, order-independent plugins for extensible 
types")
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-gfx" ,rust-gfx-0.18)
+         ("rust-image" ,rust-image-0.22)
+         ("rust-piston-texture" ,rust-piston-texture-0.8)
+         ("rust-gfx-core" ,rust-gfx-core-0.9))))
+    (home-page
+      "https://github.com/pistondevelopers/gfx_texture";)
+    (synopsis
+      "A Gfx texture representation that works nicely with Piston libraries")
     (description
-     "Lazily evaluated, order-independent plugins for extensible types.")
+      "This package provides a Gfx texture representation that works nicely 
with Piston libraries")
     (license license:expat)))
 
-(define-public rust-pnacl-build-helper-1.4
+(define-public rust-piston-graphics-api-version-0.2
   (package
-    (name "rust-pnacl-build-helper")
-    (version "1.4.11")
+    (name "rust-piston-graphics-api-version")
+    (version "0.2.0")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "pnacl-build-helper" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "145hxz3m3sg8mm9sfqqqaarnna43v65l6whwswrvcvy0fzp17gnz"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "piston-graphics_api_version" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1b5p6s45jqv057lpbxkiq3yrdjjhvcynmi2vjf8292rf0yh4hky5"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-tempdir" ,rust-tempdir-0.3)
-        ("rust-walkdir" ,rust-walkdir-1.0))))
-    (home-page "https://github.com/DiamondLovesYou/cargo-pnacl-helper";)
+    (arguments `(#:skip-build? #t))
+    (home-page
+      "https://github.com/PistonDevelopers/graphics_api_version";)
     (synopsis
-     "Build script helper for building PNaCl/NaCl C/CXX libraries from source")
+      "A library for storing graphics API versions")
     (description
-     "Build script helper for building PNaCl/NaCl C/CXX libraries from source")
-    (license license:mpl2.0)))
+      "This package provides a library for storing graphics API versions")
+    (license license:expat)))
 
-(define-public rust-png-0.15
+(define-public rust-piston-shaders-graphics2d-0.3
   (package
-    (name "rust-png")
-    (version "0.15.3")
+    (name "rust-piston-shaders-graphics2d")
+    (version "0.3.1")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "png" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "10x2qkhyfnm3si5vgx77r2ik811gaap7ahi825wfxgsb0lirm1gg"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "piston-shaders_graphics2d" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1dhh9bv4q19gdnj9d1nqq0yrvzs6gcn0c5j1p1f3xzyzq7d1gg4p"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-crc32fast" ,rust-crc32fast-1.2)
-        ("rust-deflate" ,rust-deflate-0.7)
-        ("rust-inflate" ,rust-inflate-0.4))
-       #:cargo-development-inputs
-       (("rust-getopts" ,rust-getopts-0.2)
-        ;; TODO: glium has many cyclic dependencies with other packages
-        ;;("rust-glium" ,rust-glium-0.24)
-        ("rust-glob" ,rust-glob-0.3)
-        ("rust-rand" ,rust-rand-0.7)
-        ("rust-term" ,rust-term-0.6))))
-    (home-page "https://github.com/image-rs/image-png.git";)
-    (synopsis "PNG decoding and encoding library in pure Rust")
+    (arguments `(#:skip-build? #t))
+    (home-page
+      "https://github.com/PistonDevelopers/shaders";)
+    (synopsis "Shaders for 2D graphics in Rust")
+    (description "Shaders for 2D graphics in Rust")
+    (license license:expat)))
+
+(define-public rust-piston-texture-0.8
+  (package
+    (name "rust-piston-texture")
+    (version "0.8.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "piston-texture" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1pcv5my49b8xzqcb87wqh2ndgvr4s9ipys96s0h9j2plxrj3bjb2"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page
+      "https://github.com/pistondevelopers/texture";)
+    (synopsis "A generic library for textures")
     (description
-     "PNG decoding and encoding library in pure Rust.")
-    (license (list license:expat license:asl2.0))))
+      "This package provides a generic library for textures")
+    (license license:expat)))
 
-(define-public rust-png-0.14
+(define-public rust-piston-viewport-1.0
   (package
-    (inherit rust-png-0.15)
-    (name "rust-png")
-    (version "0.14.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "png" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0nf3a8r9p9zrj4x30b48f7yv18dz9xkmrq9b3lnzmpnhzn0z9nk3"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-deflate" ,rust-deflate-0.7)
-        ("rust-inflate" ,rust-inflate-0.4)
-        ("rust-num-iter" ,rust-num-iter-0.1))
-       #:cargo-development-inputs
-       (("rust-getopts" ,rust-getopts-0.2)
-        ;; TODO: glium has many cyclic dependencies with other packages
-        ;; ("rust-glium" ,rust-glium-0.22)
-        ("rust-glob" ,rust-glob-0.2)
-        ("rust-rand" ,rust-rand-0.5)
-        ("rust-term" ,rust-term-0.4))))))
-
-(define-public rust-png-0.12
-  (package
-    (inherit rust-png-0.14)
-    (name "rust-png")
-    (version "0.12.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "png" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0nqlc8lqf8ncv3kj0gzlxwli61dbbxcjlrp176kvilw4sl09cjzm"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-deflate" ,rust-deflate-0.7)
-        ("rust-inflate" ,rust-inflate-0.4)
-        ("rust-num-iter" ,rust-num-iter-0.1))
-       #:cargo-development-inputs
-       (("rust-getopts" ,rust-getopts-0.2)
-        ;; TODO: gluum has many cyclic dependencies with other packages
-        ;; ("rust-glium" ,rust-glium-0.21)
-        ("rust-glob" ,rust-glob-0.2)
-        ("rust-term" ,rust-term-0.4))))))
-
-(define-public rust-pocket-resources-0.3
-  (package
-    (name "rust-pocket-resources")
-    (version "0.3.2")
+    (name "rust-piston-viewport")
+    (version "1.0.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "pocket-resources" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "piston-viewport" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "1n2i5vmi8fdbw89wm5nz1ws1z9f1qax911p6ksg4scmdg23z6df1"))))
+          (base32
+            "16378hcy41b7x3zj2z4har0wq6fl4r62kf9p106jjl8hg2dv3aq1"))))
     (build-system cargo-build-system)
-    (home-page "https://github.com/tomaka/pocket-resources";)
-    (synopsis "Include resources in your applications")
-    (description "This crate allows you to include resources in your
-applications.")
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-piston-float" ,rust-piston-float-1.0))))
+    (home-page
+      "https://github.com/PistonDevelopers/viewport";)
+    (synopsis
+      "A library for storing viewport information")
+    (description
+      "This package provides a library for storing viewport information")
     (license license:expat)))
 
-(define-public rust-podio-0.1
+(define-public rust-piston-window-0.105
   (package
-    (name "rust-podio")
-    (version "0.1.6")
+    (name "rust-piston-window")
+    (version "0.105.0")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "podio" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1ga5arhwakj5rwrqzf9410zrbwnf24jd59af8kr9rgwbd6vb83vq"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "piston_window" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "05n2905gkp5ck25kbq95ia6pj1xz63dpp247jz3xcw1d41xpvi95"))))
     (build-system cargo-build-system)
-    ;(arguments '(#:skip-build? #t))
-    (home-page "https://github.com/mvdnes/podio.git";)
-    (synopsis "Additional trait to read and write Plain Old Data")
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-gfx-device-gl" ,rust-gfx-device-gl-0.16)
+         ("rust-gfx" ,rust-gfx-0.18)
+         ("rust-piston2d-graphics"
+          ,rust-piston2d-graphics-0.35)
+         ("rust-piston" ,rust-piston-0.49)
+         ("rust-shader-version" ,rust-shader-version-0.6)
+         ("rust-pistoncore-glutin-window"
+          ,rust-pistoncore-glutin-window-0.63)
+         ("rust-piston2d-gfx-graphics"
+          ,rust-piston2d-gfx-graphics-0.66)
+         ("rust-piston-texture" ,rust-piston-texture-0.8))))
+    (home-page
+      "https://github.com/pistondevelopers/piston_window";)
+    (synopsis
+      "The official Piston window wrapper for the Piston game engine")
     (description
-     "Additional trait for Read and Write to read and write Plain Old Data.")
-    (license (list license:expat license:asl2.0))))
+      "The official Piston window wrapper for the Piston game engine")
+    (license license:expat)))
 
-(define-public rust-ppv-lite86-0.2
+(define-public rust-piston2d-gfx-graphics-0.66
   (package
-    (name "rust-ppv-lite86")
-    (version "0.2.6")
+    (name "rust-piston2d-gfx-graphics")
+    (version "0.66.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "ppv-lite86" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "piston2d-gfx_graphics" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "06zs492wbms7j5qhy58cs3976c7kyc47rx0d6fn63rgvp580njbl"))))
+          (base32
+            "1pmlkf5rl6pr0c1lqm0059xwj9pwlws7gaq9w6r9d916di6fzki1"))))
     (build-system cargo-build-system)
-    (home-page "https://github.com/cryptocorrosion/cryptocorrosion";)
-    (synopsis "Implementation of the crypto-simd API for x86")
-    (description "This crate provides an implementation of the crypto-simd API
-for x86.")
-    (license (list license:asl2.0
-                   license:expat))))
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-gfx" ,rust-gfx-0.18)
+         ("rust-piston-shaders-graphics2d"
+          ,rust-piston-shaders-graphics2d-0.3)
+         ("rust-piston2d-graphics"
+          ,rust-piston2d-graphics-0.35)
+         ("rust-piston-gfx-texture"
+          ,rust-piston-gfx-texture-0.40)
+         ("rust-shader-version" ,rust-shader-version-0.6)
+         ("rust-draw-state" ,rust-draw-state-0.8))))
+    (home-page
+      "https://github.com/PistonDevelopers/gfx_graphics";)
+    (synopsis
+      "A Gfx 2D back-end for the Piston game engine")
+    (description
+      "This package provides a Gfx 2D back-end for the Piston game engine")
+    (license license:expat)))
 
-(define-public rust-precomputed-hash-0.1
+(define-public rust-piston2d-graphics-0.35
   (package
-    (name "rust-precomputed-hash")
-    (version "0.1.1")
+    (name "rust-piston2d-graphics")
+    (version "0.35.0")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "precomputed-hash" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "075k9bfy39jhs53cb2fpb9klfakx2glxnf28zdw08ws6lgpq6lwj"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "piston2d-graphics" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1dx2fanxc2pj76hc5l72x0fh4qg9gchjlr8rmbhdk6jpggcmq56g"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-interpolation" ,rust-interpolation-0.2)
+         ("rust-rusttype" ,rust-rusttype-0.7)
+         ("rust-piston-texture" ,rust-piston-texture-0.8)
+         ("rust-piston-viewport"
+          ,rust-piston-viewport-1.0)
+         ("rust-read-color" ,rust-read-color-1.0)
+         ("rust-vecmath" ,rust-vecmath-1.0)
+         ("rust-fnv" ,rust-fnv-1.0))))
     (home-page
-     "https://github.com/emilio/precomputed-hash";)
+      "https://github.com/pistondevelopers/graphics";)
     (synopsis
-     "Base dependency to expose a precomputed hash")
+      "A library for 2D graphics that works with multiple back-ends")
     (description
-     "This package provides a library intending to be a base
-dependency to expose a precomputed hash.")
+      "This package provides a library for 2D graphics that works with 
multiple back-ends")
     (license license:expat)))
 
-;; Cyclic dependencies with rust-demo-hack.
-(define-public rust-proc-macro-hack-0.5
+(define-public rust-pistoncore-event-loop-0.49
   (package
-    (name "rust-proc-macro-hack")
-    (version "0.5.11")
+    (name "rust-pistoncore-event-loop")
+    (version "0.49.0")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "proc-macro-hack" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1idz5vmnjjhvr51yvwyjb45mza18wa53fr05m1skqvbdyw15gm7c"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "pistoncore-event_loop" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1h9ij9vx42xg39198yxdlpk842pli5jqm2kwswiv3bqqcji0fwsm"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))
-       #:cargo-development-inputs
-       (("rust-demo-hack" ,rust-demo-hack-0.0)
-        ("rust-demo-hack-impl" ,rust-demo-hack-impl-0.0))))
-    (home-page "https://github.com/dtolnay/proc-macro-hack";)
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-pistoncore-input"
+          ,rust-pistoncore-input-0.28)
+         ("rust-pistoncore-window"
+          ,rust-pistoncore-window-0.44))))
+    (home-page
+      "https://github.com/PistonDevelopers/piston";)
     (synopsis
-     "Procedural macros in expression position")
+      "A Piston event loop for games and interactive applications")
     (description
-     "Procedural macros in expression position.")
-    (license (list license:expat license:asl2.0))))
+      "This package provides a Piston event loop for games and interactive 
applications")
+    (license license:expat)))
 
-(define-public rust-proc-macro-hack-0.4
+(define-public rust-pistoncore-glutin-window-0.63
   (package
-    (inherit rust-proc-macro-hack-0.5)
-    (name "rust-proc-macro-hack")
-    (version "0.4.2")
+    (name "rust-pistoncore-glutin-window")
+    (version "0.63.0")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "proc-macro-hack" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0fxn3qfhw76c518dfal2qqjwj5dbf0a1f7z0r5c4wd0igygg4fs6"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-proc-macro-hack-impl" ,rust-proc-macro-hack-impl-0.4))
-       #:cargo-development-inputs
-       (("rust-demo-hack" ,rust-demo-hack-0.0)
-        ("rust-demo-hack-impl" ,rust-demo-hack-impl-0.0))))))
-
-(define-public rust-proc-macro-hack-impl-0.4
-  (package
-    (name "rust-proc-macro-hack-impl")
-    (version "0.4.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "proc-macro-hack-impl" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0hk8g6s0zsi1ps0w48la2s8q5iqq42g8jfrgq3l2v04l2p5pvi1q"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "pistoncore-glutin_window" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0dhbyxarv5i742d400bmqdqq3f8c25kcgcg0xavrc18dc913rixc"))))
     (build-system cargo-build-system)
-    (home-page "https://github.com/dtolnay/proc-macro-hack";)
-    (synopsis "Procedural functionlike!() macros using only Macros 1.1")
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-gl" ,rust-gl-0.11)
+         ("rust-glutin" ,rust-glutin-0.21)
+         ("rust-pistoncore-input"
+          ,rust-pistoncore-input-0.28)
+         ("rust-pistoncore-window"
+          ,rust-pistoncore-window-0.44)
+         ("rust-shader-version" ,rust-shader-version-0.6))))
+    (home-page
+      "https://github.com/pistondevelopers/glutin_window";)
+    (synopsis
+      "A Piston window back-end using the Glutin library")
     (description
-     "Procedural functionlike!() macros using only Macros 1.1.")
-    (license (list license:expat license:asl2.0))))
+      "This package provides a Piston window back-end using the Glutin 
library")
+    (license license:expat)))
 
-(define-public rust-proc-macro-nested-0.1
+(define-public rust-pistoncore-input-0.28
   (package
-    (name "rust-proc-macro-nested")
-    (version "0.1.3")
+    (name "rust-pistoncore-input")
+    (version "0.28.0")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "proc-macro-nested" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0bmlksm8vl44wkwihmwr7jsjznhbg0n7aibcw1cs2jgjcp86x6in"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "pistoncore-input" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1rrcz9px098m3nx98gvrvzirfdp3vg03cblfkcrp4wnvswc0hwq5"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/dtolnay/proc-macro-hack";)
-    (synopsis
-     "Support for nested proc-macro-hack invocations")
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-piston-viewport"
+          ,rust-piston-viewport-1.0)
+         ("rust-serde" ,rust-serde-1.0)
+         ("rust-serde-derive" ,rust-serde-derive-1.0)
+         ("rust-bitflags" ,rust-bitflags-1))))
+    (home-page
+      "https://github.com/PistonDevelopers/piston";)
+    (synopsis "A structure for user input")
     (description
-     "Support for nested proc-macro-hack invocations.")
-    (license (list license:expat license:asl2.0))))
+      "This package provides a structure for user input")
+    (license license:expat)))
 
-(define-public rust-proc-macro2-1.0
+(define-public rust-pistoncore-window-0.44
   (package
-    (name "rust-proc-macro2")
-    (version "1.0.8")
+    (name "rust-pistoncore-window")
+    (version "0.44.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "proc-macro2" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "pistoncore-window" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "0j45p176fnw0d02dzcky9sxyr4fadiggq07skmblwspqdxy33jrs"))))
+          (base32
+            "18qy3nnpb9jczvkiyzzznamck0pzgiyi6073jrkldnci6b3in10q"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-unicode-xid" ,rust-unicode-xid-0.2))
-       #:cargo-development-inputs
-       (("rust-quote" ,rust-quote-1.0))))
-    (home-page "https://github.com/alexcrichton/proc-macro2";)
-    (synopsis "Stable implementation of the upcoming new `proc_macro` API")
-    (description "This package provides a stable implementation of the 
upcoming new
-`proc_macro` API.  Comes with an option, off by default, to also reimplement 
itself
-in terms of the upstream unstable API.")
-    (license (list license:asl2.0 license:expat))))
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-piston-graphics-api-version"
+          ,rust-piston-graphics-api-version-0.2)
+         ("rust-pistoncore-input"
+          ,rust-pistoncore-input-0.28))))
+    (home-page
+      "https://github.com/PistonDevelopers/piston";)
+    (synopsis "A library for window abstraction")
+    (description
+      "This package provides a library for window abstraction")
+    (license license:expat)))
 
-(define-public rust-proc-macro2-0.4
+(define-public rust-pkg-config-0.3
   (package
-    (inherit rust-proc-macro2-1.0)
-    (name "rust-proc-macro2")
-    (version "0.4.30")
+    (name "rust-pkg-config")
+    (version "0.3.17")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "proc-macro2" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "pkg-config" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg"))))
+          "0xynnaxdv0gzadlw4h79j855k0q7rj4zb9xb1vk00nc6ss559nh5"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-unicode-xid" ,rust-unicode-xid-0.1))
-       #:cargo-development-inputs
-       (("rust-quote" ,rust-quote-0.6))))))
+     `(#:cargo-development-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "https://github.com/rust-lang/pkg-config-rs";)
+    (synopsis "Library to run the pkg-config system tool")
+    (description
+     "A library to run the pkg-config system tool at build time in order to be
+used in Cargo build scripts.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-procedural-masquerade-0.1
+(define-public rust-plain-0.2
   (package
-    (name "rust-procedural-masquerade")
-    (version "0.1.6")
+    (name "rust-plain")
+    (version "0.2.3")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "procedural-masquerade" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "plain" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1l098px1hwdzqnxl376a9hfxb9q8kmj2n0y0s8k7plrz3jjp85cs"))))
+          "19n1xbxb4wa7w891268bzf6cbwq4qvdb86bik1z129qb0xnnnndl"))))
     (build-system cargo-build-system)
-    (home-page "https://github.com/servo/rust-cssparser";)
-    (synopsis "Macro rules for proc-macro-derive")
-    (description
-     "This package provides @code{macro_rules} for making
-@code{proc_macro_derive} pretend to be @code{proc_macro}.")
-    (license (list license:expat license:asl2.0))))
+    (home-page "https://github.com/randomites/plain";)
+    (synopsis "Rust library that allows reinterpreting data safely")
+    (description "This package provides a small Rust library that allows users
+ to reinterpret data of certain types safely.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-proptest-0.9
+(define-public rust-plist-0.4
   (package
-    (name "rust-proptest")
-    (version "0.9.4")
+    (name "rust-plist")
+    (version "0.4.2")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "proptest" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "17sjg8isas4qk85807c4panih9k0lwa4k1mbajhciw5c5q17w56g"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "plist" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0zqnxc5i4y6mj119vr0lzpb5j67vffpx2phhgh711533bw3ryajz"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-bit-set" ,rust-bit-set-0.5)
-        ("rust-bitflags" ,rust-bitflags-1)
-        ("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-num-traits" ,rust-num-traits-0.2)
-        ("rust-quick-error" ,rust-quick-error-1.2)
-        ("rust-rand" ,rust-rand-0.4)
-        ("rust-rand-chacha" ,rust-rand-chacha-0.2)
-        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
-        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
-        ("rust-rusty-fork" ,rust-rusty-fork-0.2)
-        ("rust-tempfile" ,rust-tempfile-3.0))
-       #:cargo-development-inputs
-       (("rust-regex" ,rust-regex-1.1))))
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-line-wrap" ,rust-line-wrap-0.1)
+         ("rust-base64" ,rust-base64-0.10)
+         ("rust-xml-rs" ,rust-xml-rs-0.8)
+         ("rust-serde" ,rust-serde-1.0)
+         ("rust-humantime" ,rust-humantime-1.3)
+         ("rust-byteorder" ,rust-byteorder-1.3))))
     (home-page
-     "https://altsysrq.github.io/proptest-book/proptest/index.html";)
+      "https://github.com/ebarnard/rust-plist/";)
     (synopsis
-     "Hypothesis-like property-based testing and shrinking")
+      "A rusty plist parser. Supports Serde serialization.")
     (description
-     "Hypothesis-like property-based testing and shrinking.")
-    (license (list license:asl2.0 license:expat))))
+      "This package provides a rusty plist parser.  Supports Serde 
serialization.")
+    (license license:expat)))
 
-(define-public rust-proptest-0.8
+(define-public rust-plotters-0.2
   (package
-    (inherit rust-proptest-0.9)
-    (name "rust-proptest")
-    (version "0.8.7")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "proptest" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "07qrxwsd72wr1cqs0b5b159lnagjffp0l4s4zriz8jak8w20cvcj"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:tests? #f      ; 1 doc test fails
-       #:cargo-inputs
-       (("rust-bit-set" ,rust-bit-set-0.5)
-        ("rust-bitflags" ,rust-bitflags-1)
-        ("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-num-traits" ,rust-num-traits-0.2)
-        ("rust-quick-error" ,rust-quick-error-1.2)
-        ("rust-rand" ,rust-rand-0.5)
-        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
-        ("rust-rusty-fork" ,rust-rusty-fork-0.2)
-        ("rust-tempfile" ,rust-tempfile-3.0))
-       #:cargo-development-inputs
-       (("rust-regex" ,rust-regex-1.1))))))
-
-(define-public rust-psm-0.1
-  (package
-    (name "rust-psm")
-    (version "0.1.6")
+    (name "rust-plotters")
+    (version "0.2.12")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "psm" version))
+        (uri (crate-uri "plotters" version))
         (file-name
-         (string-append name "-" version ".tar.gz"))
+          (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "1q1hdbnp2j3zz1vhzp1xhds6ynan3mg5bhjlhfy5m1sg8n5wckxi"))))
+          (base32
+            "1ssycy9an23vs9hq098c7kl1dvp5ych20d994lhsw9vx4kdbhfsf"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-development-inputs
-       (("rust-cc" ,rust-cc-1.0))))
-    (home-page "https://github.com/rust-lang/stacker/";)
-    (synopsis "Stack manipulation and introspection routines")
-    (description "This crate provides very portable functions to control the
-stack pointer and inspect the properties of the stack.")
-    (license (list license:isc license:asl2.0))))
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-gif" ,rust-gif-0.10)
+         ("rust-piston-window" ,rust-piston-window-0.105)
+         ("rust-num-traits" ,rust-num-traits-0.2)
+         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+         ("rust-image" ,rust-image-0.22)
+         ("rust-js-sys" ,rust-js-sys-0.3)
+         ("rust-web-sys" ,rust-web-sys-0.3)
+         ("rust-font-kit" ,rust-font-kit-0.4)
+         ("rust-chrono" ,rust-chrono-0.4)
+         ("rust-palette" ,rust-palette-0.5)
+         ("rust-cairo-rs" ,rust-cairo-rs-0.7)
+         ("rust-rusttype" ,rust-rusttype-0.8)
+         ("rust-lazy-static" ,rust-lazy-static-1.4))))
+    (home-page "https://github.com/38/plotters";)
+    (synopsis
+      "A Rust drawing library focus on data plotting for both WASM and native 
applications")
+    (description
+      "This package provides a Rust drawing library focus on data plotting for 
both WASM and native applications")
+    (license license:expat)))
 
-(define-public rust-pulldown-cmark-0.4
+(define-public rust-plugin-0.2
   (package
-    (name "rust-pulldown-cmark")
-    (version "0.4.1")
+    (name "rust-plugin")
+    (version "0.2.6")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "pulldown-cmark" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1db8vlhm3n72051bkq4am80q28rfrh88796i3y9ajf5hhk3lrdyi"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "plugin" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1q7nghkpvxxr168y2jnzh3w7qc9vfrby9n7ygy3xpj0bj71hsshs"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-getopts" ,rust-getopts-0.2)
-        ("rust-memchr" ,rust-memchr-2.2)
-        ("rust-unicase" ,rust-unicase-2.4))
+     `(#:cargo-inputs
+       (("rust-typemap" ,rust-typemap-0.3))
        #:cargo-development-inputs
-       (("rust-criterion" ,rust-criterion-0.2)
-        ("rust-html5ever" ,rust-html5ever-0.23)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-regex" ,rust-regex-1.1)
-        ("rust-tendril" ,rust-tendril-0.4))))
-    (home-page "https://github.com/raphlinus/pulldown-cmark";)
-    (synopsis "Pull parser for CommonMark")
+       (("rust-void" ,rust-void-1.0))))
+    (home-page "https://github.com/reem/rust-plugin";)
+    (synopsis "Lazily evaluated, order-independent plugins for extensible 
types")
     (description
-     "This package provides a pull parser for CommonMark.")
+     "Lazily evaluated, order-independent plugins for extensible types.")
     (license license:expat)))
 
-(define-public rust-quantiles-0.7
+(define-public rust-pnacl-build-helper-1.4
   (package
-    (name "rust-quantiles")
-    (version "0.7.1")
+    (name "rust-pnacl-build-helper")
+    (version "1.4.11")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "quantiles" version))
+       (uri (crate-uri "pnacl-build-helper" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1wjp16a3d4bmldq9w2wds0q4gjz4mnsqac3g38r6ryr6zc9sh3y1"))))
+         "145hxz3m3sg8mm9sfqqqaarnna43v65l6whwswrvcvy0fzp17gnz"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))
-       #:cargo-development-inputs
-       (("rust-quickcheck" ,rust-quickcheck-0.5))))
-    (home-page "https://github.com/postmates/quantiles";)
-    (synopsis "Collection of approximate quantile algorithms")
+       (("rust-tempdir" ,rust-tempdir-0.3)
+        ("rust-walkdir" ,rust-walkdir-1.0))))
+    (home-page "https://github.com/DiamondLovesYou/cargo-pnacl-helper";)
+    (synopsis
+     "Build script helper for building PNaCl/NaCl C/CXX libraries from source")
     (description
-     "This package provides a collection of approximate quantile algorithms.")
-    (license license:expat)))
+     "Build script helper for building PNaCl/NaCl C/CXX libraries from source")
+    (license license:mpl2.0)))
 
-(define-public rust-quasi-0.32
+(define-public rust-png-0.15
   (package
-    (name "rust-quasi")
-    (version "0.32.0")
+    (name "rust-png")
+    (version "0.15.3")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "quasi" version))
+       (uri (crate-uri "png" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1csqqgz3aw85q570ywmhb34r3sqgi1sprf8xadfwzlfnai45ri0q"))))
+         "10x2qkhyfnm3si5vgx77r2ik811gaap7ahi825wfxgsb0lirm1gg"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-clippy" ,rust-clippy-0.0)
-        ("rust-syntex-errors" ,rust-syntex-errors-0.58)
-        ("rust-syntex-syntax" ,rust-syntex-syntax-0.58))))
-    (home-page "https://github.com/serde-rs/quasi";)
-    (synopsis "Quasi-quoting macro system")
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-crc32fast" ,rust-crc32fast-1.2)
+        ("rust-deflate" ,rust-deflate-0.7)
+        ("rust-inflate" ,rust-inflate-0.4))
+       #:cargo-development-inputs
+       (("rust-getopts" ,rust-getopts-0.2)
+        ;; TODO: glium has many cyclic dependencies with other packages
+        ;;("rust-glium" ,rust-glium-0.24)
+        ("rust-glob" ,rust-glob-0.3)
+        ("rust-rand" ,rust-rand-0.7)
+        ("rust-term" ,rust-term-0.6))))
+    (home-page "https://github.com/image-rs/image-png.git";)
+    (synopsis "PNG decoding and encoding library in pure Rust")
     (description
-     "This package provides a quasi-quoting macro system.")
+     "PNG decoding and encoding library in pure Rust.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-quasi-codegen-0.32
+(define-public rust-png-0.14
   (package
-    (name "rust-quasi-codegen")
-    (version "0.32.0")
+    (inherit rust-png-0.15)
+    (name "rust-png")
+    (version "0.14.1")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "quasi_codegen" version))
+       (uri (crate-uri "png" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1m3nwzn5ip8y86cyfk6hdnbhiinsk2faag7l0cc4q11wl9gy5fai"))))
-    (build-system cargo-build-system)
+         "0nf3a8r9p9zrj4x30b48f7yv18dz9xkmrq9b3lnzmpnhzn0z9nk3"))))
     (arguments
-     `(#:cargo-inputs
-       (("rust-aster" ,rust-aster-0.41)
-        ("rust-clippy" ,rust-clippy-0.0)
-        ("rust-syntex" ,rust-syntex-0.58)
-        ("rust-syntex-errors" ,rust-syntex-errors-0.58)
-        ("rust-syntex-syntax" ,rust-syntex-syntax-0.58))))
-    (home-page "https://github.com/serde-rs/quasi";)
-    (synopsis "Quasi-quoting macro system")
-    (description "This package provides a quasi-quoting macro system.")
-    (license (list license:expat license:asl2.0))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-deflate" ,rust-deflate-0.7)
+        ("rust-inflate" ,rust-inflate-0.4)
+        ("rust-num-iter" ,rust-num-iter-0.1))
+       #:cargo-development-inputs
+       (("rust-getopts" ,rust-getopts-0.2)
+        ;; TODO: glium has many cyclic dependencies with other packages
+        ;; ("rust-glium" ,rust-glium-0.22)
+        ("rust-glob" ,rust-glob-0.2)
+        ("rust-rand" ,rust-rand-0.5)
+        ("rust-term" ,rust-term-0.4))))))
 
-(define-public rust-quasi-macros-0.32
+(define-public rust-png-0.12
   (package
-    (name "rust-quasi-macros")
-    (version "0.32.0")
+    (inherit rust-png-0.14)
+    (name "rust-png")
+    (version "0.12.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "quasi_macros" version))
+       (uri (crate-uri "png" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1p825s96wa9xcc01pm5f4nlb01nx0pah50qnwkbncrw1q9xwiki9"))))
-    (build-system cargo-build-system)
+         "0nqlc8lqf8ncv3kj0gzlxwli61dbbxcjlrp176kvilw4sl09cjzm"))))
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-clippy" ,rust-clippy-0.0)
-        ("rust-quasi-codegen" ,rust-quasi-codegen-0.32))
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-deflate" ,rust-deflate-0.7)
+        ("rust-inflate" ,rust-inflate-0.4)
+        ("rust-num-iter" ,rust-num-iter-0.1))
        #:cargo-development-inputs
-       (("rust-aster" ,rust-aster-0.41)
-        ("rust-quasi" ,rust-quasi-0.32))))
-    (home-page "https://github.com/serde-rs/quasi";)
-    (synopsis "Quasi-quoting macro system")
-    (description "This package provides a quasi-quoting macro system.")
-    (license (list license:expat license:asl2.0))))
+       (("rust-getopts" ,rust-getopts-0.2)
+        ;; TODO: gluum has many cyclic dependencies with other packages
+        ;; ("rust-glium" ,rust-glium-0.21)
+        ("rust-glob" ,rust-glob-0.2)
+        ("rust-term" ,rust-term-0.4))))))
 
-(define-public rust-quick-error-1.2
+(define-public rust-pocket-resources-0.3
   (package
-    (name "rust-quick-error")
-    (version "1.2.3")
+    (name "rust-pocket-resources")
+    (version "0.3.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "quick-error" version))
+        (uri (crate-uri "pocket-resources" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1q6za3v78hsspisc197bg3g7rpc989qycy8ypr8ap8igv10ikl51"))))
+          "1n2i5vmi8fdbw89wm5nz1ws1z9f1qax911p6ksg4scmdg23z6df1"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/tailhook/quick-error";)
-    (synopsis "Macro which makes error types pleasant to write")
-    (description "This crate provides a macro which makes error types pleasant
-to write.")
-    (license (list license:asl2.0
-                   license:expat))))
+    (home-page "https://github.com/tomaka/pocket-resources";)
+    (synopsis "Include resources in your applications")
+    (description "This crate allows you to include resources in your
+applications.")
+    (license license:expat)))
 
-(define-public rust-quickcheck-0.9
+(define-public rust-podio-0.1
   (package
-    (name "rust-quickcheck")
-    (version "0.9.2")
+    (name "rust-podio")
+    (version "0.1.6")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "quickcheck" version))
+       (uri (crate-uri "podio" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0pwl7j21wmf843kpa9gr0byb40hg975ghjrwp0yxcym99bkq6j54"))))
+         "1ga5arhwakj5rwrqzf9410zrbwnf24jd59af8kr9rgwbd6vb83vq"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-env-logger" ,rust-env-logger-0.7)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-rand" ,rust-rand-0.7)
-        ("rust-rand-core" ,rust-rand-core-0.5))))
-    (home-page "https://github.com/BurntSushi/quickcheck";)
-    (synopsis "Automatic property based testing with shrinking")
-    (description
-     "QuickCheck is a way to do property based testing using randomly generated
-input.  This crate comes with the ability to randomly generate and shrink
-integers, floats, tuples, booleans, lists, strings, options and results.")
-    (license (list license:unlicense license:expat))))
+    ;(arguments '(#:skip-build? #t))
+    (home-page "https://github.com/mvdnes/podio.git";)
+    (synopsis "Additional trait to read and write Plain Old Data")
+    (description
+     "Additional trait for Read and Write to read and write Plain Old Data.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-quickcheck-0.8
+(define-public rust-ppv-lite86-0.2
   (package
-    (inherit rust-quickcheck-0.9)
-    (name "rust-quickcheck")
-    (version "0.8.5")
+    (name "rust-ppv-lite86")
+    (version "0.2.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ppv-lite86" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "06zs492wbms7j5qhy58cs3976c7kyc47rx0d6fn63rgvp580njbl"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/cryptocorrosion/cryptocorrosion";)
+    (synopsis "Implementation of the crypto-simd API for x86")
+    (description "This crate provides an implementation of the crypto-simd API
+for x86.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-precomputed-hash-0.1
+  (package
+    (name "rust-precomputed-hash")
+    (version "0.1.1")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "quickcheck" version))
+       (uri (crate-uri "precomputed-hash" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0mkl4wnvvjk4m32aq3an4ayfyvnmbxnzcybfm7n3fbsndb1xjdcw"))))
+         "075k9bfy39jhs53cb2fpb9klfakx2glxnf28zdw08ws6lgpq6lwj"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page
+     "https://github.com/emilio/precomputed-hash";)
+    (synopsis
+     "Base dependency to expose a precomputed hash")
+    (description
+     "This package provides a library intending to be a base
+dependency to expose a precomputed hash.")
+    (license license:expat)))
+
+(define-public rust-pretty-assertions-0.6
+  (package
+    (name "rust-pretty-assertions")
+    (version "0.6.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "pretty_assertions" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "09yl14gnmpygiqrdlsa64lcl4w6ydjl9m8jri6kgam0v9rjf309z"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-env-logger" ,rust-env-logger-0.6)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-rand" ,rust-rand-0.6)
-        ("rust-rand-core" ,rust-rand-core-0.4))))))
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-ctor" ,rust-ctor-0.1)
+         ("rust-output-vt100" ,rust-output-vt100-0.1)
+         ("rust-ansi-term" ,rust-ansi-term-0.11)
+         ("rust-difference" ,rust-difference-2.0))))
+    (home-page
+      "https://github.com/colin-kiegel/rust-pretty-assertions";)
+    (synopsis
+      "Overwrite `assert_eq!` and `assert_ne!` with drop-in replacements, 
adding colorful diffs.")
+    (description
+      "Overwrite `assert_eq!` and `assert_ne!` with drop-in replacements, 
adding colorful diffs.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-quickcheck-0.7
+(define-public rust-pretty-env-logger-0.3
   (package
-    (inherit rust-quickcheck-0.9)
-    (name "rust-quickcheck")
-    (version "0.7.2")
+    (name "rust-pretty-env-logger")
+    (version "0.3.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "quickcheck" version))
+        (uri (crate-uri "pretty_env_logger" version))
         (file-name
-         (string-append name "-" version ".tar.gz"))
+          (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "05pqzja6fwdyrs1za5vmxb9ifb993knmpdsrs1fs2wyz9qz7slyl"))))
+          (base32
+            "0x4hyjlnvvhyk9m74iypzybm22w3dl2k8img4b956239n5vf8zki"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-env-logger" ,rust-env-logger-0.5)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-rand" ,rust-rand-0.5)
-        ("rust-rand-core" ,rust-rand-core-0.2))))))
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-log" ,rust-log-0.4)
+         ("rust-chrono" ,rust-chrono-0.4)
+         ("rust-env-logger" ,rust-env-logger-0.6))))
+    (home-page
+      "https://github.com/seanmonstar/pretty-env-logger";)
+    (synopsis "a visually pretty env_logger")
+    (description "a visually pretty env_logger")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-quickcheck-0.6
+(define-public rust-proc-macro-error-0.4
   (package
-    (inherit rust-quickcheck-0.9)
-    (name "rust-quickcheck")
-    (version "0.6.2")
+    (name "rust-proc-macro-error")
+    (version "0.4.12")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "quickcheck" version))
+        (uri (crate-uri "proc-macro-error" version))
         (file-name
-         (string-append name "-" version ".tar.gz"))
+          (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "1dyazm2fcq0v9fscq1a7597zsvdl9f0j8c2bfj1jm2nlzz2sn6y0"))))
+          (base32
+            "1rvpaadwv7vmsp142qqh2axqrr9v78f1nvdsi9nhmfhy10kk1wqq"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-env-logger" ,rust-env-logger-0.5)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-rand" ,rust-rand-0.4))))))
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-proc-macro-error-attr"
+          ,rust-proc-macro-error-attr-0.4)
+         ("rust-version-check" ,rust-version-check-0.9)
+         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+         ("rust-syn" ,rust-syn-1.0)
+         ("rust-quote" ,rust-quote-1.0))))
+    (home-page
+      "https://gitlab.com/CreepySkeleton/proc-macro-error";)
+    (synopsis
+      "Almost drop-in replacement to panics in proc-macros")
+    (description
+      "Almost drop-in replacement to panics in proc-macros")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-quickcheck-0.5
+(define-public rust-proc-macro-error-attr-0.4
   (package
-    (inherit rust-quickcheck-0.9)
-    (name "rust-quickcheck")
-    (version "0.5.0")
+    (name "rust-proc-macro-error-attr")
+    (version "0.4.12")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "quickcheck" version))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "proc-macro-error-attr" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "1jzm1ygfbn4igaq14b9nipc8yvsn6c8panpgd1qiy5r2insjllyd"))))
+          (base32
+            "1pk9mwcfnpf8favgc2cl4sqlmi818p96hg8pfb51wg5nzmvlnnwa"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-env-logger" ,rust-env-logger-0.4)
-        ("rust-log" ,rust-log-0.3)
-        ("rust-rand" ,rust-rand-0.3))))))
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-syn-mid" ,rust-syn-mid-0.5)
+         ("rust-version-check" ,rust-version-check-0.9)
+         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+         ("rust-syn" ,rust-syn-1.0)
+         ("rust-quote" ,rust-quote-1.0))))
+    (home-page
+      "https://gitlab.com/CreepySkeleton/proc-macro-error";)
+    (synopsis
+      "Attribute macro for proc-macro-error crate")
+    (description
+      "Attribute macro for proc-macro-error crate")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-quickcheck-0.4
+(define-public rust-proc-macro-hack-0.5
   (package
-    (inherit rust-quickcheck-0.5)
-    (name "rust-quickcheck")
-    (version "0.4.1")
+    (name "rust-proc-macro-hack")
+    (version "0.5.15")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "quickcheck" version))
+       (uri (crate-uri "proc-macro-hack" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "01hligcv1h4pvc8ykch65qjzi7jgcq2s462v69j27slc84fl3hh2"))))
+         "0qqbfm1byabjkph56r2rlvv4cliz4960j6hav3ljazyjqvkryr8d"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-env-logger" ,rust-env-logger-0.3)
-        ("rust-log" ,rust-log-0.3)
-        ("rust-rand" ,rust-rand-0.3))))))
+     `(#:cargo-development-inputs
+       (("rust-quote" ,rust-quote-1.0)
+        ("rust-rustversion" ,rust-rustversion-1.0)
+        ("rust-syn" ,rust-syn-1.0)
+        ("rust-trybuild" ,rust-trybuild-1.0)
+        ("rust-demo-hack" ,rust-demo-hack-0.0)
+        ("rust-demo-hack-impl" ,rust-demo-hack-impl-0.0))))
+    (home-page "https://github.com/dtolnay/proc-macro-hack";)
+    (synopsis
+     "Procedural macros in expression position")
+    (description
+     "Procedural macros in expression position.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-quickcheck-0.2
+(define-public rust-proc-macro-hack-0.4
   (package
-    (inherit rust-quickcheck-0.4)
-    (name "rust-quickcheck")
-    (version "0.2.27")
+    (inherit rust-proc-macro-hack-0.5)
+    (name "rust-proc-macro-hack")
+    (version "0.4.2")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "quickcheck" version))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (uri (crate-uri "proc-macro-hack" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1vb4acppaavlnchzc1jmn5wlkgir9x9gmhgp97bavyxxqxgsg1nh"))))))
+         "0fxn3qfhw76c518dfal2qqjwj5dbf0a1f7z0r5c4wd0igygg4fs6"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro-hack-impl" ,rust-proc-macro-hack-impl-0.4))
+       #:cargo-development-inputs
+       (("rust-demo-hack" ,rust-demo-hack-0.0)
+        ("rust-demo-hack-impl" ,rust-demo-hack-impl-0.0))))))
 
-(define-public rust-quickcheck-macros-0.8
+(define-public rust-proc-macro-hack-impl-0.4
   (package
-    (name "rust-quickcheck-macros")
-    (version "0.8.0")
+    (name "rust-proc-macro-hack-impl")
+    (version "0.4.2")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "quickcheck_macros" version))
+       (uri (crate-uri "proc-macro-hack-impl" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0b3mhn0xcrdd3fkbkx3rghhivwzwil8w991ngp6gaj70l72c3pyp"))))
+         "0hk8g6s0zsi1ps0w48la2s8q5iqq42g8jfrgq3l2v04l2p5pvi1q"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
-        ("rust-quote" ,rust-quote-0.6)
-        ("rust-syn" ,rust-syn-0.15))
-       #:cargo-development-inputs
-       (("rust-quickcheck" ,rust-quickcheck-0.8))))
-    (home-page "https://github.com/BurntSushi/quickcheck";)
-    (synopsis "Macro attribute for quickcheck")
-    (description
-     "This package provides a macro attribute for quickcheck.")
-    (license (list license:unlicense license:expat))))
-
-(define-public rust-quote-1.0
-  (package
-    (name "rust-quote")
-    (version "1.0.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "quote" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1zkc46ryacf2jdkc6krsy2z615xbk1x8kp1830rcxz3irj5qqfh5"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0))
-       #:cargo-development-inputs
-       (("rust-rustversion" ,rust-rustversion-0.1)
-        ("rust-trybuild" ,rust-trybuild-1.0))))
-    (home-page "https://github.com/dtolnay/quote";)
-    (synopsis "Quasi-quoting macro quote!(...)")
-    (description "Quasi-quoting macro quote!(...)")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-quote-0.6
-  (package
-    (inherit rust-quote-1.0)
-    (name "rust-quote")
-    (version "0.6.13")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "quote" version))
-        (file-name (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "1qgqq48jymp5h4y082aanf25hrw6bpb678xh3zw993qfhxmkpqkc"))))
-    (arguments
-     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-0.4))))))
+    (home-page "https://github.com/dtolnay/proc-macro-hack";)
+    (synopsis "Procedural functionlike!() macros using only Macros 1.1")
+    (description
+     "Procedural functionlike!() macros using only Macros 1.1.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-quote-0.3
+(define-public rust-proc-macro-nested-0.1
   (package
-    (inherit rust-quote-0.6)
-    (name "rust-quote")
-    (version "0.3.15")
+    (name "rust-proc-macro-nested")
+    (version "0.1.3")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "quote" version))
+       (uri (crate-uri "proc-macro-nested" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0yhnnix4dzsv8y4wwz4csbnqjfh73al33j35msr10py6cl5r4vks"))))
-    (arguments '())))
+         "0bmlksm8vl44wkwihmwr7jsjznhbg0n7aibcw1cs2jgjcp86x6in"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/dtolnay/proc-macro-hack";)
+    (synopsis
+     "Support for nested proc-macro-hack invocations")
+    (description
+     "Support for nested proc-macro-hack invocations.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-rand-0.7
+(define-public rust-proc-macro2-1.0
   (package
-    (name "rust-rand")
-    (version "0.7.3")
+    (name "rust-proc-macro2")
+    (version "1.0.10")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rand" version))
+        (uri (crate-uri "proc-macro2" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "00sdaimkbz491qgi6qxkv582yivl32m2jd401kzbn94vsiwicsva"))))
+          "1qxbnl8i3a5b2nxb8kdxbq6kj3pd1ckhm35wm7z3jd7n5wlns96z"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-getrandom" ,rust-getrandom-0.1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-packed-simd" ,rust-packed-simd-0.3)
-        ("rust-rand-chacha" ,rust-rand-chacha-0.2)
-        ("rust-rand-core" ,rust-rand-core-0.5)
-        ("rust-rand-hc" ,rust-rand-hc-0.2)
-        ("rust-rand-pcg" ,rust-rand-pcg-0.2))
+     `(#:cargo-inputs
+       (("rust-unicode-xid" ,rust-unicode-xid-0.2))
        #:cargo-development-inputs
-       (("rust-rand-hc" ,rust-rand-hc-0.2)
-        ("rust-rand-pcg" ,rust-rand-pcg-0.2))))
-    (home-page "https://crates.io/crates/rand";)
-    (synopsis "Random number generators and other randomness functionality")
-    (description
-     "Rand provides utilities to generate random numbers, to convert them to
-useful types and distributions, and some randomness-related algorithms.")
-    (license (list license:asl2.0
-                   license:expat))))
+       (("rust-quote" ,rust-quote-1.0))))
+    (home-page "https://github.com/alexcrichton/proc-macro2";)
+    (synopsis "Stable implementation of the upcoming new `proc_macro` API")
+    (description "This package provides a stable implementation of the 
upcoming new
+`proc_macro` API.  Comes with an option, off by default, to also reimplement 
itself
+in terms of the upstream unstable API.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-rand-0.6
+(define-public rust-proc-macro2-0.4
   (package
-    (inherit rust-rand-0.7)
-    (name "rust-rand")
-    (version "0.6.5")
+    (inherit rust-proc-macro2-1.0)
+    (name "rust-proc-macro2")
+    (version "0.4.30")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rand" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "proc-macro2" version))
+        (file-name (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "1jl4449jcl4wgmzld6ffwqj5gwxrp8zvx8w573g1z368qg6xlwbd"))))
+          "0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg"))))
     (arguments
      `(#:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-packed-simd" ,rust-packed-simd-0.3)
-        ("rust-rand-chacha" ,rust-rand-chacha-0.1)
-        ("rust-rand-core" ,rust-rand-core-0.4)
-        ("rust-rand-hc" ,rust-rand-hc-0.1)
-        ("rust-rand-isaac" ,rust-rand-isaac-0.1)
-        ("rust-rand-jitter" ,rust-rand-jitter-0.1)
-        ("rust-rand-os" ,rust-rand-os-0.1)
-        ("rust-rand-pcg" ,rust-rand-pcg-0.1)
-        ("rust-rand-xorshift" ,rust-rand-xorshift-0.1)
-        ("rust-winapi" ,rust-winapi-0.3)
-        ("rust-autocfg" ,rust-autocfg-0.1)) ; build-dependency
+       (("rust-unicode-xid" ,rust-unicode-xid-0.1))
        #:cargo-development-inputs
-       (("rust-average" ,rust-average-0.9)
-        ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.1))))))
+       (("rust-quote" ,rust-quote-0.6))))))
 
-(define-public rust-rand-0.5
+(define-public rust-proc-macro2-0.3
   (package
-    (inherit rust-rand-0.7)
-    (name "rust-rand")
-    (version "0.5.6")
+    (name "rust-proc-macro2")
+    (version "0.3.8")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rand" version))
+        (uri (crate-uri "proc-macro2" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "1fdcgja9167hlzkf4g5daqwp498lwiyq7aqm05whklpbsdyc8666"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-cloudabi" ,rust-cloudabi-0.0)
-        ("rust-fuchsia-cprng" ,rust-fuchsia-cprng-0.1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-rand-core" ,rust-rand-core-0.3)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-stdweb" ,rust-stdweb-0.4)
-        ("rust-winapi" ,rust-winapi-0.3))
-       #:cargo-development-inputs
-       (("rust-bincode" ,rust-bincode-1.1))))))
-
-(define-public rust-rand-0.4
-  (package
-    (inherit rust-rand-0.6)
-    (name "rust-rand")
-    (version "0.4.6")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand" version))
-        (file-name (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "14qjfv3gggzhnma20k0sc1jf8y6pplsaq7n1j9ls5c8kf2wl0a2m"))))
+            "1ryaynnaj39l4zphcg5w8wszndd80vsrv89m5d2293gl6pry41hv"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-fuchsia-cprng" ,rust-fuchsia-cprng-0.1)
-        ("rust-rand-core" ,rust-rand-core-0.3)
-        ("rust-rdrand" ,rust-rdrand-0.4)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-winapi" ,rust-winapi-0.3))))))
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-unicode-xid" ,rust-unicode-xid-0.1))))
+    (home-page
+      "https://github.com/alexcrichton/proc-macro2";)
+    (synopsis
+      "A substitute implementation of the compiler's `proc_macro` API to 
decouple
+token-based libraries from the procedural macro use case.
+")
+    (description
+      "This package provides a substitute implementation of the compiler's 
`proc_macro` API to decouple
+token-based libraries from the procedural macro use case.
+")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-rand-0.3
+(define-public rust-procedural-masquerade-0.1
   (package
-    (inherit rust-rand-0.6)
-    (name "rust-rand")
-    (version "0.3.23")
+    (name "rust-procedural-masquerade")
+    (version "0.1.6")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rand" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "procedural-masquerade" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "0v679h38pjjqj5h4md7v2slsvj6686qgcn7p9fbw3h43iwnk1b34"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-rand" ,rust-rand-0.4))))))
+          "1l098px1hwdzqnxl376a9hfxb9q8kmj2n0y0s8k7plrz3jjp85cs"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/servo/rust-cssparser";)
+    (synopsis "Macro rules for proc-macro-derive")
+    (description
+     "This package provides @code{macro_rules} for making
+@code{proc_macro_derive} pretend to be @code{proc_macro}.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-rand-chacha-0.2
+(define-public rust-proptest-0.9
   (package
-    (name "rust-rand-chacha")
-    (version "0.2.1")
+    (name "rust-proptest")
+    (version "0.9.4")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "rand_chacha" version))
+       (uri (crate-uri "proptest" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0lv8imzzl4h2glm6sjj8mkvasgi8jym23ya48dakyln7m06sk8h3"))))
+         "17sjg8isas4qk85807c4panih9k0lwa4k1mbajhciw5c5q17w56g"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-c2-chacha" ,rust-c2-chacha-0.2)
-        ("rust-rand-core" ,rust-rand-core-0.5))))
-    (home-page "https://crates.io/crates/rand-chacha";)
-    (synopsis "ChaCha random number generator")
-    (description "ChaCha random number generator.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-rand-chacha-0.1
-  (package
-    (inherit rust-rand-chacha-0.2)
-    (name "rust-rand-chacha")
-    (version "0.1.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand_chacha" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1vxwyzs4fy1ffjc8l00fsyygpiss135irjf7nyxgq2v0lqf3lvam"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-rand-core" ,rust-rand-core-0.3))
-       #:cargo-development-inputs
-       (("rust-autocfg" ,rust-autocfg-0.1))))))
-
-(define-public rust-rand-core-0.5
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bit-set" ,rust-bit-set-0.5)
+        ("rust-bitflags" ,rust-bitflags-1)
+        ("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-quick-error" ,rust-quick-error-1.2)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-rand-chacha" ,rust-rand-chacha-0.2)
+        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
+        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
+        ("rust-rusty-fork" ,rust-rusty-fork-0.2)
+        ("rust-tempfile" ,rust-tempfile-3.0))
+       #:cargo-development-inputs
+       (("rust-regex" ,rust-regex-1.1))))
+    (home-page
+     "https://altsysrq.github.io/proptest-book/proptest/index.html";)
+    (synopsis
+     "Hypothesis-like property-based testing and shrinking")
+    (description
+     "Hypothesis-like property-based testing and shrinking.")
+    (license (list license:asl2.0 license:expat))))
+
+(define-public rust-proptest-0.8
   (package
-    (name "rust-rand-core")
-    (version "0.5.1")
+    (inherit rust-proptest-0.9)
+    (name "rust-proptest")
+    (version "0.8.7")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "rand_core" version))
+       (uri (crate-uri "proptest" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "06bdvx08v3rkz451cm7z59xwwqn1rkfh6v9ay77b14f8dwlybgch"))))
+         "07qrxwsd72wr1cqs0b5b159lnagjffp0l4s4zriz8jak8w20cvcj"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-getrandom" ,rust-getrandom-0.1)
-        ("rust-serde" ,rust-serde-1.0))))
-    (home-page "https://crates.io/crates/rand-core";)
-    (synopsis
-     "Core random number generator traits and tools for implementation")
-    (description
-     "Core random number generator traits and tools for implementation.")
-    (license (list license:expat license:asl2.0))))
+     `(#:tests? #f      ; 1 doc test fails
+       #:cargo-inputs
+       (("rust-bit-set" ,rust-bit-set-0.5)
+        ("rust-bitflags" ,rust-bitflags-1)
+        ("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-quick-error" ,rust-quick-error-1.2)
+        ("rust-rand" ,rust-rand-0.5)
+        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
+        ("rust-rusty-fork" ,rust-rusty-fork-0.2)
+        ("rust-tempfile" ,rust-tempfile-3.0))
+       #:cargo-development-inputs
+       (("rust-regex" ,rust-regex-1.1))))))
 
-(define-public rust-rand-core-0.4
+(define-public rust-psm-0.1
   (package
-    (inherit rust-rand-core-0.5)
-    (name "rust-rand-core")
-    (version "0.4.2")
+    (name "rust-psm")
+    (version "0.1.6")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rand_core" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "psm" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww"))))
+          "1q1hdbnp2j3zz1vhzp1xhds6ynan3mg5bhjlhfy5m1sg8n5wckxi"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))))))
+     `(#:cargo-development-inputs
+       (("rust-cc" ,rust-cc-1.0))))
+    (home-page "https://github.com/rust-lang/stacker/";)
+    (synopsis "Stack manipulation and introspection routines")
+    (description "This crate provides very portable functions to control the
+stack pointer and inspect the properties of the stack.")
+    (license (list license:isc license:asl2.0))))
 
-(define-public rust-rand-core-0.3
+(define-public rust-pulldown-cmark-0.4
   (package
-    (inherit rust-rand-core-0.4)
-    (name "rust-rand-core")
-    (version "0.3.1")
+    (name "rust-pulldown-cmark")
+    (version "0.4.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand_core" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0jzdgszfa4bliigiy4hi66k7fs3gfwi2qxn8vik84ph77fwdwvvs"))))
-    ;; This version is a 0.3 API wrapper around the 0.4 version.
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pulldown-cmark" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1db8vlhm3n72051bkq4am80q28rfrh88796i3y9ajf5hhk3lrdyi"))))
+    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
-       #:cargo-inputs (("rand-core" ,rust-rand-core-0.4))))))
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-getopts" ,rust-getopts-0.2)
+        ("rust-memchr" ,rust-memchr-2.2)
+        ("rust-unicase" ,rust-unicase-2.4))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.2)
+        ("rust-html5ever" ,rust-html5ever-0.23)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-regex" ,rust-regex-1.1)
+        ("rust-tendril" ,rust-tendril-0.4))))
+    (home-page "https://github.com/raphlinus/pulldown-cmark";)
+    (synopsis "Pull parser for CommonMark")
+    (description
+     "This package provides a pull parser for CommonMark.")
+    (license license:expat)))
 
-(define-public rust-rand-core-0.2
+(define-public rust-pulldown-cmark-0.2
   (package
-    (inherit rust-rand-core-0.5)
-    (name "rust-rand-core")
-    (version "0.2.2")
+    (name "rust-pulldown-cmark")
+    (version "0.2.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rand-core" version))
+        (uri (crate-uri "pulldown-cmark" version))
         (file-name
-         (string-append name "-" version ".tar.gz"))
+          (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "0wikbw2a36bz8ywjyycjrd7db6ra3yzj14zs1ysxz2fiqhia8q8r"))))
+          (base32
+            "05gfnqa0wzix5m17jrmgj0yyr9sflqm0knn79ndppsnhcan2zxgf"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-rand-core" ,rust-rand-core-0.3))))))
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-getopts" ,rust-getopts-0.2)
+         ("rust-bitflags" ,rust-bitflags-1))))
+    (home-page
+      "https://github.com/raphlinus/pulldown-cmark";)
+    (synopsis "A pull parser for CommonMark")
+    (description
+      "This package provides a pull parser for CommonMark")
+    (license license:expat)))
 
-(define-public rust-rand-hc-0.2
+(define-public rust-quantiles-0.7
   (package
-    (name "rust-rand-hc")
-    (version "0.2.0")
+    (name "rust-quantiles")
+    (version "0.7.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand_hc" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0g31sqwpmsirdlwr0svnacr4dbqyz339im4ssl9738cjgfpjjcfa"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "quantiles" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1wjp16a3d4bmldq9w2wds0q4gjz4mnsqac3g38r6ryr6zc9sh3y1"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-rand-hc" ,rust-rand-core-0.5))))
-    (home-page "https://crates.io/crates/rand_hc";)
-    (synopsis "HC128 random number generator")
-    (description "This package provides a cryptographically secure random 
number
-generator that uses the HC-128 algorithm.")
-    (license (list license:asl2.0
-                   license:expat))))
+       (("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0))
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.5))))
+    (home-page "https://github.com/postmates/quantiles";)
+    (synopsis "Collection of approximate quantile algorithms")
+    (description
+     "This package provides a collection of approximate quantile algorithms.")
+    (license license:expat)))
 
-(define-public rust-rand-hc-0.1
+(define-public rust-quasi-0.32
   (package
-    (inherit rust-rand-hc-0.2)
-    (name "rust-rand-hc")
-    (version "0.1.0")
+    (name "rust-quasi")
+    (version "0.32.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand_hc" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1i0vl8q5ddvvy0x8hf1zxny393miyzxkwqnw31ifg6p0gdy6fh3v"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "quasi" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1csqqgz3aw85q570ywmhb34r3sqgi1sprf8xadfwzlfnai45ri0q"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs (("rust-rand-core" ,rust-rand-core-0.3))))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-clippy" ,rust-clippy-0.0)
+        ("rust-syntex-errors" ,rust-syntex-errors-0.58)
+        ("rust-syntex-syntax" ,rust-syntex-syntax-0.58))))
+    (home-page "https://github.com/serde-rs/quasi";)
+    (synopsis "Quasi-quoting macro system")
+    (description
+     "This package provides a quasi-quoting macro system.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-rand-isaac-0.2
+(define-public rust-quasi-codegen-0.32
   (package
-    (name "rust-rand-isaac")
-    (version "0.2.0")
+    (name "rust-quasi-codegen")
+    (version "0.32.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "rand_isaac" version))
+       (uri (crate-uri "quasi_codegen" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0xlb9415x518ffkazxhvk8b04i9i548nva4i5l5s34crvjrv1xld"))))
+         "1m3nwzn5ip8y86cyfk6hdnbhiinsk2faag7l0cc4q11wl9gy5fai"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-rand-core" ,rust-rand-core-0.5)
-        ("rust-serde" ,rust-serde-1.0))
-       #:cargo-development-inputs
-       (("rust-bincode" ,rust-bincode-1.1))))
-    (home-page "https://crates.io/crates/rand_isaac";)
-    (synopsis "ISAAC random number generator")
-    (description "This package implements the @code{ISAAC} and @code{ISAAC-64}
-random number generators.  ISAAC stands for \"Indirection, Shift, Accumulate,
-Add, and Count\" which are the principal bitwise operations employed.")
+       (("rust-aster" ,rust-aster-0.41)
+        ("rust-clippy" ,rust-clippy-0.0)
+        ("rust-syntex" ,rust-syntex-0.58)
+        ("rust-syntex-errors" ,rust-syntex-errors-0.58)
+        ("rust-syntex-syntax" ,rust-syntex-syntax-0.58))))
+    (home-page "https://github.com/serde-rs/quasi";)
+    (synopsis "Quasi-quoting macro system")
+    (description "This package provides a quasi-quoting macro system.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-rand-isaac-0.1
+(define-public rust-quasi-macros-0.32
   (package
-    (inherit rust-rand-isaac-0.2)
-    (name "rust-rand-isaac")
-    (version "0.1.1")
+    (name "rust-quasi-macros")
+    (version "0.32.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand_isaac" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "027flpjr4znx2csxk7gxb7vrf9c7y5mydmvg5az2afgisp4rgnfy"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "quasi_macros" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1p825s96wa9xcc01pm5f4nlb01nx0pah50qnwkbncrw1q9xwiki9"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-rand-core" ,rust-rand-core-0.3)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-clippy" ,rust-clippy-0.0)
+        ("rust-quasi-codegen" ,rust-quasi-codegen-0.32))
        #:cargo-development-inputs
-       (("rust-bincode" ,rust-bincode-1.1))))))
+       (("rust-aster" ,rust-aster-0.41)
+        ("rust-quasi" ,rust-quasi-0.32))))
+    (home-page "https://github.com/serde-rs/quasi";)
+    (synopsis "Quasi-quoting macro system")
+    (description "This package provides a quasi-quoting macro system.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-rand-jitter-0.1
+(define-public rust-quick-error-1.2
   (package
-    (name "rust-rand-jitter")
-    (version "0.1.4")
+    (name "rust-quick-error")
+    (version "1.2.3")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rand_jitter" version))
+        (uri (crate-uri "quick-error" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "16z387y46bfz3csc42zxbjq89vcr1axqacncvv8qhyy93p4xarhi"))))
+          "1q6za3v78hsspisc197bg3g7rpc989qycy8ypr8ap8igv10ikl51"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-rand-core" ,rust-rand-core-0.4)
-        ("rust-winapi" ,rust-winapi-0.3)
-        ("rust-log" ,rust-log-0.4))))
-    (home-page "https://github.com/rust-random/rand";)
-    (synopsis "Random number generator based on timing jitter")
-    (description "This package provides a non-physical true random number
-generator based on timing jitter.")
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/tailhook/quick-error";)
+    (synopsis "Macro which makes error types pleasant to write")
+    (description "This crate provides a macro which makes error types pleasant
+to write.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-rand-os-0.2
+(define-public rust-quickcheck-0.9
   (package
-    (name "rust-rand-os")
-    (version "0.2.0")
+    (name "rust-quickcheck")
+    (version "0.9.2")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "rand_os" version))
+       (uri (crate-uri "quickcheck" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "06is69f8rfzs620g5b54k6cgy5yaycrsyqg55flyfrsf8g88733f"))))
+         "0pwl7j21wmf843kpa9gr0byb40hg975ghjrwp0yxcym99bkq6j54"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-getrandom" ,rust-getrandom-0.1)
+       (("rust-env-logger" ,rust-env-logger-0.7)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-rand" ,rust-rand-0.7)
         ("rust-rand-core" ,rust-rand-core-0.5))))
-    (home-page "https://crates.io/crates/rand-os";)
-    (synopsis "OS backed Random Number Generator")
-    (description "OS backed Random Number Generator.")
-    (license (list license:asl2.0
-                   license:expat))))
+    (home-page "https://github.com/BurntSushi/quickcheck";)
+    (synopsis "Automatic property based testing with shrinking")
+    (description
+     "QuickCheck is a way to do property based testing using randomly generated
+input.  This crate comes with the ability to randomly generate and shrink
+integers, floats, tuples, booleans, lists, strings, options and results.")
+    (license (list license:unlicense license:expat))))
 
-(define-public rust-rand-os-0.1
+(define-public rust-quickcheck-0.8
   (package
-    (inherit rust-rand-os-0.2)
-    (name "rust-rand-os")
-    (version "0.1.3")
+    (inherit rust-quickcheck-0.9)
+    (name "rust-quickcheck")
+    (version "0.8.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "quickcheck" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0mkl4wnvvjk4m32aq3an4ayfyvnmbxnzcybfm7n3fbsndb1xjdcw"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-env-logger" ,rust-env-logger-0.6)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-rand" ,rust-rand-0.6)
+        ("rust-rand-core" ,rust-rand-core-0.4))))))
+
+(define-public rust-quickcheck-0.7
+  (package
+    (inherit rust-quickcheck-0.9)
+    (name "rust-quickcheck")
+    (version "0.7.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rand_os" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "quickcheck" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "0wahppm0s64gkr2vmhcgwc0lij37in1lgfxg5rbgqlz0l5vgcxbv"))))
+          "05pqzja6fwdyrs1za5vmxb9ifb993knmpdsrs1fs2wyz9qz7slyl"))))
     (arguments
      `(#:cargo-inputs
-       (("rust-cloudabi" ,rust-cloudabi-0.0)
-        ("rust-fuchsia-cprng" ,rust-fuchsia-cprng-0.1)
-        ("rust-libc" ,rust-libc-0.2)
+       (("rust-env-logger" ,rust-env-logger-0.5)
         ("rust-log" ,rust-log-0.4)
-        ("rust-rand-core" ,rust-rand-core-0.4)
-        ("rust-rdrand" ,rust-rdrand-0.4)
-        ("rust-stdweb" ,rust-stdweb-0.4)
-        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
-        ("rust-winapi" ,rust-winapi-0.3))))))
+        ("rust-rand" ,rust-rand-0.5)
+        ("rust-rand-core" ,rust-rand-core-0.2))))))
 
-(define-public rust-rand-pcg-0.2
+(define-public rust-quickcheck-0.6
   (package
-    (name "rust-rand-pcg")
-    (version "0.2.1")
+    (inherit rust-quickcheck-0.9)
+    (name "rust-quickcheck")
+    (version "0.6.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rand_pcg" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "quickcheck" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "0ab4h6s6x3py833jk61lwadq83qd1c8bih2hgi6yps9rnv0x1aqn"))))
-    (build-system cargo-build-system)
+          "1dyazm2fcq0v9fscq1a7597zsvdl9f0j8c2bfj1jm2nlzz2sn6y0"))))
     (arguments
      `(#:cargo-inputs
-       (("rust-rand-core" ,rust-rand-core-0.5)
-        ("rust-serde" ,rust-serde-1.0))
-       #:cargo-development-inputs
-       (("rust-bincode" ,rust-bincode-1.1))))
-    (home-page "https://crates.io/crates/rand_pcg";)
-    (synopsis
-     "Selected PCG random number generators")
-    (description
-     "Implements a selection of PCG random number generators.")
-    (license (list license:asl2.0
-                   license:expat))))
+       (("rust-env-logger" ,rust-env-logger-0.5)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-rand" ,rust-rand-0.4))))))
 
-(define-public rust-rand-pcg-0.1
+(define-public rust-quickcheck-0.5
   (package
-    (inherit rust-rand-pcg-0.2)
-    (name "rust-rand-pcg")
-    (version "0.1.2")
+    (inherit rust-quickcheck-0.9)
+    (name "rust-quickcheck")
+    (version "0.5.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rand_pcg" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "quickcheck" version))
+        (file-name (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "0i0bdla18a8x4jn1w0fxsbs3jg7ajllz6azmch1zw33r06dv1ydb"))))
+          "1jzm1ygfbn4igaq14b9nipc8yvsn6c8panpgd1qiy5r2insjllyd"))))
     (arguments
      `(#:cargo-inputs
-       (("rust-autocfg" ,rust-autocfg-0.1)
-        ("rust-rand-core" ,rust-rand-core-0.4)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))
-       #:cargo-development-inputs
-       (("rust-bincode" ,rust-bincode-1.1))))))
+       (("rust-env-logger" ,rust-env-logger-0.4)
+        ("rust-log" ,rust-log-0.3)
+        ("rust-rand" ,rust-rand-0.3))))))
 
-(define-public rust-rand-xorshift-0.2
+(define-public rust-quickcheck-0.4
   (package
-    (name "rust-rand-xorshift")
-    (version "0.2.0")
+    (inherit rust-quickcheck-0.5)
+    (name "rust-quickcheck")
+    (version "0.4.1")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "rand_xorshift" version))
+       (uri (crate-uri "quickcheck" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1a6wy76lc5fimm1n9n8fzhp4cfjwfwxh4hx63bg3vlh1d2w1dm3p"))))
-    (build-system cargo-build-system)
+         "01hligcv1h4pvc8ykch65qjzi7jgcq2s462v69j27slc84fl3hh2"))))
     (arguments
      `(#:cargo-inputs
-       (("rust-rand-core" ,rust-rand-core-0.5)
-        ("rust-serde" ,rust-serde-1.0))
-       #:cargo-development-inputs
-       (("rust-bincode" ,rust-bincode-1.1))))
-    (home-page "https://crates.io/crates/rand-xorshift";)
-    (synopsis "Xorshift random number generator")
-    (description
-     "Xorshift random number generator.")
-    (license (list license:expat license:asl2.0))))
+       (("rust-env-logger" ,rust-env-logger-0.3)
+        ("rust-log" ,rust-log-0.3)
+        ("rust-rand" ,rust-rand-0.3))))))
 
-(define-public rust-rand-xorshift-0.1
+(define-public rust-quickcheck-0.2
   (package
-    (name "rust-rand-xorshift")
-    (version "0.1.1")
+    (inherit rust-quickcheck-0.4)
+    (name "rust-quickcheck")
+    (version "0.2.27")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand_xorshift" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0p2x8nr00hricpi2m6ca5vysiha7ybnghz79yqhhx6sl4gkfkxyb"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-rand-core" ,rust-rand-core-0.3)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))
-       #:cargo-development-inputs
-       (("rust-bincode" ,rust-bincode-1.1))))
-    (home-page "https://crates.io/crates/rand-xorshift";)
-    (synopsis "Xorshift random number generator")
-    (description
-      "Xorshift random number generator")
-    (license (list license:asl2.0
-                   license:expat))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "quickcheck" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vb4acppaavlnchzc1jmn5wlkgir9x9gmhgp97bavyxxqxgsg1nh"))))))
 
-(define-public rust-rand-xoshiro-0.4
+(define-public rust-quickcheck-macros-0.8
   (package
-    (name "rust-rand-xoshiro")
-    (version "0.4.0")
+    (name "rust-quickcheck-macros")
+    (version "0.8.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "rand-xoshiro" version))
+       (uri (crate-uri "quickcheck_macros" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "013h45rikipv5bda2ixmwx5rwsk9wpc7mr0a77cz20hxi0pdvz59"))))
+         "0b3mhn0xcrdd3fkbkx3rghhivwzwil8w991ngp6gaj70l72c3pyp"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-rand-core" ,rust-rand-core-0.5)
-        ("rust-serde" ,rust-serde-1.0))
-       #:cargo-development-inputs
-       (("rust-bincode" ,rust-bincode-1.1))))
-    (home-page "https://crates.io/crates/rand_xoshiro";)
-    (synopsis "Xoshiro, xoroshiro and splitmix64 random number generators")
-    (description "This package provides the xoshiro, xoroshiro and splitmix64
-random number generators.")
-    (license (list license:expat license:asl2.0))))
+       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-quote" ,rust-quote-0.6)
+        ("rust-syn" ,rust-syn-0.15))
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.8))))
+    (home-page "https://github.com/BurntSushi/quickcheck";)
+    (synopsis "Macro attribute for quickcheck")
+    (description
+     "This package provides a macro attribute for quickcheck.")
+    (license (list license:unlicense license:expat))))
 
-(define-public rust-rand-xoshiro-0.3
+(define-public rust-quote-1.0
   (package
-    (inherit rust-rand-xoshiro-0.4)
-    (name "rust-rand-xoshiro")
-    (version "0.3.0")
+    (name "rust-quote")
+    (version "1.0.3")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "rand_xoshiro" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "07w3qgrac8r356lz5vqff42rly6yd9vs3g5lx5pbn13rcmb05rqb"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "quote" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0zwd6fp74xfg4jnnnwj4v84lkzif2giwj4ch1hka9g35ghc6rp1b"))))
+    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-rand-core" ,rust-rand-core-0.5)
-        ("rust-serde" ,rust-serde-1.0))
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0))
        #:cargo-development-inputs
-       (("rust-bincode" ,rust-bincode-1.1))))))
+       (("rust-rustversion" ,rust-rustversion-1.0)
+        ("rust-trybuild" ,rust-trybuild-1.0))))
+    (home-page "https://github.com/dtolnay/quote";)
+    (synopsis "Quasi-quoting macro quote!(...)")
+    (description "Quasi-quoting macro quote!(...)")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-rand-xoshiro-0.1
+(define-public rust-quote-0.6
   (package
-    (inherit rust-rand-xoshiro-0.4)
-    (name "rust-rand-xoshiro")
-    (version "0.1.0")
+    (inherit rust-quote-1.0)
+    (name "rust-quote")
+    (version "0.6.13")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "rand_xoshiro" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0ac9ha6ll8b6l1930bd99k29jrjpsbpddvr6ycrnbi5rkwb1id03"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "quote" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1qgqq48jymp5h4y082aanf25hrw6bpb678xh3zw993qfhxmkpqkc"))))
+    (arguments
+     `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-0.4))))))
+
+(define-public rust-quote-0.5
+  (package
+    (name "rust-quote")
+    (version "0.5.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "quote" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1s01fh0jl8qv4xggs85yahw0h507nzrxkjbf7vay3zw8d3kcyjcr"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-rand-core" ,rust-rand-core-0.3))
-       #:cargo-development-inputs
-       (("rust-rand" ,rust-rand-0.6))))))
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-0.3))))
+    (home-page "https://github.com/dtolnay/quote";)
+    (synopsis "Quasi-quoting macro quote!(...)")
+    (description "Quasi-quoting macro quote!(...)")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-raw-window-handle-0.3
+(define-public rust-quote-0.3
   (package
-    (name "rust-raw-window-handle")
-    (version "0.3.3")
+    (inherit rust-quote-0.6)
+    (name "rust-quote")
+    (version "0.3.15")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "raw-window-handle" version))
+       (uri (crate-uri "quote" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "04c2wir7qq3g2b143yav52a1g5ack8ffqx2bpmrn9bc0dix1li0a"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
-    (home-page "https://github.com/rust-windowing/raw-window-handle";)
-    (synopsis "Interoperability library for Rust Windowing applications")
-    (description
-     "Interoperability library for Rust Windowing applications.")
-    (license license:expat)))
+         "0yhnnix4dzsv8y4wwz4csbnqjfh73al33j35msr10py6cl5r4vks"))))
+    (arguments '())))
 
-(define-public rust-rawpointer-0.2
+(define-public rust-rand-0.7
   (package
-    (name "rust-rawpointer")
-    (version "0.2.1")
+    (name "rust-rand")
+    (version "0.7.3")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rawpointer" version))
+        (uri (crate-uri "rand" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1qy1qvj17yh957vhffnq6agq0brvylw27xgks171qrah75wmg8v0"))))
+          "00sdaimkbz491qgi6qxkv582yivl32m2jd401kzbn94vsiwicsva"))))
     (build-system cargo-build-system)
-    (home-page "https://github.com/bluss/rawpointer/";)
-    (synopsis "Extra methods for raw pointers")
-    (description "Extra methods for raw pointers.  For example
-@code{.post_inc()} and @code{.pre_dec()} (c.f. @code{ptr++} and @code{--ptr})
-and @code{ptrdistance}.")
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-getrandom" ,rust-getrandom-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-packed-simd" ,rust-packed-simd-0.3)
+        ("rust-rand-chacha" ,rust-rand-chacha-0.2)
+        ("rust-rand-core" ,rust-rand-core-0.5)
+        ("rust-rand-hc" ,rust-rand-hc-0.2)
+        ("rust-rand-pcg" ,rust-rand-pcg-0.2))
+       #:cargo-development-inputs
+       (("rust-rand-hc" ,rust-rand-hc-0.2)
+        ("rust-rand-pcg" ,rust-rand-pcg-0.2))))
+    (home-page "https://crates.io/crates/rand";)
+    (synopsis "Random number generators and other randomness functionality")
+    (description
+     "Rand provides utilities to generate random numbers, to convert them to
+useful types and distributions, and some randomness-related algorithms.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-rawpointer-0.1
+(define-public rust-rand-0.6
   (package
-    (inherit rust-rawpointer-0.2)
-    (name "rust-rawpointer")
-    (version "0.1.0")
+    (inherit rust-rand-0.7)
+    (name "rust-rand")
+    (version "0.6.5")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rawpointer" version))
+        (uri (crate-uri "rand" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "06ghpm9y7gacks78s3maakha07kbnwrxif5q37r2l7z1sali3b7b"))))))
+          "1jl4449jcl4wgmzld6ffwqj5gwxrp8zvx8w573g1z368qg6xlwbd"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-packed-simd" ,rust-packed-simd-0.3)
+        ("rust-rand-chacha" ,rust-rand-chacha-0.1)
+        ("rust-rand-core" ,rust-rand-core-0.4)
+        ("rust-rand-hc" ,rust-rand-hc-0.1)
+        ("rust-rand-isaac" ,rust-rand-isaac-0.1)
+        ("rust-rand-jitter" ,rust-rand-jitter-0.1)
+        ("rust-rand-os" ,rust-rand-os-0.1)
+        ("rust-rand-pcg" ,rust-rand-pcg-0.1)
+        ("rust-rand-xorshift" ,rust-rand-xorshift-0.1)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("rust-autocfg" ,rust-autocfg-0.1)) ; build-dependency
+       #:cargo-development-inputs
+       (("rust-average" ,rust-average-0.9)
+        ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.1))))))
 
-(define-public rust-rawslice-0.1
+(define-public rust-rand-0.5
   (package
-    (name "rust-rawslice")
-    (version "0.1.0")
+    (inherit rust-rand-0.7)
+    (name "rust-rand")
+    (version "0.5.6")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "rawslice" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "09bympww1rpsd422da3w444q5w1znjbjh7mjninhq9gaaygkpci2"))))
-    (build-system cargo-build-system)
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1fdcgja9167hlzkf4g5daqwp498lwiyq7aqm05whklpbsdyc8666"))))
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-rawpointer" ,rust-rawpointer-0.1))
+       (("rust-cloudabi" ,rust-cloudabi-0.0)
+        ("rust-fuchsia-cprng" ,rust-fuchsia-cprng-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-rand-core" ,rust-rand-core-0.3)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-stdweb" ,rust-stdweb-0.4)
+        ("rust-winapi" ,rust-winapi-0.3))
        #:cargo-development-inputs
-       (("rust-quickcheck" ,rust-quickcheck-0.8))))
-    (home-page "https://github.com/bluss/rawslice/";)
-    (synopsis "Reimplementation of the slice iterators, with extra features")
-    (description
-     "Reimplementation of the slice iterators, with extra features.
-For example creation from raw pointers and start, end pointer
-accessors.")
-    (license (list license:asl2.0 license:expat))))
+       (("rust-bincode" ,rust-bincode-1.1))))))
 
-(define-public rust-rayon-1.3
+(define-public rust-rand-0.4
   (package
-    (name "rust-rayon")
-    (version "1.3.0")
+    (inherit rust-rand-0.6)
+    (name "rust-rand")
+    (version "0.4.6")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "rayon" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1650g13bxlmywhdlw65q3g1zyyb7l0wcm35v45kf31cwgwly6v6v"))))
-    (build-system cargo-build-system)
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "14qjfv3gggzhnma20k0sc1jf8y6pplsaq7n1j9ls5c8kf2wl0a2m"))))
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
-        ("rust-either" ,rust-either-1.5)
-        ("rust-rayon-core" ,rust-rayon-core-1.7))
-       #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment-0.3)
-        ("rust-docopt" ,rust-docopt-1.1)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-rand" ,rust-rand-0.7)
-        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
-        ("rust-serde" ,rust-serde-1.0))))
-    (home-page "https://github.com/rayon-rs/rayon";)
-    (synopsis "Simple work-stealing parallelism for Rust")
-    (description
-     "Simple work-stealing parallelism for Rust.")
-    (license (list license:asl2.0 license:expat))))
+     `(#:cargo-inputs
+       (("rust-fuchsia-cprng" ,rust-fuchsia-cprng-0.1)
+        ("rust-rand-core" ,rust-rand-core-0.3)
+        ("rust-rdrand" ,rust-rdrand-0.4)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-winapi" ,rust-winapi-0.3))))))
 
-(define-public rust-rayon-1.1
+(define-public rust-rand-0.3
   (package
-    (inherit rust-rayon-1.3)
-    (name "rust-rayon")
-    (version "1.1.0")
+    (inherit rust-rand-0.6)
+    (name "rust-rand")
+    (version "0.3.23")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "rayon" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "190hkbcdfvcphyyzkdg52zdia2y9d9yanpm072bmnzbn49p1ic54"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0v679h38pjjqj5h4md7v2slsvj6686qgcn7p9fbw3h43iwnk1b34"))))
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.6)
-        ("rust-either" ,rust-either-1.5)
-        ("rust-rayon-core" ,rust-rayon-core-1.5))
-       #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment-0.3)
-        ("rust-docopt" ,rust-docopt-1.1)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-rand" ,rust-rand-0.4)
-        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))))))
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-rand" ,rust-rand-0.4))))))
 
-(define-public rust-rayon-core-1.7
+(define-public rust-rand-chacha-0.2
   (package
-    (name "rust-rayon-core")
-    (version "1.7.0")
+    (name "rust-rand-chacha")
+    (version "0.2.2")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "rayon-core" version))
+       (uri (crate-uri "rand_chacha" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1ac55kpnh2390ah7r071vnjbiy308qpznql0n597x5dgxx39pa08"))))
+         "00il36fkdbsmpr99p9ksmmp6dn1md7rmnwmz0rr77jbrca2yvj7l"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
-        ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.2)
-        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-num-cpus" ,rust-num-cpus-1.10))
+     `(#:cargo-inputs
+       (("rust-c2-chacha" ,rust-c2-chacha-0.2)
+        ("rust-rand-core" ,rust-rand-core-0.5))))
+    (home-page "https://crates.io/crates/rand-chacha";)
+    (synopsis "ChaCha random number generator")
+    (description "ChaCha random number generator.")
+    (license (list license:asl2.0 license:expat))))
+
+(define-public rust-rand-chacha-0.1
+  (package
+    (inherit rust-rand-chacha-0.2)
+    (name "rust-rand-chacha")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_chacha" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1vxwyzs4fy1ffjc8l00fsyygpiss135irjf7nyxgq2v0lqf3lvam"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-rand-core" ,rust-rand-core-0.3))
        #:cargo-development-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-rand" ,rust-rand-0.7)
-        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
-        ("rust-scoped-tls" ,rust-scoped-tls-1.0))))
-    (home-page "https://github.com/rayon-rs/rayon";)
-    (synopsis "Core APIs for Rayon")
-    (description "Core APIs for Rayon.")
-    (license (list license:expat license:asl2.0))))
+       (("rust-autocfg" ,rust-autocfg-0.1))))))
 
-(define-public rust-rayon-core-1.5
+(define-public rust-rand-core-0.5
   (package
-    (inherit rust-rayon-core-1.7)
-    (name "rust-rayon-core")
-    (version "1.5.0")
+    (name "rust-rand-core")
+    (version "0.5.1")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "rayon-core" version))
+       (uri (crate-uri "rand_core" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1ljva6blaf1wmzvg77h1i9pd0hsmsbbcmdk7sjbw7h2s8gw0vgpb"))))
+         "06bdvx08v3rkz451cm7z59xwwqn1rkfh6v9ay77b14f8dwlybgch"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
-        ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.1)
-        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-num-cpus" ,rust-num-cpus-1.10))
-       #:cargo-development-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-rand" ,rust-rand-0.4)
-        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
-        ("rust-scoped-tls" ,rust-scoped-tls-1.0))))))
+     `(#:cargo-inputs
+       (("rust-getrandom" ,rust-getrandom-0.1)
+        ("rust-serde" ,rust-serde-1.0))))
+    (home-page "https://crates.io/crates/rand-core";)
+    (synopsis
+     "Core random number generator traits and tools for implementation")
+    (description
+     "Core random number generator traits and tools for implementation.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-rctree-0.3
+(define-public rust-rand-core-0.4
   (package
-    (name "rust-rctree")
-    (version "0.3.3")
+    (inherit rust-rand-core-0.5)
+    (name "rust-rand-core")
+    (version "0.4.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rctree" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "rand_core" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1a54z2b850albiqx9vw009p9xg363vqzh1ybkwb89zn8375jk7my"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/RazrFalcon/rctree";)
-    (synopsis "DOM-like tree implemented using reference counting")
-    (description "This package provides a @code{DOM-like} tree implemented 
using
-reference counting.")
-    (license license:expat)))
+          "1p09ynysrq1vcdlmcqnapq4qakl2yd1ng3kxh3qscpx09k2a6cww"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0))))))
 
-(define-public rust-rdrand-0.4
+(define-public rust-rand-core-0.3
   (package
-    (name "rust-rdrand")
-    (version "0.4.0")
+    (inherit rust-rand-core-0.4)
+    (name "rust-rand-core")
+    (version "0.3.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rdrand" version))
+        (uri (crate-uri "rand_core" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1cjq0kwx1bk7jx3kzyciiish5gqsj7620dm43dc52sr8fzmm9037"))))
-    (build-system cargo-build-system)
+          "0jzdgszfa4bliigiy4hi66k7fs3gfwi2qxn8vik84ph77fwdwvvs"))))
+    ;; This version is a 0.3 API wrapper around the 0.4 version.
     (arguments
      `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-rand-core" ,rust-rand-core-0.3))))
-    (home-page "https://github.com/nagisa/rust_rdrand/";)
-    (synopsis "Random number generator")
-    (description
-     "This package is an implementation of random number generator based on
-@code{rdrand} and @code{rdseed} instructions")
-    (license license:isc)))
+       #:cargo-inputs (("rand-core" ,rust-rand-core-0.4))))))
 
-(define-public rust-recycler-0.1
+(define-public rust-rand-core-0.2
   (package
-    (name "rust-recycler")
-    (version "0.1.4")
+    (inherit rust-rand-core-0.5)
+    (name "rust-rand-core")
+    (version "0.2.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "recycler" version))
+        (uri (crate-uri "rand-core" version))
         (file-name
          (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "1yll0sqswy6afk9ik7r22djqafa3wfgvgdzqqh7jbczyiqr2gp4q"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/frankmcsherry/recycler";)
-    (synopsis "Rust library for recycling types containing owned memory")
-    (description
-     "This package provides a small Rust library for recycling types containing
-owned memory.")
-    (license license:expat)))
+          "0wikbw2a36bz8ywjyycjrd7db6ra3yzj14zs1ysxz2fiqhia8q8r"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-rand-core" ,rust-rand-core-0.3))))))
 
-;; This package requires features which are unavailable
-;; on the stable releases of Rust.
-(define-public rust-redox-syscall-0.1
+(define-public rust-rand-hc-0.2
   (package
-    (name "rust-redox-syscall")
-    (version "0.1.56")
+    (name "rust-rand-hc")
+    (version "0.2.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "redox_syscall" version))
+        (uri (crate-uri "rand_hc" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "110y7dyfm2vci4x5vk7gr0q551dvp31npl99fnsx2fb17wzwcf94"))))
+          "0g31sqwpmsirdlwr0svnacr4dbqyz339im4ssl9738cjgfpjjcfa"))))
     (build-system cargo-build-system)
-    (arguments '(#:skip-build? #t))
-    (home-page "https://gitlab.redox-os.org/redox-os/syscall";)
-    (synopsis "Rust library to access raw Redox system calls")
-    (description "This package provides a Rust library to access raw Redox
-system calls.")
-    (license license:expat)))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-rand-hc" ,rust-rand-core-0.5))))
+    (home-page "https://crates.io/crates/rand_hc";)
+    (synopsis "HC128 random number generator")
+    (description "This package provides a cryptographically secure random 
number
+generator that uses the HC-128 algorithm.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-redox-termios-0.1
+(define-public rust-rand-hc-0.1
   (package
-    (name "rust-redox-termios")
-    (version "0.1.1")
+    (inherit rust-rand-hc-0.2)
+    (name "rust-rand-hc")
+    (version "0.1.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "redox-termios" version))
+        (uri (crate-uri "rand_hc" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0xhgvdh62mymgdl3jqrngl8hr4i8xwpnbsxnldq0l47993z1r2by"))))
-    (build-system cargo-build-system)
+          "1i0vl8q5ddvvy0x8hf1zxny393miyzxkwqnw31ifg6p0gdy6fh3v"))))
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-redox-syscall" ,rust-redox-syscall-0.1))))
-    (home-page "https://github.com/redox-os/termios";)
-    (synopsis "Rust library to access Redox termios functions")
-    (description
-     "This package provides a Rust library to access Redox termios functions.")
-    (license license:expat)))
+     `(#:cargo-inputs (("rust-rand-core" ,rust-rand-core-0.3))))))
 
-(define-public rust-redox-users-0.3
+(define-public rust-rand-isaac-0.2
   (package
-    (name "rust-redox-users")
-    (version "0.3.1")
+    (name "rust-rand-isaac")
+    (version "0.2.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "redox_users" version))
+       (uri (crate-uri "rand_isaac" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0vdn688q9wg997b1x5abx2gf7406rn1lvd62ypcgh1gj7g5dpkjf"))))
+         "0xlb9415x518ffkazxhvk8b04i9i548nva4i5l5s34crvjrv1xld"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-failure" ,rust-failure-0.1)
-        ("rust-rand-os" ,rust-rand-os-0.1)
-        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
-        ("rust-rust-argon2" ,rust-rust-argon2-0.5))))
-    (home-page "https://gitlab.redox-os.org/redox-os/users";)
-    (synopsis "Access Redox users and groups")
-    (description
-     "This package provides a Rust library to access Redox users and groups
-functionality.")
-    (license license:expat)))
+     `(#:cargo-inputs
+       (("rust-rand-core" ,rust-rand-core-0.5)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1.1))))
+    (home-page "https://crates.io/crates/rand_isaac";)
+    (synopsis "ISAAC random number generator")
+    (description "This package implements the @code{ISAAC} and @code{ISAAC-64}
+random number generators.  ISAAC stands for \"Indirection, Shift, Accumulate,
+Add, and Count\" which are the principal bitwise operations employed.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-ref-cast-1.0
+(define-public rust-rand-isaac-0.1
   (package
-    (name "rust-ref-cast")
-    (version "1.0.0")
+    (inherit rust-rand-isaac-0.2)
+    (name "rust-rand-isaac")
+    (version "0.1.1")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "ref-cast" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1vy378bdzb4kcz13kh96c5n5qw1jinhfrya5j4bf9rxz65x1jzq7"))))
-    (build-system cargo-build-system)
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_isaac" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "027flpjr4znx2csxk7gxb7vrf9c7y5mydmvg5az2afgisp4rgnfy"))))
     (arguments
      `(#:cargo-inputs
-       (("rust-ref-cast-impl" ,rust-ref-cast-impl-1.0))
+       (("rust-rand-core" ,rust-rand-core-0.3)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0))
        #:cargo-development-inputs
-       (("rust-rustversion" ,rust-rustversion-1.0)
-        ("rust-trybuild" ,rust-trybuild-1.0))))
-    (home-page "https://github.com/dtolnay/ref-cast";)
-    (synopsis "Safely cast &T to &U")
-    (description
-     "Safely cast &T to &U where the struct U contains a single field of type 
T.")
-    (license (list license:expat license:asl2.0))))
+       (("rust-bincode" ,rust-bincode-1.1))))))
 
-(define-public rust-ref-cast-0.2
+(define-public rust-rand-jitter-0.1
   (package
-    (name "rust-ref-cast")
-    (version "0.2.7")
+    (name "rust-rand-jitter")
+    (version "0.1.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_jitter" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "16z387y46bfz3csc42zxbjq89vcr1axqacncvv8qhyy93p4xarhi"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-rand-core" ,rust-rand-core-0.4)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("rust-log" ,rust-log-0.4))))
+    (home-page "https://github.com/rust-random/rand";)
+    (synopsis "Random number generator based on timing jitter")
+    (description "This package provides a non-physical true random number
+generator based on timing jitter.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-rand-os-0.2
+  (package
+    (name "rust-rand-os")
+    (version "0.2.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "ref-cast" version))
+       (uri (crate-uri "rand_os" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1fcbpfb7xhr992qvyfg9hr5p63xqykjp48pm3f7a1q21vmhzksvv"))))
+         "06is69f8rfzs620g5b54k6cgy5yaycrsyqg55flyfrsf8g88733f"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-ref-cast-impl" ,rust-ref-cast-impl-0.2))
+       (("rust-getrandom" ,rust-getrandom-0.1)
+        ("rust-rand-core" ,rust-rand-core-0.5))))
+    (home-page "https://crates.io/crates/rand-os";)
+    (synopsis "OS backed Random Number Generator")
+    (description "OS backed Random Number Generator.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-rand-os-0.1
+  (package
+    (inherit rust-rand-os-0.2)
+    (name "rust-rand-os")
+    (version "0.1.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_os" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0wahppm0s64gkr2vmhcgwc0lij37in1lgfxg5rbgqlz0l5vgcxbv"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-cloudabi" ,rust-cloudabi-0.0)
+        ("rust-fuchsia-cprng" ,rust-fuchsia-cprng-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-rand-core" ,rust-rand-core-0.4)
+        ("rust-rdrand" ,rust-rdrand-0.4)
+        ("rust-stdweb" ,rust-stdweb-0.4)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+        ("rust-winapi" ,rust-winapi-0.3))))))
+
+(define-public rust-rand-pcg-0.2
+  (package
+    (name "rust-rand-pcg")
+    (version "0.2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_pcg" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0ab4h6s6x3py833jk61lwadq83qd1c8bih2hgi6yps9rnv0x1aqn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-rand-core" ,rust-rand-core-0.5)
+        ("rust-serde" ,rust-serde-1.0))
        #:cargo-development-inputs
-       (("rust-rustversion" ,rust-rustversion-0.1)
-        ("rust-trybuild" ,rust-trybuild-1.0))))
-    (home-page "https://github.com/dtolnay/ref-cast";)
-    (synopsis "Safely cast &T to &U")
+       (("rust-bincode" ,rust-bincode-1.1))))
+    (home-page "https://crates.io/crates/rand_pcg";)
+    (synopsis
+     "Selected PCG random number generators")
     (description
-     "Safely cast &T to &U where the struct U contains a single field of type 
T.")
-    (license (list license:asl2.0 license:expat))))
+     "Implements a selection of PCG random number generators.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-ref-cast-impl-1.0
+(define-public rust-rand-pcg-0.1
   (package
-    (name "rust-ref-cast-impl")
-    (version "1.0.0")
+    (inherit rust-rand-pcg-0.2)
+    (name "rust-rand-pcg")
+    (version "0.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_pcg" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0i0bdla18a8x4jn1w0fxsbs3jg7ajllz6azmch1zw33r06dv1ydb"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-autocfg" ,rust-autocfg-0.1)
+        ("rust-rand-core" ,rust-rand-core-0.4)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1.1))))))
+
+(define-public rust-rand-xorshift-0.2
+  (package
+    (name "rust-rand-xorshift")
+    (version "0.2.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "ref-cast-impl" version))
+       (uri (crate-uri "rand_xorshift" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "07rc752npmkyc5b8xcqk2ydbl3gxi1n4fzrq0wx9wz5qd4mvavn3"))))
+         "1a6wy76lc5fimm1n9n8fzhp4cfjwfwxh4hx63bg3vlh1d2w1dm3p"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))))
-    (home-page "https://github.com/dtolnay/ref-cast";)
-    (synopsis "Derive implementation for @code{ref_cast::RefCast}")
+       (("rust-rand-core" ,rust-rand-core-0.5)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1.1))))
+    (home-page "https://crates.io/crates/rand-xorshift";)
+    (synopsis "Xorshift random number generator")
     (description
-     "Derive implementation for @code{ref_cast::RefCast}.")
+     "Xorshift random number generator.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-ref-cast-impl-0.2
+(define-public rust-rand-xorshift-0.1
   (package
-    (inherit rust-ref-cast-impl-1.0)
-    (name "rust-ref-cast-impl")
-    (version "0.2.7")
+    (name "rust-rand-xorshift")
+    (version "0.1.1")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "ref-cast-impl" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0av43xxjlinfqklb67rpj217cmaxfjsf8151gs0hbs4hnr5664ck"))))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rand_xorshift" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0p2x8nr00hricpi2m6ca5vysiha7ybnghz79yqhhx6sl4gkfkxyb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-rand-core" ,rust-rand-core-0.3)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1.1))))
+    (home-page "https://crates.io/crates/rand-xorshift";)
+    (synopsis "Xorshift random number generator")
+    (description
+      "Xorshift random number generator")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-regex-1.3
+(define-public rust-rand-xoshiro-0.4
   (package
-    (name "rust-regex")
-    (version "1.3.4")
+    (name "rust-rand-xoshiro")
+    (version "0.4.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "regex" version))
+       (uri (crate-uri "rand-xoshiro" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1a1mh9mgr8jipnxdaykla6xlw4a6kjn2bzkq3cifx8xy4ivzjb1j"))))
+         "013h45rikipv5bda2ixmwx5rwsk9wpc7mr0a77cz20hxi0pdvz59"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-aho-corasick" ,rust-aho-corasick-0.7)
-        ("rust-memchr" ,rust-memchr-2.2)
-        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
-        ("rust-thread-local" ,rust-thread-local-1.0))
+       (("rust-rand-core" ,rust-rand-core-0.5)
+        ("rust-serde" ,rust-serde-1.0))
        #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment-0.3)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-quickcheck" ,rust-quickcheck-0.8)
-        ("rust-rand" ,rust-rand-0.6))))
-    (home-page "https://github.com/rust-lang/regex";)
-    (synopsis "Regular expressions for Rust")
-    (description
-     "An implementation of regular expressions for Rust.  This implementation
-uses finite automata and guarantees linear time matching on all inputs.")
+       (("rust-bincode" ,rust-bincode-1.1))))
+    (home-page "https://crates.io/crates/rand_xoshiro";)
+    (synopsis "Xoshiro, xoroshiro and splitmix64 random number generators")
+    (description "This package provides the xoshiro, xoroshiro and splitmix64
+random number generators.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-regex-1.1
+(define-public rust-rand-xoshiro-0.3
   (package
-    (inherit rust-regex-1.3)
-    (name "rust-regex")
-    (version "1.1.9")
+    (inherit rust-rand-xoshiro-0.4)
+    (name "rust-rand-xoshiro")
+    (version "0.3.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "regex" version))
+       (uri (crate-uri "rand_xoshiro" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1ba47ivq8l1yikiwikjnq5barag6iqfgcpxlz2263fqbq9y2kn6r"))))
+         "07w3qgrac8r356lz5vqff42rly6yd9vs3g5lx5pbn13rcmb05rqb"))))
     (arguments
      `(#:cargo-inputs
-       (("rust-aho-corasick" ,rust-aho-corasick-0.7)
-        ("rust-memchr" ,rust-memchr-2.2)
-        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
-        ("rust-thread-local" ,rust-thread-local-0.3)
-        ("rust-utf8-ranges" ,rust-utf8-ranges-1.0))
-       #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment-0.3)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-quickcheck" ,rust-quickcheck-0.8)
-        ("rust-rand" ,rust-rand-0.6))))))
-
-(define-public rust-regex-0.2
-  (package
-    (inherit rust-regex-1.3)
-    (name "rust-regex")
-    (version "0.2.11")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "regex" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "1163ir1k5zjspirfjl4wqbviwrxlhmfwy95xxb69y4irkv4snack"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-aho-corasick" ,rust-aho-corasick-0.6)
-        ("rust-memchr" ,rust-memchr-2.2)
-        ("rust-regex-syntax" ,rust-regex-syntax-0.5)
-        ("rust-thread-local" ,rust-thread-local-0.3)
-        ("rust-utf8-ranges" ,rust-utf8-ranges-1.0))
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-rand-core" ,rust-rand-core-0.5)
+        ("rust-serde" ,rust-serde-1.0))
        #:cargo-development-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-quickcheck" ,rust-quickcheck-0.6)
-        ("rust-rand" ,rust-rand-0.4))))))
+       (("rust-bincode" ,rust-bincode-1.1))))))
 
-(define-public rust-regex-0.1
+(define-public rust-rand-xoshiro-0.1
   (package
-    (inherit rust-regex-0.2)
-    (name "rust-regex")
-    (version "0.1.80")
+    (inherit rust-rand-xoshiro-0.4)
+    (name "rust-rand-xoshiro")
+    (version "0.1.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "regex" version))
+       (uri (crate-uri "rand_xoshiro" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0bs036h3vzc6pj5jj4vc909s9rppq7b808ic99qn0y6gm3karm2g"))))
+         "0ac9ha6ll8b6l1930bd99k29jrjpsbpddvr6ycrnbi5rkwb1id03"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t     ; Can't find dependent crates.
-       #:cargo-inputs
-       (("rust-aho-corasick" ,rust-aho-corasick-0.5)
-        ("rust-memchr" ,rust-memchr-0.1)
-        ("rust-regex-syntax" ,rust-regex-syntax-0.3)
-        ("rust-simd" ,rust-simd-0.2) ; 0.1?
-        ("rust-thread-local" ,rust-thread-local-0.2)
-        ("rust-utf8-ranges" ,rust-utf8-ranges-0.1))
+     `(#:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-rand-core" ,rust-rand-core-0.3))
        #:cargo-development-inputs
-       (("rust-lazy-static" ,rust-lazy-static-0.1)
-        ("rust-quickcheck" ,rust-quickcheck-0.2)
-        ("rust-rand" ,rust-rand-0.3))))))
+       (("rust-rand" ,rust-rand-0.6))))))
 
-(define-public rust-regex-automata-0.1
+(define-public rust-raw-window-handle-0.3
   (package
-    (name "rust-regex-automata")
-    (version "0.1.7")
+    (name "rust-raw-window-handle")
+    (version "0.3.3")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "regex-automata" version))
+       (uri (crate-uri "raw-window-handle" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "11hzn3rz02vdgvx3ykhrbzkvs5c5sm59fyi3xwljn9qc48br5l1y"))))
+         "04c2wir7qq3g2b143yav52a1g5ack8ffqx2bpmrn9bc0dix1li0a"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
-        ("rust-utf8-ranges" ,rust-utf8-ranges-1.0))
-       #:cargo-development-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-regex" ,rust-regex-1.1)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-bytes" ,rust-serde-bytes-0.11)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-toml" ,rust-toml-0.5))))
-    (home-page "https://github.com/BurntSushi/regex-automata";)
-    (synopsis
-     "Automata construction and matching using regular expressions")
+     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
+    (home-page "https://github.com/rust-windowing/raw-window-handle";)
+    (synopsis "Interoperability library for Rust Windowing applications")
     (description
-     "Automata construction and matching using regular expressions.")
-    (license (list license:expat license:unlicense))))
+     "Interoperability library for Rust Windowing applications.")
+    (license license:expat)))
 
-(define-public rust-regex-syntax-0.6
+(define-public rust-rawpointer-0.2
   (package
-    (name "rust-regex-syntax")
-    (version "0.6.14")
+    (name "rust-rawpointer")
+    (version "0.2.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "regex-syntax" version))
+        (uri (crate-uri "rawpointer" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "01myl8xqpbnird23xnsb92sjmz1cmp69r6m7y3dwbpmsx4zzx3dj"))))
+          "1qy1qvj17yh957vhffnq6agq0brvylw27xgks171qrah75wmg8v0"))))
     (build-system cargo-build-system)
-    (home-page "https://github.com/rust-lang/regex";)
-    (synopsis "Regular expression parser")
-    (description
-     "This package provides a regular expression parser.")
+    (home-page "https://github.com/bluss/rawpointer/";)
+    (synopsis "Extra methods for raw pointers")
+    (description "Extra methods for raw pointers.  For example
+@code{.post_inc()} and @code{.pre_dec()} (c.f. @code{ptr++} and @code{--ptr})
+and @code{ptrdistance}.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-regex-syntax-0.5
+(define-public rust-rawpointer-0.1
   (package
-    (inherit rust-regex-syntax-0.6)
-    (name "rust-regex-syntax")
-    (version "0.5.6")
+    (inherit rust-rawpointer-0.2)
+    (name "rust-rawpointer")
+    (version "0.1.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "regex-syntax" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "rawpointer" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "19zp25jr3dhmclg3qqjk3bh1yrn7bqi05zgr5v52szv3l97plw3x"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-ucd-util" ,rust-ucd-util-0.1))))))
+          "06ghpm9y7gacks78s3maakha07kbnwrxif5q37r2l7z1sali3b7b"))))))
 
-(define-public rust-regex-syntax-0.3
+(define-public rust-rawslice-0.1
   (package
-    (inherit rust-regex-syntax-0.6)
-    (name "rust-regex-syntax")
-    (version "0.3.9")
+    (name "rust-rawslice")
+    (version "0.1.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "regex-syntax" version))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (uri (crate-uri "rawslice" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0ms9hgdhhsxw9w920i7gipydvagf100bb56jbs192rz86ln01v7r"))))
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-quickcheck" ,rust-quickcheck-0.2)
-        ("rust-rand" ,rust-rand-0.3))))))
-
-(define-public rust-remove-dir-all-0.5
-  (package
-    (name "rust-remove-dir-all")
-    (version "0.5.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "remove_dir_all" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0bkrlyg26mgizpiy1yb2hhpgscxcag8r5fnckqsvk25608vzm0sa"))))
+         "09bympww1rpsd422da3w444q5w1znjbjh7mjninhq9gaaygkpci2"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-winapi" ,rust-winapi-0.3))
+       (("rust-rawpointer" ,rust-rawpointer-0.1))
        #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment-0.3))))
-    (home-page "https://github.com/XAMPPRocky/remove_dir_all";)
-    (synopsis "Implementation of remove_dir_all for Windows")
-    (description
-     "This package provides a safe, reliable implementation of
-@code{remove_dir_all} for Windows")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-resolv-conf-0.6
-  (package
-    (name "rust-resolv-conf")
-    (version "0.6.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "resolv-conf" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1jvdsmksdf6yiipm3aqahyv8n1cjd7wqc8sa0p0gzsax3fmb8qxj"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-quick-error" ,rust-quick-error-1.2)
-        ("rust-hostname", rust-hostname-0.1))))
-    (home-page "https://github.com/tailhook/resolv-conf";)
-    (synopsis "Parser for /etc/resolv.conf")
+       (("rust-quickcheck" ,rust-quickcheck-0.8))))
+    (home-page "https://github.com/bluss/rawslice/";)
+    (synopsis "Reimplementation of the slice iterators, with extra features")
     (description
-     "An /etc/resolv.conf parser crate for Rust.")
-    (license (list license:asl2.0
-                   license:expat))))
+     "Reimplementation of the slice iterators, with extra features.
+For example creation from raw pointers and start, end pointer
+accessors.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-ron-0.4
+(define-public rust-rayon-1.3
   (package
-    (name "rust-ron")
-    (version "0.4.1")
+    (name "rust-rayon")
+    (version "1.3.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "ron" version))
+       (uri (crate-uri "rayon" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1mrqdgw3w0yypg24jyq9mphp4zr9lr0ks7yam82m4n34x6njijyr"))))
+         "1650g13bxlmywhdlw65q3g1zyyb7l0wcm35v45kf31cwgwly6v6v"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-base64" ,rust-base64-0.10)
-        ("rust-bitflags" ,rust-bitflags-1)
-        ("rust-serde" ,rust-serde-1.0))
+       (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
+        ("rust-either" ,rust-either-1.5)
+        ("rust-rayon-core" ,rust-rayon-core-1.7))
        #:cargo-development-inputs
-       (("rust-serde-bytes" ,rust-serde-bytes-0.11)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
-    (home-page "https://github.com/ron-rs/ron";)
-    (synopsis "Rusty Object Notation")
-    (description "Rusty Object Notation.")
-    (license (list license:asl2.0
-                   license:expat))))
+       (("rust-doc-comment" ,rust-doc-comment-0.3)
+        ("rust-docopt" ,rust-docopt-1.1)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-rand" ,rust-rand-0.7)
+        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
+        ("rust-serde" ,rust-serde-1.0))))
+    (home-page "https://github.com/rayon-rs/rayon";)
+    (synopsis "Simple work-stealing parallelism for Rust")
+    (description
+     "Simple work-stealing parallelism for Rust.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-rust-argon2-0.5
+(define-public rust-rayon-1.1
   (package
-    (name "rust-rust-argon2")
-    (version "0.5.1")
+    (inherit rust-rayon-1.3)
+    (name "rust-rayon")
+    (version "1.1.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "rust-argon2" version))
+       (uri (crate-uri "rayon" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1krjkmyfn37hy7sfs6lqia0fsvw130nn1z2850glsjcva7pym92c"))))
+         "190hkbcdfvcphyyzkdg52zdia2y9d9yanpm072bmnzbn49p1ic54"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.6)
+        ("rust-either" ,rust-either-1.5)
+        ("rust-rayon-core" ,rust-rayon-core-1.5))
+       #:cargo-development-inputs
+       (("rust-doc-comment" ,rust-doc-comment-0.3)
+        ("rust-docopt" ,rust-docopt-1.1)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0))))))
+
+(define-public rust-rayon-core-1.7
+  (package
+    (name "rust-rayon-core")
+    (version "1.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rayon-core" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ac55kpnh2390ah7r071vnjbiy308qpznql0n597x5dgxx39pa08"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-base64" ,rust-base64-0.10)
-        ("rust-blake2b-simd" ,rust-blake2b-simd-0.5)
-        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6))
+       (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
+        ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.2)
+        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-num-cpus" ,rust-num-cpus-1.10))
        #:cargo-development-inputs
-       (("rust-hex" ,rust-hex-0.3))))
-    (home-page "https://github.com/sru-systems/rust-argon2";)
-    (synopsis "Rust implementation of the Argon2 password hashing function")
-    (description "This package contains a rust implementation of the Argon2
-password hashing function.")
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-rand" ,rust-rand-0.7)
+        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
+        ("rust-scoped-tls" ,rust-scoped-tls-1.0))))
+    (home-page "https://github.com/rayon-rs/rayon";)
+    (synopsis "Core APIs for Rayon")
+    (description "Core APIs for Rayon.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-rustc-demangle-0.1
+(define-public rust-rayon-core-1.5
   (package
-    (name "rust-rustc-demangle")
-    (version "0.1.16")
+    (inherit rust-rayon-core-1.7)
+    (name "rust-rayon-core")
+    (version "1.5.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rustc-demangle" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "10qp42sl1wrdbgbbh8rnay2grm976z7hqgz32c4y09l1c071qsac"))))
-    (build-system cargo-build-system)
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rayon-core" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ljva6blaf1wmzvg77h1i9pd0hsmsbbcmdk7sjbw7h2s8gw0vgpb"))))
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
-        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0))))
-    (home-page "https://github.com/alexcrichton/rustc-demangle";)
-    (synopsis "Rust compiler symbol demangling")
-    (description
-     "This package demanges the symbols from the Rust compiler.")
-    (license (list license:asl2.0
-                   license:expat))))
+       (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
+        ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.1)
+        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-num-cpus" ,rust-num-cpus-1.10))
+       #:cargo-development-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)
+        ("rust-scoped-tls" ,rust-scoped-tls-1.0))))))
 
-(define-public rust-rustc-hash-1.0
+(define-public rust-rctree-0.3
   (package
-    (name "rust-rustc-hash")
-    (version "1.0.1")
+    (name "rust-rctree")
+    (version "0.3.3")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rustc-hash" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "rctree" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "1f4cnbcmz2c3zjidqszc9c4fip37ch4xl74nkkp9dw291j5zqh3m"))))
+          "1a54z2b850albiqx9vw009p9xg363vqzh1ybkwb89zn8375jk7my"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-byteorder" ,rust-byteorder-1.3))))
-    (home-page "https://github.com/rust-lang/rustc-hash";)
-    (synopsis "Speedy, non-cryptographic hash used in rustc")
-    (description
-     "This package provides a speedy, non-cryptographic hash used in rustc.")
-    (license (list license:asl2.0
-                   license:expat))))
+    (home-page "https://github.com/RazrFalcon/rctree";)
+    (synopsis "DOM-like tree implemented using reference counting")
+    (description "This package provides a @code{DOM-like} tree implemented 
using
+reference counting.")
+    (license license:expat)))
 
-(define-public rust-rustc-serialize-0.3
+(define-public rust-rdrand-0.4
   (package
-    (name "rust-rustc-serialize")
-    (version "0.3.24")
+    (name "rust-rdrand")
+    (version "0.4.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rustc-serialize" version))
+        (uri (crate-uri "rdrand" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1nkg3vasg7nk80ffkazizgiyv3hb1l9g3d8h17cajbkx538jiwfw"))))
+          "1cjq0kwx1bk7jx3kzyciiish5gqsj7620dm43dc52sr8fzmm9037"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-rand" ,rust-rand-0.3))))
-    (home-page "https://github.com/rust-lang-deprecated/rustc-serialize";)
-    (synopsis "Generic serialization/deserialization support")
+       (("rust-rand-core" ,rust-rand-core-0.3))))
+    (home-page "https://github.com/nagisa/rust_rdrand/";)
+    (synopsis "Random number generator")
     (description
-     "This package provides generic serialization/deserialization support
-corresponding to the @code{derive(RustcEncodable, RustcDecodable)} mode in the
-compiler.  Also includes support for hex, base64, and json encoding and
-decoding.")
-    (license (list license:asl2.0
-                   license:expat))))
+     "This package is an implementation of random number generator based on
+@code{rdrand} and @code{rdseed} instructions")
+    (license license:isc)))
 
-(define-public rust-rustc-std-workspace-alloc-1.0
+(define-public rust-read-color-1.0
   (package
-    (name "rust-rustc-std-workspace-alloc")
+    (name "rust-read-color")
     (version "1.0.0")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "rustc-std-workspace-alloc" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "11psmqk6glglxl3zwh8slz6iynfxaifh4spd2wcnws552dqdarpz"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "read_color" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1np0pk31ak7hni4hri3m75mbf8py1wdfjshmrj5krbd4p9c8hk4z"))))
     (build-system cargo-build-system)
     (arguments `(#:skip-build? #t))
-    (home-page "https://crates.io/crates/rustc-std-workspace-alloc";)
-    (synopsis "Rust workspace hack")
-    (description "This package is a Rust workspace hack.")
-    (license (list license:asl2.0 license:expat))))
+    (home-page
+      "https://github.com/pistondevelopers/read_color";)
+    (synopsis
+      "A simple library for reading hex colors")
+    (description
+      "This package provides a simple library for reading hex colors")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-rustc-std-workspace-core-1.0
+(define-public rust-recycler-0.1
   (package
-    (name "rust-rustc-std-workspace-core")
-    (version "1.0.0")
+    (name "rust-recycler")
+    (version "0.1.4")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rustc-std-workspace-core" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "recycler" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "1309xhwyai9xpz128xrfjqkmnkvgjwddznmj7brbd8i8f58zamhr"))))
+          "1yll0sqswy6afk9ik7r22djqafa3wfgvgdzqqh7jbczyiqr2gp4q"))))
     (build-system cargo-build-system)
-    (arguments '(#:skip-build? #t))
-    (home-page "https://crates.io/crates/rustc-std-workspace-core";)
-    (synopsis "Explicitly empty crate for rust-lang/rust integration")
-    (description "This crate provides an explicitly empty crate for
-rust-lang/rust integration.")
-    (license (list license:asl2.0
-                   license:expat))))
+    (home-page "https://github.com/frankmcsherry/recycler";)
+    (synopsis "Rust library for recycling types containing owned memory")
+    (description
+     "This package provides a small Rust library for recycling types containing
+owned memory.")
+    (license license:expat)))
 
-(define-public rust-rustc-std-workspace-std-1.0
+;; This package requires features which are unavailable
+;; on the stable releases of Rust.
+(define-public rust-redox-syscall-0.1
   (package
-    (name "rust-rustc-std-workspace-std")
-    (version "1.0.1")
+    (name "rust-redox-syscall")
+    (version "0.1.56")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rustc-std-workspace-std" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "redox_syscall" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1vq4vaclamwhk0alf4f7wq3i9wxa993sxpmhy6qfaimy1ai7d9mb"))))
+          "110y7dyfm2vci4x5vk7gr0q551dvp31npl99fnsx2fb17wzwcf94"))))
     (build-system cargo-build-system)
     (arguments '(#:skip-build? #t))
-    (home-page "https://crates.io/crates/rustc-std-workspace-std";)
-    (synopsis "Workaround for rustbuild")
-    (description "This package provides a workaround for rustbuild.")
-    (license (list license:expat license:asl2.0))))
+    (home-page "https://gitlab.redox-os.org/redox-os/syscall";)
+    (synopsis "Rust library to access raw Redox system calls")
+    (description "This package provides a Rust library to access raw Redox
+system calls.")
+    (license license:expat)))
 
-(define-public rust-rustc-test-0.3
+(define-public rust-redox-termios-0.1
   (package
-    (name "rust-rustc-test")
-    (version "0.3.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "rustc-test" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0a27mlcg0ck0hgsdvwk792x9z1k1qq1wj091f1l5yggbdbcsnx5w"))))
+    (name "rust-redox-termios")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "redox-termios" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0xhgvdh62mymgdl3jqrngl8hr4i8xwpnbsxnldq0l47993z1r2by"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-getopts" ,rust-getopts-0.2)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
-        ("rust-term" ,rust-term-0.4)
-        ("rust-time" ,rust-time-0.1)
-        ("rust-rustc-version" ,rust-rustc-version-0.2))))
-    (home-page "https://github.com/servo/rustc-test";)
-    (synopsis "Fork of Rust's test crate")
+       (("rust-redox-syscall" ,rust-redox-syscall-0.1))))
+    (home-page "https://github.com/redox-os/termios";)
+    (synopsis "Rust library to access Redox termios functions")
     (description
-     "This package provides a fork of Rust's test crate that doesn't
-require unstable language features.")
-    (license (list license:asl2.0 license:expat))))
+     "This package provides a Rust library to access Redox termios functions.")
+    (license license:expat)))
 
-(define-public rust-rustc-tools-util-0.2
+(define-public rust-redox-users-0.3
   (package
-    (name "rust-rustc-tools-util")
-    (version "0.2.0")
+    (name "rust-redox-users")
+    (version "0.3.4")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "rustc_tools_util" version))
+       (uri (crate-uri "redox_users" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1vj4ymv29igs7n52m12k138zbsn5k5d7ya4sys6lig7sx7ddl9dp"))))
+         "0cbl5w16l3bqm22i4vszclf6hzpljxicghmllw7j13az4s9k1ch9"))))
     (build-system cargo-build-system)
-    (arguments '(#:skip-build? #t))
-    (home-page
-     "https://github.com/rust-lang/rust-clippy";)
-    (synopsis
-     "small helper to generate version information for git packages")
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-getrandom" ,rust-getrandom-0.1)
+        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
+        ("rust-rust-argon2" ,rust-rust-argon2-0.7))))
+    (home-page "https://gitlab.redox-os.org/redox-os/users";)
+    (synopsis "Access Redox users and groups")
     (description
-     "small helper to generate version information for git packages")
-    (license (list license:expat license:asl2.0))))
+     "This package provides a Rust library to access Redox users and groups
+functionality.")
+    (license license:expat)))
 
-(define-public rust-rustc-version-0.2
+(define-public rust-ref-cast-1.0
   (package
-    (name "rust-rustc-version")
-    (version "0.2.3")
+    (name "rust-ref-cast")
+    (version "1.0.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "rustc_version" version))
+       (uri (crate-uri "ref-cast" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "02h3x57lcr8l2pm0a645s9whdh33pn5cnrwvn5cb57vcrc53x3hk"))))
+         "1vy378bdzb4kcz13kh96c5n5qw1jinhfrya5j4bf9rxz65x1jzq7"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs (("rust-semver" ,rust-semver-0.9))))
-    (home-page "https://github.com/Kimundi/rustc-version-rs";)
-    (synopsis
-     "Library for querying the version of a installed rustc compiler")
+     `(#:cargo-inputs
+       (("rust-ref-cast-impl" ,rust-ref-cast-impl-1.0))
+       #:cargo-development-inputs
+       (("rust-rustversion" ,rust-rustversion-1.0)
+        ("rust-trybuild" ,rust-trybuild-1.0))))
+    (home-page "https://github.com/dtolnay/ref-cast";)
+    (synopsis "Safely cast &T to &U")
     (description
-     "This package provides a library for querying the version of a installed
-rustc compiler.")
+     "Safely cast &T to &U where the struct U contains a single field of type 
T.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-rustdoc-stripper-0.1
-  (package
-    (name "rust-rustdoc-stripper")
-    (version "0.1.9")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rustdoc-stripper" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "13rf65a0xk1zyb92jd8p12x529rsbfchwk9zvjr0snr9savpxw19"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3.1))))
-    (home-page "https://github.com/GuillaumeGomez/rustdoc-stripper";)
-    (synopsis "Nanipulate rustdoc comments")
-    (description
-     "This package provides a tool to manipulate rustdoc comments.")
-    (license license:asl2.0)))
-
-(define-public rust-rustfix-0.4
+(define-public rust-ref-cast-0.2
   (package
-    (name "rust-rustfix")
-    (version "0.4.6")
+    (name "rust-ref-cast")
+    (version "0.2.7")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "rustfix" version))
+       (uri (crate-uri "ref-cast" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "01zn0ysnass3mmrhxk90584y713vjfq1x97mi4saac99g9vsql3i"))))
+         "1fcbpfb7xhr992qvyfg9hr5p63xqykjp48pm3f7a1q21vmhzksvv"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-failure" ,rust-failure-0.1)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))
+     `(#:cargo-inputs
+       (("rust-ref-cast-impl" ,rust-ref-cast-impl-0.2))
        #:cargo-development-inputs
-       (("rust-difference" ,rust-difference-2.0)
-        ("rust-duct" ,rust-duct-0.13)
-        ("rust-env-logger" ,rust-env-logger-0.6)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-proptest" ,rust-proptest-0.9)
-        ("rust-tempdir" ,rust-tempdir-0.3))))
-    (home-page "https://github.com/rust-lang/rustfix";)
-    (synopsis "Automatically apply the suggestions made by rustc")
+       (("rust-rustversion" ,rust-rustversion-0.1)
+        ("rust-trybuild" ,rust-trybuild-1.0))))
+    (home-page "https://github.com/dtolnay/ref-cast";)
+    (synopsis "Safely cast &T to &U")
     (description
-     "Automatically apply the suggestions made by rustc.")
-    (license (list license:expat license:asl2.0))))
+     "Safely cast &T to &U where the struct U contains a single field of type 
T.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-rusttype-0.8
+(define-public rust-ref-cast-impl-1.0
   (package
-    (name "rust-rusttype")
-    (version "0.8.2")
+    (name "rust-ref-cast-impl")
+    (version "1.0.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "rusttype" version))
+       (uri (crate-uri "ref-cast-impl" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "12hwfg85iii7sbgsyyr23yw862dzp7f8zwn9xv5iqydm5w1i3a8l"))))
+         "07rc752npmkyc5b8xcqk2ydbl3gxi1n4fzrq0wx9wz5qd4mvavn3"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #f      ; Artifacts for tests not included.
-       #:cargo-inputs
-       (("rust-approx" ,rust-approx-0.3)
-        ("rust-arrayvec" ,rust-arrayvec-0.5)
-        ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
-        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
-        ("rust-libm" ,rust-libm-0.2)
-        ("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
-        ("rust-num-cpus" ,rust-num-cpus-1.11)
-        ("rust-ordered-float" ,rust-ordered-float-1.0)
-        ("rust-rustc-hash" ,rust-rustc-hash-1.0)
-        ("rust-stb-truetype" ,rust-stb-truetype-0.3))))
-    (home-page "https://gitlab.redox-os.org/redox-os/rusttype";)
-    (synopsis "Pure Rust alternative to libraries like FreeType")
+     `(#:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0))))
+    (home-page "https://github.com/dtolnay/ref-cast";)
+    (synopsis "Derive implementation for @code{ref_cast::RefCast}")
     (description
-     "This package provides a pure Rust alternative to libraries like FreeType.
-RustType provides an API for loading, querying and rasterising TrueType fonts.
-It also provides an implementation of a dynamic GPU glyph cache for hardware
-font rendering.")
+     "Derive implementation for @code{ref_cast::RefCast}.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-rusttype-0.7
+(define-public rust-ref-cast-impl-0.2
   (package
-    (inherit rust-rusttype-0.8)
-    (name "rust-rusttype")
-    (version "0.7.9")
+    (inherit rust-ref-cast-impl-1.0)
+    (name "rust-ref-cast-impl")
+    (version "0.2.7")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "rusttype" version))
+       (uri (crate-uri "ref-cast-impl" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1m9ms4p94cgif74y1rzkj04rx8i1la193c0jgvnip61rd904429i"))))
-    (arguments
-     `(#:tests? #f      ; Artifacts for tests not included.
-       #:cargo-inputs
-       (("rust-rusttype" ,rust-rusttype-0.8))
-       #:cargo-development-inputs
-       (("rust-arrayvec" ,rust-arrayvec-0.4)
-        ("rust-blake2" ,rust-blake2-0.8)
-        ("rust-glium" ,rust-glium-0.25)
-        ("rust-image" ,rust-image-0.21)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-unicode-normalization" ,rust-unicode-normalization-0.1))))))
+         "0av43xxjlinfqklb67rpj217cmaxfjsf8151gs0hbs4hnr5664ck"))))))
 
-(define-public rust-rustversion-1.0
+(define-public rust-regex-1.3
   (package
-    (name "rust-rustversion")
-    (version "1.0.2")
+    (name "rust-regex")
+    (version "1.3.6")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "rustversion" version))
+       (uri (crate-uri "regex" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1xkr1g792w728py2qpg2zj0vfviv2xzmxkkd9w6035l9d5ss3fxk"))))
+         "1cx4lcgy7vdi2kij2n1dp2whl33d7974g1kxwiklhs192nclcsbz"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))))
-    (home-page "https://github.com/dtolnay/rustversion";)
-    (synopsis "Conditional compilation according to rustc compiler version")
+       (("rust-aho-corasick" ,rust-aho-corasick-0.7)
+        ("rust-memchr" ,rust-memchr-2.3)
+        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
+        ("rust-thread-local" ,rust-thread-local-1.0))
+       #:cargo-development-inputs
+       (("rust-doc-comment" ,rust-doc-comment-0.3)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-rand" ,rust-rand-0.6))))
+    (home-page "https://github.com/rust-lang/regex";)
+    (synopsis "Regular expressions for Rust")
     (description
-     "This package provides conditional compilation according to the
-@code{rustc} compiler version.")
+     "An implementation of regular expressions for Rust.  This implementation
+uses finite automata and guarantees linear time matching on all inputs.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-rustversion-0.1
+(define-public rust-regex-1.1
   (package
-    (name "rust-rustversion")
-    (version "0.1.4")
+    (inherit rust-regex-1.3)
+    (name "rust-regex")
+    (version "1.1.9")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rustversion" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "1s3ib2paa5gq17x4qsmjmnsw68z7b5d5av1wsiqcrihmqb7kk0dl"))))
-    (build-system cargo-build-system)
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "regex" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ba47ivq8l1yikiwikjnq5barag6iqfgcpxlz2263fqbq9y2kn6r"))))
     (arguments
      `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))))
-    (home-page "https://github.com/dtolnay/rustversion";)
-    (synopsis "Conditional compilation according to rustc compiler version")
-    (description "This package provides conditional compilation according to
-rustc compiler version.")
-    (license (list license:expat license:asl2.0))))
+       (("rust-aho-corasick" ,rust-aho-corasick-0.7)
+        ("rust-memchr" ,rust-memchr-2.2)
+        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
+        ("rust-thread-local" ,rust-thread-local-0.3)
+        ("rust-utf8-ranges" ,rust-utf8-ranges-1.0))
+       #:cargo-development-inputs
+       (("rust-doc-comment" ,rust-doc-comment-0.3)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-rand" ,rust-rand-0.6))))))
 
-(define-public rust-rusty-fork-0.2
+(define-public rust-regex-0.2
   (package
-    (name "rust-rusty-fork")
-    (version "0.2.2")
+    (inherit rust-regex-1.3)
+    (name "rust-regex")
+    (version "0.2.11")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "regex" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1163ir1k5zjspirfjl4wqbviwrxlhmfwy95xxb69y4irkv4snack"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-aho-corasick" ,rust-aho-corasick-0.6)
+        ("rust-memchr" ,rust-memchr-2.2)
+        ("rust-regex-syntax" ,rust-regex-syntax-0.5)
+        ("rust-thread-local" ,rust-thread-local-0.3)
+        ("rust-utf8-ranges" ,rust-utf8-ranges-1.0))
+       #:cargo-development-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-quickcheck" ,rust-quickcheck-0.6)
+        ("rust-rand" ,rust-rand-0.4))))))
+
+(define-public rust-regex-0.1
+  (package
+    (inherit rust-regex-0.2)
+    (name "rust-regex")
+    (version "0.1.80")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "rusty-fork" version))
+       (uri (crate-uri "regex" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1bjg8adk0i921088j52rn0hmvsry34q19g96x41pamqcw5j35n9x"))))
-    (build-system cargo-build-system)
+         "0bs036h3vzc6pj5jj4vc909s9rppq7b808ic99qn0y6gm3karm2g"))))
     (arguments
-     `(#:skip-build? #t
+     `(#:skip-build? #t     ; Can't find dependent crates.
        #:cargo-inputs
-       (("rust-fnv" ,rust-fnv-1.0)
-        ("rust-quick-error" ,rust-quick-error-1.2)
-        ("rust-tempfile" ,rust-tempfile-3.0)
-        ("rust-wait-timeout" ,rust-wait-timeout-0.2))))
-    (home-page "https://github.com/altsysrq/rusty-fork";)
-    (synopsis "Library for running Rust tests in sub-processes")
-    (description
-     "Cross-platform library for running Rust tests in sub-processes
-using a fork-like interface.")
-    (license (list license:asl2.0 license:expat))))
+       (("rust-aho-corasick" ,rust-aho-corasick-0.5)
+        ("rust-memchr" ,rust-memchr-0.1)
+        ("rust-regex-syntax" ,rust-regex-syntax-0.3)
+        ("rust-simd" ,rust-simd-0.2) ; 0.1?
+        ("rust-thread-local" ,rust-thread-local-0.2)
+        ("rust-utf8-ranges" ,rust-utf8-ranges-0.1))
+       #:cargo-development-inputs
+       (("rust-lazy-static" ,rust-lazy-static-0.1)
+        ("rust-quickcheck" ,rust-quickcheck-0.2)
+        ("rust-rand" ,rust-rand-0.3))))))
 
-(define-public rust-ryu-1.0
+(define-public rust-regex-automata-0.1
   (package
-    (name "rust-ryu")
-    (version "1.0.2")
+    (name "rust-regex-automata")
+    (version "0.1.9")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "ryu" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1j0h74f1xqf9hjkhanp8i20mqc1aw35kr1iq9i79q7713mn51a5z"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "regex-automata" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1r3aqa9c0s9sfrmd2w0mli16ldjzbar0rzb1x7srfjkasrqys7df"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-no-panic" ,rust-no-panic-0.1))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-fst" ,rust-fst-0.4)
+        ("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-regex-syntax" ,rust-regex-syntax-0.6))
        #:cargo-development-inputs
-       (("rust-num-cpus" ,rust-num-cpus-1.11)
-        ("rust-rand" ,rust-rand-0.5))))
-    (home-page "https://github.com/dtolnay/ryu";)
-    (synopsis "Fast floating point to string conversion")
+       (("rust-bstr" ,rust-bstr-0.2)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-regex" ,rust-regex-1.1)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-bytes" ,rust-serde-bytes-0.11)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-toml" ,rust-toml-0.5)))) ; 0.4
+    (home-page "https://github.com/BurntSushi/regex-automata";)
+    (synopsis
+     "Automata construction and matching using regular expressions")
     (description
-     "This package provides a pure Rust implementation of Ryū, an algorithm to
-quickly convert floating point numbers to decimal strings.")
-    (license (list license:asl2.0 license:boost1.0))))
+     "Automata construction and matching using regular expressions.")
+    (license (list license:expat license:unlicense))))
 
-(define-public rust-safemem-0.3
+(define-public rust-regex-syntax-0.6
   (package
-    (name "rust-safemem")
-    (version "0.3.3")
+    (name "rust-regex-syntax")
+    (version "0.6.17")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "safemem" version))
+        (uri (crate-uri "regex-syntax" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0wp0d2b2284lw11xhybhaszsczpbq1jbdklkxgifldcknmy3nw7g"))))
+          "1blmlgzcg7in3kcxqabpfzzrbnamr2i671flbrmlqhfps5bvvrbz"))))
     (build-system cargo-build-system)
-    (arguments '(#:skip-build? #t))
-    (home-page "https://github.com/abonander/safemem";)
-    (synopsis "Safe wrappers for memory-accessing functions")
+    (home-page "https://github.com/rust-lang/regex";)
+    (synopsis "Regular expression parser")
     (description
-     "Safe wrappers for memory-accessing functions, like 
@code{std::ptr::copy()}.")
+     "This package provides a regular expression parser.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-same-file-1.0
+(define-public rust-regex-syntax-0.5
   (package
-    (name "rust-same-file")
-    (version "1.0.6")
+    (inherit rust-regex-syntax-0.6)
+    (name "rust-regex-syntax")
+    (version "0.5.6")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "same-file" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "regex-syntax" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "00h5j1w87dmhnvbv9l8bic3y7xxsnjmssvifw2ayvgx9mb1ivz4k"))))
-    (build-system cargo-build-system)
+          "19zp25jr3dhmclg3qqjk3bh1yrn7bqi05zgr5v52szv3l97plw3x"))))
     (arguments
-     `(#:cargo-inputs
-       (("rust-winapi-util" ,rust-winapi-util-0.1))
-       #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment-0.3))))
-    (home-page "https://github.com/BurntSushi/same-file";)
-    (synopsis "Determine whether two file paths point to the same file")
-    (description
-     "This package provides a simple crate for determining whether two file
-paths point to the same file.")
-    (license (list license:unlicense
-                   license:expat))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-ucd-util" ,rust-ucd-util-0.1))))))
 
-(define-public rust-same-file-0.1
+(define-public rust-regex-syntax-0.3
   (package
-    (inherit rust-same-file-1.0)
-    (name "rust-same-file")
-    (version "0.1.3")
+    (inherit rust-regex-syntax-0.6)
+    (name "rust-regex-syntax")
+    (version "0.3.9")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "same-file" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
+       (uri (crate-uri "regex-syntax" version))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "19qpl6j8s3ph9jm8rh1k0wp2nkyw5ah34xly00vqcfx4v97s8cfr"))))
-    (build-system cargo-build-system)
+         "0ms9hgdhhsxw9w920i7gipydvagf100bb56jbs192rz86ln01v7r"))))
     (arguments
-     `(#:cargo-inputs
-       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
-        ("rust-winapi" ,rust-winapi-0.2))
-       #:cargo-development-inputs
-       (("rust-rand" ,rust-rand-0.3))))))
+     `(#:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.2)
+        ("rust-rand" ,rust-rand-0.3))))))
 
-(define-public rust-schannel-0.1
+(define-public rust-remove-dir-all-0.5
   (package
-    (name "rust-schannel")
-    (version "0.1.16")
+    (name "rust-remove-dir-all")
+    (version "0.5.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "schannel" version))
+        (uri (crate-uri "remove_dir_all" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "08d0p5iy574vdrax4l3laazic0crj7rp7vp3if5rrfkcdfq51xc7"))))
+          "0bkrlyg26mgizpiy1yb2hhpgscxcag8r5fnckqsvk25608vzm0sa"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-winapi" ,rust-winapi-0.3))))
-    (home-page "https://github.com/steffengy/schannel-rs";)
-    (synopsis "Rust bindings to the Windows SChannel APIs")
+       (("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-doc-comment" ,rust-doc-comment-0.3))))
+    (home-page "https://github.com/XAMPPRocky/remove_dir_all";)
+    (synopsis "Implementation of remove_dir_all for Windows")
     (description
-     "Rust bindings to the Windows SChannel APIs providing TLS client and
-server functionality.")
-    (license license:expat)))
+     "This package provides a safe, reliable implementation of
+@code{remove_dir_all} for Windows")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-scoped-threadpool-0.1
+(define-public rust-reopen-0.3
   (package
-    (name "rust-scoped-threadpool")
-    (version "0.1.9")
+    (name "rust-reopen")
+    (version "0.3.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "scoped_threadpool" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "reopen" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "1a26d3lk40s9mrf4imhbik7caahmw2jryhhb6vqv6fplbbgzal8x"))))
+          (base32
+            "12b3mfxkwb8akdfa701nzvqr6lsc6n84vrq088gmjy8lxlmr4an6"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-development-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1))))
-    (home-page "https://github.com/Kimundi/scoped-threadpool-rs";)
-    (synopsis "Library for scoped and cached threadpools")
-    (description
-     "This crate provides a stable, safe and scoped threadpool.  It can be used
-to execute a number of short-lived jobs in parallel without the need to respawn
-the underlying threads.  Jobs are runnable by borrowing the pool for a given
-scope, during which an arbitrary number of them can be executed.  These jobs 
can
-access data of any lifetime outside of the pools scope, which allows working on
-non-'static references in parallel.")
-    (license (list license:asl2.0
-                   license:expat))))
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-signal-hook" ,rust-signal-hook-0.1)
+         ("rust-libc" ,rust-libc-0.2))))
+    (home-page "https://github.com/vorner/reopen";)
+    (synopsis "File reopening utility")
+    (description "File reopening utility")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-scoped-tls-1.0
+(define-public rust-resolv-conf-0.6
   (package
-    (name "rust-scoped-tls")
-    (version "1.0.0")
+    (name "rust-resolv-conf")
+    (version "0.6.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "scoped-tls" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1hj8lifzvivdb1z02lfnzkshpvk85nkgzxsy2hc0zky9wf894spa"))))
-    (build-system cargo-build-system)
-    (arguments '(#:skip-build? #t))
-    (home-page "https://github.com/alexcrichton/scoped-tls";)
-    (synopsis "Rust library providing the old standard library's 
scoped_thread_local")
-    (description "This crate provides a library implementation of the standard
-library's old @code{scoped_thread_local!} macro for providing scoped access to
-@dfn{thread local storage} (TLS) so any type can be stored into TLS.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-scoped-tls-0.1
-  (package
-    (inherit rust-scoped-tls-1.0)
-    (name "rust-scoped-tls")
-    (version "0.1.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "scoped-tls" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0a2bn9d2mb07c6l16sadijy4p540g498zddfxyiq4rsqpwrglbrk"))))))
-
-(define-public rust-scopeguard-1.0
-  (package
-    (name "rust-scopeguard")
-    (version "1.0.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "scopeguard" version))
+        (uri (crate-uri "resolv-conf" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "03aay84r1f6w87ckbpj6cc4rnsxkxcfs13n5ynxjia0qkgjiabml"))))
+          "1jvdsmksdf6yiipm3aqahyv8n1cjd7wqc8sa0p0gzsax3fmb8qxj"))))
     (build-system cargo-build-system)
-    (arguments '(#:skip-build? #t))
-    (home-page "https://github.com/bluss/scopeguard";)
-    (synopsis "Scope guard which will run a closure even out of scope")
-    (description "This package provides a RAII scope guard that will run a
-given closure when it goes out of scope, even if the code between panics
-(assuming unwinding panic).  Defines the macros @code{defer!},
-@code{defer_on_unwind!}, @code{defer_on_success!} as shorthands for guards
-with one of the implemented strategies.")
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-quick-error" ,rust-quick-error-1.2)
+        ("rust-hostname", rust-hostname-0.1))))
+    (home-page "https://github.com/tailhook/resolv-conf";)
+    (synopsis "Parser for /etc/resolv.conf")
+    (description
+     "An /etc/resolv.conf parser crate for Rust.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-scopeguard-0.3
-  (package
-    (inherit rust-scopeguard-1.0)
-    (name "rust-scopeguard")
-    (version "0.3.3")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "scopeguard" version))
-        (file-name
-          (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "09sy9wbqp409pkwmqni40qmwa99ldqpl48pp95m1xw8sc19qy9cl"))))))
-
-(define-public rust-scroll-0.9
+(define-public rust-ron-0.4
   (package
-    (name "rust-scroll")
-    (version "0.9.2")
+    (name "rust-ron")
+    (version "0.4.1")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "scroll" version))
+       (uri (crate-uri "ron" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "10q3w86bn22xrjlfg1c90dfi9c26qjkzn26nad0i9z8pxwad311g"))))
+         "1mrqdgw3w0yypg24jyq9mphp4zr9lr0ks7yam82m4n34x6njijyr"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-scroll-derive" ,rust-scroll-derive-0.9)
-        ("rust-rustc-version" ,rust-rustc-version-0.2))
+       (("rust-base64" ,rust-base64-0.10)
+        ("rust-bitflags" ,rust-bitflags-1)
+        ("rust-serde" ,rust-serde-1.0))
        #:cargo-development-inputs
-       (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-rayon" ,rust-rayon-1.1))))
-    (home-page "https://github.com/m4b/scroll";)
-    (synopsis "Read/Write traits for byte buffers")
-    (description
-     "This package provides a suite of powerful, extensible, generic,
-endian-aware Read/Write traits for byte buffers.")
-    (license license:expat)))
+       (("rust-serde-bytes" ,rust-serde-bytes-0.11)
+        ("rust-serde-json" ,rust-serde-json-1.0))))
+    (home-page "https://github.com/ron-rs/ron";)
+    (synopsis "Rusty Object Notation")
+    (description "Rusty Object Notation.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-scroll-derive-0.9
+(define-public rust-rust-argon2-0.7
   (package
-    (name "rust-scroll-derive")
-    (version "0.9.5")
+    (name "rust-rust-argon2")
+    (version "0.7.0")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "scroll_derive" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1jqg5mm8nvii6avl1z1rc89agzh2kwkppgpsnwfakxg78mnaj6lg"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rust-argon2" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "05xh5wfxgzq3b6jys8r34f3hmqqfs8ylvf934n9z87wfv95szj1b"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
-        ("rust-quote" ,rust-quote-0.6)
-        ("rust-syn" ,rust-syn-0.15))
-       #:cargo-development-inputs
-       (("rust-scroll" ,rust-scroll-0.9))))
-    (home-page "https://github.com/m4b/scroll_derive";)
-    (synopsis "Derive Pread and Pwrite traits from the scroll crate")
-    (description
-     "This package provides a macros 1.1 derive implementation for Pread and
-Pwrite traits from the scroll crate.")
-    (license license:expat)))
-
-(define-public rust-seahash-3.0
-  (package
-    (name "rust-seahash")
-    (version "3.0.7")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "seahash" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0iqg12lxkn0ivsfa1gkylcwj5wmi6zl87mbizlrkg918s6hprxaq"))))
-    (build-system cargo-build-system)
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-constant-time-eq"
+          ,rust-constant-time-eq-0.1)
+         ("rust-base64" ,rust-base64-0.11)
+         ("rust-blake2b-simd" ,rust-blake2b-simd-0.5)
+         ("rust-crossbeam-utils"
+          ,rust-crossbeam-utils-0.7))))
     (home-page
-     "https://gitlab.redox-os.org/redox-os/seahash";)
+      "https://github.com/sru-systems/rust-argon2";)
     (synopsis
-     "Hash function with proven statistical guarantees")
+      "Rust implementation of the Argon2 password hashing function.")
     (description
-     "This package provides a blazingly fast, portable hash function with
-proven statistical guarantees.")
-    (license license:expat)))
+      "Rust implementation of the Argon2 password hashing function.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-security-framework-0.3
+(define-public rust-rust-argon2-0.5
   (package
-    (name "rust-security-framework")
-    (version "0.3.4")
+    (name "rust-rust-argon2")
+    (version "0.5.1")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "security-framework" version))
+       (uri (crate-uri "rust-argon2" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1pqn79cl9njnnhsmjvvphkzx8is5jhfd8bhxpllgvrgggjfl5wlf"))))
+         "1krjkmyfn37hy7sfs6lqia0fsvw130nn1z2850glsjcva7pym92c"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #f      ; Some test files not included in release.
+     `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-core-foundation" ,rust-core-foundation-0.6)
-        ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-security-framework-sys" ,rust-security-framework-sys-0.3))
+       (("rust-base64" ,rust-base64-0.10)
+        ("rust-blake2b-simd" ,rust-blake2b-simd-0.5)
+        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6))
        #:cargo-development-inputs
-       (("rust-hex" ,rust-hex-0.4)
-        ("rust-tempdir" ,rust-tempdir-0.3))))
-    (home-page "https://lib.rs/crates/security_framework";)
-    (synopsis
-     "Security.framework bindings for macOS and iOS")
-    (description
-     "Security.framework bindings for macOS and iOS.")
+       (("rust-hex" ,rust-hex-0.3))))
+    (home-page "https://github.com/sru-systems/rust-argon2";)
+    (synopsis "Rust implementation of the Argon2 password hashing function")
+    (description "This package contains a rust implementation of the Argon2
+password hashing function.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-security-framework-sys-0.3
+(define-public rust-rust-hawktracer-0.7
   (package
-    (name "rust-security-framework-sys")
-    (version "0.3.3")
+    (name "rust-rust-hawktracer")
+    (version "0.7.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "security-framework-sys" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "rust_hawktracer" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "15gqhhi206lzynd0pcbswxhvqc4p9bmpl2h9qnwfnpb16zy96573"))))
+          (base32
+            "1h9an3b73pmhhpzc2kk93nh93lplkvsffysj0rp6rxi7p4lhlj73"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6))))
-    (home-page "https://lib.rs/crates/security-framework-sys";)
-    (synopsis "Apple `Security.framework` low-level FFI bindings")
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-rust-hawktracer-normal-macro"
+          ,rust-rust-hawktracer-normal-macro-0.4)
+         ("rust-rust-hawktracer-proc-macro"
+          ,rust-rust-hawktracer-proc-macro-0.4))))
+    (home-page
+      "https://github.com/AlexEne/rust_hawktracer";)
+    (synopsis
+      "Rust bindings for hawktracer profiling library.")
     (description
-     "Apple @code{Security.framework} low-level FFI bindings.")
-    (license (list license:asl2.0
-                   license:expat))))
+      "Rust bindings for hawktracer profiling library.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-sema-0.1
+(define-public rust-rust-hawktracer-proc-macro-0.4
   (package
-    (name "rust-sema")
-    (version "0.1.4")
+    (name "rust-rust-hawktracer-proc-macro")
+    (version "0.4.1")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "sema" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0ckq33sg84785p195m54h03jcn7fai8w08hjnb94nzaakgzibbz3"))
-        (modules '((guix build utils)))
-        (snippet
-         '(begin (substitute* "Cargo.toml"
-                   (("libc.*") "libc = \"0.2\"\n"))
-                 #t))))
-    (build-system cargo-build-system)
-    (arguments
-     `( #:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-rand" ,rust-rand-0.3)
-        ("rust-time" ,rust-time-0.1))
-       #:cargo-development-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-nix" ,rust-nix-0.15))))
-    (home-page "https://github.com/cpjreynolds/sema";)
-    (synopsis "Rust semaphore library")
-    (description "Rust semaphore library.")
-    (license license:expat)))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rust_hawktracer_proc_macro" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1qfksscfv8rbbzv2zb0i9sbbqmig0dr0vrma3c1kzsfmpsynlqnb"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-rust-hawktracer-sys"
+          ,rust-rust-hawktracer-sys-0.4))))
+    (home-page
+      "https://github.com/AlexEne/rust_hawktracer_proc_macro";)
+    (synopsis
+      "helper crate for hawktracer profiling library.")
+    (description
+      "helper crate for hawktracer profiling library.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-semver-0.9
+(define-public rust-rust-hawktracer-normal-macro-0.4
   (package
-    (name "rust-semver")
-    (version "0.9.0")
+    (name "rust-rust-hawktracer-normal-macro")
+    (version "0.4.1")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "semver" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "00q4lkcj0rrgbhviv9sd4p6qmdsipkwkbra7rh11jrhq5kpvjzhx"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri
+               "rust_hawktracer_normal_macro"
+               version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1sfjmipdbb5s498c150czr6wihjlkwwgla2jyg3cs7cyjich0mwa"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-semver-parser" ,rust-semver-parser-0.7)
-        ("rust-serde" ,rust-serde-1.0))
-       #:cargo-development-inputs
-       (("rust-crates-index" ,rust-crates-index-0.13)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
-        ("rust-tempdir" ,rust-tempdir-0.3))))
-    (home-page "https://docs.rs/crate/semver";)
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-rust-hawktracer-sys"
+          ,rust-rust-hawktracer-sys-0.4))))
+    (home-page
+      "https://github.com/AlexEne/rust_hawktracer_normal_macro";)
     (synopsis
-     "Semantic version parsing and comparison")
+      "helper crate for hawktracer profiling library.")
     (description
-     "Semantic version parsing and comparison.")
+      "helper crate for hawktracer profiling library.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-semver-parser-0.9
+(define-public rust-rust-hawktracer-sys-0.4
   (package
-    (name "rust-semver-parser")
-    (version "0.9.0")
+    (name "rust-rust-hawktracer-sys")
+    (version "0.4.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "semver-parser" version))
+        (uri (crate-uri "rust_hawktracer_sys" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "15acrj881y2g7cwsgf1nr22cixrknp8m4x08dkx1an6zf4q8bk37"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-cmake" ,rust-cmake-0.1)
+         ("rust-pkg-config" ,rust-pkg-config-0.3)
+         ("rust-bindgen" ,rust-bindgen-0.37)
+         ("rust-itertools" ,rust-itertools-0.8))))
+    (home-page
+      "https://github.com/AlexEne/rust_hawktracer_sys";)
+    (synopsis
+      "sys crate for the rust_hawktracer library")
+    (description
+      "sys crate for the rust_hawktracer library")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-rustc-demangle-0.1
+  (package
+    (name "rust-rustc-demangle")
+    (version "0.1.16")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rustc-demangle" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1ahqhvgpzhcsd28id7xnrjv4419i9yyalhm7d7zi430qx0hi2vml"))))
+          "10qp42sl1wrdbgbbh8rnay2grm976z7hqgz32c4y09l1c071qsac"))))
     (build-system cargo-build-system)
-    (home-page "https://github.com/steveklabnik/semver-parser";)
-    (synopsis "Parsing of the semver spec")
-    (description "This package provides for parsing of the semver spec.")
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
+        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0))))
+    (home-page "https://github.com/alexcrichton/rustc-demangle";)
+    (synopsis "Rust compiler symbol demangling")
+    (description
+     "This package demanges the symbols from the Rust compiler.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-semver-parser-0.7
+(define-public rust-rustc-hash-1.1
   (package
-    (inherit rust-semver-parser-0.9)
-    (name "rust-semver-parser")
-    (version "0.7.0")
+    (name "rust-rustc-hash")
+    (version "1.1.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "semver-parser" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "rustc-hash" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "18vhypw6zgccnrlm5ps1pwa0khz7ry927iznpr88b87cagr1v2iq"))))))
+          (base32
+            "1qkc5khrmv5pqi5l5ca9p5nl5hs742cagrndhbrlk3dhlrx3zm08"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page
+      "https://github.com/rust-lang-nursery/rustc-hash";)
+    (synopsis
+      "speed, non-cryptographic hash used in rustc")
+    (description
+      "speed, non-cryptographic hash used in rustc")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-serde-1.0
+(define-public rust-rustc-hash-1.0
   (package
-    (name "rust-serde")
-    (version "1.0.104")
+    (name "rust-rustc-hash")
+    (version "1.0.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "serde" version))
+        (uri (crate-uri "rustc-hash" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0ja4mgw4p42syjk7jkzwhj2yg6llfrfm7vn8rvy7v3c1bzr1aha1"))))
+          "1f4cnbcmz2c3zjidqszc9c4fip37ch4xl74nkkp9dw291j5zqh3m"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-serde-derive" ,rust-serde-derive-1.0))
-       #:cargo-development-inputs
-       (("rust-serde-derive" ,rust-serde-derive-1.0))))
-    (home-page "https://serde.rs";)
-    (synopsis "Generic serialization/deserialization framework")
+       (("rust-byteorder" ,rust-byteorder-1.3))))
+    (home-page "https://github.com/rust-lang/rustc-hash";)
+    (synopsis "Speedy, non-cryptographic hash used in rustc")
     (description
-     "This package provides a generic serialization/deserialization 
framework.")
-    (license (list license:expat license:asl2.0))))
+     "This package provides a speedy, non-cryptographic hash used in rustc.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-serde-0.9
+(define-public rust-rustc-serialize-0.3
   (package
-    (inherit rust-serde-1.0)
-    (name "rust-serde")
-    (version "0.9.15")
+    (name "rust-rustc-serialize")
+    (version "0.3.24")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "serde" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1bsla8l5xr9pp5sirkal6mngxcq6q961km88jvf339j5ff8j7dil"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rustc-serialize" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1nkg3vasg7nk80ffkazizgiyv3hb1l9g3d8h17cajbkx538jiwfw"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-cargo-toml
-           (lambda _
-             (substitute* "Cargo.toml"
-               ((", path =.*}") "}"))
-             #t)))
+     `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-serde-derive" ,rust-serde-derive-0.9))
-       #:cargo-development-inputs
-       (("rust-serde-derive" ,rust-serde-derive-0.9))))))
+       (("rust-rand" ,rust-rand-0.3))))
+    (home-page "https://github.com/rust-lang-deprecated/rustc-serialize";)
+    (synopsis "Generic serialization/deserialization support")
+    (description
+     "This package provides generic serialization/deserialization support
+corresponding to the @code{derive(RustcEncodable, RustcDecodable)} mode in the
+compiler.  Also includes support for hex, base64, and json encoding and
+decoding.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-serde-0.8
+(define-public rust-rustc-std-workspace-alloc-1.0
   (package
-    (inherit rust-serde-1.0)
-    (name "rust-serde")
-    (version "0.8.23")
+    (name "rust-rustc-std-workspace-alloc")
+    (version "1.0.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "serde" version))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (uri (crate-uri "rustc-std-workspace-alloc" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1j4ajipn0sf4ya0crgcb94s848qp7mfc35n6d0q2rf8rk5skzbcx"))))
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-clippy" ,rust-clippy-0.0))
-       #:tests? #f))))
+         "11psmqk6glglxl3zwh8slz6iynfxaifh4spd2wcnws552dqdarpz"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://crates.io/crates/rustc-std-workspace-alloc";)
+    (synopsis "Rust workspace hack")
+    (description "This package is a Rust workspace hack.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-serde-0.4
+(define-public rust-rustc-std-workspace-core-1.0
   (package
-    (inherit rust-serde-0.9)
-    (name "rust-serde")
-    (version "0.4.3")
+    (name "rust-rustc-std-workspace-core")
+    (version "1.0.0")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "serde" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rustc-std-workspace-core" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1309xhwyai9xpz128xrfjqkmnkvgjwddznmj7brbd8i8f58zamhr"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page "https://crates.io/crates/rustc-std-workspace-core";)
+    (synopsis "Explicitly empty crate for rust-lang/rust integration")
+    (description "This crate provides an explicitly empty crate for
+rust-lang/rust integration.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-rustc-std-workspace-std-1.0
+  (package
+    (name "rust-rustc-std-workspace-std")
+    (version "1.0.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rustc-std-workspace-std" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1vq4vaclamwhk0alf4f7wq3i9wxa993sxpmhy6qfaimy1ai7d9mb"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page "https://crates.io/crates/rustc-std-workspace-std";)
+    (synopsis "Workaround for rustbuild")
+    (description "This package provides a workaround for rustbuild.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-rustc-test-0.3
+  (package
+    (name "rust-rustc-test")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustc-test" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "06s2ayx1p5zzj4q7bfld60c9iprsk1256pnh8qj6h794mjinw11b"))))
+         "0a27mlcg0ck0hgsdvwk792x9z1k1qq1wj091f1l5yggbdbcsnx5w"))))
+    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
-       #:cargo-inputs (("rust-num" ,rust-num-0.2))))))
+       #:cargo-inputs
+       (("rust-getopts" ,rust-getopts-0.2)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-term" ,rust-term-0.4)
+        ("rust-time" ,rust-time-0.1)
+        ("rust-rustc-version" ,rust-rustc-version-0.2))))
+    (home-page "https://github.com/servo/rustc-test";)
+    (synopsis "Fork of Rust's test crate")
+    (description
+     "This package provides a fork of Rust's test crate that doesn't
+require unstable language features.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-serde-big-array-0.1
+(define-public rust-rustc-tools-util-0.2
   (package
-    (name "rust-serde-big-array")
-    (version "0.1.5")
+    (name "rust-rustc-tools-util")
+    (version "0.2.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "serde-big-array" version))
+       (uri (crate-uri "rustc_tools_util" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0gkyqxk760mp1lfcg6lhjk95ajc89nr0qdd0vl4ic0g8pyxcy9mr"))))
+         "1vj4ymv29igs7n52m12k138zbsn5k5d7ya4sys6lig7sx7ddl9dp"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))
-       #:cargo-development-inputs
-       (("rust-serde-json" ,rust-serde-json-1.0))))
-    (home-page "https://github.com/est31/serde-big-array";)
-    (synopsis "Big array helper for serde")
-    (description "This package provides a big array helper for serde.")
-    (license (list license:asl2.0 license:expat))))
+    (arguments '(#:skip-build? #t))
+    (home-page
+     "https://github.com/rust-lang/rust-clippy";)
+    (synopsis
+     "small helper to generate version information for git packages")
+    (description
+     "small helper to generate version information for git packages")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-serde-bytes-0.11
+(define-public rust-rustc-version-0.2
   (package
-    (name "rust-serde-bytes")
-    (version "0.11.3")
+    (name "rust-rustc-version")
+    (version "0.2.3")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "serde_bytes" version))
+       (uri (crate-uri "rustc_version" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1bl45kf3c71xclv7wzk5525nswm4bgsnjd3s1s15f4k2a8whfnij"))))
+         "02h3x57lcr8l2pm0a645s9whdh33pn5cnrwvn5cb57vcrc53x3hk"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))
-       #:cargo-development-inputs
-       (("rust-bincode" ,rust-bincode-1.1)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-test" ,rust-serde-test-1.0))))
-    (home-page "https://github.com/serde-rs/bytes";)
+       #:cargo-inputs (("rust-semver" ,rust-semver-0.9))))
+    (home-page "https://github.com/Kimundi/rustc-version-rs";)
     (synopsis
-     "Handle of integer arrays and vectors for Serde")
+     "Library for querying the version of a installed rustc compiler")
     (description
-     "Optimized handling of @code{&[u8]} and @code{Vec<u8>} for Serde.")
+     "This package provides a library for querying the version of a installed
+rustc compiler.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-serde-cbor-0.11
+(define-public rust-rustdoc-stripper-0.1
   (package
-    (name "rust-serde-cbor")
-    (version "0.11.1")
+    (name "rust-rustdoc-stripper")
+    (version "0.1.9")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "serde-cbor" version))
+        (uri (crate-uri "rustdoc-stripper" version))
         (file-name
          (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "08m62mfqjnpa543kd9r9cyxlqc6y73avhsl3n8svgs4h5zxaq60y"))))
+          "13rf65a0xk1zyb92jd8p12x529rsbfchwk9zvjr0snr9savpxw19"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-half" ,rust-half-1.3)
-        ("rust-serde" ,rust-serde-1.0))
-       #:cargo-development-inputs
-       (("rust-serde-derive" ,rust-serde-derive-1.0))))
-    (home-page "https://github.com/pyfisch/cbor";)
-    (synopsis "CBOR support for serde")
-    (description "CBOR support for serde.")
-    (license (list license:expat license:asl2.0))))
+     `(#:cargo-development-inputs
+       (("rust-tempfile" ,rust-tempfile-3.1))))
+    (home-page "https://github.com/GuillaumeGomez/rustdoc-stripper";)
+    (synopsis "Nanipulate rustdoc comments")
+    (description
+     "This package provides a tool to manipulate rustdoc comments.")
+    (license license:asl2.0)))
 
-(define-public rust-serde-cbor-0.10
+(define-public rust-rustfix-0.4
   (package
-    (inherit rust-serde-cbor-0.11)
-    (name "rust-serde-cbor")
-    (version "0.10.2")
+    (name "rust-rustfix")
+    (version "0.4.6")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "serde_cbor" version))
+       (uri (crate-uri "rustfix" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0kyizacjabsa78p9f7qvj31zirpnsgsr4zpfv1p6lwpcb3biw27p"))))
+         "01zn0ysnass3mmrhxk90584y713vjfq1x97mi4saac99g9vsql3i"))))
+    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-half" ,rust-half-1.3)
-        ("rust-serde" ,rust-serde-1.0))
+       (("rust-failure" ,rust-failure-0.1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0))
        #:cargo-development-inputs
-       (("rust-serde-derive" ,rust-serde-derive-1.0))))))
+       (("rust-difference" ,rust-difference-2.0)
+        ("rust-duct" ,rust-duct-0.13)
+        ("rust-env-logger" ,rust-env-logger-0.6)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-proptest" ,rust-proptest-0.9)
+        ("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page "https://github.com/rust-lang/rustfix";)
+    (synopsis "Automatically apply the suggestions made by rustc")
+    (description
+     "Automatically apply the suggestions made by rustc.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-serde-codegen-0.4
+(define-public rust-rusttype-0.8
   (package
-    (name "rust-serde-codegen")
-    (version "0.4.3")
+    (name "rust-rusttype")
+    (version "0.8.2")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "serde_codegen" version))
+       (uri (crate-uri "rusttype" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0167ghvqs0n8qin8fjx2ihn3gx92m55685qpv4nzihw48h4rq0vq"))))
+         "12hwfg85iii7sbgsyyr23yw862dzp7f8zwn9xv5iqydm5w1i3a8l"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
+     `(#:tests? #f      ; Artifacts for tests not included.
        #:cargo-inputs
-       (("rust-aster" ,rust-aster-0.41)
-        ("rust-quasi" ,rust-quasi-0.32)
-        ("rust-quasi-macros" ,rust-quasi-macros-0.32)
-        ("rust-syntex" ,rust-syntex-0.58)
-        ("rust-syntex-syntax" ,rust-syntex-syntax-0.58))
-       #:cargo-development-inputs
-       (("rust-quasi-codegen" ,rust-quasi-codegen-0.32)
-        ("rust-syntex" ,rust-syntex-0.58))))
-    (home-page "https://serde.rs";)
-    (synopsis "Macros for the serde framework")
-    (description "This package provides macros to auto-generate implementations
-for the serde framework.")
+       (("rust-approx" ,rust-approx-0.3)
+        ("rust-arrayvec" ,rust-arrayvec-0.5)
+        ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
+        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)
+        ("rust-libm" ,rust-libm-0.2)
+        ("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
+        ("rust-num-cpus" ,rust-num-cpus-1.11)
+        ("rust-ordered-float" ,rust-ordered-float-1.0)
+        ("rust-rustc-hash" ,rust-rustc-hash-1.0)
+        ("rust-stb-truetype" ,rust-stb-truetype-0.3))))
+    (home-page "https://gitlab.redox-os.org/redox-os/rusttype";)
+    (synopsis "Pure Rust alternative to libraries like FreeType")
+    (description
+     "This package provides a pure Rust alternative to libraries like FreeType.
+RustType provides an API for loading, querying and rasterising TrueType fonts.
+It also provides an implementation of a dynamic GPU glyph cache for hardware
+font rendering.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-serde-codegen-internals-0.14
+(define-public rust-rusttype-0.7
   (package
-    (name "rust-serde-codegen-internals")
-    (version "0.14.2")
+    (inherit rust-rusttype-0.8)
+    (name "rust-rusttype")
+    (version "0.7.9")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "serde_codegen_internals" version))
+       (uri (crate-uri "rusttype" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0004s3wlc85vi6hq62hq84cv5b6qbbin1n6hdaqj095xhg98p25w"))))
-    (build-system cargo-build-system)
+         "1m9ms4p94cgif74y1rzkj04rx8i1la193c0jgvnip61rd904429i"))))
     (arguments
-     `(#:cargo-inputs (("rust-syn" ,rust-syn-0.11))))
-    (home-page "https://serde.rs";)
-    (synopsis "AST representation used by Serde codegen")
-    (description
-     "Unstable AST representation used by Serde codegen.")
-    (license (list license:expat license:asl2.0))))
+     `(#:tests? #f      ; Artifacts for tests not included.
+       #:cargo-inputs
+       (("rust-rusttype" ,rust-rusttype-0.8))
+       #:cargo-development-inputs
+       (("rust-arrayvec" ,rust-arrayvec-0.4)
+        ("rust-blake2" ,rust-blake2-0.8)
+        ("rust-glium" ,rust-glium-0.25)
+        ("rust-image" ,rust-image-0.21)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-unicode-normalization" ,rust-unicode-normalization-0.1))))))
 
-(define-public rust-serde-derive-1.0
+(define-public rust-rustversion-1.0
   (package
-    (name "rust-serde-derive")
-    (version "1.0.104")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "serde-derive" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0r7gjlwfry44b4ylz524ynjp9v3qiwdj4c588lh94aas78q9x3qj"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))
-       #:cargo-development-inputs
-       (("rust-serde" ,rust-serde-1.0))))
-    (home-page "https://serde.rs";)
-    (synopsis
-      "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
-    (description
-      "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-serde-derive-0.9
-  (package
-    (inherit rust-serde-derive-1.0)
-    (name "rust-serde-derive")
-    (version "0.9.15")
+    (name "rust-rustversion")
+    (version "1.0.2")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "serde-derive" version))
+       (uri (crate-uri "rustversion" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1fkldf0lnl6pwxs00qpyp79m30qmfpi3bk0wm22211ylyikdi3wp"))))
+         "1xkr1g792w728py2qpg2zj0vfviv2xzmxkkd9w6035l9d5ss3fxk"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-cargo-toml
-           (lambda _
-             (substitute* "Cargo.toml"
-               ((", path =.*}") "}"))
-             #t)))
-       #:cargo-inputs
-       (("rust-quote" ,rust-quote-0.3)
-        ("rust-serde-codegen-internals" ,rust-serde-codegen-internals-0.14)
-        ("rust-syn" ,rust-syn-0.11))))))
+     `(#:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0))))
+    (home-page "https://github.com/dtolnay/rustversion";)
+    (synopsis "Conditional compilation according to rustc compiler version")
+    (description
+     "This package provides conditional compilation according to the
+@code{rustc} compiler version.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-serde-json-1.0
+(define-public rust-rustversion-0.1
   (package
-    (name "rust-serde-json")
-    (version "1.0.44")
+    (name "rust-rustversion")
+    (version "0.1.4")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "serde-json" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "rustversion" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "1mysl675nqhzzkbcrqy4x63cbbsrrx3gcc7k8ydx1gajrkh7bia8"))))
+          "1s3ib2paa5gq17x4qsmjmnsw68z7b5d5av1wsiqcrihmqb7kk0dl"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-indexmap" ,rust-indexmap-1.0)
-        ("rust-itoa" ,rust-itoa-0.4)
-        ("rust-ryu" ,rust-ryu-1.0)
-        ("rust-serde" ,rust-serde-1.0))
-       #:cargo-development-inputs
-       (("rust-serde-bytes" ,rust-serde-bytes-0.11)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-trybuild" ,rust-trybuild-1.0))))
-    (home-page "https://github.com/serde-rs/json";)
-    (synopsis "JSON serialization file format")
-    (description
-     "This package provides a JSON serialization file format.")
+     `(#:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0))))
+    (home-page "https://github.com/dtolnay/rustversion";)
+    (synopsis "Conditional compilation according to rustc compiler version")
+    (description "This package provides conditional compilation according to
+rustc compiler version.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-serde-json-0.9
+(define-public rust-rusty-fork-0.2
   (package
-    (inherit rust-serde-json-1.0)
-    (name "rust-serde-json")
-    (version "0.9.10")
+    (name "rust-rusty-fork")
+    (version "0.2.2")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "serde_json" version))
+       (uri (crate-uri "rusty-fork" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "188nbf56m7p6mnh3xd71rwqxd4g95lqh8gsl7mfy3lp7gd4cz2xd"))))
+         "1bjg8adk0i921088j52rn0hmvsry34q19g96x41pamqcw5j35n9x"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-dtoa" ,rust-dtoa-0.4)
-        ("rust-itoa" ,rust-itoa-0.3)
-        ("rust-linked-hash-map" ,rust-linked-hash-map-0.4)
-        ("rust-num-traits" ,rust-num-traits-0.1)
-        ("rust-serde" ,rust-serde-0.9))
-       #:cargo-development-inputs
-       (("rust-serde-derive" ,rust-serde-derive-0.9))))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-fnv" ,rust-fnv-1.0)
+        ("rust-quick-error" ,rust-quick-error-1.2)
+        ("rust-tempfile" ,rust-tempfile-3.0)
+        ("rust-wait-timeout" ,rust-wait-timeout-0.2))))
+    (home-page "https://github.com/altsysrq/rusty-fork";)
+    (synopsis "Library for running Rust tests in sub-processes")
+    (description
+     "Cross-platform library for running Rust tests in sub-processes
+using a fork-like interface.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-serde-macros-0.4
+(define-public rust-ryu-1.0
   (package
-    (name "rust-serde-macros")
-    (version "0.4.4")
+    (name "rust-ryu")
+    (version "1.0.3")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "serde_macros" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1717rpncvvyvyrpb7hdjgxpiki9vdgygwv2r3d9aal5n8cm8xi8i"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ryu" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0xlx9ybzncrb7d6r9533g8ydlg6mr252pfzl4g9cqaqkpvk24mjk"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-cargo-toml
-           (lambda _
-             (substitute* "Cargo.toml"
-               ((", path =.*}") "}"))
-             #t)))
-       #:cargo-inputs
-       (("rust-serde-codegen" ,rust-serde-codegen-0.4))
+     `(#:cargo-inputs
+       (("rust-no-panic" ,rust-no-panic-0.1))
        #:cargo-development-inputs
-       (("rust-num" ,rust-num-0.2)
-        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
-        ("rust-serde" ,rust-serde-0.4))))
-    (home-page "https://serde.rs";)
-    (synopsis
-     "Macros to auto-generate implementations for the serde framework")
+       (("rust-num-cpus" ,rust-num-cpus-1.11)
+        ("rust-rand" ,rust-rand-0.7)
+        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2))))
+    (home-page "https://github.com/dtolnay/ryu";)
+    (synopsis "Fast floating point to string conversion")
     (description
-     "Macros to auto-generate implementations for the serde framework.")
-    (license (list license:expat license:asl2.0))))
+     "This package provides a pure Rust implementation of Ryū, an algorithm to
+quickly convert floating point numbers to decimal strings.")
+    (license (list license:asl2.0 license:boost1.0))))
 
-(define-public rust-serde-test-1.0
+(define-public rust-safemem-0.3
   (package
-    (name "rust-serde-test")
-    (version "1.0.101")
+    (name "rust-safemem")
+    (version "0.3.3")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "serde_test" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0070ycbh47yhxb5vxwa15vi2wpdkw3v1m14v4mjryz1568fqkbsa"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "safemem" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "0wp0d2b2284lw11xhybhaszsczpbq1jbdklkxgifldcknmy3nw7g"))))
+    (build-system cargo-build-system)
+    (arguments '(#:skip-build? #t))
+    (home-page "https://github.com/abonander/safemem";)
+    (synopsis "Safe wrappers for memory-accessing functions")
+    (description
+     "Safe wrappers for memory-accessing functions, like 
@code{std::ptr::copy()}.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-same-file-1.0
+  (package
+    (name "rust-same-file")
+    (version "1.0.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "same-file" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "00h5j1w87dmhnvbv9l8bic3y7xxsnjmssvifw2ayvgx9mb1ivz4k"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))
+     `(#:cargo-inputs
+       (("rust-winapi-util" ,rust-winapi-util-0.1))
        #:cargo-development-inputs
-       (("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))))
-    (home-page "https://serde.rs";)
-    (synopsis
-     "Token De/Serializer for testing De/Serialize implementations")
+       (("rust-doc-comment" ,rust-doc-comment-0.3))))
+    (home-page "https://github.com/BurntSushi/same-file";)
+    (synopsis "Determine whether two file paths point to the same file")
     (description
-     "Token De/Serializer for testing De/Serialize implementations.")
-    (license (list license:expat license:asl2.0))))
+     "This package provides a simple crate for determining whether two file
+paths point to the same file.")
+    (license (list license:unlicense
+                   license:expat))))
 
-(define-public rust-serde-test-0.9
+(define-public rust-same-file-0.1
   (package
-    (inherit rust-serde-test-1.0)
-    (name "rust-serde-test")
-    (version "0.9.15")
+    (inherit rust-same-file-1.0)
+    (name "rust-same-file")
+    (version "0.1.3")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "serde_test" version))
+       (uri (crate-uri "same-file" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "193mf0qkhvjywd06x6hhmkixlqcyfbpfwfmr75dp2b8xwzpsvxwf"))))
+         "19qpl6j8s3ph9jm8rh1k0wp2nkyw5ah34xly00vqcfx4v97s8cfr"))))
+    (build-system cargo-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-cargo-toml
-           (lambda _
-             (substitute* "Cargo.toml"
-               ((", path =.*}") "}"))
-             #t)))
-       #:cargo-inputs (("rust-serde" ,rust-serde-0.9))))))
+     `(#:cargo-inputs
+       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
+        ("rust-winapi" ,rust-winapi-0.2))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.3))))))
 
-(define-public rust-serde-test-0.8
+(define-public rust-scan-fmt-0.2
   (package
-    (inherit rust-serde-test-1.0)
-    (name "rust-serde-test")
-    (version "0.8.23")
+    (name "rust-scan-fmt")
+    (version "0.2.5")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "serde-test" version))
-       (file-name (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1m939j7cgs7i58r6vxf0ffp3nbr8advr8p9dqa9w8zk0z2yks2qi"))))
-    (arguments
-     `(#:cargo-inputs (("rust-serde" ,rust-serde-0.8))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-Cargo-toml
-           (lambda _
-             (substitute* "Cargo.toml"
-               ((", path = \"../serde\"") ""))
-             #t)))))))
-
-(define-public rust-serde-yaml-0.8
-  (package
-    (name "rust-serde-yaml")
-    (version "0.8.11")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "serde_yaml" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0d9wdjrlx9gxg80kzc6pvdwz5pwhja2n8n0bxja9vv61kzqif6v9"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-dtoa" ,rust-dtoa-0.4)
-        ("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-yaml-rust" ,rust-yaml-rust-0.4))
-       #:cargo-development-inputs
-       (("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-unindent" ,rust-unindent-0.1))))
-    (home-page
-     "https://github.com/dtolnay/serde-yaml";)
-    (synopsis "YAML support for Serde")
-    (description "YAML support for Serde.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-servo-fontconfig-0.4
-  (package
-    (name "rust-servo-fontconfig")
-    (version "0.4.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "servo-fontconfig" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1nach6s4hdf86jz5hlm4p5r7vin91cs7gg89mr533id5fpbzi250"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-servo-fontconfig-sys" ,rust-servo-fontconfig-sys-4))))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (inputs
-     `(("fontconfig" ,fontconfig)))
-    (home-page "https://github.com/servo/rust-fontconfig/";)
-    (synopsis "Rust bindings for fontconfig")
-    (description "This package provides Rust bindings for fontconfig.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-servo-fontconfig-sys-4
-  (package
-    (name "rust-servo-fontconfig-sys")
-    (version "4.0.9")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "servo-fontconfig-sys" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0v0mbicy74wd6cjd5jyqnm4nvrrr5lmg053cn16kylhg8mkf3cv2"))
-        (modules '((guix build utils)))
-        (snippet
-         '(begin
-            (for-each delete-file-recursively
-                      (find-files "." "[^Cargo.toml,^build\\.rs]"))
-            #t))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-expat-sys" ,rust-expat-sys-2.1)
-        ("rust-servo-freetype-sys" ,rust-servo-freetype-sys-4)
-        ("rust-pkg-config" ,rust-pkg-config-0.3))))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (inputs
-     `(("fontconfig" ,fontconfig)))
-    (home-page "https://crates.io/crates/servo-fontconfig-sys";)
-    (synopsis "Rust wrapper around Fontconfig")
-    (description
-     "This package provides a Rust wrapper around Fontxonfig.")
-    (license license:mpl2.0)))  ; build.rs is mpl2.0
-
-(define-public rust-servo-freetype-sys-4
-  (package
-    (name "rust-servo-freetype-sys")
-    (version "4.0.5")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "servo-freetype-sys" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1z0dvnakans4vn4vlpx4nxg984427lh8dskxxz9pglij1mnwnk1c"))
-        (modules '((guix build utils)))
-        (snippet
-         '(begin (delete-file-recursively "freetype2") #t))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cmake" ,rust-cmake-0.1)
-        ("rust-pkg-config" ,rust-pkg-config-0.3))))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (inputs
-     `(("freetype" ,freetype)))
-    (home-page "http://www.freetype.org/";)
-    (synopsis "Rust wrapper around freetype")
-    (description
-     "This package provides a Rust wrapper around the FreeType library.")
-    (license license:mpl2.0)))  ; build.rs is mpl2.0
-
-(define-public rust-sha-1-0.8
-  (package
-    (name "rust-sha-1")
-    (version "0.8.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "sha-1" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0s6fdy5wp3x4h2z4fcl2d9vjvrpzr87v4h49r51xcq8nm4qj35i3"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-block-buffer" ,rust-block-buffer-0.7)
-        ("rust-digest" ,rust-digest-0.8)
-        ("rust-fake-simd" ,rust-fake-simd-0.1)
-        ("rust-opaque-debug" ,rust-opaque-debug-0.2)
-        ("rust-sha1-asm" ,rust-sha1-asm-0.4))
-       #:cargo-development-inputs
-       (("rust-digest" ,rust-digest-0.8)
-        ("rust-hex-literal" ,rust-hex-literal-0.2))))
-    (home-page "https://github.com/RustCrypto/hashes";)
-    (synopsis "SHA-1 hash function")
-    (description "SHA-1 hash function.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-sha1-0.6
-  (package
-    (name "rust-sha1")
-    (version "0.6.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "sha1" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "03gs2q4m67rn2p8xcdfxhip6mpgahdwm12bnb3vh90ahv9grhy95"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))
-       #:cargo-development-inputs
-       (("rust-openssl" ,rust-openssl-0.10)
-        ("rust-rand" ,rust-rand-0.4)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
-    (home-page "https://github.com/mitsuhiko/rust-sha1";)
-    (synopsis "Minimal implementation of SHA1 for Rust")
-    (description
-     "Minimal implementation of SHA1 for Rust.")
-    (license license:bsd-3)))
-
-(define-public rust-sha1-0.2
-  (package
-    (inherit rust-sha1-0.6)
-    (name "rust-sha1")
-    (version "0.2.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "sha1" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0p09zfhd27z6yr5in07gfjcx345010rw51ivlcf14364x3hv2c6c"))))
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-openssl" ,rust-openssl-0.7)
-        ("rust-rand" ,rust-rand-0.3))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-cargo-toml
-           (lambda _
-             (substitute* "Cargo.toml"
-               ((", path =.*}") "}"))
-             #t)))))
-    (native-inputs
-     `(("openssl" ,openssl-1.0))))) ; for openssl-sys-extras
-
-(define-public rust-sha1-asm-0.4
-  (package
-    (name "rust-sha1-asm")
-    (version "0.4.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "sha1-asm" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1i1i8viy6y30mv9v5hwhg9w6b722qkyh9c6n8bn4d27jpv14pg0s"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-development-inputs
-       (("rust-cc" ,rust-cc-1.0))))
-    (home-page "https://github.com/RustCrypto/asm-hashes";)
-    (synopsis "Assembly implementation of SHA-1 compression function")
-    (description
-     "Assembly implementation of SHA-1 compression function.")
-    (license license:expat)))
-
-(define-public rust-shared-child-0.3
-  (package
-    (name "rust-shared-child")
-    (version "0.3.4")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "shared-child" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1lmjmr7931dr9cpalw2n7ss4i9mnl7285j2dygxflk9y80xczswc"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-winapi" ,rust-winapi-0.3))))
-    (home-page "https://github.com/oconnor663/shared_child.rs";)
-    (synopsis "Use child processes from multiple threads")
-    (description
-     "A library for using child processes from multiple threads.")
-    (license license:expat)))
-
-(define-public rust-shared-library-0.1
-  (package
-    (name "rust-shared-library")
-    (version "0.1.9")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "shared_library" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "04fs37kdak051hm524a360978g58ayrcarjsbf54vqps5c7px7js"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-libc" ,rust-libc-0.2))))
-    (home-page "https://github.com/tomaka/shared_library/";)
-    (synopsis "Bind to and load shared libraries")
-    (description
-     "This package allows easy binding to, and loading of, shared libraries.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-shell-words-0.1
-  (package
-    (name "rust-shell-words")
-    (version "0.1.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "shell-words" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "0jnrw3f174974fsi2hg48l0klpy24767ib28w0xcvi2ll5axxb1r"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/tmiasko/shell-words";)
-    (synopsis
-     "Process command line according to parsing rules of UNIX shell")
-    (description
-     "Process command line according to parsing rules of UNIX shell.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-shlex-0.1
-  (package
-    (name "rust-shlex")
-    (version "0.1.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "shlex" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1lmv6san7g8dv6jdfp14m7bdczq9ss7j7bgsfqyqjc3jnjfippvz"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/comex/rust-shlex";)
-    (synopsis "Split a string into shell words, like Python's shlex")
-    (description "This crate provides a method to split a string into shell
-words, like Python's shlex.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-signal-hook-0.1
-  (package
-    (name "rust-signal-hook")
-    (version "0.1.13")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "signal-hook" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0b0yh6hlb5hs5kq6adyk0bn168y1ncymxvlizlygaabad2hz7f8h"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-futures" ,rust-futures-0.1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-mio" ,rust-mio-0.6)
-        ("rust-mio-uds" ,rust-mio-uds-0.6)
-        ("rust-signal-hook-registry" ,rust-signal-hook-registry-1.2)
-        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1))
-       #:cargo-development-inputs
-       (("rust-tokio" ,rust-tokio-0.1)
-        ("rust-version-sync" ,rust-version-sync-0.8))))
-    (home-page "https://github.com/vorner/signal-hook";)
-    (synopsis "Unix signal handling")
-    (description "Unix signal handling.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-signal-hook-registry-1.2
-  (package
-    (name "rust-signal-hook-registry")
-    (version "1.2.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "signal-hook-registry" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0haz828bif1lbp3alx17zkcy5hwy15bbpmvks72j8iznx7npix4l"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-arc-swap" ,rust-arc-swap-0.4)
-        ("rust-libc" ,rust-libc-0.2))
-       #:cargo-development-inputs
-       (("rust-signal-hook" ,rust-signal-hook-0.1)
-        ("rust-version-sync" ,rust-version-sync-0.8))))
-    (home-page "https://github.com/vorner/signal-hook";)
-    (synopsis "Backend crate for signal-hook")
-    (description "Backend crate for signal-hook.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-signal-hook-registry-1.0
-  (package
-    (inherit rust-signal-hook-registry-1.2)
-    (name "rust-signal-hook-registry")
-    (version "1.0.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "signal-hook-registry" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1mw5v909fn99h5qb96ma4almlik80lr1c7xbakn24rql6bx4zvfd"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-arc-swap" ,rust-arc-swap-0.3)
-        ("rust-libc" ,rust-libc-0.2))
-       #:cargo-development-inputs
-       (("rust-signal-hook" ,rust-signal-hook-0.1)
-        ("rust-version-sync" ,rust-version-sync-0.8))))))
-
-(define-public rust-simd-0.2
-  (package
-    (name "rust-simd")
-    (version "0.2.4")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "simd" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1dgpmfzd4favsckd5m0p6bna1dcgw19hjigkqcgwfhc4d05hxczj"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t     ; Crate no longer builds on Rust 1.33+
-       #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))
-       #:cargo-development-inputs
-       (("rust-cfg-if" ,rust-cfg-if-0.1))))
-    (home-page "https://github.com/hsivonen/simd";)
-    (synopsis "Limited cross-platform access to SIMD instructions on CPUs")
-    (description
-     "@code{simd} offers limited cross-platform access to SIMD instructions on
-CPUs, as well as raw interfaces to platform-specific instructions.
-(To be obsoleted by the @code{std::simd} implementation RFC 2366.)
-")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-simd-0.1
-  (package
-    (inherit rust-simd-0.2)
-    (name "rust-simd")
-    (version "0.1.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "simd" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "08vhhz1w5m7amfp1d9lvfyyzl0jqjm82hrr7fb7afv3n5my89db3"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-serde" ,rust-serde-0.4)
-        ("rust-serde-macros" ,rust-serde-macros-0.4))
-       #:cargo-development-inputs
-       (("rust-cfg-if" ,rust-cfg-if-0.1))))))
-
-(define-public rust-siphasher-0.2
-  (package
-    (name "rust-siphasher")
-    (version "0.2.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "siphasher" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1b53m53l24lyhr505lwqzrpjyq5qfnic71mynrcfvm43rybf938b"))))
-    (build-system cargo-build-system)
-    (home-page "https://docs.rs/siphasher";)
-    (synopsis "SipHash functions from rust-core < 1.13")
-    (description
-     "SipHash functions from rust-core < 1.13.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-slab-0.4
-  (package
-    (name "rust-slab")
-    (version "0.4.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "slab" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1y59xsa27jk84sxzswjk60xcjf8b4fm5960jwpznrrcmasyva4f1"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/carllerche/slab";)
-    (synopsis "Pre-allocated storage for a uniform data type")
-    (description "This create provides a pre-allocated storage for a uniform
-data type.")
-    (license license:expat)))
-
-(define-public rust-sleef-sys-0.1
-  (package
-    (name "rust-sleef-sys")
-    (version "0.1.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "sleef-sys" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1881q2yc17j2m1yvh01447c93ws1mspnrj3k2nbvwbvcm8z81kkv"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-cfg-if" ,rust-cfg-if-0.1)
-        ("rust-libc" ,rust-libc-0.2))
-       #:cargo-development-inputs
-       (("rust-bindgen" ,rust-bindgen-0.50)
-        ("rust-cmake" ,rust-cmake-0.1)
-        ("rust-env-logger" ,rust-env-logger-0.6))))
-    (home-page "https://github.com/gnzlbg/sleef-sys";)
-    (synopsis
-     "Rust FFI bindings to the SLEEF Vectorized Math Library")
-    (description
-     "Rust FFI bindings to the SLEEF Vectorized Math Library.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-slog-2.4
-  (package
-    (name "rust-slog")
-    (version "2.4.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "slog" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "13jh74jlckzh5cygkhs0k4r82wnmw8ha2km829xwslhr83n2w6hy"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-erased-serde" ,rust-erased-serde-0.3))))
-    (home-page "https://github.com/slog-rs/slog";)
-    (synopsis "Structured, extensible, composable logging for Rust")
-    (description
-     "Structured, extensible, composable logging for Rust.")
-    (license (list license:mpl2.0
-                   license:expat
-                   license:asl2.0))))
-
-(define-public rust-smallvec-1
-  (package
-    (name "rust-smallvec")
-    (version "1.2.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "smallvec" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1z6f47i3qpg9pdjzzvb0g5i1vvdm2ymk3kqc1mdnl8fdkgnb4bsw"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))
-       #:cargo-development-inputs
-       (("rust-bincode" ,rust-bincode-1.1))))
-    (home-page "https://github.com/servo/rust-smallvec";)
-    (synopsis "Small vector optimization")
-    (description
-     "'Small vector' optimization: store up to a small number of items on the
-stack.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-smallvec-0.6
-  (package
-    (inherit rust-smallvec-1)
-    (name "rust-smallvec")
-    (version "0.6.13")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "smallvec" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1dl219vnfkmsfx28lm3f83lyw24zap6fdsli6rg8nnp1aa67bc7p"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-maybe-uninit" ,rust-maybe-uninit-2.0)
-        ("rust-serde" ,rust-serde-1.0))
-       #:cargo-development-inputs
-       (("rust-bincode" ,rust-bincode-1.1))))))
-
-(define-public rust-smithay-client-toolkit-0.6
-  (package
-    (name "rust-smithay-client-toolkit")
-    (version "0.6.4")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "smithay-client-toolkit" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0m20687zs36l6xak2s5k9s7qp78ly8xfjpbmrhacp7whfn4hx5lk"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-andrew" ,rust-andrew-0.2)
-        ("rust-bitflags" ,rust-bitflags-1)
-        ("rust-dlib" ,rust-dlib-0.4)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-memmap" ,rust-memmap-0.7)
-        ("rust-nix" ,rust-nix-0.14)
-        ("rust-wayland-client" ,rust-wayland-client-0.23)
-        ("rust-wayland-protocols" ,rust-wayland-protocols-0.23))
-       #:cargo-development-inputs
-       (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-image" ,rust-image-0.21)
-        ("rust-wayland-client" ,rust-wayland-client-0.23))))
-    (home-page "https://github.com/smithay/client-toolkit";)
-    (synopsis "Toolkit for making client wayland applications")
-    (description
-     "Toolkit for making client wayland applications.")
-    (license license:expat)))
-
-(define-public rust-smithay-client-toolkit-0.4
-  (package
-    (inherit rust-smithay-client-toolkit-0.6)
-    (name "rust-smithay-client-toolkit")
-    (version "0.4.6")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "smithay-client-toolkit" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1yj8yzd0lhqpsgq0x4iikl9a02q2hnkky81brk938alv0ibqrjrc"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-andrew" ,rust-andrew-0.2)
-        ("rust-bitflags" ,rust-bitflags-1)
-        ("rust-dlib" ,rust-dlib-0.4)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-memmap" ,rust-memmap-0.7)
-        ("rust-nix" ,rust-nix-0.14)
-        ("rust-wayland-client" ,rust-wayland-client-0.21)
-        ("rust-wayland-commons" ,rust-wayland-commons-0.21)
-        ("rust-wayland-protocols" ,rust-wayland-protocols-0.21))
-       #:cargo-development-inputs
-       (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-image" ,rust-image-0.20)
-        ("rust-wayland-client" ,rust-wayland-client-0.21))))))
-
-(define-public rust-smithay-clipboard-0.3
-  (package
-    (name "rust-smithay-clipboard")
-    (version "0.3.6")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "smithay-clipboard" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1h7qhcx44cgwncgpn5llky0c56vgsg9mqrkybb2z37vsxxia4rwn"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-nix" ,rust-nix-0.14)
-        ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6))
-       #:cargo-development-inputs
-       (("rust-andrew" ,rust-andrew-0.2))))
-    (inputs
-     `(("wayland" ,wayland)))
-    (home-page "https://github.com/smithay/smithay-clipboard";)
-    (synopsis
-     "Provides access to the wayland clipboard for client applications")
-    (description
-     "This package provides access to the wayland clipboard for client 
applications.")
-    (license license:expat)))
-
-(define-public rust-socket2-0.3
-  (package
-    (name "rust-socket2")
-    (version "0.3.11")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "socket2" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "11bdcz04i106g4q7swkll0qxrb4287srqd2k3aq2q6i22zjlvdz8"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:tests? #f      ; tests require network access
-       #:cargo-inputs
-       (("rust-cfg-if" ,rust-cfg-if-0.1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
-        ("rust-winapi" ,rust-winapi-0.3))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir-0.3))))
-    (home-page "https://github.com/alexcrichton/socket2-rs";)
-    (synopsis "Networking sockets in Rust")
-    (description
-     "This package provides utilities for handling networking sockets with a
-maximal amount of configuration possible intended.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-sourcefile-0.1
-  (package
-    (name "rust-sourcefile")
-    (version "0.1.4")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "sourcefile" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1lwa6973zs4bgj29my7agfjgk4nw9hp6j7dfnr13nid85fw7rxsb"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3.1))))
-    (home-page "https://github.com/derekdreery/sourcefile-rs";)
-    (synopsis "Concatenate source from multiple files")
-    (description
-     "A library for concatenating source from multiple files, whilst keeping
-track of where each new file and line starts.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-speculate-0.1
-  (package
-    (name "rust-speculate")
-    (version "0.1.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "speculate" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0ph01n3fqkmnfr1wd13dqsi4znv06xy6p4h3hqqdzk81r0r5vd1w"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-0.15)
-        ("rust-unicode-xid" ,rust-unicode-xid-0.1))))
-    (home-page "https://github.com/utkarshkukreti/speculate.rs";)
-    (synopsis "RSpec inspired testing framework for Rust")
-    (description
-     "An RSpec inspired minimal testing framework for Rust.")
-    (license license:expat)))
-
-(define-public rust-spin-0.5
-  (package
-    (name "rust-spin")
-    (version "0.5.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "spin" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0b84m6dbzrwf2kxylnw82d3dr8w06av7rfkr8s85fb5f43rwyqvf"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/mvdnes/spin-rs";)
-    (synopsis "Synchronization primitives based on spinning")
-    (description "This crate provides synchronization primitives based on
-spinning.  They may contain data, are usable without @code{std},and static
-initializers are available.")
-    (license license:expat)))
-
-(define-public rust-spin-0.4
-  (package
-    (inherit rust-spin-0.5)
-    (name "rust-spin")
-    (version "0.4.10")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "spin" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "07ywqn1vrpi3c43fmvsx7pawk9h3rb77yyqbnhap2micl454kb6f"))))
-    (arguments '(#:skip-build? #t))))
-
-(define-public rust-spsc-buffer-0.1
-  (package
-    (name "rust-spsc-buffer")
-    (version "0.1.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "spsc-buffer" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0fsv5zpxkax2n46flxhyajq1yblgh8f33la39gp86hksqcwkyv5y"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-criterion" ,rust-criterion-0.2))))
-    (home-page "https://github.com/davidhewitt/spsc-buffer";)
-    (synopsis "Single-producer single-consumer lock-free buffer")
-    (description
-     "This package provides a single-producer single-consumer lock-free 
buffer.")
-    (license license:expat)))
-
-(define-public rust-stable-deref-trait-1.1
-  (package
-    (name "rust-stable-deref-trait")
-    (version "1.1.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "stable_deref_trait" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1j2lkgakksmz4vc5hfawcch2ipiskrhjs1sih0f3br7s7rys58fv"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/storyyeller/stable_deref_trait0";)
-    (synopsis "Defines an unsafe marker trait, StableDeref")
-    (description
-      "This crate defines an unsafe marker trait, StableDeref, for container
-types which deref to a fixed address which is valid even when the containing
-type is moved.  For example, Box, Vec, Rc, Arc and String implement this trait.
-Additionally, it defines CloneStableDeref for types like Rc where clones deref
-to the same address.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-stacker-0.1
-  (package
-    (name "rust-stacker")
-    (version "0.1.6")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "stacker" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "12igajfgqz96c7vcwi91xdfsphawik6g36ndlglqih0a7bqw8vyr"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cfg-if" ,rust-cfg-if-0.1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-psm" ,rust-psm-0.1)
-        ("rust-winapi" ,rust-winapi-0.3))
-       #:cargo-development-inputs
-       (("rust-cc" ,rust-cc-1.0))))
-    (home-page "https://github.com/rust-lang/stacker";)
-    (synopsis "Manual segmented stacks for Rust")
-    (description
-     "This package provides a stack growth library useful when implementing
-deeply recursive algorithms that may accidentally blow the stack.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-stackvector-1.0
-  (package
-    (name "rust-stackvector")
-    (version "1.0.6")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "stackvector" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1bv820fhdad16islwli1g3iksk39ivf0zaqz4j1m08vq15jjaiqw"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-unreachable" ,rust-unreachable-1.0))
-       #:cargo-development-inputs
-       (("rust-rustc-version" ,rust-rustc-version-0.2))))
-    (home-page "https://github.com/Alexhuszagh/rust-stackvector";)
-    (synopsis "Vector-like facade for stack-allocated arrays")
-    (description
-     "StackVec: vector-like facade for stack-allocated arrays.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-static-assertions-0.3
-  (package
-    (name "rust-static-assertions")
-    (version "0.3.4")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "static-assertions" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1lw33i89888yb3x29c6dv4mrkg3534n0rlg3r7qzh4p58xmv6gkz"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/nvzqz/static-assertions-rs";)
-    (synopsis "Compile-time assertions for rust")
-    (description
-     "This package provides compile-time assertions to ensure that invariants
-are met.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-stb-truetype-0.3
-  (package
-    (name "rust-stb-truetype")
-    (version "0.3.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "stb_truetype" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0lgvnh3ma6cz811bk8imj45djz76zs47b8327sgnmik2x03nnyzp"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:tests? #f      ; tests not included in release
-       #:cargo-inputs
-       (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-libm" ,rust-libm-0.2))
-       #:cargo-development-inputs
-       (("rust-approx" ,rust-approx-0.3))))
-    (home-page "https://gitlab.redox-os.org/redox-os/stb_truetype-rs";)
-    (synopsis "Translation of the font loading code to Rust")
-    (description
-     "This package provides a straight translation of the font loading code
-in @code{stb_truetype.h} from C to Rust.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-stdweb-0.4
-  (package
-    (name "rust-stdweb")
-    (version "0.4.20")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "stdweb" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1md14n9rzxzdskz3hpgln8vxfwqsw2cswc0f5nslh4r82rmlj8nh"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-discard" ,rust-discard-1.0)
-        ("rust-futures-channel-preview" ,rust-futures-channel-preview-0.3)
-        ("rust-futures-core-preview" ,rust-futures-core-preview-0.3)
-        ("rust-futures-executor-preview" ,rust-futures-executor-preview-0.3)
-        ("rust-futures-util-preview" ,rust-futures-util-preview-0.3)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
-        ("rust-stdweb-derive" ,rust-stdweb-derive-0.5)
-        ("rust-stdweb-internal-macros" ,rust-stdweb-internal-macros-0.2)
-        ("rust-stdweb-internal-runtime" ,rust-stdweb-internal-runtime-0.1)
-        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
-        ("rust-rustc-version" ,rust-rustc-version-0.2))
-       #:cargo-development-inputs
-       (("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
-        ("rust-stdweb-internal-test-macro" 
,rust-stdweb-internal-test-macro-0.1)
-        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))
-    (home-page "https://github.com/koute/stdweb";)
-    (synopsis "Standard library for the client-side Web")
-    (description
-     "This package provides a standard library for the client-side
-Web.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-stdweb-derive-0.5
-  (package
-    (name "rust-stdweb-derive")
-    (version "0.5.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "stdweb-derive" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1vsh7g0gaxn4kxqq3knhymdn02p2pfxmnd2j0vplpj6c1yj60yn8"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:tests? #f
-       #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-syn" ,rust-syn-1.0))))
-    (home-page "https://github.com/koute/stdweb";)
-    (synopsis "Derive macros for the stdweb crate")
-    (description
-     "This crate currently defines a derive macro for @code{stdweb} which 
allows
-you to define custom reference types outside of the @code{stdweb} library.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-stdweb-internal-macros-0.2
-  (package
-    (name "rust-stdweb-internal-macros")
-    (version "0.2.9")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "stdweb-internal-macros" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "049fq8fl5ny9l5if2qv7kxwng7g6ns95h4fbm3zx360dmpv5zyjq"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-base-x" ,rust-base-x-0.2)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
-        ("rust-sha1" ,rust-sha1-0.6)
-        ("rust-syn" ,rust-syn-1.0))))
-    (home-page "https://github.com/koute/stdweb";)
-    (synopsis "Internal procedural macros for the stdweb crate")
-    (description
-     "Internal procedural macros for the @code{stdweb} crate.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-stdweb-internal-runtime-0.1
-  (package
-    (name "rust-stdweb-internal-runtime")
-    (version "0.1.5")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "stdweb-internal-runtime" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1h0nkppb4r8dbrbms2hw9n5xdcs392m0r5hj3b6lsx3h6fx02dr1"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/koute/stdweb";)
-    (synopsis "Internal runtime for the @code{stdweb} crate")
-    (description "This crate provides internal runtime for the @code{stdweb}
-crate.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-stdweb-internal-test-macro-0.1
-  (package
-    (name "rust-stdweb-internal-test-macro")
-    (version "0.1.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "stdweb-internal-test-macro" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0wx3jlm98qrg1pdw149fprzs9x3x3igqkm5ll23jv2v62yddfrjf"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0))))
-    (home-page "https://github.com/koute/stdweb";)
-    (synopsis "Internal crate of the `stdweb` crate")
-    (description
-     "Internal crate of the @code{stdweb} crate.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-stream-cipher-0.3
-  (package
-    (name "rust-stream-cipher")
-    (version "0.3.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "stream-cipher" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1g1nd8r6pph70rzk5yyvg7a9ji7pkap9ddiqpp4v9xa9ys0bqqc8"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-blobby" ,rust-blobby-0.1)
-        ("rust-generic-array" ,rust-generic-array-0.13))))
-    (home-page "https://github.com/RustCrypto/traits";)
-    (synopsis "Stream cipher traits")
-    (description "Stream cipher traits.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-streaming-stats-0.2
-  (package
-    (name "rust-streaming-stats")
-    (version "0.2.3")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "streaming-stats" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0iz5dlq51w5hxjrv6a4hpf8rrj91kgvy0s9mhj0j12il9v771mmh"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-num-traits" ,rust-num-traits-0.2))))
-    (home-page "https://github.com/BurntSushi/rust-stats";)
-    (synopsis "Compute basic statistics on streams")
-    (description
-     "Experimental crate for computing basic statistics on streams.")
-    (license (list license:unlicense
-                   license:expat))))
-
-(define-public rust-string-cache-0.7
-  (package
-    (name "rust-string-cache")
-    (version "0.7.5")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "string_cache" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0rrdb822gc1fs3qq4camgj3kh4182bs79hpqxhdrpmlz5yl5ih49"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-new-debug-unreachable"
-         ,rust-new-debug-unreachable-1.0)
-        ("rust-phf-shared" ,rust-phf-shared-0.7)
-        ("rust-precomputed-hash" ,rust-precomputed-hash-0.1)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-string-cache-codegen" ,rust-string-cache-codegen-0.4)
-        ("rust-string-cache-shared" ,rust-string-cache-shared-0.3))
-       #:cargo-development-inputs
-       (("rust-rand" ,rust-rand-0.4))))
-    (home-page "https://github.com/servo/string-cache";)
-    (synopsis "String interning library for Rust")
-    (description
-     "This package provides a string interning library for Rust,
-developed as part of the Servo project.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-string-cache-codegen-0.4
-  (package
-    (name "rust-string-cache-codegen")
-    (version "0.4.4")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "string-cache-codegen" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1ik78h9gs874i24rkyh0myg6x4ni2a9cazbv5yzs9yavnv8mxx7h"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-phf-generator" ,rust-phf-generator-0.7)
-        ("rust-phf-shared" ,rust-phf-shared-0.7)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-string-cache-shared"
-         ,rust-string-cache-shared-0.3))))
-    (home-page "https://github.com/servo/string-cache";)
-    (synopsis "Codegen library for string-cache")
-    (description
-     "This package provides a codegen library for string-cache,
-developed as part of the Servo project.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-string-cache-shared-0.3
-  (package
-    (name "rust-string-cache-shared")
-    (version "0.3.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "string-cache-shared" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1z7dpdix1m42x6ddshdcpjf91ml9mhvnskmiv5kd8hcpq0dlv25i"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/servo/string-cache";)
-    (synopsis "Code share between string_cache and string_cache_codegen")
-    (description
-     "Code share between string_cache and string_cache_codegen.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-strsim-0.9
-  (package
-    (name "rust-strsim")
-    (version "0.9.3")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "strsim" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0k497pv882qn3q977ckznm13vxx927g8s1swvcv68j3c1pccwik4"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/dguo/strsim-rs";)
-    (synopsis "Rust implementations of string similarity metrics")
-    (description "This crate includes implementations of string similarity
-metrics.  It includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro,
-and Jaro-Winkler.")
-    (license license:expat)))
-
-(define-public rust-strsim-0.8
-  (package
-    (inherit rust-strsim-0.9)
-    (name "rust-strsim")
-    (version "0.8.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "strsim" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf"))))))
-
-(define-public rust-strsim-0.6
-  (package
-    (inherit rust-strsim-0.9)
-    (name "rust-strsim")
-    (version "0.6.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "strsim" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "151ngha649cyybr3j50qg331b206zrinxqz7fzw1ra8r0n0mrldl"))))))
-
-(define-public rust-strsim-0.5
-  (package
-    (inherit rust-strsim-0.9)
-    (name "rust-strsim")
-    (version "0.5.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "strsim" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0z3zzvmilfldp4xw42qbkjf901dcnbk58igrzsvivydjzd24ry37"))))))
-
-(define-public rust-structopt-0.2
-  (package
-    (name "rust-structopt")
-    (version "0.2.18")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "structopt" version))
-        (file-name (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "1mvfv1l8vp3y402fkl2wcl34hi7gmr4bqha13dfz2xf3kjzwvhhn"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:tests? #f
-       #:cargo-inputs
-       (("rust-clap" ,rust-clap-2)
-        ("rust-structopt-derive" ,rust-structopt-derive-0.2))))
-    (home-page "https://github.com/TeXitoi/structopt";)
-    (synopsis "Parse command line arguments by defining a struct")
-    (description
-     "Parse command line arguments by defining a struct.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-structopt-derive-0.2
-  (package
-    (name "rust-structopt-derive")
-    (version "0.2.18")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "structopt-derive" version))
-        (file-name (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "01sis9z5kqmyhvzbnmlzpdxcry99a0b9blypksgnhdsbm1hh40ak"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-heck" ,rust-heck-0.3)
-        ("rust-proc-macro2" ,rust-proc-macro2-0.4)
-        ("rust-quote" ,rust-quote-0.6)
-        ("rust-syn" ,rust-syn-0.15))))
-    (home-page "https://github.com/TeXitoi/structopt";)
-    (synopsis
-     "Parse command line argument by defining a struct, derive crate")
-    (description
-     "Parse command line argument by defining a struct, derive crate.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-subtle-1.0
-  (package
-    (name "rust-subtle")
-    (version "1.0.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "subtle" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1vm80mxbwfj334izwm8x8l65v1xl9hr0kwrg36r1rq565fkaarrd"))))
-    (build-system cargo-build-system)
-    (home-page "https://dalek.rs/";)
-    (synopsis
-     "Pure-Rust traits and utilities for cryptographic implementations")
-    (description
-     "This package provides Pure-Rust traits and utilities for constant-time
-cryptographic implementations.")
-    (license license:bsd-3)))
-
-(define-public rust-syn-1.0
-  (package
-    (name "rust-syn")
-    (version "1.0.5")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "syn" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1gw03w7lzrlqmp2vislcybikgl5wkhrqi6sy70w93xss2abhx1b6"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/dtolnay/syn";)
-    (synopsis "Parser for Rust source code")
-    (description "Parser for Rust source code")
-    (properties '((hidden? . #t)))
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-syn-0.15
-  (package
-    (inherit rust-syn-1.0)
-    (name "rust-syn")
-    (version "0.15.44")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "syn" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1id5g6x6zihv3j7hwrw3m1jp636bg8dpi671r7zy3jvpkavb794w"))))
-    (arguments
-     `(#:cargo-test-flags '("--release" "--all-features")
-       #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
-        ("rust-quote" ,rust-quote-0.6)
-        ("rust-unicode-xid" ,rust-unicode-xid-0.1))
-       #:cargo-development-inputs
-       (("rust-insta" ,rust-insta-0.8)
-        ("rust-rayon" ,rust-rayon-1.1)
-        ("rust-ref-cast" ,rust-ref-cast-0.2)
-        ("rust-regex" ,rust-regex-1.1)
-        ("rust-termcolor" ,rust-termcolor-1.0)
-        ("rust-walkdir" ,rust-walkdir-2.2))))
-    (properties '())))
-
-(define-public rust-syn-0.11
-  (package
-    (inherit rust-syn-0.15)
-    (name "rust-syn")
-    (version "0.11.11")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "syn" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1b8x8jdsmj6r9ck7n1pg371526n1q90kx6rv6ivcb22w06wr3f6k"))))
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'fixup-cargo-toml
-           (lambda _
-             (substitute* "Cargo.toml"
-               ((", path =.*,") ","))
-             #t)))
-       #:cargo-inputs
-       (("rust-quote" ,rust-quote-0.3)
-        ("rust-synom" ,rust-synom-0.11)
-        ("rust-unicode-xid" ,rust-unicode-xid-0.0))
-       #:cargo-development-inputs
-       (("rust-syntex-pos" ,rust-syntex-pos-0.58)
-        ("rust-syntex-syntax" ,rust-syntex-syntax-0.58)
-        ("rust-tempdir" ,rust-tempdir-0.3)
-        ("rust-walkdir" ,rust-walkdir-1.0))))))
-
-(define-public rust-synom-0.11
-  (package
-    (name "rust-synom")
-    (version "0.11.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "synom" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1dj536sh5xxhan2h0znxhv0sl6sb7lvzmsmrc3nvl3h1v5p0d4x3"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:tests? #f      ; doc tests fail
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'fixup-cargo-toml
-           (lambda _
-             (substitute* "Cargo.toml"
-               (("^path =.*") ""))
-             #t)))
-       #:cargo-inputs
-       (("rust-unicode-xid" ,rust-unicode-xid-0.0))
-       #:cargo-development-inputs
-       (("rust-syn" ,rust-syn-0.11))))
-    (home-page "https://github.com/dtolnay/syn";)
-    (synopsis "Stripped-down Nom parser used by Syn")
-    (description
-     "Stripped-down Nom parser used by Syn.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-synstructure-0.10
-  (package
-    (name "rust-synstructure")
-    (version "0.10.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "synstructure" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0grirdkgh2wl4hf9a3nbiazpgccxgq54kn52ms0xrr6njvgkwd82"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
-        ("rust-quote" ,rust-quote-0.6)
-        ("rust-syn" ,rust-syn-0.15)
-        ("rust-unicode-xid" ,rust-unicode-xid-0.1))
-       #:cargo-development-inputs
-       (("rust-synstructure-test-traits" ,rust-synstructure-test-traits-0.1))))
-    (home-page "https://github.com/mystor/synstructure";)
-    (synopsis "Helper methods and macros for custom derives")
-    (description
-     "Helper methods and macros for custom derives.")
-    (license license:expat)))
-
-(define-public rust-synstructure-test-traits-0.1
-  (package
-    (name "rust-synstructure-test-traits")
-    (version "0.1.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "synstructure_test_traits" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1b3fs2b9kc1gy9dilaxqjbdl4z0mlrbbxjzkprdx953rif1c3q66"))))
-    (build-system cargo-build-system)
-    (home-page "https://crates.io/crates/synstructure_test_traits";)
-    (synopsis "Helper test traits for synstructure doctests")
-    (description
-     "This package provides helper test traits for synstructure doctests.")
-    (license license:expat)))
-
-(define-public rust-syntex-0.58
- (package
-   (name "rust-syntex")
-   (version "0.58.1")
-   (source
-    (origin
-      (method url-fetch)
-      (uri (crate-uri "syntex" version))
-      (file-name
-       (string-append name "-" version ".tar.gz"))
-      (sha256
-       (base32
-        "03lgd36cxhc6gzaab0wqvckbhml00s6s73lk34ymf6cklymf7xd8"))))
-   (build-system cargo-build-system)
-   (arguments
-    `(#:skip-build? #t
-      #:cargo-inputs
-      (("rust-syntex-errors" ,rust-syntex-errors-0.58)
-       ("rust-syntex-syntax" ,rust-syntex-syntax-0.58))))
-   (home-page "https://github.com/erickt/rust-syntex";)
-   (synopsis "Compile time syntax extension expansion")
-   (description
-    "This package provides a library that enables compile time
-syntax extension expansion.")
-   (license (list license:expat license:asl2.0))))
-
-(define-public rust-syntex-errors-0.58
-  (package
-    (name "rust-syntex-errors")
-    (version "0.58.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "syntex_errors" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "176vma7sjv6li17q7dsilryac66b76zyis9ampmff2hlsz1caz46"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
-        ("rust-syntex-pos" ,rust-syntex-pos-0.58)
-        ("rust-term" ,rust-term-0.4)
-        ("rust-unicode-xid" ,rust-unicode-xid-0.0))))
-    (home-page "https://github.com/serde-rs/syntex";)
-    (synopsis "Backport of librustc_errors")
-    (description "This package provides a backport of @code{librustc_errors}.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-syntex-pos-0.58
-  (package
-    (name "rust-syntex-pos")
-    (version "0.58.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "syntex_pos" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0iqhircpr723da1g97xrrj8smqqz3gxw91cf03sckasjzri4gb8k"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))
-    (home-page "https://github.com/serde-rs/syntex";)
-    (synopsis "Backport of libsyntax_pos")
-    (description "This package provides a backport of @code{libsyntax_pos}.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-syntex-syntax-0.58
-  (package
-    (name "rust-syntex-syntax")
-    (version "0.58.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "syntex_syntax" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "14f74l7yzwl6fr9i23k4j23k66qn0gakvhk4jjc9ipb3w6x4s3kf"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-0.8)
-        ("rust-log" ,rust-log-0.3)
-        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
-        ("rust-syntex-errors" ,rust-syntex-errors-0.58)
-        ("rust-syntex-pos" ,rust-syntex-pos-0.58)
-        ("rust-unicode-xid" ,rust-unicode-xid-0.0))))
-    (home-page "https://github.com/serde-rs/syntex";)
-    (synopsis "Backport of libsyntax")
-    (description "This package provides a backport of libsyntax.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-sysctl-0.4
-  (package
-    (name "rust-sysctl")
-    (version "0.4.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "sysctl" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0p6bfjsw3v12nb2qsgm6r9klwb5qyh4w55zzmccv8r5aqb8g0085"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-failure" ,rust-failure-0.1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-walkdir" ,rust-walkdir-2.2))))
-    (home-page "https://github.com/johalun/sysctl-rs";)
-    (synopsis "Simplified interface to libc::sysctl")
-    (description
-     "Simplified interface to libc::sysctl.")
-    (license license:expat)))
-
-(define-public rust-sysctl-0.1
-  (package
-    (inherit rust-sysctl-0.4)
-    (name "rust-sysctl")
-    (version "0.1.4")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "sysctl" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "10wxlk4nkzlxp4fg435jmdmfwl4hy0y4w2rcsgs634lvbp8pgksb"))))
-    (arguments
-     `(#:skip-build? #t ; Unsupported on Linux.
-       #:cargo-inputs
-       (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-errno" ,rust-errno-0.2)
-        ("rust-libc" ,rust-libc-0.2))))))
-
-(define-public rust-takeable-option-0.4
-  (package
-    (name "rust-takeable-option")
-    (version "0.4.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "takeable-option" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0hvd6vk4ksgg2y99498jw52ric4lxm0i6ygpzqm95gdrhvsxyynp"))))
-    (build-system cargo-build-system)
-    (home-page "https://docs.rs/takeable-option/";)
-    (synopsis "A small wrapper around option.")
-    (description
-     "This package provides a small wrapper around option.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-tar-0.4
-  (package
-    (name "rust-tar")
-    (version "0.4.26")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "tar" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1lr6v3cpkfxd2lk5ll2jd8wr1xdskwj35smnh5sfb8xvzzxnn6dk"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:tests? #f      ; Test tarballs not included in crate.
-       #:cargo-inputs
-       (("rust-filetime" ,rust-filetime-0.2)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
-        ("rust-xattr" ,rust-xattr-0.2))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir-0.3))))
-    (home-page "https://github.com/alexcrichton/tar-rs";)
-    (synopsis "Tar file reading/writing for Rust")
-    (description
-     "This package provides a Rust implementation of a TAR file reader and
-writer.  This library does not currently handle compression, but it is abstract
-over all I/O readers and writers.  Additionally, great lengths are taken to
-ensure that the entire contents are never required to be entirely resident in
-memory all at once.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-target-build-utils-0.3
-  (package
-    (name "rust-target-build-utils")
-    (version "0.3.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "target_build_utils" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0p7713x4bpbwi11l196z1mi8ym8qj1cdnab1mm2ffpm2wi516g81"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-phf" ,rust-phf-0.7)
-        ("rust-serde-json" ,rust-serde-json-0.9)
-        ("rust-phf-codegen" ,rust-phf-codegen-0.7))))
-    (home-page "https://github.com/nagisa/target_build_utils.rs";)
-    (synopsis "Rust utility to handle TARGET environment variable")
-    (description
-     "Utility crate to handle the @code{TARGET} environment variable passed 
into
-@code{build.rs} scripts.")
-    (license (list license:isc license:asl2.0))))
-
-(define-public rust-tempdir-0.3
-  (package
-    (name "rust-tempdir")
-    (version "0.3.7")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "tempdir" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1n5n86zxpgd85y0mswrp5cfdisizq2rv3la906g6ipyc03xvbwhm"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-rand" ,rust-rand-0.4)
-        ("rust-remove-dir-all" ,rust-remove-dir-all-0.5))))
-    (home-page "https://github.com/rust-lang-deprecated/tempdir";)
-    (synopsis "Temporary directory management for Rust")
-    (description
-     "This package provides a library for managing a temporary directory and
-deleting all contents when it's dropped.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-tempfile-3.1
-  (package
-    (name "rust-tempfile")
-    (version "3.1.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "tempfile" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1a9cfdqw70n7bcnkx05aih9xdba8lqazmqlkjpkmn2la6gcj8vks"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-cfg-if" ,rust-cfg-if-0.1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-rand" ,rust-rand-0.7)
-        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
-        ("rust-remove-dir-all" ,rust-remove-dir-all-0.5)
-        ("rust-winapi" ,rust-winapi-0.3))))
-    (home-page "https://stebalien.com/projects/tempfile-rs";)
-    (synopsis "Library for managing temporary files and directories")
-    (description
-     "This package provides a library for managing temporary files and
-directories.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-tempfile-3.0
-  (package
-    (inherit rust-tempfile-3.1)
-    (name "rust-tempfile")
-    (version "3.0.8")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "tempfile" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1vqk7aq2l04my2r3jiyyxirnf8f90nzcvjasvrajivb85s7p7i3x"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-cfg-if" ,rust-cfg-if-0.1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-rand" ,rust-rand-0.6)
-        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
-        ("rust-remove-dir-all" ,rust-remove-dir-all-0.5)
-        ("rust-winapi" ,rust-winapi-0.3))))))
-
-(define-public rust-tendril-0.4
-  (package
-    (name "rust-tendril")
-    (version "0.4.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tendril" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0fsx7blrrzgca8aa2yqy8zxyi8s7amskhgkk1ml5sbaqyalyszvh"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-encoding" ,rust-encoding-0.2)
-        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
-        ("rust-futf" ,rust-futf-0.1)
-        ("rust-mac" ,rust-mac-0.1)
-        ("rust-utf-8" ,rust-utf-8-0.7))
-       #:cargo-development-inputs
-       (("rust-rand" ,rust-rand-0.4))))
-    (home-page "https://github.com/servo/tendril";)
-    (synopsis "Compact buffer/string type for zero-copy parsing")
-    (description
-     "Compact buffer/string type for zero-copy parsing.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-term-0.6
- (package
-   (name "rust-term")
-   (version "0.6.1")
-   (source
-    (origin
-      (method url-fetch)
-      (uri (crate-uri "term" version))
-      (file-name
-       (string-append name "-" version ".tar.gz"))
-      (sha256
-       (base32
-        "1ddqxq9hrk8zqq1f8pqhz72vrlfc8vh2xcza2gb623z78lrkm1n0"))))
-   (build-system cargo-build-system)
-   (arguments
-    `(#:cargo-inputs
-      (("rust-dirs" ,rust-dirs-2.0)
-       ("rust-winapi" ,rust-winapi-0.3))))
-   (home-page "https://github.com/Stebalien/term";)
-   (synopsis "Terminal formatting library")
-   (description
-    "This package provides a terminal formatting library.")
-   (license (list license:expat license:asl2.0))))
-
-(define-public rust-term-0.5
-  (package
-    (inherit rust-term-0.6)
-    (name "rust-term")
-    (version "0.5.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "term" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0hkgjrfisj6zjwz525639pmsvzhlc48a0h65nw87qrdp6jihdlgd"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-dirs" ,rust-dirs-1.0)
-        ("rust-winapi" ,rust-winapi-0.3))))))
-
-(define-public rust-term-0.4
-  (package
-    (inherit rust-term-0.6)
-    (name "rust-term")
-    (version "0.4.6")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "term" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1wbh8ngqkqr3f6wz902yplf60bd5yapnckvrkgmzp5nffi7n8qzs"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
-        ("rust-winapi" ,rust-winapi-0.2))))))
-
-(define-public rust-term-grid-0.1
-  (package
-    (name "rust-term-grid")
-    (version "0.1.7")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "term_grid" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "1kq2sy3b8329jrsrpcvijvyz4gbqjyvyy6c3n0wmmvda9y03w393"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-unicode-width" ,rust-unicode-width-0.1))))
-    (home-page "https://github.com/ogham/rust-term-grid";)
-    (synopsis "Library for formatting strings into a grid layout")
-    (description "This package provides a library for formatting strings into a
-grid layout.")
-    (license license:expat)))
-
-(define-public rust-term-size-1.0
-  (package
-    (name "rust-term-size")
-    (version "1.0.0-beta1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "term_size" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "13w9cqjhzh3mmx6zami8lxyf42xx53yy866zxhxqcm71k637v8d8"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-clippy" ,rust-clippy-0.0)
-        ("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-winapi" ,rust-winapi-0.3))))
-    (home-page "https://github.com/clap-rs/term_size-rs";)
-    (synopsis "Determine terminal sizes and dimensions")
-    (description
-     "Functions for determining terminal sizes and dimensions")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-term-size-0.3
-  (package
-    (inherit rust-term-size-1.0)
-    (name "rust-term-size")
-    (version "0.3.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "term_size" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "09wk3173ngmb710qs9rwgibq4w250q8lgnwjvb9cypc1vdk9lnwy"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-clippy" ,rust-clippy-0.0)
-        ("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-winapi" ,rust-winapi-0.2))))))
-
-(define-public rust-termcolor-1.0
-  (package
-    (name "rust-termcolor")
-    (version "1.0.5")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "termcolor" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0vjfsn1a8zvqhnrbygrz1id6yckwv1dncw3w4zj65qdx0f00kmln"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-wincolor" ,rust-wincolor-1.0))))
-    (home-page "https://github.com/BurntSushi/termcolor";)
-    (synopsis "Library for writing colored text to a terminal")
-    (description "This package provides a simple cross platform library for
-writing colored text to a terminal.")
-    (license (list license:unlicense
-                   license:expat))))
-
-(define-public rust-terminfo-0.6
-  (package
-    (name "rust-terminfo")
-    (version "0.6.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "terminfo" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "17k8vqvicd6yg0iqmkjnxjhz8h8pknv86r03nq3f3ayjmxdhclcf"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-fnv" ,rust-fnv-1.0)
-        ("rust-nom" ,rust-nom-4.2)
-        ("rust-phf" ,rust-phf-0.7)
-        ("rust-phf-codegen" ,rust-phf-codegen-0.7))))
-    (home-page "https://github.com/meh/rust-terminfo";)
-    (synopsis "Terminal information")
-    (description "Terminal capabilities with type-safe getters.")
-    (license license:wtfpl2)))
-
-(define-public rust-termion-1.5
-  (package
-    (name "rust-termion")
-    (version "1.5.5")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "termion" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "01f9787d5nx445bqbj644v38bn0hl2swwjy9baz0dnbqi6fyqb62"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:tests? #f      ; Tests want a terminal.
-       #:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-numtoa" ,rust-numtoa-0.1)
-        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
-        ("rust-redox-termios" ,rust-redox-termios-0.1))))
-    (home-page "https://gitlab.redox-os.org/redox-os/termion";)
-    (synopsis "Library for manipulating terminals")
-    (description
-     "This package provides a bindless library for manipulating terminals.")
-    (license license:expat)))
-
-(define-public rust-termios-0.3
-  (package
-    (name "rust-termios")
-    (version "0.3.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "termios" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "09any1p4jp4bphvb5ikagnvwjc3xn2djchy96nkpa782xb2j1dkj"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2))))
-    (home-page  "https://github.com/dcuddeback/termios-rs";)
-    (synopsis "Safe bindings for the termios library")
-    (description
-     "The termios crate provides safe bindings for the Rust programming 
language
-to the terminal I/O interface implemented by Unix operating systems.  The safe
-bindings are a small wrapper around the raw C functions, which converts integer
-return values to @code{std::io::Result} to indicate success or failure.")
-    (license license:expat)))
-
-(define-public rust-test-assembler-0.1
-  (package
-    (name "rust-test-assembler")
-    (version "0.1.5")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "test-assembler" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1sdx9hk0dk3z9crm8834ysyxsi92chls8arpd0gs796kis6lik2w"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-byteorder" ,rust-byteorder-1.3))))
-    (home-page "https://github.com/luser/rust-test-assembler";)
-    (synopsis "Build complex binary streams")
-    (description
-     "This package provides a set of types for building complex binary
-streams.")
-    (license license:expat)))
-
-(define-public rust-tester-0.5
-  (package
-    (name "rust-tester")
-    (version "0.5.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tester" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1xkgapz2i4j977f6kh1zp6sa5llbhy5vbnr6kfj8czsrdjr2r0ay"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-getopts" ,rust-getopts-0.2)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-term" ,rust-term-0.4))))
-    (home-page
-     "https://github.com/messense/rustc-test";)
-    (synopsis
-     "Fork of Rust's test crate")
-    (description
-     "This package provides a fork of Rust's test crate that doesn't require
-unstable language features.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-textwrap-0.11
-  (package
-    (name "rust-textwrap")
-    (version "0.11.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "textwrap" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0q5hky03ik3y50s9sz25r438bc4nwhqc6dqwynv4wylc807n29nk"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/mgeisler/textwrap";)
-    (synopsis "Library for word wrapping, indenting, and dedenting strings")
-    (description
-     "Textwrap is a small library for word wrapping, indenting, and dedenting
-strings.  You can use it to format strings (such as help and error messages)
-for display in commandline applications.  It is designed to be efficient and
-handle Unicode characters correctly.")
-    (properties '((hidden? . #t)))
-    (license license:expat)))
-
-(define-public rust-thiserror-1.0
-  (package
-    (name "rust-thiserror")
-    (version "1.0.9")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "thiserror" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0zlp3kzjssl1ndqmn7cipqnyggq4851ghhqj4bfc4fxk2hc7sdbg"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-thiserror-impl" ,rust-thiserror-impl-1.0))
-       #:cargo-development-inputs
-       (("rust-anyhow" ,rust-anyhow-1.0)
-        ("rust-ref-cast" ,rust-ref-cast-1.0)
-        ("rust-rustversion" ,rust-rustversion-1.0)
-        ("rust-trybuild" ,rust-trybuild-1.0))))
-    (home-page "https://github.com/dtolnay/thiserror";)
-    (synopsis "derive(Error)")
-    (description "This package provides @code{derive(Error)} in Rust.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-thiserror-impl-1.0
-  (package
-    (name "rust-thiserror-impl")
-    (version "1.0.9")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "thiserror-impl" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1vxzhb98pm5yrq9mmcz50bgpml35iyx7lwjgi4v89sq7ag92abpb"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0))))
-    (home-page "https://github.com/dtolnay/thiserror";)
-    (synopsis "Implementation detail of the thiserror crate")
-    (description "This package provides an implementation detail of the
-@code{thiserror} crate.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-thread-id-3.3
-  (package
-    (name "rust-thread-id")
-    (version "3.3.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "thread-id" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1h90v19fjz3x9b25ywh68z5yf2zsmm6h5zb4rl302ckbsp4z9yy7"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
-        ("rust-winapi" ,rust-winapi-0.3))))
-    (home-page "https://github.com/ruuda/thread-id";)
-    (synopsis "Get a unique ID for the current thread in Rust")
-    (description
-     "For diagnostics and debugging it can often be useful to get an ID that is
-different for every thread.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-thread-id-2.0
-  (package
-    (inherit rust-thread-id-3.3)
-    (name "rust-thread-id")
-    (version "2.0.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "thread-id" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "00zzs2bx1xw8aqm5plqqgr7bc2zz6zkqrdxq8vpiqb8hc2srslx9"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
-        ("rust-libc" ,rust-libc-0.2))))))
-
-(define-public rust-thread-local-1.0
-  (package
-    (name "rust-thread-local")
-    (version "1.0.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "thread_local" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "054vlrr1vsdy1h4b7n99mr24pnj8928ig9qwzg36wnkld4dns36l"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1))))
-    (home-page "https://github.com/Amanieu/thread_local-rs";)
-    (synopsis "Per-object thread-local storage")
-    (description "Per-object thread-local storage.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-thread-local-0.3
-  (package
-    (inherit rust-thread-local-1.0)
-    (name "rust-thread-local")
-    (version "0.3.6")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "thread_local" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "06rzik99p8c5js8238yhc8rk6np543ylb1dy9nrw5v80j0r3xdf6"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1))))))
-
-(define-public rust-thread-local-0.2
-  (package
-    (inherit rust-thread-local-0.3)
-    (name "rust-thread-local")
-    (version "0.2.7")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "thread_local" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1mgxikqvhpsic6xk7pan95lvgsky1sdxzw2w5m2l35pgrazxnxl5"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-thread-id" ,rust-thread-id-2.0))))))
-
-(define-public rust-threadpool-1.7
-  (package
-    (name "rust-threadpool")
-    (version "1.7.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "threadpool" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0rd89n1q7vy47w4c32cnynibffv9kj3jy3dwr0536n9lbw5ckw72"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-num-cpus" ,rust-num-cpus-1.11))))
-    (home-page "https://github.com/rust-threadpool/rust-threadpool";)
-    (synopsis "Thread pool for running jobs on a fixed set of worker threads")
-    (description
-     "This package provides a thread pool for running a number of jobs on a
-fixed set of worker threads.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-tiff-0.3
-  (package
-    (name "rust-tiff")
-    (version "0.3.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tiff" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0zgmbny2f8rssqmjdfvnysy0vqwcvlwl6q9f5yixhavlqk7w5dyp"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:tests? #f      ; Tests images not included with release.
-       #:cargo-inputs
-       (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-lzw" ,rust-lzw-0.10)
-        ("rust-num-derive" ,rust-num-derive-0.2)
-        ("rust-num-traits" ,rust-num-traits-0.2))
-       #:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3.0))))
-    (home-page "https://github.com/image-rs/image-tiff";)
-    (synopsis
-     "TIFF decoding and encoding library in pure Rust")
-    (description
-     "TIFF decoding and encoding library in pure Rust.")
-    (license license:expat)))
-
-(define-public rust-tiff-0.2
-  (package
-    (inherit rust-tiff-0.3)
-    (name "rust-tiff")
-    (version "0.2.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tiff" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1kn7psgpacns337vvqh272rkqwnakmjd51rc7ygwnc03ibr38j0y"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-lzw" ,rust-lzw-0.10)
-        ("rust-num-derive" ,rust-num-derive-0.2)
-        ("rust-num-traits" ,rust-num-traits-0.2))))))
-
-(define-public rust-time-0.1
-  (package
-    (name "rust-time")
-    (version "0.1.42")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "time" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0vsbvsz0ryxb35dy9j4anxvy8zlaplmjmi0a4z4l64bc135cz3fv"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
-        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
-        ("rust-winapi" ,rust-winapi-0.3))
-       #:cargo-development-inputs
-       (("rust-log" ,rust-log-0.4)
-        ("rust-winapi" ,rust-winapi-0.3))))
-    (home-page "https://github.com/time-rs/time";)
-    (synopsis "Simple time handling in Rust")
-    (description
-     "This package provides utilities for working with time-related functions
-in Rust.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-tinytemplate-1.0
-  (package
-    (name "rust-tinytemplate")
-    (version "1.0.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tinytemplate" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "084w41m75i95sdid1wwlnav80jsl1ggyryl4nawxvb6amigvfx25"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0))
-       #:cargo-development-inputs
-       (("rust-criterion" ,rust-criterion-0.2)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))))
-    (home-page "https://github.com/bheisler/TinyTemplate";)
-    (synopsis "Simple, lightweight template engine")
-    (description
-     "Simple, lightweight template engine.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-tokio-0.1
-  (package
-    (name "rust-tokio")
-    (version "0.1.21")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "11ra8jp3fj70a2zrqmd6as7wgpwiiyzjf50gz89i8r7wpksgqbzc"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-bytes" ,rust-bytes-0.4)
-        ("rust-futures" ,rust-futures-0.1)
-        ("rust-mio" ,rust-mio-0.6)
-        ("rust-miow" ,rust-miow-0.3)
-        ("rust-num-cpus" ,rust-num-cpus-1.10)
-        ("rust-tokio-codec" ,rust-tokio-codec-0.1)
-        ("rust-tokio-current-thread" ,rust-tokio-current-thread-0.1)
-        ("rust-tokio-executor" ,rust-tokio-executor-0.1)
-        ("rust-tokio-fs" ,rust-tokio-fs-0.1)
-        ("rust-tokio-io" ,rust-tokio-io-0.1)
-        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1)
-        ("rust-tokio-sync" ,rust-tokio-sync-0.1)
-        ("rust-tokio-tcp" ,rust-tokio-tcp-0.1)
-        ("rust-tokio-threadpool" ,rust-tokio-threadpool-0.1)
-        ("rust-tokio-timer" ,rust-tokio-timer-0.2)
-        ("rust-tokio-trace-core" ,rust-tokio-trace-core-0.2)
-        ("rust-tokio-udp" ,rust-tokio-udp-0.1)
-        ("rust-tokio-uds" ,rust-tokio-uds-0.2))
-       #:cargo-development-inputs
-       (("rust-env-logger" ,rust-env-logger-0.6)
-        ("rust-flate2" ,rust-flate2-1.0)
-        ("rust-futures-cpupool" ,rust-futures-cpupool-0.1)
-        ("rust-http" ,rust-http-0.1)
-        ("rust-httparse" ,rust-httparse-1.3)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-num-cpus" ,rust-num-cpus-1.10)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
-        ("rust-time" ,rust-time-0.1))))
-    (home-page "https://tokio.rs";)
-    (synopsis "Event-driven, non-blocking I/O platform")
-    (description
-     "An event-driven, non-blocking I/O platform for writing asynchronous I/O
-backed applications.")
-    (license license:expat)))
-
-;; Cyclic dependency with tokio-io
-(define-public rust-tokio-codec-0.1
-  (package
-    (name "rust-tokio-codec")
-    (version "0.1.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio-codec" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "17y3hi3dd0bdfkrzshx9qhwcf49xv9iynszj7iwy3w4nmz71wl2w"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-bytes" ,rust-bytes-0.4)
-        ("rust-futures" ,rust-futures-0.1)
-        ("rust-tokio-io" ,rust-tokio-io-0.1))))
-    (home-page "https://tokio.rs";)
-    (synopsis
-     "Utilities for encoding and decoding frames")
-    (description
-     "Utilities for encoding and decoding frames.")
-    (license license:expat)))
-
-(define-public rust-tokio-core-0.1
-  (package
-    (name "rust-tokio-core")
-    (version "0.1.17")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio-core" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0wbgg59mxfvrhzv97y56nh3gmnmw3jj9dhgkmvz27410jjxzpvxf"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-bytes" ,rust-bytes-0.4)
-        ("rust-futures" ,rust-futures-0.1)
-        ("rust-iovec" ,rust-iovec-0.1)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-mio" ,rust-mio-0.6)
-        ("rust-scoped-tls" ,rust-scoped-tls-0.1)
-        ("rust-tokio" ,rust-tokio-0.1)
-        ("rust-tokio-executor" ,rust-tokio-executor-0.1)
-        ("rust-tokio-io" ,rust-tokio-io-0.1)
-        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1)
-        ("rust-tokio-timer" ,rust-tokio-timer-0.2))
-       #:cargo-development-inputs
-       (("rust-env-logger" ,rust-env-logger-0.4)
-        ("rust-flate2" ,rust-flate2-1.0)
-        ("rust-futures-cpupool" ,rust-futures-cpupool-0.1)
-        ("rust-http" ,rust-http-0.1)
-        ("rust-httparse" ,rust-httparse-1.3)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-num-cpus" ,rust-num-cpus-1.10)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
-        ("rust-time" ,rust-time-0.1))))
-    (home-page "https://tokio.rs";)
-    (synopsis
-     "Core I/O and event loop primitives for asynchronous I/O in Rust")
-    (description
-     "Core I/O and event loop primitives for asynchronous I/O in Rust.
-Foundation for the rest of the tokio crates.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-tokio-current-thread-0.1
-  (package
-    (name "rust-tokio-current-thread")
-    (version "0.1.6")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio-current-thread" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0hx4c8v88kk0ih8x5s564gsgwwf8n11kryvxm72l1f7isz51fqni"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-futures" ,rust-futures-0.1)
-        ("rust-tokio-executor" ,rust-tokio-executor-0.1))))
-    (home-page "https://github.com/tokio-rs/tokio";)
-    (synopsis
-     "Manage many tasks concurrently on the current thread")
-    (description
-     "Single threaded executor which manage many tasks concurrently on
-the current thread.")
-    (license license:expat)))
-
-;; Cyclic dependency with rust-tokio.
-(define-public rust-tokio-executor-0.1
-  (package
-    (name "rust-tokio-executor")
-    (version "0.1.7")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio-executor" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0pjmgpg58k3hf5q9w6xjljsv8xy66lf734qnfwsc0g3pq3349sl3"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
-        ("rust-futures" ,rust-futures-0.1))
-       #:cargo-development-inputs
-       (("rust-tokio" ,rust-tokio-0.1))))
-    (home-page "https://github.com/tokio-rs/tokio";)
-    (synopsis "Future execution primitives")
-    (description "Future execution primitives.")
-    (license license:expat)))
-
-(define-public rust-tokio-fs-0.1
-  (package
-    (name "rust-tokio-fs")
-    (version "0.1.6")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio-fs" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1bxp8585pi4j5g39ci2gkk99qnyilyhhila7cs8r6scdn0idrriz"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-futures" ,rust-futures-0.1)
-        ("rust-tokio-io" ,rust-tokio-io-0.1)
-        ("rust-tokio-threadpool" ,rust-tokio-threadpool-0.1))
-       #:cargo-development-inputs
-       (("rust-rand" ,rust-rand-0.4)
-        ("rust-tempdir" ,rust-tempdir-0.3)
-        ("rust-tempfile" ,rust-tempfile-3.0)
-        ("rust-tokio" ,rust-tokio-0.1)
-        ("rust-tokio-codec" ,rust-tokio-codec-0.1)
-        ("rust-tokio-io" ,rust-tokio-io-0.1))))
-    (home-page "https://tokio.rs";)
-    (synopsis "Filesystem API for Tokio")
-    (description "Filesystem API for Tokio.")
-    (license license:expat)))
-
-;; Cyclic dependencies with tokio and tokio-current-thread
-(define-public rust-tokio-io-0.1
-  (package
-    (name "rust-tokio-io")
-    (version "0.1.12")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio-io" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "09jrz1hh4h1vj45qy09y7m7m8jsy1hl6g32clnky25mdim3dp42h"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-bytes" ,rust-bytes-0.4)
-        ("rust-futures" ,rust-futures-0.1)
-        ("rust-log" ,rust-log-0.4))
-       #:cargo-development-inputs
-       (("rust-tokio-current-thread" ,rust-tokio-current-thread-0.1))))
-    (home-page "https://tokio.rs";)
-    (synopsis
-     "Core I/O primitives for asynchronous I/O in Rust")
-    (description
-     "Core I/O primitives for asynchronous I/O in Rust.")
-    (license license:expat)))
-
-(define-public rust-tokio-io-pool-0.1
-  (package
-    (name "rust-tokio-io-pool")
-    (version "0.1.6")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio-io-pool" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "17lrjj7lcw13wchpbvr8cynmypd29h40clf9qxabh6fxva40kwm5"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-futures" ,rust-futures-0.1)
-        ("rust-num-cpus" ,rust-num-cpus-1.10)
-        ("rust-tokio" ,rust-tokio-0.1)
-        ("rust-tokio-executor" ,rust-tokio-executor-0.1))
-       #:cargo-development-inputs
-       (("rust-tokio-current-thread" ,rust-tokio-current-thread-0.1))))
-    (home-page "https://github.com/jonhoo/tokio-io-pool";)
-    (synopsis "Execute short, I/O-heavy futures efficiently")
-    (description
-     "Alternative tokio thread pool for executing short, I/O-heavy
-futures efficiently")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-tokio-mock-task-0.1
-  (package
-    (name "rust-tokio-mock-task")
-    (version "0.1.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "tokio-mock-task" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1y7q83qfk9ljjfvs82b453pmz9x1v3d6kr4x55j8mal01s6790dw"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-futures" ,rust-futures-0.1))))
-    (home-page  "https://github.com/carllerche/tokio-mock-task";)
-    (synopsis "Mock a Tokio task")
-    (description "Mock a Tokio task.")
-    (license license:expat)))
-
-(define-public rust-tokio-process-0.2
-  (package
-    (name "rust-tokio-process")
-    (version "0.2.4")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio-process" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1s6vi5n5iax4ksx3bzpfdhfbngj49mvq5n40np1d4aycp3qnxgdg"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-crossbeam-queue" ,rust-crossbeam-queue-0.1)
-        ("rust-futures" ,rust-futures-0.1)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-mio" ,rust-mio-0.6)
-        ("rust-mio-named-pipes" ,rust-mio-named-pipes-0.1)
-        ("rust-tokio-io" ,rust-tokio-io-0.1)
-        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1)
-        ("rust-tokio-signal" ,rust-tokio-signal-0.2)
-        ("rust-winapi" ,rust-winapi-0.3))
-       #:cargo-development-inputs
-       (("rust-failure" ,rust-failure-0.1)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-tokio" ,rust-tokio-0.1))))
-    (home-page "https://github.com/tokio-rs/tokio";)
-    (synopsis
-     "Asynchronous process management backed futures")
-    (description
-     "An implementation of an asynchronous process management backed
-futures.")
-    (license license:expat)))
-
-(define-public rust-tokio-reactor-0.1
-  (package
-    (name "rust-tokio-reactor")
-    (version "0.1.9")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio-reactor" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1khip64cn63xvayq1db68kxcnhgw3cb449a4n2lbw4p1qzx6pwba"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
-        ("rust-futures" ,rust-futures-0.1)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-mio" ,rust-mio-0.6)
-        ("rust-num-cpus" ,rust-num-cpus-1.10)
-        ("rust-parking-lot" ,rust-parking-lot-0.7)
-        ("rust-slab" ,rust-slab-0.4)
-        ("rust-tokio-executor" ,rust-tokio-executor-0.1)
-        ("rust-tokio-io" ,rust-tokio-io-0.1)
-        ("rust-tokio-sync" ,rust-tokio-sync-0.1))
-       #:cargo-development-inputs
-       (("rust-num-cpus" ,rust-num-cpus-1.10)
-        ("rust-tokio" ,rust-tokio-0.1)
-        ("rust-tokio-io-pool" ,rust-tokio-io-pool-0.1))))
-    (home-page "https://tokio.rs";)
-    (synopsis
-     "Event loop that drives Tokio I/O resources")
-    (description
-     "Event loop that drives Tokio I/O resources.")
-    (license license:expat)))
-
-(define-public rust-tokio-signal-0.2
-  (package
-    (name "rust-tokio-signal")
-    (version "0.2.7")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio-signal" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "15l27cvhfcjsahwnm2pgsm0690w0xj1h1sbdl5wy6p50dqkwavfx"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-futures" ,rust-futures-0.1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-mio" ,rust-mio-0.6)
-        ("rust-mio-uds" ,rust-mio-uds-0.6)
-        ("rust-signal-hook" ,rust-signal-hook-0.1)
-        ("rust-tokio-executor" ,rust-tokio-executor-0.1)
-        ("rust-tokio-io" ,rust-tokio-io-0.1)
-        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1)
-        ("rust-winapi" ,rust-winapi-0.3))
-       #:cargo-development-inputs
-       (("rust-tokio" ,rust-tokio-0.1))))
-    (home-page "https://github.com/tokio-rs/tokio";)
-    (synopsis
-     "Asynchronous Unix signal handling backed futures")
-    (description
-     "An implementation of an asynchronous Unix signal handling backed
-futures.")
-    (license license:expat)))
-
-(define-public rust-tokio-sync-0.1
-  (package
-    (name "rust-tokio-sync")
-    (version "0.1.6")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio-sync" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1ryalh7dcmnz46xj1va8aaw3if6vd4mj87r67dqvrqhpyf7j8qi1"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-fnv" ,rust-fnv-1.0)
-        ("rust-futures" ,rust-futures-0.1))
-       #:cargo-development-inputs
-       (("rust-env-logger" ,rust-env-logger-0.6)
-        ("rust-loom" ,rust-loom-0.1)
-        ("rust-tokio" ,rust-tokio-0.1)
-        ("rust-tokio-mock-task" ,rust-tokio-mock-task-0.1))))
-    (home-page "https://tokio.rs";)
-    (synopsis "Synchronization utilities")
-    (description "Synchronization utilities.")
-    (license license:expat)))
-
-(define-public rust-tokio-tcp-0.1
-  (package
-    (name "rust-tokio-tcp")
-    (version "0.1.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio-tcp" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "06a15vg8bcd33ng3h9ldzlq7wl4jsw0p9qpy7v22ls5yah3b250x"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-bytes" ,rust-bytes-0.4)
-        ("rust-futures" ,rust-futures-0.1)
-        ("rust-iovec" ,rust-iovec-0.1)
-        ("rust-mio" ,rust-mio-0.6)
-        ("rust-tokio-io" ,rust-tokio-io-0.1)
-        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1))
-       #:cargo-development-inputs
-       (("rust-env-logger" ,rust-env-logger-0.6)
-        ("rust-tokio" ,rust-tokio-0.1))))
-    (home-page "https://tokio.rs";)
-    (synopsis "TCP bindings for tokio")
-    (description "TCP bindings for tokio.")
-    (license license:expat)))
-
-(define-public rust-tokio-threadpool-0.1
-  (package
-    (name "rust-tokio-threadpool")
-    (version "0.1.14")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio-threadpool" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1wkj3wixicsqvllm8w74b24knw6mdn00zslm8l9fm1p81gr8lmbj"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
-        ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.1)
-        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
-        ("rust-futures" ,rust-futures-0.1)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-num-cpus" ,rust-num-cpus-1.10)
-        ("rust-rand" ,rust-rand-0.4)
-        ("rust-slab" ,rust-slab-0.4)
-        ("rust-tokio-executor" ,rust-tokio-executor-0.1))
-       #:cargo-development-inputs
-       (("rust-env-logger" ,rust-env-logger-0.6)
-        ("rust-futures-cpupool" ,rust-futures-cpupool-0.1)
-        ("rust-threadpool" ,rust-threadpool-1.7))))
-    (home-page "https://github.com/tokio-rs/tokio";)
-    (synopsis
-     "Task scheduler backed by a work-stealing thread pool")
-    (description
-     "This package provides a task scheduler backed by a work-stealing thread
-pool.")
-    (license license:expat)))
-
-(define-public rust-tokio-timer-0.2
-  (package
-    (name "rust-tokio-timer")
-    (version "0.2.11")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio-timer" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "03m68ainkdy3b5pf20rjyknhk2ppx35bjdc2yfj2bv80sl96h47j"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
-        ("rust-futures" ,rust-futures-0.1)
-        ("rust-slab" ,rust-slab-0.4)
-        ("rust-tokio-executor" ,rust-tokio-executor-0.1))
-       #:cargo-development-inputs
-       (("rust-rand" ,rust-rand-0.4)
-        ("rust-tokio" ,rust-tokio-0.1)
-        ("rust-tokio-mock-task" ,rust-tokio-mock-task-0.1))))
-    (home-page "https://github.com/tokio-rs/tokio";)
-    (synopsis "Timer facilities for Tokio")
-    (description "Timer facilities for Tokio.")
-    (license license:expat)))
-
-(define-public rust-tokio-trace-core-0.2
-  (package
-    (name "rust-tokio-trace-core")
-    (version "0.2.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio-trace-core" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "04y6c2r4ddzk02xb3hn60s9a1w92h0g8pzmxwaspqvwmsrba5j59"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1))))
-    (home-page "https://tokio.rs";)
-    (synopsis "Core primitives for tokio-trace")
-    (description "Core primitives for tokio-trace.")
-    (license license:expat)))
-
-(define-public rust-tokio-udp-0.1
-  (package
-    (name "rust-tokio-udp")
-    (version "0.1.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio-udp" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "14kfj35s465czcspayacnzlxrazfvxzhhggq1rqlljhgp1sqa9k6"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-bytes" ,rust-bytes-0.4)
-        ("rust-futures" ,rust-futures-0.1)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-mio" ,rust-mio-0.6)
-        ("rust-tokio-codec" ,rust-tokio-codec-0.1)
-        ("rust-tokio-io" ,rust-tokio-io-0.1)
-        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1))
-       #:cargo-development-inputs
-       (("rust-env-logger" ,rust-env-logger-0.6))))
-    (home-page "https://tokio.rs";)
-    (synopsis "UDP bindings for tokio")
-    (description "UDP bindings for tokio.")
-    (license license:expat)))
-
-(define-public rust-tokio-uds-0.2
-  (package
-    (name "rust-tokio-uds")
-    (version "0.2.5")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "tokio-uds" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0i94kxma6l7iy5hd5k7nvn7v9pnyw0s54bm9mjs0lap1l0xzqzq3"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-bytes" ,rust-bytes-0.4)
-        ("rust-futures" ,rust-futures-0.1)
-        ("rust-iovec" ,rust-iovec-0.1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-mio" ,rust-mio-0.6)
-        ("rust-mio-uds" ,rust-mio-uds-0.6)
-        ("rust-tokio-codec" ,rust-tokio-codec-0.1)
-        ("rust-tokio-io" ,rust-tokio-io-0.1)
-        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1))
-       #:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3.0)
-        ("rust-tokio" ,rust-tokio-0.1))))
-    (home-page "https://github.com/tokio-rs/tokio";)
-    (synopsis "Unix Domain sockets for Tokio")
-    (description "Unix Domain sockets for Tokio.")
-    (license license:expat)))
-
-(define-public rust-toml-0.5
-  (package
-    (name "rust-toml")
-    (version "0.5.6")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "toml" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "06n7j8z63hj6g0kj2x6sqwxnm4q3s0q5d873bdk41vqy1cb2vjgz"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-        (("rust-indexmap" ,rust-indexmap-1.0)
-         ("rust-serde" ,rust-serde-1.0))
-        #:cargo-development-inputs
-        (("rust-serde-derive" ,rust-serde-derive-1.0)
-         ("rust-serde-json" ,rust-serde-json-1.0))))
-    (home-page "https://github.com/alexcrichton/toml-rs";)
-    (synopsis "Rust encoder and decoder of TOML-formatted files and streams")
-    (description
-     "This package provides a native Rust encoder and decoder of TOML-formatted
-files and streams.  Provides implementations of the standard
-Serialize/Deserialize traits for TOML data to facilitate deserializing and
-serializing Rust structures.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-tracing-core-0.1
-  (package
-    (name "rust-tracing-core")
-    (version "0.1.9")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "tracing-core" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0y0rcvvqq89yaiz0qdx88byxgz8j6hsm9slq8d5vvf3jwc8nz90k"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1))))
-    (home-page "https://tokio.rs";)
-    (synopsis "Core primitives for application-level tracing")
-    (description
-     "Core primitives for application-level tracing.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-traitobject-0.1
-  (package
-    (name "rust-traitobject")
-    (version "0.1.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "traitobject" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0yb0n8822mr59j200fyr2fxgzzgqljyxflx9y8bdy3rlaqngilgg"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/reem/rust-traitobject";)
-    (synopsis "Unsafe helpers for dealing with raw trait objects")
-    (description "Unsafe helpers for dealing with raw trait objects.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-try-from-0.3
-  (package
-    (name "rust-try-from")
-    (version "0.3.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "try_from" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "12wdd4ja7047sd3rx70hv2056hyc8gcdllcx3a41g1rnw64kng98"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-cfg-if" ,rust-cfg-if-0.1))))
-    (home-page "https://github.com/derekjw/try_from";)
-    (synopsis "TryFrom and TryInto traits for failable conversions")
-    (description
-     "TryFrom and TryInto traits for failable conversions that return a 
Result.")
-    (license license:expat)))
-
-(define-public rust-try-lock-0.2
-  (package
-    (name "rust-try-lock")
-    (version "0.2.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "try-lock" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "10p36rx6pqi9d0zr876xa8vksx2m66ha45myakl50rn08dxyn176"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/seanmonstar/try-lock";)
-    (synopsis "Lightweight atomic lock")
-    (description
-     "This package provides a lightweight atomic lock.")
-    (license license:expat)))
-
-(define-public rust-trybuild-1.0
-  (package
-    (name "rust-trybuild")
-    (version "1.0.23")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "trybuild" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "080j808nv6nyr1mmw23vwdp4rkk7r38nmms850rih8lsclc1pzr6"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-dissimilar" ,rust-dissimilar-1.0)
-        ("rust-glob" ,rust-glob-0.3)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
-        ("rust-termcolor" ,rust-termcolor-1.0)
-        ("rust-toml" ,rust-toml-0.5))))
-    (home-page "https://github.com/dtolnay/trybuild";)
-    (synopsis "Test harness for ui tests of compiler diagnostics")
-    (description
-     "Test harness for ui tests of compiler diagnostics.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-typeable-0.1
-  (package
-    (name "rust-typeable")
-    (version "0.1.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "typeable" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "11w8dywgnm32hb291izjvh4zjd037ccnkk77ahk63l913zwzc40l"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/reem/rust-typeable";)
-    (synopsis "Exposes Typeable, for getting TypeIds at runtime")
-    (description "Exposes Typeable, for getting TypeIds at runtime.")
-    (license license:expat)))
-
-(define-public rust-typed-arena-1.4
-  (package
-    (name "rust-typed-arena")
-    (version "1.4.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "typed-arena" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1i8yczhwcy0nnrxqck1lql3i7hvg95l0vw0dbgfb92zkms96mh66"))))
-    (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/SimonSapin/rust-typed-arena";)
-    (synopsis "The arena allocator")
-    (description
-     "The arena, a fast but limited type of allocator.")
-    (license license:expat)))
-
-(define-public rust-typemap-0.3
-  (package
-    (name "rust-typemap")
-    (version "0.3.3")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "typemap" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1xm1gbvz9qisj1l6d36hrl9pw8imr8ngs6qyanjnsad3h0yfcfv5"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-unsafe-any" ,rust-unsafe-any-0.4))))
-    (home-page "https://github.com/reem/rust-typemap";)
-    (synopsis "Typesafe store for many value types")
-    (description
-     "A typesafe store for many value types.")
-    (license license:expat)))
-
-(define-public rust-typenum-1.10
-  (package
-    (name "rust-typenum")
-    (version "1.10.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "typenum" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0sc1jirllfhdi52z1xv9yqzxzpk6v7vadd13n7wvs1wnjipn6bb1"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/paholg/typenum";)
-    (synopsis "Rust library for type-level numbers evaluated at compile time")
-    (description "Typenum is a Rust library for type-level numbers evaluated at
-compile time.  It currently supports bits, unsigned integers, and signed
-integers.  It also provides a type-level array of type-level numbers, but its
-implementation is incomplete.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-ucd-parse-0.1
-  (package
-    (name "rust-ucd-parse")
-    (version "0.1.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "ucd-parse" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "13mq6c85r6ak10gjlq74mzdhsi0g0vps2y73by420513gfnipm97"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-regex" ,rust-regex-1.1))))
-    (home-page "https://github.com/BurntSushi/ucd-generate";)
-    (synopsis "Parse data files in the Unicode character database")
-    (description
-     "This package provides a library for parsing data files in the
-Unicode character database.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-ucd-trie-0.1
-  (package
-    (name "rust-ucd-trie")
-    (version "0.1.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "ucd-trie" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1hh6kyzh5xygwy96wfmsf8v8czlzhps2lgbcyhj1xzy1w1xys04g"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1))))
-    (home-page "https://github.com/BurntSushi/ucd-generate";)
-    (synopsis "Trie for storing Unicode codepoint sets and maps")
-    (description
-     "This package provides a trie for storing Unicode codepoint sets and 
maps.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-ucd-util-0.1
-  (package
-    (name "rust-ucd-util")
-    (version "0.1.7")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "ucd-util" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "13ng291mkc9b132jjf4laj76f5nqm5qd2447rm8bry3wxbdc5kaw"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/BurntSushi/ucd-generate";)
-    (synopsis "library for working with the Unicode character database")
-    (description "This package provides a small utility library for working
-with the Unicode character database.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-unchecked-index-0.2
-  (package
-    (name "rust-unchecked-index")
-    (version "0.2.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "unchecked-index" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0p6qcai1mjayx59cpgk27d0zgw9hz9r1ira5jiqil66f4ba8dfpf"))))
-    (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/bluss/unchecked-index";)
-    (synopsis "Unchecked indexing wrapper using regular index syntax")
-    (description
-     "Unchecked indexing wrapper using regular index syntax.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-unicase-2.4
-  (package
-    (name "rust-unicase")
-    (version "2.4.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "unicase" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1xmpmkakhhblq7dzab1kwyv925kv7fqjkjsxjspg6ix9n88makm8"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-version-check" ,rust-version-check-0.1))))
-    (home-page "https://github.com/seanmonstar/unicase";)
-    (synopsis "Case-insensitive wrapper around strings")
-    (description
-     "A case-insensitive wrapper around strings.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-unicase-1
-  (package
-    (inherit rust-unicase-2.4)
-    (name "rust-unicase")
-    (version "1.4.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "unicase" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "0cwazh4qsmm9msckjk86zc1z35xg7hjxjykrgjalzdv367w6aivz"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-heapsize" ,rust-heapsize-0.3)
-        ("rust-heapsize-plugin" ,rust-heapsize-plugin-0.1)
-        ("rust-version-check" ,rust-version-check-0.1))))))
-
-(define-public rust-unicode-bidi-0.3
-  (package
-    (name "rust-unicode-bidi")
-    (version "0.3.4")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "unicode-bidi" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1malx8ljgm7v1gbaazkn7iicy5wj0bwcyadj3l727a38ch6bvwj9"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-flame" ,rust-flame-0.2)
-        ("rust-flamer" ,rust-flamer-0.3)
-        ("rust-matches" ,rust-matches-0.1)
-        ("rust-serde" ,rust-serde-1.0))
-       #:cargo-development-inputs
-       (("rust-serde-test" ,rust-serde-test-1.0))))
-    (home-page "https://github.com/servo/unicode-bidi";)
-    (synopsis "Implementation of the Unicode Bidirectional Algorithm")
-    (description
-     "Implementation of the Unicode Bidirectional Algorithm.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-unicode-normalization-0.1
-  (package
-    (name "rust-unicode-normalization")
-    (version "0.1.8")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "unicode-normalization" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "09i49va90rvia1agvgni4gicnqv50y5zy1naw8mr8bcqifh3j4ql"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-smallvec" ,rust-smallvec-0.6))))
-    (home-page "https://github.com/unicode-rs/unicode-normalization";)
-    (synopsis
-     "This crate provides functions for normalization of Unicode strings")
-    (description
-     "This crate provides functions for normalization of Unicode strings,
-including Canonical and Compatible Decomposition and Recomposition, as
-described in Unicode Standard Annex #15.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-unicode-segmentation-1.6
-  (package
-    (name "rust-unicode-segmentation")
-    (version "1.6.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "unicode-segmentation" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1h7d48mzpi8hwf5cvnq07warkv86pvapzzzf32hvbjsk20yiagp8"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-quickcheck" ,rust-quickcheck-0.7))))
-    (home-page "https://github.com/unicode-rs/unicode-segmentation";)
-    (synopsis "Grapheme Cluster, Word and Sentence boundaries")
-    (description
-     "This crate provides Grapheme Cluster, Word and Sentence
-boundaries according to Unicode Standard Annex #29 rules.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-unicode-segmentation-1.3
-  (package
-    (inherit rust-unicode-segmentation-1.6)
-    (name "rust-unicode-segmentation")
-    (version "1.3.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "unicode-segmentation" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1a9jqg7rb1yq6w2xc9jgxcs111yk5vxm9afjfvykfnrmzk6z8rqr"))))))
-
-(define-public rust-unicode-width-0.1
-  (package
-    (name "rust-unicode-width")
-    (version "0.1.7")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "unicode-width" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0yflmxkxmm89ckrb3sz58whn491aycrj8cxra0hzzlb72x9rvana"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
-        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)
-        ("rust-rustc-std-workspace-std" ,rust-rustc-std-workspace-std-1.0))))
-    (home-page "https://github.com/unicode-rs/unicode-width";)
-    (synopsis "Determine displayed width according to Unicode rules")
-    (description "This crate allows you to determine displayed width of
-@code{char} and @code{str} types according to Unicode Standard Annex #11 
rules.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-unicode-xid-0.2
-  (package
-    (name "rust-unicode-xid")
-    (version "0.2.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "unicode-xid" version))
-        (file-name
-          (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0z09fn515xm7zyr0mmdyxa9mx2f7azcpv74pqmg611iralwpcvl2"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/unicode-rs/unicode-xid";)
-    (synopsis "Determine Unicode XID related properties")
-    (description "Determine whether characters have the XID_Start
-or XID_Continue properties according to Unicode Standard Annex #31.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-unicode-xid-0.1
-  (package
-    (inherit rust-unicode-xid-0.2)
-    (name "rust-unicode-xid")
-    (version "0.1.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "unicode-xid" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw"))))))
-
-(define-public rust-unicode-xid-0.0
-  (package
-    (inherit rust-unicode-xid-0.2)
-    (name "rust-unicode-xid")
-    (version "0.0.4")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "unicode-xid" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1p5l9h3n3i53cp95fb65p8q3vbwib79ryd9z5z5h5kr9gl6qc7wc"))))))
-
-(define-public rust-unindent-0.1
-  (package
-    (name "rust-unindent")
-    (version "0.1.5")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "unindent" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32 "14s97blyqgf9hzxk22iazrghj60midajkw2801dfspz3n2iqmwb3"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/dtolnay/indoc";)
-    (synopsis "Remove a column of leading whitespace from a string")
-    (description "This crate allows you to remove a column of leading
-whitespace from a string.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-unreachable-1.0
-  (package
-    (name "rust-unreachable")
-    (version "1.0.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "unreachable" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0mps2il4xy2mjqc3appas27hhn2xmvixc3bzzhfrjj74gy3i0a1q"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-void" ,rust-void-1.0))))
-    (home-page "https://github.com/reem/rust-unreachable";)
-    (synopsis "Unreachable code optimization hint in rust")
-    (description
-     "This package provides an unreachable code optimization hint in rust.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-unsafe-any-0.4
-  (package
-    (name "rust-unsafe-any")
-    (version "0.4.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "unsafe-any" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0zwwphsqkw5qaiqmjwngnfpv9ym85qcsyj7adip9qplzjzbn00zk"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-traitobject" ,rust-traitobject-0.1))))
-    (home-page "https://tokio.rs";)
-    (synopsis "Traits and implementations for unchecked downcasting")
-    (description
-     "Traits and implementations for unchecked downcasting.")
-    (license license:expat)))
-
-(define-public rust-untrusted-0.7
-  (package
-    (name "rust-untrusted")
-    (version "0.7.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "untrusted" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1kmfykcwif6ashkwg54gcnhxj03kpba2i9vc7z5rpr0xlgvrwdk0"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/briansmith/untrusted";)
-    (synopsis "Zero-allocation parsing of untrusted inputs in Rust")
-    (description
-     "Safe, fast, zero-panic, zero-crashing, zero-allocation parsing of
-untrusted inputs in Rust.")
-    (license license:isc)))
-
-(define-public rust-url-2.1
-  (package
-    (name "rust-url")
-    (version "2.1.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "url" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1jw7cw8br4xvjb92ddrrh1r7jvqhyhiknnnfpgq9np63fs24m7c2"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-idna" ,rust-idna-0.2)
-        ("rust-matches" ,rust-matches-0.1)
-        ("rust-percent-encoding" ,rust-percent-encoding-2.1)
-        ("rust-serde" ,rust-serde-1.0))
-       #:cargo-development-inputs
-       (("rust-bencher" ,rust-bencher-0.1)
-        ("rust-rustc-test" ,rust-rustc-test-0.3)
-        ("rust-serde-json" ,rust-serde-json-1.0))))
-    (home-page "https://github.com/servo/rust-url";)
-    (synopsis "URL library for Rust, based on the WHATWG URL Standard")
-    (description
-     "URL library for Rust, based on the WHATWG URL Standard.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-url-1.7
-  (package
-    (inherit rust-url-2.1)
-    (name "rust-url")
-    (version "1.7.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "url" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0nim1c90mxpi9wgdw2xh8dqd72vlklwlzam436akcrhjac6pqknx"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-encoding" ,rust-encoding-0.2)
-        ("rust-heapsize" ,rust-heapsize-0.4)
-        ("rust-idna" ,rust-idna-0.1)
-        ("rust-matches" ,rust-matches-0.1)
-        ("rust-percent-encoding" ,rust-percent-encoding-1.0)
-        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
-        ("rust-serde" ,rust-serde-1.0))
-       #:cargo-development-inputs
-       (("rust-bencher" ,rust-bencher-0.1)
-        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
-        ("rust-rustc-test" ,rust-rustc-test-0.3)
-        ("rust-serde-json" ,rust-serde-json-1.0))))))
-
-(define-public rust-urlocator-0.1
- (package
-   (name "rust-urlocator")
-   (version "0.1.2")
-   (source
-    (origin
-      (method url-fetch)
-      (uri (crate-uri "urlocator" version))
-      (file-name
-       (string-append name "-" version ".tar.gz"))
-      (sha256
-       (base32
-        "1xzhwmqrqyk8p3s5npqpidrn0gjapqx5fshrx633fk56j7cm8qm1"))))
-   (build-system cargo-build-system)
-   (home-page "https://github.com/chrisduerr/urlocator.git";)
-   (synopsis "Locate URLs in character streams")
-   (description "Locate URLs in character streams.")
-   (license (list license:expat license:asl2.0))))
-
-(define-public rust-user32-sys-0.2
-  (package
-    (name "rust-user32-sys")
-    (version "0.2.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "user32-sys" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0ivxc7hmsxax9crdhxdd1nqwik4s9lhb2x59lc8b88bv20fp3x2f"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-winapi" ,rust-winapi-0.2))
-       #:cargo-development-inputs
-       (("rust-winapi-build" ,rust-winapi-build-0.1))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-cargo-toml
-           (lambda _
-             (substitute* "Cargo.toml"
-               ((", path =.*}") "}"))
-             #t)))))
-    (home-page "https://github.com/retep998/winapi-rs";)
-    (synopsis "Function definitions for the Windows API library user32")
-    (description
-     "Contains function definitions for the Windows API library user32.
-See winapi for types and constants.")
-    (license license:expat)))
-
-(define-public rust-users-0.9
-  (package
-    (name "rust-users")
-    (version "0.9.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "users" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "1kxl3y2hcrqqip7jpqn5mz7xlpbwmmpfmaza0xnyrhx0mrkl4by7"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
-    (home-page "https://github.com/ogham/rust-users";)
-    (synopsis "Library for getting information on Unix users and groups")
-    (description "This package provides a library for getting information on
-Unix users and groups.")
-    (license license:expat)))
-
-(define-public rust-utf-8-0.7
-  (package
-    (name "rust-utf-8")
-    (version "0.7.5")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "utf-8" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1iw5rp4i3mfi9k51picbr5bgjqhjcmnxx7001clh5ydq31y2zr05"))))
-    (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/SimonSapin/rust-utf8";)
-    (synopsis
-     "Incremental, zero-copy UTF-8 decoding with error handling")
-    (description
-     "Incremental, zero-copy UTF-8 decoding with error handling.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-utf8-ranges-1.0
-  (package
-    (name "rust-utf8-ranges")
-    (version "1.0.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "utf8-ranges" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1ppzjsxmv1p1xfid8wwn07ciikk84k30frl28bwsny6za1vall4x"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment-0.3)
-        ("rust-quickcheck" ,rust-quickcheck-0.8))))
-    (home-page "https://github.com/BurntSushi/utf8-ranges";)
-    (synopsis
-     "Convert ranges of Unicode codepoints to UTF-8 byte ranges")
-    (description
-     "Convert ranges of Unicode codepoints to UTF-8 byte ranges.")
-    (license (list license:expat license:unlicense))))
-
-(define-public rust-utf8-ranges-0.1
-  (package
-    (inherit rust-utf8-ranges-1.0)
-    (name "rust-utf8-ranges")
-    (version "0.1.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "utf8-ranges" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "03xf604b2v51ag3jgzw92l97xnb10kw9zv948bhc7ja1ik017jm1"))))
-    (arguments
-     `(#:cargo-development-inputs
-       (("rust-quickcheck" ,rust-quickcheck-0.2))))))
-
-(define-public rust-utf8parse-0.1
-  (package
-    (name "rust-utf8parse")
-    (version "0.1.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "utf8parse" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0zamsj2986shm4x9zncjf2m5qy9scaw7qnxw4f89b2afpg6a8wl7"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/jwilm/vte";)
-    (synopsis "Table-driven UTF-8 parser")
-    (description "This package provides a table-driven UTF-8 parser.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-uuid-0.7
-  (package
-    (name "rust-uuid")
-    (version "0.7.4")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "uuid" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0ank4xk20x3nrz926w8j9mz53bi3v8bykxmhlq2pffa8xc8wdnwh"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-md5" ,rust-md5-0.6)
-        ("rust-rand" ,rust-rand-0.6)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-sha1" ,rust-sha1-0.6)
-        ("rust-slog" ,rust-slog-2.4)
-        ("rust-winapi" ,rust-winapi-0.3))
-       #:cargo-development-inputs
-       (("rust-bincode" ,rust-bincode-1.1)
-        ("rust-serde-derive" ,rust-serde-derive-1.0)
-        ("rust-serde-json" ,rust-serde-json-1.0)
-        ("rust-serde-test" ,rust-serde-test-1.0))))
-    (home-page "https://github.com/uuid-rs/uuid";)
-    (synopsis "Generate and parse UUIDs")
-    (description
-     "This package provides a library to generate and parse UUIDs.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-uuid-0.5
-  (package
-    (inherit rust-uuid-0.7)
-    (name "rust-uuid")
-    (version "0.5.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "uuid" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "08nw3famk1w1zf9ck32pmklk24wd4n4nqnr9wl46qvxak2wf7ixw"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-md5" ,rust-md5-0.3)
-        ("rust-rand" ,rust-rand-0.3)
-        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-sha1" ,rust-sha1-0.2))))))
-
-(define-public rust-vcpkg-0.2
-  (package
-    (name "rust-vcpkg")
-    (version "0.2.8")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "vcpkg" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0s1ijdrsg6917imja2hb07l0z4vbx7ydm8m2i1n9g62fg7r3ki1z"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:tests? #f      ; Tests want mysql, harfbuzz, graphite2.
-       #:cargo-development-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-tempdir" ,rust-tempdir-0.3))))
-    (home-page "https://github.com/mcgoo/vcpkg-rs";)
-    (synopsis "Find native dependencies in a vcpkg tree at build time")
-    (description
-     "This package provides a library to find native dependencies in a
-@code{vcpkg} tree at build time in order to be used in Cargo build scripts.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-vec-map-0.8
-  (package
-    (name "rust-vec-map")
-    (version "0.8.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "vec_map" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "06n8hw4hlbcz328a3gbpvmy0ma46vg1lc0r5wf55900szf3qdiq5"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-serde" ,rust-serde-1.0))))
-    (home-page "https://github.com/contain-rs/vec-map";)
-    (synopsis "Simple map based on a vector for small integer keys")
-    (description
-     "This package provides a simple map based on a vector for small integer 
keys.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-version-check-0.9
-  (package
-    (name "rust-version-check")
-    (version "0.9.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "version_check" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1kikqlnggii1rvnxrbls55sc46lxvinz5k3giscgncjj4p87b1q7"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/SergioBenitez/version_check";)
-    (synopsis "Check that the installed rustc meets some version requirements")
-    (description
-     "This tiny crate checks that the running or installed rustc meets some
-version requirements.  The version is queried by calling the Rust compiler with
-@code{--version}.  The path to the compiler is determined first via the
-@code{RUSTC} environment variable.  If it is not set, then @code{rustc} is 
used.
-If that fails, no determination is made, and calls return None.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-version-check-0.1
-  (package
-    (inherit rust-version-check-0.9)
-    (name "rust-version-check")
-    (version "0.1.5")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "version_check" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1pf91pvj8n6akh7w6j5ypka6aqz08b3qpzgs0ak2kjf4frkiljwi"))))))
-
-(define-public rust-version-sync-0.8
-  (package
-    (name "rust-version-sync")
-    (version "0.8.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "version-sync" version))
-        (file-name
-         (string-append name "-" version ".tar.gz"))
-        (sha256
-         (base32
-          "01pq0ia7ak7d69c3chjgdmaaq271yrspgbzmk6wmrwb74hx3skw4"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-itertools" ,rust-itertools-0.8)
-        ("rust-proc-macro2" ,rust-proc-macro2-0.4)
-        ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.4)
-        ("rust-regex" ,rust-regex-1.1)
-        ("rust-semver-parser" ,rust-semver-parser-0.9)
-        ("rust-syn" ,rust-syn-0.15)
-        ("rust-toml" ,rust-toml-0.5)
-        ("rust-url" ,rust-url-1.7))))
-    (home-page "https://github.com/mgeisler/version-sync";)
-    (synopsis
-     "Ensure that version numbers are updated when the crate version changes")
-    (description
-     "Simple crate for ensuring that version numbers in README files are
-updated when the crate version changes.")
-    (license license:expat)))
-
-(define-public rust-void-1.0
-  (package
-    (name "rust-void")
-    (version "1.0.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "void" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0zc8f0ksxvmhvgx4fdg0zyn6vdnbxd2xv9hfx4nhzg6kbs4f80ka"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/reem/rust-void";)
-    (synopsis "Void type for use in statically impossible cases")
-    (description
-     "The uninhabited void type for use in statically impossible cases.")
-    (license license:expat)))
-
-(define-public rust-vswhom-0.1
-  (package
-    (name "rust-vswhom")
-    (version "0.1.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "vswhom" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "12v0fjjzxdc3y5c0lcwycfhphz7zf2s06hl5krwhawah0xzrp5xy"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-vswhom-sys" ,rust-vswhom-sys-0.1))))
-    (home-page "https://github.com/nabijaczleweli/vswhom.rs";)
-    (synopsis "FFI to Jon Blow's VS discovery script")
-    (description
-     "This package provides a pure FFI to Jon Blow's VS discovery script.")
-    (license license:expat)))
-
-(define-public rust-vswhom-sys-0.1
-  (package
-    (name "rust-vswhom-sys")
-    (version "0.1.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "vswhom-sys" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0clm4dx4amwlhg5lkh52fmvvwq6c7s7b9xqljw39mryhsc158bzw"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-cc" ,rust-cc-1.0))))
-    (home-page "https://github.com/nabijaczleweli/vswhom-sys.rs";)
-    (synopsis "Pure FFI to Jon Blow's VS discovery script")
-    (description
-     "This package provides a pure FFI to Jon Blow's VS discovery script.")
-    (license license:expat)))
-
-(define-public rust-vte-0.3
-  (package
-    (name "rust-vte")
-    (version "0.3.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "vte" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1kz8svnqnxclllsgh0ck20rplw3qzp46b5v30yscnzrgw8vgahjg"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:tests? #f      ; tests not included in release
-       #:cargo-inputs
-       (("rust-utf8parse" ,rust-utf8parse-0.1))))
-    (home-page "https://github.com/jwilm/vte";)
-    (synopsis "Parser for implementing terminal emulators")
-    (description
-     "This package provides a parser for implementing terminal emulators.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-wait-timeout-0.2
-  (package
-    (name "rust-wait-timeout")
-    (version "0.2.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wait-timeout" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1xpkk0j5l9pfmjfh1pi0i89invlavfrd9av5xp0zhxgb29dhy84z"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
-    (home-page "https://github.com/alexcrichton/wait-timeout";)
-    (synopsis "Wait on a child process with a timeout")
-    (description
-     "This package provides a crate to wait on a child process with a timeout
-specified across Unix and Windows platforms.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-walkdir-2.2
-  (package
-    (name "rust-walkdir")
-    (version "2.2.9")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "walkdir" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "07ppalpvxkf8cnqr64np422792y4z5bs9m8b4nrflh5rm17wjn4n"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-same-file" ,rust-same-file-1.0)
-        ("rust-winapi" ,rust-winapi-0.3)
-        ("rust-winapi-util" ,rust-winapi-util-0.1))
-       #:cargo-development-inputs
-       (("rust-doc-comment" ,rust-doc-comment-0.3))))
-    (home-page  "https://github.com/BurntSushi/walkdir";)
-    (synopsis "Recursively walk a directory")
-    (description "Recursively walk a directory.")
-    (license (list license:unlicense
-                   license:expat))))
-
-(define-public rust-walkdir-1.0
-  (package
-    (inherit rust-walkdir-2.2)
-    (name "rust-walkdir")
-    (version "1.0.7")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "walkdir" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1zw8safzqpsrvfn0256cngq2fr9d4lmwv5qb8ycn1f7sf3kgj25v"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
-        ("rust-same-file" ,rust-same-file-0.1)
-        ("rust-winapi" ,rust-winapi-0.2))
-       #:cargo-development-inputs
-       (("rust-docopt" ,rust-docopt-0.7)
-        ("rust-quickcheck" ,rust-quickcheck-0.4)
-        ("rust-rand" ,rust-rand-0.3)
-        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))))
-
-(define-public rust-wasi-0.5
-  (package
-    (name "rust-wasi")
-    (version "0.5.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wasi" version))
-       (file-name
-        (string-append name "-" version ".crate"))
-       (sha256
-        (base32
-         "1ir3pd4phdfml0cbziw9bqp7mnk0vfp9biy8bh25lln6raml4m7x"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/CraneStation/rust-wasi";)
-    (synopsis "Experimental WASI API bindings for Rust")
-    (description "This package contains experimental WASI API bindings
-in Rust.")
-    (license license:asl2.0)))
-
-(define-public rust-wasm-bindgen-0.2
-  (package
-    (name "rust-wasm-bindgen")
-    (version "0.2.58")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wasm-bindgen" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0v31s91andxcj73w63g3fkbw3ld6cfsaa4135qcjna22vypyj1aj"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-      (("rust-cfg-if" ,rust-cfg-if-0.1)
-       ("rust-serde" ,rust-serde-1.0)
-       ("rust-serde-json" ,rust-serde-json-1.0)
-       ("rust-wasm-bindgen-macro" ,rust-wasm-bindgen-macro-0.2))
-      #:cargo-development-inputs
-      (("rust-js-sys" ,rust-js-sys-0.3)
-       ("rust-serde-derive" ,rust-serde-derive-1.0)
-       ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
-       ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)
-       ("rust-wasm-bindgen-test-crate-a"
-        ,rust-wasm-bindgen-test-crate-a-0.1)
-       ("rust-wasm-bindgen-test-crate-b"
-        ,rust-wasm-bindgen-test-crate-b-0.1))))
-    (home-page "https://rustwasm.github.io/";)
-    (synopsis "Easy support for interacting between JS and Rust")
-    (description
-     "Easy support for interacting between JS and Rust.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-wasm-bindgen-backend-0.2
-  (package
-    (name "rust-wasm-bindgen-backend")
-    (version "0.2.58")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wasm-bindgen-backend" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0icskn0qlj30np6x6nbyl1i9dndckx0pczaq69dm42r92rcbkk8i"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-bumpalo" ,rust-bumpalo-3)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0)
-        ("rust-wasm-bindgen-shared" ,rust-wasm-bindgen-shared-0.2))))
-    (home-page "https://rustwasm.github.io/wasm-bindgen/";)
-    (synopsis "Backend code generation of the wasm-bindgen tool")
-    (description
-     "Backend code generation of the wasm-bindgen tool.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-wasm-bindgen-futures-0.4
-  (package
-    (name "rust-wasm-bindgen-futures")
-    (version "0.4.8")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wasm-bindgen-futures" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1n9ma4kinr4w6r2sh4wm04my6p14k1vx3a4vdbn0vd187sgd9gcb"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-cfg-if" ,rust-cfg-if-0.1)
-        ("rust-js-sys" ,rust-js-sys-0.3)
-        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
-        ("rust-web-sys" ,rust-web-sys-0.3))
-       #:cargo-development-inputs
-       (("rust-futures-channel-preview" ,rust-futures-channel-preview-0.3)
-        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
-    (home-page "https://rustwasm.github.io/wasm-bindgen/";)
-    (synopsis
-     "Bridging the gap between Rust Futures and JavaScript Promises")
-    (description
-     "Bridging the gap between Rust Futures and JavaScript Promises.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-wasm-bindgen-futures-0.3
-  (package
-    (inherit rust-wasm-bindgen-futures-0.4)
-    (name "rust-wasm-bindgen-futures")
-    (version "0.3.24")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wasm-bindgen-futures" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0bf9x6qfjczspc4zs605z1n4j15cdd8kk2z7rah0yggw8b6zl5nc"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-futures" ,rust-futures-0.1)
-        ("rust-futures-channel-preview"
-         ,rust-futures-channel-preview-0.3)
-        ("rust-futures-util-preview" ,rust-futures-util-preview-0.3)
-        ("rust-js-sys" ,rust-js-sys-0.3)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
-       #:cargo-development-inputs
-       (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))))
-
-(define-public rust-wasm-bindgen-macro-0.2
-  (package
-    (name "rust-wasm-bindgen-macro")
-    (version "0.2.58")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wasm-bindgen-macro" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1hwxw0nhi2n4izhjn2fvnrrn59xqjxs3ybkgzdv1b4p65ivr8h2p"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:tests? #f      ; 'Async blocks are unstable'
-       #:cargo-inputs
-       (("rust-quote" ,rust-quote-1.0)
-        ("rust-wasm-bindgen-macro-support"
-         ,rust-wasm-bindgen-macro-support-0.2))
-       #:cargo-development-inputs
-       (("rust-trybuild" ,rust-trybuild-1.0)
-        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
-        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4))))
-    (home-page "https://rustwasm.github.io/wasm-bindgen/";)
-    (synopsis "Definition of the @code{#[wasm_bindgen]} attribute")
-    (description
-     "Definition of the @code{#[wasm_bindgen]} attribute, an internal
-dependency.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-wasm-bindgen-macro-support-0.2
-  (package
-    (name "rust-wasm-bindgen-macro-support")
-    (version "0.2.58")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wasm-bindgen-macro-support" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0s3n7v741i4wkzib41m126li40qlhqyirnxpigkypsi59wsk2l78"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0)
-        ("rust-wasm-bindgen-backend" ,rust-wasm-bindgen-backend-0.2)
-        ("rust-wasm-bindgen-shared" ,rust-wasm-bindgen-shared-0.2))))
-    (home-page "https://rustwasm.github.io/wasm-bindgen/";)
-    (synopsis "The @code{#[wasm_bindgen]} macro")
-    (description
-     "The part of the implementation of the @code{#[wasm_bindgen]}
-attribute that is not in the shared backend crate.")
-    (license (list license:asl2.0 license:expat))))
-
-(define-public rust-wasm-bindgen-shared-0.2
-  (package
-    (name "rust-wasm-bindgen-shared")
-    (version "0.2.58")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "wasm-bindgen-shared" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "00cnbabf4k9bahb217vkilmjwqwzpwp112vlvgfw1x19r4gydrzm"))))
-    (build-system cargo-build-system)
-    ;(arguments '(#:skip-build? #t))
-    (home-page "https://rustwasm.github.io/wasm-bindgen/";)
-    (synopsis "Shared support between wasm-bindgen and wasm-bindgen cli")
-    (description "This package provides shared support between
-@code{wasm-bindgen} and @code{wasm-bindgen} cli, an internal dependency.")
-    (license (list license:asl2.0
-                   license:expat))))
-
-(define-public rust-wasm-bindgen-test-0.3
-  (package
-    (name "rust-wasm-bindgen-test")
-    (version "0.3.8")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wasm-bindgen-test" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0bn833hghwbcg9cqz1bx9biq271bc4jcbgn2nqk1fkf4ab1hxzcq"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-console-error-panic-hook" ,rust-console-error-panic-hook-0.1)
-        ("rust-js-sys" ,rust-js-sys-0.3)
-        ("rust-scoped-tls" ,rust-scoped-tls-1.0)
-        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
-        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
-        ("rust-wasm-bindgen-test-macro" ,rust-wasm-bindgen-test-macro-0.3))))
-    (home-page "https://github.com/rustwasm/wasm-bindgen";)
-    (synopsis
-     "Internal testing crate for wasm-bindgen")
-    (description
-     "Internal testing crate for wasm-bindgen.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-wasm-bindgen-test-0.2
-  (package
-    (inherit rust-wasm-bindgen-test-0.3)
-    (name "rust-wasm-bindgen-test")
-    (version "0.2.48")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wasm-bindgen-test" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0gwslc2sfkghzzb3r0gvd8i5rig2nlqgpl1rn43y2w4mr1ci494k"))))
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-console-error-panic-hook" ,rust-console-error-panic-hook-0.1)
-        ("rust-futures" ,rust-futures-0.1)
-        ("rust-js-sys" ,rust-js-sys-0.3)
-        ("rust-scoped-tls" ,rust-scoped-tls-1.0)
-        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
-        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.3)
-        ("rust-wasm-bindgen-test-macro" ,rust-wasm-bindgen-test-macro-0.2))))))
-
-(define-public rust-wasm-bindgen-test-crate-a-0.1
-  (package
-    (name "rust-wasm-bindgen-test-crate-a")
-    (version "0.1.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wasm-bindgen-test-crate-a" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "06l9rcxykg2vnp706a6axchjp6lh9ym1awwyyxzmbkv410kqwvsp"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
-    (home-page "https://github.com/rustwasm/wasm-bindgen";)
-    (synopsis "Internal test crate for wasm-bindgen")
-    (description
-     "Internal test crate for wasm-bindgen.")
-    (license license:expat)))
-
-(define-public rust-wasm-bindgen-test-crate-b-0.1
-  (package
-    (name "rust-wasm-bindgen-test-crate-b")
-    (version "0.1.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wasm-bindgen-test-crate-b" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "16p3gx9vhngdf236zxx2qijqx5sq0lid25j8wy6j522ybxs4vbh8"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
-    (home-page "https://github.com/rustwasm/wasm-bindgen";)
-    (synopsis "Internal test crate for wasm-bindgen")
-    (description
-     "Internal test crate for wasm-bindgen.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-wasm-bindgen-test-macro-0.3
-  (package
-    (name "rust-wasm-bindgen-test-macro")
-    (version "0.3.8")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wasm-bindgen-test-macro" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0kybf3shpp8ysz4v4j259d7vad9kw5bs4i4dlfrs895bhdp7m0wp"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0))))
-    (home-page "https://github.com/rustwasm/wasm-bindgen";)
-    (synopsis "Internal testing macro for wasm-bindgen")
-    (description
-     "This library contains the internal testing macro for wasm-bindgen.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-wasm-bindgen-test-macro-0.2
-  (package
-    (inherit rust-wasm-bindgen-test-macro-0.3)
-    (name "rust-wasm-bindgen-test-macro")
-    (version "0.2.50")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "wasm-bindgen-test-macro" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "19bvmw8mqlwh6wkbzgs3cnlkywrv8q2kkqggz6y0p158930xm287"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
-        ("rust-quote" ,rust-quote-0.6))))))
-
-(define-public rust-wasm-bindgen-webidl-0.2
-  (package
-    (name "rust-wasm-bindgen-webidl")
-    (version "0.2.58")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wasm-bindgen-webidl" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0pcpaw8w3xgfrg9y24ljrsl2bkidgdaaz3ka2bgk417wjc6jl0gg"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-anyhow" ,rust-anyhow-1.0)
-        ("rust-heck" ,rust-heck-0.3)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-        ("rust-quote" ,rust-quote-1.0)
-        ("rust-syn" ,rust-syn-1.0)
-        ("rust-wasm-bindgen-backend" ,rust-wasm-bindgen-backend-0.2)
-        ("rust-weedle" ,rust-weedle-0.10))))
-    (home-page "https://rustwasm.github.io/wasm-bindgen/";)
-    (synopsis "Support for parsing WebIDL specific to wasm-bindgen")
-    (description
-     "Support for parsing WebIDL specific to wasm-bindgen.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-wayland-client-0.23
-  (package
-    (name "rust-wayland-client")
-    (version "0.23.6")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wayland-client" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1nmw2kz70llc5mxwzg6bglnqy0qnyr9224zjmq9czazgw3mq045g"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-calloop" ,rust-calloop-0.4)
-        ("rust-downcast-rs" ,rust-downcast-rs-1.1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-mio" ,rust-mio-0.6)
-        ("rust-nix" ,rust-nix-0.14)
-        ("rust-wayland-commons" ,rust-wayland-commons-0.23)
-        ("rust-wayland-sys" ,rust-wayland-sys-0.23)
-        ("rust-wayland-scanner" ,rust-wayland-scanner-0.23))
-       #:cargo-development-inputs
-       (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-tempfile" ,rust-tempfile-3.1))))
-    (home-page "https://github.com/smithay/wayland-rs";)
-    (synopsis
-     "Rust bindings to the standard C implementation of the wayland protocol")
-    (description
-     "This package provides Rust bindings to the standard C implementation of
-the wayland protocol, client side.")
-    (license license:expat)))
-
-(define-public rust-wayland-client-0.21
-  (package
-    (inherit rust-wayland-client-0.23)
-    (name "rust-wayland-client")
-    (version "0.21.13")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wayland-client" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "04r7dy074hhdalsi1day482wvmczr40hg7qvrnzkgxpakrgkx5j9"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-calloop" ,rust-calloop-0.4)
-        ("rust-downcast-rs" ,rust-downcast-rs-1.1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-mio" ,rust-mio-0.6)
-        ("rust-nix" ,rust-nix-0.14)
-        ("rust-wayland-commons" ,rust-wayland-commons-0.21)
-        ("rust-wayland-sys" ,rust-wayland-sys-0.21)
-        ("rust-wayland-scanner" ,rust-wayland-scanner-0.21))
-       #:cargo-development-inputs
-       (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-tempfile" ,rust-tempfile-3.1))))))
-
-(define-public rust-wayland-commons-0.23
-  (package
-    (name "rust-wayland-commons")
-    (version "0.23.6")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wayland-commons" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1nyvcs6xxxzqgh0wvc7z0fgi89bf3h9p4qrbf77bnfbwlb8v0rmv"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-nix" ,rust-nix-0.14)
-        ("rust-wayland-sys" ,rust-wayland-sys-0.23))))
-    (home-page "https://github.com/smithay/wayland-rs";)
-    (synopsis
-     "Common types and structures used by wayland-client and wayland-server")
-    (description
-     "Common types and structures used by wayland-client and wayland-server.")
-    (license license:expat)))
-
-(define-public rust-wayland-commons-0.21
-  (package
-    (inherit rust-wayland-commons-0.23)
-    (name "rust-wayland-commons")
-    (version "0.21.13")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wayland-commons" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1v1jpcsnn6cwwy5ii5pdl58i6b9slmi8mn4my4fpwrlbfsb8ih20"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-nix" ,rust-nix-0.14)
-        ("rust-wayland-sys" ,rust-wayland-sys-0.21))))))
-
-(define-public rust-wayland-protocols-0.23
-  (package
-    (name "rust-wayland-protocols")
-    (version "0.23.6")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wayland-protocols" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1ygwbzqlnks5xzafka3c8ag6k92g2h6ygj2xsmvjfx2n6rj8dhkc"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-wayland-client" ,rust-wayland-client-0.23)
-        ("rust-wayland-commons" ,rust-wayland-commons-0.23)
-        ("rust-wayland-server" ,rust-wayland-server-0.23)
-        ("rust-wayland-scanner" ,rust-wayland-scanner-0.23))))
-    (home-page "https://github.com/smithay/wayland-rs";)
-    (synopsis
-     "Generated API for the officials wayland protocol extensions")
-    (description
-     "Generated API for the officials wayland protocol extensions.")
-    (license license:expat)))
-
-(define-public rust-wayland-protocols-0.21
-  (package
-    (inherit rust-wayland-protocols-0.23)
-    (name "rust-wayland-protocols")
-    (version "0.21.13")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wayland-protocols" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0i91yh3nxk9llhly2ly3nvlfx0lbpvyq919cgmnyx3j25bmf5zaa"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-wayland-client" ,rust-wayland-client-0.21)
-        ("rust-wayland-commons" ,rust-wayland-commons-0.21)
-        ("rust-wayland-server" ,rust-wayland-server-0.21)
-        ("rust-wayland-sys" ,rust-wayland-sys-0.21)
-        ("rust-wayland-scanner" ,rust-wayland-scanner-0.21))))))
-
-(define-public rust-wayland-scanner-0.23
-  (package
-    (name "rust-wayland-scanner")
-    (version "0.23.6")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wayland-scanner" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0g8wcphykjrcpslznyi3qccx1pckw97rckq5b295nfbg6r3j5c4k"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
-        ("rust-quote" ,rust-quote-0.6)
-        ("rust-xml-rs" ,rust-xml-rs-0.8))))
-    (home-page "https://github.com/smithay/wayland-rs";)
-    (synopsis
-     "Wayland Scanner for generating rust APIs from XML wayland protocol 
files")
-    (description
-     "Wayland Scanner for generating rust APIs from XML wayland protocol files.
-Intented for use with wayland-sys.  You should only need this crate if
-you are working on custom wayland protocol extensions.
-Look at the crate wayland-client for usable bindings.")
-    (license license:expat)))
-
-(define-public rust-wayland-scanner-0.21
-  (package
-    (inherit rust-wayland-scanner-0.23)
-    (name "rust-wayland-scanner")
-    (version "0.21.13")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wayland-scanner" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "17mp49v7w0p0x5ry628lj2llljnwkr9aj9g4bqqhfibid32jhf5z"))))))
-
-(define-public rust-wayland-server-0.23
-  (package
-    (name "rust-wayland-server")
-    (version "0.23.6")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wayland-server" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1ccsalq6gnf07klnbjx2dxcbibhw03rqsgi578p913s3zsjlcg8a"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-calloop" ,rust-calloop-0.4)
-        ("rust-downcast-rs" ,rust-downcast-rs-1.1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-mio" ,rust-mio-0.6)
-        ("rust-nix" ,rust-nix-0.14)
-        ("rust-wayland-commons" ,rust-wayland-commons-0.23)
-        ("rust-wayland-sys" ,rust-wayland-sys-0.23)
-        ("rust-wayland-scanner" ,rust-wayland-scanner-0.23))))
-    (home-page "https://github.com/smithay/wayland-rs";)
-    (synopsis
-     "Bindings to the standard C implementation of the wayland protocol")
-    (description
-     "This package provides Rust bindings to the standard C implementation of
-the wayland protocol, server side.")
-    (license license:expat)))
-
-(define-public rust-wayland-server-0.21
-  (package
-    (inherit rust-wayland-server-0.23)
-    (name "rust-wayland-server")
-    (version "0.21.13")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wayland-server" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0ayn4wlrpg0fw04prri9awpkjvbzjil0d3l3a8zs9pdbnspvw6ah"))))
-    (arguments
-     `(#:cargo-inputs
-       (("rust-bitflags" ,rust-bitflags-1)
-        ("rust-calloop" ,rust-calloop-0.4)
-        ("rust-downcast-rs" ,rust-downcast-rs-1.1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-mio" ,rust-mio-0.6)
-        ("rust-nix" ,rust-nix-0.14)
-        ("rust-wayland-commons" ,rust-wayland-commons-0.21)
-        ("rust-wayland-sys" ,rust-wayland-sys-0.21)
-        ("rust-wayland-scanner" ,rust-wayland-scanner-0.21))))))
-
-(define-public rust-wayland-sys-0.23
-  (package
-    (name "rust-wayland-sys")
-    (version "0.23.6")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wayland-sys" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1x2qafvj8hd2x5qfaan2dfpw9amg0f5g9sqrkdy7qvbddsl8jknr"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-dlib" ,rust-dlib-0.4)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-libc" ,rust-libc-0.2))))
-    (home-page "https://github.com/smithay/wayland-rs";)
-    (synopsis "FFI bindings to the various libwayland-*.so libraries")
-    (description
-     "FFI bindings to the various libwayland-*.so libraries.
-You should only need this crate if you are working on custom wayland
-protocol extensions.  Look at the crate wayland-client for usable bindings.")
-    (license license:expat)))
-
-(define-public rust-wayland-sys-0.21
-  (package
-    (inherit rust-wayland-sys-0.23)
-    (name "rust-wayland-sys")
-    (version "0.21.13")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "wayland-sys" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0a0ndgkg98pvmkv44yya4f7mxzjaxylknqh64bpa05w0azyv02jj"))))))
-
-(define-public rust-web-sys-0.3
-  (package
-    (name "rust-web-sys")
-    (version "0.3.35")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "web-sys" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0fzmxcyahy3ghl8lkjkchj9krmnr56shvbqgr7db3hm8dappryda"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-js-sys" ,rust-js-sys-0.3)
-        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
-        ("rust-anyhow" ,rust-anyhow-1.0)
-        ("rust-env-logger" ,rust-env-logger-0.7)
-        ("rust-sourcefile" ,rust-sourcefile-0.1)
-        ("rust-wasm-bindgen-webidl" ,rust-wasm-bindgen-webidl-0.2))
-       #:cargo-development-inputs
-       (("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
-        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
-    (home-page "https://rustwasm.github.io/wasm-bindgen/web-sys/index.html";)
-    (synopsis
-     "Bindings for all Web APIs, a procedurally generated crate from WebIDL")
-    (description
-     "Bindings for all Web APIs, a procedurally generated crate from WebIDL.")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-weedle-0.10
-  (package
-    (name "rust-weedle")
-    (version "0.10.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "weedle" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0r0i2kllvkn9jil6cjzxdi1zsc6p1gjyk751w8lyclaii1q3zd1v"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "scan_fmt" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "1gmaa07z8bkkdv5xhq2lrgml6ri7fqyyrjpiks3phmpmq3p8d0i4"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs (("rust-nom" ,rust-nom-4.2))))
-    (home-page "https://github.com/rustwasm/weedle";)
-    (synopsis "WebIDL Parser")
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-regex" ,rust-regex-1.3))))
+    (home-page "https://github.com/wlentz/scan_fmt";)
+    (synopsis "A simple scanf()-like input for Rust")
     (description
-     "This package provides a WebIDL Parser.")
+      "This package provides a simple scanf()-like input for Rust")
     (license license:expat)))
 
-(define-public rust-which-2.0
+(define-public rust-schannel-0.1
   (package
-    (name "rust-which")
-    (version "2.0.1")
+    (name "rust-schannel")
+    (version "0.1.16")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "which" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0r7i793sc0xqnd2fxnqbksj7j1kx65bwn81b8z49750v4c8cnymm"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "schannel" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "08d0p5iy574vdrax4l3laazic0crj7rp7vp3if5rrfkcdfq51xc7"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-failure" ,rust-failure-0.1)
-        ("rust-libc" ,rust-libc-0.2))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir-0.3))))
-    (home-page "https://github.com/harryfei/which-rs";)
-    (synopsis "Rust equivalent of Unix command \"which\"")
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/steffengy/schannel-rs";)
+    (synopsis "Rust bindings to the Windows SChannel APIs")
     (description
-     "This package provides a Rust equivalent of Unix command \"which\".
-Locate installed executable in cross platforms.")
+     "Rust bindings to the Windows SChannel APIs providing TLS client and
+server functionality.")
     (license license:expat)))
 
-(define-public rust-which-1.0
-  (package
-    (inherit rust-which-2.0)
-    (name "rust-which")
-    (version "1.0.5")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "which" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1cjwa57kzfgzs681a27m5pjmq580pv3hkcg23smf270bgqz60jp8"))))
-    (arguments
-     `(#:tests? #f
-       #:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2))
-       #:cargo-development-inputs
-       (("rust-tempdir" ,rust-tempdir-0.3))))))
-
-(define-public rust-widestring-0.4
+(define-public rust-scoped-threadpool-0.1
   (package
-    (name "rust-widestring")
-    (version "0.4.0")
+    (name "rust-scoped-threadpool")
+    (version "0.1.9")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "widestring" version))
+        (uri (crate-uri "scoped_threadpool" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1dhx6dndjsz1y7c9w06922412kdxyrrkqblvggm76mh8z17hxz7g"))))
+          "1a26d3lk40s9mrf4imhbik7caahmw2jryhhb6vqv6fplbbgzal8x"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-development-inputs
-       (("rust-winapi" ,rust-winapi-0.3))))
-    (home-page "https://github.com/starkat99/widestring-rs";)
-    (synopsis "Wide string Rust FFI library")
+       (("rust-lazy-static" ,rust-lazy-static-1))))
+    (home-page "https://github.com/Kimundi/scoped-threadpool-rs";)
+    (synopsis "Library for scoped and cached threadpools")
     (description
-     "A wide string Rust FFI library for converting to and from wide strings,
-such as those often used in Windows API or other FFI libraries.  Both UTF-16 
and
-UTF-32 types are provided, including support for malformed encoding.")
+     "This crate provides a stable, safe and scoped threadpool.  It can be used
+to execute a number of short-lived jobs in parallel without the need to respawn
+the underlying threads.  Jobs are runnable by borrowing the pool for a given
+scope, during which an arbitrary number of them can be executed.  These jobs 
can
+access data of any lifetime outside of the pools scope, which allows working on
+non-'static references in parallel.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-winapi-0.3
+(define-public rust-scoped-tls-1.0
   (package
-    (name "rust-winapi")
-    (version "0.3.8")
+    (name "rust-scoped-tls")
+    (version "1.0.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "winapi" version))
+        (uri (crate-uri "scoped-tls" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0"))))
+          "1hj8lifzvivdb1z02lfnzkshpvk85nkgzxsy2hc0zky9wf894spa"))))
     (build-system cargo-build-system)
-    ;; This package depends unconditionally on these two crates.
-    (arguments
-     `(#:cargo-inputs
-       (("winapi-i686-pc-windows-gnu" ,rust-winapi-i686-pc-windows-gnu-0.4)
-        ("winapi-x86-64-pc-windows-gnu" 
,rust-winapi-x86-64-pc-windows-gnu-0.4))))
-    (home-page "https://github.com/retep998/winapi-rs";)
-    (synopsis "Raw FFI bindings for all of Windows API")
-    (description
-     "Raw FFI bindings for all of Windows API.")
+    (arguments '(#:skip-build? #t))
+    (home-page "https://github.com/alexcrichton/scoped-tls";)
+    (synopsis "Rust library providing the old standard library's 
scoped_thread_local")
+    (description "This crate provides a library implementation of the standard
+library's old @code{scoped_thread_local!} macro for providing scoped access to
+@dfn{thread local storage} (TLS) so any type can be stored into TLS.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-winapi-0.2
-  (package
-    (inherit rust-winapi-0.3)
-    (name "rust-winapi")
-    (version "0.2.8")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "winapi" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n"))))
-    (arguments '(#:skip-build? #t))))
-
-(define-public rust-winapi-build-0.1
+(define-public rust-scoped-tls-0.1
   (package
-    (name "rust-winapi-build")
-    (version "0.1.1")
+    (inherit rust-scoped-tls-1.0)
+    (name "rust-scoped-tls")
+    (version "0.1.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "winapi-build" version))
+        (uri (crate-uri "scoped-tls" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/retep998/winapi-rs";)
-    (synopsis "Common code for build.rs in WinAPI -sys crates")
-    (description
-     "Common code for build.rs in WinAPI -sys crates.")
-    (license license:expat)))
+          "0a2bn9d2mb07c6l16sadijy4p540g498zddfxyiq4rsqpwrglbrk"))))))
 
-(define-public rust-winapi-i686-pc-windows-gnu-0.4
+(define-public rust-scopeguard-1.0
   (package
-    (name "rust-winapi-i686-pc-windows-gnu")
-    (version "0.4.0")
+    (name "rust-scopeguard")
+    (version "1.0.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "winapi-i686-pc-windows-gnu" version))
+        (uri (crate-uri "scopeguard" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc"))))
+          "03aay84r1f6w87ckbpj6cc4rnsxkxcfs13n5ynxjia0qkgjiabml"))))
     (build-system cargo-build-system)
-    (home-page "https://github.com/retep998/winapi-rs";)
-    (synopsis "Import libraries for the i686-pc-windows-gnu target")
-    (description "This crate provides import libraries for the
-i686-pc-windows-gnu target.  Please don't use this crate directly, depend on
-@code{winapi} instead.")
+    (arguments '(#:skip-build? #t))
+    (home-page "https://github.com/bluss/scopeguard";)
+    (synopsis "Scope guard which will run a closure even out of scope")
+    (description "This package provides a RAII scope guard that will run a
+given closure when it goes out of scope, even if the code between panics
+(assuming unwinding panic).  Defines the macros @code{defer!},
+@code{defer_on_unwind!}, @code{defer_on_success!} as shorthands for guards
+with one of the implemented strategies.")
     (license (list license:asl2.0
                    license:expat))))
 
-(define-public rust-winapi-util-0.1
-  (package
-    (name "rust-winapi-util")
-    (version "0.1.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "winapi-util" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1j839dc6y8vszvrsb7yk0qvs0w6asnahxzbyans37vnsw6vbls3i"))))
-    (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs (("rust-winapi" ,rust-winapi-0.3))))
-    (home-page "https://github.com/BurntSushi/winapi-util";)
-    (synopsis "Dumping ground for high level safe wrappers over winapi")
-    (description
-     "This package provides a dumping ground for high level safe wrappers over
-winapi.")
-    (license (list license:unlicense
-                   license:expat))))
-
-(define-public rust-winapi-x86-64-pc-windows-gnu-0.4
+(define-public rust-scopeguard-0.3
   (package
-    (name "rust-winapi-x86-64-pc-windows-gnu")
-    (version "0.4.0")
+    (inherit rust-scopeguard-1.0)
+    (name "rust-scopeguard")
+    (version "0.3.3")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "winapi-x86_64-pc-windows-gnu" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "scopeguard" version))
+        (file-name
+          (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"))))
-    (build-system cargo-build-system)
-    (home-page "https://github.com/retep998/winapi-rs";)
-    (synopsis "Import libraries for the x86_64-pc-windows-gnu target")
-    (description "This package provides import libraries for the
-x86_64-pc-windows-gnu target.  Please don't use this crate directly, depend on
-@code{winapi} instead.")
-    (license (list license:asl2.0
-                   license:expat))))
+          "09sy9wbqp409pkwmqni40qmwa99ldqpl48pp95m1xw8sc19qy9cl"))))))
 
-(define-public rust-wincolor-1.0
+(define-public rust-scroll-0.10
   (package
-    (name "rust-wincolor")
-    (version "1.0.2")
+    (name "rust-scroll")
+    (version "0.10.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "wincolor" version))
-        (file-name (string-append name "-" version ".crate"))
+        (uri (crate-uri "scroll" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "1agaf3hcav113i86912ajnw6jxcy4rvkrgyf8gdj8kc031mh3xcn"))))
+          (base32
+            "1cbcns8538sqmfnmdbphqy0fd4j8z75z802pvmz3zlwmnln37cmb"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-winapi" ,rust-winapi-0.3)
-        ("rust-winapi-util" ,rust-winapi-util-0.1))))
-    (home-page "https://github.com/BurntSushi/termcolor/tree/master/wincolor";)
-    (synopsis "Windows API for controlling text color in a Windows console")
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-scroll-derive" ,rust-scroll-derive-0.10))))
+    (home-page "https://github.com/m4b/scroll";)
+    (synopsis
+      "A suite of powerful, extensible, generic, endian-aware Read/Write 
traits for byte buffers")
     (description
-     "This package provides a simple Windows specific API for controlling text
-color in a Windows console.")
-    (license (list license:unlicense
-                   license:expat))))
+      "This package provides a suite of powerful, extensible, generic, 
endian-aware Read/Write traits for byte buffers")
+    (license license:expat)))
 
-(define-public rust-winit-0.20
+(define-public rust-scroll-0.9
   (package
-    (name "rust-winit")
-    (version "0.20.0-alpha6")
+    (name "rust-scroll")
+    (version "0.9.2")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "winit" version))
+       (uri (crate-uri "scroll" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1g5cchl97zcg525j6jdr77yby8cmhwv1qqwcd3sf4l4zl263195z"))
-       (patches
-         (list
-           (origin
-             (method url-fetch)
-             (uri 
"https://github.com/rust-windowing/winit/commit/d1c6506865c7bddbb5fb4d80a613e43ddc1370b5.patch";)
-             (file-name (string-append name "-fix-bindings.patch"))
-             (sha256
-              (base32
-               "03q4bvdq86kii53d0vsywv08g8vqirf9h1lz2cl6rcc7gjfynpds")))))))
+         "10q3w86bn22xrjlfg1c90dfi9c26qjkzn26nad0i9z8pxwad311g"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-android-glue" ,rust-android-glue-0.2)
-        ("rust-bitflags" ,rust-bitflags-1)
-        ("rust-calloop" ,rust-calloop-0.4)
-        ("rust-cocoa" ,rust-cocoa-0.19)
-        ("rust-core-foundation" ,rust-core-foundation-0.6)
-        ("rust-core-graphics" ,rust-core-graphics-0.17)
-        ("rust-core-video-sys" ,rust-core-video-sys-0.1)
-        ("rust-dispatch" ,rust-dispatch-0.1)
-        ("rust-instant" ,rust-instant-0.1)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-objc" ,rust-objc-0.2)
-        ("rust-parking-lot" ,rust-parking-lot-0.10)
-        ("rust-percent-encoding" ,rust-percent-encoding-2.1)
-        ("rust-raw-window-handle" ,rust-raw-window-handle-0.3)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6)
-        ("rust-stdweb" ,rust-stdweb-0.4)
-        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
-        ("rust-wayland-client" ,rust-wayland-client-0.23)
-        ("rust-web-sys" ,rust-web-sys-0.3)
-        ("rust-winapi" ,rust-winapi-0.3)
-        ("rust-x11-dl" ,rust-x11-dl-2))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-scroll-derive" ,rust-scroll-derive-0.9)
+        ("rust-rustc-version" ,rust-rustc-version-0.2))
        #:cargo-development-inputs
-       (("rust-console-log" ,rust-console-log-0.1)
-        ("rust-env-logger" ,rust-env-logger-0.5)
-        ("rust-image" ,rust-image-0.21))))
-    (home-page "https://github.com/rust-windowing/winit";)
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-rayon" ,rust-rayon-1.1))))
+    (home-page "https://github.com/m4b/scroll";)
+    (synopsis "Read/Write traits for byte buffers")
+    (description
+     "This package provides a suite of powerful, extensible, generic,
+endian-aware Read/Write traits for byte buffers.")
+    (license license:expat)))
+
+(define-public rust-scroll-derive-0.10
+  (package
+    (name "rust-scroll-derive")
+    (version "0.10.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "scroll_derive" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0a7f0xybi27p1njs4bqmxh9zyb2dqal4dbvgnhjjix4zkgm4wn7q"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build?
+        #t
+        #:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+         ("rust-syn" ,rust-syn-1.0)
+         ("rust-quote" ,rust-quote-1.0))))
+    (home-page "https://github.com/m4b/scroll";)
     (synopsis
-     "Cross-platform window creation library")
+      "A macros 1.1 derive implementation for Pread and Pwrite traits from the 
scroll crate")
     (description
-     "Cross-platform window creation library.")
-    (license license:asl2.0)))
+      "This package provides a macros 1.1 derive implementation for Pread and 
Pwrite traits from the scroll crate")
+    (license license:expat)))
 
-(define-public rust-winit-0.19
+(define-public rust-scroll-derive-0.9
   (package
-    (inherit rust-winit-0.20)
-    (name "rust-winit")
-    (version "0.19.5")
+    (name "rust-scroll-derive")
+    (version "0.9.5")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "winit" version))
+       (uri (crate-uri "scroll_derive" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1a4lnfyvlc4jabhs30wlmkgdjv7qhbplmyp833kl7ykjni5yp5hy"))))
+         "1jqg5mm8nvii6avl1z1rc89agzh2kwkppgpsnwfakxg78mnaj6lg"))))
+    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-android-glue" ,rust-android-glue-0.2)
-        ("rust-backtrace" ,rust-backtrace-0.3)
-        ("rust-bitflags" ,rust-bitflags-1)
-        ("rust-cocoa" ,rust-cocoa-0.18)
-        ("rust-core-foundation" ,rust-core-foundation-0.6)
-        ("rust-core-graphics" ,rust-core-graphics-0.17)
-        ("rust-image" ,rust-image-0.21)
-        ("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-objc" ,rust-objc-0.2)
-        ("rust-parking-lot" ,rust-parking-lot-0.9)
-        ("rust-percent-encoding" ,rust-percent-encoding-2.1)
-        ("rust-raw-window-handle" ,rust-raw-window-handle-0.3)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.4)
-        ("rust-wayland-client" ,rust-wayland-client-0.21)
-        ("rust-winapi" ,rust-winapi-0.3)
-        ("rust-x11-dl" ,rust-x11-dl-2))))))
+       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-quote" ,rust-quote-0.6)
+        ("rust-syn" ,rust-syn-0.15))
+       #:cargo-development-inputs
+       (("rust-scroll" ,rust-scroll-0.9))))
+    (home-page "https://github.com/m4b/scroll_derive";)
+    (synopsis "Derive Pread and Pwrite traits from the scroll crate")
+    (description
+     "This package provides a macros 1.1 derive implementation for Pread and
+Pwrite traits from the scroll crate.")
+    (license license:expat)))
 
-(define-public rust-winpty-sys-0.4
+(define-public rust-seahash-3.0
   (package
-    (name "rust-winpty-sys")
-    (version "0.4.3")
+    (name "rust-seahash")
+    (version "3.0.7")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "winpty-sys" version))
+       (uri (crate-uri "seahash" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0s5m2vvlw7wphc466s47zfmp08zk00wzj999l1w3ajqlxbnfgb9x"))))
+         "0iqg12lxkn0ivsfa1gkylcwj5wmi6zl87mbizlrkg918s6hprxaq"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-bindgen" ,rust-bindgen-0.33)
-        ("rust-cc" ,rust-cc-1.0))))
-    (home-page "https://github.com/rprichard/winpty";)
-    (synopsis "Rust winpty bindings")
-    (description "Rust winpty bindings.")
+    (home-page
+     "https://gitlab.redox-os.org/redox-os/seahash";)
+    (synopsis
+     "Hash function with proven statistical guarantees")
+    (description
+     "This package provides a blazingly fast, portable hash function with
+proven statistical guarantees.")
     (license license:expat)))
 
-(define-public rust-winreg-0.6
+(define-public rust-security-framework-0.3
   (package
-    (name "rust-winreg")
-    (version "0.6.2")
+    (name "rust-security-framework")
+    (version "0.3.4")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "winreg" version))
+       (uri (crate-uri "security-framework" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1jdcqr6zmvwyrp87h48miasfdvv16gjsb60rc8dy2kqwb3mnv65j"))))
+         "1pqn79cl9njnnhsmjvvphkzx8is5jhfd8bhxpllgvrgggjfl5wlf"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
+     `(#:tests? #f      ; Some test files not included in release.
        #:cargo-inputs
-       (("rust-chrono" ,rust-chrono-0.4)
-        ("rust-serde" ,rust-serde-1.0)
-        ("rust-winapi" ,rust-winapi-0.3))
+       (("rust-core-foundation" ,rust-core-foundation-0.6)
+        ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-security-framework-sys" ,rust-security-framework-sys-0.3))
        #:cargo-development-inputs
-       (("rust-rand" ,rust-rand-0.3)
-        ("rust-serde-derive" ,rust-serde-derive-1.0))))
-    (home-page "https://github.com/gentoo90/winreg-rs";)
-    (synopsis "Rust bindings to MS Windows Registry API")
-    (description
-     "This package provides Rust bindings to MS Windows Registry API.")
-    (license license:expat)))
-
-(define-public rust-winutil-0.1
-  (package
-    (name "rust-winutil")
-    (version "0.1.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "winutil" version))
-        (file-name (string-append name "-" version ".crate"))
-        (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")
+       (("rust-hex" ,rust-hex-0.4)
+        ("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page "https://lib.rs/crates/security_framework";)
+    (synopsis
+     "Security.framework bindings for macOS and iOS")
     (description
-     "A simple library wrapping a handful of useful winapi functions.")
-    (license license:expat)))
+     "Security.framework bindings for macOS and iOS.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-ws2-32-sys-0.2
+(define-public rust-security-framework-sys-0.3
   (package
-    (name "rust-ws2-32-sys")
-    (version "0.2.1")
+    (name "rust-security-framework-sys")
+    (version "0.3.3")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "ws2_32-sys" version))
+        (uri (crate-uri "security-framework-sys" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m"))))
+          "15gqhhi206lzynd0pcbswxhvqc4p9bmpl2h9qnwfnpb16zy96573"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-winapi" ,rust-winapi-0.2))
-       #:cargo-development-inputs
-       (("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")
+     `(#:cargo-inputs
+       (("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6))))
+    (home-page "https://lib.rs/crates/security-framework-sys";)
+    (synopsis "Apple `Security.framework` low-level FFI bindings")
     (description
-     "Contains function definitions for the Windows API library ws2_32.")
-    (license license:expat)))
+     "Apple @code{Security.framework} low-level FFI bindings.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-x11-2
+(define-public rust-sema-0.1
   (package
-    (name "rust-x11")
-    (version "2.18.1")
+    (name "rust-sema")
+    (version "0.1.4")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "x11" version))
+       (uri (crate-uri "sema" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0dg2d0yrqmwg6prpxkw3vpmwzwxnaki2cn0v64ylh5gp4cqpws9r"))))
+         "0ckq33sg84785p195m54h03jcn7fai8w08hjnb94nzaakgzibbz3"))
+        (modules '((guix build utils)))
+        (snippet
+         '(begin (substitute* "Cargo.toml"
+                   (("libc.*") "libc = \"0.2\"\n"))
+                 #t))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
+     `( #:cargo-inputs
        (("rust-libc" ,rust-libc-0.2)
-        ("rust-pkg-config" ,rust-pkg-config-0.3))))
-    (home-page "https://github.com/erlepereira/x11-rs.git";)
-    (synopsis "X11 library bindings for Rust")
-    (description "X11 library bindings for Rust.")
-    (license license:cc0)))
+        ("rust-rand" ,rust-rand-0.3)
+        ("rust-time" ,rust-time-0.1))
+       #:cargo-development-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-nix" ,rust-nix-0.15))))
+    (home-page "https://github.com/cpjreynolds/sema";)
+    (synopsis "Rust semaphore library")
+    (description "Rust semaphore library.")
+    (license license:expat)))
 
-(define-public rust-x11-clipboard-0.4
+(define-public rust-semver-0.9
   (package
-    (name "rust-x11-clipboard")
-    (version "0.4.0")
+    (name "rust-semver")
+    (version "0.9.0")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "x11-clipboard" version))
+       (uri (crate-uri "semver" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0nqdnswiyj28b1izjp5rzbc67cxpb5c8p4vh1xyndkirzs84vqqk"))))
+         "00q4lkcj0rrgbhviv9sd4p6qmdsipkwkbra7rh11jrhq5kpvjzhx"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #f  ; Tests require display server.
-       #:cargo-inputs (("rust-xcb" ,rust-xcb-0.9))))
-    (native-inputs
-     `(("python" ,python)))
-    (home-page "https://github.com/quininer/x11-clipboard";)
-    (synopsis "x11 clipboard support for Rust")
-    (description "This package provides x11 clipboard support for Rust.")
-    (license license:expat)))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-semver-parser" ,rust-semver-parser-0.7)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-crates-index" ,rust-crates-index-0.13)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page "https://docs.rs/crate/semver";)
+    (synopsis
+     "Semantic version parsing and comparison")
+    (description
+     "Semantic version parsing and comparison.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-x11-dl-2
+(define-public rust-semver-parser-0.9
   (package
-    (name "rust-x11-dl")
-    (version "2.18.4")
+    (name "rust-semver-parser")
+    (version "0.9.0")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "x11-dl" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0n1w837xagxqgwx2880d7c9ks6l3g1kk00yd75afdaiv58sf2rdy"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "semver-parser" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1ahqhvgpzhcsd28id7xnrjv4419i9yyalhm7d7zi430qx0hi2vml"))))
     (build-system cargo-build-system)
-    (arguments
-     `(#:cargo-inputs
-       (("rust-lazy-static" ,rust-lazy-static-1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-maybe-uninit" ,rust-maybe-uninit-2.0)
-        ("rust-pkg-config" ,rust-pkg-config-0.3))))
-    (home-page "https://github.com/erlepereira/x11-rs.git";)
-    (synopsis "X11 library bindings for Rust")
-    (description "This package provides X11 library bindings for Rust.")
-    (license license:cc0)))
+    (home-page "https://github.com/steveklabnik/semver-parser";)
+    (synopsis "Parsing of the semver spec")
+    (description "This package provides for parsing of the semver spec.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-xattr-0.2
+(define-public rust-semver-parser-0.7
   (package
-    (name "rust-xattr")
-    (version "0.2.2")
+    (inherit rust-semver-parser-0.9)
+    (name "rust-semver-parser")
+    (version "0.7.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "xattr" version))
+        (uri (crate-uri "semver-parser" version))
         (file-name (string-append name "-" version ".crate"))
         (sha256
          (base32
-          "0k556fb6f5jc907975j9c8iynl2fqz3rf0w6fiig83i4yi0kfk14"))))
+          "18vhypw6zgccnrlm5ps1pwa0khz7ry927iznpr88b87cagr1v2iq"))))))
+
+(define-public rust-serde-1.0
+  (package
+    (name "rust-serde")
+    (version "1.0.105")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "serde" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1zrj157dxvmymp5ii60anap2qqks4pkr3fwsp71wi3sv4nzzn1z7"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2))
+       (("rust-serde-derive" ,rust-serde-derive-1.0))
        #:cargo-development-inputs
-       (("rust-tempfile" ,rust-tempfile-3.0))))
-    (home-page "https://github.com/Stebalien/xattr";)
-    (synopsis "Unix extended filesystem attributes")
+       (("rust-serde-derive" ,rust-serde-derive-1.0))))
+    (home-page "https://serde.rs";)
+    (synopsis "Generic serialization/deserialization framework")
     (description
-     "This package provide a small library for setting, getting, and listing
-extended attributes.")
-    (license (list license:asl2.0
-                   license:expat))))
+     "This package provides a generic serialization/deserialization 
framework.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-xcb-0.9
+(define-public rust-serde-0.9
   (package
-    (name "rust-xcb")
-    (version "0.9.0")
+    (inherit rust-serde-1.0)
+    (name "rust-serde")
+    (version "0.9.15")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "xcb" version))
+       (uri (crate-uri "serde" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "19i2pm8alpn2f0m4jg8bsw6ckw8irj1wjh55h9pi2fcb2diny1b2"))))
-    (build-system cargo-build-system)
+         "1bsla8l5xr9pp5sirkal6mngxcq6q961km88jvf339j5ff8j7dil"))))
     (arguments
-     `(#:tests? #f  ; Building all the features tests the code.
-       #:cargo-build-flags '("--features" "debug_all")
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-cargo-toml
+           (lambda _
+             (substitute* "Cargo.toml"
+               ((", path =.*}") "}"))
+             #t)))
        #:cargo-inputs
-       (("rust-libc" ,rust-libc-0.2)
-        ("rust-log" ,rust-log-0.4)
-        ("rust-x11" ,rust-x11-2))))
-    (inputs
-     `(("libx11" ,libx11)
-       ("libxcb" ,libxcb)
-       ("xcb-proto" ,xcb-proto)))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("python" ,python)))
-    (home-page "https://github.com/rtbo/rust-xcb";)
-    (synopsis "Rust bindings and wrappers for XCB")
-    (description
-     "This package provides Rust bindings and wrappers for XCB.")
-    (license license:expat)))
-
-(define-public rust-xdg-2.2
-  (package
-    (name "rust-xdg")
-    (version "2.2.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "xdg" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "0mws8a0fr3cqk5nh7aq9lmkmhzghvasqy4mhw6nnza06l4d6i2fh"))))
-    (build-system cargo-build-system)
-    (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))))
+       (("rust-serde-derive" ,rust-serde-derive-0.9))
+       #:cargo-development-inputs
+       (("rust-serde-derive" ,rust-serde-derive-0.9))))))
 
-(define-public rust-xml-rs-0.8
+(define-public rust-serde-0.8
   (package
-    (name "rust-xml-rs")
-    (version "0.8.0")
+    (inherit rust-serde-1.0)
+    (name "rust-serde")
+    (version "0.8.23")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "xml-rs" version))
-       (file-name
-        (string-append name "-" version ".tar.gz"))
+       (uri (crate-uri "serde" version))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1db4v716rbpgjiasaim2s17rmvsfcq1qzwg6nji6mdf5k34i46sl"))))
-    (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/netvl/xml-rs";)
-    (synopsis "XML library in pure Rust")
-    (description "An XML library in pure Rust.")
-    (license license:expat)))
+         "1j4ajipn0sf4ya0crgcb94s848qp7mfc35n6d0q2rf8rk5skzbcx"))))
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-clippy" ,rust-clippy-0.0))
+       #:tests? #f))))
 
-(define-public rust-yaml-rust-0.4
+(define-public rust-serde-0.4
   (package
-    (name "rust-yaml-rust")
+    (inherit rust-serde-0.9)
+    (name "rust-serde")
     (version "0.4.3")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "yaml-rust" version))
+       (uri (crate-uri "serde" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0ka3qhqc5lvk3hz14wmsj32jhmh44blcbfrx5hfxli2gg38kv4k5"))))
-    (build-system cargo-build-system)
+         "06s2ayx1p5zzj4q7bfld60c9iprsk1256pnh8qj6h794mjinw11b"))))
     (arguments
-     `(#:cargo-inputs
-       (("rust-linked-hash-map" ,rust-linked-hash-map-0.5))
-       #:cargo-development-inputs
-       (("rust-quickcheck" ,rust-quickcheck-0.7))))
-    (home-page "https://chyh1990.github.io/yaml-rust/";)
-    (synopsis "The missing YAML 1.2 parser for rust")
-    (description
-     "The missing YAML 1.2 parser for rust.")
-    (license (list license:asl2.0 license:expat))))
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-num" ,rust-num-0.2))))))
 
-(define-public rust-yaml-rust-0.3
+(define-public rust-serde-big-array-0.1
   (package
-    (inherit rust-yaml-rust-0.4)
-    (name "rust-yaml-rust")
-    (version "0.3.5")
+    (name "rust-serde-big-array")
+    (version "0.1.5")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "yaml-rust" version))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (uri (crate-uri "serde-big-array" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "14m9dzwb8fb05f4jjb4nqp49rxd9c5vcmwpv3a04d2y5iphncqz6"))))
+         "0gkyqxk760mp1lfcg6lhjk95ajc89nr0qdd0vl4ic0g8pyxcy9mr"))))
+    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-clippy" ,rust-clippy-0.0)
-        ("rust-linked-hash-map" ,rust-linked-hash-map-0.3))))))
+       (("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0))
+       #:cargo-development-inputs
+       (("rust-serde-json" ,rust-serde-json-1.0))))
+    (home-page "https://github.com/est31/serde-big-array";)
+    (synopsis "Big array helper for serde")
+    (description "This package provides a big array helper for serde.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-zip-0.5
+(define-public rust-serde-bytes-0.11
   (package
-    (name "rust-zip")
-    (version "0.5.4")
+    (name "rust-serde-bytes")
+    (version "0.11.3")
     (source
      (origin
        (method url-fetch)
-       (uri (crate-uri "zip" version))
+       (uri (crate-uri "serde_bytes" version))
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1biv5kh4fl7wpjlsxfczvgrdjlybf0xjaw7s36didql8lxxz67z4"))))
+         "1bl45kf3c71xclv7wzk5525nswm4bgsnjd3s1s15f4k2a8whfnij"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:cargo-inputs
-       (("rust-bzip2" ,rust-bzip2-0.3)
-        ("rust-crc32fast" ,rust-crc32fast-1.2)
-        ("rust-flate2" ,rust-flate2-1.0)
-        ("rust-podio" ,rust-podio-0.1)
-        ("rust-time" ,rust-time-0.1))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1.0))
        #:cargo-development-inputs
-       (("rust-bencher" ,rust-bencher-0.1)
-        ("rust-rand" ,rust-rand-0.4)
-        ("rust-walkdir" ,rust-walkdir-1.0))))
-    (home-page "https://github.com/mvdnes/zip-rs.git";)
+       (("rust-bincode" ,rust-bincode-1.1)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde-test" ,rust-serde-test-1.0))))
+    (home-page "https://github.com/serde-rs/bytes";)
     (synopsis
-     "Library to support the reading and writing of zip files")
+     "Handle of integer arrays and vectors for Serde")
     (description
-     "Library to support the reading and writing of zip files.")
-    (license license:expat)))
+     "Optimized handling of @code{&[u8]} and @code{Vec<u8>} for Serde.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-zoneinfo-compiled-0.4
+(define-public rust-serde-cbor-0.11
   (package
-    (name "rust-zoneinfo-compiled")
-    (version "0.4.8")
+    (name "rust-serde-cbor")
+    (version "0.11.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "zoneinfo_compiled" version))
+        (uri (crate-uri "serde-cbor" version))
         (file-name
          (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "0bnm19w791q6kp79s0zl1cj9w51bw5xrifrxfy3g1p05i676y4vf"))))
+          "08m62mfqjnpa543kd9r9cyxlqc6y73avhsl3n8svgs4h5zxaq60y"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
+       (("rust-half" ,rust-half-1.3)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-serde-derive" ,rust-serde-derive-1.0))))
+    (home-page "https://github.com/pyfisch/cbor";)
+    (synopsis "CBOR support for serde")
+    (description "CBOR support for serde.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-serde-cbor-0.10
+  (package
+    (inherit rust-serde-cbor-0.11)
+    (name "rust-serde-cbor")
+    (version "0.10.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_cbor" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0kyizacjabsa78p9f7qvj31zirpnsgsr4zpfv1p6lwpcb3biw27p"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
        (("rust-byteorder" ,rust-byteorder-1.3)
-        ("rust-datetime" ,rust-datetime-0.4))))
-    (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.")
-    (license license:expat)))
+        ("rust-half" ,rust-half-1.3)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-serde-derive" ,rust-serde-derive-1.0))))))
 
-(define-public rust-output-vt100-0.1
+(define-public rust-serde-codegen-0.4
   (package
-    (name "rust-output-vt100")
-    (version "0.1.2")
+    (name "rust-serde-codegen")
+    (version "0.4.3")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "output_vt100" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1ygqplpxz4gg3i8f3rkan2q69pqll7gv65l2mmd8r9dphnvwbkak"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_codegen" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0167ghvqs0n8qin8fjx2ihn3gx92m55685qpv4nzihw48h4rq0vq"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-winapi" ,rust-winapi-0.3))))
-    (home-page
-      "https://github.com/Phundrak/output-vt100-rs";)
-    (synopsis
-      "Utility to activate escape codes in Windows' CMD and PowerShell")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-aster" ,rust-aster-0.41)
+        ("rust-quasi" ,rust-quasi-0.32)
+        ("rust-quasi-macros" ,rust-quasi-macros-0.32)
+        ("rust-syntex" ,rust-syntex-0.58)
+        ("rust-syntex-syntax" ,rust-syntex-syntax-0.58))
+       #:cargo-development-inputs
+       (("rust-quasi-codegen" ,rust-quasi-codegen-0.32)
+        ("rust-syntex" ,rust-syntex-0.58))))
+    (home-page "https://serde.rs";)
+    (synopsis "Macros for the serde framework")
+    (description "This package provides macros to auto-generate implementations
+for the serde framework.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-serde-codegen-internals-0.14
+  (package
+    (name "rust-serde-codegen-internals")
+    (version "0.14.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_codegen_internals" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0004s3wlc85vi6hq62hq84cv5b6qbbin1n6hdaqj095xhg98p25w"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-syn" ,rust-syn-0.11))))
+    (home-page "https://serde.rs";)
+    (synopsis "AST representation used by Serde codegen")
     (description
-      "Utility to activate escape codes in Windows' CMD and PowerShell")
-    (license license:expat)))
+     "Unstable AST representation used by Serde codegen.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-ctor-0.1
+(define-public rust-serde-derive-1.0
   (package
-    (name "rust-ctor")
-    (version "0.1.13")
+    (name "rust-serde-derive")
+    (version "1.0.105")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "ctor" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "serde-derive" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1qgwkwyxishpp3wkbwq5i27zdxz539ii0sz129xj061ffnnfbia7"))))
+         (base32
+          "1y5gzwpy8yjv9pwh1js11vr18nfz4gg1g2kmyr6p58hvavy00pdc"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page
-      "https://github.com/mmastrac/rust-ctor";)
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0))
+       #:cargo-development-inputs
+       (("rust-serde" ,rust-serde-1.0))))
+    (home-page "https://serde.rs";)
     (synopsis
-      "__attribute__((constructor)) for Rust")
+      "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
     (description
-      "__attribute__((constructor)) for Rust")
-    (license (list license:asl2.0 license:expat))))
+      "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-pretty-assertions-0.6
+(define-public rust-serde-derive-0.9
   (package
-    (name "rust-pretty-assertions")
-    (version "0.6.1")
+    (inherit rust-serde-derive-1.0)
+    (name "rust-serde-derive")
+    (version "0.9.15")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde-derive" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1fkldf0lnl6pwxs00qpyp79m30qmfpi3bk0wm22211ylyikdi3wp"))))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-cargo-toml
+           (lambda _
+             (substitute* "Cargo.toml"
+               ((", path =.*}") "}"))
+             #t)))
+       #:cargo-inputs
+       (("rust-quote" ,rust-quote-0.3)
+        ("rust-serde-codegen-internals" ,rust-serde-codegen-internals-0.14)
+        ("rust-syn" ,rust-syn-0.11))))))
+
+(define-public rust-serde-json-1.0
+  (package
+    (name "rust-serde-json")
+    (version "1.0.50")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "pretty_assertions" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "serde-json" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "09yl14gnmpygiqrdlsa64lcl4w6ydjl9m8jri6kgam0v9rjf309z"))))
+         (base32
+          "0rs8rsk59kgkgsrw8hyyjrlhas9k1by2jwxxqcz3c2bq2qna39vq"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-ctor" ,rust-ctor-0.1)
-         ("rust-output-vt100" ,rust-output-vt100-0.1)
-         ("rust-ansi-term" ,rust-ansi-term-0.11)
-         ("rust-difference" ,rust-difference-2.0))))
-    (home-page
-      "https://github.com/colin-kiegel/rust-pretty-assertions";)
-    (synopsis
-      "Overwrite `assert_eq!` and `assert_ne!` with drop-in replacements, 
adding colorful diffs.")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-indexmap" ,rust-indexmap-1.3)
+        ("rust-itoa" ,rust-itoa-0.4)
+        ("rust-ryu" ,rust-ryu-1.0)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (;("rust-automod" ,rust-automod-0.1)
+        ("rust-rustversion" ,rust-rustversion-1.0)
+        ("rust-serde-bytes" ,rust-serde-bytes-0.11)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ;("rust-serde-stacker" ,rust-serde-stacker-0.1)
+        ("rust-trybuild" ,rust-trybuild-1.0))))
+    (home-page "https://github.com/serde-rs/json";)
+    (synopsis "JSON serialization file format")
     (description
-      "Overwrite `assert_eq!` and `assert_ne!` with drop-in replacements, 
adding colorful diffs.")
+     "This package provides a JSON serialization file format.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-oorandom-11.1
+(define-public rust-serde-json-0.9
   (package
-    (name "rust-oorandom")
-    (version "11.1.0")
+    (inherit rust-serde-json-1.0)
+    (name "rust-serde-json")
+    (version "0.9.10")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "oorandom" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "01clxfnz1zwg4maynvbgj09wlkj5m3c8kjqfrp3sqp59qb4wgkpb"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_json" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "188nbf56m7p6mnh3xd71rwqxd4g95lqh8gsl7mfy3lp7gd4cz2xd"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://hg.sr.ht/~icefox/oorandom";)
-    (synopsis "A tiny, robust PRNG implementation.")
-    (description
-      "This package provides a tiny, robust PRNG implementation.")
-    (license license:expat)))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-dtoa" ,rust-dtoa-0.4)
+        ("rust-itoa" ,rust-itoa-0.3)
+        ("rust-linked-hash-map" ,rust-linked-hash-map-0.4)
+        ("rust-num-traits" ,rust-num-traits-0.1)
+        ("rust-serde" ,rust-serde-0.9))
+       #:cargo-development-inputs
+       (("rust-serde-derive" ,rust-serde-derive-0.9))))))
 
-(define-public rust-utf8-ranges-1.0
+(define-public rust-serde-macros-0.4
   (package
-    (name "rust-utf8-ranges")
-    (version "1.0.4")
+    (name "rust-serde-macros")
+    (version "0.4.4")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "utf8-ranges" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1fpc32znar5v02nwsw7icl41jzzzzhy0si6ngqjylzrbxxpi3bml"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_macros" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1717rpncvvyvyrpb7hdjgxpiki9vdgygwv2r3d9aal5n8cm8xi8i"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/BurntSushi/utf8-ranges";)
+    (arguments
+     `(#:skip-build? #t
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-cargo-toml
+           (lambda _
+             (substitute* "Cargo.toml"
+               ((", path =.*}") "}"))
+             #t)))
+       #:cargo-inputs
+       (("rust-serde-codegen" ,rust-serde-codegen-0.4))
+       #:cargo-development-inputs
+       (("rust-num" ,rust-num-0.2)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-serde" ,rust-serde-0.4))))
+    (home-page "https://serde.rs";)
     (synopsis
-      "DEPRECATED. Use regex-syntax::utf8 submodule instead.")
+     "Macros to auto-generate implementations for the serde framework")
     (description
-      "DEPRECATED.  Use regex-syntax::utf8 submodule instead.")
-    (license (list license:unlicense license:expat))))
+     "Macros to auto-generate implementations for the serde framework.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-fst-0.4
+(define-public rust-serde-test-1.0
   (package
-    (name "rust-fst")
-    (version "0.4.0")
+    (name "rust-serde-test")
+    (version "1.0.105")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "fst" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0ybmdzkknhv1wx6ws86iyixfyzc04l4nm71b9va7953r1m3i6z1z"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_test" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vnp0wld20z1wjr8qp2hxcy6yh2zhicg1mfb0qrzxgwq2a4n6raa"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-utf8-ranges" ,rust-utf8-ranges-1.0))))
-    (home-page "https://github.com/BurntSushi/fst";)
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0))))
+    (home-page "https://serde.rs";)
     (synopsis
-      "Use finite state transducers to compactly represents sets or maps of 
many
-strings (> 1 billion is possible).
-")
+     "Token De/Serializer for testing De/Serialize implementations")
     (description
-      "Use finite state transducers to compactly represents sets or maps of 
many
-strings (> 1 billion is possible).
-")
-    (license (list license:unlicense license:expat))))
+     "Token De/Serializer for testing De/Serialize implementations.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-regex-automata-0.1
+(define-public rust-serde-test-0.9
   (package
-    (name "rust-regex-automata")
-    (version "0.1.9")
+    (inherit rust-serde-test-1.0)
+    (name "rust-serde-test")
+    (version "0.9.15")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "regex-automata" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1r3aqa9c0s9sfrmd2w0mli16ldjzbar0rzb1x7srfjkasrqys7df"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_test" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "193mf0qkhvjywd06x6hhmkixlqcyfbpfwfmr75dp2b8xwzpsvxwf"))))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-cargo-toml
+           (lambda _
+             (substitute* "Cargo.toml"
+               ((", path =.*}") "}"))
+             #t)))
+       #:cargo-inputs (("rust-serde" ,rust-serde-0.9))))))
+
+(define-public rust-serde-test-0.8
+  (package
+    (inherit rust-serde-test-1.0)
+    (name "rust-serde-test")
+    (version "0.8.23")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde-test" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1m939j7cgs7i58r6vxf0ffp3nbr8advr8p9dqa9w8zk0z2yks2qi"))))
+    (arguments
+     `(#:cargo-inputs (("rust-serde" ,rust-serde-0.8))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-Cargo-toml
+           (lambda _
+             (substitute* "Cargo.toml"
+               ((", path = \"../serde\"") ""))
+             #t)))))))
+
+(define-public rust-serde-yaml-0.8
+  (package
+    (name "rust-serde-yaml")
+    (version "0.8.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_yaml" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0d9wdjrlx9gxg80kzc6pvdwz5pwhja2n8n0bxja9vv61kzqif6v9"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-fst" ,rust-fst-0.4)
-         ("rust-regex-syntax" ,rust-regex-syntax-0.6)
-         ("rust-byteorder" ,rust-byteorder-1.3))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-dtoa" ,rust-dtoa-0.4)
+        ("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-yaml-rust" ,rust-yaml-rust-0.4))
+       #:cargo-development-inputs
+       (("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-unindent" ,rust-unindent-0.1))))
     (home-page
-      "https://github.com/BurntSushi/regex-automata";)
-    (synopsis
-      "Automata construction and matching using regular expressions.")
-    (description
-      "Automata construction and matching using regular expressions.")
-    (license (list license:unlicense license:expat))))
+     "https://github.com/dtolnay/serde-yaml";)
+    (synopsis "YAML support for Serde")
+    (description "YAML support for Serde.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-bstr-0.2
+(define-public rust-servo-fontconfig-0.4
   (package
-    (name "rust-bstr")
-    (version "0.2.12")
+    (name "rust-servo-fontconfig")
+    (version "0.4.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "bstr" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0hazfback6i2k3vhhwyj8h46id3y58zxqh22pz46hj9r1zayd298"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "servo-fontconfig" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1nach6s4hdf86jz5hlm4p5r7vin91cs7gg89mr533id5fpbzi250"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-regex-automata" ,rust-regex-automata-0.1)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-lazy-static" ,rust-lazy-static-1.4)
-         ("rust-memchr" ,rust-memchr-2.3))))
-    (home-page "https://github.com/BurntSushi/bstr";)
-    (synopsis
-      "A string type that is not required to be valid UTF-8.")
-    (description
-      "This package provides a string type that is not required to be valid 
UTF-8.")
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-servo-fontconfig-sys" ,rust-servo-fontconfig-sys-4))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("fontconfig" ,fontconfig)))
+    (home-page "https://github.com/servo/rust-fontconfig/";)
+    (synopsis "Rust bindings for fontconfig")
+    (description "This package provides Rust bindings for fontconfig.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-csv-core-0.1
+(define-public rust-servo-fontconfig-sys-4
   (package
-    (name "rust-csv-core")
-    (version "0.1.10")
+    (name "rust-servo-fontconfig-sys")
+    (version "4.0.9")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "csv-core" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "145wcc3560v1kmysqqspvddppiysr2rifqzy4nnlh3r6kxanc91b"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "servo-fontconfig-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0v0mbicy74wd6cjd5jyqnm4nvrrr5lmg053cn16kylhg8mkf3cv2"))
+        (modules '((guix build utils)))
+        (snippet
+         '(begin
+            (for-each delete-file-recursively
+                      (find-files "." "[^Cargo.toml,^build\\.rs]"))
+            #t))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-memchr" ,rust-memchr-2.3))))
-    (home-page
-      "https://github.com/BurntSushi/rust-csv";)
-    (synopsis
-      "Bare bones CSV parsing with no_std support.")
+     `(#:cargo-inputs
+       (("rust-expat-sys" ,rust-expat-sys-2.1)
+        ("rust-servo-freetype-sys" ,rust-servo-freetype-sys-4)
+        ("rust-pkg-config" ,rust-pkg-config-0.3))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("fontconfig" ,fontconfig)))
+    (home-page "https://crates.io/crates/servo-fontconfig-sys";)
+    (synopsis "Rust wrapper around Fontconfig")
     (description
-      "Bare bones CSV parsing with no_std support.")
-    (license (list license:unlicense license:expat))))
+     "This package provides a Rust wrapper around Fontxonfig.")
+    (license license:mpl2.0)))  ; build.rs is mpl2.0
 
-(define-public rust-csv-1.1
+(define-public rust-servo-freetype-sys-4
   (package
-    (name "rust-csv")
-    (version "1.1.3")
+    (name "rust-servo-freetype-sys")
+    (version "4.0.5")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "csv" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0yd2z55m2pg4al4yng4nl2y7c9dw2v7yhg5ynihxyrmmd9zzxbq0"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "servo-freetype-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1z0dvnakans4vn4vlpx4nxg984427lh8dskxxz9pglij1mnwnk1c"))
+        (modules '((guix build utils)))
+        (snippet
+         '(begin (delete-file-recursively "freetype2") #t))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-csv-core" ,rust-csv-core-0.1)
-         ("rust-bstr" ,rust-bstr-0.2)
-         ("rust-itoa" ,rust-itoa-0.4)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-ryu" ,rust-ryu-1.0))))
-    (home-page
-      "https://github.com/BurntSushi/rust-csv";)
-    (synopsis
-      "Fast CSV parsing with support for serde.")
+     `(#:cargo-inputs
+       (("rust-cmake" ,rust-cmake-0.1)
+        ("rust-pkg-config" ,rust-pkg-config-0.3))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("freetype" ,freetype)))
+    (home-page "http://www.freetype.org/";)
+    (synopsis "Rust wrapper around freetype")
     (description
-      "Fast CSV parsing with support for serde.")
-    (license (list license:unlicense license:expat))))
+     "This package provides a Rust wrapper around the FreeType library.")
+    (license license:mpl2.0)))  ; build.rs is mpl2.0
 
-(define-public rust-tinytemplate-1.0
+(define-public rust-sha-1-0.8
   (package
-    (name "rust-tinytemplate")
-    (version "1.0.3")
+    (name "rust-sha-1")
+    (version "0.8.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "tinytemplate" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "06ipxjwl1w6synvql8b50qxbqv0w04agvmmfqcdynr9ygmkcd8sp"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sha-1" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0s6fdy5wp3x4h2z4fcl2d9vjvrpzr87v4h49r51xcq8nm4qj35i3"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-serde" ,rust-serde-1.0)
-         ("rust-serde-json" ,rust-serde-json-1.0))))
-    (home-page
-      "https://github.com/bheisler/TinyTemplate";)
-    (synopsis "Simple, lightweight template engine")
-    (description
-      "Simple, lightweight template engine")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-block-buffer" ,rust-block-buffer-0.7)
+        ("rust-digest" ,rust-digest-0.8)
+        ("rust-fake-simd" ,rust-fake-simd-0.1)
+        ("rust-opaque-debug" ,rust-opaque-debug-0.2)
+        ("rust-sha1-asm" ,rust-sha1-asm-0.4))
+       #:cargo-development-inputs
+       (("rust-digest" ,rust-digest-0.8)
+        ("rust-hex-literal" ,rust-hex-literal-0.2))))
+    (home-page "https://github.com/RustCrypto/hashes";)
+    (synopsis "SHA-1 hash function")
+    (description "SHA-1 hash function.")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-cast-0.2
+(define-public rust-sha1-0.6
   (package
-    (name "rust-cast")
-    (version "0.2.3")
+    (name "rust-sha1")
+    (version "0.6.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "cast" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1c5z7zryj0zwnhdgs6rw5dfvnlwc1vm19jzrlgx5055alnwk952b"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sha1" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "03gs2q4m67rn2p8xcdfxhip6mpgahdwm12bnb3vh90ahv9grhy95"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-rustc-version" ,rust-rustc-version-0.2))))
-    (home-page "https://github.com/japaric/cast.rs";)
-    (synopsis
-      "Ergonomic, checked cast functions for primitive types")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-openssl" ,rust-openssl-0.10)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-serde-json" ,rust-serde-json-1.0))))
+    (home-page "https://github.com/mitsuhiko/rust-sha1";)
+    (synopsis "Minimal implementation of SHA1 for Rust")
     (description
-      "Ergonomic, checked cast functions for primitive types")
-    (license (list license:expat license:asl2.0))))
+     "Minimal implementation of SHA1 for Rust.")
+    (license license:bsd-3)))
 
-(define-public rust-phf-codegen-0.8
+(define-public rust-sha1-0.2
   (package
-    (name "rust-phf-codegen")
-    (version "0.8.0")
+    (inherit rust-sha1-0.6)
+    (name "rust-sha1")
+    (version "0.2.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "phf_codegen" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "05d8w7aqqjb6039pfm6404gk5dlwrrf97kiy1n21212vb1hyxzyb"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sha1" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0p09zfhd27z6yr5in07gfjcx345010rw51ivlcf14364x3hv2c6c"))))
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-openssl" ,rust-openssl-0.7)
+        ("rust-rand" ,rust-rand-0.3))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-cargo-toml
+           (lambda _
+             (substitute* "Cargo.toml"
+               ((", path =.*}") "}"))
+             #t)))))
+    (native-inputs
+     `(("openssl" ,openssl-1.0))))) ; for openssl-sys-extras
+
+(define-public rust-sha1-asm-0.4
+  (package
+    (name "rust-sha1-asm")
+    (version "0.4.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sha1-asm" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1i1i8viy6y30mv9v5hwhg9w6b722qkyh9c6n8bn4d27jpv14pg0s"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-phf-generator" ,rust-phf-generator-0.8)
-         ("rust-phf-shared" ,rust-phf-shared-0.8))))
-    (home-page
-      "https://github.com/sfackler/rust-phf";)
-    (synopsis "Codegen library for PHF types")
-    (description "Codegen library for PHF types")
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-cc" ,rust-cc-1.0))))
+    (home-page "https://github.com/RustCrypto/asm-hashes";)
+    (synopsis "Assembly implementation of SHA-1 compression function")
+    (description
+     "Assembly implementation of SHA-1 compression function.")
     (license license:expat)))
 
-(define-public rust-phf-generator-0.8
+(define-public rust-shader-version-0.6
   (package
-    (name "rust-phf-generator")
-    (version "0.8.0")
+    (name "rust-shader-version")
+    (version "0.6.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "phf_generator" version))
+        (uri (crate-uri "shader_version" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "09i5338d1kixq6a60fcayz6awgxjlxcfw9ic5f02abbgr067ydhp"))))
+            "1yk651xc9irl3pl0rlplypzyzy44d0j03ji0j7hjjdjknwzpi3j7"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-criterion" ,rust-criterion-0.3)
-         ("rust-rand" ,rust-rand-0.7)
-         ("rust-phf-shared" ,rust-phf-shared-0.8))))
+        (("rust-piston-graphics-api-version"
+          ,rust-piston-graphics-api-version-0.2))))
     (home-page
-      "https://github.com/sfackler/rust-phf";)
-    (synopsis "PHF generation logic")
-    (description "PHF generation logic")
+      "https://github.com/pistondevelopers/shader_version";)
+    (synopsis
+      "A helper library for detecting and picking compatible shaders")
+    (description
+      "This package provides a helper library for detecting and picking 
compatible shaders")
     (license license:expat)))
 
-(define-public rust-phf-macros-0.8
+(define-public rust-shared-child-0.3
   (package
-    (name "rust-phf-macros")
-    (version "0.8.0")
+    (name "rust-shared-child")
+    (version "0.3.4")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "phf_macros" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "170qm6yqn6b9mjlwb2xmm3iad9d5nzwgfawfwy7zr7s2zwcdwvvz"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "shared-child" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1lmjmr7931dr9cpalw2n7ss4i9mnl7285j2dygxflk9y80xczswc"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro-hack"
-          ,rust-proc-macro-hack-0.5)
-         ("rust-phf-generator" ,rust-phf-generator-0.8)
-         ("rust-phf-shared" ,rust-phf-shared-0.8)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page
-      "https://github.com/sfackler/rust-phf";)
-    (synopsis
-      "Macros to generate types in the phf crate")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/oconnor663/shared_child.rs";)
+    (synopsis "Use child processes from multiple threads")
     (description
-      "Macros to generate types in the phf crate")
+     "A library for using child processes from multiple threads.")
     (license license:expat)))
 
-(define-public rust-unicase-2.6
+(define-public rust-shared-library-0.1
   (package
-    (name "rust-unicase")
-    (version "2.6.0")
+    (name "rust-shared-library")
+    (version "0.1.9")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "unicase" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1xmlbink4ycgxrkjspp0mf7pghcx4m7vxq7fpfm04ikr2zk7pwsh"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "shared_library" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "04fs37kdak051hm524a360978g58ayrcarjsbf54vqps5c7px7js"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-version-check" ,rust-version-check-0.9))))
-    (home-page
-      "https://github.com/seanmonstar/unicase";)
-    (synopsis
-      "A case-insensitive wrapper around strings.")
+     `(#:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libc" ,rust-libc-0.2))))
+    (home-page "https://github.com/tomaka/shared_library/";)
+    (synopsis "Bind to and load shared libraries")
     (description
-      "This package provides a case-insensitive wrapper around strings.")
-    (license (list license:expat license:asl2.0))))
+     "This package allows easy binding to, and loading of, shared libraries.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-siphasher-0.3
+(define-public rust-shell-words-0.1
   (package
-    (name "rust-siphasher")
-    (version "0.3.2")
+    (name "rust-shell-words")
+    (version "0.1.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "siphasher" version))
+        (uri (crate-uri "shell-words" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+         (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "08xvk3yi4vawppm1f81s4zrkksf95psz8gczh36y808candgi24f"))))
+         (base32
+          "0jnrw3f174974fsi2hg48l0klpy24767ib28w0xcvi2ll5axxb1r"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-serde" ,rust-serde-1.0))))
-    (home-page "https://docs.rs/siphasher";)
+    (home-page "https://github.com/tmiasko/shell-words";)
     (synopsis
-      "SipHash-2-4, SipHash-1-3 and 128-bit variants in pure Rust")
+     "Process command line according to parsing rules of UNIX shell")
     (description
-      "SipHash-2-4, SipHash-1-3 and 128-bit variants in pure Rust")
+     "Process command line according to parsing rules of UNIX shell.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-phf-shared-0.8
+(define-public rust-shlex-0.1
   (package
-    (name "rust-phf-shared")
-    (version "0.8.0")
+    (name "rust-shlex")
+    (version "0.1.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "phf_shared" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "shlex" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1xssnqrrcn0nr9ayqrnm8xm37ac4xvwcx8pax7jxss7yxawzh360"))))
+         (base32
+          "1lmv6san7g8dv6jdfp14m7bdczq9ss7j7bgsfqyqjc3jnjfippvz"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/comex/rust-shlex";)
+    (synopsis "Split a string into shell words, like Python's shlex")
+    (description "This crate provides a method to split a string into shell
+words, like Python's shlex.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-signal-hook-0.1
+  (package
+    (name "rust-signal-hook")
+    (version "0.1.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "signal-hook" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0b0yh6hlb5hs5kq6adyk0bn168y1ncymxvlizlygaabad2hz7f8h"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-siphasher" ,rust-siphasher-0.3)
-         ("rust-unicase" ,rust-unicase-2.6))))
-    (home-page
-      "https://github.com/sfackler/rust-phf";)
-    (synopsis "Support code shared by PHF libraries")
-    (description
-      "Support code shared by PHF libraries")
-    (license license:expat)))
+     `(#:cargo-inputs
+       (("rust-futures" ,rust-futures-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-mio-uds" ,rust-mio-uds-0.6)
+        ("rust-signal-hook-registry" ,rust-signal-hook-registry-1.2)
+        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1))
+       #:cargo-development-inputs
+       (("rust-tokio" ,rust-tokio-0.1)
+        ("rust-version-sync" ,rust-version-sync-0.8))))
+    (home-page "https://github.com/vorner/signal-hook";)
+    (synopsis "Unix signal handling")
+    (description "Unix signal handling.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-phf-0.8
+(define-public rust-signal-hook-registry-1.2
   (package
-    (name "rust-phf")
-    (version "0.8.0")
+    (name "rust-signal-hook-registry")
+    (version "1.2.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "phf" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "04pyv8bzqvw69rd5dynd5nb85py1hf7wa4ixyhrvdz1l5qin3yrx"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "signal-hook-registry" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0haz828bif1lbp3alx17zkcy5hwy15bbpmvks72j8iznx7npix4l"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro-hack"
-          ,rust-proc-macro-hack-0.5)
-         ("rust-phf-shared" ,rust-phf-shared-0.8)
-         ("rust-phf-macros" ,rust-phf-macros-0.8))))
-    (home-page
-      "https://github.com/sfackler/rust-phf";)
-    (synopsis
-      "Runtime support for perfect hash function data structures")
-    (description
-      "Runtime support for perfect hash function data structures")
-    (license license:expat)))
+     `(#:cargo-inputs
+       (("rust-arc-swap" ,rust-arc-swap-0.4)
+        ("rust-libc" ,rust-libc-0.2))
+       #:cargo-development-inputs
+       (("rust-signal-hook" ,rust-signal-hook-0.1)
+        ("rust-version-sync" ,rust-version-sync-0.8))))
+    (home-page "https://github.com/vorner/signal-hook";)
+    (synopsis "Backend crate for signal-hook")
+    (description "Backend crate for signal-hook.")
+    (license (list license:asl2.0 license:expat))))
+
+(define-public rust-signal-hook-registry-1.0
+  (package
+    (inherit rust-signal-hook-registry-1.2)
+    (name "rust-signal-hook-registry")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "signal-hook-registry" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1mw5v909fn99h5qb96ma4almlik80lr1c7xbakn24rql6bx4zvfd"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-arc-swap" ,rust-arc-swap-0.3)
+        ("rust-libc" ,rust-libc-0.2))
+       #:cargo-development-inputs
+       (("rust-signal-hook" ,rust-signal-hook-0.1)
+        ("rust-version-sync" ,rust-version-sync-0.8))))))
 
-(define-public rust-palette-derive-0.5
+(define-public rust-simd-0.2
   (package
-    (name "rust-palette-derive")
-    (version "0.5.0")
+    (name "rust-simd")
+    (version "0.2.4")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "palette_derive" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1x5icddb877923rpl27bg4cjsf1x0d3layxmgwa3mpb01rh5yjqb"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "simd" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1dgpmfzd4favsckd5m0p6bna1dcgw19hjigkqcgwfhc4d05hxczj"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page "https://github.com/Ogeon/palette";)
-    (synopsis
-      "Automatically implement traits from the palette crate.")
+     `(#:skip-build? #t     ; Crate no longer builds on Rust 1.33+
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0))
+       #:cargo-development-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1))))
+    (home-page "https://github.com/hsivonen/simd";)
+    (synopsis "Limited cross-platform access to SIMD instructions on CPUs")
     (description
-      "Automatically implement traits from the palette crate.")
+     "@code{simd} offers limited cross-platform access to SIMD instructions on
+CPUs, as well as raw interfaces to platform-specific instructions.
+(To be obsoleted by the @code{std::simd} implementation RFC 2366.)
+")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-palette-0.5
+(define-public rust-simd-0.1
   (package
-    (name "rust-palette")
-    (version "0.5.0")
+    (inherit rust-simd-0.2)
+    (name "rust-simd")
+    (version "0.1.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "palette" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0nfc4ycdsx2qgf2wkcpxqxc0vmx7188jjjx3ppgs8qlf8qs06p50"))))
-    (build-system cargo-build-system)
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "simd" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "08vhhz1w5m7amfp1d9lvfyyzl0jqjm82hrr7fb7afv3n5my89db3"))))
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-num-traits" ,rust-num-traits-0.2)
-         ("rust-approx" ,rust-approx-0.3)
-         ("rust-palette-derive" ,rust-palette-derive-0.5)
-         ("rust-phf" ,rust-phf-0.8)
-         ("rust-phf-codegen" ,rust-phf-codegen-0.8)
-         ("rust-serde" ,rust-serde-1.0))))
-    (home-page "https://github.com/Ogeon/palette";)
-    (synopsis
-      "Makes linear color calculations and conversion easy and accessible for 
anyone.")
-    (description
-      "Makes linear color calculations and conversion easy and accessible for 
anyone.")
-    (license (list license:expat license:asl2.0))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-0.4)
+        ("rust-serde-macros" ,rust-serde-macros-0.4))
+       #:cargo-development-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1))))))
 
-(define-public rust-crossbeam-utils-0.7
+(define-public rust-simd-helpers-0.1
   (package
-    (name "rust-crossbeam-utils")
-    (version "0.7.2")
+    (name "rust-simd-helpers")
+    (version "0.1.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "crossbeam-utils" version))
+        (uri (crate-uri "simd_helpers" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "1a31wbrda1320gj2a6az1lin2d34xfc3xf88da4c17qy5lxcgiy3"))))
+            "19idqicn9k4vhd04ifh2ff41wvna79zphdf2c81rlmpc7f3hz2cm"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-cfg-if" ,rust-cfg-if-0.1)
-         ("rust-autocfg" ,rust-autocfg-1.0)
-         ("rust-lazy-static" ,rust-lazy-static-1.4))))
+        (("rust-quote" ,rust-quote-1.0))))
     (home-page
-      "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils";)
-    (synopsis "Utilities for concurrent programming")
+      "https://github.com/lu-zero/simd_helpers";)
+    (synopsis
+      "Helpers to write more compact simd code")
     (description
-      "Utilities for concurrent programming")
-    (license (list license:expat license:asl2.0))))
+      "Helpers to write more compact simd code")
+    (license license:expat)))
 
-(define-public rust-rust-argon2-0.7
+(define-public rust-siphasher-0.3
   (package
-    (name "rust-rust-argon2")
-    (version "0.7.0")
+    (name "rust-siphasher")
+    (version "0.3.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rust-argon2" version))
+        (uri (crate-uri "siphasher" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "05xh5wfxgzq3b6jys8r34f3hmqqfs8ylvf934n9z87wfv95szj1b"))))
+            "08xvk3yi4vawppm1f81s4zrkksf95psz8gczh36y808candgi24f"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-constant-time-eq"
-          ,rust-constant-time-eq-0.1)
-         ("rust-base64" ,rust-base64-0.11)
-         ("rust-blake2b-simd" ,rust-blake2b-simd-0.5)
-         ("rust-crossbeam-utils"
-          ,rust-crossbeam-utils-0.7))))
-    (home-page
-      "https://github.com/sru-systems/rust-argon2";)
+        (("rust-serde" ,rust-serde-1.0))))
+    (home-page "https://docs.rs/siphasher";)
     (synopsis
-      "Rust implementation of the Argon2 password hashing function.")
+      "SipHash-2-4, SipHash-1-3 and 128-bit variants in pure Rust")
     (description
-      "Rust implementation of the Argon2 password hashing function.")
+      "SipHash-2-4, SipHash-1-3 and 128-bit variants in pure Rust")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-wasi-0.9
+(define-public rust-siphasher-0.2
   (package
-    (name "rust-wasi")
-    (version "0.9.0+wasi-snapshot-preview1")
+    (name "rust-siphasher")
+    (version "0.2.3")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "wasi" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "06g5v3vrdapfzvfq662cij7v8a1flwr2my45nnncdv2galrdzkfc"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "siphasher" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1b53m53l24lyhr505lwqzrpjyq5qfnic71mynrcfvm43rybf938b"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-compiler-builtins"
-          ,rust-compiler-builtins-0.1)
-         ("rust-rustc-std-workspace-alloc"
-          ,rust-rustc-std-workspace-alloc-1.0)
-         ("rust-rustc-std-workspace-core"
-          ,rust-rustc-std-workspace-core-1.0))))
-    (home-page
-      "https://github.com/bytecodealliance/wasi";)
-    (synopsis
-      "Experimental WASI API bindings for Rust")
+    (home-page "https://docs.rs/siphasher";)
+    (synopsis "SipHash functions from rust-core < 1.13")
     (description
-      "Experimental WASI API bindings for Rust")
-    (license
-      (list license:asl2.0
-            ;XXX unknown-license!
-            license:asl2.0
-            license:expat))))
+     "SipHash functions from rust-core < 1.13.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-getrandom-0.1
+(define-public rust-skeptic-0.13
   (package
-    (name "rust-getrandom")
-    (version "0.1.14")
+    (name "rust-skeptic")
+    (version "0.13.4")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "getrandom" version))
+        (uri (crate-uri "skeptic" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "1sq30li71h19rhnhs1h6576ja68insajx8wvh1nn088r8pc8vg3s"))))
+            "0rai61hbs65nbvbhqlk1nap5hlav5qx3zmjjjzh9rhgxagc8xyyn"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-cfg-if" ,rust-cfg-if-0.1)
-         ("rust-compiler-builtins"
-          ,rust-compiler-builtins-0.1)
-         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
-         ("rust-libc" ,rust-libc-0.2)
-         ("rust-log" ,rust-log-0.4)
-         ("rust-stdweb" ,rust-stdweb-0.4)
-         ("rust-wasi" ,rust-wasi-0.9)
-         ("rust-rustc-std-workspace-core"
-          ,rust-rustc-std-workspace-core-1.0))))
+        (("rust-error-chain" ,rust-error-chain-0.12)
+         ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.2)
+         ("rust-glob" ,rust-glob-0.2)
+         ("rust-tempdir" ,rust-tempdir-0.3)
+         ("rust-bytecount" ,rust-bytecount-0.4)
+         ("rust-cargo-metadata" ,rust-cargo-metadata-0.6)
+         ("rust-serde-json" ,rust-serde-json-1.0)
+         ("rust-walkdir" ,rust-walkdir-2.3))))
     (home-page
-      "https://github.com/rust-random/getrandom";)
+      "https://github.com/budziq/rust-skeptic";)
     (synopsis
-      "A small cross-platform library for retrieving random data from system 
source")
+      "Test your Rust markdown documentation via Cargo")
     (description
-      "This package provides a small cross-platform library for retrieving 
random data from system source")
+      "Test your Rust markdown documentation via Cargo")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-redox-users-0.3
+(define-public rust-slab-0.4
   (package
-    (name "rust-redox-users")
-    (version "0.3.4")
+    (name "rust-slab")
+    (version "0.4.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "redox_users" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "slab" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0cbl5w16l3bqm22i4vszclf6hzpljxicghmllw7j13az4s9k1ch9"))))
+         (base32
+          "1y59xsa27jk84sxzswjk60xcjf8b4fm5960jwpznrrcmasyva4f1"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/carllerche/slab";)
+    (synopsis "Pre-allocated storage for a uniform data type")
+    (description "This create provides a pre-allocated storage for a uniform
+data type.")
+    (license license:expat)))
+
+(define-public rust-sleef-sys-0.1
+  (package
+    (name "rust-sleef-sys")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sleef-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1881q2yc17j2m1yvh01447c93ws1mspnrj3k2nbvwbvcm8z81kkv"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-getrandom" ,rust-getrandom-0.1)
-         ("rust-redox-syscall" ,rust-redox-syscall-0.1)
-         ("rust-rust-argon2" ,rust-rust-argon2-0.7))))
-    (home-page
-      "https://gitlab.redox-os.org/redox-os/users";)
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-libc" ,rust-libc-0.2))
+       #:cargo-development-inputs
+       (("rust-bindgen" ,rust-bindgen-0.50)
+        ("rust-cmake" ,rust-cmake-0.1)
+        ("rust-env-logger" ,rust-env-logger-0.6))))
+    (home-page "https://github.com/gnzlbg/sleef-sys";)
     (synopsis
-      "A Rust library to access Redox users and groups functionality")
+     "Rust FFI bindings to the SLEEF Vectorized Math Library")
     (description
-      "This package provides a Rust library to access Redox users and groups 
functionality")
-    (license license:expat)))
+     "Rust FFI bindings to the SLEEF Vectorized Math Library.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-dirs-1.0
+(define-public rust-slog-2.5
   (package
-    (name "rust-dirs")
-    (version "1.0.5")
+    (name "rust-slog")
+    (version "2.5.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "dirs" version))
+        (uri (crate-uri "slog" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "009rrhzj9pxyncmm2vhlj70npg0cgggv2hjbbkiwdl9vccq8kmrz"))))
+            "16bv6zrdn1sm315vbnia02g31xvsmbjyz5gv3z0vrgxdli0cdj8w"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-libc" ,rust-libc-0.2)
-         ("rust-redox-users" ,rust-redox-users-0.3)
-         ("rust-winapi" ,rust-winapi-0.3))))
-    (home-page "https://github.com/soc/dirs-rs";)
+        (("rust-erased-serde" ,rust-erased-serde-0.3))))
+    (home-page "https://github.com/slog-rs/slog";)
     (synopsis
-      "A tiny low-level library that provides platform-specific standard 
locations of directories for config, cache and other data on Linux, Windows, 
macOS and Redox by leveraging the mechanisms defined by the XDG base/user 
directory specifications on Linux, the Known Folder API on Windows, and the 
Standard Directory guidelines on macOS.")
+      "Structured, extensible, composable logging for Rust")
     (description
-      "This package provides a tiny low-level library that provides 
platform-specific standard locations of directories for config, cache and other 
data on Linux, Windows, macOS and Redox by leveraging the mechanisms defined by 
the XDG base/user directory specifications on Linux, the Known Folder API on 
Windows, and the Standard Directory guidelines on macOS.")
-    (license (list license:expat license:asl2.0))))
+      "Structured, extensible, composable logging for Rust")
+    (license
+      (list license:mpl2.0
+            license:expat
+            license:asl2.0))))
 
-(define-public rust-freetype-0.4
+(define-public rust-slog-2.4
   (package
-    (name "rust-freetype")
-    (version "0.4.1")
+    (name "rust-slog")
+    (version "2.4.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "freetype" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0a70x03n68997f08bi3n47q9wyi3pv5s9v4rjc79sihb84mnp4hi"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "slog" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "13jh74jlckzh5cygkhs0k4r82wnmw8ha2km829xwslhr83n2w6hy"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-libc" ,rust-libc-0.2)
-         ("rust-servo-freetype-sys"
-          ,rust-servo-freetype-sys-4))))
-    (home-page
-      "https://github.com/servo/rust-freetype";)
-    (synopsis "Bindings for Freetype used by Servo")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-erased-serde" ,rust-erased-serde-0.3))))
+    (home-page "https://github.com/slog-rs/slog";)
+    (synopsis "Structured, extensible, composable logging for Rust")
     (description
-      "Bindings for Freetype used by Servo")
-    (license (list license:asl2.0 license:expat))))
+     "Structured, extensible, composable logging for Rust.")
+    (license (list license:mpl2.0
+                   license:expat
+                   license:asl2.0))))
 
-(define-public rust-arrayvec-0.4
+(define-public rust-smallvec-1
   (package
-    (name "rust-arrayvec")
-    (version "0.4.12")
+    (name "rust-smallvec")
+    (version "1.2.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "arrayvec" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1fdiv5m627gh6flp4mpmi1mh647imm9x423licsr11psz97d97yd"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "smallvec" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1z6f47i3qpg9pdjzzvb0g5i1vvdm2ymk3kqc1mdnl8fdkgnb4bsw"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-nodrop" ,rust-nodrop-0.1)
-         ("rust-serde" ,rust-serde-1.0))))
-    (home-page "https://github.com/bluss/arrayvec";)
-    (synopsis
-      "A vector with fixed capacity, backed by an array (it can be stored on 
the stack too). Implements fixed capacity ArrayVec and ArrayString.")
+     `(#:cargo-inputs
+       (("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1.1))))
+    (home-page "https://github.com/servo/rust-smallvec";)
+    (synopsis "Small vector optimization")
     (description
-      "This package provides a vector with fixed capacity, backed by an array 
(it can be stored on the stack too).  Implements fixed capacity ArrayVec and 
ArrayString.")
+     "'Small vector' optimization: store up to a small number of items on the
+stack.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-euclid-0.20
+(define-public rust-smallvec-0.6
   (package
-    (name "rust-euclid")
-    (version "0.20.9")
+    (inherit rust-smallvec-1)
+    (name "rust-smallvec")
+    (version "0.6.13")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "euclid" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1z4b54jbgyb9zwiy7qz4x1adajpml52kxmmykzs841m8937kw1lg"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "smallvec" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1dl219vnfkmsfx28lm3f83lyw24zap6fdsli6rg8nnp1aa67bc7p"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-maybe-uninit" ,rust-maybe-uninit-2.0)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1.1))))))
+
+(define-public rust-smithay-client-toolkit-0.6
+  (package
+    (name "rust-smithay-client-toolkit")
+    (version "0.6.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "smithay-client-toolkit" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0m20687zs36l6xak2s5k9s7qp78ly8xfjpbmrhacp7whfn4hx5lk"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-num-traits" ,rust-num-traits-0.2)
-         ("rust-mint" ,rust-mint-0.5)
-         ("rust-serde" ,rust-serde-1.0))))
-    (home-page "https://github.com/servo/euclid";)
-    (synopsis "Geometry primitives")
-    (description "Geometry primitives")
-    (license (list license:expat license:asl2.0))))
+     `(#:cargo-inputs
+       (("rust-andrew" ,rust-andrew-0.2)
+        ("rust-bitflags" ,rust-bitflags-1)
+        ("rust-dlib" ,rust-dlib-0.4)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-memmap" ,rust-memmap-0.7)
+        ("rust-nix" ,rust-nix-0.14)
+        ("rust-wayland-client" ,rust-wayland-client-0.23)
+        ("rust-wayland-protocols" ,rust-wayland-protocols-0.23))
+       #:cargo-development-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-image" ,rust-image-0.21)
+        ("rust-wayland-client" ,rust-wayland-client-0.23))))
+    (home-page "https://github.com/smithay/client-toolkit";)
+    (synopsis "Toolkit for making client wayland applications")
+    (description
+     "Toolkit for making client wayland applications.")
+    (license license:expat)))
 
-(define-public rust-lyon-geom-0.14
+(define-public rust-smithay-client-toolkit-0.4
   (package
-    (name "rust-lyon-geom")
-    (version "0.14.1")
+    (inherit rust-smithay-client-toolkit-0.6)
+    (name "rust-smithay-client-toolkit")
+    (version "0.4.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "smithay-client-toolkit" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1yj8yzd0lhqpsgq0x4iikl9a02q2hnkky81brk938alv0ibqrjrc"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-andrew" ,rust-andrew-0.2)
+        ("rust-bitflags" ,rust-bitflags-1)
+        ("rust-dlib" ,rust-dlib-0.4)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-memmap" ,rust-memmap-0.7)
+        ("rust-nix" ,rust-nix-0.14)
+        ("rust-wayland-client" ,rust-wayland-client-0.21)
+        ("rust-wayland-commons" ,rust-wayland-commons-0.21)
+        ("rust-wayland-protocols" ,rust-wayland-protocols-0.21))
+       #:cargo-development-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-image" ,rust-image-0.20)
+        ("rust-wayland-client" ,rust-wayland-client-0.21))))))
+
+(define-public rust-smithay-clipboard-0.3
+  (package
+    (name "rust-smithay-clipboard")
+    (version "0.3.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "smithay-clipboard" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1h7qhcx44cgwncgpn5llky0c56vgsg9mqrkybb2z37vsxxia4rwn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-nix" ,rust-nix-0.14)
+        ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6))
+       #:cargo-development-inputs
+       (("rust-andrew" ,rust-andrew-0.2))))
+    (inputs
+     `(("wayland" ,wayland)))
+    (home-page "https://github.com/smithay/smithay-clipboard";)
+    (synopsis
+     "Provides access to the wayland clipboard for client applications")
+    (description
+     "This package provides access to the wayland clipboard for client 
applications.")
+    (license license:expat)))
+
+(define-public rust-socket2-0.3
+  (package
+    (name "rust-socket2")
+    (version "0.3.11")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "lyon_geom" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "socket2" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "178z4cqqmyw0rsabbgx9phkjxjzcnq0604062lqjlq87k063216a"))))
+         (base32
+          "11bdcz04i106g4q7swkll0qxrb4287srqd2k3aq2q6i22zjlvdz8"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-num-traits" ,rust-num-traits-0.2)
-         ("rust-euclid" ,rust-euclid-0.20)
-         ("rust-arrayvec" ,rust-arrayvec-0.4)
-         ("rust-serde" ,rust-serde-1.0))))
-    (home-page "https://github.com/nical/lyon";)
-    (synopsis
-      "2D quadratic and cubic bézier arcs and line segment math on top of 
euclid.")
+     `(#:tests? #f      ; tests require network access
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page "https://github.com/alexcrichton/socket2-rs";)
+    (synopsis "Networking sockets in Rust")
     (description
-      "2D quadratic and cubic bézier arcs and line segment math on top of 
euclid.")
-    (license (list license:expat license:asl2.0))))
+     "This package provides utilities for handling networking sockets with a
+maximal amount of configuration possible intended.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-lyon-path-0.14
+(define-public rust-sourcefile-0.1
   (package
-    (name "rust-lyon-path")
-    (version "0.14.0")
+    (name "rust-sourcefile")
+    (version "0.1.4")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "lyon_path" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "sourcefile" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0qk8x46w0sf6j04l6gvhgn9kr4ymcqkmkh67w8wqahm54jn5gjqb"))))
+         (base32
+          "1lwa6973zs4bgj29my7agfjgk4nw9hp6j7dfnr13nid85fw7rxsb"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-lyon-geom" ,rust-lyon-geom-0.14)
-         ("rust-serde" ,rust-serde-1.0))))
-    (home-page "https://github.com/nical/lyon";)
-    (synopsis
-      "Types and utilities to store, build and iterate over 2D paths.")
+     `(#:cargo-development-inputs
+       (("rust-tempfile" ,rust-tempfile-3.1))))
+    (home-page "https://github.com/derekdreery/sourcefile-rs";)
+    (synopsis "Concatenate source from multiple files")
     (description
-      "Types and utilities to store, build and iterate over 2D paths.")
-    (license (list license:expat license:asl2.0))))
+     "A library for concatenating source from multiple files, whilst keeping
+track of where each new file and line starts.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-font-kit-0.4
+(define-public rust-speculate-0.1
   (package
-    (name "rust-font-kit")
-    (version "0.4.0")
+    (name "rust-speculate")
+    (version "0.1.2")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "font-kit" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1fmg1jmqdvsjxjbyz8chpx1mhp544mwq128ns1shhrha5a6zzdqp"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "speculate" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ph01n3fqkmnfr1wd13dqsi4znv06xy6p4h3hqqdzk81r0r5vd1w"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-lyon-path" ,rust-lyon-path-0.14)
-         ("rust-core-graphics" ,rust-core-graphics-0.17)
-         ("rust-float-ord" ,rust-float-ord-0.2)
-         ("rust-libc" ,rust-libc-0.2)
-         ("rust-euclid" ,rust-euclid-0.20)
-         ("rust-winapi" ,rust-winapi-0.3)
-         ("rust-servo-fontconfig"
-          ,rust-servo-fontconfig-0.4)
-         ("rust-freetype" ,rust-freetype-0.4)
-         ("rust-log" ,rust-log-0.4)
-         ("rust-core-foundation"
-          ,rust-core-foundation-0.6)
-         ("rust-memmap" ,rust-memmap-0.7)
-         ("rust-dwrote" ,rust-dwrote-0.9)
-         ("rust-dirs" ,rust-dirs-1.0)
-         ("rust-byteorder" ,rust-byteorder-1.3)
-         ("rust-lazy-static" ,rust-lazy-static-1.4)
-         ("rust-core-text" ,rust-core-text-13)
-         ("rust-walkdir" ,rust-walkdir-2.3))))
-    (home-page "https://github.com/servo/font-kit";)
-    (synopsis
-      "A cross-platform font loading library")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-0.15)
+        ("rust-unicode-xid" ,rust-unicode-xid-0.1))))
+    (home-page "https://github.com/utkarshkukreti/speculate.rs";)
+    (synopsis "RSpec inspired testing framework for Rust")
     (description
-      "This package provides a cross-platform font loading library")
-    (license (list license:expat license:asl2.0))))
+     "An RSpec inspired minimal testing framework for Rust.")
+    (license license:expat)))
 
-(define-public rust-web-sys-0.3
+(define-public rust-spin-0.5
   (package
-    (name "rust-web-sys")
-    (version "0.3.37")
+    (name "rust-spin")
+    (version "0.5.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "web-sys" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "spin" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1jy4q5jawzg3dxzhfwa0g3fsz7h4j0ra6y232ikc6mlcimj52vrd"))))
+         (base32
+          "0b84m6dbzrwf2kxylnw82d3dr8w06av7rfkr8s85fb5f43rwyqvf"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
-         ("rust-js-sys" ,rust-js-sys-0.3))))
-    (home-page
-      "https://rustwasm.github.io/wasm-bindgen/web-sys/index.html";)
-    (synopsis
-      "Bindings for all Web APIs, a procedurally generated crate from WebIDL
-")
-    (description
-      "Bindings for all Web APIs, a procedurally generated crate from WebIDL
-")
-    (license (list license:expat license:asl2.0))))
+    (home-page "https://github.com/mvdnes/spin-rs";)
+    (synopsis "Synchronization primitives based on spinning")
+    (description "This crate provides synchronization primitives based on
+spinning.  They may contain data, are usable without @code{std},and static
+initializers are available.")
+    (license license:expat)))
 
-(define-public rust-piston-gfx-texture-0.40
+(define-public rust-spin-0.4
   (package
-    (name "rust-piston-gfx-texture")
-    (version "0.40.0")
+    (inherit rust-spin-0.5)
+    (name "rust-spin")
+    (version "0.4.10")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "piston-gfx_texture" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1nr5awdgk3njfvfanszrv4gxz93f6skid1c8yijswccygripchqz"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "spin" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "07ywqn1vrpi3c43fmvsx7pawk9h3rb77yyqbnhap2micl454kb6f"))))
+    (arguments '(#:skip-build? #t))))
+
+(define-public rust-spsc-buffer-0.1
+  (package
+    (name "rust-spsc-buffer")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "spsc-buffer" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0fsv5zpxkax2n46flxhyajq1yblgh8f33la39gp86hksqcwkyv5y"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-gfx" ,rust-gfx-0.18)
-         ("rust-image" ,rust-image-0.22)
-         ("rust-piston-texture" ,rust-piston-texture-0.8)
-         ("rust-gfx-core" ,rust-gfx-core-0.9))))
-    (home-page
-      "https://github.com/pistondevelopers/gfx_texture";)
-    (synopsis
-      "A Gfx texture representation that works nicely with Piston libraries")
+     `(#:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.2))))
+    (home-page "https://github.com/davidhewitt/spsc-buffer";)
+    (synopsis "Single-producer single-consumer lock-free buffer")
     (description
-      "This package provides a Gfx texture representation that works nicely 
with Piston libraries")
+     "This package provides a single-producer single-consumer lock-free 
buffer.")
     (license license:expat)))
 
-(define-public rust-piston-shaders-graphics2d-0.3
+(define-public rust-stable-deref-trait-1.1
   (package
-    (name "rust-piston-shaders-graphics2d")
-    (version "0.3.1")
+    (name "rust-stable-deref-trait")
+    (version "1.1.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "piston-shaders_graphics2d" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "stable_deref_trait" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1dhh9bv4q19gdnj9d1nqq0yrvzs6gcn0c5j1p1f3xzyzq7d1gg4p"))))
+         (base32
+          "1j2lkgakksmz4vc5hfawcch2ipiskrhjs1sih0f3br7s7rys58fv"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/PistonDevelopers/shaders";)
-    (synopsis "Shaders for 2D graphics in Rust")
-    (description "Shaders for 2D graphics in Rust")
-    (license license:expat)))
+    (home-page "https://github.com/storyyeller/stable_deref_trait0";)
+    (synopsis "Defines an unsafe marker trait, StableDeref")
+    (description
+      "This crate defines an unsafe marker trait, StableDeref, for container
+types which deref to a fixed address which is valid even when the containing
+type is moved.  For example, Box, Vec, Rc, Arc and String implement this trait.
+Additionally, it defines CloneStableDeref for types like Rc where clones deref
+to the same address.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-piston2d-gfx-graphics-0.66
+(define-public rust-stacker-0.1
   (package
-    (name "rust-piston2d-gfx-graphics")
-    (version "0.66.0")
+    (name "rust-stacker")
+    (version "0.1.6")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "piston2d-gfx_graphics" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "stacker" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1pmlkf5rl6pr0c1lqm0059xwj9pwlws7gaq9w6r9d916di6fzki1"))))
+         (base32
+          "12igajfgqz96c7vcwi91xdfsphawik6g36ndlglqih0a7bqw8vyr"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-psm" ,rust-psm-0.1)
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-cc" ,rust-cc-1.0))))
+    (home-page "https://github.com/rust-lang/stacker";)
+    (synopsis "Manual segmented stacks for Rust")
+    (description
+     "This package provides a stack growth library useful when implementing
+deeply recursive algorithms that may accidentally blow the stack.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-stackvector-1.0
+  (package
+    (name "rust-stackvector")
+    (version "1.0.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "stackvector" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1bv820fhdad16islwli1g3iksk39ivf0zaqz4j1m08vq15jjaiqw"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-gfx" ,rust-gfx-0.18)
-         ("rust-piston-shaders-graphics2d"
-          ,rust-piston-shaders-graphics2d-0.3)
-         ("rust-piston2d-graphics"
-          ,rust-piston2d-graphics-0.35)
-         ("rust-piston-gfx-texture"
-          ,rust-piston-gfx-texture-0.40)
-         ("rust-shader-version" ,rust-shader-version-0.6)
-         ("rust-draw-state" ,rust-draw-state-0.8))))
-    (home-page
-      "https://github.com/PistonDevelopers/gfx_graphics";)
-    (synopsis
-      "A Gfx 2D back-end for the Piston game engine")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-unreachable" ,rust-unreachable-1.0))
+       #:cargo-development-inputs
+       (("rust-rustc-version" ,rust-rustc-version-0.2))))
+    (home-page "https://github.com/Alexhuszagh/rust-stackvector";)
+    (synopsis "Vector-like facade for stack-allocated arrays")
     (description
-      "This package provides a Gfx 2D back-end for the Piston game engine")
-    (license license:expat)))
+     "StackVec: vector-like facade for stack-allocated arrays.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-gl-generator-0.10
+(define-public rust-static-assertions-0.3
   (package
-    (name "rust-gl-generator")
-    (version "0.10.0")
+    (name "rust-static-assertions")
+    (version "0.3.4")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "gl_generator" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "static-assertions" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0146yd4i9wbgfrhnkc04w7n7civbanznc0q87skp6v7p7hbszzx0"))))
+         (base32
+          "1lw33i89888yb3x29c6dv4mrkg3534n0rlg3r7qzh4p58xmv6gkz"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-log" ,rust-log-0.4)
-         ("rust-xml-rs" ,rust-xml-rs-0.8)
-         ("rust-khronos-api" ,rust-khronos-api-3))))
-    (home-page
-      "https://github.com/brendanzab/gl-rs/";)
-    (synopsis
-      "Code generators for creating bindings to the Khronos OpenGL APIs.")
+    (home-page "https://github.com/nvzqz/static-assertions-rs";)
+    (synopsis "Compile-time assertions for rust")
     (description
-      "Code generators for creating bindings to the Khronos OpenGL APIs.")
-    (license license:asl2.0)))
+     "This package provides compile-time assertions to ensure that invariants
+are met.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-gl-0.11
+(define-public rust-stb-truetype-0.3
   (package
-    (name "rust-gl")
-    (version "0.11.0")
+    (name "rust-stb-truetype")
+    (version "0.3.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "gl" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1wcqpyhck0xriffkmgmldy33lwk2044hb4l02d44vm4fbvicin6p"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "stb_truetype" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0lgvnh3ma6cz811bk8imj45djz76zs47b8327sgnmik2x03nnyzp"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-gl-generator" ,rust-gl-generator-0.10))))
-    (home-page
-      "https://github.com/brendanzab/gl-rs/";)
-    (synopsis "OpenGL bindings")
-    (description "OpenGL bindings")
-    (license license:asl2.0)))
+     `(#:tests? #f      ; tests not included in release
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-libm" ,rust-libm-0.2))
+       #:cargo-development-inputs
+       (("rust-approx" ,rust-approx-0.3))))
+    (home-page "https://gitlab.redox-os.org/redox-os/stb_truetype-rs";)
+    (synopsis "Translation of the font loading code to Rust")
+    (description
+     "This package provides a straight translation of the font loading code
+in @code{stb_truetype.h} from C to Rust.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-pistoncore-glutin-window-0.63
+(define-public rust-stdweb-0.4
   (package
-    (name "rust-pistoncore-glutin-window")
-    (version "0.63.0")
+    (name "rust-stdweb")
+    (version "0.4.20")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "pistoncore-glutin_window" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0dhbyxarv5i742d400bmqdqq3f8c25kcgcg0xavrc18dc913rixc"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "stdweb" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1md14n9rzxzdskz3hpgln8vxfwqsw2cswc0f5nslh4r82rmlj8nh"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-gl" ,rust-gl-0.11)
-         ("rust-glutin" ,rust-glutin-0.21)
-         ("rust-pistoncore-input"
-          ,rust-pistoncore-input-0.28)
-         ("rust-pistoncore-window"
-          ,rust-pistoncore-window-0.44)
-         ("rust-shader-version" ,rust-shader-version-0.6))))
-    (home-page
-      "https://github.com/pistondevelopers/glutin_window";)
-    (synopsis
-      "A Piston window back-end using the Glutin library")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-discard" ,rust-discard-1.0)
+        ("rust-futures-channel-preview" ,rust-futures-channel-preview-0.3)
+        ("rust-futures-core-preview" ,rust-futures-core-preview-0.3)
+        ("rust-futures-executor-preview" ,rust-futures-executor-preview-0.3)
+        ("rust-futures-util-preview" ,rust-futures-util-preview-0.3)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-stdweb-derive" ,rust-stdweb-derive-0.5)
+        ("rust-stdweb-internal-macros" ,rust-stdweb-internal-macros-0.2)
+        ("rust-stdweb-internal-runtime" ,rust-stdweb-internal-runtime-0.1)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+        ("rust-rustc-version" ,rust-rustc-version-0.2))
+       #:cargo-development-inputs
+       (("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-stdweb-internal-test-macro" 
,rust-stdweb-internal-test-macro-0.1)
+        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))
+    (home-page "https://github.com/koute/stdweb";)
+    (synopsis "Standard library for the client-side Web")
     (description
-      "This package provides a Piston window back-end using the Glutin 
library")
-    (license license:expat)))
+     "This package provides a standard library for the client-side
+Web.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-shader-version-0.6
+(define-public rust-stdweb-derive-0.5
   (package
-    (name "rust-shader-version")
-    (version "0.6.0")
+    (name "rust-stdweb-derive")
+    (version "0.5.3")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "shader_version" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1yk651xc9irl3pl0rlplypzyzy44d0j03ji0j7hjjdjknwzpi3j7"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "stdweb-derive" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vsh7g0gaxn4kxqq3knhymdn02p2pfxmnd2j0vplpj6c1yj60yn8"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-piston-graphics-api-version"
-          ,rust-piston-graphics-api-version-0.2))))
-    (home-page
-      "https://github.com/pistondevelopers/shader_version";)
-    (synopsis
-      "A helper library for detecting and picking compatible shaders")
+     `(#:tests? #f
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-syn" ,rust-syn-1.0))))
+    (home-page "https://github.com/koute/stdweb";)
+    (synopsis "Derive macros for the stdweb crate")
     (description
-      "This package provides a helper library for detecting and picking 
compatible shaders")
-    (license license:expat)))
+     "This crate currently defines a derive macro for @code{stdweb} which 
allows
+you to define custom reference types outside of the @code{stdweb} library.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-pistoncore-event-loop-0.49
+(define-public rust-stdweb-internal-macros-0.2
   (package
-    (name "rust-pistoncore-event-loop")
-    (version "0.49.0")
+    (name "rust-stdweb-internal-macros")
+    (version "0.2.9")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "pistoncore-event_loop" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1h9ij9vx42xg39198yxdlpk842pli5jqm2kwswiv3bqqcji0fwsm"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "stdweb-internal-macros" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "049fq8fl5ny9l5if2qv7kxwng7g6ns95h4fbm3zx360dmpv5zyjq"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-pistoncore-input"
-          ,rust-pistoncore-input-0.28)
-         ("rust-pistoncore-window"
-          ,rust-pistoncore-window-0.44))))
-    (home-page
-      "https://github.com/PistonDevelopers/piston";)
-    (synopsis
-      "A Piston event loop for games and interactive applications")
+     `(#:cargo-inputs
+       (("rust-base-x" ,rust-base-x-0.2)
+        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-sha1" ,rust-sha1-0.6)
+        ("rust-syn" ,rust-syn-1.0))))
+    (home-page "https://github.com/koute/stdweb";)
+    (synopsis "Internal procedural macros for the stdweb crate")
     (description
-      "This package provides a Piston event loop for games and interactive 
applications")
-    (license license:expat)))
+     "Internal procedural macros for the @code{stdweb} crate.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-piston-graphics-api-version-0.2
+(define-public rust-stdweb-internal-runtime-0.1
   (package
-    (name "rust-piston-graphics-api-version")
-    (version "0.2.0")
+    (name "rust-stdweb-internal-runtime")
+    (version "0.1.5")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "piston-graphics_api_version" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "stdweb-internal-runtime" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1b5p6s45jqv057lpbxkiq3yrdjjhvcynmi2vjf8292rf0yh4hky5"))))
+         (base32
+          "1h0nkppb4r8dbrbms2hw9n5xdcs392m0r5hj3b6lsx3h6fx02dr1"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/PistonDevelopers/graphics_api_version";)
-    (synopsis
-      "A library for storing graphics API versions")
-    (description
-      "This package provides a library for storing graphics API versions")
-    (license license:expat)))
+    (home-page "https://github.com/koute/stdweb";)
+    (synopsis "Internal runtime for the @code{stdweb} crate")
+    (description "This crate provides internal runtime for the @code{stdweb}
+crate.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-pistoncore-window-0.44
+(define-public rust-stdweb-internal-test-macro-0.1
   (package
-    (name "rust-pistoncore-window")
-    (version "0.44.0")
+    (name "rust-stdweb-internal-test-macro")
+    (version "0.1.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "pistoncore-window" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "stdweb-internal-test-macro" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "18qy3nnpb9jczvkiyzzznamck0pzgiyi6073jrkldnci6b3in10q"))))
+         (base32
+          "0wx3jlm98qrg1pdw149fprzs9x3x3igqkm5ll23jv2v62yddfrjf"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-piston-graphics-api-version"
-          ,rust-piston-graphics-api-version-0.2)
-         ("rust-pistoncore-input"
-          ,rust-pistoncore-input-0.28))))
-    (home-page
-      "https://github.com/PistonDevelopers/piston";)
-    (synopsis "A library for window abstraction")
+     `(#:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0))))
+    (home-page "https://github.com/koute/stdweb";)
+    (synopsis "Internal crate of the `stdweb` crate")
     (description
-      "This package provides a library for window abstraction")
-    (license license:expat)))
+     "Internal crate of the @code{stdweb} crate.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-pistoncore-input-0.28
+(define-public rust-stream-cipher-0.3
   (package
-    (name "rust-pistoncore-input")
-    (version "0.28.0")
+    (name "rust-stream-cipher")
+    (version "0.3.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "pistoncore-input" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1rrcz9px098m3nx98gvrvzirfdp3vg03cblfkcrp4wnvswc0hwq5"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "stream-cipher" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1g1nd8r6pph70rzk5yyvg7a9ji7pkap9ddiqpp4v9xa9ys0bqqc8"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-piston-viewport"
-          ,rust-piston-viewport-1.0)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-serde-derive" ,rust-serde-derive-1.0)
-         ("rust-bitflags" ,rust-bitflags-1))))
-    (home-page
-      "https://github.com/PistonDevelopers/piston";)
-    (synopsis "A structure for user input")
-    (description
-      "This package provides a structure for user input")
-    (license license:expat)))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-blobby" ,rust-blobby-0.1)
+        ("rust-generic-array" ,rust-generic-array-0.13))))
+    (home-page "https://github.com/RustCrypto/traits";)
+    (synopsis "Stream cipher traits")
+    (description "Stream cipher traits.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-piston-0.49
+(define-public rust-streaming-stats-0.2
   (package
-    (name "rust-piston")
-    (version "0.49.0")
+    (name "rust-streaming-stats")
+    (version "0.2.3")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "piston" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "streaming-stats" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1y0rbw92mzagqmwk79wv9axq0m7aid0s0d5cppyzh33wrxhdl3xj"))))
+         (base32
+          "0iz5dlq51w5hxjrv6a4hpf8rrj91kgvy0s9mhj0j12il9v771mmh"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-pistoncore-input"
-          ,rust-pistoncore-input-0.28)
-         ("rust-pistoncore-window"
-          ,rust-pistoncore-window-0.44)
-         ("rust-pistoncore-event-loop"
-          ,rust-pistoncore-event-loop-0.49))))
-    (home-page
-      "https://github.com/PistonDevelopers/piston";)
-    (synopsis
-      "The Piston game engine core libraries")
+     `(#:cargo-inputs
+       (("rust-num-traits" ,rust-num-traits-0.2))))
+    (home-page "https://github.com/BurntSushi/rust-stats";)
+    (synopsis "Compute basic statistics on streams")
     (description
-      "The Piston game engine core libraries")
-    (license license:expat)))
+     "Experimental crate for computing basic statistics on streams.")
+    (license (list license:unlicense
+                   license:expat))))
 
-(define-public rust-vecmath-1.0
+(define-public rust-string-cache-0.7
   (package
-    (name "rust-vecmath")
-    (version "1.0.0")
+    (name "rust-string-cache")
+    (version "0.7.5")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "vecmath" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0shmj76rj7rqv377vy365xwr5rx23kxqgkqxxrymdjjvv3hf2slm"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "string_cache" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0rrdb822gc1fs3qq4camgj3kh4182bs79hpqxhdrpmlz5yl5ih49"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-piston-float" ,rust-piston-float-1.0))))
-    (home-page
-      "https://github.com/pistondevelopers/vecmath";)
-    (synopsis
-      "A simple and type agnostic library for vector math designed for 
reexporting")
+     `(#:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-new-debug-unreachable"
+         ,rust-new-debug-unreachable-1.0)
+        ("rust-phf-shared" ,rust-phf-shared-0.7)
+        ("rust-precomputed-hash" ,rust-precomputed-hash-0.1)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-string-cache-codegen" ,rust-string-cache-codegen-0.4)
+        ("rust-string-cache-shared" ,rust-string-cache-shared-0.3))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.4))))
+    (home-page "https://github.com/servo/string-cache";)
+    (synopsis "String interning library for Rust")
     (description
-      "This package provides a simple and type agnostic library for vector 
math designed for reexporting")
-    (license license:expat)))
+     "This package provides a string interning library for Rust,
+developed as part of the Servo project.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-read-color-1.0
+(define-public rust-string-cache-codegen-0.4
   (package
-    (name "rust-read-color")
-    (version "1.0.0")
+    (name "rust-string-cache-codegen")
+    (version "0.4.4")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "read_color" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1np0pk31ak7hni4hri3m75mbf8py1wdfjshmrj5krbd4p9c8hk4z"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "string-cache-codegen" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ik78h9gs874i24rkyh0myg6x4ni2a9cazbv5yzs9yavnv8mxx7h"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/pistondevelopers/read_color";)
-    (synopsis
-      "A simple library for reading hex colors")
+    (arguments
+     `(#:cargo-inputs
+       (("rust-phf-generator" ,rust-phf-generator-0.7)
+        ("rust-phf-shared" ,rust-phf-shared-0.7)
+        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-string-cache-shared"
+         ,rust-string-cache-shared-0.3))))
+    (home-page "https://github.com/servo/string-cache";)
+    (synopsis "Codegen library for string-cache")
     (description
-      "This package provides a simple library for reading hex colors")
-    (license (list license:expat license:asl2.0))))
+     "This package provides a codegen library for string-cache,
+developed as part of the Servo project.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-piston-float-1.0
+(define-public rust-string-cache-shared-0.3
   (package
-    (name "rust-piston-float")
-    (version "1.0.0")
+    (name "rust-string-cache-shared")
+    (version "0.3.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "piston-float" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0r35aasycms79hf2vf1ap40kkp8ywgl4hmfkf762dq8jwd3vw07r"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "string-cache-shared" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1z7dpdix1m42x6ddshdcpjf91ml9mhvnskmiv5kd8hcpq0dlv25i"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/pistondevelopers/float";)
-    (synopsis
-      "Traits for generic floats in game development")
+    (home-page "https://github.com/servo/string-cache";)
+    (synopsis "Code share between string_cache and string_cache_codegen")
     (description
-      "Traits for generic floats in game development")
-    (license license:expat)))
+     "Code share between string_cache and string_cache_codegen.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-piston-viewport-1.0
+(define-public rust-strsim-0.9
   (package
-    (name "rust-piston-viewport")
-    (version "1.0.0")
+    (name "rust-strsim")
+    (version "0.9.3")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "piston-viewport" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "strsim" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "16378hcy41b7x3zj2z4har0wq6fl4r62kf9p106jjl8hg2dv3aq1"))))
+         (base32
+          "0k497pv882qn3q977ckznm13vxx927g8s1swvcv68j3c1pccwik4"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-piston-float" ,rust-piston-float-1.0))))
-    (home-page
-      "https://github.com/PistonDevelopers/viewport";)
-    (synopsis
-      "A library for storing viewport information")
-    (description
-      "This package provides a library for storing viewport information")
+    (home-page "https://github.com/dguo/strsim-rs";)
+    (synopsis "Rust implementations of string similarity metrics")
+    (description "This crate includes implementations of string similarity
+metrics.  It includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro,
+and Jaro-Winkler.")
     (license license:expat)))
 
-(define-public rust-piston-texture-0.8
+(define-public rust-strsim-0.8
   (package
-    (name "rust-piston-texture")
+    (inherit rust-strsim-0.9)
+    (name "rust-strsim")
     (version "0.8.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "piston-texture" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "strsim" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1pcv5my49b8xzqcb87wqh2ndgvr4s9ipys96s0h9j2plxrj3bjb2"))))
-    (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/pistondevelopers/texture";)
-    (synopsis "A generic library for textures")
-    (description
-      "This package provides a generic library for textures")
-    (license license:expat)))
+         (base32
+          "0sjsm7hrvjdifz661pjxq5w4hf190hx53fra8dfvamacvff139cf"))))))
 
-(define-public rust-interpolation-0.2
+(define-public rust-strsim-0.6
   (package
-    (name "rust-interpolation")
-    (version "0.2.0")
+    (inherit rust-strsim-0.9)
+    (name "rust-strsim")
+    (version "0.6.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "interpolation" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "00icvvgc72zdgyrwwg2p0wad4hry4d2vd6l9iqpyjpmw5dykbdyk"))))
-    (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/pistondevelopers/interpolation";)
-    (synopsis "A library for interpolation")
-    (description
-      "This package provides a library for interpolation")
-    (license license:expat)))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "strsim" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "151ngha649cyybr3j50qg331b206zrinxqz7fzw1ra8r0n0mrldl"))))))
 
-(define-public rust-piston2d-graphics-0.35
+(define-public rust-strsim-0.5
   (package
-    (name "rust-piston2d-graphics")
-    (version "0.35.0")
+    (inherit rust-strsim-0.9)
+    (name "rust-strsim")
+    (version "0.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "strsim" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0z3zzvmilfldp4xw42qbkjf901dcnbk58igrzsvivydjzd24ry37"))))))
+
+(define-public rust-structopt-0.3
+  (package
+    (name "rust-structopt")
+    (version "0.3.12")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "piston2d-graphics" version))
+        (uri (crate-uri "structopt" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "1dx2fanxc2pj76hc5l72x0fh4qg9gchjlr8rmbhdk6jpggcmq56g"))))
+            "178m7wxnjyy9a8a961z74nazjsg79rfv3gv9g3bykfrrjmqs5yn8"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-interpolation" ,rust-interpolation-0.2)
-         ("rust-rusttype" ,rust-rusttype-0.7)
-         ("rust-piston-texture" ,rust-piston-texture-0.8)
-         ("rust-piston-viewport"
-          ,rust-piston-viewport-1.0)
-         ("rust-read-color" ,rust-read-color-1.0)
-         ("rust-vecmath" ,rust-vecmath-1.0)
-         ("rust-fnv" ,rust-fnv-1.0))))
+        (("rust-structopt-derive"
+          ,rust-structopt-derive-0.4)
+         ("rust-lazy-static" ,rust-lazy-static-1.4)
+         ("rust-clap" ,rust-clap-2))))
     (home-page
-      "https://github.com/pistondevelopers/graphics";)
+      "https://github.com/TeXitoi/structopt";)
     (synopsis
-      "A library for 2D graphics that works with multiple back-ends")
+      "Parse command line argument by defining a struct.")
     (description
-      "This package provides a library for 2D graphics that works with 
multiple back-ends")
-    (license license:expat)))
+      "Parse command line argument by defining a struct.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-gfx-0.18
+(define-public rust-structopt-0.2
   (package
-    (name "rust-gfx")
-    (version "0.18.2")
+    (name "rust-structopt")
+    (version "0.2.18")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "gfx" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "structopt" version))
+        (file-name (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "0nqmxqi3x4ni0g78g77a6aldrv8cfvzhnpqhxyd2ap4aa3wldph1"))))
+         (base32
+          "1mvfv1l8vp3y402fkl2wcl34hi7gmr4bqha13dfz2xf3kjzwvhhn"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-log" ,rust-log-0.4)
-         ("rust-mint" ,rust-mint-0.5)
-         ("rust-draw-state" ,rust-draw-state-0.8)
-         ("rust-gfx-core" ,rust-gfx-core-0.9))))
-    (home-page "https://github.com/gfx-rs/gfx";)
-    (synopsis
-      "A high-performance, bindless graphics API")
+     `(#:tests? #f
+       #:cargo-inputs
+       (("rust-clap" ,rust-clap-2)
+        ("rust-structopt-derive" ,rust-structopt-derive-0.2))))
+    (home-page "https://github.com/TeXitoi/structopt";)
+    (synopsis "Parse command line arguments by defining a struct")
     (description
-      "This package provides a high-performance, bindless graphics API")
-    (license license:asl2.0)))
+     "Parse command line arguments by defining a struct.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-draw-state-0.8
+(define-public rust-structopt-derive-0.4
   (package
-    (name "rust-draw-state")
-    (version "0.8.0")
+    (name "rust-structopt-derive")
+    (version "0.4.5")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "draw_state" version))
+        (uri (crate-uri "structopt-derive" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "0lfng4fz9x7bwsmzv9r20ply10w0iid6vfcrhx292s6hw8vrbkrk"))))
+            "0c04bbzc5bmr2ns6qy35yz55nn3xvlq4dpwxdynnljb9ikhvi21z"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-serde" ,rust-serde-1.0)
-         ("rust-bitflags" ,rust-bitflags-1))))
+        (("rust-heck" ,rust-heck-0.3)
+         ("rust-proc-macro-error"
+          ,rust-proc-macro-error-0.4)
+         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+         ("rust-syn" ,rust-syn-1.0)
+         ("rust-quote" ,rust-quote-1.0))))
     (home-page
-      "https://github.com/gfx-rs/draw_state";)
-    (synopsis "Graphics state blocks for gfx-rs")
-    (description "Graphics state blocks for gfx-rs")
-    (license license:asl2.0)))
+      "https://github.com/TeXitoi/structopt";)
+    (synopsis
+      "Parse command line argument by defining a struct, derive crate.")
+    (description
+      "Parse command line argument by defining a struct, derive crate.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-gfx-core-0.9
+(define-public rust-structopt-derive-0.2
   (package
-    (name "rust-gfx-core")
-    (version "0.9.2")
+    (name "rust-structopt-derive")
+    (version "0.2.18")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "gfx_core" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "structopt-derive" version))
+        (file-name (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "0haldr99n12d90vqgvl77n59hywlklhdff85j2aljaz1yapdvyvm"))))
+         (base32
+          "01sis9z5kqmyhvzbnmlzpdxcry99a0b9blypksgnhdsbm1hh40ak"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-log" ,rust-log-0.4)
-         ("rust-mint" ,rust-mint-0.5)
-         ("rust-draw-state" ,rust-draw-state-0.8)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-bitflags" ,rust-bitflags-1))))
-    (home-page "https://github.com/gfx-rs/gfx";)
-    (synopsis "Core library of Gfx-rs")
-    (description "Core library of Gfx-rs")
-    (license license:asl2.0)))
+     `(#:cargo-inputs
+       (("rust-heck" ,rust-heck-0.3)
+        ("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-quote" ,rust-quote-0.6)
+        ("rust-syn" ,rust-syn-0.15))))
+    (home-page "https://github.com/TeXitoi/structopt";)
+    (synopsis
+     "Parse command line argument by defining a struct, derive crate")
+    (description
+     "Parse command line argument by defining a struct, derive crate.")
+    (license (list license:asl2.0 license:expat))))
+
+(define-public rust-subtle-1.0
+  (package
+    (name "rust-subtle")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "subtle" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vm80mxbwfj334izwm8x8l65v1xl9hr0kwrg36r1rq565fkaarrd"))))
+    (build-system cargo-build-system)
+    (home-page "https://dalek.rs/";)
+    (synopsis
+     "Pure-Rust traits and utilities for cryptographic implementations")
+    (description
+     "This package provides Pure-Rust traits and utilities for constant-time
+cryptographic implementations.")
+    (license license:bsd-3)))
 
-(define-public rust-gfx-gl-0.6
+(define-public rust-sval-0.4
   (package
-    (name "rust-gfx-gl")
-    (version "0.6.1")
+    (name "rust-sval")
+    (version "0.4.7")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "gfx_gl" version))
+        (uri (crate-uri "sval" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "0ppzj4bgjawdqz3fvnscqk8lnmgh95pwzh0v96vwy809cxj83lzj"))))
+            "1aljggx64481q4wp3wx9hxsfh2bs7d64nqsrwbb2zxcpmdnbn6yk"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-gl-generator" ,rust-gl-generator-0.14))))
-    (home-page "https://github.com/gfx-rs/gfx_gl";)
+        (("rust-sval-derive" ,rust-sval-derive-0.4)
+         ("rust-smallvec" ,rust-smallvec-0.6)
+         ("rust-serde" ,rust-serde-1.0))))
+    (home-page "https://github.com/sval-rs/sval";)
     (synopsis
-      "OpenGL bindings for gfx, based on gl-rs")
+      "A no-std, object-safe serialization framework")
     (description
-      "OpenGL bindings for gfx, based on gl-rs")
-    (license license:asl2.0)))
+      "This package provides a no-std, object-safe serialization framework")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-gfx-device-gl-0.16
+(define-public rust-sval-derive-0.4
   (package
-    (name "rust-gfx-device-gl")
-    (version "0.16.2")
+    (name "rust-sval-derive")
+    (version "0.4.7")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "gfx_device_gl" version))
+        (uri (crate-uri "sval_derive" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "1g5yg19jvxdmviljyakhd6253bnb2qg7v8iscf48ihc0ldgki70h"))))
+            "07s7jqsdczsg0wnydfnxyrsj8zyrjmiwl4is1dfgn8dfvyi8n2bj"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-log" ,rust-log-0.4)
-         ("rust-gfx-gl" ,rust-gfx-gl-0.6)
-         ("rust-gfx-core" ,rust-gfx-core-0.9))))
-    (home-page "https://github.com/gfx-rs/gfx";)
-    (synopsis "OpenGL backend for gfx-rs")
-    (description "OpenGL backend for gfx-rs")
-    (license license:asl2.0)))
+        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+         ("rust-syn" ,rust-syn-1.0)
+         ("rust-quote" ,rust-quote-1.0))))
+    (home-page "https://github.com/sval-rs/sval";)
+    (synopsis "Custom derive for sval")
+    (description "Custom derive for sval")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-piston-window-0.105
+(define-public rust-syn-1.0
   (package
-    (name "rust-piston-window")
-    (version "0.105.0")
+    (name "rust-syn")
+    (version "1.0.17")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "piston_window" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "syn" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "05n2905gkp5ck25kbq95ia6pj1xz63dpp247jz3xcw1d41xpvi95"))))
+         (base32
+          "00xvf772ys4fj9fr8kplmsqb9if215dsipi3nv54aw9q7xkfpw0d"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-gfx-device-gl" ,rust-gfx-device-gl-0.16)
-         ("rust-gfx" ,rust-gfx-0.18)
-         ("rust-piston2d-graphics"
-          ,rust-piston2d-graphics-0.35)
-         ("rust-piston" ,rust-piston-0.49)
-         ("rust-shader-version" ,rust-shader-version-0.6)
-         ("rust-pistoncore-glutin-window"
-          ,rust-pistoncore-glutin-window-0.63)
-         ("rust-piston2d-gfx-graphics"
-          ,rust-piston2d-gfx-graphics-0.66)
-         ("rust-piston-texture" ,rust-piston-texture-0.8))))
-    (home-page
-      "https://github.com/pistondevelopers/piston_window";)
-    (synopsis
-      "The official Piston window wrapper for the Piston game engine")
-    (description
-      "The official Piston window wrapper for the Piston game engine")
-    (license license:expat)))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-unicode-xid" ,rust-unicode-xid-0.2)
+        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0))
+       #:cargo-development-inputs
+       (("rust-anyhow" ,rust-anyhow-1.0)
+        ("rust-flate2" ,rust-flate2-1.0)
+        ;("rust-insta" ,rust-insta-0.12)
+        ("rust-rayon" ,rust-rayon-1.3)
+        ("rust-ref-cast" ,rust-ref-cast-1.0)
+        ("rust-regex" ,rust-regex-1.3)
+        ;("rust-reqwest" ,rust-reqwest-0.10)
+        ("rust-tar" ,rust-tar-0.4)
+        ("rust-termcolor" ,rust-termcolor-1.0)
+        ("rust-walkdir" ,rust-walkdir-2.3))))
+    (home-page "https://github.com/dtolnay/syn";)
+    (synopsis "Parser for Rust source code")
+    (description "Parser for Rust source code")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-plotters-0.2
+(define-public rust-syn-0.15
   (package
-    (name "rust-plotters")
-    (version "0.2.12")
+    (inherit rust-syn-1.0)
+    (name "rust-syn")
+    (version "0.15.44")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "syn" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1id5g6x6zihv3j7hwrw3m1jp636bg8dpi671r7zy3jvpkavb794w"))))
+    (arguments
+     `(#:cargo-test-flags '("--release" "--all-features")
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-quote" ,rust-quote-0.6)
+        ("rust-unicode-xid" ,rust-unicode-xid-0.1))
+       #:cargo-development-inputs
+       (("rust-insta" ,rust-insta-0.8)
+        ("rust-rayon" ,rust-rayon-1.1)
+        ("rust-ref-cast" ,rust-ref-cast-0.2)
+        ("rust-regex" ,rust-regex-1.1)
+        ("rust-termcolor" ,rust-termcolor-1.0)
+        ("rust-walkdir" ,rust-walkdir-2.2))))
+    (properties '())))
+
+(define-public rust-syn-0.11
+  (package
+    (inherit rust-syn-0.15)
+    (name "rust-syn")
+    (version "0.11.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "syn" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1b8x8jdsmj6r9ck7n1pg371526n1q90kx6rv6ivcb22w06wr3f6k"))))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'fixup-cargo-toml
+           (lambda _
+             (substitute* "Cargo.toml"
+               ((", path =.*,") ","))
+             #t)))
+       #:cargo-inputs
+       (("rust-quote" ,rust-quote-0.3)
+        ("rust-synom" ,rust-synom-0.11)
+        ("rust-unicode-xid" ,rust-unicode-xid-0.0))
+       #:cargo-development-inputs
+       (("rust-syntex-pos" ,rust-syntex-pos-0.58)
+        ("rust-syntex-syntax" ,rust-syntex-syntax-0.58)
+        ("rust-tempdir" ,rust-tempdir-0.3)
+        ("rust-walkdir" ,rust-walkdir-1.0))))))
+
+(define-public rust-syn-mid-0.5
+  (package
+    (name "rust-syn-mid")
+    (version "0.5.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "plotters" version))
+        (uri (crate-uri "syn-mid" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "1ssycy9an23vs9hq098c7kl1dvp5ych20d994lhsw9vx4kdbhfsf"))))
+            "12ikg5jfklixq0wsgfl7sdzjqlxgq50ygklxy4f972hjdjgm7qvv"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-gif" ,rust-gif-0.10)
-         ("rust-piston-window" ,rust-piston-window-0.105)
-         ("rust-num-traits" ,rust-num-traits-0.2)
-         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
-         ("rust-image" ,rust-image-0.22)
-         ("rust-js-sys" ,rust-js-sys-0.3)
-         ("rust-web-sys" ,rust-web-sys-0.3)
-         ("rust-font-kit" ,rust-font-kit-0.4)
-         ("rust-chrono" ,rust-chrono-0.4)
-         ("rust-palette" ,rust-palette-0.5)
-         ("rust-cairo-rs" ,rust-cairo-rs-0.7)
-         ("rust-rusttype" ,rust-rusttype-0.8)
-         ("rust-lazy-static" ,rust-lazy-static-1.4))))
-    (home-page "https://github.com/38/plotters";)
+        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+         ("rust-syn" ,rust-syn-1.0)
+         ("rust-quote" ,rust-quote-1.0))))
+    (home-page "https://github.com/taiki-e/syn-mid";)
     (synopsis
-      "A Rust drawing library focus on data plotting for both WASM and native 
applications")
+      "Providing the features between \"full\" and \"derive\" of syn.
+")
     (description
-      "This package provides a Rust drawing library focus on data plotting for 
both WASM and native applications")
-    (license license:expat)))
+      "Providing the features between \"full\" and \"derive\" of syn.
+")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-criterion-0.3
+(define-public rust-synom-0.11
   (package
-    (name "rust-criterion")
-    (version "0.3.1")
+    (name "rust-synom")
+    (version "0.11.3")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "criterion" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1lgpr82rlmg6rm4gr3c3pla2xgxnakbf8w9sabjsig8jkikmbiqz"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "synom" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1dj536sh5xxhan2h0znxhv0sl6sb7lvzmsmrc3nvl3h1v5p0d4x3"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-num-traits" ,rust-num-traits-0.2)
-         ("rust-plotters" ,rust-plotters-0.2)
-         ("rust-atty" ,rust-atty-0.2)
-         ("rust-cast" ,rust-cast-0.2)
-         ("rust-criterion-plot" ,rust-criterion-plot-0.4)
-         ("rust-itertools" ,rust-itertools-0.8)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-serde-derive" ,rust-serde-derive-1.0)
-         ("rust-tinytemplate" ,rust-tinytemplate-1.0)
-         ("rust-serde-json" ,rust-serde-json-1.0)
-         ("rust-csv" ,rust-csv-1.1)
-         ("rust-rayon" ,rust-rayon-1.3)
-         ("rust-regex" ,rust-regex-1.3)
-         ("rust-lazy-static" ,rust-lazy-static-1.4)
-         ("rust-oorandom" ,rust-oorandom-11.1)
-         ("rust-walkdir" ,rust-walkdir-2.3)
-         ("rust-clap" ,rust-clap-2))))
-    (home-page
-      "https://bheisler.github.io/criterion.rs/book/index.html";)
-    (synopsis
-      "Statistics-driven micro-benchmarking library")
+     `(#:tests? #f      ; doc tests fail
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'fixup-cargo-toml
+           (lambda _
+             (substitute* "Cargo.toml"
+               (("^path =.*") ""))
+             #t)))
+       #:cargo-inputs
+       (("rust-unicode-xid" ,rust-unicode-xid-0.0))
+       #:cargo-development-inputs
+       (("rust-syn" ,rust-syn-0.11))))
+    (home-page "https://github.com/dtolnay/syn";)
+    (synopsis "Stripped-down Nom parser used by Syn")
     (description
-      "Statistics-driven micro-benchmarking library")
-    (license (list license:asl2.0 license:expat))))
+     "Stripped-down Nom parser used by Syn.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-vergen-3.1
+(define-public rust-synstructure-0.12
   (package
-    (name "rust-vergen")
-    (version "3.1.0")
+    (name "rust-synstructure")
+    (version "0.12.3")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "vergen" version))
+        (uri (crate-uri "synstructure" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "1jrr0wihm9si98qz8ghjfnalfvmfv8rqvkgj2npqa7yzjs4hvrac"))))
+            "0igmc5fzpk6fg7kgff914j05lbpc6ai2wmji312v2h8vvjhnwrb7"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-chrono" ,rust-chrono-0.4)
-         ("rust-chrono" ,rust-chrono-0.4)
-         ("rust-bitflags" ,rust-bitflags-1))))
-    (home-page "http://github.com/rustyhorde/vergen";)
-    (synopsis "Generate version related functions")
+        (("rust-unicode-xid" ,rust-unicode-xid-0.2)
+         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+         ("rust-syn" ,rust-syn-1.0)
+         ("rust-quote" ,rust-quote-1.0))))
+    (home-page
+      "https://github.com/mystor/synstructure";)
+    (synopsis
+      "Helper methods and macros for custom derives")
     (description
-      "Generate version related functions")
-    (license (list license:expat license:asl2.0))))
+      "Helper methods and macros for custom derives")
+    (license license:expat)))
 
-(define-public rust-rust-hawktracer-proc-macro-0.4
+(define-public rust-synstructure-0.10
   (package
-    (name "rust-rust-hawktracer-proc-macro")
-    (version "0.4.1")
+    (name "rust-synstructure")
+    (version "0.10.2")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rust_hawktracer_proc_macro" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1qfksscfv8rbbzv2zb0i9sbbqmig0dr0vrma3c1kzsfmpsynlqnb"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "synstructure" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0grirdkgh2wl4hf9a3nbiazpgccxgq54kn52ms0xrr6njvgkwd82"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-rust-hawktracer-sys"
-          ,rust-rust-hawktracer-sys-0.4))))
-    (home-page
-      "https://github.com/AlexEne/rust_hawktracer_proc_macro";)
-    (synopsis
-      "helper crate for hawktracer profiling library.")
+     `(#:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-quote" ,rust-quote-0.6)
+        ("rust-syn" ,rust-syn-0.15)
+        ("rust-unicode-xid" ,rust-unicode-xid-0.1))
+       #:cargo-development-inputs
+       (("rust-synstructure-test-traits" ,rust-synstructure-test-traits-0.1))))
+    (home-page "https://github.com/mystor/synstructure";)
+    (synopsis "Helper methods and macros for custom derives")
     (description
-      "helper crate for hawktracer profiling library.")
-    (license (list license:expat license:asl2.0))))
+     "Helper methods and macros for custom derives.")
+    (license license:expat)))
 
-(define-public rust-either-1.5
+(define-public rust-synstructure-test-traits-0.1
   (package
-    (name "rust-either")
-    (version "1.5.3")
+    (name "rust-synstructure-test-traits")
+    (version "0.1.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "either" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "synstructure_test_traits" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1qyz1b1acad6w0k5928jw5zaq900zhsk7p8dlcp4hh61w4f6n7xv"))))
+         (base32
+          "1b3fs2b9kc1gy9dilaxqjbdl4z0mlrbbxjzkprdx953rif1c3q66"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-serde" ,rust-serde-1.0))))
-    (home-page "https://github.com/bluss/either";)
-    (synopsis
-      "The enum `Either` with variants `Left` and `Right` is a general purpose 
sum type with two cases.
-")
+    (home-page "https://crates.io/crates/synstructure_test_traits";)
+    (synopsis "Helper test traits for synstructure doctests")
     (description
-      "The enum `Either` with variants `Left` and `Right` is a general purpose 
sum type with two cases.
-")
-    (license (list license:expat license:asl2.0))))
+     "This package provides helper test traits for synstructure doctests.")
+    (license license:expat)))
 
-(define-public rust-itertools-0.8
+(define-public rust-syntect-3.3
   (package
-    (name "rust-itertools")
-    (version "0.8.2")
+    (name "rust-syntect")
+    (version "3.3.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "itertools" version))
+        (uri (crate-uri "syntect" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "1154j48aw913v5jnyhpxialxhdn2sfpl4d7bwididyb1r05jsspm"))))
+            "1f6qn1yy15b0hq9h6q1rikqnm3lh56ic6bq3ywsmdsjy8ni9splm"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-either" ,rust-either-1.5))))
-    (home-page
-      "https://github.com/bluss/rust-itertools";)
+        (("rust-plist" ,rust-plist-0.4)
+         ("rust-yaml-rust" ,rust-yaml-rust-0.4)
+         ("rust-regex-syntax" ,rust-regex-syntax-0.6)
+         ("rust-serde" ,rust-serde-1.0)
+         ("rust-serde-derive" ,rust-serde-derive-1.0)
+         ("rust-flate2" ,rust-flate2-1.0)
+         ("rust-serde-json" ,rust-serde-json-1.0)
+         ("rust-fnv" ,rust-fnv-1.0)
+         ("rust-bitflags" ,rust-bitflags-1)
+         ("rust-lazycell" ,rust-lazycell-1.2)
+         ("rust-bincode" ,rust-bincode-1.2)
+         ("rust-lazy-static" ,rust-lazy-static-1.4)
+         ("rust-walkdir" ,rust-walkdir-2.3)
+         ("rust-onig" ,rust-onig-5.0))))
+    (home-page "https://github.com/trishume/syntect";)
     (synopsis
-      "Extra iterator adaptors, iterator methods, free functions, and macros.")
+      "library for high quality syntax highlighting and code intelligence 
using Sublime Text's grammars")
     (description
-      "Extra iterator adaptors, iterator methods, free functions, and macros.")
+      "library for high quality syntax highlighting and code intelligence 
using Sublime Text's grammars")
+    (license license:expat)))
+
+(define-public rust-syntex-0.58
+ (package
+   (name "rust-syntex")
+   (version "0.58.1")
+   (source
+    (origin
+      (method url-fetch)
+      (uri (crate-uri "syntex" version))
+      (file-name
+       (string-append name "-" version ".tar.gz"))
+      (sha256
+       (base32
+        "03lgd36cxhc6gzaab0wqvckbhml00s6s73lk34ymf6cklymf7xd8"))))
+   (build-system cargo-build-system)
+   (arguments
+    `(#:skip-build? #t
+      #:cargo-inputs
+      (("rust-syntex-errors" ,rust-syntex-errors-0.58)
+       ("rust-syntex-syntax" ,rust-syntex-syntax-0.58))))
+   (home-page "https://github.com/erickt/rust-syntex";)
+   (synopsis "Compile time syntax extension expansion")
+   (description
+    "This package provides a library that enables compile time
+syntax extension expansion.")
+   (license (list license:expat license:asl2.0))))
+
+(define-public rust-syntex-errors-0.58
+  (package
+    (name "rust-syntex-errors")
+    (version "0.58.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "syntex_errors" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "176vma7sjv6li17q7dsilryac66b76zyis9ampmff2hlsz1caz46"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-syntex-pos" ,rust-syntex-pos-0.58)
+        ("rust-term" ,rust-term-0.4)
+        ("rust-unicode-xid" ,rust-unicode-xid-0.0))))
+    (home-page "https://github.com/serde-rs/syntex";)
+    (synopsis "Backport of librustc_errors")
+    (description "This package provides a backport of @code{librustc_errors}.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-proc-macro2-0.3
+(define-public rust-syntex-pos-0.58
   (package
-    (name "rust-proc-macro2")
-    (version "0.3.8")
+    (name "rust-syntex-pos")
+    (version "0.58.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "proc-macro2" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1ryaynnaj39l4zphcg5w8wszndd80vsrv89m5d2293gl6pry41hv"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "syntex_pos" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0iqhircpr723da1g97xrrj8smqqz3gxw91cf03sckasjzri4gb8k"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-unicode-xid" ,rust-unicode-xid-0.1))))
-    (home-page
-      "https://github.com/alexcrichton/proc-macro2";)
-    (synopsis
-      "A substitute implementation of the compiler's `proc_macro` API to 
decouple
-token-based libraries from the procedural macro use case.
-")
-    (description
-      "This package provides a substitute implementation of the compiler's 
`proc_macro` API to decouple
-token-based libraries from the procedural macro use case.
-")
+     `(#:cargo-inputs
+       (("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))
+    (home-page "https://github.com/serde-rs/syntex";)
+    (synopsis "Backport of libsyntax_pos")
+    (description "This package provides a backport of @code{libsyntax_pos}.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-quote-0.5
+(define-public rust-syntex-syntax-0.58
   (package
-    (name "rust-quote")
-    (version "0.5.2")
+    (name "rust-syntex-syntax")
+    (version "0.58.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "quote" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1s01fh0jl8qv4xggs85yahw0h507nzrxkjbf7vay3zw8d3kcyjcr"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "syntex_syntax" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "14f74l7yzwl6fr9i23k4j23k66qn0gakvhk4jjc9ipb3w6x4s3kf"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro2" ,rust-proc-macro2-0.3))))
-    (home-page "https://github.com/dtolnay/quote";)
-    (synopsis "Quasi-quoting macro quote!(...)")
-    (description "Quasi-quoting macro quote!(...)")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-0.8)
+        ("rust-log" ,rust-log-0.3)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-syntex-errors" ,rust-syntex-errors-0.58)
+        ("rust-syntex-pos" ,rust-syntex-pos-0.58)
+        ("rust-unicode-xid" ,rust-unicode-xid-0.0))))
+    (home-page "https://github.com/serde-rs/syntex";)
+    (synopsis "Backport of libsyntax")
+    (description "This package provides a backport of libsyntax.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-proc-macro2-0.3
+(define-public rust-sysctl-0.4
   (package
-    (name "rust-proc-macro2")
-    (version "0.3.5")
+    (name "rust-sysctl")
+    (version "0.4.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "proc-macro2" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1m0ksg6hbm46zblq0dpkwrg3n1h7n90yq1zcgwc6vpbfmr9pr6bp"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "sysctl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0p6bfjsw3v12nb2qsgm6r9klwb5qyh4w55zzmccv8r5aqb8g0085"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-unicode-xid" ,rust-unicode-xid-0.1))))
-    (home-page
-      "https://github.com/alexcrichton/proc-macro2";)
-    (synopsis
-      "A substitute implementation of the compiler's `proc_macro` API to 
decouple
-token-based libraries from the procedural macro use case.
-")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-failure" ,rust-failure-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-walkdir" ,rust-walkdir-2.2))))
+    (home-page "https://github.com/johalun/sysctl-rs";)
+    (synopsis "Simplified interface to libc::sysctl")
     (description
-      "This package provides a substitute implementation of the compiler's 
`proc_macro` API to decouple
-token-based libraries from the procedural macro use case.
-")
-    (license (list license:expat license:asl2.0))))
+     "Simplified interface to libc::sysctl.")
+    (license license:expat)))
 
-(define-public rust-clang-sys-0.23
+(define-public rust-sysctl-0.1
   (package
-    (name "rust-clang-sys")
-    (version "0.23.0")
+    (inherit rust-sysctl-0.4)
+    (name "rust-sysctl")
+    (version "0.1.4")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "clang-sys" version))
+        (uri (crate-uri "sysctl" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+         (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "1hjr333izzhs6bic84qwnyzy5xzmvasib8f3zkzj4ln3a97c1xyp"))))
-    (build-system cargo-build-system)
+         (base32
+          "10wxlk4nkzlxp4fg435jmdmfwl4hy0y4w2rcsgs634lvbp8pgksb"))))
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-glob" ,rust-glob-0.2)
-         ("rust-glob" ,rust-glob-0.2)
-         ("rust-libc" ,rust-libc-0.2)
-         ("rust-libloading" ,rust-libloading-0.5))))
-    (home-page
-      "https://github.com/KyleMayes/clang-sys";)
-    (synopsis "Rust bindings for libclang.")
-    (description "Rust bindings for libclang.")
-    (license license:asl2.0)))
+     `(#:skip-build? #t ; Unsupported on Linux.
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-errno" ,rust-errno-0.2)
+        ("rust-libc" ,rust-libc-0.2))))))
 
-(define-public rust-bindgen-0.37
+(define-public rust-syslog-4.0
   (package
-    (name "rust-bindgen")
-    (version "0.37.4")
+    (name "rust-syslog")
+    (version "4.0.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "bindgen" version))
+        (uri (crate-uri "syslog" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "08f2cyzr8fc027mzj2lhmn5j3w318g2ql7yfw5ngxa3yhy1an98v"))))
+            "09ykcbvwx8icvf303mqyz76ji8j6fgyyx97zpr23s788ni112r50"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-cfg-if" ,rust-cfg-if-0.1)
-         ("rust-peeking-take-while"
-          ,rust-peeking-take-while-0.1)
-         ("rust-cexpr" ,rust-cexpr-0.2)
-         ("rust-clang-sys" ,rust-clang-sys-0.23)
-         ("rust-proc-macro2" ,rust-proc-macro2-0.3)
-         ("rust-log" ,rust-log-0.4)
-         ("rust-env-logger" ,rust-env-logger-0.5)
-         ("rust-quote" ,rust-quote-0.5)
-         ("rust-which" ,rust-which-1.0)
-         ("rust-regex" ,rust-regex-1.3)
-         ("rust-lazy-static" ,rust-lazy-static-1.4)
-         ("rust-clap" ,rust-clap-2))))
-    (home-page
-      "https://rust-lang.github.io/rust-bindgen/";)
-    (synopsis
-      "Automatically generates Rust FFI bindings to C and C++ libraries.")
-    (description
-      "Automatically generates Rust FFI bindings to C and C++ libraries.")
-    (license license:bsd-3)))
+        (("rust-time" ,rust-time-0.1)
+         ("rust-error-chain" ,rust-error-chain-0.11)
+         ("rust-libc" ,rust-libc-0.2)
+         ("rust-log" ,rust-log-0.4))))
+    (home-page "https://github.com/Geal/rust-syslog";)
+    (synopsis "Send log messages to syslog")
+    (description "Send log messages to syslog")
+    (license license:expat)))
 
-(define-public rust-rust-hawktracer-sys-0.4
+(define-public rust-syslog-3.3
   (package
-    (name "rust-rust-hawktracer-sys")
-    (version "0.4.2")
+    (name "rust-syslog")
+    (version "3.3.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "rust_hawktracer_sys" version))
+        (uri (crate-uri "syslog" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "15acrj881y2g7cwsgf1nr22cixrknp8m4x08dkx1an6zf4q8bk37"))))
+            "0hpdnk2zm6xawpz6fv6qbn0ncfm5p0wm5c6gq7yhaz2gvsnb1jdv"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-cmake" ,rust-cmake-0.1)
-         ("rust-pkg-config" ,rust-pkg-config-0.3)
-         ("rust-bindgen" ,rust-bindgen-0.37)
-         ("rust-itertools" ,rust-itertools-0.8))))
-    (home-page
-      "https://github.com/AlexEne/rust_hawktracer_sys";)
-    (synopsis
-      "sys crate for the rust_hawktracer library")
+        (("rust-time" ,rust-time-0.1)
+         ("rust-libc" ,rust-libc-0.2)
+         ("rust-log" ,rust-log-0.3)
+         ("rust-unix-socket" ,rust-unix-socket-0.5))))
+    (home-page "https://github.com/Geal/rust-syslog";)
+    (synopsis "Send log messages to syslog")
+    (description "Send log messages to syslog")
+    (license license:expat)))
+
+(define-public rust-takeable-option-0.4
+  (package
+    (name "rust-takeable-option")
+    (version "0.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "takeable-option" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0hvd6vk4ksgg2y99498jw52ric4lxm0i6ygpzqm95gdrhvsxyynp"))))
+    (build-system cargo-build-system)
+    (home-page "https://docs.rs/takeable-option/";)
+    (synopsis "A small wrapper around option.")
     (description
-      "sys crate for the rust_hawktracer library")
-    (license (list license:expat license:asl2.0))))
+     "This package provides a small wrapper around option.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-rust-hawktracer-normal-macro-0.4
+(define-public rust-tar-0.4
   (package
-    (name "rust-rust-hawktracer-normal-macro")
-    (version "0.4.1")
+    (name "rust-tar")
+    (version "0.4.26")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri
-               "rust_hawktracer_normal_macro"
-               version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "tar" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1sfjmipdbb5s498c150czr6wihjlkwwgla2jyg3cs7cyjich0mwa"))))
+         (base32
+          "1lr6v3cpkfxd2lk5ll2jd8wr1xdskwj35smnh5sfb8xvzzxnn6dk"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-rust-hawktracer-sys"
-          ,rust-rust-hawktracer-sys-0.4))))
-    (home-page
-      "https://github.com/AlexEne/rust_hawktracer_normal_macro";)
-    (synopsis
-      "helper crate for hawktracer profiling library.")
+     `(#:tests? #f      ; Test tarballs not included in crate.
+       #:cargo-inputs
+       (("rust-filetime" ,rust-filetime-0.2)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
+        ("rust-xattr" ,rust-xattr-0.2))
+       #:cargo-development-inputs
+       (("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page "https://github.com/alexcrichton/tar-rs";)
+    (synopsis "Tar file reading/writing for Rust")
     (description
-      "helper crate for hawktracer profiling library.")
-    (license (list license:expat license:asl2.0))))
+     "This package provides a Rust implementation of a TAR file reader and
+writer.  This library does not currently handle compression, but it is abstract
+over all I/O readers and writers.  Additionally, great lengths are taken to
+ensure that the entire contents are never required to be entirely resident in
+memory all at once.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-rust-hawktracer-0.7
+(define-public rust-target-build-utils-0.3
   (package
-    (name "rust-rust-hawktracer")
-    (version "0.7.0")
+    (name "rust-target-build-utils")
+    (version "0.3.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rust_hawktracer" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1h9an3b73pmhhpzc2kk93nh93lplkvsffysj0rp6rxi7p4lhlj73"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "target_build_utils" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0p7713x4bpbwi11l196z1mi8ym8qj1cdnab1mm2ffpm2wi516g81"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-rust-hawktracer-normal-macro"
-          ,rust-rust-hawktracer-normal-macro-0.4)
-         ("rust-rust-hawktracer-proc-macro"
-          ,rust-rust-hawktracer-proc-macro-0.4))))
-    (home-page
-      "https://github.com/AlexEne/rust_hawktracer";)
-    (synopsis
-      "Rust bindings for hawktracer profiling library.")
+     `(#:cargo-inputs
+       (("rust-phf" ,rust-phf-0.7)
+        ("rust-serde-json" ,rust-serde-json-0.9)
+        ("rust-phf-codegen" ,rust-phf-codegen-0.7))))
+    (home-page "https://github.com/nagisa/target_build_utils.rs";)
+    (synopsis "Rust utility to handle TARGET environment variable")
     (description
-      "Rust bindings for hawktracer profiling library.")
-    (license (list license:expat license:asl2.0))))
+     "Utility crate to handle the @code{TARGET} environment variable passed 
into
+@code{build.rs} scripts.")
+    (license (list license:isc license:asl2.0))))
 
-(define-public rust-error-chain-0.11
+(define-public rust-target-lexicon-0.10
   (package
-    (name "rust-error-chain")
-    (version "0.11.0")
+    (name "rust-target-lexicon")
+    (version "0.10.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "error-chain" version))
+        (uri (crate-uri "target-lexicon" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "1wykkr0naizbkwxjwia1rch8xhwvgij9khqvjzs07mrmqifislgz"))))
+            "17diw9c3d1vb5rmwwk2ghsyhfs0gj5jm78hrwxxhmd67vhw743mb"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-backtrace" ,rust-backtrace-0.3))))
+    (arguments `(#:skip-build? #t))
     (home-page
-      "https://github.com/rust-lang-nursery/error-chain";)
+      "https://github.com/CraneStation/target-lexicon";)
     (synopsis
-      "Yet another error boilerplate library.")
+      "Targeting utilities for compilers and related tools")
     (description
-      "Yet another error boilerplate library.")
-    (license (list license:expat license:asl2.0))))
+      "Targeting utilities for compilers and related tools")
+    (license (list license:asl2.0
+                   ;XXX unknown-license!
+                   ))))
 
-(define-public rust-syslog-4.0
+(define-public rust-tempdir-0.3
   (package
-    (name "rust-syslog")
-    (version "4.0.1")
+    (name "rust-tempdir")
+    (version "0.3.7")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "syslog" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "tempdir" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "09ykcbvwx8icvf303mqyz76ji8j6fgyyx97zpr23s788ni112r50"))))
+         (base32
+          "1n5n86zxpgd85y0mswrp5cfdisizq2rv3la906g6ipyc03xvbwhm"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-time" ,rust-time-0.1)
-         ("rust-error-chain" ,rust-error-chain-0.11)
-         ("rust-libc" ,rust-libc-0.2)
-         ("rust-log" ,rust-log-0.4))))
-    (home-page "https://github.com/Geal/rust-syslog";)
-    (synopsis "Send log messages to syslog")
-    (description "Send log messages to syslog")
-    (license license:expat)))
+     `(#:cargo-inputs
+       (("rust-rand" ,rust-rand-0.4)
+        ("rust-remove-dir-all" ,rust-remove-dir-all-0.5))))
+    (home-page "https://github.com/rust-lang-deprecated/tempdir";)
+    (synopsis "Temporary directory management for Rust")
+    (description
+     "This package provides a library for managing a temporary directory and
+deleting all contents when it's dropped.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-unix-socket-0.5
+(define-public rust-tempfile-3.1
   (package
-    (name "rust-unix-socket")
-    (version "0.5.0")
+    (name "rust-tempfile")
+    (version "3.1.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "unix_socket" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "tempfile" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0r0mxf3mmqvimnx4mpks1f6c4haj6jcxc0k9bs7w61f42w2718ka"))))
+         (base32
+          "1a9cfdqw70n7bcnkx05aih9xdba8lqazmqlkjpkmn2la6gcj8vks"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-cfg-if" ,rust-cfg-if-0.1)
-         ("rust-libc" ,rust-libc-0.2))))
-    (home-page
-      "https://github.com/rust-lang-nursery/unix-socket";)
-    (synopsis "Unix domain socket bindings")
-    (description "Unix domain socket bindings")
-    (license (list license:expat license:asl2.0))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-rand" ,rust-rand-0.7)
+        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
+        ("rust-remove-dir-all" ,rust-remove-dir-all-0.5)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://stebalien.com/projects/tempfile-rs";)
+    (synopsis "Library for managing temporary files and directories")
+    (description
+     "This package provides a library for managing temporary files and
+directories.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-log-0.3
+(define-public rust-tempfile-3.0
   (package
-    (name "rust-log")
-    (version "0.3.9")
+    (inherit rust-tempfile-3.1)
+    (name "rust-tempfile")
+    (version "3.0.8")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "log" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "tempfile" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0jq23hhn5h35k7pa8r7wqnsywji6x3wn1q5q7lif5q536if8v7p1"))))
+         (base32
+          "1vqk7aq2l04my2r3jiyyxirnf8f90nzcvjasvrajivb85s7p7i3x"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-rand" ,rust-rand-0.6)
+        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
+        ("rust-remove-dir-all" ,rust-remove-dir-all-0.5)
+        ("rust-winapi" ,rust-winapi-0.3))))))
+
+(define-public rust-tendril-0.4
+  (package
+    (name "rust-tendril")
+    (version "0.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tendril" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0fsx7blrrzgca8aa2yqy8zxyi8s7amskhgkk1ml5sbaqyalyszvh"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-log" ,rust-log-0.4))))
-    (home-page "https://github.com/rust-lang/log";)
-    (synopsis
-      "A lightweight logging facade for Rust
-")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-encoding" ,rust-encoding-0.2)
+        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
+        ("rust-futf" ,rust-futf-0.1)
+        ("rust-mac" ,rust-mac-0.1)
+        ("rust-utf-8" ,rust-utf-8-0.7))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.4))))
+    (home-page "https://github.com/servo/tendril";)
+    (synopsis "Compact buffer/string type for zero-copy parsing")
     (description
-      "This package provides a lightweight logging facade for Rust
-")
+     "Compact buffer/string type for zero-copy parsing.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-syslog-3.3
+(define-public rust-term-0.6
+ (package
+   (name "rust-term")
+   (version "0.6.1")
+   (source
+    (origin
+      (method url-fetch)
+      (uri (crate-uri "term" version))
+      (file-name
+       (string-append name "-" version ".tar.gz"))
+      (sha256
+       (base32
+        "1ddqxq9hrk8zqq1f8pqhz72vrlfc8vh2xcza2gb623z78lrkm1n0"))))
+   (build-system cargo-build-system)
+   (arguments
+    `(#:cargo-inputs
+      (("rust-dirs" ,rust-dirs-2.0)
+       ("rust-winapi" ,rust-winapi-0.3))))
+   (home-page "https://github.com/Stebalien/term";)
+   (synopsis "Terminal formatting library")
+   (description
+    "This package provides a terminal formatting library.")
+   (license (list license:expat license:asl2.0))))
+
+(define-public rust-term-0.5
   (package
-    (name "rust-syslog")
-    (version "3.3.0")
+    (inherit rust-term-0.6)
+    (name "rust-term")
+    (version "0.5.2")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "syslog" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0hpdnk2zm6xawpz6fv6qbn0ncfm5p0wm5c6gq7yhaz2gvsnb1jdv"))))
-    (build-system cargo-build-system)
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "term" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0hkgjrfisj6zjwz525639pmsvzhlc48a0h65nw87qrdp6jihdlgd"))))
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-time" ,rust-time-0.1)
-         ("rust-libc" ,rust-libc-0.2)
-         ("rust-log" ,rust-log-0.3)
-         ("rust-unix-socket" ,rust-unix-socket-0.5))))
-    (home-page "https://github.com/Geal/rust-syslog";)
-    (synopsis "Send log messages to syslog")
-    (description "Send log messages to syslog")
-    (license license:expat)))
+     `(#:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-dirs" ,rust-dirs-1.0)
+        ("rust-winapi" ,rust-winapi-0.3))))))
 
-(define-public rust-hermit-abi-0.1
+(define-public rust-term-0.4
   (package
-    (name "rust-hermit-abi")
-    (version "0.1.10")
+    (inherit rust-term-0.6)
+    (name "rust-term")
+    (version "0.4.6")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "hermit-abi" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "term" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0blmmzik5cs79ivq70s9gal8ypgzj50wnl2hwsaam46gjjbz2p3j"))))
-    (build-system cargo-build-system)
+         (base32
+          "1wbh8ngqkqr3f6wz902yplf60bd5yapnckvrkgmzp5nffi7n8qzs"))))
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-compiler-builtins"
-          ,rust-compiler-builtins-0.1)
-         ("rust-libc" ,rust-libc-0.2)
-         ("rust-rustc-std-workspace-core"
-          ,rust-rustc-std-workspace-core-1.0))))
-    (home-page
-      "https://github.com/hermitcore/rusty-hermit";)
-    (synopsis
-      "hermit-abi is small interface to call functions from the unikernel 
RustyHermit.
-It is used to build the target `x86_64-unknown-hermit`.
-")
-    (description
-      "hermit-abi is small interface to call functions from the unikernel 
RustyHermit.
-It is used to build the target `x86_64-unknown-hermit`.
-")
-    (license (list license:expat license:asl2.0))))
+     `(#:cargo-inputs
+       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
+        ("rust-winapi" ,rust-winapi-0.2))))))
 
-(define-public rust-atty-0.2
+(define-public rust-term-grid-0.1
   (package
-    (name "rust-atty")
-    (version "0.2.14")
+    (name "rust-term-grid")
+    (version "0.1.7")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "atty" version))
+        (uri (crate-uri "term_grid" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+         (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "1s7yslcs6a28c5vz7jwj63lkfgyx8mx99fdirlhi9lbhhzhrpcyr"))))
+         (base32
+          "1kq2sy3b8329jrsrpcvijvyz4gbqjyvyy6c3n0wmmvda9y03w393"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-hermit-abi" ,rust-hermit-abi-0.1)
-         ("rust-libc" ,rust-libc-0.2)
-         ("rust-winapi" ,rust-winapi-0.3))))
-    (home-page "https://github.com/softprops/atty";)
-    (synopsis "A simple interface for querying atty")
-    (description
-      "This package provides a simple interface for querying atty")
+     `(#:cargo-inputs
+       (("rust-unicode-width" ,rust-unicode-width-0.1))))
+    (home-page "https://github.com/ogham/rust-term-grid";)
+    (synopsis "Library for formatting strings into a grid layout")
+    (description "This package provides a library for formatting strings into a
+grid layout.")
     (license license:expat)))
 
-(define-public rust-colored-1.9
+(define-public rust-term-size-1.0
   (package
-    (name "rust-colored")
-    (version "1.9.3")
+    (name "rust-term-size")
+    (version "1.0.0-beta1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "colored" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0nbc1czs512h1k696y7glv1kjrb2b914zpxraic6q5fgv80wizzl"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "term_size" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "13w9cqjhzh3mmx6zami8lxyf42xx53yy866zxhxqcm71k637v8d8"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-atty" ,rust-atty-0.2)
-         ("rust-winapi" ,rust-winapi-0.3)
-         ("rust-lazy-static" ,rust-lazy-static-1.4))))
-    (home-page "https://github.com/mackwic/colored";)
-    (synopsis
-      "The most simple way to add colors in your terminal")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-clippy" ,rust-clippy-0.0)
+        ("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/clap-rs/term_size-rs";)
+    (synopsis "Determine terminal sizes and dimensions")
     (description
-      "The most simple way to add colors in your terminal")
-    (license license:mpl2.0)))
+     "Functions for determining terminal sizes and dimensions")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-js-sys-0.3
+(define-public rust-term-size-0.3
   (package
-    (name "rust-js-sys")
-    (version "0.3.37")
+    (inherit rust-term-size-1.0)
+    (name "rust-term-size")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "term_size" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "09wk3173ngmb710qs9rwgibq4w250q8lgnwjvb9cypc1vdk9lnwy"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-clippy" ,rust-clippy-0.0)
+        ("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-winapi" ,rust-winapi-0.2))))))
+
+(define-public rust-termcolor-1.0
+  (package
+    (name "rust-termcolor")
+    (version "1.0.5")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "js-sys" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "termcolor" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0mbhpbw3zjjl51m24qx3ilq4y8xipm5sfa5hsavaabqs6wsx89va"))))
+         (base32
+          "0vjfsn1a8zvqhnrbygrz1id6yckwv1dncw3w4zj65qdx0f00kmln"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
-    (home-page
-      "https://rustwasm.github.io/wasm-bindgen/";)
-    (synopsis
-      "Bindings for all JS global objects and functions in all JS environments 
like
-Node.js and browsers, built on `#[wasm_bindgen]` using the `wasm-bindgen` 
crate.
-")
-    (description
-      "Bindings for all JS global objects and functions in all JS environments 
like
-Node.js and browsers, built on `#[wasm_bindgen]` using the `wasm-bindgen` 
crate.
-")
-    (license (list license:expat license:asl2.0))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-wincolor" ,rust-wincolor-1.0))))
+    (home-page "https://github.com/BurntSushi/termcolor";)
+    (synopsis "Library for writing colored text to a terminal")
+    (description "This package provides a simple cross platform library for
+writing colored text to a terminal.")
+    (license (list license:unlicense
+                   license:expat))))
 
-(define-public rust-bumpalo-3.2
+(define-public rust-terminfo-0.6
   (package
-    (name "rust-bumpalo")
-    (version "3.2.1")
+    (name "rust-terminfo")
+    (version "0.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "terminfo" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "17k8vqvicd6yg0iqmkjnxjhz8h8pknv86r03nq3f3ayjmxdhclcf"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-fnv" ,rust-fnv-1.0)
+        ("rust-nom" ,rust-nom-4.2)
+        ("rust-phf" ,rust-phf-0.7)
+        ("rust-phf-codegen" ,rust-phf-codegen-0.7))))
+    (home-page "https://github.com/meh/rust-terminfo";)
+    (synopsis "Terminal information")
+    (description "Terminal capabilities with type-safe getters.")
+    (license license:wtfpl2)))
+
+(define-public rust-termion-1.5
+  (package
+    (name "rust-termion")
+    (version "1.5.5")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "bumpalo" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "termion" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "11silgpsnfv6ir7j2nh7a69564f92vq20k9ha7zcbynpiav9vbhj"))))
+         (base32
+          "01f9787d5nx445bqbj644v38bn0hl2swwjy9baz0dnbqi6fyqb62"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/fitzgen/bumpalo";)
-    (synopsis
-      "A fast bump allocation arena for Rust.")
+    (arguments
+     `(#:tests? #f      ; Tests want a terminal.
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-numtoa" ,rust-numtoa-0.1)
+        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
+        ("rust-redox-termios" ,rust-redox-termios-0.1))))
+    (home-page "https://gitlab.redox-os.org/redox-os/termion";)
+    (synopsis "Library for manipulating terminals")
     (description
-      "This package provides a fast bump allocation arena for Rust.")
-    (license (list license:expat license:asl2.0))))
+     "This package provides a bindless library for manipulating terminals.")
+    (license license:expat)))
 
-(define-public rust-wasm-bindgen-shared-0.2
+(define-public rust-termios-0.3
   (package
-    (name "rust-wasm-bindgen-shared")
-    (version "0.2.60")
+    (name "rust-termios")
+    (version "0.3.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "wasm-bindgen-shared" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "termios" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0ffn4152w8n629f29lwjgj3adiyixvdbff3mld49gisssbknzxys"))))
+         (base32
+          "09any1p4jp4bphvb5ikagnvwjc3xn2djchy96nkpa782xb2j1dkj"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://rustwasm.github.io/wasm-bindgen/";)
-    (synopsis
-      "Shared support between wasm-bindgen and wasm-bindgen cli, an internal
-dependency.
-")
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2))))
+    (home-page  "https://github.com/dcuddeback/termios-rs";)
+    (synopsis "Safe bindings for the termios library")
     (description
-      "Shared support between wasm-bindgen and wasm-bindgen cli, an internal
-dependency.
-")
-    (license (list license:expat license:asl2.0))))
+     "The termios crate provides safe bindings for the Rust programming 
language
+to the terminal I/O interface implemented by Unix operating systems.  The safe
+bindings are a small wrapper around the raw C functions, which converts integer
+return values to @code{std::io::Result} to indicate success or failure.")
+    (license license:expat)))
 
-(define-public rust-wasm-bindgen-backend-0.2
+(define-public rust-test-assembler-0.1
   (package
-    (name "rust-wasm-bindgen-backend")
-    (version "0.2.60")
+    (name "rust-test-assembler")
+    (version "0.1.5")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "wasm-bindgen-backend" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1k9p8a7ng6nqan0m9555wj936lm2s1qz0fnafclwlv61yrxx6ryr"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "test-assembler" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1sdx9hk0dk3z9crm8834ysyxsi92chls8arpd0gs796kis6lik2w"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-wasm-bindgen-shared"
-          ,rust-wasm-bindgen-shared-0.2)
-         ("rust-log" ,rust-log-0.4)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0)
-         ("rust-lazy-static" ,rust-lazy-static-1.4)
-         ("rust-bumpalo" ,rust-bumpalo-3.2))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3))))
+    (home-page "https://github.com/luser/rust-test-assembler";)
+    (synopsis "Build complex binary streams")
+    (description
+     "This package provides a set of types for building complex binary
+streams.")
+    (license license:expat)))
+
+(define-public rust-tester-0.5
+  (package
+    (name "rust-tester")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tester" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1xkgapz2i4j977f6kh1zp6sa5llbhy5vbnr6kfj8czsrdjr2r0ay"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-getopts" ,rust-getopts-0.2)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-term" ,rust-term-0.4))))
     (home-page
-      "https://rustwasm.github.io/wasm-bindgen/";)
+     "https://github.com/messense/rustc-test";)
     (synopsis
-      "Backend code generation of the wasm-bindgen tool
-")
+     "Fork of Rust's test crate")
     (description
-      "Backend code generation of the wasm-bindgen tool
-")
+     "This package provides a fork of Rust's test crate that doesn't require
+unstable language features.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-wasm-bindgen-macro-support-0.2
+(define-public rust-textwrap-0.11
   (package
-    (name "rust-wasm-bindgen-macro-support")
-    (version "0.2.60")
+    (name "rust-textwrap")
+    (version "0.11.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "wasm-bindgen-macro-support" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "textwrap" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0ca9bb9hnyzcmjww83x8asb76drf55ijhqv8yrl7igpixqv5p2nn"))))
+         (base32
+          "0q5hky03ik3y50s9sz25r438bc4nwhqc6dqwynv4wylc807n29nk"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-wasm-bindgen-backend"
-          ,rust-wasm-bindgen-backend-0.2)
-         ("rust-wasm-bindgen-shared"
-          ,rust-wasm-bindgen-shared-0.2)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page
-      "https://rustwasm.github.io/wasm-bindgen/";)
-    (synopsis
-      "The part of the implementation of the `#[wasm_bindgen]` attribute that 
is not in the shared backend crate
-")
+    (home-page "https://github.com/mgeisler/textwrap";)
+    (synopsis "Library for word wrapping, indenting, and dedenting strings")
     (description
-      "The part of the implementation of the `#[wasm_bindgen]` attribute that 
is not in the shared backend crate
-")
-    (license (list license:expat license:asl2.0))))
+     "Textwrap is a small library for word wrapping, indenting, and dedenting
+strings.  You can use it to format strings (such as help and error messages)
+for display in commandline applications.  It is designed to be efficient and
+handle Unicode characters correctly.")
+    (properties '((hidden? . #t)))
+    (license license:expat)))
 
-(define-public rust-wasm-bindgen-macro-0.2
+(define-public rust-thiserror-1.0
   (package
-    (name "rust-wasm-bindgen-macro")
-    (version "0.2.60")
+    (name "rust-thiserror")
+    (version "1.0.9")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "wasm-bindgen-macro" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1973xr0vr2aj85fkp3smk61z5ki7c4fhxlicfjxq3a0y7sv53lcb"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "thiserror" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0zlp3kzjssl1ndqmn7cipqnyggq4851ghhqj4bfc4fxk2hc7sdbg"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-wasm-bindgen-macro-support"
-          ,rust-wasm-bindgen-macro-support-0.2)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page
-      "https://rustwasm.github.io/wasm-bindgen/";)
-    (synopsis
-      "Definition of the `#[wasm_bindgen]` attribute, an internal dependency
-")
-    (description
-      "Definition of the `#[wasm_bindgen]` attribute, an internal dependency
-")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-thiserror-impl" ,rust-thiserror-impl-1.0))
+       #:cargo-development-inputs
+       (("rust-anyhow" ,rust-anyhow-1.0)
+        ("rust-ref-cast" ,rust-ref-cast-1.0)
+        ("rust-rustversion" ,rust-rustversion-1.0)
+        ("rust-trybuild" ,rust-trybuild-1.0))))
+    (home-page "https://github.com/dtolnay/thiserror";)
+    (synopsis "derive(Error)")
+    (description "This package provides @code{derive(Error)} in Rust.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-wasm-bindgen-0.2
+(define-public rust-thiserror-impl-1.0
   (package
-    (name "rust-wasm-bindgen")
-    (version "0.2.60")
+    (name "rust-thiserror-impl")
+    (version "1.0.9")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "wasm-bindgen" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0zx42zryw03w3maz8p65gr5bhhybr2sdzgcck5p3gy47abh7ri9c"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "thiserror-impl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vxzhb98pm5yrq9mmcz50bgpml35iyx7lwjgi4v89sq7ag92abpb"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-cfg-if" ,rust-cfg-if-0.1)
-         ("rust-wasm-bindgen-macro"
-          ,rust-wasm-bindgen-macro-0.2)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-serde-json" ,rust-serde-json-1.0))))
-    (home-page "https://rustwasm.github.io/";)
-    (synopsis
-      "Easy support for interacting between JS and Rust.
-")
-    (description
-      "Easy support for interacting between JS and Rust.
-")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0))))
+    (home-page "https://github.com/dtolnay/thiserror";)
+    (synopsis "Implementation detail of the thiserror crate")
+    (description "This package provides an implementation detail of the
+@code{thiserror} crate.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-chrono-0.4
+(define-public rust-thread-id-3.3
   (package
-    (name "rust-chrono")
-    (version "0.4.11")
+    (name "rust-thread-id")
+    (version "3.3.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "chrono" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "thread-id" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1cmmxamkzzs36zncqjjr7qm7xkb6zyrkjslnlj3axdgqki84y2c0"))))
+         (base32
+          "1h90v19fjz3x9b25ywh68z5yf2zsmm6h5zb4rl302ckbsp4z9yy7"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-num-integer" ,rust-num-integer-0.1)
-         ("rust-time" ,rust-time-0.1)
-         ("rust-num-traits" ,rust-num-traits-0.2)
-         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
-         ("rust-rustc-serialize"
-          ,rust-rustc-serialize-0.3)
-         ("rust-js-sys" ,rust-js-sys-0.3)
-         ("rust-serde" ,rust-serde-1.0))))
-    (home-page
-      "https://github.com/chronotope/chrono";)
-    (synopsis "Date and time library for Rust")
-    (description "Date and time library for Rust")
-    (license (list license:expat license:asl2.0))))
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/ruuda/thread-id";)
+    (synopsis "Get a unique ID for the current thread in Rust")
+    (description
+     "For diagnostics and debugging it can often be useful to get an ID that is
+different for every thread.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-reopen-0.3
+(define-public rust-thread-id-2.0
   (package
-    (name "rust-reopen")
-    (version "0.3.0")
+    (inherit rust-thread-id-3.3)
+    (name "rust-thread-id")
+    (version "2.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "thread-id" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "00zzs2bx1xw8aqm5plqqgr7bc2zz6zkqrdxq8vpiqb8hc2srslx9"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
+        ("rust-libc" ,rust-libc-0.2))))))
+
+(define-public rust-thread-local-1.0
+  (package
+    (name "rust-thread-local")
+    (version "1.0.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "reopen" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "thread_local" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "12b3mfxkwb8akdfa701nzvqr6lsc6n84vrq088gmjy8lxlmr4an6"))))
+         (base32
+          "054vlrr1vsdy1h4b7n99mr24pnj8928ig9qwzg36wnkld4dns36l"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-signal-hook" ,rust-signal-hook-0.1)
-         ("rust-libc" ,rust-libc-0.2))))
-    (home-page "https://github.com/vorner/reopen";)
-    (synopsis "File reopening utility")
-    (description "File reopening utility")
-    (license (list license:asl2.0 license:expat))))
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1))))
+    (home-page "https://github.com/Amanieu/thread_local-rs";)
+    (synopsis "Per-object thread-local storage")
+    (description "Per-object thread-local storage.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-fern-0.5
+(define-public rust-thread-local-0.3
   (package
-    (name "rust-fern")
-    (version "0.5.9")
+    (inherit rust-thread-local-1.0)
+    (name "rust-thread-local")
+    (version "0.3.6")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "fern" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "thread_local" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1anslk0hx9an4ypcaxqff080hgbcxm7ji7d4qf4f6qx1mkav16p6"))))
-    (build-system cargo-build-system)
+         (base32
+          "06rzik99p8c5js8238yhc8rk6np543ylb1dy9nrw5v80j0r3xdf6"))))
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-libc" ,rust-libc-0.2)
-         ("rust-reopen" ,rust-reopen-0.3)
-         ("rust-log" ,rust-log-0.4)
-         ("rust-chrono" ,rust-chrono-0.4)
-         ("rust-colored" ,rust-colored-1.9)
-         ("rust-syslog" ,rust-syslog-3.3)
-         ("rust-syslog" ,rust-syslog-4.0))))
-    (home-page "https://github.com/daboross/fern";)
-    (synopsis "Simple, efficient logging")
-    (description "Simple, efficient logging")
-    (license license:expat)))
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1))))))
+
+(define-public rust-thread-local-0.2
+  (package
+    (inherit rust-thread-local-0.3)
+    (name "rust-thread-local")
+    (version "0.2.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "thread_local" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1mgxikqvhpsic6xk7pan95lvgsky1sdxzw2w5m2l35pgrazxnxl5"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-thread-id" ,rust-thread-id-2.0))))))
 
-(define-public rust-y4m-0.5
+(define-public rust-threadpool-1.7
   (package
-    (name "rust-y4m")
-    (version "0.5.0")
+    (name "rust-threadpool")
+    (version "1.7.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "y4m" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "threadpool" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "06g8c53qk4cla3xczywx5qlklvzsw54x77vm727mhizlsp5n93ar"))))
+         (base32
+          "0rd89n1q7vy47w4c32cnynibffv9kj3jy3dwr0536n9lbw5ckw72"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/image-rs/y4m";)
-    (synopsis "YUV4MPEG2 (.y4m) Encoder/Decoder.")
-    (description "YUV4MPEG2 (.y4m) Encoder/Decoder.")
-    (license license:expat)))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-num-cpus" ,rust-num-cpus-1.11))))
+    (home-page "https://github.com/rust-threadpool/rust-threadpool";)
+    (synopsis "Thread pool for running jobs on a fixed set of worker threads")
+    (description
+     "This package provides a thread pool for running a number of jobs on a
+fixed set of worker threads.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-bindgen-0.52
+(define-public rust-tiff-0.3
   (package
-    (name "rust-bindgen")
-    (version "0.52.0")
+    (name "rust-tiff")
+    (version "0.3.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "bindgen" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0mzy2gjiaggl602yn4a11xzrxfj18kl7pwqa5yv32njkxd257j7i"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tiff" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0zgmbny2f8rssqmjdfvnysy0vqwcvlwl6q9f5yixhavlqk7w5dyp"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-shlex" ,rust-shlex-0.1)
-         ("rust-cfg-if" ,rust-cfg-if-0.1)
-         ("rust-peeking-take-while"
-          ,rust-peeking-take-while-0.1)
-         ("rust-clang-sys" ,rust-clang-sys-0.28)
-         ("rust-cexpr" ,rust-cexpr-0.3)
-         ("rust-log" ,rust-log-0.4)
-         ("rust-env-logger" ,rust-env-logger-0.7)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-quote" ,rust-quote-1.0)
-         ("rust-rustc-hash" ,rust-rustc-hash-1.1)
-         ("rust-bitflags" ,rust-bitflags-1)
-         ("rust-lazycell" ,rust-lazycell-1.2)
-         ("rust-regex" ,rust-regex-1.3)
-         ("rust-lazy-static" ,rust-lazy-static-1.4)
-         ("rust-clap" ,rust-clap-2)
-         ("rust-which" ,rust-which-3.1))))
-    (home-page
-      "https://rust-lang.github.io/rust-bindgen/";)
+     `(#:tests? #f      ; Tests images not included with release.
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-lzw" ,rust-lzw-0.10)
+        ("rust-num-derive" ,rust-num-derive-0.2)
+        ("rust-num-traits" ,rust-num-traits-0.2))
+       #:cargo-development-inputs
+       (("rust-tempfile" ,rust-tempfile-3.0))))
+    (home-page "https://github.com/image-rs/image-tiff";)
     (synopsis
-      "Automatically generates Rust FFI bindings to C and C++ libraries.")
+     "TIFF decoding and encoding library in pure Rust")
     (description
-      "Automatically generates Rust FFI bindings to C and C++ libraries.")
-    (license license:bsd-3)))
+     "TIFF decoding and encoding library in pure Rust.")
+    (license license:expat)))
 
-(define-public rust-dav1d-sys-0.3
+(define-public rust-tiff-0.2
   (package
-    (name "rust-dav1d-sys")
-    (version "0.3.0")
+    (inherit rust-tiff-0.3)
+    (name "rust-tiff")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tiff" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1kn7psgpacns337vvqh272rkqwnakmjd51rc7ygwnc03ibr38j0y"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-lzw" ,rust-lzw-0.10)
+        ("rust-num-derive" ,rust-num-derive-0.2)
+        ("rust-num-traits" ,rust-num-traits-0.2))))))
+
+(define-public rust-time-0.1
+  (package
+    (name "rust-time")
+    (version "0.1.42")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "dav1d-sys" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "time" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1022czzp3s54r42x6rhr870w1fwzyp7b6qn0zirpz55zmqjpgnwa"))))
+         (base32
+          "0vsbvsz0ryxb35dy9j4anxvy8zlaplmjmi0a4z4l64bc135cz3fv"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-pkg-config" ,rust-pkg-config-0.3)
-         ("rust-bindgen" ,rust-bindgen-0.52)
-         ("rust-metadeps" ,rust-metadeps-1.1))))
-    (home-page "https://github.com/rust-av/dav1d-rs";)
-    (synopsis "FFI bindings to dav1d")
-    (description "FFI bindings to dav1d")
-    (license license:expat)))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-log" ,rust-log-0.4)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/time-rs/time";)
+    (synopsis "Simple time handling in Rust")
+    (description
+     "This package provides utilities for working with time-related functions
+in Rust.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-num-derive-0.3
+(define-public rust-tinytemplate-1.0
   (package
-    (name "rust-num-derive")
-    (version "0.3.0")
+    (name "rust-tinytemplate")
+    (version "1.0.3")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "num-derive" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0imprwv8cs01k46g56ajlvc97dp8kz51y2vn6cp9jkw1c6r1b2qc"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tinytemplate" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "06ipxjwl1w6synvql8b50qxbqv0w04agvmmfqcdynr9ygmkcd8sp"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page
-      "https://github.com/rust-num/num-derive";)
-    (synopsis "Numeric syntax extensions")
-    (description "Numeric syntax extensions")
-    (license (list license:expat license:asl2.0))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-serde-derive" ,rust-serde-derive-1.0))))
+    (home-page "https://github.com/bheisler/TinyTemplate";)
+    (synopsis "Simple, lightweight template engine")
+    (description
+     "Simple, lightweight template engine.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-arg-enum-proc-macro-0.3
+(define-public rust-tokio-0.1
   (package
-    (name "rust-arg-enum-proc-macro")
-    (version "0.3.0")
+    (name "rust-tokio")
+    (version "0.1.21")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "arg_enum_proc_macro" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "021rr6j3n031ynfbm7kwb3j3bxvbsz40n0nqi78k47d3p92rihcv"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "11ra8jp3fj70a2zrqmd6as7wgpwiiyzjf50gz89i8r7wpksgqbzc"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page
-      "https://github.com/lu-zero/arg_enum_proc_macro";)
-    (synopsis
-      "A procedural macro compatible with clap arg_enum")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.4)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-miow" ,rust-miow-0.3)
+        ("rust-num-cpus" ,rust-num-cpus-1.10)
+        ("rust-tokio-codec" ,rust-tokio-codec-0.1)
+        ("rust-tokio-current-thread" ,rust-tokio-current-thread-0.1)
+        ("rust-tokio-executor" ,rust-tokio-executor-0.1)
+        ("rust-tokio-fs" ,rust-tokio-fs-0.1)
+        ("rust-tokio-io" ,rust-tokio-io-0.1)
+        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1)
+        ("rust-tokio-sync" ,rust-tokio-sync-0.1)
+        ("rust-tokio-tcp" ,rust-tokio-tcp-0.1)
+        ("rust-tokio-threadpool" ,rust-tokio-threadpool-0.1)
+        ("rust-tokio-timer" ,rust-tokio-timer-0.2)
+        ("rust-tokio-trace-core" ,rust-tokio-trace-core-0.2)
+        ("rust-tokio-udp" ,rust-tokio-udp-0.1)
+        ("rust-tokio-uds" ,rust-tokio-uds-0.2))
+       #:cargo-development-inputs
+       (("rust-env-logger" ,rust-env-logger-0.6)
+        ("rust-flate2" ,rust-flate2-1.0)
+        ("rust-futures-cpupool" ,rust-futures-cpupool-0.1)
+        ("rust-http" ,rust-http-0.1)
+        ("rust-httparse" ,rust-httparse-1.3)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-num-cpus" ,rust-num-cpus-1.10)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-time" ,rust-time-0.1))))
+    (home-page "https://tokio.rs";)
+    (synopsis "Event-driven, non-blocking I/O platform")
     (description
-      "This package provides a procedural macro compatible with clap arg_enum")
+     "An event-driven, non-blocking I/O platform for writing asynchronous I/O
+backed applications.")
     (license license:expat)))
 
-(define-public rust-scan-fmt-0.2
+;; Cyclic dependency with tokio-io
+(define-public rust-tokio-codec-0.1
   (package
-    (name "rust-scan-fmt")
-    (version "0.2.5")
+    (name "rust-tokio-codec")
+    (version "0.1.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "scan_fmt" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1gmaa07z8bkkdv5xhq2lrgml6ri7fqyyrjpiks3phmpmq3p8d0i4"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-codec" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "17y3hi3dd0bdfkrzshx9qhwcf49xv9iynszj7iwy3w4nmz71wl2w"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-regex" ,rust-regex-1.3))))
-    (home-page "https://github.com/wlentz/scan_fmt";)
-    (synopsis "A simple scanf()-like input for Rust")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.4)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-tokio-io" ,rust-tokio-io-0.1))))
+    (home-page "https://tokio.rs";)
+    (synopsis
+     "Utilities for encoding and decoding frames")
     (description
-      "This package provides a simple scanf()-like input for Rust")
+     "Utilities for encoding and decoding frames.")
     (license license:expat)))
 
-(define-public rust-interpolate-name-0.2
+(define-public rust-tokio-core-0.1
   (package
-    (name "rust-interpolate-name")
-    (version "0.2.3")
+    (name "rust-tokio-core")
+    (version "0.1.17")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "interpolate_name" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "05vzsiqb69d1mbpaphcg4ifjsjs6g03b8pacskfcydqhh555zcxl"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-core" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0wbgg59mxfvrhzv97y56nh3gmnmw3jj9dhgkmvz27410jjxzpvxf"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page
-      "https://github.com/lu-zero/interpolate_name";)
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.4)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-iovec" ,rust-iovec-0.1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-scoped-tls" ,rust-scoped-tls-0.1)
+        ("rust-tokio" ,rust-tokio-0.1)
+        ("rust-tokio-executor" ,rust-tokio-executor-0.1)
+        ("rust-tokio-io" ,rust-tokio-io-0.1)
+        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1)
+        ("rust-tokio-timer" ,rust-tokio-timer-0.2))
+       #:cargo-development-inputs
+       (("rust-env-logger" ,rust-env-logger-0.4)
+        ("rust-flate2" ,rust-flate2-1.0)
+        ("rust-futures-cpupool" ,rust-futures-cpupool-0.1)
+        ("rust-http" ,rust-http-0.1)
+        ("rust-httparse" ,rust-httparse-1.3)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-num-cpus" ,rust-num-cpus-1.10)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-time" ,rust-time-0.1))))
+    (home-page "https://tokio.rs";)
     (synopsis
-      "Simple procedural macro attribute for repetitive tests")
+     "Core I/O and event loop primitives for asynchronous I/O in Rust")
     (description
-      "Simple procedural macro attribute for repetitive tests")
-    (license license:expat)))
+     "Core I/O and event loop primitives for asynchronous I/O in Rust.
+Foundation for the rest of the tokio crates.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-syn-mid-0.5
+(define-public rust-tokio-current-thread-0.1
   (package
-    (name "rust-syn-mid")
-    (version "0.5.0")
+    (name "rust-tokio-current-thread")
+    (version "0.1.6")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "syn-mid" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "12ikg5jfklixq0wsgfl7sdzjqlxgq50ygklxy4f972hjdjgm7qvv"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-current-thread" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0hx4c8v88kk0ih8x5s564gsgwwf8n11kryvxm72l1f7isz51fqni"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page "https://github.com/taiki-e/syn-mid";)
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-futures" ,rust-futures-0.1)
+        ("rust-tokio-executor" ,rust-tokio-executor-0.1))))
+    (home-page "https://github.com/tokio-rs/tokio";)
     (synopsis
-      "Providing the features between \"full\" and \"derive\" of syn.
-")
+     "Manage many tasks concurrently on the current thread")
     (description
-      "Providing the features between \"full\" and \"derive\" of syn.
-")
-    (license (list license:asl2.0 license:expat))))
+     "Single threaded executor which manage many tasks concurrently on
+the current thread.")
+    (license license:expat)))
 
-(define-public rust-proc-macro-error-attr-0.4
+;; Cyclic dependency with rust-tokio.
+(define-public rust-tokio-executor-0.1
   (package
-    (name "rust-proc-macro-error-attr")
-    (version "0.4.12")
+    (name "rust-tokio-executor")
+    (version "0.1.7")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "proc-macro-error-attr" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1pk9mwcfnpf8favgc2cl4sqlmi818p96hg8pfb51wg5nzmvlnnwa"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-executor" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0pjmgpg58k3hf5q9w6xjljsv8xy66lf734qnfwsc0g3pq3349sl3"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-syn-mid" ,rust-syn-mid-0.5)
-         ("rust-version-check" ,rust-version-check-0.9)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page
-      "https://gitlab.com/CreepySkeleton/proc-macro-error";)
-    (synopsis
-      "Attribute macro for proc-macro-error crate")
-    (description
-      "Attribute macro for proc-macro-error crate")
-    (license (list license:expat license:asl2.0))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
+        ("rust-futures" ,rust-futures-0.1))
+       #:cargo-development-inputs
+       (("rust-tokio" ,rust-tokio-0.1))))
+    (home-page "https://github.com/tokio-rs/tokio";)
+    (synopsis "Future execution primitives")
+    (description "Future execution primitives.")
+    (license license:expat)))
 
-(define-public rust-proc-macro-error-0.4
+(define-public rust-tokio-fs-0.1
   (package
-    (name "rust-proc-macro-error")
-    (version "0.4.12")
+    (name "rust-tokio-fs")
+    (version "0.1.6")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "proc-macro-error" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1rvpaadwv7vmsp142qqh2axqrr9v78f1nvdsi9nhmfhy10kk1wqq"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-fs" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1bxp8585pi4j5g39ci2gkk99qnyilyhhila7cs8r6scdn0idrriz"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro-error-attr"
-          ,rust-proc-macro-error-attr-0.4)
-         ("rust-version-check" ,rust-version-check-0.9)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page
-      "https://gitlab.com/CreepySkeleton/proc-macro-error";)
-    (synopsis
-      "Almost drop-in replacement to panics in proc-macros")
-    (description
-      "Almost drop-in replacement to panics in proc-macros")
-    (license (list license:expat license:asl2.0))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-futures" ,rust-futures-0.1)
+        ("rust-tokio-io" ,rust-tokio-io-0.1)
+        ("rust-tokio-threadpool" ,rust-tokio-threadpool-0.1))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.4)
+        ("rust-tempdir" ,rust-tempdir-0.3)
+        ("rust-tempfile" ,rust-tempfile-3.0)
+        ("rust-tokio" ,rust-tokio-0.1)
+        ("rust-tokio-codec" ,rust-tokio-codec-0.1)
+        ("rust-tokio-io" ,rust-tokio-io-0.1))))
+    (home-page "https://tokio.rs";)
+    (synopsis "Filesystem API for Tokio")
+    (description "Filesystem API for Tokio.")
+    (license license:expat)))
 
-(define-public rust-cargo-metadata-0.6
+;; Cyclic dependencies with tokio and tokio-current-thread
+(define-public rust-tokio-io-0.1
   (package
-    (name "rust-cargo-metadata")
-    (version "0.6.4")
+    (name "rust-tokio-io")
+    (version "0.1.13")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "cargo_metadata" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1givpi2w7iwqqnl87x5yc15zcm5hs6yw490sb6abkfp1h39v9lg5"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-io" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0x06zyzinans1pn90g6i150lgixijdf1cg8y2gipjd09ms58dz2p"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-error-chain" ,rust-error-chain-0.12)
-         ("rust-semver" ,rust-semver-0.9)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-serde-derive" ,rust-serde-derive-1.0)
-         ("rust-serde-json" ,rust-serde-json-1.0))))
-    (home-page
-      "https://github.com/oli-obk/cargo_metadata";)
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.4)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-log" ,rust-log-0.4))
+       #:cargo-development-inputs
+       (("rust-tokio-current-thread" ,rust-tokio-current-thread-0.1))))
+    (home-page "https://tokio.rs";)
     (synopsis
-      "structured access to the output of `cargo metadata`")
+     "Core I/O primitives for asynchronous I/O in Rust")
     (description
-      "structured access to the output of `cargo metadata`")
+     "Core I/O primitives for asynchronous I/O in Rust.")
     (license license:expat)))
 
-(define-public rust-bytecount-0.4
+(define-public rust-tokio-io-pool-0.1
   (package
-    (name "rust-bytecount")
-    (version "0.4.0")
+    (name "rust-tokio-io-pool")
+    (version "0.1.6")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "bytecount" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "13qpy38z5wx0rzcdvr2h0ixbfgi1dbrif068il3hwn3k2mah88mr"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-io-pool" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "17lrjj7lcw13wchpbvr8cynmypd29h40clf9qxabh6fxva40kwm5"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-packed-simd" ,rust-packed-simd-0.3))))
-    (home-page "https://github.com/llogiq/bytecount";)
-    (synopsis
-      "count occurrences of a given byte, or the number of UTF-8 code points, 
in a byte slice, fast")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-futures" ,rust-futures-0.1)
+        ("rust-num-cpus" ,rust-num-cpus-1.10)
+        ("rust-tokio" ,rust-tokio-0.1)
+        ("rust-tokio-executor" ,rust-tokio-executor-0.1))
+       #:cargo-development-inputs
+       (("rust-tokio-current-thread" ,rust-tokio-current-thread-0.1))))
+    (home-page "https://github.com/jonhoo/tokio-io-pool";)
+    (synopsis "Execute short, I/O-heavy futures efficiently")
     (description
-      "count occurrences of a given byte, or the number of UTF-8 code points, 
in a byte slice, fast")
+     "Alternative tokio thread pool for executing short, I/O-heavy
+futures efficiently")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-pulldown-cmark-0.2
+(define-public rust-tokio-mock-task-0.1
   (package
-    (name "rust-pulldown-cmark")
-    (version "0.2.0")
+    (name "rust-tokio-mock-task")
+    (version "0.1.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "pulldown-cmark" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "tokio-mock-task" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "05gfnqa0wzix5m17jrmgj0yyr9sflqm0knn79ndppsnhcan2zxgf"))))
+         (base32
+          "1y7q83qfk9ljjfvs82b453pmz9x1v3d6kr4x55j8mal01s6790dw"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-getopts" ,rust-getopts-0.2)
-         ("rust-bitflags" ,rust-bitflags-1))))
-    (home-page
-      "https://github.com/raphlinus/pulldown-cmark";)
-    (synopsis "A pull parser for CommonMark")
+     `(#:cargo-inputs
+       (("rust-futures" ,rust-futures-0.1))))
+    (home-page  "https://github.com/carllerche/tokio-mock-task";)
+    (synopsis "Mock a Tokio task")
+    (description "Mock a Tokio task.")
+    (license license:expat)))
+
+(define-public rust-tokio-process-0.2
+  (package
+    (name "rust-tokio-process")
+    (version "0.2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-process" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1s6vi5n5iax4ksx3bzpfdhfbngj49mvq5n40np1d4aycp3qnxgdg"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-crossbeam-queue" ,rust-crossbeam-queue-0.1)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-mio-named-pipes" ,rust-mio-named-pipes-0.1)
+        ("rust-tokio-io" ,rust-tokio-io-0.1)
+        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1)
+        ("rust-tokio-signal" ,rust-tokio-signal-0.2)
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-failure" ,rust-failure-0.1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-tokio" ,rust-tokio-0.1))))
+    (home-page "https://github.com/tokio-rs/tokio";)
+    (synopsis
+     "Asynchronous process management backed futures")
     (description
-      "This package provides a pull parser for CommonMark")
+     "An implementation of an asynchronous process management backed
+futures.")
     (license license:expat)))
 
-(define-public rust-error-chain-0.12
+(define-public rust-tokio-reactor-0.1
   (package
-    (name "rust-error-chain")
-    (version "0.12.2")
+    (name "rust-tokio-reactor")
+    (version "0.1.9")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "error-chain" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1ka5y0fmymxzx3gz2yrd7rpz2i555m1iw4fpmcggpzcgr1n10wfk"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-reactor" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1khip64cn63xvayq1db68kxcnhgw3cb449a4n2lbw4p1qzx6pwba"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-backtrace" ,rust-backtrace-0.3)
-         ("rust-version-check" ,rust-version-check-0.9))))
-    (home-page
-      "https://github.com/rust-lang-nursery/error-chain";)
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-num-cpus" ,rust-num-cpus-1.10)
+        ("rust-parking-lot" ,rust-parking-lot-0.7)
+        ("rust-slab" ,rust-slab-0.4)
+        ("rust-tokio-executor" ,rust-tokio-executor-0.1)
+        ("rust-tokio-io" ,rust-tokio-io-0.1)
+        ("rust-tokio-sync" ,rust-tokio-sync-0.1))
+       #:cargo-development-inputs
+       (("rust-num-cpus" ,rust-num-cpus-1.10)
+        ("rust-tokio" ,rust-tokio-0.1)
+        ("rust-tokio-io-pool" ,rust-tokio-io-pool-0.1))))
+    (home-page "https://tokio.rs";)
     (synopsis
-      "Yet another error boilerplate library.")
+     "Event loop that drives Tokio I/O resources")
     (description
-      "Yet another error boilerplate library.")
-    (license (list license:expat license:asl2.0))))
+     "Event loop that drives Tokio I/O resources.")
+    (license license:expat)))
 
-(define-public rust-skeptic-0.13
+(define-public rust-tokio-signal-0.2
   (package
-    (name "rust-skeptic")
-    (version "0.13.4")
+    (name "rust-tokio-signal")
+    (version "0.2.7")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "skeptic" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0rai61hbs65nbvbhqlk1nap5hlav5qx3zmjjjzh9rhgxagc8xyyn"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-signal" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "15l27cvhfcjsahwnm2pgsm0690w0xj1h1sbdl5wy6p50dqkwavfx"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-error-chain" ,rust-error-chain-0.12)
-         ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.2)
-         ("rust-glob" ,rust-glob-0.2)
-         ("rust-tempdir" ,rust-tempdir-0.3)
-         ("rust-bytecount" ,rust-bytecount-0.4)
-         ("rust-cargo-metadata" ,rust-cargo-metadata-0.6)
-         ("rust-serde-json" ,rust-serde-json-1.0)
-         ("rust-walkdir" ,rust-walkdir-2.3))))
-    (home-page
-      "https://github.com/budziq/rust-skeptic";)
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-futures" ,rust-futures-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-mio-uds" ,rust-mio-uds-0.6)
+        ("rust-signal-hook" ,rust-signal-hook-0.1)
+        ("rust-tokio-executor" ,rust-tokio-executor-0.1)
+        ("rust-tokio-io" ,rust-tokio-io-0.1)
+        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1)
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-tokio" ,rust-tokio-0.1))))
+    (home-page "https://github.com/tokio-rs/tokio";)
     (synopsis
-      "Test your Rust markdown documentation via Cargo")
+     "Asynchronous Unix signal handling backed futures")
     (description
-      "Test your Rust markdown documentation via Cargo")
-    (license (list license:expat license:asl2.0))))
+     "An implementation of an asynchronous Unix signal handling backed
+futures.")
+    (license license:expat)))
 
-(define-public rust-err-derive-0.2
+(define-public rust-tokio-sync-0.1
   (package
-    (name "rust-err-derive")
-    (version "0.2.3")
+    (name "rust-tokio-sync")
+    (version "0.1.6")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "err-derive" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0v6wxrshfpg7mwaxzq8jwxbfiyn7zk5rlm4m8kkrwh7dpf8nrx42"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-sync" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ryalh7dcmnz46xj1va8aaw3if6vd4mj87r67dqvrqhpyf7j8qi1"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-synstructure" ,rust-synstructure-0.12)
-         ("rust-skeptic" ,rust-skeptic-0.13)
-         ("rust-proc-macro-error"
-          ,rust-proc-macro-error-0.4)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-rustversion" ,rust-rustversion-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page
-      "https://gitlab.com/torkleyy/err-derive";)
-    (synopsis "Derive macro for `std::error::Error`")
-    (description
-      "Derive macro for `std::error::Error`")
-    (license (list license:expat license:asl2.0))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-fnv" ,rust-fnv-1.0)
+        ("rust-futures" ,rust-futures-0.1))
+       #:cargo-development-inputs
+       (("rust-env-logger" ,rust-env-logger-0.6)
+        ("rust-loom" ,rust-loom-0.1)
+        ("rust-tokio" ,rust-tokio-0.1)
+        ("rust-tokio-mock-task" ,rust-tokio-mock-task-0.1))))
+    (home-page "https://tokio.rs";)
+    (synopsis "Synchronization utilities")
+    (description "Synchronization utilities.")
+    (license license:expat)))
 
-(define-public rust-rand-chacha-0.2
+(define-public rust-tokio-tcp-0.1
   (package
-    (name "rust-rand-chacha")
-    (version "0.2.2")
+    (name "rust-tokio-tcp")
+    (version "0.1.3")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rand_chacha" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "00il36fkdbsmpr99p9ksmmp6dn1md7rmnwmz0rr77jbrca2yvj7l"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-tcp" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "06a15vg8bcd33ng3h9ldzlq7wl4jsw0p9qpy7v22ls5yah3b250x"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-ppv-lite86" ,rust-ppv-lite86-0.2)
-         ("rust-rand-core" ,rust-rand-core-0.5))))
-    (home-page
-      "https://crates.io/crates/rand_chacha";)
-    (synopsis "ChaCha random number generator
-")
-    (description "ChaCha random number generator
-")
-    (license (list license:expat license:asl2.0))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.4)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-iovec" ,rust-iovec-0.1)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-tokio-io" ,rust-tokio-io-0.1)
+        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1))
+       #:cargo-development-inputs
+       (("rust-env-logger" ,rust-env-logger-0.6)
+        ("rust-tokio" ,rust-tokio-0.1))))
+    (home-page "https://tokio.rs";)
+    (synopsis "TCP bindings for tokio")
+    (description "TCP bindings for tokio.")
+    (license license:expat)))
 
-(define-public rust-noop-proc-macro-0.2
+(define-public rust-tokio-threadpool-0.1
   (package
-    (name "rust-noop-proc-macro")
-    (version "0.2.1")
+    (name "rust-tokio-threadpool")
+    (version "0.1.14")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "noop_proc_macro" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0in1l0rjxzs4fylb6zad484z1c58jxyzchhc12k0cjrvm0y6zwsz"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-threadpool" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1wkj3wixicsqvllm8w74b24knw6mdn00zslm8l9fm1p81gr8lmbj"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/lu-zero/noop_proc_macro";)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
+        ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.1)
+        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-num-cpus" ,rust-num-cpus-1.10)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-slab" ,rust-slab-0.4)
+        ("rust-tokio-executor" ,rust-tokio-executor-0.1))
+       #:cargo-development-inputs
+       (("rust-env-logger" ,rust-env-logger-0.6)
+        ("rust-futures-cpupool" ,rust-futures-cpupool-0.1)
+        ("rust-threadpool" ,rust-threadpool-1.7))))
+    (home-page "https://github.com/tokio-rs/tokio";)
     (synopsis
-      "No-op proc_macro, literally does nothing")
+     "Task scheduler backed by a work-stealing thread pool")
     (description
-      "No-op proc_macro, literally does nothing")
+     "This package provides a task scheduler backed by a work-stealing thread
+pool.")
     (license license:expat)))
 
-(define-public rust-bindgen-0.50
+(define-public rust-tokio-timer-0.2
   (package
-    (name "rust-bindgen")
-    (version "0.50.1")
+    (name "rust-tokio-timer")
+    (version "0.2.11")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "bindgen" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1fp98x0k4cawil3rqxsfrb58pq3mb5mn37rp745zxfmjfigml3nb"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-timer" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "03m68ainkdy3b5pf20rjyknhk2ppx35bjdc2yfj2bv80sl96h47j"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-shlex" ,rust-shlex-0.1)
-         ("rust-cfg-if" ,rust-cfg-if-0.1)
-         ("rust-peeking-take-while"
-          ,rust-peeking-take-while-0.1)
-         ("rust-fxhash" ,rust-fxhash-0.2)
-         ("rust-clang-sys" ,rust-clang-sys-0.28)
-         ("rust-cexpr" ,rust-cexpr-0.3)
-         ("rust-log" ,rust-log-0.4)
-         ("rust-proc-macro2" ,rust-proc-macro2-0.4)
-         ("rust-quote" ,rust-quote-0.6)
-         ("rust-env-logger" ,rust-env-logger-0.6)
-         ("rust-bitflags" ,rust-bitflags-1)
-         ("rust-regex" ,rust-regex-1.3)
-         ("rust-lazy-static" ,rust-lazy-static-1.4)
-         ("rust-which" ,rust-which-2.0)
-         ("rust-clap" ,rust-clap-2))))
-    (home-page
-      "https://rust-lang.github.io/rust-bindgen/";)
-    (synopsis
-      "Automatically generates Rust FFI bindings to C and C++ libraries.")
-    (description
-      "Automatically generates Rust FFI bindings to C and C++ libraries.")
-    (license license:bsd-3)))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-slab" ,rust-slab-0.4)
+        ("rust-tokio-executor" ,rust-tokio-executor-0.1))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.4)
+        ("rust-tokio" ,rust-tokio-0.1)
+        ("rust-tokio-mock-task" ,rust-tokio-mock-task-0.1))))
+    (home-page "https://github.com/tokio-rs/tokio";)
+    (synopsis "Timer facilities for Tokio")
+    (description "Timer facilities for Tokio.")
+    (license license:expat)))
 
-(define-public rust-onig-sys-69.2
+(define-public rust-tokio-trace-core-0.2
   (package
-    (name "rust-onig-sys")
-    (version "69.2.0")
+    (name "rust-tokio-trace-core")
+    (version "0.2.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "onig_sys" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0kjijq29yx05xxg9snvqnfn53dl52hchb4sk3zhfr77mypxlx38a"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-trace-core" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "04y6c2r4ddzk02xb3hn60s9a1w92h0g8pzmxwaspqvwmsrba5j59"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-pkg-config" ,rust-pkg-config-0.3)
-         ("rust-bindgen" ,rust-bindgen-0.50)
-         ("rust-cc" ,rust-cc-1.0))))
-    (home-page
-      "http://github.com/iwillspeak/rust-onig";)
-    (synopsis
-      "The `onig_sys` crate contains raw rust bindings to the
-oniguruma library. This crate exposes a set of unsafe
-functions which can then be used by other crates to
-create safe wrappers around Oniguruma.
-
-You probably don't want to link to this crate directly;
-instead check out the `onig` crate.
-")
-    (description
-      "The `onig_sys` crate contains raw rust bindings to the
-oniguruma library.  This crate exposes a set of unsafe
-functions which can then be used by other crates to
-create safe wrappers around Oniguruma.
-
-You probably don't want to link to this crate directly;
-instead check out the `onig` crate.
-")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1))))
+    (home-page "https://tokio.rs";)
+    (synopsis "Core primitives for tokio-trace")
+    (description "Core primitives for tokio-trace.")
     (license license:expat)))
 
-(define-public rust-onig-5.0
+(define-public rust-tokio-udp-0.1
   (package
-    (name "rust-onig")
-    (version "5.0.0")
+    (name "rust-tokio-udp")
+    (version "0.1.3")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "onig" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0ivr0wq1zlyjhhkxpsnmpncg92sjx3rha8pnp3m1mzvgk7y27rz4"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-udp" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "14kfj35s465czcspayacnzlxrazfvxzhhggq1rqlljhgp1sqa9k6"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-libc" ,rust-libc-0.2)
-         ("rust-bitflags" ,rust-bitflags-1)
-         ("rust-lazy-static" ,rust-lazy-static-1.4)
-         ("rust-onig-sys" ,rust-onig-sys-69.2))))
-    (home-page
-      "http://github.com/iwillspeak/rust-onig";)
-    (synopsis
-      "Rust-Onig is a set of Rust bindings for the
-Oniguruma regular expression library. Oniguruma
-is a modern regex library with support for
-multiple character encodings and regex syntaxes.
-")
-    (description
-      "Rust-Onig is a set of Rust bindings for the
-Oniguruma regular expression library.  Oniguruma
-is a modern regex library with support for
-multiple character encodings and regex syntaxes.
-")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.4)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-tokio-codec" ,rust-tokio-codec-0.1)
+        ("rust-tokio-io" ,rust-tokio-io-0.1)
+        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1))
+       #:cargo-development-inputs
+       (("rust-env-logger" ,rust-env-logger-0.6))))
+    (home-page "https://tokio.rs";)
+    (synopsis "UDP bindings for tokio")
+    (description "UDP bindings for tokio.")
     (license license:expat)))
 
-(define-public rust-winapi-util-0.1
+(define-public rust-tokio-uds-0.2
   (package
-    (name "rust-winapi-util")
-    (version "0.1.4")
+    (name "rust-tokio-uds")
+    (version "0.2.5")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "winapi-util" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0vj3984cxwnf1ys3fdz6bpl7p0kdsgykpzbhmcmwi759cd8mqlgs"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tokio-uds" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0i94kxma6l7iy5hd5k7nvn7v9pnyw0s54bm9mjs0lap1l0xzqzq3"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-winapi" ,rust-winapi-0.3))))
-    (home-page
-      "https://github.com/BurntSushi/winapi-util";)
-    (synopsis
-      "A dumping ground for high level safe wrappers over winapi.")
-    (description
-      "This package provides a dumping ground for high level safe wrappers 
over winapi.")
-    (license (list license:unlicense license:expat))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.4)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-iovec" ,rust-iovec-0.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-mio-uds" ,rust-mio-uds-0.6)
+        ("rust-tokio-codec" ,rust-tokio-codec-0.1)
+        ("rust-tokio-io" ,rust-tokio-io-0.1)
+        ("rust-tokio-reactor" ,rust-tokio-reactor-0.1))
+       #:cargo-development-inputs
+       (("rust-tempfile" ,rust-tempfile-3.0)
+        ("rust-tokio" ,rust-tokio-0.1))))
+    (home-page "https://github.com/tokio-rs/tokio";)
+    (synopsis "Unix Domain sockets for Tokio")
+    (description "Unix Domain sockets for Tokio.")
+    (license license:expat)))
 
-(define-public rust-walkdir-2.3
+(define-public rust-toml-0.5
   (package
-    (name "rust-walkdir")
-    (version "2.3.1")
+    (name "rust-toml")
+    (version "0.5.6")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "walkdir" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "toml" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0z9g39f49cycdm9vzjf8hnfh3f1csxgd65kmlphj8r2vffy84wbp"))))
+         (base32
+          "06n7j8z63hj6g0kj2x6sqwxnm4q3s0q5d873bdk41vqy1cb2vjgz"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-winapi-util" ,rust-winapi-util-0.1)
-         ("rust-winapi" ,rust-winapi-0.3)
-         ("rust-same-file" ,rust-same-file-1.0))))
-    (home-page
-      "https://github.com/BurntSushi/walkdir";)
-    (synopsis "Recursively walk a directory.")
-    (description "Recursively walk a directory.")
-    (license (list license:unlicense license:expat))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+        (("rust-indexmap" ,rust-indexmap-1.0)
+         ("rust-serde" ,rust-serde-1.0))
+        #:cargo-development-inputs
+        (("rust-serde-derive" ,rust-serde-derive-1.0)
+         ("rust-serde-json" ,rust-serde-json-1.0))))
+    (home-page "https://github.com/alexcrichton/toml-rs";)
+    (synopsis "Rust encoder and decoder of TOML-formatted files and streams")
+    (description
+     "This package provides a native Rust encoder and decoder of TOML-formatted
+files and streams.  Provides implementations of the standard
+Serialize/Deserialize traits for TOML data to facilitate deserializing and
+serializing Rust structures.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-bincode-1.2
+(define-public rust-toml-0.2
   (package
-    (name "rust-bincode")
-    (version "1.2.1")
+    (name "rust-toml")
+    (version "0.2.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "bincode" version))
+        (uri (crate-uri "toml" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "1gvxm3n67xv1874fwxmnlircdlphlk1hcw75ykrrnw9l2nky4lsp"))))
+            "1d1cz43bxrx4fd6j2p6myckf81f72bp47akg36y3flxjkhj60svk"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-serde" ,rust-serde-1.0)
-         ("rust-byteorder" ,rust-byteorder-1.3))))
-    (home-page "https://github.com/servo/bincode";)
+        (("rust-rustc-serialize"
+          ,rust-rustc-serialize-0.3)
+         ("rust-serde" ,rust-serde-0.8))))
+    (home-page
+      "https://github.com/alexcrichton/toml-rs";)
     (synopsis
-      "A binary serialization / deserialization strategy that uses Serde for 
transforming structs into bytes and vice versa!")
+      "A native Rust encoder and decoder of TOML-formatted files and streams. 
Provides
+implementations of the standard Serialize/Deserialize traits for TOML data to
+facilitate deserializing and serializing Rust structures.
+")
     (description
-      "This package provides a binary serialization / deserialization strategy 
that uses Serde for transforming structs into bytes and vice versa!")
-    (license license:expat)))
+      "This package provides a native Rust encoder and decoder of 
TOML-formatted files and streams.  Provides
+implementations of the standard Serialize/Deserialize traits for TOML data to
+facilitate deserializing and serializing Rust structures.
+")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-ryu-1.0
+(define-public rust-tracing-core-0.1
   (package
-    (name "rust-ryu")
-    (version "1.0.3")
+    (name "rust-tracing-core")
+    (version "0.1.9")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "ryu" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "tracing-core" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0xlx9ybzncrb7d6r9533g8ydlg6mr252pfzl4g9cqaqkpvk24mjk"))))
+         (base32
+          "0y0rcvvqq89yaiz0qdx88byxgz8j6hsm9slq8d5vvf3jwc8nz90k"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-no-panic" ,rust-no-panic-0.1))))
-    (home-page "https://github.com/dtolnay/ryu";)
-    (synopsis
-      "Fast floating point to string conversion")
+     `(#:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1))))
+    (home-page "https://tokio.rs";)
+    (synopsis "Core primitives for application-level tracing")
     (description
-      "Fast floating point to string conversion")
-    (license (list license:asl2.0 license:boost1.0))))
+     "Core primitives for application-level tracing.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-itoa-0.4
+(define-public rust-traitobject-0.1
   (package
-    (name "rust-itoa")
-    (version "0.4.5")
+    (name "rust-traitobject")
+    (version "0.1.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "itoa" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "traitobject" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "13nxqrfnh83a7x5rw4wq2ilp8nxvwy74dxzysdg59dbxqk0agdxq"))))
+         (base32
+          "0yb0n8822mr59j200fyr2fxgzzgqljyxflx9y8bdy3rlaqngilgg"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/dtolnay/itoa";)
-    (synopsis
-      "Fast functions for printing integer primitives to an io::Write")
-    (description
-      "Fast functions for printing integer primitives to an io::Write")
-    (license (list license:expat license:asl2.0))))
+    (home-page "https://github.com/reem/rust-traitobject";)
+    (synopsis "Unsafe helpers for dealing with raw trait objects")
+    (description "Unsafe helpers for dealing with raw trait objects.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-serde-json-1.0
+(define-public rust-try-from-0.3
   (package
-    (name "rust-serde-json")
-    (version "1.0.50")
+    (name "rust-try-from")
+    (version "0.3.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "serde_json" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "try_from" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0rs8rsk59kgkgsrw8hyyjrlhas9k1by2jwxxqcz3c2bq2qna39vq"))))
+         (base32
+          "12wdd4ja7047sd3rx70hv2056hyc8gcdllcx3a41g1rnw64kng98"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-itoa" ,rust-itoa-0.4)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-ryu" ,rust-ryu-1.0)
-         ("rust-indexmap" ,rust-indexmap-1.3))))
-    (home-page "https://github.com/serde-rs/json";)
-    (synopsis "A JSON serialization file format")
+     `(#:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1))))
+    (home-page "https://github.com/derekjw/try_from";)
+    (synopsis "TryFrom and TryInto traits for failable conversions")
     (description
-      "This package provides a JSON serialization file format")
-    (license (list license:expat license:asl2.0))))
+     "TryFrom and TryInto traits for failable conversions that return a 
Result.")
+    (license license:expat)))
 
-(define-public rust-xml-rs-0.8
+(define-public rust-try-lock-0.2
   (package
-    (name "rust-xml-rs")
-    (version "0.8.1")
+    (name "rust-try-lock")
+    (version "0.2.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "xml-rs" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "try-lock" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0c905wsmk995xypxljpxzq6vv660r1pzgyrpsfiz13kw3hf0dzcs"))))
+         (base32
+          "10p36rx6pqi9d0zr876xa8vksx2m66ha45myakl50rn08dxyn176"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/netvl/xml-rs";)
-    (synopsis "An XML library in pure Rust")
-    (description "An XML library in pure Rust")
+    (home-page "https://github.com/seanmonstar/try-lock";)
+    (synopsis "Lightweight atomic lock")
+    (description
+     "This package provides a lightweight atomic lock.")
     (license license:expat)))
 
-(define-public rust-line-wrap-0.1
+(define-public rust-trybuild-1.0
   (package
-    (name "rust-line-wrap")
-    (version "0.1.1")
+    (name "rust-trybuild")
+    (version "1.0.23")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "line-wrap" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1ffa2whkyh9mwvdlpk6v8pjkg8p8mlzyjfymq5adll9a18sl80zk"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "trybuild" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "080j808nv6nyr1mmw23vwdp4rkk7r38nmms850rih8lsclc1pzr6"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-safemem" ,rust-safemem-0.3))))
-    (home-page
-      "https://bitbucket.org/marshallpierce/line-wrap-rs/src";)
-    (synopsis "Efficiently insert line separators")
+     `(#:cargo-inputs
+       (("rust-dissimilar" ,rust-dissimilar-1.0)
+        ("rust-glob" ,rust-glob-0.3)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-termcolor" ,rust-termcolor-1.0)
+        ("rust-toml" ,rust-toml-0.5))))
+    (home-page "https://github.com/dtolnay/trybuild";)
+    (synopsis "Test harness for ui tests of compiler diagnostics")
     (description
-      "Efficiently insert line separators")
-    (license license:asl2.0)))
+     "Test harness for ui tests of compiler diagnostics.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-plist-0.4
+(define-public rust-typeable-0.1
   (package
-    (name "rust-plist")
-    (version "0.4.2")
+    (name "rust-typeable")
+    (version "0.1.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "plist" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "typeable" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0zqnxc5i4y6mj119vr0lzpb5j67vffpx2phhgh711533bw3ryajz"))))
+         (base32
+          "11w8dywgnm32hb291izjvh4zjd037ccnkk77ahk63l913zwzc40l"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-line-wrap" ,rust-line-wrap-0.1)
-         ("rust-base64" ,rust-base64-0.10)
-         ("rust-xml-rs" ,rust-xml-rs-0.8)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-humantime" ,rust-humantime-1.3)
-         ("rust-byteorder" ,rust-byteorder-1.3))))
-    (home-page
-      "https://github.com/ebarnard/rust-plist/";)
-    (synopsis
-      "A rusty plist parser. Supports Serde serialization.")
-    (description
-      "This package provides a rusty plist parser.  Supports Serde 
serialization.")
+    (home-page "https://github.com/reem/rust-typeable";)
+    (synopsis "Exposes Typeable, for getting TypeIds at runtime")
+    (description "Exposes Typeable, for getting TypeIds at runtime.")
     (license license:expat)))
 
-(define-public rust-syntect-3.3
+(define-public rust-typed-arena-1.4
   (package
-    (name "rust-syntect")
-    (version "3.3.0")
+    (name "rust-typed-arena")
+    (version "1.4.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "syntect" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1f6qn1yy15b0hq9h6q1rikqnm3lh56ic6bq3ywsmdsjy8ni9splm"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "typed-arena" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1i8yczhwcy0nnrxqck1lql3i7hvg95l0vw0dbgfb92zkms96mh66"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-plist" ,rust-plist-0.4)
-         ("rust-yaml-rust" ,rust-yaml-rust-0.4)
-         ("rust-regex-syntax" ,rust-regex-syntax-0.6)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-serde-derive" ,rust-serde-derive-1.0)
-         ("rust-flate2" ,rust-flate2-1.0)
-         ("rust-serde-json" ,rust-serde-json-1.0)
-         ("rust-fnv" ,rust-fnv-1.0)
-         ("rust-bitflags" ,rust-bitflags-1)
-         ("rust-lazycell" ,rust-lazycell-1.2)
-         ("rust-bincode" ,rust-bincode-1.2)
-         ("rust-lazy-static" ,rust-lazy-static-1.4)
-         ("rust-walkdir" ,rust-walkdir-2.3)
-         ("rust-onig" ,rust-onig-5.0))))
-    (home-page "https://github.com/trishume/syntect";)
-    (synopsis
-      "library for high quality syntax highlighting and code intelligence 
using Sublime Text's grammars")
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/SimonSapin/rust-typed-arena";)
+    (synopsis "The arena allocator")
     (description
-      "library for high quality syntax highlighting and code intelligence 
using Sublime Text's grammars")
+     "The arena, a fast but limited type of allocator.")
     (license license:expat)))
 
-(define-public rust-serde-test-1.0
+(define-public rust-typemap-0.3
   (package
-    (name "rust-serde-test")
-    (version "1.0.105")
+    (name "rust-typemap")
+    (version "0.3.3")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "serde_test" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "typemap" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1vnp0wld20z1wjr8qp2hxcy6yh2zhicg1mfb0qrzxgwq2a4n6raa"))))
+         (base32
+          "1xm1gbvz9qisj1l6d36hrl9pw8imr8ngs6qyanjnsad3h0yfcfv5"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-serde" ,rust-serde-1.0))))
-    (home-page "https://serde.rs";)
-    (synopsis
-      "Token De/Serializer for testing De/Serialize implementations")
+     `(#:cargo-inputs
+       (("rust-unsafe-any" ,rust-unsafe-any-0.4))))
+    (home-page "https://github.com/reem/rust-typemap";)
+    (synopsis "Typesafe store for many value types")
     (description
-      "Token De/Serializer for testing De/Serialize implementations")
-    (license (list license:expat license:asl2.0))))
+     "A typesafe store for many value types.")
+    (license license:expat)))
 
-(define-public rust-ascii-1.0
+(define-public rust-typenum-1.10
   (package
-    (name "rust-ascii")
-    (version "1.0.0")
+    (name "rust-typenum")
+    (version "1.10.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "ascii" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "typenum" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0281gc828q4j692gb66jfdr5k16gyszgqflylh0pp30rllv63xdv"))))
+         (base32
+          "0sc1jirllfhdi52z1xv9yqzxzpk6v7vadd13n7wvs1wnjipn6bb1"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/paholg/typenum";)
+    (synopsis "Rust library for type-level numbers evaluated at compile time")
+    (description "Typenum is a Rust library for type-level numbers evaluated at
+compile time.  It currently supports bits, unsigned integers, and signed
+integers.  It also provides a type-level array of type-level numbers, but its
+implementation is incomplete.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-ucd-parse-0.1
+  (package
+    (name "rust-ucd-parse")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ucd-parse" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "13mq6c85r6ak10gjlq74mzdhsi0g0vps2y73by420513gfnipm97"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-serde" ,rust-serde-1.0)
-         ("rust-serde-test" ,rust-serde-test-1.0))))
-    (home-page
-      "https://github.com/tomprogrammer/rust-ascii";)
-    (synopsis
-      "ASCII-only equivalents to `char`, `str` and `String`.")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-regex" ,rust-regex-1.1))))
+    (home-page "https://github.com/BurntSushi/ucd-generate";)
+    (synopsis "Parse data files in the Unicode character database")
     (description
-      "ASCII-only equivalents to `char`, `str` and `String`.")
+     "This package provides a library for parsing data files in the
+Unicode character database.")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-encode-unicode-0.3
+(define-public rust-ucd-trie-0.1
   (package
-    (name "rust-encode-unicode")
-    (version "0.3.6")
+    (name "rust-ucd-trie")
+    (version "0.1.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "encode_unicode" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "ucd-trie" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "07w3vzrhxh9lpjgsg2y5bwzfar2aq35mdznvcp3zjl0ssj7d4mx3"))))
+         (base32
+          "1hh6kyzh5xygwy96wfmsf8v8czlzhps2lgbcyhj1xzy1w1xys04g"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-clippy" ,rust-clippy-0.0)
-         ("rust-ascii" ,rust-ascii-1.0))))
-    (home-page
-      "https://github.com/tormol/encode_unicode";)
-    (synopsis
-      "UTF-8 and UTF-16 character types, iterators and related methods for 
char, u8 and u16.
-")
+     `(#:cargo-development-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1))))
+    (home-page "https://github.com/BurntSushi/ucd-generate";)
+    (synopsis "Trie for storing Unicode codepoint sets and maps")
     (description
-      "UTF-8 and UTF-16 character types, iterators and related methods for 
char, u8 and u16.
-")
-    (license (list license:expat license:asl2.0))))
+     "This package provides a trie for storing Unicode codepoint sets and 
maps.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-console-0.9
+(define-public rust-ucd-util-0.1
   (package
-    (name "rust-console")
-    (version "0.9.2")
+    (name "rust-ucd-util")
+    (version "0.1.7")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "console" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "ucd-util" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1h765951c9mywff534f0191slazykmif4290g2yarcwhd2cg7q25"))))
+         (base32
+          "13ng291mkc9b132jjf4laj76f5nqm5qd2447rm8bry3wxbdc5kaw"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-unicode-width" ,rust-unicode-width-0.1)
-         ("rust-libc" ,rust-libc-0.2)
-         ("rust-termios" ,rust-termios-0.3)
-         ("rust-encode-unicode" ,rust-encode-unicode-0.3)
-         ("rust-winapi" ,rust-winapi-0.3)
-         ("rust-clicolors-control"
-          ,rust-clicolors-control-1.0)
-         ("rust-regex" ,rust-regex-1.3)
-         ("rust-lazy-static" ,rust-lazy-static-1.4))))
-    (home-page
-      "https://github.com/mitsuhiko/console";)
-    (synopsis
-      "A terminal and console abstraction for Rust")
+    (home-page "https://github.com/BurntSushi/ucd-generate";)
+    (synopsis "library for working with the Unicode character database")
+    (description "This package provides a small utility library for working
+with the Unicode character database.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-unchecked-index-0.2
+  (package
+    (name "rust-unchecked-index")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "unchecked-index" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0p6qcai1mjayx59cpgk27d0zgw9hz9r1ira5jiqil66f4ba8dfpf"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/bluss/unchecked-index";)
+    (synopsis "Unchecked indexing wrapper using regular index syntax")
     (description
-      "This package provides a terminal and console abstraction for Rust")
-    (license license:expat)))
+     "Unchecked indexing wrapper using regular index syntax.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-better-panic-0.2
+(define-public rust-unicase-2.6
   (package
-    (name "rust-better-panic")
-    (version "0.2.0")
+    (name "rust-unicase")
+    (version "2.6.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "better-panic" version))
+        (uri (crate-uri "unicase" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "0xl48v6pd9ys7wp0ni62i6q73xpd1nhf92z09sjc9n3lrj0ac4ix"))))
+            "1xmlbink4ycgxrkjspp0mf7pghcx4m7vxq7fpfm04ikr2zk7pwsh"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-backtrace" ,rust-backtrace-0.3)
-         ("rust-console" ,rust-console-0.9)
-         ("rust-syntect" ,rust-syntect-3.3))))
+        (("rust-version-check" ,rust-version-check-0.9))))
     (home-page
-      "https://github.com/mitsuhiko/better-panic";)
+      "https://github.com/seanmonstar/unicase";)
     (synopsis
-      "Pretty panic backtraces inspired by Python's tracebacks.")
+      "A case-insensitive wrapper around strings.")
     (description
-      "Pretty panic backtraces inspired by Python's tracebacks.")
+      "This package provides a case-insensitive wrapper around strings.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-arbitrary-0.2
+(define-public rust-unicase-2.4
   (package
-    (name "rust-arbitrary")
-    (version "0.2.0")
+    (name "rust-unicase")
+    (version "2.4.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "arbitrary" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "unicase" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1i3fhcdyjq4isn22xx2svmpfr5hwyzi0wavbm07fs8i2dv5pdkv4"))))
+         (base32
+          "1xmpmkakhhblq7dzab1kwyv925kv7fqjkjsxjspg6ix9n88makm8"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/nagisa/rust_arbitrary/";)
-    (synopsis
-      "The trait for generating structured data from unstructured data")
+    (arguments
+     `(#:cargo-inputs (("rust-version-check" ,rust-version-check-0.1))))
+    (home-page "https://github.com/seanmonstar/unicase";)
+    (synopsis "Case-insensitive wrapper around strings")
     (description
-      "The trait for generating structured data from unstructured data")
-    (license (list license:expat license:asl2.0))))
+     "A case-insensitive wrapper around strings.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-nasm-rs-0.1
+(define-public rust-unicase-1
   (package
-    (name "rust-nasm-rs")
-    (version "0.1.7")
+    (inherit rust-unicase-2.4)
+    (name "rust-unicase")
+    (version "1.4.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "nasm-rs" version))
+        (uri (crate-uri "unicase" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+         (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "0r34hiy1pc0aksrfc02zsl0zyw33i9yi7kyx8l214l7nm0mzm97y"))))
+         (base32
+          "0cwazh4qsmm9msckjk86zc1z35xg7hjxjykrgjalzdv367w6aivz"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-heapsize" ,rust-heapsize-0.3)
+        ("rust-heapsize-plugin" ,rust-heapsize-plugin-0.1)
+        ("rust-version-check" ,rust-version-check-0.1))))))
+
+(define-public rust-unicode-bidi-0.3
+  (package
+    (name "rust-unicode-bidi")
+    (version "0.3.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "unicode-bidi" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1malx8ljgm7v1gbaazkn7iicy5wj0bwcyadj3l727a38ch6bvwj9"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-rayon" ,rust-rayon-1.3))))
-    (home-page "https://github.com/medek/nasm-rs";)
-    (synopsis "Run NASM during your Cargo build.")
-    (description "Run NASM during your Cargo build.")
-    (license (list license:expat license:asl2.0))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-flame" ,rust-flame-0.2)
+        ("rust-flamer" ,rust-flamer-0.3)
+        ("rust-matches" ,rust-matches-0.1)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-serde-test" ,rust-serde-test-1.0))))
+    (home-page "https://github.com/servo/unicode-bidi";)
+    (synopsis "Implementation of the Unicode Bidirectional Algorithm")
+    (description
+     "Implementation of the Unicode Bidirectional Algorithm.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-toml-0.2
+(define-public rust-unicode-normalization-0.1
   (package
-    (name "rust-toml")
-    (version "0.2.1")
+    (name "rust-unicode-normalization")
+    (version "0.1.8")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "toml" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1d1cz43bxrx4fd6j2p6myckf81f72bp47akg36y3flxjkhj60svk"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "unicode-normalization" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "09i49va90rvia1agvgni4gicnqv50y5zy1naw8mr8bcqifh3j4ql"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-rustc-serialize"
-          ,rust-rustc-serialize-0.3)
-         ("rust-serde" ,rust-serde-0.8))))
-    (home-page
-      "https://github.com/alexcrichton/toml-rs";)
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-smallvec" ,rust-smallvec-0.6))))
+    (home-page "https://github.com/unicode-rs/unicode-normalization";)
     (synopsis
-      "A native Rust encoder and decoder of TOML-formatted files and streams. 
Provides
-implementations of the standard Serialize/Deserialize traits for TOML data to
-facilitate deserializing and serializing Rust structures.
-")
+     "This crate provides functions for normalization of Unicode strings")
     (description
-      "This package provides a native Rust encoder and decoder of 
TOML-formatted files and streams.  Provides
-implementations of the standard Serialize/Deserialize traits for TOML data to
-facilitate deserializing and serializing Rust structures.
-")
+     "This crate provides functions for normalization of Unicode strings,
+including Canonical and Compatible Decomposition and Recomposition, as
+described in Unicode Standard Annex #15.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-error-chain-0.10
+(define-public rust-unicode-segmentation-1.6
   (package
-    (name "rust-error-chain")
-    (version "0.10.0")
+    (name "rust-unicode-segmentation")
+    (version "1.6.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "error-chain" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1y1gyj9g5c3k1nzkvxrgry8v9k86kcc585mczrm3qz019s35shyr"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "unicode-segmentation" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1h7d48mzpi8hwf5cvnq07warkv86pvapzzzf32hvbjsk20yiagp8"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-backtrace" ,rust-backtrace-0.3))))
-    (home-page
-      "https://github.com/rust-lang-nursery/error-chain";)
-    (synopsis
-      "Yet another error boilerplate library.")
+     `(#:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.7))))
+    (home-page "https://github.com/unicode-rs/unicode-segmentation";)
+    (synopsis "Grapheme Cluster, Word and Sentence boundaries")
     (description
-      "Yet another error boilerplate library.")
+     "This crate provides Grapheme Cluster, Word and Sentence
+boundaries according to Unicode Standard Annex #29 rules.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-metadeps-1.1
+(define-public rust-unicode-segmentation-1.3
+  (package
+    (inherit rust-unicode-segmentation-1.6)
+    (name "rust-unicode-segmentation")
+    (version "1.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "unicode-segmentation" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1a9jqg7rb1yq6w2xc9jgxcs111yk5vxm9afjfvykfnrmzk6z8rqr"))))))
+
+(define-public rust-unicode-width-0.1
   (package
-    (name "rust-metadeps")
-    (version "1.1.2")
+    (name "rust-unicode-width")
+    (version "0.1.7")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "metadeps" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "unicode-width" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1hjla9ypycqw1snd2qf87cckcc0d5z5qvxpcijn5yrrs3f825cbk"))))
+         (base32
+          "0yflmxkxmm89ckrb3sz58whn491aycrj8cxra0hzzlb72x9rvana"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-error-chain" ,rust-error-chain-0.10)
-         ("rust-toml" ,rust-toml-0.2)
-         ("rust-pkg-config" ,rust-pkg-config-0.3))))
-    (home-page
-      "https://github.com/joshtriplett/metadeps";)
-    (synopsis
-      "Run pkg-config from declarative dependencies in Cargo.toml")
-    (description
-      "Run pkg-config from declarative dependencies in Cargo.toml")
-    (license (list license:expat license:asl2.0))))
+     `(#:cargo-inputs
+       (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
+        ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)
+        ("rust-rustc-std-workspace-std" ,rust-rustc-std-workspace-std-1.0))))
+    (home-page "https://github.com/unicode-rs/unicode-width";)
+    (synopsis "Determine displayed width according to Unicode rules")
+    (description "This crate allows you to determine displayed width of
+@code{char} and @code{str} types according to Unicode Standard Annex #11 
rules.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-goblin-0.2
+(define-public rust-unicode-xid-0.2
   (package
-    (name "rust-goblin")
-    (version "0.2.1")
+    (name "rust-unicode-xid")
+    (version "0.2.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "goblin" version))
+        (uri (crate-uri "unicode-xid" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+          (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1j38fkqadbsjxawr3wnj9m0qaihcwp6pmfakmhsar881509y7mfx"))))
+         (base32
+          "0z09fn515xm7zyr0mmdyxa9mx2f7azcpv74pqmg611iralwpcvl2"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-scroll" ,rust-scroll-0.10)
-         ("rust-plain" ,rust-plain-0.2)
-         ("rust-log" ,rust-log-0.4))))
-    (home-page "https://github.com/m4b/goblin";)
-    (synopsis
-      "An impish, cross-platform, ELF, Mach-o, and PE binary parsing and 
loading crate")
-    (description
-      "An impish, cross-platform, ELF, Mach-o, and PE binary parsing and 
loading crate")
-    (license license:expat)))
+    (home-page "https://github.com/unicode-rs/unicode-xid";)
+    (synopsis "Determine Unicode XID related properties")
+    (description "Determine whether characters have the XID_Start
+or XID_Continue properties according to Unicode Standard Annex #31.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-gimli-0.20
+(define-public rust-unicode-xid-0.1
   (package
-    (name "rust-gimli")
-    (version "0.20.0")
+    (inherit rust-unicode-xid-0.2)
+    (name "rust-unicode-xid")
+    (version "0.1.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "gimli" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "unicode-xid" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0cz6wg1niwfqf0mk28igsdnsm92cs57cai9jpzdmvw6hma863pc1"))))
-    (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-fallible-iterator"
-          ,rust-fallible-iterator-0.2)
-         ("rust-arrayvec" ,rust-arrayvec-0.5)
-         ("rust-stable-deref-trait"
-          ,rust-stable-deref-trait-1.1)
-         ("rust-smallvec" ,rust-smallvec-1)
-         ("rust-indexmap" ,rust-indexmap-1.3)
-         ("rust-byteorder" ,rust-byteorder-1.3))))
-    (home-page "https://github.com/gimli-rs/gimli";)
-    (synopsis
-      "A library for reading and writing the DWARF debugging format.")
-    (description
-      "This package provides a library for reading and writing the DWARF 
debugging format.")
-    (license (list license:asl2.0 license:expat))))
+         (base32
+          "1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw"))))))
 
-(define-public rust-afl-0.5
+(define-public rust-unicode-xid-0.0
   (package
-    (name "rust-afl")
-    (version "0.5.2")
+    (inherit rust-unicode-xid-0.2)
+    (name "rust-unicode-xid")
+    (version "0.0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "unicode-xid" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1p5l9h3n3i53cp95fb65p8q3vbwib79ryd9z5z5h5kr9gl6qc7wc"))))))
+
+(define-public rust-unindent-0.1
+  (package
+    (name "rust-unindent")
+    (version "0.1.5")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "afl" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "unindent" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0azpi917l8nhvx25n2v670nvkxkrhcwmddfi85qnr6kchmi6y946"))))
+         (base32 "14s97blyqgf9hzxk22iazrghj60midajkw2801dfspz3n2iqmwb3"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-rustc-version" ,rust-rustc-version-0.2)
-         ("rust-rustc-version" ,rust-rustc-version-0.2)
-         ("rust-cc" ,rust-cc-1.0)
-         ("rust-xdg" ,rust-xdg-2.2)
-         ("rust-xdg" ,rust-xdg-2.2)
-         ("rust-clap" ,rust-clap-2))))
-    (home-page "https://github.com/rust-fuzz/afl.rs";)
-    (synopsis
-      "Fuzzing Rust code with american-fuzzy-lop")
-    (description
-      "Fuzzing Rust code with american-fuzzy-lop")
-    (license license:asl2.0)))
+    (home-page "https://github.com/dtolnay/indoc";)
+    (synopsis "Remove a column of leading whitespace from a string")
+    (description "This crate allows you to remove a column of leading
+whitespace from a string.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-cpp-demangle-0.2
+(define-public rust-unix-socket-0.5
   (package
-    (name "rust-cpp-demangle")
-    (version "0.2.14")
+    (name "rust-unix-socket")
+    (version "0.5.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "cpp_demangle" version))
+        (uri (crate-uri "unix_socket" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "1mm064x84868q06r4m4b7byf999nrkbhx7iyc4nchyssaxpsy5a1"))))
+            "0r0mxf3mmqvimnx4mpks1f6c4haj6jcxc0k9bs7w61f42w2718ka"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
         (("rust-cfg-if" ,rust-cfg-if-0.1)
-         ("rust-glob" ,rust-glob-0.3)
-         ("rust-afl" ,rust-afl-0.5))))
+         ("rust-libc" ,rust-libc-0.2))))
     (home-page
-      "https://github.com/gimli-rs/cpp_demangle";)
-    (synopsis "A crate for demangling C++ symbols")
-    (description
-      "This package provides a crate for demangling C++ symbols")
-    (license (list license:asl2.0 license:expat))))
+      "https://github.com/rust-lang-nursery/unix-socket";)
+    (synopsis "Unix domain socket bindings")
+    (description "Unix domain socket bindings")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-fallible-iterator-0.2
+(define-public rust-unreachable-1.0
   (package
-    (name "rust-fallible-iterator")
-    (version "0.2.1")
+    (name "rust-unreachable")
+    (version "1.0.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "fallible-iterator" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "unreachable" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1x31skjsynn2h7sq3qzyv4zlyk2w8jmqcs3phsg4qxhz52yj16qx"))))
+         (base32
+          "0mps2il4xy2mjqc3appas27hhn2xmvixc3bzzhfrjj74gy3i0a1q"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/sfackler/rust-fallible-iterator";)
-    (synopsis "Fallible iterator traits")
-    (description "Fallible iterator traits")
-    (license (list license:expat license:asl2.0))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-void" ,rust-void-1.0))))
+    (home-page "https://github.com/reem/rust-unreachable";)
+    (synopsis "Unreachable code optimization hint in rust")
+    (description
+     "This package provides an unreachable code optimization hint in rust.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-indexmap-1.3
+(define-public rust-unsafe-any-0.4
   (package
-    (name "rust-indexmap")
-    (version "1.3.2")
+    (name "rust-unsafe-any")
+    (version "0.4.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "indexmap" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "unsafe-any" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "14i2gmq9pwaafvlxmsc12j6539hjgqk4j4jz40fz763vbcn08vq7"))))
+         (base32
+          "0zwwphsqkw5qaiqmjwngnfpv9ym85qcsyj7adip9qplzjzbn00zk"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-autocfg" ,rust-autocfg-1.0)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-rayon" ,rust-rayon-1.3))))
-    (home-page "https://github.com/bluss/indexmap";)
-    (synopsis
-      "A hash table with consistent order and fast iteration.
-
-The indexmap is a hash table where the iteration order of the key-value
-pairs is independent of the hash values of the keys. It has the usual
-hash table functionality, it preserves insertion order except after
-removals, and it allows lookup of its elements by either hash table key
-or numerical index. A corresponding hash set type is also provided.
-
-This crate was initially published under the name ordermap, but it was renamed 
to
-indexmap.
-")
+     `(#:cargo-inputs
+       (("rust-traitobject" ,rust-traitobject-0.1))))
+    (home-page "https://tokio.rs";)
+    (synopsis "Traits and implementations for unchecked downcasting")
     (description
-      "This package provides a hash table with consistent order and fast 
iteration.
-
-The indexmap is a hash table where the iteration order of the key-value
-pairs is independent of the hash values of the keys.  It has the usual
-hash table functionality, it preserves insertion order except after
-removals, and it allows lookup of its elements by either hash table key
-or numerical index.  A corresponding hash set type is also provided.
-
-This crate was initially published under the name ordermap, but it was renamed 
to
-indexmap.
-")
-    (license (list license:asl2.0 license:expat))))
+     "Traits and implementations for unchecked downcasting.")
+    (license license:expat)))
 
-(define-public rust-miniz-oxide-0.3
+(define-public rust-untrusted-0.7
   (package
-    (name "rust-miniz-oxide")
-    (version "0.3.6")
+    (name "rust-untrusted")
+    (version "0.7.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "miniz_oxide" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "untrusted" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "198n4hfpq0qcxf275l6fpzh7b9cl7ck2xs6pjgpds74bazv9yrxa"))))
+         (base32
+          "1kmfykcwif6ashkwg54gcnhxj03kpba2i9vc7z5rpr0xlgvrwdk0"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-adler32" ,rust-adler32-1.0))))
-    (home-page
-      "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide";)
-    (synopsis
-      "DEFLATE compression and decompression library rewritten in Rust based 
on miniz")
+    (home-page "https://github.com/briansmith/untrusted";)
+    (synopsis "Zero-allocation parsing of untrusted inputs in Rust")
     (description
-      "DEFLATE compression and decompression library rewritten in Rust based 
on miniz")
-    (license license:expat)))
+     "Safe, fast, zero-panic, zero-crashing, zero-allocation parsing of
+untrusted inputs in Rust.")
+    (license license:isc)))
 
-(define-public rust-cloudflare-zlib-sys-0.2
+(define-public rust-url-2.1
   (package
-    (name "rust-cloudflare-zlib-sys")
-    (version "0.2.0")
+    (name "rust-url")
+    (version "2.1.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "cloudflare-zlib-sys" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "01lwfd15ijw4d8jsqp87yv4wpmzcp84qm0qqwy3yxmm0fjr5q6by"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "url" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1jw7cw8br4xvjb92ddrrh1r7jvqhyhiknnnfpgq9np63fs24m7c2"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-cc" ,rust-cc-1.0))))
-    (home-page "https://github.com/cloudflare/zlib";)
-    (synopsis
-      "Cloudflare fork of zlib with massive performance improvements")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-idna" ,rust-idna-0.2)
+        ("rust-matches" ,rust-matches-0.1)
+        ("rust-percent-encoding" ,rust-percent-encoding-2.1)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-bencher" ,rust-bencher-0.1)
+        ("rust-rustc-test" ,rust-rustc-test-0.3)
+        ("rust-serde-json" ,rust-serde-json-1.0))))
+    (home-page "https://github.com/servo/rust-url";)
+    (synopsis "URL library for Rust, based on the WHATWG URL Standard")
     (description
-      "Cloudflare fork of zlib with massive performance improvements")
-    (license
-      (list license:expat
-            license:zlib
-            license:asl2.0
-            license:zlib))))
+     "URL library for Rust, based on the WHATWG URL Standard.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-tokio-io-0.1
+(define-public rust-url-1.7
   (package
-    (name "rust-tokio-io")
-    (version "0.1.13")
+    (inherit rust-url-2.1)
+    (name "rust-url")
+    (version "1.7.2")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "tokio-io" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0x06zyzinans1pn90g6i150lgixijdf1cg8y2gipjd09ms58dz2p"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "url" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0nim1c90mxpi9wgdw2xh8dqd72vlklwlzam436akcrhjac6pqknx"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-encoding" ,rust-encoding-0.2)
+        ("rust-heapsize" ,rust-heapsize-0.4)
+        ("rust-idna" ,rust-idna-0.1)
+        ("rust-matches" ,rust-matches-0.1)
+        ("rust-percent-encoding" ,rust-percent-encoding-1.0)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-bencher" ,rust-bencher-0.1)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-rustc-test" ,rust-rustc-test-0.3)
+        ("rust-serde-json" ,rust-serde-json-1.0))))))
+
+(define-public rust-urlocator-0.1
+ (package
+   (name "rust-urlocator")
+   (version "0.1.2")
+   (source
+    (origin
+      (method url-fetch)
+      (uri (crate-uri "urlocator" version))
+      (file-name
+       (string-append name "-" version ".tar.gz"))
+      (sha256
+       (base32
+        "1xzhwmqrqyk8p3s5npqpidrn0gjapqx5fshrx633fk56j7cm8qm1"))))
+   (build-system cargo-build-system)
+   (home-page "https://github.com/chrisduerr/urlocator.git";)
+   (synopsis "Locate URLs in character streams")
+   (description "Locate URLs in character streams.")
+   (license (list license:expat license:asl2.0))))
+
+(define-public rust-user32-sys-0.2
+  (package
+    (name "rust-user32-sys")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "user32-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ivxc7hmsxax9crdhxdd1nqwik4s9lhb2x59lc8b88bv20fp3x2f"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-futures" ,rust-futures-0.1)
-         ("rust-log" ,rust-log-0.4)
-         ("rust-bytes" ,rust-bytes-0.4))))
-    (home-page "https://tokio.rs";)
-    (synopsis
-      "Core I/O primitives for asynchronous I/O in Rust.
-")
+     `(#:cargo-inputs
+       (("rust-winapi" ,rust-winapi-0.2))
+       #:cargo-development-inputs
+       (("rust-winapi-build" ,rust-winapi-build-0.1))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-cargo-toml
+           (lambda _
+             (substitute* "Cargo.toml"
+               ((", path =.*}") "}"))
+             #t)))))
+    (home-page "https://github.com/retep998/winapi-rs";)
+    (synopsis "Function definitions for the Windows API library user32")
     (description
-      "Core I/O primitives for asynchronous I/O in Rust.
-")
+     "Contains function definitions for the Windows API library user32.
+See winapi for types and constants.")
     (license license:expat)))
 
-(define-public rust-flate2-1.0
+(define-public rust-users-0.9
   (package
-    (name "rust-flate2")
-    (version "1.0.14")
+    (name "rust-users")
+    (version "0.9.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "flate2" version))
+        (uri (crate-uri "users" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+         (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "0hlb2zmn5ixrgr0i1qvrd3a7j4fpp002d0kddn2hm7hjj49z9zrc"))))
+         (base32
+          "1kxl3y2hcrqqip7jpqn5mz7xlpbwmmpfmaza0xnyrhx0mrkl4by7"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-cfg-if" ,rust-cfg-if-0.1)
-         ("rust-miniz-sys" ,rust-miniz-sys-0.1)
-         ("rust-tokio-io" ,rust-tokio-io-0.1)
-         ("rust-futures" ,rust-futures-0.1)
-         ("rust-cloudflare-zlib-sys"
-          ,rust-cloudflare-zlib-sys-0.2)
-         ("rust-libc" ,rust-libc-0.2)
-         ("rust-miniz-oxide" ,rust-miniz-oxide-0.3)
-         ("rust-libz-sys" ,rust-libz-sys-1.0)
-         ("rust-crc32fast" ,rust-crc32fast-1.2))))
-    (home-page
-      "https://github.com/alexcrichton/flate2-rs";)
+     `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
+    (home-page "https://github.com/ogham/rust-users";)
+    (synopsis "Library for getting information on Unix users and groups")
+    (description "This package provides a library for getting information on
+Unix users and groups.")
+    (license license:expat)))
+
+(define-public rust-utf-8-0.7
+  (package
+    (name "rust-utf-8")
+    (version "0.7.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "utf-8" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1iw5rp4i3mfi9k51picbr5bgjqhjcmnxx7001clh5ydq31y2zr05"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/SimonSapin/rust-utf8";)
     (synopsis
-      "Bindings to miniz.c for DEFLATE compression and decompression exposed as
-Reader/Writer streams. Contains bindings for zlib, deflate, and gzip-based
-streams.
-")
+     "Incremental, zero-copy UTF-8 decoding with error handling")
     (description
-      "Bindings to miniz.c for DEFLATE compression and decompression exposed as
-Reader/Writer streams.  Contains bindings for zlib, deflate, and gzip-based
-streams.
-")
+     "Incremental, zero-copy UTF-8 decoding with error handling.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-erased-serde-0.3
+(define-public rust-utf8-ranges-1.0
   (package
-    (name "rust-erased-serde")
-    (version "0.3.11")
+    (name "rust-utf8-ranges")
+    (version "1.0.4")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "erased-serde" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1lgkpkk7nx6f24gmr3psyj8d2avc9701r9jyw1i4ssp10lbnv2yq"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "utf8-ranges" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1fpc32znar5v02nwsw7icl41jzzzzhy0si6ngqjylzrbxxpi3bml"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-serde" ,rust-serde-1.0))))
-    (home-page
-      "https://github.com/dtolnay/erased-serde";)
-    (synopsis
-      "Type-erased Serialize and Serializer traits")
-    (description
-      "Type-erased Serialize and Serializer traits")
-    (license (list license:expat license:asl2.0))))
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-doc-comment" ,rust-doc-comment-0.3)
+        ("rust-quickcheck" ,rust-quickcheck-0.8))))
+    (home-page "https://github.com/BurntSushi/utf8-ranges";)
+    (synopsis
+     "Convert ranges of Unicode codepoints to UTF-8 byte ranges")
+    (description
+     "Convert ranges of Unicode codepoints to UTF-8 byte ranges.")
+    (license (list license:expat license:unlicense))))
+
+(define-public rust-utf8-ranges-0.1
+  (package
+    (inherit rust-utf8-ranges-1.0)
+    (name "rust-utf8-ranges")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "utf8-ranges" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "03xf604b2v51ag3jgzw92l97xnb10kw9zv948bhc7ja1ik017jm1"))))
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.2))))))
 
-(define-public rust-slog-2.5
+(define-public rust-utf8parse-0.1
   (package
-    (name "rust-slog")
-    (version "2.5.2")
+    (name "rust-utf8parse")
+    (version "0.1.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "slog" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "16bv6zrdn1sm315vbnia02g31xvsmbjyz5gv3z0vrgxdli0cdj8w"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "utf8parse" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0zamsj2986shm4x9zncjf2m5qy9scaw7qnxw4f89b2afpg6a8wl7"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-erased-serde" ,rust-erased-serde-0.3))))
-    (home-page "https://github.com/slog-rs/slog";)
-    (synopsis
-      "Structured, extensible, composable logging for Rust")
-    (description
-      "Structured, extensible, composable logging for Rust")
-    (license
-      (list license:mpl2.0
-            license:expat
-            license:asl2.0))))
+    (home-page "https://github.com/jwilm/vte";)
+    (synopsis "Table-driven UTF-8 parser")
+    (description "This package provides a table-driven UTF-8 parser.")
+    (license (list license:asl2.0 license:expat))))
 
 (define-public rust-uuid-0.8
   (package
@@ -26610,1985 +23990,1959 @@ streams.
       "This package provides a library to generate and parse UUIDs.")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-parity-wasm-0.41
-  (package
-    (name "rust-parity-wasm")
-    (version "0.41.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "parity-wasm" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0rfqgjyxrxrfjq5r5n81mdklahl8g4az6yhyyvw25nh0mj6qgz6x"))))
-    (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/paritytech/parity-wasm";)
-    (synopsis "WebAssembly low-level format library")
-    (description
-      "WebAssembly low-level format library")
-    (license (list license:expat license:asl2.0))))
-
-(define-public rust-target-lexicon-0.10
-  (package
-    (name "rust-target-lexicon")
-    (version "0.10.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "target-lexicon" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "17diw9c3d1vb5rmwwk2ghsyhfs0gj5jm78hrwxxhmd67vhw743mb"))))
-    (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/CraneStation/target-lexicon";)
-    (synopsis
-      "Targeting utilities for compilers and related tools")
-    (description
-      "Targeting utilities for compilers and related tools")
-    (license (list license:asl2.0
-                   ;XXX unknown-license!
-                   ))))
-
-(define-public rust-scroll-derive-0.10
-  (package
-    (name "rust-scroll-derive")
-    (version "0.10.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "scroll_derive" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0a7f0xybi27p1njs4bqmxh9zyb2dqal4dbvgnhjjix4zkgm4wn7q"))))
-    (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page "https://github.com/m4b/scroll";)
-    (synopsis
-      "A macros 1.1 derive implementation for Pread and Pwrite traits from the 
scroll crate")
-    (description
-      "This package provides a macros 1.1 derive implementation for Pread and 
Pwrite traits from the scroll crate")
-    (license license:expat)))
-
-(define-public rust-scroll-0.10
+(define-public rust-uuid-0.7
   (package
-    (name "rust-scroll")
-    (version "0.10.1")
+    (name "rust-uuid")
+    (version "0.7.4")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "scroll" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1cbcns8538sqmfnmdbphqy0fd4j8z75z802pvmz3zlwmnln37cmb"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "uuid" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ank4xk20x3nrz926w8j9mz53bi3v8bykxmhlq2pffa8xc8wdnwh"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-scroll-derive" ,rust-scroll-derive-0.10))))
-    (home-page "https://github.com/m4b/scroll";)
-    (synopsis
-      "A suite of powerful, extensible, generic, endian-aware Read/Write 
traits for byte buffers")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-md5" ,rust-md5-0.6)
+        ("rust-rand" ,rust-rand-0.6)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-sha1" ,rust-sha1-0.6)
+        ("rust-slog" ,rust-slog-2.4)
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1.1)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-serde-test" ,rust-serde-test-1.0))))
+    (home-page "https://github.com/uuid-rs/uuid";)
+    (synopsis "Generate and parse UUIDs")
     (description
-      "This package provides a suite of powerful, extensible, generic, 
endian-aware Read/Write traits for byte buffers")
-    (license license:expat)))
+     "This package provides a library to generate and parse UUIDs.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-goblin-0.1
+(define-public rust-uuid-0.5
   (package
-    (name "rust-goblin")
-    (version "0.1.3")
+    (inherit rust-uuid-0.7)
+    (name "rust-uuid")
+    (version "0.5.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "goblin" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1nn0aa2jf207gbyccxnrzm7n217di025z5y1ybblp7nkk11j309h"))))
-    (build-system cargo-build-system)
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "uuid" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "08nw3famk1w1zf9ck32pmklk24wd4n4nqnr9wl46qvxak2wf7ixw"))))
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-scroll" ,rust-scroll-0.10)
-         ("rust-plain" ,rust-plain-0.2)
-         ("rust-log" ,rust-log-0.4))))
-    (home-page "https://github.com/m4b/goblin";)
-    (synopsis
-      "An impish, cross-platform, ELF, Mach-o, and PE binary parsing and 
loading crate")
-    (description
-      "An impish, cross-platform, ELF, Mach-o, and PE binary parsing and 
loading crate")
-    (license license:expat)))
+     `(#:cargo-inputs
+       (("rust-md5" ,rust-md5-0.3)
+        ("rust-rand" ,rust-rand-0.3)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-sha1" ,rust-sha1-0.2))))))
 
-(define-public rust-object-0.17
+(define-public rust-vcpkg-0.2
   (package
-    (name "rust-object")
-    (version "0.17.0")
+    (name "rust-vcpkg")
+    (version "0.2.8")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "object" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "vcpkg" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1bmgbg4k0725lchfy9j1wnpfmywh5qhs0k4k6j2g7c0acvys8i7a"))))
+         (base32
+          "0s1ijdrsg6917imja2hb07l0z4vbx7ydm8m2i1n9g62fg7r3ki1z"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-goblin" ,rust-goblin-0.1)
-         ("rust-target-lexicon" ,rust-target-lexicon-0.10)
-         ("rust-scroll" ,rust-scroll-0.10)
-         ("rust-parity-wasm" ,rust-parity-wasm-0.41)
-         ("rust-uuid" ,rust-uuid-0.8)
-         ("rust-flate2" ,rust-flate2-1.0)
-         ("rust-crc32fast" ,rust-crc32fast-1.2)
-         ("rust-indexmap" ,rust-indexmap-1.3))))
-    (home-page "https://github.com/gimli-rs/object";)
-    (synopsis
-      "A unified interface for reading and writing object file formats.")
-    (description
-      "This package provides a unified interface for reading and writing 
object file formats.")
-    (license (list license:asl2.0 license:expat))))
+     `(#:tests? #f      ; Tests want mysql, harfbuzz, graphite2.
+       #:cargo-development-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page "https://github.com/mcgoo/vcpkg-rs";)
+    (synopsis "Find native dependencies in a vcpkg tree at build time")
+    (description
+     "This package provides a library to find native dependencies in a
+@code{vcpkg} tree at build time in order to be used in Cargo build scripts.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-addr2line-0.11
+(define-public rust-vec-map-0.8
   (package
-    (name "rust-addr2line")
-    (version "0.11.0")
+    (name "rust-vec-map")
+    (version "0.8.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "addr2line" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "vec_map" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0sk5g8cb2yynlcm0wcqff9l9c9ml69rqgfrrbii0ybgdc236jkhw"))))
+         (base32
+          "06n8hw4hlbcz328a3gbpvmy0ma46vg1lc0r5wf55900szf3qdiq5"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
-         ("rust-object" ,rust-object-0.17)
-         ("rust-fallible-iterator"
-          ,rust-fallible-iterator-0.2)
-         ("rust-cpp-demangle" ,rust-cpp-demangle-0.2)
-         ("rust-gimli" ,rust-gimli-0.20)
-         ("rust-smallvec" ,rust-smallvec-1)
-         ("rust-lazycell" ,rust-lazycell-1.2))))
-    (home-page
-      "https://github.com/gimli-rs/addr2line";)
-    (synopsis
-      "A cross-platform symbolication library written in Rust, using `gimli`")
+     `(#:cargo-inputs
+       (("rust-serde" ,rust-serde-1.0))))
+    (home-page "https://github.com/contain-rs/vec-map";)
+    (synopsis "Simple map based on a vector for small integer keys")
     (description
-      "This package provides a cross-platform symbolication library written in 
Rust, using `gimli`")
-    (license (list license:asl2.0 license:expat))))
+     "This package provides a simple map based on a vector for small integer 
keys.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-backtrace-sys-0.1
+(define-public rust-vecmath-1.0
   (package
-    (name "rust-backtrace-sys")
-    (version "0.1.35")
+    (name "rust-vecmath")
+    (version "1.0.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "backtrace-sys" version))
+        (uri (crate-uri "vecmath" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "066iviphi72mx9hd3njzsplk5v45jhi10mrccbbyij391ahsps3x"))))
+            "0shmj76rj7rqv377vy365xwr5rx23kxqgkqxxrymdjjvv3hf2slm"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-compiler-builtins"
-          ,rust-compiler-builtins-0.1)
-         ("rust-libc" ,rust-libc-0.2)
-         ("rust-rustc-std-workspace-core"
-          ,rust-rustc-std-workspace-core-1.0)
-         ("rust-cc" ,rust-cc-1.0))))
+        (("rust-piston-float" ,rust-piston-float-1.0))))
     (home-page
-      "https://github.com/alexcrichton/backtrace-rs";)
+      "https://github.com/pistondevelopers/vecmath";)
     (synopsis
-      "Bindings to the libbacktrace gcc library
-")
+      "A simple and type agnostic library for vector math designed for 
reexporting")
     (description
-      "Bindings to the libbacktrace gcc library
-")
-    (license (list license:expat license:asl2.0))))
+      "This package provides a simple and type agnostic library for vector 
math designed for reexporting")
+    (license license:expat)))
 
-(define-public rust-compiler-builtins-0.1
+(define-public rust-vergen-3.1
   (package
-    (name "rust-compiler-builtins")
-    (version "0.1.26")
+    (name "rust-vergen")
+    (version "3.1.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "compiler_builtins" version))
+        (uri (crate-uri "vergen" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "1rhj6ccmfkh9gcxnxgjq4fg257yi4f9325nfzsphbmxwkrg06sq3"))))
+            "1jrr0wihm9si98qz8ghjfnalfvmfv8rqvkgj2npqa7yzjs4hvrac"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-rustc-std-workspace-core"
-          ,rust-rustc-std-workspace-core-1.0)
-         ("rust-cc" ,rust-cc-1.0))))
-    (home-page
-      "https://github.com/rust-lang/compiler-builtins";)
-    (synopsis
-      "Compiler intrinsics used by the Rust compiler. Also available for other 
targets
-if necessary!
-")
+        (("rust-chrono" ,rust-chrono-0.4)
+         ("rust-chrono" ,rust-chrono-0.4)
+         ("rust-bitflags" ,rust-bitflags-1))))
+    (home-page "http://github.com/rustyhorde/vergen";)
+    (synopsis "Generate version related functions")
     (description
-      "Compiler intrinsics used by the Rust compiler.  Also available for 
other targets
-if necessary!
-")
+      "Generate version related functions")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-backtrace-0.3
+(define-public rust-version-check-0.9
   (package
-    (name "rust-backtrace")
-    (version "0.3.46")
+    (name "rust-version-check")
+    (version "0.9.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "backtrace" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "version_check" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "17hh1vrhfd01qpjilrdpy7q0lf2j2qv36achpg37q92rff4r5rmi"))))
+         (base32
+          "1kikqlnggii1rvnxrbls55sc46lxvinz5k3giscgncjj4p87b1q7"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-cfg-if" ,rust-cfg-if-0.1)
-         ("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
-         ("rust-compiler-builtins"
-          ,rust-compiler-builtins-0.1)
-         ("rust-backtrace-sys" ,rust-backtrace-sys-0.1)
-         ("rust-addr2line" ,rust-addr2line-0.11)
-         ("rust-goblin" ,rust-goblin-0.2)
-         ("rust-cpp-demangle" ,rust-cpp-demangle-0.2)
-         ("rust-libc" ,rust-libc-0.2)
-         ("rust-rustc-serialize"
-          ,rust-rustc-serialize-0.3)
-         ("rust-winapi" ,rust-winapi-0.3)
-         ("rust-findshlibs" ,rust-findshlibs-0.5)
-         ("rust-memmap" ,rust-memmap-0.7)
-         ("rust-rustc-std-workspace-core"
-          ,rust-rustc-std-workspace-core-1.0)
-         ("rust-serde" ,rust-serde-1.0))))
-    (home-page
-      "https://github.com/rust-lang/backtrace-rs";)
-    (synopsis
-      "A library to acquire a stack trace (backtrace) at runtime in a Rust 
program.
-")
+    (home-page "https://github.com/SergioBenitez/version_check";)
+    (synopsis "Check that the installed rustc meets some version requirements")
     (description
-      "This package provides a library to acquire a stack trace (backtrace) at 
runtime in a Rust program.
-")
-    (license (list license:expat license:asl2.0))))
+     "This tiny crate checks that the running or installed rustc meets some
+version requirements.  The version is queried by calling the Rust compiler with
+@code{--version}.  The path to the compiler is determined first via the
+@code{RUSTC} environment variable.  If it is not set, then @code{rustc} is 
used.
+If that fails, no determination is made, and calls return None.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-synstructure-0.12
+(define-public rust-version-check-0.1
   (package
-    (name "rust-synstructure")
-    (version "0.12.3")
+    (inherit rust-version-check-0.9)
+    (name "rust-version-check")
+    (version "0.1.5")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "synstructure" version))
+        (uri (crate-uri "version_check" version))
+        (file-name (string-append name "-" version ".crate"))
+        (sha256
+         (base32
+          "1pf91pvj8n6akh7w6j5ypka6aqz08b3qpzgs0ak2kjf4frkiljwi"))))))
+
+(define-public rust-version-sync-0.8
+  (package
+    (name "rust-version-sync")
+    (version "0.8.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "version-sync" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+         (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "0igmc5fzpk6fg7kgff914j05lbpc6ai2wmji312v2h8vvjhnwrb7"))))
+         (base32
+          "01pq0ia7ak7d69c3chjgdmaaq271yrspgbzmk6wmrwb74hx3skw4"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-unicode-xid" ,rust-unicode-xid-0.2)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page
-      "https://github.com/mystor/synstructure";)
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-itertools" ,rust-itertools-0.8)
+        ("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.4)
+        ("rust-regex" ,rust-regex-1.1)
+        ("rust-semver-parser" ,rust-semver-parser-0.9)
+        ("rust-syn" ,rust-syn-0.15)
+        ("rust-toml" ,rust-toml-0.5)
+        ("rust-url" ,rust-url-1.7))))
+    (home-page "https://github.com/mgeisler/version-sync";)
     (synopsis
-      "Helper methods and macros for custom derives")
+     "Ensure that version numbers are updated when the crate version changes")
     (description
-      "Helper methods and macros for custom derives")
+     "Simple crate for ensuring that version numbers in README files are
+updated when the crate version changes.")
     (license license:expat)))
 
-(define-public rust-failure-derive-0.1
+(define-public rust-void-1.0
   (package
-    (name "rust-failure-derive")
-    (version "0.1.7")
+    (name "rust-void")
+    (version "1.0.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "failure_derive" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "void" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0cfjz0c9szqpxn43b2r722p6m3swzxj7aj6xhqw23ml7h8y762h3"))))
+         (base32
+          "0zc8f0ksxvmhvgx4fdg0zyn6vdnbxd2xv9hfx4nhzg6kbs4f80ka"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/reem/rust-void";)
+    (synopsis "Void type for use in statically impossible cases")
+    (description
+     "The uninhabited void type for use in statically impossible cases.")
+    (license license:expat)))
+
+(define-public rust-vswhom-0.1
+  (package
+    (name "rust-vswhom")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "vswhom" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "12v0fjjzxdc3y5c0lcwycfhphz7zf2s06hl5krwhawah0xzrp5xy"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-vswhom-sys" ,rust-vswhom-sys-0.1))))
+    (home-page "https://github.com/nabijaczleweli/vswhom.rs";)
+    (synopsis "FFI to Jon Blow's VS discovery script")
+    (description
+     "This package provides a pure FFI to Jon Blow's VS discovery script.")
+    (license license:expat)))
+
+(define-public rust-vswhom-sys-0.1
+  (package
+    (name "rust-vswhom-sys")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "vswhom-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0clm4dx4amwlhg5lkh52fmvvwq6c7s7b9xqljw39mryhsc158bzw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-cc" ,rust-cc-1.0))))
+    (home-page "https://github.com/nabijaczleweli/vswhom-sys.rs";)
+    (synopsis "Pure FFI to Jon Blow's VS discovery script")
+    (description
+     "This package provides a pure FFI to Jon Blow's VS discovery script.")
+    (license license:expat)))
+
+(define-public rust-vte-0.3
+  (package
+    (name "rust-vte")
+    (version "0.3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "vte" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1kz8svnqnxclllsgh0ck20rplw3qzp46b5v30yscnzrgw8vgahjg"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-synstructure" ,rust-synstructure-0.12)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page
-      "https://rust-lang-nursery.github.io/failure/";)
-    (synopsis "derives for the failure crate")
-    (description "derives for the failure crate")
-    (license (list license:expat license:asl2.0))))
+     `(#:tests? #f      ; tests not included in release
+       #:cargo-inputs
+       (("rust-utf8parse" ,rust-utf8parse-0.1))))
+    (home-page "https://github.com/jwilm/vte";)
+    (synopsis "Parser for implementing terminal emulators")
+    (description
+     "This package provides a parser for implementing terminal emulators.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-failure-0.1
+(define-public rust-wait-timeout-0.2
   (package
-    (name "rust-failure")
-    (version "0.1.7")
+    (name "rust-wait-timeout")
+    (version "0.2.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "failure" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0js6i6mb42q1g6q3csfbmi6q40s64k96705xbim0d8zg44j9qlmq"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wait-timeout" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1xpkk0j5l9pfmjfh1pi0i89invlavfrd9av5xp0zhxgb29dhy84z"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-failure-derive" ,rust-failure-derive-0.1)
-         ("rust-backtrace" ,rust-backtrace-0.3))))
-    (home-page
-      "https://rust-lang-nursery.github.io/failure/";)
-    (synopsis
-      "Experimental error handling abstraction.")
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
+    (home-page "https://github.com/alexcrichton/wait-timeout";)
+    (synopsis "Wait on a child process with a timeout")
     (description
-      "Experimental error handling abstraction.")
+     "This package provides a crate to wait on a child process with a timeout
+specified across Unix and Windows platforms.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-which-3.1
+(define-public rust-walkdir-2.3
   (package
-    (name "rust-which")
-    (version "3.1.1")
+    (name "rust-walkdir")
+    (version "2.3.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "which" version))
+        (uri (crate-uri "walkdir" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "094pw9pi48szshn9ln69z2kg7syq1jp80h5ps1qncbsaw4d0f4fh"))))
+            "0z9g39f49cycdm9vzjf8hnfh3f1csxgd65kmlphj8r2vffy84wbp"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-failure" ,rust-failure-0.1)
-         ("rust-libc" ,rust-libc-0.2))))
+        (("rust-winapi-util" ,rust-winapi-util-0.1)
+         ("rust-winapi" ,rust-winapi-0.3)
+         ("rust-same-file" ,rust-same-file-1.0))))
     (home-page
-      "https://github.com/harryfei/which-rs.git";)
-    (synopsis
-      "A Rust equivalent of Unix command \"which\". Locate installed 
executable in cross platforms.")
-    (description
-      "This package provides a Rust equivalent of Unix command \"which\".  
Locate installed executable in cross platforms.")
-    (license license:expat)))
+      "https://github.com/BurntSushi/walkdir";)
+    (synopsis "Recursively walk a directory.")
+    (description "Recursively walk a directory.")
+    (license (list license:unlicense license:expat))))
 
-(define-public rust-libc-0.2
+(define-public rust-walkdir-2.2
   (package
-    (name "rust-libc")
-    (version "0.2.68")
+    (name "rust-walkdir")
+    (version "2.2.9")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "libc" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "walkdir" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1w6z9krcqn7p200sb80dxx76iyvw3jdz949zxr1sgfr3a50c186y"))))
+         (base32
+          "07ppalpvxkf8cnqr64np422792y4z5bs9m8b4nrflh5rm17wjn4n"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-rustc-std-workspace-core"
-          ,rust-rustc-std-workspace-core-1.0))))
-    (home-page "https://github.com/rust-lang/libc";)
-    (synopsis
-      "Raw FFI bindings to platform libraries like libc.
-")
-    (description
-      "Raw FFI bindings to platform libraries like libc.
-")
-    (license (list license:expat license:asl2.0))))
+     `(#:cargo-inputs
+       (("rust-same-file" ,rust-same-file-1.0)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("rust-winapi-util" ,rust-winapi-util-0.1))
+       #:cargo-development-inputs
+       (("rust-doc-comment" ,rust-doc-comment-0.3))))
+    (home-page  "https://github.com/BurntSushi/walkdir";)
+    (synopsis "Recursively walk a directory")
+    (description "Recursively walk a directory.")
+    (license (list license:unlicense
+                   license:expat))))
 
-(define-public rust-memchr-2.3
+(define-public rust-walkdir-1.0
   (package
-    (name "rust-memchr")
-    (version "2.3.3")
+    (inherit rust-walkdir-2.2)
+    (name "rust-walkdir")
+    (version "1.0.7")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "memchr" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0074pvsfl938ndl5js14ibc7i9q0k3zp390z843w8nlyv4bxha1p"))))
-    (build-system cargo-build-system)
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "walkdir" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1zw8safzqpsrvfn0256cngq2fr9d4lmwv5qb8ycn1f7sf3kgj25v"))))
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-libc" ,rust-libc-0.2))))
-    (home-page
-      "https://github.com/BurntSushi/rust-memchr";)
-    (synopsis "Safe interface to memchr.")
-    (description "Safe interface to memchr.")
-    (license (list license:unlicense license:expat))))
+     `(#:cargo-inputs
+       (("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
+        ("rust-same-file" ,rust-same-file-0.1)
+        ("rust-winapi" ,rust-winapi-0.2))
+       #:cargo-development-inputs
+       (("rust-docopt" ,rust-docopt-0.7)
+        ("rust-quickcheck" ,rust-quickcheck-0.4)
+        ("rust-rand" ,rust-rand-0.3)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))))
 
-(define-public rust-aho-corasick-0.7
+(define-public rust-wasi-0.9
   (package
-    (name "rust-aho-corasick")
-    (version "0.7.10")
+    (name "rust-wasi")
+    (version "0.9.0+wasi-snapshot-preview1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "aho-corasick" version))
+        (uri (crate-uri "wasi" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "1nka9509afjgal6lpymn8w2lq11dmjwxs8yjcmzys966if5l05l7"))))
+            "06g5v3vrdapfzvfq662cij7v8a1flwr2my45nnncdv2galrdzkfc"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-memchr" ,rust-memchr-2.3))))
+        (("rust-compiler-builtins"
+          ,rust-compiler-builtins-0.1)
+         ("rust-rustc-std-workspace-alloc"
+          ,rust-rustc-std-workspace-alloc-1.0)
+         ("rust-rustc-std-workspace-core"
+          ,rust-rustc-std-workspace-core-1.0))))
     (home-page
-      "https://github.com/BurntSushi/aho-corasick";)
-    (synopsis "Fast multiple substring searching.")
+      "https://github.com/bytecodealliance/wasi";)
+    (synopsis
+      "Experimental WASI API bindings for Rust")
     (description
-      "Fast multiple substring searching.")
-    (license (list license:unlicense license:expat))))
+      "Experimental WASI API bindings for Rust")
+    (license
+      (list license:asl2.0
+            ;XXX unknown-license!
+            license:asl2.0
+            license:expat))))
 
-(define-public rust-regex-syntax-0.6
+(define-public rust-wasi-0.5
   (package
-    (name "rust-regex-syntax")
-    (version "0.6.17")
+    (name "rust-wasi")
+    (version "0.5.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "regex-syntax" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1blmlgzcg7in3kcxqabpfzzrbnamr2i671flbrmlqhfps5bvvrbz"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasi" version))
+       (file-name
+        (string-append name "-" version ".crate"))
+       (sha256
+        (base32
+         "1ir3pd4phdfml0cbziw9bqp7mnk0vfp9biy8bh25lln6raml4m7x"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/rust-lang/regex";)
-    (synopsis "A regular expression parser.")
+    (home-page "https://github.com/CraneStation/rust-wasi";)
+    (synopsis "Experimental WASI API bindings for Rust")
+    (description "This package contains experimental WASI API bindings
+in Rust.")
+    (license license:asl2.0)))
+
+(define-public rust-wasm-bindgen-0.2
+  (package
+    (name "rust-wasm-bindgen")
+    (version "0.2.60")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0zx42zryw03w3maz8p65gr5bhhybr2sdzgcck5p3gy47abh7ri9c"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+      (("rust-cfg-if" ,rust-cfg-if-0.1)
+       ("rust-serde" ,rust-serde-1.0)
+       ("rust-serde-json" ,rust-serde-json-1.0)
+       ("rust-wasm-bindgen-macro" ,rust-wasm-bindgen-macro-0.2))
+      #:cargo-development-inputs
+      (("rust-js-sys" ,rust-js-sys-0.3)
+       ("rust-serde-derive" ,rust-serde-derive-1.0)
+       ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
+       ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)
+       ("rust-wasm-bindgen-test-crate-a"
+        ,rust-wasm-bindgen-test-crate-a-0.1)
+       ("rust-wasm-bindgen-test-crate-b"
+        ,rust-wasm-bindgen-test-crate-b-0.1))))
+    (home-page "https://rustwasm.github.io/";)
+    (synopsis "Easy support for interacting between JS and Rust")
     (description
-      "This package provides a regular expression parser.")
-    (license (list license:expat license:asl2.0))))
+     "Easy support for interacting between JS and Rust.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-regex-1.3
+(define-public rust-wasm-bindgen-backend-0.2
   (package
-    (name "rust-regex")
-    (version "1.3.6")
+    (name "rust-wasm-bindgen-backend")
+    (version "0.2.60")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "regex" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1cx4lcgy7vdi2kij2n1dp2whl33d7974g1kxwiklhs192nclcsbz"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-backend" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1k9p8a7ng6nqan0m9555wj936lm2s1qz0fnafclwlv61yrxx6ryr"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-regex-syntax" ,rust-regex-syntax-0.6)
-         ("rust-aho-corasick" ,rust-aho-corasick-0.7)
-         ("rust-thread-local" ,rust-thread-local-1.0)
-         ("rust-memchr" ,rust-memchr-2.3))))
-    (home-page "https://github.com/rust-lang/regex";)
-    (synopsis
-      "An implementation of regular expressions for Rust. This implementation 
uses
-finite automata and guarantees linear time matching on all inputs.
-")
+     `(#:cargo-inputs
+       (("rust-bumpalo" ,rust-bumpalo-3)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0)
+        ("rust-wasm-bindgen-shared" ,rust-wasm-bindgen-shared-0.2))))
+    (home-page "https://rustwasm.github.io/wasm-bindgen/";)
+    (synopsis "Backend code generation of the wasm-bindgen tool")
     (description
-      "An implementation of regular expressions for Rust.  This implementation 
uses
-finite automata and guarantees linear time matching on all inputs.
-")
+     "Backend code generation of the wasm-bindgen tool.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-rustc-hash-1.1
+(define-public rust-wasm-bindgen-futures-0.4
   (package
-    (name "rust-rustc-hash")
-    (version "1.1.0")
+    (name "rust-wasm-bindgen-futures")
+    (version "0.4.8")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "rustc-hash" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1qkc5khrmv5pqi5l5ca9p5nl5hs742cagrndhbrlk3dhlrx3zm08"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-futures" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1n9ma4kinr4w6r2sh4wm04my6p14k1vx3a4vdbn0vd187sgd9gcb"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/rust-lang-nursery/rustc-hash";)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-js-sys" ,rust-js-sys-0.3)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+        ("rust-web-sys" ,rust-web-sys-0.3))
+       #:cargo-development-inputs
+       (("rust-futures-channel-preview" ,rust-futures-channel-preview-0.3)
+        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
+    (home-page "https://rustwasm.github.io/wasm-bindgen/";)
     (synopsis
-      "speed, non-cryptographic hash used in rustc")
+     "Bridging the gap between Rust Futures and JavaScript Promises")
     (description
-      "speed, non-cryptographic hash used in rustc")
-    (license (list license:asl2.0 license:expat))))
+     "Bridging the gap between Rust Futures and JavaScript Promises.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-serde-derive-1.0
+(define-public rust-wasm-bindgen-futures-0.3
   (package
-    (name "rust-serde-derive")
-    (version "1.0.105")
+    (inherit rust-wasm-bindgen-futures-0.4)
+    (name "rust-wasm-bindgen-futures")
+    (version "0.3.24")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "serde_derive" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1y5gzwpy8yjv9pwh1js11vr18nfz4gg1g2kmyr6p58hvavy00pdc"))))
-    (build-system cargo-build-system)
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-futures" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0bf9x6qfjczspc4zs605z1n4j15cdd8kk2z7rah0yggw8b6zl5nc"))))
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page "https://serde.rs";)
-    (synopsis
-      "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
-    (description
-      "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
-    (license (list license:expat license:asl2.0))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-futures" ,rust-futures-0.1)
+        ("rust-futures-channel-preview"
+         ,rust-futures-channel-preview-0.3)
+        ("rust-futures-util-preview" ,rust-futures-util-preview-0.3)
+        ("rust-js-sys" ,rust-js-sys-0.3)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
+       #:cargo-development-inputs
+       (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))))
 
-(define-public rust-serde-1.0
+(define-public rust-wasm-bindgen-macro-0.2
   (package
-    (name "rust-serde")
-    (version "1.0.105")
+    (name "rust-wasm-bindgen-macro")
+    (version "0.2.60")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "serde" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1zrj157dxvmymp5ii60anap2qqks4pkr3fwsp71wi3sv4nzzn1z7"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-macro" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1973xr0vr2aj85fkp3smk61z5ki7c4fhxlicfjxq3a0y7sv53lcb"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-serde-derive" ,rust-serde-derive-1.0))))
-    (home-page "https://serde.rs";)
-    (synopsis
-      "A generic serialization/deserialization framework")
+     `(#:tests? #f      ; 'Async blocks are unstable'
+       #:cargo-inputs
+       (("rust-quote" ,rust-quote-1.0)
+        ("rust-wasm-bindgen-macro-support"
+         ,rust-wasm-bindgen-macro-support-0.2))
+       #:cargo-development-inputs
+       (("rust-trybuild" ,rust-trybuild-1.0)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4))))
+    (home-page "https://rustwasm.github.io/wasm-bindgen/";)
+    (synopsis "Definition of the @code{#[wasm_bindgen]} attribute")
     (description
-      "This package provides a generic serialization/deserialization 
framework")
+     "Definition of the @code{#[wasm_bindgen]} attribute, an internal
+dependency.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-sval-derive-0.4
+(define-public rust-wasm-bindgen-macro-support-0.2
   (package
-    (name "rust-sval-derive")
-    (version "0.4.7")
+    (name "rust-wasm-bindgen-macro-support")
+    (version "0.2.60")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "sval_derive" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "07s7jqsdczsg0wnydfnxyrsj8zyrjmiwl4is1dfgn8dfvyi8n2bj"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-macro-support" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ca9bb9hnyzcmjww83x8asb76drf55ijhqv8yrl7igpixqv5p2nn"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page "https://github.com/sval-rs/sval";)
-    (synopsis "Custom derive for sval")
-    (description "Custom derive for sval")
+     `(#:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0)
+        ("rust-wasm-bindgen-backend" ,rust-wasm-bindgen-backend-0.2)
+        ("rust-wasm-bindgen-shared" ,rust-wasm-bindgen-shared-0.2))))
+    (home-page "https://rustwasm.github.io/wasm-bindgen/";)
+    (synopsis "The @code{#[wasm_bindgen]} macro")
+    (description
+     "The part of the implementation of the @code{#[wasm_bindgen]}
+attribute that is not in the shared backend crate.")
     (license (list license:asl2.0 license:expat))))
 
-(define-public rust-sval-0.4
+(define-public rust-wasm-bindgen-shared-0.2
   (package
-    (name "rust-sval")
-    (version "0.4.7")
+    (name "rust-wasm-bindgen-shared")
+    (version "0.2.60")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "sval" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "wasm-bindgen-shared" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1aljggx64481q4wp3wx9hxsfh2bs7d64nqsrwbb2zxcpmdnbn6yk"))))
+         (base32
+          "0ffn4152w8n629f29lwjgj3adiyixvdbff3mld49gisssbknzxys"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-sval-derive" ,rust-sval-derive-0.4)
-         ("rust-smallvec" ,rust-smallvec-0.6)
-         ("rust-serde" ,rust-serde-1.0))))
-    (home-page "https://github.com/sval-rs/sval";)
-    (synopsis
-      "A no-std, object-safe serialization framework")
-    (description
-      "This package provides a no-std, object-safe serialization framework")
-    (license (list license:asl2.0 license:expat))))
+    (home-page "https://rustwasm.github.io/wasm-bindgen/";)
+    (synopsis "Shared support between wasm-bindgen and wasm-bindgen cli")
+    (description "This package provides shared support between
+@code{wasm-bindgen} and @code{wasm-bindgen} cli, an internal dependency.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-log-0.4
+(define-public rust-wasm-bindgen-test-0.3
   (package
-    (name "rust-log")
-    (version "0.4.10")
+    (name "rust-wasm-bindgen-test")
+    (version "0.3.8")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "log" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "170cx0xanhlhd3a249ssqydyaismcxarqi4sdw7w9ja5m5kd96hv"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-test" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0bn833hghwbcg9cqz1bx9biq271bc4jcbgn2nqk1fkf4ab1hxzcq"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-cfg-if" ,rust-cfg-if-0.1)
-         ("rust-sval" ,rust-sval-0.4)
-         ("rust-serde" ,rust-serde-1.0))))
-    (home-page "https://github.com/rust-lang/log";)
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-console-error-panic-hook" ,rust-console-error-panic-hook-0.1)
+        ("rust-js-sys" ,rust-js-sys-0.3)
+        ("rust-scoped-tls" ,rust-scoped-tls-1.0)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
+        ("rust-wasm-bindgen-test-macro" ,rust-wasm-bindgen-test-macro-0.3))))
+    (home-page "https://github.com/rustwasm/wasm-bindgen";)
     (synopsis
-      "A lightweight logging facade for Rust
-")
+     "Internal testing crate for wasm-bindgen")
     (description
-      "This package provides a lightweight logging facade for Rust
-")
+     "Internal testing crate for wasm-bindgen.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-cexpr-0.3
+(define-public rust-wasm-bindgen-test-0.2
   (package
-    (name "rust-cexpr")
-    (version "0.3.6")
+    (inherit rust-wasm-bindgen-test-0.3)
+    (name "rust-wasm-bindgen-test")
+    (version "0.2.48")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "cexpr" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "07fdfj4ff2974y33yixrb657riq9zl9b9h9lr0h7ridhhvxvbrgw"))))
-    (build-system cargo-build-system)
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-test" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0gwslc2sfkghzzb3r0gvd8i5rig2nlqgpl1rn43y2w4mr1ci494k"))))
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-nom" ,rust-nom-4.2))))
-    (home-page
-      "https://github.com/jethrogb/rust-cexpr";)
-    (synopsis "A C expression parser and evaluator")
-    (description
-      "This package provides a C expression parser and evaluator")
-    (license (list license:asl2.0 license:expat))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-console-error-panic-hook" ,rust-console-error-panic-hook-0.1)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-js-sys" ,rust-js-sys-0.3)
+        ("rust-scoped-tls" ,rust-scoped-tls-1.0)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+        ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.3)
+        ("rust-wasm-bindgen-test-macro" ,rust-wasm-bindgen-test-macro-0.2))))))
 
-(define-public rust-bindgen-0.51
+(define-public rust-wasm-bindgen-test-crate-a-0.1
   (package
-    (name "rust-bindgen")
-    (version "0.51.1")
+    (name "rust-wasm-bindgen-test-crate-a")
+    (version "0.1.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "bindgen" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0x9gndlnwmxsihxvsc3izyyss7g8b2djn0daafshj1gcy69i7mzb"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-test-crate-a" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "06l9rcxykg2vnp706a6axchjp6lh9ym1awwyyxzmbkv410kqwvsp"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-shlex" ,rust-shlex-0.1)
-         ("rust-cfg-if" ,rust-cfg-if-0.1)
-         ("rust-peeking-take-while"
-          ,rust-peeking-take-while-0.1)
-         ("rust-clang-sys" ,rust-clang-sys-0.28)
-         ("rust-cexpr" ,rust-cexpr-0.3)
-         ("rust-log" ,rust-log-0.4)
-         ("rust-env-logger" ,rust-env-logger-0.6)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-quote" ,rust-quote-1.0)
-         ("rust-rustc-hash" ,rust-rustc-hash-1.1)
-         ("rust-bitflags" ,rust-bitflags-1)
-         ("rust-regex" ,rust-regex-1.3)
-         ("rust-lazy-static" ,rust-lazy-static-1.4)
-         ("rust-clap" ,rust-clap-2)
-         ("rust-which" ,rust-which-3.1))))
-    (home-page
-      "https://rust-lang.github.io/rust-bindgen/";)
-    (synopsis
-      "Automatically generates Rust FFI bindings to C and C++ libraries.")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
+    (home-page "https://github.com/rustwasm/wasm-bindgen";)
+    (synopsis "Internal test crate for wasm-bindgen")
     (description
-      "Automatically generates Rust FFI bindings to C and C++ libraries.")
-    (license license:bsd-3)))
+     "Internal test crate for wasm-bindgen.")
+    (license license:expat)))
 
-(define-public rust-aom-sys-0.1
+(define-public rust-wasm-bindgen-test-crate-b-0.1
   (package
-    (name "rust-aom-sys")
-    (version "0.1.3")
+    (name "rust-wasm-bindgen-test-crate-b")
+    (version "0.1.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "aom-sys" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0ix3djcf84kk53h6fac73n7jc614745n7kbmikxwi3s73b6vzgsr"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-test-crate-b" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "16p3gx9vhngdf236zxx2qijqx5sq0lid25j8wy6j522ybxs4vbh8"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-bindgen" ,rust-bindgen-0.51)
-         ("rust-metadeps" ,rust-metadeps-1.1))))
-    (home-page "https://github.com/rust-av/aom-rs";)
-    (synopsis "FFI bindings to aom")
-    (description "FFI bindings to aom")
-    (license license:expat)))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
+    (home-page "https://github.com/rustwasm/wasm-bindgen";)
+    (synopsis "Internal test crate for wasm-bindgen")
+    (description
+     "Internal test crate for wasm-bindgen.")
+    (license (list license:expat license:asl2.0))))
 
-(define-public rust-syn-1.0
+(define-public rust-wasm-bindgen-test-macro-0.3
   (package
-    (name "rust-syn")
-    (version "1.0.17")
+    (name "rust-wasm-bindgen-test-macro")
+    (version "0.3.8")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "syn" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "00xvf772ys4fj9fr8kplmsqb9if215dsipi3nv54aw9q7xkfpw0d"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-test-macro" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0kybf3shpp8ysz4v4j259d7vad9kw5bs4i4dlfrs895bhdp7m0wp"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-unicode-xid" ,rust-unicode-xid-0.2)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page "https://github.com/dtolnay/syn";)
-    (synopsis "Parser for Rust source code")
-    (description "Parser for Rust source code")
+     `(#:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0))))
+    (home-page "https://github.com/rustwasm/wasm-bindgen";)
+    (synopsis "Internal testing macro for wasm-bindgen")
+    (description
+     "This library contains the internal testing macro for wasm-bindgen.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-proc-macro-hack-0.5
+(define-public rust-wasm-bindgen-test-macro-0.2
   (package
-    (name "rust-proc-macro-hack")
-    (version "0.5.15")
+    (inherit rust-wasm-bindgen-test-macro-0.3)
+    (name "rust-wasm-bindgen-test-macro")
+    (version "0.2.50")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "proc-macro-hack" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "wasm-bindgen-test-macro" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0qqbfm1byabjkph56r2rlvv4cliz4960j6hav3ljazyjqvkryr8d"))))
+         (base32
+          "19bvmw8mqlwh6wkbzgs3cnlkywrv8q2kkqggz6y0p158930xm287"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-quote" ,rust-quote-0.6))))))
+
+(define-public rust-wasm-bindgen-webidl-0.2
+  (package
+    (name "rust-wasm-bindgen-webidl")
+    (version "0.2.58")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-webidl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0pcpaw8w3xgfrg9y24ljrsl2bkidgdaaz3ka2bgk417wjc6jl0gg"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/dtolnay/proc-macro-hack";)
-    (synopsis
-      "Procedural macros in expression position")
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-anyhow" ,rust-anyhow-1.0)
+        ("rust-heck" ,rust-heck-0.3)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-1.0)
+        ("rust-wasm-bindgen-backend" ,rust-wasm-bindgen-backend-0.2)
+        ("rust-weedle" ,rust-weedle-0.10))))
+    (home-page "https://rustwasm.github.io/wasm-bindgen/";)
+    (synopsis "Support for parsing WebIDL specific to wasm-bindgen")
     (description
-      "Procedural macros in expression position")
+     "Support for parsing WebIDL specific to wasm-bindgen.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-paste-impl-0.1
+(define-public rust-wayland-client-0.23
   (package
-    (name "rust-paste-impl")
-    (version "0.1.10")
+    (name "rust-wayland-client")
+    (version "0.23.6")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "paste-impl" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "12jsm83dnsqnrcabfacnwcxh3h4kykl622vi7glv2wg527hqc956"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-client" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1nmw2kz70llc5mxwzg6bglnqy0qnyr9224zjmq9czazgw3mq045g"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro-hack"
-          ,rust-proc-macro-hack-0.5)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page "https://github.com/dtolnay/paste";)
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-calloop" ,rust-calloop-0.4)
+        ("rust-downcast-rs" ,rust-downcast-rs-1.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-nix" ,rust-nix-0.14)
+        ("rust-wayland-commons" ,rust-wayland-commons-0.23)
+        ("rust-wayland-sys" ,rust-wayland-sys-0.23)
+        ("rust-wayland-scanner" ,rust-wayland-scanner-0.23))
+       #:cargo-development-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-tempfile" ,rust-tempfile-3.1))))
+    (home-page "https://github.com/smithay/wayland-rs";)
     (synopsis
-      "Implementation detail of the `paste` crate")
+     "Rust bindings to the standard C implementation of the wayland protocol")
     (description
-      "Implementation detail of the `paste` crate")
-    (license (list license:expat license:asl2.0))))
+     "This package provides Rust bindings to the standard C implementation of
+the wayland protocol, client side.")
+    (license license:expat)))
 
-(define-public rust-paste-0.1
+(define-public rust-wayland-client-0.21
   (package
-    (name "rust-paste")
-    (version "0.1.10")
+    (inherit rust-wayland-client-0.23)
+    (name "rust-wayland-client")
+    (version "0.21.13")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "paste" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0yk4zbi7128dcrklsbwfa63d39x0dv8f7pdbrylvdlcj0s9v2kxb"))))
-    (build-system cargo-build-system)
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-client" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "04r7dy074hhdalsi1day482wvmczr40hg7qvrnzkgxpakrgkx5j9"))))
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-paste-impl" ,rust-paste-impl-0.1)
-         ("rust-proc-macro-hack"
-          ,rust-proc-macro-hack-0.5))))
-    (home-page "https://github.com/dtolnay/paste";)
-    (synopsis
-      "Macros for all your token pasting needs")
-    (description
-      "Macros for all your token pasting needs")
-    (license (list license:expat license:asl2.0))))
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-calloop" ,rust-calloop-0.4)
+        ("rust-downcast-rs" ,rust-downcast-rs-1.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-nix" ,rust-nix-0.14)
+        ("rust-wayland-commons" ,rust-wayland-commons-0.21)
+        ("rust-wayland-sys" ,rust-wayland-sys-0.21)
+        ("rust-wayland-scanner" ,rust-wayland-scanner-0.21))
+       #:cargo-development-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-tempfile" ,rust-tempfile-3.1))))))
 
-(define-public rust-bitstream-io-0.8
+(define-public rust-wayland-commons-0.23
   (package
-    (name "rust-bitstream-io")
-    (version "0.8.5")
+    (name "rust-wayland-commons")
+    (version "0.23.6")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "bitstream-io" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "00a6wy54s1dmadm5xz8k2cbsd7ixvm48mlc45bk0fdy0pbra6jk1"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-commons" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1nyvcs6xxxzqgh0wvc7z0fgi89bf3h9p4qrbf77bnfbwlb8v0rmv"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://github.com/tuffy/bitstream-io";)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-nix" ,rust-nix-0.14)
+        ("rust-wayland-sys" ,rust-wayland-sys-0.23))))
+    (home-page "https://github.com/smithay/wayland-rs";)
     (synopsis
-      "Library for reading/writing un-aligned values from/to streams in 
big-endian and little-endian formats.")
+     "Common types and structures used by wayland-client and wayland-server")
     (description
-      "Library for reading/writing un-aligned values from/to streams in 
big-endian and little-endian formats.")
-    (license (list license:expat license:asl2.0))))
+     "Common types and structures used by wayland-client and wayland-server.")
+    (license license:expat)))
 
-(define-public rust-ivf-0.1
+(define-public rust-wayland-commons-0.21
   (package
-    (name "rust-ivf")
-    (version "0.1.0")
+    (inherit rust-wayland-commons-0.23)
+    (name "rust-wayland-commons")
+    (version "0.21.13")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "ivf" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1wfjf3rilqavrhvwagzinvng9dg28wcjk3c6c6p5qmc1xy65qfh1"))))
-    (build-system cargo-build-system)
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-commons" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1v1jpcsnn6cwwy5ii5pdl58i6b9slmi8mn4my4fpwrlbfsb8ih20"))))
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-bitstream-io" ,rust-bitstream-io-0.8))))
-    (home-page "https://github.com/xiph/rav1e";)
-    (synopsis "Simple ivf muxer")
-    (description "Simple ivf muxer")
-    (license #f
-             ;XXX unknown-license!
-             )))
+     `(#:cargo-inputs
+       (("rust-nix" ,rust-nix-0.14)
+        ("rust-wayland-sys" ,rust-wayland-sys-0.21))))))
 
-(define-public rust-proc-macro2-1.0
+(define-public rust-wayland-protocols-0.23
   (package
-    (name "rust-proc-macro2")
-    (version "1.0.10")
+    (name "rust-wayland-protocols")
+    (version "0.23.6")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "proc-macro2" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1qxbnl8i3a5b2nxb8kdxbq6kj3pd1ckhm35wm7z3jd7n5wlns96z"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-protocols" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ygwbzqlnks5xzafka3c8ag6k92g2h6ygj2xsmvjfx2n6rj8dhkc"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-unicode-xid" ,rust-unicode-xid-0.2))))
-    (home-page
-      "https://github.com/alexcrichton/proc-macro2";)
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-wayland-client" ,rust-wayland-client-0.23)
+        ("rust-wayland-commons" ,rust-wayland-commons-0.23)
+        ("rust-wayland-server" ,rust-wayland-server-0.23)
+        ("rust-wayland-scanner" ,rust-wayland-scanner-0.23))))
+    (home-page "https://github.com/smithay/wayland-rs";)
     (synopsis
-      "A substitute implementation of the compiler's `proc_macro` API to 
decouple
-token-based libraries from the procedural macro use case.
-")
+     "Generated API for the officials wayland protocol extensions")
     (description
-      "This package provides a substitute implementation of the compiler's 
`proc_macro` API to decouple
-token-based libraries from the procedural macro use case.
-")
-    (license (list license:expat license:asl2.0))))
+     "Generated API for the officials wayland protocol extensions.")
+    (license license:expat)))
 
-(define-public rust-quote-1.0
+(define-public rust-wayland-protocols-0.21
   (package
-    (name "rust-quote")
-    (version "1.0.3")
+    (inherit rust-wayland-protocols-0.23)
+    (name "rust-wayland-protocols")
+    (version "0.21.13")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "quote" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0zwd6fp74xfg4jnnnwj4v84lkzif2giwj4ch1hka9g35ghc6rp1b"))))
-    (build-system cargo-build-system)
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-protocols" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0i91yh3nxk9llhly2ly3nvlfx0lbpvyq919cgmnyx3j25bmf5zaa"))))
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro2" ,rust-proc-macro2-1.0))))
-    (home-page "https://github.com/dtolnay/quote";)
-    (synopsis "Quasi-quoting macro quote!(...)")
-    (description "Quasi-quoting macro quote!(...)")
-    (license (list license:expat license:asl2.0))))
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-wayland-client" ,rust-wayland-client-0.21)
+        ("rust-wayland-commons" ,rust-wayland-commons-0.21)
+        ("rust-wayland-server" ,rust-wayland-server-0.21)
+        ("rust-wayland-sys" ,rust-wayland-sys-0.21)
+        ("rust-wayland-scanner" ,rust-wayland-scanner-0.21))))))
 
-(define-public rust-simd-helpers-0.1
+(define-public rust-wayland-scanner-0.23
   (package
-    (name "rust-simd-helpers")
-    (version "0.1.0")
+    (name "rust-wayland-scanner")
+    (version "0.23.6")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "simd_helpers" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "19idqicn9k4vhd04ifh2ff41wvna79zphdf2c81rlmpc7f3hz2cm"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-scanner" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0g8wcphykjrcpslznyi3qccx1pckw97rckq5b295nfbg6r3j5c4k"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-quote" ,rust-quote-1.0))))
-    (home-page
-      "https://github.com/lu-zero/simd_helpers";)
+     `(#:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-quote" ,rust-quote-0.6)
+        ("rust-xml-rs" ,rust-xml-rs-0.8))))
+    (home-page "https://github.com/smithay/wayland-rs";)
     (synopsis
-      "Helpers to write more compact simd code")
+     "Wayland Scanner for generating rust APIs from XML wayland protocol 
files")
     (description
-      "Helpers to write more compact simd code")
+     "Wayland Scanner for generating rust APIs from XML wayland protocol files.
+Intented for use with wayland-sys.  You should only need this crate if
+you are working on custom wayland protocol extensions.
+Look at the crate wayland-client for usable bindings.")
     (license license:expat)))
 
-(define-public rust-libc-0.2
+(define-public rust-wayland-scanner-0.21
+  (package
+    (inherit rust-wayland-scanner-0.23)
+    (name "rust-wayland-scanner")
+    (version "0.21.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-scanner" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "17mp49v7w0p0x5ry628lj2llljnwkr9aj9g4bqqhfibid32jhf5z"))))))
+
+(define-public rust-wayland-server-0.23
   (package
-    (name "rust-libc")
-    (version "0.2.68")
+    (name "rust-wayland-server")
+    (version "0.23.6")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "libc" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1w6z9krcqn7p200sb80dxx76iyvw3jdz949zxr1sgfr3a50c186y"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-server" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ccsalq6gnf07klnbjx2dxcbibhw03rqsgi578p913s3zsjlcg8a"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-rustc-std-workspace-core"
-          ,rust-rustc-std-workspace-core-1.0))))
-    (home-page "https://github.com/rust-lang/libc";)
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-calloop" ,rust-calloop-0.4)
+        ("rust-downcast-rs" ,rust-downcast-rs-1.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-nix" ,rust-nix-0.14)
+        ("rust-wayland-commons" ,rust-wayland-commons-0.23)
+        ("rust-wayland-sys" ,rust-wayland-sys-0.23)
+        ("rust-wayland-scanner" ,rust-wayland-scanner-0.23))))
+    (home-page "https://github.com/smithay/wayland-rs";)
     (synopsis
-      "Raw FFI bindings to platform libraries like libc.
-")
+     "Bindings to the standard C implementation of the wayland protocol")
     (description
-      "Raw FFI bindings to platform libraries like libc.
-")
-    (license (list license:expat license:asl2.0))))
+     "This package provides Rust bindings to the standard C implementation of
+the wayland protocol, server side.")
+    (license license:expat)))
 
-(define-public rust-memchr-2.3
+(define-public rust-wayland-server-0.21
   (package
-    (name "rust-memchr")
-    (version "2.3.3")
+    (inherit rust-wayland-server-0.23)
+    (name "rust-wayland-server")
+    (version "0.21.13")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "memchr" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0074pvsfl938ndl5js14ibc7i9q0k3zp390z843w8nlyv4bxha1p"))))
-    (build-system cargo-build-system)
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-server" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ayn4wlrpg0fw04prri9awpkjvbzjil0d3l3a8zs9pdbnspvw6ah"))))
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-libc" ,rust-libc-0.2))))
-    (home-page
-      "https://github.com/BurntSushi/rust-memchr";)
-    (synopsis "Safe interface to memchr.")
-    (description "Safe interface to memchr.")
-    (license (list license:unlicense license:expat))))
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-calloop" ,rust-calloop-0.4)
+        ("rust-downcast-rs" ,rust-downcast-rs-1.1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-nix" ,rust-nix-0.14)
+        ("rust-wayland-commons" ,rust-wayland-commons-0.21)
+        ("rust-wayland-sys" ,rust-wayland-sys-0.21)
+        ("rust-wayland-scanner" ,rust-wayland-scanner-0.21))))))
 
-(define-public rust-aho-corasick-0.7
+(define-public rust-wayland-sys-0.23
   (package
-    (name "rust-aho-corasick")
-    (version "0.7.10")
+    (name "rust-wayland-sys")
+    (version "0.23.6")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "aho-corasick" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1nka9509afjgal6lpymn8w2lq11dmjwxs8yjcmzys966if5l05l7"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1x2qafvj8hd2x5qfaan2dfpw9amg0f5g9sqrkdy7qvbddsl8jknr"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-memchr" ,rust-memchr-2.3))))
-    (home-page
-      "https://github.com/BurntSushi/aho-corasick";)
-    (synopsis "Fast multiple substring searching.")
+     `(#:cargo-inputs
+       (("rust-dlib" ,rust-dlib-0.4)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libc" ,rust-libc-0.2))))
+    (home-page "https://github.com/smithay/wayland-rs";)
+    (synopsis "FFI bindings to the various libwayland-*.so libraries")
     (description
-      "Fast multiple substring searching.")
-    (license (list license:unlicense license:expat))))
+     "FFI bindings to the various libwayland-*.so libraries.
+You should only need this crate if you are working on custom wayland
+protocol extensions.  Look at the crate wayland-client for usable bindings.")
+    (license license:expat)))
 
-(define-public rust-regex-syntax-0.6
+(define-public rust-wayland-sys-0.21
   (package
-    (name "rust-regex-syntax")
-    (version "0.6.17")
+    (inherit rust-wayland-sys-0.23)
+    (name "rust-wayland-sys")
+    (version "0.21.13")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "regex-syntax" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1blmlgzcg7in3kcxqabpfzzrbnamr2i671flbrmlqhfps5bvvrbz"))))
-    (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/rust-lang/regex";)
-    (synopsis "A regular expression parser.")
-    (description
-      "This package provides a regular expression parser.")
-    (license (list license:expat license:asl2.0))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wayland-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0a0ndgkg98pvmkv44yya4f7mxzjaxylknqh64bpa05w0azyv02jj"))))))
 
-(define-public rust-regex-1.3
+(define-public rust-web-sys-0.3
   (package
-    (name "rust-regex")
-    (version "1.3.6")
+    (name "rust-web-sys")
+    (version "0.3.37")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "regex" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1cx4lcgy7vdi2kij2n1dp2whl33d7974g1kxwiklhs192nclcsbz"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "web-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1jy4q5jawzg3dxzhfwa0g3fsz7h4j0ra6y232ikc6mlcimj52vrd"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-regex-syntax" ,rust-regex-syntax-0.6)
-         ("rust-aho-corasick" ,rust-aho-corasick-0.7)
-         ("rust-thread-local" ,rust-thread-local-1.0)
-         ("rust-memchr" ,rust-memchr-2.3))))
-    (home-page "https://github.com/rust-lang/regex";)
+     `(#:cargo-inputs
+       (("rust-js-sys" ,rust-js-sys-0.3)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
+       #:cargo-development-inputs
+       (("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)
+        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
+    (home-page "https://rustwasm.github.io/wasm-bindgen/web-sys/index.html";)
     (synopsis
-      "An implementation of regular expressions for Rust. This implementation 
uses
-finite automata and guarantees linear time matching on all inputs.
-")
+     "Bindings for all Web APIs, a procedurally generated crate from WebIDL")
     (description
-      "An implementation of regular expressions for Rust.  This implementation 
uses
-finite automata and guarantees linear time matching on all inputs.
-")
+     "Bindings for all Web APIs, a procedurally generated crate from WebIDL.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-cargo-metadata-0.9
-  (package
-    (name "rust-cargo-metadata")
-    (version "0.9.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "cargo_metadata" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "00pjms89lghvizh4d55lz80hvrih9r55xv9m5wd9vcsgc163gqs6"))))
-    (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-semver" ,rust-semver-0.9)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-serde-derive" ,rust-serde-derive-1.0)
-         ("rust-serde-json" ,rust-serde-json-1.0))))
-    (home-page
-      "https://github.com/oli-obk/cargo_metadata";)
-    (synopsis
-      "structured access to the output of `cargo metadata`")
-    (description
-      "structured access to the output of `cargo metadata`")
-    (license license:expat)))
-
-(define-public rust-syn-mid-0.5
+(define-public rust-weedle-0.10
   (package
-    (name "rust-syn-mid")
-    (version "0.5.0")
+    (name "rust-weedle")
+    (version "0.10.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "syn-mid" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "12ikg5jfklixq0wsgfl7sdzjqlxgq50ygklxy4f972hjdjgm7qvv"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "weedle" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0r0i2kllvkn9jil6cjzxdi1zsc6p1gjyk751w8lyclaii1q3zd1v"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page "https://github.com/taiki-e/syn-mid";)
-    (synopsis
-      "Providing the features between \"full\" and \"derive\" of syn.
-")
+     `(#:cargo-inputs (("rust-nom" ,rust-nom-4.2))))
+    (home-page "https://github.com/rustwasm/weedle";)
+    (synopsis "WebIDL Parser")
     (description
-      "Providing the features between \"full\" and \"derive\" of syn.
-")
-    (license (list license:asl2.0 license:expat))))
+     "This package provides a WebIDL Parser.")
+    (license license:expat)))
 
-(define-public rust-proc-macro-error-attr-0.4
+(define-public rust-which-3.1
   (package
-    (name "rust-proc-macro-error-attr")
-    (version "0.4.12")
+    (name "rust-which")
+    (version "3.1.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "proc-macro-error-attr" version))
+        (uri (crate-uri "which" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "1pk9mwcfnpf8favgc2cl4sqlmi818p96hg8pfb51wg5nzmvlnnwa"))))
+            "094pw9pi48szshn9ln69z2kg7syq1jp80h5ps1qncbsaw4d0f4fh"))))
     (build-system cargo-build-system)
     (arguments
       `(#:skip-build?
         #t
         #:cargo-inputs
-        (("rust-syn-mid" ,rust-syn-mid-0.5)
-         ("rust-version-check" ,rust-version-check-0.9)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
+        (("rust-failure" ,rust-failure-0.1)
+         ("rust-libc" ,rust-libc-0.2))))
     (home-page
-      "https://gitlab.com/CreepySkeleton/proc-macro-error";)
+      "https://github.com/harryfei/which-rs.git";)
     (synopsis
-      "Attribute macro for proc-macro-error crate")
+      "A Rust equivalent of Unix command \"which\". Locate installed 
executable in cross platforms.")
     (description
-      "Attribute macro for proc-macro-error crate")
-    (license (list license:expat license:asl2.0))))
+      "This package provides a Rust equivalent of Unix command \"which\".  
Locate installed executable in cross platforms.")
+    (license license:expat)))
 
-(define-public rust-proc-macro-error-0.4
+(define-public rust-which-2.0
   (package
-    (name "rust-proc-macro-error")
-    (version "0.4.12")
+    (name "rust-which")
+    (version "2.0.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "proc-macro-error" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1rvpaadwv7vmsp142qqh2axqrr9v78f1nvdsi9nhmfhy10kk1wqq"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "which" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0r7i793sc0xqnd2fxnqbksj7j1kx65bwn81b8z49750v4c8cnymm"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro-error-attr"
-          ,rust-proc-macro-error-attr-0.4)
-         ("rust-version-check" ,rust-version-check-0.9)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page
-      "https://gitlab.com/CreepySkeleton/proc-macro-error";)
-    (synopsis
-      "Almost drop-in replacement to panics in proc-macros")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-failure" ,rust-failure-0.1)
+        ("rust-libc" ,rust-libc-0.2))
+       #:cargo-development-inputs
+       (("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page "https://github.com/harryfei/which-rs";)
+    (synopsis "Rust equivalent of Unix command \"which\"")
     (description
-      "Almost drop-in replacement to panics in proc-macros")
-    (license (list license:expat license:asl2.0))))
+     "This package provides a Rust equivalent of Unix command \"which\".
+Locate installed executable in cross platforms.")
+    (license license:expat)))
 
-(define-public rust-structopt-derive-0.4
+(define-public rust-which-1.0
   (package
-    (name "rust-structopt-derive")
-    (version "0.4.5")
+    (inherit rust-which-2.0)
+    (name "rust-which")
+    (version "1.0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "which" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1cjwa57kzfgzs681a27m5pjmq580pv3hkcg23smf270bgqz60jp8"))))
+    (arguments
+     `(#:tests? #f
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2))
+       #:cargo-development-inputs
+       (("rust-tempdir" ,rust-tempdir-0.3))))))
+
+(define-public rust-widestring-0.4
+  (package
+    (name "rust-widestring")
+    (version "0.4.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "structopt-derive" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "widestring" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0c04bbzc5bmr2ns6qy35yz55nn3xvlq4dpwxdynnljb9ikhvi21z"))))
+         (base32
+          "1dhx6dndjsz1y7c9w06922412kdxyrrkqblvggm76mh8z17hxz7g"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-heck" ,rust-heck-0.3)
-         ("rust-proc-macro-error"
-          ,rust-proc-macro-error-0.4)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page
-      "https://github.com/TeXitoi/structopt";)
-    (synopsis
-      "Parse command line argument by defining a struct, derive crate.")
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/starkat99/widestring-rs";)
+    (synopsis "Wide string Rust FFI library")
     (description
-      "Parse command line argument by defining a struct, derive crate.")
-    (license (list license:asl2.0 license:expat))))
+     "A wide string Rust FFI library for converting to and from wide strings,
+such as those often used in Windows API or other FFI libraries.  Both UTF-16 
and
+UTF-32 types are provided, including support for malformed encoding.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-structopt-0.3
+(define-public rust-winapi-0.3
   (package
-    (name "rust-structopt")
-    (version "0.3.12")
+    (name "rust-winapi")
+    (version "0.3.8")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "structopt" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "winapi" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "178m7wxnjyy9a8a961z74nazjsg79rfv3gv9g3bykfrrjmqs5yn8"))))
+         (base32
+          "1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0"))))
     (build-system cargo-build-system)
+    ;; This package depends unconditionally on these two crates.
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-structopt-derive"
-          ,rust-structopt-derive-0.4)
-         ("rust-lazy-static" ,rust-lazy-static-1.4)
-         ("rust-clap" ,rust-clap-2))))
-    (home-page
-      "https://github.com/TeXitoi/structopt";)
-    (synopsis
-      "Parse command line argument by defining a struct.")
+     `(#:cargo-inputs
+       (("winapi-i686-pc-windows-gnu" ,rust-winapi-i686-pc-windows-gnu-0.4)
+        ("winapi-x86-64-pc-windows-gnu" 
,rust-winapi-x86-64-pc-windows-gnu-0.4))))
+    (home-page "https://github.com/retep998/winapi-rs";)
+    (synopsis "Raw FFI bindings for all of Windows API")
     (description
-      "Parse command line argument by defining a struct.")
-    (license (list license:asl2.0 license:expat))))
+     "Raw FFI bindings for all of Windows API.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-js-sys-0.3
+(define-public rust-winapi-0.2
   (package
-    (name "rust-js-sys")
-    (version "0.3.37")
+    (inherit rust-winapi-0.3)
+    (name "rust-winapi")
+    (version "0.2.8")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "js-sys" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "winapi" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0mbhpbw3zjjl51m24qx3ilq4y8xipm5sfa5hsavaabqs6wsx89va"))))
-    (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
-    (home-page
-      "https://rustwasm.github.io/wasm-bindgen/";)
-    (synopsis
-      "Bindings for all JS global objects and functions in all JS environments 
like
-Node.js and browsers, built on `#[wasm_bindgen]` using the `wasm-bindgen` 
crate.
-")
-    (description
-      "Bindings for all JS global objects and functions in all JS environments 
like
-Node.js and browsers, built on `#[wasm_bindgen]` using the `wasm-bindgen` 
crate.
-")
-    (license (list license:expat license:asl2.0))))
+         (base32
+          "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n"))))
+    (arguments '(#:skip-build? #t))))
 
-(define-public rust-bumpalo-3.2
+(define-public rust-winapi-build-0.1
   (package
-    (name "rust-bumpalo")
-    (version "3.2.1")
+    (name "rust-winapi-build")
+    (version "0.1.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "bumpalo" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "winapi-build" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "11silgpsnfv6ir7j2nh7a69564f92vq20k9ha7zcbynpiav9vbhj"))))
+         (base32
+          "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/fitzgen/bumpalo";)
-    (synopsis
-      "A fast bump allocation arena for Rust.")
+    (home-page "https://github.com/retep998/winapi-rs";)
+    (synopsis "Common code for build.rs in WinAPI -sys crates")
     (description
-      "This package provides a fast bump allocation arena for Rust.")
-    (license (list license:expat license:asl2.0))))
+     "Common code for build.rs in WinAPI -sys crates.")
+    (license license:expat)))
 
-(define-public rust-wasm-bindgen-shared-0.2
+(define-public rust-winapi-i686-pc-windows-gnu-0.4
   (package
-    (name "rust-wasm-bindgen-shared")
-    (version "0.2.60")
+    (name "rust-winapi-i686-pc-windows-gnu")
+    (version "0.4.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "wasm-bindgen-shared" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "winapi-i686-pc-windows-gnu" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0ffn4152w8n629f29lwjgj3adiyixvdbff3mld49gisssbknzxys"))))
+         (base32
+          "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page
-      "https://rustwasm.github.io/wasm-bindgen/";)
-    (synopsis
-      "Shared support between wasm-bindgen and wasm-bindgen cli, an internal
-dependency.
-")
-    (description
-      "Shared support between wasm-bindgen and wasm-bindgen cli, an internal
-dependency.
-")
-    (license (list license:expat license:asl2.0))))
+    (home-page "https://github.com/retep998/winapi-rs";)
+    (synopsis "Import libraries for the i686-pc-windows-gnu target")
+    (description "This crate provides import libraries for the
+i686-pc-windows-gnu target.  Please don't use this crate directly, depend on
+@code{winapi} instead.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-wasm-bindgen-backend-0.2
+(define-public rust-winapi-util-0.1
   (package
-    (name "rust-wasm-bindgen-backend")
-    (version "0.2.60")
+    (name "rust-winapi-util")
+    (version "0.1.4")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "wasm-bindgen-backend" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "winapi-util" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1k9p8a7ng6nqan0m9555wj936lm2s1qz0fnafclwlv61yrxx6ryr"))))
+         (base32
+          "0vj3984cxwnf1ys3fdz6bpl7p0kdsgykpzbhmcmwi759cd8mqlgs"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-wasm-bindgen-shared"
-          ,rust-wasm-bindgen-shared-0.2)
-         ("rust-log" ,rust-log-0.4)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0)
-         ("rust-lazy-static" ,rust-lazy-static-1.4)
-         ("rust-bumpalo" ,rust-bumpalo-3.2))))
-    (home-page
-      "https://rustwasm.github.io/wasm-bindgen/";)
-    (synopsis
-      "Backend code generation of the wasm-bindgen tool
-")
+     `(#:cargo-inputs (("rust-winapi" ,rust-winapi-0.3))))
+    (home-page "https://github.com/BurntSushi/winapi-util";)
+    (synopsis "Dumping ground for high level safe wrappers over winapi")
     (description
-      "Backend code generation of the wasm-bindgen tool
-")
-    (license (list license:expat license:asl2.0))))
+     "This package provides a dumping ground for high level safe wrappers over
+winapi.")
+    (license (list license:unlicense
+                   license:expat))))
 
-(define-public rust-wasm-bindgen-macro-support-0.2
+(define-public rust-winapi-x86-64-pc-windows-gnu-0.4
   (package
-    (name "rust-wasm-bindgen-macro-support")
-    (version "0.2.60")
+    (name "rust-winapi-x86-64-pc-windows-gnu")
+    (version "0.4.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "wasm-bindgen-macro-support" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "winapi-x86_64-pc-windows-gnu" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0ca9bb9hnyzcmjww83x8asb76drf55ijhqv8yrl7igpixqv5p2nn"))))
+         (base32
+          "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-wasm-bindgen-backend"
-          ,rust-wasm-bindgen-backend-0.2)
-         ("rust-wasm-bindgen-shared"
-          ,rust-wasm-bindgen-shared-0.2)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page
-      "https://rustwasm.github.io/wasm-bindgen/";)
-    (synopsis
-      "The part of the implementation of the `#[wasm_bindgen]` attribute that 
is not in the shared backend crate
-")
-    (description
-      "The part of the implementation of the `#[wasm_bindgen]` attribute that 
is not in the shared backend crate
-")
-    (license (list license:expat license:asl2.0))))
+    (home-page "https://github.com/retep998/winapi-rs";)
+    (synopsis "Import libraries for the x86_64-pc-windows-gnu target")
+    (description "This package provides import libraries for the
+x86_64-pc-windows-gnu target.  Please don't use this crate directly, depend on
+@code{winapi} instead.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-wasm-bindgen-macro-0.2
+(define-public rust-wincolor-1.0
   (package
-    (name "rust-wasm-bindgen-macro")
-    (version "0.2.60")
+    (name "rust-wincolor")
+    (version "1.0.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "wasm-bindgen-macro" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "wincolor" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1973xr0vr2aj85fkp3smk61z5ki7c4fhxlicfjxq3a0y7sv53lcb"))))
+         (base32
+          "1agaf3hcav113i86912ajnw6jxcy4rvkrgyf8gdj8kc031mh3xcn"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-wasm-bindgen-macro-support"
-          ,rust-wasm-bindgen-macro-support-0.2)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page
-      "https://rustwasm.github.io/wasm-bindgen/";)
-    (synopsis
-      "Definition of the `#[wasm_bindgen]` attribute, an internal dependency
-")
+     `(#:cargo-inputs
+       (("rust-winapi" ,rust-winapi-0.3)
+        ("rust-winapi-util" ,rust-winapi-util-0.1))))
+    (home-page "https://github.com/BurntSushi/termcolor/tree/master/wincolor";)
+    (synopsis "Windows API for controlling text color in a Windows console")
     (description
-      "Definition of the `#[wasm_bindgen]` attribute, an internal dependency
-")
-    (license (list license:expat license:asl2.0))))
+     "This package provides a simple Windows specific API for controlling text
+color in a Windows console.")
+    (license (list license:unlicense
+                   license:expat))))
 
-(define-public rust-wasm-bindgen-0.2
+(define-public rust-winit-0.20
   (package
-    (name "rust-wasm-bindgen")
-    (version "0.2.60")
+    (name "rust-winit")
+    (version "0.20.0-alpha6")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "wasm-bindgen" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0zx42zryw03w3maz8p65gr5bhhybr2sdzgcck5p3gy47abh7ri9c"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "winit" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1g5cchl97zcg525j6jdr77yby8cmhwv1qqwcd3sf4l4zl263195z"))
+       (patches
+         (list
+           (origin
+             (method url-fetch)
+             (uri 
"https://github.com/rust-windowing/winit/commit/d1c6506865c7bddbb5fb4d80a613e43ddc1370b5.patch";)
+             (file-name (string-append name "-fix-bindings.patch"))
+             (sha256
+              (base32
+               "03q4bvdq86kii53d0vsywv08g8vqirf9h1lz2cl6rcc7gjfynpds")))))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-cfg-if" ,rust-cfg-if-0.1)
-         ("rust-wasm-bindgen-macro"
-          ,rust-wasm-bindgen-macro-0.2)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-serde-json" ,rust-serde-json-1.0))))
-    (home-page "https://rustwasm.github.io/";)
+     `(#:cargo-inputs
+       (("rust-android-glue" ,rust-android-glue-0.2)
+        ("rust-bitflags" ,rust-bitflags-1)
+        ("rust-calloop" ,rust-calloop-0.4)
+        ("rust-cocoa" ,rust-cocoa-0.19)
+        ("rust-core-foundation" ,rust-core-foundation-0.6)
+        ("rust-core-graphics" ,rust-core-graphics-0.17)
+        ("rust-core-video-sys" ,rust-core-video-sys-0.1)
+        ("rust-dispatch" ,rust-dispatch-0.1)
+        ("rust-instant" ,rust-instant-0.1)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-objc" ,rust-objc-0.2)
+        ("rust-parking-lot" ,rust-parking-lot-0.10)
+        ("rust-percent-encoding" ,rust-percent-encoding-2.1)
+        ("rust-raw-window-handle" ,rust-raw-window-handle-0.3)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6)
+        ("rust-stdweb" ,rust-stdweb-0.4)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+        ("rust-wayland-client" ,rust-wayland-client-0.23)
+        ("rust-web-sys" ,rust-web-sys-0.3)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("rust-x11-dl" ,rust-x11-dl-2))
+       #:cargo-development-inputs
+       (("rust-console-log" ,rust-console-log-0.1)
+        ("rust-env-logger" ,rust-env-logger-0.5)
+        ("rust-image" ,rust-image-0.21))))
+    (home-page "https://github.com/rust-windowing/winit";)
     (synopsis
-      "Easy support for interacting between JS and Rust.
-")
+     "Cross-platform window creation library")
     (description
-      "Easy support for interacting between JS and Rust.
-")
-    (license (list license:expat license:asl2.0))))
+     "Cross-platform window creation library.")
+    (license license:asl2.0)))
 
-(define-public rust-chrono-0.4
+(define-public rust-winit-0.19
   (package
-    (name "rust-chrono")
-    (version "0.4.11")
+    (inherit rust-winit-0.20)
+    (name "rust-winit")
+    (version "0.19.5")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "chrono" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1cmmxamkzzs36zncqjjr7qm7xkb6zyrkjslnlj3axdgqki84y2c0"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "winit" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1a4lnfyvlc4jabhs30wlmkgdjv7qhbplmyp833kl7ykjni5yp5hy"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-android-glue" ,rust-android-glue-0.2)
+        ("rust-backtrace" ,rust-backtrace-0.3)
+        ("rust-bitflags" ,rust-bitflags-1)
+        ("rust-cocoa" ,rust-cocoa-0.18)
+        ("rust-core-foundation" ,rust-core-foundation-0.6)
+        ("rust-core-graphics" ,rust-core-graphics-0.17)
+        ("rust-image" ,rust-image-0.21)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-objc" ,rust-objc-0.2)
+        ("rust-parking-lot" ,rust-parking-lot-0.9)
+        ("rust-percent-encoding" ,rust-percent-encoding-2.1)
+        ("rust-raw-window-handle" ,rust-raw-window-handle-0.3)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.4)
+        ("rust-wayland-client" ,rust-wayland-client-0.21)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("rust-x11-dl" ,rust-x11-dl-2))))))
+
+(define-public rust-winpty-sys-0.4
+  (package
+    (name "rust-winpty-sys")
+    (version "0.4.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "winpty-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0s5m2vvlw7wphc466s47zfmp08zk00wzj999l1w3ajqlxbnfgb9x"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-num-integer" ,rust-num-integer-0.1)
-         ("rust-time" ,rust-time-0.1)
-         ("rust-num-traits" ,rust-num-traits-0.2)
-         ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
-         ("rust-rustc-serialize"
-          ,rust-rustc-serialize-0.3)
-         ("rust-js-sys" ,rust-js-sys-0.3)
-         ("rust-serde" ,rust-serde-1.0))))
-    (home-page
-      "https://github.com/chronotope/chrono";)
-    (synopsis "Date and time library for Rust")
-    (description "Date and time library for Rust")
-    (license (list license:expat license:asl2.0))))
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bindgen" ,rust-bindgen-0.33)
+        ("rust-cc" ,rust-cc-1.0))))
+    (home-page "https://github.com/rprichard/winpty";)
+    (synopsis "Rust winpty bindings")
+    (description "Rust winpty bindings.")
+    (license license:expat)))
+
+(define-public rust-winreg-0.6
+  (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"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-chrono" ,rust-chrono-0.4)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.3)
+        ("rust-serde-derive" ,rust-serde-derive-1.0))))
+    (home-page "https://github.com/gentoo90/winreg-rs";)
+    (synopsis "Rust bindings to MS Windows Registry API")
+    (description
+     "This package provides Rust bindings to MS Windows Registry API.")
+    (license license:expat)))
 
-(define-public rust-pretty-env-logger-0.3
+(define-public rust-winutil-0.1
   (package
-    (name "rust-pretty-env-logger")
-    (version "0.3.1")
+    (name "rust-winutil")
+    (version "0.1.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "pretty_env_logger" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "winutil" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0x4hyjlnvvhyk9m74iypzybm22w3dl2k8img4b956239n5vf8zki"))))
-    (build-system cargo-build-system)
+         (base32
+          "0vkyl3fbbf05n5ph5yz8sfaccrk9x3qsr25560w6w68ldf5i7bvx"))))
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-log" ,rust-log-0.4)
-         ("rust-chrono" ,rust-chrono-0.4)
-         ("rust-env-logger" ,rust-env-logger-0.6))))
-    (home-page
-      "https://github.com/seanmonstar/pretty-env-logger";)
-    (synopsis "a visually pretty env_logger")
-    (description "a visually pretty env_logger")
-    (license (list license:expat license:asl2.0))))
+     `(#: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)))
 
-(define-public rust-indexmap-1.3
+(define-public rust-ws2-32-sys-0.2
   (package
-    (name "rust-indexmap")
-    (version "1.3.2")
+    (name "rust-ws2-32-sys")
+    (version "0.2.1")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "indexmap" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "ws2_32-sys" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "14i2gmq9pwaafvlxmsc12j6539hjgqk4j4jz40fz763vbcn08vq7"))))
+         (base32
+          "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-autocfg" ,rust-autocfg-1.0)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-rayon" ,rust-rayon-1.3))))
-    (home-page "https://github.com/bluss/indexmap";)
-    (synopsis
-      "A hash table with consistent order and fast iteration.
-
-The indexmap is a hash table where the iteration order of the key-value
-pairs is independent of the hash values of the keys. It has the usual
-hash table functionality, it preserves insertion order except after
-removals, and it allows lookup of its elements by either hash table key
-or numerical index. A corresponding hash set type is also provided.
-
-This crate was initially published under the name ordermap, but it was renamed 
to
-indexmap.
-")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-winapi" ,rust-winapi-0.2))
+       #:cargo-development-inputs
+       (("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 provides a hash table with consistent order and fast 
iteration.
-
-The indexmap is a hash table where the iteration order of the key-value
-pairs is independent of the hash values of the keys.  It has the usual
-hash table functionality, it preserves insertion order except after
-removals, and it allows lookup of its elements by either hash table key
-or numerical index.  A corresponding hash set type is also provided.
+     "Contains function definitions for the Windows API library ws2_32.")
+    (license license:expat)))
 
-This crate was initially published under the name ordermap, but it was renamed 
to
-indexmap.
-")
-    (license (list license:asl2.0 license:expat))))
+(define-public rust-x11-2
+  (package
+    (name "rust-x11")
+    (version "2.18.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "x11" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0dg2d0yrqmwg6prpxkw3vpmwzwxnaki2cn0v64ylh5gp4cqpws9r"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-pkg-config" ,rust-pkg-config-0.3))))
+    (home-page "https://github.com/erlepereira/x11-rs.git";)
+    (synopsis "X11 library bindings for Rust")
+    (description "X11 library bindings for Rust.")
+    (license license:cc0)))
 
-(define-public rust-ryu-1.0
+(define-public rust-x11-clipboard-0.4
   (package
-    (name "rust-ryu")
-    (version "1.0.3")
+    (name "rust-x11-clipboard")
+    (version "0.4.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "ryu" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0xlx9ybzncrb7d6r9533g8ydlg6mr252pfzl4g9cqaqkpvk24mjk"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "x11-clipboard" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0nqdnswiyj28b1izjp5rzbc67cxpb5c8p4vh1xyndkirzs84vqqk"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-no-panic" ,rust-no-panic-0.1))))
-    (home-page "https://github.com/dtolnay/ryu";)
-    (synopsis
-      "Fast floating point to string conversion")
-    (description
-      "Fast floating point to string conversion")
-    (license (list license:asl2.0 license:boost1.0))))
+     `(#:tests? #f  ; Tests require display server.
+       #:cargo-inputs (("rust-xcb" ,rust-xcb-0.9))))
+    (native-inputs
+     `(("python" ,python)))
+    (home-page "https://github.com/quininer/x11-clipboard";)
+    (synopsis "x11 clipboard support for Rust")
+    (description "This package provides x11 clipboard support for Rust.")
+    (license license:expat)))
 
-(define-public rust-itoa-0.4
+(define-public rust-x11-dl-2
   (package
-    (name "rust-itoa")
-    (version "0.4.5")
+    (name "rust-x11-dl")
+    (version "2.18.4")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "itoa" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "13nxqrfnh83a7x5rw4wq2ilp8nxvwy74dxzysdg59dbxqk0agdxq"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "x11-dl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0n1w837xagxqgwx2880d7c9ks6l3g1kk00yd75afdaiv58sf2rdy"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
-    (home-page "https://github.com/dtolnay/itoa";)
-    (synopsis
-      "Fast functions for printing integer primitives to an io::Write")
-    (description
-      "Fast functions for printing integer primitives to an io::Write")
-    (license (list license:expat license:asl2.0))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-maybe-uninit" ,rust-maybe-uninit-2.0)
+        ("rust-pkg-config" ,rust-pkg-config-0.3))))
+    (home-page "https://github.com/erlepereira/x11-rs.git";)
+    (synopsis "X11 library bindings for Rust")
+    (description "This package provides X11 library bindings for Rust.")
+    (license license:cc0)))
 
-(define-public rust-serde-json-1.0
+(define-public rust-xattr-0.2
   (package
-    (name "rust-serde-json")
-    (version "1.0.50")
+    (name "rust-xattr")
+    (version "0.2.2")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "serde_json" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "xattr" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "0rs8rsk59kgkgsrw8hyyjrlhas9k1by2jwxxqcz3c2bq2qna39vq"))))
+         (base32
+          "0k556fb6f5jc907975j9c8iynl2fqz3rf0w6fiig83i4yi0kfk14"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-itoa" ,rust-itoa-0.4)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-ryu" ,rust-ryu-1.0)
-         ("rust-indexmap" ,rust-indexmap-1.3))))
-    (home-page "https://github.com/serde-rs/json";)
-    (synopsis "A JSON serialization file format")
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2))
+       #:cargo-development-inputs
+       (("rust-tempfile" ,rust-tempfile-3.0))))
+    (home-page "https://github.com/Stebalien/xattr";)
+    (synopsis "Unix extended filesystem attributes")
     (description
-      "This package provides a JSON serialization file format")
-    (license (list license:expat license:asl2.0))))
+     "This package provide a small library for setting, getting, and listing
+extended attributes.")
+    (license (list license:asl2.0
+                   license:expat))))
 
-(define-public rust-serde-derive-1.0
+(define-public rust-xcb-0.9
   (package
-    (name "rust-serde-derive")
-    (version "1.0.105")
+    (name "rust-xcb")
+    (version "0.9.0")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "serde_derive" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1y5gzwpy8yjv9pwh1js11vr18nfz4gg1g2kmyr6p58hvavy00pdc"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "xcb" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "19i2pm8alpn2f0m4jg8bsw6ckw8irj1wjh55h9pi2fcb2diny1b2"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page "https://serde.rs";)
-    (synopsis
-      "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
+     `(#: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
+     `(("libx11" ,libx11)
+       ("libxcb" ,libxcb)
+       ("xcb-proto" ,xcb-proto)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python)))
+    (home-page "https://github.com/rtbo/rust-xcb";)
+    (synopsis "Rust bindings and wrappers for XCB")
     (description
-      "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]")
-    (license (list license:expat license:asl2.0))))
+     "This package provides Rust bindings and wrappers for XCB.")
+    (license license:expat)))
 
-(define-public rust-serde-1.0
+(define-public rust-xdg-2.2
   (package
-    (name "rust-serde")
-    (version "1.0.105")
+    (name "rust-xdg")
+    (version "2.2.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "serde" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
+        (uri (crate-uri "xdg" version))
+        (file-name (string-append name "-" version ".crate"))
         (sha256
-          (base32
-            "1zrj157dxvmymp5ii60anap2qqks4pkr3fwsp71wi3sv4nzzn1z7"))))
+         (base32
+          "0mws8a0fr3cqk5nh7aq9lmkmhzghvasqy4mhw6nnza06l4d6i2fh"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-serde-derive" ,rust-serde-derive-1.0))))
-    (home-page "https://serde.rs";)
-    (synopsis
-      "A generic serialization/deserialization framework")
+    (home-page "https://github.com/whitequark/rust-xdg";)
+    (synopsis "Store and retrieve files according to XDG specification")
     (description
-      "This package provides a generic serialization/deserialization 
framework")
-    (license (list license:expat license:asl2.0))))
+     "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-quote-1.0
+(define-public rust-xml-rs-0.8
   (package
-    (name "rust-quote")
-    (version "1.0.3")
+    (name "rust-xml-rs")
+    (version "0.8.1")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "quote" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0zwd6fp74xfg4jnnnwj4v84lkzif2giwj4ch1hka9g35ghc6rp1b"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "xml-rs" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0c905wsmk995xypxljpxzq6vv660r1pzgyrpsfiz13kw3hf0dzcs"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro2" ,rust-proc-macro2-1.0))))
-    (home-page "https://github.com/dtolnay/quote";)
-    (synopsis "Quasi-quoting macro quote!(...)")
-    (description "Quasi-quoting macro quote!(...)")
-    (license (list license:expat license:asl2.0))))
+     `(#: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-syn-1.0
+(define-public rust-y4m-0.5
   (package
-    (name "rust-syn")
-    (version "1.0.17")
+    (name "rust-y4m")
+    (version "0.5.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "syn" version))
+        (uri (crate-uri "y4m" version))
         (file-name
           (string-append name "-" version ".tar.gz"))
         (sha256
           (base32
-            "00xvf772ys4fj9fr8kplmsqb9if215dsipi3nv54aw9q7xkfpw0d"))))
+            "06g8c53qk4cla3xczywx5qlklvzsw54x77vm727mhizlsp5n93ar"))))
     (build-system cargo-build-system)
-    (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-unicode-xid" ,rust-unicode-xid-0.2)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page "https://github.com/dtolnay/syn";)
-    (synopsis "Parser for Rust source code")
-    (description "Parser for Rust source code")
-    (license (list license:expat license:asl2.0))))
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/image-rs/y4m";)
+    (synopsis "YUV4MPEG2 (.y4m) Encoder/Decoder.")
+    (description "YUV4MPEG2 (.y4m) Encoder/Decoder.")
+    (license license:expat)))
 
-(define-public rust-proc-macro2-1.0
+(define-public rust-yaml-rust-0.4
   (package
-    (name "rust-proc-macro2")
-    (version "1.0.10")
+    (name "rust-yaml-rust")
+    (version "0.4.3")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "proc-macro2" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1qxbnl8i3a5b2nxb8kdxbq6kj3pd1ckhm35wm7z3jd7n5wlns96z"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "yaml-rust" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ka3qhqc5lvk3hz14wmsj32jhmh44blcbfrx5hfxli2gg38kv4k5"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-unicode-xid" ,rust-unicode-xid-0.2))))
-    (home-page
-      "https://github.com/alexcrichton/proc-macro2";)
-    (synopsis
-      "A substitute implementation of the compiler's `proc_macro` API to 
decouple
-token-based libraries from the procedural macro use case.
-")
+     `(#:cargo-inputs
+       (("rust-linked-hash-map" ,rust-linked-hash-map-0.5))
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.7))))
+    (home-page "https://chyh1990.github.io/yaml-rust/";)
+    (synopsis "The missing YAML 1.2 parser for rust")
     (description
-      "This package provides a substitute implementation of the compiler's 
`proc_macro` API to decouple
-token-based libraries from the procedural macro use case.
-")
-    (license (list license:expat license:asl2.0))))
+     "The missing YAML 1.2 parser for rust.")
+    (license (list license:asl2.0 license:expat))))
 
-(define-public rust-sval-derive-0.4
+(define-public rust-yaml-rust-0.3
   (package
-    (name "rust-sval-derive")
-    (version "0.4.7")
+    (inherit rust-yaml-rust-0.4)
+    (name "rust-yaml-rust")
+    (version "0.3.5")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "sval_derive" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "07s7jqsdczsg0wnydfnxyrsj8zyrjmiwl4is1dfgn8dfvyi8n2bj"))))
-    (build-system cargo-build-system)
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "yaml-rust" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "14m9dzwb8fb05f4jjb4nqp49rxd9c5vcmwpv3a04d2y5iphncqz6"))))
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0))))
-    (home-page "https://github.com/sval-rs/sval";)
-    (synopsis "Custom derive for sval")
-    (description "Custom derive for sval")
-    (license (list license:asl2.0 license:expat))))
+     `(#:cargo-inputs
+       (("rust-clippy" ,rust-clippy-0.0)
+        ("rust-linked-hash-map" ,rust-linked-hash-map-0.3))))))
 
-(define-public rust-sval-0.4
+(define-public rust-zip-0.5
   (package
-    (name "rust-sval")
-    (version "0.4.7")
+    (name "rust-zip")
+    (version "0.5.4")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "sval" version))
-        (file-name
-          (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "1aljggx64481q4wp3wx9hxsfh2bs7d64nqsrwbb2zxcpmdnbn6yk"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "zip" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1biv5kh4fl7wpjlsxfczvgrdjlybf0xjaw7s36didql8lxxz67z4"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-sval-derive" ,rust-sval-derive-0.4)
-         ("rust-smallvec" ,rust-smallvec-0.6)
-         ("rust-serde" ,rust-serde-1.0))))
-    (home-page "https://github.com/sval-rs/sval";)
+     `(#:cargo-inputs
+       (("rust-bzip2" ,rust-bzip2-0.3)
+        ("rust-crc32fast" ,rust-crc32fast-1.2)
+        ("rust-flate2" ,rust-flate2-1.0)
+        ("rust-podio" ,rust-podio-0.1)
+        ("rust-time" ,rust-time-0.1))
+       #:cargo-development-inputs
+       (("rust-bencher" ,rust-bencher-0.1)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-walkdir" ,rust-walkdir-1.0))))
+    (home-page "https://github.com/mvdnes/zip-rs.git";)
     (synopsis
-      "A no-std, object-safe serialization framework")
+     "Library to support the reading and writing of zip files")
     (description
-      "This package provides a no-std, object-safe serialization framework")
-    (license (list license:asl2.0 license:expat))))
+     "Library to support the reading and writing of zip files.")
+    (license license:expat)))
 
-(define-public rust-log-0.4
+(define-public rust-zoneinfo-compiled-0.4
   (package
-    (name "rust-log")
-    (version "0.4.10")
+    (name "rust-zoneinfo-compiled")
+    (version "0.4.8")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "log" version))
+        (uri (crate-uri "zoneinfo_compiled" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+         (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "170cx0xanhlhd3a249ssqydyaismcxarqi4sdw7w9ja5m5kd96hv"))))
+         (base32
+          "0bnm19w791q6kp79s0zl1cj9w51bw5xrifrxfy3g1p05i676y4vf"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-cfg-if" ,rust-cfg-if-0.1)
-         ("rust-sval" ,rust-sval-0.4)
-         ("rust-serde" ,rust-serde-1.0))))
-    (home-page "https://github.com/rust-lang/log";)
-    (synopsis
-      "A lightweight logging facade for Rust
-")
+     `(#:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-datetime" ,rust-datetime-0.4))))
+    (home-page "https://github.com/rust-datetime/zoneinfo-compiled/";)
+    (synopsis "Library for parsing compiled zoneinfo files")
     (description
-      "This package provides a lightweight logging facade for Rust
-")
-    (license (list license:expat license:asl2.0))))
+     "This package provides a library for parsing compiled zoneinfo files.")
+    (license license:expat)))
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 327c3df..c5853d2 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -307,29 +307,26 @@ gitignore rules.")
         (method url-fetch)
         (uri (crate-uri "cbindgen" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+         (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "13jzbmjz1bmmfr0i80hw6ar484mgabx3hbpb2ynhk0ddqi0yr58m"))))
+         (base32
+          "13jzbmjz1bmmfr0i80hw6ar484mgabx3hbpb2ynhk0ddqi0yr58m"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-log" ,rust-log-0.4)
-         ("rust-toml" ,rust-toml-0.5)
-         ("rust-proc-macro2" ,rust-proc-macro2-1.0)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-syn" ,rust-syn-1.0)
-         ("rust-quote" ,rust-quote-1.0)
-         ("rust-serde-json" ,rust-serde-json-1.0)
-         ("rust-clap" ,rust-clap-2)
-         ("rust-tempfile" ,rust-tempfile-3.1))))
+     `(#:cargo-inputs
+       (("rust-log" ,rust-log-0.4)
+        ("rust-toml" ,rust-toml-0.5)
+        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-syn" ,rust-syn-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-clap" ,rust-clap-2)
+        ("rust-tempfile" ,rust-tempfile-3.1))))
     (home-page "https://github.com/eqrion/cbindgen/";)
-    (synopsis
-      "A tool for generating C bindings to Rust code.")
+    (synopsis "Tool for generating C bindings to Rust code")
     (description
-      "This package provides a tool for generating C bindings to Rust code.")
+     "This package provides a tool for generating C/C++ bindings to Rust 
code.")
     (license license:mpl2.0)))
 
 (define-public tokei
@@ -402,26 +399,26 @@ blanks grouped by language.")
         (method url-fetch)
         (uri (crate-uri "cargo-c" version))
         (file-name
-          (string-append name "-" version ".tar.gz"))
+         (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32
-            "1is72jm0r73pqx2g3h1n6lvrcirwd91mmajsmb3jjg4jnayfkp0w"))))
+         (base32
+          "1is72jm0r73pqx2g3h1n6lvrcirwd91mmajsmb3jjg4jnayfkp0w"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:cargo-inputs
-        (("rust-cbindgen" ,rust-cbindgen-0.12)
-         ("rust-pretty-env-logger"
-          ,rust-pretty-env-logger-0.3)
-         ("rust-structopt" ,rust-structopt-0.3)
-         ("rust-log" ,rust-log-0.4)
-         ("rust-toml" ,rust-toml-0.5)
-         ("rust-cargo-metadata" ,rust-cargo-metadata-0.9)
-         ("rust-serde" ,rust-serde-1.0)
-         ("rust-serde-derive" ,rust-serde-derive-1.0)
-         ("rust-regex" ,rust-regex-1.3))))
-    (home-page "http://github.com/lu-zero/cargo-c";)
-    (synopsis
-      "Helper program to build and install c-like libraries")
+     `(#:cargo-inputs
+       (("rust-cbindgen" ,rust-cbindgen-0.12)
+        ("rust-pretty-env-logger" ,rust-pretty-env-logger-0.3)
+        ("rust-structopt" ,rust-structopt-0.3)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-toml" ,rust-toml-0.5)
+        ("rust-cargo-metadata" ,rust-cargo-metadata-0.9)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-regex" ,rust-regex-1.3))))
+    (home-page "https://github.com/lu-zero/cargo-c";)
+    (synopsis "Build and install C-compatible libraries")
     (description
-      "Helper program to build and install c-like libraries")
+     "This package produces and installs a correct pkg-config file, a static
+library and a dynamic library, and a C header to be used by any C (and
+C-compatible) software.")
     (license license:expat)))



reply via email to

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