Index | Thread | Search

From:
Rafael Sadowski <rafael@sizeofvoid.org>
Subject:
UPDATE: bitcoin-29.0
To:
ports@openbsd.org
Cc:
Rafael Sadowski <rsadowski@openbsd.org>
Date:
Fri, 2 May 2025 21:26:43 +0200

Download raw body.

Thread
  • Rafael Sadowski:

    UPDATE: bitcoin-29.0

Huge but nice update diff for bitcoin to 29.0. Tested on amd64. OK?

https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-29.0.md

Ports related chnages:

- "Support for UPnP was dropped."
- "libnatpmp was replaced with a built-in implementation of PCP and NAT-PMP"
- "The build system has been migrated from Autotools to CMake"
- "Bye bye BerkeleyDB"
- Switched from GH to https://bitcoincore.org/bin/

Cheers Rafael

Index: Makefile
===================================================================
RCS file: /cvs/ports/net/bitcoin/Makefile,v
diff -u -p -u -p -r1.50 Makefile
--- Makefile	9 Feb 2025 16:51:36 -0000	1.50
+++ Makefile	2 May 2025 19:23:43 -0000
@@ -2,11 +2,11 @@ BROKEN-sparc64 =	clang problem, probably
 
 COMMENT =		P2P payment system
 
-GH_ACCOUNT =		bitcoin
-GH_PROJECT =		bitcoin
-GH_TAGNAME =		v28.1
+V =			29.0
 
-SHARED_LIBS +=  secp256k1                 0.1 # 0.0
+DISTNAME =		bitcoin-${V}
+
+SITES =			https://bitcoincore.org/bin/bitcoin-core-${V}/
 
 CATEGORIES =		net
 
@@ -17,82 +17,44 @@ MAINTAINER =		Rafael Sadowski <rsadowski
 # MIT
 PERMIT_PACKAGE =	Yes
 
+MODULES =		devel/cmake
+
 BUILD_DEPENDS =		devel/boost
 
-LIB_DEPENDS =		databases/db/v4 \
-			databases/sqlite3 \
+LIB_DEPENDS =		databases/sqlite3 \
 			devel/libevent2 \
 			net/zeromq
 
-USE_GMAKE =		Yes
-
 # C++20
 # Undefined reference to boost and db4 with GCC
 COMPILER =		base-clang ports-clang
 
-CONFIGURE_STYLE =	autoreconf
-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++20
-
-MAKE_FLAGS =		CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
-
 FLAVORS =		no_x11
 FLAVOR ?=
 
-.if ${FLAVOR:Mno_x11}
+WANTLIB += ${COMPILER_LIBCXX} c event_core event_extra event_pthreads
+WANTLIB += m sqlite3 zmq
 
-WANTLIB += ${COMPILER_LIBCXX} c db_cxx event_core event_extra
-WANTLIB += event_pthreads m sodium sqlite3 z zmq
+CONFIGURE_ARGS =	-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON \
+			-DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON \
+			-DCMAKE_DISABLE_FIND_PACKAGE_Python3=ON
 
-CONFIGURE_ARGS +=	--without-gui \
-			--with-miniupnpc=no
-.else
+CONFIGURE_ARGS +=	-DWITH_ZMQ=ON
 
-WANTLIB += ${COMPILER_LIBCXX} GL Qt5Core Qt5DBus Qt5Gui Qt5Network
-WANTLIB += Qt5Widgets X11 X11-xcb Xau Xdmcp Xext Xfixes Xxf86vm
-WANTLIB += c crypto db_cxx dbus-1 double-conversion drm event_core
-WANTLIB += event_extra event_pthreads execinfo expat freetype
-WANTLIB += glapi glib-2.0 graphite2 gthread-2.0 harfbuzz iconv
-WANTLIB += icudata icui18n icuuc intl m miniupnpc natpmp pcre2-16 pcre2-8
-WANTLIB += png qrencode sodium sqlite3 ssl xcb xcb-dri2 xcb-dri3
-WANTLIB += xcb-glx xcb-present xcb-randr xcb-shm xcb-sync xcb-xfixes
-WANTLIB += xshmfence z zmq zstd
+.if ${FLAVOR:Mno_x11}
+CONFIGURE_ARGS +=	-DBUILD_GUI=OFF
+.else
+WANTLIB += ${COMPILER_LIBCXX} Qt5Core Qt5Gui Qt5Network Qt5Widgets
+WANTLIB += qrencode
 
 MODULES +=		x11/qt5
 
-LIB_DEPENDS +=		archivers/zstd \
-			converters/libiconv \
-			devel/gettext,-runtime \
-			devel/glib2 \
-			devel/harfbuzz \
-			devel/pcre2 \
-			graphics/graphite2 \
-			graphics/libqrencode \
-			graphics/png \
-			math/double-conversion \
-			net/miniupnp/libnatpmp \
-			net/miniupnp/miniupnpc \
-			security/libsodium \
-			textproc/icu4c \
-			x11/dbus
-
-CONFIGURE_ARGS +=	--with-gui=qt5
+LIB_DEPENDS +=		graphics/libqrencode
 
-CONFIGURE_ENV +=	LDFLAGS="-L${X11BASE}/lib -L${LOCALBASE}/lib"
+CONFIGURE_ARGS +=	-DBUILD_GUI=ON
 .endif
 
 post-install:
-	cd ${WRKBUILD}/src/secp256k1 && \
-		${MAKE_PROGRAM} ${MAKE_FLAGS} install
 	${INSTALL_DATA_DIR} ${PREFIX}/share/bitcoin
 	${INSTALL_SCRIPT} ${WRKDIST}/share/rpcauth/rpcauth.py \
 		${PREFIX}/share/bitcoin/
@@ -128,5 +90,5 @@ post-install:
 
 # fix build when ccache is installed but not enabled
 .if ${USE_CCACHE:L} != "yes"
-CONFIGURE_ARGS +=	--disable-ccache
+CONFIGURE_ARGS +=	-DWITH_CCACHE=OFF
 .endif
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/bitcoin/distinfo,v
diff -u -p -u -p -r1.26 distinfo
--- distinfo	9 Feb 2025 16:51:36 -0000	1.26
+++ distinfo	2 May 2025 19:23:43 -0000
@@ -1,2 +1,2 @@
-SHA256 (bitcoin-28.1.tar.gz) = Jvgkk1VNF2wd1lyoI4OJFwHIHgDn+CTC37mj0+ZwEII=
-SIZE (bitcoin-28.1.tar.gz) = 12601466
+SHA256 (bitcoin-29.0.tar.gz) = iCx4LDSjvy6s0frlzcWLNbhpiDUS8Zf31tyPGV3s/ao=
+SIZE (bitcoin-29.0.tar.gz) = 12935061
Index: patches/patch-build-aux_m4_bitcoin_find_bdb48_m4
===================================================================
RCS file: patches/patch-build-aux_m4_bitcoin_find_bdb48_m4
diff -N patches/patch-build-aux_m4_bitcoin_find_bdb48_m4
--- patches/patch-build-aux_m4_bitcoin_find_bdb48_m4	13 Nov 2022 10:35:44 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,23 +0,0 @@
-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
-@@ -24,7 +24,7 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[
-       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-         #include <${searchpath}db_cxx.h>
-       ]],[[
--        #if !((DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 8) || DB_VERSION_MAJOR > 4)
-+        #if !((DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 6) || DB_VERSION_MAJOR > 4)
-           #error "failed to find bdb 4.8+"
-         #endif
-       ]])],[
-@@ -37,7 +37,7 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[
-       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-         #include <${searchpath}db_cxx.h>
-       ]],[[
--        #if !(DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 8)
-+        #if !(DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 6)
-           #error "failed to find bdb 4.8"
-         #endif
-       ]])],[
Index: patches/patch-configure_ac
===================================================================
RCS file: patches/patch-configure_ac
diff -N patches/patch-configure_ac
--- patches/patch-configure_ac	6 Oct 2024 06:35:10 -0000	1.13
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-We already uses PIE as default. Unbreak with lld
-
-Index: configure.ac
---- configure.ac.orig
-+++ configure.ac
-@@ -886,7 +886,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])
- fi
- 
- dnl These flags are specific to ld64, and may cause issues with other linkers.
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/bitcoin/pkg/PLIST,v
diff -u -p -u -p -r1.16 PLIST
--- pkg/PLIST	6 Oct 2024 06:35:10 -0000	1.16
+++ pkg/PLIST	2 May 2025 19:23:43 -0000
@@ -8,7 +8,6 @@
 @mode
 @owner
 @group
-@bin bin/bench_bitcoin
 @bin bin/bitcoin-cli
 @bin bin/bitcoin-tx
 @bin bin/bitcoin-util
@@ -16,16 +15,6 @@
 @bin bin/bitcoind
 @comment @bin bin/test_bitcoin
 @comment @bin bin/test_bitcoin-qt
-include/secp256k1.h
-include/secp256k1_ellswift.h
-include/secp256k1_extrakeys.h
-include/secp256k1_preallocated.h
-include/secp256k1_recovery.h
-include/secp256k1_schnorrsig.h
-@static-lib lib/libsecp256k1.a
-lib/libsecp256k1.la
-@lib lib/libsecp256k1.so.${LIBsecp256k1_VERSION}
-lib/pkgconfig/libsecp256k1.pc
 @man man/man1/bitcoin-cli.1
 @man man/man1/bitcoin-tx.1
 @man man/man1/bitcoin-util.1