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