aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Cottlehuber <dch@FreeBSD.org>2020-01-28 08:08:01 +0000
committerDave Cottlehuber <dch@FreeBSD.org>2020-01-28 08:08:01 +0000
commit63880e7b3380d914cd027625f1d23148149592c3 (patch)
treef88a6ebf69ea6f8156a1b314039bd495594d42f8
parentd1e6630b00d40143dacffcf546b701aad68c662f (diff)
downloadports-63880e7b3380d914cd027625f1d23148149592c3.tar.gz
ports-63880e7b3380d914cd027625f1d23148149592c3.zip
Notes
-rw-r--r--databases/Makefile1
-rw-r--r--databases/foundationdb-devel/Makefile72
-rw-r--r--databases/foundationdb-devel/distinfo3
-rw-r--r--databases/foundationdb-devel/files/foundationdb.conf.in47
-rw-r--r--databases/foundationdb-devel/files/foundationdb.in33
-rw-r--r--databases/foundationdb-devel/pkg-descr16
-rw-r--r--databases/foundationdb-devel/pkg-plist27
7 files changed, 199 insertions, 0 deletions
diff --git a/databases/Makefile b/databases/Makefile
index d2767bff62ed..14386198ac15 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -77,6 +77,7 @@
SUBDIR += firebird25-server
SUBDIR += fortytwo-bdb
SUBDIR += foundationdb
+ SUBDIR += foundationdb-devel
SUBDIR += fpc-dblib
SUBDIR += fpc-fpindexer
SUBDIR += fpc-gdbm
diff --git a/databases/foundationdb-devel/Makefile b/databases/foundationdb-devel/Makefile
new file mode 100644
index 000000000000..2a284c799944
--- /dev/null
+++ b/databases/foundationdb-devel/Makefile
@@ -0,0 +1,72 @@
+# $FreeBSD$
+
+PORTNAME= foundationdb-devel
+DISTVERSION= 7.0.0
+CATEGORIES= databases
+
+MAINTAINER= dch@FreeBSD.org
+COMMENT= Distributed, transactional key-value store
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= bash:shells/bash
+LIB_DEPENDS= libboost_system.so:devel/boost-libs \
+ libeio.so:devel/libeio
+
+USES= compiler:c++17-lang cmake mono:build python:build shebangfix ssl
+USE_GITHUB= yes
+GH_ACCOUNT= wolfspider
+GH_PROJECT= foundationdb
+GH_TAGNAME= bc56b13
+
+USE_RC_SUBR= foundationdb
+
+SHEBANG_FILES= build/csprojtom4.py build/link-wrapper.sh build/vcxprojtom4.py \
+ bindings/c/generate_asm.py
+
+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}
+
+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 mako
+ ${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 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
+ ${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/
+ ${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
+ ${INSTALL_DATA} ${WRKDIR}/foundationdb.conf \
+ ${STAGEDIR}${PREFIX}/etc/foundationdb/foundationdb.conf.sample
+
+.include <bsd.port.mk>
diff --git a/databases/foundationdb-devel/distinfo b/databases/foundationdb-devel/distinfo
new file mode 100644
index 000000000000..aa41c17a7d5b
--- /dev/null
+++ b/databases/foundationdb-devel/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1579515168
+SHA256 (wolfspider-foundationdb-7.0.0-bc56b13_GH0.tar.gz) = 70b380a3fa8d4eea94a03ef1874cdd39bd9c705d9a1c902bab758004557343b0
+SIZE (wolfspider-foundationdb-7.0.0-bc56b13_GH0.tar.gz) = 5049549
diff --git a/databases/foundationdb-devel/files/foundationdb.conf.in b/databases/foundationdb-devel/files/foundationdb.conf.in
new file mode 100644
index 000000000000..5b47e46f2185
--- /dev/null
+++ b/databases/foundationdb-devel/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 = %%DB_USER%%
+group = %%DB_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 = %%PREFIX%%/etc/foundationdb/fdb.cluster
+# delete_envvars =
+# kill_on_configuration_change = true
+
+## Default parameters for individual fdbserver processes
+[fdbserver]
+command = %%PREFIX%%/bin/fdbserver
+public_address = auto:$ID
+listen_address = public
+datadir = %%DB_DIR%%/data/$ID
+logdir = %%LOG_DIR%%
+# 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%%/bin/backup_agent
+logdir = %%LOG_DIR%%
+
+[backup_agent.1]
diff --git a/databases/foundationdb-devel/files/foundationdb.in b/databases/foundationdb-devel/files/foundationdb.in
new file mode 100644
index 000000000000..beaa49ccb767
--- /dev/null
+++ b/databases/foundationdb-devel/files/foundationdb.in
@@ -0,0 +1,33 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# 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"
+foundationdb_enable=${foundationdb_enable:-"NO"}
+command=%%PREFIX%%/bin/fdbmonitor
+pidfile="/var/run/fdbmonitor.pid"
+
+load_rc_config "$name"
+: ${foundationdb_enable="NO"}
+: ${foundationdb_config="%%PREFIX%%/etc/foundationdb/foundationdb.conf"}
+
+command_args="--conffile ${foundationdb_config} --lockfile ${pidfile} --daemonize"
+run_rc_command $1
diff --git a/databases/foundationdb-devel/pkg-descr b/databases/foundationdb-devel/pkg-descr
new file mode 100644
index 000000000000..9c9b5e714097
--- /dev/null
+++ b/databases/foundationdb-devel/pkg-descr
@@ -0,0 +1,16 @@
+A massively distributed, transactional key-value store, extensible by
+design, with unparalleled reliability and performance.
+
+FoundationDB is multi-model, meaning you can store many types of data in a
+single database. All data is safely stored, distributed, and replicated
+in the Key-Value Store component. It is easy to install, grow, and
+manage, with a distributed architecture that gracefully scales out, and
+handles faults while acting like a single ACID database. FoundationDB
+provides amazing performance on commodity hardware, allowing you to
+support very heavy loads at low cost. It has been running in production
+for years and been hardened with lessons learned in some of the world's
+largest database deployments. Backing FoundationDB up is an unmatched
+testing system based on a deterministic simulation engine that ensures
+optimal reliability of operations.
+
+WWW: https://www.foundationdb.org/
diff --git a/databases/foundationdb-devel/pkg-plist b/databases/foundationdb-devel/pkg-plist
new file mode 100644
index 000000000000..21278e3b27a2
--- /dev/null
+++ b/databases/foundationdb-devel/pkg-plist
@@ -0,0 +1,27 @@
+@dir(%%DB_USER%%,%%DB_GROUP%%,) %%DB_DIR%%
+@dir(%%DB_USER%%,%%DB_GROUP%%,) %%LOG_DIR%%
+@sample etc/foundationdb/foundationdb.conf.sample
+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/fdb_flow_tester
+bin/fdbbackup
+bin/fdbcli
+bin/fdbmonitor
+bin/fdbr
+bin/fdbrestore
+bin/fdbserver
+bin/mako
+include/foundationdb/fdb.options
+include/foundationdb/fdb_c.h
+include/foundationdb/fdb_c_options.g.h
+lib/libfdb_c.so
+lib/libfdb_flow.a
+lib/libfdb_sqlite.a
+lib/libfdbclient.a
+lib/libfdbrpc.a
+lib/libflow.a
+lib/libthirdparty.a