mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-06 02:17:34 -08:00
Based out of the hiredis 1.1.0-r1 ebuild, with tests fixed, and an aditional use flag that includes the hiredis shims that hiredict ships. Signed-off-by: Anna (navi) Figueiredo Gomes <navi@vlhl.dev> Signed-off-by: Petr Vaněk <arkamar@gentoo.org>
97 lines
2.0 KiB
Bash
97 lines
2.0 KiB
Bash
# 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
|
|
}
|