diff options
author | 2021-11-10 09:52:12 +0500 | |
---|---|---|
committer | 2021-11-10 09:52:18 +0500 | |
commit | 9eacd2a39ba71d21d0c53febd0d2fd85093f637a (patch) | |
tree | d2553ebf8c73e4dc2db4bf7035b9316a9606fdbd /net-libs | |
parent | dev-vcs/lazygit: 0.31.2 version bump (diff) | |
download | guru-9eacd2a39ba71d21d0c53febd0d2fd85093f637a.tar.gz guru-9eacd2a39ba71d21d0c53febd0d2fd85093f637a.tar.bz2 guru-9eacd2a39ba71d21d0c53febd0d2fd85093f637a.zip |
net-libs/kcgi: add 0.13.0
Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo@sysrq.in>
Diffstat (limited to 'net-libs')
-rw-r--r-- | net-libs/kcgi/Manifest | 1 | ||||
-rw-r--r-- | net-libs/kcgi/kcgi-0.13.0.ebuild | 142 | ||||
-rw-r--r-- | net-libs/kcgi/metadata.xml | 10 |
3 files changed, 152 insertions, 1 deletions
diff --git a/net-libs/kcgi/Manifest b/net-libs/kcgi/Manifest index 8f8cdd172..f043144c5 100644 --- a/net-libs/kcgi/Manifest +++ b/net-libs/kcgi/Manifest @@ -1 +1,2 @@ DIST kcgi-0.12.5.tgz 247454 BLAKE2B 1aebd9d62977e22a6a6538b591c40efab53282fd6f28809330c34bfb825798b837003cf0b492f3c3bc79c2ebf3054b466b9e290c156aceee553ef8af6e0a7f07 SHA512 61c28f165b0c1024e4b22fd4e725d79c4e2800b0c6a7fae1473e33608b3299b5ad8630d87ccccaab3e12358dfb6d1c3cd0eb0ed20fa0da1bcc35cc6df8106440 +DIST kcgi-0.13.0.tgz 243127 BLAKE2B e3f4f42450cf3ba5b7f3199e11d1ee57bd2b16f55d662c6989f486811fb49fb1dcba62864320ee1962db5b0cde026db832d6935c14a79f43d4b19383a630f392 SHA512 b07168d87ad55a403120bfe79ac37e29803047bf663bb50ead0a758a1636b9fc77fd3aba45eb52b2f80cd103f1878e861d99e22bc6eefd2dd742ac82f4dbc969 diff --git a/net-libs/kcgi/kcgi-0.13.0.ebuild b/net-libs/kcgi/kcgi-0.13.0.ebuild new file mode 100644 index 000000000..e1d695777 --- /dev/null +++ b/net-libs/kcgi/kcgi-0.13.0.ebuild @@ -0,0 +1,142 @@ +# Copyright 2019-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic multilib multiprocessing toolchain-funcs + +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/${PN}" +else + SRC_URI="https://kristaps.bsd.lv/${PN}/snapshots/${P}.tgz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="ISC" +SLOT="0" +IUSE="static-libs test" +RESTRICT="!test? ( test )" + +BDEPEND="sys-devel/bmake" +RDEPEND=" + app-crypt/libmd + virtual/libcrypt +" +DEPEND="${RDEPEND} + test? ( net-misc/curl[static-libs(-)] ) +" + +PATCHES=( "${FILESDIR}"/${PN}-0.12-ldflags.patch ) + +_get_version_component_count() { + local cnt=( $(ver_rs 1- ' ') ) + echo ${#cnt[@]} || die +} + +static_to_shared() { + local libstatic=${1} + shift + local libname=$(basename ${libstatic%.a}) + local soname=${libname}$(get_libname $(ver_cut 1-2)) + local libdir=$(dirname ${libstatic}) + + einfo "Making ${soname} from ${libstatic}" + if [[ ${CHOST} == *-darwin* ]] ; then + ${LINK:-$(tc-getCC)} ${LDFLAGS} \ + -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \ + -Wl,-all_load -Wl,${libstatic} \ + "$@" -o ${libdir}/${soname} || die "${soname} failed" + else + ${LINK:-$(tc-getCC)} ${LDFLAGS} \ + -shared -Wl,-soname=${soname} \ + -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \ + "$@" -o ${libdir}/${soname} || die "${soname} failed" + + if [[ $(_get_version_component_count) -ge 1 ]] ; then + ln -s ${soname} ${libdir}/${libname}$(get_libname $(ver_cut 1)) || die + fi + + ln -s ${soname} ${libdir}/${libname}$(get_libname) || die + fi +} + +src_prepare() { + default + + # ld: multiple definition of `dummy' + local deselect=( sandbox-{capsicum,darwin,pledge,seccomp-filter}.o ) + case ${CHOST} in + *-linux-*) + deselect=( "${deselect[@]/sandbox-seccomp-filter.o}" ) + ;; + *-darwin*) + deselect=( "${deselect[@]/sandbox-darwin.o}" ) + ;; + *-freebsd*) + deselect=( "${deselect[@]/sandbox-capsicum.o}" ) + ;; + *-openbsd*) + deselect=( "${deselect[@]/sandbox-pledge.o}" ) + ;; + esac + + for obj in "${deselect[@]}"; do + # elements are not deleted completely from the array + if [[ -n "${obj}" ]]; then + sed "/${obj}/d" -i Makefile || die + fi + done +} + +src_configure() { + tc-export CC AR + append-cflags -fPIC + + append-cppflags -DENABLE_SECCOMP_FILTER=1 + append-cppflags -DSANDBOX_SECCOMP_DEBUG # seccomp may cause problems + + # 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() { + bmake -j$(makeopts_jobs) || die + + static_to_shared libkcgi.a -lz -lmd + static_to_shared libkcgihtml.a + static_to_shared libkcgijson.a -lm + static_to_shared libkcgiregress.a + static_to_shared libkcgixml.a +} + +src_test() { + # TODO: add `afl` tests + bmake -j$(makeopts_jobs) regress || die +} + +src_install() { + bmake -j$(makeopts_jobs) \ + DESTDIR="${D}" \ + DATADIR="${EPREFIX}/usr/share/doc/${PF}/examples" \ + install || die + + dolib.so lib*$(get_libname)* + if ! use static-libs; then + find "${ED}" -name '*.a' -delete || die + fi + + einstalldocs +} diff --git a/net-libs/kcgi/metadata.xml b/net-libs/kcgi/metadata.xml index 65ac1f205..d31d82060 100644 --- a/net-libs/kcgi/metadata.xml +++ b/net-libs/kcgi/metadata.xml @@ -1,8 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> <email>gentoo@aisha.cc</email> <name>Aisha Tammy</name> </maintainer> + <upstream> + <remote-id type="github">kristapsdz/kcgi</remote-id> + <bugs-to>https://github.com/kristapsdz/kcgi/issues</bugs-to> + <maintainer> + <name>Kristaps Džonsons</name> + <email>kristaps@bsd.lv</email> + </maintainer> + </upstream> </pkgmetadata> |