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