freebsd-ports/databases/keydb/Makefile
2023-11-02 16:27:52 -04:00

89 lines
2 KiB
Makefile

PORTNAME= keydb
DISTVERSIONPREFIX= v
DISTVERSION= 6.3.4
CATEGORIES= databases
MAINTAINER= zi@FreeBSD.org
COMMENT= High performance fork of Redis--a persistent key-value database
WWW= https://docs.keydb.dev/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libuuid.so:misc/e2fsprogs-libuuid \
liblz4.so:archivers/liblz4 \
libsnappy.so:archivers/snappy \
libzstd.so:archivers/zstd
USES= compiler:c11 cpe gmake localbase:ldflags pkgconfig:build
USE_GITHUB= yes
GH_ACCOUNT= Snapchat
GH_PROJECT= KeyDB
USE_RC_SUBR= keydb keydb_sentinel
MAKE_ENV= OPTIMIZATION= \
V=yo
LDFLAGS+= -lpthread -lm -lexecinfo
SUB_FILES= pkg-message
SUB_LIST= PORTNAME=${PORTNAME} \
KEYDB_DBDIR=${KEYDB_DBDIR} \
KEYDB_LOGDIR=${KEYDB_LOGDIR} \
KEYDB_RUNDIR=${KEYDB_RUNDIR} \
KEYDB_USER=${USERS}
USERS= keydb
GROUPS= keydb
PLIST_SUB= KEYDB_DBDIR=${KEYDB_DBDIR} \
KEYDB_GROUP=${GROUPS} \
KEYDB_LOGDIR=${KEYDB_LOGDIR} \
KEYDB_RUNDIR=${KEYDB_RUNDIR} \
KEYDB_USER=${USERS}
OPTIONS_DEFINE= TLS
OPTIONS_DEFAULT=TLS
TLS_DESC= Use TLS (openssl req.)
TLS_USES= ssl
TLS_MAKE_ENV= BUILD_TLS=yes
BIN_FILES= keydb-benchmark keydb-check-aof keydb-check-rdb keydb-cli \
keydb-sentinel keydb-server
KEYDB_DBDIR?= /var/db/keydb
KEYDB_RUNDIR?= /var/run/keydb
KEYDB_LOGDIR?= /var/log/keydb
.include <bsd.port.pre.mk>
.if ${ARCH} == i386 && !${CFLAGS:M-march=*}
# Needed for __atomic_fetch_add_8
USE_GCC= yes
CFLAGS+= -march=i586
.endif
.if defined(_ADDFLAGS)
CFLAGS+= -fPIC
LDFLAGS+= -Wl,-E
.endif
post-patch:
${REINPLACE_CMD} 's|/usr/local|${PREFIX}|g' ${WRKSRC}/src/Makefile
post-build:
${SED} ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
${WRKSRC}/keydb.conf > ${WRKDIR}/keydb.conf
do-install:
${INSTALL_PROGRAM} ${BIN_FILES:C!^!${WRKSRC}/src/!} ${STAGEDIR}${PREFIX}/bin/
${INSTALL_DATA} ${WRKDIR}/keydb.conf ${STAGEDIR}${PREFIX}/etc/keydb.conf.sample
${INSTALL_DATA} ${WRKSRC}/sentinel.conf ${STAGEDIR}${PREFIX}/etc/keydb_sentinel.conf.sample
${MKDIR} ${STAGEDIR}${KEYDB_LOGDIR} \
${STAGEDIR}${KEYDB_DBDIR} \
${STAGEDIR}${KEYDB_RUNDIR}
.include <bsd.port.post.mk>