Subject: [PATCH 026/156] gnu: Add rust-chacha20-0.9.

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

* gnu/packages/crates-io.scm (rust-chacha20-0.9): New variable.
(rust-chacha20-0.8): Inherit from rust-chacha20-0.9.

Change-Id: Ib23293e910769bebd97ce1c04dbb4fd88e3b78db
---
 gnu/packages/crates-io.scm | 40 +++++++++++++++++++++++++++-----------
 1 file changed, 29 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 4fc06fcc552..df5441e2ede 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -11411,8 +11411,36 @@ (define-public rust-chan-0.1
     (description "DEPRECATED. Use crossbeam-channel instead.")
     (license (list license:unlicense license:expat))))
 
+(define-public rust-chacha20-0.9
+  (package
+    (name "rust-chacha20")
+    (version "0.9.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "chacha20" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0678wipx6kghp71hpzhl2qvx80q7caz3vm8vsvd07b1fpms3yqf3"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t
+       #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
+                       ("rust-cipher" ,rust-cipher-0.4)
+                       ("rust-cpufeatures" ,rust-cpufeatures-0.2))))
+    (home-page "https://github.com/RustCrypto/stream-ciphers")
+    (synopsis "ChaCha20 stream cipher implemented in pure Rust")
+    (description
+     "The ChaCha20 stream cipher (RFC 8439) implemented in pure Rust using traits
+from the RustCrypto @code{cipher} crate, with optional architecture-specific
+hardware acceleration (AVX2, SSE2).  Additionally provides the ChaCha8, ChaCha12,
+XChaCha20, XChaCha12 and XChaCha8 stream ciphers, and also optional
+@code{rand_core-compatible} RNGs based on those ciphers.")
+    (license (list license:asl2.0 license:expat))))
+
 (define-public rust-chacha20-0.8
   (package
+    (inherit rust-chacha20-0.9)
     (name "rust-chacha20")
     (version "0.8.1")
     (source
@@ -11427,7 +11455,6 @@ (define-public rust-chacha20-0.8
         '(begin
            (substitute* "Cargo.toml"
              (("version = \">=1, <1.5\"") "version = \"^1\""))))))
-    (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
        (("rust-cfg-if" ,rust-cfg-if-1)
@@ -11437,16 +11464,7 @@ (define-public rust-chacha20-0.8
         ("rust-zeroize" ,rust-zeroize-1))
        #:cargo-development-inputs
        (("rust-cipher" ,rust-cipher-0.3)
-        ("rust-hex-literal" ,rust-hex-literal-0.2))))
-    (home-page "https://github.com/RustCrypto/stream-ciphers")
-    (synopsis "ChaCha20 stream cipher implemented in pure Rust")
-    (description
-     "The ChaCha20 stream cipher (RFC 8439) implemented in pure Rust using traits
-from the RustCrypto @code{cipher} crate, with optional architecture-specific
-hardware acceleration (AVX2, SSE2).  Additionally provides the ChaCha8, ChaCha12,
-XChaCha20, XChaCha12 and XChaCha8 stream ciphers, and also optional
-@code{rand_core-compatible} RNGs based on those ciphers.")
-    (license (list license:asl2.0 license:expat))))
+        ("rust-hex-literal" ,rust-hex-literal-0.2))))))
 
 (define-public rust-chacha20poly1305-0.9
   (package
-- 
2.41.0