diff --git a/databases/redis/Makefile b/databases/redis/Makefile index b94ab9d1e154..6a47e07ae93a 100644 --- a/databases/redis/Makefile +++ b/databases/redis/Makefile @@ -1,91 +1,94 @@ PORTNAME= redis -DISTVERSION= 8.8.1 +DISTVERSION= 8.10.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 localbase:ldflags pkgconfig tcl:test CPE_VENDOR= redis USE_RC_SUBR= redis sentinel MAKE_ENV= OPTIMIZATION= \ V=yo #PIE_UNSAFE= ld: error: relocation R_X86_64_32 cannot be used against local \ # symbol; recompile with -fPIC CONFLICTS_INSTALL= redis-devel redis[0-9]* BINARY_ALIAS= gmd5sum=md5sum PORTSCOUT= limit:^[0-9\.]*$$ 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_GROUP= MODULES -OPTIONS_GROUP_MODULES= REDISBLOOM REDISJSON +OPTIONS_GROUP_MODULES= REDISBLOOM REDISJSON REDISEARCH OPTIONS_SUB= yes JEMALLOC_DESC= Use jemalloc REDISBLOOM_DESC= RedisBLOOM module REDISJSON_DESC= RedisJSON module +REDISEARCH_DESC= Redisearch module TLS_DESC= Use TLS (openssl req.) JEMALLOC_MAKE_ENV= USE_JEMALLOC=yes REDISBLOOM_LIB_DEPENDS= redisbloom.so>=0:databases/redisbloom REDISJSON_LIB_DEPENDS= librejson.so>=0:databases/redisjson +REDISEARCH_LIB_DEPENDS= redisearch.so>=0:textproc/redisearch 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-patch: + ${REINPLACE_CMD} -e 's|^cloned=.*|cloned=""|g' \ + ${WRKSRC}/scripts/build.sh 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 fd6c49e35aed..fadd14d7c975 100644 --- a/databases/redis/distinfo +++ b/databases/redis/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1784924262 -SHA256 (redis-8.8.1.tar.gz) = 1d1e423c9c808de3cb01dd3300d2b8d305b7691382e31a847ec17b66d3157477 -SIZE (redis-8.8.1.tar.gz) = 4480158 +TIMESTAMP = 1786832124 +SHA256 (redis-8.10.0.tar.gz) = f1baa4b28befd417aa6577ebeedde9e9fc7814cfcc299b2a6d2fd99ef7420a6c +SIZE (redis-8.10.0.tar.gz) = 21550621 diff --git a/databases/redis/files/patch-Makefile b/databases/redis/files/patch-Makefile new file mode 100644 index 000000000000..ec9df16aa213 --- /dev/null +++ b/databases/redis/files/patch-Makefile @@ -0,0 +1,19 @@ +--- Makefile.orig 2026-07-29 17:14:07 UTC ++++ Makefile +@@ -23,7 +23,6 @@ SUBDIRS = src + # per-module builds via modules/common.mk. The `sync-redis-conf` target lives + # in this top-level Makefile (not in manifest.mk) so per-module builds — + # which include common.mk → manifest.mk — don't see it as their default goal. +-include modules/manifest.mk + + # ---------------------------------------------------------------------------- + # Positional-arg capture for goals that take a list of module/test names. +@@ -35,8 +34,6 @@ GOALS_WITH_ARGS := \ + # targets fall out automatically. + # ---------------------------------------------------------------------------- + GOALS_WITH_ARGS := \ +- modules-update:MODULES_ARGS \ +- modules-shallow:SHALLOW_ARGS \ + run:RUN_ARGS \ + build:BUILD_ARGS \ + clean:CLEAN_ARGS \ diff --git a/databases/redis/files/patch-deps_xxhash_Makefile b/databases/redis/files/patch-deps_xxhash_Makefile deleted file mode 100644 index d26eb22d9ffd..000000000000 --- a/databases/redis/files/patch-deps_xxhash_Makefile +++ /dev/null @@ -1,16 +0,0 @@ ---- deps/xxhash/Makefile.orig 2026-05-25 09:26:50 UTC -+++ deps/xxhash/Makefile -@@ -186,11 +186,12 @@ clean: - $(RM) xxhsum.wasm xxhsum.js xxhsum.html - $(RM) xxh32sum$(EXT) xxh64sum$(EXT) xxh128sum$(EXT) xxh3sum$(EXT) - $(RM) fuzzer -+ifneq ($(wildcard tests/*),) - $(MAKE) -C tests clean - $(MAKE) -C tests/bench clean - $(MAKE) -C tests/collisions clean - @echo cleaning completed -- -+endif - - # ================================================= - # tests diff --git a/databases/redis/files/patch-redis.conf b/databases/redis/files/patch-redis.conf index 1bbed67a1b5d..d6f43780c4fb 100644 --- a/databases/redis/files/patch-redis.conf +++ b/databases/redis/files/patch-redis.conf @@ -1,38 +1,38 @@ ---- redis.conf.orig 2026-05-25 09:26:50 UTC +--- redis.conf.orig 2026-07-29 17:14:07 UTC +++ redis.conf -@@ -324,7 +324,7 @@ tcp-keepalive 300 +@@ -359,7 +359,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: -@@ -356,7 +356,7 @@ daemonize no +@@ -391,7 +391,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: -@@ -370,7 +370,7 @@ loglevel notice +@@ -405,7 +405,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. -@@ -530,7 +530,7 @@ rdb-del-sync-files no +@@ -565,7 +565,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 index 1691eabbbabd..d08997596d5c 100644 --- a/databases/redis/files/patch-src_Makefile +++ b/databases/redis/files/patch-src_Makefile @@ -1,19 +1,28 @@ ---- src/Makefile.orig 2026-05-25 09:26:50 UTC +--- src/Makefile.orig 2026-07-29 17:14:07 UTC +++ src/Makefile @@ -69,7 +69,7 @@ endif STD+=-std=c99 endif -PREFIX?=/usr/local +PREFIX:=$(PREFIX) INSTALL_BIN=$(PREFIX)/bin INSTALL=install PKG_CONFIG?=pkg-config -@@ -152,7 +152,6 @@ FINAL_LIBS=-lm - FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) - FINAL_LDFLAGS=$(LDFLAGS) $(OPT) $(REDIS_LDFLAGS) $(DEBUG) - FINAL_LIBS=-lm +@@ -80,7 +80,7 @@ MALLOC=libc + + # Default allocator defaults to Jemalloc on Linux and libc otherwise + MALLOC=libc +-ifeq ($(uname_S),Linux) ++ifeq ($(uname_S),FreeBSD) + MALLOC=jemalloc + endif + +@@ -169,7 +169,6 @@ endif + FINAL_CFLAGS+=-DUSE_COMPRESSION=1 $(LIBZSTD_CFLAGS) + FINAL_LIBS+=$(LIBZSTD_LIBS) + endif -DEBUG=-g -ggdb # Linux ARM32 needs -latomic at linking time ifneq (,$(findstring armv,$(uname_M))) diff --git a/databases/redis/files/patch-tests_modules_Makefile b/databases/redis/files/patch-tests_modules_Makefile index b91426ed4d1b..d106c9fd6a56 100644 --- a/databases/redis/files/patch-tests_modules_Makefile +++ b/databases/redis/files/patch-tests_modules_Makefile @@ -1,14 +1,14 @@ ---- tests/modules/Makefile.orig 2025-12-02 10:24:24 UTC +--- tests/modules/Makefile.orig 2026-07-29 17:14:07 UTC +++ tests/modules/Makefile @@ -34,6 +34,11 @@ endif endif endif - + +ifeq ($(uname_S),FreeBSD) + LD = cc + CC = cc +endif + # OS X 11.x doesn't have /usr/lib/libSystem.dylib and needs an explicit setting. ifeq ($(uname_S),Darwin) ifeq ("$(wildcard /usr/lib/libSystem.dylib)","")