Subject: [PATCH v2 04/13] gnu: Add rust-rcgen-0.12.

From: VÖRÖSKŐI András <[email-masked]>
Date: Tue, 30 Jan 2024 20:25:07 +0100

* gnu/packages/crates-io.scm (rust-rcgen-0.12): New variable.

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

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 05ed98b686..6de12710a9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -51789,6 +51789,158 @@ (define-public rust-rayon-core-1
     (description "This package provides core APIs for Rayon.")
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-rcgen-0.12
+  (package
+    (name "rust-rcgen")
+    (version "0.12.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "rcgen" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0pfvmm1s8x12hiw810jv9ng1gnqnplh30xi6nw6mdix4qn08r4ax"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Don't use a vendored botan.
+                  (substitute* "Cargo.toml"
+                    ((".*vendored.*") ""))))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-pem" ,rust-pem-3)
+        ("rust-ring" ,rust-ring-0.16)
+        ("rust-time" ,rust-time-0.3)
+        ("rust-x509-parser" ,rust-x509-parser-0.15)
+        ("rust-yasna" ,rust-yasna-0.5)
+        ("rust-zeroize" ,rust-zeroize-1))
+       #:cargo-development-inputs
+       (("rust-botan" ,rust-botan-0.10)
+        ("rust-openssl" ,rust-openssl-0.10)
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-rsa" ,rust-rsa-0.9)
+        ("rust-rustls-webpki" ,rust-rustls-webpki-0.101)
+        ("rust-x509-parser" ,rust-x509-parser-0.15))))
+    (native-inputs
+     (list pkg-config))
+    (inputs
+     (list botan openssl))
+    (home-page "https://github.com/rustls/rcgen")
+    (synopsis "Rust X.509 certificate generator")
+    (description "Rust X.509 certificate generator.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-rcgen-0.11
+  (package
+    (name "rust-rcgen")
+    (version "0.11.3")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "rcgen" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1iivv3xycr9mjfmp522xjqj47nsl5amlzzsfpbxpvg53984g7i2j"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Don't use a vendored botan.
+                  (substitute* "Cargo.toml"
+                    ((".*vendored.*") ""))))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-pem" ,rust-pem-3)
+        ("rust-ring" ,rust-ring-0.16)
+        ("rust-time" ,rust-time-0.3)
+        ("rust-x509-parser" ,rust-x509-parser-0.15)
+        ("rust-yasna" ,rust-yasna-0.5)
+        ("rust-zeroize" ,rust-zeroize-1))
+       #:cargo-development-inputs
+       (("rust-botan" ,rust-botan-0.10)
+        ("rust-openssl" ,rust-openssl-0.10)
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-rsa" ,rust-rsa-0.9)
+        ("rust-rustls-webpki" ,rust-rustls-webpki-0.101)
+        ("rust-x509-parser" ,rust-x509-parser-0.15))))
+    (native-inputs
+     (list pkg-config))
+    (inputs
+     (list botan openssl))
+    (home-page "https://github.com/rustls/rcgen")
+    (synopsis "Rust X.509 certificate generator")
+    (description "Rust X.509 certificate generator.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-rcgen-0.10
+  (package
+    (inherit rust-rcgen-0.11)
+    (name "rust-rcgen")
+    (version "0.10.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "rcgen" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0nvqgr697xzdzaavkcwcl59kxw7xfx9zdhdzx49fm3gkwbpq9gpz"))
+       (snippet
+        #~(begin (use-modules (guix build utils))
+                 ;; Don't use a vendored botan.
+                 (substitute* "Cargo.toml"
+                   ((".*vendored.*") ""))))))
+    (arguments
+     `(#:cargo-inputs (("rust-pem" ,rust-pem-1)
+                       ("rust-ring" ,rust-ring-0.16)
+                       ("rust-time" ,rust-time-0.3)
+                       ("rust-x509-parser" ,rust-x509-parser-0.14)
+                       ("rust-yasna" ,rust-yasna-0.5)
+                       ("rust-zeroize" ,rust-zeroize-1))
+       #:cargo-development-inputs (("rust-botan" ,rust-botan-0.8)
+                                   ("rust-openssl" ,rust-openssl-0.10)
+                                   ("rust-rand" ,rust-rand-0.8)
+                                   ("rust-rsa" ,rust-rsa-0.6)
+                                   ("rust-webpki" ,rust-webpki-0.22)
+                                   ("rust-x509-parser" ,rust-x509-parser-0.14))))))
+
+(define-public rust-rcgen-0.8
+  (package
+    (inherit rust-rcgen-0.11)
+    (name "rust-rcgen")
+    (version "0.8.14")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "rcgen" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32 "19qvlcz8kl046q85xa40p3xg7l78jganj83hdbawjhs17x0d24ar"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Don't use a vendored botan.
+                  (substitute* "Cargo.toml"
+                    ((".*vendored.*") ""))))))
+    (arguments
+     `(#:cargo-test-flags
+       '("--release" "--"
+         "--skip=tests::test_dt_to_generalized"
+         "--skip=tests::test_dt_utc_strip_nanos")
+       #:cargo-inputs
+       (("rust-chrono" ,rust-chrono-0.4)
+        ("rust-pem" ,rust-pem-1)
+        ("rust-ring" ,rust-ring-0.16)
+        ("rust-x509-parser" ,rust-x509-parser-0.12)
+        ("rust-yasna" ,rust-yasna-0.4)
+        ("rust-zeroize" ,rust-zeroize-1))
+       #:cargo-development-inputs
+       (("rust-botan" ,rust-botan-0.8)
+        ("rust-openssl" ,rust-openssl-0.10)
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-rsa" ,rust-rsa-0.5)
+        ("rust-webpki" ,rust-webpki-0.22)
+        ("rust-x509-parser" ,rust-x509-parser-0.12))))))
+
 (define-public rust-rctree-0.5
   (package
     (name "rust-rctree")
-- 
2.41.0