1 # Created by: Sergey Skvortsov <skv@protey.ru>
7 MASTER_SITES= http://download.redis.io/releases/
9 MAINTAINER= osa@FreeBSD.org
10 COMMENT= Persistent key-value database with built-in net interface
16 OPTIONS_DEFINE= TESTS TRIB
18 OPTIONS_RADIO_EXTLUA= LUA LUAJIT
20 LUA_DESC= Use lang/lua instead of builtin lua
21 LUAJIT_DESC= Use lang/luajit instead of builtin lua
22 TESTS_DESC= Install lang/tcl for redis unit tests
23 TRIB_DESC= Install redis-trib.rb (lang/ruby req.)
25 .include <bsd.port.options.mk>
27 .if ${PORT_OPTIONS:MTRIB}
30 RUN_DEPENDS= rubygem-redis>=2.2:databases/rubygem-redis
33 .if ${PORT_OPTIONS:MLUA}
35 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-src-Makefile.lua
38 .if ${PORT_OPTIONS:MLUAJIT}
39 LIB_DEPENDS+= libluajit-5.1.so:lang/luajit
40 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-src-Makefile.luajit
43 .if ${PORT_OPTIONS:MLUA} || ${PORT_OPTIONS:MLUAJIT}
48 .if ${PORT_OPTIONS:MTESTS}
52 CFLAGS+= -I${LOCALBASE}/include
53 LDFLAGS+= -L${LOCALBASE}/lib -lpthread -lm -lexecinfo
55 CONFLICTS?= redis-devel-3.*
59 USE_RC_SUBR= redis sentinel
60 BIN_FILES= redis-benchmark redis-check-aof redis-check-rdb \
61 redis-cli redis-sentinel redis-server
63 PKGMESSAGE= ${WRKDIR}/pkg-message
68 REDIS_DBDIR?= /var/db/redis
69 REDIS_RUNDIR?= /var/run/redis
70 REDIS_LOGDIR?= /var/log/redis
72 SUB_FILES= pkg-message
73 SUB_LIST+= PORTNAME=${PORTNAME} \
75 REDIS_DBDIR=${REDIS_DBDIR} \
76 REDIS_LOGDIR=${REDIS_LOGDIR} \
77 REDIS_RUNDIR=${REDIS_RUNDIR}
79 PLIST_SUB+= REDIS_USER=${USERS} \
80 REDIS_GROUP=${GROUPS} \
81 REDIS_LOGDIR=${REDIS_LOGDIR} \
82 REDIS_DBDIR=${REDIS_DBDIR} \
83 REDIS_RUNDIR=${REDIS_RUNDIR}
85 .if ${PORT_OPTIONS:MLUAJIT} || ${PORT_OPTIONS:MLUA}
87 @cd ${WRKSRC}/deps/lua/src && ${CP} fpconv.* lua_* strbuf.* ${WRKSRC}/src/
91 ${SED} ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
92 ${WRKSRC}/redis.conf > ${WRKDIR}/redis.conf
95 ${INSTALL_PROGRAM} ${BIN_FILES:C!^!${WRKSRC}/src/!} ${STAGEDIR}${PREFIX}/bin/
96 .if ${PORT_OPTIONS:MTRIB}
97 ${INSTALL_SCRIPT} ${WRKSRC}/src/redis-trib.rb ${STAGEDIR}${PREFIX}/bin/
99 ${INSTALL_DATA} ${WRKDIR}/redis.conf ${STAGEDIR}${PREFIX}/etc/redis.conf.sample
100 ${INSTALL_DATA} ${WRKSRC}/sentinel.conf ${STAGEDIR}${PREFIX}/etc/sentinel.conf.sample
101 ${MKDIR} ${STAGEDIR}${REDIS_LOGDIR} \
102 ${STAGEDIR}${REDIS_DBDIR} \
103 ${STAGEDIR}${REDIS_RUNDIR}
105 regression-test: build
106 @cd ${WRKSRC} && ${TCLSH} tests/test_helper.tcl
108 .include <bsd.port.mk>