Since we have waitid(2) in base and boost we can update net/bitcoin to the latest version. All tests and bench passed and the daemon runs fine on amd64.
OK, feedback? Rafael Index: Makefile =================================================================== RCS file: /cvs/ports/net/bitcoin/Makefile,v retrieving revision 1.34 diff -u -p -u -p -r1.34 Makefile --- Makefile 24 May 2022 18:51:25 -0000 1.34 +++ Makefile 5 Nov 2022 14:49:16 -0000 @@ -4,9 +4,7 @@ COMMENT = P2P payment system GH_ACCOUNT = bitcoin GH_PROJECT = bitcoin -GH_TAGNAME = v0.21.2 - -REVISION = 0 +GH_TAGNAME = v23.0 SHARED_LIBS += bitcoinconsensus 4.0 # 0.0 SHARED_LIBS += secp256k1 0.1 # 0.0 @@ -21,19 +19,19 @@ MAINTAINER = Rafael Sadowski <rsadowski # MIT PERMIT_PACKAGE = Yes -WANTLIB += ${COMPILER_LIBCXX} boost_filesystem boost_system boost_thread-mt -WANTLIB += c db_cxx event_core event_extra event_pthreads m sodium -WANTLIB += sqlite3 z zmq +WANTLIB += ${COMPILER_LIBCXX} c db_cxx event_core event_extra +WANTLIB += event_pthreads m sodium sqlite3 z zmq + +BUILD_DEPENDS = devel/boost LIB_DEPENDS = databases/db/v4 \ databases/sqlite3 \ - devel/boost \ devel/libevent2 \ net/zeromq USE_GMAKE = Yes -# C++11 +# C++17 # Undefined reference to boost and db4 with GCC COMPILER = base-clang ports-clang @@ -42,12 +40,13 @@ AUTOCONF_VERSION = 2.69 AUTOMAKE_VERSION = 1.14 AUTORECONF = ./autogen.sh CONFIGURE_ARGS += --with-incompatible-bdb \ + --with-sqlite=yes \ --disable-bip70 CONFIGURE_ENV += CPPFLAGS="-I${LOCALBASE}/include/db4 -I${LOCALBASE}/include" \ LDFLAGS="-L${LOCALBASE}/lib/db4" -CXXFLAGS += -std=c++11 +CXXFLAGS += -std=c++17 MAKE_FLAGS = CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" @@ -82,8 +81,6 @@ SUBST_VARS += VARBASE post-install: cd ${WRKBUILD}/src/secp256k1 && \ - ${MAKE_PROGRAM} ${MAKE_FLAGS} install - cd ${WRKBUILD}/src/univalue && \ ${MAKE_PROGRAM} ${MAKE_FLAGS} install ${INSTALL_DATA_DIR} ${PREFIX}/share/bitcoin ${INSTALL_SCRIPT} ${WRKDIST}/share/rpcauth/rpcauth.py \ Index: distinfo =================================================================== RCS file: /cvs/ports/net/bitcoin/distinfo,v retrieving revision 1.15 diff -u -p -u -p -r1.15 distinfo --- distinfo 11 Oct 2021 04:59:08 -0000 1.15 +++ distinfo 5 Nov 2022 14:49:16 -0000 @@ -1,2 +1,2 @@ -SHA256 (bitcoin-0.21.2.tar.gz) = QUb3UfxWkb3PkRy9uNMtjSXCl9KdWBcyJ64a5kOO254= -SIZE (bitcoin-0.21.2.tar.gz) = 7762621 +SHA256 (bitcoin-23.0.tar.gz) = JnSL9J1ta0AU0P7cysRr8rzKQunTSzrP2eNGfEFazAU= +SIZE (bitcoin-23.0.tar.gz) = 10978750 Index: patches/patch-build-aux_m4_bitcoin_find_bdb48_m4 =================================================================== RCS file: /cvs/ports/net/bitcoin/patches/patch-build-aux_m4_bitcoin_find_bdb48_m4,v retrieving revision 1.2 diff -u -p -u -p -r1.2 patch-build-aux_m4_bitcoin_find_bdb48_m4 --- patches/patch-build-aux_m4_bitcoin_find_bdb48_m4 11 Mar 2022 19:45:47 -0000 1.2 +++ patches/patch-build-aux_m4_bitcoin_find_bdb48_m4 5 Nov 2022 14:49:16 -0000 @@ -3,7 +3,7 @@ Build with BerkeleyDB >= 4.6 Index: build-aux/m4/bitcoin_find_bdb48.m4 --- build-aux/m4/bitcoin_find_bdb48.m4.orig +++ build-aux/m4/bitcoin_find_bdb48.m4 -@@ -22,7 +22,7 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[ +@@ -24,7 +24,7 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <${searchpath}db_cxx.h> ]],[[ @@ -12,7 +12,7 @@ Index: build-aux/m4/bitcoin_find_bdb48.m #error "failed to find bdb 4.8+" #endif ]])],[ -@@ -35,7 +35,7 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[ +@@ -37,7 +37,7 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <${searchpath}db_cxx.h> ]],[[ Index: patches/patch-configure_ac =================================================================== RCS file: /cvs/ports/net/bitcoin/patches/patch-configure_ac,v retrieving revision 1.7 diff -u -p -u -p -r1.7 patch-configure_ac --- patches/patch-configure_ac 11 Mar 2022 19:45:47 -0000 1.7 +++ patches/patch-configure_ac 5 Nov 2022 14:49:16 -0000 @@ -3,11 +3,11 @@ We already uses PIE as default. Unbreak Index: configure.ac --- configure.ac.orig +++ configure.ac -@@ -840,7 +840,6 @@ if test x$use_hardening != xno; then - AX_CHECK_LINK_FLAG([[-Wl,-z,relro]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,relro"],, [[$LDFLAG_WERROR]]) - AX_CHECK_LINK_FLAG([[-Wl,-z,now]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,now"],, [[$LDFLAG_WERROR]]) - AX_CHECK_LINK_FLAG([[-Wl,-z,separate-code]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,separate-code"],, [[$LDFLAG_WERROR]]) -- AX_CHECK_LINK_FLAG([[-fPIE -pie]], [PIE_FLAGS="-fPIE"; HARDENED_LDFLAGS="$HARDENED_LDFLAGS -pie"],, [[$CXXFLAG_WERROR]]) +@@ -945,7 +945,6 @@ if test "$use_hardening" != "no"; then + AX_CHECK_LINK_FLAG([-Wl,-z,relro], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,relro"], [], [$LDFLAG_WERROR]) + AX_CHECK_LINK_FLAG([-Wl,-z,now], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,now"], [], [$LDFLAG_WERROR]) + AX_CHECK_LINK_FLAG([-Wl,-z,separate-code], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,separate-code"], [], [$LDFLAG_WERROR]) +- AX_CHECK_LINK_FLAG([-fPIE -pie], [PIE_FLAGS="-fPIE"; HARDENED_LDFLAGS="$HARDENED_LDFLAGS -pie"], [], [$CXXFLAG_WERROR]) case $host in *mingw*) Index: patches/patch-src_wallet_bdb_cpp =================================================================== RCS file: /cvs/ports/net/bitcoin/patches/patch-src_wallet_bdb_cpp,v retrieving revision 1.2 diff -u -p -u -p -r1.2 patch-src_wallet_bdb_cpp --- patches/patch-src_wallet_bdb_cpp 11 Mar 2022 19:45:47 -0000 1.2 +++ patches/patch-src_wallet_bdb_cpp 5 Nov 2022 14:49:16 -0000 @@ -1,7 +1,7 @@ Index: src/wallet/bdb.cpp --- src/wallet/bdb.cpp.orig +++ src/wallet/bdb.cpp -@@ -158,7 +158,9 @@ bool BerkeleyEnvironment::Open(bilingual_str& err) +@@ -157,7 +157,9 @@ bool BerkeleyEnvironment::Open(bilingual_str& err) dbenv->set_errfile(fsbridge::fopen(pathErrorFile, "a")); /// debug dbenv->set_flags(DB_AUTO_COMMIT, 1); dbenv->set_flags(DB_TXN_WRITE_NOSYNC, 1); @@ -11,7 +11,7 @@ Index: src/wallet/bdb.cpp int ret = dbenv->open(strPath.c_str(), DB_CREATE | DB_INIT_LOCK | -@@ -201,7 +203,9 @@ BerkeleyEnvironment::BerkeleyEnvironment() +@@ -200,7 +202,9 @@ BerkeleyEnvironment::BerkeleyEnvironment() dbenv->set_lk_max_locks(10000); dbenv->set_lk_max_objects(10000); dbenv->set_flags(DB_AUTO_COMMIT, 1); Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/net/bitcoin/pkg/PLIST,v retrieving revision 1.8 diff -u -p -u -p -r1.8 PLIST --- pkg/PLIST 11 Mar 2022 19:45:47 -0000 1.8 +++ pkg/PLIST 5 Nov 2022 14:49:16 -0000 @@ -11,6 +11,7 @@ @bin bin/bench_bitcoin @bin bin/bitcoin-cli @bin bin/bitcoin-tx +@bin bin/bitcoin-util @bin bin/bitcoin-wallet @bin bin/bitcoind @comment @bin bin/test_bitcoin @@ -21,23 +22,21 @@ include/secp256k1_extrakeys.h include/secp256k1_preallocated.h include/secp256k1_recovery.h include/secp256k1_schnorrsig.h -include/univalue.h @static-lib lib/libbitcoinconsensus.a lib/libbitcoinconsensus.la @lib lib/libbitcoinconsensus.so.${LIBbitcoinconsensus_VERSION} @static-lib lib/libsecp256k1.a lib/libsecp256k1.la @lib lib/libsecp256k1.so.${LIBsecp256k1_VERSION} -@static-lib lib/libunivalue.a -lib/libunivalue.la -@lib lib/libunivalue.so.${LIBunivalue_VERSION} lib/pkgconfig/libbitcoinconsensus.pc lib/pkgconfig/libsecp256k1.pc -lib/pkgconfig/libunivalue.pc @man man/man1/bitcoin-cli.1 @man man/man1/bitcoin-tx.1 +@man man/man1/bitcoin-util.1 @man man/man1/bitcoin-wallet.1 @man man/man1/bitcoind.1 +share/bash-completion/ +share/bash-completion/completions/ share/bash-completion/completions/bitcoin/ share/bash-completion/completions/bitcoin/bitcoin-cli.bash-completion share/bash-completion/completions/bitcoin/bitcoin-tx.bash-completion