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 }
