# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=5 inherit eutils multilib DESCRIPTION="Minimalistic C client library for the Redis database" HOMEPAGE="https://github.com/redis/hiredis" SRC_URI="https://github.com/redis/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD" SLOT="0" KEYWORDS="~amd64 ~hppa ~ppc64 ~x86 ~x86-fbsd ~x64-solaris" IUSE="examples static-libs test" DEPEND="test? ( dev-db/redis )" src_prepare() { epatch "${FILESDIR}/${P}-disable-network-tests.patch" # use GNU ld syntax on Solaris sed -i -e '/DYLIB_MAKE_CMD=.* -G/d' Makefile || die } _build() { emake \ AR="$(tc-getAR)" \ CC="$(tc-getCC)" \ PREFIX="${EPREFIX%/}/usr" \ LIBRARY_PATH="$(get_libdir)" \ ARCH= \ DEBUG= \ OPTIMIZATION="${CPPFLAGS}" \ "$@" } 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 hiredis.pc } src_test() { local REDIS_PID="${T}"/hiredis.pid local REDIS_SOCK="${T}"/hiredis.sock local REDIS_PORT=56379 local REDIS_TEST_CONFIG="daemonize yes pidfile ${REDIS_PID} port ${REDIS_PORT} bind 127.0.0.1 unixsocket //${REDIS_SOCK}" _build hiredis-test /usr/sbin/redis-server - <<< "${REDIS_TEST_CONFIG}" || die ./hiredis-test -h 127.0.0.1 -p ${REDIS_PID} -s ${REDIS_SOCK} local ret=$? kill "$(<"${REDIS_PID}")" || die [ ${ret} != "0" ] && die "tests failed" } src_install() { _build PREFIX="${ED%/}/usr" install if use static-libs; then rm "${ED%/}/usr/$(get_libdir)/libhiredis.a" || die fi use examples && dodoc -r examples insinto /usr/$(get_libdir)/pkgconfig doins ${PN}.pc dodoc CHANGELOG.md README.md }