Subject: [bug#68312] [PATCH 024/156] gnu: Add rust-borsh-1.

From: Wilko Meyer <[email-masked]>
Date: Mon, 8 Jan 2024 02:52:01 +0100

* gnu/packages/crates-io.scm (rust-borsh-1): New variable.
(rust-borsh-0.10): Inherit from rust-borsh-1.

Change-Id: Ib0e5abc5ba652bfddd42147b05688c730eb111eb
---
 gnu/packages/crates-io.scm | 32 ++++++++++++++++++++++++++++++--
 1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1370abd8ca8..424aa46f49c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -8135,8 +8135,37 @@ (define-public rust-blowfish-0.9
     (description "Blowfish block cipher")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-borsh-1
+  (package
+    (name "rust-borsh")
+    (version "1.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "borsh" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0a1hic4kj1rcy86qkmappi4ckch7iwap52akhx3bafqszkdddm16"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-ascii" ,rust-ascii-1)
+                       ("rust-borsh-derive" ,rust-borsh-derive-1)
+                       ("rust-bson" ,rust-bson-2)
+                       ("rust-bytes" ,rust-bytes-1)
+                       ("rust-cfg-aliases" ,rust-cfg-aliases-0.1)
+                       ("rust-hashbrown" ,rust-hashbrown-0.14))))
+    (home-page "https://borsh.io")
+    (synopsis "Borsch is the binary object representation serializer for hashing")
+    (description "This crate implements @code{borsh}, the binary object
+representation serializer for hasing.  It is meant to be used in
+security-critical projects as it prioritizes consistency, safety, speed, and
+comes with a strict specification.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-borsh-0.10
   (package
+    (inherit rust-borsh-1)
     (name "rust-borsh")
     (version "0.10.3")
     (source
@@ -8146,7 +8175,6 @@ (define-public rust-borsh-0.10
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32 "0sq4l9jfik5dmpy1islcj40bing1jkji2q1qbrkvq1d02n92f521"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:tests? #f  ; the trait bound `BytesMut: BorshSerialize` is not satisfied
        #:cargo-inputs
@@ -8154,7 +8182,7 @@ (define-public rust-borsh-0.10
         ("rust-bytes" ,rust-bytes-1)
         ("rust-hashbrown" ,rust-hashbrown-0.13))
        #:cargo-development-inputs
-       (("rust-bytes" ,rust-bytes-1))))
+       (("rust-bytes" ,rust-bytes-1))))))
     (home-page "https://borsh.io")
     (synopsis "Borsch is the binary object representation serializer for hashing")
     (description "This crate implements @code{borsh}, the binary object
-- 
2.41.0