commit:     7f9d3770ccc6a065104a1b1f049581e79be5099b
Author:     Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
AuthorDate: Sun Aug  8 12:53:43 2021 +0000
Commit:     Anna Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
CommitDate: Sun Aug  8 12:59:24 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=7f9d3770

net-libs/kcgi: fix ldflags and deps, bump eapi

Closes: https://bugs.gentoo.org/800917
Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq.in>

 net-libs/kcgi/files/kcgi-0.12-ldflags.patch | 55 ++++++++++++++++++++++++++++
 net-libs/kcgi/kcgi-0.12.5.ebuild            | 56 +++++++++++++++++++----------
 2 files changed, 92 insertions(+), 19 deletions(-)

diff --git a/net-libs/kcgi/files/kcgi-0.12-ldflags.patch 
b/net-libs/kcgi/files/kcgi-0.12-ldflags.patch
new file mode 100644
index 000000000..218d22635
--- /dev/null
+++ b/net-libs/kcgi/files/kcgi-0.12-ldflags.patch
@@ -0,0 +1,55 @@
+--- a/Makefile
++++ b/Makefile
+@@ -370,7 +370,7 @@ compats.o: config.h
+ # The FastCGI manager is pretty standalone.
+ 
+ kfcgi: kfcgi.o compats.o
+-      $(CC) $(CFLAGS) -o $@ kfcgi.o compats.o $(LDADD_LIB_SOCKET)
++      $(CC) $(CFLAGS) -o $@ kfcgi.o compats.o $(LDFLAGS) $(LDADD_LIB_SOCKET)
+ 
+ kfcgi.o: config.h
+ 
+@@ -389,7 +389,8 @@ $(REGRESS): libkcgi.a libkcgiregress.a libkcgijson.a 
libkcgihtml.a
+ .for BIN in $(REGRESS)
+ $(BIN): $(BIN).c
+       $(CC) $(CFLAGS) $(REGRESS_CFLAGS) -o $@ $(BIN).c regress/regress.o \
+-              libkcgiregress.a libkcgijson.a libkcgihtml.a libkcgi.a 
$(REGRESS_LIBS)
++              libkcgiregress.a libkcgijson.a libkcgihtml.a libkcgi.a \
++              $(LDFLAGS) $(REGRESS_LIBS)
+ .endfor
+ 
+ regress/regress.o: regress/regress.h kcgiregress.h config.h
+@@ -404,7 +405,8 @@ regress/regress.o: regress/regress.c
+ $(BIN).o: $(BIN).c config.h kcgi.h extern.h
+       $(CC) $(CFLAGS) -c -o $@ $(BIN).c
+ $(BIN): $(BIN).o libkcgi.a
+-      $(CC) $(CFLAGS) $(CFLAGS_PKG) -o $@ $(BIN).o libkcgi.a $(LIBS_PKG) 
$(LDADD_MD5)
++      $(CC) $(CFLAGS) $(CFLAGS_PKG) -o $@ $(BIN).o libkcgi.a \
++              $(LDFLAGS) $(LIBS_PKG) $(LDADD_MD5)
+ .endfor
+ 
+ # The main kcgi library.
+@@ -442,16 +444,19 @@ libkcgiregress.a: kcgiregress.o
+ # These demonstrate FastCGI, CGI, and standard.
+ 
+ samplepp: samplepp.cc libkcgi.a libkcgihtml.a kcgi.h
+-      c++ $(CFLAGS) $(CFLAGS_PKG) $(LDADD_STATIC) -o $@ samplepp.cc -L. 
libkcgi.a $(LIBS_PKG)
++      c++ $(CFLAGS) $(CFLAGS_PKG) $(LDADD_STATIC) -o $@ samplepp.cc -L. 
libkcgi.a \
++              $(LDFLAGS) $(LIBS_PKG)
+ 
+ sample: sample.o libkcgi.a libkcgihtml.a kcgi.h kcgihtml.h
+-      $(CC) -o $@ $(LDADD_STATIC) sample.o -L. libkcgihtml.a libkcgi.a 
$(LIBS_PKG)
++      $(CC) -o $@ $(LDADD_STATIC) sample.o -L. libkcgihtml.a libkcgi.a \
++              $(LDFLAGS) $(LIBS_PKG)
+ 
+ sample-fcgi: sample-fcgi.o libkcgi.a kcgi.h
+-      $(CC) -o $@ $(LDADD_STATIC) sample-fcgi.o -L. libkcgi.a $(LIBS_PKG)
++      $(CC) -o $@ $(LDADD_STATIC) sample-fcgi.o -L. libkcgi.a \
++              $(LDFLAGS) $(LIBS_PKG)
+ 
+ sample-cgi: sample-cgi.o 
+-      $(CC) -o $@ $(LDADD_STATIC) sample-cgi.o 
++      $(CC) -o $@ $(LDADD_STATIC) sample-cgi.o $(LDFLAGS)
+ 
+ # Now a lot of HTML and web media files.
+ # These are only used with the `www' target, so we can assume

diff --git a/net-libs/kcgi/kcgi-0.12.5.ebuild b/net-libs/kcgi/kcgi-0.12.5.ebuild
index 4a39516f4..79afbe7c8 100644
--- a/net-libs/kcgi/kcgi-0.12.5.ebuild
+++ b/net-libs/kcgi/kcgi-0.12.5.ebuild
@@ -1,47 +1,57 @@
 # Copyright 2019-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=7
+EAPI=8
 
 inherit multiprocessing toolchain-funcs
 
-DESCRIPTION="minimal CGI library for web applications"
+DESCRIPTION="Minimal CGI library for web applications"
 HOMEPAGE="https://kristaps.bsd.lv/kcgi/";
 
 if [[ ${PV} == 9999 ]]; then
        inherit git-r3
-       EGIT_REPO_URI="https://github.com/kristapsdz/kcgi";
+       EGIT_REPO_URI="https://github.com/kristapsdz/${PN}";
 else
-       SRC_URI="https://kristaps.bsd.lv/kcgi/snapshots/${P}.tgz";
+       SRC_URI="https://kristaps.bsd.lv/${PN}/snapshots/${P}.tgz";
        KEYWORDS="~amd64 ~x86"
 fi
 
 LICENSE="ISC"
 SLOT="0"
-IUSE="test"
+IUSE="static-libs test"
 RESTRICT="!test? ( test )"
 
 BDEPEND="sys-devel/bmake"
-DEPEND="
-       test? ( net-misc/curl[static-libs] )
+RDEPEND="
+       app-crypt/libmd
+       virtual/libcrypt
 "
+DEPEND="${RDEPEND}
+       test? ( net-misc/curl[static-libs(-)] )
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-$(ver_cut 1-2)-ldflags.patch )
 
 src_prepare() {
-       export CC="$(tc-getCC)"
-       export AR="$(tc-getAR)"
+       default
 
        # disable failing tests
        sed -e '/\s*regress\/test-debug-.*/d' -i Makefile || die
-
-       default
 }
 
 src_configure() {
-       ./configure PREFIX="${EPREFIX}/usr" \
-               MANDIR="${EPREFIX}/usr/share/man" \
-               LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
-               SBINDIR="${EPREFIX}/usr/bin" || die
-       echo 'LDADD_LIB_SOCKET += ${LDFLAGS}' >> Makefile.configure || die
+       tc-export CC AR
+
+       # note: not an autoconf configure script
+       conf_args=(
+               CPPFLAGS="${CPPFLAGS}"
+               LDFLAGS="${LDFLAGS}"
+               PREFIX="${EPREFIX}"/usr
+               MANDIR="${EPREFIX}"/usr/share/man
+               LIBDIR="${EPREFIX}"/usr/$(get_libdir)
+               SBINDIR="${EPREFIX}"/usr/sbin
+       )
+       ./configure "${conf_args[@]}" || die
 }
 
 src_compile() {
@@ -49,13 +59,21 @@ src_compile() {
 }
 
 src_test() {
-       bmake -j$(makeopts_jobs)  regress || die
+       # TODO: add `afl` tests
+       bmake -j$(makeopts_jobs) regress || die
 }
 
 src_install() {
        bmake -j$(makeopts_jobs) \
                DESTDIR="${D}" \
-               MANDIR=/usr/share/man \
+               DATADIR="/usr/share/doc/${PF}/examples" \
                install || die
-       find "${ED}/usr/$(get_libdir)" -name "*.a" -delete || die
+
+       # kcgi does not install shared libraries
+       if ! use static-libs; then
+               find "${ED}" -name '*.a' -delete || die
+               find "${ED}" -name '*.pc' -delete || die
+       fi
+
+       einstalldocs
 }

Reply via email to