diff options
Diffstat (limited to 'net-misc/gemserv/gemserv-0.6.5.ebuild')
-rw-r--r-- | net-misc/gemserv/gemserv-0.6.5.ebuild | 167 |
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" +} |