freebsd-ports/databases/redis/Makefile
Vladimir Druzenko 7bb0b75a66 databases/redis: update to 7.2.4 with fix CVE-2023-41056
Security fixes:
* (CVE-2023-41056) In some cases, Redis may incorrectly handle resizing of memory
  buffers which can result in incorrect accounting of buffer sizes and lead to
  heap overflow and potential remote code execution.
Bug fixes:
* Fix crashes of cluster commands clusters with mixed versions of 7.0 and 7.2 (#12805, #12832)
* Fix slot ownership not being properly handled when deleting a slot from a node (#12564)
* Fix atomicity issues with the RedisModuleEvent_Key module API event (#12733)
Changelog: https://github.com/redis/redis/releases/tag/7.2.4

PR:		276255
Approved by:	yasu (maintainer, timeout > 14 days), arrowd (mentor)
MFH:		2024Q1
2024-01-29 00:04:11 +03:00

122 lines
3.2 KiB
Makefile

PORTNAME= redis
DISTVERSION= 7.2.4
CATEGORIES= databases
MASTER_SITES= https://download.redis.io/releases/
MAINTAINER= yasu@FreeBSD.org
COMMENT= Persistent key-value database with built-in net interface
WWW= https://redis.io/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/COPYING
USES= compiler:c11 cpe gmake tcl:test
CPE_VENDOR= redislabs
USE_RC_SUBR= redis sentinel
MAKE_ENV= OPTIMIZATION= \
V=yo
LDFLAGS+= -lpthread -lm -lexecinfo
CONFLICTS_INSTALL= redis-devel redis6 redis62 redis70 # etc/rc.d/redis
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 TRIB
OPTIONS_DEFAULT= TLS
OPTIONS_RADIO= EXTLUA
OPTIONS_RADIO_EXTLUA= LUA LUAJIT
OPTIONS_SUB= yes
JEMALLOC_DESC= Use jemalloc
LUAJIT_DESC= Use luajit instead of builtin lua
LUA_DESC= Use lang/lua instead of builtin lua
TLS_DESC= Use TLS (openssl req.)
TRIB_DESC= Install redis-trib.rb (lang/ruby req.)
JEMALLOC_MAKE_ENV= USE_JEMALLOC=yes
LUAJIT_BROKEN= Fails to link
LUAJIT_USES= 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
TLS_USES= ssl
TLS_MAKE_ENV= BUILD_TLS=yes
TRIB_CATEGORIES= ruby
TRIB_RUN_DEPENDS= rubygem-redis>=2.2:databases/rubygem-redis
TRIB_USES= ruby
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
.include <bsd.port.pre.mk>
.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
.if ${PORT_OPTIONS:MLUAJIT}
. if ${LUAJIT_VER} == luajit
EXTRA_PATCHES= ${PATCHDIR}/extra-patch-src-Makefile.luajit
. else
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
. endif
.endif
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 <bsd.port.post.mk>