Subject: [bug#53114] [PATCH 39/41] gnu: rust-rbw: adding rust-paw

From: Nicolas Graves <[email-masked]>
Date: Fri, 07 Jan 2022 15:30:15 +0100

>From aaa870f575ab13e0b58754c0392c2cd001c359ab Mon Sep 17 00:00:00 2001
From: Nicolas Graves <[email-masked]>
Date: Fri, 7 Jan 2022 13:52:16 +0100
Subject: [PATCH 40/42] rust-rbw dependencies : adding rust-paw

---
 gnu/packages/crates-io.scm | 122 ++++++++++++++++++++++++++++++++-----
 1 file changed, 108 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 50d5c215b4..3672b63475 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -37268,30 +37268,124 @@ (define-public rust-pathdiff-0.1
         (base32
          "0cfg3isnx6mf3wbi7rsg4nmvywby40sbcs589n20fgi09l4p1gx3"))))))
 
-(define-public rust-pbkdf2-0.10
+(define-public rust-paw-1
   (package
-    (name "rust-pbkdf2")
-    (version "0.10.0")
+    (name "rust-paw")
+    (version "1.0.0")
     (source
       (origin
         (method url-fetch)
-        (uri (crate-uri "pbkdf2" version))
+        (uri (crate-uri "paw" version))
         (file-name
          (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "0d3l06x5mg96njxfsksjwl6440alf72qh4rwrpnq4fwmrz1qqqm4"))))
+          "1sc481y42rb08hmww525m4539ppl8k0w14kwxp13vg2dasdzrh09"))))
     (build-system cargo-build-system)
     (arguments
-      `(#:skip-build?
-        #t
-        #:cargo-inputs
-        (("rust-digest" ,rust-digest-0.10)
-         ("rust-hmac" ,rust-hmac-0.12)
-         ("rust-password-hash" ,rust-password-hash-0.3)
-         ("rust-rayon" ,rust-rayon-1)
-         ("rust-sha-1" ,rust-sha-1-0.10)
-         ("rust-sha2" ,rust-sha2-0.10))))
+      `(#:cargo-inputs
+        (("rust-paw-attributes" ,rust-paw-attributes-1)
+         ("rust-paw-raw" ,rust-paw-raw-1))
+        #:cargo-development-inputs
+        (("rust-paw-structopt" ,rust-paw-structopt-1)
+         ("rust-runtime" ,rust-runtime-0.3)
+         ("rust-structopt" ,rust-structopt-0.2))
+        #:tests? #f))                   ; FIXME
+    (home-page "https://github.com/rust-cli/paw")
+    (synopsis "CLI argument parser")
+    (description "CLI argument parser. Paw defines a trait, a proc macro, and
+an example implementation that when combined allow you to pass fully parsed
+arguments to main. It avoids the need to remember which methods to call in order
+to parse arguments in the CLI.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-paw-attributes-1
+  (package
+    (name "rust-paw-attributes")
+    (version "1.0.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "paw-attributes" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "0fda1v7y5pfmg8d2v7m0pyvif6c44qjz914jjn718pdyclrmhd8g"))))
+    (build-system cargo-build-system)
+    (arguments
+      `(#:cargo-inputs
+        (("rust-proc-macro2" ,rust-proc-macro2-1)
+         ("rust-quote" ,rust-quote-1)
+         ("rust-syn" ,rust-syn-1))))
+    (home-page "https://github.com/rust-cli/paw")
+    (synopsis "Proc Macro attributes for the Paw crate")
+    (description "Proc Macro attributes for the Paw crate.")
+    (license (list license:expat license:asl2.0))))
+
+(define-public rust-paw-raw-1
+  (package
+    (name "rust-paw-raw")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "paw-raw" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+          (base32 "1wk76ipp34gjh42vivmgdkb2rgr26gwhn34gk7z5l378ixk5j2vz"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/rust-cli/paw")
+    (synopsis "Traits to implement custom Paw implementations")
+    (description "Traits to implement custom Paw implementations")
+    (license (list license:expat license:asl2.0))))
+
+
+(define-public rust-paw-structopt-1
+  (package
+   (name "rust-paw-structopt")
+   (version "1.0.0")
+   (source
+    (origin
+     (method url-fetch)
+     (uri (crate-uri "paw-structopt" version))
+     (file-name (string-append name "-" version ".tar.gz"))
+     (sha256
+      (base32 "1iwg83xqjpfgpy8wrq173cy7zgkyxfryd230sh34f5qsjdx7zap4"))))
+   (build-system cargo-build-system)
+   (arguments
+    `(#:cargo-inputs
+      (("rust-proc-macro2" ,rust-proc-macro2-0.4)
+       ("rust-quote" ,rust-quote-0.6)
+       ("rust-structopt" ,rust-structopt-0.2)
+       ("rust-syn" ,rust-syn-0.15))))
+   (home-page "https://github.com/rust-cli/paw")
+   (synopsis "Structopt support for the Paw crate")
+   (description "Structopt support for the Paw crate.")
+   (license (list license:expat license:asl2.0))))
+
+(define-public rust-pbkdf2-0.10
+  (package
+    (name "rust-pbkdf2")
+    (version "0.10.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "pbkdf2" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0d3l06x5mg96njxfsksjwl6440alf72qh4rwrpnq4fwmrz1qqqm4"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build?
+       #t
+       #:cargo-inputs
+       (("rust-digest" ,rust-digest-0.10)
+        ("rust-hmac" ,rust-hmac-0.12)
+        ("rust-password-hash" ,rust-password-hash-0.3)
+        ("rust-rayon" ,rust-rayon-1)
+        ("rust-sha-1" ,rust-sha-1-0.10)
+        ("rust-sha2" ,rust-sha2-0.10))))
     (home-page "https://github.com/RustCrypto/password-hashing")
     (synopsis "Generic implementation of PBKDF2")
     (description "This package contains a collection of password hashing
-- 
2.34.0