diff options
Diffstat (limited to 'dev-libs/hiredict/hiredict-1.3.1.ebuild')
-rw-r--r-- | dev-libs/hiredict/hiredict-1.3.1.ebuild | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/dev-libs/hiredict/hiredict-1.3.1.ebuild b/dev-libs/hiredict/hiredict-1.3.1.ebuild new file mode 100644 index 000000000000..bd7927c958a2 --- /dev/null +++ b/dev-libs/hiredict/hiredict-1.3.1.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Minimalistic C client library for the Redict database" +HOMEPAGE="https://codeberg.org/redict/hiredict" +SRC_URI="https://codeberg.org/redict/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +S=${WORKDIR}/${PN} + +LICENSE="BSD LGPL-3" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +IUSE="shim ssl static-libs test" +RESTRICT="!test? ( test )" + +DEPEND=" + ssl? ( dev-libs/openssl:= ) + shim? ( !dev-libs/hiredis ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + test? ( + dev-db/redict + dev-libs/libevent + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.3.1-disable-network-tests.patch +) + +_build() { + tc-export AR CC + local myconf=( + AR="${AR}" + CC="${CC}" + CFLAGS="${CFLAGS}" + LDFLAGS="${LDFLAGS}" + DESTDIR="${ED}" + PREFIX="/usr" + LIBRARY_PATH="$(get_libdir)" + USE_SSL=$(usex ssl 1 0) + TEST_ASYNC=$(usex test 1 0) + DEBUG_FLAGS= + OPTIMIZATION= + USE_WERROR=0 + ) + emake "${myconf[@]}" "$@" +} + +src_compile() { + # The static lib re-uses the same objects as the shared lib, so + # overhead is low w/creating it all the time. It's also needed + # by the tests. + _build dynamic static hiredict{,_ssl}.pc +} + +src_test() { + # Compare with https://codeberg.org/redict/hiredict/src/tag/1.3.1/Makefile#L37 + local REDICT_PID="${T}"/hiredict.pid + local REDICT_SOCK="${T}"/hiredict.sock + local REDICT_PORT=56379 + local REDICT_TEST_CONFIG=" + daemonize yes + pidfile ${REDICT_PID} + port ${REDICT_PORT} + bind 127.0.0.1 + unixsocket //${REDICT_SOCK} + " + + _build hiredict-test + + "${EPREFIX}"/usr/bin/redict-server - <<< "${REDICT_TEST_CONFIG}" || die + ./hiredict-test -h 127.0.0.1 -p ${REDICT_PORT} -s ${REDICT_SOCK} + local ret=$? + + kill "$(<"${REDICT_PID}")" || die + [[ ${ret} != "0" ]] && die "tests failed" +} + +src_install() { + _build install + + if ! use static-libs ; then + find "${ED}" -name '*.a' -delete || die + fi + + if ! use shim; then + find "${ED}" -type d -name 'hiredis' -exec rm -r {} + || die + find "${ED}" -name 'hiredis*.pc' -delete || die + fi +} |