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

Closes: https://bugs.gentoo.org/800917
Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo@sysrq.in>
This commit is contained in:
Anna (cybertailor) Vyalkova
2021-08-08 17:53:43 +05:00
parent 8693cb513f
commit 7f9d3770cc
2 changed files with 92 additions and 19 deletions

View File

@@ -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

View File

@@ -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
}