1PORTNAME= redis 2DISTVERSION= 8.0.1 3CATEGORIES= databases 4MASTER_SITES= https://download.redis.io/releases/ 5 6MAINTAINER= ports@MidnightBSD.org 7COMMENT= Persistent key-value database with built-in net interface 8WWW= https://redis.io/ 9 10LICENSE= RSALv2 SSPLv1 11LICENSE_COMB= dual 12LICENSE_NAME_RSALv2= Redis Source Available License v2 13LICENSE_NAME_SSPLv1= Server Side Public License v1 14LICENSE_FILE= ${WRKSRC}/LICENSE.txt 15LICENSE_PERMS_RSALv2= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept 16LICENSE_PERMS_SSPLv1= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept 17 18USES+= compiler:c11 cpe gmake 19CPE_VENDOR= redislabs 20USE_RC_SUBR= redis sentinel 21 22CONFLICTS_INSTALL= redis-devel redis6 redis72 redis74 # etc/rc.d/redis 23 24OPTIONS_DEFINE= JEMALLOC TESTS TLS 25OPTIONS_SUB= yes 26JEMALLOC_DESC= Use jemalloc 27TLS_DESC= Use TLS (openssl req.) 28TESTS_DESC= Install lang/tcl for redis unit tests 29 30MAKE_ENV= V=yo OPTIMIZATION= 31 32JEMALLOC_MAKE_ENV= USE_JEMALLOC=yes 33 34TESTS_USES= tcl:build 35 36TLS_USES= ssl 37TLS_MAKE_ENV= BUILD_TLS=yes 38 39.include <bsd.port.pre.mk> 40 41.if ${ARCH} == i386 && ! ${CFLAGS:M-march=*} 42# Needed for __atomic_fetch_add_8 43USE_GCC= yes 44CFLAGS+= -march=i586 45.endif 46 47.if defined(_addflags) 48CFLAGS= -fPIC 49LDFLAGS= -Wl,-E 50.endif 51 52.if defined(MAGUS) 53NO_TEST= yes 54.endif 55 56LDFLAGS+= -lpthread -lm -lexecinfo 57 58CONFLICTS_INSTALL= redis-devel redis6 redis62 redis70 # etc/rc.d/redis 59 60USE_RC_SUBR= redis sentinel 61BIN_FILES= redis-benchmark redis-check-aof redis-check-rdb \ 62 redis-cli redis-sentinel redis-server 63 64USERS= redis 65GROUPS= redis 66 67REDIS_DBDIR?= /var/db/redis 68REDIS_RUNDIR?= /var/run/redis 69REDIS_LOGDIR?= /var/log/redis 70 71SUB_FILES= pkg-message 72SUB_LIST+= PORTNAME=${PORTNAME} \ 73 REDIS_USER=${USERS} \ 74 REDIS_DBDIR=${REDIS_DBDIR} \ 75 REDIS_LOGDIR=${REDIS_LOGDIR} \ 76 REDIS_RUNDIR=${REDIS_RUNDIR} 77 78PLIST_SUB+= REDIS_USER=${USERS} \ 79 REDIS_GROUP=${GROUPS} \ 80 REDIS_LOGDIR=${REDIS_LOGDIR} \ 81 REDIS_DBDIR=${REDIS_DBDIR} \ 82 REDIS_RUNDIR=${REDIS_RUNDIR} 83 84post-patch-JEMALLOC-on: 85 @${REINPLACE_CMD} '35s!Linux!MidnightBSD!g' ${WRKSRC}/src/Makefile 86 87post-build: 88 ${SED} ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \ 89 ${WRKSRC}/redis.conf > ${WRKDIR}/redis.conf 90 91do-install: 92 ${INSTALL_PROGRAM} ${BIN_FILES:C!^!${WRKSRC}/src/!} ${PREFIX}/bin/ 93 ${INSTALL_DATA} ${WRKDIR}/redis.conf ${PREFIX}/etc/redis.conf.sample 94 ${INSTALL_DATA} ${WRKSRC}/sentinel.conf ${PREFIX}/etc/sentinel.conf.sample 95 ${MKDIR} ${REDIS_LOGDIR} \ 96 ${REDIS_DBDIR} \ 97 ${REDIS_RUNDIR} 98 99do-test: 100 @cd ${WRKSRC} && ${TCLSH} tests/test_helper.tcl 101 102.include <bsd.port.post.mk> 103