diff options
author | Petr Vaněk <arkamar@atlas.cz> | 2022-12-16 12:23:47 +0100 |
---|---|---|
committer | Joonas Niilola <juippis@gentoo.org> | 2022-12-18 19:15:33 +0200 |
commit | a2173a701e720ec61ef8edffe34313600f28c889 (patch) | |
tree | ae250a68df3311d5d208797a5fb64e1bcd0cc6e0 /dev-db | |
parent | games-arcade/oshu: drop 2.0.1 (diff) | |
download | gentoo-a2173a701e720ec61ef8edffe34313600f28c889.tar.gz gentoo-a2173a701e720ec61ef8edffe34313600f28c889.tar.bz2 gentoo-a2173a701e720ec61ef8edffe34313600f28c889.zip |
dev-db/redis: add 7.0.7
Signed-off-by: Petr Vaněk <arkamar@atlas.cz>
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'dev-db')
-rw-r--r-- | dev-db/redis/Manifest | 1 | ||||
-rw-r--r-- | dev-db/redis/redis-7.0.7.ebuild | 187 |
2 files changed, 188 insertions, 0 deletions
diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest index d69a8f025335..9f0300fc16c3 100644 --- a/dev-db/redis/Manifest +++ b/dev-db/redis/Manifest @@ -2,3 +2,4 @@ DIST redis-6.2.7.tar.gz 2487287 BLAKE2B 06f1b1e16cdf06c38b67c1f1dcccc025da50cc37 DIST redis-6.2.8.tar.gz 2489670 BLAKE2B 6a05754dcf7e6ed8934f665c0dab544f6e393cbd5e55d5043e2055c15dcbaf1da16a63b5503c8b69fc9ad85c81fd92078e3175bff33d7481e21581176e06e3bd SHA512 b07009628211b21c3cf64c215515d3ce51b19ad5f69740c5f4566db58402ec7a9a43ee4c32bc944e0f2fbcd747703eb43c2444bd75c43ffa82b044f8c74c8d83 DIST redis-7.0.5.tar.gz 2968205 BLAKE2B c319a2f656e4bd26637735ef73e58eecc306e202b57d6da3a38150a02d738a414c6696e261b8ab88033e117aee4f02308aab9ca4a5f382d66ec3a10f3e020580 SHA512 16ff920cb8df4d82e78ef34209285024aa98189be8acbca86b10fb3064dcc70eac60206aadece6af08406860ed01a004ce3aaa86be896ea36c7f486686646753 DIST redis-7.0.6.tar.gz 2978882 BLAKE2B 3c15ad5adcd10ff4214a3b484d8cced3d845b25ecc462721b4bd605e683f7cad31417a4d7d1e0e8ccd98809a243fef17c51f649e438c822609a4eb2118e5a5ad SHA512 fca5a98f6bb4798304ae35f0a80cb46153d11ca4af7d3ad9de7cf5857b75f5fe04c10ea36f470e5d1af56b243af52b41b03bcce3e2c14385dfb08b454ff180fd +DIST redis-7.0.7.tar.gz 2979019 BLAKE2B fddf0c1aa9f9052b0e8efdac6958b7fae5006f06833da2b9ae016c4ac195a950e97ad0b70dc7a721cc80c2cf653ae7d1a352694b79ba432e611f77fb42d1d15e SHA512 56e33cf80439efa54694f26037ed8520fe51b25dbdfe57875d916c8f921131c71324b1dd1e974d0f9d523752d05e0f028cc8dd783ec8fa6d5d7e60b3081f78c0 diff --git a/dev-db/redis/redis-7.0.7.ebuild b/dev-db/redis/redis-7.0.7.ebuild new file mode 100644 index 000000000000..d16e991e2f8b --- /dev/null +++ b/dev-db/redis/redis-7.0.7.ebuild @@ -0,0 +1,187 @@ +# 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 selinux 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 + selinux? ( sec-policy/selinux-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 + "${FILESDIR}"/${PN}-7.0.4-no-which.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 + + --skiptest "Active defrag eval scripts" # see bug #851654 + ) + + 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 + + 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." +} |