Subject: [bug#53401] [PATCH 48/49] gnu: rust-rlp, rust-impl-rlp, rust-primitive-types

From: Attila Lendvai <[email-masked]>
Date: Thu, 20 Jan 2022 22:50:44 +0100

rust-rlp 0.5.1
rust-impl-rlp 0.3.0
rust-primitive-types 0.10.1

They have a circular dependency through #:cargo-development-inputs and
therefore they must be added in a single commit.
---
 gnu/packages/crates-io.scm | 80 +++++++++++++++++++++++++++++++++++---
 1 file changed, 74 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 08546fcc1e..a5effbdb26 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -40876,6 +40876,32 @@ (define-public rust-prettytable-rs-0.8
 formatted tables in terminal.")
     (license license:bsd-3)))
 
+(define-public rust-primitive-types-0.10
+  (package
+    (name "rust-primitive-types")
+    (version "0.10.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "primitive-types" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0wr3yhpc59m5xbhqs69j8qm0hz0xh8q8r806bnfsjn3sd4n75r05"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-fixed-hash" ,rust-fixed-hash-0.7)
+         ("rust-impl-codec" ,rust-impl-codec-0.5)
+         ("rust-impl-num-traits" ,rust-impl-num-traits-0.1)
+         ("rust-impl-rlp" ,rust-impl-rlp-0.3)
+         ("rust-impl-serde" ,rust-impl-serde-0.3)
+         ("rust-scale-info" ,rust-scale-info-1)
+         ("rust-uint" ,rust-uint-0.9))))
+    (home-page "https://github.com/paritytech/parity-common")
+    (synopsis "Primitive types shared by Ethereum and Substrate")
+    (description synopsis)
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-proc-macro-crate-1
   (package
     (name "rust-proc-macro-crate")
@@ -44968,31 +44994,53 @@ (define-public rust-rle-decode-fast-1
 your own implementation.")
     (license (list license:expat license:asl2.0))))
 
-(define-public rust-rlp-0.3
+(define-public rust-rlp-0.5
   (package
     (name "rust-rlp")
-    (version "0.3.0")
+    (version "0.5.1")
     (source
       (origin
         (method url-fetch)
         (uri (crate-uri "rlp" version))
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
-          (base32 "082pfkdzsnzvqr5yx5qb2hildjg597p2115ywy84zma5k3zfzl8n"))))
+          (base32 "1da7b1hc4czlmsyr7ifs9bz9fv8hi5dw8q14xnmjlydfn2mhi5cr"))))
     (build-system cargo-build-system)
     (arguments
       `(#:tests? #f ; The tests fail.
         #:cargo-inputs
-        (("rust-byteorder" ,rust-byteorder-1)
-         ("rust-ethereum-types" ,rust-ethereum-types-0.4)
+        (("rust-bytes" ,rust-bytes-1)
          ("rust-rustc-hex" ,rust-rustc-hex-2))
         #:cargo-development-inputs
-        (("rust-hex-literal" ,rust-hex-literal-0.1))))
+        (("rust-criterion" ,rust-criterion-0.3)
+         ("rust-hex-literal" ,rust-hex-literal-0.3)
+         ("rust-primitive-types" ,rust-primitive-types-0.10))))
     (home-page "https://github.com/paritytech/parity-common")
     (synopsis "Recursive-length prefix encoding, decoding, and compression")
     (description synopsis)
     (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")
@@ -67048,6 +67096,26 @@ (define-public rust-impl-num-traits-0.1
     (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-serde-0.3
   (package
     (name "rust-impl-serde")
-- 
2.34.0