diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-10-24 14:40:32 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-10-24 14:40:32 +0100 |
commit | 27f59f8e16510831cc751de1406f71afbf464653 (patch) | |
tree | 71463a2ac26fc948615ad34e8101c808c930f76f /net-p2p/bitcoin-cli | |
parent | 9c572b23bc56215e9d24d375ddd293982c07dc08 (diff) |
gentoo auto-resync : 24:10:2023 - 14:40:32
Diffstat (limited to 'net-p2p/bitcoin-cli')
-rw-r--r-- | net-p2p/bitcoin-cli/Manifest | 14 | ||||
-rw-r--r-- | net-p2p/bitcoin-cli/bitcoin-cli-0.21.0.ebuild | 102 | ||||
-rw-r--r-- | net-p2p/bitcoin-cli/bitcoin-cli-22.0.ebuild | 109 | ||||
-rw-r--r-- | net-p2p/bitcoin-cli/bitcoin-cli-24.0.1-r1.ebuild | 81 | ||||
-rw-r--r-- | net-p2p/bitcoin-cli/bitcoin-cli-25.1.ebuild | 2 | ||||
-rw-r--r-- | net-p2p/bitcoin-cli/files/24.0.1-gcc13.patch | 39 | ||||
-rw-r--r-- | net-p2p/bitcoin-cli/files/24.0.1-syslibs.patch | 281 | ||||
-rw-r--r-- | net-p2p/bitcoin-cli/metadata.xml | 3 |
8 files changed, 3 insertions, 628 deletions
diff --git a/net-p2p/bitcoin-cli/Manifest b/net-p2p/bitcoin-cli/Manifest index 1c805f2a7ab5..5b2a10bdbe2d 100644 --- a/net-p2p/bitcoin-cli/Manifest +++ b/net-p2p/bitcoin-cli/Manifest @@ -1,12 +1,2 @@ -AUX 24.0.1-gcc13.patch 989 BLAKE2B f1af15f550a0d43fb0a80f585bcc507a505e2351062c347cd334276d87b4cae48235ca643291b6473e89aaabdac920927f2d654589ca029141a833882e041bfc SHA512 07cfc8cea84f716d0844010b8f09a3dc700e8b89c9ea98da133a34a8820841cec20c426f53a3dacde4d406a2f34409018bce879b34c0def30770025834b60929 -AUX 24.0.1-syslibs.patch 9037 BLAKE2B fa634a8f18d1f1c32d1c3cb18bdfcafc89838a7f5b3a075a40ad3354d1253f1d637351d2661475eb86110db470a7b29c9cfb6266a7f61623c0865939c9e74453 SHA512 fcf8114174e69c5385058b190fa2c0b0ef105869d5d6a40a3cc6bb8e8ef1518cb8bc1fb7cc3a7ec28f361d91f66e4253420c2b50a0004a2dc0978910254cae3d -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 -EBUILD bitcoin-cli-0.21.0.ebuild 2392 BLAKE2B 814a5a4e662a5d6f4f382535b57137404361a460f8d88130677d574c7ce54926b147a5d3cba2775393f10a41a826b77b3ea612ff599dace61bc1c2eb07511ce7 SHA512 078f07ea656c7db87b4266d188c5394cf45266c40a5ee63fb070b7a3abfd83366df5ca18549ca3b2af5261cdce1cb208a8fc8a232277c7b8e394fc1b6889f95f -EBUILD bitcoin-cli-22.0.ebuild 2596 BLAKE2B 05c1d22d1b33fdabb77b289591fb8b8fa85f520a8361dbcc648193f476cbd29d3e976d2245b075bb1c62be362d394cfa5bd3ad7e0ac3afae7cefc0787e86a57b SHA512 9522cf5e9543902e609b8022ae657b489014c3d98f6065a0348f0c38aeb0389d12908ff38482cb469c62a8a549419aa687844d28cb2a221ebea03786bb25c761 -EBUILD bitcoin-cli-24.0.1-r1.ebuild 1595 BLAKE2B 3142a527754a203d0b2017a1f3ab2c331a3e662cd17178cdc45291c783b5ba7f3fb1ca4aab05cc1a7fad9d06fb0395c568a431c6db51aede1d28686c036fd5d7 SHA512 bba4a719f3b34542bbda066226eecf3497033f49d61d947e47090dacce1f9d0d5e52628efc42f3776f767b86dd2bc589689714e6a2f8b8ede3a76c4b9c78c20a -EBUILD bitcoin-cli-25.1.ebuild 375 BLAKE2B 932ed60d6c5f306897c65a51408346077409936410cb84d7f80658bf813d872298d4ac779e64cb98fbf324116d203d20265a0410d95265d23a4f84cf2e0c7513 SHA512 7bb9eb3fcf3eab3fe16edd6819412f9764dbb185af95b8494f4228141fc46f9632b9a16e0f9d191187950e178a903914219c56cd77c25f45e735ed443040d80f -MISC metadata.xml 794 BLAKE2B d7258cb6e38b7f95f72212b3d67f2a6c4f69b8a94a55d46189b970bca6c56ba23ec44b1c36a6b4bce19ba65be0b8879fd8240a48324c296d72d0d87e52e41568 SHA512 ef417ee4a492db03efa50d88b16b35a1b1768b7b04aaecd8676539572f25b96a427caab6dae9f5568241e5f1eda06159bd9a52b12a9002c0611b349ad2656470 +EBUILD bitcoin-cli-25.1.ebuild 373 BLAKE2B 5da7609dd849bdb9cac2f39886b35653505ecfcc652860fe4a92f2f1391592b8d73a705b9e0a2eda0bd2d50c49d1e5acb9eacb5017298ec2076ef6ab0fb2b5e8 SHA512 274ae5e9e6d8617d367e00943636993dfe07c9b8b8b940ba8a589dd15e957afc4e33cddd68ee7c4b0cd15c00ec0bc7ee2eb99718253c30880c9f78da9807d0be +MISC metadata.xml 688 BLAKE2B cb000a96069fc03cfdbf6c724a51dcb378b6d1f05bb4b06da065d52af2e71f1293b5cad7ee805871e3d377df6a93f44650059deb1f398e5f54c076713b119e94 SHA512 886f87c7bfc2049959e16f7233f1208649f66d9597e713296c8510081c4db02562df4eae9376e37c4978c7d06f17fdbacbcf6c14d594f40aec6a6b2751a9cc84 diff --git a/net-p2p/bitcoin-cli/bitcoin-cli-0.21.0.ebuild b/net-p2p/bitcoin-cli/bitcoin-cli-0.21.0.ebuild deleted file mode 100644 index 74c885b4f4dc..000000000000 --- a/net-p2p/bitcoin-cli/bitcoin-cli-0.21.0.ebuild +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright 1999-2022 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 JSON-RPC client specifically for interfacing with bitcoind" -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/libevent:= - >=dev-libs/univalue-1.0.4:= -" -RDEPEND="${DEPEND}" -BDEPEND=" - >=sys-devel/autoconf-2.69 - >=sys-devel/automake-1.13 -" - -DOCS=( - 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-cli - --disable-util-tx - --disable-util-wallet - --disable-bench - --without-libs - --without-daemon - --without-gui - --disable-fuzz - --disable-ccache - --disable-static - --with-system-univalue - ) - econf "${my_econf[@]}" -} - -src_install() { - default - - newbashcomp contrib/bitcoin-cli.bash-completion ${PN} -} diff --git a/net-p2p/bitcoin-cli/bitcoin-cli-22.0.ebuild b/net-p2p/bitcoin-cli/bitcoin-cli-22.0.ebuild deleted file mode 100644 index e3f03d6a8843..000000000000 --- a/net-p2p/bitcoin-cli/bitcoin-cli-22.0.ebuild +++ /dev/null @@ -1,109 +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 JSON-RPC client specifically for interfacing with bitcoind" -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/libevent:= - >=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/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" - - 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-cli - --disable-util-tx - --disable-util-util - --disable-util-wallet - --disable-bench - --without-libs - --without-daemon - --without-gui - --disable-fuzz - --disable-fuzz-binary - --disable-ccache - --disable-static - --with-system-univalue - ) - econf "${my_econf[@]}" -} - -src_install() { - default - - newbashcomp contrib/bitcoin-cli.bash-completion ${PN} -} diff --git a/net-p2p/bitcoin-cli/bitcoin-cli-24.0.1-r1.ebuild b/net-p2p/bitcoin-cli/bitcoin-cli-24.0.1-r1.ebuild deleted file mode 100644 index c93ec569cf67..000000000000 --- a/net-p2p/bitcoin-cli/bitcoin-cli-24.0.1-r1.ebuild +++ /dev/null @@ -1,81 +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 JSON-RPC client specifically for interfacing with bitcoind" -HOMEPAGE="https://bitcoincore.org/" -SRC_URI=" - https://bitcoincore.org/bin/bitcoin-core-${PV}/${P/-cli}.tar.gz -" -S="${WORKDIR}"/${P/-cli} - -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:= - dev-libs/libevent:= - virtual/bitcoin-leveldb -" -DEPEND="${RDEPEND}" - -DOCS=( 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-cli - --disable-util-tx - --disable-util-util - --disable-util-wallet - --disable-bench - --without-libs - --without-daemon - --without-gui - --disable-fuzz - --disable-fuzz-binary - --disable-ccache - --disable-static - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - newbashcomp contrib/bitcoin-cli.bash-completion ${PN} -} diff --git a/net-p2p/bitcoin-cli/bitcoin-cli-25.1.ebuild b/net-p2p/bitcoin-cli/bitcoin-cli-25.1.ebuild index 04157a27bd07..81c2ad58ef7c 100644 --- a/net-p2p/bitcoin-cli/bitcoin-cli-25.1.ebuild +++ b/net-p2p/bitcoin-cli/bitcoin-cli-25.1.ebuild @@ -8,6 +8,6 @@ HOMEPAGE="https://bitcoincore.org/" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux" RDEPEND="~net-p2p/bitcoin-core-${PV}[bitcoin-cli]" diff --git a/net-p2p/bitcoin-cli/files/24.0.1-gcc13.patch b/net-p2p/bitcoin-cli/files/24.0.1-gcc13.patch deleted file mode 100644 index 39cf81b14953..000000000000 --- a/net-p2p/bitcoin-cli/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/net-p2p/bitcoin-cli/files/24.0.1-syslibs.patch b/net-p2p/bitcoin-cli/files/24.0.1-syslibs.patch deleted file mode 100644 index 00404a2ff021..000000000000 --- a/net-p2p/bitcoin-cli/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/net-p2p/bitcoin-cli/metadata.xml b/net-p2p/bitcoin-cli/metadata.xml index d17b04d7bb4e..67439c190ea2 100644 --- a/net-p2p/bitcoin-cli/metadata.xml +++ b/net-p2p/bitcoin-cli/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> |