forked from Lainports/freebsd-ports
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
122 lines
3.2 KiB
Makefile
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>
|