diff --git a/databases/redis-devel/Makefile b/databases/redis-devel/Makefile index 53594be61d57..89349de97939 100644 --- a/databases/redis-devel/Makefile +++ b/databases/redis-devel/Makefile @@ -1,86 +1,86 @@ PORTNAME= redis -DISTVERSION= 8.6.2.20260331 +DISTVERSION= 8.8.0.20260430 CATEGORIES= databases PKGNAMESUFFIX= -devel MAINTAINER= bofh@freebsd.org COMMENT= Persistent key-value database with built-in net interface WWW= https://redis.io/ LICENSE= AGPLv3 RSALv2 SSPLv1 LICENSE_COMB= dual LICENSE_NAME_RSALv2= Redis Source Available License v2 LICENSE_NAME_SSPLv1= Server Side Public License v1 LICENSE_FILE= ${WRKSRC}/LICENSE.txt LICENSE_PERMS_RSALv2= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept LICENSE_PERMS_SSPLv1= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept USES= compiler:c11 cpe gmake tcl:test pkgconfig CPE_VENDOR= redislabs USE_GITHUB= yes -GH_TAGNAME= 8f3b6990d +GH_TAGNAME= 2432f5527 USE_RC_SUBR= redis sentinel MAKE_ENV= OPTIMIZATION= \ V=yo CFLAGS+= -Wno-deprecated-declarations LDFLAGS+= -L/usr/lib -lexecinfo CONFLICTS_INSTALL= redis redis62 redis72 redis74 PORTSCOUT= ignore:1 SUB_FILES= pkg-message SUB_LIST+= PORTNAME=${PORTNAME} \ REDIS_DBDIR=${REDIS_DBDIR} \ REDIS_GROUP=${GROUPS} \ REDIS_LOGDIR=${REDIS_LOGDIR} \ REDIS_RUNDIR=${REDIS_RUNDIR} \ REDIS_USER=${USERS} USERS= redis GROUPS= redis PLIST_SUB+= REDIS_DBDIR=${REDIS_DBDIR} \ REDIS_GROUP=${GROUPS} \ REDIS_LOGDIR=${REDIS_LOGDIR} \ REDIS_RUNDIR=${REDIS_RUNDIR} \ REDIS_USER=${USERS} OPTIONS_DEFINE= JEMALLOC TLS OPTIONS_DEFAULT= TLS OPTIONS_SUB= yes JEMALLOC_DESC= Use jemalloc TLS_DESC= Use TLS (openssl req.) JEMALLOC_MAKE_ENV= USE_JEMALLOC=yes TLS_USES= ssl TLS_MAKE_ENV= BUILD_TLS=yes BIN_FILES= redis-benchmark redis-check-aof redis-check-rdb redis-cli \ redis-sentinel redis-server REDIS_DBDIR?= /var/db/redis REDIS_RUNDIR?= /var/run/redis REDIS_LOGDIR?= /var/log/redis post-patch-JEMALLOC-on: @${REINPLACE_CMD} '78s!Linux!FreeBSD!g' ${WRKSRC}/src/Makefile 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-test: @cd ${WRKSRC} && ${TCLSH} tests/test_helper.tcl .include diff --git a/databases/redis-devel/distinfo b/databases/redis-devel/distinfo index da3101a1736c..bcb5550e0b52 100644 --- a/databases/redis-devel/distinfo +++ b/databases/redis-devel/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1779639364 -SHA256 (redis-redis-8.6.2.20260331-8f3b6990d_GH0.tar.gz) = 4c1507c840f682af8f877a60b43ae260ef1f2021b00f26be381b14b82d74d957 -SIZE (redis-redis-8.6.2.20260331-8f3b6990d_GH0.tar.gz) = 4323989 +TIMESTAMP = 1780063925 +SHA256 (redis-redis-8.8.0.20260430-2432f5527_GH0.tar.gz) = c1d56cfb19aa4b955bc704d9d5d84e91c93e64c3f7067ef2fd4e3ac772470d5a +SIZE (redis-redis-8.8.0.20260430-2432f5527_GH0.tar.gz) = 4323787 diff --git a/databases/redis-devel/files/patch-deps-hiredis-Makefile b/databases/redis-devel/files/patch-deps-hiredis-Makefile index 5084572f7440..78b4def7418c 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 2025-05-28 09:43:59 UTC +--- deps/hiredis/Makefile.orig 2026-04-30 13:38:25 UTC +++ deps/hiredis/Makefile @@ -15,7 +15,7 @@ HIREDIS_SONAME=$(shell grep HIREDIS_SONAME hiredis.h | 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 @@ -43,10 +43,8 @@ CXX:=$(shell sh -c 'type $${CXX%% *} >/dev/null 2>/dev # 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 -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -DEBUG_FLAGS?= -g -ggdb -REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CPPFLAGS) $(CFLAGS) $(WARNINGS) $(DEBUG_FLAGS) $(PLATFORM_FLAGS) $(HIREDIS_CFLAGS) +REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG_FLAGS) $(PLATFORM_FLAGS) $(HIREDIS_CFLAGS) REAL_LDFLAGS=$(LDFLAGS) $(HIREDIS_LDFLAGS) - + DYLIBSUFFIX=so @@ -127,7 +125,16 @@ endif else REAL_CFLAGS+=-pedantic 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 0dfde3135238..9bc06c9531e2 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 19:32:05 UTC +--- deps/hiredis/net.c.orig 2026-04-30 13:38:25 UTC +++ deps/hiredis/net.c -@@ -178,14 +178,34 @@ +@@ -185,14 +185,34 @@ int redisKeepAlive(redisContext *c, int interval) { __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-deps_lua_src_lua__cjson.c b/databases/redis-devel/files/patch-deps_lua_src_lua__cjson.c index 0bb150504c67..e657e54fec17 100644 --- a/databases/redis-devel/files/patch-deps_lua_src_lua__cjson.c +++ b/databases/redis-devel/files/patch-deps_lua_src_lua__cjson.c @@ -1,12 +1,12 @@ ---- deps/lua/src/lua_cjson.c.orig 2019-09-25 10:40:18 UTC +--- deps/lua/src/lua_cjson.c.orig 2026-04-30 13:38:25 UTC +++ deps/lua/src/lua_cjson.c -@@ -46,7 +46,9 @@ +@@ -47,7 +47,9 @@ #include "strbuf.h" #include "fpconv.h" +#if defined(__sun) #include "../../../src/solarisfixes.h" +#endif #ifndef CJSON_MODNAME #define CJSON_MODNAME "cjson" diff --git a/databases/redis-devel/files/patch-redis.conf b/databases/redis-devel/files/patch-redis.conf index a84973345b78..e704c3e6054b 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 14:21:03 UTC -+++ redis.conf 2021-01-13 -@@ -244,7 +244,7 @@ +--- redis.conf.orig 2026-04-30 13:38:25 UTC ++++ redis.conf +@@ -324,7 +324,7 @@ tcp-keepalive 300 # 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 @@ +@@ -356,7 +356,7 @@ daemonize no # # 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 @@ +@@ -370,7 +370,7 @@ loglevel notice # 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 @@ +@@ -530,7 +530,7 @@ rdb-del-sync-files no # 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 ################################# diff --git a/databases/redis-devel/files/patch-src-Makefile b/databases/redis-devel/files/patch-src-Makefile index 01e7febdcc7e..531bf5da4e41 100644 --- a/databases/redis-devel/files/patch-src-Makefile +++ b/databases/redis-devel/files/patch-src-Makefile @@ -1,39 +1,39 @@ ---- src/Makefile.orig 2024-09-29 06:13:21 UTC +--- src/Makefile.orig 2026-04-30 13:38:25 UTC +++ src/Makefile -@@ -64,7 +64,7 @@ endif +@@ -67,7 +67,7 @@ endif STD+=-std=c99 endif -PREFIX?=/usr/local +PREFIX:=$(PREFIX) INSTALL_BIN=$(PREFIX)/bin INSTALL=install PKG_CONFIG?=pkg-config -@@ -128,7 +128,6 @@ FINAL_LIBS=-lm -lstdc++ +@@ -150,7 +150,6 @@ FINAL_LIBS=-lm FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) FINAL_LDFLAGS=$(LDFLAGS) $(OPT) $(REDIS_LDFLAGS) $(DEBUG) - FINAL_LIBS=-lm -lstdc++ + FINAL_LIBS=-lm -DEBUG=-g -ggdb # Linux ARM32 needs -latomic at linking time ifneq (,$(findstring armv,$(uname_M))) -@@ -167,6 +166,11 @@ else +@@ -189,6 +188,11 @@ else OPENSSL_PREFIX?=/usr/local/opt/openssl endif else +ifeq ($(uname_S),FreeBSD) + # FreeBSD + FINAL_CFLAGS?= $(CFLAGS) $(REDIS_CFLAGS) -I${PREFIX}/include + FINAL_LDFLAGS= $(LDFLAGS) -pthread +else ifeq ($(uname_S),AIX) # AIX FINAL_LDFLAGS+= -Wl,-bexpall -@@ -216,6 +220,7 @@ else +@@ -238,6 +242,7 @@ else # All the other OSes (notably Linux) FINAL_LDFLAGS+= -rdynamic FINAL_LIBS+=-ldl -pthread -lrt +endif endif endif endif