git: f7ca7eba9e9c - main - net-p2p/namecoin: Update to 24.0

From: Daniel Engberg <diizzy_at_FreeBSD.org>
Date: Tue, 06 Jun 2023 07:25:35 UTC
The branch main has been updated by diizzy:

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

commit f7ca7eba9e9c3c08e3d1d233529c8c1933ebd5c4
Author:     Chad Jacob Milios <milios@ccsys.com>
AuthorDate: 2023-06-06 06:46:55 +0000
Commit:     Daniel Engberg <diizzy@FreeBSD.org>
CommitDate: 2023-06-06 07:25:29 +0000

    net-p2p/namecoin: Update to 24.0
    
    A few minor changes made to submitted patch:
    * Switch PORTVERSION to DISTVERSION
    * Use USES= localbase for UPNP option
    * Disable autodetection of sqlite when WALLET option is selected
    * Fix plist for net-p2p/namecoin-utils
    
    Changelog: https://github.com/namecoin/namecoin-core/releases/tag/nc24.0
    
    PR:             270753
---
 GIDs                                           |  2 +-
 UIDs                                           |  2 +-
 net-p2p/namecoin-daemon/Makefile               | 13 ++++++++-----
 net-p2p/namecoin-utils/Makefile                |  6 +-----
 net-p2p/namecoin/Makefile                      | 12 +++++-------
 net-p2p/namecoin/distinfo                      |  6 +++---
 net-p2p/namecoin/files/namecoin.conf           | 20 ++++++++++++++++++++
 net-p2p/namecoin/files/namecoind.in            | 14 ++++++--------
 net-p2p/namecoin/files/patch-src_rpc_names.cpp | 10 ++++++++++
 9 files changed, 55 insertions(+), 30 deletions(-)

diff --git a/GIDs b/GIDs
index 8b150392a8f7..1bc518eb5105 100644
--- a/GIDs
+++ b/GIDs
@@ -717,7 +717,7 @@ postgrest:*:772:
 # free: 773
 # free: 774
 # free: 775
-# free: 776
+namecoin:*:776:
 openxpki:*:777:
 litecoin:*:778:
 bitcoin:*:779:
diff --git a/UIDs b/UIDs
index 4aba8df6c785..6a8d9f320972 100644
--- a/UIDs
+++ b/UIDs
@@ -722,7 +722,7 @@ postgrest:*:772:772::0:0:PostgREST Daemon:/nonexistent:/usr/sbin/nologin
 # free: 773
 # free: 774
 # free: 775
-# free: 776
+namecoin:*:776:776::0:0:namecoin Daemon:/var/db/namecoin:/usr/sbin/nologin
 openxpki:*:777:777::0:0:OpenXPKI Owner:/nonexistent:/usr/sbin/nologin
 litecoin:*:778:778::0:0:litecoin Daemon:/var/db/litecoin:/usr/sbin/nologin
 bitcoin:*:779:779::0:0:bitcoin Daemon:/var/db/bitcoin:/usr/sbin/nologin
diff --git a/net-p2p/namecoin-daemon/Makefile b/net-p2p/namecoin-daemon/Makefile
index 5bcdf57e1026..56c3505e1354 100644
--- a/net-p2p/namecoin-daemon/Makefile
+++ b/net-p2p/namecoin-daemon/Makefile
@@ -1,17 +1,16 @@
 MASTERDIR=	${.CURDIR}/../namecoin
 
-PORTREVISION=	4
 PKGNAMESUFFIX=	-daemon
 
 COMMENT=	Decentralized, open DNS and more (Daemon)
 SLAVE_PORT=	yes
 
-CONFLICTS_INSTALL=	namecoin-stable namecoin-stable-daemon namecoin-stable-utils \
-		namecoin-beta namecoin-beta-daemon namecoin-beta-utils
-
 OPTIONS_DEFINE=		DEBUG HARDENING TESTS UPNP WALLET ZMQ
 OPTIONS_DEFAULT=	HARDENING UPNP WALLET
 
+USERS=          namecoin
+GROUPS=		namecoin
+
 CONFIGURE_ARGS=	--with-daemon \
 		--without-gui \
 		--without-libs \
@@ -19,8 +18,12 @@ CONFIGURE_ARGS=	--with-daemon \
 		--without-utils \
 		--disable-man
 
-PLIST_FILES=	bin/namecoind
+PLIST_FILES=	bin/namecoind \
+		"@sample %%ETCDIR%%.conf.sample"
 
 USE_RC_SUBR=	namecoind
 
+post-install:
+	${INSTALL_DATA} ${FILESDIR}/namecoin.conf ${STAGEDIR}${PREFIX}/etc/namecoin.conf.sample
+
 .include "${MASTERDIR}/Makefile"
diff --git a/net-p2p/namecoin-utils/Makefile b/net-p2p/namecoin-utils/Makefile
index 7ccc3652e087..09a0187a7f9f 100644
--- a/net-p2p/namecoin-utils/Makefile
+++ b/net-p2p/namecoin-utils/Makefile
@@ -1,14 +1,10 @@
 MASTERDIR=	${.CURDIR}/../namecoin
 
-PORTREVISION=	4
 PKGNAMESUFFIX=	-utils
 
 COMMENT=	Decentralized, open DNS and more (CLI and Utilities)
 SLAVE_PORT=	yes
 
-CONFLICTS_INSTALL=	namecoin-stable namecoin-stable-daemon namecoin-stable-utils \
-		namecoin-beta namecoin-beta-daemon namecoin-beta-utils
-
 OPTIONS_DEFINE=		DEBUG HARDENING TESTS
 OPTIONS_DEFAULT=	HARDENING TESTS
 
@@ -20,6 +16,6 @@ CONFIGURE_ARGS=	--without-daemon \
 		--disable-wallet \
 		--disable-man
 
-PLIST_FILES=	bin/namecoin-cli bin/namecoin-tx
+PLIST_FILES=	bin/namecoin-cli bin/namecoin-tx bin/namecoin-util
 
 .include "${MASTERDIR}/Makefile"
diff --git a/net-p2p/namecoin/Makefile b/net-p2p/namecoin/Makefile
index 8f1d6c1d9710..f9afa07a51d5 100644
--- a/net-p2p/namecoin/Makefile
+++ b/net-p2p/namecoin/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	namecoin
-PORTVERSION=	0.21.0.1
+DISTVERSION=	24.0
 DISTVERSIONPREFIX=	nc
-PORTREVISION=	8
 PORTEPOCH=	1
 CATEGORIES=	net-p2p dns
 
@@ -14,7 +13,7 @@ LICENSE=	MIT
 LIB_DEPENDS=	libboost_date_time.so:devel/boost-libs \
 		libevent.so:devel/libevent
 
-USES=		autoreconf compiler:c++11-lib gmake libtool pkgconfig ssl
+USES=		autoreconf compiler:c++17-lang gmake libtool pkgconfig ssl
 GNU_CONFIGURE=	yes
 
 USE_GITHUB=	yes
@@ -65,19 +64,18 @@ TESTS_PLIST_FILES+=	bin/bench_namecoin
 
 UPNP_CONFIGURE_WITH=	miniupnpc
 UPNP_LIB_DEPENDS=	libminiupnpc.so:net/miniupnpc
-UPNP_CPPFLAGS=		-I${LOCALBASE}/include
-UPNP_LIBS=		-L${LOCALBASE}/lib
+UPNP_USES=		localbase
 
 QRCODES_CONFIGURE_WITH=	qrencode
 QRCODES_LIB_DEPENDS=	libqrencode.so:graphics/libqrencode
 
 WALLET_CONFIGURE_OFF=	--disable-wallet
 WALLET_CONFIGURE_ON=	--enable-wallet \
+			--with-sqlite=no \
 			--with-incompatible-bdb \
 			BDB_CFLAGS=-I${BDB_INCLUDE_DIR} \
 			BDB_LIBS="-L${BDB_LIB_DIR} \
-				-Wl,-rpath=${BDB_LIB_DIR} \
-				-l${BDB_LIB_CXX_NAME}"
+			-Wl,-rpath=${BDB_LIB_DIR} -l${BDB_LIB_CXX_NAME}"
 WALLET_USES=		bdb:5+
 
 ZMQ_CONFIGURE_ENABLE=	zmq
diff --git a/net-p2p/namecoin/distinfo b/net-p2p/namecoin/distinfo
index 88b79215c6d6..a3a65b40fd64 100644
--- a/net-p2p/namecoin/distinfo
+++ b/net-p2p/namecoin/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1618840122
-SHA256 (namecoin-namecoin-core-nc0.21.0.1_GH0.tar.gz) = 56cb87f7c92eba5ba25dd1c5febca75f5d32aef2102382de88b6f0d8c81ba569
-SIZE (namecoin-namecoin-core-nc0.21.0.1_GH0.tar.gz) = 6771191
+TIMESTAMP = 1677164952
+SHA256 (namecoin-namecoin-core-nc24.0_GH0.tar.gz) = 27fe1323ac09fad48ea2a3b8ed872f427d4711a129b565c0794c1d39a7d41033
+SIZE (namecoin-namecoin-core-nc24.0_GH0.tar.gz) = 10728123
 SHA256 (indolering-namecoin-graphics-a13a73b_GH0.tar.gz) = 82f308a3527d96a202099feb96a754d036bbdaa875156ad002ba2747d75000c7
 SIZE (indolering-namecoin-graphics-a13a73b_GH0.tar.gz) = 7364908
diff --git a/net-p2p/namecoin/files/namecoin.conf b/net-p2p/namecoin/files/namecoin.conf
new file mode 100644
index 000000000000..d4999ffe65ba
--- /dev/null
+++ b/net-p2p/namecoin/files/namecoin.conf
@@ -0,0 +1,20 @@
+# FreeBSD namecoind configuration file
+
+# This file is used by namecoind
+# The GUI and CLI will default to generating and using ~/.namecoin/namecoin.conf
+#
+# namecoin has hundreds of config options and there isn't a single mode of
+# operation (mining, client, testnet etc)  that can be easily covered by a
+# sample file.
+
+# Bind to given address and always listen on it. Use [host]:port notation for IPv6
+#bind=<addr>
+
+# Specify your own public IP address.
+#externalip=<ip>
+
+# Listen for incoming connections on non-default port.
+#port=<port>
+
+# Connect via a SOCKS5 proxy
+#proxy=127.0.0.1:9050
diff --git a/net-p2p/namecoin/files/namecoind.in b/net-p2p/namecoin/files/namecoind.in
index 1cb4d366f40e..75095f5539b7 100644
--- a/net-p2p/namecoin/files/namecoind.in
+++ b/net-p2p/namecoin/files/namecoind.in
@@ -11,7 +11,7 @@
 # namecoind_user (str)		Set to "namecoin" by default.
 # namecoind_group (str)		Set to "namecoin" by default.
 # namecoind_conf (str)		Set to "%%PREFIX%%/etc/namecoind.conf" by default.
-# namecoind_data (str)		Set to "/var/lib/namecoind" by default.
+# namecoind_data_dir (str)	Set to "/var/db/namecoin" by default.
 # namecoindlimits_enable (bool)	Set to "NO" by default.
 #				Set it to "YES" to enable namecoindlimits
 # namecoindlimits_args		Set to "-e -U ${namecoind_user}" by default
@@ -31,9 +31,8 @@ status_cmd="namecoind_status"
 stop_cmd="namecoind_stop"
 stop_postcmd="namecoind_wait"
 command="%%PREFIX%%/bin/namecoind"
-cli_command="%%PREFIX%%/bin/namecoin-cli"
 daemon_command="/usr/sbin/daemon"
-#pidfile="/var/run/${name}.pid"
+pidfile="/var/run/${name}.pid"
 extra_commands="configtest"
 
 
@@ -44,13 +43,12 @@ load_rc_config ${name}
 
 : ${namecoind_user:="namecoin"}
 : ${namecoind_group:="namecoin"}
-: ${namecoind_data_dir:="/var/db/namecoind"}
+: ${namecoind_data_dir:="/var/db/namecoin"}
 : ${namecoind_config_file:="%%PREFIX%%/etc/namecoin.conf"}
 : ${namecoindlimits_args:="-e -U ${namecoind_user}"}
 
 # set up dependant variables
 procname="${command}"
-pidfile="${namecoind_data_dir}/namecoind.pid"
 required_files="${namecoind_config_file}"
 
 
@@ -118,10 +116,10 @@ namecoind_start()
 {
   echo "Starting namecoind:"
   cd "${namecoind_data_dir}" || return 1
-  ${daemon_command} -u "${namecoind_user}" -p "${pidfile}" \
+  ${daemon_command} -u "${namecoind_user}" -p "${pidfile}" -f \
     ${command} \
     -conf="${namecoind_config_file}" \
-    -datadir="${namecoind_data_dir}" 2> /tmp/namecoind.stderr > /tmp/namecoind.stdout
+    -datadir="${namecoind_data_dir}"
 }
 
 namecoind_stop()
@@ -133,7 +131,7 @@ namecoind_stop()
     echo "Namecoind is not running"
     return 1
   else
-    ${cli_command} -conf="${namecoind_config_file}" -datadir="${namecoind_data_dir}" stop
+    kill ${pid}
   fi
 }
 
diff --git a/net-p2p/namecoin/files/patch-src_rpc_names.cpp b/net-p2p/namecoin/files/patch-src_rpc_names.cpp
new file mode 100644
index 000000000000..d1065dcfa3e4
--- /dev/null
+++ b/net-p2p/namecoin/files/patch-src_rpc_names.cpp
@@ -0,0 +1,10 @@
+--- src/rpc/names.cpp.orig	2023-02-23 16:44:43.398660000 +0000
++++ src/rpc/names.cpp	2023-02-23 16:44:58.322833000 +0000
+@@ -20,6 +20,7 @@
+ #include <rpc/server_util.h>
+ #include <script/names.h>
+ #include <txmempool.h>
++#include <util/system.h>
+ #include <util/strencodings.h>
+ #include <validation.h>
+ #ifdef ENABLE_WALLET