unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#53500] Add 42 rust packages, and update 4 of them
@ 2022-01-24 12:00 Attila Lendvai
  2022-01-24 12:24 ` Nicolas Goaziou
  0 siblings, 1 reply; 6+ messages in thread
From: Attila Lendvai @ 2022-01-24 12:00 UTC (permalink / raw)
  To: 53500


[-- Attachment #1.1: Type: text/plain, Size: 340 bytes --]

this is part of my struggle to package openethereum.

this patch series is a rebase of https://issues.guix.gnu.org/53401 which has unfortunately developed countless merge conflicts.

this one supersedes 53401, which i have closed for good.

please apply at your earliest convenience, before this one also develops merge conflicts.

- attila

[-- Attachment #1.2: Type: text/html, Size: 1099 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: rust-packages.patch --]
[-- Type: text/x-patch; name=rust-packages.patch, Size: 94761 bytes --]

From c7e1ccb5b9e8773bce6933ba57376e5ad56d204e Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 09:18:50 +0100
Subject: [PATCH 01/46] gnu: Add rust-rustc-hex 1.0.0.

---
 gnu/packages/crates-io.scm | 31 +++++++++++++++++++++----------
 1 file changed, 21 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 878319faa2..aa922ee54f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1,4 +1,3 @@
-
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
 ;;; Copyright © 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
@@ -49267,20 +49266,32 @@ (define-public rust-rustc-hex-2
     (name "rust-rustc-hex")
     (version "2.1.0")
     (source
-     (origin
-       (method url-fetch)
-       (uri (crate-uri "rustc-hex" version))
-       (file-name (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32 "1mkjy2vbn5kzg67wgngwddlk4snmd8mkjkql2dzrzzfh6ajzcx9y"))))
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rustc-hex" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1mkjy2vbn5kzg67wgngwddlk4snmd8mkjkql2dzrzzfh6ajzcx9y"))))
     (build-system cargo-build-system)
     (arguments `(#:skip-build? #t))
     (home-page "https://github.com/debris/rustc-hex")
-    (synopsis "Rustc-serialize compatible hex conversion traits")
-    (description "This package provides rustc-serialize compatible hex
-conversion traits.")
+    (synopsis "@code{rustc-serialize} compatible hex conversion traits")
+    (description synopsis)
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rustc-hex-1
+  (package
+    (inherit rust-rustc-hex-2)
+    (name "rust-rustc-hex")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rustc-hex" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "07pff94vqc1mhrqp9i06xzayiad4xfx7588zkqsdw875lpkqrsqc"))))))
+
 (define-public rust-rustc-rayon-0.3
   (package
     (name "rust-rustc-rayon")

base-commit: 337742303c3e368c69cdbfaa0e73513d8c781fba
-- 
2.34.0


From 8931c1f88320796f38237896708f0a8945162156 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 09:29:13 +0100
Subject: [PATCH 02/46] gnu: Add rust-parity-bytes 0.1.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index aa922ee54f..5480245530 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39051,6 +39051,24 @@ (define-public rust-paris-1
 want in the terminal.")
     (license license:mpl2.0)))
 
+(define-public rust-parity-bytes
+  (package
+    (name "rust-parity-bytes")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parity-bytes" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0rww406dih6yxr4iadz7l07sibklqywxz10gjzdqn4r04hx6xd8n"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "General bytes-related utilities used in Parity Technologies projects")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-parity-tokio-ipc-0.4
   (package
     (name "rust-parity-tokio-ipc")
-- 
2.34.0


From 1ae9b02340a2acaba7c92572cbe012d16402474f Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 09:39:57 +0100
Subject: [PATCH 03/46] gnu: Add rust-ethereum-types 0.9.2 and 0.12.1.

* gnu/packages/crates-io.scm (rust-ethereum-types-0.9): New variable.
(rust-ethereum-types-0.12):  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 5480245530..08712db111 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20080,6 +20080,42 @@ (define-public rust-escargot-0.3
        (("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1))))))
 
+(define-public rust-ethereum-types-0.12
+  (package
+    (name "rust-ethereum-types")
+    (version "0.12.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ethereum-types" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1bxxacsmb9majw7vd4sndv4dhw3g9srhf7flwq39yy7yaxq6y4q5"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Crate used in Parity Technologies projects")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-ethereum-types-0.9
+  (package
+    (inherit rust-ethereum-types-0.12)
+    (name "rust-ethereum-types")
+    (version "0.9.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ethereum-types" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1c1l2sg6li301izl4nzkkfrpc8snafxwnr81vfwygn3bd3zyqfj7"))))))
+
 (define-public rust-event-listener-2
   (package
     (name "rust-event-listener")
-- 
2.34.0


From e170ab8b485c0d361d78c3fa4aa61452f507e49b Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 10:55:27 +0100
Subject: [PATCH 04/46] gnu: rust-base64ct-1: Update to 1.3.3.

---
 gnu/packages/crates-io.scm | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 08712db111..7f69fe74fd 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5787,24 +5787,26 @@ (define-public rust-base64-0.6
 (define-public rust-base64ct-1
   (package
     (name "rust-base64ct")
-    (version "1.1.1")
+    (version "1.3.3")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "base64ct" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "0p4was874qc90q2chm2i14m9mn8zmxjis8vaxihd6a2x4aqxkd76"))))
+        (base32 "1818i0gpg7q35s6yglmhgciwi3jwx65mqc2ipjl54jfbmm288kw7"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-base64" ,rust-base64-0.13)
+        ("rust-proptest" ,rust-proptest-1))))
     (home-page "https://github.com/RustCrypto/formats/tree/master/base64ct")
     (synopsis "Implementation of Base64 (RFC 4648)")
     (description
      "This package is a pure Rust implementation of Base64 (RFC 4648) which
 avoids any usages of data-dependent branches/LUTs and thereby provides
-portable \"best effort\" constant-time operation and embedded-friendly no_std
-support.")
+portable \"best effort\" constant-time operation and embedded-friendly
+@code{no_std} support.")
     (license (list license:asl2.0 license:expat))))
 
 (define-public rust-base-x-0.2
-- 
2.34.0


From 674053af0eb718de0f61605bb5b9b270e4a6f42d Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Mon, 24 Jan 2022 11:34:03 +0100
Subject: [PATCH 05/46] gnu: Add rust-base64ct 1.0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7f69fe74fd..1d3d04bfb0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5809,6 +5809,20 @@ (define-public rust-base64ct-1
 @code{no_std} support.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-base64ct-1.0.1
+  (package
+    (inherit rust-base64ct-1)
+    (name "rust-base64ct")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "base64ct" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0sx4a44c2n450lsmi0q1mgfbjhkw1sx57462cv77p0mmy9mgscla"))))
+    (arguments '())))
+
 (define-public rust-base-x-0.2
   (package
     (name "rust-base-x")
-- 
2.34.0


From 23f6970a75d8d2f5ca8c4308c247f495f7b351e4 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 11:09:29 +0100
Subject: [PATCH 06/46] gnu: Add rust-password-hash 0.1.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1d3d04bfb0..5996dbd5e9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39781,6 +39781,24 @@ (define-public rust-password-hash-0.3
 Format (MCF).")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-password-hash-0.1
+  (package
+    (inherit rust-password-hash-0.3)
+    (name "rust-password-hash")
+    (version "0.1.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "password-hash" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1ymh3np2bamjy8rszimksxcp264dclil4620bxm8rff9pyj6m62l"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+        (("rust-base64ct" ,rust-base64ct-1)
+         ("rust-rand-core" ,rust-rand-core-0.6))))))
+
 (define-public rust-paste-1
   (package
     (name "rust-paste")
-- 
2.34.0


From fb907cb20c9da378d2202927d72a79107a9c2f1e Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 11:29:10 +0100
Subject: [PATCH 07/46] gnu: Add rust-pbkdf2 0.7.5 and 0.6.0.

* gnu/packages/crates-io.scm (rust-pbkdf2-0.7)
(rust-pbkdf2-0.6): New variable.
---
 gnu/packages/crates-io.scm | 69 +++++++++++++++++++++++++++++++++++---
 1 file changed, 65 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5996dbd5e9..b6386feff6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39964,7 +39964,8 @@ (define-public rust-pbkdf2-0.10
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-digest" ,rust-digest-0.10)
+       (("rust-base64ct" ,rust-base64ct-1.0.1)
+        ("rust-digest" ,rust-digest-0.10)
         ("rust-hmac" ,rust-hmac-0.12)
         ("rust-password-hash" ,rust-password-hash-0.3)
         ("rust-rayon" ,rust-rayon-1)
@@ -39998,18 +39999,78 @@ (define-public rust-pbkdf2-0.9
         (base32
          "0fa7j0gdgghk64qlhzdv32yg52p0cfaz5ifhk7i4pfm1wsy98n7h"))))
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-crypto-mac" ,rust-crypto-mac-0.11)
         ("rust-hmac" ,rust-hmac-0.11)
         ("rust-password-hash" ,rust-password-hash-0.3)
         ("rust-rayon" ,rust-rayon-1)
+        ("rust-sha-1" ,rust-sha-1-0.9)
+        ("rust-sha2" ,rust-sha2-0.9))
+       #:cargo-development-inputs
+       (("rust-hex-literal" ,rust-hex-literal-0.3)
+        ("rust-hmac" ,rust-hmac-0.11)
+        ("rust-sha-1" ,rust-sha-1-0.9)
+        ("rust-sha2" ,rust-sha2-0.9)
+        ("rust-streebog" ,rust-streebog-0.9))))))
+
+(define-public rust-pbkdf2-0.7
+  (package
+    (inherit rust-pbkdf2-0.9)
+    (name "rust-pbkdf2")
+    (version "0.7.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pbkdf2" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "022m5yb6fagzrks5m5kkj2yzccqffk19vnchg289fqnj5p9nv4dz"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-base64ct" ,rust-base64ct-1)
+        ("rust-crypto-mac" ,rust-crypto-mac-0.10)
+        ("rust-hmac" ,rust-hmac-0.10)
+        ("rust-password-hash" ,rust-password-hash-0.1)
+        ("rust-rayon" ,rust-rayon-1)
+        ("rust-sha-1" ,rust-sha-1-0.9)
+        ("rust-sha2" ,rust-sha2-0.9))
+       #:cargo-development-inputs
+       (("rust-hex-literal" ,rust-hex-literal-0.3)
+        ("rust-hmac" ,rust-hmac-0.8)
+        ("rust-rand-core" ,rust-rand-core-0.6)
+        ("rust-sha-1" ,rust-sha-1-0.9)
+        ("rust-sha2" ,rust-sha2-0.9))))))
+
+(define-public rust-pbkdf2-0.6
+  (package
+    (inherit rust-pbkdf2-0.7)
+    (name "rust-pbkdf2")
+    (version "0.6.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "pbkdf2" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "0jjaapyawm5iqn97mmfj40dvipsy78cm80qcva28009l2zbw1f5k"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-base64" ,rust-base64-0.13)
+        ("rust-crypto-mac" ,rust-crypto-mac-0.10)
+        ("rust-hmac" ,rust-hmac-0.10)
+        ("rust-rand" ,rust-rand-0.7)
+        ("rust-rand-core" ,rust-rand-core-0.5)
+        ("rust-rayon" ,rust-rayon-1)
+        ("rust-sha2" ,rust-sha2-0.9)
+        ("rust-subtle" ,rust-subtle-2))
+       #:cargo-development-inputs
+       (("rust-hmac" ,rust-hmac-0.10)
         ("rust-sha-1" ,rust-sha-1-0.9)
         ("rust-sha2" ,rust-sha2-0.9))))))
 
 (define-public rust-pbkdf2-0.4
   (package
-    (inherit rust-pbkdf2-0.10)
+    (inherit rust-pbkdf2-0.6)
     (name "rust-pbkdf2")
     (version "0.4.0")
     (source
-- 
2.34.0


From 5a077bb15c854bcb1b19621bfc21366762edd2f8 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 11:52:52 +0100
Subject: [PATCH 08/46] gnu: Add rust-salsa20 0.7.1.

* gnu/packages/crates-io.scm (rust-salsa20-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 b6386feff6..bf1ad56955 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -50819,6 +50819,29 @@ (define-public rust-salsa-0.17
 computation (experimental)")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-salsa20-0.7
+  (package
+    (name "rust-salsa20")
+    (version "0.7.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "salsa20" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "09c16m566g45f41xx3673zyzwca3mykz630fmv2mbjbvmwcc4fw0"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-cipher" ,rust-cipher-0.2)
+         ("rust-zeroize" ,rust-zeroize-1))
+        #:cargo-development-inputs
+        (("rust-cipher" ,rust-cipher-0.2))))
+    (home-page "https://github.com/RustCrypto/stream-ciphers")
+    (synopsis "Salsa20 Stream Cipher")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-safe-arch-0.5
   (package
     (name "rust-safe-arch")
-- 
2.34.0


From 4104ed1018532c0494418b2da6f211f8161c5d49 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 11:53:52 +0100
Subject: [PATCH 09/46] gnu: Add rust-scrypt 0.5.0.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bf1ad56955..b263ed8501 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51241,10 +51241,34 @@ (define-public rust-scrypt-0.8
 function.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-scrypt-0.3
+(define-public rust-scrypt-0.5
   (package
     (inherit rust-scrypt-0.8)
     (name "rust-scrypt")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "scrypt" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1fgdmjdjx3lj92nswkxrq9nlv4vv7livg83nfybmv4izn3d9594d"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-base64" ,rust-base64-0.13)
+        ("rust-hmac" ,rust-hmac-0.10)
+        ("rust-pbkdf2" ,rust-pbkdf2-0.6)
+        ("rust-rand" ,rust-rand-0.7)
+        ("rust-rand-core" ,rust-rand-core-0.5)
+        ("rust-salsa20" ,rust-salsa20-0.7)
+        ("rust-sha2" ,rust-sha2-0.9)
+        ("rust-subtle" ,rust-subtle-2))))))
+
+(define-public rust-scrypt-0.3
+  (package
+    (inherit rust-scrypt-0.5)
+    (name "rust-scrypt")
     (version "0.3.0")
     (source
       (origin
-- 
2.34.0


From e32f11223c19b445e0afa566b522b6580e0e8c03 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 14:38:48 +0100
Subject: [PATCH 10/46] gnu: rust-fnv: Update to 1.0.7.

---
 gnu/packages/crates-io.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b263ed8501..c5b3295b77 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21657,15 +21657,14 @@ (define-public rust-flume-0.9
 (define-public rust-fnv-1
   (package
     (name "rust-fnv")
-    (version "1.0.6")
+    (version "1.0.7")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "fnv" version))
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "1ww56bi1r5b8id3ns9j3qxbi7w5h005rzhiryy0zi9h97raqbb9g"))))
+         (base32 "1hc2mcqha06aibcaza94vbi81j6pr9a1bbxrxjfhc91zin8yr7iz"))))
     (build-system cargo-build-system)
     (home-page "https://github.com/servo/rust-fnv")
     (synopsis "Implementation of the Fowler-Noll-Vo hash function")
-- 
2.34.0


From 9350f1ea1f38e911fa98f89b89216e9fbfedaa4f Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 14:50:12 +0100
Subject: [PATCH 11/46] gnu: Add rust-serde-derive-internals 0.25.0.

* gnu/packages/crates-io.scm (rust-serde-derive-internals-0.25): 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 c5b3295b77..aef691a801 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -52637,6 +52637,29 @@ (define-public rust-serde-derive-0.9
         ("rust-serde-codegen-internals" ,rust-serde-codegen-internals-0.14)
         ("rust-syn" ,rust-syn-0.11))))))
 
+(define-public rust-serde-derive-internals-0.25
+  (package
+    (name "rust-serde-derive-internals")
+    (version "0.25.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "serde_derive_internals" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1ihqfkpplqqiwmh87s8p9jsv27ibkz1z7gc0abqs2mrhlr6b7fhx"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build? #t
+        #:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))))
+    (home-page "https://serde.rs")
+    (synopsis "AST representation used by Serde derive macros")
+    (description "AST representation used by Serde derive macros.  Unstable.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-serde-ignored-0.1
   (package
     (name "rust-serde-ignored")
-- 
2.34.0


From e0101197a967c22f49b4f47611443230d40a44bb Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 14:51:42 +0100
Subject: [PATCH 12/46] gnu: Add rust-core 0.3.3.

* gnu/packages/crates-io.scm (rust-core2-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 aef691a801..046507848e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12845,6 +12845,25 @@ (define-public rust-cookie-0.15
 management.  It supports signed and private (encrypted, authenticated) jars.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-core2-0.3
+  (package
+    (name "rust-core2")
+    (version "0.3.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "core2" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1wzzy5iazdk5caadxvjfwrd312rbg7a55a1zpmsdrhk3kfpa77r3"))))
+    (build-system cargo-build-system)
+    (arguments `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2))))
+    (home-page "https://github.com/bbqsrc/core2")
+    (synopsis "The bare essentials of std::io for use in no_std")
+    (description
+      "The bare essentials of std::io for use in no_std.  Alloc support is optional.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-cookie-0.14
   (package
     (inherit rust-cookie-0.15)
-- 
2.34.0


From 0d8eb02bee189ccac223dfd9795c6e3a0512687f Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:06:00 +0100
Subject: [PATCH 13/46] gnu: Add rust-darling 0.13.1.

* gnu/packages/crates-io.scm (rust-darling-0.13): New variable.
---
 gnu/packages/crates-io.scm | 92 +++++++++++++++++++++++++++++++-------
 1 file changed, 76 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 046507848e..eafc4f260a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15648,10 +15648,10 @@ (define-public rust-daemonize-0.4
     (description "Daemonize is a Rust library for writing system deaemons.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-darling-0.12
+(define-public rust-darling-0.13
   (package
     (name "rust-darling")
-    (version "0.12.4")
+    (version "0.13.1")
     (source
      (origin
        (method url-fetch)
@@ -15659,13 +15659,17 @@ (define-public rust-darling-0.12
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0g4bkxpwl6i5jav5qqzny39yd5a1fdlh5l0mj020njza6ksl6b2z"))))
+        (base32 "1x7pgzjswg28798zd5gk5g6nifhcaqq0apqmclydi39zd2w21myh"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-darling-core" ,rust-darling-core-0.12)
-        ("rust-darling-macro" ,rust-darling-macro-0.12))))
+       (("rust-darling-core" ,rust-darling-core-0.13)
+        ("rust-darling-macro" ,rust-darling-macro-0.13))
+       #:cargo-development-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
     (home-page "https://github.com/TedDriggs/darling")
     (synopsis "Proc-macro library for reading attributes in custom derives")
     (description
@@ -15673,6 +15677,30 @@ (define-public rust-darling-0.12
 into structs when implementing custom derives.")
     (license license:expat)))
 
+(define-public rust-darling-0.12
+  (package
+    (inherit rust-darling-0.13)
+    (name "rust-darling")
+    (version "0.12.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "darling" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0g4bkxpwl6i5jav5qqzny39yd5a1fdlh5l0mj020njza6ksl6b2z"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-darling-core" ,rust-darling-core-0.12)
+        ("rust-darling-macro" ,rust-darling-macro-0.12))
+       #:cargo-development-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))))
+
 (define-public rust-darling-0.10
   (package
     (inherit rust-darling-0.12)
@@ -15720,17 +15748,17 @@ (define-public rust-darling-0.9
         ("rust-quote" ,rust-quote-0.6)
         ("rust-syn" ,rust-syn-0.15))))))
 
-(define-public rust-darling-core-0.12
+(define-public rust-darling-core-0.13
   (package
     (name "rust-darling-core")
-    (version "0.12.4")
+    (version "0.13.1")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "darling_core" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0dpscl87s75h6yhrmzdsapx86lc4y16m554xg4hiq2l3hrdlb4cf"))))
+        (base32 "0933k2avb6xk9j4ryr0bvp3pww5j8i0nrqvsnkgd3vic3lj0yd3s"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -15748,6 +15776,19 @@ (define-public rust-darling-core-0.12
 reading attributes into structs when implementing custom derives.")
     (license license:expat)))
 
+(define-public rust-darling-core-0.12
+  (package
+    (inherit rust-darling-core-0.13)
+    (name "rust-darling-core")
+    (version "0.12.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "darling_core" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0dpscl87s75h6yhrmzdsapx86lc4y16m554xg4hiq2l3hrdlb4cf"))))))
+
 (define-public rust-darling-core-0.10
   (package
     (inherit rust-darling-core-0.12)
@@ -15795,8 +15836,34 @@ (define-public rust-darling-core-0.9
         ("rust-strsim" ,rust-strsim-0.7)
         ("rust-syn" ,rust-syn-0.15))))))
 
+(define-public rust-darling-macro-0.13
+  (package
+    (name "rust-darling-macro")
+    (version "0.13.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "darling_macro" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0jzljnd0y7idi5lb7lhvymh3nkhaf32ksx0d38hv7zjjfcxipi3j"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build? #t
+        #:cargo-inputs
+        (("rust-darling-core" ,rust-darling-core-0.13)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/TedDriggs/darling")
+    (synopsis "Helper crate for @code{rust-darling}")
+    (description
+     "Internal support for @code{rust-darling}, a proc-macro library for
+reading attributes into structs when implementing custom derives.")
+    (license license:expat)))
+
 (define-public rust-darling-macro-0.12
   (package
+    (inherit rust-darling-macro-0.13)
     (name "rust-darling-macro")
     (version "0.12.4")
     (source
@@ -15806,19 +15873,12 @@ (define-public rust-darling-macro-0.12
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0nn9mxl7gs827rx5s6lbjvvghipxjdg2qpdjyxk7yym3vvqard99"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-darling-core" ,rust-darling-core-0.12)
         ("rust-quote" ,rust-quote-1)
-        ("rust-syn" ,rust-syn-1))))
-    (home-page "https://github.com/TedDriggs/darling")
-    (synopsis "Helper crate for @code{rust-darling}")
-    (description
-     "Internal support for @code{rust-darling}, a proc-macro library for
-reading attributes into structs when implementing custom derives.")
-    (license license:expat)))
+        ("rust-syn" ,rust-syn-1))))))
 
 (define-public rust-darling-macro-0.10
   (package
-- 
2.34.0


From a459badbb9c0307f2e1b90fd6214a1af4ade0758 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:07:36 +0100
Subject: [PATCH 14/46] gnu: Add rust-enumset 1.0.8.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index eafc4f260a..a3c8335fe0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -19667,6 +19667,57 @@ (define-public rust-enumflags2-derive-0.6
     (description "Enumflags2 implements the classic bitflags datastructure.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-enumset-1
+  (package
+    (name "rust-enumset")
+    (version "1.0.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "enumset" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0b2vdggbsnvvw09czxaazbqcpa378fycf7fs3afz5dbgkb0x45k2"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-enumset-derive" ,rust-enumset-derive-0.5)
+         ("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-bincode" ,rust-bincode-1)
+         ("rust-rustversion" ,rust-rustversion-1)
+         ("rust-serde-derive" ,rust-serde-derive-1)
+         ("rust-serde-json" ,rust-serde-json-1)
+         ("rust-trybuild" ,rust-trybuild-1))))
+    (home-page "https://github.com/Lymia/enumset")
+    (synopsis "A library for creating compact sets of enums")
+    (description
+      "This package provides a rust library for creating compact sets of enums.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-enumset-derive-0.5
+  (package
+    (name "rust-enumset-derive")
+    (version "0.5.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "enumset-derive" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1m7ccz9fcxsx3s1drj77psk62xfgjia0hp9lal3qhpb5ls514lb4"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-darling" ,rust-darling-0.13)
+         ("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/Lymia/enumset")
+    (synopsis "An internal helper crate for enumset")
+    (description "An internal helper crate for enumset.  Not public API.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-env-logger-0.9
   (package
     (name "rust-env-logger")
-- 
2.34.0


From d26c7f30657f668c5ae17afca3d38e6de0b65413 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:12:52 +0100
Subject: [PATCH 15/46] gnu: Add rust-schemars[-derive] 0.8.8.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a3c8335fe0..b9e312e890 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51186,6 +51186,68 @@ (define-public rust-scheduled-thread-pool-0.2
     (description "This package provides a scheduled thread pool.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-schemars-0.8
+  (package
+    (name "rust-schemars")
+    (version "0.8.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "schemars" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1qvhq1yixygd8ihc0qxmnhw4x08fa44q88v088gvc6pa1k4a7df6"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-arrayvec" ,rust-arrayvec-0.5)
+         ("rust-bigdecimal" ,rust-bigdecimal-0.3)
+         ("rust-bytes" ,rust-bytes-1)
+         ("rust-chrono" ,rust-chrono-0.4)
+         ("rust-dyn-clone" ,rust-dyn-clone-1)
+         ("rust-either" ,rust-either-1)
+         ("rust-enumset" ,rust-enumset-1)
+         ("rust-indexmap" ,rust-indexmap-1)
+         ("rust-rust-decimal" ,rust-rust-decimal-1)
+         ("rust-schemars-derive" ,rust-schemars-derive-0.8)
+         ("rust-serde" ,rust-serde-1)
+         ("rust-serde-json" ,rust-serde-json-1)
+         ("rust-smallvec" ,rust-smallvec-1)
+         ("rust-url" ,rust-url-2)
+         ("rust-uuid" ,rust-uuid-0.8))
+        #:cargo-development-inputs
+        (("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
+         ("rust-trybuild" ,rust-trybuild-1))))
+    (home-page "https://graham.cool/schemars/")
+    (synopsis "Generate JSON Schemas from Rust code")
+    (description synopsis)
+    (license license:expat)))
+
+(define-public rust-schemars-derive-0.8
+  (package
+    (name "rust-schemars-derive")
+    (version "0.8.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "schemars-derive" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "16xfvm16d8nsxdx82fdcyqfi12v61lffyf1wmi34qqg82g74vbj1"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-serde-derive-internals" ,rust-serde-derive-internals-0.25)
+         ("rust-syn" ,rust-syn-1))
+        #:cargo-development-inputs
+        (("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))
+    (home-page "https://graham.cool/schemars/")
+    (synopsis "Macros for #[derive(JsonSchema)], for use with schemars")
+    (description synopsis)
+    (license license:expat)))
+
 (define-public rust-scoped-threadpool-0.1
   (package
     (name "rust-scoped-threadpool")
-- 
2.34.0


From 6d71e7898c29fe1c4754e260fb61eee575aa02d3 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:29:01 +0100
Subject: [PATCH 16/46] gnu: Add rust-bitcoin-hashes 0.10.0.

* gnu/packages/crates-io.scm (rust-bitcoin-hashes-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 b9e312e890..eaa8b8f56a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6963,6 +6963,32 @@ (define-public rust-bit-vec-0.4
      `(#:cargo-development-inputs
        (("rust-rand" ,rust-rand-0.3))))))
 
+(define-public rust-bitcoin-hashes-0.10
+  (package
+    (name "rust-bitcoin-hashes")
+    (version "0.10.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "bitcoin-hashes" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1c25nzrd2kn5znhjgxb9n48hc7swapiln8dqqndq368x38gcjv00"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-core2" ,rust-core2-0.3)
+         ("rust-schemars" ,rust-schemars-0.8)
+         ("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-serde-json" ,rust-serde-json-1)
+         ("rust-serde-test" ,rust-serde-test-1)
+         ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
+    (home-page "https://github.com/rust-bitcoin/bitcoin_hashes/")
+    (synopsis "Hash functions used by rust-bitcoin which support rustc 1.29.0")
+    (description synopsis)
+    (license license:cc0)))
+
 (define-public rust-bitfield-0.13
   (package
     (name "rust-bitfield")
-- 
2.34.0


From 3f21f087cca8bd89637532ee4243170888b03409 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:45:46 +0100
Subject: [PATCH 17/46] gnu: Add rust-bitcoin-hashes 0.9.7.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index eaa8b8f56a..cfa57edb4d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6989,6 +6989,19 @@ (define-public rust-bitcoin-hashes-0.10
     (description synopsis)
     (license license:cc0)))
 
+(define-public rust-bitcoin-hashes-0.9
+  (package
+    (inherit rust-bitcoin-hashes-0.10)
+    (name "rust-bitcoin-hashes")
+    (version "0.9.7")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "bitcoin-hashes" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1cblp0clvds0i33ms1b0lvq42kzdpr7q3ma5ac3ss913xijq5qbw"))))))
+
 (define-public rust-bitfield-0.13
   (package
     (name "rust-bitfield")
-- 
2.34.0


From 546907c2315a7e02c1cece3d0213b3d1ab64e3b6 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:29:51 +0100
Subject: [PATCH 18/46] gnu: Add rust-ripemd 0.1.0.

* gnu/packages/crates-io.scm (rust-ripemd-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 cfa57edb4d..a382e1322e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -47652,6 +47652,29 @@ (define-public rust-riscv-0.7
     (description "This crate provides low level access to RISC-V processors.")
     (license license:isc)))
 
+(define-public rust-ripemd-0.1
+  (package
+    (name "rust-ripemd")
+    (version "0.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ripemd" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "16ap7vvnqf4l6vy7kjpb5p8brqfppanssm61jn1w8444395bcm7a"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-digest" ,rust-digest-0.10))
+        #:cargo-development-inputs
+        (("rust-digest" ,rust-digest-0.10)
+         ("rust-hex-literal" ,rust-hex-literal-0.2))))
+    (home-page "https://github.com/RustCrypto/hashes")
+    (synopsis "Pure Rust implementation of the RIPEMD hash functions")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-riscv-target-0.1
   (package
     (name "rust-riscv-target")
-- 
2.34.0


From 8446f6f3a70bd49d173cf8d7c0c65404e2fa3cd5 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:59:23 +0100
Subject: [PATCH 19/46] gnu: rust-zeroize: Update to 1.5.0.

Also update rust-zeroize-derive to 1.3.1.

* gnu/packages/crates-io.scm (rust-zeroize-1.4): New variable.
* gnu/packages/rust-apps.scm (rbw): Stick to the v1.4 line of rust-zeroize.
Also reword the description.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++----
 gnu/packages/rust-apps.scm |  8 ++++----
 2 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a382e1322e..485b6cb7a0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -69812,7 +69812,7 @@ (define-public rust-zerocopy-derive-0.2
 (define-public rust-zeroize-1
   (package
     (name "rust-zeroize")
-    (version "1.4.3")
+    (version "1.5.0")
     (source
      (origin
        (method url-fetch)
@@ -69820,7 +69820,7 @@ (define-public rust-zeroize-1
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "068nvl3n5hk6lfn5y24grf2c7anzzqfzjjccscq3md7rqp79v3fn"))))
+        (base32 "1nq8zq5h7ad6kahdk0fxw4fdm0ibycj061jngxqkqchw67n2l8nc"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -69834,10 +69834,27 @@ (define-public rust-zeroize-1
 implementation that works everywhere, even WASM!")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-zeroize-1.4
+  (package
+    (inherit rust-zeroize-1)
+    (name "rust-zeroize")
+    (version "1.4.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "zeroize" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "068nvl3n5hk6lfn5y24grf2c7anzzqfzjjccscq3md7rqp79v3fn"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-zeroize-derive" ,rust-zeroize-derive-1))))))
+
 (define-public rust-zeroize-derive-1
   (package
     (name "rust-zeroize-derive")
-    (version "1.0.0")
+    (version "1.3.1")
     (source
      (origin
        (method url-fetch)
@@ -69845,7 +69862,7 @@ (define-public rust-zeroize-derive-1
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "18lc9xq9dwvmv81y3bqnw20974nbrs7d20rljb1inz7wd7n1w9fy"))))
+        (base32 "1nzdqyryjnqcrqz0vhddpkd8sybhn0bd8rbd6l33rdhhxwzz3s41"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index d2cc949667..274fce4378 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -1348,13 +1348,13 @@ (define-public rbw
         ("rust-totp-lite" ,rust-totp-lite-1)
         ("rust-url" ,rust-url-2)
         ("rust-uuid" ,rust-uuid-0.8)
-        ("rust-zeroize" ,rust-zeroize-1))))
+        ("rust-zeroize" ,rust-zeroize-1.4))))
     (home-page "https://git.tozt.net/rbw")
     (synopsis "Unofficial Bitwarden CLI")
     (description "This package is an unofficial command line client for
-Bitwarden. Although it does come with its own command line client, this client
-is limited by being stateless, which makes it very difficult to use.  This
-client avoids this problem by maintaining a background process which is able
+Bitwarden.  Although Bitwarden ships with a command line client, but
+it's limited by being stateless, which makes it very difficult to use.  This
+client avoids that problem by maintaining a background process which is able
 to hold the keys in memory, similar to the way that ssh-agent or gpg-agent
 work.  This allows the client to be used in a much simpler way, with the
 background agent taking care of maintaining the necessary state.")
-- 
2.34.0


From 91bd5c91b6771566af23023e8529d4266b794983 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:30:31 +0100
Subject: [PATCH 20/46] gnu: Add rust-secp256k1 0.21.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 485b6cb7a0..ff14d9fa77 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51859,6 +51859,61 @@ (define-public rust-section-testing-0.0
      "This package provides a library for section-style testing.")
     (license license:expat)))
 
+(define-public rust-secp256k1-0.21
+  (package
+    (name "rust-secp256k1")
+    (version "0.21.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "secp256k1" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "09gia5hjf1hb9jgac9nzq0s0ijbsdjfflh40xw8z08avgl0q6y5b"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-bitcoin-hashes" ,rust-bitcoin-hashes-0.10)
+         ("rust-rand" ,rust-rand-0.6)
+         ("rust-secp256k1-sys" ,rust-secp256k1-sys-0.4)
+         ("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-bitcoin-hashes" ,rust-bitcoin-hashes-0.10)
+         ("rust-rand" ,rust-rand-0.6)
+         ("rust-rand-core" ,rust-rand-core-0.4)
+         ("rust-serde-test" ,rust-serde-test-1)
+         ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
+    (home-page "https://github.com/rust-bitcoin/rust-secp256k1/")
+    (synopsis
+      "Rust wrapper library for Pieter Wuille's `libsecp256k1`. Implements ECDSA and BIP 340 signatures for the SECG elliptic curve group secp256k1 and related utilities.")
+    (description
+      "Rust wrapper library for Pieter Wuille's `libsecp256k1`.  Implements ECDSA and
+BIP 340 signatures for the SECG elliptic curve group secp256k1 and related
+utilities.")
+    (license license:cc0)))
+
+(define-public rust-secp256k1-sys-0.4
+  (package
+    (name "rust-secp256k1-sys")
+    (version "0.4.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "secp256k1-sys" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0dk0as7qdlvg5vkcsihndzg1jgqb9amhwmz3xiip94fy7ibs4zcm"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-cc" ,rust-cc-1))
+        #:cargo-development-inputs
+        (("rust-libc" ,rust-libc-0.2))))
+    (home-page "https://github.com/rust-bitcoin/rust-secp256k1/")
+    (synopsis "FFI for Pieter Wuille's `libsecp256k1` library.")
+    (description synopsis)
+    (license license:cc0)))
+
 (define-public rust-security-framework-2
   (package
     (name "rust-security-framework")
-- 
2.34.0


From 5de36a4e63c76945df2a68bc564eaae43a510050 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:38:34 +0100
Subject: [PATCH 21/46] gnu: Add rust-secp256k1 0.20.3.

---
 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 ff14d9fa77..191feef52d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51892,6 +51892,31 @@ (define-public rust-secp256k1-0.21
 utilities.")
     (license license:cc0)))
 
+(define-public rust-secp256k1-0.20
+  (package
+    (inherit rust-secp256k1-0.21)
+    (name "rust-secp256k1")
+    (version "0.20.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "secp256k1" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "02kxhfgy85zg7w2yyvnzrr7myk1mckvg99z6pbazxl1nwvm3rl4p"))))
+    (arguments
+      `(#:cargo-inputs
+        (("rust-bitcoin-hashes" ,rust-bitcoin-hashes-0.9)
+         ("rust-rand" ,rust-rand-0.6)
+         ("rust-secp256k1-sys" ,rust-secp256k1-sys-0.4)
+         ("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-bitcoin-hashes" ,rust-bitcoin-hashes-0.10)
+         ("rust-rand" ,rust-rand-0.6)
+         ("rust-rand-core" ,rust-rand-core-0.4)
+         ("rust-serde-test" ,rust-serde-test-1)
+         ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))))
+
 (define-public rust-secp256k1-sys-0.4
   (package
     (name "rust-secp256k1-sys")
-- 
2.34.0


From 0213d47aabe25d91ddeb1e7acc1a987e5862bd43 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 16:51:39 +0100
Subject: [PATCH 22/46] gnu: Add rust-fixed-hash 0.7.0 and 0.2.5.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 191feef52d..0391d7f5cf 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21369,6 +21369,59 @@ (define-public rust-fixed-1
     (description "This package provides fixed-point numbers in Rust.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-fixed-hash-0.7
+  (package
+    (name "rust-fixed-hash")
+    (version "0.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "fixed-hash" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0g29r0zwf09kg70nprn0s444bn6nfsglmiafhl1pm8ajzvbhxkyg"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-arbitrary" ,rust-arbitrary-0.4)
+        ("rust-byteorder" ,rust-byteorder-1)
+        ("rust-quickcheck" ,rust-quickcheck-0.9)
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-rustc-hex" ,rust-rustc-hex-2)
+        ("rust-static-assertions" ,rust-static-assertions-1))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Macros to define custom fixed-size hash types")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-fixed-hash-0.2
+  (package
+    (inherit rust-fixed-hash-0.7)
+    (name "rust-fixed-hash")
+    (version "0.2.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "fixed-hash" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0wvj52bf37nhg6mv5h235zgdg7nsdarag58mf4i49cdgc3l6rzks"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-heapsize" ,rust-heapsize-0.4)
+         ("rust-libc" ,rust-libc-0.2)
+         ("rust-quickcheck" ,rust-quickcheck-0.6)
+         ("rust-rand" ,rust-rand-0.4)
+         ("rust-rustc-hex" ,rust-rustc-hex-2)
+         ("rust-serde" ,rust-serde-1)
+         ("rust-serde-derive" ,rust-serde-derive-1)
+         ("rust-uint" ,rust-uint-0.4))))))
+
 (define-public rust-fixedbitset-0.4
   (package
     (name "rust-fixedbitset")
-- 
2.34.0


From f5b5436e6558b09cd0bc6c23838d58f93a1ef5a6 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 17:16:15 +0100
Subject: [PATCH 23/46] gnu: Add rust-byte-slice-cast 1.2.0.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0391d7f5cf..7ae1a339cc 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8594,6 +8594,24 @@ (define-public rust-byte-pool-0.2
 memory usage.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-byte-slice-cast-1
+  (package
+    (name "rust-byte-slice-cast")
+    (version "1.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "byte-slice-cast" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "162618ai9pnsim49lkjpq2yi2b3wssclvqxwwycw8xrbb58wfc0x"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/sdroege/bytes-num-slice-cast")
+    (synopsis
+      "Safely cast bytes slices from/to slices of built-in fundamental numeric types")
+    (description synopsis)
+    (license license:expat)))
+
 (define-public rust-byte-tools-0.3
   (package
     (name "rust-byte-tools")
-- 
2.34.0


From 2c85cd16fa036b86af025781b9fa1da54bd6a268 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 17:24:47 +0100
Subject: [PATCH 24/46] gnu: Add rust-impl-trait-for-tuples 0.2.1.

---
 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 7ae1a339cc..45c2ca9354 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -70820,6 +70820,31 @@ (define-public rust-im-rc-15
 variant of this library is available separately as @code{im}.")
     (license license:mpl2.0)))
 
+(define-public rust-impl-trait-for-tuples-0.2
+  (package
+    (name "rust-impl-trait-for-tuples")
+    (version "0.2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "impl-trait-for-tuples" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1vii634v1zvb680h28md42xpdrj1j1d50ix3dga95fxkql8cpnnm"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #false ; Some tests fail. Unstable compiler messages?
+       #:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))
+        #:cargo-development-inputs
+        (("rust-trybuild" ,rust-trybuild-1))))
+    (home-page "https://github.com/bkchr/impl-trait-for-tuples")
+    (synopsis "Attribute macro to implement a trait for tuples")
+    (description synopsis)
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-inflections-1
   (package
     (name "rust-inflections")
-- 
2.34.0


From 96ac3fb704c2220af7a24a1f8069a0374b3f015c Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:05:55 +0100
Subject: [PATCH 25/46] gnu: Add rust-bitvec 0.20.4.

* gnu/packages/crates-io.scm (rust-bitvec-0.20): New variable.
---
 gnu/packages/crates-io.scm | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 45c2ca9354..0cfe7220c0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7283,10 +7283,38 @@ (define-public rust-bitvec-0.22
      "This package provides a crate for manipulating memory, bit by bit.")
     (license license:expat)))
 
-(define-public rust-bitvec-0.19
+(define-public rust-bitvec-0.20
   (package
     (inherit rust-bitvec-0.22)
     (name "rust-bitvec")
+    (version "0.20.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bitvec" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0j3qn0z31j06c965hs3kh41l78hxbzzsf1h46xvs3ym48i1i8x3p"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-funty" ,rust-funty-1)
+        ("rust-radium" ,rust-radium-0.6)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-tap" ,rust-tap-1)
+        ("rust-wyz" ,rust-wyz-0.2))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1)
+        ("rust-criterion" ,rust-criterion-0.3)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-serde-test" ,rust-serde-test-1)
+        ("rust-static-assertions" ,rust-static-assertions-1))))))
+
+(define-public rust-bitvec-0.19
+  (package
+    (inherit rust-bitvec-0.20)
+    (name "rust-bitvec")
     (version "0.19.4")
     (source
      (origin
-- 
2.34.0


From 83769f334771864f2f974e7379f6952a0aec70ac Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 09:47:42 +0100
Subject: [PATCH 26/46] gnu: Add rust-parity-crypto 0.9.0.

* gnu/packages/crates-io.scm (rust-parity-crypto): New variable.
---
 gnu/packages/crates-io.scm | 50 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0cfe7220c0..ae0dd0236c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39388,6 +39388,56 @@ (define-public rust-parity-bytes
     (description synopsis)
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-parity-crypto
+  (package
+    (name "rust-parity-crypto")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parity-crypto" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0dafz7pfi21plp6r6k2bh7ysjd3x75yix6a9gkdy3mn0vafym4jb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-aes" ,rust-aes-0.6)
+        ("rust-block-modes" ,rust-block-modes-0.7)
+        ("rust-digest" ,rust-digest-0.9)
+        ("rust-ethereum-types" ,rust-ethereum-types-0.12)
+        ("rust-hex" ,rust-hex-0.2)
+        ("rust-hmac" ,rust-hmac-0.10)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-pbkdf2" ,rust-pbkdf2-0.7)
+        ("rust-ripemd" ,rust-ripemd-0.1)
+        ("rust-rustc-hex" ,rust-rustc-hex-2)
+        ("rust-scrypt" ,rust-scrypt-0.5)
+        ("rust-secp256k1" ,rust-secp256k1-0.20)
+        ("rust-sha2" ,rust-sha2-0.9)
+        ("rust-subtle" ,rust-subtle-2)
+        ("rust-tiny-keccak" ,rust-tiny-keccak-2)
+        ("rust-zeroize" ,rust-zeroize-1))
+       #:cargo-development-inputs
+        (("rust-criterion" ,rust-criterion-0.3)
+         ("rust-hex-literal" ,rust-hex-literal-0.3))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-version-requirements
+           (lambda _
+             ;; SUBSTITUTE* can't do multiline regex, so let's just do this:
+             (delete-file "Cargo.toml")
+             (rename-file "Cargo.toml.orig" "Cargo.toml")
+             (substitute* "Cargo.toml"
+               (("aes-ctr = \"0.6.0\"") "")
+               (("ethereum-types = \\{ version = \"0.12.0\".*")
+                "ethereum-types = { version = \"0.12.0\", optional = true }\n")
+               (("ripemd160 = \"0.9.1\"") "ripemd = \"0.1.0\"")))))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "General cryptographic utilities for Ethereum")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-parity-tokio-ipc-0.4
   (package
     (name "rust-parity-tokio-ipc")
-- 
2.34.0


From 47198b792edc7ac19660e3feac57634b5a9e938f Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:08:11 +0100
Subject: [PATCH 27/46] gnu: Add rust-parity-scale-codec 2.3.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ae0dd0236c..de245e4afc 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39438,6 +39438,65 @@ (define-public rust-parity-crypto
     (description synopsis)
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-parity-scale-codec-2
+  (package
+    (name "rust-parity-scale-codec")
+    (version "2.3.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "parity-scale-codec" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "02g95fp56sfpxixpy3x2h2yvcnmbpl8klfx53wywvn9q2d61lfrp"))))
+    (build-system cargo-build-system)
+    (arguments
+     ;; The tests fail with: error[E0432]: unresolved import
+     ;; `parity_scale_codec_derive`. They also take a relatively long time.
+     `(#:tests? #f
+        #:cargo-inputs
+        (("rust-arbitrary" ,rust-arbitrary-1)
+         ("rust-arrayvec" ,rust-arrayvec-0.7)
+         ("rust-bitvec" ,rust-bitvec-0.20)
+         ("rust-byte-slice-cast" ,rust-byte-slice-cast-1)
+         ("rust-generic-array" ,rust-generic-array-0.14)
+         ("rust-impl-trait-for-tuples" ,rust-impl-trait-for-tuples-0.2)
+         ("rust-parity-scale-codec-derive" ,rust-parity-scale-codec-derive-2)
+         ("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-criterion" ,rust-criterion-0.3)
+         ("rust-quickcheck" ,rust-quickcheck-1)
+         ("rust-serde-derive" ,rust-serde-derive-1)
+         ("rust-trybuild" ,rust-trybuild-1))))
+    (home-page "https://github.com/paritytech/parity-scale-codec")
+    (synopsis "SCALE - Simple Concatenating Aggregated Little Endians")
+    (description synopsis)
+    (license license:asl2.0)))
+
+(define-public rust-parity-scale-codec-derive-2
+  (package
+    (name "rust-parity-scale-codec-derive")
+    (version "2.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parity-scale-codec-derive" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "09zdgdqalc8d2zsjc9v1ayqxwg5rh7xxq5ldasdmqng0fq202mqm"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "")
+    (synopsis
+     "Serialization and deserialization derive macro for Parity SCALE Codec")
+    (description synopsis)
+    (license license:asl2.0)))
+
 (define-public rust-parity-tokio-ipc-0.4
   (package
     (name "rust-parity-tokio-ipc")
-- 
2.34.0


From fd9d8f7f3f7d9777b7b6d08476ebe894381b556c Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:09:21 +0100
Subject: [PATCH 28/46] gnu: Add rust-impl-codec 0.5.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index de245e4afc..dd5143d531 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -70957,6 +70957,26 @@ (define-public rust-im-rc-15
 variant of this library is available separately as @code{im}.")
     (license license:mpl2.0)))
 
+(define-public rust-impl-codec-0.5
+  (package
+    (name "rust-impl-codec")
+    (version "0.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "impl-codec" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0hy4svffnw9idy9ipp0hkmbzk97fl583akqwyqmvbqy8qgzbs7hn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-parity-scale-codec" ,rust-parity-scale-codec-2))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Parity Codec serialization support for uint and fixed hash")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-impl-trait-for-tuples-0.2
   (package
     (name "rust-impl-trait-for-tuples")
-- 
2.34.0


From 82c25eb53f99a814a5f77a9b2cebc85719545dcd Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:34:32 +0100
Subject: [PATCH 29/46] gnu: Add rust-crunchy 0.1.6.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index dd5143d531..d866948908 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14496,6 +14496,19 @@ (define-public rust-crunchy-0.2
 number ``crunching``.")
     (license license:expat)))
 
+(define-public rust-crunchy-0.1
+  (package
+    (inherit rust-crunchy-0.2)
+    (name "rust-crunchy")
+    (version "0.1.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "crunchy" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1nnbh2k3pv1diyd0i0p3a08kd4afqc17yz0b43hn5xn9qlqs9x52"))))))
+
 (define-public rust-roxmltree-0.14
   (package
     (name "rust-roxmltree")
-- 
2.34.0


From 2f817e376e441e00ad8ab26fa735765acced5a98 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:43:09 +0100
Subject: [PATCH 30/46] gnu: Add rust-uint 0.4.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d866948908..f3fcf18e6b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -65948,6 +65948,34 @@ (define-public rust-ufmt-write-0.1
     (description "This package provides @code{μfmt}'s @code{uWrite} trait.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-uint-0.4
+  (package
+    (name "rust-uint")
+    (version "0.4.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "uint" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0il6x59h605mmm10qxig066khxaygqcyb60pqja1n5mr68bs2jvm"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:tests? #f ; The tests fail. Due to rustc version?
+        #:cargo-inputs
+        (("rust-byteorder" ,rust-byteorder-1)
+         ("rust-crunchy" ,rust-crunchy-0.1)
+         ("rust-heapsize" ,rust-heapsize-0.4)
+         ("rust-quickcheck" ,rust-quickcheck-0.6)
+         ("rust-rustc-hex" ,rust-rustc-hex-2))
+        #:cargo-development-inputs
+        (("rust-quickcheck" ,rust-quickcheck-0.6)
+         ("rust-rustc-hex" ,rust-rustc-hex-2))))
+    (home-page "http://parity.io")
+    (synopsis "Large fixed-size integer arithmetic")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-umask-1
   (package
     (name "rust-umask")
-- 
2.34.0


From 45f0e1ca28391fdcbab1180c27073fa2b85c055a Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:48:56 +0100
Subject: [PATCH 31/46] gnu: Add rust-ethereum-types-serialize 0.2.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f3fcf18e6b..47340f988b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20360,6 +20360,24 @@ (define-public rust-ethereum-types-0.9
          (base32
           "1c1l2sg6li301izl4nzkkfrpc8snafxwnr81vfwygn3bd3zyqfj7"))))))
 
+(define-public rust-ethereum-types-serialize-0.2
+  (package
+    (name "rust-ethereum-types-serialize")
+    (version "0.2.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ethereum-types-serialize" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0l53rvzvwpxwkl7i3f9q5fafw663rcm5z4mdknkr265w69xxfwqq"))))
+    (build-system cargo-build-system)
+    (arguments `(#:cargo-inputs (("rust-serde" ,rust-serde-1))))
+    (home-page "https://github.com/paritytech/primitives")
+    (synopsis "Ethereum types")
+    (description synopsis)
+    (license license:expat)))
+
 (define-public rust-event-listener-2
   (package
     (name "rust-event-listener")
-- 
2.34.0


From f77be3c3efbc48ccf4dfd2fbde76c088e1c35d7e Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:52:53 +0100
Subject: [PATCH 32/46] gnu: Add rust-tiny-keccak 1.5.0.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 47340f988b..bfa4b96d2f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -61706,6 +61706,22 @@ (define-public rust-tiny-keccak-2
 specified in FIPS-202, SP800-185 and KangarooTwelve.")
     (license license:cc0)))
 
+(define-public rust-tiny-keccak-1
+  (package
+    (inherit rust-tiny-keccak-2)
+    (name "rust-tiny-keccak")
+    (version "1.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tiny-keccak" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1chiisrsql4pfwh5r7nz055ciqj7ch24m0nvrr6a8x5vd4f052hx"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-crunchy" ,rust-crunchy-0.2))))))
+
 (define-public rust-tinyfiledialogs-3
   (package
     (name "rust-tinyfiledialogs")
-- 
2.34.0


From 72da0524a3e36e66f784336ac5177a956ebb7b42 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Mon, 24 Jan 2022 11:09:08 +0100
Subject: [PATCH 33/46] gnu: Add rust-impl-rlp 0.3.0.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bfa4b96d2f..f387b383c2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -71052,6 +71052,26 @@ (define-public rust-impl-codec-0.5
     (description synopsis)
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-impl-rlp-0.3
+  (package
+    (name "rust-impl-rlp")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "impl-rlp" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "021869d5s47ili9kmhm9y80qpsbf0wwdap14qzfpb84pjbw210pj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-rlp" ,rust-rlp-0.5))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "RLP serialization support for uint and fixed hash")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-impl-trait-for-tuples-0.2
   (package
     (name "rust-impl-trait-for-tuples")
-- 
2.34.0


From e55499e2eaa0e0578027a47cdbef17826fe50446 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 22:15:37 +0100
Subject: [PATCH 34/46] gnu: Add rust-impl-serde 0.3.2.

* gnu/packages/crates-io.scm (rust-impl-serde-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 f387b383c2..e2fee99ba6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -71072,6 +71072,31 @@ (define-public rust-impl-rlp-0.3
     (description synopsis)
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-impl-serde-0.3
+  (package
+    (name "rust-impl-serde")
+    (version "0.3.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "impl-serde" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0p2zy8ikdxd28s3vb22nwqgnwjn8gx920sr2svdn93j3yd1g0la5"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-criterion" ,rust-criterion-0.3)
+         ("rust-serde-derive" ,rust-serde-derive-1)
+         ("rust-serde-json" ,rust-serde-json-1)
+         ("rust-uint" ,rust-uint-0.9))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Serde serialization support for uint and fixed hash")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-impl-trait-for-tuples-0.2
   (package
     (name "rust-impl-trait-for-tuples")
-- 
2.34.0


From 1fa7096cdeba772b35e2509c6755a1b31e5879ff Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 22:16:27 +0100
Subject: [PATCH 35/46] gnu: Add rust-scale-info 1.0.0.

---
 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 e2fee99ba6..82df54b4d2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51417,6 +51417,54 @@ (define-public rust-sanakirja-0.10
 @end itemize")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-scale-info-1
+  (package
+    (name "rust-scale-info")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "scale-info" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0bvq3a9im6c20xmx8lipr5px9y4x22dpilm0ccnm69cw752bfmaw"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-bitvec" ,rust-bitvec-0.20)
+         ("rust-cfg-if" ,rust-cfg-if-1)
+         ("rust-derive-more" ,rust-derive-more-0.99)
+         ("rust-parity-scale-codec" ,rust-parity-scale-codec-2)
+         ("rust-scale-info-derive" ,rust-scale-info-derive-1)
+         ("rust-serde" ,rust-serde-1))))
+    (home-page "https://www.parity.io/")
+    (synopsis "Info about SCALE encodable Rust types")
+    (description synopsis)
+    (license license:asl2.0)))
+
+(define-public rust-scale-info-derive-1
+  (package
+    (name "rust-scale-info-derive")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "scale-info-derive" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1k8z7y6181yjdnggbhnqr8mfnpw197pa8ni0hqpmk003d602gsxs"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
+         ("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))))
+    (home-page "https://www.parity.io/")
+    (synopsis "Derive type info for SCALE encodable types")
+    (description synopsis)
+    (license license:asl2.0)))
+
 (define-public rust-scan-fmt-0.2
   (package
     (name "rust-scan-fmt")
-- 
2.34.0


From c180aea8ee7c06c9b7e48c60b8fa82b7c44ea2b0 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 22:18:45 +0100
Subject: [PATCH 36/46] gnu: Add rust-uint 0.9.1.

---
 gnu/packages/crates-io.scm | 38 ++++++++++++++++++++++++++++++++------
 1 file changed, 32 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 82df54b4d2..2d021ebe70 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -66030,8 +66030,39 @@ (define-public rust-ufmt-write-0.1
     (description "This package provides @code{μfmt}'s @code{uWrite} trait.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-uint-0.9
+  (package
+    (name "rust-uint")
+    (version "0.9.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "uint" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0pys10znj928lijvsq2rvnzns90a91j7199pl2afigc2yi8anw34"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-arbitrary" ,rust-arbitrary-1)
+         ("rust-byteorder" ,rust-byteorder-1)
+         ("rust-crunchy" ,rust-crunchy-0.2)
+         ("rust-hex" ,rust-hex-0.4)
+         ("rust-quickcheck" ,rust-quickcheck-0.9)
+         ("rust-rand" ,rust-rand-0.7)
+         ("rust-static-assertions" ,rust-static-assertions-1))
+        #:cargo-development-inputs
+        (("rust-criterion" ,rust-criterion-0.3)
+         ("rust-num-bigint" ,rust-num-bigint-0.4)
+         ("rust-rug" ,rust-rug-1))))
+    (home-page "http://parity.io")
+    (synopsis "Large fixed-size integer arithmetic")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-uint-0.4
   (package
+    (inherit rust-uint-0.9)
     (name "rust-uint")
     (version "0.4.1")
     (source
@@ -66041,7 +66072,6 @@ (define-public rust-uint-0.4
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
           (base32 "0il6x59h605mmm10qxig066khxaygqcyb60pqja1n5mr68bs2jvm"))))
-    (build-system cargo-build-system)
     (arguments
       `(#:tests? #f ; The tests fail. Due to rustc version?
         #:cargo-inputs
@@ -66052,11 +66082,7 @@ (define-public rust-uint-0.4
          ("rust-rustc-hex" ,rust-rustc-hex-2))
         #:cargo-development-inputs
         (("rust-quickcheck" ,rust-quickcheck-0.6)
-         ("rust-rustc-hex" ,rust-rustc-hex-2))))
-    (home-page "http://parity.io")
-    (synopsis "Large fixed-size integer arithmetic")
-    (description synopsis)
-    (license (list license:expat license:asl2.0))))
+         ("rust-rustc-hex" ,rust-rustc-hex-2))))))
 
 (define-public rust-umask-1
   (package
-- 
2.34.0


From e72496802d06a4b632b065b6e39491b610ede41b Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 22:36:44 +0100
Subject: [PATCH 37/46] gnu: Add rust-ethbloom 0.5.3.

* gnu/packages/crates-io.scm (rust-ethbloom-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 2d021ebe70..88bc5c51ca 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20324,6 +20324,35 @@ (define-public rust-escargot-0.3
        (("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1))))))
 
+(define-public rust-ethbloom-0.5
+  (package
+    (name "rust-ethbloom")
+    (version "0.5.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ethbloom" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0q2kix0p067rrfffhbfra453dw51s4cfgs0lhirslsv4callsad6"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f                      ; The tests fail.
+       #:cargo-inputs
+       (("rust-crunchy" ,rust-crunchy-0.1)
+        ("rust-ethereum-types-serialize" ,rust-ethereum-types-serialize-0.2)
+        ("rust-fixed-hash" ,rust-fixed-hash-0.2)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-tiny-keccak" ,rust-tiny-keccak-1))
+       #:cargo-development-inputs
+       (("rust-hex-literal" ,rust-hex-literal-0.1)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-rustc-hex" ,rust-rustc-hex-1))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Ethereum bloom filter")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-ethereum-types-0.12
   (package
     (name "rust-ethereum-types")
-- 
2.34.0


From c992d452529adc08f577f1bfdc25456792562a3d Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:59:31 +0100
Subject: [PATCH 38/46] gnu: Add rust-ethereum-types 0.4.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 88bc5c51ca..f679abac58 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20389,6 +20389,29 @@ (define-public rust-ethereum-types-0.9
          (base32
           "1c1l2sg6li301izl4nzkkfrpc8snafxwnr81vfwygn3bd3zyqfj7"))))))
 
+(define-public rust-ethereum-types-0.4
+  (package
+    (inherit rust-ethereum-types-0.9)
+    (name "rust-ethereum-types")
+    (version "0.4.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ethereum-types" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "15icipk0ap7r6yi0i6cl6zsl0z52zbw6jwv3l271r833vj222x3f"))))
+    (arguments
+      `(#:cargo-inputs
+        (("rust-crunchy" ,rust-crunchy-0.1)
+         ("rust-ethbloom" ,rust-ethbloom-0.5)
+         ("rust-ethereum-types-serialize" ,rust-ethereum-types-serialize-0.2)
+         ("rust-fixed-hash" ,rust-fixed-hash-0.2)
+         ("rust-serde" ,rust-serde-1)
+         ("rust-uint" ,rust-uint-0.4))
+        #:cargo-development-inputs
+        (("rust-serde-json" ,rust-serde-json-1))))))
+
 (define-public rust-ethereum-types-serialize-0.2
   (package
     (name "rust-ethereum-types-serialize")
-- 
2.34.0


From a342c059b512dea404160b8bf7e8f544dcf3f31f Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 20:02:58 +0100
Subject: [PATCH 39/46] gnu: Add rust-rlp 0.3.0.

* gnu/packages/crates-io.scm (rust-rlp-0.3): 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 f679abac58..3ff545793e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -48038,6 +48038,27 @@ (define-public rust-rlp-0.5
 decoding, and compression.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rlp-0.3
+  (package
+    (inherit rust-rlp-0.5)
+    (name "rust-rlp")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rlp" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "082pfkdzsnzvqr5yx5qb2hildjg597p2115ywy84zma5k3zfzl8n"))))
+    (arguments
+     `(#:tests? #f                      ; The tests fail.
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1)
+        ("rust-ethereum-types" ,rust-ethereum-types-0.4)
+        ("rust-rustc-hex" ,rust-rustc-hex-2))
+       #:cargo-development-inputs
+       (("rust-hex-literal" ,rust-hex-literal-0.1))))))
+
 (define-public rust-rls-span-0.5
   (package
     (name "rust-rls-span")
-- 
2.34.0


From 21ce17041ca7bb95920a646cc16f5f48e9a67b36 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 20:11:48 +0100
Subject: [PATCH 40/46] gnu: Add rust-integer-sqrt 0.1.5.

---
 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 3ff545793e..da6cd29a43 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -28522,6 +28522,27 @@ (define-public rust-integer-encoding-1
         ("rust-futures-util" ,rust-futures-util-0.3)
         ("rust-tokio" ,rust-tokio-0.2))))))
 
+(define-public rust-integer-sqrt-0.1
+  (package
+    (name "rust-integer-sqrt")
+    (version "0.1.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "integer-sqrt" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0w6pzmgvs1mldkhafbwg9x7wzr0af3ngkimyb1gy97jarcdw6vi7"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-num-traits" ,rust-num-traits-0.2))))
+    (home-page "https://github.com/derekdreery/integer-sqrt-rs")
+    (synopsis
+      "An implementation of integer square root algorithm for primitive rust types")
+    (description synopsis)
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-interpolate-name-0.2
   (package
     (name "rust-interpolate-name")
-- 
2.34.0


From 6623f4a2976d211016e3c18cb9493eb6377f1101 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 21:29:52 +0100
Subject: [PATCH 41/46] gnu: Add rust-gmp-mpfr-sys 1.4.7.

---
 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 da6cd29a43..695f01b553 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51,6 +51,7 @@ (define-module (gnu packages crates-io)
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpp)
@@ -66,6 +67,7 @@ (define-module (gnu packages crates-io)
   #:use-module (gnu packages jemalloc)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages mail)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages nettle)
@@ -25071,6 +25073,34 @@ (define-public rust-gloo-timers-0.2
 timers.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-gmp-mpfr-sys-1
+  (package
+    (name "rust-gmp-mpfr-sys")
+    (version "1.4.7")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "gmp-mpfr-sys" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1ysvdf352vcnb5ygmbwf5pkndqb0p6clmz0nqkf3nmz9ghssfim1"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'set-shell-for-configure-script
+            (lambda _
+              (setenv "CONFIG_SHELL" (which "sh")))))
+       #:cargo-inputs
+        (("rust-libc" ,rust-libc-0.2)
+         ("rust-winapi" ,rust-winapi-0.3))))
+    (native-inputs
+     (list bash-minimal m4))
+    (home-page "https://gitlab.com/tspiteri/gmp-mpfr-sys")
+    (synopsis "Rust FFI bindings for GMP, MPFR and MPC")
+    (description synopsis)
+    (license license:lgpl3+)))
+
 (define-public rust-goblin-0.2
   (package
     (name "rust-goblin")
-- 
2.34.0


From 4b84a8c7fbe4b5dfb0d45e4bcebec371614f1d25 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 21:33:35 +0100
Subject: [PATCH 42/46] gnu: rust-az: Update to 1.2.0.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 695f01b553..09723c1d3d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5462,7 +5462,7 @@ (define-public rust-awc-0.2
 (define-public rust-az-1
   (package
     (name "rust-az")
-    (version "1.0.0")
+    (version "1.2.0")
     (source
       (origin
         (method url-fetch)
@@ -5471,7 +5471,7 @@ (define-public rust-az-1
          (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "0sb51w9pjcqb315dg6zv9wwqj1q2fldcc3xmfv0bhkmajiyx9g79"))))
+          "1i2s9bqar8hfxjmfr2cbhi4s26s2sd1kc3x3g517ygshyp8sawgp"))))
     (build-system cargo-build-system)
     (home-page "https://gitlab.com/tspiteri/az")
     (synopsis "Casts and checked casts")
-- 
2.34.0


From 94d4f6d59a9a6c74f476e447481e2de464722652 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 21:50:44 +0100
Subject: [PATCH 43/46] gnu: Add rust-rug 1.14.0.

---
 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 09723c1d3d..bcaee1c18f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -48716,6 +48716,43 @@ (define-public rust-rstest-0.10
 table-based tests.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rug-1
+  (package
+    (name "rust-rug")
+    (version "1.14.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rug" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1iw52gyw0hshymqa04g76m7qnrds5vkgc5s8svqx5nv1jz1wrdgm"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'set-shell-for-configure-script
+            (lambda _
+              (setenv "CONFIG_SHELL" (which "sh")))))
+        #:cargo-inputs
+        (("rust-az" ,rust-az-1)
+         ("rust-gmp-mpfr-sys" ,rust-gmp-mpfr-sys-1)
+         ("rust-libc" ,rust-libc-0.2)
+         ("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-bincode" ,rust-bincode-1)
+         ("rust-byteorder" ,rust-byteorder-1)
+         ("rust-serde-json" ,rust-serde-json-1)
+         ("rust-serde-test" ,rust-serde-test-1))))
+    (native-inputs
+     (list bash-minimal m4))
+    (home-page "https://gitlab.com/tspiteri/rug")
+    (synopsis
+      "Arbitrary-precision integers, rational, floating-point and complex numbers based
+on GMP, MPFR and MPC")
+    (description synopsis)
+    (license license:lgpl3+)))
+
 (define-public rust-rpassword-5
   (package
     (name "rust-rpassword")
-- 
2.34.0


From 4f3eb9e36c202d43267b32d22fbd70bba0666ae7 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 22:23:03 +0100
Subject: [PATCH 44/46] gnu: Add rust-impl-num-traits 0.1.1.

* gnu/packages/crates-io.scm (rust-impl-num-traits-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 bcaee1c18f..fd2b1f26be 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -71307,6 +71307,28 @@ (define-public rust-impl-rlp-0.3
     (description synopsis)
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-impl-num-traits-0.1
+  (package
+    (name "rust-impl-num-traits")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "impl-num-traits" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0rjlic3z684l37qm7zywmxhhllnf982y3ilyslyxb6jiddyhbdiq"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-integer-sqrt" ,rust-integer-sqrt-0.1)
+         ("rust-num-traits" ,rust-num-traits-0.2)
+         ("rust-uint" ,rust-uint-0.9))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "num-traits implementation for uint")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-impl-serde-0.3
   (package
     (name "rust-impl-serde")
-- 
2.34.0


From dbf35cfd034af2de6a055b697d1e6dbdab06af67 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Mon, 24 Jan 2022 11:43:45 +0100
Subject: [PATCH 45/46] gnu: Add rust-ethbloom 0.11.1.

* gnu/packages/crates-io.scm (rust-ethbloom-0.11): New variable.
---
 gnu/packages/crates-io.scm | 38 ++++++++++++++++++++++++++++++++------
 1 file changed, 32 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fd2b1f26be..44f4efd7f4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20326,8 +20326,39 @@ (define-public rust-escargot-0.3
        (("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1))))))
 
+(define-public rust-ethbloom-0.11
+  (package
+    (name "rust-ethbloom")
+    (version "0.11.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ethbloom" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1y73c4v60jy6wc4gssrg775y6vzc4axn523qkxswbxm8iyn89dmz"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-crunchy" ,rust-crunchy-0.2)
+        ("rust-fixed-hash" ,rust-fixed-hash-0.7)
+        ("rust-impl-codec" ,rust-impl-codec-0.5)
+        ("rust-impl-rlp" ,rust-impl-rlp-0.3)
+        ("rust-impl-serde" ,rust-impl-serde-0.3)
+        ("rust-scale-info" ,rust-scale-info-1)
+        ("rust-tiny-keccak" ,rust-tiny-keccak-2))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-hex-literal" ,rust-hex-literal-0.3)
+        ("rust-rand" ,rust-rand-0.8))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Ethereum bloom filter")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-ethbloom-0.5
   (package
+    (inherit rust-ethbloom-0.11)
     (name "rust-ethbloom")
     (version "0.5.3")
     (source
@@ -20337,7 +20368,6 @@ (define-public rust-ethbloom-0.5
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0q2kix0p067rrfffhbfra453dw51s4cfgs0lhirslsv4callsad6"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:tests? #f                      ; The tests fail.
        #:cargo-inputs
@@ -20349,11 +20379,7 @@ (define-public rust-ethbloom-0.5
        #:cargo-development-inputs
        (("rust-hex-literal" ,rust-hex-literal-0.1)
         ("rust-rand" ,rust-rand-0.4)
-        ("rust-rustc-hex" ,rust-rustc-hex-1))))
-    (home-page "https://github.com/paritytech/parity-common")
-    (synopsis "Ethereum bloom filter")
-    (description synopsis)
-    (license (list license:expat license:asl2.0))))
+        ("rust-rustc-hex" ,rust-rustc-hex-1))))))
 
 (define-public rust-ethereum-types-0.12
   (package
-- 
2.34.0


From 98a42831a06ccec25ee661eb59a6993dd6028f30 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Mon, 24 Jan 2022 12:02:31 +0100
Subject: [PATCH 46/46] gnu: Switch variable names rust-funty-1.2 and
 rust-funty-1.

The rationale is that rust-funty-1 should be the latest in the v1.x.y line,
while rust-funty-1.1 is a specific version that some packages depend on.
Probably backwards compatibility got broken at v1.1.0, because some packages
request ~1.1 (i.e. 1.1.0 at the time of writing).
---
 gnu/packages/crates-io.scm | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 44f4efd7f4..f185ca4b53 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7267,7 +7267,7 @@ (define-public rust-bitvec-0.22
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-funty" ,rust-funty-1.2)
+       (("rust-funty" ,rust-funty-1)
         ("rust-radium" ,rust-radium-0.6)
         ("rust-serde" ,rust-serde-1)
         ("rust-tap" ,rust-tap-1)
@@ -7300,7 +7300,7 @@ (define-public rust-bitvec-0.20
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-funty" ,rust-funty-1)
+       (("rust-funty" ,rust-funty-1.1)
         ("rust-radium" ,rust-radium-0.6)
         ("rust-serde" ,rust-serde-1)
         ("rust-tap" ,rust-tap-1)
@@ -7329,7 +7329,7 @@ (define-public rust-bitvec-0.19
          "10bz751jbsy8fj203ibjwil07p2fwfzvx7b326wfssaravlkbfm7"))))
     (arguments
      `(#:cargo-inputs
-       (("rust-funty" ,rust-funty-1)
+       (("rust-funty" ,rust-funty-1.1)
         ("rust-radium" ,rust-radium-0.5)
         ("rust-serde" ,rust-serde-1)
         ("rust-tap" ,rust-tap-1)
@@ -22688,7 +22688,7 @@ (define-public rust-fuchsia-zircon-sys-0.3
     (description "Low-level Rust bindings for the Zircon kernel.")
     (license license:bsd-3)))
 
-(define-public rust-funty-1.2
+(define-public rust-funty-1
   (package
     (name "rust-funty")
     (version "1.2.0")
@@ -22713,9 +22713,9 @@ (define-public rust-funty-1.2
 stabilized, and eventually removed.  This library reïnstates these traits.")
     (license license:expat)))
 
-(define-public rust-funty-1
+(define-public rust-funty-1.1
   (package
-    (inherit rust-funty-1.2)
+    (inherit rust-funty-1)
     (name "rust-funty")
     (version "1.1.0")
     (source
-- 
2.34.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#53500] Add 42 rust packages, and update 4 of them
  2022-01-24 12:00 [bug#53500] Add 42 rust packages, and update 4 of them Attila Lendvai
@ 2022-01-24 12:24 ` Nicolas Goaziou
  2022-01-24 18:01   ` Attila Lendvai
  0 siblings, 1 reply; 6+ messages in thread
From: Nicolas Goaziou @ 2022-01-24 12:24 UTC (permalink / raw)
  To: Attila Lendvai; +Cc: 53500

Hello,

Attila Lendvai <attila@lendvai.name> writes:

> this is part of my struggle to package openethereum.
>
> this patch series is a rebase of https://issues.guix.gnu.org/53401 which has unfortunately developed countless merge conflicts.
>
> this one supersedes 53401, which i have closed for good.
>
> please apply at your earliest convenience, before this one also
> develops merge conflicts.

Thank you.

Could you fix some synopses and descriptions of added packages. In
particular, a synopsis cannot start with an article, and the description
is expected to consist of full sentences. At the very least, when
inspiration is not there, you can use "This package provides ..."
template.

> -    (synopsis "Rustc-serialize compatible hex conversion traits")
> -    (description "This package provides rustc-serialize compatible hex
> -conversion traits.")
> +    (synopsis "@code{rustc-serialize} compatible hex conversion traits")
> +    (description synopsis)

Here you removed a decent synopsis+description with something less good.

> +    (synopsis "General bytes-related utilities used in Parity Technologies projects")

I would remove the "used in" part, which is not useful.

> +    (description synopsis)

Hmmm, no :)

> +    (synopsis "Crate used in Parity Technologies projects")
> +    (description synopsis)

See above.

> +    (synopsis "Salsa20 Stream Cipher")
> +    (description synopsis)

Synopsis does not need to be titlecased.

Description should differ from synopsis.

> +    (synopsis "AST representation used by Serde derive macros")
> +    (description "AST representation used by Serde derive macros.  Unstable.")

Description should use full sentences.

> +    (synopsis "The bare essentials of std::io for use in no_std")

Don't start a synopsis with "The"

> +    (description
> +      "The bare essentials of std::io for use in no_std.  Alloc support is optional.")

The first sentence is not complete.

I won't comment each description, you get the picture.

Could you send an updated patch?

Regards,
-- 
Nicolas Goaziou




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#53500] Add 42 rust packages, and update 4 of them
  2022-01-24 12:24 ` Nicolas Goaziou
@ 2022-01-24 18:01   ` Attila Lendvai
  2022-01-25  8:21     ` Nicolas Goaziou
  0 siblings, 1 reply; 6+ messages in thread
From: Attila Lendvai @ 2022-01-24 18:01 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: 53500

[-- Attachment #1: Type: text/plain, Size: 115 bytes --]

please find the updated patch attached. it still has a few holes where i had no idea what to write...

- attila

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: rust-packages-v2.patch --]
[-- Type: text/x-patch; name=rust-packages-v2.patch, Size: 95175 bytes --]

From cd93f250db3bc6cd8a9ed80fe7cbb1b71df96cc4 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 09:18:50 +0100
Subject: [PATCH 01/46] gnu: Add rust-rustc-hex 1.0.0.

---
 gnu/packages/crates-io.scm | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 878319faa2..b9dc35f455 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -49276,11 +49276,24 @@ (define-public rust-rustc-hex-2
     (build-system cargo-build-system)
     (arguments `(#:skip-build? #t))
     (home-page "https://github.com/debris/rustc-hex")
-    (synopsis "Rustc-serialize compatible hex conversion traits")
-    (description "This package provides rustc-serialize compatible hex
-conversion traits.")
+    (synopsis "@code{rustc-serialize} compatible hex conversion traits")
+    (description "This Rust library provides @code{rustc-serialize} compatible
+hex conversion traits.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rustc-hex-1
+  (package
+    (inherit rust-rustc-hex-2)
+    (name "rust-rustc-hex")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rustc-hex" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "07pff94vqc1mhrqp9i06xzayiad4xfx7588zkqsdw875lpkqrsqc"))))))
+
 (define-public rust-rustc-rayon-0.3
   (package
     (name "rust-rustc-rayon")

base-commit: 5b465de06c8d310edb067234769d43c9e7c8d4cc
-- 
2.34.0


From 76c538bb3331b904790a827d7b762e057052de0c Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 09:29:13 +0100
Subject: [PATCH 02/46] gnu: Add rust-parity-bytes 0.1.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b9dc35f455..fb07701e16 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39052,6 +39052,24 @@ (define-public rust-paris-1
 want in the terminal.")
     (license license:mpl2.0)))
 
+(define-public rust-parity-bytes
+  (package
+    (name "rust-parity-bytes")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parity-bytes" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0rww406dih6yxr4iadz7l07sibklqywxz10gjzdqn4r04hx6xd8n"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "General bytes-related utilities")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-parity-tokio-ipc-0.4
   (package
     (name "rust-parity-tokio-ipc")
-- 
2.34.0


From 3abf25c527aa49dc8226538ae69e259aee539dfb Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 09:39:57 +0100
Subject: [PATCH 03/46] gnu: Add rust-ethereum-types 0.9.2 and 0.12.1.

* gnu/packages/crates-io.scm (rust-ethereum-types-0.9): New variable.
(rust-ethereum-types-0.12):  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 fb07701e16..0013ae28a2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20081,6 +20081,42 @@ (define-public rust-escargot-0.3
        (("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1))))))
 
+(define-public rust-ethereum-types-0.12
+  (package
+    (name "rust-ethereum-types")
+    (version "0.12.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ethereum-types" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1bxxacsmb9majw7vd4sndv4dhw3g9srhf7flwq39yy7yaxq6y4q5"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Crate used in Parity Technologies projects")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-ethereum-types-0.9
+  (package
+    (inherit rust-ethereum-types-0.12)
+    (name "rust-ethereum-types")
+    (version "0.9.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ethereum-types" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1c1l2sg6li301izl4nzkkfrpc8snafxwnr81vfwygn3bd3zyqfj7"))))))
+
 (define-public rust-event-listener-2
   (package
     (name "rust-event-listener")
-- 
2.34.0


From 045bf5474d05ca6cac38e0d5e0cdbb60b9f67ce0 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 10:55:27 +0100
Subject: [PATCH 04/46] gnu: rust-base64ct-1: Update to 1.3.3.

---
 gnu/packages/crates-io.scm | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0013ae28a2..c6572e3ee5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5788,24 +5788,26 @@ (define-public rust-base64-0.6
 (define-public rust-base64ct-1
   (package
     (name "rust-base64ct")
-    (version "1.1.1")
+    (version "1.3.3")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "base64ct" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "0p4was874qc90q2chm2i14m9mn8zmxjis8vaxihd6a2x4aqxkd76"))))
+        (base32 "1818i0gpg7q35s6yglmhgciwi3jwx65mqc2ipjl54jfbmm288kw7"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-base64" ,rust-base64-0.13)
+        ("rust-proptest" ,rust-proptest-1))))
     (home-page "https://github.com/RustCrypto/formats/tree/master/base64ct")
     (synopsis "Implementation of Base64 (RFC 4648)")
     (description
      "This package is a pure Rust implementation of Base64 (RFC 4648) which
 avoids any usages of data-dependent branches/LUTs and thereby provides
-portable \"best effort\" constant-time operation and embedded-friendly no_std
-support.")
+portable \"best effort\" constant-time operation and embedded-friendly
+@code{no_std} support.")
     (license (list license:asl2.0 license:expat))))
 
 (define-public rust-base-x-0.2
-- 
2.34.0


From 9bebfba2f420639f7e09373dbd11681db55e927d Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Mon, 24 Jan 2022 11:34:03 +0100
Subject: [PATCH 05/46] gnu: Add rust-base64ct 1.0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c6572e3ee5..11ce6790af 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5810,6 +5810,20 @@ (define-public rust-base64ct-1
 @code{no_std} support.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-base64ct-1.0.1
+  (package
+    (inherit rust-base64ct-1)
+    (name "rust-base64ct")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "base64ct" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0sx4a44c2n450lsmi0q1mgfbjhkw1sx57462cv77p0mmy9mgscla"))))
+    (arguments '())))
+
 (define-public rust-base-x-0.2
   (package
     (name "rust-base-x")
-- 
2.34.0


From 08596a58733379eb8d3cb3bbd21b2c17863d8a0b Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 11:09:29 +0100
Subject: [PATCH 06/46] gnu: Add rust-password-hash 0.1.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 11ce6790af..9833a9592c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39782,6 +39782,24 @@ (define-public rust-password-hash-0.3
 Format (MCF).")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-password-hash-0.1
+  (package
+    (inherit rust-password-hash-0.3)
+    (name "rust-password-hash")
+    (version "0.1.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "password-hash" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1ymh3np2bamjy8rszimksxcp264dclil4620bxm8rff9pyj6m62l"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+        (("rust-base64ct" ,rust-base64ct-1)
+         ("rust-rand-core" ,rust-rand-core-0.6))))))
+
 (define-public rust-paste-1
   (package
     (name "rust-paste")
-- 
2.34.0


From de8c52d4f17a690440e3c088a1243fe35845978c Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 11:29:10 +0100
Subject: [PATCH 07/46] gnu: Add rust-pbkdf2 0.7.5 and 0.6.0.

* gnu/packages/crates-io.scm (rust-pbkdf2-0.7)
(rust-pbkdf2-0.6): New variable.
---
 gnu/packages/crates-io.scm | 69 +++++++++++++++++++++++++++++++++++---
 1 file changed, 65 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9833a9592c..6dbd5eccc8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39965,7 +39965,8 @@ (define-public rust-pbkdf2-0.10
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-digest" ,rust-digest-0.10)
+       (("rust-base64ct" ,rust-base64ct-1.0.1)
+        ("rust-digest" ,rust-digest-0.10)
         ("rust-hmac" ,rust-hmac-0.12)
         ("rust-password-hash" ,rust-password-hash-0.3)
         ("rust-rayon" ,rust-rayon-1)
@@ -39999,18 +40000,78 @@ (define-public rust-pbkdf2-0.9
         (base32
          "0fa7j0gdgghk64qlhzdv32yg52p0cfaz5ifhk7i4pfm1wsy98n7h"))))
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-crypto-mac" ,rust-crypto-mac-0.11)
         ("rust-hmac" ,rust-hmac-0.11)
         ("rust-password-hash" ,rust-password-hash-0.3)
         ("rust-rayon" ,rust-rayon-1)
+        ("rust-sha-1" ,rust-sha-1-0.9)
+        ("rust-sha2" ,rust-sha2-0.9))
+       #:cargo-development-inputs
+       (("rust-hex-literal" ,rust-hex-literal-0.3)
+        ("rust-hmac" ,rust-hmac-0.11)
+        ("rust-sha-1" ,rust-sha-1-0.9)
+        ("rust-sha2" ,rust-sha2-0.9)
+        ("rust-streebog" ,rust-streebog-0.9))))))
+
+(define-public rust-pbkdf2-0.7
+  (package
+    (inherit rust-pbkdf2-0.9)
+    (name "rust-pbkdf2")
+    (version "0.7.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pbkdf2" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "022m5yb6fagzrks5m5kkj2yzccqffk19vnchg289fqnj5p9nv4dz"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-base64ct" ,rust-base64ct-1)
+        ("rust-crypto-mac" ,rust-crypto-mac-0.10)
+        ("rust-hmac" ,rust-hmac-0.10)
+        ("rust-password-hash" ,rust-password-hash-0.1)
+        ("rust-rayon" ,rust-rayon-1)
+        ("rust-sha-1" ,rust-sha-1-0.9)
+        ("rust-sha2" ,rust-sha2-0.9))
+       #:cargo-development-inputs
+       (("rust-hex-literal" ,rust-hex-literal-0.3)
+        ("rust-hmac" ,rust-hmac-0.8)
+        ("rust-rand-core" ,rust-rand-core-0.6)
+        ("rust-sha-1" ,rust-sha-1-0.9)
+        ("rust-sha2" ,rust-sha2-0.9))))))
+
+(define-public rust-pbkdf2-0.6
+  (package
+    (inherit rust-pbkdf2-0.7)
+    (name "rust-pbkdf2")
+    (version "0.6.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "pbkdf2" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "0jjaapyawm5iqn97mmfj40dvipsy78cm80qcva28009l2zbw1f5k"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-base64" ,rust-base64-0.13)
+        ("rust-crypto-mac" ,rust-crypto-mac-0.10)
+        ("rust-hmac" ,rust-hmac-0.10)
+        ("rust-rand" ,rust-rand-0.7)
+        ("rust-rand-core" ,rust-rand-core-0.5)
+        ("rust-rayon" ,rust-rayon-1)
+        ("rust-sha2" ,rust-sha2-0.9)
+        ("rust-subtle" ,rust-subtle-2))
+       #:cargo-development-inputs
+       (("rust-hmac" ,rust-hmac-0.10)
         ("rust-sha-1" ,rust-sha-1-0.9)
         ("rust-sha2" ,rust-sha2-0.9))))))
 
 (define-public rust-pbkdf2-0.4
   (package
-    (inherit rust-pbkdf2-0.10)
+    (inherit rust-pbkdf2-0.6)
     (name "rust-pbkdf2")
     (version "0.4.0")
     (source
-- 
2.34.0


From c7ac2c5cb1680f2f4e0c9e336755dcdc49f882fb Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 11:52:52 +0100
Subject: [PATCH 08/46] gnu: Add rust-salsa20 0.7.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6dbd5eccc8..822489a6d2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -50821,6 +50821,30 @@ (define-public rust-salsa-0.17
 computation (experimental)")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-salsa20-0.7
+  (package
+    (name "rust-salsa20")
+    (version "0.7.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "salsa20" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "09c16m566g45f41xx3673zyzwca3mykz630fmv2mbjbvmwcc4fw0"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-cipher" ,rust-cipher-0.2)
+         ("rust-zeroize" ,rust-zeroize-1))
+        #:cargo-development-inputs
+        (("rust-cipher" ,rust-cipher-0.2))))
+    (home-page "https://github.com/RustCrypto/stream-ciphers")
+    (synopsis "Salsa20 stream cipher")
+    (description "This is a Rust library implementing the Salsa20 stream
+cipher.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-safe-arch-0.5
   (package
     (name "rust-safe-arch")
-- 
2.34.0


From 375006c9194316fbf4329166a44ff296d72a855d Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 11:53:52 +0100
Subject: [PATCH 09/46] gnu: Add rust-scrypt 0.5.0.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 822489a6d2..b8db6a320f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51244,10 +51244,34 @@ (define-public rust-scrypt-0.8
 function.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-scrypt-0.3
+(define-public rust-scrypt-0.5
   (package
     (inherit rust-scrypt-0.8)
     (name "rust-scrypt")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "scrypt" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1fgdmjdjx3lj92nswkxrq9nlv4vv7livg83nfybmv4izn3d9594d"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-base64" ,rust-base64-0.13)
+        ("rust-hmac" ,rust-hmac-0.10)
+        ("rust-pbkdf2" ,rust-pbkdf2-0.6)
+        ("rust-rand" ,rust-rand-0.7)
+        ("rust-rand-core" ,rust-rand-core-0.5)
+        ("rust-salsa20" ,rust-salsa20-0.7)
+        ("rust-sha2" ,rust-sha2-0.9)
+        ("rust-subtle" ,rust-subtle-2))))))
+
+(define-public rust-scrypt-0.3
+  (package
+    (inherit rust-scrypt-0.5)
+    (name "rust-scrypt")
     (version "0.3.0")
     (source
       (origin
-- 
2.34.0


From 8fa0609a03bb38fad1682d893993041d912bb0af Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 14:38:48 +0100
Subject: [PATCH 10/46] gnu: rust-fnv: Update to 1.0.7.

---
 gnu/packages/crates-io.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b8db6a320f..51c44a02a4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21658,15 +21658,14 @@ (define-public rust-flume-0.9
 (define-public rust-fnv-1
   (package
     (name "rust-fnv")
-    (version "1.0.6")
+    (version "1.0.7")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "fnv" version))
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "1ww56bi1r5b8id3ns9j3qxbi7w5h005rzhiryy0zi9h97raqbb9g"))))
+         (base32 "1hc2mcqha06aibcaza94vbi81j6pr9a1bbxrxjfhc91zin8yr7iz"))))
     (build-system cargo-build-system)
     (home-page "https://github.com/servo/rust-fnv")
     (synopsis "Implementation of the Fowler-Noll-Vo hash function")
-- 
2.34.0


From 2ff0e5c7971ebd2e71754d236200b7146f852398 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 14:50:12 +0100
Subject: [PATCH 11/46] gnu: Add rust-serde-derive-internals 0.25.0.

* gnu/packages/crates-io.scm (rust-serde-derive-internals-0.25): 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 51c44a02a4..159ccc601f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -52640,6 +52640,29 @@ (define-public rust-serde-derive-0.9
         ("rust-serde-codegen-internals" ,rust-serde-codegen-internals-0.14)
         ("rust-syn" ,rust-syn-0.11))))))
 
+(define-public rust-serde-derive-internals-0.25
+  (package
+    (name "rust-serde-derive-internals")
+    (version "0.25.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "serde_derive_internals" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1ihqfkpplqqiwmh87s8p9jsv27ibkz1z7gc0abqs2mrhlr6b7fhx"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build? #t
+        #:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))))
+    (home-page "https://serde.rs")
+    (synopsis "AST representation used by Serde derive macros")
+    (description "AST representation used by Serde derive macros.  Unstable.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-serde-ignored-0.1
   (package
     (name "rust-serde-ignored")
-- 
2.34.0


From 32270c1c6715eb45d23c9cbc56927df8d97d302e Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 14:51:42 +0100
Subject: [PATCH 12/46] gnu: Add rust-core2 0.3.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 159ccc601f..0f72b75d08 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12846,6 +12846,26 @@ (define-public rust-cookie-0.15
 management.  It supports signed and private (encrypted, authenticated) jars.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-core2-0.3
+  (package
+    (name "rust-core2")
+    (version "0.3.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "core2" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1wzzy5iazdk5caadxvjfwrd312rbg7a55a1zpmsdrhk3kfpa77r3"))))
+    (build-system cargo-build-system)
+    (arguments `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2))))
+    (home-page "https://github.com/bbqsrc/core2")
+    (synopsis "Bare essentials of @code{std::io} for use in @code{no_std}")
+    (description
+      "The bare essentials of @code{std::io} for use in @code{no_std}.  Alloc
+support is optional.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-cookie-0.14
   (package
     (inherit rust-cookie-0.15)
-- 
2.34.0


From ad11a18a8c4468c9895d431962a5a76dd29894de Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:06:00 +0100
Subject: [PATCH 13/46] gnu: Add rust-darling 0.13.1.

* gnu/packages/crates-io.scm (rust-darling-0.13): New variable.
---
 gnu/packages/crates-io.scm | 92 +++++++++++++++++++++++++++++++-------
 1 file changed, 76 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0f72b75d08..b1ec3bf319 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15650,10 +15650,10 @@ (define-public rust-daemonize-0.4
     (description "Daemonize is a Rust library for writing system deaemons.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-darling-0.12
+(define-public rust-darling-0.13
   (package
     (name "rust-darling")
-    (version "0.12.4")
+    (version "0.13.1")
     (source
      (origin
        (method url-fetch)
@@ -15661,13 +15661,17 @@ (define-public rust-darling-0.12
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0g4bkxpwl6i5jav5qqzny39yd5a1fdlh5l0mj020njza6ksl6b2z"))))
+        (base32 "1x7pgzjswg28798zd5gk5g6nifhcaqq0apqmclydi39zd2w21myh"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-darling-core" ,rust-darling-core-0.12)
-        ("rust-darling-macro" ,rust-darling-macro-0.12))))
+       (("rust-darling-core" ,rust-darling-core-0.13)
+        ("rust-darling-macro" ,rust-darling-macro-0.13))
+       #:cargo-development-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
     (home-page "https://github.com/TedDriggs/darling")
     (synopsis "Proc-macro library for reading attributes in custom derives")
     (description
@@ -15675,6 +15679,30 @@ (define-public rust-darling-0.12
 into structs when implementing custom derives.")
     (license license:expat)))
 
+(define-public rust-darling-0.12
+  (package
+    (inherit rust-darling-0.13)
+    (name "rust-darling")
+    (version "0.12.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "darling" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0g4bkxpwl6i5jav5qqzny39yd5a1fdlh5l0mj020njza6ksl6b2z"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-darling-core" ,rust-darling-core-0.12)
+        ("rust-darling-macro" ,rust-darling-macro-0.12))
+       #:cargo-development-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))))
+
 (define-public rust-darling-0.10
   (package
     (inherit rust-darling-0.12)
@@ -15722,17 +15750,17 @@ (define-public rust-darling-0.9
         ("rust-quote" ,rust-quote-0.6)
         ("rust-syn" ,rust-syn-0.15))))))
 
-(define-public rust-darling-core-0.12
+(define-public rust-darling-core-0.13
   (package
     (name "rust-darling-core")
-    (version "0.12.4")
+    (version "0.13.1")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "darling_core" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0dpscl87s75h6yhrmzdsapx86lc4y16m554xg4hiq2l3hrdlb4cf"))))
+        (base32 "0933k2avb6xk9j4ryr0bvp3pww5j8i0nrqvsnkgd3vic3lj0yd3s"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -15750,6 +15778,19 @@ (define-public rust-darling-core-0.12
 reading attributes into structs when implementing custom derives.")
     (license license:expat)))
 
+(define-public rust-darling-core-0.12
+  (package
+    (inherit rust-darling-core-0.13)
+    (name "rust-darling-core")
+    (version "0.12.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "darling_core" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0dpscl87s75h6yhrmzdsapx86lc4y16m554xg4hiq2l3hrdlb4cf"))))))
+
 (define-public rust-darling-core-0.10
   (package
     (inherit rust-darling-core-0.12)
@@ -15797,8 +15838,34 @@ (define-public rust-darling-core-0.9
         ("rust-strsim" ,rust-strsim-0.7)
         ("rust-syn" ,rust-syn-0.15))))))
 
+(define-public rust-darling-macro-0.13
+  (package
+    (name "rust-darling-macro")
+    (version "0.13.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "darling_macro" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0jzljnd0y7idi5lb7lhvymh3nkhaf32ksx0d38hv7zjjfcxipi3j"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build? #t
+        #:cargo-inputs
+        (("rust-darling-core" ,rust-darling-core-0.13)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/TedDriggs/darling")
+    (synopsis "Helper crate for @code{rust-darling}")
+    (description
+     "Internal support for @code{rust-darling}, a proc-macro library for
+reading attributes into structs when implementing custom derives.")
+    (license license:expat)))
+
 (define-public rust-darling-macro-0.12
   (package
+    (inherit rust-darling-macro-0.13)
     (name "rust-darling-macro")
     (version "0.12.4")
     (source
@@ -15808,19 +15875,12 @@ (define-public rust-darling-macro-0.12
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0nn9mxl7gs827rx5s6lbjvvghipxjdg2qpdjyxk7yym3vvqard99"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-darling-core" ,rust-darling-core-0.12)
         ("rust-quote" ,rust-quote-1)
-        ("rust-syn" ,rust-syn-1))))
-    (home-page "https://github.com/TedDriggs/darling")
-    (synopsis "Helper crate for @code{rust-darling}")
-    (description
-     "Internal support for @code{rust-darling}, a proc-macro library for
-reading attributes into structs when implementing custom derives.")
-    (license license:expat)))
+        ("rust-syn" ,rust-syn-1))))))
 
 (define-public rust-darling-macro-0.10
   (package
-- 
2.34.0


From 7d1a9926ea8f023fbde65fe10679a2e1700c12c6 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:07:36 +0100
Subject: [PATCH 14/46] gnu: Add rust-enumset 1.0.8.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b1ec3bf319..87ef565c0c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -19669,6 +19669,57 @@ (define-public rust-enumflags2-derive-0.6
     (description "Enumflags2 implements the classic bitflags datastructure.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-enumset-1
+  (package
+    (name "rust-enumset")
+    (version "1.0.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "enumset" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0b2vdggbsnvvw09czxaazbqcpa378fycf7fs3afz5dbgkb0x45k2"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-enumset-derive" ,rust-enumset-derive-0.5)
+         ("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-bincode" ,rust-bincode-1)
+         ("rust-rustversion" ,rust-rustversion-1)
+         ("rust-serde-derive" ,rust-serde-derive-1)
+         ("rust-serde-json" ,rust-serde-json-1)
+         ("rust-trybuild" ,rust-trybuild-1))))
+    (home-page "https://github.com/Lymia/enumset")
+    (synopsis "A library for creating compact sets of enums")
+    (description
+      "This package provides a rust library for creating compact sets of enums.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-enumset-derive-0.5
+  (package
+    (name "rust-enumset-derive")
+    (version "0.5.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "enumset-derive" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1m7ccz9fcxsx3s1drj77psk62xfgjia0hp9lal3qhpb5ls514lb4"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-darling" ,rust-darling-0.13)
+         ("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/Lymia/enumset")
+    (synopsis "An internal helper crate for enumset")
+    (description "An internal helper crate for enumset.  Not public API.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-env-logger-0.9
   (package
     (name "rust-env-logger")
-- 
2.34.0


From 3bef36d13f7e914cf51f9a7caee34e5ae6e7f2c1 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:12:52 +0100
Subject: [PATCH 15/46] gnu: Add rust-schemars[-derive] 0.8.8.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 87ef565c0c..ae1066fb06 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51190,6 +51190,69 @@ (define-public rust-scheduled-thread-pool-0.2
     (description "This package provides a scheduled thread pool.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-schemars-0.8
+  (package
+    (name "rust-schemars")
+    (version "0.8.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "schemars" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1qvhq1yixygd8ihc0qxmnhw4x08fa44q88v088gvc6pa1k4a7df6"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-arrayvec" ,rust-arrayvec-0.5)
+         ("rust-bigdecimal" ,rust-bigdecimal-0.3)
+         ("rust-bytes" ,rust-bytes-1)
+         ("rust-chrono" ,rust-chrono-0.4)
+         ("rust-dyn-clone" ,rust-dyn-clone-1)
+         ("rust-either" ,rust-either-1)
+         ("rust-enumset" ,rust-enumset-1)
+         ("rust-indexmap" ,rust-indexmap-1)
+         ("rust-rust-decimal" ,rust-rust-decimal-1)
+         ("rust-schemars-derive" ,rust-schemars-derive-0.8)
+         ("rust-serde" ,rust-serde-1)
+         ("rust-serde-json" ,rust-serde-json-1)
+         ("rust-smallvec" ,rust-smallvec-1)
+         ("rust-url" ,rust-url-2)
+         ("rust-uuid" ,rust-uuid-0.8))
+        #:cargo-development-inputs
+        (("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
+         ("rust-trybuild" ,rust-trybuild-1))))
+    (home-page "https://graham.cool/schemars/")
+    (synopsis "Generate JSON Schemas from Rust code")
+    (description "This Rust library can help generating JSON Schemas from
+Rust code.")
+    (license license:expat)))
+
+(define-public rust-schemars-derive-0.8
+  (package
+    (name "rust-schemars-derive")
+    (version "0.8.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "schemars-derive" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "16xfvm16d8nsxdx82fdcyqfi12v61lffyf1wmi34qqg82g74vbj1"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-serde-derive-internals" ,rust-serde-derive-internals-0.25)
+         ("rust-syn" ,rust-syn-1))
+        #:cargo-development-inputs
+        (("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))
+    (home-page "https://graham.cool/schemars/")
+    (synopsis "Macros for #[derive(JsonSchema)], for use with schemars")
+    (description synopsis)
+    (license license:expat)))
+
 (define-public rust-scoped-threadpool-0.1
   (package
     (name "rust-scoped-threadpool")
-- 
2.34.0


From 9f46f4125a9921770228f651ff8e1f20796ab277 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:29:01 +0100
Subject: [PATCH 16/46] gnu: Add rust-bitcoin-hashes 0.10.0.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ae1066fb06..75e2261572 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6964,6 +6964,33 @@ (define-public rust-bit-vec-0.4
      `(#:cargo-development-inputs
        (("rust-rand" ,rust-rand-0.3))))))
 
+(define-public rust-bitcoin-hashes-0.10
+  (package
+    (name "rust-bitcoin-hashes")
+    (version "0.10.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "bitcoin-hashes" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1c25nzrd2kn5znhjgxb9n48hc7swapiln8dqqndq368x38gcjv00"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-core2" ,rust-core2-0.3)
+         ("rust-schemars" ,rust-schemars-0.8)
+         ("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-serde-json" ,rust-serde-json-1)
+         ("rust-serde-test" ,rust-serde-test-1)
+         ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
+    (home-page "https://github.com/rust-bitcoin/bitcoin_hashes/")
+    (synopsis "Hash functions used by @code{rust-bitcoin}")
+    (description "This Rust library provides hash functions that are used by
+@code{rust-bitcoin}.  Is supports @code{rustc} 1.29.0.")
+    (license license:cc0)))
+
 (define-public rust-bitfield-0.13
   (package
     (name "rust-bitfield")
-- 
2.34.0


From a04286ee2968ed7d4ffb9cd1257dd3610fade8b9 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:45:46 +0100
Subject: [PATCH 17/46] gnu: Add rust-bitcoin-hashes 0.9.7.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 75e2261572..1b466dde28 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6991,6 +6991,19 @@ (define-public rust-bitcoin-hashes-0.10
 @code{rust-bitcoin}.  Is supports @code{rustc} 1.29.0.")
     (license license:cc0)))
 
+(define-public rust-bitcoin-hashes-0.9
+  (package
+    (inherit rust-bitcoin-hashes-0.10)
+    (name "rust-bitcoin-hashes")
+    (version "0.9.7")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "bitcoin-hashes" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1cblp0clvds0i33ms1b0lvq42kzdpr7q3ma5ac3ss913xijq5qbw"))))))
+
 (define-public rust-bitfield-0.13
   (package
     (name "rust-bitfield")
-- 
2.34.0


From 985eb4dff7394216cbb75df2b186785c5af2cff3 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:29:51 +0100
Subject: [PATCH 18/46] gnu: Add rust-ripemd 0.1.0.

* gnu/packages/crates-io.scm (rust-ripemd-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 1b466dde28..f540bbf160 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -47655,6 +47655,30 @@ (define-public rust-riscv-0.7
     (description "This crate provides low level access to RISC-V processors.")
     (license license:isc)))
 
+(define-public rust-ripemd-0.1
+  (package
+    (name "rust-ripemd")
+    (version "0.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ripemd" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "16ap7vvnqf4l6vy7kjpb5p8brqfppanssm61jn1w8444395bcm7a"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-digest" ,rust-digest-0.10))
+        #:cargo-development-inputs
+        (("rust-digest" ,rust-digest-0.10)
+         ("rust-hex-literal" ,rust-hex-literal-0.2))))
+    (home-page "https://github.com/RustCrypto/hashes")
+    (synopsis "Pure Rust implementation of the RIPEMD hash functions")
+    (description "This library provides a pure Rust implementation of the
+RIPEMD hash functions.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-riscv-target-0.1
   (package
     (name "rust-riscv-target")
-- 
2.34.0


From b42eeb02d631ce64152a8244c1b56aba51b0b66e Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:59:23 +0100
Subject: [PATCH 19/46] gnu: rust-zeroize: Update to 1.5.0.

Also update rust-zeroize-derive to 1.3.1.

* gnu/packages/crates-io.scm (rust-zeroize-1.4): New variable.
* gnu/packages/rust-apps.scm (rbw): Stick to the v1.4 line of rust-zeroize.
Also reword the description.
---
 gnu/packages/crates-io.scm | 25 +++++++++++++++++++++----
 gnu/packages/rust-apps.scm |  8 ++++----
 2 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f540bbf160..c8cdfc9ee0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -69819,7 +69819,7 @@ (define-public rust-zerocopy-derive-0.2
 (define-public rust-zeroize-1
   (package
     (name "rust-zeroize")
-    (version "1.4.3")
+    (version "1.5.0")
     (source
      (origin
        (method url-fetch)
@@ -69827,7 +69827,7 @@ (define-public rust-zeroize-1
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "068nvl3n5hk6lfn5y24grf2c7anzzqfzjjccscq3md7rqp79v3fn"))))
+        (base32 "1nq8zq5h7ad6kahdk0fxw4fdm0ibycj061jngxqkqchw67n2l8nc"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -69841,10 +69841,27 @@ (define-public rust-zeroize-1
 implementation that works everywhere, even WASM!")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-zeroize-1.4
+  (package
+    (inherit rust-zeroize-1)
+    (name "rust-zeroize")
+    (version "1.4.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "zeroize" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "068nvl3n5hk6lfn5y24grf2c7anzzqfzjjccscq3md7rqp79v3fn"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-zeroize-derive" ,rust-zeroize-derive-1))))))
+
 (define-public rust-zeroize-derive-1
   (package
     (name "rust-zeroize-derive")
-    (version "1.0.0")
+    (version "1.3.1")
     (source
      (origin
        (method url-fetch)
@@ -69852,7 +69869,7 @@ (define-public rust-zeroize-derive-1
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "18lc9xq9dwvmv81y3bqnw20974nbrs7d20rljb1inz7wd7n1w9fy"))))
+        (base32 "1nzdqyryjnqcrqz0vhddpkd8sybhn0bd8rbd6l33rdhhxwzz3s41"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index d2cc949667..274fce4378 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -1348,13 +1348,13 @@ (define-public rbw
         ("rust-totp-lite" ,rust-totp-lite-1)
         ("rust-url" ,rust-url-2)
         ("rust-uuid" ,rust-uuid-0.8)
-        ("rust-zeroize" ,rust-zeroize-1))))
+        ("rust-zeroize" ,rust-zeroize-1.4))))
     (home-page "https://git.tozt.net/rbw")
     (synopsis "Unofficial Bitwarden CLI")
     (description "This package is an unofficial command line client for
-Bitwarden. Although it does come with its own command line client, this client
-is limited by being stateless, which makes it very difficult to use.  This
-client avoids this problem by maintaining a background process which is able
+Bitwarden.  Although Bitwarden ships with a command line client, but
+it's limited by being stateless, which makes it very difficult to use.  This
+client avoids that problem by maintaining a background process which is able
 to hold the keys in memory, similar to the way that ssh-agent or gpg-agent
 work.  This allows the client to be used in a much simpler way, with the
 background agent taking care of maintaining the necessary state.")
-- 
2.34.0


From 6eacd1f502b438ebc18e33d8130f2de024cac8a1 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:30:31 +0100
Subject: [PATCH 20/46] gnu: Add rust-secp256k1 0.21.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c8cdfc9ee0..c3d072f043 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51866,6 +51866,62 @@ (define-public rust-section-testing-0.0
      "This package provides a library for section-style testing.")
     (license license:expat)))
 
+(define-public rust-secp256k1-0.21
+  (package
+    (name "rust-secp256k1")
+    (version "0.21.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "secp256k1" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "09gia5hjf1hb9jgac9nzq0s0ijbsdjfflh40xw8z08avgl0q6y5b"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-bitcoin-hashes" ,rust-bitcoin-hashes-0.10)
+         ("rust-rand" ,rust-rand-0.6)
+         ("rust-secp256k1-sys" ,rust-secp256k1-sys-0.4)
+         ("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-bitcoin-hashes" ,rust-bitcoin-hashes-0.10)
+         ("rust-rand" ,rust-rand-0.6)
+         ("rust-rand-core" ,rust-rand-core-0.4)
+         ("rust-serde-test" ,rust-serde-test-1)
+         ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
+    (home-page "https://github.com/rust-bitcoin/rust-secp256k1/")
+    (synopsis
+      "Rust wrapper library for Pieter Wuille's `libsecp256k1`. Implements ECDSA and BIP 340 signatures for the SECG elliptic curve group secp256k1 and related utilities.")
+    (description
+      "Rust wrapper library for Pieter Wuille's `libsecp256k1`.  Implements ECDSA and
+BIP 340 signatures for the SECG elliptic curve group secp256k1 and related
+utilities.")
+    (license license:cc0)))
+
+(define-public rust-secp256k1-sys-0.4
+  (package
+    (name "rust-secp256k1-sys")
+    (version "0.4.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "secp256k1-sys" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0dk0as7qdlvg5vkcsihndzg1jgqb9amhwmz3xiip94fy7ibs4zcm"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-cc" ,rust-cc-1))
+        #:cargo-development-inputs
+        (("rust-libc" ,rust-libc-0.2))))
+    (home-page "https://github.com/rust-bitcoin/rust-secp256k1/")
+    (synopsis "FFI for Pieter Wuille's `libsecp256k1` library.")
+    (description "This package is a Rust FFI for Pieter Wuille's
+@code{libsecp256k1} library.")
+    (license license:cc0)))
+
 (define-public rust-security-framework-2
   (package
     (name "rust-security-framework")
-- 
2.34.0


From df385c1caa728c24b7041e5454187eb50e726006 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:38:34 +0100
Subject: [PATCH 21/46] gnu: Add rust-secp256k1 0.20.3.

---
 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 c3d072f043..88216cce7f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51899,6 +51899,31 @@ (define-public rust-secp256k1-0.21
 utilities.")
     (license license:cc0)))
 
+(define-public rust-secp256k1-0.20
+  (package
+    (inherit rust-secp256k1-0.21)
+    (name "rust-secp256k1")
+    (version "0.20.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "secp256k1" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "02kxhfgy85zg7w2yyvnzrr7myk1mckvg99z6pbazxl1nwvm3rl4p"))))
+    (arguments
+      `(#:cargo-inputs
+        (("rust-bitcoin-hashes" ,rust-bitcoin-hashes-0.9)
+         ("rust-rand" ,rust-rand-0.6)
+         ("rust-secp256k1-sys" ,rust-secp256k1-sys-0.4)
+         ("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-bitcoin-hashes" ,rust-bitcoin-hashes-0.10)
+         ("rust-rand" ,rust-rand-0.6)
+         ("rust-rand-core" ,rust-rand-core-0.4)
+         ("rust-serde-test" ,rust-serde-test-1)
+         ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))))
+
 (define-public rust-secp256k1-sys-0.4
   (package
     (name "rust-secp256k1-sys")
-- 
2.34.0


From 98999c7b760c092bd3f2532cfd6cb2242a3e0e89 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 16:51:39 +0100
Subject: [PATCH 22/46] gnu: Add rust-fixed-hash 0.7.0 and 0.2.5.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 88216cce7f..d89a655be5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21372,6 +21372,59 @@ (define-public rust-fixed-1
     (description "This package provides fixed-point numbers in Rust.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-fixed-hash-0.7
+  (package
+    (name "rust-fixed-hash")
+    (version "0.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "fixed-hash" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0g29r0zwf09kg70nprn0s444bn6nfsglmiafhl1pm8ajzvbhxkyg"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-arbitrary" ,rust-arbitrary-0.4)
+        ("rust-byteorder" ,rust-byteorder-1)
+        ("rust-quickcheck" ,rust-quickcheck-0.9)
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-rustc-hex" ,rust-rustc-hex-2)
+        ("rust-static-assertions" ,rust-static-assertions-1))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Macros to define custom fixed-size hash types")
+    (description "Rust macros to define custom fixed-size hash types.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-fixed-hash-0.2
+  (package
+    (inherit rust-fixed-hash-0.7)
+    (name "rust-fixed-hash")
+    (version "0.2.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "fixed-hash" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0wvj52bf37nhg6mv5h235zgdg7nsdarag58mf4i49cdgc3l6rzks"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-heapsize" ,rust-heapsize-0.4)
+         ("rust-libc" ,rust-libc-0.2)
+         ("rust-quickcheck" ,rust-quickcheck-0.6)
+         ("rust-rand" ,rust-rand-0.4)
+         ("rust-rustc-hex" ,rust-rustc-hex-2)
+         ("rust-serde" ,rust-serde-1)
+         ("rust-serde-derive" ,rust-serde-derive-1)
+         ("rust-uint" ,rust-uint-0.4))))))
+
 (define-public rust-fixedbitset-0.4
   (package
     (name "rust-fixedbitset")
-- 
2.34.0


From 16a9b7188ba42f422ab8d0e0c3e9e673a814583e Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 17:16:15 +0100
Subject: [PATCH 23/46] gnu: Add rust-byte-slice-cast 1.2.0.

---
 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 d89a655be5..1f1b17762b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8596,6 +8596,25 @@ (define-public rust-byte-pool-0.2
 memory usage.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-byte-slice-cast-1
+  (package
+    (name "rust-byte-slice-cast")
+    (version "1.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "byte-slice-cast" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "162618ai9pnsim49lkjpq2yi2b3wssclvqxwwycw8xrbb58wfc0x"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/sdroege/bytes-num-slice-cast")
+    (synopsis
+      "Safely cast bytes slices from/to slices of built-in fundamental numeric types")
+    (description "This Rust library enables safely cast bytes slices from/to slices
+of built-in fundamental numeric types.")
+    (license license:expat)))
+
 (define-public rust-byte-tools-0.3
   (package
     (name "rust-byte-tools")
-- 
2.34.0


From 75fff12e8047eee3aa32232e06cc5c6d95d013c7 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 17:24:47 +0100
Subject: [PATCH 24/46] gnu: Add rust-impl-trait-for-tuples 0.2.1.

---
 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 1f1b17762b..c3545e3015 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -70829,6 +70829,31 @@ (define-public rust-im-rc-15
 variant of this library is available separately as @code{im}.")
     (license license:mpl2.0)))
 
+(define-public rust-impl-trait-for-tuples-0.2
+  (package
+    (name "rust-impl-trait-for-tuples")
+    (version "0.2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "impl-trait-for-tuples" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1vii634v1zvb680h28md42xpdrj1j1d50ix3dga95fxkql8cpnnm"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #false ; Some tests fail. Unstable compiler messages?
+       #:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))
+        #:cargo-development-inputs
+        (("rust-trybuild" ,rust-trybuild-1))))
+    (home-page "https://github.com/bkchr/impl-trait-for-tuples")
+    (synopsis "Attribute macro to implement a trait for tuples")
+    (description synopsis)
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-inflections-1
   (package
     (name "rust-inflections")
-- 
2.34.0


From f441ca73241802e3609b947d14fbb8de79302d28 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:05:55 +0100
Subject: [PATCH 25/46] gnu: Add rust-bitvec 0.20.4.

* gnu/packages/crates-io.scm (rust-bitvec-0.20): New variable.
---
 gnu/packages/crates-io.scm | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c3545e3015..aeea39b3fb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7285,10 +7285,38 @@ (define-public rust-bitvec-0.22
      "This package provides a crate for manipulating memory, bit by bit.")
     (license license:expat)))
 
-(define-public rust-bitvec-0.19
+(define-public rust-bitvec-0.20
   (package
     (inherit rust-bitvec-0.22)
     (name "rust-bitvec")
+    (version "0.20.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bitvec" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0j3qn0z31j06c965hs3kh41l78hxbzzsf1h46xvs3ym48i1i8x3p"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-funty" ,rust-funty-1)
+        ("rust-radium" ,rust-radium-0.6)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-tap" ,rust-tap-1)
+        ("rust-wyz" ,rust-wyz-0.2))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1)
+        ("rust-criterion" ,rust-criterion-0.3)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-serde-test" ,rust-serde-test-1)
+        ("rust-static-assertions" ,rust-static-assertions-1))))))
+
+(define-public rust-bitvec-0.19
+  (package
+    (inherit rust-bitvec-0.20)
+    (name "rust-bitvec")
     (version "0.19.4")
     (source
      (origin
-- 
2.34.0


From 690bb418845df6ea17f69be39696279903171757 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 09:47:42 +0100
Subject: [PATCH 26/46] gnu: Add rust-parity-crypto 0.9.0.

* gnu/packages/crates-io.scm (rust-parity-crypto): New variable.
---
 gnu/packages/crates-io.scm | 51 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index aeea39b3fb..d571de8cf1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39392,6 +39392,57 @@ (define-public rust-parity-bytes
     (description synopsis)
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-parity-crypto
+  (package
+    (name "rust-parity-crypto")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parity-crypto" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0dafz7pfi21plp6r6k2bh7ysjd3x75yix6a9gkdy3mn0vafym4jb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-aes" ,rust-aes-0.6)
+        ("rust-block-modes" ,rust-block-modes-0.7)
+        ("rust-digest" ,rust-digest-0.9)
+        ("rust-ethereum-types" ,rust-ethereum-types-0.12)
+        ("rust-hex" ,rust-hex-0.2)
+        ("rust-hmac" ,rust-hmac-0.10)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-pbkdf2" ,rust-pbkdf2-0.7)
+        ("rust-ripemd" ,rust-ripemd-0.1)
+        ("rust-rustc-hex" ,rust-rustc-hex-2)
+        ("rust-scrypt" ,rust-scrypt-0.5)
+        ("rust-secp256k1" ,rust-secp256k1-0.20)
+        ("rust-sha2" ,rust-sha2-0.9)
+        ("rust-subtle" ,rust-subtle-2)
+        ("rust-tiny-keccak" ,rust-tiny-keccak-2)
+        ("rust-zeroize" ,rust-zeroize-1))
+       #:cargo-development-inputs
+        (("rust-criterion" ,rust-criterion-0.3)
+         ("rust-hex-literal" ,rust-hex-literal-0.3))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-version-requirements
+           (lambda _
+             ;; SUBSTITUTE* can't do multiline regex, so let's just do this:
+             (delete-file "Cargo.toml")
+             (rename-file "Cargo.toml.orig" "Cargo.toml")
+             (substitute* "Cargo.toml"
+               (("aes-ctr = \"0.6.0\"") "")
+               (("ethereum-types = \\{ version = \"0.12.0\".*")
+                "ethereum-types = { version = \"0.12.0\", optional = true }\n")
+               (("ripemd160 = \"0.9.1\"") "ripemd = \"0.1.0\"")))))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "General cryptographic utilities for Ethereum")
+    (description "A Rust library of general cryptographic utilities for
+Ethereum.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-parity-tokio-ipc-0.4
   (package
     (name "rust-parity-tokio-ipc")
-- 
2.34.0


From 1de9165f5be6a6c3dff13711fd28bf3834f225b3 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:08:11 +0100
Subject: [PATCH 27/46] gnu: Add rust-parity-scale-codec 2.3.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d571de8cf1..ce039cdc91 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39443,6 +39443,67 @@ (define-public rust-parity-crypto
 Ethereum.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-parity-scale-codec-2
+  (package
+    (name "rust-parity-scale-codec")
+    (version "2.3.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "parity-scale-codec" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "02g95fp56sfpxixpy3x2h2yvcnmbpl8klfx53wywvn9q2d61lfrp"))))
+    (build-system cargo-build-system)
+    (arguments
+     ;; The tests fail with: error[E0432]: unresolved import
+     ;; `parity_scale_codec_derive`. They also take a relatively long time.
+     `(#:tests? #f
+        #:cargo-inputs
+        (("rust-arbitrary" ,rust-arbitrary-1)
+         ("rust-arrayvec" ,rust-arrayvec-0.7)
+         ("rust-bitvec" ,rust-bitvec-0.20)
+         ("rust-byte-slice-cast" ,rust-byte-slice-cast-1)
+         ("rust-generic-array" ,rust-generic-array-0.14)
+         ("rust-impl-trait-for-tuples" ,rust-impl-trait-for-tuples-0.2)
+         ("rust-parity-scale-codec-derive" ,rust-parity-scale-codec-derive-2)
+         ("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-criterion" ,rust-criterion-0.3)
+         ("rust-quickcheck" ,rust-quickcheck-1)
+         ("rust-serde-derive" ,rust-serde-derive-1)
+         ("rust-trybuild" ,rust-trybuild-1))))
+    (home-page "https://github.com/paritytech/parity-scale-codec")
+    (synopsis "SCALE - Simple Concatenating Aggregated Little Endians")
+    (description "Rust library for SCALE - Simple Concatenating Aggregated
+Little Endians.")
+    (license license:asl2.0)))
+
+(define-public rust-parity-scale-codec-derive-2
+  (package
+    (name "rust-parity-scale-codec-derive")
+    (version "2.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parity-scale-codec-derive" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "09zdgdqalc8d2zsjc9v1ayqxwg5rh7xxq5ldasdmqng0fq202mqm"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "")
+    (synopsis
+     "Serialization and deserialization derive macro for Parity SCALE Codec")
+    (description "This is a Rust library for serialization and deserialization
+derive macro for Parity SCALE Codec.")
+    (license license:asl2.0)))
+
 (define-public rust-parity-tokio-ipc-0.4
   (package
     (name "rust-parity-tokio-ipc")
-- 
2.34.0


From 29641c67762f6ec582e98be34cb6a4e2e50c57d9 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:09:21 +0100
Subject: [PATCH 28/46] gnu: Add rust-impl-codec 0.5.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ce039cdc91..c4d52032cd 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -70969,6 +70969,26 @@ (define-public rust-im-rc-15
 variant of this library is available separately as @code{im}.")
     (license license:mpl2.0)))
 
+(define-public rust-impl-codec-0.5
+  (package
+    (name "rust-impl-codec")
+    (version "0.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "impl-codec" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0hy4svffnw9idy9ipp0hkmbzk97fl583akqwyqmvbqy8qgzbs7hn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-parity-scale-codec" ,rust-parity-scale-codec-2))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Parity Codec serialization support for uint and fixed hash")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-impl-trait-for-tuples-0.2
   (package
     (name "rust-impl-trait-for-tuples")
-- 
2.34.0


From ca1ef7dd8272a2593dbc462d02ac322279d8f591 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:34:32 +0100
Subject: [PATCH 29/46] gnu: Add rust-crunchy 0.1.6.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c4d52032cd..26764f2580 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14500,6 +14500,19 @@ (define-public rust-crunchy-0.2
 number ``crunching``.")
     (license license:expat)))
 
+(define-public rust-crunchy-0.1
+  (package
+    (inherit rust-crunchy-0.2)
+    (name "rust-crunchy")
+    (version "0.1.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "crunchy" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1nnbh2k3pv1diyd0i0p3a08kd4afqc17yz0b43hn5xn9qlqs9x52"))))))
+
 (define-public rust-roxmltree-0.14
   (package
     (name "rust-roxmltree")
-- 
2.34.0


From b670f323162a8831f01fb85712601110d49e9865 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:43:09 +0100
Subject: [PATCH 30/46] gnu: Add rust-uint 0.4.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 26764f2580..dd313fbbac 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -65960,6 +65960,34 @@ (define-public rust-ufmt-write-0.1
     (description "This package provides @code{μfmt}'s @code{uWrite} trait.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-uint-0.4
+  (package
+    (name "rust-uint")
+    (version "0.4.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "uint" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0il6x59h605mmm10qxig066khxaygqcyb60pqja1n5mr68bs2jvm"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:tests? #f ; The tests fail. Due to rustc version?
+        #:cargo-inputs
+        (("rust-byteorder" ,rust-byteorder-1)
+         ("rust-crunchy" ,rust-crunchy-0.1)
+         ("rust-heapsize" ,rust-heapsize-0.4)
+         ("rust-quickcheck" ,rust-quickcheck-0.6)
+         ("rust-rustc-hex" ,rust-rustc-hex-2))
+        #:cargo-development-inputs
+        (("rust-quickcheck" ,rust-quickcheck-0.6)
+         ("rust-rustc-hex" ,rust-rustc-hex-2))))
+    (home-page "http://parity.io")
+    (synopsis "Large fixed-size integer arithmetic")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-umask-1
   (package
     (name "rust-umask")
-- 
2.34.0


From 87a5c352b283ecd96e70a64c7abec9bc5f3fa6d1 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:48:56 +0100
Subject: [PATCH 31/46] gnu: Add rust-ethereum-types-serialize 0.2.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index dd313fbbac..bc96ecb4f6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20364,6 +20364,24 @@ (define-public rust-ethereum-types-0.9
          (base32
           "1c1l2sg6li301izl4nzkkfrpc8snafxwnr81vfwygn3bd3zyqfj7"))))))
 
+(define-public rust-ethereum-types-serialize-0.2
+  (package
+    (name "rust-ethereum-types-serialize")
+    (version "0.2.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ethereum-types-serialize" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0l53rvzvwpxwkl7i3f9q5fafw663rcm5z4mdknkr265w69xxfwqq"))))
+    (build-system cargo-build-system)
+    (arguments `(#:cargo-inputs (("rust-serde" ,rust-serde-1))))
+    (home-page "https://github.com/paritytech/primitives")
+    (synopsis "Ethereum types")
+    (description "A Rust library of Ethereum types.")
+    (license license:expat)))
+
 (define-public rust-event-listener-2
   (package
     (name "rust-event-listener")
-- 
2.34.0


From 14778694c0c1c7f06781172f20bc231f4352f16e Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:52:53 +0100
Subject: [PATCH 32/46] gnu: Add rust-tiny-keccak 1.5.0.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bc96ecb4f6..c60cda1a78 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -61718,6 +61718,22 @@ (define-public rust-tiny-keccak-2
 specified in FIPS-202, SP800-185 and KangarooTwelve.")
     (license license:cc0)))
 
+(define-public rust-tiny-keccak-1
+  (package
+    (inherit rust-tiny-keccak-2)
+    (name "rust-tiny-keccak")
+    (version "1.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tiny-keccak" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1chiisrsql4pfwh5r7nz055ciqj7ch24m0nvrr6a8x5vd4f052hx"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-crunchy" ,rust-crunchy-0.2))))))
+
 (define-public rust-tinyfiledialogs-3
   (package
     (name "rust-tinyfiledialogs")
-- 
2.34.0


From 4bd37e62e65578b8d30e2bcee9d86059de6b90ad Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Mon, 24 Jan 2022 11:09:08 +0100
Subject: [PATCH 33/46] gnu: Add rust-impl-rlp 0.3.0.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c60cda1a78..da30add7ba 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -71064,6 +71064,26 @@ (define-public rust-impl-codec-0.5
     (description synopsis)
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-impl-rlp-0.3
+  (package
+    (name "rust-impl-rlp")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "impl-rlp" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "021869d5s47ili9kmhm9y80qpsbf0wwdap14qzfpb84pjbw210pj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-rlp" ,rust-rlp-0.5))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "RLP serialization support for uint and fixed hash")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-impl-trait-for-tuples-0.2
   (package
     (name "rust-impl-trait-for-tuples")
-- 
2.34.0


From 1ddfd98d3932f9e571c121ee3e494dd0fdcdf68b Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 22:15:37 +0100
Subject: [PATCH 34/46] gnu: Add rust-impl-serde 0.3.2.

* gnu/packages/crates-io.scm (rust-impl-serde-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 da30add7ba..ffaf0f03e3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -71084,6 +71084,31 @@ (define-public rust-impl-rlp-0.3
     (description synopsis)
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-impl-serde-0.3
+  (package
+    (name "rust-impl-serde")
+    (version "0.3.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "impl-serde" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0p2zy8ikdxd28s3vb22nwqgnwjn8gx920sr2svdn93j3yd1g0la5"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-criterion" ,rust-criterion-0.3)
+         ("rust-serde-derive" ,rust-serde-derive-1)
+         ("rust-serde-json" ,rust-serde-json-1)
+         ("rust-uint" ,rust-uint-0.9))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Serde serialization support for uint and fixed hash")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-impl-trait-for-tuples-0.2
   (package
     (name "rust-impl-trait-for-tuples")
-- 
2.34.0


From af521218cbce1fa0741992af34048737a3e2f2b4 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 22:16:27 +0100
Subject: [PATCH 35/46] gnu: Add rust-scale-info 1.0.0.

---
 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 ffaf0f03e3..28057aa875 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51427,6 +51427,54 @@ (define-public rust-sanakirja-0.10
 @end itemize")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-scale-info-1
+  (package
+    (name "rust-scale-info")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "scale-info" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0bvq3a9im6c20xmx8lipr5px9y4x22dpilm0ccnm69cw752bfmaw"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-bitvec" ,rust-bitvec-0.20)
+         ("rust-cfg-if" ,rust-cfg-if-1)
+         ("rust-derive-more" ,rust-derive-more-0.99)
+         ("rust-parity-scale-codec" ,rust-parity-scale-codec-2)
+         ("rust-scale-info-derive" ,rust-scale-info-derive-1)
+         ("rust-serde" ,rust-serde-1))))
+    (home-page "https://www.parity.io/")
+    (synopsis "Info about SCALE encodable Rust types")
+    (description synopsis)
+    (license license:asl2.0)))
+
+(define-public rust-scale-info-derive-1
+  (package
+    (name "rust-scale-info-derive")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "scale-info-derive" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1k8z7y6181yjdnggbhnqr8mfnpw197pa8ni0hqpmk003d602gsxs"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
+         ("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))))
+    (home-page "https://www.parity.io/")
+    (synopsis "Derive type info for SCALE encodable types")
+    (description synopsis)
+    (license license:asl2.0)))
+
 (define-public rust-scan-fmt-0.2
   (package
     (name "rust-scan-fmt")
-- 
2.34.0


From 98eb9d88e5af022372ac81b908a588c8cb27472e Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 22:18:45 +0100
Subject: [PATCH 36/46] gnu: Add rust-uint 0.9.1.

---
 gnu/packages/crates-io.scm | 38 ++++++++++++++++++++++++++++++++------
 1 file changed, 32 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 28057aa875..237fb67621 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -66042,8 +66042,39 @@ (define-public rust-ufmt-write-0.1
     (description "This package provides @code{μfmt}'s @code{uWrite} trait.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-uint-0.9
+  (package
+    (name "rust-uint")
+    (version "0.9.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "uint" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0pys10znj928lijvsq2rvnzns90a91j7199pl2afigc2yi8anw34"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-arbitrary" ,rust-arbitrary-1)
+         ("rust-byteorder" ,rust-byteorder-1)
+         ("rust-crunchy" ,rust-crunchy-0.2)
+         ("rust-hex" ,rust-hex-0.4)
+         ("rust-quickcheck" ,rust-quickcheck-0.9)
+         ("rust-rand" ,rust-rand-0.7)
+         ("rust-static-assertions" ,rust-static-assertions-1))
+        #:cargo-development-inputs
+        (("rust-criterion" ,rust-criterion-0.3)
+         ("rust-num-bigint" ,rust-num-bigint-0.4)
+         ("rust-rug" ,rust-rug-1))))
+    (home-page "http://parity.io")
+    (synopsis "Large, fixed-size integer arithmetic")
+    (description "Rust library for large, fixed-size integer arithmetic.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-uint-0.4
   (package
+    (inherit rust-uint-0.9)
     (name "rust-uint")
     (version "0.4.1")
     (source
@@ -66053,7 +66084,6 @@ (define-public rust-uint-0.4
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
           (base32 "0il6x59h605mmm10qxig066khxaygqcyb60pqja1n5mr68bs2jvm"))))
-    (build-system cargo-build-system)
     (arguments
       `(#:tests? #f ; The tests fail. Due to rustc version?
         #:cargo-inputs
@@ -66064,11 +66094,7 @@ (define-public rust-uint-0.4
          ("rust-rustc-hex" ,rust-rustc-hex-2))
         #:cargo-development-inputs
         (("rust-quickcheck" ,rust-quickcheck-0.6)
-         ("rust-rustc-hex" ,rust-rustc-hex-2))))
-    (home-page "http://parity.io")
-    (synopsis "Large fixed-size integer arithmetic")
-    (description synopsis)
-    (license (list license:expat license:asl2.0))))
+         ("rust-rustc-hex" ,rust-rustc-hex-2))))))
 
 (define-public rust-umask-1
   (package
-- 
2.34.0


From c514ca51f128c76be050c0cc2d0c3decc3574e7b Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 22:36:44 +0100
Subject: [PATCH 37/46] gnu: Add rust-ethbloom 0.5.3.

* gnu/packages/crates-io.scm (rust-ethbloom-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 237fb67621..9828122a38 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20328,6 +20328,35 @@ (define-public rust-escargot-0.3
        (("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1))))))
 
+(define-public rust-ethbloom-0.5
+  (package
+    (name "rust-ethbloom")
+    (version "0.5.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ethbloom" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0q2kix0p067rrfffhbfra453dw51s4cfgs0lhirslsv4callsad6"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f                      ; The tests fail.
+       #:cargo-inputs
+       (("rust-crunchy" ,rust-crunchy-0.1)
+        ("rust-ethereum-types-serialize" ,rust-ethereum-types-serialize-0.2)
+        ("rust-fixed-hash" ,rust-fixed-hash-0.2)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-tiny-keccak" ,rust-tiny-keccak-1))
+       #:cargo-development-inputs
+       (("rust-hex-literal" ,rust-hex-literal-0.1)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-rustc-hex" ,rust-rustc-hex-1))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Ethereum bloom filter")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-ethereum-types-0.12
   (package
     (name "rust-ethereum-types")
-- 
2.34.0


From 08fc6a9a615f9e0ef3a6caa6ccf4f17d4f902c24 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:59:31 +0100
Subject: [PATCH 38/46] gnu: Add rust-ethereum-types 0.4.2.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9828122a38..4656ef1799 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20393,6 +20393,29 @@ (define-public rust-ethereum-types-0.9
          (base32
           "1c1l2sg6li301izl4nzkkfrpc8snafxwnr81vfwygn3bd3zyqfj7"))))))
 
+(define-public rust-ethereum-types-0.4
+  (package
+    (inherit rust-ethereum-types-0.9)
+    (name "rust-ethereum-types")
+    (version "0.4.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ethereum-types" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "15icipk0ap7r6yi0i6cl6zsl0z52zbw6jwv3l271r833vj222x3f"))))
+    (arguments
+      `(#:cargo-inputs
+        (("rust-crunchy" ,rust-crunchy-0.1)
+         ("rust-ethbloom" ,rust-ethbloom-0.5)
+         ("rust-ethereum-types-serialize" ,rust-ethereum-types-serialize-0.2)
+         ("rust-fixed-hash" ,rust-fixed-hash-0.2)
+         ("rust-serde" ,rust-serde-1)
+         ("rust-uint" ,rust-uint-0.4))
+        #:cargo-development-inputs
+        (("rust-serde-json" ,rust-serde-json-1))))))
+
 (define-public rust-ethereum-types-serialize-0.2
   (package
     (name "rust-ethereum-types-serialize")
-- 
2.34.0


From 711677d4d9c04dc857453de02d7716559f0c0bd2 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 20:02:58 +0100
Subject: [PATCH 39/46] gnu: Add rust-rlp 0.3.0.

* gnu/packages/crates-io.scm (rust-rlp-0.3): 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 4656ef1799..d6084161dd 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -48046,6 +48046,27 @@ (define-public rust-rlp-0.5
 decoding, and compression.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rlp-0.3
+  (package
+    (inherit rust-rlp-0.5)
+    (name "rust-rlp")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rlp" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "082pfkdzsnzvqr5yx5qb2hildjg597p2115ywy84zma5k3zfzl8n"))))
+    (arguments
+     `(#:tests? #f                      ; The tests fail.
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1)
+        ("rust-ethereum-types" ,rust-ethereum-types-0.4)
+        ("rust-rustc-hex" ,rust-rustc-hex-2))
+       #:cargo-development-inputs
+       (("rust-hex-literal" ,rust-hex-literal-0.1))))))
+
 (define-public rust-rls-span-0.5
   (package
     (name "rust-rls-span")
-- 
2.34.0


From 8ec49f2967a8cebce60d8071a9cd474772bb5ea5 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 20:11:48 +0100
Subject: [PATCH 40/46] gnu: Add rust-integer-sqrt 0.1.5.

---
 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 d6084161dd..b96a5168f3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -28526,6 +28526,29 @@ (define-public rust-integer-encoding-1
         ("rust-futures-util" ,rust-futures-util-0.3)
         ("rust-tokio" ,rust-tokio-0.2))))))
 
+(define-public rust-integer-sqrt-0.1
+  (package
+    (name "rust-integer-sqrt")
+    (version "0.1.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "integer-sqrt" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0w6pzmgvs1mldkhafbwg9x7wzr0af3ngkimyb1gy97jarcdw6vi7"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-num-traits" ,rust-num-traits-0.2))))
+    (home-page "https://github.com/derekdreery/integer-sqrt-rs")
+    (synopsis
+     "An implementation of integer square root algorithm for primitive rust types")
+    (description
+     "This is a Rust implementation of integer square root algorithm for primitive
+Rust types.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-interpolate-name-0.2
   (package
     (name "rust-interpolate-name")
-- 
2.34.0


From 759241b6ad3f72f6ca99f7aeb5493e94115db8b8 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 21:29:52 +0100
Subject: [PATCH 41/46] gnu: Add rust-gmp-mpfr-sys 1.4.7.

---
 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 b96a5168f3..26d01bb029 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -52,6 +52,7 @@ (define-module (gnu packages crates-io)
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpp)
@@ -67,6 +68,7 @@ (define-module (gnu packages crates-io)
   #:use-module (gnu packages jemalloc)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages mail)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages nettle)
@@ -25075,6 +25077,35 @@ (define-public rust-gloo-timers-0.2
 timers.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-gmp-mpfr-sys-1
+  (package
+    (name "rust-gmp-mpfr-sys")
+    (version "1.4.7")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "gmp-mpfr-sys" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1ysvdf352vcnb5ygmbwf5pkndqb0p6clmz0nqkf3nmz9ghssfim1"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'set-shell-for-configure-script
+            (lambda _
+              (setenv "CONFIG_SHELL" (which "sh")))))
+       #:cargo-inputs
+        (("rust-libc" ,rust-libc-0.2)
+         ("rust-winapi" ,rust-winapi-0.3))))
+    (native-inputs
+     (list bash-minimal m4))
+    (home-page "https://gitlab.com/tspiteri/gmp-mpfr-sys")
+    (synopsis "Rust FFI bindings for GMP, MPFR, and MPC")
+    (description "Rust FFI bindings for the numeric libraries GMP, MPFR,
+and MPC.")
+    (license license:lgpl3+)))
+
 (define-public rust-goblin-0.2
   (package
     (name "rust-goblin")
-- 
2.34.0


From 9c259a917eba30df7ebed31e3346164eb7132855 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 21:33:35 +0100
Subject: [PATCH 42/46] gnu: rust-az: Update to 1.2.0.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 26d01bb029..076266752a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5463,7 +5463,7 @@ (define-public rust-awc-0.2
 (define-public rust-az-1
   (package
     (name "rust-az")
-    (version "1.0.0")
+    (version "1.2.0")
     (source
       (origin
         (method url-fetch)
@@ -5472,7 +5472,7 @@ (define-public rust-az-1
          (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "0sb51w9pjcqb315dg6zv9wwqj1q2fldcc3xmfv0bhkmajiyx9g79"))))
+          "1i2s9bqar8hfxjmfr2cbhi4s26s2sd1kc3x3g517ygshyp8sawgp"))))
     (build-system cargo-build-system)
     (home-page "https://gitlab.com/tspiteri/az")
     (synopsis "Casts and checked casts")
-- 
2.34.0


From 1c21e04e1b88e982806088d32bcbcbd2b29f3e82 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 21:50:44 +0100
Subject: [PATCH 43/46] gnu: Add rust-rug 1.14.0.

---
 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 076266752a..f80a9d9f6f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -48727,6 +48727,44 @@ (define-public rust-rstest-0.10
 table-based tests.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rug-1
+  (package
+    (name "rust-rug")
+    (version "1.14.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rug" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1iw52gyw0hshymqa04g76m7qnrds5vkgc5s8svqx5nv1jz1wrdgm"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'set-shell-for-configure-script
+            (lambda _
+              (setenv "CONFIG_SHELL" (which "sh")))))
+        #:cargo-inputs
+        (("rust-az" ,rust-az-1)
+         ("rust-gmp-mpfr-sys" ,rust-gmp-mpfr-sys-1)
+         ("rust-libc" ,rust-libc-0.2)
+         ("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-bincode" ,rust-bincode-1)
+         ("rust-byteorder" ,rust-byteorder-1)
+         ("rust-serde-json" ,rust-serde-json-1)
+         ("rust-serde-test" ,rust-serde-test-1))))
+    (native-inputs
+     (list bash-minimal m4))
+    (home-page "https://gitlab.com/tspiteri/rug")
+    (synopsis
+      "Arbitrary-precision integers, rational, floating-point and complex numbers based
+on GMP, MPFR and MPC")
+    (description "This is a Rust library of arbitrary-precision integers, rational,
+floating-point, and complex numbers based on GMP, MPFR and MPC.")
+    (license license:lgpl3+)))
+
 (define-public rust-rpassword-5
   (package
     (name "rust-rpassword")
-- 
2.34.0


From 6a8a932d30eb1b0e70abf08137e61b529acebddd Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 22:23:03 +0100
Subject: [PATCH 44/46] gnu: Add rust-impl-num-traits 0.1.1.

* gnu/packages/crates-io.scm (rust-impl-num-traits-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 f80a9d9f6f..285958ec46 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -71323,6 +71323,28 @@ (define-public rust-impl-rlp-0.3
     (description synopsis)
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-impl-num-traits-0.1
+  (package
+    (name "rust-impl-num-traits")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "impl-num-traits" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0rjlic3z684l37qm7zywmxhhllnf982y3ilyslyxb6jiddyhbdiq"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-integer-sqrt" ,rust-integer-sqrt-0.1)
+         ("rust-num-traits" ,rust-num-traits-0.2)
+         ("rust-uint" ,rust-uint-0.9))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "num-traits implementation for uint")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-impl-serde-0.3
   (package
     (name "rust-impl-serde")
-- 
2.34.0


From 4734f6dc605048f6f51d9fabbfb8efa052ad577b Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Mon, 24 Jan 2022 11:43:45 +0100
Subject: [PATCH 45/46] gnu: Add rust-ethbloom 0.11.1.

* gnu/packages/crates-io.scm (rust-ethbloom-0.11): New variable.
---
 gnu/packages/crates-io.scm | 38 ++++++++++++++++++++++++++++++++------
 1 file changed, 32 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 285958ec46..7c425ece29 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20330,8 +20330,39 @@ (define-public rust-escargot-0.3
        (("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1))))))
 
+(define-public rust-ethbloom-0.11
+  (package
+    (name "rust-ethbloom")
+    (version "0.11.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ethbloom" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1y73c4v60jy6wc4gssrg775y6vzc4axn523qkxswbxm8iyn89dmz"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-crunchy" ,rust-crunchy-0.2)
+        ("rust-fixed-hash" ,rust-fixed-hash-0.7)
+        ("rust-impl-codec" ,rust-impl-codec-0.5)
+        ("rust-impl-rlp" ,rust-impl-rlp-0.3)
+        ("rust-impl-serde" ,rust-impl-serde-0.3)
+        ("rust-scale-info" ,rust-scale-info-1)
+        ("rust-tiny-keccak" ,rust-tiny-keccak-2))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-hex-literal" ,rust-hex-literal-0.3)
+        ("rust-rand" ,rust-rand-0.8))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Ethereum bloom filter")
+    (description "This Rust library implements the Ethereum bloom filter.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-ethbloom-0.5
   (package
+    (inherit rust-ethbloom-0.11)
     (name "rust-ethbloom")
     (version "0.5.3")
     (source
@@ -20341,7 +20372,6 @@ (define-public rust-ethbloom-0.5
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0q2kix0p067rrfffhbfra453dw51s4cfgs0lhirslsv4callsad6"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:tests? #f                      ; The tests fail.
        #:cargo-inputs
@@ -20353,11 +20383,7 @@ (define-public rust-ethbloom-0.5
        #:cargo-development-inputs
        (("rust-hex-literal" ,rust-hex-literal-0.1)
         ("rust-rand" ,rust-rand-0.4)
-        ("rust-rustc-hex" ,rust-rustc-hex-1))))
-    (home-page "https://github.com/paritytech/parity-common")
-    (synopsis "Ethereum bloom filter")
-    (description synopsis)
-    (license (list license:expat license:asl2.0))))
+        ("rust-rustc-hex" ,rust-rustc-hex-1))))))
 
 (define-public rust-ethereum-types-0.12
   (package
-- 
2.34.0


From cb0746ffe9a478f869733404655f5c928810ab44 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Mon, 24 Jan 2022 12:02:31 +0100
Subject: [PATCH 46/46] gnu: Switch variable names rust-funty-1.2 and
 rust-funty-1.

The rationale is that rust-funty-1 should be the latest in the v1.x.y line,
while rust-funty-1.1 is a specific version that some packages depend on.
Probably backwards compatibility got broken at v1.1.0, because some packages
request ~1.1 (i.e. 1.1.0 at the time of writing).
---
 gnu/packages/crates-io.scm | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7c425ece29..6bfc8a2b74 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7269,7 +7269,7 @@ (define-public rust-bitvec-0.22
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-funty" ,rust-funty-1.2)
+       (("rust-funty" ,rust-funty-1)
         ("rust-radium" ,rust-radium-0.6)
         ("rust-serde" ,rust-serde-1)
         ("rust-tap" ,rust-tap-1)
@@ -7302,7 +7302,7 @@ (define-public rust-bitvec-0.20
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-funty" ,rust-funty-1)
+       (("rust-funty" ,rust-funty-1.1)
         ("rust-radium" ,rust-radium-0.6)
         ("rust-serde" ,rust-serde-1)
         ("rust-tap" ,rust-tap-1)
@@ -7331,7 +7331,7 @@ (define-public rust-bitvec-0.19
          "10bz751jbsy8fj203ibjwil07p2fwfzvx7b326wfssaravlkbfm7"))))
     (arguments
      `(#:cargo-inputs
-       (("rust-funty" ,rust-funty-1)
+       (("rust-funty" ,rust-funty-1.1)
         ("rust-radium" ,rust-radium-0.5)
         ("rust-serde" ,rust-serde-1)
         ("rust-tap" ,rust-tap-1)
@@ -22692,7 +22692,7 @@ (define-public rust-fuchsia-zircon-sys-0.3
     (description "Low-level Rust bindings for the Zircon kernel.")
     (license license:bsd-3)))
 
-(define-public rust-funty-1.2
+(define-public rust-funty-1
   (package
     (name "rust-funty")
     (version "1.2.0")
@@ -22717,9 +22717,9 @@ (define-public rust-funty-1.2
 stabilized, and eventually removed.  This library reïnstates these traits.")
     (license license:expat)))
 
-(define-public rust-funty-1
+(define-public rust-funty-1.1
   (package
-    (inherit rust-funty-1.2)
+    (inherit rust-funty-1)
     (name "rust-funty")
     (version "1.1.0")
     (source
-- 
2.34.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#53500] Add 42 rust packages, and update 4 of them
  2022-01-24 18:01   ` Attila Lendvai
@ 2022-01-25  8:21     ` Nicolas Goaziou
  2022-01-25 18:31       ` Attila Lendvai
  0 siblings, 1 reply; 6+ messages in thread
From: Nicolas Goaziou @ 2022-01-25  8:21 UTC (permalink / raw)
  To: Attila Lendvai; +Cc: 53500

Hello,

Attila Lendvai <attila@lendvai.name> writes:

> please find the updated patch attached. it still has a few holes where
> i had no idea what to write...

Thanks. Some more comments follow.

> From 76c538bb3331b904790a827d7b762e057052de0c Mon Sep 17 00:00:00 2001
> From: Attila Lendvai <attila@lendvai.name>
> Date: Wed, 19 Jan 2022 09:29:13 +0100
> Subject: [PATCH 02/46] gnu: Add rust-parity-bytes 0.1.2.

In commit messages, you should mention the name of the variable you
added, not the name of the package and its version. So, the above should
be:

  gnu: Add rust-parity-bytes.
>
> * gnu/packages/crates-io.scm (rust-parity-bytes): New variable.

BTW, the name of the variable is wrong. It should be
`rust-parity-bytes-0.1'.

> +(define-public rust-parity-bytes

See above.

> +  (package
> +    (name "rust-parity-bytes")
> +    (version "0.1.2")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (crate-uri "parity-bytes" version))
> +       (file-name (string-append name "-" version ".tar.gz"))
> +       (sha256
> +        (base32 "0rww406dih6yxr4iadz7l07sibklqywxz10gjzdqn4r04hx6xd8n"))))
> +    (build-system cargo-build-system)
> +    (arguments `(#:skip-build? #t))
> +    (home-page "https://github.com/paritytech/parity-common")
> +    (synopsis "General bytes-related utilities")
> +    (description synopsis)

As discussed on IRC, the construct above is to avoid. I suggest:

  "This package provides general bytes-related utilities, including
  a pretty-printer."

> Subject: [PATCH 03/46] gnu: Add rust-ethereum-types 0.9.2 and 0.12.1.

See above for the remark about commit messages.
>
> * gnu/packages/crates-io.scm (rust-ethereum-types-0.9): New variable.
> (rust-ethereum-types-0.12):  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 fb07701e16..0013ae28a2 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -20081,6 +20081,42 @@ (define-public rust-escargot-0.3
>         (("rust-serde" ,rust-serde-1)
>          ("rust-serde-json" ,rust-serde-json-1))))))
>  
> +(define-public rust-ethereum-types-0.12
> +  (package
> +    (name "rust-ethereum-types")
> +    (version "0.12.1")
> +    (source
> +      (origin
> +        (method url-fetch)
> +        (uri (crate-uri "ethereum-types" version))
> +        (file-name
> +         (string-append name "-" version ".tar.gz"))
> +        (sha256
> +         (base32
> +          "1bxxacsmb9majw7vd4sndv4dhw3g9srhf7flwq39yy7yaxq6y4q5"))))
> +    (build-system cargo-build-system)
> +    (arguments
> +     `(#:skip-build? #t))
> +    (home-page "https://github.com/paritytech/parity-common")
> +    (synopsis "Crate used in Parity Technologies projects")
> +    (description synopsis)

See above. I don't have anything meaningful to suggest, but the bare
minimum is

  (description "This is crate an internal crate used in Parity
  Technologies projects.")

BTW, should it be public?

> Subject: [PATCH 05/46] gnu: Add rust-base64ct 1.0.1.
>
> * gnu/packages/crates-io.scm (rust-base64ct-1.0.1): New variable.

Do you need this variable? We already provide 1.1.1 version. Could
requirements be relaxed instead? See, e.g., rust-average-0.13.
> Subject: [PATCH 09/46] gnu: Add rust-scrypt 0.5.0.
>
> * gnu/packages/crates-io.scm (rust-scrypt-0.5): New variable.

Usually, we also add:

  (rust-scrypt-0.3): Inherit from above.
> +    (home-page "https://serde.rs")
> +    (synopsis "AST representation used by Serde derive macros")
> +    (description "AST representation used by Serde derive macros.
> Unstable.")

Please fix the description.

> +    (synopsis "Bare essentials of @code{std::io} for use in @code{no_std}")
> +    (description
> +      "The bare essentials of @code{std::io} for use in @code{no_std}.  Alloc
> +support is optional.")

Please fix the description. This is not a full sentence.

> From ad11a18a8c4468c9895d431962a5a76dd29894de Mon Sep 17 00:00:00 2001
> From: Attila Lendvai <attila@lendvai.name>
> Date: Wed, 19 Jan 2022 15:06:00 +0100
> Subject: [PATCH 13/46] gnu: Add rust-darling 0.13.1.

See my comment above about mentionning inheritance.

> +    (synopsis "Helper crate for @code{rust-darling}")
> +    (description
> +     "Internal support for @code{rust-darling}, a proc-macro library for
> +reading attributes into structs when implementing custom derives.")
> +    (license license:expat)))

Please turn the description into a full sentence.
> +    (synopsis "A library for creating compact sets of enums")

Synopses should not start with an article. Please remove it.

> +    (description
> +      "This package provides a rust library for creating compact sets of enums.")
> +    (license (list license:expat license:asl2.0))))

rust -> Rust.

> +    (synopsis "An internal helper crate for enumset")

See above.

> +    (description "An internal helper crate for enumset.  Not public
> API.")

Please turn it into full sentences.

> +    (synopsis "Macros for #[derive(JsonSchema)], for use with
> schemars")

I suggest to wrap @code{...} around #[derive...]

> +    (description synopsis)

Please write a description, even if it is:

  This package provides macros for ...

> From b42eeb02d631ce64152a8244c1b56aba51b0b66e Mon Sep 17 00:00:00 2001
> From: Attila Lendvai <attila@lendvai.name>
> Date: Wed, 19 Jan 2022 15:59:23 +0100
> Subject: [PATCH 19/46] gnu: rust-zeroize: Update to 1.5.0.
>
> Also update rust-zeroize-derive to 1.3.1.

The commit message is not formatted properly:

  * gnu/packages/crates-io.scm (rust-zeroize): Update to 1.5.0.
  (rust-zeroize-derive): Update to 1.3.1.
>
> * gnu/packages/crates-io.scm (rust-zeroize-1.4): New variable.
> * gnu/packages/rust-apps.scm (rbw): Stick to the v1.4 line of rust-zeroize.

Can you relax requirements instead? Adding an intermediate crate is
a last-resort solution.

> Also reword the description.

[description]: Reword it.


> +    (synopsis
> +      "Rust wrapper library for Pieter Wuille's `libsecp256k1`. Implements ECDSA and BIP 340 signatures for the SECG elliptic curve group secp256k1 and related utilities.")

Synopsis should be shortened.

> +    (description
> +      "Rust wrapper library for Pieter Wuille's `libsecp256k1`.  Implements ECDSA and
> +BIP 340 signatures for the SECG elliptic curve group secp256k1 and related
> +utilities.")

Full sentences, please.

> +    (synopsis "Macros to define custom fixed-size hash types")
> +    (description "Rust macros to define custom fixed-size hash types.")
> +    (license (list license:expat license:asl2.0))))

See above.

I won't comment further because further remarks are of the same type.

Could you send an updated patch set?

Thank you for your work.

Regards,
-- 
Nicolas Goaziou




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#53500] Add 42 rust packages, and update 4 of them
  2022-01-25  8:21     ` Nicolas Goaziou
@ 2022-01-25 18:31       ` Attila Lendvai
  2022-01-28  0:15         ` bug#53500: " Nicolas Goaziou
  0 siblings, 1 reply; 6+ messages in thread
From: Attila Lendvai @ 2022-01-25 18:31 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: 53500

[-- Attachment #1: Type: text/plain, Size: 84 bytes --]

i hope most issues have been dealt with in v3. please find attached.

- attila


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: rust-packages-v3.patch --]
[-- Type: text/x-patch; name=rust-packages-v3.patch, Size: 99683 bytes --]

From 2b4ce1555dbbfe74e77cf6002dabaf16401903c8 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 09:18:50 +0100
Subject: [PATCH 01/46] gnu: Add rust-rustc-hex-1.

* gnu/packages/crates-io.scm (rust-rustc-hex-1): New variable.
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 878319faa2..3693b7e330 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1,4 +1,3 @@
-
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
 ;;; Copyright © 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
@@ -49276,11 +49275,24 @@ (define-public rust-rustc-hex-2
     (build-system cargo-build-system)
     (arguments `(#:skip-build? #t))
     (home-page "https://github.com/debris/rustc-hex")
-    (synopsis "Rustc-serialize compatible hex conversion traits")
-    (description "This package provides rustc-serialize compatible hex
-conversion traits.")
+    (synopsis "@code{rustc-serialize} compatible hex conversion traits")
+    (description "This Rust library provides @code{rustc-serialize} compatible
+hex conversion traits.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rustc-hex-1
+  (package
+    (inherit rust-rustc-hex-2)
+    (name "rust-rustc-hex")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rustc-hex" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "07pff94vqc1mhrqp9i06xzayiad4xfx7588zkqsdw875lpkqrsqc"))))))
+
 (define-public rust-rustc-rayon-0.3
   (package
     (name "rust-rustc-rayon")

base-commit: 5b465de06c8d310edb067234769d43c9e7c8d4cc
-- 
2.34.0


From 29776315bff84faa8947f811ec028f9cac2cb26d Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 09:29:13 +0100
Subject: [PATCH 02/46] gnu: Add rust-parity-bytes-0.1

* gnu/packages/crates-io.scm (rust-parity-bytes-0.1): 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 3693b7e330..f967dbdc87 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39051,6 +39051,25 @@ (define-public rust-paris-1
 want in the terminal.")
     (license license:mpl2.0)))
 
+(define-public rust-parity-bytes-0.1
+  (package
+    (name "rust-parity-bytes")
+    (version "0.1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parity-bytes" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0rww406dih6yxr4iadz7l07sibklqywxz10gjzdqn4r04hx6xd8n"))))
+    (build-system cargo-build-system)
+    (arguments `(#:skip-build? #t))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "General bytes-related utilities")
+    (description "This package provides general bytes-related utilities,
+including a pretty-printer.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-parity-tokio-ipc-0.4
   (package
     (name "rust-parity-tokio-ipc")
-- 
2.34.0


From a7788c06f538690667e014b914ab8f7eb94204a0 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 09:39:57 +0100
Subject: [PATCH 03/46] gnu: Add rust-ethereum-types-0.9,
 rust-ethereum-types-0.12.

* gnu/packages/crates-io.scm (rust-ethereum-types-0.9): New variable.
(rust-ethereum-types-0.12):  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 f967dbdc87..58738132c1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20080,6 +20080,43 @@ (define-public rust-escargot-0.3
        (("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1))))))
 
+(define-public rust-ethereum-types-0.12
+  (package
+    (name "rust-ethereum-types")
+    (version "0.12.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ethereum-types" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1bxxacsmb9majw7vd4sndv4dhw3g9srhf7flwq39yy7yaxq6y4q5"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Rust crate exporting some Ethereum types")
+    (description "This is a crate by Parity Technologies that exports Rust
+types for values in the Ethereum ecosystem.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-ethereum-types-0.9
+  (package
+    (inherit rust-ethereum-types-0.12)
+    (name "rust-ethereum-types")
+    (version "0.9.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ethereum-types" version))
+        (file-name
+         (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1c1l2sg6li301izl4nzkkfrpc8snafxwnr81vfwygn3bd3zyqfj7"))))))
+
 (define-public rust-event-listener-2
   (package
     (name "rust-event-listener")
-- 
2.34.0


From ae9d9d0c4716a42e021351ddcad665f972d6c0d5 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 10:55:27 +0100
Subject: [PATCH 04/46] gnu: rust-base64ct-1: Update to 1.3.3.

---
 gnu/packages/crates-io.scm | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 58738132c1..205e8bb04a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5787,24 +5787,26 @@ (define-public rust-base64-0.6
 (define-public rust-base64ct-1
   (package
     (name "rust-base64ct")
-    (version "1.1.1")
+    (version "1.3.3")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "base64ct" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32
-         "0p4was874qc90q2chm2i14m9mn8zmxjis8vaxihd6a2x4aqxkd76"))))
+        (base32 "1818i0gpg7q35s6yglmhgciwi3jwx65mqc2ipjl54jfbmm288kw7"))))
     (build-system cargo-build-system)
-    (arguments `(#:skip-build? #t))
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-base64" ,rust-base64-0.13)
+        ("rust-proptest" ,rust-proptest-1))))
     (home-page "https://github.com/RustCrypto/formats/tree/master/base64ct")
     (synopsis "Implementation of Base64 (RFC 4648)")
     (description
      "This package is a pure Rust implementation of Base64 (RFC 4648) which
 avoids any usages of data-dependent branches/LUTs and thereby provides
-portable \"best effort\" constant-time operation and embedded-friendly no_std
-support.")
+portable \"best effort\" constant-time operation and embedded-friendly
+@code{no_std} support.")
     (license (list license:asl2.0 license:expat))))
 
 (define-public rust-base-x-0.2
-- 
2.34.0


From ea0a82322ddaf939dd07699b114310f24df3e1f6 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Mon, 24 Jan 2022 11:34:03 +0100
Subject: [PATCH 05/46] gnu: Add rust-base64ct-1.0.1.

This will be needed later because some packages request specifically this
version, probably due to some non-backwards compatibile change.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 205e8bb04a..e2d1dc3434 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5809,6 +5809,20 @@ (define-public rust-base64ct-1
 @code{no_std} support.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-base64ct-1.0.1
+  (package
+    (inherit rust-base64ct-1)
+    (name "rust-base64ct")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "base64ct" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0sx4a44c2n450lsmi0q1mgfbjhkw1sx57462cv77p0mmy9mgscla"))))
+    (arguments '())))
+
 (define-public rust-base-x-0.2
   (package
     (name "rust-base-x")
-- 
2.34.0


From 7fa1dcbb30d33436ff0088557a4e1e77385623fa Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 11:09:29 +0100
Subject: [PATCH 06/46] gnu: Add rust-password-hash-0.1.

* gnu/packages/crates-io.scm (rust-password-hash-0.1): New variable. Inherit
from rust-password-hash-0.3.
---
 gnu/packages/crates-io.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e2d1dc3434..3fb5d011da 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39783,6 +39783,24 @@ (define-public rust-password-hash-0.3
 Format (MCF).")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-password-hash-0.1
+  (package
+    (inherit rust-password-hash-0.3)
+    (name "rust-password-hash")
+    (version "0.1.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "password-hash" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1ymh3np2bamjy8rszimksxcp264dclil4620bxm8rff9pyj6m62l"))))
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+        (("rust-base64ct" ,rust-base64ct-1)
+         ("rust-rand-core" ,rust-rand-core-0.6))))))
+
 (define-public rust-paste-1
   (package
     (name "rust-paste")
-- 
2.34.0


From 602f843cdb0f29c46fbce1ddd0d9ed1ce7947458 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 11:29:10 +0100
Subject: [PATCH 07/46] gnu: Add rust-pbkdf2-0.7, rust-pbkdf2-0.6.

* gnu/packages/crates-io.scm (rust-pbkdf2-0.7): New variable.
(rust-pbkdf2-0.6): New variable.
(rust-pbkdf2-0.9): Reenable building it and fix dependencies.
---
 gnu/packages/crates-io.scm | 69 +++++++++++++++++++++++++++++++++++---
 1 file changed, 65 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3fb5d011da..1bc3755144 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39966,7 +39966,8 @@ (define-public rust-pbkdf2-0.10
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-digest" ,rust-digest-0.10)
+       (("rust-base64ct" ,rust-base64ct-1.0.1)
+        ("rust-digest" ,rust-digest-0.10)
         ("rust-hmac" ,rust-hmac-0.12)
         ("rust-password-hash" ,rust-password-hash-0.3)
         ("rust-rayon" ,rust-rayon-1)
@@ -40000,18 +40001,78 @@ (define-public rust-pbkdf2-0.9
         (base32
          "0fa7j0gdgghk64qlhzdv32yg52p0cfaz5ifhk7i4pfm1wsy98n7h"))))
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-crypto-mac" ,rust-crypto-mac-0.11)
         ("rust-hmac" ,rust-hmac-0.11)
         ("rust-password-hash" ,rust-password-hash-0.3)
         ("rust-rayon" ,rust-rayon-1)
+        ("rust-sha-1" ,rust-sha-1-0.9)
+        ("rust-sha2" ,rust-sha2-0.9))
+       #:cargo-development-inputs
+       (("rust-hex-literal" ,rust-hex-literal-0.3)
+        ("rust-hmac" ,rust-hmac-0.11)
+        ("rust-sha-1" ,rust-sha-1-0.9)
+        ("rust-sha2" ,rust-sha2-0.9)
+        ("rust-streebog" ,rust-streebog-0.9))))))
+
+(define-public rust-pbkdf2-0.7
+  (package
+    (inherit rust-pbkdf2-0.9)
+    (name "rust-pbkdf2")
+    (version "0.7.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pbkdf2" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "022m5yb6fagzrks5m5kkj2yzccqffk19vnchg289fqnj5p9nv4dz"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-base64ct" ,rust-base64ct-1)
+        ("rust-crypto-mac" ,rust-crypto-mac-0.10)
+        ("rust-hmac" ,rust-hmac-0.10)
+        ("rust-password-hash" ,rust-password-hash-0.1)
+        ("rust-rayon" ,rust-rayon-1)
+        ("rust-sha-1" ,rust-sha-1-0.9)
+        ("rust-sha2" ,rust-sha2-0.9))
+       #:cargo-development-inputs
+       (("rust-hex-literal" ,rust-hex-literal-0.3)
+        ("rust-hmac" ,rust-hmac-0.8)
+        ("rust-rand-core" ,rust-rand-core-0.6)
+        ("rust-sha-1" ,rust-sha-1-0.9)
+        ("rust-sha2" ,rust-sha2-0.9))))))
+
+(define-public rust-pbkdf2-0.6
+  (package
+    (inherit rust-pbkdf2-0.7)
+    (name "rust-pbkdf2")
+    (version "0.6.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "pbkdf2" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "0jjaapyawm5iqn97mmfj40dvipsy78cm80qcva28009l2zbw1f5k"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-base64" ,rust-base64-0.13)
+        ("rust-crypto-mac" ,rust-crypto-mac-0.10)
+        ("rust-hmac" ,rust-hmac-0.10)
+        ("rust-rand" ,rust-rand-0.7)
+        ("rust-rand-core" ,rust-rand-core-0.5)
+        ("rust-rayon" ,rust-rayon-1)
+        ("rust-sha2" ,rust-sha2-0.9)
+        ("rust-subtle" ,rust-subtle-2))
+       #:cargo-development-inputs
+       (("rust-hmac" ,rust-hmac-0.10)
         ("rust-sha-1" ,rust-sha-1-0.9)
         ("rust-sha2" ,rust-sha2-0.9))))))
 
 (define-public rust-pbkdf2-0.4
   (package
-    (inherit rust-pbkdf2-0.10)
+    (inherit rust-pbkdf2-0.6)
     (name "rust-pbkdf2")
     (version "0.4.0")
     (source
-- 
2.34.0


From 0731150a26d2c985f1b14368102e0a074cac9f19 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 11:52:52 +0100
Subject: [PATCH 08/46] gnu: Add rust-salsa20 0.7.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1bc3755144..faff5f1546 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -50822,6 +50822,30 @@ (define-public rust-salsa-0.17
 computation (experimental)")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-salsa20-0.7
+  (package
+    (name "rust-salsa20")
+    (version "0.7.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "salsa20" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "09c16m566g45f41xx3673zyzwca3mykz630fmv2mbjbvmwcc4fw0"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-cipher" ,rust-cipher-0.2)
+         ("rust-zeroize" ,rust-zeroize-1))
+        #:cargo-development-inputs
+        (("rust-cipher" ,rust-cipher-0.2))))
+    (home-page "https://github.com/RustCrypto/stream-ciphers")
+    (synopsis "Salsa20 stream cipher")
+    (description "This is a Rust library implementing the Salsa20 stream
+cipher.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-safe-arch-0.5
   (package
     (name "rust-safe-arch")
-- 
2.34.0


From f7064256d3b6dcadd50a1e52c0abea95ceeb4d71 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 11:53:52 +0100
Subject: [PATCH 09/46] gnu: Add rust-scrypt-0.5.

* gnu/packages/crates-io.scm (rust-scrypt-0.5): New variable.
(rust-scrypt-0.3): Inherit from above.
---
 gnu/packages/crates-io.scm | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index faff5f1546..2c39e6f93e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51245,10 +51245,34 @@ (define-public rust-scrypt-0.8
 function.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-scrypt-0.3
+(define-public rust-scrypt-0.5
   (package
     (inherit rust-scrypt-0.8)
     (name "rust-scrypt")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "scrypt" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1fgdmjdjx3lj92nswkxrq9nlv4vv7livg83nfybmv4izn3d9594d"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-base64" ,rust-base64-0.13)
+        ("rust-hmac" ,rust-hmac-0.10)
+        ("rust-pbkdf2" ,rust-pbkdf2-0.6)
+        ("rust-rand" ,rust-rand-0.7)
+        ("rust-rand-core" ,rust-rand-core-0.5)
+        ("rust-salsa20" ,rust-salsa20-0.7)
+        ("rust-sha2" ,rust-sha2-0.9)
+        ("rust-subtle" ,rust-subtle-2))))))
+
+(define-public rust-scrypt-0.3
+  (package
+    (inherit rust-scrypt-0.5)
+    (name "rust-scrypt")
     (version "0.3.0")
     (source
       (origin
-- 
2.34.0


From a5c52e03fdfa0de45d8287cae903c002de745203 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 14:38:48 +0100
Subject: [PATCH 10/46] gnu: rust-fnv: Update to 1.0.7.

---
 gnu/packages/crates-io.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2c39e6f93e..e70a6332b0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21658,15 +21658,14 @@ (define-public rust-flume-0.9
 (define-public rust-fnv-1
   (package
     (name "rust-fnv")
-    (version "1.0.6")
+    (version "1.0.7")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "fnv" version))
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
-         (base32
-          "1ww56bi1r5b8id3ns9j3qxbi7w5h005rzhiryy0zi9h97raqbb9g"))))
+         (base32 "1hc2mcqha06aibcaza94vbi81j6pr9a1bbxrxjfhc91zin8yr7iz"))))
     (build-system cargo-build-system)
     (home-page "https://github.com/servo/rust-fnv")
     (synopsis "Implementation of the Fowler-Noll-Vo hash function")
-- 
2.34.0


From 8287c87382f6e4d7afd2e051ff2f81ace75c94e6 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 14:50:12 +0100
Subject: [PATCH 11/46] gnu: Add rust-serde-derive-internals 0.25.0.

* gnu/packages/crates-io.scm (rust-serde-derive-internals-0.25): 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 e70a6332b0..be5a7def71 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -52641,6 +52641,30 @@ (define-public rust-serde-derive-0.9
         ("rust-serde-codegen-internals" ,rust-serde-codegen-internals-0.14)
         ("rust-syn" ,rust-syn-0.11))))))
 
+(define-public rust-serde-derive-internals-0.25
+  (package
+    (name "rust-serde-derive-internals")
+    (version "0.25.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "serde_derive_internals" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1ihqfkpplqqiwmh87s8p9jsv27ibkz1z7gc0abqs2mrhlr6b7fhx"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build? #t
+        #:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))))
+    (home-page "https://serde.rs")
+    (synopsis "AST representation used by Serde derive macros")
+    (description "This package provides AST representation used by Serde
+derive macros.  Unstable.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-serde-ignored-0.1
   (package
     (name "rust-serde-ignored")
-- 
2.34.0


From 22aad5af000fa1489d63335ac0c7386ab54acac2 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 14:51:42 +0100
Subject: [PATCH 12/46] gnu: Add rust-core2-0.3.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index be5a7def71..1997e68063 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12845,6 +12845,26 @@ (define-public rust-cookie-0.15
 management.  It supports signed and private (encrypted, authenticated) jars.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-core2-0.3
+  (package
+    (name "rust-core2")
+    (version "0.3.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "core2" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1wzzy5iazdk5caadxvjfwrd312rbg7a55a1zpmsdrhk3kfpa77r3"))))
+    (build-system cargo-build-system)
+    (arguments `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2))))
+    (home-page "https://github.com/bbqsrc/core2")
+    (synopsis "Bare essentials of @code{std::io} for use in @code{no_std}")
+    (description
+      "This package provides the bare essentials of @code{std::io} for use
+in @code{no_std}.  Alloc support is optional.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-cookie-0.14
   (package
     (inherit rust-cookie-0.15)
-- 
2.34.0


From 5f3b8bfe768eeb50ed0238bdb5c2ec0b2e28735d Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:06:00 +0100
Subject: [PATCH 13/46] gnu: Add rust-darling-0.13 and required dependencies.

* gnu/packages/crates-io.scm (rust-darling-0.13): New variable.
(rust-darling-0.12): Inherit from above.
(rust-darling-core-0.13): New variable.
(rust-darling-core-0.12): Inherit from above.
(rust-darling-macro-0.13): New variable.
(rust-darling-macro-0.12): Inherit from above.
---
 gnu/packages/crates-io.scm | 93 +++++++++++++++++++++++++++++++-------
 1 file changed, 77 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1997e68063..007e8c7c7b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15649,10 +15649,10 @@ (define-public rust-daemonize-0.4
     (description "Daemonize is a Rust library for writing system deaemons.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-darling-0.12
+(define-public rust-darling-0.13
   (package
     (name "rust-darling")
-    (version "0.12.4")
+    (version "0.13.1")
     (source
      (origin
        (method url-fetch)
@@ -15660,13 +15660,17 @@ (define-public rust-darling-0.12
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0g4bkxpwl6i5jav5qqzny39yd5a1fdlh5l0mj020njza6ksl6b2z"))))
+        (base32 "1x7pgzjswg28798zd5gk5g6nifhcaqq0apqmclydi39zd2w21myh"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
-       (("rust-darling-core" ,rust-darling-core-0.12)
-        ("rust-darling-macro" ,rust-darling-macro-0.12))))
+       (("rust-darling-core" ,rust-darling-core-0.13)
+        ("rust-darling-macro" ,rust-darling-macro-0.13))
+       #:cargo-development-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
     (home-page "https://github.com/TedDriggs/darling")
     (synopsis "Proc-macro library for reading attributes in custom derives")
     (description
@@ -15674,6 +15678,30 @@ (define-public rust-darling-0.12
 into structs when implementing custom derives.")
     (license license:expat)))
 
+(define-public rust-darling-0.12
+  (package
+    (inherit rust-darling-0.13)
+    (name "rust-darling")
+    (version "0.12.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "darling" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0g4bkxpwl6i5jav5qqzny39yd5a1fdlh5l0mj020njza6ksl6b2z"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs
+       (("rust-darling-core" ,rust-darling-core-0.12)
+        ("rust-darling-macro" ,rust-darling-macro-0.12))
+       #:cargo-development-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))))
+
 (define-public rust-darling-0.10
   (package
     (inherit rust-darling-0.12)
@@ -15721,17 +15749,17 @@ (define-public rust-darling-0.9
         ("rust-quote" ,rust-quote-0.6)
         ("rust-syn" ,rust-syn-0.15))))))
 
-(define-public rust-darling-core-0.12
+(define-public rust-darling-core-0.13
   (package
     (name "rust-darling-core")
-    (version "0.12.4")
+    (version "0.13.1")
     (source
      (origin
        (method url-fetch)
        (uri (crate-uri "darling_core" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0dpscl87s75h6yhrmzdsapx86lc4y16m554xg4hiq2l3hrdlb4cf"))))
+        (base32 "0933k2avb6xk9j4ryr0bvp3pww5j8i0nrqvsnkgd3vic3lj0yd3s"))))
     (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
@@ -15749,6 +15777,19 @@ (define-public rust-darling-core-0.12
 reading attributes into structs when implementing custom derives.")
     (license license:expat)))
 
+(define-public rust-darling-core-0.12
+  (package
+    (inherit rust-darling-core-0.13)
+    (name "rust-darling-core")
+    (version "0.12.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "darling_core" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0dpscl87s75h6yhrmzdsapx86lc4y16m554xg4hiq2l3hrdlb4cf"))))))
+
 (define-public rust-darling-core-0.10
   (package
     (inherit rust-darling-core-0.12)
@@ -15796,8 +15837,35 @@ (define-public rust-darling-core-0.9
         ("rust-strsim" ,rust-strsim-0.7)
         ("rust-syn" ,rust-syn-0.15))))))
 
+(define-public rust-darling-macro-0.13
+  (package
+    (name "rust-darling-macro")
+    (version "0.13.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "darling_macro" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0jzljnd0y7idi5lb7lhvymh3nkhaf32ksx0d38hv7zjjfcxipi3j"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:skip-build? #t
+        #:cargo-inputs
+        (("rust-darling-core" ,rust-darling-core-0.13)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/TedDriggs/darling")
+    (synopsis "Helper crate for @code{rust-darling}")
+    (description
+     "This package provides internal support for @code{rust-darling},
+a proc-macro library for reading attributes into structs when implementing
+custom derives.")
+    (license license:expat)))
+
 (define-public rust-darling-macro-0.12
   (package
+    (inherit rust-darling-macro-0.13)
     (name "rust-darling-macro")
     (version "0.12.4")
     (source
@@ -15807,19 +15875,12 @@ (define-public rust-darling-macro-0.12
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0nn9mxl7gs827rx5s6lbjvvghipxjdg2qpdjyxk7yym3vvqard99"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-darling-core" ,rust-darling-core-0.12)
         ("rust-quote" ,rust-quote-1)
-        ("rust-syn" ,rust-syn-1))))
-    (home-page "https://github.com/TedDriggs/darling")
-    (synopsis "Helper crate for @code{rust-darling}")
-    (description
-     "Internal support for @code{rust-darling}, a proc-macro library for
-reading attributes into structs when implementing custom derives.")
-    (license license:expat)))
+        ("rust-syn" ,rust-syn-1))))))
 
 (define-public rust-darling-macro-0.10
   (package
-- 
2.34.0


From 8340f37fd27bd739ab41bf00f363c34dd1d3743b Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:07:36 +0100
Subject: [PATCH 14/46] gnu: Add rust-enumset-1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 007e8c7c7b..9d0b4ba4ad 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -19669,6 +19669,58 @@ (define-public rust-enumflags2-derive-0.6
     (description "Enumflags2 implements the classic bitflags datastructure.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-enumset-1
+  (package
+    (name "rust-enumset")
+    (version "1.0.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "enumset" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0b2vdggbsnvvw09czxaazbqcpa378fycf7fs3afz5dbgkb0x45k2"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-enumset-derive" ,rust-enumset-derive-0.5)
+         ("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-bincode" ,rust-bincode-1)
+         ("rust-rustversion" ,rust-rustversion-1)
+         ("rust-serde-derive" ,rust-serde-derive-1)
+         ("rust-serde-json" ,rust-serde-json-1)
+         ("rust-trybuild" ,rust-trybuild-1))))
+    (home-page "https://github.com/Lymia/enumset")
+    (synopsis "Library for creating compact sets of enums")
+    (description "This package provides a Rust library for creating
+compact sets of enums.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-enumset-derive-0.5
+  (package
+    (name "rust-enumset-derive")
+    (version "0.5.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "enumset-derive" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1m7ccz9fcxsx3s1drj77psk62xfgjia0hp9lal3qhpb5ls514lb4"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-darling" ,rust-darling-0.13)
+         ("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/Lymia/enumset")
+    (synopsis "Internal helper crate for enumset")
+    (description "This package is an internal helper crate for
+@code{rust-enumset}.  It is not public API.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-env-logger-0.9
   (package
     (name "rust-env-logger")
-- 
2.34.0


From 1b41619bc38639d7086926753ba87d1b585cc479 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:12:52 +0100
Subject: [PATCH 15/46] gnu: Add rust-schemars[-derive]-0.8.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9d0b4ba4ad..c8c0ddfd5e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51193,6 +51193,70 @@ (define-public rust-scheduled-thread-pool-0.2
     (description "This package provides a scheduled thread pool.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-schemars-0.8
+  (package
+    (name "rust-schemars")
+    (version "0.8.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "schemars" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1qvhq1yixygd8ihc0qxmnhw4x08fa44q88v088gvc6pa1k4a7df6"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-arrayvec" ,rust-arrayvec-0.5)
+         ("rust-bigdecimal" ,rust-bigdecimal-0.3)
+         ("rust-bytes" ,rust-bytes-1)
+         ("rust-chrono" ,rust-chrono-0.4)
+         ("rust-dyn-clone" ,rust-dyn-clone-1)
+         ("rust-either" ,rust-either-1)
+         ("rust-enumset" ,rust-enumset-1)
+         ("rust-indexmap" ,rust-indexmap-1)
+         ("rust-rust-decimal" ,rust-rust-decimal-1)
+         ("rust-schemars-derive" ,rust-schemars-derive-0.8)
+         ("rust-serde" ,rust-serde-1)
+         ("rust-serde-json" ,rust-serde-json-1)
+         ("rust-smallvec" ,rust-smallvec-1)
+         ("rust-url" ,rust-url-2)
+         ("rust-uuid" ,rust-uuid-0.8))
+        #:cargo-development-inputs
+        (("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
+         ("rust-trybuild" ,rust-trybuild-1))))
+    (home-page "https://graham.cool/schemars/")
+    (synopsis "Generate JSON Schemas from Rust code")
+    (description "This Rust library can help generating JSON Schemas from
+Rust code.")
+    (license license:expat)))
+
+(define-public rust-schemars-derive-0.8
+  (package
+    (name "rust-schemars-derive")
+    (version "0.8.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "schemars-derive" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "16xfvm16d8nsxdx82fdcyqfi12v61lffyf1wmi34qqg82g74vbj1"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-serde-derive-internals" ,rust-serde-derive-internals-0.25)
+         ("rust-syn" ,rust-syn-1))
+        #:cargo-development-inputs
+        (("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))
+    (home-page "https://graham.cool/schemars/")
+    (synopsis "Macros for @code{#[derive(JsonSchema)]}, for use with schemars")
+    (description "This package provides macros for @code{#[derive(JsonSchema)]},
+for use with schemars.")
+    (license license:expat)))
+
 (define-public rust-scoped-threadpool-0.1
   (package
     (name "rust-scoped-threadpool")
-- 
2.34.0


From c54cb11d7931a4ffa6de9d85fd37f079621c2593 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:29:01 +0100
Subject: [PATCH 16/46] gnu: Add rust-bitcoin-hashes-0.10.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c8c0ddfd5e..beb647f110 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6963,6 +6963,33 @@ (define-public rust-bit-vec-0.4
      `(#:cargo-development-inputs
        (("rust-rand" ,rust-rand-0.3))))))
 
+(define-public rust-bitcoin-hashes-0.10
+  (package
+    (name "rust-bitcoin-hashes")
+    (version "0.10.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "bitcoin-hashes" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1c25nzrd2kn5znhjgxb9n48hc7swapiln8dqqndq368x38gcjv00"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-core2" ,rust-core2-0.3)
+         ("rust-schemars" ,rust-schemars-0.8)
+         ("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-serde-json" ,rust-serde-json-1)
+         ("rust-serde-test" ,rust-serde-test-1)
+         ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
+    (home-page "https://github.com/rust-bitcoin/bitcoin_hashes/")
+    (synopsis "Hash functions used by @code{rust-bitcoin}")
+    (description "This Rust library provides hash functions that are used by
+@code{rust-bitcoin}.  Is supports @code{rustc} 1.29.0.")
+    (license license:cc0)))
+
 (define-public rust-bitfield-0.13
   (package
     (name "rust-bitfield")
-- 
2.34.0


From b25a355af55303112d7cc14af334e45106ad6053 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:45:46 +0100
Subject: [PATCH 17/46] gnu: Add rust-bitcoin-hashes-0.9.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index beb647f110..70f46f7cfc 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -6990,6 +6990,19 @@ (define-public rust-bitcoin-hashes-0.10
 @code{rust-bitcoin}.  Is supports @code{rustc} 1.29.0.")
     (license license:cc0)))
 
+(define-public rust-bitcoin-hashes-0.9
+  (package
+    (inherit rust-bitcoin-hashes-0.10)
+    (name "rust-bitcoin-hashes")
+    (version "0.9.7")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "bitcoin-hashes" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1cblp0clvds0i33ms1b0lvq42kzdpr7q3ma5ac3ss913xijq5qbw"))))))
+
 (define-public rust-bitfield-0.13
   (package
     (name "rust-bitfield")
-- 
2.34.0


From 538ca6b59519c77c9ae607a2d9241bbb91c43bde Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:29:51 +0100
Subject: [PATCH 18/46] gnu: Add rust-ripemd-0.1.

* gnu/packages/crates-io.scm (rust-ripemd-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 70f46f7cfc..89691ddafe 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -47658,6 +47658,30 @@ (define-public rust-riscv-0.7
     (description "This crate provides low level access to RISC-V processors.")
     (license license:isc)))
 
+(define-public rust-ripemd-0.1
+  (package
+    (name "rust-ripemd")
+    (version "0.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ripemd" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "16ap7vvnqf4l6vy7kjpb5p8brqfppanssm61jn1w8444395bcm7a"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-digest" ,rust-digest-0.10))
+        #:cargo-development-inputs
+        (("rust-digest" ,rust-digest-0.10)
+         ("rust-hex-literal" ,rust-hex-literal-0.2))))
+    (home-page "https://github.com/RustCrypto/hashes")
+    (synopsis "Pure Rust implementation of the RIPEMD hash functions")
+    (description "This library provides a pure Rust implementation of the
+RIPEMD hash functions.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-riscv-target-0.1
   (package
     (name "rust-riscv-target")
-- 
2.34.0


From ef0f1f49ac237f9ca7e10acb8b3fbfa184720347 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:59:23 +0100
Subject: [PATCH 19/46] gnu: rust-zeroize-1: Update to 1.5.0.

* gnu/packages/crates-io.scm (rust-zeroize-1): Update to 1.5.0.
(rust-zeroize-derive-1): Update to 1.3.1.
(rust-rsa-0.5): Enable build, and make sure it builds with rust-zeroize 1.5.0
by relaxing the dependency specification.
* gnu/packages/rust-apps.scm (rbw): Relax the dependency specification for
rust-zeroize.
Also reword the description.
---
 gnu/packages/crates-io.scm | 29 ++++++++++++++++++++++-------
 gnu/packages/rust-apps.scm | 14 ++++++++++----
 2 files changed, 32 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 89691ddafe..2dae42f8b9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -48212,8 +48212,7 @@ (define-public rust-rsa-0.5
         (base32 "039676a4mj0875phdi7vc0bd37hv84dh0dql6fmk8dl2w81jcp70"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-byteorder" ,rust-byteorder-1)
         ("rust-digest" ,rust-digest-0.9)
         ("rust-lazy-static" ,rust-lazy-static-1)
@@ -48226,7 +48225,23 @@ (define-public rust-rsa-0.5
         ("rust-rand" ,rust-rand-0.8)
         ("rust-serde" ,rust-serde-1)
         ("rust-subtle" ,rust-subtle-2)
-        ("rust-zeroize" ,rust-zeroize-1))))
+        ("rust-zeroize" ,rust-zeroize-1))
+       #:cargo-development-inputs
+        (("rust-base64" ,rust-base64-0.13)
+         ("rust-hex" ,rust-hex-0.4)
+         ("rust-hex-literal" ,rust-hex-literal-0.3)
+         ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
+         ("rust-serde-test" ,rust-serde-test-1)
+         ("rust-sha-1" ,rust-sha-1-0.9)
+         ("rust-sha2" ,rust-sha2-0.9)
+         ("rust-sha3" ,rust-sha3-0.9))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'configure 'relax-requirements
+           (lambda _
+             (substitute*
+                 "Cargo.toml"
+               (("version = \">=1, <1.5\"") "version = \"^1\"")))))))
     (home-page "https://github.com/RustCrypto/RSA")
     (synopsis "Pure Rust RSA implementation")
     (description "This package provides a pure Rust RSA implementation.")
@@ -69824,7 +69839,7 @@ (define-public rust-zerocopy-derive-0.2
 (define-public rust-zeroize-1
   (package
     (name "rust-zeroize")
-    (version "1.4.3")
+    (version "1.5.0")
     (source
      (origin
        (method url-fetch)
@@ -69832,7 +69847,7 @@ (define-public rust-zeroize-1
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "068nvl3n5hk6lfn5y24grf2c7anzzqfzjjccscq3md7rqp79v3fn"))))
+        (base32 "1nq8zq5h7ad6kahdk0fxw4fdm0ibycj061jngxqkqchw67n2l8nc"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -69849,7 +69864,7 @@ (define-public rust-zeroize-1
 (define-public rust-zeroize-derive-1
   (package
     (name "rust-zeroize-derive")
-    (version "1.0.0")
+    (version "1.3.1")
     (source
      (origin
        (method url-fetch)
@@ -69857,7 +69872,7 @@ (define-public rust-zeroize-derive-1
        (file-name
         (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "18lc9xq9dwvmv81y3bqnw20974nbrs7d20rljb1inz7wd7n1w9fy"))))
+        (base32 "1nzdqyryjnqcrqz0vhddpkd8sybhn0bd8rbd6l33rdhhxwzz3s41"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index d2cc949667..a97fcc7968 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -1307,7 +1307,13 @@ (define-public rbw
            (lambda _
              (substitute*
                  "guix-vendor/rust-password-hash-0.3.2.tar.gz/Cargo.toml"
-               (("version = \">=1, <1.1.0\"") "version = \">=1\"")))))
+               (("version = \">=1, <1.1.0\"") "version = \">=1\""))
+             (substitute*
+                 "guix-vendor/rust-rsa-0.5.0.tar.gz/Cargo.toml"
+               (("version = \">=1, <1.5\"") "version = \"^1\""))
+             (substitute*
+                 "Cargo.toml"
+               (("version = \"1.4\"") "version = \"^1\"")))))
        #:cargo-inputs
        (("rust-aes" ,rust-aes-0.7)
         ("rust-anyhow" ,rust-anyhow-1)
@@ -1352,9 +1358,9 @@ (define-public rbw
     (home-page "https://git.tozt.net/rbw")
     (synopsis "Unofficial Bitwarden CLI")
     (description "This package is an unofficial command line client for
-Bitwarden. Although it does come with its own command line client, this client
-is limited by being stateless, which makes it very difficult to use.  This
-client avoids this problem by maintaining a background process which is able
+Bitwarden.  Although Bitwarden ships with a command line client, but
+it's limited by being stateless, which makes it very difficult to use.  This
+client avoids that problem by maintaining a background process which is able
 to hold the keys in memory, similar to the way that ssh-agent or gpg-agent
 work.  This allows the client to be used in a much simpler way, with the
 background agent taking care of maintaining the necessary state.")
-- 
2.34.0


From 08ccc7f1e209a44ff6607fadb7d780d420a2d703 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:30:31 +0100
Subject: [PATCH 20/46] gnu: Add rust-secp256k1-0.21.

* gnu/packages/crates-io.scm (rust-secp256k1-0.21): New variable.
(rust-secp256k1-sys-0.4): New variable.
---
 gnu/packages/crates-io.scm | 56 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2dae42f8b9..f6c52e150b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51885,6 +51885,62 @@ (define-public rust-section-testing-0.0
      "This package provides a library for section-style testing.")
     (license license:expat)))
 
+(define-public rust-secp256k1-0.21
+  (package
+    (name "rust-secp256k1")
+    (version "0.21.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "secp256k1" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "09gia5hjf1hb9jgac9nzq0s0ijbsdjfflh40xw8z08avgl0q6y5b"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-bitcoin-hashes" ,rust-bitcoin-hashes-0.10)
+         ("rust-rand" ,rust-rand-0.6)
+         ("rust-secp256k1-sys" ,rust-secp256k1-sys-0.4)
+         ("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-bitcoin-hashes" ,rust-bitcoin-hashes-0.10)
+         ("rust-rand" ,rust-rand-0.6)
+         ("rust-rand-core" ,rust-rand-core-0.4)
+         ("rust-serde-test" ,rust-serde-test-1)
+         ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
+    (home-page "https://github.com/rust-bitcoin/rust-secp256k1/")
+    (synopsis
+      "Rust wrapper library for Pieter Wuille's @code{libsecp256k1}")
+    (description
+      "This package is a Rust wrapper library for Pieter Wuille's
+@code{libsecp256k1}.  It implements ECDSA and BIP 340 signatures for the
+SECG elliptic curve group secp256k1 and related utilities.")
+    (license license:cc0)))
+
+(define-public rust-secp256k1-sys-0.4
+  (package
+    (name "rust-secp256k1-sys")
+    (version "0.4.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "secp256k1-sys" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0dk0as7qdlvg5vkcsihndzg1jgqb9amhwmz3xiip94fy7ibs4zcm"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-cc" ,rust-cc-1))
+        #:cargo-development-inputs
+        (("rust-libc" ,rust-libc-0.2))))
+    (home-page "https://github.com/rust-bitcoin/rust-secp256k1/")
+    (synopsis "FFI for Pieter Wuille's @code{libsecp256k1} library")
+    (description "This package is a Rust FFI for Pieter Wuille's
+@code{libsecp256k1} library.")
+    (license license:cc0)))
+
 (define-public rust-security-framework-2
   (package
     (name "rust-security-framework")
-- 
2.34.0


From 610142d01bd72ef47bc48960af41a17cbb262224 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 15:38:34 +0100
Subject: [PATCH 21/46] gnu: Add rust-secp256k1-0.20.

* gnu/packages/crates-io.scm (rust-secp256k1-0.20): 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 f6c52e150b..24123e69bf 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51918,6 +51918,31 @@ (define-public rust-secp256k1-0.21
 SECG elliptic curve group secp256k1 and related utilities.")
     (license license:cc0)))
 
+(define-public rust-secp256k1-0.20
+  (package
+    (inherit rust-secp256k1-0.21)
+    (name "rust-secp256k1")
+    (version "0.20.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "secp256k1" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32 "02kxhfgy85zg7w2yyvnzrr7myk1mckvg99z6pbazxl1nwvm3rl4p"))))
+    (arguments
+      `(#:cargo-inputs
+        (("rust-bitcoin-hashes" ,rust-bitcoin-hashes-0.9)
+         ("rust-rand" ,rust-rand-0.6)
+         ("rust-secp256k1-sys" ,rust-secp256k1-sys-0.4)
+         ("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-bitcoin-hashes" ,rust-bitcoin-hashes-0.10)
+         ("rust-rand" ,rust-rand-0.6)
+         ("rust-rand-core" ,rust-rand-core-0.4)
+         ("rust-serde-test" ,rust-serde-test-1)
+         ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))))
+
 (define-public rust-secp256k1-sys-0.4
   (package
     (name "rust-secp256k1-sys")
-- 
2.34.0


From 0786cea44b4fa8f00a67961b764a3b9c5f853d47 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 16:51:39 +0100
Subject: [PATCH 22/46] gnu: Add rust-fixed-hash-0.7, rust-fixed-hash-0.2.

* gnu/packages/crates-io.scm (rust-fixed-hash-0.7): New variable.
(rust-fixed-hash-0.2): New variable. Inherit from above.
---
 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 24123e69bf..2280bafa70 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21374,6 +21374,60 @@ (define-public rust-fixed-1
     (description "This package provides fixed-point numbers in Rust.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-fixed-hash-0.7
+  (package
+    (name "rust-fixed-hash")
+    (version "0.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "fixed-hash" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0g29r0zwf09kg70nprn0s444bn6nfsglmiafhl1pm8ajzvbhxkyg"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-arbitrary" ,rust-arbitrary-0.4)
+        ("rust-byteorder" ,rust-byteorder-1)
+        ("rust-quickcheck" ,rust-quickcheck-0.9)
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-rustc-hex" ,rust-rustc-hex-2)
+        ("rust-static-assertions" ,rust-static-assertions-1))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-rand-xorshift" ,rust-rand-xorshift-0.2))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Macros to define custom fixed-size hash types")
+    (description "This package provides Rust macros to define
+custom fixed-size hash types.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-fixed-hash-0.2
+  (package
+    (inherit rust-fixed-hash-0.7)
+    (name "rust-fixed-hash")
+    (version "0.2.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "fixed-hash" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0wvj52bf37nhg6mv5h235zgdg7nsdarag58mf4i49cdgc3l6rzks"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-heapsize" ,rust-heapsize-0.4)
+         ("rust-libc" ,rust-libc-0.2)
+         ("rust-quickcheck" ,rust-quickcheck-0.6)
+         ("rust-rand" ,rust-rand-0.4)
+         ("rust-rustc-hex" ,rust-rustc-hex-2)
+         ("rust-serde" ,rust-serde-1)
+         ("rust-serde-derive" ,rust-serde-derive-1)
+         ("rust-uint" ,rust-uint-0.4))))))
+
 (define-public rust-fixedbitset-0.4
   (package
     (name "rust-fixedbitset")
-- 
2.34.0


From 0ad7af00f5901506f36ac64184e1515e626c8455 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 17:16:15 +0100
Subject: [PATCH 23/46] gnu: Add rust-byte-slice-cast-1.

* gnu/packages/crates-io.scm (rust-byte-slice-cast-1): 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 2280bafa70..54677b953a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8595,6 +8595,25 @@ (define-public rust-byte-pool-0.2
 memory usage.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-byte-slice-cast-1
+  (package
+    (name "rust-byte-slice-cast")
+    (version "1.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "byte-slice-cast" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "162618ai9pnsim49lkjpq2yi2b3wssclvqxwwycw8xrbb58wfc0x"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/sdroege/bytes-num-slice-cast")
+    (synopsis
+      "Safely cast bytes slices from/to slices of built-in fundamental numeric types")
+    (description "This Rust library enables safely cast bytes slices from/to slices
+of built-in fundamental numeric types.")
+    (license license:expat)))
+
 (define-public rust-byte-tools-0.3
   (package
     (name "rust-byte-tools")
-- 
2.34.0


From dc58a61fb2dcd5153cd5c6dd15d235eac0554785 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 17:24:47 +0100
Subject: [PATCH 24/46] gnu: Add rust-impl-trait-for-tuples-0.2.

* gnu/packages/crates-io.scm (rust-impl-trait-for-tuples-0.2):
---
 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 54677b953a..6852778c1d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -70833,6 +70833,32 @@ (define-public rust-im-rc-15
 variant of this library is available separately as @code{im}.")
     (license license:mpl2.0)))
 
+(define-public rust-impl-trait-for-tuples-0.2
+  (package
+    (name "rust-impl-trait-for-tuples")
+    (version "0.2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "impl-trait-for-tuples" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1vii634v1zvb680h28md42xpdrj1j1d50ix3dga95fxkql8cpnnm"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #false ; Some tests fail. Unstable compiler messages?
+       #:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))
+        #:cargo-development-inputs
+        (("rust-trybuild" ,rust-trybuild-1))))
+    (home-page "https://github.com/bkchr/impl-trait-for-tuples")
+    (synopsis "Attribute macro to implement a trait for tuples")
+    (description "This package provides attribute macro to implement
+a trait for tuples.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-inflections-1
   (package
     (name "rust-inflections")
-- 
2.34.0


From 044ce27fb7a0a00951dcfb30954bb79b52ce7e89 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:05:55 +0100
Subject: [PATCH 25/46] gnu: Add rust-bitvec-0.20.

* gnu/packages/crates-io.scm (rust-bitvec-0.20): New variable.
(rust-bitvec-0.19): Inherit from above.
---
 gnu/packages/crates-io.scm | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6852778c1d..5bc406c557 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7284,10 +7284,38 @@ (define-public rust-bitvec-0.22
      "This package provides a crate for manipulating memory, bit by bit.")
     (license license:expat)))
 
-(define-public rust-bitvec-0.19
+(define-public rust-bitvec-0.20
   (package
     (inherit rust-bitvec-0.22)
     (name "rust-bitvec")
+    (version "0.20.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "bitvec" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0j3qn0z31j06c965hs3kh41l78hxbzzsf1h46xvs3ym48i1i8x3p"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-funty" ,rust-funty-1)
+        ("rust-radium" ,rust-radium-0.6)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-tap" ,rust-tap-1)
+        ("rust-wyz" ,rust-wyz-0.2))
+       #:cargo-development-inputs
+       (("rust-bincode" ,rust-bincode-1)
+        ("rust-criterion" ,rust-criterion-0.3)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-serde-test" ,rust-serde-test-1)
+        ("rust-static-assertions" ,rust-static-assertions-1))))))
+
+(define-public rust-bitvec-0.19
+  (package
+    (inherit rust-bitvec-0.20)
+    (name "rust-bitvec")
     (version "0.19.4")
     (source
      (origin
-- 
2.34.0


From 909cdce1a0f0e63e1b7d2bea80cb789924ddd515 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Wed, 19 Jan 2022 09:47:42 +0100
Subject: [PATCH 26/46] gnu: Add rust-parity-crypto-0.9.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5bc406c557..7a13e266f1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39396,6 +39396,57 @@ (define-public rust-parity-bytes-0.1
 including a pretty-printer.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-parity-crypto-0.9
+  (package
+    (name "rust-parity-crypto")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parity-crypto" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0dafz7pfi21plp6r6k2bh7ysjd3x75yix6a9gkdy3mn0vafym4jb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-aes" ,rust-aes-0.6)
+        ("rust-block-modes" ,rust-block-modes-0.7)
+        ("rust-digest" ,rust-digest-0.9)
+        ("rust-ethereum-types" ,rust-ethereum-types-0.12)
+        ("rust-hex" ,rust-hex-0.2)
+        ("rust-hmac" ,rust-hmac-0.10)
+        ("rust-lazy-static" ,rust-lazy-static-1)
+        ("rust-pbkdf2" ,rust-pbkdf2-0.7)
+        ("rust-ripemd" ,rust-ripemd-0.1)
+        ("rust-rustc-hex" ,rust-rustc-hex-2)
+        ("rust-scrypt" ,rust-scrypt-0.5)
+        ("rust-secp256k1" ,rust-secp256k1-0.20)
+        ("rust-sha2" ,rust-sha2-0.9)
+        ("rust-subtle" ,rust-subtle-2)
+        ("rust-tiny-keccak" ,rust-tiny-keccak-2)
+        ("rust-zeroize" ,rust-zeroize-1))
+       #:cargo-development-inputs
+        (("rust-criterion" ,rust-criterion-0.3)
+         ("rust-hex-literal" ,rust-hex-literal-0.3))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-version-requirements
+           (lambda _
+             ;; SUBSTITUTE* can't do multiline regex, so let's just do this:
+             (delete-file "Cargo.toml")
+             (rename-file "Cargo.toml.orig" "Cargo.toml")
+             (substitute* "Cargo.toml"
+               (("aes-ctr = \"0.6.0\"") "")
+               (("ethereum-types = \\{ version = \"0.12.0\".*")
+                "ethereum-types = { version = \"0.12.0\", optional = true }\n")
+               (("ripemd160 = \"0.9.1\"") "ripemd = \"0.1.0\"")))))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "General cryptographic utilities for Ethereum")
+    (description "A Rust library of general cryptographic utilities for
+Ethereum.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-parity-tokio-ipc-0.4
   (package
     (name "rust-parity-tokio-ipc")
-- 
2.34.0


From 2d92bf6b1b3123fba75284594754f9f75b543136 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:08:11 +0100
Subject: [PATCH 27/46] gnu: Add rust-parity-scale-codec-2.

* gnu/packages/crates-io.scm (rust-parity-scale-codec-2): New variable.
(rust-parity-scale-codec-derive-2): New variable.
---
 gnu/packages/crates-io.scm | 61 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7a13e266f1..22a0fc0b41 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -39447,6 +39447,67 @@ (define-public rust-parity-crypto-0.9
 Ethereum.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-parity-scale-codec-2
+  (package
+    (name "rust-parity-scale-codec")
+    (version "2.3.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "parity-scale-codec" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "02g95fp56sfpxixpy3x2h2yvcnmbpl8klfx53wywvn9q2d61lfrp"))))
+    (build-system cargo-build-system)
+    (arguments
+     ;; The tests fail with: error[E0432]: unresolved import
+     ;; `parity_scale_codec_derive`. They also take a relatively long time.
+     `(#:tests? #f
+       #:cargo-inputs
+       (("rust-arbitrary" ,rust-arbitrary-1)
+        ("rust-arrayvec" ,rust-arrayvec-0.7)
+        ("rust-bitvec" ,rust-bitvec-0.20)
+        ("rust-byte-slice-cast" ,rust-byte-slice-cast-1)
+        ("rust-generic-array" ,rust-generic-array-0.14)
+        ("rust-impl-trait-for-tuples" ,rust-impl-trait-for-tuples-0.2)
+        ("rust-parity-scale-codec-derive" ,rust-parity-scale-codec-derive-2)
+        ("rust-serde" ,rust-serde-1))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-quickcheck" ,rust-quickcheck-1)
+        ("rust-serde-derive" ,rust-serde-derive-1)
+        ("rust-trybuild" ,rust-trybuild-1))))
+    (home-page "https://github.com/paritytech/parity-scale-codec")
+    (synopsis "SCALE - Simple Concatenating Aggregated Little Endians")
+    (description "This package is a Rust library for SCALE - Simple
+Concatenating Aggregated Little Endians.")
+    (license license:asl2.0)))
+
+(define-public rust-parity-scale-codec-derive-2
+  (package
+    (name "rust-parity-scale-codec-derive")
+    (version "2.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "parity-scale-codec-derive" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "09zdgdqalc8d2zsjc9v1ayqxwg5rh7xxq5ldasdmqng0fq202mqm"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "")
+    (synopsis
+     "Serialization and deserialization derive macro for Parity SCALE Codec")
+    (description "This is a Rust library for serialization and deserialization
+derive macro for Parity SCALE Codec.")
+    (license license:asl2.0)))
+
 (define-public rust-parity-tokio-ipc-0.4
   (package
     (name "rust-parity-tokio-ipc")
-- 
2.34.0


From c9d6f58b239ae9850ed6fc26206714f603c54a97 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:09:21 +0100
Subject: [PATCH 28/46] gnu: Add rust-impl-codec-0.5.

* gnu/packages/crates-io.scm (rust-impl-codec-0.5): 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 22a0fc0b41..442e0ec60a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -70973,6 +70973,27 @@ (define-public rust-im-rc-15
 variant of this library is available separately as @code{im}.")
     (license license:mpl2.0)))
 
+(define-public rust-impl-codec-0.5
+  (package
+    (name "rust-impl-codec")
+    (version "0.5.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "impl-codec" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0hy4svffnw9idy9ipp0hkmbzk97fl583akqwyqmvbqy8qgzbs7hn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-parity-scale-codec" ,rust-parity-scale-codec-2))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Parity Codec serialization support for uint and fixed hash")
+    (description "This package provides Parity Codec serialization support
+for uint and fixed hash.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-impl-trait-for-tuples-0.2
   (package
     (name "rust-impl-trait-for-tuples")
-- 
2.34.0


From 6bf8b42af7de94aa8ca81bd1513d79d151d77385 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:34:32 +0100
Subject: [PATCH 29/46] gnu: Add rust-crunchy-0.1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 442e0ec60a..1965c4e35d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14499,6 +14499,19 @@ (define-public rust-crunchy-0.2
 number ``crunching``.")
     (license license:expat)))
 
+(define-public rust-crunchy-0.1
+  (package
+    (inherit rust-crunchy-0.2)
+    (name "rust-crunchy")
+    (version "0.1.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "crunchy" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1nnbh2k3pv1diyd0i0p3a08kd4afqc17yz0b43hn5xn9qlqs9x52"))))))
+
 (define-public rust-roxmltree-0.14
   (package
     (name "rust-roxmltree")
-- 
2.34.0


From 4c2b8e49b6358f9f6114409814f004508e08ac00 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:43:09 +0100
Subject: [PATCH 30/46] gnu: Add rust-uint-0.4.

* gnu/packages/crates-io.scm (rust-uint-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 1965c4e35d..fe0b2c6798 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -65981,6 +65981,34 @@ (define-public rust-ufmt-write-0.1
     (description "This package provides @code{μfmt}'s @code{uWrite} trait.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-uint-0.4
+  (package
+    (name "rust-uint")
+    (version "0.4.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "uint" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0il6x59h605mmm10qxig066khxaygqcyb60pqja1n5mr68bs2jvm"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:tests? #f ; The tests fail. Due to rustc version?
+        #:cargo-inputs
+        (("rust-byteorder" ,rust-byteorder-1)
+         ("rust-crunchy" ,rust-crunchy-0.1)
+         ("rust-heapsize" ,rust-heapsize-0.4)
+         ("rust-quickcheck" ,rust-quickcheck-0.6)
+         ("rust-rustc-hex" ,rust-rustc-hex-2))
+        #:cargo-development-inputs
+        (("rust-quickcheck" ,rust-quickcheck-0.6)
+         ("rust-rustc-hex" ,rust-rustc-hex-2))))
+    (home-page "http://parity.io")
+    (synopsis "Large fixed-size integer arithmetic")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-umask-1
   (package
     (name "rust-umask")
-- 
2.34.0


From f4983e0fb9ed9afe1924448c1fd5e37b1e6a519e Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:48:56 +0100
Subject: [PATCH 31/46] gnu: Add rust-ethereum-types-serialize-0.2.

* gnu/packages/crates-io.scm (rust-ethereum-types-serialize-0.2): New variable.
---
 gnu/packages/crates-io.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fe0b2c6798..e8d884546e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20366,6 +20366,24 @@ (define-public rust-ethereum-types-0.9
          (base32
           "1c1l2sg6li301izl4nzkkfrpc8snafxwnr81vfwygn3bd3zyqfj7"))))))
 
+(define-public rust-ethereum-types-serialize-0.2
+  (package
+    (name "rust-ethereum-types-serialize")
+    (version "0.2.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ethereum-types-serialize" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0l53rvzvwpxwkl7i3f9q5fafw663rcm5z4mdknkr265w69xxfwqq"))))
+    (build-system cargo-build-system)
+    (arguments `(#:cargo-inputs (("rust-serde" ,rust-serde-1))))
+    (home-page "https://github.com/paritytech/primitives")
+    (synopsis "Ethereum types")
+    (description "A Rust library of Ethereum types.")
+    (license license:expat)))
+
 (define-public rust-event-listener-2
   (package
     (name "rust-event-listener")
-- 
2.34.0


From 76248ad7a40228806580e32da5a5c6421b3e435b Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:52:53 +0100
Subject: [PATCH 32/46] gnu: Add rust-tiny-keccak-1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e8d884546e..bb0ac36578 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -61739,6 +61739,22 @@ (define-public rust-tiny-keccak-2
 specified in FIPS-202, SP800-185 and KangarooTwelve.")
     (license license:cc0)))
 
+(define-public rust-tiny-keccak-1
+  (package
+    (inherit rust-tiny-keccak-2)
+    (name "rust-tiny-keccak")
+    (version "1.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "tiny-keccak" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1chiisrsql4pfwh5r7nz055ciqj7ch24m0nvrr6a8x5vd4f052hx"))))
+    (arguments
+     `(#:cargo-inputs
+       (("rust-crunchy" ,rust-crunchy-0.2))))))
+
 (define-public rust-tinyfiledialogs-3
   (package
     (name "rust-tinyfiledialogs")
-- 
2.34.0


From f2806f21e2d3e705d60ce7efa80d888a06f2e2f0 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Mon, 24 Jan 2022 11:09:08 +0100
Subject: [PATCH 33/46] gnu: Add rust-impl-rlp-0.3.

* gnu/packages/crates-io.scm (rust-impl-rlp-0.3): 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 bb0ac36578..33a8b7b3f0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -71069,6 +71069,27 @@ (define-public rust-impl-codec-0.5
 for uint and fixed hash.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-impl-rlp-0.3
+  (package
+    (name "rust-impl-rlp")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "impl-rlp" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "021869d5s47ili9kmhm9y80qpsbf0wwdap14qzfpb84pjbw210pj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-rlp" ,rust-rlp-0.5))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "RLP serialization support for uint and fixed hash")
+    (description "This package provides RLP serialization support for uint
+and fixed hash.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-impl-trait-for-tuples-0.2
   (package
     (name "rust-impl-trait-for-tuples")
-- 
2.34.0


From 30217454eaf671347e2d19642352a1e421d2dc92 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 22:15:37 +0100
Subject: [PATCH 34/46] gnu: Add rust-impl-serde-0.3.

* gnu/packages/crates-io.scm (rust-impl-serde-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 33a8b7b3f0..896175c38b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -71090,6 +71090,32 @@ (define-public rust-impl-rlp-0.3
 and fixed hash.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-impl-serde-0.3
+  (package
+    (name "rust-impl-serde")
+    (version "0.3.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "impl-serde" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0p2zy8ikdxd28s3vb22nwqgnwjn8gx920sr2svdn93j3yd1g0la5"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-criterion" ,rust-criterion-0.3)
+         ("rust-serde-derive" ,rust-serde-derive-1)
+         ("rust-serde-json" ,rust-serde-json-1)
+         ("rust-uint" ,rust-uint-0.9))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Serde serialization support for uint and fixed hash")
+    (description "This package provides @code{serde} serialization support
+for @code{uint} and @code{fixed_hash}.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-impl-trait-for-tuples-0.2
   (package
     (name "rust-impl-trait-for-tuples")
-- 
2.34.0


From 6ae22c441bf6187f780431ff3861da04ef3a3a81 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 22:16:27 +0100
Subject: [PATCH 35/46] gnu: Add rust-scale-info-1, rust-scale-info-derive-1.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 896175c38b..9e31352a20 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51446,6 +51446,55 @@ (define-public rust-sanakirja-0.10
 @end itemize")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-scale-info-1
+  (package
+    (name "rust-scale-info")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "scale-info" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0bvq3a9im6c20xmx8lipr5px9y4x22dpilm0ccnm69cw752bfmaw"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-bitvec" ,rust-bitvec-0.20)
+         ("rust-cfg-if" ,rust-cfg-if-1)
+         ("rust-derive-more" ,rust-derive-more-0.99)
+         ("rust-parity-scale-codec" ,rust-parity-scale-codec-2)
+         ("rust-scale-info-derive" ,rust-scale-info-derive-1)
+         ("rust-serde" ,rust-serde-1))))
+    (home-page "https://www.parity.io/")
+    (synopsis "Info about SCALE encodable Rust types")
+    (description "This package provides info about SCALE encodable Rust types.")
+    (license license:asl2.0)))
+
+(define-public rust-scale-info-derive-1
+  (package
+    (name "rust-scale-info-derive")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "scale-info-derive" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1k8z7y6181yjdnggbhnqr8mfnpw197pa8ni0hqpmk003d602gsxs"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-proc-macro-crate" ,rust-proc-macro-crate-1)
+         ("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))))
+    (home-page "https://www.parity.io/")
+    (synopsis "Derive type info for SCALE encodable types")
+    (description "This package provides derive type info for SCALE
+encodable types.")
+    (license license:asl2.0)))
+
 (define-public rust-scan-fmt-0.2
   (package
     (name "rust-scan-fmt")
-- 
2.34.0


From 9c631b3ddd55b28ebb1950a5b9388448ff5faf4b Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 22:18:45 +0100
Subject: [PATCH 36/46] gnu: Add rust-uint-0.9.

* gnu/packages/crates-io.scm (rust-uint-0.9): New variable.
(rust-uint-0.4): Inherit from above.
---
 gnu/packages/crates-io.scm | 38 ++++++++++++++++++++++++++++++++------
 1 file changed, 32 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9e31352a20..7a7e86c116 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -66064,8 +66064,39 @@ (define-public rust-ufmt-write-0.1
     (description "This package provides @code{μfmt}'s @code{uWrite} trait.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-uint-0.9
+  (package
+    (name "rust-uint")
+    (version "0.9.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "uint" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0pys10znj928lijvsq2rvnzns90a91j7199pl2afigc2yi8anw34"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-arbitrary" ,rust-arbitrary-1)
+         ("rust-byteorder" ,rust-byteorder-1)
+         ("rust-crunchy" ,rust-crunchy-0.2)
+         ("rust-hex" ,rust-hex-0.4)
+         ("rust-quickcheck" ,rust-quickcheck-0.9)
+         ("rust-rand" ,rust-rand-0.7)
+         ("rust-static-assertions" ,rust-static-assertions-1))
+        #:cargo-development-inputs
+        (("rust-criterion" ,rust-criterion-0.3)
+         ("rust-num-bigint" ,rust-num-bigint-0.4)
+         ("rust-rug" ,rust-rug-1))))
+    (home-page "http://parity.io")
+    (synopsis "Large, fixed-size integer arithmetic")
+    (description "Rust library for large, fixed-size integer arithmetic.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-uint-0.4
   (package
+    (inherit rust-uint-0.9)
     (name "rust-uint")
     (version "0.4.1")
     (source
@@ -66075,7 +66106,6 @@ (define-public rust-uint-0.4
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
           (base32 "0il6x59h605mmm10qxig066khxaygqcyb60pqja1n5mr68bs2jvm"))))
-    (build-system cargo-build-system)
     (arguments
       `(#:tests? #f ; The tests fail. Due to rustc version?
         #:cargo-inputs
@@ -66086,11 +66116,7 @@ (define-public rust-uint-0.4
          ("rust-rustc-hex" ,rust-rustc-hex-2))
         #:cargo-development-inputs
         (("rust-quickcheck" ,rust-quickcheck-0.6)
-         ("rust-rustc-hex" ,rust-rustc-hex-2))))
-    (home-page "http://parity.io")
-    (synopsis "Large fixed-size integer arithmetic")
-    (description synopsis)
-    (license (list license:expat license:asl2.0))))
+         ("rust-rustc-hex" ,rust-rustc-hex-2))))))
 
 (define-public rust-umask-1
   (package
-- 
2.34.0


From 1c835e57ef1e2ca498d11b03a5f42e30e5642df0 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 22:36:44 +0100
Subject: [PATCH 37/46] gnu: Add rust-ethbloom-0.5.

* gnu/packages/crates-io.scm (rust-ethbloom-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 7a7e86c116..1b1ddc3913 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20329,6 +20329,35 @@ (define-public rust-escargot-0.3
        (("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1))))))
 
+(define-public rust-ethbloom-0.5
+  (package
+    (name "rust-ethbloom")
+    (version "0.5.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ethbloom" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0q2kix0p067rrfffhbfra453dw51s4cfgs0lhirslsv4callsad6"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f                      ; The tests fail.
+       #:cargo-inputs
+       (("rust-crunchy" ,rust-crunchy-0.1)
+        ("rust-ethereum-types-serialize" ,rust-ethereum-types-serialize-0.2)
+        ("rust-fixed-hash" ,rust-fixed-hash-0.2)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-tiny-keccak" ,rust-tiny-keccak-1))
+       #:cargo-development-inputs
+       (("rust-hex-literal" ,rust-hex-literal-0.1)
+        ("rust-rand" ,rust-rand-0.4)
+        ("rust-rustc-hex" ,rust-rustc-hex-1))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Ethereum bloom filter")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-ethereum-types-0.12
   (package
     (name "rust-ethereum-types")
-- 
2.34.0


From 9a058c57259ac73773854f36c782240925e8b1eb Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 19:59:31 +0100
Subject: [PATCH 38/46] gnu: Add rust-ethereum-types-0.4.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1b1ddc3913..a0643b6687 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20395,6 +20395,29 @@ (define-public rust-ethereum-types-0.9
          (base32
           "1c1l2sg6li301izl4nzkkfrpc8snafxwnr81vfwygn3bd3zyqfj7"))))))
 
+(define-public rust-ethereum-types-0.4
+  (package
+    (inherit rust-ethereum-types-0.9)
+    (name "rust-ethereum-types")
+    (version "0.4.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ethereum-types" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "15icipk0ap7r6yi0i6cl6zsl0z52zbw6jwv3l271r833vj222x3f"))))
+    (arguments
+      `(#:cargo-inputs
+        (("rust-crunchy" ,rust-crunchy-0.1)
+         ("rust-ethbloom" ,rust-ethbloom-0.5)
+         ("rust-ethereum-types-serialize" ,rust-ethereum-types-serialize-0.2)
+         ("rust-fixed-hash" ,rust-fixed-hash-0.2)
+         ("rust-serde" ,rust-serde-1)
+         ("rust-uint" ,rust-uint-0.4))
+        #:cargo-development-inputs
+        (("rust-serde-json" ,rust-serde-json-1))))))
+
 (define-public rust-ethereum-types-serialize-0.2
   (package
     (name "rust-ethereum-types-serialize")
-- 
2.34.0


From 0a117138aa8e7d3699bad9a611494096b5ba8ba1 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 20:02:58 +0100
Subject: [PATCH 39/46] gnu: Add rust-rlp-0.3.

* gnu/packages/crates-io.scm (rust-rlp-0.3): 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 a0643b6687..9a6fb05314 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -48050,6 +48050,27 @@ (define-public rust-rlp-0.5
 decoding, and compression.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rlp-0.3
+  (package
+    (inherit rust-rlp-0.5)
+    (name "rust-rlp")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rlp" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "082pfkdzsnzvqr5yx5qb2hildjg597p2115ywy84zma5k3zfzl8n"))))
+    (arguments
+     `(#:tests? #f                      ; The tests fail.
+       #:cargo-inputs
+       (("rust-byteorder" ,rust-byteorder-1)
+        ("rust-ethereum-types" ,rust-ethereum-types-0.4)
+        ("rust-rustc-hex" ,rust-rustc-hex-2))
+       #:cargo-development-inputs
+       (("rust-hex-literal" ,rust-hex-literal-0.1))))))
+
 (define-public rust-rls-span-0.5
   (package
     (name "rust-rls-span")
-- 
2.34.0


From 3ac75ee8c1764f48a1b007e36e317ad70a8350ce Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 20:11:48 +0100
Subject: [PATCH 40/46] gnu: Add rust-integer-sqrt-0.1.

* gnu/packages/crates-io.scm (rust-integer-sqrt-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 9a6fb05314..99e4a6bd04 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -28529,6 +28529,29 @@ (define-public rust-integer-encoding-1
         ("rust-futures-util" ,rust-futures-util-0.3)
         ("rust-tokio" ,rust-tokio-0.2))))))
 
+(define-public rust-integer-sqrt-0.1
+  (package
+    (name "rust-integer-sqrt")
+    (version "0.1.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "integer-sqrt" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0w6pzmgvs1mldkhafbwg9x7wzr0af3ngkimyb1gy97jarcdw6vi7"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-num-traits" ,rust-num-traits-0.2))))
+    (home-page "https://github.com/derekdreery/integer-sqrt-rs")
+    (synopsis
+     "An implementation of integer square root algorithm for primitive rust types")
+    (description
+     "This is a Rust implementation of integer square root algorithm for primitive
+Rust types.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-interpolate-name-0.2
   (package
     (name "rust-interpolate-name")
-- 
2.34.0


From f828e7049557d7a0c03a4a45e3accd45ac1c6eb4 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 21:29:52 +0100
Subject: [PATCH 41/46] gnu: Add rust-gmp-mpfr-sys-1.

* gnu/packages/crates-io.scm (rust-gmp-mpfr-sys-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 99e4a6bd04..f1fc3788b3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51,6 +51,7 @@ (define-module (gnu packages crates-io)
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpp)
@@ -66,6 +67,7 @@ (define-module (gnu packages crates-io)
   #:use-module (gnu packages jemalloc)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
+  #:use-module (gnu packages m4)
   #:use-module (gnu packages mail)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages nettle)
@@ -25078,6 +25080,35 @@ (define-public rust-gloo-timers-0.2
 timers.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-gmp-mpfr-sys-1
+  (package
+    (name "rust-gmp-mpfr-sys")
+    (version "1.4.7")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "gmp-mpfr-sys" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1ysvdf352vcnb5ygmbwf5pkndqb0p6clmz0nqkf3nmz9ghssfim1"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'set-shell-for-configure-script
+            (lambda _
+              (setenv "CONFIG_SHELL" (which "sh")))))
+       #:cargo-inputs
+        (("rust-libc" ,rust-libc-0.2)
+         ("rust-winapi" ,rust-winapi-0.3))))
+    (native-inputs
+     (list bash-minimal m4))
+    (home-page "https://gitlab.com/tspiteri/gmp-mpfr-sys")
+    (synopsis "Rust FFI bindings for GMP, MPFR, and MPC")
+    (description "This package provides Rust FFI bindings for the numeric
+libraries GMP, MPFR, and MPC.")
+    (license license:lgpl3+)))
+
 (define-public rust-goblin-0.2
   (package
     (name "rust-goblin")
-- 
2.34.0


From e969c01a49fb8cf88f57248c9c9a0c9bd0a32ce1 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 21:33:35 +0100
Subject: [PATCH 42/46] gnu: rust-az: Update to 1.2.0.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f1fc3788b3..ee04ded401 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5462,7 +5462,7 @@ (define-public rust-awc-0.2
 (define-public rust-az-1
   (package
     (name "rust-az")
-    (version "1.0.0")
+    (version "1.2.0")
     (source
       (origin
         (method url-fetch)
@@ -5471,7 +5471,7 @@ (define-public rust-az-1
          (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "0sb51w9pjcqb315dg6zv9wwqj1q2fldcc3xmfv0bhkmajiyx9g79"))))
+          "1i2s9bqar8hfxjmfr2cbhi4s26s2sd1kc3x3g517ygshyp8sawgp"))))
     (build-system cargo-build-system)
     (home-page "https://gitlab.com/tspiteri/az")
     (synopsis "Casts and checked casts")
-- 
2.34.0


From 92eceb61a3231c53638e9a29479b17ec983c7a38 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 21:50:44 +0100
Subject: [PATCH 43/46] gnu: Add rust-rug-1.

* gnu/packages/crates-io.scm (rust-rug-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 ee04ded401..42925a0a32 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -48746,6 +48746,44 @@ (define-public rust-rstest-0.10
 table-based tests.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-rug-1
+  (package
+    (name "rust-rug")
+    (version "1.14.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rug" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1iw52gyw0hshymqa04g76m7qnrds5vkgc5s8svqx5nv1jz1wrdgm"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'set-shell-for-configure-script
+            (lambda _
+              (setenv "CONFIG_SHELL" (which "sh")))))
+        #:cargo-inputs
+        (("rust-az" ,rust-az-1)
+         ("rust-gmp-mpfr-sys" ,rust-gmp-mpfr-sys-1)
+         ("rust-libc" ,rust-libc-0.2)
+         ("rust-serde" ,rust-serde-1))
+        #:cargo-development-inputs
+        (("rust-bincode" ,rust-bincode-1)
+         ("rust-byteorder" ,rust-byteorder-1)
+         ("rust-serde-json" ,rust-serde-json-1)
+         ("rust-serde-test" ,rust-serde-test-1))))
+    (native-inputs
+     (list bash-minimal m4))
+    (home-page "https://gitlab.com/tspiteri/rug")
+    (synopsis
+      "Arbitrary-precision integers, rational, floating-point and complex numbers based
+on GMP, MPFR and MPC")
+    (description "This is a Rust library of arbitrary-precision integers, rational,
+floating-point, and complex numbers based on GMP, MPFR and MPC.")
+    (license license:lgpl3+)))
+
 (define-public rust-rpassword-5
   (package
     (name "rust-rpassword")
-- 
2.34.0


From fa20cfed5fe8013107efd79f1e39cc472bc31a56 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Thu, 20 Jan 2022 22:23:03 +0100
Subject: [PATCH 44/46] gnu: Add rust-impl-num-traits-0.1.

* gnu/packages/crates-io.scm (rust-impl-num-traits-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 42925a0a32..3cfc889074 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -71330,6 +71330,29 @@ (define-public rust-impl-rlp-0.3
 and fixed hash.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-impl-num-traits-0.1
+  (package
+    (name "rust-impl-num-traits")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "impl-num-traits" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0rjlic3z684l37qm7zywmxhhllnf982y3ilyslyxb6jiddyhbdiq"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-integer-sqrt" ,rust-integer-sqrt-0.1)
+         ("rust-num-traits" ,rust-num-traits-0.2)
+         ("rust-uint" ,rust-uint-0.9))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "num-traits implementation for uint")
+    (description "This package provides @code{num-traits} implementation
+for @code{uint}.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-impl-serde-0.3
   (package
     (name "rust-impl-serde")
-- 
2.34.0


From 79a7ae2f9b71024608f009d4fd5eab2dc2bdaddb Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Mon, 24 Jan 2022 11:43:45 +0100
Subject: [PATCH 45/46] gnu: Add rust-ethbloom-0.11.

* gnu/packages/crates-io.scm (rust-ethbloom-0.11): New variable.
(rust-ethbloom-0.5): Inherit from above.
---
 gnu/packages/crates-io.scm | 38 ++++++++++++++++++++++++++++++++------
 1 file changed, 32 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3cfc889074..fd63baaeeb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -20331,8 +20331,39 @@ (define-public rust-escargot-0.3
        (("rust-serde" ,rust-serde-1)
         ("rust-serde-json" ,rust-serde-json-1))))))
 
+(define-public rust-ethbloom-0.11
+  (package
+    (name "rust-ethbloom")
+    (version "0.11.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ethbloom" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1y73c4v60jy6wc4gssrg775y6vzc4axn523qkxswbxm8iyn89dmz"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-crunchy" ,rust-crunchy-0.2)
+        ("rust-fixed-hash" ,rust-fixed-hash-0.7)
+        ("rust-impl-codec" ,rust-impl-codec-0.5)
+        ("rust-impl-rlp" ,rust-impl-rlp-0.3)
+        ("rust-impl-serde" ,rust-impl-serde-0.3)
+        ("rust-scale-info" ,rust-scale-info-1)
+        ("rust-tiny-keccak" ,rust-tiny-keccak-2))
+       #:cargo-development-inputs
+       (("rust-criterion" ,rust-criterion-0.3)
+        ("rust-hex-literal" ,rust-hex-literal-0.3)
+        ("rust-rand" ,rust-rand-0.8))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Ethereum bloom filter")
+    (description "This Rust library implements the Ethereum bloom filter.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-ethbloom-0.5
   (package
+    (inherit rust-ethbloom-0.11)
     (name "rust-ethbloom")
     (version "0.5.3")
     (source
@@ -20342,7 +20373,6 @@ (define-public rust-ethbloom-0.5
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0q2kix0p067rrfffhbfra453dw51s4cfgs0lhirslsv4callsad6"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:tests? #f                      ; The tests fail.
        #:cargo-inputs
@@ -20354,11 +20384,7 @@ (define-public rust-ethbloom-0.5
        #:cargo-development-inputs
        (("rust-hex-literal" ,rust-hex-literal-0.1)
         ("rust-rand" ,rust-rand-0.4)
-        ("rust-rustc-hex" ,rust-rustc-hex-1))))
-    (home-page "https://github.com/paritytech/parity-common")
-    (synopsis "Ethereum bloom filter")
-    (description synopsis)
-    (license (list license:expat license:asl2.0))))
+        ("rust-rustc-hex" ,rust-rustc-hex-1))))))
 
 (define-public rust-ethereum-types-0.12
   (package
-- 
2.34.0


From 05fc8ae20285bda0ebf9bc738d1fca5a3b7ffd42 Mon Sep 17 00:00:00 2001
From: Attila Lendvai <attila@lendvai.name>
Date: Mon, 24 Jan 2022 12:02:31 +0100
Subject: [PATCH 46/46] gnu: Switch variable names rust-funty-1.2 and
 rust-funty-1.

The rationale is that rust-funty-1 should be the latest in the v1.x.y line,
while rust-funty-1.1 is a specific version that some packages depend on.
Probably backwards compatibility got broken at v1.1.0, because some packages
request ~1.1 (i.e. 1.1.0 at the time of writing).
---
 gnu/packages/crates-io.scm | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fd63baaeeb..92c6716b1b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7268,7 +7268,7 @@ (define-public rust-bitvec-0.22
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-funty" ,rust-funty-1.2)
+       (("rust-funty" ,rust-funty-1)
         ("rust-radium" ,rust-radium-0.6)
         ("rust-serde" ,rust-serde-1)
         ("rust-tap" ,rust-tap-1)
@@ -7301,7 +7301,7 @@ (define-public rust-bitvec-0.20
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
-       (("rust-funty" ,rust-funty-1)
+       (("rust-funty" ,rust-funty-1.1)
         ("rust-radium" ,rust-radium-0.6)
         ("rust-serde" ,rust-serde-1)
         ("rust-tap" ,rust-tap-1)
@@ -7330,7 +7330,7 @@ (define-public rust-bitvec-0.19
          "10bz751jbsy8fj203ibjwil07p2fwfzvx7b326wfssaravlkbfm7"))))
     (arguments
      `(#:cargo-inputs
-       (("rust-funty" ,rust-funty-1)
+       (("rust-funty" ,rust-funty-1.1)
         ("rust-radium" ,rust-radium-0.5)
         ("rust-serde" ,rust-serde-1)
         ("rust-tap" ,rust-tap-1)
@@ -22695,7 +22695,7 @@ (define-public rust-fuchsia-zircon-sys-0.3
     (description "Low-level Rust bindings for the Zircon kernel.")
     (license license:bsd-3)))
 
-(define-public rust-funty-1.2
+(define-public rust-funty-1
   (package
     (name "rust-funty")
     (version "1.2.0")
@@ -22720,9 +22720,9 @@ (define-public rust-funty-1.2
 stabilized, and eventually removed.  This library reïnstates these traits.")
     (license license:expat)))
 
-(define-public rust-funty-1
+(define-public rust-funty-1.1
   (package
-    (inherit rust-funty-1.2)
+    (inherit rust-funty-1)
     (name "rust-funty")
     (version "1.1.0")
     (source
-- 
2.34.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#53500: Add 42 rust packages, and update 4 of them
  2022-01-25 18:31       ` Attila Lendvai
@ 2022-01-28  0:15         ` Nicolas Goaziou
  0 siblings, 0 replies; 6+ messages in thread
From: Nicolas Goaziou @ 2022-01-28  0:15 UTC (permalink / raw)
  To: Attila Lendvai; +Cc: 53500-done

Hello,

Attila Lendvai <attila@lendvai.name> writes:

> i hope most issues have been dealt with in v3. please find attached.

Applied, with minor fixes to descriptions. Thank you!

Regards,
-- 
Nicolas Goaziou




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-01-28  0:17 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-24 12:00 [bug#53500] Add 42 rust packages, and update 4 of them Attila Lendvai
2022-01-24 12:24 ` Nicolas Goaziou
2022-01-24 18:01   ` Attila Lendvai
2022-01-25  8:21     ` Nicolas Goaziou
2022-01-25 18:31       ` Attila Lendvai
2022-01-28  0:15         ` bug#53500: " Nicolas Goaziou

Code repositories for project(s) associated with this public inbox

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

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