Subject: [bug#38640] [PATCH] Add ripgrep and many rust dependencies

From: John Soo <[email-masked]>
Date: Fri, 20 Dec 2019 17:44:36 +0000

Hi all,

Sorry it took a while. As it turns out, keeping #cargo-inputs and
#cargo-development-inputs was a very good idea.
It turns out I was missing about 60 more dependencies! I linted them
as far as I could without breaking anything.
I added #skip-build #t to all the other dependencies.

The only issue here is that the commit order has somewhat lost the
topological order of the dependencies because rebasing them all
required too much conflict resolution.

I rebased these on master this morning.

Thanks for all your input!

John
From e518e8a4647cc4dac52b07d5857f4f5e91e37318 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 20:37:32 -0800
Subject: [PATCH 001/263] gnu: Add rust-libc-0.2.58.

* gnu/packages/crates-io.scm (rust-libc-0.2.58): New variable.
---
 gnu/packages/crates-io.scm | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b4bb599dcc..23918de386 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1423,6 +1423,20 @@ the platform that libc is compiled for.")
     (license (list license:expat
                    license:asl2.0))))
 
+(define-public rust-libc-0.2.58
+  (package
+    (inherit rust-libc-0.2)
+    (version "0.2.58")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "libc" version))
+       (file-name
+        (string-append (package-name rust-libc-0.2) "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "06d32dv5inxajhibwgz6z6nq0mgkighykrhb01k46pmsjrkvi0b2"))))))
+
 (define-public rust-libgit2-sys-0.8
   (package
     (name "rust-libgit2-sys")
-- 
2.24.1

From 2e8bd1d3098538d65e2accac2dbb2c5421762edd Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 21:05:36 -0800
Subject: [PATCH 003/263] gnu: Add rust-bstr-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a2e32c7c6c..5d9ff7820a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -244,6 +244,39 @@ behave like a set of bitflags.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-bstr-0.1
+  (package
+    (name "rust-bstr")
+    (version "0.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bstr" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0nzi9vqhl56ws8gq39f3aj4qjrr4l3g5lbkkcj8xq1x4cb74wq2r"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-memchr" ,rust-memchr-2.2)
+        ("rust-regex-automata" ,rust-regex-automata-0.1)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-ucd-parse" ,rust-ucd-parse-0.1)
+        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1.3))))
+    (home-page "https://github.com/BurntSushi/bstr")
+    (synopsis
+     "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.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-cargon-0.0
   (package
     (name "rust-cargon")
-- 
2.24.1

From 7f41fcc3144d1dd80fa1eed9717cea3cfa5e654d Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 21:10:31 -0800
Subject: [PATCH 004/263] gnu: Add rust-bstr-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5d9ff7820a..d0e82cca3e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -244,6 +244,39 @@ behave like a set of bitflags.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-bstr-0.2
+  (package
+    (name "rust-bstr")
+    (version "0.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bstr" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0prq6yk3da0k5bg2czcgg1i4ynsq1l59xc89ycsv6v7p08p5gh3c"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-memchr" ,rust-memchr-2.2)
+        ("rust-regex-automata" ,rust-regex-automata-0.1)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-ucd-parse" ,rust-ucd-parse-0.1)
+        ("rust-unicode-segmentation" ,rust-unicode-segmentation-1.3))))
+    (home-page "https://github.com/BurntSushi/bstr")
+    (synopsis
+     "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.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-bstr-0.1
   (package
     (name "rust-bstr")
-- 
2.24.1

From 1e9f8bfd05a30069cdeca28d50c278c4ea2c8398 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 21:14:19 -0800
Subject: [PATCH 005/263] gnu: Add rust-globset-0.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d0e82cca3e..f34f84b981 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1183,6 +1183,40 @@ shell style patterns.")
          (base32
           "1ysvi72slkw784fcsymgj4308c3y03gwjjzqxp80xdjnkbh8vqcb"))))))
 
+(define-public rust-globset-0.4
+  (package
+    (name "rust-globset")
+    (version "0.4.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "globset" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1wnqxq91liknmr2w93wjq2spyxbrd1pmnhd4nbi3921dr35a4nlj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-aho-corasick" ,rust-aho-corasick-0.7)
+        ("rust-bstr" ,rust-bstr-0.2)
+        ("rust-fnv" ,rust-fnv-1.0)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-regex" ,rust-regex-1.1))
+       #:cargo-development-inputs
+       (("rust-glob" ,rust-glob-0.3))))
+    (home-page
+     "https://github.com/BurntSushi/ripgrep/tree/master/globset")
+    (synopsis
+     "Cross platform single glob and glob set matching")
+    (description
+     "Cross platform single glob and glob set matching.  Glob set matching is
+the process of matching one or more glob patterns against a single candidate
+path simultaneously, and returning all of the globs that matched.")
+    (license `(,license:expat ,license:unlicense))))
+
 (define-public rust-heapsize-0.4
   (package
     (name "rust-heapsize")
-- 
2.24.1

From 61ecac607d494ae621297af23e9ded7ba909c03d Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 20:48:30 -0800
Subject: [PATCH 002/263] gnu: Add rust-serde-test-1.0.

* gnu/packages/crates-io.scm (rust-serde-test-1.0): New variable.
---
 gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 23918de386..a2e32c7c6c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3330,6 +3330,27 @@ with one of the implemented strategies.")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-serde-test-1.0
+  (package
+    (name "rust-serde-test")
+    (version "1.0.101")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_test" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ii81dkyd3qmh8q3wjiwlpq6xfby2b0m5wf1f7clg93a7h4qjn3f"))))
+    (build-system cargo-build-system)
+    (home-page "https://serde.rs")
+    (synopsis
+     "Token De/Serializer for testing De/Serialize implementations")
+    (description
+     "Token De/Serializer for testing De/Serialize implementations.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-shlex-0.1
   (package
     (name "rust-shlex")
-- 
2.24.1

From 69852c6d56138399a84d807c94797e9b109ea644 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 21:49:36 -0800
Subject: [PATCH 008/263] gnu: Add rust-pcre2-sys-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7204a5acb3..7d04cf3d1d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2376,6 +2376,32 @@ deserialization, and interpreter in Rust.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-pcre2-sys-0.2
+  (package
+    (name "rust-pcre2-sys")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pcre2-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0nwdvc43dkb89qmm5q8gw1zyll0wsfqw7kczpn23mljra3874v47"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2.58)
+        ("rust-pkg-config" ,rust-pkg-config-0.3)
+        ("rust-cc" ,rust-cc-1.0))))
+    (home-page
+     "https://github.com/BurntSushi/rust-pcre2")
+    (synopsis "Low level bindings to PCRE2")
+    (description "Low level bindings to PCRE2.")
+    (license `(,license:expat ,license:unlicense))))
+
 (define-public rust-peeking-take-while-0.1
   (package
     (name "rust-peeking-take-while")
-- 
2.24.1

From b2a1c517cb97b24d714f6d6b1e408b97ed487e21 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 21:29:49 -0800
Subject: [PATCH 007/263] gnu: Add rust-grep-cli-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1f1e6c99ac..7204a5acb3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1217,6 +1217,40 @@ the process of matching one or more glob patterns against a single candidate
 path simultaneously, and returning all of the globs that matched.")
     (license `(,license:expat ,license:unlicense))))
 
+(define-public rust-grep-cli-0.1
+  (package
+    (name "rust-grep-cli")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "grep-cli" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "05a502x5m4fijwx7zj9icxna2dx86scm76ap80zr89pnvpbfk1hp"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-atty" ,rust-atty-0.2)
+        ("rust-bstr" ,rust-bstr-0.2)
+        ("rust-globset" ,rust-globset-0.4)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-regex" ,rust-regex-1.1)
+        ("rust-same-file" ,rust-same-file-1.0)
+        ("rust-termcolor" ,rust-termcolor-1.0)
+        ("rust-winapi-util" ,rust-winapi-util-0.1))))
+    (home-page
+     "https://github.com/BurntSushi/ripgrep")
+    (synopsis
+     "Utilities for search oriented command line applications")
+    (description
+     "Utilities for search oriented command line applications.")
+    (license license:expat)))
+
 (define-public rust-heapsize-0.4
   (package
     (name "rust-heapsize")
-- 
2.24.1

From 1ee6530af639c8ee9f0471f73d66c1e07880ef50 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 21:52:17 -0800
Subject: [PATCH 009/263] gnu: Add rust-pcre2-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7d04cf3d1d..847d43cd59 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2376,6 +2376,35 @@ deserialization, and interpreter in Rust.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-pcre2-0.2
+  (package
+    (name "rust-pcre2")
+    (version "0.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pcre2" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "103i66a998g1fjrqf9sdyvi8qi83hwglz3pjdcq9n2r207hsagb0"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2.58)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-pcre2-sys" ,rust-pcre2-sys-0.2)
+        ("rust-thread-local" ,rust-thread-local-0.3))))
+    (home-page
+     "https://github.com/BurntSushi/rust-pcre2")
+    (synopsis
+     "High level wrapper library for PCRE2")
+    (description
+     "High level wrapper library for PCRE2.")
+    (license `(,license:expat ,license:unlicense))))
+
 (define-public rust-pcre2-sys-0.2
   (package
     (name "rust-pcre2-sys")
-- 
2.24.1

From cf6eafcdf15a42d42de51c018aae0680012347db Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 21:25:02 -0800
Subject: [PATCH 006/263] gnu: Add rust-regex-1.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f34f84b981..1f1e6c99ac 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2977,6 +2977,41 @@ system calls.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-regex-1.1
+  (package
+    (name "rust-regex")
+    (version "1.1.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "regex" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1pabajpp0wzb7dm2x32gy8w7k0mwykr6zsvzn0fgpr6pww40hbqb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build #t
+       #: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.3)
+        ("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-rand" ,rust-rand-0.4))))
+    (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.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-regex-syntax-0.6
   (package
     (name "rust-regex-syntax")
-- 
2.24.1

From 9d78c28c3c9de0439ac510f227ca8e775c7c8776 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 22:00:54 -0800
Subject: [PATCH 010/263] gnu: Add rust-memchr-2.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 847d43cd59..fe8c8f2d8f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1836,6 +1836,32 @@ whether an expression matches a pattern.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-memchr-2.2
+  (package
+    (name "rust-memchr")
+    (version "2.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "memchr" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0f8wdra7yaggsr4jzlrvpd8yknnqhd990iijdr6llgc8gk2ppz1f"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2.58))
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.8))))
+    (home-page
+     "https://github.com/BurntSushi/rust-memchr")
+    (synopsis "Safe interface to memchr")
+    (description "Safe interface to memchr.")
+    (license `(,license:expat ,license:unlicense))))
+
 (define-public rust-memmap-0.7
   (package
     (name "rust-memmap")
-- 
2.24.1

From 4199857a32a6d29b1e3b584740e80eae7ec346cd Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 22:02:08 -0800
Subject: [PATCH 011/263] gnu: Add rust-memchr-1.0.

* gnu/packages/crates-io.scm (rust-memchr-1.0): New variable.
---
 gnu/packages/crates-io.scm | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fe8c8f2d8f..4755469b2b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1862,6 +1862,20 @@ whether an expression matches a pattern.")
     (description "Safe interface to memchr.")
     (license `(,license:expat ,license:unlicense))))
 
+(define-public rust-memchr-1.0
+  (package
+    (inherit rust-memchr-2.2)
+    (version "1.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "memchr" version))
+       (file-name
+        (string-append (package-name rust-memchr-2.2) "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0yjyja34pzhipdl855q3m21w1lyih4lw79x2dp3czwdla4pap3ql"))))))
+
 (define-public rust-memmap-0.7
   (package
     (name "rust-memmap")
-- 
2.24.1

From 9d79fe32eb405317a9047374a99a88f9320655aa Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 22:32:13 -0800
Subject: [PATCH 013/263] gnu: Add rust-bincode-1.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5035fa8db1..a77ab81228 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -202,6 +202,37 @@ and no more (caveat: black_box is still missing!).")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-bincode-1.1
+  (package
+    (name "rust-bincode")
+    (version "1.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bincode" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1xx6bp39irvsndk6prnmmq8m1l9p6q2qj21j6mfks2y81pjsa14z"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-autocfg" ,rust-autocfg-0.1)
+        ("rust-byteorder" ,rust-byteorder-1.3)
+        ("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))))
+    (home-page "https://github.com/servo/bincode")
+    (synopsis
+     "Binary serialization/deserialization strategy")
+    (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-bitflags-1
   (package
     (name "rust-bitflags")
-- 
2.24.1

From 44240e56fa253c8b4fd4a2edfd6995c48a6ef630 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 22:35:54 -0800
Subject: [PATCH 014/263] gnu: Add rust-chrono-0.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a77ab81228..0bc7b3e7de 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -406,6 +406,41 @@ archive to be linked into Rustcode.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-chrono-0.4
+  (package
+    (name "rust-chrono")
+    (version "0.4.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "chrono" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1glam3iqhshbamzgf0npn7hgghski92r31lm7gg8841hnxc1zn3p"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2.58)
+        ("rust-num-integer" ,rust-num-integer-0.1)
+        ("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-time" ,rust-time-0.1))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1.1)
+        ("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))))
+    (home-page
+     "https://github.com/chronotope/chrono")
+    (synopsis "Date and time library for Rust")
+    (description "Date and time library for Rust.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-cfg-if-0.1
   (package
     (name "rust-cfg-if")
-- 
2.24.1

From 64518fa08bc28da43010c8da03c0047b84b06d36 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 22:38:30 -0800
Subject: [PATCH 015/263] gnu: Add rust-humantime-1.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0bc7b3e7de..2697706700 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1396,6 +1396,37 @@ hexadecimal representation.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-humantime-1.2
+  (package
+    (name "rust-humantime")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "humantime" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "057ilhy6vc9iqhhby5ymh45m051pgxwq2z437gwkbnqhw7rfb9rw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-quick-error" ,rust-quick-error-1.2))
+       #:cargo-development-inputs
+       (("rust-chrono" ,rust-chrono-0.4)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-time" ,rust-time-0.1))))
+    (home-page
+     "https://github.com/tailhook/humantime")
+    (synopsis
+     "Parser and formatter for Duration and SystemTime")
+    (description
+     "A parser and formatter for @code{std::time::{Duration,
+SystemTime}}.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-hostname-0.1
   (package
     (name "rust-hostname")
-- 
2.24.1

From 7fc596ae1b9ff70fbf3799a27b07cb4b85d5f85d Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 22:29:51 -0800
Subject: [PATCH 012/263] gnu: Add rust-serde-bytes-0.11.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4755469b2b..5035fa8db1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3553,6 +3553,37 @@ with one of the implemented strategies.")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
 
+;; Circular dev dependency on bincode.
+;; Probably not going away: https://github.com/rust-lang/cargo/issues/4242
+(define-public rust-serde-bytes-0.11
+  (package
+    (name "rust-serde-bytes")
+    (version "0.11.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_bytes" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1bl45kf3c71xclv7wzk5525nswm4bgsnjd3s1s15f4k2a8whfnij"))))
+    (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")
+    (synopsis
+     "Hanlde of integer arrays and vectors for Serde")
+    (description
+     "Optimized handling of @code{&[u8]} and @code{Vec<u8>} for Serde.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-serde-derive-1.0
   (package
     (name "rust-serde-derive")
-- 
2.24.1

From 177646101445196ecdeb1dff5b0b8ffa86e8d37e Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 22:41:23 -0800
Subject: [PATCH 016/263] gnu: Add rust-env-logger-0.6.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2697706700..18ac09405c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -851,6 +851,37 @@ floating-point primitives to an @code{io::Write}.")
          (base32
           "0g96cap6si1g6wi62hsdk2fnj3sf5vd4i97zj6163j8hhnsl3n0d"))))))
 
+(define-public rust-env-logger-0.6
+  (package
+    (name "rust-env-logger")
+    (version "0.6.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "env_logger" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1lx2s5nk96xx4i3m4zc4ghqgi8kb07dsnyiv8jk2clhax42dxz5a"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-atty" ,rust-atty-0.2)
+        ("rust-humantime" ,rust-humantime-1.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-regex" ,rust-regex-1.1)
+        ("rust-termcolor" ,rust-termcolor-1.0))))
+    (home-page
+     "https://github.com/sebasmagri/env_logger/")
+    (synopsis
+     "Logging implementation for @code{log}")
+    (description
+     "This package provides a logging implementation for @code{log} which
+is configured via an environment variable.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-fallible-iterator-0.2
   (package
     (name "rust-fallible-iterator")
-- 
2.24.1

From 4bdc732a4730a84c71da4ecf0264b54e8a48af1c Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 22:44:11 -0800
Subject: [PATCH 017/263] gnu: Add rust-rand-core-0.5.

---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 18ac09405c..667e871b4b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2985,6 +2985,33 @@ useful types and distributions, and some randomness-related algorithms.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-rand-core-0.5
+  (package
+    (name "rust-rand-core")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rand_core" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1jis94x9ri8xlxki2w2w5k29sjpfwgzkjylg7paganp74hrnhpk1"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-getrandom" ,rust-getrandom-0.1)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-rand-core-0.4
   (package
     (name "rust-rand-core")
-- 
2.24.1

From 3278f7e392d09741193924ab58f0043c1cd83cfc Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 22:47:53 -0800
Subject: [PATCH 018/263] gnu: Add rust-quickcheck-0.8.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 667e871b4b..a7537f33e9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2882,6 +2882,37 @@ to write.")
     (license (list license:asl2.0
                    license:expat))))
 
+;; Many circular dependencies.
+;; Dev dependencies are allowed to have them in crates.io.
+(define-public rust-quickcheck-0.8
+  (package
+    (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"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-env-logger" ,rust-env-logger-0.6)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-rand-core" ,rust-rand-core-0.5))))
+    (home-page
+     "https://github.com/BurntSushi/quickcheck")
+    (synopsis
+     "Automatic property based testing with shrinking")
+    (description
+     "Automatic property based testing with shrinking.")
+    (license `(,license:expat ,license:unlicense))))
+
 (define-public rust-quote-1.0
   (package
     (name "rust-quote")
-- 
2.24.1

From 2d163c8911648dd39fa03d2ab61ef3e02078a41f Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 22:54:55 -0800
Subject: [PATCH 021/263] gnu: Add rust-grep-pcre2-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 33f09cfe45..5872dc64cf 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1405,6 +1405,31 @@ path simultaneously, and returning all of the globs that matched.")
 focus on line oriented search.")
     (license `(,license:expat ,license:unlicense))))
 
+(define-public rust-grep-pcre2-0.1
+  (package
+    (name "rust-grep-pcre2")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "grep-pcre2" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1wjc3gsan20gapga8nji6jcrmwn9n85q5zf2yfq6g50c7abkc2ql"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-grep-matcher" ,rust-grep-matcher-0.1)
+        ("rust-pcre2" ,rust-pcre2-0.2))))
+    (home-page
+     "https://github.com/BurntSushi/ripgrep")
+    (synopsis "Use PCRE2 with the grep crate")
+    (description "Use PCRE2 with the grep crate.")
+    (license `(,license:expat ,license:unlicense))))
+
 (define-public rust-heapsize-0.4
   (package
     (name "rust-heapsize")
-- 
2.24.1

From b0fbc0a35e27bf6951d6faad1ee6b7752f450199 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 22:53:24 -0800
Subject: [PATCH 020/263] gnu: Add rust-grep-matcher-0.1.

* gnu/packages/crates-io.scm (rust-grep-matcher-0.1): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5dc3b3ab65..33f09cfe45 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1377,6 +1377,34 @@ path simultaneously, and returning all of the globs that matched.")
      "Utilities for search oriented command line applications.")
     (license license:expat)))
 
+(define-public rust-grep-matcher-0.1
+  (package
+    (name "rust-grep-matcher")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "grep-matcher" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "03j26zygfgwyam66bl5g922gimrvp4yyzl8qvaykyklnf247bl3r"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-memchr" ,rust-memchr-2.2))
+       #:cargo-development-inputs
+       (("rust-regex" ,rust-regex-1.1))))
+    (home-page
+     "https://github.com/BurntSushi/ripgrep")
+    (synopsis
+     "Trait for regular expressions")
+    (description
+     "This package provides a trait for regular expressions, with a
+focus on line oriented search.")
+    (license `(,license:expat ,license:unlicense))))
+
 (define-public rust-heapsize-0.4
   (package
     (name "rust-heapsize")
-- 
2.24.1

From c134af926a7a0cecbc14f7179b2bad4286c64734 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 22:50:39 -0800
Subject: [PATCH 019/263] gnu: Add rust-byteorder-1.3.

* gnu/packages/crates-io.scm (rust-byteorder-1.3): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a7537f33e9..5dc3b3ab65 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -341,6 +341,35 @@ UTF-8.")
 UTF-8.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-byteorder-1.3
+  (package
+    (name "rust-byteorder")
+    (version "1.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "byteorder" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1xbwjlmq2ziqjmjvkqxdx1yh136xxhilxd40bky1w4d7hn4xvhx7"))))
+    (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)
+        ("rust-rand" ,rust-rand-0.4))))
+    (home-page
+     "https://github.com/BurntSushi/byteorder")
+    (synopsis
+     "Reading/writing numbers in big-endian and little-endian")
+    (description
+     "Library for reading/writing numbers in big-endian and
+little-endian.")
+    (license `(,license:expat ,license:unlicense))))
+
 (define-public rust-cargon-0.0
   (package
     (name "rust-cargon")
-- 
2.24.1

From 8b7cac357fce9c663145c1df04c577cb39956fb2 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 23:02:49 -0800
Subject: [PATCH 022/263] gnu: Add rust-cast-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5872dc64cf..24c86dab03 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -391,6 +391,31 @@ used in argon2rs' bench suite.")
     (properties '((hidden? . #t)))
     (license license:wtfpl2)))
 
+(define-public rust-cast-0.2
+  (package
+    (name "rust-cast")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "cast" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "09yl2700crxa4n860b080msij25klvs1kfzazhp2aihchvr16q4j"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.8))))
+    (home-page "https://github.com/japaric/cast.rs")
+    (synopsis
+     "Ergonomic, checked cast functions for primitive types")
+    (description
+     "Ergonomic, checked cast functions for primitive types.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-cblas-sys-0.1
   (package
     (name "rust-cblas-sys")
-- 
2.24.1

From c58a00a3022e5bdb3cc013b3f9613dbad6a5312d Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 23:09:01 -0800
Subject: [PATCH 023/263] gnu: Add rust-either-1.5.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 24c86dab03..9896305e38 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -905,6 +905,31 @@ floating-point primitives to an @code{io::Write}.")
          (base32
           "0g96cap6si1g6wi62hsdk2fnj3sf5vd4i97zj6163j8hhnsl3n0d"))))))
 
+(define-public rust-either-1.5
+  (package
+    (name "rust-either")
+    (version "1.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "either" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0yyggfd5yq9hyyp0bd5jj0fgz3rwws42d19ri0znxwwqs3hcy9sm"))))
+    (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
+     "Enum @code{Either} with variants @code{Left} and @code{Right}")
+    (description
+     "The enum @code{Either} with variants @code{Left} and
+@code{Right} is a general purpose sum type with two cases.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-env-logger-0.6
   (package
     (name "rust-env-logger")
-- 
2.24.1

From a8785ce805c602707c2c6839ae08d086409d917e Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 23:14:40 -0800
Subject: [PATCH 024/263] gnu: Add rust-itertools-0.8.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9896305e38..fd6ab54480 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1631,6 +1631,36 @@ SystemTime}}.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-itertools-0.8
+  (package
+    (name "rust-itertools")
+    (version "0.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "itertools" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0n2k13b6w4x2x6np2lykh9bj3b3z4hwh2r4cn3z2dgnfq7cng12v"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("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))))
+    (home-page
+     "https://github.com/rust-itertools/itertools")
+    (synopsis
+     "Extra iterator adaptors, iterator methods, free functions, and macros")
+    (description
+     "Extra iterator adaptors, iterator methods, free functions, and macros.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-itoa-0.4
   (package
     (name "rust-itoa")
-- 
2.24.1

From ba67a6c41318272df5b3d20d1d5aa5e6f217961d Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 23:17:08 -0800
Subject: [PATCH 025/263] gnu: Add rust-itertools-num-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fd6ab54480..cb686e0dbd 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1661,6 +1661,36 @@ SystemTime}}.")
      "Extra iterator adaptors, iterator methods, free functions, and macros.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-itertools-num-0.1
+  (package
+    (name "rust-itertools-num")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "itertools-num" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1rr7ig9nkpampcas23s91x7yac6qdnwssq3nap522xbgkqps4wm8"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-num-traits" ,rust-num-traits-0.2))
+       #:cargo-development-inputs
+       (("rust-itertools" ,rust-itertools-0.8)
+        ("rust-quickcheck" ,rust-quickcheck-0.8))))
+    (home-page
+     "https://github.com/bluss/itertools-num")
+    (synopsis
+     "Numerical iterator tools")
+    (description
+     "Numerical iterator tools.  Extra iterators and iterator methods
+and functions.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-itoa-0.4
   (package
     (name "rust-itoa")
-- 
2.24.1

From 60a908d21704fef0d850e454e500f60e189c0036 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 23:20:05 -0800
Subject: [PATCH 026/263] gnu: Add rust-num-complex-0.2.

* gnu/packages/crates-io.scm (rust-num-complex-0.2): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index cb686e0dbd..a1c8b4028c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2498,6 +2498,36 @@ implementation (which is unstable / requires nightly).")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-num-complex-0.2
+  (package
+    (name "rust-num-complex")
+    (version "0.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "num-complex" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1z6zjdzx1g1hj4y132ddy83d3p3zvw06igbf59npxxrzzcqwzc7w"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-num-traits" ,rust-num-traits-0.2)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-autocfg" ,rust-autocfg-0.1))))
+    (home-page
+     "https://github.com/rust-num/num-complex")
+    (synopsis
+     "Complex numbers implementation for Rust")
+    (description
+     "Complex numbers implementation for Rust.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-num-cpus-1.10
   (package
     (name "rust-num-cpus")
-- 
2.24.1

From 3ca79f966ab0a9b88fc53b2e9dc3f58608b5bac6 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 23:22:25 -0800
Subject: [PATCH 027/263] gnu: Add rust-criterion-plot-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a1c8b4028c..751b5aae28 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -715,6 +715,36 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-criterion-plot-0.3
+  (package
+    (name "rust-criterion-plot")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "criterion-plot" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "13pv09z4ryp70qyzablkibwa2mh6c2852qq1sjr9wjigvwnj3ybn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-cast" ,rust-cast-0.2)
+        ("rust-itertools" ,rust-itertools-0.8))
+       #:cargo-development-inputs
+       (("rust-itertools-num" ,rust-itertools-num-0.1)
+        ("rust-num-complex" ,rust-num-complex-0.2)
+        ("rust-rand" ,rust-rand-0.4))))
+    (home-page
+     "https://github.com/bheisler/criterion.rs")
+    (synopsis "Criterion's plotting library")
+    (description "Criterion's plotting library.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-curl-sys-0.4
   (package
     (name "rust-curl-sys")
-- 
2.24.1

From 9b45046bd67cc7518e5484f6a142e2fbaf5fa575 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 23:39:01 -0800
Subject: [PATCH 028/263] gnu: Add rust-arrayvec-0.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 751b5aae28..d8a2437964 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -96,6 +96,38 @@ text or blue underlined text, on ANSI terminals.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-arrayvec-0.4
+  (package
+    (name "rust-arrayvec")
+    (version "0.4.10")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "arrayvec" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0wcch3ca9qvkixgdbd2afrv1xa27l83vpraf7frsh9l8pivgpiwj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-nodrop" ,rust-nodrop-0.1)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-bencher" ,rust-bencher-0.1)
+        ("rust-matches" ,rust-matches-0.1)
+        ("rust-serde-test" ,rust-serde-test-1.0))))
+    (home-page "https://github.com/bluss/arrayvec")
+    (synopsis
+     "Vector with fixed capacity")
+    (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.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-atty-0.2
   (package
     (name "rust-atty")
-- 
2.24.1

From cc11bc063dc089f6e1f049ebf4747e6adb8776cb Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 13 Dec 2019 23:40:43 -0800
Subject: [PATCH 029/263] gnu: Add rust-csv-core-0.1.

* gnu/packages/crates-io.scm (rust-csv-core-0.1): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d8a2437964..75dc6952d2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -777,6 +777,34 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
     (description "Criterion's plotting library.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-csv-core-0.1
+  (package
+    (name "rust-csv-core")
+    (version "0.1.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "csv-core" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0k5zs0x0qmmn27pa5kcg86lg84s29491fw5sh3zswxswnavasp4v"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-memchr" ,rust-memchr-2.2))
+       #:cargo-development-inputs
+       (("rust-arrayvec" ,rust-arrayvec-0.4))))
+    (home-page
+     "https://github.com/BurntSushi/rust-csv")
+    (synopsis
+     "Bare bones CSV parsing with no_std support")
+    (description
+     "Bare bones CSV parsing with no_std support.")
+    (license `(,license:unlicense ,license:expat))))
+
 (define-public rust-curl-sys-0.4
   (package
     (name "rust-curl-sys")
-- 
2.24.1

From 40089d62b7ada02541d8aa950324136fa4ababd6 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 09:46:40 -0800
Subject: [PATCH 030/263] gnu: Add rust-utf8-ranges-1.0.

* gnu/packages/crates-io.scm (rust-utf8-ranges-1.0): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 75dc6952d2..1e0bb32422 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5107,6 +5107,33 @@ untrusted inputs in Rust.")
     (properties '((hidden? . #t)))
     (license license:isc)))
 
+(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 `(,license:expat ,license:unlicense))))
+
 (define-public rust-vcpkg-0.2
   (package
     (name "rust-vcpkg")
-- 
2.24.1

From 3ba8dbc0361899d310e7e6f84f9f54ca61aa0cf9 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 09:50:53 -0800
Subject: [PATCH 031/263] gnu: Add rust-regex-automata-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1e0bb32422..d2b3de22df 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3639,6 +3639,41 @@ system calls.")
 uses finite automata and guarantees linear time matching on all inputs.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-regex-automata-0.1
+  (package
+    (name "rust-regex-automata")
+    (version "0.1.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "regex-automata" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "11hzn3rz02vdgvx3ykhrbzkvs5c5sm59fyi3xwljn9qc48br5l1y"))))
+    (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.3)
+        ("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")
+    (description
+     "Automata construction and matching using regular expressions.")
+    (license `(,license:expat ,license:unlicense))))
+
 (define-public rust-regex-syntax-0.6
   (package
     (name "rust-regex-syntax")
-- 
2.24.1

From 212adbd92a58548b94e5a2555a0f45f89b61824c Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 09:58:51 -0800
Subject: [PATCH 032/263] gnu: Add rust-futures-channel-preview-0.3.

* gnu/packages/crates-io.scm (rust-futures-channel-preview-0.3): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d2b3de22df..557043dbee 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1283,6 +1283,32 @@ featuring zero allocations, composability, and iterator-like interfaces.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-futures-channel-preview-0.3
+  (package
+    (name "rust-futures-channel-preview")
+    (version "0.3.0-alpha.17")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "futures-channel-preview" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1blgpikhw391lzrfqcgg4xsn5xc0dlybni77ka7f0vb08zaixir1"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-futures-core-preview" ,rust-futures-core-preview-0.3))))
+    (home-page
+     "https://rust-lang.github.io/futures-rs/")
+    (synopsis
+     "Channels for asynchronous communication using futures-rs")
+    (description
+     "Channels for asynchronous communication using futures-rs.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-futures-core-preview-0.3
   (package
     (name "rust-futures-core-preview")
-- 
2.24.1

From cf81638db7b33169cdef6ccd20de36e6c018e04d Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 10:03:09 -0800
Subject: [PATCH 033/263] gnu: Add rust-futures-executor-preview-0.3.

* gnu/packages/crates-io.scm (rust-futures-executor-preview-0.3): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 557043dbee..db33392066 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1352,6 +1352,37 @@ the computation on the threads themselves.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-futures-executor-preview-0.3
+  (package
+    (name "rust-futures-executor-preview")
+    (version "0.3.0-alpha.17")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "futures-executor-preview" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "053g5kf2qa1xhdkwp3d1grrizzy4683mpbb3y0vvm00hwl7jdfl7"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-futures-channel-preview" ,rust-futures-channel-preview-0.3)
+        ("rust-futures-core-preview" ,rust-futures-core-preview-0.3)
+        ("rust-futures-util-preview" ,rust-futures-util-preview-0.3)
+        ("rust-num-cpus" ,rust-num-cpus-1.10)
+        ("rust-pin-utils" ,rust-pin-utils-0.1))))
+    (home-page
+     "https://github.com/rust-lang/futures-rs")
+    (synopsis
+     "Executors for asynchronous tasks based on futures-rs")
+    (description
+     "Executors for asynchronous tasks based on the futures-rs
+library.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-futures-io-preview-0.3
   (package
     (name "rust-futures-io-preview")
-- 
2.24.1

From f9538b27e628e689378f3f539d8ba31a0496c7d4 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 10:13:26 -0800
Subject: [PATCH 034/263] gnu: Add rust-futures-select-macro-preview-0.3.

* gnu/packages/crates-io.scm (rust-futures-select-macro-preview-0.3): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index db33392066..732fc2532d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1404,6 +1404,36 @@ library.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-futures-select-macro-preview-0.3
+  (package
+    (name "rust-futures-select-macro-preview")
+    (version "0.3.0-alpha.17")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "futures-select-macro-preview" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1a90ivjzkgz7msiz5si05xzi8xwsk5gar1gkrbmrgqpgkliqd7a6"))))
+    (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-0.4)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-0.15))))
+    (home-page
+     "https://github.com/rust-lang/futures-rs")
+    (synopsis
+     "Handle the first Future to complete")
+    (description
+     "The @code{select!} macro for waiting on multiple different
+@code{Future}s at once and handling the first one to complete.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-futures-sink-preview-0.3
   (package
     (name "rust-futures-sink-preview")
-- 
2.24.1

From 72e6289db81ff0431bd922b52ab46bd159470733 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 10:27:41 -0800
Subject: [PATCH 035/263] gnu: Add rust-proc-macro-hack-0.5.

* gnu/packages/crates-io.scm (rust-proc-macro-hack-0.5): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 732fc2532d..c9864e0615 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3225,6 +3225,38 @@ for x86.")
     (license (list license:asl2.0
                    license:expat))))
 
+;; Cyclic dependencies with rust-demo-hack.
+(define-public rust-proc-macro-hack-0.5
+  (package
+    (name "rust-proc-macro-hack")
+    (version "0.5.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "proc-macro-hack" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1www5lrvsk7pq04clgfmjlnnrshikgs1h51l17vrc7qy58bx878c"))))
+    (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))
+       #: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")
+    (synopsis
+     "Procedural macros in expression position")
+    (description
+     "Procedural macros in expression position.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-proc-macro2-1.0
   (package
     (name "rust-proc-macro2")
-- 
2.24.1

From 407f0ac6b194deffaa712561943a0ecde2d386b3 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 10:28:48 -0800
Subject: [PATCH 036/263] gnu: Add rust-demo-hack-0.0.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c9864e0615..e552f38221 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -895,6 +895,31 @@ hexadecimal, base32, and base64.")
          (base32
           "17giv0n0n1r64z0dahfvkjy3ys517jxyhs8sd9lmgvcljpjyryxa"))))))
 
+(define-public rust-demo-hack-0.0
+  (package
+    (name "rust-demo-hack")
+    (version "0.0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "demo-hack" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0m0114p1g0zzrdph5bg03i8m8p70vrwn3whs191jrbjcrmh5lmnp"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-demo-hack-impl" ,rust-demo-hack-impl-0.0)
+        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))))
+    (home-page
+     "https://github.com/dtolnay/proc-macro-hack")
+    (synopsis "Demo of proc-macro-hack")
+    (description "Demo of proc-macro-hack.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-dirs-1.0
   (package
     (name "rust-dirs")
-- 
2.24.1

From 14fa84f9742640a4ab0897ad5c06dc7e4d47554e Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 10:29:29 -0800
Subject: [PATCH 037/263] gnu: Add rust-demo-hack-impl-0.0.

* gnu/packages/crates-io.scm (rust-demo-hack-impl-0.0): New variable.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e552f38221..91dd959554 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -920,6 +920,32 @@ hexadecimal, base32, and base64.")
     (description "Demo of proc-macro-hack.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-demo-hack-impl-0.0
+  (package
+    (name "rust-demo-hack-impl")
+    (version "0.0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "demo-hack-impl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1f1fdl60xjas9wlmcl9v6f56vgm3mzwr019kcifav5464rx3w3ld"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-0.15))))
+    (home-page
+     "https://github.com/dtolnay/proc-macro-hack")
+    (synopsis "Demo of proc-macro-hack")
+    (description "Demo of proc-macro-hack.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-dirs-1.0
   (package
     (name "rust-dirs")
-- 
2.24.1

From a56df450530951bffb97c0255106924dd3b072af Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 10:57:08 -0800
Subject: [PATCH 038/263] gnu: Add rust-proc-macro-nested-0.1.

* gnu/packages/crates-io.scm (rust-proc-macro-nested-0.1): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 91dd959554..f4e904c47a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3308,6 +3308,29 @@ for x86.")
      "Procedural macros in expression position.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-proc-macro-nested-0.1
+  (package
+    (name "rust-proc-macro-nested")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "proc-macro-nested" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-proc-macro2-1.0
   (package
     (name "rust-proc-macro2")
-- 
2.24.1

From 6dace78ea86e96ab3821fc67f7673a9cdf0812d1 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 11:04:41 -0800
Subject: [PATCH 039/263] gnu: Add rust-bytes-0.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f4e904c47a..6fd29cde14 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -402,6 +402,36 @@ UTF-8.")
 little-endian.")
     (license `(,license:expat ,license:unlicense))))
 
+(define-public rust-bytes-0.4
+  (package
+    (name "rust-bytes")
+    (version "0.4.12")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bytes" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0768a55q2fsqdjsvcv98ndg9dq7w2g44dvq1avhwpxrdzbydyvr0"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-either" ,rust-either-1.5)
+        ("rust-iovec" ,rust-iovec-0.1)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-serde-test" ,rust-serde-test-1.0))))
+    (home-page "https://github.com/tokio-rs/bytes")
+    (synopsis
+     "Types and traits for working with bytes")
+    (description
+     "Types and traits for working with bytes.")
+    (license license:expat)))
+
 (define-public rust-cargon-0.0
   (package
     (name "rust-cargon")
-- 
2.24.1

From f5985e3775e11bb4313f887378066c2b52efc751 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 11:11:00 -0800
Subject: [PATCH 040/263] gnu: Add rust-crossbeam-utils-0.6.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6fd29cde14..3707e542d2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -807,6 +807,34 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
     (description "Criterion's plotting library.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-crossbeam-utils-0.6
+  (package
+    (name "rust-crossbeam-utils")
+    (version "0.6.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "crossbeam-utils" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0p5aa8k3wpsn17md4rx038ac2azm9354knbxdfvn7dd7yk76yc7q"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-lazy-static" ,rust-lazy-static-1.3))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.4))))
+    (home-page
+     "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils")
+    (synopsis "Utilities for concurrent programming")
+    (description
+     "Utilities for concurrent programming.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-csv-core-0.1
   (package
     (name "rust-csv-core")
-- 
2.24.1

From 847d41c13e6968395b7e9576bd5ff4d852496ada Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 11:41:29 -0800
Subject: [PATCH 041/263] gnu: Add rust-mio-0.6.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3707e542d2..45c622b445 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2581,6 +2581,42 @@ streaming API for miniz_oxide.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-mio-0.6
+  (package
+    (name "rust-mio")
+    (version "0.6.19")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "mio" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "08zzs227vrnyz5kvws6awzlgzb8zqpnihs71hkqlw07dlfb1kxc3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-fuchsia-zircon" ,rust-fuchsia-zircon-0.3)
+        ("rust-fuchsia-zircon-sys" ,rust-fuchsia-zircon-sys-0.3)
+        ("rust-iovec" ,rust-iovec-0.1)
+        ("rust-kernel32-sys" ,rust-kernel32-sys-0.2)
+        ("rust-libc" ,rust-libc-0.2.58)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-miow" ,rust-miow-0.2)
+        ("rust-net2" ,rust-net2-0.2)
+        ("rust-slab" ,rust-slab-0.4)
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-bytes" ,rust-bytes-0.4)
+        ("rust-env-logger" ,rust-env-logger-0.6)
+        ("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page "https://github.com/tokio-rs/mio")
+    (synopsis "Lightweight non-blocking IO")
+    (description "Lightweight non-blocking IO.")
+    (license license:expat)))
+
 (define-public rust-miow-0.3
   (package
     (name "rust-miow")
-- 
2.24.1

From de2329141166a2941922078fe2cbf1e674ef475b Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 11:44:50 -0800
Subject: [PATCH 042/263] gnu: Add rust-tokio-io-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 45c622b445..18094a7fdb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5040,6 +5040,36 @@ in Rust.")
     (license (list license:asl2.0
                    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-mock-task-0.1
   (package
     (name "rust-tokio-mock-task")
-- 
2.24.1

From 70d29a16cc63c2ad2d080b8ac38aa7b4e0b33ac4 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 11:49:18 -0800
Subject: [PATCH 043/263] gnu: Add rust-tokio-executor-0.1.

* gnu/packages/crates-io.scm (rust-tokio-executor-0.1): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 18094a7fdb..f7bb18ae08 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5040,6 +5040,33 @@ in Rust.")
     (license (list license:asl2.0
                    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)))
+
 ;; Cyclic dependencies with tokio and tokio-current-thread
 (define-public rust-tokio-io-0.1
   (package
-- 
2.24.1

From 45ec9c43bd9f895012cbf2ca3fae5c3ba2f7c1ed Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 11:52:41 -0800
Subject: [PATCH 044/263] gnu: Add rust-tokio-codec-0.1.

* gnu/packages/crates-io.scm (rust-tokio-codec-0.1): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f7bb18ae08..9651c71b9f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5040,6 +5040,34 @@ in Rust.")
     (license (list license:asl2.0
                    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)))
+
 ;; Cyclic dependency with rust-tokio.
 (define-public rust-tokio-executor-0.1
   (package
-- 
2.24.1

From 0b4ea7c4a3d847b74d92346f4dbc76e9cb649ac9 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 11:59:20 -0800
Subject: [PATCH 046/263] gnu: Add rust-futures-util-preview-0.3.

* gnu/packages/crates-io.scm (rust-futures-util-preview-0.3): New variable.
---
 gnu/packages/crates-io.scm | 41 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 861070f4a8..723ee04876 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1565,6 +1565,47 @@ futures-rs library.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-futures-util-preview-0.3
+  (package
+    (name "rust-futures-util-preview")
+    (version "0.3.0-alpha.17")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "futures-util-preview" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0kizm86wgr5qldyavskfi0r1msg6m4x2pkj0d4r04br2ig29i0dg"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-futures" ,rust-futures-0.1)
+        ("rust-futures-channel-preview" ,rust-futures-channel-preview-0.3)
+        ("rust-futures-core-preview" ,rust-futures-core-preview-0.3)
+        ("rust-futures-io-preview" ,rust-futures-io-preview-0.3)
+        ("rust-futures-select-macro-preview"
+         ,rust-futures-select-macro-preview-0.3)
+        ("rust-futures-sink-preview" ,rust-futures-sink-preview-0.3)
+        ("rust-memchr" ,rust-memchr-2.2)
+        ("rust-pin-utils" ,rust-pin-utils-0.1)
+        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
+        ("rust-proc-macro-nested" ,rust-proc-macro-nested-0.1)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-rand-core" ,rust-rand-core-0.5)
+        ("rust-slab" ,rust-slab-0.4)
+        ("rust-tokio-io" ,rust-tokio-io-0.1))))
+    (home-page
+     "https://github.com/rust-lang/futures-rs")
+    (synopsis
+     "Utilities and extension traits for futures-rs library")
+    (description
+     "Common utilities and extension traits for the futures-rs
+library.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-gcc-0.3
   (package
     (inherit rust-cc-1.0)
-- 
2.24.1

From bdf228f1cff34c509c8010d3611ff988a2aef955 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 11:55:23 -0800
Subject: [PATCH 045/263] gnu: Add rust-tokio-current-thread-0.1.

* gnu/packages/crates-io.scm (rust-tokio-current-thread-0.1): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9651c71b9f..861070f4a8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5068,6 +5068,33 @@ in Rust.")
      "Utilities for encoding and decoding frames.")
     (license license:expat)))
 
+(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
-- 
2.24.1

From 6c241151a9650cd7066f5e2e9441b4fbf30e66c2 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 12:10:43 -0800
Subject: [PATCH 047/263] gnu: Add rust-rand-xoshiro-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 723ee04876..e7f62416bc 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3847,6 +3847,36 @@ useful types and distributions, and some randomness-related algorithms.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-rand-xoshiro-0.3
+  (package
+    (name "rust-rand-xoshiro")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rand_xoshiro" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "07w3qgrac8r356lz5vqff42rly6yd9vs3g5lx5pbn13rcmb05rqb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("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://github.com/rust-random/rand")
+    (synopsis
+     "Xoshiro, xoroshiro and splitmix64 random number generators")
+    (description
+     "Xoshiro, xoroshiro and splitmix64 random number generators.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-rawpointer-0.1
   (package
     (name "rust-rawpointer")
-- 
2.24.1

From 4b54a5d02d8774753314298b7f11b33682e7c226 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 12:14:27 -0800
Subject: [PATCH 048/263] gnu: Add rust-rand-xorshift-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e7f62416bc..2e99b30479 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3847,6 +3847,34 @@ useful types and distributions, and some randomness-related algorithms.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-rand-xorshift-0.2
+  (package
+    (name "rust-rand-xorshift")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rand_xorshift" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1a6wy76lc5fimm1n9n8fzhp4cfjwfwxh4hx63bg3vlh1d2w1dm3p"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #: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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-rand-xoshiro-0.3
   (package
     (name "rust-rand-xoshiro")
-- 
2.24.1

From 67e2129c4a1335b3fdca5050292792e612745c11 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 12:22:58 -0800
Subject: [PATCH 049/263] gnu: Add rust-docopt-1.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2e99b30479..2f5d7820e3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1069,6 +1069,32 @@ from macros.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-docopt-1.1
+  (package
+    (name "rust-docopt")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "docopt" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0s9rcpmnnivs502q69lc1h1wrwapkq09ikgbfbgqf31idmc5llkz"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-regex" ,rust-regex-1.1)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-strsim" ,rust-strsim-0.9))))
+    (home-page "https://github.com/docopt/docopt.rs")
+    (synopsis "Command line argument parsing")
+    (description "Command line argument parsing.")
+    (license `(,license:expat ,license:unlicense))))
+
 (define-public rust-dtoa-0.4
   (package
     (name "rust-dtoa")
-- 
2.24.1

From 9fc0b6d4d207478b2bd3a21365605d9b0fa51254 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 13:03:05 -0800
Subject: [PATCH 050/263] gnu: Add rust-memoffset-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2f5d7820e3..d3d47ce64c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2585,6 +2585,28 @@ file IO.")
          (base32
           "1zy6s0ni0lx9rjzq3gq2zz9r8zgjmbp02332g3gsj4fyhv4s5zz2"))))))
 
+(define-public rust-memoffset-0.2
+  (package
+    (name "rust-memoffset")
+    (version "0.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "memoffset" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1cvm2z7dy138s302ii7wlzcxbka5a8yfl5pl5di7lbdnw9hw578g"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/Gilnaa/memoffset")
+    (synopsis
+     "offset_of functionality for Rust structs")
+    (description
+     "@code{offset_of} functionality for Rust structs.")
+    (license license:expat)))
+
 (define-public rust-mime-0.3
   (package
     (name "rust-mime")
-- 
2.24.1

From 1c176be8ea611f8a58ac742a7da2fa560154c250 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 13:06:38 -0800
Subject: [PATCH 051/263] gnu: Add rust-crossbeam-epoch-0.7.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d3d47ce64c..eda53062b2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -807,6 +807,37 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
     (description "Criterion's plotting library.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-crossbeam-epoch-0.7
+  (package
+    (name "rust-crossbeam-epoch")
+    (version "0.7.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "crossbeam-epoch" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1d408b9x82mdbnb405gw58v5mmdbj2rl28a1h7b9rmn25h8f7j84"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-arrayvec" ,rust-arrayvec-0.4)
+        ("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-memoffset" ,rust-memoffset-0.2)
+        ("rust-scopeguard" ,rust-scopeguard-0.3))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.4))))
+    (home-page
+     "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-epoch")
+    (synopsis "Epoch-based garbage collection")
+    (description "Epoch-based garbage collection.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-crossbeam-utils-0.6
   (package
     (name "rust-crossbeam-utils")
-- 
2.24.1

From b672ba42c2e73e2a2330854bfc17c4e313bdb07f Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 13:33:55 -0800
Subject: [PATCH 052/263] gnu: Add rust-ascii-0.9.

* gnu/packages/crates-io.scm (rust-ascii-0.9): New variables.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index eda53062b2..c7cc0fba5e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -128,6 +128,34 @@ array (it can be stored on the stack too).  Implements fixed capacity
 ArrayVec and ArrayString.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-ascii-0.9
+  (package
+    (name "rust-ascii")
+    (version "0.9.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ascii" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0dck6rsjnxlczyjnncn8hf16bxj42m1vi6s2n32c1jg2ijd9dz55"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("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 @code{char}, @code{str} and @code{String}.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-atty-0.2
   (package
     (name "rust-atty")
-- 
2.24.1

From 50e827db4df18f740df5b5cd23384a25a0435071 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 13:37:42 -0800
Subject: [PATCH 053/263] gnu: Add rust-term-0.5.1.

* gnu/packages/crates-io.scm (rust-term-0.5.1): New variable.
---
 gnu/packages/crates-io.scm | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c7cc0fba5e..c529563812 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5073,6 +5073,22 @@ directories.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-term-0.5.1
+  (package
+    (inherit rust-term-0.4)
+    (version "0.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "term" version))
+       (file-name
+        (string-append (package-name rust-term-0.4) "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0qbmqd8jbjlqr4608qdmvp6yin5ypifzi5s2xyhlw8g8s5ynfssy"))))
+    (arguments `(#:skip-build? #t))
+    (properties '())))
+
 (define-public rust-termcolor-1.0
   (package
     (name "rust-termcolor")
-- 
2.24.1

From f94c37cf6cd73a0944df56fc7cbbe1dca2dc60d0 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 13:40:19 -0800
Subject: [PATCH 054/263] gnu: Add rust-clippy-0.0.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c529563812..6b92576f99 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -694,6 +694,33 @@ colorization.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-clippy-0.0
+  (package
+    (name "rust-clippy")
+    (version "0.0.302")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "clippy" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1562x3sq9mgmc8j39gd34wqm7ybrdvpmj7cc1n450gwsawayw4fr"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-term" ,rust-term-0.5.1))))
+    (home-page
+     "https://github.com/rust-lang/rust-clippy")
+    (synopsis
+     "Lints to avoid common pitfalls in Rust")
+    (description
+     "This package provides a bunch of helpful lints to avoid common
+pitfalls in Rust.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-cloudabi-0.0
   (package
     (name "rust-cloudabi")
-- 
2.24.1

From 697c71c656820eb8bdce53f11c6ae2f1413dde31 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 13:52:11 -0800
Subject: [PATCH 056/263] gnu: Add rust-lock-api-0.2.

* gnu/packages/crates-io.scm (rust-lock-api-0.2): New variable.
---
 gnu/packages/crates-io.scm | 78 ++++++++++++++++++++++++++------------
 1 file changed, 53 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0d347794e3..4be9da642c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2441,35 +2441,34 @@ functions and static variables these libraries contain.")
     (name "rust-libssh2-sys")
     (version "0.2.12")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "libssh2-sys" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32
-          "1zb6gsw795nq848nk5x2smzpfnn1s15wjlzjnvr8ihlz2l5x2549"))))
-    (build-system cargo-build-system)
-    ;(arguments
-    ; `(#:phases
-    ;  (modify-phases %standard-phases
-    ;    (add-after 'unpack 'find-openssl
-    ;      (lambda* (#:key inputs #:allow-other-keys)
-    ;        (let ((openssl (assoc-ref inputs "openssl")))
-    ;          (setenv "OPENSSL_DIR" openssl))
-    ;        (delete-file-recursively "libssh2")
-    ;        (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1")
-    ;        #t)))))
-    ;(native-inputs
-    ; `(("pkg-config" ,pkg-config)))
-    ;(inputs
-    ; `(("libssh2" ,libssh2)
-    ;   ("openssl" ,openssl)
-    ;   ("zlib" ,zlib)))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "libssh2-sys" version))
+       (file-name (string-append name "-" version ".crate"))
+       (sha256
+        (base32
+         "1zb6gsw795nq848nk5x2smzpfnn1s15wjlzjnvr8ihlz2l5x2549"))))
+    (build-system cargo-build-system)
+    ; (arguments
+    ;  `(#:phases
+    ;    (modify-phases %standard-phases
+    ;      (add-after 'unpack 'find-openssl
+    ;        (lambda* (#:key inputs #:allow-other-keys)
+    ;          (let ((openssl (assoc-ref inputs "openssl")))
+    ;            (setenv "OPENSSL_DIR" openssl))
+    ;          (delete-file-recursively "libssh2")
+    ;          (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1")
+    ;          #t)))))
+    ; (native-inputs
+    ;  `(("pkg-config" ,pkg-config)))
+    ; (inputs
+    ;  `(("libssh2" ,libssh2)
+    ;    ("openssl" ,openssl)
+    ;    ("zlib" ,zlib)))
     (home-page "https://github.com/alexcrichton/ssh2-rs")
     (synopsis "Native bindings to the libssh2 library")
     (description
      "This package provides native rust bindings to the @code{libssh2} library.")
-    (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
 
@@ -2496,6 +2495,35 @@ functions and static variables these libraries contain.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-lock-api-0.2
+  (package
+    (name "rust-lock-api")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "lock_api" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1zx7pksmgyggpczgw4qrr4vj2nkdk5lipgiysvr20slm552nv57d"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-owning-ref" ,rust-owning-ref-0.4)
+        ("rust-scopeguard" ,rust-scopeguard-1.0)
+        ("rust-serde" ,rust-serde-1.0))))
+    (home-page
+     "https://github.com/Amanieu/parking_lot")
+    (synopsis
+     "Wrappers to create fully-featured Mutex and RwLock types")
+    (description
+     "Wrappers to create fully-featured Mutex and RwLock types.  Compatible
+with no_std.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-log-0.4
   (package
     (name "rust-log")
-- 
2.24.1

From 3362c22359c358d7aedbb4c7fbc2e13411436797 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 13:44:58 -0800
Subject: [PATCH 055/263] gnu: Add rust-encode-unicode-0.3.

* gnu/packages/crates-io.scm (rust-encode-unicode-0.3): New variable.
---
 gnu/packages/crates-io.scm | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6b92576f99..0d347794e3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -66,12 +66,12 @@ the Rust programming language.")
          (base32
           "16wpvrghvd0353584i1idnsgm0r3vchg8fyrm0x8ayv1rgvbljgf"))))
     (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
     (home-page "https://github.com/ogham/rust-ansi-term")
     (synopsis "Library for ANSI terminal colours and styles")
     (description
      "This is a library for controlling colours and formatting, such as red bold
 text or blue underlined text, on ANSI terminals.")
-    (properties '((hidden? . #t)))
     (license license:expat)))
 
 (define-public rust-antidote-1.0
@@ -1241,6 +1241,35 @@ floating-point primitives to an @code{io::Write}.")
 @code{Right} is a general purpose sum type with two cases.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-encode-unicode-0.3
+  (package
+    (name "rust-encode-unicode")
+    (version "0.3.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "encode_unicode" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1g8a8pixkxz6r927f4sc4r15qyc0szxdxb1732v8q7h0di4wkclh"))))
+    (build-system cargo-build-system)
+    ;; (arguments
+    ;;  `(#:cargo-inputs
+    ;;    (("rust-ascii" ,rust-ascii-0.9)
+    ;;     ("rust-clippy" ,rust-clippy-0.0))
+    ;;    #:cargo-development-inputs
+    ;;    (("rust-lazy-static" ,rust-lazy-static-1.3))))
+    (home-page
+     "https://github.com/tormol/encode_unicode")
+    (synopsis
+     "UTF-8 and UTF-16 support for char, u8 and u16")
+    (description
+     "UTF-8 and UTF-16 character types, iterators and related methods for
+char, u8 and u16.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-env-logger-0.6
   (package
     (name "rust-env-logger")
-- 
2.24.1

From 293917de8b2dfe7fcc5196827909470bd5203e22 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 14:09:35 -0800
Subject: [PATCH 057/263] gnu: Add rust-semver-0.9.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4be9da642c..6007ec1e4a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4609,6 +4609,37 @@ with one of the implemented strategies.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-semver-0.9
+  (package
+    (name "rust-semver")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "semver" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "00q4lkcj0rrgbhviv9sd4p6qmdsipkwkbra7rh11jrhq5kpvjzhx"))))
+    (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")
+    (synopsis
+     "Semantic version parsing and comparison")
+    (description
+     "Semantic version parsing and comparison.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-semver-parser-0.9
   (package
     (name "rust-semver-parser")
-- 
2.24.1

From 5508bdc0834761a1273c9dec37eeb0d08ca704b1 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 14:12:48 -0800
Subject: [PATCH 058/263] gnu: Add rust-rustc-version-0.2.

* gnu/packages/crates-io.scm (rust-rustc-version-0.2): New version.
---
 gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6007ec1e4a..82b2dcef67 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4402,6 +4402,32 @@ rust-lang/rust integration.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-rustc-version-0.2
+  (package
+    (name "rust-rustc-version")
+    (version "0.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustc_version" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "02h3x57lcr8l2pm0a645s9whdh33pn5cnrwvn5cb57vcrc53x3hk"))))
+    (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")
+    (description
+     "This package provides a library for querying the version of a installed
+rustc compiler.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-ryu-1.0
   (package
     (name "rust-ryu")
-- 
2.24.1

From 60a1b2efcd596fb7deb4fd9a2b6d77cc098c3831 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 14:14:51 -0800
Subject: [PATCH 059/263] gnu: Add rust-afl-0.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 82b2dcef67..2ef9365630 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -53,6 +53,37 @@ the Rust programming language.")
     (license (list license:bsd-3
                    license:zlib))))
 
+(define-public rust-afl-0.4
+  (package
+    (name "rust-afl")
+    (version "0.4.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "afl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0g2chc18ji7qxi0d03n2ai140qdcww958v5si6rcjnnhmri1vyfb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cc" ,rust-cc-1.0)
+        ("rust-clap" ,rust-clap-2)
+        ("rust-rustc-version" ,rust-rustc-version-0.2)
+        ("rust-xdg" ,rust-xdg-2.2))
+       #:cargo-development-inputs
+       (("rust-rustc-version" ,rust-rustc-version-0.2)
+        ("rust-xdg" ,rust-xdg-2.2))))
+    (home-page "https://github.com/rust-fuzz/afl.rs")
+    (synopsis
+     "Fuzzing Rust code with american-fuzzy-lop")
+    (description
+     "Fuzz Rust code with american-fuzzy-lop.")
+    (license license:asl2.0)))
+
 (define-public rust-ansi-term-0.11
   (package
     (name "rust-ansi-term")
-- 
2.24.1

From cbfd22208600945be8b1ca850e0356f70d8a497b Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 14:19:59 -0800
Subject: [PATCH 060/263] gnu: Add rust-insta-0.8.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2ef9365630..9d33e0d624 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2109,6 +2109,42 @@ SystemTime}}.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-insta-0.8
+  (package
+    (name "rust-insta")
+    (version "0.8.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "insta" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "17rvqw9xm61prncbqi3cplphr3l2dl85sljdpyr3fz2mqjgbdfwb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-chrono" ,rust-chrono-0.4)
+        ("rust-ci-info" ,rust-ci-info-0.3)
+        ("rust-console" ,rust-console-0.7)
+        ("rust-difference" ,rust-difference-2.0)
+        ("rust-failure" ,rust-failure-0.1)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-pest" ,rust-pest-2.1)
+        ("rust-pest-derive" ,rust-pest-derive-2.1)
+        ("rust-ron" ,rust-ron-0.4)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-serde-yaml" ,rust-serde-yaml-0.8)
+        ("rust-uuid" ,rust-uuid-0.7))))
+    (home-page "https://github.com/mitsuhiko/insta")
+    (synopsis "Snapshot testing library for Rust")
+    (description
+     "This package provides a snapshot testing library for Rust.")
+    (license license:asl2.0)))
+
 (define-public rust-iovec-0.1
   (package
     (name "rust-iovec")
-- 
2.24.1

From 2004e66ef93260a3a58bc2aa4f39ca7113a5305c Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 14:22:23 -0800
Subject: [PATCH 062/263] gnu: Add rust-speculate-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 58bff8b50e..3089e3a388 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4965,6 +4965,35 @@ 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")
-- 
2.24.1

From 1f65d6d9f07bc722f0ce0c7d461916e222e62d2b Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 14:20:56 -0800
Subject: [PATCH 061/263] gnu: Add rust-syn-0.15.

* gnu/packages/crates-io.scm (rust-syn-0.15): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9d33e0d624..58bff8b50e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5171,6 +5171,38 @@ and Jaro-Winkler.")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-syn-0.15
+  (package
+    (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"))))
+    (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-unicode-xid" ,rust-unicode-xid-0.2))
+       #: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))))
+    (home-page "https://github.com/dtolnay/syn")
+    (synopsis "Parser for Rust source code")
+    (description "Parser for Rust source code.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-synstructure-test-traits-0.1
   (package
     (name "rust-synstructure-test-traits")
-- 
2.24.1

From 3d08b750d1004da8c388256de28e39bea60abe74 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 14:24:57 -0800
Subject: [PATCH 063/263] gnu: Add rust-diff-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3089e3a388..8a7fa43dfd 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1121,6 +1121,33 @@ hexadecimal, base32, and base64.")
     (description "Demo of proc-macro-hack.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-diff-0.1
+  (package
+    (name "rust-diff")
+    (version "0.1.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "diff" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0fhavni46a2rib93ig5fgbqmm48ysms5sxzb3h9bp7vp2bwnjarw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-speculate" ,rust-speculate-0.1))))
+    (home-page
+     "https://github.com/utkarshkukreti/diff.rs")
+    (synopsis
+     "LCS based slice and string diffing implementation")
+    (description
+     "An LCS based slice and string diffing implementation.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-dirs-1.0
   (package
     (name "rust-dirs")
-- 
2.24.1

From 61bc123a6c1e03e64b4deadc25f36912f52733ae Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 14:28:38 -0800
Subject: [PATCH 064/263] gnu: Add rust-cpp-demangle-0.2.

* gnu/packages/crates-io.scm (rust-cpp-demangle-0.2): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8a7fa43dfd..39dadd4baa 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1070,6 +1070,36 @@ hexadecimal, base32, and base64.")
          (base32
           "17giv0n0n1r64z0dahfvkjy3ys517jxyhs8sd9lmgvcljpjyryxa"))))))
 
+(define-public rust-cpp-demangle-0.2
+  (package
+    (name "rust-cpp-demangle")
+    (version "0.2.12")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "cpp_demangle" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0a4hqsfc0sfdwy7pcr0rc1fjp2j47fxbkqfc2lfrbi4zlm5hq36k"))))
+    (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))
+       #:cargo-development-inputs
+       (("rust-clap" ,rust-clap-2)
+        ("rust-diff" ,rust-diff-0.1)
+        ("rust-glob" ,rust-glob-0.3))))
+    (home-page
+     "https://github.com/gimli-rs/cpp_demangle")
+    (synopsis "Demangle C++ symbols")
+    (description
+     "This package provides a crate for demangling C++ symbols.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-demo-hack-0.0
   (package
     (name "rust-demo-hack")
-- 
2.24.1

From 0911302829b7b56277e8cdc0a0d76a43cd839c25 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 14:45:16 -0800
Subject: [PATCH 065/263] gnu: Add rust-indexmap-1.0.

* gnu/packages/crates-io.scm (rust-indexmap-1.0): New variable.
---
 gnu/packages/crates-io.scm | 42 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 39dadd4baa..12cbb20ac4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2166,6 +2166,48 @@ SystemTime}}.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-indexmap-1.0
+  (package
+    (name "rust-indexmap")
+    (version "1.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "indexmap" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "13f5k1kl2759y4xfy0vhays35fmrkmhqngbr2ny8smvrbz0ag0by"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-fnv" ,rust-fnv-1.0)
+        ("rust-itertools" ,rust-itertools-0.8)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-serde-test" ,rust-serde-test-1.0))))
+    (home-page "https://github.com/bluss/indexmap")
+    (synopsis
+     "Hash table with consistent order and fast iteration")
+    (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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-insta-0.8
   (package
     (name "rust-insta")
-- 
2.24.1

From 5a435be09a0f91f9615aa74c7c8b548c2ab425fb Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 15:10:07 -0800
Subject: [PATCH 066/263] gnu: Add rust-crossbeam-deque-0.7.

* gnu/packages/crates-io.scm (rust-crossbeam-deque-0.7): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 12cbb20ac4..03261152a9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -893,6 +893,33 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
     (description "Criterion's plotting library.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-crossbeam-deque-0.7
+  (package
+    (name "rust-crossbeam-deque")
+    (version "0.7.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "crossbeam-deque" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0was9x71cz5g1y3670cyy6jdmsdfg6k9mbf0ddz2k1mdd7hx535i"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-crossbeam-epoch" ,rust-crossbeam-epoch-0.7)
+        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.4))))
+    (home-page
+     "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-deque")
+    (synopsis "Concurrent work-stealing deque")
+    (description "Concurrent work-stealing deque.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-crossbeam-epoch-0.7
   (package
     (name "rust-crossbeam-epoch")
-- 
2.24.1

From 0eae74eea1031b4b62eb24d232cf6bc0f0d0577b Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 15:13:29 -0800
Subject: [PATCH 067/263] gnu: Add rust-crossbeam-queue-0.1.

* gnu/packages/crates-io.scm (rust-crossbeam-queue-0.1): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 03261152a9..7853611c06 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -951,6 +951,34 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
     (description "Epoch-based garbage collection.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-crossbeam-queue-0.1
+  (package
+    (name "rust-crossbeam-queue")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "crossbeam-queue" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0jsa9dbxnwqcxfws09vaschf92d4imlbbikmcn4ka8z7rzb9r5vw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.4))))
+    (home-page
+     "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-utils")
+    (synopsis "Concurrent queues")
+    (description "Concurrent queues.")
+    (license `(,license:expat
+               ,license:asl2.0
+               ,license:bsd-2))))
+
 (define-public rust-crossbeam-utils-0.6
   (package
     (name "rust-crossbeam-utils")
-- 
2.24.1

From 5b201e60a67d7becb56ab3d9374f53cf2c293905 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 15:19:18 -0800
Subject: [PATCH 068/263] gnu: Add rust-smallvec-0.6.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7853611c06..5a32316640 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5075,6 +5075,35 @@ data type.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-smallvec-0.6
+  (package
+    (name "rust-smallvec")
+    (version "0.6.10")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "smallvec" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1dyl43rgzny79jjpgzi07y0ly2ggx1xwsn64csxj0j91bsf6lq5b"))))
+    (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))))
+    (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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-socket2-0.3
   (package
     (name "rust-socket2")
-- 
2.24.1

From f910271b93ccff5eb4ee6b938b692120e9e00d8b Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 15:22:14 -0800
Subject: [PATCH 069/263] gnu: Add rust-crossbeam-channel-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5a32316640..8017ffc31c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -893,6 +893,38 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
     (description "Criterion's plotting library.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-crossbeam-channel-0.3
+  (package
+    (name "rust-crossbeam-channel")
+    (version "0.3.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "crossbeam-channel" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0azpymyk0ld4akrjfy69ck5pzfgz1f2gb3smm2ywld92vsjd23hg"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
+        ("rust-smallvec" ,rust-smallvec-0.6))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.4)
+        ("rust-signal-hook" ,rust-signal-hook-0.1))))
+    (home-page
+     "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-channel")
+    (synopsis
+     "Multi-producer multi-consumer channels for message passing")
+    (description
+     "Multi-producer multi-consumer channels for message passing.")
+    (license `(,license:expat
+               ,license:asl2.0
+               ,license:bsd-2))))
+
 (define-public rust-crossbeam-deque-0.7
   (package
     (name "rust-crossbeam-deque")
-- 
2.24.1

From e2198103b104b1f72e8a3fcdee9b1ec059bce299 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 15:25:02 -0800
Subject: [PATCH 070/263] gnu: Add rust-crossbeam-0.7.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8017ffc31c..6481b4c7ca 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -893,6 +893,37 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
     (description "Criterion's plotting library.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-crossbeam-0.7
+  (package
+    (name "rust-crossbeam")
+    (version "0.7.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "crossbeam" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0g5jysq5x4gndc1v5sq9n3f1m97k7qihwdpigw6ar6knj14qm09d"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.3)
+        ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7)
+        ("rust-crossbeam-epoch" ,rust-crossbeam-epoch-0.7)
+        ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.1)
+        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.4))))
+    (home-page
+     "https://github.com/crossbeam-rs/crossbeam")
+    (synopsis "Tools for concurrent programming")
+    (description "Tools for concurrent programming.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-crossbeam-channel-0.3
   (package
     (name "rust-crossbeam-channel")
-- 
2.24.1

From d67eb542d9619abc936b6f75164b64181264a292 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 15:29:41 -0800
Subject: [PATCH 071/263] gnu: Add rust-crc32fast-1.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6481b4c7ca..941d83eb53 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -863,6 +863,36 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-crc32fast-1.2
+  (package
+    (name "rust-crc32fast")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "crc32fast" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1c9dhkvf3brrzzplcijaywxi2w8wv5578i0ryhcm7x8dmzi5s4ms"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1))
+       #:cargo-development-inputs
+       (("rust-bencher" ,rust-bencher-0.1)
+        ("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-rand" ,rust-rand-0.4))))
+    (home-page
+     "https://github.com/srijs/rust-crc32fast")
+    (synopsis
+     "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation")
+    (description
+     "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-criterion-plot-0.3
   (package
     (name "rust-criterion-plot")
-- 
2.24.1

From 3c1016aafa17a984b1a4907f95d8021a868d2e33 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 15:36:17 -0800
Subject: [PATCH 072/263] gnu: Add rust-miniz-oxide-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 941d83eb53..0225392667 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3106,6 +3106,32 @@ streaming API for miniz_oxide.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-miniz-oxide-0.2
+  (package
+    (name "rust-miniz-oxide")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "miniz_oxide" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "17f92krv9hhsyc38prpfyn99m2hqhr4fgszpsla66a6gcrnpbhxn"))))
+    (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 written in Rust")
+    (description
+     "DEFLATE compression and decompression library rewritten in Rust
+based on miniz.")
+    (license license:expat)))
+
 (define-public rust-miniz-sys-0.1
   (package
     (name "rust-miniz-sys")
-- 
2.24.1

From d0344f72fdd308bf9025b36ba156294bf0278349 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 15:52:25 -0800
Subject: [PATCH 074/263] gnu: Add rust-tokio-sync-0.1.

* gnu/packages/crates-io.scm (rust-tokio-sync-0.1): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0e21b5fcd3..c61eaf3395 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5995,6 +5995,35 @@ the current thread.")
     (properties '((hidden? . #t)))
     (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-toml-0.5
   (package
     (name "rust-toml")
-- 
2.24.1

From 8247fb771aefebf04e92c8fdae7c30c7846ee767 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 15:39:58 -0800
Subject: [PATCH 073/263] gnu: Add rust-miniz-oxide-c-api-0.2.

* gnu/package/crates-io.scm (rust-miniz-oxide-c-api-0.2): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0225392667..0e21b5fcd3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3132,6 +3132,37 @@ streaming API for miniz_oxide.")
 based on miniz.")
     (license license:expat)))
 
+(define-public rust-miniz-oxide-c-api-0.2
+  (package
+    (name "rust-miniz-oxide-c-api")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "miniz_oxide_c_api" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1514mvlj8vl723xqxnww5cfqr2mhnqqqf18fn3df17yx8racly2v"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-crc32fast" ,rust-crc32fast-1.2)
+        ("rust-libc" ,rust-libc-0.2.58)
+        ("rust-miniz-oxide" ,rust-miniz-oxide-0.2))
+       #:cargo-development-inputs
+       (("rust-cc" ,rust-cc-1.0))))
+    (home-page
+     "https://github.com/Frommi/miniz_oxide/")
+    (synopsis
+     "DEFLATE compression and decompression API")
+    (description
+     "DEFLATE compression and decompression API designed to be Rust
+drop-in replacement for miniz.")
+    (license license:expat)))
+
 (define-public rust-miniz-sys-0.1
   (package
     (name "rust-miniz-sys")
-- 
2.24.1

From 4b75d6e068a9014cf0f10e1ecafdab1e2f383cf2 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 16:24:00 -0800
Subject: [PATCH 075/263] gnu: Add rust-tokio-reactor-0.1.

* gnu/packages/crates-io.scm (rust-tokio-reactor-0.1): New variable.
---
 gnu/packages/crates-io.scm | 39 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c61eaf3395..b1e25426c0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5995,6 +5995,45 @@ the current thread.")
     (properties '((hidden? . #t)))
     (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.3)
+        ("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-sync-0.1
   (package
     (name "rust-tokio-sync")
-- 
2.24.1

From f0cd8f9b5a310096e63c6654fa7b8dc3f2fc85aa Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 16:32:33 -0800
Subject: [PATCH 076/263] gnu: Add rust-tokio-tcp-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b1e25426c0..887eb1f942 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6063,6 +6063,37 @@ the current thread.")
     (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-toml-0.5
   (package
     (name "rust-toml")
-- 
2.24.1

From b093ac9bdd08a534983f3d82a15c89f53bb58955 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 16:38:56 -0800
Subject: [PATCH 077/263] gnu: Add rust-tokio-threadpool-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 887eb1f942..677d75df8b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6094,6 +6094,44 @@ the current thread.")
     (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-toml-0.5
   (package
     (name "rust-toml")
-- 
2.24.1

From 0115cc2dc4aed91b449e6a12b5e13cc6c16aa86d Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 16:42:14 -0800
Subject: [PATCH 078/263] gnu: Add rust-flate2-1.0.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 677d75df8b..c426df4364 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1627,6 +1627,47 @@ cross platform API.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-flate2-1.0
+  (package
+    (name "rust-flate2")
+    (version "1.0.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "flate2" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1n639gc7sbmrkir6pif608xqpwcv60kigmp5cn9x7m8892nk82am"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-crc32fast" ,rust-crc32fast-1.2)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-libc" ,rust-libc-0.2.58)
+        ("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-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-tokio-io" ,rust-tokio-io-0.1)
+        ("rust-tokio-tcp" ,rust-tokio-tcp-0.1)
+        ("rust-tokio-threadpool" ,rust-tokio-threadpool-0.1))))
+    (home-page
+     "https://github.com/alexcrichton/flate2-rs")
+    (synopsis
+     "Bindings to miniz.c for DEFLATE compression and decompression")
+    (description
+     "Bindings to miniz.c for DEFLATE compression and decompression exposed as
+Reader/Writer streams.  Contains bindings for zlib, deflate, and gzip-based
+streams.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-fnv-1.0
   (package
     (name "rust-fnv")
-- 
2.24.1

From 518f7d632609a3b76ba02424ea02e397474fb9fa Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 16:46:04 -0800
Subject: [PATCH 079/263] gnu: Add rust-stdweb-derive-0.5.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c426df4364..0db9105013 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5457,6 +5457,34 @@ are met.")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-stdweb-derive-0.5
+  (package
+    (name "rust-stdweb-derive")
+    (version "0.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "stdweb-derive" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0c1rxx6rqcc4iic5hx320ki3vshpi8k58m5600iqzq4x2zcyn88f"))))
+    (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-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-syn" ,rust-syn-0.15))))
+    (home-page "https://github.com/koute/stdweb")
+    (synopsis "Derive macros for the stdweb crate")
+    (description
+     "Derive macros for the @code{stdweb} crate.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-stdweb-internal-runtime-0.1
   (package
     (name "rust-stdweb-internal-runtime")
-- 
2.24.1

From b6b2e4c7554caf81de5c0e4d6c10a1bf8d6bc340 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 16:55:35 -0800
Subject: [PATCH 081/263] gnu: Add rust-foreign-types-macros-0.1.

* gnu/packages/crates-io.scm (rust-foreign-types-macros-0.1): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8255c40663..bc4937ed59 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1689,6 +1689,34 @@ implementation that is more efficient for smaller hash keys.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-foreign-types-macros-0.1
+  (package
+    (name "rust-foreign-types-macros")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "foreign-types-macros" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "16yjigjcsklcwy2ad32l24k1nwm9n3bsnyhxc3z9whjbsrj60qk6"))))
+    (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))))
+    (home-page
+     "https://github.com/sfackler/foreign-types")
+    (synopsis
+     "An internal crate used by foreign-types")
+    (description
+     "An internal crate used by foreign-types.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-foreign-types-shared-0.2
   (package
     (name "rust-foreign-types-shared")
-- 
2.24.1

From 9cd2347bedd3876b81052276121e3d215a7359d6 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 16:52:22 -0800
Subject: [PATCH 080/263] gnu: Add rust-foreign-types-shared-0.1.

* gnu/packages/crates-io.scm (rust-foreign-types-shared-0.1): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0db9105013..8255c40663 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1710,6 +1710,29 @@ implementation that is more efficient for smaller hash keys.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-foreign-types-shared-0.1
+  (package
+    (name "rust-foreign-types-shared")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "foreign-types-shared" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0jxgzd04ra4imjv8jgkmdq59kj8fsz6w4zxsbmlai34h26225c00"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page
+     "https://github.com/sfackler/foreign-types")
+    (synopsis
+     "An internal crate used by foreign-types")
+    (description
+     "An internal crate used by foreign-types.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-fs-extra-1.1
   (package
     (name "rust-fs-extra")
-- 
2.24.1

From 5989a5ea538ef4ed53cc69ab50e583f5e21ee982 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 16:59:46 -0800
Subject: [PATCH 082/263] gnu: Add rust-foreign-types-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bc4937ed59..192d22414d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1689,6 +1689,34 @@ implementation that is more efficient for smaller hash keys.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-foreign-types-0.3
+  (package
+    (name "rust-foreign-types")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "foreign-types" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1cgk0vyd7r45cj769jym4a6s7vwshvd0z4bqrb92q1fwibmkkwzn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-foreign-types-macros" ,rust-foreign-types-macros-0.1)
+        ("rust-foreign-types-shared" ,rust-foreign-types-shared-0.1))))
+    (home-page
+     "https://github.com/sfackler/foreign-types")
+    (synopsis
+     "Framework for Rust wrappers over C APIs")
+    (description
+     "This package provides a framework for Rust wrappers over C
+APIs.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-foreign-types-macros-0.1
   (package
     (name "rust-foreign-types-macros")
-- 
2.24.1

From fe6b313494f605b5acdbae1e35d7b5202a08d182 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 17:10:56 -0800
Subject: [PATCH 083/263] gnu: Add rust-openssl-0.10.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 192d22414d..74786c2417 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3737,6 +3737,38 @@ system for OpenSSL.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-openssl-0.10
+  (package
+    (name "rust-openssl")
+    (version "0.10.26")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "openssl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "11d505lwlrh5a0jc2l6q36gvsaqic3vizq5q860hiqcqkmwwag1s"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-foreign-types" ,rust-foreign-types-0.3)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-libc" ,rust-libc-0.2.58)
+        ("rust-openssl-sys" ,rust-openssl-sys-0.9))
+       #:cargo-development-inputs
+       (("rust-hex" ,rust-hex-0.3)
+        ("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page
+     "https://github.com/sfackler/rust-openssl")
+    (synopsis "OpenSSL bindings")
+    (description "OpenSSL bindings.")
+    (license license:asl2.0)))
+
 (define-public rust-openssl-sys-0.9
   (package
     (name "rust-openssl-sys")
-- 
2.24.1

From 33d4998fc8e183f60d3d0103401f87dee4d18bad Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 17:13:52 -0800
Subject: [PATCH 084/263] gnu: Add rust-sha1-0.6.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 74786c2417..a37b68c103 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5336,6 +5336,36 @@ with one of the implemented strategies.")
      "Token De/Serializer for testing De/Serialize implementations.")
     (license `(,license:expat ,license:asl2.0))))
 
+(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-shlex-0.1
   (package
     (name "rust-shlex")
-- 
2.24.1

From a4a5fd66d2374729663259fcbd558573c0aaf18f Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 17:15:14 -0800
Subject: [PATCH 085/263] gnu: Add rust-stdweb-internal-macros-0.2.

* gnu/packages/crates-io.scm (rust-stdweb-internal-macros-0.2): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a37b68c103..e625509941 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5626,6 +5626,38 @@ are met.")
      "Derive macros for the @code{stdweb} crate.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-stdweb-internal-macros-0.2
+  (package
+    (name "rust-stdweb-internal-macros")
+    (version "0.2.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "stdweb-internal-macros" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1yjrmkc6sb1035avic383pa3avk2s9k3n17yjcza8yb9nw47v3z6"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-base-x" ,rust-base-x-0.2)
+        ("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("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-0.15))))
+    (home-page "https://github.com/koute/stdweb")
+    (synopsis
+     "Internal procedural macros for the stdweb crate")
+    (description
+     "Internal procedural macros for the stdweb crate.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-stdweb-internal-runtime-0.1
   (package
     (name "rust-stdweb-internal-runtime")
-- 
2.24.1

From f381580c30e5b2266cb8d9b2c3628ff10b2f7bb7 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 17:25:07 -0800
Subject: [PATCH 086/263] gnu: Add rust-rayon-core-1.5.

* gnu/packages/crates-io.scm (rust-rayon-core-1.5): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e625509941..6befba52c6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4641,6 +4641,38 @@ and @code{ptrdistance}.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-rayon-core-1.5
+  (package
+    (name "rust-rayon-core")
+    (version "1.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rayon-core" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ljva6blaf1wmzvg77h1i9pd0hsmsbbcmdk7sjbw7h2s8gw0vgpb"))))
+    (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.3)
+        ("rust-num-cpus" ,rust-num-cpus-1.10))
+       #:cargo-development-inputs
+       (("rust-libc" ,rust-libc-0.2.58)
+        ("rust-rand" ,rust-rand-0.4)
+        ("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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-rdrand-0.4
   (package
     (name "rust-rdrand")
-- 
2.24.1

From ec4cadc386a291a0b52410417e52245a8befcb92 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 17:29:31 -0800
Subject: [PATCH 087/263] gnu: Add rust-rayon-1.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6befba52c6..c77873789f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4641,6 +4641,41 @@ and @code{ptrdistance}.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-rayon-1.1
+  (package
+    (name "rust-rayon")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rayon" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "190hkbcdfvcphyyzkdg52zdia2y9d9yanpm072bmnzbn49p1ic54"))))
+    (build-system cargo-build-system)
+    (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.3)
+        ("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))))
+    (home-page "https://github.com/rayon-rs/rayon")
+    (synopsis
+     "Simple work-stealing parallelism for Rust")
+    (description
+     "Simple work-stealing parallelism for Rust.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-rayon-core-1.5
   (package
     (name "rust-rayon-core")
-- 
2.24.1

From 2d1ed73e3ce32292b388b20752196d53f7431252 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 17:31:06 -0800
Subject: [PATCH 088/263] gnu: Add rust-csv-1.1.

* gnu/packages/crates-io.scm (rust-csv-1.1): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c77873789f..14c6555ff4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1100,6 +1100,38 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
      "Utilities for concurrent programming.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-csv-1.1
+  (package
+    (name "rust-csv")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "csv" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0qxvzq030hi915dszazv6a7f0apzzi7gn193ni0g2lzkawjxck55"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bstr" ,rust-bstr-0.2)
+        ("rust-csv-core" ,rust-csv-core-0.1)
+        ("rust-itoa" ,rust-itoa-0.4)
+        ("rust-ryu" ,rust-ryu-1.0)
+        ("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-serde" ,rust-serde-1.0))))
+    (home-page
+     "https://github.com/BurntSushi/rust-csv")
+    (synopsis
+     "Fast CSV parsing with support for serde")
+    (description
+     "Fast CSV parsing with support for serde.")
+    (license `(,license:unlicense ,license:expat))))
+
 (define-public rust-csv-core-0.1
   (package
     (name "rust-csv-core")
-- 
2.24.1

From 0a9e8be1ccff4e341dd6fe5d4d6b15649cf77108 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 17:35:40 -0800
Subject: [PATCH 090/263] gnu: Add rust-approx-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 836c490c50..b994d691e5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -127,6 +127,33 @@ text or blue underlined text, on ANSI terminals.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-approx-0.3
+  (package
+    (name "rust-approx")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "approx" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1hx580xjdxl3766js9b49rnbnmr8gw8c060809l43k9f0xshprph"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-num-complex" ,rust-num-complex-0.2)
+        ("rust-num-traits" ,rust-num-traits-0.2))))
+    (home-page
+     "https://github.com/brendanzab/approx")
+    (synopsis
+     "Approximate floating point equality comparisons and assertions")
+    (description
+     "Approximate floating point equality comparisons and assertions.")
+    (license license:asl2.0)))
+
 (define-public rust-arrayvec-0.4
   (package
     (name "rust-arrayvec")
-- 
2.24.1

From 79461c5f1ce03ed05187b5a072fc06e9339ccc5e Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 17:38:47 -0800
Subject: [PATCH 091/263] gnu: Add rust-criterion-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b994d691e5..8442d3eec2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -920,6 +920,55 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
      "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-criterion-0.2
+  (package
+    (name "rust-criterion")
+    (version "0.2.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "criterion" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1543wlpc4p1kz7sqqa7ylr8bkdr8l4f34hy4bxj7krpkahwhaqq3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-atty" ,rust-atty-0.2)
+        ("rust-cast" ,rust-cast-0.2)
+        ("rust-clap" ,rust-clap-2)
+        ("rust-criterion-plot" ,rust-criterion-plot-0.3)
+        ("rust-csv" ,rust-csv-1.1)
+        ("rust-itertools" ,rust-itertools-0.8)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-libc" ,rust-libc-0.2.58)
+        ("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-rayon-core" ,rust-rayon-core-1.5)
+        ("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))
+       #:cargo-development-inputs
+       (("rust-approx" ,rust-approx-0.3)
+        ("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page
+     "https://bheisler.github.io/criterion.rs/book/index.html")
+    (synopsis
+     "Statistics-driven micro-benchmarking library")
+    (description
+     "Statistics-driven micro-benchmarking library.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-criterion-plot-0.3
   (package
     (name "rust-criterion-plot")
-- 
2.24.1

From d69c685f246ab436935f9251000357bdf74279c7 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 17:33:58 -0800
Subject: [PATCH 089/263] gnu: Add rust-tinytemplate-1.0.

* gnu/packages/crates-io.scm (rust-tinytemplate-1.0): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 14c6555ff4..836c490c50 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6205,6 +6205,35 @@ 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 `(,license:asl2.0 ,license:expat))))
+
 ;; Cyclic dependency with tokio-io
 (define-public rust-tokio-codec-0.1
   (package
-- 
2.24.1

From 0517d323634c559e5a6aff90c4ccc61d4cace311 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 17:40:57 -0800
Subject: [PATCH 092/263] gnu: Add rust-bumpalo-2.5.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8442d3eec2..5cea40d9e0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -459,6 +459,32 @@ UTF-8.")
 UTF-8.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-bumpalo-2.5
+  (package
+    (name "rust-bumpalo")
+    (version "2.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bumpalo" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "018b5calz3895v04shk9bn7i73r4zf8yf7p1dqg92s3xya13vm1c"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.2)
+        ("rust-quickcheck" ,rust-quickcheck-0.8))))
+    (home-page "https://github.com/fitzgen/bumpalo")
+    (synopsis
+     "Fast bump allocation arena for Rust")
+    (description
+     "This package provides a fast bump allocation arena for Rust.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-byteorder-1.3
   (package
     (name "rust-byteorder")
-- 
2.24.1

From c68f51dbfae7c1ebafd4a0ed417d2a884be3d641 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 17:41:51 -0800
Subject: [PATCH 093/263] gnu: Add rust-wasm-bindgen-backend-0.2.

* gnu/packages/crates-io.scm (rust-wasm-bindgen-backend-0.2): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5cea40d9e0..5fde2bc4b5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7144,6 +7144,38 @@ in Rust.")
     (properties '((hidden? . #t)))
     (license license:asl2.0)))
 
+(define-public rust-wasm-bindgen-backend-0.2
+  (package
+    (name "rust-wasm-bindgen-backend")
+    (version "0.2.48")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-backend" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1qxqkbjkjg4pphhcr91nk95c0gizx77dyq24mmijqnwzxxqc30jx"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bumpalo" ,rust-bumpalo-2.5)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-0.15)
+        ("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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-wasm-bindgen-shared-0.2
   (package
     (name "rust-wasm-bindgen-shared")
-- 
2.24.1

From db38d272b7cde63f5856e29f7eebc4d8803f8efe Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 17:45:51 -0800
Subject: [PATCH 094/263] gnu: Add rust-base64-0.10.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5fde2bc4b5..740de2fcb9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -297,6 +297,35 @@ support.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-base64-0.10
+  (package
+    (name "rust-base64")
+    (version "0.10.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "base64" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "13k6bvd3n6dm7jqn9x918w65dd9xhx454bqphbnv0bkd6n9dj98b"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.2)
+        ("rust-rand" ,rust-rand-0.4))))
+    (home-page
+     "https://github.com/marshallpierce/rust-base64")
+    (synopsis
+     "Encodes and decodes base64 as bytes or utf8")
+    (description
+     "Encodes and decodes base64 as bytes or utf8.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-bencher-0.1
   (package
     (name "rust-bencher")
-- 
2.24.1

From d99ba8b063734e59ec40746c92aa3418a9a57f37 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 17:54:51 -0800
Subject: [PATCH 096/263] gnu: Add rust-trybuild-1.0.

* gnu/packages/crates-io.scm (rust-trybuild-1.0): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9c550d3b5f..1d4923fe21 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6738,6 +6738,36 @@ serializing Rust structures.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-trybuild-1.0
+  (package
+    (name "rust-trybuild")
+    (version "1.0.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "trybuild" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0df6ipayif05xn61iavdb0dcshm9y6wmcd140pp7dl91mirygs7j"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-glob" ,rust-glob-0.3)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-typeable-0.1
   (package
     (name "rust-typeable")
-- 
2.24.1

From 8bf66d511229757d0aa21d9e1c8c0534250a4b9b Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 17:50:26 -0800
Subject: [PATCH 095/263] gnu: Add rust-wasm-bindgen-macro-support-0.2.

* gnu/packages/crates-io.scm (rust-wasm-bindgen-macro-support-0.2): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 740de2fcb9..9c550d3b5f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7205,6 +7205,37 @@ in Rust.")
      "Backend code generation of the wasm-bindgen tool.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-wasm-bindgen-macro-support-0.2
+  (package
+    (name "rust-wasm-bindgen-macro-support")
+    (version "0.2.48")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-macro-support" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1mxi6rj11k67sks88pfqiqylnijxmb1s0gcgpj8mzfj5gvkqzkwm"))))
+    (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-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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-wasm-bindgen-shared-0.2
   (package
     (name "rust-wasm-bindgen-shared")
-- 
2.24.1

From b121407f9576731225a9705d77e2010fb3864bac Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 17:57:29 -0800
Subject: [PATCH 097/263] gnu: Add rust-wasm-bindgen-0.2.

* gnu/packages/crates-io.scm (rust-wasm-bindgen-0.2): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1d4923fe21..7a25dffb0b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7203,6 +7203,34 @@ in Rust.")
     (properties '((hidden? . #t)))
     (license license:asl2.0)))
 
+(define-public rust-wasm-bindgen-0.2
+  (package
+    (name "rust-wasm-bindgen")
+    (version "0.2.47")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0xsqz39v8nnlmiflybjpy7hvjdhmdb01j3zi0p5p6135rjc9j0i2"))))
+    (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)
+        ("rust-wasm-bindgen-macro"
+         ,rust-wasm-bindgen-macro-0.2))))
+    (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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-wasm-bindgen-backend-0.2
   (package
     (name "rust-wasm-bindgen-backend")
-- 
2.24.1

From 7a4f54417f6e00632042edfb1eb03d7e15b712ac Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:04:31 -0800
Subject: [PATCH 098/263] gnu: Add rust-console-error-panic-hook-0.1.

* gnu/packages/crates-io.scm (rust-console-error-panic-hook-0.1): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7a25dffb0b..3c4cac739a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -902,6 +902,33 @@ need compiler-rt intrinsics.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-console-error-panic-hook-0.1
+  (package
+    (name "rust-console-error-panic-hook")
+    (version "0.1.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "console_error_panic_hook" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "04d2narcrzk9bnddz17rr2l819l82pr0h6d98s2w9q236n87dndq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
+    (home-page
+     "https://github.com/rustwasm/console_error_panic_hook")
+    (synopsis
+     "Logs panics to console.error")
+    (description
+     "This package provides a panic hook for @code{wasm32-unknown-unknown}
+that logs panics to @code{console.error}.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-constant-time-eq-0.1
   (package
     (name "rust-constant-time-eq")
-- 
2.24.1

From b715a3556719481f9842bdabea4bec22672e7255 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:06:55 -0800
Subject: [PATCH 099/263] gnu: Add rust-wasm-bindgen-futures-0.3.

* gnu/packages/crates-io.scm (rust-wasm-bindgen-futures-0.3): New variable.
---
 gnu/packages/crates-io.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3c4cac739a..4bdf3a7a39 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7290,6 +7290,40 @@ in Rust.")
      "Backend code generation of the wasm-bindgen tool.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-wasm-bindgen-futures-0.3
+  (package
+    (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"))))
+    (build-system cargo-build-system)
+    (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.3)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
+       #:cargo-development-inputs
+       (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))
+    (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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-wasm-bindgen-macro-support-0.2
   (package
     (name "rust-wasm-bindgen-macro-support")
-- 
2.24.1

From c6c89b31ed66e53581912a673e7fd398b60139cf Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:12:58 -0800
Subject: [PATCH 101/263] gnu: Add rust-wasm-bindgen-test-0.2.

* gnu/packages/crates-io.scm (rust-wasm-bindgen-test-0.2): New variable.
---
 gnu/packages/crates-io.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3eeb582674..dd0310bb84 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7409,6 +7409,39 @@ attribute that is not in the shared backend crate.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-wasm-bindgen-test-0.2
+  (package
+    (name "rust-wasm-bindgen-test")
+    (version "0.2.47")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-test" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1w699jyhi3njdccbqsfdz5dq68fqwsm38xlw2dm2hgd3hvvfzk3x"))))
+    (build-system cargo-build-system)
+    (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))))
+    (home-page
+     "https://github.com/rustwasm/wasm-bindgen")
+    (synopsis
+     "Internal testing crate for wasm-bindgen")
+    (description
+     "Internal testing crate for wasm-bindgen.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-wasm-bindgen-test-macro-0.2
   (package
     (name "rust-wasm-bindgen-test-macro")
-- 
2.24.1

From 33ec6e4cd5211b332558c5ae7678259189031499 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:10:35 -0800
Subject: [PATCH 100/263] gnu: Add rust-js-sys-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4bdf3a7a39..3eeb582674 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2818,6 +2818,39 @@ primitives to an @code{io::Write}.")
         (base32
          "18g7p2hrb3dk84z3frfgmszfc9hjb4ps9vp99qlb1kmf9gm8hc5f"))))))
 
+(define-public rust-js-sys-0.3
+  (package
+    (name "rust-js-sys")
+    (version "0.3.24")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "js-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "045fgafggkjdfg4f33vb87silyl9xpbifrhx1ciqi4wvm90nzhga"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))
+       #:cargo-development-inputs
+       (("rust-futures" ,rust-futures-0.1)
+        ("rust-wasm-bindgen-futures"
+         ,rust-wasm-bindgen-futures-0.3)
+        ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))
+    (home-page
+     "https://rustwasm.github.io/wasm-bindgen/")
+    (synopsis
+     "Bindings for all JS global objects and functions in WASM")
+    (description
+     "Bindings for all JS global objects and functions in all JS environments
+like Node.js and browsers, built on @code{#[wasm_bindgen]} using the
+wasm-bindgen crate.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-jemalloc-sys-0.3
   (package
     (name "rust-jemalloc-sys")
-- 
2.24.1

From 129fae836ae6c3b70556592f1d9068ca99387e43 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:17:18 -0800
Subject: [PATCH 102/263] gnu: Add rust-core-arch-0.1.

* gnu/packages/crates-io.scm (rust-core-arch-0.1): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index dd0310bb84..4b2c9128b8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -951,6 +951,33 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
     (properties '((hidden? . #t)))
     (license license:cc0)))
 
+(define-public rust-core-arch-0.1
+  (package
+    (name "rust-core-arch")
+    (version "0.1.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "core_arch" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "04vdvr9vj0f1cv2p54nsszmrrk9w1js4c0z4i0bdlajl1lydslim"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2))))
+    (home-page
+     "https://github.com/rust-lang/stdarch")
+    (synopsis
+     "Rust's core library architecture-specific intrinsics")
+    (description
+     "@code{core::arch} - Rust's core library architecture-specific
+intrinsics.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-core-foundation-sys-0.6
   (package
     (name "rust-core-foundation-sys")
-- 
2.24.1

From b8ab40faa78285c29afa66b8dba8cb4c9c2e0bd1 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:24:01 -0800
Subject: [PATCH 104/263] gnu: Add rust-ci-info-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4526fcb390..73a29afded 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -720,6 +720,33 @@ depending on a large number of #[cfg] parameters.  Structured like an
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-ci-info-0.3
+  (package
+    (name "rust-ci-info")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ci-info" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "00pr17g6q6i752acrkycg0hkq3lm0p634anm41g3m6lqg8q83s75"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0))))
+    (home-page
+     "https://github.com/sagiegurari/ci_info")
+    (synopsis
+     "Provides current CI environment information")
+    (description
+     "This package provides current CI environment information.")
+    (license license:asl2.0)))
+
 (define-public rust-clang-sys-0.28
   (package
     (name "rust-clang-sys")
-- 
2.24.1

From af2cbbc2770c9d32ddcff17564ebb6aed296ad25 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:30:48 -0800
Subject: [PATCH 105/263] gnu: Add rust-scroll-derive-0.9.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 73a29afded..59b2d5640d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5507,6 +5507,37 @@ with one of the implemented strategies.")
          (base32
           "09sy9wbqp409pkwmqni40qmwa99ldqpl48pp95m1xw8sc19qy9cl"))))))
 
+(define-public rust-scroll-derive-0.9
+  (package
+    (name "rust-scroll-derive")
+    (version "0.9.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "scroll_derive" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1jqg5mm8nvii6avl1z1rc89agzh2kwkppgpsnwfakxg78mnaj6lg"))))
+    (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))
+       #: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-security-framework-sys-0.3
   (package
     (name "rust-security-framework-sys")
-- 
2.24.1

From 3ad98ee4de413fbedb46637520736c88942ca949 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:32:17 -0800
Subject: [PATCH 106/263] gnu: Add rust-scroll-0.9.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 59b2d5640d..a139c2ebff 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5507,6 +5507,36 @@ with one of the implemented strategies.")
          (base32
           "09sy9wbqp409pkwmqni40qmwa99ldqpl48pp95m1xw8sc19qy9cl"))))))
 
+(define-public rust-scroll-0.9
+  (package
+    (name "rust-scroll")
+    (version "0.9.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "scroll" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "10q3w86bn22xrjlfg1c90dfi9c26qjkzn26nad0i9z8pxwad311g"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-scroll-derive" ,rust-scroll-derive-0.9))
+       #:cargo-development-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-rayon" ,rust-rayon-1.1)
+        ("rust-rustc-version" ,rust-rustc-version-0.2))))
+    (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.9
   (package
     (name "rust-scroll-derive")
-- 
2.24.1

From 24f1c03e4414ca497906b4f6ba7f8e5606a382e6 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:20:14 -0800
Subject: [PATCH 103/263] gnu: Add rust-envmnt-0.6.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4b2c9128b8..4526fcb390 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1754,6 +1754,32 @@ char, u8 and u16.")
 is configured via an environment variable.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-envmnt-0.6
+  (package
+    (name "rust-envmnt")
+    (version "0.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "envmnt" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "12zkq3p999bypyxmjnpiqw9r3hmifb3bcikd7j3as1fdcbq01fyl"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-indexmap" ,rust-indexmap-1.0))))
+    (home-page
+     "https://github.com/sagiegurari/envmnt")
+    (synopsis
+     "Environment variables utility functions")
+    (description
+     "Environment variables utility functions.")
+    (license license:asl2.0)))
+
 (define-public rust-fallible-iterator-0.2
   (package
     (name "rust-fallible-iterator")
-- 
2.24.1

From 291cd7066e807c5f858f9b43b1810b417e5cc612 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:34:39 -0800
Subject: [PATCH 107/263] gnu: Add rust-goblin-0.0.

* gnu/packages/crates-io.scm (rust-goblin-0.0): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a139c2ebff..4f453d6bb8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2487,6 +2487,34 @@ the process of matching one or more glob patterns against a single candidate
 path simultaneously, and returning all of the globs that matched.")
     (license `(,license:expat ,license:unlicense))))
 
+(define-public rust-goblin-0.0
+  (package
+    (name "rust-goblin")
+    (version "0.0.23")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "goblin" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1g92bl76dgc3v3rins61l811pkwsl3jif1x35h2jx33b7dsv8mmc"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-log" ,rust-log-0.4)
+        ("rust-plain" ,rust-plain-0.2)
+        ("rust-scroll" ,rust-scroll-0.9))))
+    (home-page "https://github.com/m4b/goblin")
+    (synopsis
+     "Binary parsing and loading")
+    (description
+     "An impish, cross-platform, ELF, Mach-o, and PE binary parsing and
+loading crate.")
+    (license license:expat)))
+
 (define-public rust-grep-cli-0.1
   (package
     (name "rust-grep-cli")
-- 
2.24.1

From f22a3aa39ef0cf316a3dabc008a5166f322f92ab Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:38:09 -0800
Subject: [PATCH 108/263] gnu: Add rust-test-assembler-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4f453d6bb8..b01596137f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6456,6 +6456,33 @@ return values to @code{std::io::Result} to indicate success or failure.")
     (properties '((hidden? . #t)))
     (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-textwrap-0.11
   (package
     (name "rust-textwrap")
-- 
2.24.1

From 109c009175f41972fa992271f5c64ffeed4ed2b6 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:39:54 -0800
Subject: [PATCH 109/263] gnu: Add rust-typed-arena-1.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b01596137f..e83ecbb612 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7043,6 +7043,29 @@ serializing Rust structures.")
     (properties '((hidden? . #t)))
     (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")
-- 
2.24.1

From 90ea22d7896ccf2962fdcf95208740db3d73606b Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:42:22 -0800
Subject: [PATCH 110/263] gnu: Add rust-gimli-0.18.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e83ecbb612..288aa21204 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2417,6 +2417,46 @@ archive to be linked into Rustcode.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-gimli-0.18
+  (package
+    (name "rust-gimli")
+    (version "0.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "gimli" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ma1zg2klqr47rasm7jn3zzd1j1pj2a8wkfbv5zsx10qh43phy4k"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-arrayvec" ,rust-arrayvec-0.4)
+        ("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-fallible-iterator" ,rust-fallible-iterator-0.2)
+        ("rust-indexmap" ,rust-indexmap-1.0)
+        ("rust-stable-deref-trait" ,rust-stable-deref-trait-1.1))
+       #:cargo-development-inputs
+       (("rust-crossbeam" ,rust-crossbeam-0.7)
+        ("rust-getopts" ,rust-getopts-0.2)
+        ("rust-memmap" ,rust-memmap-0.7)
+        ("rust-num-cpus" ,rust-num-cpus-1.10)
+        ("rust-object" ,rust-object-0.12)
+        ("rust-rayon" ,rust-rayon-1.1)
+        ("rust-regex" ,rust-regex-1.1)
+        ("rust-test-assembler" ,rust-test-assembler-0.1)
+        ("rust-typed-arena" ,rust-typed-arena-1.4))))
+    (home-page "https://github.com/gimli-rs/gimli")
+    (synopsis
+     "Reading and writing the DWARF debugging format")
+    (description
+     "This package provides a library for reading and writing the
+DWARF debugging format.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-glob-0.3
   (package
     (name "rust-glob")
-- 
2.24.1

From f2d7b45f12384319b23362e4c134366548d53298 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:44:32 -0800
Subject: [PATCH 111/263] gnu: Add rust-intervaltree-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 288aa21204..3eca95c7cb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2850,6 +2850,33 @@ renamed to indexmap.")
      "This package provides a snapshot testing library for Rust.")
     (license license:asl2.0)))
 
+(define-public rust-intervaltree-0.2
+  (package
+    (name "rust-intervaltree")
+    (version "0.2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "intervaltree" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "10k40gsv79kwnsqrzwmnmm6psa5fqws8yggavmbggvymv16hffdg"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-smallvec" ,rust-smallvec-0.6))))
+    (home-page
+     "https://github.com/main--/rust-intervaltree")
+    (synopsis
+     "Immutable interval trees")
+    (description
+     "This package provides a simple and generic implementation of an
+immutable interval tree.")
+    (license license:expat)))
+
 (define-public rust-iovec-0.1
   (package
     (name "rust-iovec")
-- 
2.24.1

From db305d1a77c73d20157a315264a437a25ace1792 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:46:28 -0800
Subject: [PATCH 112/263] gnu: Add rust-lazycell-1.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3eca95c7cb..a20ce9cf58 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3148,6 +3148,30 @@ requires non-const function calls to be computed.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-lazycell-1.2
+  (package
+    (name "rust-lazycell")
+    (version "1.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "lazycell" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0gvqycmpv7parc98i6y64ai7rvxrn1947z2a6maa02g4kvxdd55j"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-clippy" ,rust-clippy-0.0))))
+    (home-page "https://github.com/indiv0/lazycell")
+    (synopsis
+     "Lazily filled Cell struct")
+    (description
+     "This package provides a library providing a lazily filled Cell struct.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-libc-0.2
   (package
     (name "rust-libc")
-- 
2.24.1

From bf5e1520c4101f8335903bde65ad26e688f90375 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:51:32 -0800
Subject: [PATCH 113/263] gnu: Add rust-half-1.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a20ce9cf58..cb0ca458da 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2642,6 +2642,32 @@ focus on line oriented search.")
     (description "Use PCRE2 with the grep crate.")
     (license `(,license:expat ,license:unlicense))))
 
+(define-public rust-half-1.3
+  (package
+    (name "rust-half")
+    (version "1.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "half" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0diqajg3mgar511hxswl4kgqqz9a026yvn3103x5h2smknlc4lwk"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-serde" ,rust-serde-1.0))))
+    (home-page
+     "https://github.com/starkat99/half-rs")
+    (synopsis
+     "Half-precision floating point f16 type")
+    (description
+     "Half-precision floating point f16 type for Rust implementing the
+IEEE 754-2008 binary16 type.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-heapsize-0.4
   (package
     (name "rust-heapsize")
-- 
2.24.1

From 7de5bda80ccfd60e31fcfcc3debb4f26c71d9173 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:54:04 -0800
Subject: [PATCH 114/263] gnu: Add rust-serde-cbor-0.10.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index cb0ca458da..a16a71efc1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5850,6 +5850,33 @@ Pwrite traits from the scroll crate.")
      "Optimized handling of @code{&[u8]} and @code{Vec<u8>} for Serde.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-serde-cbor-0.10
+  (package
+    (name "rust-serde-cbor")
+    (version "0.10.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_cbor" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0jcb4j637vdlqk2z38jixaqmp6f92h36r17kclv5brjay32911ii"))))
+    (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))
+       #: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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-serde-derive-1.0
   (package
     (name "rust-serde-derive")
-- 
2.24.1

From a2290f3addf0a6dd57a5d345868a4effdb661628 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:56:39 -0800
Subject: [PATCH 115/263] gnu: Add rust-erased-serde-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a16a71efc1..e1ace9ec98 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1807,6 +1807,36 @@ is configured via an environment variable.")
      "Environment variables utility functions.")
     (license license:asl2.0)))
 
+(define-public rust-erased-serde-0.3
+  (package
+    (name "rust-erased-serde")
+    (version "0.3.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "erased-serde" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0q7bnxs5zskfq5iillig55g7891dllcxh2p8y8k1p2j72syf9viv"))))
+    (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-derive" ,rust-serde-derive-1.0)
+        ("rust-serde-json" ,rust-serde-json-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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-fallible-iterator-0.2
   (package
     (name "rust-fallible-iterator")
-- 
2.24.1

From eaa9dd05d6c652ea3f05bd953ae4e22f13b5186c Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 18:57:25 -0800
Subject: [PATCH 116/263] gnu: Add rust-slog-2.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e1ace9ec98..6b7ecf406d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6040,6 +6040,33 @@ data type.")
     (properties '((hidden? . #t)))
     (license 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 `(,license:mpl2.0
+               ,license:expat
+               ,license:asl2.0))))
+
 (define-public rust-smallvec-0.6
   (package
     (name "rust-smallvec")
-- 
2.24.1

From 4bd8f5d8483941e21a0e3211297f0fc158f52931 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 19:00:03 -0800
Subject: [PATCH 117/263] gnu: Add rust-uuid-0.7.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6b7ecf406d..848a2dc0af 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7540,6 +7540,42 @@ untrusted inputs in Rust.")
      "Convert ranges of Unicode codepoints to UTF-8 byte ranges.")
     (license `(,license:expat ,license:unlicense))))
 
+(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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-vcpkg-0.2
   (package
     (name "rust-vcpkg")
-- 
2.24.1

From f135688a3c344373a473cddfe43e9f403249c753 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 19:02:15 -0800
Subject: [PATCH 118/263] gnu: Add rust-object-0.12.

* gnu/packages/crates-io.scm (rust-object-0.12): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 848a2dc0af..8ee879396e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4172,6 +4172,38 @@ implementation (which is unstable / requires nightly).")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-object-0.12
+  (package
+    (name "rust-object")
+    (version "0.12.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "object" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1dch1ajjp05d16lig1dnvisfis0hrlrvw9lcwy1hwgdcym3z6jnz"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-flate2" ,rust-flate2-1.0)
+        ("rust-goblin" ,rust-goblin-0.0)
+        ("rust-parity-wasm" ,rust-parity-wasm-0.40)
+        ("rust-scroll" ,rust-scroll-0.9)
+        ("rust-uuid" ,rust-uuid-0.7))
+       #:cargo-development-inputs
+       (("rust-memmap" ,rust-memmap-0.7))))
+    (home-page "https://github.com/gimli-rs/object")
+    (synopsis
+     "Parse object file formats")
+    (description
+     "This package provides a unified interface for parsing object file
+formats.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-openssl-probe-0.1
   (package
     (name "rust-openssl-probe")
-- 
2.24.1

From c0797a7a8c07a6e9da2310684bd261fc253f7a35 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 19:10:05 -0800
Subject: [PATCH 119/263] gnu: Add rust-rustc-test-0.3.

* gnu/package/crates-io.scm (rust-rustc-test-0.3): New variable.
---
 gnu/packages/crates-io.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8ee879396e..cc17f59065 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5502,6 +5502,39 @@ rust-lang/rust integration.")
     (license (list license:asl2.0
                    license:expat))))
 
+(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
+         "0a27mlcg0ck0hgsdvwk792x9z1k1qq1wj091f1l5yggbdbcsnx5w"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-getopts" ,rust-getopts-0.2)
+        ("rust-libc" ,rust-libc-0.2.58)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-term" ,rust-term-0.5)
+        ("rust-time" ,rust-time-0.1))
+       #:cargo-development-inputs
+       (("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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-rustc-version-0.2
   (package
     (name "rust-rustc-version")
-- 
2.24.1

From a5a2561a0d2ed92eed5b30e8fc2e201526e51b7c Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 19:15:57 -0800
Subject: [PATCH 121/263] gnu: Add rust-backtrace-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 46bb4f243c..1a859d1e3e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -297,6 +297,47 @@ support.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-backtrace-0.3
+  (package
+    (name "rust-backtrace")
+    (version "0.3.32")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "backtrace" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1rgsaha3b6wxh564s4jqn5hl5pkmg214blyjjs1svafib190zd8q"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-addr2line" ,rust-addr2line-0.9)
+        ("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-libc" ,rust-libc-0.2.58)
+        ("rust-memmap" ,rust-memmap-0.7)
+        ("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-rustc-std-workspace-core"
+         ,rust-rustc-std-workspace-core-1.0)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page
+     "https://github.com/rust-lang/backtrace-rs")
+    (synopsis
+     "Acquire a stack trace (backtrace) at runtime in a Rust program")
+    (description
+     "This package provides a library to acquire a stack
+trace (backtrace) at runtime in a Rust program.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-backtrace-sys-0.1
   (package
     (name "rust-backtrace-sys")
-- 
2.24.1

From 6fdb47ce5d93932c2b7ce93de8630c6586314b24 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 19:13:39 -0800
Subject: [PATCH 120/263] gnu: Add rust-addr2line-0.9.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index cc17f59065..46bb4f243c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -53,6 +53,46 @@ the Rust programming language.")
     (license (list license:bsd-3
                    license:zlib))))
 
+(define-public rust-addr2line-0.9
+  (package
+    (name "rust-addr2line")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "addr2line" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "17rlf04nx3g3rcy661v24ksnmpk6vqn680g5b5sp8lk20iih2xnx"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cpp-demangle" ,rust-cpp-demangle-0.2)
+        ("rust-fallible-iterator" ,rust-fallible-iterator-0.2)
+        ("rust-gimli" ,rust-gimli-0.18)
+        ("rust-intervaltree" ,rust-intervaltree-0.2)
+        ("rust-lazycell" ,rust-lazycell-1.2)
+        ("rust-object" ,rust-object-0.12)
+        ("rust-rustc-demangle" ,rust-rustc-demangle-0.1)
+        ("rust-smallvec" ,rust-smallvec-0.6))
+       #:cargo-development-inputs
+       (("rust-backtrace" ,rust-backtrace-0.3)
+        ("rust-clap" ,rust-clap-2)
+        ("rust-findshlibs" ,rust-findshlibs-0.5)
+        ("rust-memmap" ,rust-memmap-0.7)
+        ("rust-rustc-test" ,rust-rustc-test-0.3))))
+    (home-page
+     "https://github.com/gimli-rs/addr2line")
+    (synopsis
+     "Symbolication library written in Rust, using gimli")
+    (description
+     "This package provides a cross-platform symbolication library written in
+Rust, using gimli.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-afl-0.4
   (package
     (name "rust-afl")
-- 
2.24.1

From e86832f7b01a5e780f86d1aa701dad423bda5c97 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 19:23:10 -0800
Subject: [PATCH 122/263] gnu: Add rust-rawslice-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1a859d1e3e..cc6ae13b86 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5232,6 +5232,35 @@ and @code{ptrdistance}.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-rawslice-0.1
+  (package
+    (name "rust-rawslice")
+    (version "0.1.0")
+    (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)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-rawpointer" ,rust-rawpointer-0.1))
+       #: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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-rayon-1.1
   (package
     (name "rust-rayon")
-- 
2.24.1

From c3a94fe2612cf118d0afa9adf2f56a9c7c3ca91a Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 19:24:50 -0800
Subject: [PATCH 123/263] gnu: Add rust-unchecked-index-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index cc6ae13b86..7576b7757a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7527,6 +7527,29 @@ 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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-unicase-2.4
   (package
     (name "rust-unicase")
-- 
2.24.1

From a4768a9f70930127eae47e9dbfe042e798918248 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 19:26:56 -0800
Subject: [PATCH 124/263] gnu: Add rust-odds-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7576b7757a..f376c89418 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4285,6 +4285,40 @@ implementation (which is unstable / requires nightly).")
 formats.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-odds-0.3
+  (package
+    (name "rust-odds")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "odds" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0rdnxa0na4897yb0svb3figz35g4imxjv61yfm2j21gbh5q8v8d9"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-rawpointer" ,rust-rawpointer-0.1)
+        ("rust-rawslice" ,rust-rawslice-0.1)
+        ("rust-unchecked-index" ,rust-unchecked-index-0.2))
+       #:cargo-development-inputs
+       (("rust-itertools" ,rust-itertools-0.8)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-memchr" ,rust-memchr-2.2)
+        ("rust-quickcheck" ,rust-quickcheck-0.8))))
+    (home-page "https://github.com/bluss/odds")
+    (synopsis
+     "Extra functionality for slices, strings and other things")
+    (description
+     "Odds and ends collection miscellania.  Extra functionality for
+slices (@code{.find()}, @code{RevSlice}), strings and other things.
+Things in odds may move to more appropriate crates if we find them.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-openssl-probe-0.1
   (package
     (name "rust-openssl-probe")
-- 
2.24.1

From dcdb748c9b9f65622a2575bcafbbff5c736d2159 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 19:28:34 -0800
Subject: [PATCH 125/263] gnu: Add rust-petgraph-0.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f376c89418..94ea6eb101 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4604,6 +4604,41 @@ algorithm.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-petgraph-0.4
+  (package
+    (name "rust-petgraph")
+    (version "0.4.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "petgraph" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0kyfmca854s54jk26g2x1kjb04c3k7cjilaxyr0if8lhxv8mjdlw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-fixedbitset" ,rust-fixedbitset-0.1)
+        ("rust-ordermap" ,rust-ordermap-0.3)
+        ("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0))
+       #:cargo-development-inputs
+       (("rust-defmac" ,rust-defmac-0.2)
+        ("rust-itertools" ,rust-itertools-0.8)
+        ("rust-odds" ,rust-odds-0.3)
+        ("rust-rand" ,rust-rand-0.4))))
+    (home-page "https://github.com/petgraph/petgraph")
+    (synopsis
+     "Graph data structure library")
+    (description
+     "Graph data structure library.  Provides graph types and graph
+algorithms.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-pico-sys-0.0
   (package
     (name "rust-pico-sys")
-- 
2.24.1

From 7480fdba6705e59b5a36d811967988434f8319e9 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 19:34:33 -0800
Subject: [PATCH 126/263] gnu: Add parking-lot-core-0.5.

* gnu/packages/crates-io.scm (parking-lot-core-0.5): New variable.
---
 gnu/packages/crates-io.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 94ea6eb101..86ca00d729 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6039,6 +6039,43 @@ Pwrite traits from the scroll crate.")
      "Semantic version parsing and comparison.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-parking-lot-core-0.5
+  (package
+    (name "rust-parking-lot-core")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parking_lot_core" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1317j5a1yd03baza2kqqrxb4kr1vxa7rckw4frksl2vrncfcp26b"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-backtrace" ,rust-backtrace-0.3)
+        ("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-cloudabi" ,rust-cloudabi-0.0)
+        ("rust-libc" ,rust-libc-0.2.58)
+        ("rust-petgraph" ,rust-petgraph-0.4)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
+        ("rust-smallvec" ,rust-smallvec-0.6)
+        ("rust-thread-id" ,rust-thread-id-3.3)
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-rustc-version" ,rust-rustc-version-0.2))))
+    (home-page
+     "https://github.com/Amanieu/parking_lot")
+    (synopsis
+     "Advanced API for creating custom synchronization primitives")
+    (description
+     "An advanced API for creating custom synchronization primitives.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-semver-parser-0.9
   (package
     (name "rust-semver-parser")
-- 
2.24.1

From a0fb79abdd2468411fd1b112bdd570d35ee41e53 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 19:37:11 -0800
Subject: [PATCH 127/263] gnu: Add parking-lot-0.8.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 86ca00d729..b97ae5ffa5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6039,6 +6039,39 @@ Pwrite traits from the scroll crate.")
      "Semantic version parsing and comparison.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-parking-lot-0.8
+  (package
+    (name "rust-parking-lot")
+    (version "0.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parking_lot" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1rrcdalr8l5zx3bw28l376321l6dnd6rqnsqsl0ygk01fy0nfxzs"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lock-api" ,rust-lock-api-0.2)
+        ("rust-parking-lot-core" ,rust-parking-lot-core-0.5))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1.1)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-rustc-version" ,rust-rustc-version-0.2))))
+    (home-page
+     "https://github.com/Amanieu/parking_lot")
+    (synopsis
+     "Compact standard synchronization primitives")
+    (description
+     "More compact and efficient implementations of the standard
+synchronization primitives.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-parking-lot-core-0.5
   (package
     (name "rust-parking-lot-core")
-- 
2.24.1

From 8bd5f82c19843245f2daafd55564b00fb1116ace Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 19:39:32 -0800
Subject: [PATCH 128/263] gnu: Add rust-console-0.7.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b97ae5ffa5..d3c3cc5382 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1010,6 +1010,41 @@ need compiler-rt intrinsics.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-console-0.7
+  (package
+    (name "rust-console")
+    (version "0.7.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "console" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0a4n2syzik9lh02v2i4wdazvm05d99bib7dw0lqvz8mq2hn7r9cc"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-atty" ,rust-atty-0.2)
+        ("rust-clicolors-control" ,rust-clicolors-control-1.0)
+        ("rust-encode-unicode" ,rust-encode-unicode-0.3)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-libc" ,rust-libc-0.2.58)
+        ("rust-parking-lot" ,rust-parking-lot-0.8)
+        ("rust-regex" ,rust-regex-1.1)
+        ("rust-termios" ,rust-termios-0.3)
+        ("rust-unicode-width" ,rust-unicode-width-0.1)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page
+     "https://github.com/mitsuhiko/console")
+    (synopsis
+     "Terminal and console abstraction for Rust")
+    (description
+     "This package provides a terminal and console abstraction for Rust.")
+    (license license:expat)))
+
 (define-public rust-console-error-panic-hook-0.1
   (package
     (name "rust-console-error-panic-hook")
-- 
2.24.1

From 85ea1972def077b832afafca2f75c55a19c1f02f Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 19:46:28 -0800
Subject: [PATCH 130/263] gnu: Add rust-synstructure-0.10.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ba9e415e20..b5d9ae6abe 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6845,6 +6845,38 @@ and Jaro-Winkler.")
     (description "Parser for Rust source code.")
     (license `(,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
+     `(#: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))
+       #: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")
-- 
2.24.1

From 32428b21b20f169acf850677dfc648b2b139d04a Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 19:49:20 -0800
Subject: [PATCH 131/263] gnu: Add rust-failure-derive-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b5d9ae6abe..36a648fc8d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1982,6 +1982,35 @@ is configured via an environment variable.")
      "Type-erased Serialize and Serializer traits.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-failure-derive-0.1
+  (package
+    (name "rust-failure-derive")
+    (version "0.1.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "failure_derive" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1q97n7dp51j5hndzic9ng2fgn6f3z5ya1992w84l7vypby8n647a"))))
+    (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-synstructure" ,rust-synstructure-0.10))
+       #:cargo-development-inputs
+       (("rust-failure" ,rust-failure-0.1))))
+    (home-page
+     "https://rust-lang-nursery.github.io/failure/")
+    (synopsis "Derives for the failure crate")
+    (description "Derives for the failure crate.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-fallible-iterator-0.2
   (package
     (name "rust-fallible-iterator")
-- 
2.24.1

From 922301cfe1047dd4a474dbb5258c76be86d778bb Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 19:40:47 -0800
Subject: [PATCH 129/263] gnu: Add rust-difference-2.0.

* gnu/packages/crates-io.scm (rust-difference-2.0): New variable.
---
 gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d3c3cc5382..ba9e415e20 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1686,6 +1686,35 @@ hexadecimal, base32, and base64.")
      "An LCS based slice and string diffing implementation.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-difference-2.0
+  (package
+    (name "rust-difference")
+    (version "2.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "difference" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1621wx4k8h452p6xzmzzvm7mz87kxh4yqz0kzxfjj9xmjxlbyk2j"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-getopts" ,rust-getopts-0.2))
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-term" ,rust-term-0.5))))
+    (home-page
+     "https://github.com/johannhof/difference.rs")
+    (synopsis
+     "Rust text diffing and assertion library")
+    (description
+     "This package provides a Rust text diffing and assertion library.")
+    (license license:expat)))
+
 (define-public rust-dirs-1.0
   (package
     (name "rust-dirs")
-- 
2.24.1

From d2cda9914e7f6048fc33a5fce4951f9deecda3e5 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 19:50:45 -0800
Subject: [PATCH 132/263] gnu: Add rust-failure-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 36a648fc8d..e7505cbcc9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1982,6 +1982,33 @@ is configured via an environment variable.")
      "Type-erased Serialize and Serializer traits.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-failure-0.1
+  (package
+    (name "rust-failure")
+    (version "0.1.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "failure" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1qppmgv4i5jj6vrss91qackqnl0a12h7lnby4l7j5fdy78yxhnvr"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-backtrace" ,rust-backtrace-0.3)
+        ("rust-failure-derive" ,rust-failure-derive-0.1))))
+    (home-page
+     "https://rust-lang-nursery.github.io/failure/")
+    (synopsis
+     "Experimental error handling abstraction")
+    (description
+     "Experimental error handling abstraction.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-failure-derive-0.1
   (package
     (name "rust-failure-derive")
-- 
2.24.1

From 0b0d9427dd00ef925a227b0b871793ef89001ad1 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 19:56:50 -0800
Subject: [PATCH 133/263] gnu: Add rust-pest-2.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e7505cbcc9..2c38a58735 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4724,6 +4724,31 @@ algorithm.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-pest-2.1
+  (package
+    (name "rust-pest")
+    (version "2.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pest" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "134686mwxm73asbiads53zfchqvvcrsrsyax2cghfcizmvg8ac4k"))))
+    (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)
+        ("rust-ucd-trie" ,rust-ucd-trie-0.1))))
+    (home-page "https://pest.rs/")
+    (synopsis "The Elegant Parser")
+    (description "The Elegant Parser.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-petgraph-0.4
   (package
     (name "rust-petgraph")
-- 
2.24.1

From 2760c385f4d4d801488e5de8d6408080196c3858 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:02:33 -0800
Subject: [PATCH 134/263] gnu: Add rust-byte-tools-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2c38a58735..e984405f72 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -624,6 +624,26 @@ UTF-8.")
 little-endian.")
     (license `(,license:expat ,license:unlicense))))
 
+(define-public rust-byte-tools-0.3
+  (package
+    (name "rust-byte-tools")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "byte-tools" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1mqi29wsm8njpl51pfwr31wmpzs5ahlcb40wsjyd92l90ixcmdg3"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/RustCrypto/utils")
+    (synopsis "Bytes related utility functions")
+    (description "Bytes related utility functions.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-bytes-0.4
   (package
     (name "rust-bytes")
-- 
2.24.1

From 91812919c3cda7d54aa63217dba8452660ad18bf Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:05:25 -0800
Subject: [PATCH 135/263] gnu: Add rust-block-padding-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e984405f72..fe0b607bb0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -503,6 +503,31 @@ behave like a set of bitflags.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-block-padding-0.1
+  (package
+    (name "rust-block-padding")
+    (version "0.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "block-padding" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "02fz9wx5dmgpc79ndrb9xfxqlrkk7lg5wki2blz2zqg27spw6kbd"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byte-tools" ,rust-byte-tools-0.3))))
+    (home-page "https://github.com/RustCrypto/utils")
+    (synopsis
+     "Padding and unpadding of messages divided into blocks")
+    (description
+     "Padding and unpadding of messages divided into blocks.")
+    (license `(,license:asl1.1 ,license:expat))))
+
 (define-public rust-bstr-0.2
   (package
     (name "rust-bstr")
-- 
2.24.1

From aa13883e54f561930208adfd5a2ccc4102a46d59 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:06:57 -0800
Subject: [PATCH 136/263] gnu: Add rust-block-buffer-0.7.

* gnu/packages/crates-io.scm (rust-block-buffer-0.7): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fe0b607bb0..773796b775 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -503,6 +503,34 @@ behave like a set of bitflags.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-block-buffer-0.7
+  (package
+    (name "rust-block-buffer")
+    (version "0.7.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "block-buffer" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "12v8wizynqin0hqf140kmp9s38q223mp1b0hkqk8j5pk8720v560"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-block-padding" ,rust-block-padding-0.1)
+        ("rust-byte-tools" ,rust-byte-tools-0.3)
+        ("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-generic-array" ,rust-generic-array-0.12.3))))
+    (home-page "https://github.com/RustCrypto/utils")
+    (synopsis
+     "Fixed size buffer for block processing of data")
+    (description
+     "Fixed size buffer for block processing of data.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-block-padding-0.1
   (package
     (name "rust-block-padding")
-- 
2.24.1

From ddcbabe69e7be268d3c4c024cb544a30a79056bd Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:09:14 -0800
Subject: [PATCH 137/263] gnu: Add rust-blobby-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 773796b775..a7e9a97945 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -503,6 +503,34 @@ behave like a set of bitflags.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-blobby-0.1
+  (package
+    (name "rust-blobby")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "blobby" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1xicpf3s2mi5xqnx8ps5mdych4ib5nh2nfsbrsg8ar8bjk1girbg"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3))
+       #:cargo-development-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-hex" ,rust-hex-0.3))))
+    (home-page "https://github.com/RustCrypto/utils")
+    (synopsis
+     "Iterator over simple binary blob storage")
+    (description
+     "Iterator over simple binary blob storage.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-block-buffer-0.7
   (package
     (name "rust-block-buffer")
-- 
2.24.1

From 52d4e33e776c61769dd42ae07d24f713cf3cdbaf Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:18:38 -0800
Subject: [PATCH 141/263] gnu: Add rust-opaque-debug-0.2.

* gnu/packages/crates-io.scm (rust-opaque-debug-0.2): New version.
---
 gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3390a60757..d9096d634e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4619,6 +4619,28 @@ slices (@code{.find()}, @code{RevSlice}), strings and other things.
 Things in odds may move to more appropriate crates if we find them.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-opaque-debug-0.2
+  (package
+    (name "rust-opaque-debug")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "opaque-debug" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "02942l2gc7w5r4js7i9063x99szic5mzzk1055j83v4diqpbpxck"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/RustCrypto/utils")
+    (synopsis
+     "Macro for opaque Debug trait implementation")
+    (description
+     "Macro for opaque Debug trait implementation.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-openssl-probe-0.1
   (package
     (name "rust-openssl-probe")
-- 
2.24.1

From 11de0dcad3af1999fe95ac0fbe72a83fd66c1c0f Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:13:52 -0800
Subject: [PATCH 139/263] gnu: Add rust-digest-0.8.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9d4d4bc50f..9d5e9d6776 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1816,6 +1816,33 @@ hexadecimal, base32, and base64.")
      "This package provides a Rust text diffing and assertion library.")
     (license license:expat)))
 
+(define-public rust-digest-0.8
+  (package
+    (name "rust-digest")
+    (version "0.8.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "digest" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1madjl27f3kj5ql7kwgvb9c8b7yb7bv7yfgx7rqzj4i3fp4cil7k"))))
+    (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
+     "Traits for cryptographic hash functions")
+    (description
+     "Traits for cryptographic hash functions.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-dirs-1.0
   (package
     (name "rust-dirs")
-- 
2.24.1

From eae0259815ce24f2c8f02e140dc8c47e674c3771 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:16:05 -0800
Subject: [PATCH 140/263] gnu: Add rust-fake-simd-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9d5e9d6776..3390a60757 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2166,6 +2166,28 @@ is configured via an environment variable.")
     (description "Derives for the failure crate.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-fake-simd-0.1
+  (package
+    (name "rust-fake-simd")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "fake-simd" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vfylvk4va2ivqx85603lyqqp0zk52cgbs4n5nfbbbqx577qm2p8"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/RustCrypto/utils")
+    (synopsis
+     "Crate for mimicking simd crate on stable Rust")
+    (description
+     "Crate for mimicking simd crate on stable Rust.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-fallible-iterator-0.2
   (package
     (name "rust-fallible-iterator")
-- 
2.24.1

From 7d912e7b9c0ee26ccefd1f3bea6c0e26e2487c44 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:11:38 -0800
Subject: [PATCH 138/263] gnu: Add rust-generic-array-0.13.

* gnu/packages/crates-io.scm (rust-generic-array-0.13): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a7e9a97945..9d4d4bc50f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2729,6 +2729,36 @@ archive to be linked into Rustcode.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-generic-array-0.13
+  (package
+    (name "rust-generic-array")
+    (version "0.13.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "generic-array" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1kddwxpd58y807y1r3lijg7sw3gxm6nczl6wp57gamhv6mhygl8f"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1.0)
+        ("rust-typenum" ,rust-typenum-1.10))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1.1)
+        ("rust-serde-json" ,rust-serde-json-1.0))))
+    (home-page
+     "https://github.com/fizyk20/generic-array")
+    (synopsis
+     "Generic types implementing functionality of arrays")
+    (description
+     "Generic types implementing functionality of arrays.")
+    (license license:expat)))
+
 (define-public rust-getopts-0.2
   (package
     (name "rust-getopts")
-- 
2.24.1

From d5510a9664fe538f80e28eff1a8cbdc58bea67cc Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:21:25 -0800
Subject: [PATCH 142/263] gnu: Add rust-sha1-asm-0.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d9096d634e..ed1bfa1dca 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6630,6 +6630,32 @@ synchronization primitives.")
      "Token De/Serializer for testing De/Serialize implementations.")
     (license `(,license:expat ,license:asl2.0))))
 
+(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-sha1-0.6
   (package
     (name "rust-sha1")
-- 
2.24.1

From c61de3855bd5fd557de2b577e66a87c050e671e3 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:24:56 -0800
Subject: [PATCH 144/263] gnu: Add rust-hex-literal-0.2.

* gnu/packages/crates-io.scm (rust-hex-literal-impl-0.2): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 16c8de2ea5..f314090d43 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3158,6 +3158,33 @@ hexadecimal representation.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-hex-literal-0.2
+  (package
+    (name "rust-hex-literal")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "hex-literal" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ni2nv3di0jpih2xnmlnr6s96zypkdr8xrw2cvk4f8fx5wb6inn3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-hex-literal-impl" ,rust-hex-literal-impl-0.2)
+        ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))))
+    (home-page "https://github.com/RustCrypto/utils")
+    (synopsis
+     "Convert hexadecimal string to byte array at compile time")
+    (description
+     "Procedural macro for converting hexadecimal string to byte array at
+compile time.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-hex-literal-impl-0.2
   (package
     (name "rust-hex-literal-impl")
-- 
2.24.1

From d28abaab048b97485e14601563053417c301794a Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:27:43 -0800
Subject: [PATCH 145/263] gnu: Add rust-sha-1-0.8

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f314090d43..be32160da5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6682,6 +6682,37 @@ synchronization primitives.")
      "Token De/Serializer for testing De/Serialize implementations.")
     (license `(,license:expat ,license:asl2.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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-sha1-asm-0.4
   (package
     (name "rust-sha1-asm")
-- 
2.24.1

From 25f68cd1906bdf52b3d7d299cd26fb04a7a3516d Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:28:49 -0800
Subject: [PATCH 146/263] gnu: Add rust-pest-meta-2.1.

* gnu/packages/crates-io.scm (rust-pest-meta-2.1): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index be32160da5..b35f994e05 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5003,6 +5003,34 @@ algorithm.")
     (description "The Elegant Parser.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-pest-meta-2.1
+  (package
+    (name "rust-pest-meta")
+    (version "2.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pest_meta" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0kaprdz3jis9bjfwhri1zncbsvack5m3gx2g5flspdy7wxnyljgj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-maplit" ,rust-maplit-1.0)
+        ("rust-pest" ,rust-pest-2.1))
+       #:cargo-development-inputs
+       (("rust-sha-1" ,rust-sha-1-0.8))))
+    (home-page "https://pest.rs")
+    (synopsis
+     "Pest meta language parser and validator")
+    (description
+     "Pest meta language parser and validator.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-petgraph-0.4
   (package
     (name "rust-petgraph")
-- 
2.24.1

From da559e12eea5913808d22a336a522f39fa329322 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:23:31 -0800
Subject: [PATCH 143/263] gnu: Add rust-hex-literal-impl-0.2.

* gnu/packages/crates-io.scm (rust-hex-literal-impl-0.2): New variable.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ed1bfa1dca..16c8de2ea5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3158,6 +3158,31 @@ hexadecimal representation.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-hex-literal-impl-0.2
+  (package
+    (name "rust-hex-literal-impl")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "hex-literal-impl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "04m6d1k57a9h3hhdgn0vq1hkfwjv9hfkw6q73bqn0my0qw45s286"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))))
+    (home-page "https://github.com/RustCrypto/utils")
+    (synopsis
+     "Internal implementation of the hex-literal crate")
+    (description
+     "Internal implementation of the hex-literal crate.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-humantime-1.2
   (package
     (name "rust-humantime")
-- 
2.24.1

From e971a41ff5a475905c9e699316c7979c426476f9 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:30:26 -0800
Subject: [PATCH 147/263] gnu: Add rust-pest-generator-2.1.

* gnu/packages/crates-io.scm (rust-pest-generator-2.1): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b35f994e05..58ec721b36 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5003,6 +5003,33 @@ algorithm.")
     (description "The Elegant Parser.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-pest-generator-2.1
+  (package
+    (name "rust-pest-generator")
+    (version "2.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pest_generator" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ipnv77lqhj4d4fpfxi8m168lcjp482kszaknlardmpgqiv0a4k3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-pest" ,rust-pest-2.1)
+        ("rust-pest-meta" ,rust-pest-meta-2.1)
+        ("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-0.15))))
+    (home-page "https://pest.rs/")
+    (synopsis "Pest code generator")
+    (description "Pest code generator.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-pest-meta-2.1
   (package
     (name "rust-pest-meta")
-- 
2.24.1

From e0f2dace498b384661ae18cd85a1b73c83b03f44 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:35:29 -0800
Subject: [PATCH 149/263] gnu: Add rust-ron-0.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 17a9525f0e..7b1f2ae206 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6072,6 +6072,35 @@ uses finite automata and guarantees linear time matching on all inputs.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-ron-0.4
+  (package
+    (name "rust-ron")
+    (version "0.4.1") ; Current is 0.5.1, rust-insta has pinned version
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ron" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1mrqdgw3w0yypg24jyq9mphp4zr9lr0ks7yam82m4n34x6njijyr"))))
+    (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))
+       #: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))))
+
 (define-public rust-rustc-demangle-0.1
   (package
     (name "rust-rustc-demangle")
-- 
2.24.1

From 16215bb5fb75b09a044834f5de1602d83aeae7f8 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:31:55 -0800
Subject: [PATCH 148/263] gnu: Add rust-pest-derive-2.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 58ec721b36..17a9525f0e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5003,6 +5003,30 @@ algorithm.")
     (description "The Elegant Parser.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-pest-derive-2.1
+  (package
+    (name "rust-pest-derive")
+    (version "2.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pest_derive" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1l5jfa6ril71cw5nsiw0r45br54dd8cj2r1nc2d1wq6wb3jilgc3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-pest" ,rust-pest-2.1)
+        ("rust-pest-generator" ,rust-pest-generator-2.1))))
+    (home-page "https://pest.rs/")
+    (synopsis "Pest's derive macro")
+    (description "Pest's derive macro.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-pest-generator-2.1
   (package
     (name "rust-pest-generator")
-- 
2.24.1

From 57f8cf202a48f387b489ed51c91c778881318d6a Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:39:39 -0800
Subject: [PATCH 150/263] gnu: Add rust-linked-hash-map-0.5.

* gnu/packages/crates-io.scm (rust-linked-hash-map-0.5): New variable.
---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7b1f2ae206..272f513ee3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4409,6 +4409,37 @@ known as zlib).")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-linked-hash-map-0.5
+  (package
+    (name "rust-linked-hash-map")
+    (version "0.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "linked-hash-map" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "10qgbvh00q36ql0jh00rxh2jlq6qvl11n6mig0cvkpf4xf5bd4df"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-clippy" ,rust-clippy-0.0)
+        ("rust-heapsize" ,rust-heapsize-0.4)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-test" ,rust-serde-test-1.0))))
+    (home-page
+     "https://github.com/contain-rs/linked-hash-map")
+    (synopsis
+     "HashMap wrapper that holds key-value pairs in insertion order")
+    (description
+     "This package provides a HashMap wrapper that holds key-value
+pairs in insertion order.")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-nodrop-0.1
   (package
     (name "rust-nodrop")
-- 
2.24.1

From becdea98b102c1fef42d9721623a86b8b4705903 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sat, 14 Dec 2019 20:42:22 -0800
Subject: [PATCH 151/263] gnu: Add rust-yaml-rust-0.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 272f513ee3..2401655c2f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9138,3 +9138,30 @@ to XDG Base Directory specification")
     (properties '((hidden? . #t)))
     (license (list license:asl2.0
                    license:expat))))
+
+(define-public rust-yaml-rust-0.4
+  (package
+    (name "rust-yaml-rust")
+    (version "0.4.3")
+    (source
+     (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-linked-hash-map" ,rust-linked-hash-map-0.5))
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.8))))
+    (home-page
+     "http://chyh1990.github.io/yaml-rust/")
+    (synopsis "The missing YAML 1.2 parser for rust")
+    (description
+     "The missing YAML 1.2 parser for rust.")
+    (license `(,license:asl2.0 ,license:expat))))
-- 
2.24.1

From 400e24f37d92dfaed87c6c1e6b3e95f95dc9736e Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 07:36:50 -0800
Subject: [PATCH 152/263] gnu: Add rust-encoding-index-tests-0.1

* gnu/packages/crates-io.scm (rust-encoding-index-tests-0.1): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2401655c2f..ed16b23dff 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2023,6 +2023,30 @@ floating-point primitives to an @code{io::Write}.")
 char, u8 and u16.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-encoding-index-tests-0.1
+  (package
+    (name "rust-encoding-index-tests")
+    (version "0.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "encoding_index_tests" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0s85y091gl17ixass49bzaivng7w8p82p6nyvz2r3my9w4mxhim2"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page
+     "https://github.com/lifthrasiir/rust-encoding")
+    (synopsis
+     "Macros used to test index tables for character encodings")
+    (description
+     "Helper macros used to test index tables for character
+encodings.")
+    (license license:cc0)))
+
 (define-public rust-env-logger-0.6
   (package
     (name "rust-env-logger")
-- 
2.24.1

From e9bddb3606b810806305a6b1b72d0b9943765a18 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 07:43:16 -0800
Subject: [PATCH 154/263] gnu: Add rust-encoding-index-korean-1.20141219.

* gnu/packages/crates-io.scm (rust-encoding-index-korean-1.20141219): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4cf7ece4eb..92ce89b7d9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2050,6 +2050,33 @@ char, u8 and u16.")
      "Index tables for Japanese character encodings.")
     (license license:cc0)))
 
+(define-public rust-encoding-index-korean-1.20141219
+  (package
+    (name "rust-encoding-index-korean")
+    (version "1.20141219.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "encoding-index-korean" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "10cxabp5ppygbq4y6y680856zl9zjvq7ahpiw8zj3fmwwsw3zhsd"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-encoding-index-tests"
+         ,rust-encoding-index-tests-0.1))))
+    (home-page
+     "https://github.com/lifthrasiir/rust-encoding")
+    (synopsis
+     "Index tables for Korean character encodings")
+    (description
+     "Index tables for Korean character encodings.")
+    (license license:cc0)))
+
 (define-public rust-encoding-index-tests-0.1
   (package
     (name "rust-encoding-index-tests")
-- 
2.24.1

From 6eeb8a51ec32c05b4c4c92d08e2e6936c4a17fd0 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 07:40:18 -0800
Subject: [PATCH 153/263] gnu: Add rust-encoding-index-japanese-1.20141219.

* gnu/packages/crates-io.scm (rust-encoding-index-japanese-1.20141219): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ed16b23dff..4cf7ece4eb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2023,6 +2023,33 @@ floating-point primitives to an @code{io::Write}.")
 char, u8 and u16.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-encoding-index-japanese-1.20141219
+  (package
+    (name "rust-encoding-index-japanese")
+    (version "1.20141219.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "encoding-index-japanese" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "148c1lmd640p1d7fzk0nv7892mbyavvwddgqvcsm78798bzv5s04"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-encoding-index-tests"
+         ,rust-encoding-index-tests-0.1))))
+    (home-page
+     "https://github.com/lifthrasiir/rust-encoding")
+    (synopsis
+     "Index tables for Japanese character encodings")
+    (description
+     "Index tables for Japanese character encodings.")
+    (license license:cc0)))
+
 (define-public rust-encoding-index-tests-0.1
   (package
     (name "rust-encoding-index-tests")
-- 
2.24.1

From 8388cad4cc16b761f3660d36b2caa65eaba9bc67 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 07:45:12 -0800
Subject: [PATCH 155/263] gnu: Add rust-encoding-index-simpchinese-1.20141219.

* gnu/packages/crates-io.scm (rust-encoding-index-simpchinese-1.20141219):
  New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 92ce89b7d9..9e7b4151d9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2077,6 +2077,33 @@ char, u8 and u16.")
      "Index tables for Korean character encodings.")
     (license license:cc0)))
 
+(define-public rust-encoding-index-simpchinese-1.20141219
+  (package
+    (name "rust-encoding-index-simpchinese")
+    (version "1.20141219.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "encoding-index-simpchinese" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1xria2i7mc5dqdrpqxasdbxv1qx46jjbm53if3y1i4cvj2a72ynq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-encoding-index-tests"
+         ,rust-encoding-index-tests-0.1))))
+    (home-page
+     "https://github.com/lifthrasiir/rust-encoding")
+    (synopsis
+     "Index tables for simplified Chinese character encodings")
+    (description
+     "Index tables for simplified Chinese character encodings.")
+    (license license:cc0)))
+
 (define-public rust-encoding-index-tests-0.1
   (package
     (name "rust-encoding-index-tests")
-- 
2.24.1

From 0d0ce5320ab66917f78e8dc16b12abe3e59e4b33 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 07:52:01 -0800
Subject: [PATCH 157/263] gnu: Add rust-encoding-index-tradchinese-1.20141219.

* gnu/packages/crates-io.scm (rust-encoding-index-tradchinese-1.20141219):
  New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 765d08bd7c..b5111e9a12 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2131,6 +2131,33 @@ char, u8 and u16.")
      "Index tables for various single-byte character encodings.")
     (license license:cc0)))
 
+(define-public rust-encoding-index-tradchinese-1.20141219
+  (package
+    (name "rust-encoding-index-tradchinese")
+    (version "1.20141219.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "encoding-index-tradchinese" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "060ci4iz6xfvzk38syfbjvs7pix5hch3mvxkksswmqwcd3aj03px"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-encoding-index-tests"
+         ,rust-encoding-index-tests-0.1))))
+    (home-page
+     "https://github.com/lifthrasiir/rust-encoding")
+    (synopsis
+     "Index tables for traditional Chinese character encodings")
+    (description
+     "Index tables for traditional Chinese character encodings.")
+    (license license:cc0)))
+
 (define-public rust-encoding-index-tests-0.1
   (package
     (name "rust-encoding-index-tests")
-- 
2.24.1

From 147286daf78696ce275f5f75a848baf3c34df76d Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 07:48:49 -0800
Subject: [PATCH 156/263] gnu: Add rust-encoding-index-singlebyte-1.20141219.

* gnu/packages/crates-io.scm (rust-encoding-index-singlebyte-1.20141219):
  New variable
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9e7b4151d9..765d08bd7c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2104,6 +2104,33 @@ char, u8 and u16.")
      "Index tables for simplified Chinese character encodings.")
     (license license:cc0)))
 
+(define-public rust-encoding-index-singlebyte-1.20141219
+  (package
+    (name "rust-encoding-index-singlebyte")
+    (version "1.20141219.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "encoding-index-singlebyte" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0jp85bz2pprzvg9m95w4q0vibh67b6w3bx35lafay95jzyndal9k"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-encoding-index-tests"
+         ,rust-encoding-index-tests-0.1))))
+    (home-page
+     "https://github.com/lifthrasiir/rust-encoding")
+    (synopsis
+     "Index tables for various single-byte character encodings")
+    (description
+     "Index tables for various single-byte character encodings.")
+    (license license:cc0)))
+
 (define-public rust-encoding-index-tests-0.1
   (package
     (name "rust-encoding-index-tests")
-- 
2.24.1

From 7c1f680c96faee1090dda9a251eefb908dfbdc07 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 07:57:32 -0800
Subject: [PATCH 159/263] gnu: Add rust-flame-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d50e29d93e..f091ad1a51 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2473,6 +2473,33 @@ cross platform API.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-flame-0.2
+  (package
+    (name "rust-flame")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "flame" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0c5bmhyimzxch3pmh0w3z9n57saasgix4bmbbksr9vp1c5j71hhz"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-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-thread-id" ,rust-thread-id-3.3))))
+    (home-page "https://github.com/TyOverby/flame")
+    (synopsis "Profiling and flamegraph library")
+    (description "A profiling and flamegraph library.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-flate2-1.0
   (package
     (name "rust-flate2")
-- 
2.24.1

From c5e75a284e4149b9ec0f67cbcfa58e742a753fb9 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 08:04:32 -0800
Subject: [PATCH 160/263] gnu: Add rust-serde-yaml-0.8.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f091ad1a51..97560e9512 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7043,6 +7043,37 @@ synchronization primitives.")
      "Token De/Serializer for testing De/Serialize implementations.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-serde-yaml-0.8
+  (package
+    (name "rust-serde-yaml")
+    (version "0.8.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "serde_yaml" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "10mmjpnshgrwij01a13679nxy1hnh5yfr0343kh0y9p5j2d8mc1q"))))
+    (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)
+        ("rust-version-sync" ,rust-version-sync-0.8))))
+    (home-page
+     "https://github.com/dtolnay/serde-yaml")
+    (synopsis "YAML support for Serde")
+    (description "YAML support for Serde.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-sha-1-0.8
   (package
     (name "rust-sha-1")
-- 
2.24.1

From 4bc8b0d9e63e4e6fb9b5b7f71acb12b7d54d3cc7 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 08:10:17 -0800
Subject: [PATCH 161/263] gnu: Add rust-flamer-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 97560e9512..6246da2a37 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2500,6 +2500,33 @@ cross platform API.")
     (description "A profiling and flamegraph library.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-flamer-0.3
+  (package
+    (name "rust-flamer")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "flamer" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1b2d7jx80f3p7hqpgdi7wksaiq18k9w23p0cs2sxf7jbx2jx3bgj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-flame" ,rust-flame-0.2)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-0.15))))
+    (home-page "https://github.com/llogiq/flamer")
+    (synopsis
+     "Macro to insert @code{flame::start_guard(_)}")
+    (description
+     "A procedural macro to insert @code{flame::start_guard(_)} calls.")
+    (license license:asl2.0)))
+
 (define-public rust-flate2-1.0
   (package
     (name "rust-flate2")
-- 
2.24.1

From e3f299ba4f113796952cf7cbea2f7d1e33d043e8 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 08:11:55 -0800
Subject: [PATCH 162/263] gnu: Add rust-unicode-bidi-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6246da2a37..37b62679c0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8617,6 +8617,37 @@ with the Unicode character database.")
     (license (list license:asl2.0
                    license:expat))))
 
+(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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-unicode-width-0.1
   (package
     (name "rust-unicode-width")
-- 
2.24.1

From 0e9fc12fcc9a748a67666290e7c9ba70035998c3 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 08:15:01 -0800
Subject: [PATCH 163/263] gnu: Add rust-unicode-normalization-0.1.

* gnu/packages/crates-io.scm (rust-unicode-normalization-0.1): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 37b62679c0..6bdbef0b12 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8648,6 +8648,34 @@ with the Unicode character database.")
      "Implementation of the Unicode Bidirectional Algorithm.")
     (license `(,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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-unicode-width-0.1
   (package
     (name "rust-unicode-width")
-- 
2.24.1

From c2aac2d4c5a8ff5ac96fd17c4328cbd3c46a77b8 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 08:17:48 -0800
Subject: [PATCH 164/263] gnu: Add rust-idna-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6bdbef0b12..cb7c329580 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3510,6 +3510,37 @@ SystemTime}}.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-idna-0.1
+  (package
+    (name "rust-idna")
+    (version "0.1.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "idna" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0kl4gs5kaydn4v07c6ka33spm9qdh2np0x7iw7g5zd8z1c7rxw1q"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-matches" ,rust-matches-0.1)
+        ("rust-unicode-bidi" ,rust-unicode-bidi-0.3)
+        ("rust-unicode-normalization"
+         ,rust-unicode-normalization-0.1))
+       #:cargo-development-inputs
+       (("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-rustc-test" ,rust-rustc-test-0.3))))
+    (home-page "https://github.com/servo/rust-url/")
+    (synopsis
+     "Internationalizing Domain Names in Applications and Punycode")
+    (description
+     "IDNA (Internationalizing Domain Names in Applications) and Punycode.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-indexmap-1.0
   (package
     (name "rust-indexmap")
-- 
2.24.1

From 399b08b0001423daa5e2478ae1e4cfd948bf3082 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 08:30:28 -0800
Subject: [PATCH 166/263] gnu: Add rust-stackvector-1.0.

* gnu/packages/crates-io.scm (rust-stackvector-1.0): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index adfea6ba20..89e979475f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7457,6 +7457,34 @@ 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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-static-assertions-0.3
   (package
     (name "rust-static-assertions")
-- 
2.24.1

From e6ce8d24085048fc002343bb446cb3d20b77c0ba Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 08:22:53 -0800
Subject: [PATCH 165/263] gnu: Add rust-url-1.7.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index cb7c329580..adfea6ba20 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8847,6 +8847,42 @@ untrusted inputs in Rust.")
     (properties '((hidden? . #t)))
     (license license:isc)))
 
+(define-public rust-url-1.7
+  (package
+    (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"))))
+    (build-system cargo-build-system)
+    (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))))
+    (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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-utf8-ranges-1.0
   (package
     (name "rust-utf8-ranges")
-- 
2.24.1

From 5abe7fe81a0f2c7f1d74f8ea8d2830b575817897 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 08:32:04 -0800
Subject: [PATCH 167/263] gnu: Add rust-bit-vec-0.5.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 89e979475f..99f64de08f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -461,6 +461,33 @@ 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-bit-vec-0.5
+  (package
+    (name "rust-bit-vec")
+    (version "0.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bit-vec" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1fyh8221s6cxlmng01v8v2ljhavzawqqs8r1xjc66ap5sjavx6zm"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-serde-json" ,rust-serde-json-1.0))))
+    (home-page
+     "https://github.com/contain-rs/bit-vec")
+    (synopsis "Vector of bits")
+    (description
+     "This package provides a vector of bits.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-bitflags-1
   (package
     (name "rust-bitflags")
-- 
2.24.1

From 09390aa313f918c1d72055dcb5f8087aec9d503a Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 08:34:23 -0800
Subject: [PATCH 168/263] gnu: Add rust-bit-set-0.5.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 99f64de08f..5d401a7ad5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -461,6 +461,33 @@ 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-bit-set-0.5
+  (package
+    (name "rust-bit-set")
+    (version "0.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bit-set" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "100ac8867bvbx9kv634w4xjk98b71i8nq4wdcvpf3cf4ha4j6k78"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bit-vec" ,rust-bit-vec-0.5))
+       #:cargo-development-inputs
+       (("rust-rand" ,rust-rand-0.4))))
+    (home-page
+     "https://github.com/contain-rs/bit-set")
+    (synopsis "Set of bits")
+    (description
+     "This package provides a set of bits.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-bit-vec-0.5
   (package
     (name "rust-bit-vec")
-- 
2.24.1

From 701dff2aa10761f2416c9f934c98a62398ca5a57 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 08:42:44 -0800
Subject: [PATCH 169/263] gnu: Add rust-stream-cipher-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5d401a7ad5..7472e0accb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7662,6 +7662,31 @@ 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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-streaming-stats-0.2
   (package
     (name "rust-streaming-stats")
-- 
2.24.1

From 48bf19aa9095a1306648a784ade6e1087b4674da Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 08:44:51 -0800
Subject: [PATCH 170/263] gnu: Add rust-c2-chacha-0.2.

* gnu/packages/crates-io.scm (rust-c2-chacha-0.2): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7472e0accb..97fd1a6002 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -809,6 +809,36 @@ little-endian.")
      "Types and traits for working with bytes.")
     (license license:expat)))
 
+(define-public rust-c2-chacha-0.2
+  (package
+    (name "rust-c2-chacha")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "c2-chacha" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "00a11qdc8mg3z0k613rhprkc9p6xz0y7b1681x32ixg0hr3x0r3x"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-ppv-lite86" ,rust-ppv-lite86-0.2)
+        ("rust-stream-cipher" ,rust-stream-cipher-0.3))
+       #:cargo-development-inputs
+       (("rust-hex-literal" ,rust-hex-literal-0.2))))
+    (home-page
+     "https://github.com/cryptocorrosion/cryptocorrosion")
+    (synopsis "The ChaCha family of stream ciphers")
+    (description
+     "The ChaCha family of stream ciphers.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-cargon-0.0
   (package
     (name "rust-cargon")
-- 
2.24.1

From 137c45c4af8a3199fbc7672700b53fb3181c00c3 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 08:49:03 -0800
Subject: [PATCH 171/263] gnu: Add rust-rand-chacha-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 97fd1a6002..a8b377b018 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5903,6 +5903,33 @@ useful types and distributions, and some randomness-related algorithms.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-rand-chacha-0.2
+  (package
+    (name "rust-rand-chacha")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rand_chacha" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "178d36jfkc4v95s25scc2vibj2hd2hlk64cs6id4hvzg89whd4z1"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-c2-chacha" ,rust-c2-chacha-0.2)
+        ("rust-rand-core" ,rust-rand-core-0.5))
+       #:cargo-development-inputs
+       (("rust-autocfg" ,rust-autocfg-0.1))))
+    (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-core-0.5
   (package
     (name "rust-rand-core")
-- 
2.24.1

From 1996576d77280c9244ecb6a8e21b6cdedd9180c6 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 08:51:37 -0800
Subject: [PATCH 172/263] gnu: Add rust-wait-timeout-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a8b377b018..cd4e1ac7b2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9212,6 +9212,32 @@ If that fails, no determination is made, and calls return None.")
     (properties '((hidden? . #t)))
     (license 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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-walkdir-2.2
   (package
     (name "rust-walkdir")
-- 
2.24.1

From cebd675c1561ce19e161ef720469f8b59a4c9995 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 08:52:54 -0800
Subject: [PATCH 173/263] gnu: Add rust-rusty-fork-0.2.

* gnu/packages/crates-io.scm (rust-rusty-fork-0.2): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index cd4e1ac7b2..43e49f0c70 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6669,6 +6669,36 @@ require unstable language features.")
 rustc compiler.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-rusty-fork-0.2
+  (package
+    (name "rust-rusty-fork")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rusty-fork" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1bjg8adk0i921088j52rn0hmvsry34q19g96x41pamqcw5j35n9x"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#: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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-ryu-1.0
   (package
     (name "rust-ryu")
-- 
2.24.1

From eba1185848d824eb882a9b5eb1e1596fe73c18b3 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 08:54:49 -0800
Subject: [PATCH 174/263] gnu: Add rust-proptest-0.9.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 43e49f0c70..c7a1a44887 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5748,6 +5748,45 @@ in terms of the upstream unstable API.")
          (base32
           "0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg"))))))
 
+(define-public rust-proptest-0.9
+  (package
+    (name "rust-proptest")
+    (version "0.9.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "proptest" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "17sjg8isas4qk85807c4panih9k0lwa4k1mbajhciw5c5q17w56g"))))
+    (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.3)
+        ("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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-quick-error-1.2
   (package
     (name "rust-quick-error")
-- 
2.24.1

From 8d040e45afd444036da685e4fb58ad685fd3d4f5 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 08:58:39 -0800
Subject: [PATCH 175/263] gnu: Add rust-lexical-core-0.4.

* gnu/packages/crates-io.scm (rust-lexical-core-0.4): New variable.
---
 gnu/packages/crates-io.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c7a1a44887..8077b2f14a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4025,6 +4025,41 @@ requires non-const function calls to be computed.")
      "This package provides a library providing a lazily filled Cell struct.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-lexical-core-0.4
+  (package
+    (name "rust-lexical-core")
+    (version "0.4.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "lexical-core" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1gr5y3ykghd3wjc00l3iizkj1dxylyhwi6fj6yn2qg06nzx771iz"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-dtoa" ,rust-dtoa-0.4)
+        ("rust-ryu" ,rust-ryu-1.0)
+        ("rust-stackvector" ,rust-stackvector-1.0)
+        ("rust-static-assertions" ,rust-static-assertions-0.3))
+       #:cargo-development-inputs
+       (("rust-approx" ,rust-approx-0.3)
+        ("rust-proptest" ,rust-proptest-0.9)
+        ("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-rustc-version" ,rust-rustc-version-0.2))))
+    (home-page
+     "https://github.com/Alexhuszagh/rust-lexical/tree/master/lexical-core")
+    (synopsis
+     "Lexical, to- and from-string conversion routines")
+    (description
+     "Lexical, to- and from-string conversion routines.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-libc-0.2
   (package
     (name "rust-libc")
-- 
2.24.1

From 8ec9cdaaa4cda47773bfc6c5135f602a748f42bd Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:02:00 -0800
Subject: [PATCH 176/263] gnu: Add rust-paste-impl-0.1.

* gnu/packages/crates-io.scm (rust-paste-impl-0.1).
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8077b2f14a..f79141ee9d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7142,6 +7142,34 @@ synchronization primitives.")
      "An advanced API for creating custom synchronization primitives.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-paste-impl-0.1
+  (package
+    (name "rust-paste-impl")
+    (version "0.1.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "paste-impl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1rkh8nixmb7r1y0mjnsz62p6r1bqah5ciri7bwhmgcmq4gk9drr6"))))
+    (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-0.4)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-0.15))))
+    (home-page "https://github.com/dtolnay/paste")
+    (synopsis
+     "Implementation detail of the paste crate")
+    (description
+     "Implementation detail of the paste crate.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-semver-parser-0.9
   (package
     (name "rust-semver-parser")
-- 
2.24.1

From 28c8df8bf74adef391e382757126de5b2a67e203 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:03:19 -0800
Subject: [PATCH 177/263] gnu: Add rust-paste-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f79141ee9d..bba442a163 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7142,6 +7142,32 @@ synchronization primitives.")
      "An advanced API for creating custom synchronization primitives.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-paste-0.1
+  (package
+    (name "rust-paste")
+    (version "0.1.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "paste" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ygs077hlq8qlx5y46sfgrmhlqqgkmvvhn4x3y10arawalf4ljhz"))))
+    (build-system cargo-build-system)
+    (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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-paste-impl-0.1
   (package
     (name "rust-paste-impl")
-- 
2.24.1

From b147668544cb50f35dd9819482355cb606d10edd Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:05:39 -0800
Subject: [PATCH 178/263] gnu: Add rust-jemallocator-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bba442a163..d4f5f648f5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3911,6 +3911,35 @@ wasm-bindgen crate.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-jemallocator-0.3
+  (package
+    (name "rust-jemallocator")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "jemallocator" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0sabfa5118b7l4ars5n36s2fjyfn59w4d6mjs6rrmsa5zky67bj3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-jemalloc-sys" ,rust-jemalloc-sys-0.3)
+        ("rust-libc" ,rust-libc-0.2.58))
+       #:cargo-development-inputs
+       (("rust-paste" ,rust-paste-0.1))))
+    (home-page
+     "https://github.com/gnzlbg/jemallocator")
+    (synopsis
+     "Rust allocator backed by jemalloc")
+    (description
+     "This package provides a Rust allocator backed by jemalloc.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-json-0.11
   (package
     (name "rust-json")
-- 
2.24.1

From f7d87203ac4cfcc13f1343d32c8ef3beee8a2e6a Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:18:30 -0800
Subject: [PATCH 179/263] gnu: Add rust-nom-4.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d4f5f648f5..a22d67976c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4913,6 +4913,40 @@ implementation (which is unstable / requires nightly).")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-nom-4.2
+  (package
+    (name "rust-nom")
+    (version "4.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "nom" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1mkvby8b4m61p4g1px0pwr58yfkphyp1jcfbp4qfp7l6iqdaklia"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-lexical-core" ,rust-lexical-core-0.4)
+        ("rust-memchr" ,rust-memchr-2.2)
+        ("rust-regex" ,rust-regex-1.1))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.2)
+        ("rust-doc-comment" ,rust-doc-comment-0.3)
+        ("rust-jemallocator" ,rust-jemallocator-0.3)
+        ("rust-version-check" ,rust-version-check-0.9))))
+    (home-page "https://github.com/Geal/nom")
+    (synopsis
+     "Byte-oriented, zero-copy, parser combinators library")
+    (description
+     "This package provides a byte-oriented, zero-copy, parser
+combinators library.")
+    (license license:expat)))
+
 (define-public rust-num-complex-0.2
   (package
     (name "rust-num-complex")
-- 
2.24.1

From 7dc07aad835e200b379afad7acc90cba39e0c8bd Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:20:36 -0800
Subject: [PATCH 180/263] gnu: Add rust-cexpr-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a22d67976c..e065ae919d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -929,6 +929,33 @@ archive to be linked into Rustcode.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-cexpr-0.3
+  (package
+    (name "rust-cexpr")
+    (version "0.3.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "cexpr" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1by64ini3f058pwad3immx5cc12wr0m0kwgaxa8apzym03mj9ym7"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-nom" ,rust-nom-4.2))
+       #:cargo-development-inputs
+       (("rust-clang-sys" ,rust-clang-sys-0.28))))
+    (home-page
+     "https://github.com/jethrogb/rust-cexpr")
+    (synopsis "C expression parser and evaluator")
+    (description
+     "This package provides a C expression parser and evaluator.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-chrono-0.4
   (package
     (name "rust-chrono")
-- 
2.24.1

From cbd619e84ef79c096330af73974d371079d7d080 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:24:01 -0800
Subject: [PATCH 181/263] gnu: Add rust-seahash-3.0.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e065ae919d..f69fae280b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7110,6 +7110,30 @@ endian-aware Read/Write traits for byte buffers.")
 Pwrite traits from the scroll crate.")
     (license license:expat)))
 
+(define-public rust-seahash-3.0
+  (package
+    (name "rust-seahash")
+    (version "3.0.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "seahash" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1pr8ijnxnp68ki4m4740yc5mr01zijf86yx07wbsqzwiyhghdmhq"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (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-security-framework-sys-0.3
   (package
     (name "rust-security-framework-sys")
-- 
2.24.1

From cdc5a26aca02b1b986b1b25214b31325e2ca0063 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:35:44 -0800
Subject: [PATCH 183/263] gnu: Add rust-which-2.0.

* gnu/packages/crates-io.scm (rust-which-2.0): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9e465dc6f1..7ec95acf8a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9780,6 +9780,36 @@ attribute that is not in the shared backend crate.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-which-2.0
+  (package
+    (name "rust-which")
+    (version "2.0.1")
+    (source
+     (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-failure" ,rust-failure-0.1)
+        ("rust-libc" ,rust-libc-0.2.58))
+       #: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
+     "This package provides a Rust equivalent of Unix command \"which\".
+Locate installed execuable in cross platforms.")
+    (license license:expat)))
+
 (define-public rust-widestring-0.4
   (package
     (name "rust-widestring")
-- 
2.24.1

From 697be11dd5d28e97d74cc9c4e3a4cebd2f005b0d Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:36:16 -0800
Subject: [PATCH 184/263] gnu: Add rust-bindgen-0.50.

* gnu/packages/crates-io.scm (rust-bindgen-0.50): New variable.
---
 gnu/packages/crates-io.scm | 45 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7ec95acf8a..cc37a272fe 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -461,6 +461,51 @@ 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
+  (package
+    (name "rust-bindgen")
+    (version "0.50.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
+     `(#:skip-build? #t
+       #: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)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("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-regex" ,rust-regex-1.1)
+        ("rust-shlex" ,rust-shlex-0.1)
+        ("rust-which" ,rust-which-2.0))
+       #:cargo-development-inputs
+       (("rust-clap" ,rust-clap-2)
+        ("rust-diff" ,rust-diff-0.1)
+        ("rust-shlex" ,rust-shlex-0.1))))
+    (home-page
+     "https://rust-lang.github.io/rust-bindgen/")
+    (synopsis
+     "Automatically generates 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-bit-set-0.5
   (package
     (name "rust-bit-set")
-- 
2.24.1

From fceb1fea16db020488b0cedbb72fed332f6d5644 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:26:38 -0800
Subject: [PATCH 182/263] gnu: Add rust-fxhash-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f69fae280b..9e465dc6f1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3114,6 +3114,35 @@ futures-rs library.")
 library.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-fxhash-0.2
+  (package
+    (name "rust-fxhash")
+    (version "0.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "fxhash" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "037mb9ichariqi45xm6mz0b11pa92gj38ba0409z3iz239sns6y3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1.3))
+       #:cargo-development-inputs
+       (("rust-fnv" ,rust-fnv-1.0)
+        ("rust-seahash" ,rust-seahash-3.0))))
+    (home-page "https://github.com/cbreeden/fxhash")
+    (synopsis
+     "Hashing algorithm from hasher used in FireFox and Rustc")
+    (description
+     "This package provides a fast, non-secure, hashing algorithm
+derived from an internal hasher used in FireFox and Rustc.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-gcc-0.3
   (package
     (inherit rust-cc-1.0)
-- 
2.24.1

From 22e6e2d08493f5292d69bdfb7082f2d18d23aa0a Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:41:39 -0800
Subject: [PATCH 186/263] gnu: Add rust-packed-simd-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ec4477dda5..e624addf9c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5414,6 +5414,38 @@ normally prevent moving a type that has been borrowed from.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-packed-simd-0.3
+  (package
+    (name "rust-packed-simd")
+    (version "0.3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "packed_simd" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0822wqf6kzw4ig9ykndg348w2bxkhs3x64brzsvdxh2a1pyajpm8"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-core-arch" ,rust-core-arch-0.1)
+        ("rust-sleef-sys" ,rust-sleef-sys-0.1))
+       #:cargo-development-inputs
+       (("rust-arrayvec" ,rust-arrayvec-0.4)
+        ("rust-paste" ,rust-paste-0.1)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+        ("rust-wasm-bindgen-test"
+         ,rust-wasm-bindgen-test-0.2))))
+    (home-page
+     "https://github.com/rust-lang/packed_simd")
+    (synopsis "Portable Packed SIMD vectors")
+    (description "Portable Packed SIMD vectors.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-parity-wasm-0.40
   (package
     (name "rust-parity-wasm")
-- 
2.24.1

From 9e340d3aa332a333f93991e10376a0fd2ddb72f7 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:40:03 -0800
Subject: [PATCH 185/263] gnu: Add rust-sleef-sys-0.1.

* gnu/packages/crates-io.scm (rust-sleef-sys-0.1): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index cc37a272fe..ec4477dda5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7717,6 +7717,36 @@ data type.")
     (properties '((hidden? . #t)))
     (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.58))
+       #: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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-slog-2.4
   (package
     (name "rust-slog")
-- 
2.24.1

From 9085ab1a4be373154f07e06a1f80b99b9423b895 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:43:55 -0800
Subject: [PATCH 187/263] gnu: Add rust-bytecount-0.5.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e624addf9c..e513ab28ff 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -775,6 +775,36 @@ UTF-8.")
      "This package provides a fast bump allocation arena for Rust.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-bytecount-0.5
+  (package
+    (name "rust-bytecount")
+    (version "0.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bytecount" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0z6a280kiy4kg5v3qw97pbyvwycr17fsm41804i8zpq7nmads3xy"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-packed-simd" ,rust-packed-simd-0.3))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.2)
+        ("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-rand" ,rust-rand-0.4))))
+    (home-page "https://github.com/llogiq/bytecount")
+    (synopsis
+     "Count occurrences of a given byte")
+    (description
+     "Count occurrences of a given byte, or the number of UTF-8 code points,
+in a byte slice, fast.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-byteorder-1.3
   (package
     (name "rust-byteorder")
-- 
2.24.1

From a7a75039a47bb9799b1ac6641db2f081b58dd8cb Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:46:32 -0800
Subject: [PATCH 188/263] gnu: Add rust-aho-corasick-0.7.

* gnu/packages/crates-io.scm (rust-aho-corasick-0.7): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e513ab28ff..b0750085d5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -124,6 +124,30 @@ Rust, using gimli.")
      "Fuzz Rust code with american-fuzzy-lop.")
     (license license:asl2.0)))
 
+(define-public rust-aho-corasick-0.7
+  (package
+    (name "rust-aho-corasick")
+    (version "0.7.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "aho-corasick" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0k1nqabiz37mnfnlrn084qi9yf8pj6a38qgbb3lc5zlr1jp89x76"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-memchr" ,rust-memchr-2.2))))
+    (home-page
+     "https://github.com/BurntSushi/aho-corasick")
+    (synopsis "Fast multiple substring searching")
+    (description
+     "Fast multiple substring searching.")
+    (license `(,license:unlicense ,license:expat))))
+
 (define-public rust-ansi-term-0.11
   (package
     (name "rust-ansi-term")
-- 
2.24.1

From e6948d36437dd54fefb9c2899e265d6942a4e038 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:49:08 -0800
Subject: [PATCH 189/263] gnu: Add rust-encoding-rs-0.8.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b0750085d5..585a4a9637 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2428,6 +2428,38 @@ char, u8 and u16.")
 encodings.")
     (license license:cc0)))
 
+(define-public rust-encoding-rs-0.8
+  (package
+    (name "rust-encoding-rs")
+    (version "0.8.17")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "encoding_rs" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1v902qqnbd37vdq4rjvp6k05wmghrasfdcjy30gp1xpjg5f7hma1"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-packed-simd" ,rust-packed-simd-0.3)
+        ("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-json" ,rust-serde-json-1.0))))
+    (home-page "https://docs.rs/encoding_rs/")
+    (synopsis
+     "Gecko-oriented implementation of the Encoding Standard")
+    (description
+     "This package provides a Gecko-oriented implementation of the Encoding
+Standard.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-env-logger-0.6
   (package
     (name "rust-env-logger")
-- 
2.24.1

From a4c07a885c00231411978b86375d7de3a94ce108 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:51:22 -0800
Subject: [PATCH 190/263] gnu: Add rust-encoding-rs-io-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 585a4a9637..a0f9996aab 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2460,6 +2460,32 @@ encodings.")
 Standard.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-encoding-rs-io-0.1
+  (package
+    (name "rust-encoding-rs-io")
+    (version "0.1.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "encoding_rs_io" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0b7k9p7inkrcanh7h6q4m278y05gmcwi8p5r43h7grzl5dxfw6cn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-encoding-rs" ,rust-encoding-rs-0.8))))
+    (home-page
+     "https://github.com/BurntSushi/encoding_rs_io")
+    (synopsis
+     "Streaming transcoding for encoding_rs")
+    (description
+     "Streaming transcoding for encoding_rs.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-env-logger-0.6
   (package
     (name "rust-env-logger")
-- 
2.24.1

From 81fd56d18e63813e46499f948b3c5c440b3aab4e Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:53:19 -0800
Subject: [PATCH 191/263] gnu: Add rust-grep-regex-0.1.

* gnu/packages/crates-io.scm (rust-grep-regex-0.1): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a0f9996aab..40c8d98ea1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3599,6 +3599,38 @@ focus on line oriented search.")
     (description "Use PCRE2 with the grep crate.")
     (license `(,license:expat ,license:unlicense))))
 
+(define-public rust-grep-regex-0.1
+  (package
+    (name "rust-grep-regex")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "grep-regex" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1lbb8837gzy25n706mnidaps4jl63ym679zraj8nfy5g02zbz549"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-aho-corasick" ,rust-aho-corasick-0.7)
+        ("rust-grep-matcher" ,rust-grep-matcher-0.1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
+        ("rust-thread-local" ,rust-thread-local-0.3)
+        ("rust-utf8-ranges" ,rust-utf8-ranges-1.0))))
+    (home-page
+     "https://github.com/BurntSushi/ripgrep")
+    (synopsis
+     "Use Rust's regex library with the grep crate")
+    (description
+     "Use Rust's regex library with the grep crate.")
+    (license `(,license:unlicense ,license:expat))))
+
 (define-public rust-half-1.3
   (package
     (name "rust-half")
-- 
2.24.1

From f7b34abede4b6fcdb672390da3e027087f1bedd8 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:55:57 -0800
Subject: [PATCH 192/263] gnu: Add rust-grep-searcher-0.1.

* gnu/package/crates-io.scm (rust-grep-searcher-0.1): New version.
---
 gnu/packages/crates-io.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 40c8d98ea1..935753b863 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3631,6 +3631,41 @@ focus on line oriented search.")
      "Use Rust's regex library with the grep crate.")
     (license `(,license:unlicense ,license:expat))))
 
+(define-public rust-grep-searcher-0.1
+  (package
+    (name "rust-grep-searcher")
+    (version "0.1.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "grep-searcher" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0pj85m7q6k6jpl3q57v1gwq5jxmqnza2xg7jjcxky3q325z8lcjy"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bstr" ,rust-bstr-0.2)
+        ("rust-bytecount" ,rust-bytecount-0.5)
+        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
+        ("rust-encoding-rs-io" ,rust-encoding-rs-io-0.1)
+        ("rust-grep-matcher" ,rust-grep-matcher-0.1)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-memmap" ,rust-memmap-0.7))
+       #:cargo-development-inputs
+       (("rust-grep-regex" ,rust-grep-regex-0.1)
+        ("rust-regex" ,rust-regex-1.1))))
+    (home-page
+     "https://github.com/BurntSushi/ripgrep")
+    (synopsis
+     "Line oriented regex searching as a library")
+    (description
+     "Fast line oriented regex searching as a library.")
+    (license `(,license:unlicense ,license:expat))))
+
 (define-public rust-half-1.3
   (package
     (name "rust-half")
-- 
2.24.1

From 725133488c66c3af75bedff08b03243b2fb03b52 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:58:00 -0800
Subject: [PATCH 193/263] gnu: Add rust-grep-printer-0.1.

* gnu/packages/crates-io.scm (rust-grep-printer-0.1): New variable.
---
 gnu/packages/crates-io.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 935753b863..716f4638f4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3599,6 +3599,42 @@ focus on line oriented search.")
     (description "Use PCRE2 with the grep crate.")
     (license `(,license:expat ,license:unlicense))))
 
+(define-public rust-grep-printer-0.1
+  (package
+    (name "rust-grep-printer")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "grep-printer" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0mxc1yx5sx89f00imlm5d3hxwdgglv9rzwdki8ba50gvq8a2nr8m"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-base64" ,rust-base64-0.10)
+        ("rust-bstr" ,rust-bstr-0.2)
+        ("rust-grep-matcher" ,rust-grep-matcher-0.1)
+        ("rust-grep-searcher" ,rust-grep-searcher-0.1)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-termcolor" ,rust-termcolor-1.0))
+       #:cargo-development-inputs
+       (("rust-grep-regex" ,rust-grep-regex-0.1))))
+    (home-page
+     "https://github.com/BurntSushi/ripgrep")
+    (synopsis
+     "Standard printing of search results")
+    (description
+     "An implementation of the grep crate's Sink trait that provides
+standard printing of search results, similar to grep itself.")
+    (license `(,license:unlicense ,license:expat))))
+
 (define-public rust-grep-regex-0.1
   (package
     (name "rust-grep-regex")
-- 
2.24.1

From 71fc40b200f2ab18713c96cb9a3cef799dd9537d Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 10:07:31 -0800
Subject: [PATCH 195/263] gnu: Add rust-stdweb-0.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2b0670285b..199019a8c7 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8274,6 +8274,49 @@ are met.")
     (properties '((hidden? . #t)))
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-stdweb-0.4
+  (package
+    (name "rust-stdweb")
+    (version "0.4.17")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "stdweb" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "094giad1v81rxxs4izf88ijc9c6w3c7cr5a7cwwr86mc22xn4hy3"))))
+    (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))
+       #:cargo-development-inputs
+       (("rust-rustc-version" ,rust-rustc-version-0.2)
+        ("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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-stdweb-derive-0.5
   (package
     (name "rust-stdweb-derive")
-- 
2.24.1

From 1907690930e29d8cd80111eef56ad0462911bf97 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 09:59:20 -0800
Subject: [PATCH 194/263] gnu: Add rust-grep-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 716f4638f4..2b0670285b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3512,6 +3512,40 @@ path simultaneously, and returning all of the globs that matched.")
 loading crate.")
     (license license:expat)))
 
+(define-public rust-grep-0.2
+  (package
+    (name "rust-grep")
+    (version "0.2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "grep" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1pkhjladybzzciwg0mjk3vjz5fyi76hk0d3hgyzv2jxlyp8v4fyc"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-grep-cli" ,rust-grep-cli-0.1)
+        ("rust-grep-matcher" ,rust-grep-matcher-0.1)
+        ("rust-grep-pcre2" ,rust-grep-pcre2-0.1)
+        ("rust-grep-printer" ,rust-grep-printer-0.1)
+        ("rust-grep-regex" ,rust-grep-regex-0.1)
+        ("rust-grep-searcher" ,rust-grep-searcher-0.1))
+       #:cargo-development-inputs
+       (("rust-termcolor" ,rust-termcolor-1.0)
+        ("rust-walkdir" ,rust-walkdir-2.2))))
+    (home-page
+     "https://github.com/BurntSushi/ripgrep")
+    (synopsis
+     "Line oriented regex searching as a library")
+    (description
+     "Fast line oriented regex searching as a library.")
+    (license `(,license:unlicense ,license:expat))))
+
 (define-public rust-grep-cli-0.1
   (package
     (name "rust-grep-cli")
-- 
2.24.1

From c2a450e015d06f14814a0dadbcbc0f2d3303c754 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 10:13:39 -0800
Subject: [PATCH 196/263] gnu: Add rust-tokio-fs-0.1.

* gnu/packages/crates-io.scm (rust-tokio-fs-0.1): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 199019a8c7..fa603f2653 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9020,6 +9020,38 @@ the current thread.")
     (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
-- 
2.24.1

From 8ed113019b89eadcbd214d54746f292677d1fe89 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 10:15:59 -0800
Subject: [PATCH 197/263] gnu: Add rust-tokio-timer-0.2.

* gnu/packages/crates-io.scm (rust-tokio-timer-0.2): New variable.
---
 gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fa603f2653..2eda34487b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9238,6 +9238,36 @@ the current 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-toml-0.5
   (package
     (name "rust-toml")
-- 
2.24.1

From 616c47dcab9eff558bb902de0189ec958ade4d60 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 10:23:27 -0800
Subject: [PATCH 200/263] gnu: Add rust-tokio-uds-0.2.

* gnu/packages/crates-io.scm (rust-tokio-uds-0.2): New variable.
---
 gnu/packages/crates-io.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index aa3c4b04a5..1c43d142c1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9329,6 +9329,41 @@ pool.")
     (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.58)
+        ("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")
-- 
2.24.1

From 0b97346bd9c84a7af946872ee84e47b28668482a Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 10:18:21 -0800
Subject: [PATCH 198/263] gnu: Add rust-tokio-udp-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2eda34487b..4c8a3b0798 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9268,6 +9268,37 @@ pool.")
     (description "Timer facilities for Tokio.")
     (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-toml-0.5
   (package
     (name "rust-toml")
-- 
2.24.1

From cc69e7d67a14d259df0f95bbf0411145f17a9482 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 10:21:18 -0800
Subject: [PATCH 199/263] gnu: Add rust-mio-uds-0.6.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4c8a3b0798..aa3c4b04a5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5029,6 +5029,36 @@ drop-in replacement for miniz.")
     (description "Lightweight non-blocking IO.")
     (license license:expat)))
 
+(define-public rust-mio-uds-0.6
+  (package
+    (name "rust-mio-uds")
+    (version "0.6.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "mio-uds" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "09gimdbnj7b9yca99pk8lxh9jhl79msj795c8fxi2sqr9slmfqln"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-iovec" ,rust-iovec-0.1)
+        ("rust-libc" ,rust-libc-0.2.58)
+        ("rust-mio" ,rust-mio-0.6))
+       #:cargo-development-inputs
+       (("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page
+     "https://github.com/alexcrichton/mio-uds")
+    (synopsis
+     "Unix domain socket bindings for mio")
+    (description
+     "Unix domain socket bindings for mio.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-miow-0.3
   (package
     (name "rust-miow")
-- 
2.24.1

From e66f5f6f281142ad9f6360d396c175b69e22abfa Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 10:27:24 -0800
Subject: [PATCH 201/263] gnu: Add rust-tokio-trace-core-0.2.

* gnu/packages/crates-io.scm (rust-tokio-trace-core-0.2): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1c43d142c1..290b3c9493 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9298,6 +9298,29 @@ pool.")
     (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.3))))
+    (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")
-- 
2.24.1

From 229120de1e0814241638f3357e31f1d0efbb6895 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 10:31:43 -0800
Subject: [PATCH 202/263] gnu: Add rust-http-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 290b3c9493..ca05a4fc57 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3893,6 +3893,41 @@ compile time.")
      "Internal implementation of the hex-literal crate.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-http-0.1
+  (package
+    (name "rust-http")
+    (version "0.1.17")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "http" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "06icxvrd26r6s7dzjavja7r47hgjb9851wblqh8frxnsy3q29lzf"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bytes" ,rust-bytes-0.4)
+        ("rust-fnv" ,rust-fnv-1.0)
+        ("rust-itoa" ,rust-itoa-0.4))
+       #:cargo-development-inputs
+       (("rust-indexmap" ,rust-indexmap-1.0)
+        ("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-seahash" ,rust-seahash-3.0)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0))))
+    (home-page "https://github.com/hyperium/http")
+    (synopsis
+     "Set of types for representing HTTP requests and responses")
+    (description
+     "This package provides a set of types for representing HTTP
+requests and responses.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-humantime-1.2
   (package
     (name "rust-humantime")
-- 
2.24.1

From 80c181006067ec74f0bf4be2669baf71d0d2fcb4 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 10:34:59 -0800
Subject: [PATCH 203/263] gnu: Add rust-httparse-1.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ca05a4fc57..46db290f58 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3928,6 +3928,32 @@ compile time.")
 requests and responses.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-httparse-1.3
+  (package
+    (name "rust-httparse")
+    (version "1.3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "httparse" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "10vsfx1b8drhif08fbi0ha9d3v1f3h80w42rxh0y3hrvzl64nwz8"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-pico-sys" ,rust-pico-sys-0.0))))
+    (home-page
+     "https://github.com/seanmonstar/httparse")
+    (synopsis
+     "Zero-copy HTTP/1.x parser")
+    (description
+     "This package provides a tiny, safe, speedy, zero-copy HTTP/1.x parser.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-humantime-1.2
   (package
     (name "rust-humantime")
-- 
2.24.1

From 2bf82753687f4dc170a2bda74749be074bf54812 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 10:37:30 -0800
Subject: [PATCH 204/263] gnu: Add rust-tokio-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 46db290f58..3dcdfc77fa 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9029,6 +9029,61 @@ in Rust.")
      "Simple, lightweight template engine.")
     (license `(,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.58)
+        ("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
-- 
2.24.1

From 0f65b0eb79d29925d491398da803c882905ee6c0 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 10:40:29 -0800
Subject: [PATCH 205/263] gnu: Add rust-ignore-0.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3dcdfc77fa..79de9b1d70 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4036,6 +4036,44 @@ SystemTime}}.")
      "IDNA (Internationalizing Domain Names in Applications) and Punycode.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-ignore-0.4
+  (package
+    (name "rust-ignore")
+    (version "0.4.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ignore" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "00mhksl41dnlsjqmka8c5a0m4spwm70ilm1qd9rngwq552hpzicd"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.3)
+        ("rust-globset" ,rust-globset-0.4)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-memchr" ,rust-memchr-2.2)
+        ("rust-regex" ,rust-regex-1.1)
+        ("rust-same-file" ,rust-same-file-1.0)
+        ("rust-thread-local" ,rust-thread-local-0.3)
+        ("rust-walkdir" ,rust-walkdir-2.2)
+        ("rust-winapi-util" ,rust-winapi-util-0.1))
+       #:cargo-development-inputs
+       (("rust-tempfile" ,rust-tempfile-3.0))))
+    (home-page
+     "https://github.com/BurntSushi/ripgrep/tree/master/ignore")
+    (synopsis
+     "Efficiently match ignore files such as .gitignore")
+    (description
+     "This package provides a fast library for efficiently matching
+ignore files such as .gitignore against file paths.")
+    (license `(,license:unlicense ,license:expat))))
+
 (define-public rust-indexmap-1.0
   (package
     (name "rust-indexmap")
-- 
2.24.1

From 9473d8b24f11cb2eeed0b345606d6a18d28945a7 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Mon, 16 Dec 2019 10:28:16 -0800
Subject: [PATCH 206/263] gnu: Add rust-wasm-bindgen-macro-0.2.

* gnu/packages/crates-io.scm (rust-wasm-bindgen-macro-0.2): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 79de9b1d70..1fc25e2403 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -10408,6 +10408,38 @@ in Rust.")
      "Bridging the gap between Rust Futures and JavaScript Promises.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-wasm-bindgen-macro-0.2
+  (package
+    (name "rust-wasm-bindgen-macro")
+    (version "0.2.48")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasm-bindgen-macro" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "07fqzzlbncccmnxbbkg9v4n53qc1lps5g0bb9wq3i9zp9gvm0zgh"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #: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))))
+    (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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-wasm-bindgen-macro-support-0.2
   (package
     (name "rust-wasm-bindgen-macro-support")
-- 
2.24.1

From 6aaf267f05796744d51fde3ec2fb16fc1ef01a1c Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Wed, 18 Dec 2019 09:53:57 -0800
Subject: [PATCH 207/263] gnu: Update rust-openssl-sys-0.9 to 0.9.53.

* gnu/packages/crates-io.scm (rust-openssl-sys-0.9.53): Update version.
---
 gnu/packages/crates-io.scm | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1fc25e2403..470b6f4d8f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5743,14 +5743,16 @@ system for OpenSSL.")
 (define-public rust-openssl-sys-0.9
   (package
     (name "rust-openssl-sys")
-    (version "0.9.50")
+    (version "0.9.53")
     (source
-      (origin
-        (method url-fetch)
-        (uri (crate-uri "openssl-sys" version))
-        (file-name (string-append name "-" version ".crate"))
-        (sha256
-         (base32 "1dn3capgiz77s6rpmc2sf8gadwkmhwgfd6mw4rcnnm9jp36dqhic"))))
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "openssl-sys" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0vvk8vzrc73y8n5rf4yj3x8ygyxjaz7wxrbxiwqi7qy0gyp1cpa6"))))
     (build-system cargo-build-system)
     ;(arguments
     ; `(#:phases
-- 
2.24.1

From 28d45a494be2ed6ad686d3f9652d36c6f12ecdae Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 09:26:50 -0800
Subject: [PATCH 208/263] gnu: Add rust-generic-array-0.12.3.

* gnu/packages/crates-io.scm (rust-generic-array-0.12.3): New variable.
---
 gnu/packages/crates-io.scm | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 470b6f4d8f..7a31bb521b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3354,6 +3354,20 @@ archive to be linked into Rustcode.")
      "Generic types implementing functionality of arrays.")
     (license license:expat)))
 
+(define-public rust-generic-array-0.12.3
+  (package
+    (inherit rust-generic-array-0.13)
+    (version "0.12.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "generic-array" version))
+       (file-name
+        (string-append (package-name rust-generic-array-0.13) "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1v5jg7djicq34nbiv1dwaki71gkny002wyy9qfn3y0hfmrs053y6"))))))
+
 (define-public rust-getopts-0.2
   (package
     (name "rust-getopts")
-- 
2.24.1

From 734c5731d8b24ad7687fd5b677d276c3e59431f6 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 09:28:43 -0800
Subject: [PATCH 209/263] gnu: Add rust-ucd-parse-0.1.

* gnu/packages/crates-io.scm (rust-ucd-parse-0.1): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7a31bb521b..72e49211f5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9777,6 +9777,34 @@ 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.3)
+        ("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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-ucd-trie-0.1
   (package
     (name "rust-ucd-trie")
-- 
2.24.1

From 4db7d13bf07837dd72ec2c323af17c4fe93c6070 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 09:31:35 -0800
Subject: [PATCH 210/263] gnu: Add rust-unicode-segmentation-1.3.

* gnu/packages/crates-io.scm (rust-unicode-segmentation-1.3): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 72e49211f5..31a17b1efd 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9950,6 +9950,33 @@ including Canonical and Compatible Decomposition and Recomposition, as
 described in Unicode Standard Annex #15.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-unicode-segmentation-1.3
+  (package
+    (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"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-quickcheck" ,rust-quickcheck-0.8))))
+    (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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-unicode-width-0.1
   (package
     (name "rust-unicode-width")
-- 
2.24.1

From 1ef32f47b242ca58671b223848d38a261ab5f034 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 09:34:16 -0800
Subject: [PATCH 211/263] gnu: Add rust-rand-os-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 31a17b1efd..c49f814746 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6742,6 +6742,31 @@ useful types and distributions, and some randomness-related algorithms.")
     (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 "rand_os" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "06is69f8rfzs620g5b54k6cgy5yaycrsyqg55flyfrsf8g88733f"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("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-pcg-0.1
   (package
     (name "rust-rand-pcg")
-- 
2.24.1

From 9a0d7e9d46232cc16e5e13769053a74f619763ce Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 09:46:22 -0800
Subject: [PATCH 213/263] gnu: Add rust-phf-shared-0.7.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 98dce641e0..bd53dc8546 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6160,6 +6160,32 @@ algorithm.")
 algorithms.")
     (license `(,license:expat ,license:asl2.0))))
 
+(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
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-siphasher" ,rust-siphasher-0.2)
+        ("rust-unicase" ,rust-unicase-2.4))))
+    (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-pico-sys-0.0
   (package
     (name "rust-pico-sys")
-- 
2.24.1

From d3b455556405849d5a3612ea0e003fa6e6b99996 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 09:51:43 -0800
Subject: [PATCH 215/263] gnu: Add rust-phf-generator-0.7.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8ea3813026..9047f39452 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6160,6 +6160,31 @@ algorithm.")
 algorithms.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-phf-generator-0.7
+  (package
+    (name "rust-phf-generator")
+    (version "0.7.24")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "phf_generator" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0qi62gxk3x3whrmw5c4i71406icqk11qmpgln438p6qm7k4lqdh9"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-phf-shared" ,rust-phf-shared-0.7)
+        ("rust-rand" ,rust-rand-0.4))))
+    (home-page
+     "https://github.com/sfackler/rust-phf")
+    (synopsis "PHF generation logic")
+    (description "PHF generation logic")
+    (license license:expat)))
+
 (define-public rust-phf-shared-0.7
   (package
     (name "rust-phf-shared")
-- 
2.24.1

From 9c79f576d61d8616efaade2bf2c93f3ec086e8cd Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 09:48:39 -0800
Subject: [PATCH 214/263] gnu: Add rust-siphasher-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bd53dc8546..8ea3813026 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8197,6 +8197,28 @@ words, like Python's shlex.")
     (license (list license:asl2.0
                    license:expat))))
 
+(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)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://docs.rs/siphasher")
+    (synopsis
+     "SipHash functions from rust-core < 1.13")
+    (description
+     "SipHash functions from rust-core < 1.13.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-slab-0.4
   (package
     (name "rust-slab")
-- 
2.24.1

From 5a53b936df4e7dd286b476f7a869be117fbfc5a3 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 09:55:19 -0800
Subject: [PATCH 216/263] gnu: Add rust-parking-lot-0.9.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9047f39452..937f692e76 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7818,6 +7818,31 @@ proven statistical guarantees.")
 synchronization primitives.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-parking-lot-0.9
+  (package
+    (inherit rust-parking-lot-0.8)
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parking_lot" version))
+       (file-name
+        (string-append (package-name rust-parking-lot-0.8) "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0lk2vq3hp88ygpgsrypdr3ss71fidnqbykva0csgxhmn5scb2hpq"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lock-api" ,rust-lock-api-0.3)
+        ("rust-parking-lot-core" ,rust-parking-lot-core-0.6))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1.1)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-rustc-version" ,rust-rustc-version-0.2))))
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-parking-lot-core-0.5
   (package
     (name "rust-parking-lot-core")
-- 
2.24.1

From 03eaee9005e5cdf6ae94c22ad64fd3ee4c53c3c8 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 09:57:16 -0800
Subject: [PATCH 217/263] gnu: Add rust-once-cell-1.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 937f692e76..94a312245e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5680,6 +5680,36 @@ slices (@code{.find()}, @code{RevSlice}), strings and other things.
 Things in odds may move to more appropriate crates if we find them.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-once-cell-1.2
+  (package
+    (name "rust-once-cell")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "once-cell" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vdz8xlg3r05w3wfjimnc347hgm54i5nrqf72r4mlp0fcdplh7w9"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-parking-lot" ,rust-parking-lot-0.9))
+       #:cargo-development-inputs
+       (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-regex" ,rust-regex-1.1))))
+    (home-page
+     "https://github.com/matklad/once_cell")
+    (synopsis
+     "Single assignment cells and lazy values")
+    (description
+     "Single assignment cells and lazy values.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-opaque-debug-0.2
   (package
     (name "rust-opaque-debug")
-- 
2.24.1

From 2ed675116b3a84863d9e0e259f3bcc19f4ba254c Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:04:21 -0800
Subject: [PATCH 218/263] gnu: Add rust-errno-dragonfly-0.1.

* gnu/packages/crates-io.scm (rust-errno-dragonfly-0.1): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 94a312245e..8626d18ce1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2573,6 +2573,33 @@ is configured via an environment variable.")
      "Type-erased Serialize and Serializer traits.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-errno-dragonfly-0.1
+  (package
+    (name "rust-errno-dragonfly")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "errno-dragonfly" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0rshlc00nv45f14v2l1w0ma2nf1jg5j7q9pvw7hh018r6r73bjhl"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2.58)
+        ("rust-gcc" ,rust-gcc-0.3))))
+    (home-page
+     "https://github.com/mneumann/errno-dragonfly-rs")
+    (synopsis
+     "Exposes errno functionality to stable Rust on DragonFlyBSD")
+    (description
+     "Exposes errno functionality to stable Rust on DragonFlyBSD.")
+    (license license:expat)))
+
 (define-public rust-failure-0.1
   (package
     (name "rust-failure")
-- 
2.24.1

From 68c97861013e2fb123a2fd4da3a4a64d034b82c3 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 09:42:59 -0800
Subject: [PATCH 212/263] gnu: Add rust-mac-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c49f814746..98dce641e0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4827,6 +4827,29 @@ implementation of LZMA and xz stream encoding/decoding.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-mac-0.1
+  (package
+    (name "rust-mac")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "mac" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "194vc7vrshqff72rl56f9xgb0cazyl4jda7qsv31m5l6xx7hq7n4"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page
+     "https://github.com/reem/rust-mac")
+    (synopsis
+     "Collection of great and ubiqutitous macros")
+    (description
+     "This package provides a collection of great and ubiqutitous macros.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-maplit-1.0
   (package
     (name "rust-maplit")
-- 
2.24.1

From dea5ac2522012b72be7ee00a88b2e402cb524263 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 07:53:34 -0800
Subject: [PATCH 158/263] gnu: Add rust-encoding-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b5111e9a12..d50e29d93e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2023,6 +2023,42 @@ floating-point primitives to an @code{io::Write}.")
 char, u8 and u16.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-encoding-0.2
+  (package
+    (name "rust-encoding")
+    (version "0.2.33")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "encoding" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1v1ndmkarh9z3n5hk53da4z56hgk9wa5kcsm7cnx345raqw983bb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-encoding-index-japanese"
+         ,rust-encoding-index-japanese-1.20141219)
+        ("rust-encoding-index-korean"
+         ,rust-encoding-index-korean-1.20141219)
+        ("rust-encoding-index-simpchinese"
+         ,rust-encoding-index-simpchinese-1.20141219)
+        ("rust-encoding-index-singlebyte"
+         ,rust-encoding-index-singlebyte-1.20141219)
+        ("rust-encoding-index-tradchinese"
+         ,rust-encoding-index-tradchinese-1.20141219))
+       #:cargo-development-inputs
+       (("rust-getopts" ,rust-getopts-0.2))))
+    (home-page
+     "https://github.com/lifthrasiir/rust-encoding")
+    (synopsis "Character encoding support for Rust")
+    (description
+     "Character encoding support for Rust.")
+    (license license:expat)))
+
 (define-public rust-encoding-index-japanese-1.20141219
   (package
     (name "rust-encoding-index-japanese")
-- 
2.24.1

From 658496204f26a7631d53532c230241f767bb2c8e Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:06:04 -0800
Subject: [PATCH 219/263] gnu: Add rust-errno-2.4.

* gnu/packages/crates-io.scm (rust-errno-2.4): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8626d18ce1..47bbabf5fe 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2573,6 +2573,34 @@ is configured via an environment variable.")
      "Type-erased Serialize and Serializer traits.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-errno-2.4
+  (package
+    (name "rust-errno")
+    (version "0.2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "errno" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0kn8mlygxxr02cm97401nppd2dbkwsalpcbai67rh6yh3rh73862"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-errno-dragonfly" ,rust-errno-dragonfly-0.1)
+        ("rust-libc" ,rust-libc-0.2.58)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page
+     "https://github.com/lfairy/rust-errno")
+    (synopsis
+     "Cross-platform interface to the @code{errno} variable")
+    (description
+     "Cross-platform interface to the @code{errno} variable.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-errno-dragonfly-0.1
   (package
     (name "rust-errno-dragonfly")
-- 
2.24.1

From a5ba982c3f70b78fde215dcfc60ec11ef9f3b827 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:07:37 -0800
Subject: [PATCH 220/263] gnu: Add rust-error-chain-0.12.

* gnu/packages/crates-io.scm (rust-error-chain-0.12): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 47bbabf5fe..9bb02699e2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2628,6 +2628,34 @@ is configured via an environment variable.")
      "Exposes errno functionality to stable Rust on DragonFlyBSD.")
     (license license:expat)))
 
+(define-public rust-error-chain-0.12
+  (package
+    (name "rust-error-chain")
+    (version "0.12.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "error-chain" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ndpw1ny2kxqpw6k1shq8k56z4vfpk4xz9zr8ay988k0rffrxd1s"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-backtrace" ,rust-backtrace-0.3))
+       #:cargo-development-inputs
+       (("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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-failure-0.1
   (package
     (name "rust-failure")
-- 
2.24.1

From 16dbaefae5ecd3467f15b55a5af3c6d5d8aa9d48 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:12:12 -0800
Subject: [PATCH 221/263] gnu: Add rust-caps-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9bb02699e2..e369a8ebed 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -938,6 +938,34 @@ little-endian.")
      "The ChaCha family of stream ciphers.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-caps-0.3
+  (package
+    (name "rust-caps")
+    (version "0.3.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "caps" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vplgzx8nifzr3f0l8ca77jqnz3fdymdg0ickacgdvawc44a3n90"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-errno" ,rust-errno-2.4)
+        ("rust-error-chain" ,rust-error-chain-0.12)
+        ("rust-libc" ,rust-libc-0.2.58))))
+    (home-page "https://github.com/lucab/caps-rs")
+    (synopsis
+     "Pure-Rust library to work with Linux capabilities")
+    (description
+     "This package provides a pure-Rust library to work with Linux
+capabilities")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-cargon-0.0
   (package
     (name "rust-cargon")
-- 
2.24.1

From eb76f00883f5ebf65f9712b6251e06594b18703d Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:15:05 -0800
Subject: [PATCH 222/263] gnu: Add rust-sysctl-0.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e369a8ebed..071a7a57a5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9035,6 +9035,35 @@ and Jaro-Winkler.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(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.58)
+        ("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-tar-0.4
   (package
     (name "rust-tar")
-- 
2.24.1

From 6f8d1802248cb1690657beb0a48aa60cb0e1d1a3 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:16:46 -0800
Subject: [PATCH 223/263] gnu: Add rust-nix-0.15.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 071a7a57a5..f860f18ed5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5495,6 +5495,41 @@ pairs in insertion order.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-nix-0.15
+  (package
+    (name "rust-nix")
+    (version "0.15.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "nix" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0aa2l7wg9pzx24ks4p97gdy09a4hhs1sr9drxnm75v906d7hnbiv"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-libc" ,rust-libc-0.2.58)
+        ("rust-void" ,rust-void-1.0))
+       #:cargo-development-inputs
+       (("rust-bytes" ,rust-bytes-0.4)
+        ("rust-caps" ,rust-caps-0.3)
+        ("rust-cc" ,rust-cc-1.0)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-sysctl" ,rust-sysctl-0.4)
+        ("rust-tempfile" ,rust-tempfile-3.0))))
+    (home-page "https://github.com/nix-rust/nix")
+    (synopsis "Rust friendly bindings to *nix APIs")
+    (description
+     "Rust friendly bindings to *nix APIs.")
+    (license license:expat)))
+
 (define-public rust-nodrop-0.1
   (package
     (name "rust-nodrop")
-- 
2.24.1

From 3f21b33909c925e24239835702ae2c079522ad81 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:19:26 -0800
Subject: [PATCH 224/263] gnu: Add rust-os-pipe-0.8.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f860f18ed5..a04f6997c9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5985,6 +5985,33 @@ system for OpenSSL.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-os-pipe-0.8
+  (package
+    (name "rust-os-pipe")
+    (version "0.8.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "os-pipe" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "049ax8shxik7mm68r2nf7xnrcq3z3p7hz54sbrcxwywxqsjdzs41"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-nix" ,rust-nix-0.15)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page
+     "https://github.com/oconnor663/os_pipe.rs")
+    (synopsis
+     "Cross-platform library for opening OS pipes")
+    (description
+     "A cross-platform library for opening OS pipes.")
+    (license license:expat)))
+
 (define-public rust-owning-ref-0.4
   (package
     (name "rust-owning-ref")
-- 
2.24.1

From fdd5c57810b18dea4824edea444ba7a3ec8d0457 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:20:38 -0800
Subject: [PATCH 225/263] gnu: Add rust-shared-child-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a04f6997c9..5aac781c70 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8429,6 +8429,33 @@ synchronization primitives.")
      "Minimal implementation of SHA1 for Rust.")
     (license license:bsd-3)))
 
+(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-shlex-0.1
   (package
     (name "rust-shlex")
-- 
2.24.1

From 74472a23055071fda3915dfbefd2847329f040b9 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:22:32 -0800
Subject: [PATCH 226/263] gnu: Add rust-duct-0.13.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5aac781c70..1e42c9a613 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -2207,6 +2207,37 @@ floating-point primitives to an @code{io::Write}.")
          (base32
           "0g96cap6si1g6wi62hsdk2fnj3sf5vd4i97zj6163j8hhnsl3n0d"))))))
 
+(define-public rust-duct-0.13
+  (package
+    (name "rust-duct")
+    (version "0.13.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "duct" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ir3884i1yznkfdccqqbcb9v5sdpcgxlv41hgzncrqaljv18r0wj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-once-cell" ,rust-once-cell-1.2)
+        ("rust-os-pipe" ,rust-os-pipe-0.8)
+        ("rust-shared-child" ,rust-shared-child-0.3))
+       #:cargo-development-inputs
+       (("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page
+     "https://github.com/oconnor663/duct.rs")
+    (synopsis
+     "Library for running child processes")
+    (description
+     "A library for running child processes.")
+    (license license:expat)))
+
 (define-public rust-either-1.5
   (package
     (name "rust-either")
-- 
2.24.1

From d8974b4326093a90ce8873496ab1c34e253465b4 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:24:03 -0800
Subject: [PATCH 227/263] gnu: Add rust-rustfix-0.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1e42c9a613..7e6d1d74ec 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7666,6 +7666,42 @@ require unstable language features.")
 rustc compiler.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-rustfix-0.4
+  (package
+    (name "rust-rustfix")
+    (version "0.4.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rustfix" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "01zn0ysnass3mmrhxk90584y713vjfq1x97mi4saac99g9vsql3i"))))
+    (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-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")
+    (description
+     "Automatically apply the suggestions made by rustc.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-rusty-fork-0.2
   (package
     (name "rust-rusty-fork")
-- 
2.24.1

From 4cee9c863fd293c279a50a8e7d10a74e7954689f Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:26:34 -0800
Subject: [PATCH 228/263] gnu: Add rust-tester-0.5.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7e6d1d74ec..cdc4e6bbcc 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9417,6 +9417,35 @@ return values to @code{std::io::Result} to indicate success or failure.")
 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")
-- 
2.24.1

From a667f4f06d31d9197cb5592ef90ef3d1b8d45c69 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:27:38 -0800
Subject: [PATCH 229/263] gnu: Add rust-compiletest-rs-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index cdc4e6bbcc..df964b8357 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1349,6 +1349,46 @@ need compiler-rt intrinsics.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-compiletest-rs-0.3
+  (package
+    (name "rust-compiletest-rs")
+    (version "0.3.22")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "compiletest-rs" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1di7kl2zv7jcwqq343aafqhn31gfa600zh4mi6cp10mn6a9wq3pl"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-diff" ,rust-diff-0.1)
+        ("rust-filetime" ,rust-filetime-0.2)
+        ("rust-getopts" ,rust-getopts-0.2)
+        ("rust-libc" ,rust-libc-0.2.58)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-miow" ,rust-miow-0.3)
+        ("rust-regex" ,rust-regex-1.1)
+        ("rust-rustfix" ,rust-rustfix-0.4)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-tempfile" ,rust-tempfile-3.0)
+        ("rust-tester" ,rust-tester-0.5)
+        ("rust-winapi" ,rust-winapi-0.3))))
+    (home-page
+     "https://github.com/laumann/compiletest-rs")
+    (synopsis
+     "Compiletest utility from the Rust compiler")
+    (description
+     "The compiletest utility from the Rust compiler as a standalone testing
+harness.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-console-0.7
   (package
     (name "rust-console")
-- 
2.24.1

From 0563aec1592d0d537f12dbeb0f95d085bc3664e9 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:31:23 -0800
Subject: [PATCH 231/263] gnu: Add rust-phf-0.7.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a425b42ed4..cdff657643 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6434,6 +6434,33 @@ algorithm.")
 algorithms.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-phf-0.7
+  (package
+    (name "rust-phf")
+    (version "0.7.24")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "phf" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "066xwv4dr6056a9adlkarwp4n94kbpwngbmd47ngm3cfbyw49nmk"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-phf-macros" ,rust-phf-macros-0.7)
+        ("rust-phf-shared" ,rust-phf-shared-0.7))))
+    (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-generator-0.7
   (package
     (name "rust-phf-generator")
-- 
2.24.1

From c09940b9e4db8adb7b0f2ec943a3fd22d44f407b Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:30:23 -0800
Subject: [PATCH 230/263] gnu: Add rust-phf-macros-0.7.

* gnu/packages/crates-io.scm (rust-phf-macros-0.7): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index df964b8357..a425b42ed4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6459,6 +6459,38 @@ algorithms.")
     (description "PHF generation logic")
     (license license:expat)))
 
+(define-public rust-phf-macros-0.7
+  (package
+    (name "rust-phf-macros")
+    (version "0.7.24")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "phf_macros" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0dzylcy14ksy60h265l433j9ra8xhg8xlq3pd5qk658m6f1mxd5x"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-phf-generator" ,rust-phf-generator-0.7)
+        ("rust-phf-shared" ,rust-phf-shared-0.7)
+        ("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-syn" ,rust-syn-0.15))
+       #:cargo-development-inputs
+       (("rust-compiletest-rs" ,rust-compiletest-rs-0.3))))
+    (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-shared-0.7
   (package
     (name "rust-phf-shared")
-- 
2.24.1

From 729b6d41f670bf294cfca3f3c3d06675d6097351 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:33:37 -0800
Subject: [PATCH 232/263] gnu: Add rust-new-debug-unreachable-1.0.

* gnu/packages/crates-io.scm (rust-new-debug-unreachable-1.0): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index cdff657643..521249f80b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5566,6 +5566,30 @@ pairs in insertion order.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-new-debug-unreachable-1.0
+  (package
+    (name "rust-new-debug-unreachable")
+    (version "1.0.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "new_debug_unreachable" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0c1br326qa0rrzxrn2rd5ah7xaprig2i9r4rwsx06vnvc1f003zl"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page
+     "https://github.com/mbrubeck/rust-debug-unreachable")
+    (synopsis
+     "Panic in debug, @code{intrinsics::unreachable()} in release")
+    (description
+     "Panic in debug, @code{intrinsics::unreachable() }in
+release (fork of debug_unreachable)")
+    (license license:expat)))
+
 (define-public rust-nix-0.15
   (package
     (name "rust-nix")
-- 
2.24.1

From 27420620d26a1dfb7cdc57b2b0964b5c501ee538 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:37:38 -0800
Subject: [PATCH 234/263] gnu: Add rust-string-cache-shared-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index da08e8120e..ddf48d6c6c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9200,6 +9200,29 @@ crate.")
     (license (list license:unlicense
                    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)
+    (arguments `(#:skip-build? #t))
+    (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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-strsim-0.9
   (package
     (name "rust-strsim")
-- 
2.24.1

From 2171062b6a52b63cb771ea40fb43e2c55ba4b4b2 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:35:52 -0800
Subject: [PATCH 233/263] gnu: Add rust-precomputed-hash-0.1.

* gnu/packages/crates-io.scm (rust-precomputed-hash-0.1): New variable.
---
 gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 521249f80b..da08e8120e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6714,6 +6714,30 @@ 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 "precomputed-hash" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "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)))
+
 ;; Cyclic dependencies with rust-demo-hack.
 (define-public rust-proc-macro-hack-0.5
   (package
-- 
2.24.1

From 92998881d500711b32ea534f012e56c360c74a3d Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:42:57 -0800
Subject: [PATCH 236/263] gnu: Add rust-string-cache-0.7.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 89f5ca7824..9b9a131f67 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9200,6 +9200,42 @@ crate.")
     (license (list license:unlicense
                    license:expat))))
 
+(define-public rust-string-cache-0.7
+  (package
+    (name "rust-string-cache")
+    (version "0.7.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "string_cache" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "08sly9s92l0g0ai1iyj9pawl05xbwm4m8kl3zqkv2wkijw4h3mr5"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-string-cache-codegen-0.4
   (package
     (name "rust-string-cache-codegen")
-- 
2.24.1

From 20a86505534c6447f229814b85171ebec39c1d03 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:40:02 -0800
Subject: [PATCH 235/263] gnu: Add rust-string-cache-codegen-0.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ddf48d6c6c..89f5ca7824 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9200,6 +9200,38 @@ crate.")
     (license (list license:unlicense
                    license:expat))))
 
+(define-public rust-string-cache-codegen-0.4
+  (package
+    (name "rust-string-cache-codegen")
+    (version "0.4.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "string-cache-codegen" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1npl9zq9cd16d7irksblgk7l7g6qknnzsmr12hrhky2fcpp1xshy"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-phf-generator" ,rust-phf-generator-0.7)
+        ("rust-phf-shared" ,rust-phf-shared-0.7)
+        ("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-string-cache-shared-0.3
   (package
     (name "rust-string-cache-shared")
-- 
2.24.1

From 750629eaf93569d99875d0fea92bf71550206aaa Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:45:24 -0800
Subject: [PATCH 237/263] gnu: Add rust-tendril-0.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9b9a131f67..97668c942f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9527,6 +9527,37 @@ directories.")
     (license (list license:asl2.0
                    license:expat))))
 
+(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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-term-0.4
   (package
     (name "rust-term")
-- 
2.24.1

From ee493601445001753bfff1c06abfc21dfd9c6d6d Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:49:30 -0800
Subject: [PATCH 239/263] gnu: Add rust-markup5ever-0.8.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5cd65e5bc7..141697e59a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5053,6 +5053,41 @@ implementation of LZMA and xz stream encoding/decoding.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-markup5ever-0.8
+  (package
+    (name "rust-markup5ever")
+    (version "0.8.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "markup5ever" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "08ayl9aqjnmf7ly1ipy6dk3wjvyfn4w51l40jzh1fh984ykldbzi"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-log" ,rust-log-0.4)
+        ("rust-phf" ,rust-phf-0.7)
+        ("rust-string-cache" ,rust-string-cache-0.7)
+        ("rust-tendril" ,rust-tendril-0.4))
+       #:cargo-development-inputs
+       (("rust-phf-codegen" ,rust-phf-codegen-0.7)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-string-cache-codegen"
+         ,rust-string-cache-codegen-0.4))))
+    (home-page "https://github.com/servo/html5ever")
+    (synopsis
+     "Common code for xml5ever and html5ever")
+    (description
+     "Common code for xml5ever and html5ever.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-matches-0.1
   (package
     (name "rust-matches")
-- 
2.24.1

From 6ed4fa224b2d12f4c4d5ef7c672236ec98d22ce6 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:47:08 -0800
Subject: [PATCH 238/263] gnu: Add rust-phf-codegen-0.7.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 97668c942f..5cd65e5bc7 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6485,6 +6485,31 @@ algorithms.")
      "Runtime support for perfect hash function data structures.")
     (license license:expat)))
 
+(define-public rust-phf-codegen-0.7
+  (package
+    (name "rust-phf-codegen")
+    (version "0.7.24")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "phf-codegen" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0zjiblicfm0nrmr2xxrs6pnf6zz2394wgch6dcbd8jijkq98agmh"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-phf-generator" ,rust-phf-generator-0.7)
+        ("rust-phf-shared" ,rust-phf-shared-0.7))))
+    (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-generator-0.7
   (package
     (name "rust-phf-generator")
-- 
2.24.1

From 8684df1bcaf948ea7e3884d2b3e276f1b9a32bf4 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:50:54 -0800
Subject: [PATCH 240/263] gnu: Add rust-html5ever-0.23.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 141697e59a..ac80c7f839 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4089,6 +4089,41 @@ compile time.")
      "Internal implementation of the hex-literal crate.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-html5ever-0.23
+  (package
+    (name "rust-html5ever")
+    (version "0.23.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "html5ever" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1dx8k7synrmf3fl6gcfm5q1cybfglvhc9xnvly3s5xcc0b45mrjw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-log" ,rust-log-0.4)
+        ("rust-mac" ,rust-mac-0.1)
+        ("rust-markup5ever" ,rust-markup5ever-0.8))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.2)
+        ("rust-proc-macro2" ,rust-proc-macro2-0.4)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
+        ("rust-rustc-test" ,rust-rustc-test-0.3)
+        ("rust-syn" ,rust-syn-0.15)
+        ("rust-typed-arena" ,rust-typed-arena-1.4))))
+    (home-page "https://github.com/servo/html5ever")
+    (synopsis
+     "High-performance browser-grade HTML5 parser")
+    (description
+     "High-performance browser-grade HTML5 parser.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-http-0.1
   (package
     (name "rust-http")
-- 
2.24.1

From e7ff6da8acc25925db78729fbc4c4ce0e596ecac Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 10:52:56 -0800
Subject: [PATCH 241/263] gnu: Add rust-pulldown-cmark-0.4.

* gnu/packages/crates-io.scm (rust-pulldown-cmark-0.4): New variable.
---
 gnu/packages/crates-io.scm | 68 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ac80c7f839..f06ea525ea 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6962,6 +6962,40 @@ in terms of the upstream unstable API.")
      "Hypothesis-like property-based testing and shrinking.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-pulldown-cmark-0.4
+  (package
+    (name "rust-pulldown-cmark")
+    (version "0.4.1")
+    (source
+     (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
+       (("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.3)
+        ("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-quick-error-1.2
   (package
     (name "rust-quick-error")
@@ -11163,6 +11197,40 @@ If that fails, no determination is made, and calls return None.")
          (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 in READMEs are updated")
+    (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")
-- 
2.24.1

From bff09b74705552aabf3ac07e7c1b64b33e58db83 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 20:57:19 -0800
Subject: [PATCH 242/263] gnu: Add rust-model-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f06ea525ea..221bc11b32 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5483,6 +5483,33 @@ IOCP and Async I/O abstractions.")
          (base32
           "06g9b8sqlh5gxakwqq4rrib07afwanfnxgxajrldwcgk3hxjy7wc"))))))
 
+(define-public rust-model-0.1
+  (package
+    (name "rust-model")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "model" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0kx6hy5i1fn2qs4x6hpng9jixpm68g83vm24z8bqqscr317yinb6"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-permutohedron" ,rust-permutohedron-0.2)
+        ("rust-proptest" ,rust-proptest-0.9))))
+    (home-page "https://github.com/spacejam/model")
+    (synopsis
+     "Model-based testing for data structures")
+    (description
+     "Model-based testing for data structures, with linearizability
+checking.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-modifier-0.1
   (package
     (name "rust-modifier")
-- 
2.24.1

From d3752238f00a3ab4eb811702e70ee5e20b973a48 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 20:58:45 -0800
Subject: [PATCH 243/263] gnu: Add rust-arc-swap-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 221bc11b32..c5581ca39b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -218,6 +218,37 @@ text or blue underlined text, on ANSI terminals.")
      "Approximate floating point equality comparisons and assertions.")
     (license license:asl2.0)))
 
+(define-public rust-arc-swap-0.3
+  (package
+    (name "rust-arc-swap")
+    (version "0.3.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "arc-swap" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ha8724dpki985v52ifq5sd98xvpa5q51hyma52di75dbqbn4imw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-development-inputs
+       (("rust-crossbeam" ,rust-crossbeam-0.7)
+        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
+        ("rust-itertools" ,rust-itertools-0.8)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-model" ,rust-model-0.1)
+        ("rust-num-cpus" ,rust-num-cpus-1.10)
+        ("rust-parking-lot" ,rust-parking-lot-0.8)
+        ("rust-proptest" ,rust-proptest-0.9)
+        ("rust-version-sync" ,rust-version-sync-0.8))))
+    (home-page "https://github.com/vorner/arc-swap")
+    (synopsis "Atomically swappable Arc")
+    (description "Atomically swappable Arc")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-arrayvec-0.4
   (package
     (name "rust-arrayvec")
-- 
2.24.1

From 117147a4350fdb663e50ae2f219db90aa3b3e871 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 21:02:01 -0800
Subject: [PATCH 244/263] gnu: Add rust-signal-hook-registry-1.0.

* gnu/packages/crates-io.scm (rust-signal-hook-registry-1.0): New variable.
---
 gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c5581ca39b..ad3b7a0771 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8878,6 +8878,34 @@ words, like Python's shlex.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-signal-hook-registry-1.0
+  (package
+    (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
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-arc-swap" ,rust-arc-swap-0.3)
+        ("rust-libc" ,rust-libc-0.2.58))
+       #: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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-siphasher-0.2
   (package
     (name "rust-siphasher")
-- 
2.24.1

From ec62d51931b0c299eed694572d2844cf05bafdc3 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 21:06:14 -0800
Subject: [PATCH 246/263] gnu: Add rust-term-0.5.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 160c7119f3..6ef399b8c4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9826,6 +9826,20 @@ directories.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-term-0.5
+  (package
+    (inherit rust-term-0.4)
+    (version "0.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "term" version))
+       (file-name
+        (string-append (package-name rust-term-0.4) "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0hkgjrfisj6zjwz525639pmsvzhlc48a0h65nw87qrdp6jihdlgd"))))))
+
 (define-public rust-term-0.5.1
   (package
     (inherit rust-term-0.4)
-- 
2.24.1

From cc60563bd4d42654769eb12b39a3305dfbeb6d40 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 21:04:26 -0800
Subject: [PATCH 245/263] gnu: Add rust-signal-hook-0.1.

* gnu/packages/crates-io.scm (rust-signal-hook-0.1): New variable.
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ad3b7a0771..160c7119f3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8878,6 +8878,38 @@ 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.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "signal-hook" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0nlw1gwi58ppds5klyy8vp2ickx3majvdp1pcdz8adm4zpqmiavj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-futures" ,rust-futures-0.1)
+        ("rust-libc" ,rust-libc-0.2.58)
+        ("rust-mio" ,rust-mio-0.6)
+        ("rust-mio-uds" ,rust-mio-uds-0.6)
+        ("rust-signal-hook-registry" ,rust-signal-hook-registry-1.0)
+        ("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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-signal-hook-registry-1.0
   (package
     (name "rust-signal-hook-registry")
-- 
2.24.1

From f9a304c7a85b2e5a1a1c1a601438004d7b4835c7 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Thu, 19 Dec 2019 21:16:27 -0800
Subject: [PATCH 247/263] gnu: Add rust-ordermap-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6ef399b8c4..c15d68b9bf 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6208,6 +6208,40 @@ system for OpenSSL.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-ordermap-0.3
+  (package
+    (name "rust-ordermap")
+    (version "0.3.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ordermap" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0qr0a50l0qakbjcck93qdayd0xl8gzpp42x0n7b75cs4ybsx6vm8"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-serde" ,rust-serde-1.0))
+       #:cargo-development-inputs
+       (("rust-fnv" ,rust-fnv-1.0)
+        ("rust-itertools" ,rust-itertools-0.8)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-quickcheck" ,rust-quickcheck-0.8)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-serde-test" ,rust-serde-test-1.0))))
+    (home-page "https://github.com/bluss/indexmap")
+    (synopsis
+     "Hash table with consistent order and fast iteration")
+    (description
+     "This package provides a hash table with consistent order and fast
+iteration.  NOTE: This crate was renamed to indexmap.  Please use it under its
+new name.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-os-pipe-0.8
   (package
     (name "rust-os-pipe")
-- 
2.24.1

From 43ed46f973d01eb1911209ab2b3b00a15c0309b0 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 20 Dec 2019 08:06:22 -0800
Subject: [PATCH 248/263] gnu: Add rust-getrandom-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c15d68b9bf..4677785861 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3601,6 +3601,37 @@ archive to be linked into Rustcode.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-getrandom-0.1
+  (package
+    (name "rust-getrandom")
+    (version "0.1.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "getrandom" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0macrjfkgsjn6ikr94agapp4fkxmr8w7y2g7qis4icc4a17cwp76"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-libc" ,rust-libc-0.2.58)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-stdweb" ,rust-stdweb-0.4)
+        ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2))))
+    (home-page
+     "https://github.com/rust-random/getrandom")
+    (synopsis
+     "Retrieve random data from system source")
+    (description
+     "This package provides a small cross-platform library for
+retrieving random data from system source.")
+    (license `(,license:expat ,license:asl2.0))))
+
 (define-public rust-gimli-0.18
   (package
     (name "rust-gimli")
-- 
2.24.1

From 3e204042fb0b9efd70800ddee53b507ad738efd1 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 20 Dec 2019 08:14:22 -0800
Subject: [PATCH 250/263] gnu: Add rust-git2-0.9.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 21bf702c9a..729716663b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3686,6 +3686,47 @@ retrieving random data from system source.")
 DWARF debugging format.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-git2-0.9
+  (package
+    (name "rust-git2")
+    (version "0.9.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "git2" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0cayf5w7wkvclvs8brbi7lyfxbdklwls9s49mpf2brl655yjwjwj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-libc" ,rust-libc-0.2.58)
+        ("rust-libgit2-sys" ,rust-libgit2-sys-0.8)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-openssl-probe" ,rust-openssl-probe-0.1)
+        ("rust-openssl-sys" ,rust-openssl-sys-0.9)
+        ("rust-url" ,rust-url-1.7))
+       #:cargo-development-inputs
+       (("rust-docopt" ,rust-docopt-1.1)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-tempdir" ,rust-tempdir-0.3)
+        ("rust-thread-id" ,rust-thread-id-3.3)
+        ("rust-time" ,rust-time-0.1))))
+    (home-page
+     "https://github.com/rust-lang/git2-rs")
+    (synopsis
+     "Rust bindings to libgit2")
+    (description
+     "Bindings to libgit2 for interoperating with git repositories.
+This library is both threadsafe and memory safe and allows both
+reading and writing git repositories.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-glob-0.3
   (package
     (name "rust-glob")
-- 
2.24.1

From c8b07e163afa569563b9050c7e4351da9b13301d Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 20 Dec 2019 08:12:00 -0800
Subject: [PATCH 251/263] gnu: Add rust-crates-index-0.13.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 729716663b..5349b0b00d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1552,6 +1552,39 @@ intrinsics.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-crates-index-0.13
+  (package
+    (name "rust-crates-index")
+    (version "0.13.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "crates-index" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1n7pp6mk59hw3nqlh8irxc9pp0g5ziw7bprqsw2lxvg13cvdp76s"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-error-chain" ,rust-error-chain-0.12)
+        ("rust-git2" ,rust-git2-0.9)
+        ("rust-glob" ,rust-glob-0.3)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0))
+       #:cargo-development-inputs
+       (("rust-tempdir" ,rust-tempdir-0.3))))
+    (home-page
+     "https://github.com/frewsxcv/rust-crates-index")
+    (synopsis
+     "Retrieving and interacting with the crates.io index")
+    (description
+     "Library for retrieving and interacting with the crates.io index.")
+    (license license:asl2.0)))
+
 (define-public rust-crc32fast-1.2
   (package
     (name "rust-crc32fast")
-- 
2.24.1

From 6897bb3721261a42f365e59c40556083e8a8a284 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 20 Dec 2019 08:08:58 -0800
Subject: [PATCH 249/263] gnu: Add rust-crossbeam-deque-0.6.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4677785861..21bf702c9a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1751,6 +1751,20 @@ intrinsics.")
     (description "Concurrent work-stealing deque.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-crossbeam-deque-0.6
+  (package
+    (inherit rust-crossbeam-deque-0.7)
+    (version "0.6.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "crossbeam-deque" version))
+       (file-name
+        (string-append (package-name rust-crossbeam-deque-0.7) "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "04rcpgjs6ns57vag8a3dzx26190dhbvy2l0p9n22b9p1yf64pr05"))))))
+
 (define-public rust-crossbeam-epoch-0.7
   (package
     (name "rust-crossbeam-epoch")
-- 
2.24.1

From 138fea9de7c3d83d5a3ef7477855ad2a5e6aa508 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 20 Dec 2019 08:16:50 -0800
Subject: [PATCH 252/263] gnu: Add rust-lock-api-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5349b0b00d..548f097ad8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5127,6 +5127,20 @@ functions and static variables these libraries contain.")
 with no_std.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-lock-api-0.3
+  (package
+    (inherit rust-lock-api-0.2)
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "lock_api" version))
+       (file-name
+        (string-append (package-name rust-lock-api-0.2) "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1p04271jikw69ja0ap0plrfwm9incf1iny48g0b3ma9k4mw2x4gq"))))))
+
 (define-public rust-log-0.4
   (package
     (name "rust-log")
-- 
2.24.1

From 7c9c4f8e5612ea60ed60897164a4007d5798869d Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 20 Dec 2019 08:18:02 -0800
Subject: [PATCH 253/263] gnu: Add rust-parking-lot-core-0.6.

* gnu/packages/crates-io.scm (rust-parking-lot-core-0.6): New variable.
---
 gnu/packages/crates-io.scm | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 548f097ad8..89af02c0fc 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8651,6 +8651,20 @@ synchronization primitives.")
      "An advanced API for creating custom synchronization primitives.")
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-parking-lot-core-0.6
+  (package
+    (inherit rust-parking-lot-core-0.5)
+    (version "0.6.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parking_lot_core" version))
+       (file-name
+        (string-append (package-name rust-parking-lot-core-0.5) "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ay67dpnrn68ryyvp720m9i8hzp189fd4d6slrs1lvmcwywv2xmq"))))))
+
 (define-public rust-paste-0.1
   (package
     (name "rust-paste")
-- 
2.24.1

From 5dca5eef84e70826b06fcf03ec4b7f08a70801c4 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 20 Dec 2019 08:24:23 -0800
Subject: [PATCH 255/263] gnu: Add rust-ref-cast-0.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 62bc03797b..9ecefa66ce 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7858,6 +7858,32 @@ system calls.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-ref-cast-0.2
+  (package
+    (name "rust-ref-cast")
+    (version "0.2.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ref-cast" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0jgj1zxaikqm030flpifbp517fy4z21lly6ysbwyciii39bkzcf1"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-ref-cast-impl" ,rust-ref-cast-impl-0.2))))
+    (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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-ref-cast-impl-0.2
   (package
     (name "rust-ref-cast-impl")
-- 
2.24.1

From 09fbeae451c56cf1fe706c389127ac166c81e649 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 20 Dec 2019 08:29:02 -0800
Subject: [PATCH 256/263] gnu: Add rust-futf-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9ecefa66ce..4de4aa7380 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3296,6 +3296,31 @@ pseudorandom number generator")
     (properties '((hidden? . #t)))
     (license license:bsd-3)))
 
+(define-public rust-futf-0.1
+  (package
+    (name "rust-futf")
+    (version "0.1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "futf" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0fxc18bnabird5jl941nsd6d25vq8cn8barmz4d30dlkzbiir73w"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-mac" ,rust-mac-0.1)
+        ("rust-new-debug-unreachable"
+         ,rust-new-debug-unreachable-1.0))))
+    (home-page "https://github.com/servo/futf")
+    (synopsis "Handling fragments of UTF-8")
+    (description "Handling fragments of UTF-8.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-futures-0.1
   (package
     (name "rust-futures")
-- 
2.24.1

From 9c23de868a281e17f002cf22cefac30688ccfcae Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 20 Dec 2019 08:20:14 -0800
Subject: [PATCH 254/263] gnu: Add rust-ref-cast-impl-0.2.

* gnu/packages/crates-io.scm (rust-ref-cast-impl-0.2): New variable.
---
 gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 89af02c0fc..62bc03797b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7858,6 +7858,33 @@ system calls.")
     (properties '((hidden? . #t)))
     (license license:expat)))
 
+(define-public rust-ref-cast-impl-0.2
+  (package
+    (name "rust-ref-cast-impl")
+    (version "0.2.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ref-cast-impl" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0hw0frpzna5rf5szix56zyzd0vackcb3svj94ndj629xi75dkb32"))))
+    (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))))
+    (home-page "https://github.com/dtolnay/ref-cast")
+    (synopsis
+     "Derive implementation for @code{ref_cast::RefCast}")
+    (description
+     "Derive implementation for ref_cast::RefCast.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-regex-1.1
   (package
     (name "rust-regex")
-- 
2.24.1

From 9836aefe5de953da66be8fbffd7df3feb0af3592 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 20 Dec 2019 08:31:56 -0800
Subject: [PATCH 257/263] gnu: Add rust-utf-8-0.7.

* gnu/packges/crates-io.scm (rust-utf-8-0.7): New variable.
---
 gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4de4aa7380..0f7974c0de 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11443,6 +11443,29 @@ untrusted inputs in Rust.")
      "URL library for Rust, based on the WHATWG URL Standard.")
     (license `(,license:asl2.0 ,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 `(,license:expat ,license:asl2.0))))
+
 (define-public rust-utf8-ranges-1.0
   (package
     (name "rust-utf8-ranges")
-- 
2.24.1

From d216478f9893a9053a46c59a6ee4821c8b92ce14 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 20 Dec 2019 08:34:42 -0800
Subject: [PATCH 258/263] gnu: Add rust-parking-lot-core-0.7.

* gnu/packages/crates-io.scm (rust-parking-lot-core-0.7): New variable.
---
 gnu/packages/crates-io.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0f7974c0de..0003f129c3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8634,6 +8634,39 @@ proven statistical guarantees.")
      "Semantic version parsing and comparison.")
     (license `(,license:expat ,license:asl2.0))))
 
+(define-public rust-parking-lot-0.7
+  (package
+    (name "rust-parking-lot")
+    (version "0.7.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parking_lot" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0dz32cqx9200n1lk3kwyb599vabfid3f8sj1aq85sw42s2pb8hdb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-lock-api" ,rust-lock-api-0.1)
+        ("rust-parking-lot-core" ,rust-parking-lot-core-0.4))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1.1)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-rustc-version" ,rust-rustc-version-0.2))))
+    (home-page
+     "https://github.com/Amanieu/parking_lot")
+    (synopsis
+     "Compact implementations synchronization primitives")
+    (description
+     "More compact and efficient implementations of the standard
+synchronization primitives.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-parking-lot-0.8
   (package
     (name "rust-parking-lot")
-- 
2.24.1

From 20fe6a51a8803097fd3434a721fa575c01183002 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 20 Dec 2019 08:38:42 -0800
Subject: [PATCH 260/263] gnu: Add rust-tokio-io-pool-0.1.

* gnu/packages/crates-io.scm (rust-tokio-io-pool-0.1): New variable.
---
 gnu/packages/crates-io.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index aa9c796778..37c4d570f1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -10643,6 +10643,39 @@ the current thread.")
      "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 `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-tokio-mock-task-0.1
   (package
     (name "rust-tokio-mock-task")
-- 
2.24.1

From dcaebc1ab600ff843c89eb59b39077c408f40621 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 20 Dec 2019 08:36:33 -0800
Subject: [PATCH 259/263] gnu: Add rust-parking-lot-core-0.4.

* gnu/packages/crates-io.scm (rust-parking-lot-core-0.4): New variable.
---
 gnu/packages/crates-io.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0003f129c3..aa9c796778 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8725,6 +8725,44 @@ synchronization primitives.")
         ("rust-rustc-version" ,rust-rustc-version-0.2))))
     (license `(,license:asl2.0 ,license:expat))))
 
+(define-public rust-parking-lot-core-0.4
+  (package
+    (name "rust-parking-lot-core")
+    (version "0.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parking_lot_core" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1jcq8aq4wv9y5fip7jg12jdwjd5g5r3x857xdma8vcin769cgj4l"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-backtrace" ,rust-backtrace-0.3)
+        ("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-cloudabi" ,rust-cloudabi-0.0)
+        ("rust-libc" ,rust-libc-0.2.58)
+        ("rust-petgraph" ,rust-petgraph-0.4)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-redox-syscall" ,rust-redox-syscall-0.1)
+        ("rust-smallvec" ,rust-smallvec-0.6)
+        ("rust-thread-id" ,rust-thread-id-3.3)
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-rustc-version" ,rust-rustc-version-0.2))))
+    (home-page
+     "https://github.com/Amanieu/parking_lot")
+    (synopsis
+     "Advanced API for creating custom synchronization primitives")
+    (description
+     "An advanced API for creating custom synchronization
+primitives.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-parking-lot-core-0.5
   (package
     (name "rust-parking-lot-core")
-- 
2.24.1

From 21ac4b914db7766b00ddce8b545dc1c739816cdb Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 20 Dec 2019 08:42:51 -0800
Subject: [PATCH 261/263] gnu: Add rust-generator-0.6.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 37c4d570f1..fb3e1a7016 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -516,6 +516,35 @@ 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-generator-0.6
+  (package
+    (name "rust-generator")
+    (version "0.6.18")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "generator" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0p4iq1n53dy72dhma02wfjrazf2hq2745f9si9yi7jxviks7c8l7"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-winapi" ,rust-winapi-0.3))
+       #:cargo-development-inputs
+       (("rust-cc" ,rust-cc-1.0)
+        ("rust-rustc-version" ,rust-rustc-version-0.2))))
+    (home-page
+     "https://github.com/Xudong-Huang/generator-rs")
+    (synopsis "Stackfull Generator Library in Rust")
+    (description "Stackfull Generator Library in Rust.")
+    (license `(,license:asl2.0 ,license:expat))))
+
 (define-public rust-bindgen-0.50
   (package
     (name "rust-bindgen")
-- 
2.24.1

From cd4ec8343598f5bca97f8d3d1e9a9785877a0858 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Fri, 20 Dec 2019 08:41:14 -0800
Subject: [PATCH 262/263] gnu: Add rust-loom-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fb3e1a7016..fc65739c31 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5229,6 +5229,35 @@ with no_std.")
          (base32
           "0nsn28syc49vvjhxcfc8261rd1frhjc0r4bn9v3mqvps3ra7f3w8"))))))
 
+(define-public rust-loom-0.1
+  (package
+    (name "rust-loom")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "loom" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1jmp5mffwwyqgp914cwz92ij2s6vk1hsnkvgndvzw74xrcfraibj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-futures" ,rust-futures-0.1)
+        ("rust-generator" ,rust-generator-0.6)
+        ("rust-scoped-tls" ,rust-scoped-tls-1.0)
+        ("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/tokio-rs/loom")
+    (synopsis "Model checker for concurrent code")
+    (description "Model checker for concurrent code.")
+    (license license:expat)))
+
 (define-public rust-lzma-sys-0.1
   (package
     (name "rust-lzma-sys")
-- 
2.24.1

From ca7ea6137ef582cf74f5ea300200fb7e8544031e Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Sun, 15 Dec 2019 11:27:39 -0800
Subject: [PATCH 263/263] gnu: Add ripgrep.

* gnu/packages/rust-apps.scm (ripgrep): New variable.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk               |  1 +
 gnu/packages/rust-apps.scm | 73 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 74 insertions(+)
 create mode 100644 gnu/packages/rust-apps.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 5cb96cc354..b8f5afd69d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -433,6 +433,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/ruby.scm				\
   %D%/packages/rush.scm				\
   %D%/packages/rust.scm				\
+  %D%/packages/rust-apps.scm			\
   %D%/packages/rust-cbindgen.scm		\
   %D%/packages/samba.scm			\
   %D%/packages/sagemath.scm			\
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
new file mode 100644
index 0000000000..e48b933384
--- /dev/null
+++ b/gnu/packages/rust-apps.scm
@@ -0,0 +1,73 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 John Soo <[email-masked]>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages rust-apps)
+  #:use-module (gnu packages crates-io)
+  #:use-module (guix build-system cargo)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages))
+
+(define-public ripgrep
+  (package
+    (name "ripgrep")
+    (version "11.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ripgrep" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0bn40lz9n08llq615p4qqqbi24zbkf0appfx3zgxg34a86ga9zds"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags-1)
+        ("rust-bstr" ,rust-bstr-0.1)
+        ("rust-grep" ,rust-grep-0.2)
+        ("rust-ignore" ,rust-ignore-0.4)
+        ("rust-itoa" ,rust-itoa-0.4)
+        ("rust-num-cpus" ,rust-num-cpus-1.10)
+        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-ryu" ,rust-ryu-1.0)
+        ("rust-strsim" ,rust-strsim-0.8)
+        ("rust-syn" ,rust-syn-1.0)
+        ("rust-textwrap" ,rust-textwrap-0.11)
+        ("rust-ucd-util" ,rust-ucd-util-0.1)
+        ("rust-unicode-width" ,rust-unicode-width-0.1)
+        ("rust-unicode-xid" ,rust-unicode-xid-0.2)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("rust-wincolor" ,rust-wincolor-1.0))
+       #:cargo-development-inputs
+       (("rust-clap" ,rust-clap-2)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-serde" ,rust-serde-1.0)
+        ("rust-serde-derive" ,rust-serde-derive-1.0))))
+    (home-page
+     "https://github.com/BurntSushi/ripgrep")
+    (synopsis
+     "Line-oriented search tool")
+    (description
+     "ripgrep is a line-oriented search tool that recursively searches
+your current directory for a regex pattern while respecting your
+gitignore rules.  ripgrep has first class support on Windows, macOS
+and Linux.")
+    (license `(,license:unlicense ,license:expat))))
-- 
2.24.1