diff options
10 files changed, 108 insertions, 96 deletions
diff --git a/databases/foundationdb/Makefile b/databases/foundationdb/Makefile index 40cb26f81797..efefec0100b9 100644 --- a/databases/foundationdb/Makefile +++ b/databases/foundationdb/Makefile @@ -1,5 +1,5 @@  PORTNAME=	foundationdb -DISTVERSION=	6.3.22 +DISTVERSION=	7.0.0  CATEGORIES=	databases  MAINTAINER=	dch@FreeBSD.org @@ -11,30 +11,35 @@ LICENSE_FILE=	${WRKSRC}/LICENSE  ONLY_FOR_ARCHS=	aarch64 amd64  ONLY_FOR_ARCHS_REASON=	not yet ported to anything else -BUILD_DEPENDS=	bash:shells/bash \ +BUILD_DEPENDS=	${LOCALBASE}/include/doctest/doctest.h:devel/doctest \ +		${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++17-lang mono:build python:build shebangfix \ +		ssl  USE_GITHUB=	yes  GH_ACCOUNT=	apple +GH_PROJECT=	foundationdb  USE_LDCONFIG=	yes  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  USERS=		foundationdb  GROUPS=		foundationdb  DBDIR?=		/var/db/foundationdb  LOGDIR?=	/var/log/foundationdb -SUB_FDB=	DB_USER=${USERS} \ -		DB_GROUP=${GROUPS} \ -		DB_DIR=${DBDIR} \ +SUB_FDB=	DB_USER=${USERS} DB_GROUP=${GROUPS} DB_DIR=${DBDIR} \  		LOG_DIR=${LOGDIR}  SUB_FILES+=	foundationdb.conf  SUB_LIST+=	${SUB_FDB} @@ -43,24 +48,22 @@ PLIST_SUB+=	${SUB_FDB}  post-patch:  		${REINPLACE_CMD} 's/OPENSSL_USE_STATIC_LIBS TRUE/OPENSSL_USE_STATIC_LIBS FALSE/' \  		${WRKSRC}/cmake/FDBComponents.cmake +  do-install: -	# commands on first line, dev tools on next two +# 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 +	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  	${MKDIR} ${STAGEDIR}${PREFIX}/include/foundationdb  	${INSTALL_DATA} ${WRKSRC}/bindings/c/foundationdb/fdb_c.h \  	    ${STAGEDIR}/${PREFIX}/include/foundationdb/ @@ -68,7 +71,7 @@ do-install:  	    ${STAGEDIR}/${PREFIX}/include/foundationdb/  	${INSTALL_DATA} ${WRKDIR}/.build/bindings/c/foundationdb/fdb_c_options.g.h \  	    ${STAGEDIR}/${PREFIX}/include/foundationdb/ -	# runtime related +# runtime related  	${MKDIR} ${STAGEDIR}${DBDIR} \  	    ${STAGEDIR}${LOGDIR} \  	    ${STAGEDIR}${PREFIX}/etc/foundationdb diff --git a/databases/foundationdb/distinfo b/databases/foundationdb/distinfo index 4f4b639ee8ee..d6b0c7b9492a 100644 --- a/databases/foundationdb/distinfo +++ b/databases/foundationdb/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1636212240 -SHA256 (apple-foundationdb-6.3.22_GH0.tar.gz) = 8f42ace92c1ec49ba2707f67fcf3c62d1b76f23231962e52e4d946e69c07bb50 -SIZE (apple-foundationdb-6.3.22_GH0.tar.gz) = 10645856 +TIMESTAMP = 1640764452 +SHA256 (apple-foundationdb-7.0.0_GH0.tar.gz) = 9a5ef672e32b6976b04a20c013b28c4aeeb7d35456afdefbc552707d52bc31ca +SIZE (apple-foundationdb-7.0.0_GH0.tar.gz) = 10875992 diff --git a/databases/foundationdb/files/patch-CMakeLists.txt b/databases/foundationdb/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..c39b3c3eb46e --- /dev/null +++ b/databases/foundationdb/files/patch-CMakeLists.txt @@ -0,0 +1,18 @@ +--- CMakeLists.txt.orig	2021-12-29 09:04:08 UTC ++++ CMakeLists.txt +@@ -172,9 +172,13 @@ else() +   add_subdirectory(fdbservice) + endif() + add_subdirectory(fdbbackup) +-add_subdirectory(contrib) ++if(WITH_CONTRIB) ++  add_subdirectory(contrib) ++endif() + add_subdirectory(tests) +-add_subdirectory(flowbench EXCLUDE_FROM_ALL) ++if(WITH_FLOWBENCH) ++  add_subdirectory(flowbench EXCLUDE_FROM_ALL) ++endif() + if(WITH_PYTHON AND WITH_C_BINDING) +   add_subdirectory(bindings) + endif() diff --git a/databases/foundationdb/files/patch-bindings_c_CMakeLists.txt b/databases/foundationdb/files/patch-bindings_c_CMakeLists.txt index 03c484c00465..c05798bb5aaa 100644 --- a/databases/foundationdb/files/patch-bindings_c_CMakeLists.txt +++ b/databases/foundationdb/files/patch-bindings_c_CMakeLists.txt @@ -1,11 +1,11 @@ ---- bindings/c/CMakeLists.txt.orig	2021-11-06 16:00:16 UTC +--- bindings/c/CMakeLists.txt.orig	2021-12-29 13:15:46 UTC  +++ bindings/c/CMakeLists.txt -@@ -15,6 +15,8 @@ elseif(WIN32) -   set(asm_file ${CMAKE_CURRENT_BINARY_DIR}/fdb_c.g.asm) - elseif(CMAKE_SYSTEM_NAME MATCHES "Linux" AND CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") -   set(platform "linux-aarch64") -+elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" AND CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") -+  set(platform "freebsd-aarch64") +@@ -65,7 +65,7 @@ if(WIN32)   endif() - add_custom_command(OUTPUT ${asm_file} ${CMAKE_CURRENT_BINARY_DIR}/fdb_c_function_pointers.g.h + # The tests don't build on windows +-if(NOT WIN32) ++if(NOT WIN32 AND NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") +   set(MAKO_SRCS +     test/mako/mako.c +     test/mako/mako.h diff --git a/databases/foundationdb/files/patch-bindings_c_generate__asm.py b/databases/foundationdb/files/patch-bindings_c_generate__asm.py deleted file mode 100644 index dfc0c350a770..000000000000 --- a/databases/foundationdb/files/patch-bindings_c_generate__asm.py +++ /dev/null @@ -1,29 +0,0 @@ ---- bindings/c/generate_asm.py.orig	2021-11-06 16:01:37 UTC -+++ bindings/c/generate_asm.py -@@ -59,7 +59,7 @@ def write_windows_asm(asmfile, functions): -  -  - def write_unix_asm(asmfile, functions, prefix): --    if platform != "linux-aarch64": -+    if platform != "freebsd-aarch64" and platform != "linux-aarch64": -         asmfile.write(".intel_syntax noprefix\n") -  -     if platform.startswith('linux') or platform == "freebsd": -@@ -104,7 +104,7 @@ def write_unix_asm(asmfile, functions, prefix): -         # .sizeg, .-g -         # .ident"GCC: (GNU) 8.3.1 20190311 (Red Hat 8.3.1-3)" -  --        if platform == "linux-aarch64": -+        if platform == "freebsd-aarch64" or platform == "linux-aarch64": -             asmfile.write("\tadrp x8, :got:fdb_api_ptr_%s\n" % (f)) -             asmfile.write("\tldr x8, [x8, #:got_lo12:fdb_api_ptr_%s]\n" % (f)) -             asmfile.write("\tldr x8, [x8]\n") -@@ -123,7 +123,7 @@ with open(asm, 'w') as asmfile: -         hfile.write( -             "void fdb_api_ptr_removed() { fprintf(stderr, \"REMOVED FDB API FUNCTION\\n\"); abort(); }\n\n") -  --        if platform.startswith('linux'): -+        if platform.startswith('freebsd') or platform.startswith('linux'): -             write_unix_asm(asmfile, functions, '') -         elif platform == "osx": -             write_unix_asm(asmfile, functions, '_') diff --git a/databases/foundationdb/files/patch-bindings_c_test_unit_third__party_CMakeLists.txt b/databases/foundationdb/files/patch-bindings_c_test_unit_third__party_CMakeLists.txt new file mode 100644 index 000000000000..4deeb8410767 --- /dev/null +++ b/databases/foundationdb/files/patch-bindings_c_test_unit_third__party_CMakeLists.txt @@ -0,0 +1,22 @@ +--- bindings/c/test/unit/third_party/CMakeLists.txt.orig	2021-12-07 03:03:34 UTC ++++ bindings/c/test/unit/third_party/CMakeLists.txt +@@ -1,18 +1 @@ +-# Download doctest repo. +-include(ExternalProject) +-find_package(Git REQUIRED) +- +-ExternalProject_Add( +-    doctest +-    PREFIX ${CMAKE_BINARY_DIR}/doctest +-    GIT_REPOSITORY https://github.com/onqtam/doctest.git +-    GIT_TAG 1c8da00c978c19e00a434b2b1f854fcffc9fba35 # v2.4.0 +-    TIMEOUT 10 +-    CONFIGURE_COMMAND "" +-    BUILD_COMMAND "" +-    INSTALL_COMMAND "" +-    LOG_DOWNLOAD ON +-) +- +-ExternalProject_Get_Property(doctest source_dir) +-set(DOCTEST_INCLUDE_DIR ${source_dir}/doctest CACHE INTERNAL "Path to include folder for doctest") ++set(DOCTEST_INCLUDE_DIR /usr/local/include/doctest CACHE INTERNAL "Path to include folder for doctest") diff --git a/databases/foundationdb/files/patch-cmake_ConfigureCompiler.cmake b/databases/foundationdb/files/patch-cmake_ConfigureCompiler.cmake deleted file mode 100644 index 99b8e24c6765..000000000000 --- a/databases/foundationdb/files/patch-cmake_ConfigureCompiler.cmake +++ /dev/null @@ -1,11 +0,0 @@ ---- cmake/ConfigureCompiler.cmake.orig	2021-10-21 22:10:27 UTC -+++ cmake/ConfigureCompiler.cmake -@@ -233,7 +233,7 @@ else() -         if (STATIC_LINK_LIBCXX) -           add_link_options(-static-libgcc -nostdlib++  -Wl,-Bstatic -lc++ -lc++abi -Wl,-Bdynamic) -         endif() --        add_link_options(-stdlib=libc++ -Wl,-build-id=sha1) -+        add_link_options(-Wl,-z,notext) -       endif() -     endif() -     if (OPEN_FOR_IDE) diff --git a/databases/foundationdb/files/patch-cmake_FDBComponents.cmake b/databases/foundationdb/files/patch-cmake_FDBComponents.cmake new file mode 100644 index 000000000000..e4b75371774d --- /dev/null +++ b/databases/foundationdb/files/patch-cmake_FDBComponents.cmake @@ -0,0 +1,34 @@ +--- cmake/FDBComponents.cmake.orig	2021-12-07 03:03:34 UTC ++++ cmake/FDBComponents.cmake +@@ -24,7 +24,7 @@ set(DISABLE_TLS OFF CACHE BOOL "Don't try to find Open + if(DISABLE_TLS) +   set(WITH_TLS OFF) + else() +-  set(OPENSSL_USE_STATIC_LIBS TRUE) ++  set(OPENSSL_USE_STATIC_LIBS FALSE) +   find_package(OpenSSL) +   if(OPENSSL_FOUND) +     set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) +@@ -203,6 +203,13 @@ else() + endif() +  + ################################################################################ ++# misc optional components ++################################################################################ ++ ++set(WITH_CONTRIB ON) ++set(WITH_FLOWBENCH OFF) ++ ++################################################################################ + # Coroutine implementation + ################################################################################ +  +@@ -236,6 +243,8 @@ function(print_components) +   message(STATUS "Build Documentation (make html):      ${WITH_DOCUMENTATION}") +   message(STATUS "Build Python sdist (make package):    ${WITH_PYTHON_BINDING}") +   message(STATUS "Configure CTest (depends on Python):  ${WITH_PYTHON}") ++  message(STATUS "Build contrib:                        ${WITH_CONTRIB}") ++  message(STATUS "Build with FlowBench:                 ${WITH_FLOWBENCH}") +   message(STATUS "Build with RocksDB:                   ${WITH_ROCKSDB_EXPERIMENTAL}") +   message(STATUS "=========================================") + endfunction() diff --git a/databases/foundationdb/files/patch-flow_Platform.h b/databases/foundationdb/files/patch-flow_Platform.h deleted file mode 100644 index 7332d3bded60..000000000000 --- a/databases/foundationdb/files/patch-flow_Platform.h +++ /dev/null @@ -1,24 +0,0 @@ ---- flow/Platform.h.orig	2021-10-21 22:10:27 UTC -+++ flow/Platform.h -@@ -434,6 +434,12 @@ dev_t getDeviceId(std::string path); - #include <features.h> - #include <sys/stat.h> - #endif -+#ifdef __freebsd__ -+#ifndef __aarch64__ -+#include <x86intrin.h> -+#else -+#include "sse2neon.h" -+#endif -  - #if defined(__APPLE__) - // Version of CLang bundled with XCode doesn't yet include ia32intrin.h. -@@ -459,7 +465,7 @@ inline static uint64_t timestampCounter() { - #define timestampCounter() __rdtsc() - #endif -  --#ifdef __FreeBSD__ -+#if defined(__FreeBSD__) && !defined(__aarch64__) - #if !(__has_builtin(__rdtsc)) - inline static uint64_t __rdtsc() { - 	uint64_t lo, hi; diff --git a/databases/foundationdb/pkg-plist b/databases/foundationdb/pkg-plist index 21278e3b27a2..6a089bd26277 100644 --- a/databases/foundationdb/pkg-plist +++ b/databases/foundationdb/pkg-plist @@ -4,17 +4,17 @@  bin/actor_flamegraph  bin/backup_agent  bin/dr_agent -bin/fdb_c_performance_test -bin/fdb_c_ryw_benchmark -bin/fdb_c_txn_size_test +bin/fastrestore_agent  bin/fdb_flow_tester  bin/fdbbackup  bin/fdbcli +bin/fdbconvert +bin/fdbdecode  bin/fdbmonitor  bin/fdbr  bin/fdbrestore  bin/fdbserver -bin/mako +bin/tutorial  include/foundationdb/fdb.options  include/foundationdb/fdb_c.h  include/foundationdb/fdb_c_options.g.h @@ -24,4 +24,3 @@ lib/libfdb_sqlite.a  lib/libfdbclient.a  lib/libfdbrpc.a  lib/libflow.a -lib/libthirdparty.a  | 
