Subject: [PATCH] gnu: Add rust-borsh-0.10.

From: VÖRÖSKŐI András <[email-masked]>
Date: Tue, 7 Nov 2023 20:59:57 +0100

* gnu/packages/crates-io.scm (rust-borsh-0.10): New variable.
* gnu/packages/crates-io.scm (rust-borsh-derive-0.10): New variable.
* gnu/packages/crates-io.scm (rust-borsh-derive-internal-0.10): New variable.
* gnu/packages/crates-io.scm (rust-borsh-schema-derive-internal-0.10): New variable.

Change-Id: I39592fda210a02e648ba9108e0367f52d6615fb7
---
 gnu/packages/crates-io.scm | 97 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 97 insertions(+)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d42ff60a20..392e76066d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9230,6 +9230,103 @@ (define-public rust-blowfish-0.9
     (description "Blowfish block cipher")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-borsh-0.10
+  (package
+    (name "rust-borsh")
+    (version "0.10.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "borsh" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0sq4l9jfik5dmpy1islcj40bing1jkji2q1qbrkvq1d02n92f521"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f ;; failing tests
+       #:cargo-inputs
+       (("rust-borsh-derive" ,rust-borsh-derive-0.10)
+        ("rust-bytes" ,rust-bytes-1)
+        ("rust-hashbrown" ,rust-hashbrown-0.13))
+       #:cargo-development-inputs
+       (("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 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-derive-0.10
+  (package
+    (name "rust-borsh-derive")
+    (version "0.10.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "borsh-derive" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1xslbx3qj531aq8ny1bkr45ibjmpsx0szsfc57rm33akj4v62m07"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-borsh-derive-internal" ,rust-borsh-derive-internal-0.10)
+        ("rust-borsh-schema-derive-internal" ,rust-borsh-schema-derive-internal-0.10)
+        ("rust-proc-macro-crate" ,rust-proc-macro-crate-0.1)
+        ("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "https://borsh.io")
+    (synopsis "Derive proc-macros for @code{borsh}")
+    (description "This crate implements derive proc-macros for @code{borsh}.")
+    (license license:asl2.0)))
+
+(define-public rust-borsh-derive-internal-0.10
+  (package
+    (name "rust-borsh-derive-internal")
+    (version "0.10.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "borsh-derive-internal" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1yx27ic6aal83bdi1h6v80wfs9ixvw51qzmdgcn8sn8rd4akid5g"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))))
+    (home-page "https://borsh.io")
+    (synopsis "Borsh derive proc-macro internals")
+    (description "This crate contains derive proc-macro internals for @code{borsh}.")
+    (license license:asl2.0)))
+
+(define-public rust-borsh-schema-derive-internal-0.10
+  (package
+    (name "rust-borsh-schema-derive-internal")
+    (version "0.10.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "borsh-schema-derive-internal" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1kaw1xdprb8chqj50c8gxjb5dadx1rac91zg8s81njpp8g60ahk3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2-1)
+        ("rust-quote" ,rust-quote-1)
+        ("rust-syn" ,rust-syn-1))
+       #:cargo-development-inputs
+       (("rust-pretty-assertions" ,rust-pretty-assertions-1))))
+    (home-page "https://borsh.io")
+    (synopsis "Schema generator for @code{borsh}")
+    (description "This crate implements schema generator for @code{borsh}.")
+    (license license:asl2.0)))
+
 (define-public rust-botan-0.10
   (package
     (name "rust-botan")

base-commit: 3f83dc5587573f173b1f61864c9b510f05de84b1
-- 
2.41.0