From 958085d5f6a90c46f812c64bbe4ac2963f83bca1 Mon Sep 17 00:00:00 2001 From: Julien Olivain Date: Tue, 12 Mar 2024 19:38:36 +0100 Subject: [PATCH] package/bitcoin: add the wallet support option The bitcoin Buildroot package has always disabled the wallet support. This commit adds a config option to enable this support. This allows the bitcoin-cli command to create wallets, generate addresses and send an amount to a given address. Signed-off-by: Julien Olivain Signed-off-by: Arnout Vandecappelle --- package/bitcoin/Config.in | 10 ++++++++++ package/bitcoin/bitcoin.mk | 15 ++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/package/bitcoin/Config.in b/package/bitcoin/Config.in index c4a2447fc9..060cae24f5 100644 --- a/package/bitcoin/Config.in +++ b/package/bitcoin/Config.in @@ -36,6 +36,16 @@ config BR2_PACKAGE_BITCOIN https://bitcoincore.org +if BR2_PACKAGE_BITCOIN + +config BR2_PACKAGE_BITCOIN_WALLET + bool "wallet support" + select BR2_PACKAGE_SQLITE + help + Enable bitcoin wallet support. + +endif + comment "bitcoin needs a toolchain w/ C++, threads, wchar, gcc >= 9" depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS diff --git a/package/bitcoin/bitcoin.mk b/package/bitcoin/bitcoin.mk index 493c569336..2f8a1777a2 100644 --- a/package/bitcoin/bitcoin.mk +++ b/package/bitcoin/bitcoin.mk @@ -13,14 +13,27 @@ BITCOIN_CPE_ID_VENDOR = bitcoin BITCOIN_CPE_ID_PRODUCT = bitcoin_core BITCOIN_DEPENDENCIES = host-pkgconf boost libevent BITCOIN_MAKE_ENV = BITCOIN_GENBUILD_NO_GIT=1 +# Berkeley Database (bdb) support is always disabled. It is only +# needed for legacy wallet format. New wallets are using SQLite. BITCOIN_CONF_OPTS = \ --disable-bench \ - --disable-wallet \ --disable-tests \ --with-boost-libdir=$(STAGING_DIR)/usr/lib/ \ --disable-hardening \ + --without-bdb \ --without-gui +ifeq ($(BR2_PACKAGE_BITCOIN_WALLET),y) +BITCOIN_DEPENDENCIES += sqlite +BITCOIN_CONF_OPTS += \ + --enable-wallet \ + --with-sqlite +else +BITCOIN_CONF_OPTS += \ + --disable-wallet \ + --without-sqlite +endif + ifeq ($(BR2_PACKAGE_LIBMINIUPNPC),y) BITCOIN_DEPENDENCIES += libminiupnpc BITCOIN_CONF_OPTS += --with-miniupnpc