dev-db/redis: add 8.2.10

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:31:46 +01:00
parent 4fa1356a42
commit aa84b71b83
2 changed files with 206 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
DIST redis-8.10.1.tar.gz 4766971 BLAKE2B 640355f50d5a730cb0ef0962023245aca5aeaa9e63980438b1f0fddc0e921932a51ab4088d9f312d3d4a5ae0053927ed3e73f1862141970cbd8a6880e6165122 SHA512 8b11246fc63b2fe24788eae5d81a0c0b928a03bbd6ae85848bb62bea4ccd665e8b9be4dd5ad1edae9f0661f16a9f3f57531d6fcc48557740de7d33b465fa335d
DIST redis-8.2.10.tar.gz 3973334 BLAKE2B 8064f47059c2d5040b423c52dc0d98122962aa43e2b514e29b59290f694f0a6ac1c698709400d7e61814e95ece77b742434272ec941fc7db42380170c67a9ffe SHA512 c2d3c6203eef644a02ac5dd61fdd2199c4c040a8670f3d284abc0ee3900c7ef6bc4fd2aa390bd73df847e20214e49b0f2c4530ae001792debb18dace44a8a3fd
DIST redis-8.2.2.tar.gz 3945949 BLAKE2B c4f95152494a9d97325081fe78844c9c03ef4bb6612aa8b58575a43e5536c3d1684cc174f5ebf6afbfa7ef985392a8b859ea2abbac1b4dfdceb1f35c5267ebff SHA512 050f3022a7281417d462a1f7ad268432b43589396b6f14d5dbb7789cfd06c84d93e3c19b9b0a1898e6f99ec3d70271df7fbf34acbc623f0d5d9ad4c41db6b1cc
DIST redis-8.2.6.tar.gz 3955776 BLAKE2B d56073bb46d118327f23fa407c0abfed8946a4001559f59f273171ad97f116c2122bfc5e68851ed69e7c11bcd7148ace342cdc42163c389497d0e05331777192 SHA512 17aeb9080b3c6a6acc0a8bd8f1536c696b29db3e976fed04a422493babf2fa1bb0e14512adfc3dc220ba063ad3b842e5b2d3425b95792e1bb69f6908bf110ec1
DIST redis-8.2.7.tar.gz 3959871 BLAKE2B d667c6649f2d1410d29a4008cdf9b4505aa0f4054baa4a516e8da293dbf6c9a51814f4c58dba18463f35e91744ef814b2b1e405b9a9aaf7b0e8f78f631e4c330 SHA512 b83ab2e8b54146807af9dca54291b56e833a5719937af4b35ca81b89050e27c5897d4cf18df79037c6ece7595770ddb85e13c493331751ec9a975fd9bc83dd64

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
}