1PORTNAME=	valkey
2DISTVERSION=	8.1.1
3CATEGORIES=	databases
4
5MAINTAINER=	ports@MidnightBSD.org
6COMMENT=	High-performance data structure server that primarily serves key/value workloads
7WWW=		https://valkey.io/
8
9LICENSE=	bsd3
10LICENSE_FILE=	${WRKSRC}/COPYING
11
12FAKE_OPTS=	trueprefix
13
14USES=		gmake pkgconfig tcl:test
15USE_GITHUB=	yes
16GH_ACCOUNT=	valkey-io
17USE_RC_SUBR=	valkey valkeysentinel
18
19MAKE_ENV=	OPTIMIZATION= \
20		V=1
21
22LDFLAGS+=	-lpthread -lm -lexecinfo
23
24SUB_FILES=	pkg-message
25SUB_LIST+=	PORTNAME=${PORTNAME} \
26		VALKEY_DBDIR=${VALKEY_DBDIR} \
27		VALKEY_LOGDIR=${VALKEY_LOGDIR} \
28		VALKEY_RUNDIR=${VALKEY_RUNDIR} \
29		VALKEY_USER=${USERS}
30
31USERS=		valkey
32GROUPS=		valkey
33
34PLIST_SUB+=	VALKEY_DBDIR=${VALKEY_DBDIR} \
35		VALKEY_GROUP=${GROUPS} \
36		VALKEY_LOGDIR=${VALKEY_LOGDIR} \
37		VALKEY_RUNDIR=${VALKEY_RUNDIR} \
38		VALKEY_USER=${USERS}
39
40OPTIONS_DEFINE=		JEMALLOC TLS
41OPTIONS_DEFAULT=
42OPTIONS_SUB=		yes
43
44JEMALLOC_DESC=	Use jemalloc
45TLS_DESC=	Use TLS
46
47JEMALLOC_MAKE_ENV=	MALLOC=jemalloc
48TLS_USES=		ssl
49TLS_MAKE_ENV=		BUILD_TLS=yes
50
51VALKEY_DBDIR?=	/var/db/valkey
52VALKEY_RUNDIR?=	/var/run/valkey
53VALKEY_LOGDIR?=	/var/log/valkey
54
55NO_TEST=	yes
56
57post-build:
58	${SED} ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
59		${WRKSRC}/valkey.conf > ${WRKDIR}/valkey.conf
60	${SED} ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
61		${WRKSRC}/sentinel.conf > ${WRKDIR}/valkey-sentinel.conf
62
63post-install:
64	${INSTALL_DATA} ${WRKDIR}/valkey.conf ${PREFIX}/etc/valkey.conf.sample
65	${INSTALL_DATA} ${WRKDIR}/valkey-sentinel.conf ${PREFIX}/etc/valkey-sentinel.conf.sample
66	${MKDIR} ${FAKE_DESTDIR}${VALKEY_LOGDIR} \
67		${FAKE_DESTDIR}${VALKEY_DBDIR} \
68		${FAKE_DESTDIR}${VALKEY_RUNDIR}
69
70#do-test:
71#	@cd ${WRKSRC} && ${TCLSH} tests/test_helper.tcl
72
73.include <bsd.port.mk>
74