Subject: [PATCH 2/2] gnu: Add rust-argon2-0.5.

From: VÖRÖSKŐI András <[email-masked]>
Date: Sun, 5 Nov 2023 17:25:34 +0100

* gnu/packages/crates-io.scm (rust-argon2-0.5): New variable.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 747561564d..26e8a4331c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -4021,6 +4021,44 @@ (define-public rust-argmax-0.3
 too long errors.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-argon2-0.5
+  (package
+    (name "rust-argon2")
+    (version "0.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "argon2" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1y820hkza66lfliaxg49zskz7agj8wf7aak528livg261an4rfhp"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-base64ct" ,rust-base64ct-1)
+        ("rust-blake2" ,rust-blake2-0.10)
+        ("rust-cpufeatures" ,rust-cpufeatures-0.2)
+        ("rust-password-hash" ,rust-password-hash-0.5)
+        ("rust-zeroize" ,rust-zeroize-1))
+       #:cargo-development-inputs
+       (("rust-hex-literal" ,rust-hex-literal-0.4)
+        ("rust-password-hash" ,rust-password-hash-0.5))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'configure 'fix-cpufeatures-version
+           (lambda _
+             (substitute* "guix-vendor/rust-cpufeatures-0.2.11.tar.gz/Cargo.toml"
+               (("0.2.149")
+                ,(package-version rust-libc-0.2)))
+             #t)))))
+    (home-page
+     "https://github.com/RustCrypto/password-hashes/tree/master/argon2")
+    (synopsis "Rust argon2 library")
+    (description
+     "Pure Rust implementation of the Argon2 password hashing function with support
+for the Argon2d, Argon2i, and Argon2id algorithmic variants.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-ariadne-0.1
   (package
     (name "rust-ariadne")
-- 
2.41.0