git: b71f4b4f56dd - main - net-p2p/datuum_gateway: Add new port

From: Xavier Beaudouin <kiwi_at_FreeBSD.org>
Date: Wed, 03 Dec 2025 08:00:02 UTC
The branch main has been updated by kiwi:

URL: https://cgit.FreeBSD.org/ports/commit/?id=b71f4b4f56dd95009e722f8720d8f56ec022dc38

commit b71f4b4f56dd95009e722f8720d8f56ec022dc38
Author:     Xavier Beaudouin <kiwi@FreeBSD.org>
AuthorDate: 2025-12-03 07:46:24 +0000
Commit:     Xavier Beaudouin <kiwi@FreeBSD.org>
CommitDate: 2025-12-03 07:59:36 +0000

    net-p2p/datuum_gateway: Add new port
    
    Datum Gateway implements lightweight efficient client side decentralized
    block template creation for true solo mining.
---
 net-p2p/Makefile                             |  1 +
 net-p2p/datum_gateway/Makefile               | 33 ++++++++++++++++++++++++++++
 net-p2p/datum_gateway/distinfo               |  3 +++
 net-p2p/datum_gateway/files/datum_gateway.in | 33 ++++++++++++++++++++++++++++
 net-p2p/datum_gateway/pkg-descr              |  2 ++
 net-p2p/datum_gateway/pkg-plist              |  8 +++++++
 6 files changed, 80 insertions(+)

diff --git a/net-p2p/Makefile b/net-p2p/Makefile
index 41a682e5d5e0..c55f3158e573 100644
--- a/net-p2p/Makefile
+++ b/net-p2p/Makefile
@@ -22,6 +22,7 @@
     SUBDIR += createtorrent
     SUBDIR += ctcs
     SUBDIR += ctorrent
+    SUBDIR += datum_gateway
     SUBDIR += dclib
     SUBDIR += deluge
     SUBDIR += deluge-cli
diff --git a/net-p2p/datum_gateway/Makefile b/net-p2p/datum_gateway/Makefile
new file mode 100644
index 000000000000..cdad3e8889a6
--- /dev/null
+++ b/net-p2p/datum_gateway/Makefile
@@ -0,0 +1,33 @@
+PORTNAME=	datum_gateway
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.4.0
+DISTVERSIONSUFFIX=	beta
+CATEGORIES=	net-p2p
+
+MAINTAINER=	kiwi@FreeBSD.org
+COMMENT=	Gateway for true solo mining
+WWW=		https://github.com/OCEAN-xyz/datum_gateway
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+LIB_DEPENDS=	libcurl.so:ftp/curl \
+		libjansson.so:devel/jansson \
+		libsodium.so:security/libsodium \
+		libmicrohttpd.so:www/libmicrohttpd \
+		libargp.so:devel/argp-standalone \
+		libepoll-shim.so:devel/libepoll-shim
+
+USES=		cmake pkgconfig
+USE_GITHUB=	yes
+GH_ACCOUNT=	OCEAN-xyz
+GH_PROJECT=	datum_gateway
+USE_RC_SUBR=	${PORTNAME}
+
+SUB_FILES=	${PORTNAME}
+
+post-install:
+	${CP} ${STAGEDIR}${PREFIX}/share/doc/DATUM/example_datum_gateway_config.json ${STAGEDIR}${PREFIX}/etc/datum_gateway_config.json.sample
+	${MKDIR} ${STAGEDIR}/var/run/datum_gateway
+
+.include <bsd.port.mk>
diff --git a/net-p2p/datum_gateway/distinfo b/net-p2p/datum_gateway/distinfo
new file mode 100644
index 000000000000..5a58553f9562
--- /dev/null
+++ b/net-p2p/datum_gateway/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1764082056
+SHA256 (OCEAN-xyz-datum_gateway-v0.4.0beta_GH0.tar.gz) = ac75f976a05765d15470c8ada90e4c7c5810ce1d8f2c9e779fde7355adcd72ca
+SIZE (OCEAN-xyz-datum_gateway-v0.4.0beta_GH0.tar.gz) = 206345
diff --git a/net-p2p/datum_gateway/files/datum_gateway.in b/net-p2p/datum_gateway/files/datum_gateway.in
new file mode 100644
index 000000000000..a960d931aa16
--- /dev/null
+++ b/net-p2p/datum_gateway/files/datum_gateway.in
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+# PROVIDE: datum_gateway
+# REQUIRE: DAEMON NETWORKING
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+
+# Add the following lines to /etc/rc.conf to enable datum_gateway:
+# datum_gateway_enable="YES"
+#
+# datum_gateway_enable (bool):	Set to YES to enable datum_gateway
+#				Default: NO
+# datum_gateway_user (str):	datum_gateway daemon user
+#				Default: nobody
+# datum_gateway_group (str):	datum_gateway daemon group
+#				Default: nogroup
+. /etc/rc.subr
+
+name="datum_gateway"
+rcvar=datum_gateway_enable
+
+: ${datum_gateway_enable:="NO"}
+: ${datum_gateway_user:="nobody"}
+: ${datum_gateway_group:="nogroup"}
+
+# daemon
+pidfile="/var/run/${name}/${name}.pid"
+command=/usr/sbin/daemon
+procname="daemon"
+command_args=" -c -f -P ${pidfile} %%PREFIX%%/bin/${name} -c %%PREFIX%%/etc/datum_gateway_config.json"
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/net-p2p/datum_gateway/pkg-descr b/net-p2p/datum_gateway/pkg-descr
new file mode 100644
index 000000000000..20d9ecbff513
--- /dev/null
+++ b/net-p2p/datum_gateway/pkg-descr
@@ -0,0 +1,2 @@
+Datum Gateway implements lightweight efficient client side decentralized
+block template creation for true solo mining.
diff --git a/net-p2p/datum_gateway/pkg-plist b/net-p2p/datum_gateway/pkg-plist
new file mode 100644
index 000000000000..84bb7f1edaa6
--- /dev/null
+++ b/net-p2p/datum_gateway/pkg-plist
@@ -0,0 +1,8 @@
+bin/datum_gateway
+%%ETCDIR%%_config.json.sample
+etc/rc.d/datum_gateway
+share/doc/DATUM/README.md
+share/doc/DATUM/doc/DATUM_recommended_setup-network_diagram.svg
+share/doc/DATUM/example_datum_gateway_config.json
+share/doc/DATUM/usernames.md
+@dir(nobody,nogroup) /var/run/datum_gateway