Skip to content

Commit

Permalink
Revert "dev-libs/hiredis: security cleanup"
Browse files Browse the repository at this point in the history
This reverts commit 7e63f04.

<dev-libs/hiredis-0.14 is still required for dev-python/hiredis.

Signed-off-by: Thomas Deutschmann <[email protected]>
  • Loading branch information
Whissi committed Apr 10, 2020
1 parent 990b69e commit 06d9045
Show file tree
Hide file tree
Showing 3 changed files with 160 additions and 0 deletions.
2 changes: 2 additions & 0 deletions dev-libs/hiredis/Manifest
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
DIST hiredis-0.13.3.tar.gz 58291 BLAKE2B 2af5853475a48b1f05c17100197633af61663a23a1259c702545938367b6a5b9fc09b886e12f57d27f23db3f5c636bb42d7e58887cc1481b7016cea405345ddb SHA512 0d8b71d5ee4105e8aaeeee308795afc2c1f60a04b0bfe8ae873d800a0c157882ec307efa04a8d0e63b538fd3fc3f88eedf4d46cb87c8937e2403927aeb7e434c
DIST hiredis-0.14.0.tar.gz 63061 BLAKE2B 1923a63317f5f4a5bcbc9f8fd35e11fda15c30bb766d377f3be1eaf961cf34339e16b9b7c468b5bf07e513db4913c564e49eb29a2684b945db6c914b07d01905 SHA512 57a81a35b4750f0ca9dba830789483667f8ca1559f13b0ebdc3fab3e34ad16b2809f9734cf88157041263784e11447556b7a748bfb7ef318a60bb5dda3e358a0
DIST hiredis-0.14.1.tar.gz 64372 BLAKE2B 9846b05e21bfadb876e26ab45bf5c29a3283b602ef725dfbd877815be690bb5579551f0c452e1d8abf9ae985f6b71408a3b86b343ca5d6dce58dd4897640996a SHA512 a7310f2d65075df0c17636a0220e16487759471a3442b1de2595ab747565f6b6262e37131613b13e396b31050bcbe5529c35d420cd43fd7d500d9d563d469c4f
79 changes: 79 additions & 0 deletions dev-libs/hiredis/hiredis-0.13.3.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI="6"

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"
SLOT="0/0.13"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 s390 sparc x86 ~x64-solaris"
IUSE="examples static-libs test"
RESTRICT="!test? ( test )"

DEPEND="test? ( dev-db/redis )"

src_prepare() {
local PATCHES=( "${FILESDIR}/${PN}-0.13.3-disable-network-tests.patch" )
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)" \
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

insinto /usr/$(get_libdir)/pkgconfig
doins ${PN}.pc

local DOCS=( CHANGELOG.md README.md )
use examples && DOCS+=( examples )
einstalldocs
}
79 changes: 79 additions & 0 deletions dev-libs/hiredis/hiredis-0.14.0.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Copyright 1999-2020 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"
SLOT="0/0.14"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-solaris"
IUSE="examples static-libs test"
RESTRICT="!test? ( test )"

DEPEND="test? ( dev-db/redis )"

src_prepare() {
local PATCHES=( "${FILESDIR}/${PN}-0.13.3-disable-network-tests.patch" )
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)" \
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

insinto /usr/$(get_libdir)/pkgconfig
doins ${PN}.pc

local DOCS=( CHANGELOG.md README.md )
use examples && DOCS+=( examples )
einstalldocs
}

0 comments on commit 06d9045

Please sign in to comment.