summaryrefslogtreecommitdiff
path: root/www-servers/static-web-server
diff options
context:
space:
mode:
Diffstat (limited to 'www-servers/static-web-server')
-rw-r--r--www-servers/static-web-server/Manifest2
-rw-r--r--www-servers/static-web-server/files/static-web-server-vendor-config10
-rw-r--r--www-servers/static-web-server/static-web-server-2.36.0.ebuild57
3 files changed, 69 insertions, 0 deletions
diff --git a/www-servers/static-web-server/Manifest b/www-servers/static-web-server/Manifest
new file mode 100644
index 0000000..97b7d01
--- /dev/null
+++ b/www-servers/static-web-server/Manifest
@@ -0,0 +1,2 @@
+DIST static-web-server-2.36.0-vendor.tar.xz 29440668 BLAKE2B 6ae9dd115e211f585577797dd043e5e1b63b3623bf76d4a3c497dce168cfe698c44dbbdce20b8f082aa5844e95e6e8756ed3acf8c2f70ab1d9a0c6422d28e413 SHA512 ebbe14064fa2df59153d308c059148a3ebcb4f3bd3784cb189acd27ed59671d7a547b9c4215afe41daf096488be4fb4b3abb276f5ef702d431071c15373afed6
+DIST static-web-server-2.36.0.tar.gz 236247 BLAKE2B cce50531fa4c55135ae18004a438a9216ffd8ca5df19b77789df1a6e113d39c3f53d66f22c8719119c96a758405c89116b7a3da54ccec83d7a371374219dce38 SHA512 16abd9569059203a2dca54c8dc3ddeb5a5d08cfffc295f7fb8d162c8e60e6591a24ed2165b1b35a19dd41c346b2a20886322a0b8b6c461501959d093a88c9fb7
diff --git a/www-servers/static-web-server/files/static-web-server-vendor-config b/www-servers/static-web-server/files/static-web-server-vendor-config
new file mode 100644
index 0000000..165a987
--- /dev/null
+++ b/www-servers/static-web-server/files/static-web-server-vendor-config
@@ -0,0 +1,10 @@
+[source.crates-io]
+replace-with = "vendored-sources"
+
+[source.vendored-sources]
+directory = "vendor"
+
+[build]
+# Required for experimental features like `metrics` and others.
+rustflags = ["--cfg", "tokio_unstable"]
+rustdocflags = ["--cfg", "tokio_unstable"]
diff --git a/www-servers/static-web-server/static-web-server-2.36.0.ebuild b/www-servers/static-web-server/static-web-server-2.36.0.ebuild
new file mode 100644
index 0000000..b1bf344
--- /dev/null
+++ b/www-servers/static-web-server/static-web-server-2.36.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES=" "
+inherit cargo systemd shell-completion
+
+DESCRIPTION="A high-performance and asynchronous web server for static files-serving"
+HOMEPAGE="https://static-web-server.net/"
+SRC_URI="https://github.com/static-web-server/static-web-server/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://share.terinstock.com/${P}-vendor.tar.xz"
+
+LICENSE="MIT Apache-2.0"
+LICENSE+=" BSD 0BSD ZLIB Unlicense Unicode-3.0 ISC"
+SLOT="0"
+KEYWORDS="~amd64"
+
+src_unpack() {
+ cargo_src_unpack
+ mkdir "${S}"/vendor || die
+ ln -s "${WORKDIR}/vendor/"* "${S}"/vendor || die
+ cp "${FILESDIR}"/"${PN}-vendor-config" "${S}"/.cargo/config.toml || die
+}
+
+src_prepare() {
+ default
+ sed -i 's/strip = true/strip = false/' Cargo.toml || die
+}
+
+src_configure() {
+ cargo_gen_config
+ cargo_src_configure --frozen --no-default-features
+}
+
+src_compile() {
+ cargo_src_compile
+
+ "$(cargo_target_dir)/${PN}" generate --completions . || die
+ "$(cargo_target_dir)/${PN}" generate --man-pages . || die
+}
+
+src_install() {
+ cargo_src_install
+
+ systemd_dounit systemd/static-web-server.service
+ systemd_dounit systemd/static-web-server.socket
+ insinto /etc/default
+ newins systemd/etc_default_static-web-server static-web-server
+
+ newbashcomp "completions/${PN}.bash" "${PN}"
+ newzshcomp "completions/_${PN}" "_${PN}"
+ newfishcomp "completions/${PN}.fish" "${PN}"
+
+ doman man/static-web-server.1
+ doman man/static-web-server-generate.1
+}