diff --git a/databases/redis-devel/Makefile b/databases/redis-devel/Makefile index 53653ba6fb6d..ba72646ccb52 100644 --- a/databases/redis-devel/Makefile +++ b/databases/redis-devel/Makefile @@ -1,130 +1,126 @@ # Created by: Sergey Skvortsov PORTNAME= redis -PORTVERSION= 7.0.0.20220131 +DISTVERSION= 7.0.0.20220301 CATEGORIES= databases PKGNAMESUFFIX= -devel MAINTAINER= yasu@FreeBSD.org COMMENT= Persistent key-value database with built-in net interface LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/COPYING USES+= compiler:c11 cpe gmake CPE_VENDOR= redislabs USE_GITHUB= yes -GH_TUPLE= redis:redis:6ca97da +GH_TUPLE= redis:redis:4a45386 -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_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_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_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 -.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?= redis5-5.* redis6-6.* redis-6.* +CONFLICTS?= redis-6.* redis5-5.* redis6-6.* 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 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: ${REINPLACE_CMD} '77s!malloc.h!stdlib.h!' ${WRKSRC}/src/zmalloc.h 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/=/%%!/} \ ${WRKSRC}/redis.conf > ${WRKDIR}/redis.conf do-install: ${INSTALL_PROGRAM} ${BIN_FILES:C!^!${WRKSRC}/src/!} ${STAGEDIR}${PREFIX}/bin/ ${INSTALL_DATA} ${WRKDIR}/redis.conf ${STAGEDIR}${PREFIX}/etc/redis.conf.sample ${INSTALL_DATA} ${WRKSRC}/sentinel.conf ${STAGEDIR}${PREFIX}/etc/sentinel.conf.sample ${MKDIR} ${STAGEDIR}${REDIS_LOGDIR} \ ${STAGEDIR}${REDIS_DBDIR} \ ${STAGEDIR}${REDIS_RUNDIR} do-install-TRIB-on: ${INSTALL_SCRIPT} ${WRKSRC}/src/redis-trib.rb ${STAGEDIR}${PREFIX}/bin/ do-test: @cd ${WRKSRC} && ${TCLSH} tests/test_helper.tcl .include diff --git a/databases/redis-devel/distinfo b/databases/redis-devel/distinfo index 88b48dadb6ed..49d99ecfbae3 100644 --- a/databases/redis-devel/distinfo +++ b/databases/redis-devel/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1643657761 -SHA256 (redis-redis-7.0.0.20220131-6ca97da_GH0.tar.gz) = df91b39beeed64fd65abf199a0a5c40b18609616c8c52806f0d964ba80ba920e -SIZE (redis-redis-7.0.0.20220131-6ca97da_GH0.tar.gz) = 2874928 +TIMESTAMP = 1646123532 +SHA256 (redis-redis-7.0.0.20220301-4a45386_GH0.tar.gz) = bf1943414dd9e5ffebfcc386acde24a6a3e860174d2190806621035d60275360 +SIZE (redis-redis-7.0.0.20220301-4a45386_GH0.tar.gz) = 2924689 diff --git a/databases/redis-devel/files/extra-patch-deps_lua_src_lua__cjson.c b/databases/redis-devel/files/extra-patch-deps_lua_src_lua__cjson.c index 847b70d25dea..32e322d0d490 100644 --- a/databases/redis-devel/files/extra-patch-deps_lua_src_lua__cjson.c +++ b/databases/redis-devel/files/extra-patch-deps_lua_src_lua__cjson.c @@ -1,11 +1,11 @@ ---- 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 * json_config_t as their first upvalue. Code borrowed from Lua 5.2 source. */ -static void luaL_setfuncs (lua_State *l, const luaL_Reg *reg, int nup) +void luaL_setfuncs (lua_State *l, const luaL_Reg *reg, int nup) { int i; diff --git a/databases/redis-devel/files/extra-patch-src-Makefile.lua b/databases/redis-devel/files/extra-patch-src-Makefile.lua index 8012dc4d76e6..d4108daab4fa 100644 --- a/databases/redis-devel/files/extra-patch-src-Makefile.lua +++ b/databases/redis-devel/files/extra-patch-src-Makefile.lua @@ -1,58 +1,58 @@ ---- src/Makefile.orig 2022-01-12 01:00:14.676138000 +0900 -+++ src/Makefile 2022-01-12 01:05:07.007928000 +0900 +--- 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') OPTIMIZATION?=-O2 -DEPENDENCY_TARGETS=hiredis linenoise lua hdr_histogram +DEPENDENCY_TARGETS=hiredis linenoise hdr_histogram NODEPS:=clean distclean # Default settings @@ -115,8 +115,8 @@ # Override default settings if possible -include .make-settings -FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) -FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG) +FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) +FINAL_LDFLAGS=$(LDFLAGS) $(DEBUG) FINAL_LIBS=-lm # 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 @@ -301,6 +301,9 @@ endef endif +FINAL_CFLAGS+=-I${PREFIX}/include/lua51 +FINAL_LIBS+= -L${PREFIX}/lib -llua-5.1 + REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) REDIS_LD=$(QUIET_LINK)$(CC) $(FINAL_LDFLAGS) REDIS_INSTALL=$(QUIET_INSTALL)$(INSTALL) @@ -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 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 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) @@ -375,7 +379,7 @@ # redis-server $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ) - $(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-devel/files/extra-patch-src-Makefile.luajit b/databases/redis-devel/files/extra-patch-src-Makefile.luajit index 95727c600cb8..f1a28a56f953 100644 --- a/databases/redis-devel/files/extra-patch-src-Makefile.luajit +++ b/databases/redis-devel/files/extra-patch-src-Makefile.luajit @@ -1,58 +1,58 @@ ---- src/Makefile.orig 2022-01-12 01:09:20.385180000 +0900 -+++ src/Makefile 2022-01-12 01:11:45.772845000 +0900 +--- 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') OPTIMIZATION?=-O2 -DEPENDENCY_TARGETS=hiredis linenoise lua hdr_histogram +DEPENDENCY_TARGETS=hiredis linenoise hdr_histogram NODEPS:=clean distclean # Default settings @@ -115,8 +115,8 @@ # Override default settings if possible -include .make-settings -FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) -FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG) +FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) +FINAL_LDFLAGS=$(LDFLAGS) $(DEBUG) FINAL_LIBS=-lm # 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 @@ -301,6 +301,9 @@ endef endif +FINAL_CFLAGS+=-I${PREFIX}/include/luajit-2.0 +FINAL_LIBS+= -L${PREFIX}/lib -lluajit-5.1 + REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) REDIS_LD=$(QUIET_LINK)$(CC) $(FINAL_LDFLAGS) REDIS_INSTALL=$(QUIET_INSTALL)$(INSTALL) @@ -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 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 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) @@ -375,7 +379,7 @@ # redis-server $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ) - $(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-devel/files/extra-patch-src-Makefile.luajit-or b/databases/redis-devel/files/extra-patch-src-Makefile.luajit-or index ab2aba5bbf68..5bdf59332b33 100644 --- a/databases/redis-devel/files/extra-patch-src-Makefile.luajit-or +++ b/databases/redis-devel/files/extra-patch-src-Makefile.luajit-or @@ -1,58 +1,58 @@ ---- src/Makefile.orig 2022-01-12 01:14:34.800218000 +0900 -+++ src/Makefile 2022-01-12 01:16:26.274158000 +0900 +--- 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') OPTIMIZATION?=-O2 -DEPENDENCY_TARGETS=hiredis linenoise lua hdr_histogram +DEPENDENCY_TARGETS=hiredis linenoise hdr_histogram NODEPS:=clean distclean # Default settings @@ -115,8 +115,8 @@ # Override default settings if possible -include .make-settings -FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) -FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG) +FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) +FINAL_LDFLAGS=$(LDFLAGS) $(DEBUG) FINAL_LIBS=-lm # 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 @@ -301,6 +301,9 @@ endef endif +FINAL_CFLAGS+=-I${PREFIX}/include/luajit-2.1 +FINAL_LIBS+= -L${PREFIX}/lib -lluajit-5.1 + REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) REDIS_LD=$(QUIET_LINK)$(CC) $(FINAL_LDFLAGS) REDIS_INSTALL=$(QUIET_INSTALL)$(INSTALL) @@ -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 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 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) @@ -375,7 +379,7 @@ # redis-server $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ) - $(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-devel/files/extra-patch-src-function_lua.c b/databases/redis-devel/files/extra-patch-src-function_lua.c index 6e4fc624de52..29be5e28e8f5 100644 --- a/databases/redis-devel/files/extra-patch-src-function_lua.c +++ b/databases/redis-devel/files/extra-patch-src-function_lua.c @@ -1,13 +1,13 @@ ---- src/function_lua.c.orig 2022-01-31 19:49:57.000000000 +0900 -+++ src/function_lua.c 2022-02-01 05:03:43.442197000 +0900 +--- 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-devel/files/patch-deps-Makefile b/databases/redis-devel/files/patch-deps-Makefile index c937bacb715e..21331efe7d8a 100644 --- a/databases/redis-devel/files/patch-deps-Makefile +++ b/databases/redis-devel/files/patch-deps-Makefile @@ -1,30 +1,30 @@ ---- deps/Makefile.orig 2021-12-01 10:06:05.001367000 -0500 -+++ deps/Makefile 2021-12-01 10:08:16.372525000 -0500 +--- 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'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 @@ -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-devel/files/patch-deps-hiredis-Makefile b/databases/redis-devel/files/patch-deps-hiredis-Makefile index 9422ba8d3245..aec6b29a7b2e 100644 --- a/databases/redis-devel/files/patch-deps-hiredis-Makefile +++ b/databases/redis-devel/files/patch-deps-hiredis-Makefile @@ -1,41 +1,41 @@ ---- 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}') # Installation related variables and target -PREFIX?=/usr/local +PREFIX?=${PREFIX} INCLUDE_PATH?=include/hiredis LIBRARY_PATH?=lib PKGCONF_PATH?=pkgconfig @@ -44,10 +44,8 @@ # Fallback to gcc when $CC is not in $PATH. CC:=$(shell sh -c 'type $${CC%% *} >/dev/null 2>/dev/null && echo $(CC) || echo gcc') CXX:=$(shell sh -c 'type $${CXX%% *} >/dev/null 2>/dev/null && echo $(CXX) || echo g++') -OPTIMIZATION?=-O3 WARNINGS=-Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -DEBUG_FLAGS?= -g -ggdb -REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CPPFLAGS) $(CFLAGS) $(WARNINGS) $(DEBUG_FLAGS) +REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG_FLAGS) REAL_LDFLAGS=$(LDFLAGS) DYLIBSUFFIX=so @@ -83,7 +81,16 @@ CFLAGS+=-I$(OPENSSL_PREFIX)/include SSL_LDFLAGS+=-L$(OPENSSL_PREFIX)/lib -lssl -lcrypto endif - +ifeq ($(uname_S),FreeBSD) + CFLAGS?=$(CFLAGS) + CCLINK?=pthread + LDFLAGS?=-L. -Wl,-rpath,. + DYLIBNAME?=libhiredis.so + DYLIB_MAKE_CMD?=$(CC) -o ${DYLIBNAME} ${OBJ} + STLIBNAME?=libhiredis.a + STLIB_MAKE_CMD?=ar rcs ${STLIBNAME} ${OBJ} + SSL_LDFLAGS+=${OPENSSL_LDFLAGS} +endif ifeq ($(uname_S),SunOS) IS_SUN_CC=$(shell sh -c '$(CC) -V 2>&1 |egrep -i -c "sun|studio"') ifeq ($(IS_SUN_CC),1) diff --git a/databases/redis-devel/files/patch-deps-hiredis-net.c b/databases/redis-devel/files/patch-deps-hiredis-net.c index 3fd2b5996f97..0dfde3135238 100644 --- a/databases/redis-devel/files/patch-deps-hiredis-net.c +++ b/databases/redis-devel/files/patch-deps-hiredis-net.c @@ -1,39 +1,39 @@ ---- 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; } -#else -#if defined(__GLIBC__) && !defined(__FreeBSD_kernel__) +#elif defined(__GLIBC__) if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof(val)) < 0) { __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); return REDIS_ERR; } val = interval/3; + if (val == 0) val = 1; + if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, &val, sizeof(val)) < 0) { + __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); + return REDIS_ERR; + } + + val = 3; + if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPCNT, &val, sizeof(val)) < 0) { + __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); + return REDIS_ERR; + } +#else +#if !defined(__sun) && defined(TCP_KEEPIDLE) && defined(TCP_KEEPINTL) && \ + defined(TCP_KEEPCNT) + val = interval; + if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof(val)) < 0) { + __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); + return REDIS_ERR; + } + + val = internal/3; if (val == 0) val = 1; if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, &val, sizeof(val)) < 0) { __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); diff --git a/databases/redis-devel/files/patch-redis.conf b/databases/redis-devel/files/patch-redis.conf index f71797d9555e..a84973345b78 100644 --- a/databases/redis-devel/files/patch-redis.conf +++ b/databases/redis-devel/files/patch-redis.conf @@ -1,38 +1,38 @@ ---- 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 2021-01-13 @@ -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. # When Redis is supervised by upstart or systemd, this parameter has no impact. -daemonize no +daemonize yes # If you run Redis from upstart or systemd, Redis can interact with your # supervision tree. Options: @@ -276,7 +276,7 @@ # # Note that on modern Linux systems "/run/redis.pid" is more conforming # and should be used instead. -pidfile /var/run/redis_6379.pid +pidfile %%REDIS_RUNDIR%%/redis.pid # Specify the server verbosity level. # This can be one of: @@ -289,7 +289,7 @@ # Specify the log file name. Also the empty string can be used to force # Redis to log on the standard output. Note that if you use standard # output for logging but daemonize, logs will be sent to /dev/null -logfile "" +logfile %%REDIS_LOGDIR%%/redis.log # To enable logging to the system logger, just set 'syslog-enabled' to yes, # and optionally update the other syslog parameters to suit your needs. @@ -420,7 +420,7 @@ # The Append Only File will also be created inside this directory. # # Note that you must specify a directory here, not a file name. -dir ./ +dir %%REDIS_DBDIR%%/ ################################# REPLICATION #################################