Subject: [PATCH 080/156] gnu: Add rust-merlin-3.

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

* gnu/packages/crates-io.scm (rust-merlin-3): New variable.
(rust-merlin-2): Inherit from rust-merlin-3.

Change-Id: Ic82681077fbe49d15f09ed5b587eb3a356383e55
---
 gnu/packages/crates-io.scm | 39 +++++++++++++++++++++++++++++---------
 1 file changed, 30 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 914f14f9663..71dcf8bde34 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -41142,8 +41142,37 @@ (define-public rust-merge-0.1
 to merge two objects of the same type into one.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-merlin-3
+  (package
+    (name "rust-merlin")
+    (version "3.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "merlin" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0z9rh9jlpcs0i0cijbs6pcq26gl4qwz05y7zbnv7h2gwk4kqxhsq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-byteorder" ,rust-byteorder-1)
+                       ("rust-hex" ,rust-hex-0.3)
+                       ("rust-keccak" ,rust-keccak-0.1)
+                       ("rust-rand-core" ,rust-rand-core-0.6)
+                       ("rust-zeroize" ,rust-zeroize-1))))
+    (home-page "https://docs.rs/merlin")
+    (synopsis "Composable proof transcripts for public-coin arguments of
+knowledge")
+    (description
+     "Merlin is a STROBE-based transcript construction for zero-knowledge
+proofs.  It automates the Fiat-Shamir transform, so that by using Merlin,
+non-interactive protocols can be implemented as if they were interactive.")
+    (license license:expat)))
+
 (define-public rust-merlin-2
   (package
+    (inherit rust-merlin-3)
     (name "rust-merlin")
     (version "2.0.0")
     (source
@@ -41161,15 +41190,7 @@ (define-public rust-merlin-2
          ("rust-hex" ,rust-hex-0.3)
          ("rust-keccak" ,rust-keccak-0.1)
          ("rust-rand-core" ,rust-rand-core-0.5)
-         ("rust-zeroize" ,rust-zeroize-1))))
-    (home-page "https://docs.rs/merlin")
-    (synopsis "Composable proof transcripts for public-coin arguments of
-knowledge")
-    (description
-     "Merlin is a STROBE-based transcript construction for zero-knowledge
-proofs.  It automates the Fiat-Shamir transform, so that by using Merlin,
-non-interactive protocols can be implemented as if they were interactive.")
-    (license license:expat)))
+         ("rust-zeroize" ,rust-zeroize-1))))))
 
 (define-public rust-metadeps-1
   (package
-- 
2.41.0