From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1304830-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id E3FC613933E
	for <garchives@archives.gentoo.org>; Thu, 22 Jul 2021 03:23:37 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id E40D0E0AE1;
	Thu, 22 Jul 2021 03:23:36 +0000 (UTC)
Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id B7BA9E0AD6
	for <gentoo-commits@lists.gentoo.org>; Thu, 22 Jul 2021 03:23:36 +0000 (UTC)
Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id E435E342C13
	for <gentoo-commits@lists.gentoo.org>; Thu, 22 Jul 2021 03:23:34 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 6747A7DE
	for <gentoo-commits@lists.gentoo.org>; Thu, 22 Jul 2021 03:23:33 +0000 (UTC)
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" <sam@gentoo.org>
Message-ID: <1626924030.e0f98815a09bb06475b449dd39f22f7b1db5b95b.sam@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-db/redis/
X-VCS-Repository: repo/gentoo
X-VCS-Files: dev-db/redis/Manifest dev-db/redis/redis-6.2.5.ebuild
X-VCS-Directories: dev-db/redis/
X-VCS-Committer: sam
X-VCS-Committer-Name: Sam James
X-VCS-Revision: e0f98815a09bb06475b449dd39f22f7b1db5b95b
X-VCS-Branch: master
Date: Thu, 22 Jul 2021 03:23:33 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: bcc3935e-40c3-43e5-999a-3fa56a76081f
X-Archives-Hash: 69133121f07f8a806260ec298bca177c

commit:     e0f98815a09bb06475b449dd39f22f7b1db5b95b
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 22 03:16:16 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jul 22 03:20:30 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e0f98815

dev-db/redis: add 6.2.5

Bug: https://bugs.gentoo.org/803302
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-db/redis/Manifest           |   1 +
 dev-db/redis/redis-6.2.5.ebuild | 187 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 188 insertions(+)

diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest
index 2d8b36ee3cd..7639347ff61 100644
--- a/dev-db/redis/Manifest
+++ b/dev-db/redis/Manifest
@@ -3,3 +3,4 @@ DIST redis-5.0.13.tar.gz 1995566 BLAKE2B 1020b26162d212f980fd07bfe1879120306c7e7
 DIST redis-6.0.14.tar.gz 2277029 BLAKE2B 1eeeae5243ca380e354dfe5c8ad5b869669dc94b9570c8151033f89a23025bf027267eea00549f411e019b3c79ffa5d2e29eacff660e9f4b614953b023824c04 SHA512 a1de2131420bc11f831ff48607be2cf4a7775702fcc4fc777e09ebdc36277f1b468b22a1d35758338c0b44f9b3ae7b119139a79eb2419d40acbbf49d8c4a7e77
 DIST redis-6.0.15.tar.gz 2282471 BLAKE2B b7f37a76d2a16e0f84f51a737e2c23ebc27750ece790cf800a0f70bfd481db01d82dc68511f80e5935dc73d70f02716a4f9005d4d177ecf3f2a0c5290ecd41ff SHA512 e7ba123798a11e1c68dd6d3ebb0586bed4f2bb33755871f1577f7e0229f826b468c2130c31bcc85a64ce7ff54e280df0a7c60e0882f3ed2a11d43e7819fe8b9e
 DIST redis-6.2.4.tar.gz 2457940 BLAKE2B 3e89e404a624db6f739fdab72b8b7f7f92b6e96b01e33c63b6f5fa2f80fc72d8b8eaca4ecb7c57cdaf127956ba1a580ec851012b57426ebe7bb4cba890e1dcae SHA512 22db5b64de20a4823fd219b559c05f329e37fc86ce32099c64655dc50e60228706c99bffeae8d7080d8689910879318ec6621388bde23bf1486aefb881f33cb0
+DIST redis-6.2.5.tar.gz 2465302 BLAKE2B 51cc672ab432bb87560151521289d04e8fefb8e4df820f58a9b742131a0f1960c0019dec42a601bad827ec2a172375b88b6cf32a19aef42964e18f5a7a911c40 SHA512 8c54451032cbb627ec2827251556cba2010e56544baca7ea117b5afd2c2add484acbedd3baf21bdb8fd10672602cf52294a4e26b135c1406d7a723c048275e3a

diff --git a/dev-db/redis/redis-6.2.5.ebuild b/dev-db/redis/redis-6.2.5.ebuild
new file mode 100644
index 00000000000..a40086fabfb
--- /dev/null
+++ b/dev-db/redis/redis-6.2.5.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Redis does NOT build with Lua 5.2 or newer at this time:
+#  - 5.3 and 5.4 give:
+# lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h"
+#  - 5.2 fails with:
+# scripting.c:(.text+0x1f9b): undefined reference to `lua_open'
+#    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
+
+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"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="+jemalloc ssl systemd tcmalloc test"
+RESTRICT="!test? ( test )"
+SLOT="0"
+
+COMMON_DEPEND="
+	${LUA_DEPS}
+	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 )
+	${LUA_REQUIRED_USE}"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-6.2.1-config.patch
+	"${FILESDIR}"/${PN}-5.0-shared.patch
+	"${FILESDIR}"/${PN}-6.2.1-sharedlua.patch
+	"${FILESDIR}"/${PN}-6.2.3-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.
+	# The upstream configure script handles luajit specially, and is not
+	# effected by these changes.
+	sed -i	\
+		-e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \
+		-e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \
+		-e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${ELUA},g" \
+		configure.ac || die "Sed failed for configure.ac"
+	eautoreconf
+}
+
+src_configure() {
+	econf $(use_with lua_single_target_luajit 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
+
+	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() {
+	# 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
+
+	if use ssl; then
+		./utils/gen-test-certs.sh
+		./runtest --tls
+	else
+		./runtest
+	fi
+}
+
+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() {
+	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."
+}