aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/gemserv/gemserv-0.6.5.ebuild')
-rw-r--r--net-misc/gemserv/gemserv-0.6.5.ebuild167
1 files changed, 167 insertions, 0 deletions
diff --git a/net-misc/gemserv/gemserv-0.6.5.ebuild b/net-misc/gemserv/gemserv-0.6.5.ebuild
new file mode 100644
index 000000000..d88f401b3
--- /dev/null
+++ b/net-misc/gemserv/gemserv-0.6.5.ebuild
@@ -0,0 +1,167 @@
+# Copyright 2020-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ atty-0.2.14
+ autocfg-1.0.1
+ base64-0.13.0
+ bitflags-1.2.1
+ block-buffer-0.9.0
+ bumpalo-3.8.0
+ bytes-1.1.0
+ cc-1.0.72
+ cfg-if-1.0.0
+ chrono-0.4.19
+ colored-1.9.3
+ cpufeatures-0.2.1
+ data-encoding-2.3.2
+ der-oid-macro-0.5.0
+ der-parser-6.0.0
+ digest-0.9.0
+ form_urlencoded-1.0.1
+ futures-core-0.3.19
+ futures-macro-0.3.19
+ futures-task-0.3.19
+ futures-util-0.3.19
+ generic-array-0.14.4
+ half-1.7.1
+ hermit-abi-0.1.19
+ idna-0.2.3
+ instant-0.1.12
+ itoa-0.4.8
+ js-sys-0.3.55
+ lazy_static-1.4.0
+ libc-0.2.112
+ lock_api-0.4.5
+ log-0.4.14
+ matches-0.1.9
+ memchr-2.4.1
+ mime-0.3.16
+ minimal-lexical-0.2.1
+ mio-0.7.14
+ miow-0.3.7
+ new_mime_guess-3.0.2
+ nom-7.1.0
+ ntapi-0.3.6
+ num-bigint-0.4.3
+ num-integer-0.1.44
+ num-traits-0.2.14
+ num_cpus-1.13.1
+ oid-registry-0.2.0
+ once_cell-1.9.0
+ opaque-debug-0.3.0
+ parking_lot-0.11.2
+ parking_lot_core-0.8.5
+ percent-encoding-2.1.0
+ pin-project-lite-0.2.7
+ pin-utils-0.1.0
+ proc-macro2-1.0.34
+ quote-1.0.10
+ redox_syscall-0.2.10
+ ring-0.16.20
+ rusticata-macros-4.0.0
+ rustls-0.20.2
+ rustls-pemfile-0.2.1
+ scopeguard-1.1.0
+ sct-0.7.0
+ serde-1.0.132
+ serde_derive-1.0.132
+ sha2-0.9.8
+ signal-hook-registry-1.4.0
+ simple_logger-1.16.0
+ slab-0.4.5
+ smallvec-1.7.0
+ spin-0.5.2
+ syn-1.0.83
+ thiserror-1.0.30
+ thiserror-impl-1.0.30
+ time-0.3.5
+ time-macros-0.2.3
+ tinyvec-1.5.1
+ tinyvec_macros-0.1.0
+ tokio-1.15.0
+ tokio-macros-1.7.0
+ tokio-rustls-0.23.2
+ toml-0.5.8
+ typenum-1.14.0
+ unicase-2.6.0
+ unicode-bidi-0.3.7
+ unicode-normalization-0.1.19
+ unicode-xid-0.2.2
+ untrusted-0.7.1
+ url-2.2.2
+ version_check-0.9.3
+ wasm-bindgen-0.2.78
+ wasm-bindgen-backend-0.2.78
+ wasm-bindgen-macro-0.2.78
+ wasm-bindgen-macro-support-0.2.78
+ wasm-bindgen-shared-0.2.78
+ web-sys-0.3.55
+ webpki-0.22.0
+ winapi-0.3.9
+ winapi-i686-pc-windows-gnu-0.4.0
+ winapi-x86_64-pc-windows-gnu-0.4.0
+ x509-parser-0.12.0
+"
+
+inherit cargo systemd
+
+DESCRIPTION="A gemini Server written in rust"
+HOMEPAGE="https://git.sr.ht/~int80h/gemserv"
+SRC_URI="
+ https://git.sr.ht/~int80h/gemserv/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ $(cargo_crate_uris ${CRATES})
+"
+
+# openssl and SSLeay come from the “ring” crate.
+LICENSE="Apache-2.0 BSD ISC MIT MPL-2.0 openssl SSLeay ZLIB"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ acct-user/gemini
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN}-v${PV}"
+
+# Rust packages ignore CFLAGS and LDFLAGS so let's silence the QA warnings.
+QA_FLAGS_IGNORED="usr/bin/gemserv"
+
+src_prepare() {
+ # Fix paths in systemd unit.
+ sed -i 's@/path/to/bin /path/to/config@'"${EPREFIX}"'/usr/bin/gemserv '"${EPREFIX}"'/etc/gemserv/config.toml@' \
+ init-scripts/gemserv.service || die
+
+ # Fix paths in config.
+ sed -Ei 's@/path/to/(key|cert)@/etc/gemserv/\1.pem@' config.toml || die
+ sed -Ei 's@/path/to/serv@/var/gemini@' config.toml || die
+
+ default
+}
+
+src_unpack() {
+ unpack "${P}.tar.gz"
+ cargo_src_unpack
+}
+
+src_install() {
+ cargo_src_install
+
+ einstalldocs
+
+ diropts --group=gemini
+ insinto etc/gemserv
+ newins config.toml config.toml.example
+
+ systemd_dounit init-scripts/gemserv.service
+ newinitd "init-scripts/${PN}.openrc" "${PN}"
+}
+
+pkg_postinst() {
+ einfo "You can generate yourself a TLS certificate and key with:"
+ einfo "openssl req -x509 -newkey rsa:4096 -sha256 -days 3660 -nodes \\"
+ einfo " -keyout /etc/gemserv/key.pem -out /etc/gemserv/cert.pem"
+}