git: 27e36df36a9d - main - databases/redis: Update to 7.0.0

From: Yasuhiro Kimura <yasu_at_FreeBSD.org>
Date: Thu, 28 Apr 2022 02:21:27 UTC
The branch main has been updated by yasu:

URL: https://cgit.FreeBSD.org/ports/commit/?id=27e36df36a9d47e844b1fa83d4136b63fee7c905

commit 27e36df36a9d47e844b1fa83d4136b63fee7c905
Author:     Yasuhiro Kimura <yasu@FreeBSD.org>
AuthorDate: 2022-02-01 08:28:00 +0000
Commit:     Yasuhiro Kimura <yasu@FreeBSD.org>
CommitDate: 2022-04-28 02:19:08 +0000

    databases/redis: Update to 7.0.0
    
    * Mark BROKEN if any of external lua library options are
      enabled. Upstream add new APIs to bundled lua library and use them
      in source code of redis. This makes it impossible to compile and
      link redis with external lua libraries. According to the commit
      message of upstream repository they took the code of new API from
      the repository of lua. It means linking with external lua libraries
      may get possible again if they are updated. So mark BROKEN rather
      than remove these options.
    * Update CONFLICTS of databases/redis*.
    * Switch to DISTVERSION.
    * Pet portlint and portclippy.
    * Tidy up Makefile with portfmt.
    
    ChangeLog:      https://github.com/redis/redis/releases/tag/7.0.0
    Security:       cc42db1c-c65f-11ec-ad96-0800270512f4
---
 UPDATING                                           | 16 ++++
 databases/redis-devel/Makefile                     |  2 +-
 databases/redis/Makefile                           | 95 +++++++++++-----------
 databases/redis/distinfo                           |  6 +-
 .../files/extra-patch-deps_lua_src_lua__cjson.c    |  4 +-
 databases/redis/files/extra-patch-src-Makefile.lua | 28 +++----
 .../redis/files/extra-patch-src-Makefile.luajit    | 28 +++----
 .../redis/files/extra-patch-src-Makefile.luajit-or | 28 +++----
 .../redis/files/extra-patch-src-function_lua.c     | 13 +++
 databases/redis/files/patch-deps-Makefile          | 38 +++++----
 databases/redis/files/patch-deps-hiredis-Makefile  |  4 +-
 databases/redis/files/patch-deps-hiredis-net.c     |  4 +-
 databases/redis/files/patch-deps_Makefile          | 18 ----
 databases/redis/files/patch-redis.conf             |  4 +-
 databases/redis6/Makefile                          |  2 +-
 15 files changed, 155 insertions(+), 135 deletions(-)

diff --git a/UPDATING b/UPDATING
index dcf737eeb631..1cf2bf54cf0d 100644
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,22 @@ they are unavoidable.
 You should get into the habit of checking this file for changes each time
 you update your ports collection, before attempting any port upgrades.
 
+20220428:
+  AFFECTS: users of databases/redis
+  AUTHOR: yasu@FreeBSD.org
+
+  The databases/redis port has been updated to 7.0. Users wanting to
+  stay on 6.2 can replace databases/redis with databases/redis62 with
+  one of the following commands.
+
+  If you use pkg with binary packages:
+    # pkg set -o databases/redis:databases/redis62
+    # pkg upgrade
+  If you use portmaster:
+    # portmaster -o databases/redis62 databases/redis
+  If you use portupgrade:
+    # portupgrade -o databases/redis62 databases/redis
+
 20220426:
   AFFECTS: users of deskutils/grantleetheme
   AUTHOR: kde@FreeBSD.org
diff --git a/databases/redis-devel/Makefile b/databases/redis-devel/Makefile
index 69c44dfb31de..4a4f900e4548 100644
--- a/databases/redis-devel/Makefile
+++ b/databases/redis-devel/Makefile
@@ -68,7 +68,7 @@ LDFLAGS+=	-Wl,-E
 
 LDFLAGS+=	-lpthread -lm -lexecinfo
 
-CONFLICTS?=	redis-6.* redis6-6.*
+CONFLICTS?=	redis-[1-9].* redis6-* redis62-*
 
 USE_RC_SUBR=	redis sentinel
 BIN_FILES=	redis-benchmark redis-check-aof redis-check-rdb redis-cli \
diff --git a/databases/redis/Makefile b/databases/redis/Makefile
index 31855c4059c8..99ac5676bc6e 100644
--- a/databases/redis/Makefile
+++ b/databases/redis/Makefile
@@ -1,7 +1,7 @@
 # Created by: Sergey Skvortsov <skv@protey.ru>
 
 PORTNAME=	redis
-PORTVERSION=	6.2.6
+DISTVERSION=	7.0.0
 CATEGORIES=	databases
 MASTER_SITES=	https://download.redis.io/releases/
 
@@ -12,72 +12,71 @@ LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/COPYING
 
 USES+=		compiler:c11 cpe gmake
-
 CPE_VENDOR=	redislabs
 
-OPTIONS_DEFINE=	JEMALLOC TESTS TLS TRIB
-OPTIONS_RADIO=	EXTLUA
+MAKE_ENV=	OPTIMIZATION= \
+		V=yo
+
+OPTIONS_DEFINE=		JEMALLOC TESTS TLS TRIB
+OPTIONS_RADIO=		EXTLUA
 OPTIONS_RADIO_EXTLUA=	LUA LUAJIT LUAJITOR
-OPTIONS_SUB=	yes
+OPTIONS_SUB=		yes
+
 JEMALLOC_DESC=	Use jemalloc
-LUA_DESC=	Use lang/lua instead of builtin lua
-LUAJIT_DESC=	Use lang/luajit instead of builtin lua
 LUAJITOR_DESC=	Use lang/luajit-openresty instead of builtin lua
-TLS_DESC=	Use TLS (openssl req.)
+LUAJIT_DESC=	Use lang/luajit instead of builtin lua
+LUA_DESC=	Use lang/lua instead of builtin lua
 TESTS_DESC=	Install lang/tcl for redis unit tests
+TLS_DESC=	Use TLS (openssl req.)
 TRIB_DESC=	Install redis-trib.rb (lang/ruby req.)
 
-MAKE_ENV=	V=yo OPTIMIZATION=
-
 JEMALLOC_MAKE_ENV=	USE_JEMALLOC=yes
-
-LUA_USES=		lua:51
-LUA_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-src-Makefile.lua
-LUA_VARS=		_addflags=true
-
-LUAJIT_LIB_DEPENDS=	libluajit-5.1.so:lang/luajit
-LUAJIT_BUILD_DEPENDS=	${LOCALBASE}/include/luajit-2.0/lua.h:lang/luajit
-LUAJIT_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-src-Makefile.luajit
-LUAJIT_VARS=		_addflags=true
-
-LUAJITOR_LIB_DEPENDS=	libluajit-5.1.so:lang/luajit-openresty
+LUAJITOR_BROKEN=	Fails to link
 LUAJITOR_BUILD_DEPENDS=	${LOCALBASE}/include/luajit-2.1/lua.h:lang/luajit-openresty
+LUAJITOR_LIB_DEPENDS=	libluajit-5.1.so:lang/luajit-openresty
 LUAJITOR_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-src-Makefile.luajit-or \
+			${PATCHDIR}/extra-patch-src-function_lua.c \
 			${PATCHDIR}/extra-patch-deps_lua_src_lua__cjson.c
-LUAJITOR_VARS=		_addflags=true
-
-TESTS_USES=	tcl:build
-
-TLS_USES=	ssl
-TLS_MAKE_ENV=	BUILD_TLS=yes
-
+LUAJITOR_VARS=		_ADDFLAGS=true
+LUAJIT_BROKEN=		Fails to link
+LUAJIT_BUILD_DEPENDS=	${LOCALBASE}/include/luajit-2.0/lua.h:lang/luajit
+LUAJIT_LIB_DEPENDS=	libluajit-5.1.so:lang/luajit
+LUAJIT_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-src-Makefile.luajit
+LUAJIT_VARS=		_ADDFLAGS=true
+LUA_BROKEN=		Fails to link
+LUA_USES=		lua:51
+LUA_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-src-Makefile.lua
+LUA_VARS=		_ADDFLAGS=true
+TESTS_USES=		tcl:build
+TLS_USES=		ssl
+TLS_MAKE_ENV=		BUILD_TLS=yes
 TRIB_CATEGORIES=	ruby
-TRIB_USE=		ruby=yes
 TRIB_RUN_DEPENDS=	rubygem-redis>=2.2:databases/rubygem-redis
+TRIB_USE=		RUBY=yes
 
 .include <bsd.port.pre.mk>
 
-.if ${ARCH} == i386 && ! ${CFLAGS:M-march=*}
+.if ${ARCH} == i386 && !${CFLAGS:M-march=*}
 # Needed for __atomic_fetch_add_8
 USE_GCC=	yes
 CFLAGS+=	-march=i586
 .endif
 
 .if defined(_ADDFLAGS)
-CFLAGS=		-fPIC
-LDFLAGS=	-Wl,-E
+CFLAGS+=	-fPIC
+LDFLAGS+=	-Wl,-E
 .endif
 
 LDFLAGS+=	-lpthread -lm -lexecinfo
 
-CONFLICTS?=	redis6-6.* redis-devel-6.*
+CONFLICTS?=	redis-devel-* redis6-* redis62-*
 
 USE_RC_SUBR=	redis sentinel
-BIN_FILES=	redis-benchmark redis-check-aof redis-check-rdb \
-		redis-cli redis-sentinel redis-server
+BIN_FILES=	redis-benchmark redis-check-aof redis-check-rdb redis-cli \
+		redis-sentinel redis-server
 
-USERS=	redis
-GROUPS=	redis
+USERS=		redis
+GROUPS=		redis
 
 REDIS_DBDIR?=	/var/db/redis
 REDIS_RUNDIR?=	/var/run/redis
@@ -85,24 +84,24 @@ REDIS_LOGDIR?=	/var/log/redis
 
 SUB_FILES=	pkg-message
 SUB_LIST+=	PORTNAME=${PORTNAME} \
-	REDIS_USER=${USERS} \
-	REDIS_DBDIR=${REDIS_DBDIR} \
-	REDIS_LOGDIR=${REDIS_LOGDIR} \
-	REDIS_RUNDIR=${REDIS_RUNDIR}
+		REDIS_DBDIR=${REDIS_DBDIR} \
+		REDIS_LOGDIR=${REDIS_LOGDIR} \
+		REDIS_RUNDIR=${REDIS_RUNDIR} \
+		REDIS_USER=${USERS}
 
-PLIST_SUB+=	REDIS_USER=${USERS} \
-	REDIS_GROUP=${GROUPS} \
-	REDIS_LOGDIR=${REDIS_LOGDIR} \
-	REDIS_DBDIR=${REDIS_DBDIR} \
-	REDIS_RUNDIR=${REDIS_RUNDIR}
+PLIST_SUB+=	REDIS_DBDIR=${REDIS_DBDIR} \
+		REDIS_GROUP=${GROUPS} \
+		REDIS_LOGDIR=${REDIS_LOGDIR} \
+		REDIS_RUNDIR=${REDIS_RUNDIR} \
+		REDIS_USER=${USERS}
 
 post-patch-JEMALLOC-on:
 	@${REINPLACE_CMD} '35s!Linux!FreeBSD!g' ${WRKSRC}/src/Makefile
 
 post-patch-LUA-on:
 	@cd ${WRKSRC}/deps/lua/src && ${CP} fpconv.* lua_* strbuf.* ${WRKSRC}/src/
-post-patch-LUAJIT-on:	post-patch-LUA-on
-post-patch-LUAJITOR-on:	post-patch-LUA-on
+post-patch-LUAJIT-on: post-patch-LUA-on
+post-patch-LUAJITOR-on: post-patch-LUA-on
 
 post-build:
 	${SED} ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
diff --git a/databases/redis/distinfo b/databases/redis/distinfo
index d335fe124752..3c04644edf75 100644
--- a/databases/redis/distinfo
+++ b/databases/redis/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1633405476
-SHA256 (redis-6.2.6.tar.gz) = 5b2b8b7a50111ef395bf1c1d5be11e6e167ac018125055daa8b5c2317ae131ab
-SIZE (redis-6.2.6.tar.gz) = 2476542
+TIMESTAMP = 1651106632
+SHA256 (redis-7.0.0.tar.gz) = 284d8bd1fd85d6a55a05ee4e7c31c31977ad56cbf344ed83790beeb148baa720
+SIZE (redis-7.0.0.tar.gz) = 2943054
diff --git a/databases/redis/files/extra-patch-deps_lua_src_lua__cjson.c b/databases/redis/files/extra-patch-deps_lua_src_lua__cjson.c
index 847b70d25dea..32e322d0d490 100644
--- a/databases/redis/files/extra-patch-deps_lua_src_lua__cjson.c
+++ b/databases/redis/files/extra-patch-deps_lua_src_lua__cjson.c
@@ -1,5 +1,5 @@
---- deps/lua/src/lua_cjson.c.orig	2019-12-08 07:56:31.419672000 -0500
-+++ deps/lua/src/lua_cjson.c	2019-12-08 07:56:52.389362000 -0500
+--- deps/lua/src/lua_cjson.c.orig	2019-12-08 12:56:31 UTC
++++ deps/lua/src/lua_cjson.c
 @@ -1299,7 +1299,7 @@
   *
   * luaL_setfuncs() is used to create a module table where the functions have
diff --git a/databases/redis/files/extra-patch-src-Makefile.lua b/databases/redis/files/extra-patch-src-Makefile.lua
index 937eeac680a2..d4108daab4fa 100644
--- a/databases/redis/files/extra-patch-src-Makefile.lua
+++ b/databases/redis/files/extra-patch-src-Makefile.lua
@@ -1,5 +1,5 @@
---- src/Makefile.orig	2021-01-12 09:21:03.000000000 -0500
-+++ src/Makefile	2021-01-13 11:52:33.070529000 -0500
+--- src/Makefile.orig	2022-01-11 16:00:14 UTC
++++ src/Makefile
 @@ -16,7 +16,7 @@
  uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
  uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
@@ -9,7 +9,7 @@
  NODEPS:=clean distclean
  
  # Default settings
-@@ -83,8 +83,8 @@
+@@ -115,8 +115,8 @@
  # Override default settings if possible
  -include .make-settings
  
@@ -18,19 +18,19 @@
 +FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS)
 +FINAL_LDFLAGS=$(LDFLAGS) $(DEBUG)
  FINAL_LIBS=-lm
- DEBUG=-g -ggdb
  
-@@ -188,7 +188,7 @@
- endif
+ # Linux ARM32 needs -latomic at linking time
+@@ -227,7 +227,7 @@
  endif
+ 
  # Include paths to dependencies
 -FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram
 +FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/hdr_histogram
  
  # Determine systemd support and/or build preference (defaulting to auto-detection)
  BUILD_WITH_SYSTEMD=no
-@@ -251,6 +251,9 @@
- 	FINAL_LIBS += ../deps/hiredis/libhiredis_ssl.a $(LIBSSL_LIBS) $(LIBCRYPTO_LIBS)
+@@ -301,6 +301,9 @@
+     endef
  endif
  
 +FINAL_CFLAGS+=-I${PREFIX}/include/lua51
@@ -39,20 +39,20 @@
  REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS)
  REDIS_LD=$(QUIET_LINK)$(CC) $(FINAL_LDFLAGS)
  REDIS_INSTALL=$(QUIET_INSTALL)$(INSTALL)
-@@ -271,6 +274,7 @@
+@@ -322,6 +325,7 @@
  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 monotonic.o mt19937-64.o
+ 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 eval.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 tracking.o connection.o tls.o sha256.o timeout.o setcpuaffinity.o monotonic.o mt19937-64.o resp_parser.o call_reply.o script_lua.o script.o functions.o function_lua.o commands.o
 +REDIS_SERVER_OBJ+=fpconv.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o strbuf.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 monotonic.o cli_common.o mt19937-64.o
+ REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o redisassert.o crcspeed.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o
  REDIS_BENCHMARK_NAME=redis-benchmark$(PROG_SUFFIX)
-@@ -324,7 +328,7 @@
+@@ -375,7 +379,7 @@
  
  # 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_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a ../deps/hdr_histogram/libhdrhistogram.a $(FINAL_LIBS)
++	$(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/hdr_histogram/libhdrhistogram.a $(FINAL_LIBS)
  
  # redis-sentinel
  $(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME)
diff --git a/databases/redis/files/extra-patch-src-Makefile.luajit b/databases/redis/files/extra-patch-src-Makefile.luajit
index 3e40ea4a77a0..f1a28a56f953 100644
--- a/databases/redis/files/extra-patch-src-Makefile.luajit
+++ b/databases/redis/files/extra-patch-src-Makefile.luajit
@@ -1,5 +1,5 @@
---- src/Makefile.orig	2021-01-12 09:21:03.000000000 -0500
-+++ src/Makefile	2021-01-13 12:25:07.823451000 -0500
+--- src/Makefile.orig	2022-01-11 16:09:20 UTC
++++ src/Makefile
 @@ -16,7 +16,7 @@
  uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
  uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
@@ -9,7 +9,7 @@
  NODEPS:=clean distclean
  
  # Default settings
-@@ -83,8 +83,8 @@
+@@ -115,8 +115,8 @@
  # Override default settings if possible
  -include .make-settings
  
@@ -18,19 +18,19 @@
 +FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS)
 +FINAL_LDFLAGS=$(LDFLAGS) $(DEBUG)
  FINAL_LIBS=-lm
- DEBUG=-g -ggdb
  
-@@ -188,7 +188,7 @@
- endif
+ # Linux ARM32 needs -latomic at linking time
+@@ -227,7 +227,7 @@
  endif
+ 
  # Include paths to dependencies
 -FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram
 +FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/hdr_histogram
  
  # Determine systemd support and/or build preference (defaulting to auto-detection)
  BUILD_WITH_SYSTEMD=no
-@@ -251,6 +251,9 @@
- 	FINAL_LIBS += ../deps/hiredis/libhiredis_ssl.a $(LIBSSL_LIBS) $(LIBCRYPTO_LIBS)
+@@ -301,6 +301,9 @@
+     endef
  endif
  
 +FINAL_CFLAGS+=-I${PREFIX}/include/luajit-2.0
@@ -39,20 +39,20 @@
  REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS)
  REDIS_LD=$(QUIET_LINK)$(CC) $(FINAL_LDFLAGS)
  REDIS_INSTALL=$(QUIET_INSTALL)$(INSTALL)
-@@ -271,6 +274,7 @@
+@@ -322,6 +325,7 @@
  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 monotonic.o mt19937-64.o
+ 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 eval.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 tracking.o connection.o tls.o sha256.o timeout.o setcpuaffinity.o monotonic.o mt19937-64.o resp_parser.o call_reply.o script_lua.o script.o functions.o function_lua.o commands.o
 +REDIS_SERVER_OBJ+=fpconv.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o strbuf.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 monotonic.o cli_common.o mt19937-64.o
+ REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o redisassert.o crcspeed.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o
  REDIS_BENCHMARK_NAME=redis-benchmark$(PROG_SUFFIX)
-@@ -324,7 +328,7 @@
+@@ -375,7 +379,7 @@
  
  # 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_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a ../deps/hdr_histogram/libhdrhistogram.a $(FINAL_LIBS)
++	$(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/hdr_histogram/libhdrhistogram.a $(FINAL_LIBS)
  
  # redis-sentinel
  $(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME)
diff --git a/databases/redis/files/extra-patch-src-Makefile.luajit-or b/databases/redis/files/extra-patch-src-Makefile.luajit-or
index 3926e8169300..5bdf59332b33 100644
--- a/databases/redis/files/extra-patch-src-Makefile.luajit-or
+++ b/databases/redis/files/extra-patch-src-Makefile.luajit-or
@@ -1,5 +1,5 @@
---- src/Makefile.orig	2021-01-12 09:21:03.000000000 -0500
-+++ src/Makefile	2021-01-13 12:27:19.444193000 -0500
+--- src/Makefile.orig	2022-01-11 16:14:34 UTC
++++ src/Makefile
 @@ -16,7 +16,7 @@
  uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
  uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
@@ -9,7 +9,7 @@
  NODEPS:=clean distclean
  
  # Default settings
-@@ -83,8 +83,8 @@
+@@ -115,8 +115,8 @@
  # Override default settings if possible
  -include .make-settings
  
@@ -18,19 +18,19 @@
 +FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS)
 +FINAL_LDFLAGS=$(LDFLAGS) $(DEBUG)
  FINAL_LIBS=-lm
- DEBUG=-g -ggdb
  
-@@ -188,7 +188,7 @@
- endif
+ # Linux ARM32 needs -latomic at linking time
+@@ -227,7 +227,7 @@
  endif
+ 
  # Include paths to dependencies
 -FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram
 +FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/hdr_histogram
  
  # Determine systemd support and/or build preference (defaulting to auto-detection)
  BUILD_WITH_SYSTEMD=no
-@@ -251,6 +251,9 @@
- 	FINAL_LIBS += ../deps/hiredis/libhiredis_ssl.a $(LIBSSL_LIBS) $(LIBCRYPTO_LIBS)
+@@ -301,6 +301,9 @@
+     endef
  endif
  
 +FINAL_CFLAGS+=-I${PREFIX}/include/luajit-2.1
@@ -39,20 +39,20 @@
  REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS)
  REDIS_LD=$(QUIET_LINK)$(CC) $(FINAL_LDFLAGS)
  REDIS_INSTALL=$(QUIET_INSTALL)$(INSTALL)
-@@ -271,6 +274,7 @@
+@@ -322,6 +325,7 @@
  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 monotonic.o mt19937-64.o
+ 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 eval.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 tracking.o connection.o tls.o sha256.o timeout.o setcpuaffinity.o monotonic.o mt19937-64.o resp_parser.o call_reply.o script_lua.o script.o functions.o function_lua.o commands.o
 +REDIS_SERVER_OBJ+=fpconv.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o strbuf.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 monotonic.o cli_common.o mt19937-64.o
+ REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o redisassert.o crcspeed.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o
  REDIS_BENCHMARK_NAME=redis-benchmark$(PROG_SUFFIX)
-@@ -324,7 +328,7 @@
+@@ -375,7 +379,7 @@
  
  # 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_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a ../deps/hdr_histogram/libhdrhistogram.a $(FINAL_LIBS)
++	$(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/hdr_histogram/libhdrhistogram.a $(FINAL_LIBS)
  
  # redis-sentinel
  $(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME)
diff --git a/databases/redis/files/extra-patch-src-function_lua.c b/databases/redis/files/extra-patch-src-function_lua.c
new file mode 100644
index 000000000000..29be5e28e8f5
--- /dev/null
+++ b/databases/redis/files/extra-patch-src-function_lua.c
@@ -0,0 +1,13 @@
+--- src/function_lua.c.orig	2022-01-31 10:49:57 UTC
++++ src/function_lua.c
+@@ -52,6 +52,10 @@
+ #define LIBRARY_API_NAME "__LIBRARY_API__"
+ #define LOAD_TIMEOUT_MS 500
+ 
++#ifndef lua_unref
++#define lua_unref(L,ref)        luaL_unref(L, LUA_REGISTRYINDEX, (ref))
++#endif
++
+ /* Lua engine ctx */
+ typedef struct luaEngineCtx {
+     lua_State *lua;
diff --git a/databases/redis/files/patch-deps-Makefile b/databases/redis/files/patch-deps-Makefile
index c2a757c59b33..21331efe7d8a 100644
--- a/databases/redis/files/patch-deps-Makefile
+++ b/databases/redis/files/patch-deps-Makefile
@@ -1,20 +1,30 @@
---- deps/Makefile.orig	2021-01-12 09:21:03.000000000 -0500
-+++ deps/Makefile	2021-01-13 11:37:45.979445000 -0500
-@@ -69,7 +69,7 @@
- 	LUA_CFLAGS= -D__C99FEATURES__=1
+--- deps/Makefile.orig	2021-12-01 15:06:05 UTC
++++ deps/Makefile
+@@ -76,7 +76,7 @@
+ ifeq ($(LUA_DEBUG),yes)
+ 	LUA_CFLAGS+= -O0 -g -DLUA_USE_APICHECK
+ else
+-	LUA_CFLAGS+= -O2 
++	LUA_CFLAGS+=
  endif
- 
--LUA_CFLAGS+= -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP $(CFLAGS)
-+LUA_CFLAGS+= -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP $(CFLAGS)
- LUA_LDFLAGS+= $(LDFLAGS)
  # lua's Makefile defines AR="ar rcu", which is unusual, and makes it more
  # challenging to cross-compile lua (and redis).  These defines make it easier
-@@ -79,7 +79,7 @@
- 
- lua: .make-prerequisites
- 	@printf '%b %b\n' $(MAKECOLOR)MAKE$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR)
--	cd lua/src && $(MAKE) all CFLAGS="$(LUA_CFLAGS)" MYLDFLAGS="$(LUA_LDFLAGS)" AR="$(AR) $(ARFLAGS)"
-+	cd lua/src && $(MAKE) all CC="$(CC)" CFLAGS="$(LUA_CFLAGS)" MYLDFLAGS="$(LUA_LDFLAGS)" AR="$(AR) $(ARFLAGS)"
+@@ -90,7 +90,7 @@
  
  .PHONY: lua
  
+-JEMALLOC_CFLAGS= -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops $(CFLAGS)
++JEMALLOC_CFLAGS= -std=gnu99 -Wall -pipe -funroll-loops $(CFLAGS)
+ JEMALLOC_LDFLAGS= $(LDFLAGS)
+ 
+ ifneq ($(DEB_HOST_GNU_TYPE),)
+@@ -99,7 +99,7 @@
+ 
+ jemalloc: .make-prerequisites
+ 	@printf '%b %b\n' $(MAKECOLOR)MAKE$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR)
+-	cd jemalloc && ./configure --with-version=5.2.1-0-g0 --with-lg-quantum=3 --with-jemalloc-prefix=je_ CFLAGS="$(JEMALLOC_CFLAGS)" LDFLAGS="$(JEMALLOC_LDFLAGS)" $(JEMALLOC_CONFIGURE_OPTS)
+-	cd jemalloc && $(MAKE) CFLAGS="$(JEMALLOC_CFLAGS)" LDFLAGS="$(JEMALLOC_LDFLAGS)" lib/libjemalloc.a
++	cd jemalloc && ./configure --with-version=5.2.1-0-g0 --with-lg-quantum=3 --with-jemalloc-prefix=je_ CFLAGS="$(JEMALLOC_CFLAGS)" CXXFLAGS="$(JEMALLOC_CFLAGS)" LDFLAGS="$(JEMALLOC_LDFLAGS)" $(JEMALLOC_CONFIGURE_OPTS)
++	cd jemalloc && $(MAKE) CFLAGS="$(JEMALLOC_CFLAGS)" CXXFLAGS="$(JEMALLOC_CFLAGS)" LDFLAGS="$(JEMALLOC_LDFLAGS)" lib/libjemalloc.a
+ 
+ .PHONY: jemalloc
diff --git a/databases/redis/files/patch-deps-hiredis-Makefile b/databases/redis/files/patch-deps-hiredis-Makefile
index 9422ba8d3245..aec6b29a7b2e 100644
--- a/databases/redis/files/patch-deps-hiredis-Makefile
+++ b/databases/redis/files/patch-deps-hiredis-Makefile
@@ -1,5 +1,5 @@
---- deps/hiredis/Makefile.orig	2021-01-12 09:21:03.000000000 -0500
-+++ deps/hiredis/Makefile	2021-01-13 11:40:26.109827000 -0500
+--- deps/hiredis/Makefile.orig	2021-01-12 14:21:03 UTC
++++ deps/hiredis/Makefile
 @@ -21,7 +21,7 @@
  HIREDIS_SONAME=$(shell grep HIREDIS_SONAME hiredis.h | awk '{print $$3}')
  
diff --git a/databases/redis/files/patch-deps-hiredis-net.c b/databases/redis/files/patch-deps-hiredis-net.c
index 3fd2b5996f97..0dfde3135238 100644
--- a/databases/redis/files/patch-deps-hiredis-net.c
+++ b/databases/redis/files/patch-deps-hiredis-net.c
@@ -1,5 +1,5 @@
---- deps/hiredis/net.c.orig	2019-11-28 14:32:05.942453000 -0500
-+++ deps/hiredis/net.c	2019-11-28 14:39:08.326408000 -0500
+--- deps/hiredis/net.c.orig	2019-11-28 19:32:05 UTC
++++ deps/hiredis/net.c
 @@ -178,14 +178,34 @@
          __redisSetError(c,REDIS_ERR_OTHER,strerror(errno));
          return REDIS_ERR;
diff --git a/databases/redis/files/patch-deps_Makefile b/databases/redis/files/patch-deps_Makefile
deleted file mode 100644
index 39dadb06b822..000000000000
--- a/databases/redis/files/patch-deps_Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
---- deps/Makefile.orig	2021-01-13 11:43:05.174197000 -0500
-+++ deps/Makefile	2021-01-13 11:44:13.744658000 -0500
-@@ -83,12 +83,12 @@
- 
- .PHONY: lua
- 
--JEMALLOC_CFLAGS= -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops $(CFLAGS)
-+JEMALLOC_CFLAGS= -std=gnu99 -Wall -pipe -funroll-loops $(CFLAGS)
- JEMALLOC_LDFLAGS= $(LDFLAGS)
- 
- jemalloc: .make-prerequisites
- 	@printf '%b %b\n' $(MAKECOLOR)MAKE$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR)
--	cd jemalloc && ./configure --with-version=5.1.0-0-g0 --with-lg-quantum=3 --with-jemalloc-prefix=je_ CFLAGS="$(JEMALLOC_CFLAGS)" LDFLAGS="$(JEMALLOC_LDFLAGS)"
--	cd jemalloc && $(MAKE) CFLAGS="$(JEMALLOC_CFLAGS)" LDFLAGS="$(JEMALLOC_LDFLAGS)" lib/libjemalloc.a
-+	cd jemalloc && ./configure --with-version=5.1.0-0-g0 --with-lg-quantum=3 --with-jemalloc-prefix=je_ CFLAGS="$(JEMALLOC_CFLAGS)" CXXFLAGS="$(JEMALLOC_CFLAGS)" LDFLAGS="$(JEMALLOC_LDFLAGS)"
-+	cd jemalloc && $(MAKE) CFLAGS="$(JEMALLOC_CFLAGS)" CXXFLAGS="$(JEMALLOC_CFLAGS)" LDFLAGS="$(JEMALLOC_LDFLAGS)" lib/libjemalloc.a
- 
- .PHONY: jemalloc
diff --git a/databases/redis/files/patch-redis.conf b/databases/redis/files/patch-redis.conf
index f71797d9555e..b653f89a3211 100644
--- a/databases/redis/files/patch-redis.conf
+++ b/databases/redis/files/patch-redis.conf
@@ -1,5 +1,5 @@
---- redis.conf.orig	2021-01-12 09:21:03.000000000 -0500
-+++ redis.conf	2021-01-13 11:46:40.445746000 -0500
+--- redis.conf.orig	2021-01-12 14:21:03 UTC
++++ redis.conf
 @@ -244,7 +244,7 @@
  # By default Redis does not run as a daemon. Use 'yes' if you need it.
  # Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
diff --git a/databases/redis6/Makefile b/databases/redis6/Makefile
index 15b12ac4ab38..316a917506f3 100644
--- a/databases/redis6/Makefile
+++ b/databases/redis6/Makefile
@@ -69,7 +69,7 @@ LDFLAGS=	-Wl,-E
 
 LDFLAGS+=	-lpthread -lm -lexecinfo
 
-CONFLICTS?=	redis-6.* redis-devel-6.*
+CONFLICTS?=	redis-[1-9].* redis-devel-* redis62-*
 
 USE_RC_SUBR=	redis sentinel
 BIN_FILES=	redis-benchmark redis-check-aof redis-check-rdb \