summaryrefslogtreecommitdiff
path: root/dev-libs/hiredict/hiredict-1.3.1.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/hiredict/hiredict-1.3.1.ebuild')
-rw-r--r--dev-libs/hiredict/hiredict-1.3.1.ebuild96
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
+}