From d934827bf44b7cfcf6711964418148fa60877668 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 25 Nov 2020 22:39:15 +0000 Subject: gentoo resync : 25.11.2020 --- dev-db/redis/Manifest | 7 +- dev-db/redis/files/redis-6.0.9-sharedlua.patch | 60 +++++++++ dev-db/redis/redis-5.0.10.ebuild | 162 +++++++++++++++++++++++ dev-db/redis/redis-6.0.6.ebuild | 164 ----------------------- dev-db/redis/redis-6.0.9.ebuild | 174 +++++++++++++++++++++++++ 5 files changed, 401 insertions(+), 166 deletions(-) create mode 100644 dev-db/redis/files/redis-6.0.9-sharedlua.patch create mode 100644 dev-db/redis/redis-5.0.10.ebuild delete mode 100644 dev-db/redis/redis-6.0.6.ebuild create mode 100644 dev-db/redis/redis-6.0.9.ebuild (limited to 'dev-db/redis') diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest index c17f17c061c6..7586bcd55d6c 100644 --- a/dev-db/redis/Manifest +++ b/dev-db/redis/Manifest @@ -4,6 +4,7 @@ AUX redis-5.0-shared.patch 883 BLAKE2B 71a490d5c40d873db7d363c4f3cab966bf8e92fa8 AUX redis-5.0-sharedlua.patch 2642 BLAKE2B f86d3c932a8c0f05e2d65725037a0780152b95835f88395cc74765902c3184a4e1ed0a3802f54345e91a70b6ac013419c6d3412df8fd2397ed300ff1e7210724 SHA512 971944ff03563bcc91c9f29316af2b0eb691c9d0e27d9e4f3fad30dc4e4afe34c077ccdbf5f93ebd78ea6571f809a801721376059780a30467274a7be5ca6425 AUX redis-5.0.8-ppc-atomic.patch 495 BLAKE2B a995c1b1e327416705151dd888b98fe02fdea8126359f3ffa2cce4d5794d7677ffc4dc7f628d076bc0ed341dac4010ffb9409ee25113fe9cac2298658e94802e SHA512 f4f2c2aad5d09e9fafa58946fdc79aa49d8f16ce6d389dd653522295dc397796c58c87f4fb92016af8c261aa4b00a7eab09d33a19eded496807444d234a9abd9 AUX redis-6.0.3-sharedlua.patch 2815 BLAKE2B 323c13cd06ee50cc86a6f4b4896ab3c887c55a4ec836b6c40e509b166207075ced4cc35b0e9d3490fb893405fc6b4cd325e2e1688acec61a15ef1d34cfc78be1 SHA512 a4e2c54ec9fbaa594290178af26430b5e139b1fb12d44327074077e3e2bff45b9e999d8911f3bc0ac10f5b0afba4ef0993bba610355cb8701bce72a48a6ec634 +AUX redis-6.0.9-sharedlua.patch 2871 BLAKE2B 57e56b6cbe6999a2f21daf527aab1a05b6f5107750d8f4afed0f2792ef418a84e6e1addde833ee3969b2aca24b698f2ddc17187eaa726f87642c81ea144b617e SHA512 f39021b66af0d9c7386802430dd26c43fa6fb5ac572dfe459cc00f9f5cd424797bdb13eddfebba5d2f11e9ecf6456f571c7e58190a4f308f889f512250a78092 AUX redis-sentinel-5.0-config.patch 706 BLAKE2B 0fa0166bbb3460e783e85b90acf4c606b83e271d8e9828bb5b3a39b623508b21dac33369ac25b645169271822e9c5deb6ea7294e40fc8d1a5ceec5129c174505 SHA512 2dee5666d50fc5d9b6021735a95c9a9647ba99c562e348785381d5a05f1388c3fb9e8c4a15b0de771cf73fb80e5e29f1df25805df749457a2ce4f2e3f2e0e9e8 AUX redis-sentinel.confd 470 BLAKE2B f77fd7e35c753e35aafa6e773dcc00d2779bc29d8579334078bd6124aab436dff671ae790c0b0e3cefdd4082fe212b4b71501b529176cb0a1e5f8c8cdcf1387e SHA512 ea455f8c73c21bc46127ea5c7b99dc5707ad41160e5fd61367555dd2e3fd5c1518026257651e7d371a60a64b682b6839dd37580f75308c73239edeba49d6b372 AUX redis-sentinel.initd 648 BLAKE2B eaea4a047dfa61a325fa2bfeb30b422220d4fad699a693b9141a74575dc153ad3db2dafa3fa06ef195914a32f2a6aacfb3fc2e3b80ebe6b75316700fbd84221d SHA512 dfd1dadedf9b7376667d1966072c28e5e23e17592bf66753eae4bbc084225714f30c6450001f643c1561ff3a2eb2e50f719d32ff34f5419040ff42a2c4fbd70d @@ -13,8 +14,10 @@ AUX redis.logrotate 105 BLAKE2B 1281fd86d399b40aaaa69d1fe170b2c49523c074e14b1290 AUX redis.service-3 249 BLAKE2B 92a6914601fa9b587f439e5cb30c9b00ed53d6dc9d18f7ca8f34075f3d77836b82018baf3d6e46ad27ab90ed5de5a553fd5ffe4305afadb7b173b56dcb328de3 SHA512 5af7d61282e90e72faa8b328c11c70bd2cb255265e3a29c4f2208795c4876a08f9e01cb473d2a537362ed0b282b22aa51612cb95e192f96fa9a7b974a99da369 AUX redis.tmpfiles 61 BLAKE2B 1c3bf8aa105940c408163f61c63ed16b86de7a979cb5143d15700cac329970f351cb9b9377aa82e6f4dae377b00c1710a1e0f54334f007cfed64551f761034d4 SHA512 741ff5a4df5b04e7af4e81357812bf5b6cf992bc18b6052074aef134401d0a92703a2e41f52966012c05ea80fac5636435c8d3e6ed55e62a5711526ba67ee738 AUX redis.tmpfiles-2 57 BLAKE2B 1e0577c1828bb693cf820f3ba5e77d7d748adf4df2d1910d465ce097765308c7b7ea729526404120d04a79b547e865df93f7bfce1e63341c73563496f1dce691 SHA512 3de050ce044b7daf71219ec61dee2bc31acef161319b87ec2963b23c72e8a4807f1302c4932897664a63ef94507449f6ab75ce18d59f5e1a4558c330a7042e43 +DIST redis-5.0.10.tar.gz 1990507 BLAKE2B a3ed76efb387e2a8292f71607c19826c8a0a890f1c47c126fc4cf084955fcc5889e743d7c7103e4c66ad6c81c2b2d0d482b1b4a62ab11a757f4cf84271ae8199 SHA512 4dd3a639f44f2f077b36621f9eb88dc340089890abf07f57a969172ea806e1bd205f61e6842d316294b52cd73c98aec3363686b2a292efc18a2e1bdbd358fb3c DIST redis-5.0.9.tar.gz 1986574 BLAKE2B 7802d0556d11c9be8577b9bb3f4dbad8c2419b38659001421f96040e8a64a4a304e9dc1f06d82802ce1c92515d166cfd37c2f347df4c4cda0c2c4c2bb10d27c5 SHA512 d2c7bc1f769bc5d179bfe6e71954962813b50597eafc752a9b1edf2fd87e84707b7daf0910db56dd0e89cb3bdb3e551da7f111ae4899f505bac5f77f99744c13 -DIST redis-6.0.6.tar.gz 2228781 BLAKE2B 42396f464611cd5d83a79a97d2e4f74c0adabf9338802ec748c24f6ea46d42c6e51fedecc5cd26c7cff6b2a3c7a26bbbf79db7a54a6cbeff388587d186268796 SHA512 bb60aff6e495b201fed814eb134e6ce2825429ef6bd52215c7369eec941318ba460d60ad7b0cef3684b3f992823d465869177dc1d0eb16886bfed598dff74f65 +DIST redis-6.0.9.tar.gz 2261418 BLAKE2B 93e64e2c682320d11e468021fd13a2888dd6b15430c15eaaa9468242d9b4d8b60e29dfe656e677774dc88ed751471284d1adf94c723521085019b375785abe7a SHA512 ebae2b09637fdbdc71dd22b72ccea24e2c21beb81c6ff5c4bae8b341886a7d847ce868f52dc917079bab8aa250ff61c83efe8acbb8a1cbc5e285c7842b0aefa3 +EBUILD redis-5.0.10.ebuild 4744 BLAKE2B 911a324ae75ab43090425efbb15fec52b2568e09944656450d13eb82d730466466b638adab70bf71378726d08da982a05d1a7b0bf0db7e8d7fc65606ded549de SHA512 270f9e9b8037799c2e59037c968796155d9c5dcbb29a69e72e1544cd310f0921a9e26101e37b6d4d6701b40ad6114bd1f931d36d8be2d96994ad861ce6cc39ac EBUILD redis-5.0.9-r1.ebuild 4737 BLAKE2B 2c8ee5fee1812d8c8af4ae154e91450f99e13e1ca574466b5f86090b89d24fd64eba3367be67909f04761bf576db27885c0b78bf05547bf39352a8655f25c324 SHA512 25b463fc2b71c5671f1414d071c697f06ff3df5c7e4e958449dc6031bd28aa4464d624d6e32514ee9c60d9e6246e1b23f0e710ab384460e60754f2c48c3187c3 -EBUILD redis-6.0.6.ebuild 4705 BLAKE2B f7082975e525a81280bbbfef7ca72e662cdcde23391f033cd7851c8ec780d3239cba21b71a0808a721d28356233590ec41eb6160f7e9c4b82664ceb7ae33e9bc SHA512 47cf629bf66800b00a545fff07aecc6889bd28c526e666763254d8598e9ad8dd567c08c73f3c006843f161f369278bca27e3b62a3927ac1af1ba18177545d6c9 +EBUILD redis-6.0.9.ebuild 4949 BLAKE2B e67312a51b324b149eb6bebdf0da4a23ac5d07d39c60d18e072ff829188403c7d831594ae71f388376954fc91f0fec40e193dae52dbd4da0ff8779547e06c67e SHA512 034a2f4936d283f7c491f2299aecff576e4cbe3337f4d830ac6be655ffadef3c3dd003b680c4b9224da06c3d2f61df23704279985119a409dd009164c77a65d2 MISC metadata.xml 356 BLAKE2B 19e27b12be84927b990fc2f481d8dd1f88f05b5e029fdd91c7ce9517e7fd378d6e1df1eb55052a04fefe781da09b371da1c28fd269c72f4222aa896897222bf7 SHA512 ab06f694c5b20072f40e85b3a8e05d2c333f3b29fc145733fde1e3f42ea78ac7c51550afc29e671ef9b4a163597ac9f44bc182344c18db52036595e5d65f7e22 diff --git a/dev-db/redis/files/redis-6.0.9-sharedlua.patch b/dev-db/redis/files/redis-6.0.9-sharedlua.patch new file mode 100644 index 000000000000..1793dc9cb884 --- /dev/null +++ b/dev-db/redis/files/redis-6.0.9-sharedlua.patch @@ -0,0 +1,60 @@ +diff --git a/deps/lua/src/lua_cjson.c b/deps/lua/src/lua_cjson.c +index c26c0d7..fa50c41 100644 +--- a/deps/lua/src/lua_cjson.c ++++ b/deps/lua/src/lua_cjson.c +@@ -46,7 +46,7 @@ + #include "strbuf.h" + #include "fpconv.h" + +-#include "../../../src/solarisfixes.h" ++#include "solarisfixes.h" + + #ifndef CJSON_MODNAME + #define CJSON_MODNAME "cjson" +diff --git a/src/Makefile b/src/Makefile +index 3a09ccd..c50acf0 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -16,7 +16,7 @@ release_hdr := $(shell sh -c './mkreleasehdr.sh') + uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') + uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not') + OPTIMIZATION?=-O2 +-DEPENDENCY_TARGETS=hiredis linenoise lua ++DEPENDENCY_TARGETS=hiredis linenoise + NODEPS:=clean distclean + + # Default settings +@@ -76,6 +76,7 @@ endif + FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) + FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG) + FINAL_LIBS=-lm ++FINAL_LIBS+=@LUA_LIBS@ + DEBUG=-g -ggdb + + # Linux ARM needs -latomic at linking time +@@ -166,7 +167,7 @@ endif + endif + endif + # Include paths to dependencies +-FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src ++FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise @LUA_CFLAGS@ + + # Determine systemd support and/or build preference (defaulting to auto-detection) + BUILD_WITH_SYSTEMD=no +@@ -246,6 +247,7 @@ endif + REDIS_SERVER_NAME=redis-server$(PROG_SUFFIX) + REDIS_SENTINEL_NAME=redis-sentinel$(PROG_SUFFIX) + REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crcspeed.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o lolwut.o lolwut5.o lolwut6.o acl.o gopher.o tracking.o connection.o tls.o sha256.o timeout.o setcpuaffinity.o ++REDIS_SERVER_OBJ+=fpconv.o strbuf.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o + REDIS_CLI_NAME=redis-cli$(PROG_SUFFIX) + REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o crcspeed.o crc64.o siphash.o crc16.o + REDIS_BENCHMARK_NAME=redis-benchmark$(PROG_SUFFIX) +@@ -299,7 +301,7 @@ endif + + # redis-server + $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ) +- $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a $(FINAL_LIBS) ++ $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(FINAL_LIBS) + + # redis-sentinel + $(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME) diff --git a/dev-db/redis/redis-5.0.10.ebuild b/dev-db/redis/redis-5.0.10.ebuild new file mode 100644 index 000000000000..1c36ec874b77 --- /dev/null +++ b/dev-db/redis/redis-5.0.10.ebuild @@ -0,0 +1,162 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools flag-o-matic systemd toolchain-funcs + +DESCRIPTION="A persistent caching system, key-value and data structures database" +HOMEPAGE="https://redis.io" +SRC_URI="http://download.redis.io/releases/${P}.tar.gz" + +LICENSE="BSD" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris" +IUSE="+jemalloc tcmalloc luajit test" +RESTRICT="!test? ( test )" +SLOT="0" + +# Redis does NOT build with Lua 5.2 or newer at this time. +# This should link correctly with both unslotted & slotted Lua, without +# changes. +COMMON_DEPEND=" + luajit? ( dev-lang/luajit:2 ) + !luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) ) + tcmalloc? ( dev-util/google-perftools ) + jemalloc? ( >=dev-libs/jemalloc-5.1:= )" + +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= )" + +REQUIRED_USE="?? ( tcmalloc jemalloc )" + +PATCHES=( + "${FILESDIR}"/${PN}-3.2.3-config.patch + "${FILESDIR}"/${PN}-5.0-shared.patch + "${FILESDIR}"/${PN}-5.0-sharedlua.patch + "${FILESDIR}"/${PN}-5.0.8-ppc-atomic.patch + "${FILESDIR}"/${PN}-sentinel-5.0-config.patch +) + +src_prepare() { + default + + # don't call ar directly + sed -e '/^STLIB_MAKE_CMD/s/ar/$(AR)/g' \ + -i deps/hiredis/Makefile || die + + # Copy lua modules into build dir + cp deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c src/ || die + cp deps/lua/src/{fpconv,strbuf}.h src/ || die + # 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-3.2 configure.ac || die + + # Use the correct pkgconfig name for Lua + if false && has_version 'dev-lang/lua:5.3'; then + # Lua5.3 gives: + #lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h" + LUAPKGCONFIG=lua5.3 + elif false && has_version 'dev-lang/lua:5.2'; then + # Lua5.2 fails with: + # scripting.c:(.text+0x1f9b): undefined reference to `lua_open' + # Because lua_open because lua_newstate in 5.2 + LUAPKGCONFIG=lua5.2 + elif has_version 'dev-lang/lua:5.1'; then + LUAPKGCONFIG=lua5.1 + else + LUAPKGCONFIG=lua + fi + # The upstream configure script handles luajit specially, and is not + # effected by these changes. + einfo "Selected LUAPKGCONFIG=${LUAPKGCONFIG}" + sed -i \ + -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \ + -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \ + -e "/PKG_CHECK_MODULES.*\/s,lua5.1,${LUAPKGCONFIG},g" \ + configure.ac || die "Sed failed for configure.ac" + eautoreconf +} + +src_configure() { + econf $(use_with luajit) + + # 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 tcmalloc; then + myconf="${myconf} USE_TCMALLOC=yes" + elif use jemalloc; then + myconf="${myconf} JEMALLOC_SHARED=yes" + else + myconf="${myconf} MALLOC=yes" + fi + + tc-export AR CC RANLIB + emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}" +} + +src_install() { + insinto /etc/ + doins redis.conf sentinel.conf + use prefix || fowners redis:redis /etc/{redis,sentinel}.conf + fperms 0644 /etc/{redis,sentinel}.conf + + newconfd "${FILESDIR}/redis.confd-r1" redis + newinitd "${FILESDIR}/redis.initd-5" redis + + systemd_newunit "${FILESDIR}/redis.service-3" redis.service + systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles-2" redis.conf + + newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel + newinitd "${FILESDIR}/redis-sentinel.initd" 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 +} diff --git a/dev-db/redis/redis-6.0.6.ebuild b/dev-db/redis/redis-6.0.6.ebuild deleted file mode 100644 index 16fd3cbb2f80..000000000000 --- a/dev-db/redis/redis-6.0.6.ebuild +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools flag-o-matic systemd toolchain-funcs - -DESCRIPTION="A persistent caching system, key-value and data structures database" -HOMEPAGE="https://redis.io" -SRC_URI="http://download.redis.io/releases/${P}.tar.gz" - -LICENSE="BSD" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris" -IUSE="+jemalloc luajit tcmalloc test" -RESTRICT="!test? ( test )" -SLOT="0" - -# Redis does NOT build with Lua 5.2 or newer at this time. -# This should link correctly with both unslotted & slotted Lua, without -# changes. -COMMON_DEPEND=" - jemalloc? ( >=dev-libs/jemalloc-5.1:= ) - luajit? ( dev-lang/luajit:2 ) - !luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) ) - 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= )" - -REQUIRED_USE="?? ( jemalloc tcmalloc )" - -PATCHES=( - "${FILESDIR}"/${PN}-3.2.3-config.patch - "${FILESDIR}"/${PN}-5.0-shared.patch - "${FILESDIR}"/${PN}-6.0.3-sharedlua.patch - "${FILESDIR}"/${PN}-5.0.8-ppc-atomic.patch - "${FILESDIR}"/${PN}-sentinel-5.0-config.patch -) - -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 - # 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-3.2 configure.ac || die - - # Use the correct pkgconfig name for Lua - if false && has_version 'dev-lang/lua:5.3'; then - # Lua5.3 gives: - #lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h" - LUAPKGCONFIG=lua5.3 - elif false && has_version 'dev-lang/lua:5.2'; then - # Lua5.2 fails with: - # scripting.c:(.text+0x1f9b): undefined reference to `lua_open' - # Because lua_open because lua_newstate in 5.2 - LUAPKGCONFIG=lua5.2 - elif has_version 'dev-lang/lua:5.1'; then - LUAPKGCONFIG=lua5.1 - else - LUAPKGCONFIG=lua - fi - # The upstream configure script handles luajit specially, and is not - # effected by these changes. - einfo "Selected LUAPKGCONFIG=${LUAPKGCONFIG}" - sed -i \ - -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \ - -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \ - -e "/PKG_CHECK_MODULES.*\/s,lua5.1,${LUAPKGCONFIG},g" \ - configure.ac || die "Sed failed for configure.ac" - eautoreconf -} - -src_configure() { - econf $(use_with luajit) - - # 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 - - tc-export AR CC RANLIB - emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}" -} - -src_install() { - insinto /etc/ - doins redis.conf sentinel.conf - use prefix || fowners redis:redis /etc/{redis,sentinel}.conf - fperms 0644 /etc/{redis,sentinel}.conf - - newconfd "${FILESDIR}/redis.confd-r1" redis - newinitd "${FILESDIR}/redis.initd-5" redis - - systemd_newunit "${FILESDIR}/redis.service-3" redis.service - systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles-2" redis.conf - - newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel - newinitd "${FILESDIR}/redis-sentinel.initd" 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 -} diff --git a/dev-db/redis/redis-6.0.9.ebuild b/dev-db/redis/redis-6.0.9.ebuild new file mode 100644 index 000000000000..4248e34c7462 --- /dev/null +++ b/dev-db/redis/redis-6.0.9.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools flag-o-matic systemd toolchain-funcs + +DESCRIPTION="A persistent caching system, key-value and data structures database" +HOMEPAGE="https://redis.io" +SRC_URI="http://download.redis.io/releases/${P}.tar.gz" + +LICENSE="BSD" +KEYWORDS="amd64 arm arm64 ~hppa ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris" +IUSE="+jemalloc luajit tcmalloc test" +RESTRICT="!test? ( test )" +SLOT="0" + +# Redis does NOT build with Lua 5.2 or newer at this time. +# This should link correctly with both unslotted & slotted Lua, without +# changes. +COMMON_DEPEND=" + jemalloc? ( >=dev-libs/jemalloc-5.1:= ) + luajit? ( dev-lang/luajit:2 ) + !luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) ) + 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= )" + +REQUIRED_USE="?? ( jemalloc tcmalloc )" + +PATCHES=( + "${FILESDIR}"/${PN}-3.2.3-config.patch + "${FILESDIR}"/${PN}-5.0-shared.patch + "${FILESDIR}"/${PN}-6.0.9-sharedlua.patch + "${FILESDIR}"/${PN}-5.0.8-ppc-atomic.patch + "${FILESDIR}"/${PN}-sentinel-5.0-config.patch +) + +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 + # 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-3.2 configure.ac || die + + # Use the correct pkgconfig name for Lua + if false && has_version 'dev-lang/lua:5.3'; then + # Lua5.3 gives: + #lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h" + LUAPKGCONFIG=lua5.3 + elif false && has_version 'dev-lang/lua:5.2'; then + # Lua5.2 fails with: + # scripting.c:(.text+0x1f9b): undefined reference to `lua_open' + # Because lua_open because lua_newstate in 5.2 + LUAPKGCONFIG=lua5.2 + elif has_version 'dev-lang/lua:5.1'; then + LUAPKGCONFIG=lua5.1 + else + LUAPKGCONFIG=lua + fi + # The upstream configure script handles luajit specially, and is not + # effected by these changes. + einfo "Selected LUAPKGCONFIG=${LUAPKGCONFIG}" + sed -i \ + -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \ + -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \ + -e "/PKG_CHECK_MODULES.*\/s,lua5.1,${LUAPKGCONFIG},g" \ + configure.ac || die "Sed failed for configure.ac" + eautoreconf +} + +src_configure() { + econf $(use_with luajit) + + # 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 + + tc-export AR CC RANLIB + emake V=1 ${myconf} AR="${AR}" CC="${CC}" RANLIB="${RANLIB}" +} + +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'!" + fi + + emake check +} + +src_install() { + insinto /etc/ + doins redis.conf sentinel.conf + use prefix || fowners redis:redis /etc/{redis,sentinel}.conf + fperms 0644 /etc/{redis,sentinel}.conf + + newconfd "${FILESDIR}/redis.confd-r1" redis + newinitd "${FILESDIR}/redis.initd-5" redis + + systemd_newunit "${FILESDIR}/redis.service-3" redis.service + systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles-2" redis.conf + + newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel + newinitd "${FILESDIR}/redis-sentinel.initd" 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 +} -- cgit v1.2.3