aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris P. Korzun <drtr0jan@yandex.ru>2026-08-20 07:47:00 +0000
committerDima Panov <fluffy@FreeBSD.org>2026-08-20 07:51:55 +0000
commitaccbb1aec3b96bacbe74a0006d89bc1d3c8254cb (patch)
treebbf7c85347ea17cf10c784dc45cfed46b09b2d2f
parentbd5fba2a8423b10957411684495e789138203a94 (diff)
databases/foundationdb*: Revive, repair and update to latest stable releases
Fix build on aarch64 Assign to new maintainer PR: 295233
-rw-r--r--MOVED4
-rw-r--r--databases/Makefile4
-rw-r--r--databases/foundationdb71-client/Makefile10
-rw-r--r--databases/foundationdb71-server/Makefile119
-rw-r--r--databases/foundationdb71-server/distinfo5
-rw-r--r--databases/foundationdb71-server/files/foundationdb.conf.in47
-rw-r--r--databases/foundationdb71-server/files/foundationdb.in42
-rw-r--r--databases/foundationdb71-server/files/patch-CMakeLists.txt15
-rw-r--r--databases/foundationdb71-server/files/patch-bindings_CMakeLists.txt10
-rw-r--r--databases/foundationdb71-server/files/patch-bindings_c_CMakeLists.txt11
-rw-r--r--databases/foundationdb71-server/files/patch-cmake_CompileBoost.cmake11
-rw-r--r--databases/foundationdb71-server/files/patch-cmake_FDBComponents.cmake32
-rw-r--r--databases/foundationdb71-server/files/patch-cmake_GetMsgpack.cmake17
-rw-r--r--databases/foundationdb71-server/files/patch-fdbmonitor_CMakeLists.txt8
-rw-r--r--databases/foundationdb71-server/files/patch-fdbmonitor_fdbmonitor.cpp42
-rw-r--r--databases/foundationdb71-server/files/patch-fdbserver_FDBExecHelper.actor.cpp32
-rw-r--r--databases/foundationdb71-server/files/patch-fdbserver_SimulatedCluster.actor.cpp11
-rw-r--r--databases/foundationdb71-server/files/patch-fdbserver_fdbserver.actor.cpp30
-rw-r--r--databases/foundationdb71-server/files/patch-flow_Platform.h24
-rw-r--r--databases/foundationdb71-server/pkg-descr8
-rw-r--r--databases/foundationdb71-server/pkg-plist-client13
-rw-r--r--databases/foundationdb71-server/pkg-plist-server6
-rw-r--r--databases/foundationdb73-client/Makefile10
-rw-r--r--databases/foundationdb73-server/Makefile124
-rw-r--r--databases/foundationdb73-server/distinfo5
-rw-r--r--databases/foundationdb73-server/files/foundationdb.conf.in47
-rw-r--r--databases/foundationdb73-server/files/foundationdb.in42
-rw-r--r--databases/foundationdb73-server/files/patch-CMakeLists.txt15
-rw-r--r--databases/foundationdb73-server/files/patch-bindings_CMakeLists.txt11
-rw-r--r--databases/foundationdb73-server/files/patch-bindings_c_CMakeLists.txt64
-rw-r--r--databases/foundationdb73-server/files/patch-bindings_c_test_apitester_TesterWorkload.cpp11
-rw-r--r--databases/foundationdb73-server/files/patch-bindings_c_test_mako_mako.cpp11
-rw-r--r--databases/foundationdb73-server/files/patch-cmake_CompileBoost.cmake11
-rw-r--r--databases/foundationdb73-server/files/patch-cmake_FDBComponents.cmake32
-rw-r--r--databases/foundationdb73-server/files/patch-cmake_GetMsgpack.cmake17
-rw-r--r--databases/foundationdb73-server/files/patch-fdbcli_CMakeLists.txt11
-rw-r--r--databases/foundationdb73-server/files/patch-fdbcli_StatusCommand.actor.cpp31
-rw-r--r--databases/foundationdb73-server/files/patch-fdbclient_SpecialKeySpace.actor.cpp11
-rw-r--r--databases/foundationdb73-server/files/patch-fdbmonitor_CMakeLists.txt8
-rw-r--r--databases/foundationdb73-server/files/patch-fdbmonitor_fdbmonitor.cpp43
-rw-r--r--databases/foundationdb73-server/files/patch-fdbrpc_CMakeLists.txt9
-rw-r--r--databases/foundationdb73-server/files/patch-fdbrpc_IPAllowList.cpp10
-rw-r--r--databases/foundationdb73-server/files/patch-fdbrpc_TokenCache.actor.cpp10
-rw-r--r--databases/foundationdb73-server/files/patch-fdbserver_BlobWorker.actor.cpp33
-rw-r--r--databases/foundationdb73-server/files/patch-fdbserver_QuietDatabase.actor.cpp21
-rw-r--r--databases/foundationdb73-server/files/patch-fdbserver_SimulatedCluster.actor.cpp11
-rw-r--r--databases/foundationdb73-server/files/patch-fdbserver_storageserver.actor.cpp20
-rw-r--r--databases/foundationdb73-server/files/patch-fdbserver_tester.actor.cpp11
-rw-r--r--databases/foundationdb73-server/files/patch-flow_MkCertCli.cpp11
-rw-r--r--databases/foundationdb73-server/files/patch-flow_Platform.actor.cpp21
-rw-r--r--databases/foundationdb73-server/files/patch-flow_include_flow_Platform.h24
-rw-r--r--databases/foundationdb73-server/files/patch-flow_include_flow_Traceable.h12
-rw-r--r--databases/foundationdb73-server/pkg-descr8
-rw-r--r--databases/foundationdb73-server/pkg-plist-client16
-rw-r--r--databases/foundationdb73-server/pkg-plist-server6
55 files changed, 1224 insertions, 4 deletions
diff --git a/MOVED b/MOVED
index 1e81371313e7..fcd59837598b 100644
--- a/MOVED
+++ b/MOVED
@@ -4836,10 +4836,6 @@ lang/python39||2025-11-01|Has expired: Upgrade to a newer Python version. 3.9 is
devel/py-pyjq|textproc/py-jq|2025-11-01|Removed: Depended on expired Python version 3.9 and does not build with newer Python
devel/py-ctags||2025-11-01|Removed: Depended on expired Python version 3.9 and does not build with newer Python
net-im/tdlib-purple||2025-11-01|Remove broken port
-databases/foundationdb71-client||2025-11-01|Remove broken port
-databases/foundationdb71-server||2025-11-01|Remove broken port
-databases/foundationdb73-client||2025-11-01|Remove broken port
-databases/foundationdb73-server||2025-11-01|Remove broken port
databases/erlfdb||2025-11-01|Depends on removed port databases/foundationdb71-client
www/mitmproxy||2025-11-02|Remove broken port
net-im/signald|net-im/signal-cli|2025-11-02|Has expired: this project is no longer actively maintained. Use signal-cli instead
diff --git a/databases/Makefile b/databases/Makefile
index b5df929c73be..fde2246c0f46 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -73,6 +73,10 @@
SUBDIR += firebird40-server
SUBDIR += fmptools
SUBDIR += fortytwo-bdb
+ SUBDIR += foundationdb71-client
+ SUBDIR += foundationdb71-server
+ SUBDIR += foundationdb73-client
+ SUBDIR += foundationdb73-server
SUBDIR += frece
SUBDIR += freetds
SUBDIR += freetds-devel
diff --git a/databases/foundationdb71-client/Makefile b/databases/foundationdb71-client/Makefile
new file mode 100644
index 000000000000..32c672953a27
--- /dev/null
+++ b/databases/foundationdb71-client/Makefile
@@ -0,0 +1,10 @@
+PORTNAME= foundationdb
+
+COMMENT= FoundationDB client
+
+MASTERDIR= ${.CURDIR}/../foundationdb71-server
+
+_CLIENT_ONLY= yes
+_COMPONENT= client
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/foundationdb71-server/Makefile b/databases/foundationdb71-server/Makefile
new file mode 100644
index 000000000000..9399e77a5f13
--- /dev/null
+++ b/databases/foundationdb71-server/Makefile
@@ -0,0 +1,119 @@
+PORTNAME?= foundationdb
+DISTVERSION= 7.1.67
+CATEGORIES?= databases
+MASTER_SITES= SF/boost/boost/${BOOST_VERSION}:boost
+PKGNAMESUFFIX?= ${DISTVERSION:C/([0-9]+)\.([0-9]+).*/\1\2/}-${_COMPONENT}
+DISTFILES= boost_${BOOST_VERSION_UNDER}${EXTRACT_SUFX}:boost
+
+MAINTAINER?= drtr0jan@yandex.ru
+COMMENT?= FoundationDB is a large-scale distributed database
+WWW= https://www.foundationdb.org/
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+ONLY_FOR_ARCHS= aarch64 amd64
+ONLY_FOR_ARCHS_REASON= not yet ported to anything else
+
+BUILD_DEPENDS= bash:shells/bash \
+ msgpack-cxx>0:devel/msgpack-cxx \
+ toml11>=4.0.0:devel/toml11
+LIB_DEPENDS= libeio.so:devel/libeio
+
+USES= cmake compiler:c++20-lang llvm mono:build python:build \
+ shebangfix ssl
+USE_GITHUB= yes
+GH_ACCOUNT= apple
+GH_PROJECT= foundationdb
+USE_LDCONFIG= yes
+
+.if !defined(_CLIENT_ONLY)
+_SERVER_ONLY= yes
+_COMPONENT= server
+USE_RC_SUBR= foundationdb
+RUN_DEPENDS+= fdbcli:databases/${PORTNAME}${DISTVERSION:C/([0-9]+)\.([0-9]+).*/\1\2/}-client
+SUB_FILES+= foundationdb.conf
+.endif
+
+SHEBANG_FILES= bindings/c/generate_asm.py
+
+# Bundle last supported Boost release
+BOOST_VERSION= 1.78.0
+BOOST_VERSION_UNDER= ${BOOST_VERSION:C/\./_/g}
+
+CMAKE_ARGS= -DBOOST_SOURCE_DIR=${WRKDIR}/boost_${BOOST_VERSION_UNDER} \
+ -DOPENSSL_ROOT_DIR=${OPENSSLLIB}
+CMAKE_OFF= BUILD_DOCUMENTATION BUILD_GO_BINDING BUILD_JAVA_BINDING \
+ BUILD_PYTHON_BINDING BUILD_RUBY_BINDING DISABLE_TLS \
+ SSD_ROCKSDB_EXPERIMENTAL USE_DTRACE USE_JEMALLOC
+
+MAKE_ENV= MONO_REGISTRY_PATH=/tmp/registry
+
+CONFLICTS+= ${PORTNAME}*-${_COMPONENT}*
+
+SUB_LIST= ${SUB_FDB}
+
+FOUNDATIONDB_USER?= ${PORTNAME}
+FOUNDATIONDB_GROUP?= ${PORTNAME}
+FOUNDATIONDB_DBDIR?= /var/db/${PORTNAME}
+FOUNDATIONDB_LOGDIR?= /var/log/${PORTNAME}
+
+.if ${FOUNDATIONDB_USER} == ${PORTNAME}
+USERS= ${FOUNDATIONDB_USER}
+.endif
+.if ${FOUNDATIONDB_GROUP} == ${PORTNAME}
+GROUPS= ${FOUNDATIONDB_GROUP}
+.endif
+
+PLIST= ${PKGDIR}/pkg-plist-${_COMPONENT}
+PLIST_SUB= ${SUB_FDB}
+
+SUB_FDB= FOUNDATIONDB_USER=${FOUNDATIONDB_USER} \
+ FOUNDATIONDB_GROUP=${FOUNDATIONDB_GROUP} \
+ FOUNDATIONDB_DBDIR=${FOUNDATIONDB_DBDIR} \
+ FOUNDATIONDB_LOGDIR=${FOUNDATIONDB_LOGDIR}
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+.if ${COMPILER_TYPE} == clang
+ @${REINPLACE_CMD} -e 's|std::unary_function|std::__unary_function|' \
+ ${WRKSRC}/../boost_${BOOST_VERSION_UNDER}/boost/container_hash/hash.hpp
+.endif
+
+do-install:
+ @${MKDIR} ${STAGEDIR}${ETCDIR}
+.if defined(_SERVER_ONLY)
+ ${MKDIR} ${STAGEDIR}${FOUNDATIONDB_DBDIR}
+ ${MKDIR} ${STAGEDIR}${FOUNDATIONDB_LOGDIR}
+ ${INSTALL_DATA} ${WRKDIR}/foundationdb.conf ${STAGEDIR}${ETCDIR}/foundationdb.conf.sample
+. for f in fdbserver fdbmonitor
+ ${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/${f} ${STAGEDIR}${PREFIX}/sbin/
+. endfor
+.endif # _SERVER_ONLY
+.if defined(_CLIENT_ONLY)
+ ${MKDIR} ${STAGEDIR}${PREFIX}/include/foundationdb
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/foundationdb/backup_agent
+ ${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/fdbcli ${STAGEDIR}${PREFIX}/bin/
+. for l in libfdb_c.so
+ ${INSTALL_LIB} ${WRKDIR}/.build/lib/${l} ${STAGEDIR}/${PREFIX}/lib/
+. endfor
+. for i in fdb_c.h fdb_c_internal.h fdb_c_types.h
+ ${INSTALL_DATA} ${WRKSRC}/bindings/c/foundationdb/${i} \
+ ${STAGEDIR}/${PREFIX}/include/foundationdb/
+. endfor
+. for i in fdb_c_options.g.h
+ ${INSTALL_DATA} ${WRKDIR}/.build/bindings/c/foundationdb/${i} \
+ ${STAGEDIR}/${PREFIX}/include/foundationdb/
+. endfor
+ ${INSTALL_DATA} ${WRKSRC}/fdbclient/vexillographer/fdb.options \
+ ${STAGEDIR}/${PREFIX}/include/foundationdb/
+ ${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/fdbbackup \
+ ${STAGEDIR}${PREFIX}/lib/foundationdb/backup_agent/backup_agent
+. for s in fdbbackup fdbrestore fdbdr dr_agent
+ ${RLN} ${STAGEDIR}${PREFIX}/lib/foundationdb/backup_agent/backup_agent \
+ ${STAGEDIR}${PREFIX}/bin/${s}
+. endfor
+.endif # _CLIENT_ONLY
+
+.include <bsd.port.post.mk>
diff --git a/databases/foundationdb71-server/distinfo b/databases/foundationdb71-server/distinfo
new file mode 100644
index 000000000000..46f9c03e46b9
--- /dev/null
+++ b/databases/foundationdb71-server/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1745610360
+SHA256 (boost_1_78_0.tar.gz) = 94ced8b72956591c4775ae2207a9763d3600b30d9d7446562c552f0a14a63be7
+SIZE (boost_1_78_0.tar.gz) = 131140716
+SHA256 (apple-foundationdb-7.1.67_GH0.tar.gz) = d97a5b576d8c2f645fe1396a351bfb4eeeef6437f0be706d93e44cfb02081ddc
+SIZE (apple-foundationdb-7.1.67_GH0.tar.gz) = 11750707
diff --git a/databases/foundationdb71-server/files/foundationdb.conf.in b/databases/foundationdb71-server/files/foundationdb.conf.in
new file mode 100644
index 000000000000..1df7fe1cf17f
--- /dev/null
+++ b/databases/foundationdb71-server/files/foundationdb.conf.in
@@ -0,0 +1,47 @@
+## foundationdb.conf
+##
+## Configuration file for FoundationDB server processes
+## Full documentation is available at
+## https://apple.github.io/foundationdb/configuration.html#the-configuration-file
+
+[fdbmonitor]
+user = %%FOUNDATIONDB_USER%%
+group = %%FOUNDATIONDB_GROUP%%
+
+[general]
+restart-delay = 60
+## by default, restart-backoff = restart-delay-reset-interval = restart-delay
+# initial-restart-delay = 0
+# restart-backoff = 60
+# restart-delay-reset-interval = 60
+cluster-file = %%ETCDIR%%/fdb.cluster
+# delete-envvars =
+# kill-on-configuration-change = true
+
+## Default parameters for individual fdbserver processes
+[fdbserver]
+command = %%PREFIX%%/sbin/fdbserver
+public-address = auto:$ID
+listen-address = public
+datadir = %%FOUNDATIONDB_DBDIR%%/data/$ID
+logdir = %%FOUNDATIONDB_LOGDIR%%
+# logsize = 10MiB
+# maxlogssize = 100MiB
+# machine-id =
+# datacenter-id =
+# class =
+# memory = 8GiB
+# storage-memory = 1GiB
+# cache-memory = 2GiB
+# metrics-cluster =
+# metrics-prefix =
+
+## An individual fdbserver process with id 4500
+## Parameters set here override defaults from the [fdbserver] section
+[fdbserver.4500]
+
+[backup_agent]
+command = %%PREFIX%%/lib/foundationdb/backup_agent/backup_agent
+logdir = %%FOUNDATIONDB_LOGDIR%%
+
+[backup_agent.1]
diff --git a/databases/foundationdb71-server/files/foundationdb.in b/databases/foundationdb71-server/files/foundationdb.in
new file mode 100644
index 000000000000..719582a235d2
--- /dev/null
+++ b/databases/foundationdb71-server/files/foundationdb.in
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# PROVIDE: foundationdb
+# REQUIRE: LOGIN
+# BEFORE: securelevel
+# KEYWORD: shutdown
+
+# Add the following line to /etc/rc.conf to enable `foundationdb':
+#
+#foundationdb_enable="YES"
+#
+# Define config file here to run with different config file:
+#
+#foundationdb_config="xxxxx"
+#
+
+. /etc/rc.subr
+
+name="foundationdb"
+rcvar="${name}_enable"
+
+load_rc_config "$name"
+
+: ${foundationdb_enable="NO"}
+: ${foundationdb_user="%%FOUNDATIONDB_USER%%"}
+: ${foundationdb_group="%%FOUNDATIONDB_GROUP%%"}
+: ${foundationdb_config="%%PREFIX%%/etc/foundationdb/foundationdb.conf"}
+
+start_precmd="foundationdb_start_precmd"
+
+pidfile="/var/run/fdbmonitor.pid"
+command=%%PREFIX%%/sbin/fdbmonitor
+command_args="--conffile ${foundationdb_config} --lockfile ${pidfile} --daemonize"
+
+foundationdb_start_precmd()
+{
+ if [ ! -e "${pidfile}" ]; then
+ install -m 0600 -o "${foundationdb_user}" -g "${foundationdb_group}" /dev/null "${pidfile}"
+ fi
+}
+
+run_rc_command $1
diff --git a/databases/foundationdb71-server/files/patch-CMakeLists.txt b/databases/foundationdb71-server/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..064d0c3354ee
--- /dev/null
+++ b/databases/foundationdb71-server/files/patch-CMakeLists.txt
@@ -0,0 +1,15 @@
+--- CMakeLists.txt.orig 2024-01-17 13:58:04 UTC
++++ CMakeLists.txt
+@@ -184,8 +184,10 @@ else()
+ endif()
+ add_subdirectory(fdbbackup)
+ add_subdirectory(contrib)
+-add_subdirectory(tests)
+-add_subdirectory(flowbench EXCLUDE_FROM_ALL)
++#add_subdirectory(tests)
++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/foundationdb71-server/files/patch-bindings_CMakeLists.txt b/databases/foundationdb71-server/files/patch-bindings_CMakeLists.txt
new file mode 100644
index 000000000000..1d01226f4f63
--- /dev/null
+++ b/databases/foundationdb71-server/files/patch-bindings_CMakeLists.txt
@@ -0,0 +1,10 @@
+--- bindings/CMakeLists.txt.orig 2024-01-17 13:58:04 UTC
++++ bindings/CMakeLists.txt
+@@ -15,6 +15,6 @@ endif()
+ if(WITH_RUBY_BINDING)
+ add_subdirectory(ruby)
+ endif()
+-if(NOT WIN32 AND NOT OPEN_FOR_IDE)
++if(FALSE)
+ package_bindingtester()
+ endif()
diff --git a/databases/foundationdb71-server/files/patch-bindings_c_CMakeLists.txt b/databases/foundationdb71-server/files/patch-bindings_c_CMakeLists.txt
new file mode 100644
index 000000000000..605231ce16cd
--- /dev/null
+++ b/databases/foundationdb71-server/files/patch-bindings_c_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- bindings/c/CMakeLists.txt.orig 2024-01-17 13:58:04 UTC
++++ bindings/c/CMakeLists.txt
+@@ -78,7 +78,7 @@ if(WIN32)
+ endif()
+
+ # The tests don't build on windows
+-if(NOT WIN32)
++if(FALSE)
+ set(MAKO_SRCS
+ test/mako/mako.c
+ test/mako/mako.h
diff --git a/databases/foundationdb71-server/files/patch-cmake_CompileBoost.cmake b/databases/foundationdb71-server/files/patch-cmake_CompileBoost.cmake
new file mode 100644
index 000000000000..ad32b7f7e8c4
--- /dev/null
+++ b/databases/foundationdb71-server/files/patch-cmake_CompileBoost.cmake
@@ -0,0 +1,11 @@
+--- cmake/CompileBoost.cmake.orig 2025-01-15 16:19:53 UTC
++++ cmake/CompileBoost.cmake
+@@ -51,6 +51,8 @@ function(compile_boost)
+ ExternalProject_add("${COMPILE_BOOST_TARGET}Project"
+ URL "https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.tar.bz2"
+ URL_HASH SHA256=8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc
++ DOWNLOAD_COMMAND ""
++ SOURCE_DIR ${BOOST_SOURCE_DIR}
+ CONFIGURE_COMMAND ${BOOTSTRAP_COMMAND} ${BOOTSTRAP_ARGS} --with-libraries=${BOOTSTRAP_LIBRARIES} --with-toolset=${BOOST_TOOLSET}
+ BUILD_COMMAND ${B2_COMMAND} link=static ${COMPILE_BOOST_BUILD_ARGS} --prefix=${BOOST_INSTALL_DIR} ${USER_CONFIG_FLAG} install
+ BUILD_IN_SOURCE ON
diff --git a/databases/foundationdb71-server/files/patch-cmake_FDBComponents.cmake b/databases/foundationdb71-server/files/patch-cmake_FDBComponents.cmake
new file mode 100644
index 000000000000..eee7b533d680
--- /dev/null
+++ b/databases/foundationdb71-server/files/patch-cmake_FDBComponents.cmake
@@ -0,0 +1,32 @@
+--- cmake/FDBComponents.cmake.orig 2025-01-15 16:19:53 UTC
++++ cmake/FDBComponents.cmake
+@@ -24,7 +24,7 @@ else()
+ if(DISABLE_TLS)
+ set(WITH_TLS OFF)
+ else()
+- set(OPENSSL_USE_STATIC_LIBS TRUE)
++ set(OPENSSL_USE_STATIC_LIBS FALSE)
+ if(WIN32)
+ set(OPENSSL_MSVC_STATIC_RT ON)
+ endif()
+@@ -204,6 +204,12 @@ endif()
+ endif()
+
+ ################################################################################
++# misc optional components
++################################################################################
++
++set(WITH_FLOWBENCH OFF)
++
++################################################################################
+ # Coroutine implementation
+ ################################################################################
+
+@@ -248,6 +254,7 @@ 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 with FlowBench: ${WITH_FLOWBENCH}")
+ message(STATUS "Build with RocksDB: ${WITH_ROCKSDB_EXPERIMENTAL}")
+ message(STATUS "Build with AWS SDK: ${WITH_AWS_BACKUP}")
+ message(STATUS "=========================================")
diff --git a/databases/foundationdb71-server/files/patch-cmake_GetMsgpack.cmake b/databases/foundationdb71-server/files/patch-cmake_GetMsgpack.cmake
new file mode 100644
index 000000000000..adfc467bd72b
--- /dev/null
+++ b/databases/foundationdb71-server/files/patch-cmake_GetMsgpack.cmake
@@ -0,0 +1,17 @@
+--- cmake/GetMsgpack.cmake.orig 2023-09-26 04:25:05 UTC
++++ cmake/GetMsgpack.cmake
+@@ -1,9 +1,13 @@
+ find_package(msgpack 3.3.0 EXACT QUIET CONFIG)
++find_package(msgpackc-cxx 4.0.0...<6 QUIET CONFIG)
++find_package(msgpack-cxx 6 QUIET CONFIG)
+
+ add_library(msgpack INTERFACE)
+
+-if(msgpack_FOUND)
++if(msgpack_FOUND OR msgpackc-cxx_FOUND)
+ target_link_libraries(msgpack INTERFACE msgpackc-cxx)
++elseif(msgpack-cxx_FOUND)
++ target_link_libraries(msgpack INTERFACE msgpack-cxx)
+ else()
+ include(ExternalProject)
+ ExternalProject_add(msgpackProject
diff --git a/databases/foundationdb71-server/files/patch-fdbmonitor_CMakeLists.txt b/databases/foundationdb71-server/files/patch-fdbmonitor_CMakeLists.txt
new file mode 100644
index 000000000000..0029dfe979b9
--- /dev/null
+++ b/databases/foundationdb71-server/files/patch-fdbmonitor_CMakeLists.txt
@@ -0,0 +1,8 @@
+--- fdbmonitor/CMakeLists.txt.orig 2024-01-17 13:58:04 UTC
++++ fdbmonitor/CMakeLists.txt
+@@ -60,4 +60,4 @@ endif()
+ add_custom_target(generate_profile
+ COMMAND ${CMAKE_BINARY_DIR}/contrib/generate_profile.sh ${CMAKE_BINARY_DIR})
+
+-add_dependencies(generate_profile fdbmonitor fdbserver mako fdbcli)
++add_dependencies(generate_profile fdbmonitor fdbserver fdbcli)
diff --git a/databases/foundationdb71-server/files/patch-fdbmonitor_fdbmonitor.cpp b/databases/foundationdb71-server/files/patch-fdbmonitor_fdbmonitor.cpp
new file mode 100644
index 000000000000..862461539f53
--- /dev/null
+++ b/databases/foundationdb71-server/files/patch-fdbmonitor_fdbmonitor.cpp
@@ -0,0 +1,42 @@
+--- fdbmonitor/fdbmonitor.cpp.orig 2022-09-19 11:42:41 UTC
++++ fdbmonitor/fdbmonitor.cpp
+@@ -27,6 +27,8 @@
+
+ #ifdef __linux__
+ #include <sys/prctl.h>
++#elif defined(__FreeBSD__)
++#include <sys/procctl.h>
+ #endif
+
+ #include <sys/wait.h>
+@@ -751,6 +753,10 @@ void start_process(Command* cmd, ProcessID id, uid_t u
+ signal(SIGHUP, SIG_DFL);
+ signal(SIGINT, SIG_DFL);
+ signal(SIGTERM, SIG_DFL);
++#ifdef __linux__
++ signal(SIGCHLD, SIG_DFL);
++#endif
++ sigprocmask(SIG_SETMASK, mask, nullptr);
+
+ /* All output in this block should be to stdout (for SevInfo messages) or stderr (for SevError messages) */
+ /* Using log_msg() or log_err() from the child will cause the logs to be written incorrectly */
+@@ -780,13 +786,15 @@ void start_process(Command* cmd, ProcessID id, uid_t u
+ }
+
+ #ifdef __linux__
+- signal(SIGCHLD, SIG_DFL);
+-
+- sigprocmask(SIG_SETMASK, mask, nullptr);
+-
+ /* death of our parent raises SIGHUP */
+ prctl(PR_SET_PDEATHSIG, SIGHUP);
+ if (getppid() == 1) /* parent already died before prctl */
++ exit(0);
++#elif defined(__FreeBSD__)
++ /* death of our parent raises SIGHUP */
++ const int sig = SIGHUP;
++ procctl(P_PID, 0, PROC_PDEATHSIG_CTL, (void*)&sig);
++ if (getppid() == 1) /* parent already died before procctl */
+ exit(0);
+ #endif
+
diff --git a/databases/foundationdb71-server/files/patch-fdbserver_FDBExecHelper.actor.cpp b/databases/foundationdb71-server/files/patch-fdbserver_FDBExecHelper.actor.cpp
new file mode 100644
index 000000000000..4950f7fd5e8b
--- /dev/null
+++ b/databases/foundationdb71-server/files/patch-fdbserver_FDBExecHelper.actor.cpp
@@ -0,0 +1,32 @@
+--- fdbserver/FDBExecHelper.actor.cpp.orig 2022-09-19 11:42:41 UTC
++++ fdbserver/FDBExecHelper.actor.cpp
+@@ -18,6 +18,14 @@
+ * limitations under the License.
+ */
+
++#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__INTEL_COMPILER)
++#define BOOST_SYSTEM_NO_LIB
++#define BOOST_DATE_TIME_NO_LIB
++#define BOOST_REGEX_NO_LIB
++#include <boost/process.hpp>
++#endif
++#include <boost/algorithm/string.hpp>
++
+ #include "flow/TLSConfig.actor.h"
+ #include "flow/Trace.h"
+ #include "flow/Platform.h"
+@@ -33,14 +41,6 @@
+ #include "fdbserver/FDBExecHelper.actor.h"
+ #include "fdbserver/Knobs.h"
+ #include "fdbserver/RemoteIKeyValueStore.actor.h"
+-
+-#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__INTEL_COMPILER)
+-#define BOOST_SYSTEM_NO_LIB
+-#define BOOST_DATE_TIME_NO_LIB
+-#define BOOST_REGEX_NO_LIB
+-#include <boost/process.hpp>
+-#endif
+-#include <boost/algorithm/string.hpp>
+
+ #include "flow/actorcompiler.h" // This must be the last #include.
+
diff --git a/databases/foundationdb71-server/files/patch-fdbserver_SimulatedCluster.actor.cpp b/databases/foundationdb71-server/files/patch-fdbserver_SimulatedCluster.actor.cpp
new file mode 100644
index 000000000000..7ca782695a2e
--- /dev/null
+++ b/databases/foundationdb71-server/files/patch-fdbserver_SimulatedCluster.actor.cpp
@@ -0,0 +1,11 @@
+--- fdbserver/SimulatedCluster.actor.cpp.orig 2025-01-15 16:19:53 UTC
++++ fdbserver/SimulatedCluster.actor.cpp
+@@ -87,7 +87,7 @@ class TestConfig {
+ // environment details
+ class TestConfig {
+ class ConfigBuilder {
+- using value_type = toml::basic_value<toml::discard_comments>;
++ using value_type = toml::value;
+ using base_variant = std::variant<int, bool, std::string, std::vector<int>, ConfigDBType>;
+ using types =
+ variant_map<variant_concat<base_variant, variant_map<base_variant, Optional>>, std::add_pointer_t>;
diff --git a/databases/foundationdb71-server/files/patch-fdbserver_fdbserver.actor.cpp b/databases/foundationdb71-server/files/patch-fdbserver_fdbserver.actor.cpp
new file mode 100644
index 000000000000..dde4d5b10b81
--- /dev/null
+++ b/databases/foundationdb71-server/files/patch-fdbserver_fdbserver.actor.cpp
@@ -0,0 +1,30 @@
+--- fdbserver/fdbserver.actor.cpp.orig 2025-01-15 16:19:53 UTC
++++ fdbserver/fdbserver.actor.cpp
+@@ -84,7 +84,11 @@
+ #if defined(__linux__) || defined(__FreeBSD__)
+ #include <execinfo.h>
+ #include <signal.h>
++#if defined(__linux__)
+ #include <sys/prctl.h>
++#elif defined(__FreeBSD__)
++#include <sys/procctl.h>
++#endif
+ #ifdef ALLOC_INSTRUMENTATION
+ #include <cxxabi.h>
+ #endif
+@@ -2244,9 +2248,14 @@ int main(int argc, char* argv[]) {
+ f = result;
+ } else if (role == ServerRole::FlowProcess) {
+ TraceEvent(SevDebug, "StartingFlowProcess").detail("From", "fdbserver");
+-#if defined(__linux__) || defined(__FreeBSD__)
++#if defined(__linux__)
+ prctl(PR_SET_PDEATHSIG, SIGTERM);
+ if (getppid() == 1) /* parent already died before prctl */
++ flushAndExit(FDB_EXIT_SUCCESS);
++#elif defined(__FreeBSD__)
++ const int sig = SIGTERM;
++ procctl(P_PID, 0, PROC_PDEATHSIG_CTL, (void*)&sig);
++ if (getppid() == 1) /* parent already died before procctl */
+ flushAndExit(FDB_EXIT_SUCCESS);
+ #endif
+
diff --git a/databases/foundationdb71-server/files/patch-flow_Platform.h b/databases/foundationdb71-server/files/patch-flow_Platform.h
new file mode 100644
index 000000000000..5b7352a7f5e3
--- /dev/null
+++ b/databases/foundationdb71-server/files/patch-flow_Platform.h
@@ -0,0 +1,24 @@
+--- flow/Platform.h.orig 2025-01-15 16:19:53 UTC
++++ flow/Platform.h
+@@ -461,18 +461,20 @@ inline static uint64_t timestampCounter() {
+
+ #ifdef __FreeBSD__
+ #if !(__has_builtin(__rdtsc))
++#if defined(__amd64__)
+ inline static uint64_t __rdtsc() {
+ uint64_t lo, hi;
+ asm("rdtsc" : "=a"(lo), "=d"(hi));
+ return (lo | (hi << 32));
+ }
+-#endif
+ #elif defined(__powerpc64__) || defined(__ppc64__)
+ inline static uint64_t __rdtsc() {
+ uint64_t tb;
+ __asm__ volatile("mfspr %0, 268" : "=r"(tb));
+ return tb;
+ }
++#endif
++#endif
+ #endif
+
+ #if defined(__linux__)
diff --git a/databases/foundationdb71-server/pkg-descr b/databases/foundationdb71-server/pkg-descr
new file mode 100644
index 000000000000..a695625ee101
--- /dev/null
+++ b/databases/foundationdb71-server/pkg-descr
@@ -0,0 +1,8 @@
+FoundationDB is a distributed database designed to handle large volumes of
+structured data across clusters of commodity servers. It organizes data as an
+ordered key-value store and employs ACID transactions for all operations. It is
+especially well-suited for read/write workloads but also has excellent
+performance for write-intensive workloads. Users interact with the database
+using API language binding.
+
+To learn more about FoundationDB, visit https://www.foundationdb.org
diff --git a/databases/foundationdb71-server/pkg-plist-client b/databases/foundationdb71-server/pkg-plist-client
new file mode 100644
index 000000000000..ec18ef5e72a7
--- /dev/null
+++ b/databases/foundationdb71-server/pkg-plist-client
@@ -0,0 +1,13 @@
+bin/dr_agent
+bin/fdbbackup
+bin/fdbcli
+bin/fdbdr
+bin/fdbrestore
+include/foundationdb/fdb_c.h
+include/foundationdb/fdb_c_internal.h
+include/foundationdb/fdb_c_options.g.h
+include/foundationdb/fdb_c_types.h
+include/foundationdb/fdb.options
+lib/foundationdb/backup_agent/backup_agent
+lib/libfdb_c.so
+@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%ETCDIR%%
diff --git a/databases/foundationdb71-server/pkg-plist-server b/databases/foundationdb71-server/pkg-plist-server
new file mode 100644
index 000000000000..665afe1db04d
--- /dev/null
+++ b/databases/foundationdb71-server/pkg-plist-server
@@ -0,0 +1,6 @@
+sbin/fdbmonitor
+sbin/fdbserver
+@sample %%ETCDIR%%/foundationdb.conf.sample
+@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%ETCDIR%%
+@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%FOUNDATIONDB_DBDIR%%
+@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%FOUNDATIONDB_LOGDIR%%
diff --git a/databases/foundationdb73-client/Makefile b/databases/foundationdb73-client/Makefile
new file mode 100644
index 000000000000..74aa62e118cd
--- /dev/null
+++ b/databases/foundationdb73-client/Makefile
@@ -0,0 +1,10 @@
+PORTNAME= foundationdb
+
+COMMENT= FoundationDB client
+
+MASTERDIR= ${.CURDIR}/../foundationdb73-server
+
+_CLIENT_ONLY= yes
+_COMPONENT= client
+
+.include "${MASTERDIR}/Makefile"
diff --git a/databases/foundationdb73-server/Makefile b/databases/foundationdb73-server/Makefile
new file mode 100644
index 000000000000..bb17e12a1eda
--- /dev/null
+++ b/databases/foundationdb73-server/Makefile
@@ -0,0 +1,124 @@
+PORTNAME?= foundationdb
+DISTVERSION= 7.3.77
+CATEGORIES?= databases
+MASTER_SITES= SF/boost/boost/${BOOST_VERSION}:boost
+PKGNAMESUFFIX?= ${DISTVERSION:C/([0-9]+)\.([0-9]+).*/\1\2/}-${_COMPONENT}
+DISTFILES= boost_${BOOST_VERSION_UNDER}${EXTRACT_SUFX}:boost
+
+MAINTAINER?= drtr0jan@yandex.ru
+COMMENT?= FoundationDB is a large-scale distributed database
+WWW= https://www.foundationdb.org/
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+ONLY_FOR_ARCHS= aarch64 amd64
+ONLY_FOR_ARCHS_REASON= not yet ported to anything else
+
+BUILD_DEPENDS= bash:shells/bash \
+ msgpack-cxx>0:devel/msgpack-cxx \
+ toml11>4.0.0:devel/toml11
+LIB_DEPENDS= libeio.so:devel/libeio \
+ libfmt.so:devel/libfmt
+
+USES= cmake compiler:c++20-lang llvm mono:build python:build \
+ shebangfix ssl
+USE_GITHUB= yes
+GH_ACCOUNT= apple
+GH_PROJECT= foundationdb
+USE_LDCONFIG= yes
+
+.if !defined(_CLIENT_ONLY)
+_SERVER_ONLY= yes
+_COMPONENT= server
+USE_RC_SUBR= foundationdb
+RUN_DEPENDS+= fdbcli:databases/${PORTNAME}${DISTVERSION:C/([0-9]+)\.([0-9]+).*/\1\2/}-client
+SUB_FILES+= foundationdb.conf
+.endif
+
+SHEBANG_FILES= bindings/c/generate_asm.py
+
+# Bundle last supported Boost release
+BOOST_VERSION= 1.78.0
+BOOST_VERSION_UNDER= ${BOOST_VERSION:C/\./_/g}
+
+CMAKE_ARGS= -DBOOST_SOURCE_DIR=${WRKDIR}/boost_${BOOST_VERSION_UNDER} \
+ -DOPENSSL_ROOT_DIR=${OPENSSLLIB}
+CMAKE_OFF= BUILD_DOCUMENTATION BUILD_GO_BINDING BUILD_JAVA_BINDING \
+ BUILD_PYTHON_BINDING BUILD_RUBY_BINDING DISABLE_TLS \
+ SSD_ROCKSDB_EXPERIMENTAL USE_DTRACE USE_JEMALLOC
+
+MAKE_ENV= MONO_REGISTRY_PATH=/tmp/registry
+
+CONFLICTS+= ${PORTNAME}*-${_COMPONENT}*
+
+SUB_LIST= ${SUB_FDB}
+
+FOUNDATIONDB_USER?= ${PORTNAME}
+FOUNDATIONDB_GROUP?= ${PORTNAME}
+FOUNDATIONDB_DBDIR?= /var/db/${PORTNAME}
+FOUNDATIONDB_LOGDIR?= /var/log/${PORTNAME}
+
+.if ${FOUNDATIONDB_USER} == ${PORTNAME}
+USERS= ${FOUNDATIONDB_USER}
+.endif
+.if ${FOUNDATIONDB_GROUP} == ${PORTNAME}
+GROUPS= ${FOUNDATIONDB_GROUP}
+.endif
+
+PLIST= ${PKGDIR}/pkg-plist-${_COMPONENT}
+PLIST_SUB= ${SUB_FDB}
+
+SUB_FDB= FOUNDATIONDB_USER=${FOUNDATIONDB_USER} \
+ FOUNDATIONDB_GROUP=${FOUNDATIONDB_GROUP} \
+ FOUNDATIONDB_DBDIR=${FOUNDATIONDB_DBDIR} \
+ FOUNDATIONDB_LOGDIR=${FOUNDATIONDB_LOGDIR}
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+.if ${COMPILER_TYPE} == clang
+ @${REINPLACE_CMD} -e 's|std::unary_function|std::__unary_function|' \
+ ${WRKSRC}/../boost_${BOOST_VERSION_UNDER}/boost/container_hash/hash.hpp
+.endif
+
+do-install:
+ @${MKDIR} ${STAGEDIR}${ETCDIR}
+.if defined(_SERVER_ONLY)
+ ${MKDIR} ${STAGEDIR}${FOUNDATIONDB_DBDIR}
+ ${MKDIR} ${STAGEDIR}${FOUNDATIONDB_LOGDIR}
+ ${INSTALL_DATA} ${WRKDIR}/foundationdb.conf \
+ ${STAGEDIR}${ETCDIR}/foundationdb.conf.sample
+. for f in fdbserver fdbmonitor
+ ${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/${f} \
+ ${STAGEDIR}${PREFIX}/sbin/
+. endfor
+.endif # _SERVER_ONLY
+.if defined(_CLIENT_ONLY)
+ ${MKDIR} ${STAGEDIR}${PREFIX}/include/foundationdb
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/foundationdb/backup_agent
+ ${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/fdbcli \
+ ${STAGEDIR}${PREFIX}/bin/
+. for l in libfdb_c.so libfdb_c_shim.so
+ ${INSTALL_LIB} ${WRKDIR}/.build/lib/${l} \
+ ${STAGEDIR}/${PREFIX}/lib/
+. endfor
+. for i in fdb_c.h fdb_c_internal.h fdb_c_shim.h fdb_c_types.h
+ ${INSTALL_DATA} ${WRKSRC}/bindings/c/foundationdb/${i} \
+ ${STAGEDIR}/${PREFIX}/include/foundationdb/
+. endfor
+. for i in fdb_c_apiversion.g.h fdb_c_options.g.h
+ ${INSTALL_DATA} ${WRKDIR}/.build/bindings/c/foundationdb/${i} \
+ ${STAGEDIR}/${PREFIX}/include/foundationdb/
+. endfor
+ ${INSTALL_DATA} ${WRKSRC}/fdbclient/vexillographer/fdb.options \
+ ${STAGEDIR}/${PREFIX}/include/foundationdb/
+ ${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/fdbbackup \
+ ${STAGEDIR}${PREFIX}/lib/foundationdb/backup_agent/backup_agent
+. for s in fdbbackup fdbrestore fdbdr dr_agent
+ ${RLN} ${STAGEDIR}${PREFIX}/lib/foundationdb/backup_agent/backup_agent \
+ ${STAGEDIR}${PREFIX}/bin/${s}
+. endfor
+.endif # _CLIENT_ONLY
+
+.include <bsd.port.post.mk>
diff --git a/databases/foundationdb73-server/distinfo b/databases/foundationdb73-server/distinfo
new file mode 100644
index 000000000000..a4c4e4be1d56
--- /dev/null
+++ b/databases/foundationdb73-server/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1786440980
+SHA256 (boost_1_78_0.tar.gz) = 94ced8b72956591c4775ae2207a9763d3600b30d9d7446562c552f0a14a63be7
+SIZE (boost_1_78_0.tar.gz) = 131140716
+SHA256 (apple-foundationdb-7.3.77_GH0.tar.gz) = 5e5a5c6d9d0e7f510861aa8aa39f00ff0f35ad0bbb53340207cf9ddfcdf27300
+SIZE (apple-foundationdb-7.3.77_GH0.tar.gz) = 13152243
diff --git a/databases/foundationdb73-server/files/foundationdb.conf.in b/databases/foundationdb73-server/files/foundationdb.conf.in
new file mode 100644
index 000000000000..1df7fe1cf17f
--- /dev/null
+++ b/databases/foundationdb73-server/files/foundationdb.conf.in
@@ -0,0 +1,47 @@
+## foundationdb.conf
+##
+## Configuration file for FoundationDB server processes
+## Full documentation is available at
+## https://apple.github.io/foundationdb/configuration.html#the-configuration-file
+
+[fdbmonitor]
+user = %%FOUNDATIONDB_USER%%
+group = %%FOUNDATIONDB_GROUP%%
+
+[general]
+restart-delay = 60
+## by default, restart-backoff = restart-delay-reset-interval = restart-delay
+# initial-restart-delay = 0
+# restart-backoff = 60
+# restart-delay-reset-interval = 60
+cluster-file = %%ETCDIR%%/fdb.cluster
+# delete-envvars =
+# kill-on-configuration-change = true
+
+## Default parameters for individual fdbserver processes
+[fdbserver]
+command = %%PREFIX%%/sbin/fdbserver
+public-address = auto:$ID
+listen-address = public
+datadir = %%FOUNDATIONDB_DBDIR%%/data/$ID
+logdir = %%FOUNDATIONDB_LOGDIR%%
+# logsize = 10MiB
+# maxlogssize = 100MiB
+# machine-id =
+# datacenter-id =
+# class =
+# memory = 8GiB
+# storage-memory = 1GiB
+# cache-memory = 2GiB
+# metrics-cluster =
+# metrics-prefix =
+
+## An individual fdbserver process with id 4500
+## Parameters set here override defaults from the [fdbserver] section
+[fdbserver.4500]
+
+[backup_agent]
+command = %%PREFIX%%/lib/foundationdb/backup_agent/backup_agent
+logdir = %%FOUNDATIONDB_LOGDIR%%
+
+[backup_agent.1]
diff --git a/databases/foundationdb73-server/files/foundationdb.in b/databases/foundationdb73-server/files/foundationdb.in
new file mode 100644
index 000000000000..719582a235d2
--- /dev/null
+++ b/databases/foundationdb73-server/files/foundationdb.in
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# PROVIDE: foundationdb
+# REQUIRE: LOGIN
+# BEFORE: securelevel
+# KEYWORD: shutdown
+
+# Add the following line to /etc/rc.conf to enable `foundationdb':
+#
+#foundationdb_enable="YES"
+#
+# Define config file here to run with different config file:
+#
+#foundationdb_config="xxxxx"
+#
+
+. /etc/rc.subr
+
+name="foundationdb"
+rcvar="${name}_enable"
+
+load_rc_config "$name"
+
+: ${foundationdb_enable="NO"}
+: ${foundationdb_user="%%FOUNDATIONDB_USER%%"}
+: ${foundationdb_group="%%FOUNDATIONDB_GROUP%%"}
+: ${foundationdb_config="%%PREFIX%%/etc/foundationdb/foundationdb.conf"}
+
+start_precmd="foundationdb_start_precmd"
+
+pidfile="/var/run/fdbmonitor.pid"
+command=%%PREFIX%%/sbin/fdbmonitor
+command_args="--conffile ${foundationdb_config} --lockfile ${pidfile} --daemonize"
+
+foundationdb_start_precmd()
+{
+ if [ ! -e "${pidfile}" ]; then
+ install -m 0600 -o "${foundationdb_user}" -g "${foundationdb_group}" /dev/null "${pidfile}"
+ fi
+}
+
+run_rc_command $1
diff --git a/databases/foundationdb73-server/files/patch-CMakeLists.txt b/databases/foundationdb73-server/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..ca88d0ad7354
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-CMakeLists.txt
@@ -0,0 +1,15 @@
+--- CMakeLists.txt.orig 2024-01-09 21:06:41 UTC
++++ CMakeLists.txt
+@@ -193,8 +193,10 @@ else()
+ endif()
+ add_subdirectory(fdbbackup)
+ add_subdirectory(metacluster)
+-add_subdirectory(tests)
+-add_subdirectory(flowbench EXCLUDE_FROM_ALL)
++#add_subdirectory(tests)
++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/foundationdb73-server/files/patch-bindings_CMakeLists.txt b/databases/foundationdb73-server/files/patch-bindings_CMakeLists.txt
new file mode 100644
index 000000000000..3ca56cdf6cbd
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-bindings_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- bindings/CMakeLists.txt.orig 2024-01-09 21:06:41 UTC
++++ bindings/CMakeLists.txt
+@@ -15,7 +15,7 @@ endif()
+ if(WITH_RUBY_BINDING)
+ add_subdirectory(ruby)
+ endif()
+-if(NOT WIN32 AND NOT OPEN_FOR_IDE)
++if(FALSE)
+ package_bindingtester()
+ package_bindingtester2()
+ endif()
diff --git a/databases/foundationdb73-server/files/patch-bindings_c_CMakeLists.txt b/databases/foundationdb73-server/files/patch-bindings_c_CMakeLists.txt
new file mode 100644
index 000000000000..abf28118094b
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-bindings_c_CMakeLists.txt
@@ -0,0 +1,64 @@
+--- bindings/c/CMakeLists.txt.orig 2024-01-09 21:06:41 UTC
++++ bindings/c/CMakeLists.txt
+@@ -100,7 +100,7 @@ if(WIN32)
+ endif()
+
+ # The tests don't build on windows
+-if(NOT WIN32)
++if(FALSE)
+ set(MAKO_SRCS
+ test/mako/admin_server.hpp
+ test/mako/admin_server.cpp
+@@ -212,7 +212,7 @@ if(NOT WIN32)
+
+ target_include_directories(fdb_c_api_tester_impl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/foundationdb/ ${CMAKE_SOURCE_DIR}/flow/include ${CMAKE_BINARY_DIR}/flow/include)
+ target_link_libraries(fdb_c_api_tester_impl PRIVATE fdb_cpp toml11_target Threads::Threads fmt::fmt boost_target)
+- if(NOT APPLE)
++ if(NOT CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ target_link_libraries(fdb_c_api_tester_impl PRIVATE stdc++fs)
+ endif()
+ target_link_libraries(fdb_c_api_tester_impl PRIVATE SimpleOpt)
+@@ -439,6 +439,11 @@ elseif(NOT WIN32 AND NOT APPLE) # Linux Only
+ ${SHIM_LIB_OUTPUT_DIR}/libfdb_c.so.tramp.S)
+
+ set(IMPLIBSO_SRC_DIR ${CMAKE_SOURCE_DIR}/contrib/Implib.so)
++
++ if(CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64")
++ set(CMAKE_SYSTEM_PROCESSOR "x86_64")
++ endif()
++
+ set(IMPLIBSO_SRC
+ ${IMPLIBSO_SRC_DIR}/implib-gen.py
+ ${IMPLIBSO_SRC_DIR}/arch/common/init.cpp.tpl
+@@ -464,31 +469,6 @@ elseif(NOT WIN32 AND NOT APPLE) # Linux Only
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/foundationdb>)
+-
+- add_executable(fdb_c_shim_unit_tests)
+- target_link_libraries(fdb_c_shim_unit_tests PRIVATE fdb_c_shim fdb_c_unit_tests_impl)
+-
+- add_executable(fdb_c_shim_api_tester)
+- target_link_libraries(fdb_c_shim_api_tester PRIVATE fdb_c_shim fdb_c_api_tester_impl)
+-
+- add_executable(fdb_c_shim_lib_tester test/shim_lib_tester.cpp)
+- target_link_libraries(fdb_c_shim_lib_tester PRIVATE fdb_c_shim SimpleOpt fdb_cpp Threads::Threads)
+- target_include_directories(fdb_c_shim_lib_tester PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/foundationdb/ ${CMAKE_SOURCE_DIR}/flow/include)
+-
+- set(SHIM_LIB_TEST_EXTRA_OPTIONS "")
+- if(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR USE_SANITIZER)
+- list(APPEND SHIM_LIB_TEST_EXTRA_OPTIONS --disable-prev-version-tests)
+- endif()
+-
+- add_python_venv_test(NAME fdb_c_shim_library_tests
+- COMMAND python ${CMAKE_CURRENT_SOURCE_DIR}/test/fdb_c_shim_tests.py
+- --build-dir ${CMAKE_BINARY_DIR}
+- --unit-tests-bin $<TARGET_FILE:fdb_c_shim_unit_tests>
+- --api-tester-bin $<TARGET_FILE:fdb_c_shim_api_tester>
+- --shim-lib-tester-bin $<TARGET_FILE:fdb_c_shim_lib_tester>
+- --api-test-dir ${CMAKE_SOURCE_DIR}/bindings/c/test/apitester/tests
+- ${SHIM_LIB_TEST_EXTRA_OPTIONS}
+- )
+
+ endif() # End Linux only
+
diff --git a/databases/foundationdb73-server/files/patch-bindings_c_test_apitester_TesterWorkload.cpp b/databases/foundationdb73-server/files/patch-bindings_c_test_apitester_TesterWorkload.cpp
new file mode 100644
index 000000000000..0e58990da95d
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-bindings_c_test_apitester_TesterWorkload.cpp
@@ -0,0 +1,11 @@
+--- bindings/c/test/apitester/TesterWorkload.cpp.orig 2023-11-07 15:13:56 UTC
++++ bindings/c/test/apitester/TesterWorkload.cpp
+@@ -172,7 +172,7 @@ void WorkloadBase::error(const std::string& msg) {
+ fmt::print(stderr, "[{}] ERROR: {}\n", workloadId, msg);
+ numErrors++;
+ if (numErrors > maxErrors && !failed) {
+- fmt::print(stderr, "[{}] ERROR: Stopping workload after {} errors\n", workloadId, numErrors);
++ fmt::print(stderr, "[{}] ERROR: Stopping workload after {} errors\n", workloadId, numErrors.load());
+ failed = true;
+ }
+ }
diff --git a/databases/foundationdb73-server/files/patch-bindings_c_test_mako_mako.cpp b/databases/foundationdb73-server/files/patch-bindings_c_test_mako_mako.cpp
new file mode 100644
index 000000000000..fb8018344a8f
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-bindings_c_test_mako_mako.cpp
@@ -0,0 +1,11 @@
+--- bindings/c/test/mako/mako.cpp.orig 2023-11-07 15:13:56 UTC
++++ bindings/c/test/mako/mako.cpp
+@@ -2378,7 +2378,7 @@ int statsProcessMain(Arguments const& args,
+ fmt::fprintf(fp, "\"txntrace\": %d,", args.txntrace);
+ fmt::fprintf(fp, "\"txntagging\": %d,", args.txntagging);
+ fmt::fprintf(fp, "\"txntagging_prefix\": \"%s\",", args.txntagging_prefix);
+- fmt::fprintf(fp, "\"streaming_mode\": %d,", args.streaming_mode);
++ fmt::fprintf(fp, "\"streaming_mode\": %d,", static_cast<int>(args.streaming_mode));
+ fmt::fprintf(fp, "\"disable_ryw\": %d,", args.disable_ryw);
+ fmt::fprintf(fp, "\"transaction_timeout_db\": %d,", args.transaction_timeout_db);
+ fmt::fprintf(fp, "\"transaction_timeout_tx\": %d,", args.transaction_timeout_tx);
diff --git a/databases/foundationdb73-server/files/patch-cmake_CompileBoost.cmake b/databases/foundationdb73-server/files/patch-cmake_CompileBoost.cmake
new file mode 100644
index 000000000000..81e2fc9e3966
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-cmake_CompileBoost.cmake
@@ -0,0 +1,11 @@
+--- cmake/CompileBoost.cmake.orig 2025-07-02 21:14:39 UTC
++++ cmake/CompileBoost.cmake
+@@ -60,6 +60,8 @@ function(compile_boost)
+
+ set(BOOST_INSTALL_DIR "${CMAKE_BINARY_DIR}/boost_install")
+ ExternalProject_add("${COMPILE_BOOST_TARGET}Project"
++ SOURCE_DIR ${BOOST_SOURCE_DIR}
++ DOWNLOAD_COMMAND ""
+ URL "https://archives.boost.io/release/1.78.0/source/boost_1_78_0.tar.bz2"
+ URL_HASH SHA256=8681f175d4bdb26c52222665793eef08490d7758529330f98d3b29dd0735bccc
+ CONFIGURE_COMMAND ${BOOTSTRAP_COMMAND}
diff --git a/databases/foundationdb73-server/files/patch-cmake_FDBComponents.cmake b/databases/foundationdb73-server/files/patch-cmake_FDBComponents.cmake
new file mode 100644
index 000000000000..a6d65269edf7
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-cmake_FDBComponents.cmake
@@ -0,0 +1,32 @@
+--- cmake/FDBComponents.cmake.orig 2026-04-16 19:21:39 UTC
++++ cmake/FDBComponents.cmake
+@@ -28,7 +28,7 @@ set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
+ # Statically link OpenSSL to FDB, see
+ # https://cmake.org/cmake/help/v3.24/module/FindOpenSSL.html
+ # Without the flags, OpenSSL is dynamically linked.
+-set(OPENSSL_USE_STATIC_LIBS TRUE)
++set(OPENSSL_USE_STATIC_LIBS FALSE)
+ if (WIN32)
+ set(OPENSSL_MSVC_STATIC_RT ON)
+ endif()
+@@ -199,6 +199,12 @@ endif()
+ endif()
+
+ ################################################################################
++# misc optional components
++################################################################################
++
++set(WITH_FLOWBENCH OFF)
++
++################################################################################
+ # Coroutine implementation
+ ################################################################################
+
+@@ -242,6 +248,7 @@ 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 with FlowBench: ${WITH_FLOWBENCH}")
+ message(STATUS "Build with RocksDB: ${WITH_ROCKSDB_EXPERIMENTAL}")
+ message(STATUS "Build with AWS SDK: ${WITH_AWS_BACKUP}")
+ message(STATUS "=========================================")
diff --git a/databases/foundationdb73-server/files/patch-cmake_GetMsgpack.cmake b/databases/foundationdb73-server/files/patch-cmake_GetMsgpack.cmake
new file mode 100644
index 000000000000..adfc467bd72b
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-cmake_GetMsgpack.cmake
@@ -0,0 +1,17 @@
+--- cmake/GetMsgpack.cmake.orig 2023-09-26 04:25:05 UTC
++++ cmake/GetMsgpack.cmake
+@@ -1,9 +1,13 @@
+ find_package(msgpack 3.3.0 EXACT QUIET CONFIG)
++find_package(msgpackc-cxx 4.0.0...<6 QUIET CONFIG)
++find_package(msgpack-cxx 6 QUIET CONFIG)
+
+ add_library(msgpack INTERFACE)
+
+-if(msgpack_FOUND)
++if(msgpack_FOUND OR msgpackc-cxx_FOUND)
+ target_link_libraries(msgpack INTERFACE msgpackc-cxx)
++elseif(msgpack-cxx_FOUND)
++ target_link_libraries(msgpack INTERFACE msgpack-cxx)
+ else()
+ include(ExternalProject)
+ ExternalProject_add(msgpackProject
diff --git a/databases/foundationdb73-server/files/patch-fdbcli_CMakeLists.txt b/databases/foundationdb73-server/files/patch-fdbcli_CMakeLists.txt
new file mode 100644
index 000000000000..7289dd326b82
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-fdbcli_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- fdbcli/CMakeLists.txt.orig 2024-01-09 21:06:41 UTC
++++ fdbcli/CMakeLists.txt
+@@ -25,7 +25,7 @@ if(NOT OPEN_FOR_IDE)
+ endif()
+ endif()
+
+-if (NOT WIN32 AND NOT OPEN_FOR_IDE)
++if(FALSE)
+ add_dependencies(fdbcli external_client)
+
+ add_fdbclient_test(
diff --git a/databases/foundationdb73-server/files/patch-fdbcli_StatusCommand.actor.cpp b/databases/foundationdb73-server/files/patch-fdbcli_StatusCommand.actor.cpp
new file mode 100644
index 000000000000..321b16ded9fa
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-fdbcli_StatusCommand.actor.cpp
@@ -0,0 +1,31 @@
+--- fdbcli/StatusCommand.actor.cpp.orig 2025-07-02 21:14:39 UTC
++++ fdbcli/StatusCommand.actor.cpp
+@@ -18,6 +18,8 @@
+ * limitations under the License.
+ */
+
++#include <ctime>
++
+ #include "fdbcli/fdbcli.actor.h"
+ #include "fmt/chrono.h"
+ #include "fmt/core.h"
+@@ -1142,7 +1144,7 @@ void printStatus(StatusObjectReader statusObj,
+ auto value = fmt::format("{}.{} dumped at {:%H:%M}. Total {} bytes.",
+ epoch,
+ seqNo,
+- fmt::localtime(dumpTs),
++ *std::localtime(&dumpTs),
+ sizeInBytes);
+ outputString += "\n Last Manifest - " + value;
+ } else {
+@@ -1171,8 +1173,8 @@ void printStatus(StatusObjectReader statusObj,
+ std::string error = statusObjBlobRestore["blob_full_restore_error"].get_str();
+ int64_t startTs = statusObjBlobRestore["blob_full_restore_start_ts"].get_int64();
+ int64_t phaseStartTs = statusObjBlobRestore["blob_full_restore_phase_start_ts"].get_int64();
+- std::string tsShortStr = fmt::format("{:%H:%M}", fmt::localtime(phaseStartTs));
+- std::string tsLongStr = fmt::format("{:%m/%d/%y %H:%M:%S}", fmt::localtime(phaseStartTs));
++ std::string tsShortStr = fmt::format("{:%H:%M}", *std::localtime(&phaseStartTs));
++ std::string tsLongStr = fmt::format("{:%m/%d/%y %H:%M:%S}", *std::localtime(&phaseStartTs));
+
+ switch (statusObjBlobRestore["blob_full_restore_phase"].get_int()) {
+ case BlobRestorePhase::INIT:
diff --git a/databases/foundationdb73-server/files/patch-fdbclient_SpecialKeySpace.actor.cpp b/databases/foundationdb73-server/files/patch-fdbclient_SpecialKeySpace.actor.cpp
new file mode 100644
index 000000000000..533fcfa7ced8
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-fdbclient_SpecialKeySpace.actor.cpp
@@ -0,0 +1,11 @@
+--- fdbclient/SpecialKeySpace.actor.cpp.orig 2026-04-16 19:21:39 UTC
++++ fdbclient/SpecialKeySpace.actor.cpp
+@@ -3049,7 +3049,7 @@ ACTOR Future<Void> validateSpecialSubrangeRead(ReadYou
+ // Test
+ RangeResult testResult = wait(ryw->getRange(testBegin, testEnd, limits, Snapshot::True, reverse));
+ if (testResult != expectedResult) {
+- fmt::print("Reverse: {}\n", reverse);
++ fmt::print("Reverse: {}\n", static_cast<bool>(reverse));
+ fmt::print("Original range: [{}, {})\n", begin.toString(), end.toString());
+ fmt::print("Original result:\n");
+ for (const auto& kr : result) {
diff --git a/databases/foundationdb73-server/files/patch-fdbmonitor_CMakeLists.txt b/databases/foundationdb73-server/files/patch-fdbmonitor_CMakeLists.txt
new file mode 100644
index 000000000000..032c67f6976c
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-fdbmonitor_CMakeLists.txt
@@ -0,0 +1,8 @@
+--- fdbmonitor/CMakeLists.txt.orig 2024-01-09 21:06:41 UTC
++++ fdbmonitor/CMakeLists.txt
+@@ -62,4 +62,4 @@ endif()
+ add_custom_target(generate_profile
+ COMMAND ${CMAKE_BINARY_DIR}/contrib/generate_profile.sh ${CMAKE_BINARY_DIR})
+
+-add_dependencies(generate_profile fdbmonitor fdbserver mako fdbcli)
++add_dependencies(generate_profile fdbmonitor fdbserver fdbcli)
diff --git a/databases/foundationdb73-server/files/patch-fdbmonitor_fdbmonitor.cpp b/databases/foundationdb73-server/files/patch-fdbmonitor_fdbmonitor.cpp
new file mode 100644
index 000000000000..f442e287838d
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-fdbmonitor_fdbmonitor.cpp
@@ -0,0 +1,43 @@
+--- fdbmonitor/fdbmonitor.cpp.orig 2026-04-16 19:21:39 UTC
++++ fdbmonitor/fdbmonitor.cpp
+@@ -27,6 +27,8 @@
+
+ #ifdef __linux__
+ #include <sys/prctl.h>
++#elif defined(__FreeBSD__)
++#include<sys/procctl.h>
+ #endif
+
+ #include <sys/wait.h>
+@@ -758,7 +760,10 @@ void start_process(Command* cmd, ProcessID id, uid_t u
+ signal(SIGHUP, SIG_DFL);
+ signal(SIGINT, SIG_DFL);
+ signal(SIGTERM, SIG_DFL);
+-
++#ifdef __linux__
++ signal(SIGCHLD, SIG_DFL);
++#endif
++ sigprocmask(SIG_SETMASK, mask, nullptr);
+ /* All output in this block should be to stdout (for SevInfo messages) or stderr (for SevError messages) */
+ /* Using log_msg() or log_err() from the child will cause the logs to be written incorrectly */
+ dup2(cmd->pipes[0][1], fileno(stdout));
+@@ -787,13 +792,15 @@ void start_process(Command* cmd, ProcessID id, uid_t u
+ }
+
+ #ifdef __linux__
+- signal(SIGCHLD, SIG_DFL);
+-
+- sigprocmask(SIG_SETMASK, mask, nullptr);
+-
+ /* death of our parent raises SIGHUP */
+ prctl(PR_SET_PDEATHSIG, SIGHUP);
+ if (getppid() == 1) /* parent already died before prctl */
++ exit(0);
++#elif defined(__FreeBSD__)
++ /* death of our parent raises SIGHUP */
++ const int sig = SIGHUP;
++ procctl(P_PID, 0, PROC_PDEATHSIG_CTL, (void*)&sig);
++ if (getppid() == 1) /* parent already died before procctl */
+ exit(0);
+ #endif
+
diff --git a/databases/foundationdb73-server/files/patch-fdbrpc_CMakeLists.txt b/databases/foundationdb73-server/files/patch-fdbrpc_CMakeLists.txt
new file mode 100644
index 000000000000..5bd11609f7cd
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-fdbrpc_CMakeLists.txt
@@ -0,0 +1,9 @@
+--- fdbrpc/CMakeLists.txt.orig 2025-07-02 21:14:39 UTC
++++ fdbrpc/CMakeLists.txt
+@@ -85,5 +85,3 @@ endif()
+ add_dependencies(fdbrpc_sampling_actors fdbrpc_actors)
+ add_dependencies(tokensign_actors fdbrpc_actors)
+ endif()
+-
+-add_subdirectory(tests)
+\ No newline at end of file
diff --git a/databases/foundationdb73-server/files/patch-fdbrpc_IPAllowList.cpp b/databases/foundationdb73-server/files/patch-fdbrpc_IPAllowList.cpp
new file mode 100644
index 000000000000..4d1f4b8db7a4
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-fdbrpc_IPAllowList.cpp
@@ -0,0 +1,10 @@
+--- fdbrpc/IPAllowList.cpp.orig 2025-07-02 21:14:39 UTC
++++ fdbrpc/IPAllowList.cpp
+@@ -26,6 +26,7 @@
+
+ #include <fmt/printf.h>
+ #include <fmt/format.h>
++#include <fmt/ranges.h>
+ #include <bitset>
+
+ namespace {
diff --git a/databases/foundationdb73-server/files/patch-fdbrpc_TokenCache.actor.cpp b/databases/foundationdb73-server/files/patch-fdbrpc_TokenCache.actor.cpp
new file mode 100644
index 000000000000..c5c68ae2cd16
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-fdbrpc_TokenCache.actor.cpp
@@ -0,0 +1,10 @@
+--- fdbrpc/TokenCache.actor.cpp.orig 2025-07-02 21:14:39 UTC
++++ fdbrpc/TokenCache.actor.cpp
+@@ -17,6 +17,7 @@
+ #include <boost/unordered_set.hpp>
+
+ #include <fmt/format.h>
++#include <fmt/ranges.h>
+ #include <list>
+ #include <deque>
+
diff --git a/databases/foundationdb73-server/files/patch-fdbserver_BlobWorker.actor.cpp b/databases/foundationdb73-server/files/patch-fdbserver_BlobWorker.actor.cpp
new file mode 100644
index 000000000000..40a93448f5da
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-fdbserver_BlobWorker.actor.cpp
@@ -0,0 +1,33 @@
+--- fdbserver/BlobWorker.actor.cpp.orig 2023-11-07 15:13:56 UTC
++++ fdbserver/BlobWorker.actor.cpp
+@@ -585,8 +585,8 @@ ACTOR Future<Void> updateGranuleSplitState(Transaction
+ fmt::print("Updating granule {0} split state from {1} {2} -> {3}\n",
+ currentGranuleID.toString(),
+ parentGranuleID.toString(),
+- currentState,
+- newState);
++ static_cast<int>(currentState),
++ static_cast<int>(newState));
+ }
+
+ Key myStateKey = blobGranuleSplitKeyFor(parentGranuleID, currentGranuleID);
+@@ -631,8 +631,8 @@ ACTOR Future<Void> updateGranuleSplitState(Transaction
+ fmt::print("Ignoring granule {0} split state from {1} {2} -> {3}\n",
+ currentGranuleID.toString(),
+ parentGranuleID.toString(),
+- currentState,
+- newState);
++ static_cast<int>(currentState),
++ static_cast<int>(newState));
+ }
+
+ return Void();
+@@ -5422,7 +5422,7 @@ ACTOR Future<Void> blobWorkerCore(BlobWorkerInterface
+ assignReq.keyRange.end.printable(),
+ assignReq.managerEpoch,
+ assignReq.managerSeqno,
+- assignReq.type);
++ static_cast<int>(assignReq.type));
+ }
+
+ if (self->managerEpochOk(assignReq.managerEpoch)) {
diff --git a/databases/foundationdb73-server/files/patch-fdbserver_QuietDatabase.actor.cpp b/databases/foundationdb73-server/files/patch-fdbserver_QuietDatabase.actor.cpp
new file mode 100644
index 000000000000..826811354f12
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-fdbserver_QuietDatabase.actor.cpp
@@ -0,0 +1,21 @@
+--- fdbserver/QuietDatabase.actor.cpp.orig 2025-07-02 21:14:39 UTC
++++ fdbserver/QuietDatabase.actor.cpp
+@@ -22,6 +22,9 @@
+ #include <vector>
+ #include <map>
+
++#include <boost/lexical_cast.hpp>
++#include <fmt/ranges.h>
++
+ #include "fdbclient/FDBOptions.g.h"
+ #include "fdbclient/SystemData.h"
+ #include "fdbrpc/simulator.h"
+@@ -35,7 +38,7 @@
+ #include "fdbserver/Knobs.h"
+ #include "fdbserver/WorkerInterface.actor.h"
+ #include "fdbclient/ManagementAPI.actor.h"
+-#include <boost/lexical_cast.hpp>
++
+ #include "flow/actorcompiler.h" // This must be the last #include.
+
+ ACTOR Future<std::vector<WorkerDetails>> getWorkers(Reference<AsyncVar<ServerDBInfo> const> dbInfo, int flags = 0) {
diff --git a/databases/foundationdb73-server/files/patch-fdbserver_SimulatedCluster.actor.cpp b/databases/foundationdb73-server/files/patch-fdbserver_SimulatedCluster.actor.cpp
new file mode 100644
index 000000000000..7c677e30a91c
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-fdbserver_SimulatedCluster.actor.cpp
@@ -0,0 +1,11 @@
+--- fdbserver/SimulatedCluster.actor.cpp.orig 2025-07-02 21:14:39 UTC
++++ fdbserver/SimulatedCluster.actor.cpp
+@@ -116,7 +116,7 @@ class TestConfig : public BasicTestConfig {
+ // environment details
+ class TestConfig : public BasicTestConfig {
+ class ConfigBuilder {
+- using value_type = toml::basic_value<toml::discard_comments>;
++ using value_type = toml::value;
+ using base_variant = std::
+ variant<int, float, double, bool, std::string, std::vector<int>, std::vector<std::string>, ConfigDBType>;
+ using types =
diff --git a/databases/foundationdb73-server/files/patch-fdbserver_storageserver.actor.cpp b/databases/foundationdb73-server/files/patch-fdbserver_storageserver.actor.cpp
new file mode 100644
index 000000000000..20dc7f631b06
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-fdbserver_storageserver.actor.cpp
@@ -0,0 +1,20 @@
+--- fdbserver/storageserver.actor.cpp.orig 2026-04-16 19:21:39 UTC
++++ fdbserver/storageserver.actor.cpp
+@@ -3637,7 +3637,7 @@ ACTOR Future<std::pair<ChangeFeedStreamReply, bool>> g
+ req.rangeID.printable().substr(0, 6),
+ req.id.toString().substr(0, 8),
+ foundVersion ? "key" : "version",
+- DEBUG_CF_MISSING_VERSION,
++ static_cast<int64_t>(DEBUG_CF_MISSING_VERSION),
+ req.range.begin.printable(),
+ req.range.end.printable(),
+ req.begin,
+@@ -3657,7 +3657,7 @@ ACTOR Future<std::pair<ChangeFeedStreamReply, bool>> g
+ data->thisServerID.toString().substr(0, 4),
+ req.rangeID.printable().substr(0, 6),
+ req.id.toString().substr(0, 8),
+- DEBUG_CF_MISSING_VERSION,
++ static_cast<int64_t>(DEBUG_CF_MISSING_VERSION),
+ req.range.begin.printable(),
+ req.range.end.printable(),
+ req.begin,
diff --git a/databases/foundationdb73-server/files/patch-fdbserver_tester.actor.cpp b/databases/foundationdb73-server/files/patch-fdbserver_tester.actor.cpp
new file mode 100644
index 000000000000..38568d011f74
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-fdbserver_tester.actor.cpp
@@ -0,0 +1,11 @@
+--- fdbserver/tester.actor.cpp.orig 2025-07-02 21:14:39 UTC
++++ fdbserver/tester.actor.cpp
+@@ -31,6 +31,8 @@
+ #include <map>
+ #include <streambuf>
+ #include <numeric>
++
++#include <fmt/ranges.h>
+ #include <toml.hpp>
+
+ #include "flow/ActorCollection.h"
diff --git a/databases/foundationdb73-server/files/patch-flow_MkCertCli.cpp b/databases/foundationdb73-server/files/patch-flow_MkCertCli.cpp
new file mode 100644
index 000000000000..5bf38da98632
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-flow_MkCertCli.cpp
@@ -0,0 +1,11 @@
+--- flow/MkCertCli.cpp.orig 2023-11-07 15:13:56 UTC
++++ flow/MkCertCli.cpp
+@@ -216,7 +216,7 @@ int main(int argc, char** argv) {
+ fmt::print(stderr, "ERROR: unknown option '{}'\n", args.OptionText());
+ return FDB_EXIT_ERROR;
+ default:
+- fmt::print(stderr, "ERROR: unknown error {} with option '{}'\n", err, args.OptionText());
++ fmt::print(stderr, "ERROR: unknown error {} with option '{}'\n", static_cast<int>(err), args.OptionText());
+ return FDB_EXIT_ERROR;
+ }
+ } else {
diff --git a/databases/foundationdb73-server/files/patch-flow_Platform.actor.cpp b/databases/foundationdb73-server/files/patch-flow_Platform.actor.cpp
new file mode 100644
index 000000000000..d2e22e30dac9
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-flow_Platform.actor.cpp
@@ -0,0 +1,21 @@
+--- flow/Platform.actor.cpp.orig 2026-04-16 19:21:39 UTC
++++ flow/Platform.actor.cpp
+@@ -1980,6 +1980,9 @@ std::vector<std::string> getEnvironmentKnobOptions() {
+ }
+
+ std::vector<std::string> getEnvironmentKnobOptions() {
++#if defined(__FreeBSD__)
++ extern char** environ;
++#endif
+ constexpr const size_t ENVKNOB_PREFIX_LEN = sizeof(ENVIRONMENT_KNOB_OPTION_PREFIX) - 1;
+ std::vector<std::string> knobOptions;
+ #if defined(_WIN32)
+@@ -1995,7 +1998,7 @@ std::vector<std::string> getEnvironmentKnobOptions() {
+ }
+ #else
+ char** e = nullptr;
+-#ifdef __linux__
++#if defined(__linux__) || defined(__FreeBSD__)
+ e = environ;
+ #elif defined(__APPLE__)
+ e = *_NSGetEnviron();
diff --git a/databases/foundationdb73-server/files/patch-flow_include_flow_Platform.h b/databases/foundationdb73-server/files/patch-flow_include_flow_Platform.h
new file mode 100644
index 000000000000..ef844380089a
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-flow_include_flow_Platform.h
@@ -0,0 +1,24 @@
+--- flow/include/flow/Platform.h.orig 2026-04-16 19:21:39 UTC
++++ flow/include/flow/Platform.h
+@@ -503,18 +503,20 @@ inline static uint64_t timestampCounter() {
+
+ #ifdef __FreeBSD__
+ #if !(__has_builtin(__rdtsc))
++#if defined(__amd64__)
+ inline static uint64_t __rdtsc() {
+ uint64_t lo, hi;
+ asm("rdtsc" : "=a"(lo), "=d"(hi));
+ return (lo | (hi << 32));
+ }
+-#endif
+ #elif defined(__powerpc64__) || defined(__ppc64__)
+ inline static uint64_t __rdtsc() {
+ uint64_t tb;
+ __asm__ volatile("mfspr %0, 268" : "=r"(tb));
+ return tb;
+ }
++#endif
++#endif
+ #endif
+
+ #if defined(__linux__)
diff --git a/databases/foundationdb73-server/files/patch-flow_include_flow_Traceable.h b/databases/foundationdb73-server/files/patch-flow_include_flow_Traceable.h
new file mode 100644
index 000000000000..fd4b2ebf0302
--- /dev/null
+++ b/databases/foundationdb73-server/files/patch-flow_include_flow_Traceable.h
@@ -0,0 +1,12 @@
+--- flow/include/flow/Traceable.h.orig 2025-07-02 21:14:39 UTC
++++ flow/include/flow/Traceable.h
+@@ -255,8 +255,7 @@ struct FormatUsingTraceable : fmt::formatter<std::stri
+ // Adapter to redirect fmt::formatter calls to Traceable for a supported type
+ template <typename T>
+ struct FormatUsingTraceable : fmt::formatter<std::string> {
+- template <typename FormatContext>
+- auto format(const T& val, FormatContext& ctx) {
++ auto format(const T& val, fmt::format_context& ctx) const {
+ return fmt::formatter<std::string>::format(Traceable<T>::toString(val), ctx);
+ }
+ };
diff --git a/databases/foundationdb73-server/pkg-descr b/databases/foundationdb73-server/pkg-descr
new file mode 100644
index 000000000000..a695625ee101
--- /dev/null
+++ b/databases/foundationdb73-server/pkg-descr
@@ -0,0 +1,8 @@
+FoundationDB is a distributed database designed to handle large volumes of
+structured data across clusters of commodity servers. It organizes data as an
+ordered key-value store and employs ACID transactions for all operations. It is
+especially well-suited for read/write workloads but also has excellent
+performance for write-intensive workloads. Users interact with the database
+using API language binding.
+
+To learn more about FoundationDB, visit https://www.foundationdb.org
diff --git a/databases/foundationdb73-server/pkg-plist-client b/databases/foundationdb73-server/pkg-plist-client
new file mode 100644
index 000000000000..0d5cc12eba93
--- /dev/null
+++ b/databases/foundationdb73-server/pkg-plist-client
@@ -0,0 +1,16 @@
+bin/dr_agent
+bin/fdbbackup
+bin/fdbcli
+bin/fdbdr
+bin/fdbrestore
+include/foundationdb/fdb_c.h
+include/foundationdb/fdb_c_apiversion.g.h
+include/foundationdb/fdb_c_internal.h
+include/foundationdb/fdb_c_options.g.h
+include/foundationdb/fdb_c_shim.h
+include/foundationdb/fdb_c_types.h
+include/foundationdb/fdb.options
+lib/foundationdb/backup_agent/backup_agent
+lib/libfdb_c.so
+lib/libfdb_c_shim.so
+@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%ETCDIR%%
diff --git a/databases/foundationdb73-server/pkg-plist-server b/databases/foundationdb73-server/pkg-plist-server
new file mode 100644
index 000000000000..665afe1db04d
--- /dev/null
+++ b/databases/foundationdb73-server/pkg-plist-server
@@ -0,0 +1,6 @@
+sbin/fdbmonitor
+sbin/fdbserver
+@sample %%ETCDIR%%/foundationdb.conf.sample
+@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%ETCDIR%%
+@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%FOUNDATIONDB_DBDIR%%
+@dir(%%FOUNDATIONDB_USER%%,%%FOUNDATIONDB_GROUP%%,755) %%FOUNDATIONDB_LOGDIR%%