Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F131690838
D50265.id155238.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
9 KB
Referenced Files
None
Subscribers
None
D50265.id155238.diff
View Options
diff --git a/UPDATING b/UPDATING
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,27 @@
You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades.
+20250510:
+ AFFECTS: users of net-p2p/bitcoin and/or net-p2p/bitcoin-daemon
+ AUTHOR: kbowling@FreeBSD.org
+
+ 29.x is the last release series that will support the legacy BDB wallet
+ format. We are already doing this awkwardly since the format is BDB 4.8
+ and we are building with BDB 5. This will be removed in 30.0 later this
+ year.
+
+ You should upgrade your wallet now if you are still using a legacy wallet.
+
+ Instructions:
+ https://github.com/bitcoin/bitcoin/blob/29.x/doc/managing-wallets.md#migrating-legacy-wallets-to-descriptor-wallets
+
+ This release switches to CMake which results in a major refacoring of
+ the port and underlying build. The result seems good, but please
+ provide feedback if there are any unexpected changes or problems.
+
+ This release dropped UPnP support due to security concerns. NAT-PMP is
+ implemented as an alternative.
+
20250506:
AFFECTS: users of databases/postgresql* and other software using PostgreSQL to run
AUTHOR: kbowling@FreeBSD.org
diff --git a/net-p2p/bitcoin-daemon/Makefile b/net-p2p/bitcoin-daemon/Makefile
--- a/net-p2p/bitcoin-daemon/Makefile
+++ b/net-p2p/bitcoin-daemon/Makefile
@@ -1,27 +1,30 @@
-MASTERDIR= ${.CURDIR}/../bitcoin
PKGNAMESUFFIX= -daemon
COMMENT= Virtual Peer-to-Peer Currency (Daemon)
SLAVE_PORT= yes
-OPTIONS_DEFINE= DEBUG HARDENING TESTS UPNP WALLET ZMQ
-OPTIONS_DEFAULT= HARDENING UPNP WALLET ZMQ
+USE_RC_SUBR= bitcoind
+
+CMAKE_ARGS= -DBUILD_DAEMON=ON \
+ -DBUILD_CLI=OFF \
+ -DBUILD_GUI=OFF \
+ -DBUILD_SHARED_LIBS=OFF \
+ -DBUILD_TX=OFF \
+ -DBUILD_UTIL=OFF \
+ -DBUILD_WALLET_TOOL=OFF
+
+MASTERDIR= ${.CURDIR}/../bitcoin
USERS= bitcoin
GROUPS= bitcoin
-CONFIGURE_ARGS= --with-daemon \
- --without-gui \
- --without-libs \
- --without-qrencode \
- --without-utils
-
-PLIST_FILES= bin/bitcoind \
- share/man/man1/bitcoind.1.gz \
- "@sample %%ETCDIR%%.conf.sample"
+PLIST_FILES= "@sample %%ETCDIR%%.conf.sample" \
+ bin/bitcoind \
+ share/man/man1/bitcoind.1.gz
-USE_RC_SUBR= bitcoind
+OPTIONS_DEFINE= DEBUG HARDENING TESTS WALLET ZMQ
+OPTIONS_DEFAULT= HARDENING WALLET ZMQ
post-install:
${INSTALL_DATA} ${FILESDIR}/bitcoin.conf ${STAGEDIR}${PREFIX}/etc/bitcoin.conf.sample
diff --git a/net-p2p/bitcoin-utils/Makefile b/net-p2p/bitcoin-utils/Makefile
--- a/net-p2p/bitcoin-utils/Makefile
+++ b/net-p2p/bitcoin-utils/Makefile
@@ -1,22 +1,30 @@
-MASTERDIR= ${.CURDIR}/../bitcoin
PKGNAMESUFFIX= -utils
COMMENT= Virtual Peer-to-Peer Currency (CLI and Utilities)
+
SLAVE_PORT= yes
-OPTIONS_DEFINE= DEBUG HARDENING TESTS
-OPTIONS_DEFAULT= HARDENING TESTS
+CMAKE_ARGS= -DBUILD_CLI=ON \
+ -DBUILD_TX=ON \
+ -DBUILD_UTIL=ON \
+ -DBUILD_DAEMON=OFF \
+ -DBUILD_GUI=OFF \
+ -DBUILD_SHARED_LIBS=OFF
-CONFIGURE_ARGS= --without-daemon \
- --without-gui \
- --without-libs \
- --without-qrencode \
- --without-miniupnpc \
- --with-utils \
- --disable-wallet
+MASTERDIR= ${.CURDIR}/../bitcoin
-PLIST_FILES= bin/bitcoin-cli bin/bitcoin-tx bin/bitcoin-util \
- share/man/man1/bitcoin-cli.1.gz share/man/man1/bitcoin-tx.1.gz \
+PLIST_FILES= bin/bitcoin-cli \
+ bin/bitcoin-tx \
+ bin/bitcoin-util \
+ share/man/man1/bitcoin-cli.1.gz \
+ share/man/man1/bitcoin-tx.1.gz \
share/man/man1/bitcoin-util.1.gz
+OPTIONS_DEFINE= DEBUG HARDENING TESTS WALLET
+OPTIONS_DEFAULT= HARDENING TESTS WALLET
+
+WALLET_CMAKE_BOOL+= ENABLE_WALLET_TOOL
+WALLET_PLIST_FILES+= bin/bitcoin-wallet \
+ share/man/man1/bitcoin-wallet.1.gz
+
.include "${MASTERDIR}/Makefile"
diff --git a/net-p2p/bitcoin/Makefile b/net-p2p/bitcoin/Makefile
--- a/net-p2p/bitcoin/Makefile
+++ b/net-p2p/bitcoin/Makefile
@@ -1,10 +1,10 @@
PORTNAME= bitcoin
-PORTVERSION= 28.1
-PORTREVISION= 1
+PORTVERSION= 29.0
CATEGORIES= net-p2p finance
MASTER_SITES= https://bitcoincore.org/bin/bitcoin-core-${PORTVERSION}/ \
LOCAL/swills:icon
-DISTFILES= ${DISTNAME}${EXTRACT_SUFX} bitcoin128.png:icon
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
+ bitcoin128.png:icon
DIST_SUBDIR= ${PORTNAME}
EXTRACT_ONLY= ${_DISTFILES:N*.png}
@@ -19,28 +19,31 @@
LIB_DEPENDS= libboost_date_time.so:devel/boost-libs \
libevent.so:devel/libevent
-USES= autoreconf compiler:c++20-lang cpe gmake libtool pkgconfig qt:5 shebangfix
-
-GNU_CONFIGURE= yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
-
SLAVE_PORT?= no
+USES= cmake compiler:c++20-lang cpe pkgconfig
.if defined(SLAVE_PORT) && ${SLAVE_PORT} == "no"
-USES+= desktop-file-utils
-USE_QT= core gui network widgets \
- buildtools:build linguisttools:build qmake:build
-
-BUILD_DEPENDS+= protoc:devel/protobuf
-LIB_DEPENDS+= libprotobuf.so:devel/protobuf
-
-TESTS_USE= QT=testlib
-TESTS_PLIST_FILES= bin/test_bitcoin-qt \
- bin/test_bitcoin
+USES+= desktop-file-utils qt:5
+USE_QT= core gui network widgets buildtools:build linguisttools:build \
+ qmake:build
.endif
+GH_ACCOUNT= bitcoin
-OPTIONS_DEFINE?= DBUS DEBUG HARDENING QRCODES TESTS UPNP WALLET ZMQ
-OPTIONS_DEFAULT?= DBUS HARDENING QRCODES UPNP WALLET ZMQ
+CMAKE_ARGS?= -DBUILD_GUI=ON \
+ -DBUILD_CLI=OFF \
+ -DBUILD_DAEMON=OFF \
+ -DBUILD_SHARED_LIBS=OFF \
+ -DBUILD_TX=OFF \
+ -DBUILD_UTIL=OFF \
+ -DBUILD_WALLET_TOOL=OFF
+
+PLIST_FILES?= bin/bitcoin-qt \
+ share/applications/bitcoin-qt.desktop \
+ share/man/man1/bitcoin-qt.1.gz \
+ share/pixmaps/bitcoin128.png
+
+OPTIONS_DEFINE?= DBUS DEBUG HARDENING QRCODES TESTS WALLET ZMQ
+OPTIONS_DEFAULT?= DBUS HARDENING QRCODES WALLET ZMQ
OPTIONS_SUB= yes
HARDENING_DESC= Attempt to harden binaries (PIE for ASLR, NX Stack)
@@ -49,54 +52,36 @@
WALLET_DESC= Wallet Management Support
ZMQ_DESC= Block and transaction broadcasting with ZeroMQ
-DBUS_CONFIGURE_WITH= dbus
DBUS_USE= QT=dbus
+DBUS_CMAKE_BOOL= WITH_DBUS
-DEBUG_CONFIGURE_ENABLE= debug
-DEBUG_INSTALL_TARGET_OFF= install-strip
-
-HARDENING_CONFIGURE_ENABLE= hardening
-
-TESTS_CONFIGURE_ENABLE= tests bench
-.if defined(SLAVE_PORT) && ${SLAVE_PORT} == "yes"
-TESTS_PLIST_FILES= bin/test_bitcoin
-.endif
-TESTS_PLIST_FILES+= bin/bench_bitcoin
+DEBUG_CMAKE_ON= -DCMAKE_BUILD_TYPE=Debug
+DEBUG_CMAKE_OFF= -DCMAKE_BUILD_TYPE=Release
-UPNP_CONFIGURE_WITH= miniupnpc
-UPNP_LIB_DEPENDS= libminiupnpc.so:net/miniupnpc
-UPNP_CPPFLAGS= -I${LOCALBASE}/include
-UPNP_LIBS= -L${LOCALBASE}/lib
+HARDENING_CMAKE_BOOL= ENABLE_HARDENING
-QRCODES_CONFIGURE_WITH= qrencode
QRCODES_LIB_DEPENDS= libqrencode.so:graphics/libqrencode
+QRCODES_CMAKE_BOOL= WITH_QRENCODE
+
+.if defined(SLAVE_PORT) && ${SLAVE_PORT} == "no"
+TESTS_USE= QT=testlib
+.endif
+TESTS_CMAKE_BOOL= BUILD_BENCH BUILD_TESTS SECP256K1_BUILD_TESTS
+TESTS_PLIST_FILES= bin/bench_bitcoin \
+ bin/test_bitcoin
+.if defined(SLAVE_PORT) && ${SLAVE_PORT} == "no"
+TESTS_PLIST_FILES+= bin/test_bitcoin-qt
+.endif
-WALLET_CONFIGURE_OFF= --disable-wallet
-WALLET_CONFIGURE_ON= --enable-wallet \
- --with-incompatible-bdb \
- --with-sqlite=yes \
- BDB_CFLAGS=-I${BDB_INCLUDE_DIR} \
- BDB_LIBS="-L${BDB_LIB_DIR} \
- -Wl,-rpath=${BDB_LIB_DIR} \
- -l${BDB_LIB_CXX_NAME}"
WALLET_USES= bdb:5+ sqlite:3
+WALLET_CMAKE_ON= -DENABLE_WALLET=ON \
+ -DWARN_INCOMPATIBLE_BDB=OFF \
+ -DWITH_BDB=ON
+WALLET_CMAKE_OFF= -DENABLE_WALLET=OFF
-ZMQ_CONFIGURE_ENABLE= zmq
ZMQ_BUILD_DEPENDS= libzmq4>0:net/libzmq4
ZMQ_RUN_DEPENDS= libzmq4>0:net/libzmq4
-
-GH_ACCOUNT= bitcoin
-
-CONFIGURE_ARGS?= --without-libs \
- --with-gui=qt5 \
- --without-daemon \
- --without-utils
-
-CONFIGURE_ENV= OBJCXX="${CXX}" OBJCXXFLAGS="${CXXFLAGS}"
-MAKE_ENV+= V=1
-
-PLIST_FILES?= bin/bitcoin-qt share/man/man1/bitcoin-qt.1.gz \
- share/applications/bitcoin-qt.desktop share/pixmaps/bitcoin128.png
+ZMQ_CMAKE_BOOL= WITH_ZMQ
.include <bsd.port.pre.mk>
@@ -110,10 +95,4 @@
.endif
-regression-test: build
- # To use this sucessfully, remove --without-daemon and --without-utils
- # from CONFIGURE_ARGS above.
-
- @cd ${WRKSRC} && ${GMAKE} check
-
.include <bsd.port.post.mk>
diff --git a/net-p2p/bitcoin/distinfo b/net-p2p/bitcoin/distinfo
--- a/net-p2p/bitcoin/distinfo
+++ b/net-p2p/bitcoin/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1744000680
-SHA256 (bitcoin/bitcoin-28.1.tar.gz) = c5ae2dd041c7f9d9b7c722490ba5a9d624f7e9a089c67090615e1ba4ad0883ba
-SIZE (bitcoin/bitcoin-28.1.tar.gz) = 12596371
+TIMESTAMP = 1745116296
+SHA256 (bitcoin/bitcoin-29.0.tar.gz) = 882c782c34a3bf2eacd1fae5cdc58b35b869883512f197f7d6dc8f195decfdaa
+SIZE (bitcoin/bitcoin-29.0.tar.gz) = 12935061
SHA256 (bitcoin/bitcoin128.png) = ad880c8459ecfdb96abe6a4689af06bdd27906e0edcd39d0915482f2da91e722
SIZE (bitcoin/bitcoin128.png) = 10639
diff --git a/net-p2p/bitcoin/files/patch-CMakeLists.txt b/net-p2p/bitcoin/files/patch-CMakeLists.txt
new file mode 100644
--- /dev/null
+++ b/net-p2p/bitcoin/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig 2025-05-09 20:40:59 UTC
++++ CMakeLists.txt
+@@ -153,7 +153,7 @@ endif()
+ set(USE_QRCODE TRUE)
+ endif()
+
+-cmake_dependent_option(WITH_DBUS "Enable DBus support." ON "CMAKE_SYSTEM_NAME STREQUAL \"Linux\" AND BUILD_GUI" OFF)
++cmake_dependent_option(WITH_DBUS "Enable DBus support." ON "CMAKE_SYSTEM_NAME STREQUAL \"FreeBSD\" AND BUILD_GUI" OFF)
+
+ option(WITH_MULTIPROCESS "Build multiprocess bitcoin-node and bitcoin-gui executables in addition to monolithic bitcoind and bitcoin-qt executables. Requires libmultiprocess library. Experimental." OFF)
+ if(WITH_MULTIPROCESS)
diff --git a/net-p2p/bitcoin/files/patch-src_qt_trafficgraphwidget.h b/net-p2p/bitcoin/files/patch-src_qt_trafficgraphwidget.h
deleted file mode 100644
--- a/net-p2p/bitcoin/files/patch-src_qt_trafficgraphwidget.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/qt/trafficgraphwidget.h.orig 2020-05-18 18:05:29 UTC
-+++ src/qt/trafficgraphwidget.h
-@@ -7,6 +7,7 @@
-
- #include <QWidget>
- #include <QQueue>
-+#include <QPainterPath>
-
- class ClientModel;
-
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Oct 11, 9:21 AM (19 h, 28 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
23551173
Default Alt Text
D50265.id155238.diff (9 KB)
Attached To
Mode
D50265: net-p2p/bitcoin*: Update to 29.0
Attached
Detach File
Event Timeline
Log In to Comment