commit:     0903023cf4993efba41cd9e72bd3d2e444a3e7ca
Author:     Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
AuthorDate: Mon Jul  5 20:44:15 2021 +0000
Commit:     Anna Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
CommitDate: Mon Jul  5 22:01:44 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=0903023c

net-misc/gmid: add 1.6.2 and tests

Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq.in>

 net-misc/gmid/Manifest                             |  2 +-
 .../files/gmid-1.6.2-disable-runtime-test.patch    | 10 ++++
 ...pidfile.patch => gmid-1.6.2-make-pidfile.patch} |  0
 .../gmid/{gmid-1.6.1.ebuild => gmid-1.6.2.ebuild}  | 68 +++++++++++++---------
 net-misc/gmid/gmid-9999.ebuild                     | 62 +++++++++++++-------
 5 files changed, 93 insertions(+), 49 deletions(-)

diff --git a/net-misc/gmid/Manifest b/net-misc/gmid/Manifest
index 636020c63..1a3dac3a9 100644
--- a/net-misc/gmid/Manifest
+++ b/net-misc/gmid/Manifest
@@ -1 +1 @@
-DIST gmid-1.6.1.tar.gz 59488 BLAKE2B 
147c8eb4e1c7195405fdce9bef8260e1a3acb145e9dfd2cb3fb126e4445685a3a1826906b01699429e98a61db6bb2089ec3399a1403323b36adf2555afc61bf2
 SHA512 
b98592e4bb5b1121fad07dc1fcbdbc95ce69a5648b3c2d22dba974511ae265255be62a330125c2da9b0b357edc2f24065fd8b475013d3d2023a8eded2c01a490
+DIST gmid-1.6.2.tar.gz 60293 BLAKE2B 
807f4e93d1ed0f2a69a9631504ffe28d5aee4efbba85b9e7d0a8eec5b4fb50a38285478651f196f57fbcf7b4d38ff462f78c37210720353af638d76b2b28e3e1
 SHA512 
053e2f95449d71c72052c422b1c51657ad48f662422a121452618c69e6bac9b23bbaa2b35b52d314eb7614b9a0f413504c87cd431bc756d455dd198c79270da8

diff --git a/net-misc/gmid/files/gmid-1.6.2-disable-runtime-test.patch 
b/net-misc/gmid/files/gmid-1.6.2-disable-runtime-test.patch
new file mode 100644
index 000000000..c6cb8c19c
--- /dev/null
+++ b/net-misc/gmid/files/gmid-1.6.2-disable-runtime-test.patch
@@ -0,0 +1,10 @@
+--- a/regress/Makefile
++++ b/regress/Makefile
+@@ -4,7 +4,6 @@
+ 
+ all: puny-test testdata iri_test cert.pem testca.pem valid.crt 
invalid.cert.pem
+       ./puny-test
+-      ./runtime
+       ./iri_test
+ 
+ puny-test: puny-test.o ../puny.o ../utf8.o ../utils.o ../log.o ${COMPAT}

diff --git a/net-misc/gmid/files/gmid-1.6.1-make-pidfile.patch 
b/net-misc/gmid/files/gmid-1.6.2-make-pidfile.patch
similarity index 100%
rename from net-misc/gmid/files/gmid-1.6.1-make-pidfile.patch
rename to net-misc/gmid/files/gmid-1.6.2-make-pidfile.patch

diff --git a/net-misc/gmid/gmid-1.6.1.ebuild b/net-misc/gmid/gmid-1.6.2.ebuild
similarity index 57%
rename from net-misc/gmid/gmid-1.6.1.ebuild
rename to net-misc/gmid/gmid-1.6.2.ebuild
index dbf6b69ac..fc7a027df 100644
--- a/net-misc/gmid/gmid-1.6.1.ebuild
+++ b/net-misc/gmid/gmid-1.6.2.ebuild
@@ -3,33 +3,31 @@
 
 EAPI=7
 
-SSL_DEPS_SKIP=1
 SSL_DAYS=36500
-
 inherit ssl-cert toolchain-funcs
 
 DESCRIPTION="Simple and secure Gemini server"
 HOMEPAGE="https://www.omarpolo.com/pages/gmid.html";
-
-if [[ ${PV} == "9999" ]] ; then
-       inherit git-r3
-       EGIT_REPO_URI="https://git.omarpolo.com/${PN}";
-else
-       SRC_URI="https://git.omarpolo.com/${PN}/snapshot/${P}.tar.gz";
-       KEYWORDS="~amd64 ~x86"
-fi
+SRC_URI="https://git.omarpolo.com/${PN}/snapshot/${P}.tar.gz";
 
 LICENSE="ISC"
 SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+seccomp test"
+RESTRICT="!test? ( test )"
 
 PATCHES=( "${FILESDIR}"/${P}-make-pidfile.patch )
 
-DEPEND="acct-user/gemini
+DEPEND="
+       acct-user/gemini
        dev-libs/libevent
        dev-libs/libretls
 "
-BDEPEND="sys-devel/flex
-       virtual/yacc"
+BDEPEND="
+       sys-devel/flex
+       virtual/pkgconfig
+       virtual/yacc
+"
 RDEPEND="${DEPEND}"
 
 DOCS=( README.md ChangeLog )
@@ -37,28 +35,46 @@ DOCS=( README.md ChangeLog )
 src_prepare() {
        default
 
-       # QA Notice: command not found
-       # remove `etags` from the "all" target
-       sed \
-               -e "s/^\(all: .*\) TAGS \(.*\)$/\1 \2/" \
-               -i Makefile || die
+       if use seccomp && has usersandbox ${FEATURES} ; then
+               eapply "${FILESDIR}"/${P}-disable-runtime-test.patch
+       fi
 }
 
 src_configure() {
+       local conf_args
+
        # note: not an autoconf configure script
-       ./configure \
-               CC="$(tc-getCC)" \
-               PREFIX="${EPREFIX}"/usr/share \
-               BINDIR="${EPREFIX}"/usr/bin \
-               CFLAGS="${CFLAGS}" \
-               LDFLAGS="${LDFLAGS} -ltls -lssl -lcrypto -levent" || die
+       conf_args=(
+               CC="$(tc-getCC)"
+               PREFIX="${EPREFIX}"/usr/share
+               BINDIR="${EPREFIX}"/usr/bin
+               CFLAGS="${CFLAGS}"
+               LDFLAGS="${LDFLAGS} -ltls -lssl -lcrypto -levent"
+       )
+       if ! use seccomp ; then
+               conf_args+=( --disable-sandbox )
+       fi
+
+       ./configure "${conf_args[@]}" || die
+}
+
+src_compile() {
+       emake gmid
+       if use test ; then
+               emake gg
+               emake -C regress puny-test testdata iri_test
+       fi
+}
+
+src_test() {
+       emake regress
 }
 
 src_install() {
        default
 
-       dodir /etc/gmid
-       cp "${FILESDIR}"/gmid.conf "${ED}"/etc/gmid/gmid.conf || die
+       insinto /etc/gmid
+       doins "${FILESDIR}"/gmid.conf
 
        newinitd "${FILESDIR}"/gmid.initd gmid
        newconfd "${FILESDIR}"/gmid.confd gmid

diff --git a/net-misc/gmid/gmid-9999.ebuild b/net-misc/gmid/gmid-9999.ebuild
index a5f8bc23b..4818aacdb 100644
--- a/net-misc/gmid/gmid-9999.ebuild
+++ b/net-misc/gmid/gmid-9999.ebuild
@@ -3,50 +3,68 @@
 
 EAPI=7
 
-SSL_DEPS_SKIP=1
 SSL_DAYS=36500
-
-inherit ssl-cert toolchain-funcs
+inherit git-r3 ssl-cert toolchain-funcs
 
 DESCRIPTION="Simple and secure Gemini server"
 HOMEPAGE="https://www.omarpolo.com/pages/gmid.html";
-
-if [[ ${PV} == "9999" ]] ; then
-       inherit git-r3
-       EGIT_REPO_URI="https://git.omarpolo.com/${PN}";
-else
-       SRC_URI="https://git.omarpolo.com/${PN}/snapshot/${P}.tar.gz";
-       KEYWORDS="~amd64 ~x86"
-fi
+EGIT_REPO_URI="https://github.com/omar-polo/${PN}.git 
https://git.omarpolo.com/${PN}";
 
 LICENSE="ISC"
 SLOT="0"
+IUSE="+seccomp test"
+RESTRICT="
+       !test? ( test )
+       seccomp? ( test )
+"
 
-DEPEND="acct-user/gemini
+DEPEND="
+       acct-user/gemini
        dev-libs/libevent
        dev-libs/libretls
 "
-BDEPEND="sys-devel/flex
-       virtual/yacc"
+BDEPEND="
+       virtual/pkgconfig
+       virtual/yacc
+"
 RDEPEND="${DEPEND}"
 
 DOCS=( README.md ChangeLog )
 
 src_configure() {
+       local conf_args
+
        # note: not an autoconf configure script
-       ./configure \
-               CC="$(tc-getCC)" \
-               PREFIX="${EPREFIX}"/usr/share \
-               BINDIR="${EPREFIX}"/usr/bin \
-               CFLAGS="${CFLAGS}" \
-               LDFLAGS="${LDFLAGS} -ltls -lssl -lcrypto -levent" || die
+       conf_args=(
+               CC="$(tc-getCC)"
+               PREFIX="${EPREFIX}"/usr/share
+               BINDIR="${EPREFIX}"/usr/bin
+               CFLAGS="${CFLAGS}"
+               LDFLAGS="${LDFLAGS} -ltls -lssl -lcrypto -levent"
+       )
+       if ! use seccomp ; then
+               conf_args+=( --disable-sandbox )
+       fi
+
+       ./configure "${conf_args[@]}" || die
+}
+
+src_compile() {
+       emake gmid
+       if use test ; then
+               emake -C regress gg puny-test testdata iri_test
+       fi
+}
+
+src_test() {
+       emake regress
 }
 
 src_install() {
        default
 
-       dodir /etc/gmid
-       cp "${FILESDIR}"/gmid.conf "${ED}"/etc/gmid/gmid.conf || die
+       insinto /etc/gmid
+       doins "${FILESDIR}"/gmid.conf
 
        newinitd "${FILESDIR}"/gmid.initd gmid
        newconfd "${FILESDIR}"/gmid.confd gmid

Reply via email to