Subject: [PATCH 056/228] gnu: Add rust-h2-0.4.

From: Herman Rimm <[email-masked]>
Date: Sun, 18 Feb 2024 22:02:54 +0100

* gnu/packages/crates-web.scm (rust-h2-0.4): Add variable.
(rust-h2-0.3): Inherit rust-h2-0.4.

Change-Id: I929d97b3f4a0ac9b015c39e92993190c062a5192
---
 gnu/packages/crates-web.scm | 47 +++++++++++++++++++++++++++++++++----
 1 file changed, 42 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/crates-web.scm b/gnu/packages/crates-web.scm
index 6a68dfab0d..fe2693b208 100644
--- a/gnu/packages/crates-web.scm
+++ b/gnu/packages/crates-web.scm
@@ -1883,8 +1883,49 @@ (define-public rust-gemini-fetch-0.2
     (description "This package provides a library to fetch gemini pages.")
     (license license:expat)))
 
+(define-public rust-h2-0.4
+  (package
+    (name "rust-h2")
+    (version "0.4.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "h2" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "0hqr2l7kl9zqjcjdv69v9jx6v65mlbsavsyff8mr6lgqkbjk1l1i"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
+                       ("rust-fnv" ,rust-fnv-1)
+                       ("rust-futures-core" ,rust-futures-core-0.3)
+                       ("rust-futures-sink" ,rust-futures-sink-0.3)
+                       ("rust-futures-util" ,rust-futures-util-0.3)
+                       ("rust-http" ,rust-http-1)
+                       ("rust-indexmap" ,rust-indexmap-2)
+                       ("rust-slab" ,rust-slab-0.4)
+                       ("rust-tokio" ,rust-tokio-1)
+                       ("rust-tokio-util" ,rust-tokio-util-0.7)
+                       ("rust-tracing" ,rust-tracing-0.1))
+       #:cargo-development-inputs
+       (("rust-env-logger" ,rust-env-logger-0.10)
+        ("rust-hex" ,rust-hex-0.4)
+        ("rust-quickcheck" ,rust-quickcheck-1)
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-serde" ,rust-serde-1)
+        ("rust-serde-json" ,rust-serde-json-1)
+        ("rust-tokio" ,rust-tokio-1)
+        ("rust-tokio-rustls" ,rust-tokio-rustls-0.24)
+        ("rust-walkdir" ,rust-walkdir-2)
+        ("rust-webpki-roots" ,rust-webpki-roots-0.25))))
+    (home-page "https://github.com/hyperium/h2")
+    (synopsis "HTTP/2 client and server")
+    (description "This package provides an HTTP/2 client and server.")
+    (license license:expat)))
+
 (define-public rust-h2-0.3
   (package
+    (inherit rust-h2-0.4)
     (name "rust-h2")
     (version "0.3.21")
     (source
@@ -1919,11 +1960,7 @@ (define-public rust-h2-0.3
         ("rust-tokio" ,rust-tokio-1)
         ("rust-tokio-rustls" ,rust-tokio-rustls-0.23)
         ("rust-walkdir" ,rust-walkdir-2)
-        ("rust-webpki-roots" ,rust-webpki-roots-0.22))))
-    (home-page "https://github.com/hyperium/h2")
-    (synopsis "HTTP/2.0 client and server")
-    (description "This package provides an HTTP/2.0 client and server.")
-    (license license:expat)))
+        ("rust-webpki-roots" ,rust-webpki-roots-0.22))))))
 
 (define-public rust-h2-0.2
   (package
-- 
2.41.0