diff --git a/databases/redis6/Makefile b/databases/redis6/Makefile index eda5704e9630..180f98183fad 100644 --- a/databases/redis6/Makefile +++ b/databases/redis6/Makefile @@ -1,126 +1,121 @@ -PORTNAME= redis6 +PORTNAME= redis PORTVERSION= 6.0.16 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= databases MASTER_SITES= https://download.redis.io/releases/ -DISTNAME= redis-${PORTVERSION} +PKGNAMESUFFIX= 6 MAINTAINER= yasu@FreeBSD.org COMMENT= Persistent key-value database with built-in net interface LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/COPYING USES+= compiler:c11 gmake -OPTIONS_DEFINE= JEMALLOC TESTS TLS TRIB -OPTIONS_DEFAULT= TLS -OPTIONS_RADIO= EXTLUA -OPTIONS_RADIO_EXTLUA= LUA LUAJIT LUAJITOR -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.) -TESTS_DESC= Install lang/tcl for redis unit tests -TRIB_DESC= Install redis-trib.rb (lang/ruby req.) - -MAKE_ENV= V=yo OPTIMIZATION= +MAKE_ENV= OPTIMIZATION= \ + V=yo CONFLICTS_INSTALL= redis redis-devel # etc/rc.d/redis -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 +OPTIONS_DEFINE= JEMALLOC TESTS TLS TRIB +OPTIONS_DEFAULT= TLS +OPTIONS_RADIO= EXTLUA +OPTIONS_RADIO_EXTLUA= LUA LUAJIT LUAJITOR +OPTIONS_SUB= yes +JEMALLOC_DESC= Use jemalloc +LUAJITOR_DESC= Use lang/luajit-openresty instead of builtin lua +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.) -LUAJITOR_LIB_DEPENDS= libluajit-5.1.so:lang/luajit-openresty +JEMALLOC_MAKE_ENV= USE_JEMALLOC=yes 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-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?= redis-[1-9].* redis-devel-* 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 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/=/%%!/} \ ${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/redis6/files/patch-deps-hiredis-net.c b/databases/redis6/files/patch-deps-hiredis-net.c index 3fd2b5996f97..0dfde3135238 100644 --- a/databases/redis6/files/patch-deps-hiredis-net.c +++ b/databases/redis6/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/redis62/Makefile b/databases/redis62/Makefile index 09111d96983e..d9733798726c 100644 --- a/databases/redis62/Makefile +++ b/databases/redis62/Makefile @@ -1,125 +1,125 @@ -PORTNAME= redis62 +PORTNAME= redis DISTVERSION= 6.2.7 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= databases MASTER_SITES= https://download.redis.io/releases/ -DISTNAME= redis-${PORTVERSION} +PKGNAMESUFFIX= 62 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 CPE_PRODUCT= redis MAKE_ENV= OPTIMIZATION= \ V=yo OPTIONS_DEFINE= JEMALLOC TESTS TLS TRIB OPTIONS_DEFAULT= TLS OPTIONS_RADIO= EXTLUA OPTIONS_RADIO_EXTLUA= LUA LUAJIT LUAJITOR OPTIONS_SUB= yes JEMALLOC_DESC= Use jemalloc LUAJITOR_DESC= Use lang/luajit-openresty instead of builtin lua 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.) JEMALLOC_MAKE_ENV= USE_JEMALLOC=yes 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-deps_lua_src_lua__cjson.c 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_RUN_DEPENDS= rubygem-redis>=2.2:databases/rubygem-redis TRIB_USE= RUBY=yes .include .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 .endif LDFLAGS+= -lpthread -lm -lexecinfo CONFLICTS?= redis-[1-9].* redis-devel-* redis6-* USE_RC_SUBR= redis sentinel BIN_FILES= redis-benchmark redis-check-aof redis-check-rdb redis-cli \ redis-sentinel redis-server 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_DBDIR=${REDIS_DBDIR} \ REDIS_LOGDIR=${REDIS_LOGDIR} \ REDIS_RUNDIR=${REDIS_RUNDIR} \ REDIS_USER=${USERS} 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-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/redis62/files/extra-patch-deps_lua_src_lua__cjson.c b/databases/redis62/files/extra-patch-deps_lua_src_lua__cjson.c index 847b70d25dea..32e322d0d490 100644 --- a/databases/redis62/files/extra-patch-deps_lua_src_lua__cjson.c +++ b/databases/redis62/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/redis62/files/extra-patch-src-Makefile.lua b/databases/redis62/files/extra-patch-src-Makefile.lua index 937eeac680a2..398d415bd6e4 100644 --- a/databases/redis62/files/extra-patch-src-Makefile.lua +++ b/databases/redis62/files/extra-patch-src-Makefile.lua @@ -1,58 +1,58 @@ ---- src/Makefile.orig 2021-01-12 09:21:03.000000000 -0500 -+++ src/Makefile 2021-01-13 11:52:33.070529000 -0500 +--- src/Makefile.orig 2021-01-12 14:21:03 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 @@ -83,8 +83,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 DEBUG=-g -ggdb @@ -188,7 +188,7 @@ endif 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) 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) @@ -271,6 +274,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+=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_BENCHMARK_NAME=redis-benchmark$(PROG_SUFFIX) @@ -324,7 +328,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-sentinel $(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME) diff --git a/databases/redis62/files/extra-patch-src-Makefile.luajit b/databases/redis62/files/extra-patch-src-Makefile.luajit index 3e40ea4a77a0..eef0a18eb74e 100644 --- a/databases/redis62/files/extra-patch-src-Makefile.luajit +++ b/databases/redis62/files/extra-patch-src-Makefile.luajit @@ -1,58 +1,58 @@ ---- src/Makefile.orig 2021-01-12 09:21:03.000000000 -0500 -+++ src/Makefile 2021-01-13 12:25:07.823451000 -0500 +--- src/Makefile.orig 2021-01-12 14:21:03 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 @@ -83,8 +83,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 DEBUG=-g -ggdb @@ -188,7 +188,7 @@ endif 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) 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) @@ -271,6 +274,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+=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_BENCHMARK_NAME=redis-benchmark$(PROG_SUFFIX) @@ -324,7 +328,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-sentinel $(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME) diff --git a/databases/redis62/files/extra-patch-src-Makefile.luajit-or b/databases/redis62/files/extra-patch-src-Makefile.luajit-or index 3926e8169300..ca57ef49c35c 100644 --- a/databases/redis62/files/extra-patch-src-Makefile.luajit-or +++ b/databases/redis62/files/extra-patch-src-Makefile.luajit-or @@ -1,58 +1,58 @@ ---- src/Makefile.orig 2021-01-12 09:21:03.000000000 -0500 -+++ src/Makefile 2021-01-13 12:27:19.444193000 -0500 +--- src/Makefile.orig 2021-01-12 14:21:03 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 @@ -83,8 +83,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 DEBUG=-g -ggdb @@ -188,7 +188,7 @@ endif 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) 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) @@ -271,6 +274,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+=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_BENCHMARK_NAME=redis-benchmark$(PROG_SUFFIX) @@ -324,7 +328,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-sentinel $(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME) diff --git a/databases/redis62/files/patch-deps-Makefile b/databases/redis62/files/patch-deps-Makefile index c2a757c59b33..84a2f6dcbc60 100644 --- a/databases/redis62/files/patch-deps-Makefile +++ b/databases/redis62/files/patch-deps-Makefile @@ -1,20 +1,20 @@ ---- deps/Makefile.orig 2021-01-12 09:21:03.000000000 -0500 -+++ deps/Makefile 2021-01-13 11:37:45.979445000 -0500 +--- deps/Makefile.orig 2021-01-12 14:21:03 UTC ++++ deps/Makefile @@ -69,7 +69,7 @@ LUA_CFLAGS= -D__C99FEATURES__=1 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)" .PHONY: lua diff --git a/databases/redis62/files/patch-deps-hiredis-Makefile b/databases/redis62/files/patch-deps-hiredis-Makefile index 9422ba8d3245..aec6b29a7b2e 100644 --- a/databases/redis62/files/patch-deps-hiredis-Makefile +++ b/databases/redis62/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/redis62/files/patch-deps-hiredis-net.c b/databases/redis62/files/patch-deps-hiredis-net.c index 3fd2b5996f97..0dfde3135238 100644 --- a/databases/redis62/files/patch-deps-hiredis-net.c +++ b/databases/redis62/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/redis62/files/patch-deps_Makefile b/databases/redis62/files/patch-deps_Makefile index 39dadb06b822..354558054689 100644 --- a/databases/redis62/files/patch-deps_Makefile +++ b/databases/redis62/files/patch-deps_Makefile @@ -1,18 +1,18 @@ ---- deps/Makefile.orig 2021-01-13 11:43:05.174197000 -0500 -+++ deps/Makefile 2021-01-13 11:44:13.744658000 -0500 +--- deps/Makefile.orig 2021-01-13 16:43:05 UTC ++++ deps/Makefile @@ -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/redis62/files/patch-redis.conf b/databases/redis62/files/patch-redis.conf index f71797d9555e..b653f89a3211 100644 --- a/databases/redis62/files/patch-redis.conf +++ b/databases/redis62/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 @@ -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 #################################