summaryrefslogtreecommitdiff
path: root/dev-db/redis
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/redis')
-rw-r--r--dev-db/redis/Manifest16
-rw-r--r--dev-db/redis/files/configure.ac-7.058
-rw-r--r--dev-db/redis/redis-5.0.14.ebuild15
-rw-r--r--dev-db/redis/redis-6.0.16.ebuild40
-rw-r--r--dev-db/redis/redis-6.2.6.ebuild32
-rw-r--r--dev-db/redis/redis-6.2.7-r1.ebuild30
-rw-r--r--dev-db/redis/redis-7.0.0-r2.ebuild183
-rw-r--r--dev-db/redis/redis-7.0.0.ebuild38
-rw-r--r--dev-db/redis/redis-7.0.1-r1.ebuild183
-rw-r--r--dev-db/redis/redis-7.0.2.ebuild183
10 files changed, 712 insertions, 66 deletions
diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index 04b6e0140afa..e3c872638248 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -1,4 +1,5 @@
AUX configure.ac-3.2 1882 BLAKE2B b8bc3e04c3203977218ee1d6d68e9f841b84fe82ab8803027034237275fb548cde282748a2f96bc25532e61f8e25a50cba9e165aac578d5db634a7ffc587ee9e SHA512 13d9f16cde8a95c96bcd726056d670d390dea6e2752ac607bc68eefb6214f0ab18b0e27d3283f2b219febd2da82e6489bd434215c9380c3c85c711aa00cb2be5
+AUX configure.ac-7.0 1523 BLAKE2B fc05fd3fd13bf192d2a52096c89bfb87d6660c19b9c88f0c2d5541262626338146870441f361d5d6b9d19133e7c01d912b2f99d4db39e66627ddf2158e860a98 SHA512 de1c16ad2b89a99a34a0b3f2e341efe69bd879efbddeee44d96398ba2a1ef9896c69a9aed13fc24b25992f61019d3c9026c57504cffd4e5910ca2606d5a48d1e
AUX redis-3.2.3-config.patch 1495 BLAKE2B 9f3c04dfd97845dcd364b75e2e5f543bc40ec0221a5ce19ab3c194e55ceaf24f13c307276f616d9a7742662d9e4fa76152c7036f7728f787bbac55f2b1a00999 SHA512 d71c918ea4952ecb55cc4c87649745ee468587c289d60bd1bee87a2948a6e882d42afe36bb113392b5aaab17d315732cabfc472804204d3a043305a5488a4124
AUX redis-5.0-shared.patch 883 BLAKE2B 71a490d5c40d873db7d363c4f3cab966bf8e92fa84bcb7209344b79b3bfc4c6f8df5224c8ae0e5d9ee8dbd62d9e288e90934809e91fd6f63c7d1dd4a518170a9 SHA512 f1d1e37a4786a84e9543956e21644a1dcfdc52742299119ba1547b9fb56a92fdef3ca518d94a1db8a88222b661ac7849a4db0bf7ba38b1ae65f286e7df90f0c1
AUX redis-5.0-sharedlua.patch 2642 BLAKE2B f86d3c932a8c0f05e2d65725037a0780152b95835f88395cc74765902c3184a4e1ed0a3802f54345e91a70b6ac013419c6d3412df8fd2397ed300ff1e7210724 SHA512 971944ff03563bcc91c9f29316af2b0eb691c9d0e27d9e4f3fad30dc4e4afe34c077ccdbf5f93ebd78ea6571f809a801721376059780a30467274a7be5ca6425
@@ -26,9 +27,14 @@ DIST redis-6.0.16.tar.gz 2288647 BLAKE2B f3552cc0d27cbc5cf6556792da9a75d01ff70d3
DIST redis-6.2.6.tar.gz 2476542 BLAKE2B d139479432171294911d99e7e8c2327dbbc6682ea49de761c4bb4089a2efd814926f2f8823dca1826b4a61dd9ccf79abb22878c9463ac92870481b43d8a7fff7 SHA512 9b947d26fd9e208627ed22d318ab3d0775ab0be46d98db1c1d158feac671b984e75ce33e647d196face9643f80768af47e678be1b4e1ddd3eb56dff467c46022
DIST redis-6.2.7.tar.gz 2487287 BLAKE2B 06f1b1e16cdf06c38b67c1f1dcccc025da50cc3719688b8c2bf23077d77dd97ea546909043fb65e60478ac3661cc033fa6e8d7a38e361e69eb93ba3db07b7c66 SHA512 d113094b8e31754915db7f0317d9b7969e034af3a7bac2ae0cbfad6cc61ba3aae35e9709c435abc1024a96f914df7a760b3cd18d06c375b541cfa837d1c5b953
DIST redis-7.0.0.tar.gz 2943054 BLAKE2B 561cf591bacac51fddc375a1c725c385f9b0b4b4bb7fca7d889ee1b7760cf5ea986e26613a0f69fda9b6f8a02d02e055514d374be7913e26724e3857967fea22 SHA512 12ac925708c54b00b34c365dee39cb207fbe3cb3c99e8daad965e122b6e3a6543e3ca80e23e6a56f5dff6371d4f2b9c149ee51800ed540e1f1b9154a118ea07b
-EBUILD redis-5.0.14.ebuild 4665 BLAKE2B cf9e076f373a99384e49a4f411aa7e34a692b94dbbb4b58e2465735efe55fbd05ea10152373a14ac115f4f08b41b5eff580d3b457bff596ff29af9981433ffda SHA512 6fc35519713d68a57fd18dd3a6b36f1ed109481be47c988c5335469fe760a63f8f976c9834df0f25d9fb35d1c9b634c60316d64e0fd3ae32460d819ecbed2216
-EBUILD redis-6.0.16.ebuild 5122 BLAKE2B b6a0e8a15dba59fb7614ab9f0747f26165ce1ec96e735e783450c2a1eed9fa767a35d5ad172483b620da1dc0bb8b368643f692bb57c72c31deb4245774f60dfc SHA512 831b3fa61caad327c61e1132f53a35ae47efb1b5986142cdaf348aad0c6e885b9e36e1c4be2bfe99777270ef4f4074b2350913a435156b657dc01c71eaa31be1
-EBUILD redis-6.2.6.ebuild 5134 BLAKE2B 0a53df5479f14bf66bc15b2b72404cb9ed222c9f657166a5da9962fc0c727ae85076fa0a8f6b4b81f231df293c1907d84e2e344f0f39138f116184825aaae6ce SHA512 71add2d4e17c2f15405263b00244f84e8a4b2d744e3d0d143ef871a3e136c28fd8b183f9446f819c02fda52d134d652c993ef57706fa63fe95c9c0a38c8671c0
-EBUILD redis-6.2.7-r1.ebuild 5264 BLAKE2B 7d70836158962a02084a8a4c52091d9a7ef786a1ed12d2a185c7b5636bf8861a5f4c6dbd98cc4545bab81b08c9ad70e936c33538ff5c0f739739dd45d66a6af0 SHA512 244e125a12b1463f5a912b8eda9c564c9b0aab901157df22a5e4065df09679991158ebd5d620826b7a7cadd7f25921a24a5914f3cad46aaa5543bae9f45799e3
-EBUILD redis-7.0.0.ebuild 5264 BLAKE2B 7d70836158962a02084a8a4c52091d9a7ef786a1ed12d2a185c7b5636bf8861a5f4c6dbd98cc4545bab81b08c9ad70e936c33538ff5c0f739739dd45d66a6af0 SHA512 244e125a12b1463f5a912b8eda9c564c9b0aab901157df22a5e4065df09679991158ebd5d620826b7a7cadd7f25921a24a5914f3cad46aaa5543bae9f45799e3
+DIST redis-7.0.1.tar.gz 2955839 BLAKE2B 67ff36e5e78ab9a90d4404d0f0bddbe9b539166c826d8a1b314bb32cdece7d40caf5eff57302cd641548ed3b1e19aff1b657ed31a20233550636708b6386c2db SHA512 e61d27695fd2d439f204612b97a3ea245ebf92d418949460f7144026191ade4fac1647717bbb48a2b3e238856f0392af08b4fdb4358d04f2ccd1088ff9d3dac4
+DIST redis-7.0.2.tar.gz 2956784 BLAKE2B 418f6114662c9b9b67dc7f28f89f58fefee3eb5fec84a6193ca50034366c963986a56d1c96dadfdd88a88ea1ddd4542ed910b89c8a81c95b38aa4f7bdc5ae571 SHA512 bc8d679ecaad0220318b87be70476653f42b76815af61ff6f4e8885f5a5d17d41cea754fbf448f9e18e9a9f90227c5ac198fa9bc523370752f590ba01418a1b0
+EBUILD redis-5.0.14.ebuild 4792 BLAKE2B 091edcb9ac825bab031bec34d954e07f78702678ae02e23a24bd9544c43a51f91c270e8507827d1f7d69a7055f3a0e431745bbf61f9c9645ef108d7517fb9be7 SHA512 85e2c3496115c98f8b116b1e960e429cdac3acf83333c98ad880f692774e76212fd81ac40b97770ed8fc0691232f0b7f94581ad90c32fb8041e5829813cf7abd
+EBUILD redis-6.0.16.ebuild 5596 BLAKE2B 31fd97d2956903c97fd4a2997b488f2b4367871337cf4bb3d48141ff5534d550615a225aae8fe26182ee6037672f1920499676bbc605df3db185bad21fdc2f30 SHA512 916e2e80dda60b3a128aad7b53fc8d8a9fc8a44e4d5de5e00fbc68155111d2b4c69456f4217e11b6e53b1b27c76e871c181c91dd43b42b5c96027d7370e601ce
+EBUILD redis-6.2.6.ebuild 5352 BLAKE2B 2b0ac88bc478e1578a479a60bc8e20cfca0dc9e13333fd6e012aec87248866baea31671ed2dd61f90c2d765a0f256df45b3f2ea27f76767fbc766626ef413d9f SHA512 559291c386b7867e40de1af5a3ffd88c89555c7fbc110025853a583c8246bcd17f343e1c2166ae1c41ce6254588917bfd0f15710442ace4f0e531e8c2e63ec4d
+EBUILD redis-6.2.7-r1.ebuild 5482 BLAKE2B 820c3b7261a84cc6ae2313ef9adad5a43787b308b36b20525ee3ec3d1587095b979ebb4a00775c37aa6f54b2520de7fe204582120436fef94717fc7d101001e6 SHA512 2d28ededbd610a0d9d8d61229c67ebc747464b77214daff069a2acdea45d86170de1fe70cd465aa444dad72d7e466e46d8397c82643857a11d9347b0ecdf6396
+EBUILD redis-7.0.0-r2.ebuild 4789 BLAKE2B 64af7c02d2782a4eeafcf370c583fd7ee510a479d7eaff0298633e4c5f6f5d086338427af559d527b847af49617bd01d2373e130b119f25448360798af00cf25 SHA512 4d084698dbe6dbdc9e0e40dae6cb25f79a3d5fba5b73f9651a1f705fed65eb8c0074be69ef3ec3578997762dc839e01b179244db3de4f94343a3af28d7758ac7
+EBUILD redis-7.0.0.ebuild 5664 BLAKE2B 1313598911fb74f6de7fdfc8e58061b2bee2d71125241216781b59c04e35b2d3bec09a9692c29d068f0e9e1a376129479a9c72961a280a390977fd3a8a397812 SHA512 e8ac856a3fd91b080941a486163b74abed1e715de7e8b2fe35338ec89dbafb335b65b7e6dc255c4f250afa7563e64075587a9b4c6dd505aedce5161dc68b1ee0
+EBUILD redis-7.0.1-r1.ebuild 4789 BLAKE2B 64af7c02d2782a4eeafcf370c583fd7ee510a479d7eaff0298633e4c5f6f5d086338427af559d527b847af49617bd01d2373e130b119f25448360798af00cf25 SHA512 4d084698dbe6dbdc9e0e40dae6cb25f79a3d5fba5b73f9651a1f705fed65eb8c0074be69ef3ec3578997762dc839e01b179244db3de4f94343a3af28d7758ac7
+EBUILD redis-7.0.2.ebuild 4789 BLAKE2B 64af7c02d2782a4eeafcf370c583fd7ee510a479d7eaff0298633e4c5f6f5d086338427af559d527b847af49617bd01d2373e130b119f25448360798af00cf25 SHA512 4d084698dbe6dbdc9e0e40dae6cb25f79a3d5fba5b73f9651a1f705fed65eb8c0074be69ef3ec3578997762dc839e01b179244db3de4f94343a3af28d7758ac7
MISC metadata.xml 365 BLAKE2B a2a33da17b877c0e66732b18af4c41e78ad7f60403f7d63b43d16797228c2fe0b3e2af2d0ff56af23baa944ae489163732d84e0921335919f5cea26c589e12ea SHA512 54a8b9cb42305881b12ef37c4da78ba3760ab2de4b8f2663b099eba7188deaeae08f5649a0c101d6acae63cf20c20d4c5d33274dc3ec6ced80bed68114f32db2
diff --git a/dev-db/redis/files/configure.ac-7.0 b/dev-db/redis/files/configure.ac-7.0
new file mode 100644
index 000000000000..45397b33b7ec
--- /dev/null
+++ b/dev-db/redis/files/configure.ac-7.0
@@ -0,0 +1,58 @@
+# -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.63)
+AC_INIT(redis, __PV__, antirez@gmail.com)
+AM_CFLAGS="-std=c99 -pedantic -Wall -W -D__EXTENSIONS__ -D_XPG6"
+if test x"$CFLAGS" = x""; then
+ AM_CFLAGS="$AM_CFLAGS -O2"
+else
+ AM_CFLAGS="$AM_CFLAGS $CFLAGS"
+fi
+
+# options
+AC_MSG_CHECKING([whether to build with debug information])
+AC_ARG_ENABLE([debug],
+ [AS_HELP_STRING([--enable-debug],
+ [enable debug data generation (def=no)])],
+ [debugit="$enableval"],
+ [debugit=no])
+AC_MSG_RESULT([$debugit])
+
+if test x"$debugit" = x"yes"; then
+ AC_DEFINE([DEBUG],[],[Debug Mode])
+ AM_CFLAGS="$AM_CFLAGS -g -rdynamic -ggdb"
+else
+ AC_DEFINE([NDEBUG],[],[No-debug Mode])
+fi
+AC_SUBST([AM_CFLAGS])
+
+# Checks for programs.
+AC_PROG_CC
+
+# Checks for libraries.
+
+# Checks for header files.
+AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h limits.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_HEADER_STDBOOL
+AC_C_INLINE
+AC_TYPE_INT16_T
+AC_TYPE_INT32_T
+AC_TYPE_OFF_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_TYPE_SSIZE_T
+AC_TYPE_UINT16_T
+AC_TYPE_UINT32_T
+
+# Checks for library functions.
+AC_FUNC_ERROR_AT_LINE
+AC_FUNC_FORK
+AC_FUNC_STRCOLL
+AC_FUNC_STRTOD
+AC_CHECK_FUNCS([dup2 gethostbyname gettimeofday inet_ntoa memchr memmove memset select socket strcasecmp strchr strerror strstr strtol])
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
diff --git a/dev-db/redis/redis-5.0.14.ebuild b/dev-db/redis/redis-5.0.14.ebuild
index a8ec106eeb4d..b12534f6948d 100644
--- a/dev-db/redis/redis-5.0.14.ebuild
+++ b/dev-db/redis/redis-5.0.14.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit autotools flag-o-matic systemd toolchain-funcs tmpfiles
+inherit autotools edo flag-o-matic multiprocessing systemd tmpfiles toolchain-funcs
DESCRIPTION="A persistent caching system, key-value and data structures database"
HOMEPAGE="https://redis.io"
@@ -12,7 +12,7 @@ SRC_URI="http://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="+jemalloc tcmalloc luajit test"
+IUSE="+jemalloc tcmalloc luajit selinux test"
RESTRICT="!test? ( test )"
# Redis does NOT build with Lua 5.2 or newer at this time.
@@ -25,7 +25,8 @@ COMMON_DEPEND="
RDEPEND="
${COMMON_DEPEND}
acct-group/redis
- acct-user/redis"
+ acct-user/redis
+ selinux? ( sec-policy/selinux-redis )"
BDEPEND="
${COMMON_DEPEND}
@@ -93,7 +94,7 @@ src_prepare() {
LUAPKGCONFIG=lua
fi
# The upstream configure script handles luajit specially, and is not
- # effected by these changes.
+ # affected by these changes.
einfo "Selected LUAPKGCONFIG=${LUAPKGCONFIG}"
sed -i \
-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
@@ -126,6 +127,10 @@ src_compile() {
emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
}
+src_test() {
+ edo ./runtest --clients "$(makeopts_jobs)"
+}
+
src_install() {
insinto /etc/
doins redis.conf sentinel.conf
diff --git a/dev-db/redis/redis-6.0.16.ebuild b/dev-db/redis/redis-6.0.16.ebuild
index 347c229d7386..45e59b644a37 100644
--- a/dev-db/redis/redis-6.0.16.ebuild
+++ b/dev-db/redis/redis-6.0.16.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ EAPI=7
# because lua_open became lua_newstate in 5.2
LUA_COMPAT=( lua5-1 luajit )
-inherit autotools flag-o-matic lua-single systemd toolchain-funcs tmpfiles
+inherit autotools edo flag-o-matic lua-single multiprocessing systemd tmpfiles toolchain-funcs
DESCRIPTION="A persistent caching system, key-value and data structures database"
HOMEPAGE="https://redis.io"
@@ -20,7 +20,7 @@ SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="+jemalloc ssl systemd tcmalloc test"
+IUSE="+jemalloc selinux ssl systemd tcmalloc test"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
@@ -35,6 +35,7 @@ RDEPEND="
${COMMON_DEPEND}
acct-group/redis
acct-user/redis
+ selinux? ( sec-policy/selinux-redis )
"
BDEPEND="
@@ -64,9 +65,6 @@ PATCHES=(
src_prepare() {
default
- # unstable on jemalloc
- > tests/unit/memefficiency.tcl || die
-
# Copy lua modules into build dir
cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
@@ -93,7 +91,7 @@ src_prepare() {
# Use the correct pkgconfig name for Lua.
# The upstream configure script handles luajit specially, and is not
- # effected by these changes.
+ # affected by these changes.
sed -i \
-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
@@ -132,18 +130,30 @@ src_compile() {
}
src_test() {
- # Known to fail with FEATURES=usersandbox
- if has usersandbox ${FEATURES}; then
- ewarn "You are emerging ${P} with 'usersandbox' enabled." \
- "Expect some test failures or emerge with 'FEATURES=-usersandbox'!"
+ local runtestargs=(
+ --clients "$(makeopts_jobs)" # see bug #649868
+
+ # unstable on jemalloc, see https://github.com/gentoo/gentoo/pull/15924
+ --skiptest "Active defrag"
+ --skiptest "Active defrag big keys"
+ --skiptest "Active defrag big list"
+ --skiptest "Active defrag edge case"
+ )
+
+ if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
+ ewarn "unit/oom-score-adj test will be skipped." \
+ "It is known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
+
+ # unit/oom-score-adj was introduced in version 6.2.0 and it was later backported to 6.0.7
+ runtestargs+=( --skipunit unit/oom-score-adj ) # see bug #756382
fi
if use ssl; then
- ./utils/gen-test-certs.sh
- ./runtest --tls
- else
- ./runtest
+ edo ./utils/gen-test-certs.sh
+ runtestargs+=( --tls )
fi
+
+ edo ./runtest "${runtestargs[@]}"
}
src_install() {
diff --git a/dev-db/redis/redis-6.2.6.ebuild b/dev-db/redis/redis-6.2.6.ebuild
index 023aba8e9614..5f9d87086347 100644
--- a/dev-db/redis/redis-6.2.6.ebuild
+++ b/dev-db/redis/redis-6.2.6.ebuild
@@ -11,7 +11,7 @@ EAPI=7
# because lua_open became lua_newstate in 5.2
LUA_COMPAT=( lua5-1 luajit )
-inherit autotools flag-o-matic lua-single systemd toolchain-funcs tmpfiles
+inherit autotools edo flag-o-matic lua-single multiprocessing systemd tmpfiles toolchain-funcs
DESCRIPTION="A persistent caching system, key-value and data structures database"
HOMEPAGE="https://redis.io"
@@ -20,7 +20,7 @@ SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="+jemalloc ssl systemd tcmalloc test"
+IUSE="+jemalloc selinux ssl systemd tcmalloc test"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
@@ -35,6 +35,7 @@ RDEPEND="
${COMMON_DEPEND}
acct-group/redis
acct-user/redis
+ selinux? ( sec-policy/selinux-redis )
"
BDEPEND="
@@ -64,9 +65,6 @@ PATCHES=(
src_prepare() {
default
- # unstable on jemalloc
- > tests/unit/memefficiency.tcl || die
-
# Copy lua modules into build dir
cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
@@ -93,7 +91,7 @@ src_prepare() {
# Use the correct pkgconfig name for Lua.
# The upstream configure script handles luajit specially, and is not
- # effected by these changes.
+ # affected by these changes.
sed -i \
-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
@@ -132,18 +130,24 @@ src_compile() {
}
src_test() {
- # Known to fail with FEATURES=usersandbox
- if has usersandbox ${FEATURES}; then
- ewarn "You are emerging ${P} with 'usersandbox' enabled." \
- "Expect some test failures or emerge with 'FEATURES=-usersandbox'!"
+ local runtestargs=(
+ --clients "$(makeopts_jobs)" # see bug #649868
+ )
+
+ if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
+ ewarn "unit/oom-score-adj test will be skipped." \
+ "It is known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
+
+ # unit/oom-score-adj was introduced in version 6.2.0
+ runtestargs+=( --skipunit unit/oom-score-adj ) # see bug #756382
fi
if use ssl; then
- ./utils/gen-test-certs.sh
- ./runtest --tls
- else
- ./runtest
+ edo ./utils/gen-test-certs.sh
+ runtestargs+=( --tls )
fi
+
+ edo ./runtest "${runtestargs[@]}"
}
src_install() {
diff --git a/dev-db/redis/redis-6.2.7-r1.ebuild b/dev-db/redis/redis-6.2.7-r1.ebuild
index daabb56d3c64..a15818f6a3db 100644
--- a/dev-db/redis/redis-6.2.7-r1.ebuild
+++ b/dev-db/redis/redis-6.2.7-r1.ebuild
@@ -14,7 +14,7 @@ LUA_COMPAT=( lua5-1 luajit )
# Upstream have deviated too far from vanilla Lua, adding their own APIs
# like lua_enablereadonlytable, but we still need the eclass and such
# for bug #841422.
-inherit autotools flag-o-matic systemd toolchain-funcs lua-single tmpfiles
+inherit autotools edo flag-o-matic lua-single multiprocessing systemd tmpfiles toolchain-funcs
DESCRIPTION="A persistent caching system, key-value, and data structures database"
HOMEPAGE="https://redis.io"
@@ -23,7 +23,7 @@ SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="+jemalloc ssl systemd tcmalloc test"
+IUSE="+jemalloc selinux ssl systemd tcmalloc test"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
@@ -38,6 +38,7 @@ RDEPEND="
${COMMON_DEPEND}
acct-group/redis
acct-user/redis
+ selinux? ( sec-policy/selinux-redis )
"
BDEPEND="
@@ -66,9 +67,6 @@ PATCHES=(
src_prepare() {
default
- # unstable on jemalloc
- > tests/unit/memefficiency.tcl || die
-
# Copy lua modules into build dir
#cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
#cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
@@ -134,18 +132,24 @@ src_compile() {
}
src_test() {
- # Known to fail with FEATURES=usersandbox
- if has usersandbox ${FEATURES}; then
- ewarn "You are emerging ${P} with 'usersandbox' enabled." \
- "Expect some test failures or emerge with 'FEATURES=-usersandbox'!"
+ local runtestargs=(
+ --clients "$(makeopts_jobs)" # see bug #649868
+ )
+
+ if has usersandbox ${FEATURES} || ! has userpriv ${FEATURES}; then
+ ewarn "unit/oom-score-adj test will be skipped." \
+ "It is known to fail with FEATURES usersandbox or -userpriv. See bug #756382."
+
+ # unit/oom-score-adj was introduced in version 6.2.0
+ runtestargs+=( --skipunit unit/oom-score-adj ) # see bug #756382
fi
if use ssl; then
- ./utils/gen-test-certs.sh
- ./runtest --tls
- else
- ./runtest
+ edo ./utils/gen-test-certs.sh
+ runtestargs+=( --tls )
fi
+
+ edo ./runtest "${runtestargs[@]}"
}
src_install() {
diff --git a/dev-db/redis/redis-7.0.0-r2.ebuild b/dev-db/redis/redis-7.0.0-r2.ebuild
new file mode 100644
index 000000000000..c8c1359e41d5
--- /dev/null
+++ b/dev-db/redis/redis-7.0.0-r2.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2022 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 flag-o-matic multiprocessing systemd tmpfiles toolchain-funcs
+
+DESCRIPTION="A persistent caching system, key-value, and data structures database"
+HOMEPAGE="https://redis.io"
+SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="+jemalloc ssl systemd tcmalloc test"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ jemalloc? ( >=dev-libs/jemalloc-5.1:= )
+ ssl? ( dev-libs/openssl:0= )
+ systemd? ( sys-apps/systemd:= )
+ tcmalloc? ( dev-util/google-perftools )
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ acct-group/redis
+ acct-user/redis
+"
+
+BDEPEND="
+ ${COMMON_DEPEND}
+ virtual/pkgconfig
+"
+
+# Tcl is only needed in the CHOST test env
+DEPEND="
+ ${COMMON_DEPEND}
+ test? (
+ dev-lang/tcl:0=
+ ssl? ( dev-tcltk/tls )
+ )"
+
+REQUIRED_USE="?? ( jemalloc tcmalloc )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.2.1-config.patch
+ "${FILESDIR}"/${PN}-5.0-shared.patch
+ "${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
+ "${FILESDIR}"/${PN}-sentinel-5.0-config.patch
+)
+
+src_prepare() {
+ default
+
+ # Append cflag for lua_cjson
+ # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+ append-cflags "-DENABLE_CJSON_GLOBAL"
+
+ # now we will rewrite present Makefiles
+ local makefiles="" MKF
+ for MKF in $(find -name 'Makefile' | cut -b 3-); do
+ mv "${MKF}" "${MKF}.in"
+ sed -i -e 's:$(CC):@CC@:g' \
+ -e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+ -e 's: $(DEBUG)::g' \
+ -e 's:$(OBJARCH)::g' \
+ -e 's:ARCH:TARCH:g' \
+ -e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+ "${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/linenoise/Makefile deps/Makefile || die
+}
+
+src_compile() {
+ local myconf=""
+
+ if use jemalloc; then
+ myconf+="MALLOC=jemalloc"
+ elif use tcmalloc; then
+ myconf+="MALLOC=tcmalloc"
+ else
+ myconf+="MALLOC=libc"
+ fi
+
+ if use ssl; then
+ myconf+=" BUILD_TLS=yes"
+ fi
+
+ export USE_SYSTEMD=$(usex systemd)
+
+ tc-export AR CC RANLIB
+ emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
+}
+
+src_test() {
+ local runtestargs=(
+ --clients "$(makeopts_jobs)" # see bug #649868
+ )
+
+ 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 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
+
+ ewarn "The default redis configuration file location changed to:"
+ ewarn " /etc/redis/{redis,sentinel}.conf"
+ ewarn "Please apply your changes to the new configuration files."
+}
diff --git a/dev-db/redis/redis-7.0.0.ebuild b/dev-db/redis/redis-7.0.0.ebuild
index daabb56d3c64..617c6726205d 100644
--- a/dev-db/redis/redis-7.0.0.ebuild
+++ b/dev-db/redis/redis-7.0.0.ebuild
@@ -14,7 +14,7 @@ LUA_COMPAT=( lua5-1 luajit )
# Upstream have deviated too far from vanilla Lua, adding their own APIs
# like lua_enablereadonlytable, but we still need the eclass and such
# for bug #841422.
-inherit autotools flag-o-matic systemd toolchain-funcs lua-single tmpfiles
+inherit autotools edo flag-o-matic lua-single multiprocessing systemd tmpfiles toolchain-funcs
DESCRIPTION="A persistent caching system, key-value, and data structures database"
HOMEPAGE="https://redis.io"
@@ -22,8 +22,8 @@ SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
-IUSE="+jemalloc ssl systemd tcmalloc test"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="+jemalloc selinux ssl systemd tcmalloc test"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
@@ -38,6 +38,7 @@ RDEPEND="
${COMMON_DEPEND}
acct-group/redis
acct-user/redis
+ selinux? ( sec-policy/selinux-redis )
"
BDEPEND="
@@ -66,9 +67,6 @@ PATCHES=(
src_prepare() {
default
- # unstable on jemalloc
- > tests/unit/memefficiency.tcl || die
-
# Copy lua modules into build dir
#cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die
#cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die
@@ -134,18 +132,30 @@ src_compile() {
}
src_test() {
- # Known to fail with FEATURES=usersandbox
- if has usersandbox ${FEATURES}; then
- ewarn "You are emerging ${P} with 'usersandbox' enabled." \
- "Expect some test failures or emerge with 'FEATURES=-usersandbox'!"
+ local runtestargs=(
+ --clients "$(makeopts_jobs)" # see bug #649868
+ )
+
+ 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
- ./utils/gen-test-certs.sh
- ./runtest --tls
- else
- ./runtest
+ edo ./utils/gen-test-certs.sh
+ runtestargs+=( --tls )
fi
+
+ edo ./runtest "${runtestargs[@]}"
}
src_install() {
diff --git a/dev-db/redis/redis-7.0.1-r1.ebuild b/dev-db/redis/redis-7.0.1-r1.ebuild
new file mode 100644
index 000000000000..c8c1359e41d5
--- /dev/null
+++ b/dev-db/redis/redis-7.0.1-r1.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2022 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 flag-o-matic multiprocessing systemd tmpfiles toolchain-funcs
+
+DESCRIPTION="A persistent caching system, key-value, and data structures database"
+HOMEPAGE="https://redis.io"
+SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="+jemalloc ssl systemd tcmalloc test"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ jemalloc? ( >=dev-libs/jemalloc-5.1:= )
+ ssl? ( dev-libs/openssl:0= )
+ systemd? ( sys-apps/systemd:= )
+ tcmalloc? ( dev-util/google-perftools )
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ acct-group/redis
+ acct-user/redis
+"
+
+BDEPEND="
+ ${COMMON_DEPEND}
+ virtual/pkgconfig
+"
+
+# Tcl is only needed in the CHOST test env
+DEPEND="
+ ${COMMON_DEPEND}
+ test? (
+ dev-lang/tcl:0=
+ ssl? ( dev-tcltk/tls )
+ )"
+
+REQUIRED_USE="?? ( jemalloc tcmalloc )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.2.1-config.patch
+ "${FILESDIR}"/${PN}-5.0-shared.patch
+ "${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
+ "${FILESDIR}"/${PN}-sentinel-5.0-config.patch
+)
+
+src_prepare() {
+ default
+
+ # Append cflag for lua_cjson
+ # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+ append-cflags "-DENABLE_CJSON_GLOBAL"
+
+ # now we will rewrite present Makefiles
+ local makefiles="" MKF
+ for MKF in $(find -name 'Makefile' | cut -b 3-); do
+ mv "${MKF}" "${MKF}.in"
+ sed -i -e 's:$(CC):@CC@:g' \
+ -e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+ -e 's: $(DEBUG)::g' \
+ -e 's:$(OBJARCH)::g' \
+ -e 's:ARCH:TARCH:g' \
+ -e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+ "${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/linenoise/Makefile deps/Makefile || die
+}
+
+src_compile() {
+ local myconf=""
+
+ if use jemalloc; then
+ myconf+="MALLOC=jemalloc"
+ elif use tcmalloc; then
+ myconf+="MALLOC=tcmalloc"
+ else
+ myconf+="MALLOC=libc"
+ fi
+
+ if use ssl; then
+ myconf+=" BUILD_TLS=yes"
+ fi
+
+ export USE_SYSTEMD=$(usex systemd)
+
+ tc-export AR CC RANLIB
+ emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
+}
+
+src_test() {
+ local runtestargs=(
+ --clients "$(makeopts_jobs)" # see bug #649868
+ )
+
+ 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 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
+
+ ewarn "The default redis configuration file location changed to:"
+ ewarn " /etc/redis/{redis,sentinel}.conf"
+ ewarn "Please apply your changes to the new configuration files."
+}
diff --git a/dev-db/redis/redis-7.0.2.ebuild b/dev-db/redis/redis-7.0.2.ebuild
new file mode 100644
index 000000000000..c8c1359e41d5
--- /dev/null
+++ b/dev-db/redis/redis-7.0.2.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2022 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 flag-o-matic multiprocessing systemd tmpfiles toolchain-funcs
+
+DESCRIPTION="A persistent caching system, key-value, and data structures database"
+HOMEPAGE="https://redis.io"
+SRC_URI="https://download.redis.io/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="+jemalloc ssl systemd tcmalloc test"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ jemalloc? ( >=dev-libs/jemalloc-5.1:= )
+ ssl? ( dev-libs/openssl:0= )
+ systemd? ( sys-apps/systemd:= )
+ tcmalloc? ( dev-util/google-perftools )
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ acct-group/redis
+ acct-user/redis
+"
+
+BDEPEND="
+ ${COMMON_DEPEND}
+ virtual/pkgconfig
+"
+
+# Tcl is only needed in the CHOST test env
+DEPEND="
+ ${COMMON_DEPEND}
+ test? (
+ dev-lang/tcl:0=
+ ssl? ( dev-tcltk/tls )
+ )"
+
+REQUIRED_USE="?? ( jemalloc tcmalloc )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.2.1-config.patch
+ "${FILESDIR}"/${PN}-5.0-shared.patch
+ "${FILESDIR}"/${PN}-6.2.3-ppc-atomic.patch
+ "${FILESDIR}"/${PN}-sentinel-5.0-config.patch
+)
+
+src_prepare() {
+ default
+
+ # Append cflag for lua_cjson
+ # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61
+ append-cflags "-DENABLE_CJSON_GLOBAL"
+
+ # now we will rewrite present Makefiles
+ local makefiles="" MKF
+ for MKF in $(find -name 'Makefile' | cut -b 3-); do
+ mv "${MKF}" "${MKF}.in"
+ sed -i -e 's:$(CC):@CC@:g' \
+ -e 's:$(CFLAGS):@AM_CFLAGS@:g' \
+ -e 's: $(DEBUG)::g' \
+ -e 's:$(OBJARCH)::g' \
+ -e 's:ARCH:TARCH:g' \
+ -e '/^CCOPT=/s:$: $(LDFLAGS):g' \
+ "${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/linenoise/Makefile deps/Makefile || die
+}
+
+src_compile() {
+ local myconf=""
+
+ if use jemalloc; then
+ myconf+="MALLOC=jemalloc"
+ elif use tcmalloc; then
+ myconf+="MALLOC=tcmalloc"
+ else
+ myconf+="MALLOC=libc"
+ fi
+
+ if use ssl; then
+ myconf+=" BUILD_TLS=yes"
+ fi
+
+ export USE_SYSTEMD=$(usex systemd)
+
+ tc-export AR CC RANLIB
+ emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
+}
+
+src_test() {
+ local runtestargs=(
+ --clients "$(makeopts_jobs)" # see bug #649868
+ )
+
+ 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 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
+
+ ewarn "The default redis configuration file location changed to:"
+ ewarn " /etc/redis/{redis,sentinel}.conf"
+ ewarn "Please apply your changes to the new configuration files."
+}