gnu: Add rust-poem-1.

* gnu/packages/crates-web.scm (rust-poem-1): New variable.
* gnu/packages/patches/rust-poem-1-fewer-deps.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I7438bf627daef5d4bae39b51472cc91bfc9aa5a9
This commit is contained in:
Efraim Flashner 2024-03-18 11:44:23 +02:00
parent ca6f159fef
commit e59d4a9d5d
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351
3 changed files with 320 additions and 0 deletions

View file

@ -2058,6 +2058,7 @@ dist_patch_DATA = \
%D%/packages/patches/rust-ndarray-0.13-remove-blas-src.patch \
%D%/packages/patches/rust-ndarray-0.14-remove-blas-src.patch \
%D%/packages/patches/rust-nettle-disable-vendor.patch \
%D%/packages/patches/rust-poem-1-fewer-deps.patch \
%D%/packages/patches/rust-rspec-1-remove-clippy.patch \
%D%/packages/patches/rust-trash-2-update-windows.patch \
%D%/packages/patches/rust-webbrowser-remove-unsupported-os.patch \

View file

@ -4036,6 +4036,96 @@ (define-public rust-opentelemetry-http-0.10
and metrics over HTTP.")
(license license:asl2.0)))
(define-public rust-poem-1
(package
(name "rust-poem")
(version "1.3.59")
(source
(origin
(method url-fetch)
(uri (crate-uri "poem" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0159agmjig6s45sjf1jcbira8icpbakfadwa23pc2i07gg4p8ish"))
(patches (search-patches "rust-poem-1-fewer-deps.patch"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t ; use of undeclared crate or module `futures_util`
#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
("rust-async-compression" ,rust-async-compression-0.4)
("rust-async-trait" ,rust-async-trait-0.1)
("rust-base64" ,rust-base64-0.21)
("rust-bytes" ,rust-bytes-1)
("rust-chrono" ,rust-chrono-0.4)
("rust-cookie" ,rust-cookie-0.17)
("rust-csrf" ,rust-csrf-0.4)
;("rust-eyre" ,rust-eyre-0.6)
;("rust-fluent" ,rust-fluent-0.16)
;("rust-fluent-langneg" ,rust-fluent-langneg-0.13)
;("rust-fluent-syntax" ,rust-fluent-syntax-0.11)
("rust-futures-util" ,rust-futures-util-0.3)
("rust-headers" ,rust-headers-0.3)
("rust-hex" ,rust-hex-0.4)
("rust-http" ,rust-http-0.2)
("rust-httpdate" ,rust-httpdate-1)
("rust-hyper" ,rust-hyper-0.14)
("rust-hyper-rustls" ,rust-hyper-rustls-0.24)
;("rust-intl-memoizer" ,rust-intl-memoizer-0.5)
("rust-mime" ,rust-mime-0.3)
("rust-mime-guess" ,rust-mime-guess-2)
("rust-multer" ,rust-multer-2)
("rust-nix" ,rust-nix-0.27)
("rust-openssl" ,rust-openssl-0.10)
;("rust-opentelemetry" ,rust-opentelemetry-0.21)
;("rust-opentelemetry-http" ,rust-opentelemetry-http-0.10)
;("rust-opentelemetry-prometheus" ,rust-opentelemetry-prometheus-0.14)
;("rust-opentelemetry-semantic-conventions" ,rust-opentelemetry-semantic-conventions-0.13)
("rust-parking-lot" ,rust-parking-lot-0.12)
("rust-percent-encoding" ,rust-percent-encoding-2)
("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
("rust-poem-derive" ,rust-poem-derive-1)
("rust-priority-queue" ,rust-priority-queue-1)
;("rust-prometheus" ,rust-prometheus-0.13)
("rust-quick-xml" ,rust-quick-xml-0.30)
("rust-rand" ,rust-rand-0.8)
("rust-rcgen" ,rust-rcgen-0.11)
;("rust-redis" ,rust-redis-0.23)
("rust-regex" ,rust-regex-1)
("rust-rfc7239" ,rust-rfc7239-0.1)
("rust-ring" ,rust-ring-0.16)
("rust-rust-embed" ,rust-rust-embed-8)
("rust-rustls-pemfile" ,rust-rustls-pemfile-1)
("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-serde-urlencoded" ,rust-serde-urlencoded-0.7)
("rust-serde-yaml" ,rust-serde-yaml-0.9)
("rust-smallvec" ,rust-smallvec-1)
;("rust-sse-codec" ,rust-sse-codec-0.3)
("rust-tempfile" ,rust-tempfile-3)
("rust-thiserror" ,rust-thiserror-1)
("rust-time" ,rust-time-0.3)
("rust-tokio" ,rust-tokio-1)
("rust-tokio-metrics" ,rust-tokio-metrics-0.3)
("rust-tokio-native-tls" ,rust-tokio-native-tls-0.3)
("rust-tokio-openssl" ,rust-tokio-openssl-0.6)
("rust-tokio-rustls" ,rust-tokio-rustls-0.24)
("rust-tokio-stream" ,rust-tokio-stream-0.1)
("rust-tokio-tungstenite" ,rust-tokio-tungstenite-0.20)
("rust-tokio-util" ,rust-tokio-util-0.7)
("rust-tower" ,rust-tower-0.4)
("rust-tracing" ,rust-tracing-0.1)
;("rust-unic-langid" ,rust-unic-langid-0.9)
("rust-wildmatch" ,rust-wildmatch-2)
("rust-x509-parser" ,rust-x509-parser-0.15))
#:cargo-development-inputs (("rust-async-stream" ,rust-async-stream-0.3)
("rust-tokio" ,rust-tokio-1))))
(home-page "https://github.com/poem-web/poem")
(synopsis
"Web framework written in the Rust programming language")
(description "Poem is a full-featured and easy-to-use web framework written
in the Rust programming language.")
(license (list license:expat license:asl2.0))))
(define-public rust-poem-derive-1
(package
(name "rust-poem-derive")

View file

@ -0,0 +1,229 @@
diff --git a/Cargo.toml b/Cargo.toml
index 79b878c..95ec54c 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -71,26 +71,26 @@ features = ["clock"]
optional = true
default-features = false
-[dependencies.eyre06]
-version = "0.6"
-optional = true
-package = "eyre"
+#[dependencies.eyre06]
+#version = "0.6"
+#optional = true
+#package = "eyre"
-[dependencies.fluent]
-version = "0.16.0"
-optional = true
+#[dependencies.fluent]
+#version = "0.16.0"
+#optional = true
-[dependencies.fluent-langneg]
-version = "0.13.0"
-optional = true
+#[dependencies.fluent-langneg]
+#version = "0.13.0"
+#optional = true
-[dependencies.fluent-syntax]
-version = "0.11.0"
-optional = true
+#[dependencies.fluent-syntax]
+#version = "0.11.0"
+#optional = true
-[dependencies.futures-util]
-version = "0.3.17"
-features = ["sink"]
+#[dependencies.futures-util]
+#version = "0.3.17"
+#features = ["sink"]
[dependencies.headers]
version = "0.3.7"
@@ -125,9 +125,9 @@ features = [
optional = true
default-features = false
-[dependencies.intl-memoizer]
-version = "0.5.1"
-optional = true
+#[dependencies.intl-memoizer]
+#version = "0.5.1"
+#optional = true
[dependencies.libcookie]
version = "0.17"
@@ -146,16 +146,16 @@ version = "0.4.1"
optional = true
package = "csrf"
-[dependencies.libopentelemetry]
-version = "0.21.0"
-features = ["metrics"]
-optional = true
-package = "opentelemetry"
+#[dependencies.libopentelemetry]
+#version = "0.21.0"
+#features = ["metrics"]
+#optional = true
+#package = "opentelemetry"
-[dependencies.libprometheus]
-version = "0.13.0"
-optional = true
-package = "prometheus"
+#[dependencies.libprometheus]
+#version = "0.13.0"
+#optional = true
+#package = "prometheus"
[dependencies.libtempfile]
version = "3.2.0"
@@ -178,17 +178,17 @@ optional = true
version = "0.10.56"
optional = true
-[dependencies.opentelemetry-http]
-version = "0.10.0"
-optional = true
+#[dependencies.opentelemetry-http]
+#version = "0.10.0"
+#optional = true
-[dependencies.opentelemetry-prometheus]
-version = "0.14.0"
-optional = true
+#[dependencies.opentelemetry-prometheus]
+#version = "0.14.0"
+#optional = true
-[dependencies.opentelemetry-semantic-conventions]
-version = "0.13.0"
-optional = true
+#[dependencies.opentelemetry-semantic-conventions]
+#version = "0.13.0"
+#optional = true
[dependencies.parking_lot]
version = "0.12.0"
@@ -219,14 +219,14 @@ optional = true
version = "0.11.1"
optional = true
-[dependencies.redis]
-version = "0.23.0"
-features = [
- "aio",
- "tokio-comp",
- "connection-manager",
-]
-optional = true
+#[dependencies.redis]
+#version = "0.23.0"
+#features = [
+# "aio",
+# "tokio-comp",
+# "connection-manager",
+#]
+#optional = true
[dependencies.regex]
version = "1.5.5"
@@ -263,9 +263,9 @@ optional = true
[dependencies.smallvec]
version = "1.6.1"
-[dependencies.sse-codec]
-version = "0.3.2"
-optional = true
+#[dependencies.sse-codec]
+#version = "0.3.2"
+#optional = true
[dependencies.thiserror]
version = "1.0.30"
@@ -323,10 +323,10 @@ default-features = false
[dependencies.tracing]
version = "0.1.36"
-[dependencies.unic-langid]
-version = "0.9.0"
-features = ["macros"]
-optional = true
+#[dependencies.unic-langid]
+#version = "0.9.0"
+#features = ["macros"]
+#optional = true
[dependencies.wildmatch]
version = "2"
@@ -383,13 +383,13 @@ embed = [
"hex",
"mime_guess",
]
-i18n = [
- "fluent",
- "fluent-langneg",
- "fluent-syntax",
- "unic-langid",
- "intl-memoizer",
-]
+#i18n = [
+# "fluent",
+# "fluent-langneg",
+# "fluent-syntax",
+# "unic-langid",
+# "intl-memoizer",
+#]
multipart = ["multer"]
native-tls = [
"server",
@@ -400,20 +400,20 @@ openssl-tls = [
"tokio-openssl",
"openssl",
]
-opentelemetry = [
- "libopentelemetry",
- "opentelemetry-http",
- "opentelemetry-semantic-conventions",
-]
-prometheus = [
- "libopentelemetry",
- "opentelemetry-prometheus",
- "libprometheus",
-]
-redis-session = [
- "session",
- "redis",
-]
+#opentelemetry = [
+# "libopentelemetry",
+# "opentelemetry-http",
+# "opentelemetry-semantic-conventions",
+#]
+#prometheus = [
+# "libopentelemetry",
+# "opentelemetry-prometheus",
+# "libprometheus",
+#]
+#redis-session = [
+# "session",
+# "redis",
+#]
rustls = [
"server",
"tokio-rustls",
@@ -445,7 +445,7 @@ tempfile = [
]
test = [
"sse",
- "sse-codec",
+# "sse-codec",
"tokio-util/compat",
]
tower-compat = [