Added
Link Here
|
1 |
PORTNAME?= foundationdb |
2 |
DISTVERSION= 7.3.37 |
3 |
PORTREVISION?= 0 |
4 |
CATEGORIES?= databases |
5 |
PKGNAMESUFFIX?= ${DISTVERSION:C/([0-9]+)\.([0-9]+).*/\1\2/}-${_COMPONENT} |
6 |
|
7 |
MAINTAINER?= dmitry.wagin@ya.ru |
8 |
COMMENT?= FoundationDB is a distributed database designed to handle large volumes of structured data across clusters of commodity servers |
9 |
WWW= https://www.foundationdb.org/ |
10 |
|
11 |
LICENSE= APACHE20 |
12 |
LICENSE_FILE= ${WRKSRC}/LICENSE |
13 |
|
14 |
BROKEN_aarch64= invalid asm rdtsc |
15 |
ONLY_FOR_ARCHS= aarch64 amd64 |
16 |
ONLY_FOR_ARCHS_REASON= not yet ported to anything else |
17 |
|
18 |
BUILD_DEPENDS= bash:shells/bash \ |
19 |
msgpack-cxx>0:devel/msgpack-cxx \ |
20 |
toml11>0:devel/toml11 |
21 |
LIB_DEPENDS= libboost_system.so:devel/boost-libs \ |
22 |
libeio.so:devel/libeio \ |
23 |
libfmt.so:devel/libfmt |
24 |
|
25 |
USES= cmake compiler:c++20-lang llvm:max=16 mono:build python:build \ |
26 |
shebangfix ssl |
27 |
USE_GITHUB= yes |
28 |
GH_ACCOUNT= apple |
29 |
GH_PROJECT= foundationdb |
30 |
USE_LDCONFIG= yes |
31 |
|
32 |
.if !defined(_CLIENT_ONLY) |
33 |
_SERVER_ONLY= yes |
34 |
_COMPONENT= server |
35 |
USE_RC_SUBR= foundationdb |
36 |
RUN_DEPENDS+= fdbcli:databases/${PORTNAME}${DISTVERSION:C/([0-9]+)\.([0-9]+).*/\1\2/}-client |
37 |
SUB_FILES+= foundationdb.conf |
38 |
.endif |
39 |
|
40 |
SHEBANG_FILES= bindings/c/generate_asm.py |
41 |
|
42 |
CMAKE_ARGS= -DOPENSSL_ROOT_DIR=${OPENSSLLIB} |
43 |
CMAKE_OFF= BUILD_DOCUMENTATION BUILD_GO_BINDING BUILD_JAVA_BINDING \ |
44 |
BUILD_PYTHON_BINDING BUILD_RUBY_BINDING DISABLE_TLS \ |
45 |
SSD_ROCKSDB_EXPERIMENTAL USE_DTRACE USE_JEMALLOC |
46 |
|
47 |
MAKE_ENV= MONO_REGISTRY_PATH=/tmp/registry |
48 |
|
49 |
CONFLICTS+= ${PORTNAME}*-${_COMPONENT}* |
50 |
|
51 |
SUB_LIST= ${SUB_FDB} |
52 |
|
53 |
USERS= ${FOUNDATIONDB_USER} |
54 |
GROUPS= ${FOUNDATIONDB_GROUP} |
55 |
|
56 |
PLIST= ${PKGDIR}/pkg-plist-${_COMPONENT} |
57 |
PLIST_SUB= ${SUB_FDB} |
58 |
|
59 |
FOUNDATIONDB_USER?= foundationdb |
60 |
FOUNDATIONDB_GROUP?= foundationdb |
61 |
FOUNDATIONDB_DBDIR?= /var/db/foundationdb |
62 |
FOUNDATIONDB_LOGDIR?= /var/log/foundationdb |
63 |
|
64 |
SUB_FDB= FOUNDATIONDB_USER=${FOUNDATIONDB_USER} \ |
65 |
FOUNDATIONDB_GROUP=${FOUNDATIONDB_GROUP} \ |
66 |
FOUNDATIONDB_DBDIR=${FOUNDATIONDB_DBDIR} \ |
67 |
FOUNDATIONDB_LOGDIR=${FOUNDATIONDB_LOGDIR} |
68 |
|
69 |
do-install: |
70 |
@${MKDIR} ${STAGEDIR}${ETCDIR} |
71 |
.if defined(_SERVER_ONLY) |
72 |
${MKDIR} ${STAGEDIR}${FOUNDATIONDB_DBDIR} |
73 |
${MKDIR} ${STAGEDIR}${FOUNDATIONDB_LOGDIR} |
74 |
${INSTALL_DATA} ${WRKDIR}/foundationdb.conf ${STAGEDIR}${ETCDIR}/foundationdb.conf.sample |
75 |
. for f in fdbserver fdbmonitor |
76 |
${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/${f} ${STAGEDIR}${PREFIX}/sbin/ |
77 |
. endfor |
78 |
.endif # _SERVER_ONLY |
79 |
.if defined(_CLIENT_ONLY) |
80 |
${MKDIR} ${STAGEDIR}${PREFIX}/include/foundationdb |
81 |
${MKDIR} ${STAGEDIR}${PREFIX}/lib/foundationdb/backup_agent |
82 |
${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/fdbcli ${STAGEDIR}${PREFIX}/bin/ |
83 |
. for l in libfdb_c.so libfdb_c_shim.so |
84 |
${INSTALL_LIB} ${WRKDIR}/.build/lib/${l} ${STAGEDIR}/${PREFIX}/lib/ |
85 |
. endfor |
86 |
. for i in fdb_c.h fdb_c_internal.h fdb_c_shim.h fdb_c_types.h |
87 |
${INSTALL_DATA} ${WRKSRC}/bindings/c/foundationdb/${i} \ |
88 |
${STAGEDIR}/${PREFIX}/include/foundationdb/ |
89 |
. endfor |
90 |
. for i in fdb_c_apiversion.g.h fdb_c_options.g.h |
91 |
${INSTALL_DATA} ${WRKDIR}/.build/bindings/c/foundationdb/${i} \ |
92 |
${STAGEDIR}/${PREFIX}/include/foundationdb/ |
93 |
. endfor |
94 |
${INSTALL_DATA} ${WRKSRC}/fdbclient/vexillographer/fdb.options \ |
95 |
${STAGEDIR}/${PREFIX}/include/foundationdb/ |
96 |
${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/fdbbackup \ |
97 |
${STAGEDIR}${PREFIX}/lib/foundationdb/backup_agent/backup_agent |
98 |
. for s in fdbbackup fdbrestore fdbdr dr_agent |
99 |
${RLN} ${STAGEDIR}${PREFIX}/lib/foundationdb/backup_agent/backup_agent \ |
100 |
${STAGEDIR}${PREFIX}/bin/${s} |
101 |
. endfor |
102 |
.endif # _CLIENT_ONLY |
103 |
|
104 |
.include <bsd.port.mk> |