blob: 92cedba5b3c833855ca9eb79e447a599cf22397e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
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
NOT_FOR_ARCHS= i386
NOT_FOR_ARCHS_REASON= build failure
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>
|