commit:     b7e12e52c5028db68ec748a50f5f9904e255d4f1
Author:     Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
AuthorDate: Sat Jul 10 18:24:50 2021 +0000
Commit:     Anna Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
CommitDate: Sat Jul 10 18:24:50 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=b7e12e52

net-misc/gmid: add 1.7, drop 1.6.2

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 --
 net-misc/gmid/files/gmid-1.6.2-make-pidfile.patch  | 111 ---------------------
 net-misc/gmid/files/gmid.conf                      |   6 +-
 .../gmid/{gmid-1.6.2.ebuild => gmid-1.7.ebuild}    |  37 +++----
 5 files changed, 25 insertions(+), 141 deletions(-)

diff --git a/net-misc/gmid/Manifest b/net-misc/gmid/Manifest
index 1a3dac3a9..857b18fce 100644
--- a/net-misc/gmid/Manifest
+++ b/net-misc/gmid/Manifest
@@ -1 +1 @@
-DIST gmid-1.6.2.tar.gz 60293 BLAKE2B 
807f4e93d1ed0f2a69a9631504ffe28d5aee4efbba85b9e7d0a8eec5b4fb50a38285478651f196f57fbcf7b4d38ff462f78c37210720353af638d76b2b28e3e1
 SHA512 
053e2f95449d71c72052c422b1c51657ad48f662422a121452618c69e6bac9b23bbaa2b35b52d314eb7614b9a0f413504c87cd431bc756d455dd198c79270da8
+DIST gmid-1.7.tar.gz 78157 BLAKE2B 
a48cd98621874f1a725b0c4b4ee70af45ebfec56734d00478e52d194f3d5a090ea3c4f8001159863149fdc400619685a1e355ab695b81e76d3b483d0101ef5a4
 SHA512 
d7aaddcc14ea48b4f8377ca841905071f4d82ce96168a39c38e2896b0d1253e31450a9a3794f6a2699afbbb266ffce2e301adc4acf41075a10e11eb878732ad4

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
deleted file mode 100644
index c6cb8c19c..000000000
--- a/net-misc/gmid/files/gmid-1.6.2-disable-runtime-test.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- 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.2-make-pidfile.patch 
b/net-misc/gmid/files/gmid-1.6.2-make-pidfile.patch
deleted file mode 100644
index f95d583a7..000000000
--- a/net-misc/gmid/files/gmid-1.6.2-make-pidfile.patch
+++ /dev/null
@@ -1,111 +0,0 @@
---- a/gmid.1
-+++ b/gmid.1
-@@ -22,6 +22,7 @@
- .Bk -words
- .Op Fl fnv
- .Op Fl c Ar config
-+.Op Fl P Ar pidfile
- .Ek
- .Nm
- .Bk -words
-@@ -51,6 +52,10 @@ Specify the configuration file.
- Stays and logs on the foreground.
- .It Fl n
- Check that the configuration is valid, but don't start the server.
-+.It Fl P Pa pidfile
-+Write
-+.Nm
-+pid to the given path.
- .El
- .Pp
- If no configuration file is given,
---- a/gmid.c
-+++ b/gmid.c
-@@ -316,7 +316,7 @@ static void
- usage(const char *me)
- {
-       fprintf(stderr,
--          "USAGE: %s [-fn] [-c config] | [-6h] [-d certs-dir] [-H host]\n"
-+          "USAGE: %s [-fn] [-c config] [-P pidfile] | [-6h] [-d certs-dir] 
[-H host]\n"
-           "       [-p port] [-x cgi] [dir]\n",
-           me);
- }
-@@ -411,6 +411,34 @@ serve(int argc, char **argv, struct imsgbuf *ibuf)
-       _exit(executor_main(ibuf));
- }
- 
-+static int
-+write_pidfile(const char *pidfile)
-+{
-+      struct flock    lock;
-+      int             fd;
-+
-+      if (pidfile == NULL)
-+              return -1;
-+
-+      if ((fd = open(pidfile, O_WRONLY|O_CREAT|O_CLOEXEC, 0600)) == -1)
-+              fatal("can't open pidfile %s: %s", pidfile, strerror(errno));
-+
-+      lock.l_start = 0;
-+      lock.l_len = 0;
-+      lock.l_type = F_WRLCK;
-+      lock.l_whence = SEEK_SET;
-+
-+      if (fcntl(fd, F_SETLK, &lock) == -1)
-+              fatal("can't lock %s, gmid is already running?", pidfile);
-+
-+      if (ftruncate(fd, 0) == -1)
-+              fatal("ftruncate: %s: %s", pidfile, strerror(errno));
-+
-+      dprintf(fd, "%d\n", getpid());
-+
-+      return fd;
-+}
-+
- static void
- setup_configless(int argc, char **argv, const char *cgi)
- {
-@@ -434,11 +462,12 @@ main(int argc, char **argv)
- {
-       struct imsgbuf exibuf;
-       int ch, conftest = 0, configless = 0;
--      int old_ipv6, old_port;
-+      int pidfd, old_ipv6, old_port;
-+      const char *pidfile = NULL;
- 
-       init_config();
- 
--      while ((ch = getopt(argc, argv, "6c:d:fH:hnp:vx:")) != -1) {
-+      while ((ch = getopt(argc, argv, "6c:d:fH:hnP:p:vx:")) != -1) {
-               switch (ch) {
-               case '6':
-                       conf.ipv6 = 1;
-@@ -472,6 +501,10 @@ main(int argc, char **argv)
-                       conftest = 1;
-                       break;
- 
-+              case 'P':
-+                      pidfile = optarg;
-+                      break;
-+
-               case 'p':
-                       conf.port = parse_portno(optarg);
-                       configless = 1;
-@@ -536,6 +569,8 @@ main(int argc, char **argv)
-               return 0;
-       }
- 
-+      pidfd = write_pidfile(pidfile);
-+
-       /* Linux seems to call the event handlers even when we're
-        * doing a sigwait.  These dummy handlers are here to avoid
-        * being terminated on SIGHUP, SIGINT or SIGTERM. */
-@@ -604,5 +639,8 @@ main(int argc, char **argv)
-       imsg_compose(&logibuf, IMSG_QUIT, 0, 0, -1, NULL, 0);
-       imsg_flush(&logibuf);
- 
-+      if (pidfd != -1)
-+              close(pidfd);
-+
-       return 0;
- }

diff --git a/net-misc/gmid/files/gmid.conf b/net-misc/gmid/files/gmid.conf
index c9b298c2a..e68ea6cb5 100644
--- a/net-misc/gmid/files/gmid.conf
+++ b/net-misc/gmid/files/gmid.conf
@@ -1,8 +1,10 @@
+certdir = "/etc/ssl/gmid"
+
 user "gemini" # drop privileges
 
 server "localhost" {
   root "/var/gemini/localhost"
   auto index on
-  cert "/etc/ssl/gmid/gmid.crt"
-  key "/etc/ssl/gmid/gmid.key"
+  cert $certdir "/gmid.crt"
+  key  $certdir "/gmid.key"
 }

diff --git a/net-misc/gmid/gmid-1.6.2.ebuild b/net-misc/gmid/gmid-1.7.ebuild
similarity index 74%
rename from net-misc/gmid/gmid-1.6.2.ebuild
rename to net-misc/gmid/gmid-1.7.ebuild
index fc7a027df..a5904dd5a 100644
--- a/net-misc/gmid/gmid-1.6.2.ebuild
+++ b/net-misc/gmid/gmid-1.7.ebuild
@@ -8,23 +8,28 @@ inherit ssl-cert toolchain-funcs
 
 DESCRIPTION="Simple and secure Gemini server"
 HOMEPAGE="https://www.omarpolo.com/pages/gmid.html";
-SRC_URI="https://git.omarpolo.com/${PN}/snapshot/${P}.tar.gz";
 
-LICENSE="ISC"
+if [[ ${PV} == 9999 ]]; then
+       EGIT_REPO_URI="https://github.com/omar-polo/${PN}.git 
https://git.omarpolo.com/${PN}";
+       inherit git-r3
+else
+       SRC_URI="https://git.omarpolo.com/${PN}/snapshot/${P}.tar.gz";
+       KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="BSD ISC MIT"
 SLOT="0"
-KEYWORDS="~amd64 ~x86"
 IUSE="+seccomp test"
 RESTRICT="!test? ( test )"
 
-PATCHES=( "${FILESDIR}"/${P}-make-pidfile.patch )
-
 DEPEND="
        acct-user/gemini
+       dev-libs/imsg-compat
+       dev-libs/libbsd
        dev-libs/libevent
        dev-libs/libretls
 "
 BDEPEND="
-       sys-devel/flex
        virtual/pkgconfig
        virtual/yacc
 "
@@ -35,34 +40,32 @@ DOCS=( README.md ChangeLog )
 src_prepare() {
        default
 
-       if use seccomp && has usersandbox ${FEATURES} ; then
-               eapply "${FILESDIR}"/${P}-disable-runtime-test.patch
-       fi
+       # QA Notice: make jobserver unavailable
+       sed 's/make -C regress/${MAKE} -C regress/' -i Makefile || die
 }
 
 src_configure() {
        local conf_args
+       tc-export CC
 
        # note: not an autoconf configure script
        conf_args=(
-               CC="$(tc-getCC)"
                PREFIX="${EPREFIX}"/usr/share
                BINDIR="${EPREFIX}"/usr/bin
-               CFLAGS="${CFLAGS}"
-               LDFLAGS="${LDFLAGS} -ltls -lssl -lcrypto -levent"
+               $(use_enable seccomp sandbox)
        )
-       if ! use seccomp ; then
-               conf_args+=( --disable-sandbox )
-       fi
 
        ./configure "${conf_args[@]}" || die
+
+       if use seccomp && has usersandbox ${FEATURES} ; then
+               export SKIP_RUNTIME_TESTS=1
+       fi
 }
 
 src_compile() {
        emake gmid
        if use test ; then
-               emake gg
-               emake -C regress puny-test testdata iri_test
+               emake -C regress gg data puny-test fcgi-test
        fi
 }
 

Reply via email to