Subject: [bug#68312] [PATCH 050/156] gnu: Add rust-ed25519-2.

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

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

Change-Id: I64677bdd0ea5d90a60c5dbc82433ac4862e32f15
---
 gnu/packages/crates-io.scm | 50 ++++++++++++++++++++++++++------------
 1 file changed, 35 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 356e0271797..ad58c75b48e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -22819,8 +22819,42 @@ (define-public rust-ecies-ed25519-0.5
      "ECIES on Twisted Edwards Curve25519 using AES-GCM and HKDF-SHA256.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-ed25519-2
+  (package
+    (name "rust-ed25519")
+    (version "2.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "ed25519" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0lydzdf26zbn82g7xfczcac9d7mzm3qgx934ijjrd5hjpjx32m8i"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-pkcs8" ,rust-pkcs8-0.10)
+                       ("rust-serde" ,rust-serde-1)
+                       ("rust-serde-bytes" ,rust-serde-bytes-0.11)
+                       ("rust-signature" ,rust-signature-2)
+                       ("rust-zeroize" ,rust-zeroize-1))))
+    (home-page "https://github.com/RustCrypto/signatures/tree/master/ed25519")
+    (synopsis "Edwards Digital Signature Algorithm (EdDSA) over Curve25519")
+    (description
+      "EdDSA over Curve25519 is specified in RFC 8032.  This package contains
+an ed25519::Signature type which other packages can use in conjunction with
+the signature::Signer and signature::Verifier traits It doesn't contain an
+implementation of Ed25519.
+
+These traits allow packages which produce and consume Ed25519 signatures to be
+written abstractly in such a way that different signer/verifier providers can
+be plugged in, enabling support for using different Ed25519 implementations,
+including HSMs or Cloud KMS services.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-ed25519-1
   (package
+    (inherit rust-ed25519-2)
     (name "rust-ed25519")
     (version "1.5.3")
     (source (origin
@@ -22830,7 +22864,6 @@ (define-public rust-ed25519-1
               (sha256
                (base32
                 "1rzydm5wd8szkddx3g55w4vm86y1ika8qp8qwckada5vf1fg7kwi"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-pkcs8" ,rust-pkcs8-0.9)
@@ -22842,20 +22875,7 @@ (define-public rust-ed25519-1
        (("rust-bincode" ,rust-bincode-1)
         ("rust-ed25519-dalek" ,rust-ed25519-dalek-1)
         ("rust-hex-literal" ,rust-hex-literal-0.3)
-        ("rust-rand-core" ,rust-rand-core-0.5))))
-    (home-page "https://github.com/RustCrypto/signatures/tree/master/ed25519")
-    (synopsis "Edwards Digital Signature Algorithm (EdDSA) over Curve25519")
-    (description
-      "EdDSA over Curve25519 is specified in RFC 8032.  This package contains
-an ed25519::Signature type which other packages can use in conjunction with
-the signature::Signer and signature::Verifier traits It doesn't contain an
-implementation of Ed25519.
-
-These traits allow packages which produce and consume Ed25519 signatures to be
-written abstractly in such a way that different signer/verifier providers can
-be plugged in, enabling support for using different Ed25519 implementations,
-including HSMs or Cloud KMS services.")
-    (license (list license:asl2.0 license:expat))))
+        ("rust-rand-core" ,rust-rand-core-0.5))))))
 
 (define-public rust-ed25519-compact-2
   (package
-- 
2.41.0