Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
d13ca4b
feat(bitcoin): bump Bitcoin Core to 30.0
bitcoin-tools Sep 9, 2025
0deae89
Update nodebuilder
bitcoin-tools Sep 9, 2025
891b7af
Update build_dependencies_apk.txt
bitcoin-tools Sep 9, 2025
c93ce9a
Update build_dependencies_aptget.txt
bitcoin-tools Sep 9, 2025
dc17b13
Update build_dependencies_darwin.txt
bitcoin-tools Sep 9, 2025
580768e
Update build_dependencies_dnf.txt
bitcoin-tools Sep 9, 2025
1fd6846
Update build_dependencies_emerge.txt
bitcoin-tools Sep 9, 2025
7311db2
Update build_dependencies_freebsd.txt
bitcoin-tools Sep 9, 2025
e2577db
Update build_dependencies_netbsd.txt
bitcoin-tools Sep 9, 2025
e1173c5
Update build_dependencies_openbsd.txt
bitcoin-tools Sep 9, 2025
90f0084
Update build_dependencies_pacman.txt
bitcoin-tools Sep 9, 2025
f40b4c1
Update build_dependencies_zypper.txt
bitcoin-tools Sep 9, 2025
a4b32d1
Update nodebuilder
bitcoin-tools Sep 9, 2025
a0ff527
Update nodebuilder
bitcoin-tools Sep 9, 2025
06faabb
Update nodebuilder
bitcoin-tools Sep 9, 2025
a9429a6
Update build_dependencies_aptget.txt
bitcoin-tools Sep 9, 2025
0c795f1
Update build_dependencies_aptget.txt
bitcoin-tools Sep 10, 2025
6d77ed1
Update build_dependencies_dnf.txt
bitcoin-tools Sep 10, 2025
91c63a6
Update build_dependencies_apk.txt
bitcoin-tools Sep 10, 2025
2f9af26
Update build_dependencies_pacman.txt
bitcoin-tools Sep 10, 2025
34f194e
Update build_dependencies_darwin.txt
bitcoin-tools Sep 10, 2025
19d203d
Update build_dependencies_freebsd.txt
bitcoin-tools Sep 10, 2025
60d000b
Update build_dependencies_netbsd.txt
bitcoin-tools Sep 10, 2025
29557b6
Update nodebuilder
bitcoin-tools Sep 10, 2025
006202e
Update build_dependencies_openbsd.txt
bitcoin-tools Sep 10, 2025
b818a72
Update nodebuilder
bitcoin-tools Sep 10, 2025
b793f6f
Update build_dependencies_emerge.txt
bitcoin-tools Sep 10, 2025
15fe4f4
Update nodebuilder
bitcoin-tools Sep 10, 2025
0b56f65
Update nodebuilder
bitcoin-tools Sep 10, 2025
258f9f7
Update build_dependencies_netbsd.txt
bitcoin-tools Sep 10, 2025
d803716
Update build_dependencies_aptget.txt
bitcoin-tools Sep 10, 2025
91a610a
Update build_dependencies_zypper.txt
bitcoin-tools Sep 10, 2025
817918c
Update build_dependencies_zypper.txt
bitcoin-tools Sep 10, 2025
5b77393
Update nodebuilder
bitcoin-tools Sep 10, 2025
6d59a15
Update nodebuilder
bitcoin-tools Sep 10, 2025
333953e
Update build_dependencies_aptget.txt
bitcoin-tools Sep 10, 2025
da3ffac
revert it back
bitcoin-tools Sep 10, 2025
25009b8
Update nodebuilder
bitcoin-tools Sep 10, 2025
5a81676
Update build_dependencies_zypper.txt
bitcoin-tools Sep 10, 2025
c4efaeb
Update nodebuilder
bitcoin-tools Sep 10, 2025
f745fa5
Update validation.yaml
bitcoin-tools Sep 10, 2025
b25339c
Update nodebuilder
bitcoin-tools Sep 10, 2025
6d35727
Update validation.yaml
bitcoin-tools Sep 10, 2025
2d29a7b
Update nodebuilder
bitcoin-tools Sep 10, 2025
0eefa26
Update validation.yaml
bitcoin-tools Sep 10, 2025
5f82579
Update validation.yaml
bitcoin-tools Sep 10, 2025
0fd0124
Update validation.yaml
bitcoin-tools Sep 10, 2025
1607c67
Update validation.yaml\
bitcoin-tools Sep 10, 2025
123e44b
Update nodebuilder
bitcoin-tools Sep 10, 2025
63c2dc0
Update nodebuilder
bitcoin-tools Sep 16, 2025
00e8233
Update validation.yaml
bitcoin-tools Sep 16, 2025
f1d1d9a
Merge branch 'master' into 2407-feat---add-support-for-bitcoin-core-300
bitcoin-tools Sep 16, 2025
22da29c
Update nodebuilder
bitcoin-tools Sep 16, 2025
7a3b909
Update nodebuilder
bitcoin-tools Sep 16, 2025
2648602
Update nodebuilder
bitcoin-tools Sep 16, 2025
a331952
Update nodebuilder
bitcoin-tools Sep 16, 2025
a5fb38c
Update nodebuilder
bitcoin-tools Sep 16, 2025
cf08449
Update nodebuilder
bitcoin-tools Sep 16, 2025
0458da3
Update nodebuilder
bitcoin-tools Sep 16, 2025
da328dc
use updated path for test_bitcoin
bitcoin-tools Sep 16, 2025
fa7cc98
Update nodebuilder
bitcoin-tools Sep 16, 2025
5123fbc
Update nodebuilder
bitcoin-tools Sep 16, 2025
32b19ba
Update nodebuilder
bitcoin-tools Sep 16, 2025
ed33d7c
Update nodebuilder
bitcoin-tools Sep 17, 2025
2cc0e4a
Update build_dependencies_openbsd.txt
bitcoin-tools Sep 17, 2025
a6f6182
Update nodebuilder
bitcoin-tools Sep 17, 2025
c80dce6
Update build_dependencies_zypper.txt
bitcoin-tools Sep 24, 2025
58f81b5
Update nodebuilder
bitcoin-tools Sep 25, 2025
ab01211
Update nodebuilder
bitcoin-tools Sep 25, 2025
1f7b01b
Update nodebuilder
bitcoin-tools Sep 25, 2025
1e57e5d
Update nodebuilder
bitcoin-tools Sep 25, 2025
eca25db
Update build_dependencies_zypper.txt
bitcoin-tools Sep 25, 2025
65a0a07
Update build_dependencies_zypper.txt
bitcoin-tools Sep 25, 2025
5c60247
search for capnp
bitcoin-tools Sep 25, 2025
9b5c1f9
Update build_dependencies_zypper.txt
bitcoin-tools Sep 25, 2025
0d0e0e0
Update build_dependencies_freebsd.txt
bitcoin-tools Sep 25, 2025
7f92b08
Update nodebuilder
bitcoin-tools Sep 25, 2025
c567696
Update build_dependencies_zypper.txt
bitcoin-tools Sep 25, 2025
8c7460a
Update nodebuilder
bitcoin-tools Sep 25, 2025
e44325c
Merge branch 'master' into 2407-feat---add-support-for-bitcoin-core-300
bitcoin-tools Sep 25, 2025
17128be
Update nodebuilder
bitcoin-tools Sep 25, 2025
ad851a0
Update build_dependencies_zypper.txt
bitcoin-tools Sep 25, 2025
12b3125
Update nodebuilder
bitcoin-tools Sep 26, 2025
e6ba750
Update nodebuilder
bitcoin-tools Sep 26, 2025
c12585d
Update build_dependencies_zypper.txt
bitcoin-tools Sep 26, 2025
2d871b6
Update validation.yaml
bitcoin-tools Sep 26, 2025
a05832d
Update nodebuilder
bitcoin-tools Sep 26, 2025
72d338e
Update validation.yaml
bitcoin-tools Sep 26, 2025
bcd1d0e
Update nodebuilder
bitcoin-tools Sep 26, 2025
f7efc09
Update nodebuilder
bitcoin-tools Sep 26, 2025
6f3c94a
Update build_dependencies_zypper.txt
bitcoin-tools Sep 26, 2025
1b67203
Update nodebuilder
bitcoin-tools Sep 26, 2025
dc7d0de
Update nodebuilder
bitcoin-tools Sep 26, 2025
86d1a06
Merge branch 'master' into 2407-feat---add-support-for-bitcoin-core-300
bitcoin-tools Sep 26, 2025
164142f
Update nodebuilder
bitcoin-tools Sep 26, 2025
d5ffc1b
Update validation.yaml
bitcoin-tools Sep 26, 2025
0eda713
Update nodebuilder
bitcoin-tools Sep 26, 2025
f90ce93
Update nodebuilder
bitcoin-tools Sep 26, 2025
4c3f136
don't install capnp deps on ol
bitcoin-tools Sep 26, 2025
d6d5a93
Update nodebuilder
bitcoin-tools Sep 26, 2025
6b5f64d
Update nodebuilder
bitcoin-tools Sep 26, 2025
0eaf87a
Update nodebuilder
bitcoin-tools Sep 26, 2025
888cfb1
Update nodebuilder
bitcoin-tools Sep 26, 2025
56321bb
Merge branch 'master' into 2407-feat---add-support-for-bitcoin-core-300
bitcoin-tools Sep 26, 2025
40000f1
Update nodebuilder
bitcoin-tools Sep 26, 2025
dc430ba
Update nodebuilder
bitcoin-tools Sep 26, 2025
c29ade5
Update nodebuilder
bitcoin-tools Sep 26, 2025
2f7252c
Update nodebuilder
bitcoin-tools Sep 26, 2025
fca9f65
Update nodebuilder
bitcoin-tools Sep 26, 2025
4bd7492
Update nodebuilder
bitcoin-tools Sep 27, 2025
c485a5e
Update validation.yaml
bitcoin-tools Sep 27, 2025
58ec640
Update nodebuilder
bitcoin-tools Sep 27, 2025
84d57ab
Update validation.yaml
bitcoin-tools Sep 27, 2025
71e97d8
Update nodebuilder
bitcoin-tools Sep 27, 2025
fb945fd
add todo comment
bitcoin-tools Sep 27, 2025
3b2bc98
Update validation.yaml
bitcoin-tools Sep 27, 2025
50cfaea
Update nodebuilder
bitcoin-tools Sep 27, 2025
db62fce
fix typo pkggin
bitcoin-tools Sep 28, 2025
5a79063
Update build_dependencies_netbsd.txt
bitcoin-tools Sep 28, 2025
50acc7f
Update nodebuilder
bitcoin-tools Sep 28, 2025
9c8fa03
Merge branch 'master' into 2407-feat---add-support-for-bitcoin-core-300
bitcoin-tools Sep 28, 2025
27fa744
Update nodebuilder
bitcoin-tools Sep 28, 2025
c131cc9
Update nodebuilder
bitcoin-tools Sep 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 40 additions & 16 deletions nodebuilder
Original file line number Diff line number Diff line change
Expand Up @@ -76,17 +76,33 @@ compile_bitcoin_from_source()
-DCMAKE_CXX_COMPILER="/usr/pkg/gcc12/bin/g++" \
> /dev/null 2>&1
;;
gentoo)
OpenBSD)
cmake -B build \
-DBUILD_GUI=ON \
-DWITH_ZMQ=ON \
-DENABLE_IPC=OFF \
> /dev/null 2>&1
;;
*)
gentoo)
cmake -B build \
-DBUILD_GUI=ON \
-DWITH_ZMQ=ON \
> /dev/null 2>&1
;;
*)
if [ -f /etc/os-release ] &&
[ "$(grep "^ID=" /etc/os-release | cut -d= -f2 | tr -d '"')" = 'ol' ]; then
cmake -B build \
-DBUILD_GUI=ON \
-DWITH_ZMQ=ON \
-DENABLE_IPC=OFF \
> /dev/null 2>&1
else
cmake -B build \
-DBUILD_GUI=ON \
-DWITH_ZMQ=ON \
> /dev/null 2>&1
fi
;;
esac

log_info 'Compiling source code. Please wait.'
Expand Down Expand Up @@ -314,6 +330,7 @@ bitcoin_tarball_download_extract_test_install()
readonly BITCOIN_CORE_EXTRACT_DIR="${TEMP_DIRECTORY}/bitcoin-core"
readonly BITCOIN_INSTALL_BIN_SOURCE="${BITCOIN_CORE_EXTRACT_DIR}/bin"
readonly BITCOIN_INSTALL_LIB_SOURCE="${BITCOIN_CORE_EXTRACT_DIR}/lib"
readonly BITCOIN_INSTALL_LIBEXEC_SOURCE="${BITCOIN_CORE_EXTRACT_DIR}/libexec"
readonly BITCOIN_INSTALL_INCLUDE_SOURCE="${BITCOIN_CORE_EXTRACT_DIR}/include"
readonly BITCOIN_INSTALL_MAN_SOURCE="${BITCOIN_CORE_EXTRACT_DIR}/share/man/man1"
readonly BITCOIN_INSTALL_DESTINATION='/usr/local'
Expand Down Expand Up @@ -456,9 +473,9 @@ bitcoin_tarball_test()
# only sign test_bitcoin if on arm64 and target version is before 28.2
if [ "${TARGET_ARCHITECTURE}" = 'arm64' ] &&
! is_arm64_test_bitcoin_signed "${target_bitcoin_version}"; then
codesign -s - "${BITCOIN_INSTALL_BIN_SOURCE}"/test_bitcoin
codesign -s - "${BITCOIN_INSTALL_LIBEXEC_SOURCE}"/test_bitcoin
fi
UNIT_TEST_RESPONSE="$("${BITCOIN_INSTALL_BIN_SOURCE}"/test_bitcoin 2>&1)"
UNIT_TEST_RESPONSE="$("${BITCOIN_INSTALL_LIBEXEC_SOURCE}"/test_bitcoin 2>&1)"
readonly UNIT_TEST_RESPONSE
case "${UNIT_TEST_RESPONSE}" in
*'No errors detected'*) ;;
Expand Down Expand Up @@ -898,20 +915,16 @@ install_build_dependencies_dnf()
amzn)
throw_error "Building from source on Amazon Linux is unsupported."
;;
fedora) ;;
rhel)
sudo subscription-manager identity > /dev/null 2>&1 ||
throw_error "Register your RHEL subscription with 'sudo subscription-manager subscribe'."
sudo dnf config-manager --enable "rhel-${OS_MAJOR_VERSION_ID}-for-${TARGET_ARCHITECTURE}-appstream-rpms" ||
throw_error "Failed to enable EPEL release rhel-${OS_MAJOR_VERSION_ID}-for-${TARGET_ARCHITECTURE}-appstream-rpms."
;;
*) ;;
esac

case "$(grep "^ID=" /etc/os-release | cut -d= -f2 | tr -d '"')" in
fedora) ;;
*)
dnf list installed epel-release > /dev/null 2>&1 ||
sudo dnf --assumeyes install "https://dl.fedoraproject.org/pub/epel/epel-release-latest-${OS_MAJOR_VERSION_ID}.noarch.rpm"
sudo dnf --assumeyes install "https://dl.fedoraproject.org/pub/epel/epel-release-latest-${OS_MAJOR_VERSION_ID}.noarch.rpm" > /dev/null 2>&1
;;
esac

Expand All @@ -920,6 +933,11 @@ install_build_dependencies_dnf()
dependencies=$(curl --fail --silent --show-error --location --retry 5 "${BUILD_DEPENDENCIES_URL}")
[ -z "${dependencies:-}" ] && throw_error "The list of dependencies is empty."

# TODO: install capnp on Oracle Linux
if [ "$(grep "^ID=" /etc/os-release | cut -d= -f2 | tr -d '"')" = 'ol' ]; then
dependencies="$(echo "${dependencies}" | sed '/capnp/d')"
fi

printf '%s\n' "${dependencies}" | tr -d '\r' | xargs sudo dnf install --assumeyes > /dev/null
}

Expand Down Expand Up @@ -948,7 +966,7 @@ install_build_dependencies_freebsd()
dependencies=$(torsocks curl --fail --silent --show-error --location --retry 2 "${BUILD_DEPENDENCIES_URL}") ||
dependencies=$(curl --fail --silent --show-error --location --retry 5 "${BUILD_DEPENDENCIES_URL}")
[ -z "${dependencies:-}" ] && throw_error "The list of dependencies is empty."
printf '%s\n' "${dependencies}" | tr -d '\r' | xargs sudo pkg install --yes > /dev/null
printf '%s\n' "${dependencies}" | tr -d '\r' | xargs sudo pkg install --yes > /dev/null 2>&1
}

install_build_dependencies_netbsd()
Expand All @@ -958,7 +976,11 @@ install_build_dependencies_netbsd()
dependencies=$(torsocks curl --fail --silent --show-error --location --retry 2 "${BUILD_DEPENDENCIES_URL}") ||
dependencies=$(curl --fail --silent --show-error --location --retry 5 "${BUILD_DEPENDENCIES_URL}")
[ -z "${dependencies:-}" ] && throw_error "The list of dependencies is empty."
printf '%s\n' "${dependencies}" | tr -d '\r' | xargs sudo pkgin -y install > /dev/null
sudo pkgin update
echo 'DEBUG SEARCHING FOR BOOST'
sudo pkgin search boost.*
echo 'DEBUG INSTALLING DEPS'
printf '%s\n' "${dependencies}" | tr -d '\r' | xargs sudo pkgin -y install
# TODO: Remove gcc-12 installation on next line when NetBSD updates the default version of gcc to support C++ 20 features. Bitcoin Core requires gcc with support for C++ 20 features.
sudo pkgin -y install gcc12 && export PATH="/usr/pkg/gcc12/bin:${PATH}"
}
Expand Down Expand Up @@ -1002,6 +1024,8 @@ install_build_dependencies_zypper()
dependencies=$(torsocks curl --fail --silent --show-error --location --retry 2 "${BUILD_DEPENDENCIES_URL}") ||
dependencies=$(curl --fail --silent --show-error --location --retry 5 "${BUILD_DEPENDENCIES_URL}")
[ -z "${dependencies:-}" ] && throw_error "The list of dependencies is empty."
[ "$(grep "^ID=" /etc/os-release | cut -d= -f2 | tr -d '"')" = 'sles' ] &&
dependencies="$(echo "${dependencies}" | sed 's/python3[0-9]+/python3/')"
printf '%s\n' "${dependencies}" | tr -d '\r' | xargs sudo zypper --non-interactive --quiet install > /dev/null
export CXX='g++-15'
}
Expand Down Expand Up @@ -1529,10 +1553,10 @@ readonly VALID_BITCOIN_VERSION_LIST='0.9.5 0.10.0 0.10.1 0.10.2 0.10.3 0.10.4 \
0.16.3 0.17.0 0.17.0.1 0.17.1 0.17.2 0.18.0 0.18.1 0.19.0 0.19.0.1 0.19.1 \
0.20.0 0.20.1 0.20.2 0.21.0 0.21.1 0.21.2 22.0 22.1 23.0 23.1 23.2 24.0 \
24.0.1 24.1 24.2 25.0 25.1 25.2 26.0 26.1 26.2 27.0 27.1 27.2 28.0 28.1 \
28.2 29.0 29.1'
28.2 29.0 29.1 30.0'

# Bump this variable for new Bitcoin Core releases
target_bitcoin_version='29.1'
target_bitcoin_version='30.0'

# Instantiate the parameter variables
compile_bitcoin_flag='false'
Expand Down Expand Up @@ -1646,7 +1670,7 @@ readonly TARGET_OPERATING_SYSTEM_RELEASE

readonly BITCOIN_CORE_REPO='https://github.com/bitcoin/bitcoin'
readonly NODEBUILDER_REPO='https://github.com/bitcoin-tools/nodebuilder'
readonly NODEBUILDER_DEPENDENCIES_TAG='v2.1.0'
readonly NODEBUILDER_DEPENDENCIES_TAG='2407-feat---add-support-for-bitcoin-core-300'
readonly DEPENDENCIES_BASE_URL="${NODEBUILDER_REPO}/raw/${NODEBUILDER_DEPENDENCIES_TAG}/resources/dependencies"

if [ "${TARGET_KERNEL}" = 'NetBSD' ] && is_running_in_ci; then
Expand Down
7 changes: 4 additions & 3 deletions resources/dependencies/build_dependencies_apk.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
boost-dev
build-base
capnproto
capnproto-dev
cmake
libevent-dev
libqrencode-dev
linux-headers
pkgconf
python3
qt5-qtbase
qt5-qtbase-x11
qt5-qttools-dev
qt6-qtbase
qt6-qttools-dev
sqlite-dev
zeromq-dev
11 changes: 7 additions & 4 deletions resources/dependencies/build_dependencies_aptget.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
build-essential
capnproto
cmake
pkgconf
python3
libevent-dev
libboost-dev
libcapnp-dev
libgl-dev
libqrencode-dev
libsqlite3-dev
libzmq3-dev
qtbase5-dev
qttools5-dev
qttools5-dev-tools
qtwayland5
qt6-base-dev
qt6-l10n-tools
qt6-wayland
qt6-tools-dev
qt6-tools-dev-tools
3 changes: 2 additions & 1 deletion resources/dependencies/build_dependencies_darwin.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
boost
capnp
libevent
pkgconf
python
qrencode
qt@5
qt@6
zeromq
9 changes: 5 additions & 4 deletions resources/dependencies/build_dependencies_dnf.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
boost-devel
capnproto
capnproto-devel
cmake
gcc-c++
libevent-devel
make
python3
qrencode-devel
qt5-qtbase-devel
qt5-qttools-devel
qt5-qtwayland
qt6-qtbase-devel
qt6-qttools-devel
qt6-qtwayland
sqlite-devel
zeromq-devel

3 changes: 1 addition & 2 deletions resources/dependencies/build_dependencies_emerge.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ dev-build/cmake
dev-db/sqlite
dev-lang/python
dev-libs/boost
dev-libs/capnproto
dev-libs/libevent
media-gfx/qrencode
net-libs/zeromq

9 changes: 3 additions & 6 deletions resources/dependencies/build_dependencies_freebsd.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
boost-libs
capnproto
cmake
databases/py-sqlite3
git
Expand All @@ -8,10 +9,6 @@ libzmq4
net/py-pyzmq
pkgconf
python3
qt5-buildtools
qt5-gui
qt5-linguisttools
qt5-qmake
qt5-testlib
qt5-widgets
qt6-base
qt6-tools
sqlite3
3 changes: 2 additions & 1 deletion resources/dependencies/build_dependencies_netbsd.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
boost-headers
boost-libs
capnproto
cmake
gcc12
git
libevent
pkg-config
python312
py312-zmq
qrencode
sqlite3
zeromq
3 changes: 2 additions & 1 deletion resources/dependencies/build_dependencies_openbsd.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ libevent
libqrencode
python
py3-zmq
qttools
qt6-qtbase
qt6-qttools
sqlite3
zeromq
4 changes: 3 additions & 1 deletion resources/dependencies/build_dependencies_pacman.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
base-devel
boost
boost-libs
capnproto
cmake
db
libevent
qrencode
qt5
qt6
zeromq
7 changes: 5 additions & 2 deletions resources/dependencies/build_dependencies_zypper.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
capnproto
cmake
gcc15-c++
libboost_headers1_86_0-devel
libcapnp-devel
libevent-devel
libqt5-qtbase-devel
libqt5-qttools-devel
python313
qrencode-devel
qt6-base-devel
qt6-linguist-devel
qt6-tools-devel
sqlite
sqlite3
sqlite3-devel
Expand Down
Loading