dev-db/redis: add 8.4.7

Bug: https://bugs.gentoo.org/982703
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2026-09-18 05:43:56 +01:00
parent a3b6c35f46
commit 48d67a2a9e
2 changed files with 206 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ DIST redis-8.2.7.tar.gz 3959871 BLAKE2B d667c6649f2d1410d29a4008cdf9b4505aa0f405
DIST redis-8.2.9.tar.gz 3963941 BLAKE2B d0de26968b193de6a046f313378da822afb14b655f13d09be496b94e3e5c6f4c1939f905c4009888b44015a263c249e6c728c05bdfc3a8e41208bbb7d3daa8fd SHA512 6c93650fc6a70ceb8caa939bb507b16eccbcf0c25aa53f840ca0a0d636e719ff1ad62bf9d4c6aeffe91a03e92683cb56cdf83c8ffac675f562c33916293ee3da
DIST redis-8.4.4.tar.gz 4174807 BLAKE2B 48541600d3c76e49027e2997b3e1766893c6ae6702c9cfabd94187b7d23b63bb218ff5a349b3e935045476acbbd20fe9b4254dcaf21fc95dcbb05d6a1982fcc7 SHA512 a3f9831e77ab55225ada4f50c3be373afbfcd92e695f14dedec2730322637d86a459cfb3b97ea4607e41c075a6b0078b6f23c2023eea9210015a2fdd4c7c4fa8
DIST redis-8.4.6.tar.gz 4179248 BLAKE2B 8d680afdfff8072b63d1a6c65456cc86f3ae13692364f01cd0435580d515267d444c287385b5e76b7688397eadc1b33e674a6f809e99e7b467ac94a909f44bcc SHA512 72925a221457ad5aa77f32db103974b26a0dfabfa5354d0b8c70cd8ceb361ac843c35eeb48997d6a4cc21a4f644aefdab04dcbf53f8af2312a7302391474d803
DIST redis-8.4.7.tar.gz 4190863 BLAKE2B 2924e8258c5a30c3ea0cf4af04682085b43ce10b485f4d8a2b02a8ac1e047a910a9686859b85293cee5a042b985ddb202dad9f5ad9ff69d9ae06127e4ae4bf53 SHA512 59cba1a2e0685fc52a69ad4760919847118e54167edfca8eeb40b0b831c8536fde1ff3db80f7a9316b9b8e92356d92dcd8275e271a07ca872f73fdd53f47cf6d
DIST redis-8.6.4.tar.gz 4312647 BLAKE2B 7000b31db555c4658a276caaa4d95af5b34ba18567ce2277e33c39221e52c4a5c0ced36a341ec3a83d1ba93ff53965760c50ebb4c0adb8ad9ae2f610748d3fd0 SHA512 8c2e0353eb7d63e2f45db70f205f14b649f4601d9db88a68d54518dfd49fd414cf9d06d209081693806caff84f0232b8c642274600eec33816c77f5beee9f82b
DIST redis-8.6.6.tar.gz 4318205 BLAKE2B 0d725e5af173b6135157d3b5e6b75903f5e23213e23a18886325f2a7083f27e88e660820487f2df323f6b21d5abaaa2b364fbcf20fafb88815201e71880ccac4 SHA512 5e322b5e7862e509d268b6b6f70ef51ca5598ba69cb86c38c269a173987a9e53a52df887c5d61f427dbe177ae608872994231aa79a578fc7f0a884b26c3defd8
DIST redis-8.8.0.tar.gz 4529181 BLAKE2B 4ef774ed0a830ef3b4a6b824395218287095d29ad195742677bd0356ea76151d95d03389468758feb3ff6cd5a92654b0f319b52f86b8a9d3e225085c69cd8408 SHA512 cf3def1df5cf66494364c5d047d2151559e995f8cc353e8cf6c81518032c10f79856d3eb61daac2b3f8b532fef5d2757286099b740991e0c32e885729984c956

View File

@@ -0,0 +1,205 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# N.B.: It is no clue in porting to Lua eclasses, as upstream have deviated
# too far from vanilla Lua, adding their own APIs like lua_enablereadonlytable
inherit autotools edo multiprocessing systemd tmpfiles toolchain-funcs
DESCRIPTION="A persistent caching system, key-value, and data structures database"
HOMEPAGE="
https://redis.io
https://github.com/redis/redis
"
SRC_URI="
https://github.com/redis/redis/archive/refs/tags/${PV}.tar.gz
-> ${P}.tar.gz
"
LICENSE="|| ( AGPL-3 RSAL-2 SSPL-1 ) Boost-1.0 MIT"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="jemalloc selinux ssl systemd tcmalloc test"
RESTRICT="!test? ( test )"
DEPEND="
jemalloc? ( >=dev-libs/jemalloc-5.1:=[stats] )
ssl? ( dev-libs/openssl:0= )
systemd? ( sys-apps/systemd:= )
tcmalloc? ( dev-util/google-perftools )
"
RDEPEND="
${DEPEND}
acct-group/redis
acct-user/redis
selinux? ( sec-policy/selinux-redis )
"
BDEPEND="
acct-group/redis
acct-user/redis
virtual/pkgconfig
test? (
dev-lang/tcl:0=
ssl? ( <dev-tcltk/tls-2 )
)
"
REQUIRED_USE="?? ( jemalloc tcmalloc )"
PATCHES=(
"${FILESDIR}"/${PN}-6.2.1-config.patch
"${FILESDIR}"/${PN}-7.2.0-system-jemalloc.patch
"${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
"${FILESDIR}"/${PN}-sentinel-7.2.0-config.patch
"${FILESDIR}"/${PN}-7.0.4-no-which.patch
"${FILESDIR}"/${PN}-8.2.6-tcmalloc-deprecated.patch
)
src_prepare() {
default
# Respect user CFLAGS in bundled lua
sed -i '/LUA_CFLAGS/s: -O2::g' deps/Makefile || die
# now we will rewrite present Makefiles
local makefiles="" MKF
local mysedconf=(
-e 's:$(CC):@CC@:g'
-e 's:$(CFLAGS):@AM_CFLAGS@:g'
-e 's: $(DEBUG)::g'
-e 's:-Werror ::g'
-e 's:-Werror=deprecated-declarations ::g'
)
for MKF in $(find -name 'Makefile' | cut -b 3-); do
mv "${MKF}" "${MKF}.in"
sed -i "${mysedconf[@]}" "${MKF}.in" || die "Sed failed for ${MKF}"
makefiles+=" ${MKF}"
done
# autodetection of compiler and settings; generates the modified Makefiles
cp "${FILESDIR}"/configure.ac-7.0 configure.ac || die
sed -i \
-e "/^AC_INIT/s|, __PV__, |, $PV, |" \
-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
configure.ac || die "Sed failed for configure.ac"
eautoreconf
}
src_configure() {
econf
# Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164
# also, don't define ANSI/c99 for lua twice
sed -i -e "s:-std=c99::g" deps{,/fast_float,/linenoise}/Makefile || die
}
src_compile() {
tc-export AR CC CXX RANLIB
local myconf=(
AR="${AR}"
CC="${CC}"
RANLIB="${RANLIB}"
V=1 # verbose
# OPTIMIZATION defaults to -O3. Let's respect user CFLAGS by setting it
# to empty value.
OPTIMIZATION=''
# Disable debug flags in bundled hiredis
DEBUG_FLAGS=''
BUILD_TLS=$(usex ssl)
USE_SYSTEMD=$(usex systemd)
)
if use jemalloc; then
myconf+=( MALLOC=jemalloc )
elif use tcmalloc; then
myconf+=( MALLOC=tcmalloc )
else
myconf+=( MALLOC=libc )
fi
emake "${myconf[@]}"
}
src_test() {
local runtestargs=(
--clients "$(makeopts_jobs)" # see bug #649868
# The Active defrag for argv test fails with edge values, it does not seem to be
# critical issue, see https://github.com/redis/redis/issues/14006
--skiptest "/Active defrag for argv retained by the main thread from IO thread.*"
# The following test fails with system jemalloc, as it expects
# different values, because the bundled jemalloc is compiled with
# --with-lg-quantum=3 parameter in order to provide additional size
# classes which are not 16 byte alligned.
--skiptest "Check MEMORY USAGE for embedded key strings with jemalloc"
)
if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
ewarn "oom-score-adj related tests will be skipped." \
"They are known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
runtestargs+=(
# unit/oom-score-adj was introduced in version 6.2.0
--skipunit unit/oom-score-adj # see bug #756382
# Following test was added in version 7.0.0 to unit/introspection.
# It also tries to adjust OOM score.
--skiptest "CONFIG SET rollback on apply error"
)
fi
if use ssl; then
edo ./utils/gen-test-certs.sh
runtestargs+=( --tls )
fi
edo ./runtest "${runtestargs[@]}"
}
src_install() {
insinto /etc/redis
doins redis.conf sentinel.conf
use prefix || fowners -R redis:redis /etc/redis /etc/redis/{redis,sentinel}.conf
fperms 0750 /etc/redis
fperms 0644 /etc/redis/{redis,sentinel}.conf
newconfd "${FILESDIR}/redis.confd-r2" redis
newinitd "${FILESDIR}/redis.initd-6" redis
systemd_newunit "${FILESDIR}/redis.service-4" redis.service
newtmpfiles "${FILESDIR}/redis.tmpfiles-2" redis.conf
newconfd "${FILESDIR}/redis-sentinel.confd-r1" redis-sentinel
newinitd "${FILESDIR}/redis-sentinel.initd-r1" redis-sentinel
insinto /etc/logrotate.d/
newins "${FILESDIR}/${PN}.logrotate" ${PN}
dodoc 00-RELEASENOTES BUGS CONTRIBUTING.md MANIFESTO README.md
dobin src/redis-cli
dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb
fperms 0750 /usr/sbin/redis-benchmark
dosym redis-server /usr/sbin/redis-sentinel
if use prefix; then
diropts -m0750
else
diropts -m0750 -o redis -g redis
fi
keepdir /var/{log,lib}/redis
}
pkg_postinst() {
tmpfiles_process redis.conf
}