From 6275d600d3a834d3cbcaa6e91c50abdbc0d0002e Mon Sep 17 00:00:00 2001 From: "Anna (cybertailor) Vyalkova" Date: Thu, 25 Jan 2024 16:16:31 +0500 Subject: [PATCH] net-misc/gmid: add 2.0.1 Signed-off-by: Anna (cybertailor) Vyalkova --- net-misc/gmid/Manifest | 2 + net-misc/gmid/files/gmid.conf-r1 | 12 ++++ net-misc/gmid/gmid-2.0.1.ebuild | 112 +++++++++++++++++++++++++++++++ net-misc/gmid/gmid-9999.ebuild | 24 ++++--- 4 files changed, 139 insertions(+), 11 deletions(-) create mode 100644 net-misc/gmid/files/gmid.conf-r1 create mode 100644 net-misc/gmid/gmid-2.0.1.ebuild diff --git a/net-misc/gmid/Manifest b/net-misc/gmid/Manifest index 674e720be6..7598d362f8 100644 --- a/net-misc/gmid/Manifest +++ b/net-misc/gmid/Manifest @@ -1,2 +1,4 @@ DIST gmid-1.8.6.sha.sig 417 BLAKE2B b6b4735580d63d2a741cd26a45d7b418c7219425ce615a1ed767a14132938f880f860481e9f4e47d187efd68d33adb29287731b497a0e23576c9f25076afd21a SHA512 d9c2520abd668b4dd5d2def375e0aba2ba41940b93ff2941237e05ba92380d88f5037dbfe84f982d027fe7fbc0b5743af63b8abe83686cdf0d1ac9444247371f DIST gmid-1.8.6.tar.gz 121648 BLAKE2B a5d30434603c7b45a12541baa2119377e313309499fcc33af1960f55c71b9dbb330e35f5d845f216a9452fb14670b775151174280fed6360d050e11a6621ddc3 SHA512 fce40e041a313c918acd0fdbe48d1a2d3d9e8907f8e8251c887cb0fcaf6e82b7128936dfc804241b00530d26901448752ac01b590819ed2aee10734c0f29eaae +DIST gmid-2.0.1.sha256.sig 239 BLAKE2B b118bd39fc529a05112f405589ce2d1c44d4436b19edecb388709ff2cfe4f49ec15506082da6e8a9aecba7cd9ed2d308aafef5432f1692145d6eabe3b5e53683 SHA512 83eff56ffec7ed55338dfe1e48d670779008c523634c86050a63f333ed328541dcaeb1a0d3fccb01bdf2f6d3bbea20c2898bfbd115ee7590203c04bd24baa064 +DIST gmid-2.0.1.tar.gz 182989 BLAKE2B 4973711ee94babd0b0f470cf84f460343c39867753858817b7262d8ca3947e79b2e20fe004627e8acf00728a3b43db4bfddf446115acca8eadf190dcc6ef533f SHA512 38d29775968c40fe174b8ead3393c3cd77dd535dae18d3051eb9b98b248a56929d84909c07c3405ddc6035e7d1fc66ea856a2a1dd96e53ac8d30fd231c764478 diff --git a/net-misc/gmid/files/gmid.conf-r1 b/net-misc/gmid/files/gmid.conf-r1 new file mode 100644 index 0000000000..811a33b3af --- /dev/null +++ b/net-misc/gmid/files/gmid.conf-r1 @@ -0,0 +1,12 @@ +certdir = "/etc/ssl/gmid" + +user "gemini" # drop privileges + +server "localhost" { + listen on * port 1965; + cert $certdir "/gmid.crt" + key $certdir "/gmid.key" + + root "/var/gemini/localhost" + auto index on +} diff --git a/net-misc/gmid/gmid-2.0.1.ebuild b/net-misc/gmid/gmid-2.0.1.ebuild new file mode 100644 index 0000000000..f046fc3257 --- /dev/null +++ b/net-misc/gmid/gmid-2.0.1.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +SSL_DAYS=36500 +SSL_CERT_MANDATORY=1 +VERIFY_SIG_METHOD="signify" +inherit edo ssl-cert systemd toolchain-funcs verify-sig + +DESCRIPTION="Simple and secure Gemini server" +HOMEPAGE="https://gmid.omarpolo.com" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://git.omarpolo.com/${PN} https://github.com/omar-polo/${PN}.git" + inherit git-r3 +else + SRC_URI="https://github.com/omar-polo/${PN}/releases/download/${PV}/${P}.tar.gz + verify-sig? ( https://github.com/omar-polo/${PN}/releases/download/${PV}/${P}.sha256.sig )" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="BSD ISC MIT" +SLOT="0" +IUSE="seccomp test" +RESTRICT="!test? ( test )" + +DEPEND=" + acct-user/gemini + dev-libs/libevent:= + dev-libs/libretls:= + dev-libs/openssl:= + !elibc_Darwin? ( dev-libs/libbsd ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + virtual/pkgconfig + app-alternatives/yacc + seccomp? ( sys-kernel/linux-headers ) +" +if [[ ${PV} != 9999 ]]; then + BDEPEND+="verify-sig? ( sec-keys/signify-keys-gmid:$(ver_cut 1-2) )" +fi + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/signify-keys/${PN}-$(ver_cut 1-2).pub" + +DOCS=( README.md ChangeLog contrib/README ) + +# not an autoconf configure script +QA_CONFIG_IMPL_DECL_SKIP=( "*" ) + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + else + if use verify-sig; then + # Too many levels of symbolic links + cp "${DISTDIR}"/${P}.{sha256.sig,tar.gz} "${WORKDIR}" || die + cd "${WORKDIR}" || die + verify-sig_verify_signed_checksums \ + ${P}.sha256.sig sha256 ${P}.tar.gz + fi + default + fi +} + +src_configure() { + local conf_args + tc-export CC + + # note: not an autoconf configure script + conf_args=( + --prefix="${EPREFIX}"/usr + --mandir="${EPREFIX}"/usr/share/man + --sysconfdir="${EPREFIX}"/etc + --with-libtls=system + $(use_enable seccomp sandbox) + ) + edo ./configure "${conf_args[@]}" + + if use seccomp && has usersandbox ${FEATURES}; then + export SKIP_RUNTIME_TESTS=1 + fi +} + +src_install() { + default + + insinto /etc/gmid + newins "${FILESDIR}"/gmid.conf-r1 gmid.conf + + insinto /usr/share/vim/vimfiles + doins -r contrib/vim/* + + systemd_dounit "${FILESDIR}"/gmid.service + newinitd "${FILESDIR}"/gmid.initd gmid + newconfd "${FILESDIR}"/gmid.confd gmid + + keepdir /var/gemini/localhost +} + +pkg_postinst() { + if [[ ! -f "${EROOT}"/etc/ssl/${PN}/${PN}.key ]]; then + install_cert /etc/ssl/${PN}/${PN} + chown gemini:gemini "${EROOT}"/etc/ssl/${PN}/${PN}.{crt,csr,key,pem} + fi + + einfo "This gemini server can be run as a user with zero configuration.\n" + einfo "In order to use it with the init service you will need to generate a" + einfo "self-signed TLS certificate and a key and set up the configuration" + einfo "file (see man 1 gmid for details)." +} diff --git a/net-misc/gmid/gmid-9999.ebuild b/net-misc/gmid/gmid-9999.ebuild index 6809adf5d8..f046fc3257 100644 --- a/net-misc/gmid/gmid-9999.ebuild +++ b/net-misc/gmid/gmid-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -16,7 +16,7 @@ if [[ ${PV} == 9999 ]]; then inherit git-r3 else SRC_URI="https://github.com/omar-polo/${PN}/releases/download/${PV}/${P}.tar.gz - verify-sig? ( https://github.com/omar-polo/${PN}/releases/download/${PV}/SHA256.sig -> ${P}.sha.sig )" + verify-sig? ( https://github.com/omar-polo/${PN}/releases/download/${PV}/${P}.sha256.sig )" KEYWORDS="~amd64 ~x86" fi @@ -27,7 +27,6 @@ RESTRICT="!test? ( test )" DEPEND=" acct-user/gemini - dev-libs/imsg-compat dev-libs/libevent:= dev-libs/libretls:= dev-libs/openssl:= @@ -43,21 +42,23 @@ if [[ ${PV} != 9999 ]]; then BDEPEND+="verify-sig? ( sec-keys/signify-keys-gmid:$(ver_cut 1-2) )" fi -QA_CONFIG_IMPL_DECL_SKIP=1 VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/signify-keys/${PN}-$(ver_cut 1-2).pub" DOCS=( README.md ChangeLog contrib/README ) +# not an autoconf configure script +QA_CONFIG_IMPL_DECL_SKIP=( "*" ) + src_unpack() { if [[ ${PV} == 9999 ]]; then git-r3_src_unpack else if use verify-sig; then # Too many levels of symbolic links - cp "${DISTDIR}"/${P}.{sha.sig,tar.gz} "${WORKDIR}" || die + cp "${DISTDIR}"/${P}.{sha256.sig,tar.gz} "${WORKDIR}" || die cd "${WORKDIR}" || die verify-sig_verify_signed_checksums \ - ${P}.sha.sig sha256 ${P}.tar.gz + ${P}.sha256.sig sha256 ${P}.tar.gz fi default fi @@ -69,14 +70,15 @@ src_configure() { # note: not an autoconf configure script conf_args=( - PREFIX="${EPREFIX}"/usr - MANDIR="${EPREFIX}"/usr/share/man + --prefix="${EPREFIX}"/usr + --mandir="${EPREFIX}"/usr/share/man + --sysconfdir="${EPREFIX}"/etc + --with-libtls=system $(use_enable seccomp sandbox) ) - edo ./configure "${conf_args[@]}" - if use seccomp && has usersandbox ${FEATURES} ; then + if use seccomp && has usersandbox ${FEATURES}; then export SKIP_RUNTIME_TESTS=1 fi } @@ -85,7 +87,7 @@ src_install() { default insinto /etc/gmid - doins "${FILESDIR}"/gmid.conf + newins "${FILESDIR}"/gmid.conf-r1 gmid.conf insinto /usr/share/vim/vimfiles doins -r contrib/vim/*