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