aboutsummaryrefslogtreecommitdiff
path: root/databases/redis86/Makefile
diff options
context:
space:
mode:
authorMuhammad Moinur Rahman <bofh@FreeBSD.org>2026-05-29 12:39:33 +0000
committerMuhammad Moinur Rahman <bofh@FreeBSD.org>2026-05-29 14:03:18 +0000
commite0810fa7d29a3b61645631e5ada82e2dee594ad9 (patch)
tree3749b4011f43dba4799885058db1542ec0dc3538 /databases/redis86/Makefile
parent1a53db6fb010cf34f9e7239d9ffab3a9fccd04a2 (diff)
Diffstat (limited to 'databases/redis86/Makefile')
-rw-r--r--databases/redis86/Makefile88
1 files changed, 88 insertions, 0 deletions
diff --git a/databases/redis86/Makefile b/databases/redis86/Makefile
new file mode 100644
index 000000000000..e510156049f9
--- /dev/null
+++ b/databases/redis86/Makefile
@@ -0,0 +1,88 @@
+PORTNAME= redis
+DISTVERSION= 8.6.3
+CATEGORIES= databases
+MASTER_SITES= https://download.redis.io/releases/
+PKGNAMESUFFIX= 86
+
+MAINTAINER= bofh@freebsd.org
+COMMENT= Persistent key-value database with built-in net interface(8.6.X)
+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= redislabs
+USE_RC_SUBR= redis sentinel
+
+MAKE_ENV= OPTIMIZATION= \
+ V=yo
+
+CONFLICTS_INSTALL= redis-devel redis[0-9]*
+
+BINARY_ALIAS= gmd5sum=md5sum
+#PIE_UNSAFE= ld: error: relocation R_X86_64_32 cannot be used against local \
+# symbol; recompile with -fPIC
+PORTSCOUT= limit:^8\.6\.
+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_GROUP= MODULES
+OPTIONS_GROUP_MODULES= REDISJSON
+OPTIONS_SUB= yes
+
+JEMALLOC_DESC= Use jemalloc
+REDISJSON_DESC= RedisJSON module
+TLS_DESC= Use TLS (openssl req.)
+
+JEMALLOC_MAKE_ENV= USE_JEMALLOC=yes
+REDISJSON_LIB_DEPENDS= librejson.so>=0:databases/redisjson${PKGNAMESUFFIX}
+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 <bsd.port.mk>