diff options
Diffstat (limited to 'dev-libs/hiredis')
-rw-r--r-- | dev-libs/hiredis/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/hiredis/hiredis-1.1.0.ebuild | 89 |
2 files changed, 90 insertions, 0 deletions
diff --git a/dev-libs/hiredis/Manifest b/dev-libs/hiredis/Manifest index 5fea35cb08ca..e56d2c6315f8 100644 --- a/dev-libs/hiredis/Manifest +++ b/dev-libs/hiredis/Manifest @@ -1,2 +1,3 @@ DIST hiredis-0.14.1.tar.gz 64372 BLAKE2B 9846b05e21bfadb876e26ab45bf5c29a3283b602ef725dfbd877815be690bb5579551f0c452e1d8abf9ae985f6b71408a3b86b343ca5d6dce58dd4897640996a SHA512 a7310f2d65075df0c17636a0220e16487759471a3442b1de2595ab747565f6b6262e37131613b13e396b31050bcbe5529c35d420cd43fd7d500d9d563d469c4f DIST hiredis-1.0.2.tar.gz 98139 BLAKE2B 86d872cfec3d4e925d5d68e4f4faf1301aa6d706bd0406a8080471e14afc2c25db13b9a0937d29baccd457611af8e46922b5379183c7470c9ae1860aac3af096 SHA512 86497a1c21869bbe535378885eee6dbd594ef96325966511a3513f81e501af0f5ac7fed864f3230372f3ac7a23c05bad477fa5aa90b9747c9fb1408028174f9b +DIST hiredis-1.1.0.tar.gz 122002 BLAKE2B 74c23816e59ea241c68640f99970ae68536a1cd605ac1a7146bf52e355f5f74b3d39fb81be02741cf776c06b47b9d5acc7ec66bfdcf802dec3ed68fb28a82b1b SHA512 9dad012c144ed24de6aa413a3a10d19a9d0d9ece18dbc388406cd86c5b98cb66c76c586cb559c601ed13a75051d8921dc2882534cc3605513fde47d57276c3bb diff --git a/dev-libs/hiredis/hiredis-1.1.0.ebuild b/dev-libs/hiredis/hiredis-1.1.0.ebuild new file mode 100644 index 000000000000..a3cf72b485d0 --- /dev/null +++ b/dev-libs/hiredis/hiredis-1.1.0.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +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" +# 1.0.1 erroneously bumped SONAME but we're stuck with it now. Force another +# rebuild so everybody is on the right one though (1.0.0). +SLOT="0/1.0.2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-solaris" +IUSE="examples ssl static-libs test" +RESTRICT="!test? ( test )" + +DEPEND="ssl? ( dev-libs/openssl:= )" +RDEPEND="${DEPEND}" +BDEPEND="test? ( dev-db/redis )" + +PATCHES=( + "${FILESDIR}"/${PN}-1.0.0-disable-network-tests.patch +) + +src_prepare() { + default + + # 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)" \ + USE_SSL=$(usex ssl 1 0) \ + DEBUG_FLAGS= \ + OPTIMIZATION= \ + "$@" +} + +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 + + "${EPREFIX}"/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 + find "${ED}" -name '*.a' -delete || die + fi + + insinto /usr/$(get_libdir)/pkgconfig + doins ${PN}.pc + + local DOCS=( CHANGELOG.md README.md ) + use examples && DOCS+=( examples ) + einstalldocs +} |