diff --git a/databases/redis/Makefile b/databases/redis/Makefile index 8eacfb4ed6dd..e0f7e532a6e9 100644 --- a/databases/redis/Makefile +++ b/databases/redis/Makefile @@ -1,83 +1,83 @@ PORTNAME= redis -DISTVERSION= 8.0.3 +DISTVERSION= 8.2.0 CATEGORIES= databases MASTER_SITES= https://download.redis.io/releases/ 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 CPE_VENDOR= redislabs USE_RC_SUBR= redis sentinel MAKE_ENV= OPTIMIZATION= \ V=yo LDFLAGS+= -lpthread -lm -lexecinfo -PIE_UNSAFE= ld: error: relocation R_X86_64_32 cannot be used against local \ - symbol; recompile with -fPIC +#PIE_UNSAFE= ld: error: relocation R_X86_64_32 cannot be used against local \ +# symbol; recompile with -fPIC CONFLICTS_INSTALL= redis-devel redis62 redis72 redis74 SUB_FILES= pkg-message SUB_LIST= PORTNAME=${PORTNAME} \ REDIS_DBDIR=${REDIS_DBDIR} \ 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/distinfo b/databases/redis/distinfo index 1cd1f7274ce2..1052db8f2427 100644 --- a/databases/redis/distinfo +++ b/databases/redis/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1751914561 -SHA256 (redis-8.0.3.tar.gz) = 33f37290b00b14e9a884dd4dcba335febd63ea16c51609d34fa41e031ad587df -SIZE (redis-8.0.3.tar.gz) = 3821948 +TIMESTAMP = 1754729357 +SHA256 (redis-8.2.0.tar.gz) = ff95b83b7cf2f7a33af3be1e52fdf2e791c259f8272465c3b09f9e6bc901b604 +SIZE (redis-8.2.0.tar.gz) = 3897586 diff --git a/databases/redis/files/patch-deps-Makefile b/databases/redis/files/patch-deps_Makefile similarity index 89% rename from databases/redis/files/patch-deps-Makefile rename to databases/redis/files/patch-deps_Makefile index 33e36467dbca..d0f405916a20 100644 --- a/databases/redis/files/patch-deps-Makefile +++ b/databases/redis/files/patch-deps_Makefile @@ -1,21 +1,21 @@ ---- deps/Makefile.orig 2023-07-10 11:55:20 UTC +--- deps/Makefile.orig 2025-08-04 11:05:03 UTC +++ deps/Makefile -@@ -84,7 +84,7 @@ LUA_LDFLAGS+= $(LDFLAGS) +@@ -110,7 +110,7 @@ else ifeq ($(LUA_DEBUG),yes) LUA_CFLAGS+= -O0 -g -DLUA_USE_APICHECK else - LUA_CFLAGS+= -O2 + LUA_CFLAGS+= endif ifeq ($(LUA_COVERAGE),yes) LUA_CFLAGS += -fprofile-arcs -ftest-coverage -@@ -112,7 +112,7 @@ endif +@@ -138,7 +138,7 @@ jemalloc: .make-prerequisites jemalloc: .make-prerequisites @printf '%b %b\n' $(MAKECOLOR)MAKE$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR) - cd jemalloc && ./configure --disable-cxx --with-version=5.3.0-0-g0 --with-lg-quantum=3 --disable-cache-oblivious --with-jemalloc-prefix=je_ CFLAGS="$(JEMALLOC_CFLAGS)" LDFLAGS="$(JEMALLOC_LDFLAGS)" $(JEMALLOC_CONFIGURE_OPTS) - cd jemalloc && $(MAKE) lib/libjemalloc.a + cd jemalloc && ./configure --disable-cxx --with-version=5.3.0-0-g0 --with-lg-quantum=3 --disable-cache-oblivious --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 similarity index 76% rename from databases/redis/files/patch-deps-hiredis-Makefile rename to databases/redis/files/patch-deps_hiredis_Makefile index 76e3ea96245d..6bb5418e44d6 100644 --- a/databases/redis/files/patch-deps-hiredis-Makefile +++ b/databases/redis/files/patch-deps_hiredis_Makefile @@ -1,41 +1,41 @@ ---- deps/hiredis/Makefile.orig 2023-08-15 09:38:36 UTC +--- deps/hiredis/Makefile.orig 2025-08-04 11:05:03 UTC +++ deps/hiredis/Makefile -@@ -15,7 +15,7 @@ HIREDIS_PATCH=$(shell grep HIREDIS_PATCH hiredis.h | a +@@ -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 -@@ -38,10 +38,9 @@ export REDIS_TEST_CONFIG +@@ -43,10 +43,9 @@ 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) -+REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG_FLAGS) $(PLATFORM_FLAGS) - REAL_LDFLAGS=$(LDFLAGS) +-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 -@@ -122,7 +121,16 @@ ifeq ($(uname_S),FreeBSD) +@@ -127,7 +126,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/files/patch-deps-hiredis-net.c b/databases/redis/files/patch-deps_hiredis_net.c similarity index 91% rename from databases/redis/files/patch-deps-hiredis-net.c rename to databases/redis/files/patch-deps_hiredis_net.c index 0dfde3135238..84dbe39e16e6 100644 --- a/databases/redis/files/patch-deps-hiredis-net.c +++ b/databases/redis/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 2025-08-04 11:05:03 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/files/patch-deps-linenoise-Makefile b/databases/redis/files/patch-deps_linenoise_Makefile similarity index 100% rename from databases/redis/files/patch-deps-linenoise-Makefile rename to databases/redis/files/patch-deps_linenoise_Makefile diff --git a/databases/redis/files/patch-deps_lua_src_lua__cjson.c b/databases/redis/files/patch-deps_lua_src_lua__cjson.c index 0bb150504c67..9303727b7868 100644 --- a/databases/redis/files/patch-deps_lua_src_lua__cjson.c +++ b/databases/redis/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 2025-08-04 11:05:03 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/files/patch-redis.conf b/databases/redis/files/patch-redis.conf index b653f89a3211..201091ce2885 100644 --- a/databases/redis/files/patch-redis.conf +++ b/databases/redis/files/patch-redis.conf @@ -1,38 +1,38 @@ ---- redis.conf.orig 2021-01-12 14:21:03 UTC +--- redis.conf.orig 2025-08-04 11:05:03 UTC +++ redis.conf -@@ -244,7 +244,7 @@ +@@ -307,7 +307,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 @@ +@@ -339,7 +339,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 @@ +@@ -353,7 +353,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 @@ +@@ -513,7 +513,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/files/patch-src-Makefile b/databases/redis/files/patch-src_Makefile similarity index 85% rename from databases/redis/files/patch-src-Makefile rename to databases/redis/files/patch-src_Makefile index 63339db6505a..40cff0e1b880 100644 --- a/databases/redis/files/patch-src-Makefile +++ b/databases/redis/files/patch-src_Makefile @@ -1,39 +1,39 @@ ---- src/Makefile.orig 2025-05-02 11:15:06 UTC +--- src/Makefile.orig 2025-08-04 11:05:03 UTC +++ src/Makefile @@ -67,7 +67,7 @@ endif STD+=-std=c99 endif -PREFIX?=/usr/local +PREFIX:=$(PREFIX) INSTALL_BIN=$(PREFIX)/bin INSTALL=install PKG_CONFIG?=pkg-config -@@ -131,7 +131,6 @@ FINAL_LIBS=-lm -lstdc++ +@@ -143,7 +143,6 @@ FINAL_LIBS=-lm -lstdc++ FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) FINAL_LDFLAGS=$(LDFLAGS) $(OPT) $(REDIS_LDFLAGS) $(DEBUG) FINAL_LIBS=-lm -lstdc++ -DEBUG=-g -ggdb # Linux ARM32 needs -latomic at linking time ifneq (,$(findstring armv,$(uname_M))) -@@ -170,6 +169,11 @@ else +@@ -182,6 +181,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 -@@ -219,6 +223,7 @@ else +@@ -231,6 +235,7 @@ else # All the other OSes (notably Linux) FINAL_LDFLAGS+= -rdynamic FINAL_LIBS+=-ldl -pthread -lrt +endif endif endif endif diff --git a/databases/redis/files/patch-src-mkreleasehdr.sh b/databases/redis/files/patch-src_mkreleasehdr.sh similarity index 100% rename from databases/redis/files/patch-src-mkreleasehdr.sh rename to databases/redis/files/patch-src_mkreleasehdr.sh