diff mbox series

[bug#38640] Add ripgrep and many rust dependencies

Message ID CAKf5CqU4MzyLgtDQQsQmENi8DV=oYcLzb-yJbhOU2P5F6ZoCYA@mail.gmail.com
State Accepted
Headers show
Series [bug#38640] Add ripgrep and many rust dependencies | expand

Commit Message

John Soo Dec. 16, 2019, 7:08 p.m. UTC
Hi Guix,

I have missed using the rust tools I use outside of Guix. Ripgrep was the
first one I could build thanks to the work on the rust build system.

Of course, it required adding over 200 dependencies.

Some of these have cyclic dependencies, as you all know. What I understand
is that the rust community is OK with including cyclic dependencies as test
dependencies.  I am actually seeing how useful that is. Consider the system
tests in the guix repository. Certainly that would require including guix
as a dependency to guix.

I also left the cargo inputs and dev inputs commented out just in case
someone wants to put them back in the future and to give a sense of the
topological order of the patches.

Having imported ripgrep some months ago, some of these dependencies will
require updates, but I did not want to break the working version of ripgrep
at the end of the line.  Otherwise I have fixed the other lint errors and I
have been using ripgrep for several months.

- John

Comments

Nicolò Balzarotti Dec. 16, 2019, 9:04 p.m. UTC | #1
John Soo <jsoo1@asu.edu> writes:

> Hi Guix,
>

Hello John!

> I have missed using the rust tools I use outside of Guix. Ripgrep was the
> first one I could build thanks to the work on the rust build system.
>
The same applies for me :)

> Of course, it required adding over 200 dependencies.
>
> Some of these have cyclic dependencies, as you all know. What I understand
> is that the rust community is OK with including cyclic dependencies as test
> dependencies.  I am actually seeing how useful that is. Consider the system
> tests in the guix repository. Certainly that would require including guix
> as a dependency to guix.
>
> I also left the cargo inputs and dev inputs commented out just in case
> someone wants to put them back in the future and to give a sense of the
> topological order of the patches.
>
> Having imported ripgrep some months ago, some of these dependencies will
> require updates, but I did not want to break the working version of ripgrep
> at the end of the line.  Otherwise I have fixed the other lint errors and I
> have been using ripgrep for several months.
I feel your pain, I'm doing the same with julia packages, where every
week at least 10 of them are updated making diffucult to create a patch
that is up to the day.

I just tried your set of patches and I can confirm that ripgrep is
working (and is fast! I really missed it)! Long live to ripgrep!

Looking at them quickly, I noticed the following have the "a" in add lowercase:

- [PATCH 160/206] gnu: add rust-flamer-0.3.
- [PATCH 073/206] gnu: add rust-tokio-sync-0.1.

Also:
- rust-miniz-oxide-c-api-0.2: defined but not used
  - contains an undefined reference to rust-libc-0.2.58
- rust-futures-channel-preview-0.3: home moved to
  https://rust-lang.github.io/futures-rs/
- rust-demo-hack@0.0.5: all the source URIs are unreachable
- descriptions not ending in dot:
  - rust-stdweb-internal-macros-0.2
  - rust-base64-0.10
  - rust-bit-set-0.5
  - rust-blobby-0.1
  - rust-block-buffer-0.7
  - rust-byte-tools-0.3
  - rust-c2-chacha-0.2
  - rust-cast-0.2
  - rust-cexpr-0.3
  - rust-chrono-0.4
  - rust-console-0.7
  - rust-crc32fast-1.2
  - rust-criterion-0.2
  - rust-crossbeam-0.7
  - rust-crossbeam-channel-0.3
  - rust-crossbeam-deque-0.7
  - rust-crossbeam-queue-0.1
  - rust-crossbeam-utils-0.6
  - rust-cpp-demangle-0.2
  - rust-demo-hack-impl-0.0
  - rust-digest-0.8
  - rust-discard-1.0
  - rust-encoding-0.2
  - rust-encoding-index-*
  - rust-encoding-rs-0.8
  - rust-encoding-rs-io-0.1
  - rust-erased-serde-0.3
  - rust-failure-derive-0.1
  - rust-fake-simd-0.1
  - rust-flame-0.2
  - rust-foreign-types-macros-0.1
  - rust-foreign-types-shared-0.1
  - rust-fuchsia-cprng-0.1
  - rust-generic-array-0.13
  - rust-heapsize-plugin-0.1
  - rust-hex-literal-impl-0.2
  - rust-insta-0.8
  - rust-jemallocator-0.3
  - rust-miniz-oxide-c-api-0.2
  - rust-mio-0.6
  - rust-linked-hash-map-0.5
  - rust-num-complex-0.2
  - rust-opaque-debug-0.2
  - rust-openssl-0.10
  - rust-packed-simd-0.3
  - rust-pest-*
  (and others)

>
> - John

Thanks! Nicolò

> From 52de12d45c542a13c7aee7e37de125b1742a939a Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 20:48:30 -0800
> Subject: [PATCH 001/206] 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..346cf7ebb7 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.0
>
> From e95de640464bf4ae4022400c1c02310e3830b548 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 21:10:31 -0800
> Subject: [PATCH 003/206] gnu: Add rust-bstr-0.2.
>
> * gnu/packages/crates-io.scm (rust-bstr-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 ec0e7b50d0..a9c4efd957 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -244,6 +244,38 @@ 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
> +    ;;  `(#:cargo-inputs
> +    ;;    (("rust-lazy-static" ,rust-lazy-static-1.3)
> +    ;;     ("rust-memchr" ,rust-memchr)
> +    ;;     ("rust-regex-automata" ,rust-regex-automata)
> +    ;;     ("rust-serde" ,rust-serde-1.0))
> +    ;;    #:cargo-development-inputs
> +    ;;    (("rust-quickcheck" ,rust-quickcheck)
> +    ;;     ("rust-ucd-parse" ,rust-ucd-parse)
> +    ;;     ("rust-unicode-segmentation" ,rust-unicode-segmentation))))
> +    (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.0
>
> From b37c3288ff41e518cbf9ac34d9766ef3bff9b927 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 21:25:02 -0800
> Subject: [PATCH 005/206] gnu: Add rust-regex-1.1.
>
> * gnu/packages/crates-io.scm (rust-regex-1.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 f35fbabb5e..0c017e6002 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2975,6 +2975,40 @@ 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
> +    ;;  `(#:cargo-inputs
> +    ;;    (("rust-aho-corasick" ,rust-aho-corasick)
> +    ;;     ("rust-memchr" ,rust-memchr)
> +    ;;     ("rust-regex-syntax" ,rust-regex-syntax)
> +    ;;     ("rust-thread-local" ,rust-thread-local)
> +    ;;     ("rust-utf8-ranges" ,rust-utf8-ranges))
> +    ;;    #:cargo-development-inputs
> +    ;;    (("rust-doc-comment" ,rust-doc-comment)
> +    ;;     ("rust-lazy-static" ,rust-lazy-static-1.3)
> +    ;;     ("rust-quickcheck" ,rust-quickcheck)
> +    ;;     ("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.0
>
> From 8a82ed4b0728744cc598f6756a9544f2fb9561be Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 21:14:19 -0800
> Subject: [PATCH 004/206] gnu: Add rust-globset-0.4.
>
> * gnu/packages/crates-io.scm (rust-globset-0.4): 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 a9c4efd957..f35fbabb5e 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1182,6 +1182,39 @@ 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
> +    ;;  `(#:cargo-inputs
> +    ;;    (("rust-aho-corasick" ,rust-aho-corasick)
> +    ;;     ("rust-bstr" ,rust-bstr-0.2
> +    ;;      ("rust-fnv" ,rust-fnv)
> +    ;;      ("rust-log" ,rust-log-0.4)
> +    ;;      ("rust-regex" ,rust-regex))
> +    ;;     #:cargo-development-inputs
> +    ;;     (("rust-glob" ,rust-glob)))))
> +    (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.0
>
> From 3949f17579cc08280efb5275bfb932fde06272fd Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 21:05:36 -0800
> Subject: [PATCH 002/206] 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 346cf7ebb7..ec0e7b50d0 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
> +    ;;  `(#:cargo-inputs
> +    ;;    (("rust-lazy-static" ,rust-lazy-static-1.3)
> +    ;;     ("rust-memchr" ,rust-memchr)
> +    ;;     ("rust-regex-automata" ,rust-regex-automata)
> +    ;;     ("rust-serde" ,rust-serde-1.0))
> +    ;;    #:cargo-development-inputs
> +    ;;    (("rust-quickcheck" ,rust-quickcheck)
> +    ;;     ("rust-ucd-parse" ,rust-ucd-parse)
> +    ;;     ("rust-unicode-segmentation" ,rust-unicode-segmentation))))
> +    (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.")
> +    (properties '((hidden? . #t)))
> +    (license `(,license:expat ,license:asl2.0))))
> +
>  (define-public rust-cargon-0.0
>    (package
>      (name "rust-cargon")
> -- 
> 2.24.0
>
> From 7973fd0a7438d120520664312210adeb220b7c7f Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 21:29:49 -0800
> Subject: [PATCH 006/206] gnu: Add rust-grep-cli-0.1.
>
> * gnu/packages/crates-io.scm (rust-grep-cli-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 0c017e6002..3fe5b2d9e3 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1215,6 +1215,39 @@ 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
> +    ;;  `(#: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.0
>
> From a96fae37e9e0bdf4690b1a83896f8ec50569bca9 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 21:49:36 -0800
> Subject: [PATCH 007/206] gnu: Add rust-pcre2-sys-0.2.
>
> * gnu/packages/crates-io.scm (rust-pcre2-sys-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 3fe5b2d9e3..223a29d995 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2373,6 +2373,31 @@ 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
> +    ;;  `(#: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.0
>
> From 1ef2ad36de57c0eb5d4a8e6c932e1192b4bf4700 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 22:00:54 -0800
> Subject: [PATCH 009/206] gnu: Add rust-memchr-2.2.
>
> * gnu/packages/crates-io.scm (rust-memchr-2.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 7f6ec9d105..12031b8f7f 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1833,6 +1833,31 @@ 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
> +    ;;  `(#:cargo-inputs
> +    ;;    (("rust-libc" ,rust-libc-0.2.58))
> +    ;;    #:cargo-development-inputs
> +    ;;    (("rust-quickcheck" ,rust-quickcheck))))
> +    (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.0
>
> From 936e72c3dc1e910bc0c4ea55f0fd9cf16ca02d3d Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 22:02:08 -0800
> Subject: [PATCH 010/206] gnu: Add rust-memchr-1.0.
>
> * gnu/packages/crates-io.scm (rust-memchr-1.0): New variable.
> ---
>  gnu/packages/crates-io.scm | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 12031b8f7f..8ec3639606 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1858,6 +1858,21 @@ 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"))))
> +    (properties '((hidden? . #t)))))
> +
>  (define-public rust-memmap-0.7
>    (package
>      (name "rust-memmap")
> -- 
> 2.24.0
>
> From c01cd631e298551da6fe8b7b2f8da89fac22040c Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 21:52:17 -0800
> Subject: [PATCH 008/206] gnu: Add rust-pcre2-0.2.
>
> * gnu/packages/crates-io.scm (rust-pcre2-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 223a29d995..7f6ec9d105 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2373,6 +2373,34 @@ 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
> +    ;;  `(#: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.0
>
> From aac729028ca4338bdb50dddc2514e5de5064c341 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 22:29:51 -0800
> Subject: [PATCH 011/206] gnu: Add rust-serde-bytes-0.11.
>
> * gnu/packages/crates-io.scm (rust-serde-bytes-0.11): 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 8ec3639606..aa3d2353fe 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3547,6 +3547,36 @@ 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
> +    ;;  `(#: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.0
>
> From 95070a62e328e20714fd7100478bdeaee1a22d03 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 22:32:13 -0800
> Subject: [PATCH 012/206] gnu: Add rust-bincode-1.1.
>
> * gnu/packages/crates-io.scm (rust-bincode-1.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 aa3d2353fe..6337107475 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -202,6 +202,36 @@ 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
> +    ;;  `(#: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.0
>
> From 6a887987a30888703c1161c9381460e931f9c741 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 22:35:54 -0800
> Subject: [PATCH 013/206] gnu: Add rust-chrono-0.4.
>
> * gnu/packages/crates-io.scm (rust-chrono-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 6337107475..28f8bb6392 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -404,6 +404,40 @@ 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
> +    ;;  `(#: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.0
>
> From aa411c956ea753187b8f2ae0f73a2352c3101111 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 22:41:23 -0800
> Subject: [PATCH 015/206] gnu: Add rust-env-logger-0.6.
>
> * gnu/packages/crates-io.scm (rust-env-logger-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 d9340785dc..fff69c8a3b 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -848,6 +848,36 @@ 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
> +    ;;  `(#: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.0
>
> From 1abd1ce95768bf078077bf9abd46c7d5d5dc6512 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 22:38:30 -0800
> Subject: [PATCH 014/206] gnu: Add rust-humantime-1.2.
>
> * gnu/packages/crates-io.scm (rust-humantime-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 28f8bb6392..d9340785dc 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1391,6 +1391,36 @@ 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
> +    ;;  `(#: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.0
>
> From 016739d766aee3becafb6702570a692f57708745 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 22:47:53 -0800
> Subject: [PATCH 017/206] gnu: Add rust-quickcheck-0.8.
>
> * gnu/packages/crates-io.scm (rust-quickcheck-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 0d4c655af2..f4c6068924 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2873,6 +2873,36 @@ 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
> +    ;;  `(#: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.0
>
> From 52813a8f4f0a334aae8da90015b0f21d6a8622c5 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 22:44:11 -0800
> Subject: [PATCH 016/206] 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 fff69c8a3b..0d4c655af2 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2976,6 +2976,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
> +    ;;  `(#: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.")
> +    (properties '((hidden? . #t)))
> +    (license `(,license:expat ,license:asl2.0))))
> +
>  (define-public rust-rand-core-0.4
>    (package
>      (name "rust-rand-core")
> -- 
> 2.24.0
>
> From 55938798036d46db94f1bc35a08640b8587c8d11 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 22:50:39 -0800
> Subject: [PATCH 018/206] gnu: Add rust-byteorder-1.3.
>
> * gnu/packages/crates-io.scm (rust-byteorder-1.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 f4c6068924..8909859fbf 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -339,6 +339,34 @@ UTF-8.")
>      (properties '((hidden? . #t)))
>      (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
> +    ;;  `(#: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.0
>
> From e6a65b87b8895a84a50af490842e503c2c61df0a Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 22:53:24 -0800
> Subject: [PATCH 019/206] 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 8909859fbf..3860ddeb3b 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1370,6 +1370,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.0
>
> From a5c269c4fc29733c73a79ee1c6f6980bc60b1250 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 22:54:55 -0800
> Subject: [PATCH 020/206] gnu: Add rust-grep-pcre2-0.1.
>
> * gnu/packages/crates-io.scm (rust-grep-pcre2-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 3860ddeb3b..bc176d43b9 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1398,6 +1398,30 @@ 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
> +    ;;  `(#: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.0
>
> From 94095fdf5f27ae670e8a96e883a9a296ceae5e53 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 23:02:49 -0800
> Subject: [PATCH 021/206] gnu: Add rust-cast-0.2.
>
> * gnu/packages/crates-io.scm (rust-cast-0.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 bc176d43b9..f4829782eb 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -388,6 +388,30 @@ 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
> +    ;;  `(#: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.0
>
> From f9e07527666831fded098b7f6b80d1b6cf3b92b1 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 23:09:01 -0800
> Subject: [PATCH 022/206] gnu: Add rust-either-1.5.
>
> * gnu/packages/crates-io.scm (rust-either-1.5): 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 f4829782eb..44f72b2fa7 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -900,6 +900,30 @@ 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
> +    ;;  `(#: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.0
>
> From 5d6c8115064de7672588eb43c891748fa79a7ef0 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 23:17:08 -0800
> Subject: [PATCH 024/206] gnu: Add rust-itertools-num-0.1.
>
> * gnu/packages/crates-io.scm (rust-itertools-num-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 4e49239bb7..aa2f55dbcd 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1649,6 +1649,35 @@ 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
> +    ;;  `(#: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.0
>
> From 9babac35a3a8e4831cf9cdb2e8865fd2eec6472c Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 23:14:40 -0800
> Subject: [PATCH 023/206] gnu: Add rust-itertools-0.8.
>
> * gnu/packages/crates-io.scm (rust-itertools-0.8): 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 44f72b2fa7..4e49239bb7 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1620,6 +1620,35 @@ 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
> +    ;;  `(#: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.0
>
> From 7cd6583b78837539434b2b9975176e7be6f7e8fa Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 23:20:05 -0800
> Subject: [PATCH 025/206] gnu: Add rust-num-complex-0.2.
>
> * gnu/packages/crates-io.scm (rust-num-complex-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 aa2f55dbcd..dd1e344775 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2485,6 +2485,35 @@ 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
> +    ;;  `(#: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.0
>
> From 9dbf3144fb9b5e86fa29330a6e1db18e038037d5 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 23:39:01 -0800
> Subject: [PATCH 027/206] gnu: Add rust-arrayvec-0.4.
>
> * gnu/packages/crates-io.scm (rust-arrayvec-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 cdf4e79775..2e2efa6a32 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -96,6 +96,37 @@ 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
> +    ;;  `(#: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.0
>
> From baa0e03c7288c9a22ce6339451a3f17fb3cc3979 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 09:46:40 -0800
> Subject: [PATCH 029/206] gnu: Add rust-utf8-ranges-1.0.
>
> * gnu/packages/crates-io.scm (rust-utf8-ranges-1.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 32c763d58b..a6d099adc5 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5085,6 +5085,32 @@ 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
> +    ;;  `(#: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.0
>
> From 93ac04fa9d2b67b09dfc2b05250d4e75d48bb53a Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 23:40:43 -0800
> Subject: [PATCH 028/206] gnu: Add rust-csv-core-0.1.
>
> * gnu/packages/crates-io.scm (rust-csv-core-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 2e2efa6a32..32c763d58b 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -770,6 +770,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-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
> +    ;;  `(#: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.0
>
> From 7045d81842766b844121ec8bf4dd2cbd351a4b7e Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 09:50:53 -0800
> Subject: [PATCH 030/206] gnu: Add rust-regex-automata-0.1.
>
> * gnu/packages/crates-io.scm (rust-regex-automata-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 a6d099adc5..a65db3493c 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3618,6 +3618,40 @@ 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
> +    ;;  `(#: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.0
>
> From 98dfcdaf439a1f5a660a60ac24c886d0901b3433 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Fri, 13 Dec 2019 23:22:25 -0800
> Subject: [PATCH 026/206] gnu: Add rust-criterion-plot-0.3.
>
> * gnu/packages/crates-io.scm (rust-criterion-plot-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 dd1e344775..cdf4e79775 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -710,6 +710,35 @@ 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
> +    ;;  `(#: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.0
>
> From 0c61d07c4a6f54a624bd24f5bfaf838145ac12ba Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 09:58:51 -0800
> Subject: [PATCH 031/206] 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 | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index a65db3493c..865dfb3082 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1273,6 +1273,31 @@ 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
> +    ;;  `(#:cargo-inputs
> +    ;;    (("rust-futures-core-preview" ,rust-futures-core-preview-0.3))))
> +    (home-page
> +     "https://rust-lang-nursery.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.0
>
> From c3844cd8bbe66d721123c643fc3d594870288b94 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 10:03:09 -0800
> Subject: [PATCH 032/206] 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 | 30 ++++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 865dfb3082..86ecdb9309 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1341,6 +1341,36 @@ 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
> +    ;;  `(#: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.0
>
> From 1edd37a53e7cfe2adcad0e4774c03c2194797a12 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 10:13:26 -0800
> Subject: [PATCH 033/206] 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 | 29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 86ecdb9309..1d3be2819b 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1392,6 +1392,35 @@ 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
> +    ;;  `(#: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.0
>
> From bafceb0c743132fd69c63a6834324413e584ff4e Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 10:28:48 -0800
> Subject: [PATCH 035/206] gnu: Add rust-demo-hack-0.0.
>
> * gnu/packages/crates-io.scm (rust-demo-hack-0.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 8831820926..92fb649511 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -887,6 +887,30 @@ 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
> +    ;;  `(#: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.0
>
> From 4866b8791e796860f6496d35b180d3741e5dcdb1 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 10:27:41 -0800
> Subject: [PATCH 034/206] 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 | 31 +++++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 1d3be2819b..8831820926 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3203,6 +3203,37 @@ 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
> +    ;;  `(#: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.0
>
> From aa12f5fc0c8c9bbfab6ff68d6c0132d4ebc33ee8 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 10:29:29 -0800
> Subject: [PATCH 036/206] 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 | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 92fb649511..df1b5412b5 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -911,6 +911,31 @@ 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
> +    ;;  `(#: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.0
>
> From 682683010b0a14199a11596c7708ab21ce1846f1 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 10:57:08 -0800
> Subject: [PATCH 037/206] 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 | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index df1b5412b5..3a2768c5b7 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3283,6 +3283,28 @@ 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)
> +    (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.0
>
> From 1c484e18c1ce29adf1cd677329049e60cebe89de Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 11:04:41 -0800
> Subject: [PATCH 038/206] gnu: Add rust-bytes-0.4.
>
> * gnu/packages/crates-io.scm (rust-bytes-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 3a2768c5b7..5f5ed2a797 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -398,6 +398,35 @@ 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
> +    ;;  `(#: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.0
>
> From 0e609963a747c35a524b14c2443d0511c6accb2c Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 11:41:29 -0800
> Subject: [PATCH 040/206] gnu: Add rust-mio-0.6.
>
> * gnu/packages/crates-io.scm (rust-mio-0.6): 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 07c11ddbed..152e7a0af2 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2558,6 +2558,41 @@ 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
> +    ;;  `(#: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)
> +    ;;     ("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.0
>
> From 1ea1ce766527481f4e7ecf5d93e994ededab9ae5 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 11:11:00 -0800
> Subject: [PATCH 039/206] gnu: Add rust-crossbeam-utils-0.6.
>
> * gnu/packages/crates-io.scm (rust-crossbeam-utils-0.6): New variable.
> ---
>  gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
>  1 file changed, 27 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 5f5ed2a797..07c11ddbed 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -799,6 +799,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-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
> +    ;;  `(#: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.0
>
> From de8dfeaabfe99de79fcca2b00d978f289ec9da87 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 11:44:50 -0800
> Subject: [PATCH 041/206] gnu: Add rust-tokio-io-0.1.
>
> * gnu/packages/crates-io.scm (rust-tokio-io-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 152e7a0af2..24cd61c7da 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5007,6 +5007,35 @@ 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
> +    ;;  `(#: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.0
>
> From 463c983d268b805de65672746efe39e64d1ee10a Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 11:49:18 -0800
> Subject: [PATCH 042/206] gnu: Add rust-tokio-executor-0.1.
>
> * gnu/packages/crates-io.scm (rust-tokio-executor-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 24cd61c7da..bde3710093 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5007,6 +5007,32 @@ 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
> +    ;;  `(#:cargo-inputs
> +    ;;    (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
> +    ;;     ("rust-futures" ,rust-futures-0.1))
> +    ;;    #:cargo-development-inputs
> +    ;;    (("rust-tokio" ,rust-tokio))))
> +    (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.0
>
> From 88ca4c096356ef54a9da1e4b6a8accced84dfd9a Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 11:52:41 -0800
> Subject: [PATCH 043/206] gnu: Add rust-tokio-codec-0.1.
>
> * gnu/packages/crates-io.scm (rust-tokio-codec-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 bde3710093..58faf0379d 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5007,6 +5007,33 @@ 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
> +    ;;  `(#: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.0
>
> From bf9498f1da8b6a8f7919699bfcd90f78eae671a2 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 11:55:23 -0800
> Subject: [PATCH 044/206] 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 | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 58faf0379d..999a7bd986 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5034,6 +5034,32 @@ 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
> +    ;;  `(#: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.0
>
> From 04e5748c66feb26943cfeca8ba5243da3bd82648 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 11:59:20 -0800
> Subject: [PATCH 045/206] 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 | 40 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 40 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 999a7bd986..689c1b119e 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1548,6 +1548,46 @@ 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
> +    ;;  `(#: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.0
>
> From c3aa8c1b7a0d6723c2f54910360ebedc9be5466c Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 12:10:43 -0800
> Subject: [PATCH 046/206] gnu: Add rust-rand-xoshiro-0.3.
>
> * gnu/packages/crates-io.scm (rust-rand-xoshiro-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 689c1b119e..e20277b9bd 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3816,6 +3816,35 @@ 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
> +    ;;  `(#: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.0
>
> From 008ad6d5182ecb628d27c01331ec6137cd0ba792 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 12:14:27 -0800
> Subject: [PATCH 047/206] 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 e20277b9bd..513363254e 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3816,6 +3816,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
> +    ;;  `(#: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")
> +    (properties '((hidden? . #t)))
> +    (license `(,license:expat ,license:asl2.0))))
> +
>  (define-public rust-rand-xoshiro-0.3
>    (package
>      (name "rust-rand-xoshiro")
> -- 
> 2.24.0
>
> From 7d82414785d6091090976d0696a571dc8f2c4ac6 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 12:22:58 -0800
> Subject: [PATCH 048/206] gnu: Add rust-docopt-1.1.
>
> * gnu/packages/crates-io.scm (rust-docopt-1.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 513363254e..03587ddec6 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1057,6 +1057,31 @@ 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
> +    ;;  `(#: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.0
>
> From 3c4f7d5b433a89fcc6628fbc0baf2ac6a918c820 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 13:06:38 -0800
> Subject: [PATCH 050/206] gnu: Add rust-crossbeam-epoch-0.7.
>
> * gnu/packages/crates-io.scm (rust-crossbeam-epoch-0.7): 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 012689bc28..d91eb2f888 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -799,6 +799,36 @@ 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
> +    ;;  `(#: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.0
>
> From 5a708903f5560ee37193dc834da2c386742bdd29 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 13:03:05 -0800
> Subject: [PATCH 049/206] gnu: Add rust-memoffset-0.2.
>
> * gnu/packages/crates-io.scm (rust-memoffset-0.2): New variable.
> ---
>  gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 03587ddec6..012689bc28 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2560,6 +2560,27 @@ 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)
> +    (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.0
>
> From 828b06d0c801b77e3985440370e00b6ce92dd46a Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 13:33:55 -0800
> Subject: [PATCH 051/206] gnu: Add rust-ascii-0.9.
>
> * gnu/packages/crates-io.scm (rust-ascii-0.9): New variables.
> ---
>  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 d91eb2f888..76a32cbf35 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -127,6 +127,33 @@ 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
> +    ;;  `(#: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.0
>
> From 2bf2136c34ca3317ef39a3fa7c3aaeca61344e9c Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 13:37:42 -0800
> Subject: [PATCH 052/206] gnu: Add rust-term-0.5.1.
>
> * gnu/packages/crates-io.scm (rust-term-0.5.1): New variable.
> ---
>  gnu/packages/crates-io.scm | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 76a32cbf35..9e310b5a77 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5034,6 +5034,21 @@ directories.")
>      (license (list license:asl2.0
>                     license:expat))))
>  
> +;; Mostly for clippy
> +(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"))))))
> +
>  (define-public rust-termcolor-1.0
>    (package
>      (name "rust-termcolor")
> -- 
> 2.24.0
>
> From 49a93e1ca2c141a1c8cee5fa626dc21433e4cceb Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 13:40:19 -0800
> Subject: [PATCH 053/206] gnu: Add rust-clippy-0.0.
>
> * gnu/packages/crates-io.scm (rust-clippy-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 9e310b5a77..435df613d0 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -686,6 +686,32 @@ 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
> +    ;;  `(#: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.0
>
> From 4514cfed22d034133b5f250c2fb3095ebea17aa4 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 13:44:58 -0800
> Subject: [PATCH 054/206] gnu: Add rust-encode-unicode-0.3.
>
> * gnu/packages/crates-io.scm (rust-encode-unicode-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 435df613d0..0f402f0de4 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1224,6 +1224,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.0
>
> From 205cd10dbbb25c87bc382615e3d67149bff0ad38 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 13:52:11 -0800
> Subject: [PATCH 055/206] gnu: Add rust-lock-api-0.2.
>
> * gnu/packages/crates-io.scm (rust-lock-api-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 0f402f0de4..8b06e0fc00 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2468,6 +2468,34 @@ 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
> +    ;;  `(#: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.0
>
> From 19094369f4c7bb7ca77355caee26afe594b3ebf7 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 14:09:35 -0800
> Subject: [PATCH 056/206] gnu: Add rust-semver-0.9.
>
> * gnu/packages/crates-io.scm (rust-semver-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 8b06e0fc00..82f0f3d8d5 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -4570,6 +4570,36 @@ 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
> +    ;;  `(#: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.0
>
> From 47e07fe923ab627f9d977367e0a1863198b24b7e Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 14:14:51 -0800
> Subject: [PATCH 058/206] gnu: Add rust-afl-0.4.
>
> * gnu/packages/crates-io.scm (rust-afl-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 a226a40bb4..ef8f0a0bf8 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -53,6 +53,36 @@ 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
> +    ;;  `(#: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.0
>
> From 8b60c2010692dd4a2f4594dbb8792d6593789c42 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 14:12:48 -0800
> Subject: [PATCH 057/206] gnu: Add rust-rustc-version-0.2.
>
> * gnu/packages/crates-io.scm (rust-rustc-version-0.2): New version.
> ---
>  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 82f0f3d8d5..a226a40bb4 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -4363,6 +4363,31 @@ 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
> +     `(#: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.0
>
> From ecf1839684cf888c16e319de1a0f5e8f58a036d5 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 14:19:59 -0800
> Subject: [PATCH 059/206] gnu: Add rust-insta-0.8.
>
> * gnu/packages/crates-io.scm (rust-insta-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 ef8f0a0bf8..0f96379b08 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2082,6 +2082,41 @@ 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
> +    ;;  `(#: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.0
>
> From c8a0c85cdb6d8a37c32bf8682b4b95afb9563c9f Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 14:20:56 -0800
> Subject: [PATCH 060/206] 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 0f96379b08..9b9f48a76d 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5127,6 +5127,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
> +         "0070ycbh47yhxb5vxwa15vi2wpdkw3v1m14v4mjryz1568fqkbsa"))))
> +    (build-system cargo-build-system)
> +    ;; (arguments
> +    ;;  `(#: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)
> +    ;;     ("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")
> +    (properties '((hidden? . #t)))
> +    (license `(,license:expat ,license:asl2.0))))
> +
>  (define-public rust-synstructure-test-traits-0.1
>    (package
>      (name "rust-synstructure-test-traits")
> -- 
> 2.24.0
>
> From cc1d8c40ea80435bb345a50b6cf176a395c167d5 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 14:28:38 -0800
> Subject: [PATCH 063/206] gnu: Add rust-cpp-demangle-0.2.
>
> * gnu/packages/crates-io.scm (rust-cpp-demangle-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 df8d12c4c8..690553a04f 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1056,6 +1056,35 @@ 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
> +    ;;  `(#: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.0
>
> From 2a3817c357833ff0fc1d755cb72f1ddbef3fdeb0 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 14:24:57 -0800
> Subject: [PATCH 062/206] gnu: Add rust-diff-0.1.
>
> * gnu/packages/crates-io.scm (rust-diff-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 6026404d4a..df8d12c4c8 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1105,6 +1105,32 @@ 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
> +    ;;  `(#: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.0
>
> From cb381b2c2a1477a2fde3817591f24625c50c681d Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 14:22:23 -0800
> Subject: [PATCH 061/206] gnu: Add rust-speculate-0.1.
>
> * gnu/packages/crates-io.scm (rust-speculate-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 9b9f48a76d..6026404d4a 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -4921,6 +4921,34 @@ 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
> +    ;;  `(#: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.0
>
> From 6d719ae70017da7c2455c9ea132788e665d1d85f Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 14:45:16 -0800
> Subject: [PATCH 064/206] gnu: Add rust-indexmap-1.0.
>
> * gnu/packages/crates-io.scm (rust-indexmap-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 690553a04f..0e6f69abf0 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2137,6 +2137,47 @@ 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
> +    ;;  `(#: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.0
>
> From ee165fffe80b47c5e57ffb2d2f88003b7324172d Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 15:10:07 -0800
> Subject: [PATCH 065/206] gnu: Add rust-crossbeam-deque-0.7.
>
> * gnu/packages/crates-io.scm (rust-crossbeam-deque-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 0e6f69abf0..2cf89c9499 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -882,6 +882,32 @@ 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
> +    ;;  `(#: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.0
>
> From 5fc955e31dfc61503ee970f0f05c69f33adc6ccb Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 15:13:29 -0800
> Subject: [PATCH 066/206] gnu: Add rust-crossbeam-queue-0.1.
>
> * gnu/packages/crates-io.scm (rust-crossbeam-queue-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 2cf89c9499..ceb880b054 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -938,6 +938,33 @@ 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
> +    ;;  `(#: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.0
>
> From b2e3af1ab54651dfc009ec4e1a524bc8df9a3aa7 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 15:22:14 -0800
> Subject: [PATCH 068/206] gnu: Add rust-crossbeam-channel-0.3.
>
> * gnu/packages/crates-io.scm (rust-crossbeam-channel-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 92b8e49c66..4e39f32cf7 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -882,6 +882,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-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
> +    ;;  `(#: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))))
> +    (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.0
>
> From ceb851c6ce10e36dfb593e6926bc26e24ed95674 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 15:19:18 -0800
> Subject: [PATCH 067/206] gnu: Add rust-smallvec-0.6.
>
> * gnu/packages/crates-io.scm (rust-smallvec-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 ceb880b054..92b8e49c66 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5026,6 +5026,34 @@ 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
> +    ;;  `(#: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.0
>
> From 6f402ac6f73340570760b9ada50283c92bcf8a0d Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 15:25:02 -0800
> Subject: [PATCH 069/206] gnu: Add rust-crossbeam-0.7.
>
> * gnu/packages/crates-io.scm (rust-crossbeam-0.7): 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 4e39f32cf7..44674f3c59 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -882,6 +882,36 @@ 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
> +    ;;  `(#: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.0
>
> From b5506bfff598f333a225d32e940b4f2cf08238bd Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 15:29:41 -0800
> Subject: [PATCH 070/206] gnu: Add rust-crc32fast-1.2.
>
> * gnu/packages/crates-io.scm (rust-crc32fast-1.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 44674f3c59..223171363c 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -853,6 +853,35 @@ 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
> +    ;;  `(#: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.0
>
> From 33b1e492b941ee13821e33a377aa66c4eee80c20 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 15:36:17 -0800
> Subject: [PATCH 071/206] 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 223171363c..0869fd1c34 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3067,6 +3067,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
> +    ;;  `(#:cargo-inputs (("rust-adler32" ,rust-adler32))))
> +    (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.")
> +    (properties '((hidden? . #t)))
> +    (license license:expat)))
> +
>  (define-public rust-miniz-sys-0.1
>    (package
>      (name "rust-miniz-sys")
> -- 
> 2.24.0
>
> From 9dffb1679924e9d71a1c283913e969d7b1d3a312 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 15:52:25 -0800
> Subject: [PATCH 073/206] 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 94035281c3..41e6b84029 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5935,6 +5935,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
> +    ;;  `(#: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)
> +    ;;     ;; Does not exist anymore
> +    ;;     ;; ("rust-loom" ,rust-loom)
> +    ;;     ("rust-tokio" ,rust-tokio)
> +    ;;     ("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.0
>
> From 176ecc61a4fba62dab920b1a39cac465ecbed405 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 15:39:58 -0800
> Subject: [PATCH 072/206] 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 | 30 ++++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 0869fd1c34..94035281c3 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3093,6 +3093,36 @@ based on miniz.")
>      (properties '((hidden? . #t)))
>      (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
> +     `(#: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.0
>
> From 6f6c0a23748a6283e5d94b6aab7378033bcfdf3b Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 16:24:00 -0800
> Subject: [PATCH 074/206] gnu: Add rust-tokio-reactor-0.1.
>
> * gnu/packages/crates-io.scm (rust-tokio-reactor-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 41e6b84029..0d8f719e1c 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5935,6 +5935,44 @@ 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
> +    ;;  `(#: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.0
>
> From d8ba3eed8efcf55b5f71bbd49e121e2a864c6c30 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 16:32:33 -0800
> Subject: [PATCH 075/206] gnu: Add rust-tokio-tcp-0.1.
>
> * gnu/packages/crates-io.scm (rust-tokio-tcp-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 0d8f719e1c..97cd713ab6 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -6002,6 +6002,36 @@ 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
> +    ;;  `(#: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.0
>
> From 64d96643f6e2cb40bc4082b146b14a1866df5440 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 16:38:56 -0800
> Subject: [PATCH 076/206] gnu: Add rust-tokio-threadpool-0.1.
>
> * gnu/packages/crates-io.scm (rust-tokio-threadpool-0.1): 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 97cd713ab6..1bd2b47918 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -6032,6 +6032,43 @@ 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
> +    ;;  `(#: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.0
>
> From 41fb4c5e1223d5e0f024d5d97c9e658b61cda185 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 16:42:14 -0800
> Subject: [PATCH 077/206] gnu: Add rust-flate2-1.0.
>
> * gnu/packages/crates-io.scm (rust-flate2-1.0): 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 1bd2b47918..7e40a1a3fa 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1601,6 +1601,46 @@ 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
> +    ;;  `(#: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.0
>
> From dfb8f903508016ab6c2442009d3bac0db5cbc1b1 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 16:46:04 -0800
> Subject: [PATCH 078/206] gnu: Add rust-stdweb-derive-0.5.
>
> * gnu/packages/crates-io.scm (rust-stdweb-derive-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 7e40a1a3fa..c838d5466f 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5401,6 +5401,33 @@ 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
> +    ;;  `(#: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.0
>
> From cd09665fffc92cd9a001646cb893d48c6b51139c Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 16:52:22 -0800
> Subject: [PATCH 079/206] 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 c838d5466f..fb597a611b 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1683,6 +1683,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)
> +    (home-page
> +     "https://github.com/sfackler/foreign-types")
> +    (synopsis
> +     "An internal crate used by foreign-types")
> +    (description
> +     "An internal crate used by foreign-types")
> +    (properties '((hidden? . #t)))
> +    (license `(,license:asl2.0 ,license:expat))))
> +
>  (define-public rust-fs-extra-1.1
>    (package
>      (name "rust-fs-extra")
> -- 
> 2.24.0
>
> From 0d7e9d0b7b65691ada9629f7c78570bbb799fa85 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 16:55:35 -0800
> Subject: [PATCH 080/206] 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 fb597a611b..3d0846884a 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1662,6 +1662,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
> +    ;;  `(#: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")
> +    (properties '((hidden? . #t)))
> +    (license `(,license:expat ,license:asl2.0))))
> +
>  (define-public rust-foreign-types-shared-0.2
>    (package
>      (name "rust-foreign-types-shared")
> -- 
> 2.24.0
>
> From 7f744952a134bab45773690a4d93a5dc710fd87b Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 17:10:56 -0800
> Subject: [PATCH 082/206] gnu: Add rust-openssl-0.10.
>
> * gnu/packages/crates-io.scm (rust-openssl-0.10): New variable.
> ---
>  gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 6e05f87aef..5ec906f2fd 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3693,6 +3693,37 @@ 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
> +    ;;  `(#: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.49))
> +    ;;    #: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.0
>
> From b116d426fb7dfb1d01439262018f756d461b7b17 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 16:59:46 -0800
> Subject: [PATCH 081/206] gnu: Add rust-foreign-types-0.3.
>
> * gnu/packages/crates-io.scm (rust-foreign-types-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 3d0846884a..6e05f87aef 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1662,6 +1662,33 @@ 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
> +    ;;  `(#: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.0
>
> From e54804d925e2981ef10a408876986847e6ab09f3 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 17:13:52 -0800
> Subject: [PATCH 083/206] gnu: Add rust-sha1-0.6.
>
> * gnu/packages/crates-io.scm (rust-sha1-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 5ec906f2fd..6ff25c05da 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5280,6 +5280,35 @@ 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
> +    ;;  `(#: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.0
>
> From 1e7f15842243e25b5aa7bdac9a34dac5b364412a Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 17:25:07 -0800
> Subject: [PATCH 085/206] gnu: Add rust-rayon-core-1.5.
>
> * gnu/packages/crates-io.scm (rust-rayon-core-1.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 4c9765264e..2b46682343 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -4590,6 +4590,37 @@ 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
> +    ;;  `(#: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.0
>
> From 65797c91878d9ee6051ef159ac4c963038431862 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 17:15:14 -0800
> Subject: [PATCH 084/206] 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 6ff25c05da..4c9765264e 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5566,6 +5566,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
> +    ;;  `(#: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")
> +    (properties '((hidden? . #t)))
> +    (license `(,license:expat ,license:asl2.0))))
> +
>  (define-public rust-stdweb-internal-runtime-0.1
>    (package
>      (name "rust-stdweb-internal-runtime")
> -- 
> 2.24.0
>
> From 1f8dd8c223f4182bc83952657003b0ca5b9698ee Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 17:29:31 -0800
> Subject: [PATCH 086/206] gnu: Add rust-rayon-1.1.
>
> * gnu/packages/crates-io.scm (rust-rayon-1.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 2b46682343..f0d2dedf6d 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -4590,6 +4590,40 @@ 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
> +    ;;  `(#: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.0
>
> From 59450f5bf9376974ab34d9e517d06301a30e8d3e Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 17:31:06 -0800
> Subject: [PATCH 087/206] gnu: Add rust-csv-1.1.
>
> * gnu/packages/crates-io.scm (rust-csv-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 f0d2dedf6d..ccb4518587 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1082,6 +1082,37 @@ 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
> +    ;;  `(#: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.0
>
> From f3ea495d87c97b3711da0af04fef43012005a97b Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 17:33:58 -0800
> Subject: [PATCH 088/206] gnu: Add rust-tinytemplate-1.0.
>
> * gnu/packages/crates-io.scm (rust-tinytemplate-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 ccb4518587..e3b524a01d 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -6141,6 +6141,34 @@ 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
> +     `(#: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.0
>
> From 7cbc029d098d3445f6d5fda0ab7572b4bb03459d Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 17:35:40 -0800
> Subject: [PATCH 089/206] gnu: Add rust-approx-0.3.
>
> * gnu/packages/crates-io.scm (rust-approx-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 e3b524a01d..f7730db82d 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -126,6 +126,32 @@ 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
> +    ;;  `(#: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.0
>
> From 2e58ed5e49641646e88e37ad70c287db86b7d147 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 17:38:47 -0800
> Subject: [PATCH 090/206] gnu: Add rust-criterion-0.2.
>
> * gnu/packages/crates-io.scm (rust-criterion-0.2): New variable.
> ---
>  gnu/packages/crates-io.scm | 48 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 48 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index f7730db82d..d15e514a17 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -908,6 +908,54 @@ 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
> +    ;;  `(#: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.0
>
> From 590f2a342ab5b35a7145a619cf0e6c21d0386dd6 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 17:45:51 -0800
> Subject: [PATCH 093/206] gnu: Add rust-base64-0.10.
>
> * gnu/packages/crates-io.scm (rust-base64-0.10): 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 712b679487..e4ecb475a9 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -293,6 +293,34 @@ 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
> +    ;;  `(#: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.0
>
> From 5e5a9a89e91f2da00888404da18f1962d23c90e3 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 17:41:51 -0800
> Subject: [PATCH 092/206] 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 | 31 +++++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 650e90aea4..712b679487 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -7068,6 +7068,37 @@ 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
> +    ;;  `(#: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.0
>
> From c94cbdd152ffed4581ec0015240a7ba7ce89a520 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 17:40:57 -0800
> Subject: [PATCH 091/206] gnu: Add rust-bumpalo-2.5.
>
> * gnu/packages/crates-io.scm (rust-bumpalo-2.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 d15e514a17..650e90aea4 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -453,6 +453,31 @@ UTF-8.")
>      (properties '((hidden? . #t)))
>      (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
> +    ;;  `(#: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.0
>
> From 78e0147194a2b7baee5364070977bd268dd97cc2 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 17:50:26 -0800
> Subject: [PATCH 094/206] 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 e4ecb475a9..4586172a93 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -7127,6 +7127,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
> +    ;;  `(#: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.")
> +    (properties '((hidden? . #t)))
> +    (license `(,license:asl2.0 ,license:expat))))
> +
>  (define-public rust-wasm-bindgen-shared-0.2
>    (package
>      (name "rust-wasm-bindgen-shared")
> -- 
> 2.24.0
>
> From bdfc5d50a9a84f774485e2587a487f51b299c947 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 17:57:29 -0800
> Subject: [PATCH 096/206] gnu: Add rust-wasm-bindgen-0.2.
>
> * gnu/packages/crates-io.scm (rust-wasm-bindgen-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 8c8789dd9a..754b459c7d 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -7125,6 +7125,33 @@ 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
> +    ;;  `(#:cargo-inputs
> +    ;;    (("rust-serde" ,rust-serde-1.0)
> +    ;;     ("rust-serde-json" ,rust-serde-json-1.0)
> +    ;;     ("rust-wasm-bindgen-macro"
> +    ;;      ,rust-wasm-bindgen-macro))))
> +    (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.0
>
> From 6e6dac1bc2eb8927f3cb430eb6d0ef8b365456cb Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:04:31 -0800
> Subject: [PATCH 097/206] 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 754b459c7d..079b749171 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -889,6 +889,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.0
>
> From 2b8d5521f0eb68d16beebc3ed9783d2735adbf64 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:06:55 -0800
> Subject: [PATCH 098/206] 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 079b749171..3f3a077f73 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -7210,6 +7210,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
> +    ;;  `(#: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)
> +    ;;     ("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.0
>
> From ed82b84ad90d260dd487a3a00b75f3d40d717dfd Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 17:54:51 -0800
> Subject: [PATCH 095/206] gnu: Add rust-trybuild-1.0.
>
> * gnu/packages/crates-io.scm (rust-trybuild-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 4586172a93..8c8789dd9a 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -6662,6 +6662,35 @@ 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
> +    ;;  `(#: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.0
>
> From 5407b6eeb7b9e8dcf5782c2606f494def143ac13 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:10:35 -0800
> Subject: [PATCH 099/206] 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 3f3a077f73..979b69b867 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2773,6 +2773,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
> +    ;;  `(#: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.0
>
> From 5a773c1ace3f912e9e97c351688732cb322feb79 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:12:58 -0800
> Subject: [PATCH 100/206] 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 | 32 ++++++++++++++++++++++++++++++++
>  1 file changed, 32 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 979b69b867..01464eced3 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -7329,6 +7329,38 @@ 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
> +    ;;  `(#: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.0
>
> From e38b4a28af57fcd69a8937a090d28fad4c5e50b2 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:17:18 -0800
> Subject: [PATCH 101/206] gnu: Add rust-core-arch-0.1.
>
> * gnu/packages/crates-io.scm (rust-core-arch-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 01464eced3..52fe3a57b8 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -938,6 +938,32 @@ 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
> +    ;;  `(#: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.0
>
> From 834fef9d9346e8efd22574e3ad2c2d0ec78b03a3 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:20:14 -0800
> Subject: [PATCH 102/206] gnu: Add rust-envmnt-0.6.
>
> * gnu/packages/crates-io.scm (rust-envmnt-0.6): 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 52fe3a57b8..2aed91589a 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1722,6 +1722,31 @@ 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
> +    ;;  `(#: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.0
>
> From c3d1c3a2ac770ce38685fa514e7b1368748e83df Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:24:01 -0800
> Subject: [PATCH 103/206] gnu: Add rust-ci-info-0.3.
>
> * gnu/packages/crates-io.scm (rust-ci-info-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 2aed91589a..148e3e7c58 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -708,6 +708,32 @@ 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
> +    ;;  `(#: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.0
>
> From 99e6689553b7448b3a91a3c7cf9bd3e982e9efe0 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:32:17 -0800
> Subject: [PATCH 105/206] gnu: Add rust-scroll-0.9.
>
> * gnu/packages/crates-io.scm (rust-scroll-0.9): 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 c2ecdab3cc..b6e782e062 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5443,6 +5443,35 @@ 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
> +    ;;  `(#: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.0
>
> From d92703d15d8f1c29776bf86869034aa679654f01 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:34:39 -0800
> Subject: [PATCH 106/206] gnu: Add rust-goblin-0.0.
>
> * gnu/packages/crates-io.scm (rust-goblin-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 b6e782e062..9839955b4f 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2446,6 +2446,33 @@ 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
> +    ;;  `(#: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.0
>
> From 69e3ba825c21ab8833b0ecab4378489a0ef43134 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:38:09 -0800
> Subject: [PATCH 107/206] gnu: Add rust-test-assembler-0.1.
>
> * gnu/packages/crates-io.scm (rust-test-assembler-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 9839955b4f..a3b2aff256 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -6382,6 +6382,32 @@ 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
> +    ;;  `(#: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.0
>
> From 7396df99feca3fb0abc5baa9d540050f787b5aa1 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:30:48 -0800
> Subject: [PATCH 104/206] gnu: Add rust-scroll-derive-0.9.
>
> * gnu/packages/crates-io.scm (rust-scroll-derive-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 148e3e7c58..c2ecdab3cc 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5443,6 +5443,36 @@ 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
> +    ;;  `(#: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.0
>
> From 9bd6fd4da08b4626bce44d68b69ed0a387e9fb61 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:39:54 -0800
> Subject: [PATCH 108/206] gnu: Add rust-typed-arena-1.4.
>
> * gnu/packages/crates-io.scm (rust-typed-arena-1.4): 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 a3b2aff256..054db90abf 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -6959,6 +6959,28 @@ 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)
> +    (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.0
>
> From 18c53394e1e9ec599ab30750da2ab1988f41a069 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:44:32 -0800
> Subject: [PATCH 110/206] gnu: Add rust-intervaltree-0.2.
>
> * gnu/packages/crates-io.scm (rust-intervaltree-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 764eb9601f..40fc5d5ff1 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2802,6 +2802,32 @@ 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
> +    ;;  `(#: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.0
>
> From 6b9e4131c901ddcda0c4f219ced7a83c28cdfe6e Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:46:28 -0800
> Subject: [PATCH 111/206] gnu: Add rust-lazycell-1.2.
>
> * gnu/packages/crates-io.scm (rust-lazycell-1.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 40fc5d5ff1..bc4afbe7af 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3097,6 +3097,29 @@ 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
> +    ;;  `(#: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.0
>
> From 30e2ee1e0c817763a237ada12794e1d8835e57af Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:51:32 -0800
> Subject: [PATCH 112/206] gnu: Add rust-half-1.3.
>
> * gnu/packages/crates-io.scm (rust-half-1.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 bc4afbe7af..64e3c5b59e 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2597,6 +2597,31 @@ 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
> +    ;;  `(#: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.0
>
> From dc62c22d01b219bddfb184014fb8f9bea8034230 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:42:22 -0800
> Subject: [PATCH 109/206] gnu: Add rust-gimli-0.18.
>
> * gnu/packages/crates-io.scm (rust-gimli-0.18): 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 054db90abf..764eb9601f 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2377,6 +2377,45 @@ 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
> +    ;;  `(#: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)
> +    ;;     ("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.0
>
> From bcc029d031db08c8645a11ee92345e90554a93bf Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:56:39 -0800
> Subject: [PATCH 114/206] gnu: Add rust-erased-serde-0.3.
>
> * gnu/packages/crates-io.scm (rust-erased-serde-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 7210047101..dee42983f2 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1773,6 +1773,35 @@ 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
> +    ;;  `(#: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.0
>
> From 18484fe9d09c659ff713c9b7fe9cfd240a2fe60a Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 19:02:15 -0800
> Subject: [PATCH 117/206] gnu: Add rust-object-0.12.
>
> * gnu/packages/crates-io.scm (rust-object-0.12): 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 de0bc8e2e4..05ae485539 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -4114,6 +4114,37 @@ 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
> +    ;;  `(#: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.0
>
> From 96e6a317816dcadac212855eeefe169a4e56c79e Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:57:25 -0800
> Subject: [PATCH 115/206] gnu: Add rust-slog-2.4.
>
> * gnu/packages/crates-io.scm (rust-slog-2.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 dee42983f2..2a3613b18a 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5964,6 +5964,32 @@ 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
> +    ;;  `(#: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.0
>
> From 7070bea5a87527108a99514a159022d402c7522d Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 19:00:03 -0800
> Subject: [PATCH 116/206] gnu: Add rust-uuid-0.7.
>
> * gnu/packages/crates-io.scm (rust-uuid-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 2a3613b18a..de0bc8e2e4 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -7447,6 +7447,41 @@ 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
> +    ;;  `(#: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.0
>
> From 798590b1c30f369024ab04629d28976ef709a2ae Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 18:54:04 -0800
> Subject: [PATCH 113/206] gnu: Add rust-serde-cbor-0.10.
>
> * gnu/packages/crates-io.scm (rust-serde-cbor-0.10): 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 64e3c5b59e..7210047101 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5777,6 +5777,32 @@ 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
> +    ;;  `(#: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.0
>
> From e77614c9d673a4660f40a28cf1cb9990fe2f70f7 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 19:10:05 -0800
> Subject: [PATCH 118/206] gnu: Add rust-rustc-test-0.3.
>
> * gnu/package/crates-io.scm (rust-rustc-test-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 05ae485539..8cbc9aedfe 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5432,6 +5432,38 @@ 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
> +    ;;  `(#: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.0
>
> From 1faa58a403679e1dac83240603cc1460f46d361c Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 19:15:57 -0800
> Subject: [PATCH 120/206] 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 f5b22c8511..f8846a7e9d 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -292,6 +292,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
> +    ;;  `(#: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.0
>
> From 1b4de1cc3ab46420f4aec4ae8181ed017931c9a1 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 19:13:39 -0800
> Subject: [PATCH 119/206] gnu: Add rust-addr2line-0.9.
>
> * gnu/packages/crates-io.scm (rust-addr2line-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 8cbc9aedfe..f5b22c8511 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -53,6 +53,45 @@ 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
> +    ;;  `(#: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.0
>
> From 7c5c83d8082c8af2d4929b2e3f83b2cdbab70c1c Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 19:23:10 -0800
> Subject: [PATCH 121/206] gnu: Add rust-rawslice-0.1.
>
> * gnu/packages/crates-io.scm (rust-rawslice-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 f8846a7e9d..35b709b8a6 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5165,6 +5165,34 @@ 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
> +    ;;  `(#: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.0
>
> From b8c1373fb91de679646463a32f7e183d6418ca74 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 19:24:50 -0800
> Subject: [PATCH 122/206] gnu: Add rust-unchecked-index-0.2.
>
> * gnu/packages/crates-io.scm (rust-unchecked-index-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 35b709b8a6..b4e44ae8ad 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -7431,6 +7431,28 @@ 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)
> +    (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.0
>
> From e038750497e3723669f14575b36183dae740311c Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 19:26:56 -0800
> Subject: [PATCH 123/206] gnu: Add rust-odds-0.3.
>
> * gnu/packages/crates-io.scm (rust-odds-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 b4e44ae8ad..1b75f5208f 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -4225,6 +4225,39 @@ 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
> +    ;;  `(#: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.0
>
> From 2d7930728112d2cd020ecb1e1f6be15df5d661ce Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 19:28:34 -0800
> Subject: [PATCH 124/206] gnu: Add rust-petgraph-0.4.
>
> * gnu/packages/crates-io.scm (rust-petgraph-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 1b75f5208f..fdb8f1782e 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -4540,6 +4540,40 @@ 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
> +    ;;  `(#: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.0
>
> From 31283896184c2598fcc0f7dd3b280324c1278070 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 19:34:33 -0800
> Subject: [PATCH 125/206] gnu: Add parking-lot-core-0.5.
>
> * gnu/packages/crates-io.scm (parking-lot-core-0.5): 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 fdb8f1782e..a8bdb0fe17 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5960,6 +5960,42 @@ 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
> +    ;;  `(#: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.0
>
> From a6db6054f5a58da680486215c9b946cc8bdcf654 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 19:37:11 -0800
> Subject: [PATCH 126/206] gnu: Add parking-lot-0.8.
>
> * gnu/packages/crates-io.scm (parking-lot-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 a8bdb0fe17..3a635267f3 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5960,6 +5960,38 @@ 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
> +    ;;  `(#: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.0
>
> From 494e3f8bd25f0f18c1db5bba7897f4c5ee57671d Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 19:39:32 -0800
> Subject: [PATCH 127/206] gnu: Add rust-console-0.7.
>
> * gnu/packages/crates-io.scm (rust-console-0.7): 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 3a635267f3..1b07e94be4 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -995,6 +995,40 @@ 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
> +    ;;  `(#: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.0
>
> From 59e9e72fff68881d35b7f7d865596ce20dae9696 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 19:40:47 -0800
> Subject: [PATCH 128/206] gnu: Add rust-difference-2.0.
>
> * gnu/packages/crates-io.scm (rust-difference-2.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 1b07e94be4..87e7ac5b2c 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1654,6 +1654,34 @@ 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
> +    ;;  `(#: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.0
>
> From 0b4358e4b3b472855c1170c130cfb448ad20c66d Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 19:46:28 -0800
> Subject: [PATCH 129/206] gnu: Add rust-synstructure-0.10.
>
> * gnu/packages/crates-io.scm (rust-synstructure-0.10): New variable.
> ---
>  gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 87e7ac5b2c..9a1798edaf 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -6755,6 +6755,37 @@ and Jaro-Winkler.")
>      (properties '((hidden? . #t)))
>      (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
> +    ;;  `(#: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.0
>
> From e209be7b47546521b034d42e894446f250fb6890 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 19:56:50 -0800
> Subject: [PATCH 132/206] gnu: Add rust-pest-2.1.
>
> * gnu/packages/crates-io.scm (rust-pest-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 358f324f46..c8021fe46b 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -4656,6 +4656,30 @@ 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
> +    ;;  `(#: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.0
>
> From d26ea0038a92dcae0a155929b3178e7bf7a545e2 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 19:49:20 -0800
> Subject: [PATCH 130/206] gnu: Add rust-failure-derive-0.1.
>
> * gnu/packages/crates-io.scm (rust-failure-derive-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 9a1798edaf..a71731bc4b 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1944,6 +1944,34 @@ 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
> +    ;;  `(#: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.0
>
> From 531317efb3cdc6337a5b030f4d773ed30568d0d2 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 19:50:45 -0800
> Subject: [PATCH 131/206] gnu: Add rust-failure-0.1.
>
> * gnu/packages/crates-io.scm (rust-failure-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 a71731bc4b..358f324f46 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1944,6 +1944,32 @@ 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
> +    ;;  `(#: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.0
>
> From 0897675bc4c6c2f6b54a2b6e218c193645a60348 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:05:25 -0800
> Subject: [PATCH 134/206] gnu: Add rust-block-padding-0.1.
>
> * gnu/packages/crates-io.scm (rust-block-padding-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 5bf3a86297..4557b9853f 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -496,6 +496,30 @@ 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
> +    ;;  `(#: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.0
>
> From 156e81ec7c4c3dcebc1fc4d310097b81b9efdbcd Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:02:33 -0800
> Subject: [PATCH 133/206] gnu: Add rust-byte-tools-0.3.
>
> * gnu/packages/crates-io.scm (rust-byte-tools-0.3): New variable.
> ---
>  gnu/packages/crates-io.scm | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index c8021fe46b..5bf3a86297 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -614,6 +614,25 @@ 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)
> +    (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.0
>
> From ff19803a8934603ea71b5b552860adf10bab874b Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:11:38 -0800
> Subject: [PATCH 137/206] gnu: Add rust-generic-array-0.13.
>
> * gnu/packages/crates-io.scm (rust-generic-array-0.13): 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 6c763f455f..b4e81ba5ee 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2679,6 +2679,35 @@ 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
> +    ;;  `(#: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.0
>
> From 2a45f3e10f92c8ec5ff8362e0e645cfc855a3c14 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:09:14 -0800
> Subject: [PATCH 136/206] gnu: Add rust-blobby-0.1.
>
> * gnu/packages/crates-io.scm (rust-blobby-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 a897c08ec9..6c763f455f 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -496,6 +496,33 @@ 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
> +    ;;  `(#: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.0
>
> From e8dd5b9cac8202de6bc5bd0b702539bfea6266ea Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:06:57 -0800
> Subject: [PATCH 135/206] gnu: Add rust-block-buffer-0.7.
>
> * gnu/packages/crates-io.scm (rust-block-buffer-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 4557b9853f..a897c08ec9 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -496,6 +496,33 @@ 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
> +    ;;  `(#: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.0
>
> From 01f93ea79cbd553192c546170d01831b8ce7c752 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:13:52 -0800
> Subject: [PATCH 138/206] gnu: Add rust-digest-0.8.
>
> * gnu/packages/crates-io.scm (rust-digest-0.8): 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 b4e81ba5ee..b371c6776d 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1779,6 +1779,32 @@ 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
> +    ;;  `(#: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.0
>
> From 96c3a7fa6c65385af88ce4e0332c19cec2075be5 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:16:05 -0800
> Subject: [PATCH 139/206] gnu: Add rust-fake-simd-0.1.
>
> * gnu/packages/crates-io.scm (rust-fake-simd-0.1): 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 b371c6776d..1011fa4eb9 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2121,6 +2121,27 @@ 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)
> +    (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.0
>
> From 2145bedb4595b53446473d335cd8a6c5b9b376b0 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:23:31 -0800
> Subject: [PATCH 142/206] 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 | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 3c296cec88..b98480024b 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3099,6 +3099,30 @@ 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
> +    ;;  `(#: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.0
>
> From 93ce544bdb1fa52ab4722709318721e76aa9d184 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:18:38 -0800
> Subject: [PATCH 140/206] gnu: Add rust-opaque-debug-0.2.
>
> * gnu/packages/crates-io.scm (rust-opaque-debug-0.2): New version.
> ---
>  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 1011fa4eb9..20afe70f0f 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -4547,6 +4547,27 @@ 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)
> +    (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.0
>
> From 02eca76f54e474df56704b5c9f73cca853d6d309 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:24:56 -0800
> Subject: [PATCH 143/206] 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 | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index b98480024b..665d1e680f 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3099,6 +3099,32 @@ 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
> +    ;;  `(#:cargo-inputs
> +    ;;    (("rust-hex-literal-impl" ,rust-hex-literal-imp-0.2l)
> +    ;;     ("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.0
>
> From c5b4639afb1fe25693da5dad8b2ea3e7c29d4c9e Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:21:25 -0800
> Subject: [PATCH 141/206] gnu: Add rust-sha1-asm-0.4.
>
> * gnu/packages/crates-io.scm (rust-sha1-asm-0.4): New variable.
> ---
>  gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 20afe70f0f..3c296cec88 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -6534,6 +6534,31 @@ 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
> +    ;;  `(#: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.0
>
> From a70cf4d4373ee7d58154a58c105d9ac0d5ee3b7e Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:27:43 -0800
> Subject: [PATCH 144/206] gnu: Add rust-sha-1-0.8
>
> * gnu/packages/crates-io.scm (rust-sha-1-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 665d1e680f..d756819fc7 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -6584,6 +6584,36 @@ 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
> +    ;;  `(#: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.0
>
> From ce182dd051db1921e1c0508960d1e802fcf2b399 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:28:49 -0800
> Subject: [PATCH 145/206] gnu: Add rust-pest-meta-2.1.
>
> * gnu/packages/crates-io.scm (rust-pest-meta-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 d756819fc7..65921fd268 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -4924,6 +4924,33 @@ 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
> +    ;;  `(#: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.0
>
> From e61f88350001025a32069179b5fb3860069a23d5 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:30:26 -0800
> Subject: [PATCH 146/206] gnu: Add rust-pest-generator-2.1.
>
> * gnu/packages/crates-io.scm (rust-pest-generator-2.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 65921fd268..cbf6c04895 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -4924,6 +4924,32 @@ 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
> +    ;;  `(#: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.0
>
> From 836b4a4b2079580ac929fe5909c38af14a0b4e56 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:31:55 -0800
> Subject: [PATCH 147/206] gnu: Add rust-pest-derive-2.1.
>
> * gnu/packages/crates-io.scm (rust-pest-derive-2.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 cbf6c04895..26e9e8d123 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -4924,6 +4924,29 @@ 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
> +    ;;  `(#: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.0
>
> From 6954e0a8c160da96bea0fb56cfa4c3382b5064f7 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:39:39 -0800
> Subject: [PATCH 149/206] 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 | 30 ++++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 56d813e0b4..bcc8ff50f4 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -4338,6 +4338,36 @@ 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
> +    ;;  `(#: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.0
>
> From 2b06125d1452df9e04f00933dd00b7aa95a00803 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:35:29 -0800
> Subject: [PATCH 148/206] gnu: Add rust-ron-0.4.
>
> * gnu/packages/crates-io.scm (rust-ron-0.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 26e9e8d123..56d813e0b4 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5980,6 +5980,34 @@ 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
> +    ;;  `(#: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.0
>
> From e37410adb070f81c2c083571c474676208b7ffcc Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sat, 14 Dec 2019 20:42:22 -0800
> Subject: [PATCH 150/206] gnu: Add rust-yaml-rust-0.4.
>
> * gnu/packages/crates-io.scm (rust-yaml-rust-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 bcc8ff50f4..a4f6983f90 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -9009,3 +9009,29 @@ 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
> +    ;;  `(#: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.0
>
> From 00a820f205697926a10aab3f660258f2eac1c5ef Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 07:36:50 -0800
> Subject: [PATCH 151/206] 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 | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index a4f6983f90..3ea9dc9ea7 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1983,6 +1983,29 @@ 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)
> +    (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.0
>
> From 1c2111798859bfc0e61d3f55ce781068839a1276 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 07:45:12 -0800
> Subject: [PATCH 154/206] 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 | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index bc8e1ee35c..89408657ee 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2035,6 +2035,32 @@ 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
> +    ;;  `(#: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.0
>
> From 5850e8dd6c8baefa52386e6fdfd9d01f02f261d3 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 07:40:18 -0800
> Subject: [PATCH 152/206] 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 | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 3ea9dc9ea7..18cf744403 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1983,6 +1983,32 @@ 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
> +    ;;  `(#: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.0
>
> From ee526ca3cf723bf08afd8c8852778972bbec6a85 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 07:43:16 -0800
> Subject: [PATCH 153/206] 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 | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 18cf744403..bc8e1ee35c 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2009,6 +2009,32 @@ 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
> +    ;;  `(#: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.0
>
> From 2fb0c77b32982493143ceb5e231bea7f5f1f2cf0 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 07:48:49 -0800
> Subject: [PATCH 155/206] 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 | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 89408657ee..7594fd8b62 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2061,6 +2061,32 @@ 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
> +    ;;  `(#: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.0
>
> From f8c7dd8b3d3d64418b4265c4d0f9411c86de0633 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 07:52:01 -0800
> Subject: [PATCH 156/206] 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 | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 7594fd8b62..de872b896b 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2087,6 +2087,32 @@ 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
> +    ;;  `(#: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.0
>
> From 26dcde3b398db0557693111286af16edee4a87b2 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 07:57:32 -0800
> Subject: [PATCH 158/206] gnu: Add rust-flame-0.2.
>
> * gnu/packages/crates-io.scm (rust-flame-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 2f27f03331..69ff3a284d 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2420,6 +2420,32 @@ 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
> +    ;;  `(#: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.0
>
> From 872f3635d168d1d072f7b9fc0f458d492fc3eebd Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 07:53:34 -0800
> Subject: [PATCH 157/206] gnu: Add rust-encoding-0.2.
>
> * gnu/packages/crates-io.scm (rust-encoding-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 de872b896b..2f27f03331 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -1983,6 +1983,41 @@ 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
> +    ;;  `(#: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.0
>
> From 28b9cc1921792e290909c9b9537c76fac0d505fd Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 08:04:32 -0800
> Subject: [PATCH 159/206] gnu: Add rust-serde-yaml-0.8.
>
> * gnu/packages/crates-io.scm (rust-serde-yaml-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 69ff3a284d..e4436ca098 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -6932,6 +6932,36 @@ 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
> +    ;;  `(#: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.0
>
> From c0baf5c3d1779c4cd6b4bd999833d5314dcf86cb Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 08:10:17 -0800
> Subject: [PATCH 160/206] gnu: add rust-flamer-0.3.
>
> * gnu/packages/crates-io.scm (rust-flamer-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 e4436ca098..3479743570 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2446,6 +2446,32 @@ 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
> +    ;;  `(#: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.0
>
> From 4b6622d094db742a1c75b3028d4c6d5cbc6f18ed Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 08:11:55 -0800
> Subject: [PATCH 161/206] gnu: Add rust-unicode-bidi-0.3.
>
> * gnu/packages/crates-io.scm (rust-unicode-bidi-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 3479743570..9d03a13f14 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -8483,6 +8483,36 @@ 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
> +    ;;  `(#: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.0
>
> From 603f989d195f4085d26656ca067482e7f03b7834 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 08:17:48 -0800
> Subject: [PATCH 163/206] gnu: Add rust-idna-0.1.
>
> * gnu/packages/crates-io.scm (rust-idna-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 33400dc0aa..6f2e688c1e 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3439,6 +3439,36 @@ 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
> +    ;;  `(#:cargo-inputs
> +    ;;    (("rust-matches" ,rust-matches-0.1)
> +    ;;     ("rust-unicode-bidi" ,rust-unicode-bidi-0.2)
> +    ;;     ("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.0
>
> From 49ed8c6ab8918e7b8cf1b9ee61ad297cc945bd28 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 08:30:28 -0800
> Subject: [PATCH 165/206] gnu: Add rust-stackvector-1.0.
>
> * gnu/packages/crates-io.scm (rust-stackvector-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 f9b963b59c..c2cfc26b72 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -7337,6 +7337,33 @@ 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
> +    ;;  `(#: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.0
>
> From 735023f48bae04e33d67ed85b3c53af54938b8af Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 08:22:53 -0800
> Subject: [PATCH 164/206] gnu: Add rust-url-1.7.
>
> * gnu/packages/crates-io.scm (rust-url-1.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 6f2e688c1e..f9b963b59c 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -8710,6 +8710,41 @@ 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
> +    ;;  `(#: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.0
>
> From ad4e46808897af7186190a424a3b9e064e1c544f Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 08:34:23 -0800
> Subject: [PATCH 167/206] gnu: Add rust-bit-set-0.5.
>
> * gnu/packages/crates-io.scm (rust-bit-set-0.5): New variable.
> ---
>  gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 51cf74f60c..976874bb09 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -454,6 +454,32 @@ 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
> +    ;;  `(#: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.0
>
> From 44d8e094c8821cfa489b9f044484578b9d8922da Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 08:32:04 -0800
> Subject: [PATCH 166/206] gnu: Add rust-bit-vec-0.5.
>
> * gnu/packages/crates-io.scm (rust-bit-vec-0.5): New variable.
> ---
>  gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index c2cfc26b72..51cf74f60c 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -454,6 +454,32 @@ 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
> +    ;;  `(#: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.0
>
> From f8800ee7032e85dc0abc7695edbcb918d2ab811f Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 08:42:44 -0800
> Subject: [PATCH 168/206] gnu: Add rust-stream-cipher-0.3.
>
> * gnu/packages/crates-io.scm (rust-stream-cipher-0.3): 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 976874bb09..9817e2a0e1 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -7538,6 +7538,30 @@ 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
> +    ;;  `(#: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.0
>
> From 9f4cea649c690d06cb915292a4861385ecc1cf56 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 08:51:37 -0800
> Subject: [PATCH 171/206] gnu: Add rust-wait-timeout-0.2.
>
> * gnu/packages/crates-io.scm (rust-wait-timeout-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 5a7a5ac36b..bca30dc460 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -9067,6 +9067,31 @@ 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
> +    ;;  `(#: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.0
>
> From a680e4a69a22157a8b76bd6f26257c55c7d42625 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 08:49:03 -0800
> Subject: [PATCH 170/206] 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 ce803c5d85..5a7a5ac36b 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5803,6 +5803,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
> +    ;;  `(#: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")
> +    (properties '((hidden? . #t)))
> +    (license (list license:asl2.0 license:expat))))
> +
>  (define-public rust-rand-core-0.5
>    (package
>      (name "rust-rand-core")
> -- 
> 2.24.0
>
> From a2cf0702f391184188f25715b1b832dfe5cc839e Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 08:15:01 -0800
> Subject: [PATCH 162/206] gnu: Add rust-unicode-normalization-0.1.
>
> * gnu/packages/crates-io.scm (rust-unicode-normalization-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 9d03a13f14..33400dc0aa 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -8513,6 +8513,33 @@ 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
> +    ;;  `(#: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.0
>
> From bd44217d10df73cd82520fbb1487e93574cf5ebd Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 08:52:54 -0800
> Subject: [PATCH 172/206] gnu: Add rust-rusty-fork-0.2.
>
> * gnu/packages/crates-io.scm (rust-rusty-fork-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 bca30dc460..3af33705dc 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -6560,6 +6560,35 @@ 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
> +    ;;  `(#: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.0
>
> From 80e23c17d7aec5631ee085ffc5a2b9dd1c5e967c Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 08:58:39 -0800
> Subject: [PATCH 174/206] gnu: Add rust-lexical-core-0.4.
>
> * gnu/packages/crates-io.scm (rust-lexical-core-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 562cb75481..d2b35ff19e 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3944,6 +3944,40 @@ 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
> +    ;;  `(#: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.0
>
> From ef3e94fceaf8123b97103d9ed1f9cdc990ed4d01 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 08:44:51 -0800
> Subject: [PATCH 169/206] gnu: Add rust-c2-chacha-0.2.
>
> * gnu/packages/crates-io.scm (rust-c2-chacha-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 9817e2a0e1..ce803c5d85 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -792,6 +792,35 @@ 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
> +    ;;  `(#: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.0
>
> From 7cec265988e601d9aa887b10b595e84ee27c7f01 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:03:19 -0800
> Subject: [PATCH 176/206] gnu: Add rust-paste-0.1.
>
> * gnu/packages/crates-io.scm (rust-paste-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 e6ec0bbb18..b209d34398 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -7025,6 +7025,31 @@ 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
> +    ;;  `(#: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.0
>
> From 8b50eb49bf281353b21421cf097648e9750347d1 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:05:39 -0800
> Subject: [PATCH 177/206] gnu: Add rust-jemallocator-0.3.
>
> * gnu/packages/crates-io.scm (rust-jemallocator-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 b209d34398..7e34ae8278 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3831,6 +3831,34 @@ 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
> +    ;;  `(#: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.0
>
> From 411b59d18124821ce508be95ab93cec5df145a80 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:18:30 -0800
> Subject: [PATCH 178/206] gnu: Add rust-nom-4.2.
>
> * gnu/packages/crates-io.scm (rust-nom-4.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 7e34ae8278..7e23df5a86 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -4826,6 +4826,39 @@ 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
> +    ;;  `(#: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.0
>
> From 950edccb457d93882d02d958fb60bf6a31d5d794 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:20:36 -0800
> Subject: [PATCH 179/206] gnu: Add rust-cexpr-0.3.
>
> * gnu/package/crates-io.scm (rust-cexpr-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 7e23df5a86..74557ce4e6 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -910,6 +910,32 @@ 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
> +    ;;  `(#: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.0
>
> From c92786f15315e36e193902d1aea01ec2d47b077b Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:26:38 -0800
> Subject: [PATCH 181/206] gnu: Add rust-fxhash-0.2.
>
> * gnu/packages/crates-io.scm (rust-fxhash-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 febba2838d..435888c15a 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3049,6 +3049,34 @@ 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
> +    ;;  `(#: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.0
>
> From d4d2503c4dcab510d43eb0208eb9f5496e215d10 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:24:01 -0800
> Subject: [PATCH 180/206] gnu: Add rust-seahash-3.0.
>
> * gnu/packages/crates-io.scm (rust-seahash-3.0): 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 74557ce4e6..febba2838d 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -6993,6 +6993,29 @@ 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)
> +    (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.0
>
> From fbf6cfb8b4f4206bd981e9791034b2089a175bb8 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:35:44 -0800
> Subject: [PATCH 182/206] gnu: Add rust-which-2.0.
>
> * gnu/packages/crates-io.scm (rust-which-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 435888c15a..e24a39cd86 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -9621,6 +9621,35 @@ 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
> +    ;;  `(#: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.0
>
> From f071b0afd6c8489aad12aa904a61a1b88080c2d7 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:36:16 -0800
> Subject: [PATCH 183/206] gnu: Add rust-bindgen-0.50.
>
> * gnu/packages/crates-io.scm (rust-bindgen-0.50): New variable.
> ---
>  gnu/packages/crates-io.scm | 44 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 44 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index e24a39cd86..8f860c71cc 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -454,6 +454,50 @@ 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
> +    ;;  `(#: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.0
>
> From 41de2c70681a2f10c88627cbf9b752eb9470da12 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:40:03 -0800
> Subject: [PATCH 184/206] gnu: Add rust-sleef-sys-0.1.
>
> * gnu/packages/crates-io.scm (rust-sleef-sys-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 8f860c71cc..98e4a15b32 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -7586,6 +7586,35 @@ 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
> +    ;;  `(#: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.0
>
> From a4bc77ccb4e9c0f28d54a329da7826da22b4a265 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:02:00 -0800
> Subject: [PATCH 175/206] gnu: Add rust-paste-impl-0.1.
>
> * gnu/packages/crates-io.scm (rust-paste-impl-0.1).
> ---
>  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 d2b35ff19e..e6ec0bbb18 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -7025,6 +7025,33 @@ 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
> +    ;;  `(#: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.0
>
> From 80f3f68d0f0360dad745b52732a62646348e82b9 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:43:55 -0800
> Subject: [PATCH 186/206] gnu: Add rust-bytecount-0.5.
>
> * gnu/packages/crates-io.scm (rust-bytecount-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 4d5def3bbe..23a0233475 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -760,6 +760,35 @@ 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
> +    ;;  `(#: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.0
>
> From af2adac5f8ba561ffc3e2e43ccdd7f520618ac6b Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:41:39 -0800
> Subject: [PATCH 185/206] gnu: Add rust-packed-simd-0.3.
>
> * gnu/packages/crates-io.scm (rust-packed-simd-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 98e4a15b32..4d5def3bbe 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5318,6 +5318,37 @@ 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
> +    ;;  `(#: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.0
>
> From 544dd7601f3fde0d4cba1c230073f6bcff8082f4 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:46:32 -0800
> Subject: [PATCH 187/206] gnu: Add rust-aho-corasick-0.7.
>
> * gnu/packages/crates-io.scm (rust-aho-corasick-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 23a0233475..9845c65a33 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -122,6 +122,29 @@ 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
> +    ;;  `(#: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.0
>
> From 2983c14a2b8f46e8e2aab5a20bd997ae817bce5a Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:49:08 -0800
> Subject: [PATCH 188/206] gnu: Add rust-encoding-rs-0.8.
>
> * gnu/packages/crates-io.scm (rust-encoding-rs-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 9845c65a33..72fa4240d9 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2374,6 +2374,37 @@ 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
> +    ;;  `(#: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.0
>
> From 9ca210b7d86ae293d7fccb6d22e52021e6dc25ce Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 08:54:49 -0800
> Subject: [PATCH 173/206] gnu: Add rust-proptest-0.9.
>
> * gnu/packages/crates-io.scm (rust-proptest-0.9): New variable.
> ---
>  gnu/packages/crates-io.scm | 38 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 38 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 3af33705dc..562cb75481 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -5649,6 +5649,44 @@ 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
> +    ;;  `(#: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.0
>
> From 783a485105cf6a9f56a529ff2d94c413cb44f955 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:53:19 -0800
> Subject: [PATCH 190/206] gnu: Add rust-grep-regex-0.1.
>
> * gnu/packages/crates-io.scm (rust-grep-regex-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 0776497b28..d982894d43 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3522,6 +3522,37 @@ 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
> +    ;;  `(#: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.0
>
> From 9abbb707e10ce3e18af40ceecc7f7a2ec0d72704 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:51:22 -0800
> Subject: [PATCH 189/206] 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 | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 72fa4240d9..0776497b28 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -2405,6 +2405,31 @@ 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
> +    ;;  `(#: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.0
>
> From 63dba055c07ada54b3f5a0fabb7fda38451ba8f5 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:58:00 -0800
> Subject: [PATCH 192/206] gnu: Add rust-grep-printer-0.1.
>
> * gnu/packages/crates-io.scm (rust-grep-printer-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 8faef2aee0..f0b0cd3a7a 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3522,6 +3522,41 @@ 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
> +     `(#: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.0
>
> From daafe340decf709e5f36a7e98ac24fe14d4b4749 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:59:20 -0800
> Subject: [PATCH 193/206] gnu: Add rust-grep-0.2.
>
> * gnu/packages/crates-io.scm (rust-grep-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 f0b0cd3a7a..46205043e3 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3437,6 +3437,39 @@ 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
> +    ;;  `(#: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.0
>
> From a4f5acb94a62e8979689a76b9f1a2413eb509a6d Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 09:55:57 -0800
> Subject: [PATCH 191/206] gnu: Add rust-grep-searcher-0.1.
>
> * gnu/package/crates-io.scm (rust-grep-searcher-0.1): New version.
> ---
>  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 d982894d43..8faef2aee0 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3553,6 +3553,40 @@ 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
> +    ;;  `(#: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.0
>
> From 6723d5bfe8988deec10627a0c3df4e90c382ccec Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 10:07:31 -0800
> Subject: [PATCH 194/206] gnu: Add rust-stdweb-0.4.
>
> * gnu/packages/crates-io.scm (rust-stdweb-0.4): 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 46205043e3..2c6eede2d0 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -8129,6 +8129,48 @@ 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
> +    ;;  `(#: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.0
>
> From 9fa445f2a1b451da16bb5b735272da192c5dd38d Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 10:13:39 -0800
> Subject: [PATCH 195/206] gnu: Add rust-tokio-fs-0.1.
>
> * gnu/packages/crates-io.scm (rust-tokio-fs-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 2c6eede2d0..6cb2dc30a9 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -8865,6 +8865,37 @@ 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
> +    ;;  `(#: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)
> +    ;;     ("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.0
>
> From 3f36b53304acaa738457ac797e6707e17b6f3f38 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 10:15:59 -0800
> Subject: [PATCH 196/206] gnu: Add rust-tokio-timer-0.2.
>
> * gnu/packages/crates-io.scm (rust-tokio-timer-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 6cb2dc30a9..d575e735a4 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -9078,6 +9078,35 @@ 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
> +    ;;  `(#: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)
> +    ;;     ("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.0
>
> From 75eb7e30a71499d66f4ecae08cf5b28762c5fabc Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 10:18:21 -0800
> Subject: [PATCH 197/206] gnu: Add rust-tokio-udp-0.1.
>
> * gnu/packages/crates-io.scm (rust-tokio-udp-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 d575e735a4..21ef0b0348 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -9107,6 +9107,36 @@ 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
> +    ;;  `(#: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.0
>
> From ce0a747bd648a79a53bb2db052a61e50d3d82917 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 10:21:18 -0800
> Subject: [PATCH 198/206] gnu: Add rust-mio-uds-0.6.
>
> * gnu/packages/crates-io.scm (rust-mio-uds-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 21ef0b0348..b7ab9823f7 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -4932,6 +4932,35 @@ 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
> +    ;;  `(#: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.0
>
> From a3f5b085b6b32e47b1e230d1f49071f9c9226c49 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 10:27:24 -0800
> Subject: [PATCH 200/206] 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 | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index eaffa4734b..f2b3aafd75 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -9136,6 +9136,28 @@ 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
> +    ;;  `(#: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.0
>
> From f1994f30e115b3f41ef9ea2abffe5ee7656d1894 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 10:23:27 -0800
> Subject: [PATCH 199/206] gnu: Add rust-tokio-uds-0.2.
>
> * gnu/packages/crates-io.scm (rust-tokio-uds-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 b7ab9823f7..eaffa4734b 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -9166,6 +9166,40 @@ 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
> +    ;;  `(#: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))))
> +    (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.0
>
> From 8a2c04467f54cf69c7123a461628c31d9948fb46 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 10:31:43 -0800
> Subject: [PATCH 201/206] gnu: Add rust-http-0.1.
>
> * gnu/packages/crates-io.scm (rust-http-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 f2b3aafd75..5ac5988c2c 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3809,6 +3809,40 @@ 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
> +    ;;  `(#: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.0
>
> From 8268042acc27f6916f2d17834f29b88016c0872c Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 10:37:30 -0800
> Subject: [PATCH 203/206] gnu: Add rust-tokio-0.1.
>
> * gnu/packages/crates-io.scm (rust-tokio-0.1): New variable.
> ---
>  gnu/packages/crates-io.scm | 54 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 54 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index e1e402cdea..e974ba9c22 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -8874,6 +8874,60 @@ 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
> +    ;;  `(#: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.0
>
> From e613c7a084ce3b6b57fb016a57cf728798ece6b0 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 10:40:29 -0800
> Subject: [PATCH 204/206] gnu: Add rust-ignore-0.4.
>
> * gnu/packages/crates-io.scm (rust-ignore-0.4): 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 e974ba9c22..222212e151 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3948,6 +3948,43 @@ 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
> +    ;;  `(#: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.0
>
> From 9acf02b3c1c9a7b58cca45dd2d82b062f4299cb4 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 10:34:59 -0800
> Subject: [PATCH 202/206] gnu: Add rust-httparse-1.3.
>
> * gnu/packages/crates-io.scm (rust-httparse-1.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 5ac5988c2c..e1e402cdea 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -3843,6 +3843,31 @@ 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
> +    ;;  `(#: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.0
>
> From 1159ac1ffe6d652a404b688f681cd555c67656e1 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Mon, 16 Dec 2019 10:28:16 -0800
> Subject: [PATCH 205/206] 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 | 31 +++++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
>
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index 222212e151..0161aab228 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -10228,6 +10228,37 @@ 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
> +    ;;  `(#: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.0
>
> From d87bce9a0abd7fb24145e7e68b213cd6973edf26 Mon Sep 17 00:00:00 2001
> From: John Soo <jsoo1@asu.edu>
> Date: Sun, 15 Dec 2019 11:27:39 -0800
> Subject: [PATCH 206/206] 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 | 113 +++++++++++++++++++++++++++++++++++++
>  2 files changed, 114 insertions(+)
>  create mode 100644 gnu/packages/rust-apps.scm
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index c895b7711a..45c8e8756c 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -432,6 +432,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..3662a2bb55
> --- /dev/null
> +++ b/gnu/packages/rust-apps.scm
> @@ -0,0 +1,113 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
> +;;;
> +;;; 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-aho-corasick" ,rust-aho-corasick-0.7)
> +        ("rust-atty" ,rust-atty-0.2)
> +        ("rust-bitflags-1" ,rust-bitflags-1)
> +        ("rust-bstr" ,rust-bstr-0.1)
> +        ("rust-bytecount" ,rust-bytecount-0.5)
> +        ("rust-byteorder" ,rust-byteorder-1.3)
> +        ("rust-cc" ,rust-cc-1.0)
> +        ("rust-cfg-if" ,rust-cfg-if-0.1)
> +        ("rust-clap" ,rust-clap-2)
> +        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.3)
> +        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
> +        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
> +        ("rust-encoding-rs-io" ,rust-encoding-rs-io-0.1)
> +        ("rust-fnv" ,rust-fnv-1.0)
> +        ("rust-globset" ,rust-globset-0.4)
> +        ("rust-grep" ,rust-grep-0.2)
> +        ("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)
> +        ("rust-ignore" ,rust-ignore-0.4)
> +        ("rust-itoa" ,rust-itoa-0.4)
> +        ("rust-lazy-static" ,rust-lazy-static-1.3)
> +        ("rust-libc" ,rust-libc-0.2)
> +        ("rust-log" ,rust-log-0.4)
> +        ("rust-memchr" ,rust-memchr-2.2)
> +        ("rust-memmap" ,rust-memmap-0.7)
> +        ("rust-num-cpus" ,rust-num-cpus-1.10)
> +        ("rust-packed-simd" ,rust-packed-simd-0.3)
> +        ("rust-pcre2" ,rust-pcre2-0.2)
> +        ("rust-pcre2-sys" ,rust-pcre2-sys-0.2)
> +        ("rust-pkg-config" ,rust-pkg-config-0.3)
> +        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
> +        ("rust-quote" ,rust-quote-1.0)
> +        ("rust-regex" ,rust-regex-1.1)
> +        ("rust-regex-automata" ,rust-regex-automata-0.1)
> +        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
> +        ("rust-ryu" ,rust-ryu-1.0)
> +        ("rust-same-file" ,rust-same-file-1.0)
> +        ("rust-serde-json" ,rust-serde-json-1.0)
> +        ("rust-smallvec" ,rust-smallvec-0.6)
> +        ("rust-strsim" ,rust-strsim-0.8)
> +        ("rust-syn" ,rust-syn-1.0)
> +        ("rust-termcolor" ,rust-termcolor-1.0)
> +        ("rust-textwrap" ,rust-textwrap-0.11)
> +        ("rust-thread-local" ,rust-thread-local-0.3)
> +        ("rust-unicode-width" ,rust-unicode-width-0.1)
> +        ("rust-unicode-xid" ,rust-unicode-xid-0.2)
> +        ("rust-ucd-util" ,rust-ucd-util-0.1)
> +        ("rust-utf8-ranges" ,rust-utf8-ranges-1.0)
> +        ("rust-walkdir" ,rust-walkdir-2.2)
> +        ("rust-winapi" ,rust-winapi-0.3)
> +        ("rust-winapi-util" ,rust-winapi-util-0.1)
> +        ("rust-wincolor" ,rust-wincolor-1.0)
> +        ("rust-quote" ,rust-quote-0.6))
> +       #: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.0
Martin Becze Dec. 16, 2019, 10:53 p.m. UTC | #2
On 2019-12-16 19:08, John Soo wrote:
> Hi Guix,
> 
> I have missed using the rust tools I use outside of Guix. Ripgrep was
> the first one I could build thanks to the work on the rust build
> system.
> 
> Of course, it required adding over 200 dependencies.
> 
> Some of these have cyclic dependencies, as you all know. What I
> understand is that the rust community is OK with including cyclic
> dependencies as test dependencies.  I am actually seeing how useful
> that is. Consider the system tests in the guix repository. Certainly
> that would require including guix as a dependency to guix.
> 
> I also left the cargo inputs and dev inputs commented out just in case
> someone wants to put them back in the future and to give a sense of
> the topological order of the patches.
> 
> Having imported ripgrep some months ago, some of these dependencies
> will require updates, but I did not want to break the working version
> of ripgrep at the end of the line.  Otherwise I have fixed the other
> lint errors and I have been using ripgrep for several months.
> 
> - John

I'm trying to convince everyone to leave in the crago-inputs
dependencies and add a "#:skip-build? #t" to the build arguments for all
source pakages. That way we don't have to specify the transient
dependencies at the top level package. Either way yay ripgrep!

-Martin
John Soo Dec. 17, 2019, 5:10 p.m. UTC | #3
HI everyone,

I did some work on your review and have a couple questions before I submit
the next patchset.

* My questions for Martin:

> I'm trying to convince everyone to leave in the crago-inputs
> dependencies and add a "#:skip-build? #t" to the build arguments for all
> source pakages. That way we don't have to specify the transient
> dependencies at the top level package.

I like this idea. I think I will do it if you don't mind. It's either that
or add hidden? #t to the properties, right?
Whether to add #skip-build? #t to the packages is the last piece of review
I need to fixup.

* Discussion for Nicolo:

> - rust-demo-hack@0.0.5: all the source URIs are unreachable

I guix build rust-demo-hack@0.0 and got the download. Maybe it was a
temporary network issue or something?

> Also:
> - rust-miniz-oxide-c-api-0.2: defined but not used

It is used by at least rust-flate2 I think.

* Work I did based on Nicolo's suggestions:

** Fixed
> Looking at them quickly, I noticed the following have the "a" in add
lowercase:
>
> - [PATCH 160/206] gnu: add rust-flamer-0.3.
> - [PATCH 073/206] gnu: add rust-tokio-sync-0.1.

** Fixed
>   - contains an undefined reference to rust-libc-0.2.58

Ah, that's because I left off my first package from the patchset. It will
be included next round.

> - rust-futures-channel-preview-0.3: home moved to
>   https://rust-lang.github.io/futures-rs/

** Fixed.
> - descriptions not ending in dot:

Thanks, looking forward to having ripgrep upstream :)

- John
Martin Becze Dec. 18, 2019, 4:32 p.m. UTC | #4
On 2019-12-17 17:10, John Soo wrote:
> HI everyone,
> 
> I did some work on your review and have a couple questions before I
> submit the next patchset.
> 
> * My questions for Martin:
> 
>> I'm trying to convince everyone to leave in the crago-inputs
>> dependencies and add a "#:skip-build? #t" to the build arguments for
> all
>> source pakages. That way we don't have to specify the transient
>> dependencies at the top level package.
> 
> I like this idea. I think I will do it if you don't mind. It's either
> that or add hidden? #t to the properties, right?
> Whether to add #skip-build? #t to the packages is the last piece of
> review I need to fixup.

So the ` hidden? #t ` also hides the package from (find-packages*)
functions in (gnu packages). I actully want to be able to search for and
use rust libraries with guix, so I prefer not to hide them.
John Soo Dec. 18, 2019, 4:42 p.m. UTC | #5
Hi Martin,

> So the ` hidden? #t ` also hides the package from (find-packages*)
> functions in (gnu packages). I actully want to be able to search for and
> use rust libraries with guix, so I prefer not to hide them.

I totally agree. I can't find any documentation on #skip-build though. Can
you provide a snippet, maybe?

Thanks,

John
Martin Becze Dec. 18, 2019, 4:49 p.m. UTC | #6
On 2019-12-18 16:42, John Soo wrote:
> Hi Martin,
> 
>  > So the ` hidden? #t ` also hides the package from (find-packages*)
>> functions in (gnu packages). I actully want to be able to search for
> and
>> use rust libraries with guix, so I prefer not to hide them.
> 
> I totally agree. I can't find any documentation on #skip-build though.
> Can you provide a snippet, maybe?
> 
> Thanks,
> 
> John

I just stumbled upon it will looking at the cargo build system
https://github.com/guix-mirror/guix/blob/master/guix/build-system/cargo.scm#L107
but you pass it just like an other build system argument. ie 

(define-public rust-afl
   ....
    (arguments
      `(#:skip-build?
        #t
        #:cargo-inputs
        (("rust-cc" ,rust-cc)
         ("rust-clap" ,rust-clap)
         ("rust-rustc-version" ,rust-rustc-version)
         ("rust-xdg" ,rust-xdg))))
    ....
John Soo Dec. 18, 2019, 4:50 p.m. UTC | #7
Thanks Martin,

Perfect. I will work on an updated patchset and get it in as soon as I can.

- John
Efraim Flashner Dec. 19, 2019, 7:25 a.m. UTC | #8
On Wed, Dec 18, 2019 at 04:42:42PM +0000, John Soo wrote:
> Hi Martin,
> 
> > So the ` hidden? #t ` also hides the package from (find-packages*)
> > functions in (gnu packages). I actully want to be able to search for and
> > use rust libraries with guix, so I prefer not to hide them.
> 
> I totally agree. I can't find any documentation on #skip-build though. Can
> you provide a snippet, maybe?
> 

I also agree on not hiding the rust libraries. IIRC it also confuses the
importer into thinking the packages aren't available and should be
imported.
diff mbox series

Patch

From d87bce9a0abd7fb24145e7e68b213cd6973edf26 Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
Date: Sun, 15 Dec 2019 11:27:39 -0800
Subject: [PATCH 206/206] 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 | 113 +++++++++++++++++++++++++++++++++++++
 2 files changed, 114 insertions(+)
 create mode 100644 gnu/packages/rust-apps.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index c895b7711a..45c8e8756c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -432,6 +432,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..3662a2bb55
--- /dev/null
+++ b/gnu/packages/rust-apps.scm
@@ -0,0 +1,113 @@ 
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
+;;;
+;;; 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-aho-corasick" ,rust-aho-corasick-0.7)
+        ("rust-atty" ,rust-atty-0.2)
+        ("rust-bitflags-1" ,rust-bitflags-1)
+        ("rust-bstr" ,rust-bstr-0.1)
+        ("rust-bytecount" ,rust-bytecount-0.5)
+        ("rust-byteorder" ,rust-byteorder-1.3)
+        ("rust-cc" ,rust-cc-1.0)
+        ("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-clap" ,rust-clap-2)
+        ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.3)
+        ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6)
+        ("rust-encoding-rs" ,rust-encoding-rs-0.8)
+        ("rust-encoding-rs-io" ,rust-encoding-rs-io-0.1)
+        ("rust-fnv" ,rust-fnv-1.0)
+        ("rust-globset" ,rust-globset-0.4)
+        ("rust-grep" ,rust-grep-0.2)
+        ("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)
+        ("rust-ignore" ,rust-ignore-0.4)
+        ("rust-itoa" ,rust-itoa-0.4)
+        ("rust-lazy-static" ,rust-lazy-static-1.3)
+        ("rust-libc" ,rust-libc-0.2)
+        ("rust-log" ,rust-log-0.4)
+        ("rust-memchr" ,rust-memchr-2.2)
+        ("rust-memmap" ,rust-memmap-0.7)
+        ("rust-num-cpus" ,rust-num-cpus-1.10)
+        ("rust-packed-simd" ,rust-packed-simd-0.3)
+        ("rust-pcre2" ,rust-pcre2-0.2)
+        ("rust-pcre2-sys" ,rust-pcre2-sys-0.2)
+        ("rust-pkg-config" ,rust-pkg-config-0.3)
+        ("rust-proc-macro2" ,rust-proc-macro2-1.0)
+        ("rust-quote" ,rust-quote-1.0)
+        ("rust-regex" ,rust-regex-1.1)
+        ("rust-regex-automata" ,rust-regex-automata-0.1)
+        ("rust-regex-syntax" ,rust-regex-syntax-0.6)
+        ("rust-ryu" ,rust-ryu-1.0)
+        ("rust-same-file" ,rust-same-file-1.0)
+        ("rust-serde-json" ,rust-serde-json-1.0)
+        ("rust-smallvec" ,rust-smallvec-0.6)
+        ("rust-strsim" ,rust-strsim-0.8)
+        ("rust-syn" ,rust-syn-1.0)
+        ("rust-termcolor" ,rust-termcolor-1.0)
+        ("rust-textwrap" ,rust-textwrap-0.11)
+        ("rust-thread-local" ,rust-thread-local-0.3)
+        ("rust-unicode-width" ,rust-unicode-width-0.1)
+        ("rust-unicode-xid" ,rust-unicode-xid-0.2)
+        ("rust-ucd-util" ,rust-ucd-util-0.1)
+        ("rust-utf8-ranges" ,rust-utf8-ranges-1.0)
+        ("rust-walkdir" ,rust-walkdir-2.2)
+        ("rust-winapi" ,rust-winapi-0.3)
+        ("rust-winapi-util" ,rust-winapi-util-0.1)
+        ("rust-wincolor" ,rust-wincolor-1.0)
+        ("rust-quote" ,rust-quote-0.6))
+       #: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.0