summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/bitcoin-tx/Manifest5
-rw-r--r--dev-util/bitcoin-tx/bitcoin-tx-0.21.0-r2.ebuild105
-rw-r--r--dev-util/bitcoin-tx/bitcoin-tx-22.0-r2.ebuild113
-rw-r--r--dev-util/bitcoin-tx/bitcoin-tx-24.0.1-r1.ebuild83
-rw-r--r--dev-util/bitcoin-tx/files/22.0-fix_build_without_leveldb.patch23
-rw-r--r--dev-util/bitcoin-tx/files/24.0.1-gcc13.patch39
-rw-r--r--dev-util/bitcoin-tx/files/24.0.1-syslibs.patch281
-rw-r--r--dev-util/bitcoin-tx/metadata.xml3
8 files changed, 0 insertions, 652 deletions
diff --git a/dev-util/bitcoin-tx/Manifest b/dev-util/bitcoin-tx/Manifest
deleted file mode 100644
index c33fa9abf302..000000000000
--- a/dev-util/bitcoin-tx/Manifest
+++ /dev/null
@@ -1,5 +0,0 @@
-DIST bitcoin-0.21.0.knots20210130.patches.tar.xz 505040 BLAKE2B c8999de4158b8781bba6ad014ae14859f1e0bab3080c59a18910cf7447eb56da4b17a0e1843fdd3669d22636df9e4ddcc4526e4293bfd86dc884983a29a5f76c SHA512 7ee27da3d26be0e93ecddff7bb21ef1746bcdb07f9a2b0ea48065367b4c44391e974e04a21e511c05fca8f55971ab8e3c3ac01a3775cc52a537d9e10966d9871
-DIST bitcoin-22.0.knots20211108.patches.tar.xz 1318256 BLAKE2B d6e56bc0ca1d706e99e7f42d8f335f016335b6bf3637c733d993696872f0a4c655cc58fc0394dfdf9916e13f0d7fbdcebf25fbdc9a165227e3c59133033644c0 SHA512 daab5860b7c7e137b6bf350cdc153e6e19172e49935640d1f6fe1f1be1e4df805b1db7fd30b0f95a560106956adab70cc6282fe933ae9de153cb971dd280f83d
-DIST bitcoin-24.0.1.tar.gz 11412628 BLAKE2B 2a8c83aecd12d8d40305d78ede1f389884ee62cfe4af39a9b416b8887a595f3393d599ebe9ddeb576bba5896923feb7ee45ba32d7d4cb0ce9e6d0ef39ecf83c7 SHA512 de1ddb543429f70b0b55a46500e0bc4807cca1b1655a28f8ab186d6f6e620f8cf82420bbdf412976ffed9bc6d742926b19933429c734edaf7430a4f8c37e1685
-DIST bitcoin-v0.21.0.tar.gz 7533957 BLAKE2B 01247cbb9fca2381a8c08ab1c88c479c640963caef22e4207aab46b05813dbf2a5286ac9e98132fb34db0e9ac6c18c79e45a89de166f5c6d480d8ac6e14ecca2 SHA512 c58187996932b0151432a65885b7e8a7b216fb1ab0576fb7d4b5e9620d957594b05e181153e2e0e50bcd5ce764861ec11019ffbb1095d3e704f441e61ac6a04f
-DIST bitcoin-v22.0.tar.gz 7977783 BLAKE2B ba212037bc8efcfbbbf6340c48ed886c4a5aa93e4a34097eafea39734a6f4e25fa6b174f894655f63c504380d8761657771795bfcc641018bf1f1661deef9321 SHA512 1b4b17360e97f390ae678adb7a239c359d3a1288799710683e26f09fc53341b6fca3211465fa3e4fdee37324d85ec1a31ffd1a3714e969df13441f755fa4b7ad
diff --git a/dev-util/bitcoin-tx/bitcoin-tx-0.21.0-r2.ebuild b/dev-util/bitcoin-tx/bitcoin-tx-0.21.0-r2.ebuild
deleted file mode 100644
index 865fc9b4f6ab..000000000000
--- a/dev-util/bitcoin-tx/bitcoin-tx-0.21.0-r2.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools bash-completion-r1
-
-BITCOINCORE_COMMITHASH="95ea54ba089610019a74c1176a2c7c0dba144b1c"
-KNOTS_PV="${PV}.knots20210130"
-KNOTS_P="bitcoin-${KNOTS_PV}"
-
-DESCRIPTION="Command-line Bitcoin transaction tool"
-HOMEPAGE="https://bitcoincore.org/ https://bitcoinknots.org/"
-SRC_URI="
- https://github.com/bitcoin/bitcoin/archive/${BITCOINCORE_COMMITHASH}.tar.gz -> bitcoin-v${PV}.tar.gz
- https://bitcoinknots.org/files/$(ver_cut 1-2).x/${KNOTS_PV}/${KNOTS_P}.patches.txz -> ${KNOTS_P}.patches.tar.xz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="knots"
-
-DEPEND="
- dev-libs/boost:=
- >dev-libs/libsecp256k1-0.1_pre20200911:0/0[recovery,schnorr]
- !>=dev-libs/libsecp256k1-0.1_pre20210628
- >=dev-libs/univalue-1.0.4:=
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- >=sys-devel/autoconf-2.69
- >=sys-devel/automake-1.13
-"
-
-DOCS=(
- doc/bips.md
- doc/release-notes.md
-)
-
-S="${WORKDIR}/bitcoin-${BITCOINCORE_COMMITHASH}"
-
-pkg_pretend() {
- if use knots; then
- elog "You are building ${PN} from Bitcoin Knots."
- elog "For more information, see:"
- elog "https://bitcoinknots.org/files/0.21.x/${KNOTS_PV}/${KNOTS_P}.desc.html"
- else
- elog "You are building ${PN} from Bitcoin Core."
- elog "For more information, see:"
- elog "https://bitcoincore.org/en/2021/01/14/release-${PV}/"
- fi
-}
-
-src_prepare() {
- local knots_patchdir="${WORKDIR}/${KNOTS_P}.patches/"
-
- eapply "${knots_patchdir}/${KNOTS_P}.syslibs.patch"
-
- if use knots; then
- eapply "${knots_patchdir}/${KNOTS_P}.f.patch"
- eapply "${knots_patchdir}/${KNOTS_P}.branding.patch"
- eapply "${knots_patchdir}/${KNOTS_P}.ts.patch"
- fi
-
- eapply_user
-
- echo '#!/bin/true' >share/genbuild.sh || die
- mkdir -p src/obj || die
- echo "#define BUILD_SUFFIX gentoo${PVR#${PV}}" >src/obj/build.h || die
-
- eautoreconf
- rm -r src/leveldb src/secp256k1 || die
-}
-
-src_configure() {
- local my_econf=(
- --disable-asm
- --without-qtdbus
- --without-qrencode
- --without-miniupnpc
- --disable-tests
- --disable-wallet
- --disable-zmq
- --enable-util-tx
- --disable-util-cli
- --disable-util-wallet
- --disable-bench
- --without-libs
- --without-daemon
- --without-gui
- --disable-fuzz
- --disable-ccache
- --disable-static
- --with-system-libsecp256k1
- --with-system-univalue
- )
- econf "${my_econf[@]}"
-}
-
-src_install() {
- default
-
- newbashcomp contrib/${PN}.bash-completion ${PN}
-}
diff --git a/dev-util/bitcoin-tx/bitcoin-tx-22.0-r2.ebuild b/dev-util/bitcoin-tx/bitcoin-tx-22.0-r2.ebuild
deleted file mode 100644
index cbf1068adebf..000000000000
--- a/dev-util/bitcoin-tx/bitcoin-tx-22.0-r2.ebuild
+++ /dev/null
@@ -1,113 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools bash-completion-r1 flag-o-matic
-
-BITCOINCORE_COMMITHASH="a0988140b71485ad12c3c3a4a9573f7c21b1eff8"
-KNOTS_PV="${PV}.knots20211108"
-KNOTS_P="bitcoin-${KNOTS_PV}"
-
-DESCRIPTION="Command-line Bitcoin transaction tool"
-HOMEPAGE="https://bitcoincore.org/ https://bitcoinknots.org/"
-SRC_URI="
- https://github.com/bitcoin/bitcoin/archive/${BITCOINCORE_COMMITHASH}.tar.gz -> bitcoin-v${PV}.tar.gz
- https://bitcoinknots.org/files/$(ver_cut 1).x/${KNOTS_PV}/${KNOTS_P}.patches.txz -> ${KNOTS_P}.patches.tar.xz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="knots"
-
-RDEPEND="
- dev-libs/boost:=
- >dev-libs/libsecp256k1-0.1_pre20200911:0/0[recovery,schnorr]
- !>=dev-libs/libsecp256k1-0.1_pre20210628
- >=dev-libs/univalue-1.0.4:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- >=sys-devel/automake-1.13
- || ( >=sys-devel/gcc-7[cxx] >=sys-devel/clang-5 )
-"
-
-DOCS=(
- doc/bips.md
- doc/release-notes.md
-)
-
-S="${WORKDIR}/bitcoin-${BITCOINCORE_COMMITHASH}"
-
-pkg_pretend() {
- if use knots; then
- elog "You are building ${PN} from Bitcoin Knots."
- elog "For more information, see:"
- elog "https://bitcoinknots.org/files/22.x/${KNOTS_PV}/${KNOTS_P}.desc.html"
- else
- elog "You are building ${PN} from Bitcoin Core."
- elog "For more information, see:"
- elog "https://bitcoincore.org/en/2021/09/13/release-${PV}/"
- fi
-
- if [[ ${MERGE_TYPE} != "binary" ]] ; then
- if ! test-flag-CXX -std=c++17 ; then
- die "Building ${CATEGORY}/${P} requires at least GCC 7 or Clang 5"
- fi
- fi
-}
-
-src_prepare() {
- local knots_patchdir="${WORKDIR}/${KNOTS_P}.patches/"
-
- eapply "${knots_patchdir}/${KNOTS_P}_p1-syslibs.patch"
- eapply "${FILESDIR}/${PV}-fix_build_without_leveldb.patch"
-
- if use knots; then
- eapply "${knots_patchdir}/${KNOTS_P}_p2-fixes.patch"
- eapply "${knots_patchdir}/${KNOTS_P}_p3-features.patch"
- eapply "${knots_patchdir}/${KNOTS_P}_p4-branding.patch"
- eapply "${knots_patchdir}/${KNOTS_P}_p5-ts.patch"
- fi
-
- default
-
- eautoreconf
- rm -r src/leveldb src/secp256k1 || die
-}
-
-src_configure() {
- local my_econf=(
- --disable-asm
- --without-qtdbus
- --disable-ebpf
- --without-natpmp
- --without-qrencode
- --without-miniupnpc
- --disable-tests
- --disable-wallet
- --disable-zmq
- --enable-util-tx
- --disable-util-util
- --disable-util-cli
- --disable-util-wallet
- --disable-bench
- --without-libs
- --without-daemon
- --without-gui
- --disable-fuzz
- --disable-fuzz-binary
- --disable-ccache
- --disable-static
- --with-system-libsecp256k1
- --with-system-univalue
- )
- econf "${my_econf[@]}"
-}
-
-src_install() {
- default
-
- newbashcomp contrib/${PN}.bash-completion ${PN}
-}
diff --git a/dev-util/bitcoin-tx/bitcoin-tx-24.0.1-r1.ebuild b/dev-util/bitcoin-tx/bitcoin-tx-24.0.1-r1.ebuild
deleted file mode 100644
index fd1d577bd081..000000000000
--- a/dev-util/bitcoin-tx/bitcoin-tx-24.0.1-r1.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools bash-completion-r1
-
-DESCRIPTION="Command-line Bitcoin transaction tool"
-HOMEPAGE="https://bitcoincore.org/"
-SRC_URI="
- https://bitcoincore.org/bin/bitcoin-core-${PV}/${P/-tx}.tar.gz
-"
-S="${WORKDIR}"/${P/-tx}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-
-# TODO: Can we drop virtual/bitcoin-leveldb from some bitcoin-*?
-# (only bitcoin-qt, bitcoind should need it?)
-RDEPEND="
- >=dev-libs/boost-1.64.0:=
- >=dev-libs/libsecp256k1-0.2:=[recovery,schnorr]
- virtual/bitcoin-leveldb
-"
-DEPEND="${RDEPEND}"
-
-DOCS=(
- doc/bips.md
- doc/release-notes.md
-)
-
-PATCHES=(
- "${FILESDIR}"/24.0.1-syslibs.patch
- "${FILESDIR}"/24.0.1-gcc13.patch
-)
-
-pkg_pretend() {
- elog "You are building ${PN} from Bitcoin Core."
- elog "For more information, see:"
- elog "https://bitcoincore.org/en/releases/${PV}/"
-}
-
-src_prepare() {
- default
-
- eautoreconf
- rm -r src/leveldb src/secp256k1 || die
-}
-
-src_configure() {
- local myeconfargs=(
- --disable-asm
- --without-qtdbus
- --disable-ebpf
- --without-natpmp
- --without-qrencode
- --without-miniupnpc
- --disable-tests
- --disable-wallet
- --disable-zmq
- --enable-util-tx
- --disable-util-util
- --disable-util-cli
- --disable-util-wallet
- --disable-bench
- --without-libs
- --without-daemon
- --without-gui
- --disable-fuzz
- --disable-fuzz-binary
- --disable-ccache
- --with-system-libsecp256k1
- --with-system-univalue
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- newbashcomp contrib/${PN}.bash-completion ${PN}
-}
diff --git a/dev-util/bitcoin-tx/files/22.0-fix_build_without_leveldb.patch b/dev-util/bitcoin-tx/files/22.0-fix_build_without_leveldb.patch
deleted file mode 100644
index e9dec14b9d43..000000000000
--- a/dev-util/bitcoin-tx/files/22.0-fix_build_without_leveldb.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/src/init/common.cpp b/src/init/common.cpp
-index b5b74cda78b..d01e0e73b4a 100644
---- a/src/init/common.cpp
-+++ b/src/init/common.cpp
-@@ -9,7 +9,6 @@
- #include <clientversion.h>
- #include <compat/sanity.h>
- #include <crypto/sha256.h>
--#include <dbwrapper.h>
- #include <key.h>
- #include <logging.h>
- #include <node/ui_interface.h>
-@@ -41,10 +40,6 @@ void UnsetGlobals()
-
- bool SanityChecks()
- {
-- if (!dbwrapper_SanityCheck()) {
-- return InitError(Untranslated("Database sanity check failure. Aborting."));
-- }
--
- if (!ECC_InitSanityCheck()) {
- return InitError(Untranslated("Elliptic curve cryptography sanity check failure. Aborting."));
- }
diff --git a/dev-util/bitcoin-tx/files/24.0.1-gcc13.patch b/dev-util/bitcoin-tx/files/24.0.1-gcc13.patch
deleted file mode 100644
index 39cf81b14953..000000000000
--- a/dev-util/bitcoin-tx/files/24.0.1-gcc13.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-https://bugs.gentoo.org/903781
-https://bugs.gentoo.org/900246
-https://bugs.gentoo.org/895814
-https://bugs.gentoo.org/894734
-https://github.com/bitcoin/bitcoin/commit/fadeb6b103cb441e0e91ef506ef29febabb10715
-
-From fadeb6b103cb441e0e91ef506ef29febabb10715 Mon Sep 17 00:00:00 2001
-From: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>
-Date: Thu, 19 Jan 2023 19:35:43 +0100
-Subject: [PATCH] Add missing includes to fix gcc-13 compile error
-
---- a/src/support/lockedpool.cpp
-+++ b/src/support/lockedpool.cpp
-@@ -19,6 +19,9 @@
- #endif
-
- #include <algorithm>
-+#include <limits>
-+#include <stdexcept>
-+#include <utility>
- #ifdef ARENA_DEBUG
- #include <iomanip>
- #include <iostream>
---- a/src/support/lockedpool.h
-+++ b/src/support/lockedpool.h
-@@ -5,11 +5,11 @@
- #ifndef BITCOIN_SUPPORT_LOCKEDPOOL_H
- #define BITCOIN_SUPPORT_LOCKEDPOOL_H
-
--#include <stdint.h>
-+#include <cstddef>
- #include <list>
- #include <map>
--#include <mutex>
- #include <memory>
-+#include <mutex>
- #include <unordered_map>
-
- /**
diff --git a/dev-util/bitcoin-tx/files/24.0.1-syslibs.patch b/dev-util/bitcoin-tx/files/24.0.1-syslibs.patch
deleted file mode 100644
index 00404a2ff021..000000000000
--- a/dev-util/bitcoin-tx/files/24.0.1-syslibs.patch
+++ /dev/null
@@ -1,281 +0,0 @@
-Originally based on 22.0-fix_build_without_leveldb.patch.
-
-- Allow system libsecp256k1
-- Allow system leveldb
-- Abort if runtime leveldb != compiled-against leveldb
-- Handle berkdb support being disabled better
---- a/configure.ac
-+++ b/configure.ac
-@@ -1362,6 +1362,23 @@ if test "$enable_fuzz_binary" = "yes"; then
- CHECK_RUNTIME_LIB
- fi
-
-+dnl Check for libsecp256k1, only if explicitly requested
-+AC_ARG_WITH([system-libsecp256k1],
-+ [AS_HELP_STRING([--with-system-libsecp256k1],
-+ [Build with system libsecp256k1 (default is no; DANGEROUS; NOT SUPPORTED)])],
-+ [system_libsecp256k1=$withval],
-+ [system_libsecp256k1=no]
-+)
-+if test x$system_libsecp256k1 != xno; then
-+ PKG_CHECK_MODULES([libsecp256k1],[libsecp256k1],,[true])
-+else
-+ libsecp256k1_CFLAGS='-I$(srcdir)/secp256k1/include'
-+ libsecp256k1_LIBS='secp256k1/libsecp256k1.la'
-+fi
-+AM_CONDITIONAL([EMBEDDED_LIBSECP256K1],[test x$system_libsecp256k1 = xno])
-+AC_SUBST(libsecp256k1_CFLAGS)
-+AC_SUBST(libsecp256k1_LIBS)
-+
- if test "$enable_wallet" != "no"; then
- dnl Check for libdb_cxx only if wallet enabled
- if test "$use_bdb" != "no"; then
-@@ -1413,11 +1430,76 @@ if test "$use_usdt" != "no"; then
- fi
- AM_CONDITIONAL([ENABLE_USDT_TRACEPOINTS], [test "$use_usdt" = "yes"])
-
-+build_leveldb=yes
- if test "$build_bitcoin_cli$build_bitcoin_tx$build_bitcoin_util$build_bitcoind$bitcoin_enable_qt$use_bench$use_tests" = "nonononononono"; then
- use_upnp=no
- use_natpmp=no
- use_zmq=no
-+ build_leveldb=no
-+fi
-+
-+if test x$build_leveldb = xno; then
-+ system_leveldb=no
-+fi
-+dnl Check for leveldb, only if explicitly requested
-+if test x$system_leveldb != xno; then
-+ build_leveldb=no
-+ LEVELDB_CPPFLAGS=
-+ AC_CHECK_LIB([leveldb],[main],[
-+ LIBLEVELDB=-lleveldb
-+ ],[
-+ AC_MSG_ERROR([leveldb library not found; using --with-system-leveldb is not supported anyway])
-+ ])
-+ AC_CHECK_HEADER([leveldb/filter_policy.h],[],[
-+ AC_MSG_ERROR([LevelDB headers not found; using --with-system-leveldb is not supported anyway])
-+ ])
-+ AC_CHECK_HEADER([leveldb/helpers/memenv.h],[
-+ AC_MSG_CHECKING([for memenv.h path])
-+ BITCOIN_SUBDIR_TO_INCLUDE([LEVELDB_CPPFLAGS],[leveldb/helpers/],[memenv])
-+ ],[
-+ AC_CHECK_HEADER([memenv.h],[],[
-+ AC_MSG_ERROR([LevelDB headers not found; using --with-system-leveldb is not supported anyway])
-+ ])
-+ ])
-+
-+ AC_MSG_CHECKING([library containing leveldb::NewMemEnv])
-+ TEMP_LIBS="$LIBS"
-+ TEMP_CPPFLAGS="$CPPFLAGS"
-+ CPPFLAGS="$CPPFLAGS $LEVELDB_CPPFLAGS"
-+ for searchlib in "" "-lmemenv" ERR; do
-+ if test "x$searchlib" = "xERR"; then
-+ AC_MSG_RESULT([no])
-+ AC_MSG_ERROR([LevelDB's memenv helper not found; using --with-system-leveldb is not supported anyway])
-+ fi
-+ searchlib="$searchlib $LIBLEVELDB"
-+ LIBS="$searchlib $TEMP_LIBS"
-+ AC_LINK_IFELSE([AC_LANG_SOURCE([
-+ #include <leveldb/env.h>
-+ #include <leveldb/helpers/memenv.h>
-+
-+ int main() {
-+ leveldb::Env *myenv = leveldb::NewMemEnv(leveldb::Env::Default());
-+ delete myenv;
-+ }
-+ ])],[
-+ AC_MSG_RESULT([$searchlib])
-+ LIBMEMENV="$searchlib"
-+ break
-+ ])
-+ done
-+ LIBS="$TEMP_LIBS"
-+ CPPFLAGS="$TEMP_CPPFLAGS"
- fi
-+AM_CONDITIONAL([EMBEDDED_LEVELDB],[test x$build_leveldb = xyes])
-+AC_SUBST(LEVELDB_CPPFLAGS)
-+AC_SUBST(LIBLEVELDB)
-+AC_SUBST(LIBMEMENV)
-+AC_ARG_WITH([system-leveldb],
-+ [AS_HELP_STRING([--with-system-leveldb],
-+ [Build with system LevelDB (default is no; DANGEROUS; NOT SUPPORTED)])],
-+ [system_leveldb=$withval],
-+ [system_leveldb=no]
-+)
-
- dnl Check for libminiupnpc (optional)
- if test "$use_upnp" != "no"; then
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -23,7 +23,7 @@ noinst_PROGRAMS =
- TESTS =
- BENCHMARKS =
-
--BITCOIN_INCLUDES=-I$(builddir) -I$(srcdir)/$(MINISKETCH_INCLUDE_DIR_INT) -I$(srcdir)/secp256k1/include -I$(srcdir)/$(UNIVALUE_INCLUDE_DIR_INT) $(LEVELDB_CPPFLAGS)
-+BITCOIN_INCLUDES=-I$(builddir) -I$(srcdir)/$(MINISKETCH_INCLUDE_DIR_INT) $(libsecp256k1_CFLAGS) -I$(srcdir)/$(UNIVALUE_INCLUDE_DIR_INT) $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS)
-
- LIBBITCOIN_NODE=libbitcoin_node.a
- LIBBITCOIN_COMMON=libbitcoin_common.a
-@@ -32,7 +32,11 @@ LIBBITCOIN_CLI=libbitcoin_cli.a
- LIBBITCOIN_UTIL=libbitcoin_util.a
- LIBBITCOIN_CRYPTO_BASE=crypto/libbitcoin_crypto_base.la
- LIBBITCOINQT=qt/libbitcoinqt.a
-+if EMBEDDED_LIBSECP256K1
- LIBSECP256K1=secp256k1/libsecp256k1.la
-+else
-+LIBSECP256K1=$(libsecp256k1_LIBS)
-+endif
-
- if ENABLE_ZMQ
- LIBBITCOIN_ZMQ=libbitcoin_zmq.a
-@@ -67,8 +71,10 @@ LIBBITCOIN_CRYPTO += $(LIBBITCOIN_CRYPTO_ARM_SHANI)
- endif
- noinst_LTLIBRARIES += $(LIBBITCOIN_CRYPTO)
-
-+if EMBEDDED_LIBSECP256K1
- $(LIBSECP256K1): $(wildcard secp256k1/src/*.h) $(wildcard secp256k1/src/*.c) $(wildcard secp256k1/include/*)
- $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F)
-+endif
-
- # Make is not made aware of per-object dependencies to avoid limiting building parallelization
- # But to build the less dependent modules first, we manually select their order here:
-@@ -1080,7 +1086,9 @@ endif
- include Makefile.minisketch.include
-
- include Makefile.crc32c.include
-+if EMBEDDED_LEVELDB
- include Makefile.leveldb.include
-+endif
-
- include Makefile.test_util.include
- include Makefile.test_fuzz.include
---- a/src/Makefile.test.include
-+++ b/src/Makefile.test.include
-@@ -377,8 +377,9 @@ if ENABLE_BENCH
- $(BENCH_BINARY) --sanity-check > /dev/null
- endif
- endif
-+if EMBEDDED_LIBSECP256K1
- $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C secp256k1 check
--
-+endif
- if ENABLE_TESTS
- UNIVALUE_TESTS = univalue/test/object univalue/test/unitester
- noinst_PROGRAMS += $(UNIVALUE_TESTS)
---- a/src/dbwrapper.cpp
-+++ b/src/dbwrapper.cpp
-@@ -7,26 +7,45 @@
- #include <fs.h>
- #include <logging.h>
- #include <random.h>
-+#include <node/interface_ui.h>
- #include <tinyformat.h>
- #include <util/strencodings.h>
- #include <util/system.h>
-+#include <util/translation.h>
-
- #include <algorithm>
- #include <cassert>
- #include <cstdarg>
- #include <cstdint>
- #include <cstdio>
-+#include <leveldb/c.h>
- #include <leveldb/cache.h>
- #include <leveldb/db.h>
- #include <leveldb/env.h>
- #include <leveldb/filter_policy.h>
--#include <leveldb/helpers/memenv/memenv.h>
-+#include <leveldb/helpers/memenv.h>
- #include <leveldb/iterator.h>
- #include <leveldb/options.h>
- #include <leveldb/status.h>
- #include <memory>
- #include <optional>
-
-+bool dbwrapper_SanityCheck()
-+{
-+ unsigned long header_version = (leveldb::kMajorVersion << 16) | leveldb::kMinorVersion;
-+ unsigned long library_version = (leveldb_major_version() << 16) | leveldb_minor_version();
-+
-+ if (header_version != library_version) {
-+ InitError(Untranslated(strprintf("Compiled with LevelDB %d.%d, but linked with LevelDB %d.%d (incompatible).",
-+ leveldb::kMajorVersion, leveldb::kMinorVersion,
-+ leveldb_major_version(), leveldb_minor_version()
-+ )));
-+ return false;
-+ }
-+
-+ return true;
-+}
-+
- class CBitcoinLevelDBLogger : public leveldb::Logger {
- public:
- // This code is adapted from posix_logger.h, which is why it is using vsprintf.
---- a/src/dbwrapper.h
-+++ b/src/dbwrapper.h
-@@ -31,6 +31,8 @@ class Env;
- static const size_t DBWRAPPER_PREALLOC_KEY_SIZE = 64;
- static const size_t DBWRAPPER_PREALLOC_VALUE_SIZE = 1024;
-
-+bool dbwrapper_SanityCheck();
-+
- class dbwrapper_error : public std::runtime_error
- {
- public:
---- a/src/kernel/checks.cpp
-+++ b/src/kernel/checks.cpp
-@@ -3,9 +3,10 @@
- // file COPYING or http://www.opensource.org/licenses/mit-license.php.
-
- #include <kernel/checks.h>
--
-+#include <dbwrapper.h>
- #include <key.h>
- #include <random.h>
-+#include <node/interface_ui.h>
- #include <util/time.h>
- #include <util/translation.h>
-
-@@ -15,6 +16,10 @@ namespace kernel {
-
- std::optional<bilingual_str> SanityChecks(const Context&)
- {
-+ if (!dbwrapper_SanityCheck()) {
-+ return Untranslated("Database sanity check failure. Aborting.");
-+ }
-+
- if (!ECC_InitSanityCheck()) {
- return Untranslated("Elliptic curve cryptography sanity check failure. Aborting.");
- }
---- a/src/qt/createwalletdialog.cpp
-+++ b/src/qt/createwalletdialog.cpp
-@@ -12,6 +12,7 @@
-
- #include <qt/guiutil.h>
-
-+#include <QMessageBox>
- #include <QPushButton>
-
- CreateWalletDialog::CreateWalletDialog(QWidget* parent) :
-@@ -94,9 +95,16 @@ CreateWalletDialog::CreateWalletDialog(QWidget* parent) :
- ui->external_signer_checkbox->setChecked(false);
- #endif
-
--#ifndef USE_BDB
-- ui->descriptor_checkbox->setEnabled(false);
-- ui->descriptor_checkbox->setChecked(true);
-+#ifdef USE_BDB
-+ connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept);
-+#else
-+ connect(ui->buttonBox, &QDialogButtonBox::accepted, [this]() {
-+ if (!this->isDescriptorWalletChecked()) {
-+ QMessageBox::critical(this, tr("Cannot create wallet"), tr("This build was compiled without BDB support, so only experimental descriptor wallets are supported."));
-+ return;
-+ }
-+ this->accept();
-+ });
- #endif
-
- #ifndef ENABLE_EXTERNAL_SIGNER
diff --git a/dev-util/bitcoin-tx/metadata.xml b/dev-util/bitcoin-tx/metadata.xml
index 90d16ca8cd0d..9eab793a582a 100644
--- a/dev-util/bitcoin-tx/metadata.xml
+++ b/dev-util/bitcoin-tx/metadata.xml
@@ -9,9 +9,6 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
- <use>
- <flag name="knots">Build enhanced Bitcoin Knots version, rather than Bitcoin Core</flag>
- </use>
<upstream>
<remote-id type="github">bitcoin/bitcoin</remote-id>
<remote-id type="github">bitcoinknots/bitcoin</remote-id>