aboutsummaryrefslogtreecommitdiff
path: root/databases/foundationdb/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'databases/foundationdb/Makefile')
-rw-r--r--databases/foundationdb/Makefile77
1 files changed, 48 insertions, 29 deletions
diff --git a/databases/foundationdb/Makefile b/databases/foundationdb/Makefile
index fa0a01c42dd5..4345514df1fc 100644
--- a/databases/foundationdb/Makefile
+++ b/databases/foundationdb/Makefile
@@ -1,22 +1,29 @@
PORTNAME= foundationdb
-DISTVERSION= 6.3.13
+DISTVERSION= 7.1.29
CATEGORIES= databases
-MAINTAINER= dch@FreeBSD.org
+# PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/pull/
+
+MAINTAINER= dmitry.wagin@ya.ru
COMMENT= Distributed, transactional key-value store
+WWW= https://www.foundationdb.org/
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
-BROKEN_FreeBSD_11= requires newer OpenSSL
+BROKEN_aarch64= invalid asm rdtsc
ONLY_FOR_ARCHS= aarch64 amd64
ONLY_FOR_ARCHS_REASON= not yet ported to anything else
-BUILD_DEPENDS= bash:shells/bash
+BUILD_DEPENDS= ${LOCALBASE}/include/msgpack.hpp:devel/msgpack-cxx \
+ ${LOCALBASE}/include/toml.hpp:devel/toml11 \
+ bash:shells/bash \
+ git:devel/git
LIB_DEPENDS= libboost_system.so:devel/boost-libs \
libeio.so:devel/libeio
-USES= compiler:c++17-lang cmake mono:build python:build shebangfix ssl
+USES= cmake compiler:c++20-lang mono:build python:build shebangfix \
+ ssl
USE_GITHUB= yes
GH_ACCOUNT= apple
GH_PROJECT= foundationdb
@@ -26,54 +33,66 @@ USE_RC_SUBR= foundationdb
SHEBANG_FILES= bindings/c/generate_asm.py
CMAKE_ARGS= -DOPENSSL_ROOT_DIR=${OPENSSLLIB}
-CMAKE_OFF= USE_DTRACE DISABLE_TLS
+CMAKE_OFF= DISABLE_TLS USE_DTRACE USE_JEMALLOC WITH_CONTRIB WITH_FLOWBENCH
+
+MAKE_ENV= MONO_REGISTRY_PATH=/tmp/registry
+
+SUB_FILES= foundationdb.conf
+SUB_LIST= ${SUB_FDB}
USERS= foundationdb
GROUPS= foundationdb
-DBDIR?= /var/db/foundationdb
-LOGDIR?= /var/log/foundationdb
-SUB_FDB= DB_USER=${USERS} \
- DB_GROUP=${GROUPS} \
- DB_DIR=${DBDIR} \
- LOG_DIR=${LOGDIR}
-SUB_FILES+= foundationdb.conf
-SUB_LIST+= ${SUB_FDB}
-PLIST_SUB+= ${SUB_FDB}
+PLIST_SUB= ${SUB_FDB}
+
+FOUNDATIONDB_DBDIR?= /var/db/foundationdb
+FOUNDATIONDB_ETCDIR?= ${PREFIX}/etc/foundationdb
+FOUNDATIONDB_GROUP?= foundationdb
+FOUNDATIONDB_LOGDIR?= /var/log/foundationdb
+FOUNDATIONDB_USER?= foundationdb
+
+SUB_FDB= FOUNDATIONDB_DBDIR=${FOUNDATIONDB_DBDIR} \
+ FOUNDATIONDB_ETCDIR=${FOUNDATIONDB_ETCDIR} \
+ FOUNDATIONDB_GROUP=${FOUNDATIONDB_GROUP} \
+ FOUNDATIONDB_LOGDIR=${FOUNDATIONDB_LOGDIR} \
+ FOUNDATIONDB_USER=${FOUNDATIONDB_USER}
post-patch:
${REINPLACE_CMD} 's/OPENSSL_USE_STATIC_LIBS TRUE/OPENSSL_USE_STATIC_LIBS FALSE/' \
${WRKSRC}/cmake/FDBComponents.cmake
+ ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|' \
+ ${WRKSRC}/bindings/c/test/unit/third_party/CMakeLists.txt
+
do-install:
- # commands on first line, dev tools on next two
-.for f in fdbbackup fdbcli fdbmonitor fdbserver \
- actor_flamegraph fdb_c_performance_test fdb_c_ryw_benchmark \
- fdb_c_txn_size_test fdb_flow_tester fdbconvert fdbdecode mako tutorial
+# commands on first line, dev tools on next two
+.for f in fdbbackup fdbcli fdbmonitor fdbserver actor_flamegraph fdb_flow_tester \
+ fdbconvert fdbdecode tutorial
${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/${f} ${STAGEDIR}${PREFIX}/bin/
.endfor
- # confirm with upstream if these are actually needed
.for s in backup_agent dr_agent fastrestore_agent fdbr fdbrestore
${RLN} ${STAGEDIR}${PREFIX}/bin/fdbbackup ${STAGEDIR}${PREFIX}/bin/${s}
.endfor
- # exposed libraries - confirm with upstream
-.for l in libfdb_c.so libfdb_flow.a libfdb_sqlite.a libfdbclient.a \
- libfdbrpc.a libflow.a libthirdparty.a
+# exposed libraries - confirm with upstream
+.for l in libfdb_c.so libfdb_flow.a libfdb_sqlite.a libfdbclient.a libfdbrpc.a \
+ libflow.a
${STRIP_CMD} ${WRKDIR}/.build/lib/${l}
${INSTALL_DATA} ${WRKDIR}/.build/lib/${l} ${STAGEDIR}/${PREFIX}/lib/
.endfor
- # exposed headers - confirm with upstream
+# exposed headers - confirm with upstream
${MKDIR} ${STAGEDIR}${PREFIX}/include/foundationdb
${INSTALL_DATA} ${WRKSRC}/bindings/c/foundationdb/fdb_c.h \
${STAGEDIR}/${PREFIX}/include/foundationdb/
+ ${INSTALL_DATA} ${WRKSRC}/bindings/c/foundationdb/fdb_c_types.h \
+ ${STAGEDIR}/${PREFIX}/include/foundationdb/
${INSTALL_DATA} ${WRKSRC}/fdbclient/vexillographer/fdb.options \
${STAGEDIR}/${PREFIX}/include/foundationdb/
${INSTALL_DATA} ${WRKDIR}/.build/bindings/c/foundationdb/fdb_c_options.g.h \
${STAGEDIR}/${PREFIX}/include/foundationdb/
- # runtime related
- ${MKDIR} ${STAGEDIR}${DBDIR} \
- ${STAGEDIR}${LOGDIR} \
- ${STAGEDIR}${PREFIX}/etc/foundationdb
+# runtime related
+ ${MKDIR} ${STAGEDIR}${FOUNDATIONDB_ETCDIR}
+ ${MKDIR} ${STAGEDIR}${FOUNDATIONDB_DBDIR}
+ ${MKDIR} ${STAGEDIR}${FOUNDATIONDB_LOGDIR}
${INSTALL_DATA} ${WRKDIR}/foundationdb.conf \
- ${STAGEDIR}${PREFIX}/etc/foundationdb/foundationdb.conf.sample
+ ${STAGEDIR}${FOUNDATIONDB_ETCDIR}/foundationdb.conf.sample
.include <bsd.port.mk>