summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-p2p/bitcoind')
-rw-r--r--net-p2p/bitcoind/Manifest5
-rw-r--r--net-p2p/bitcoind/bitcoind-0.21.0-r1.ebuild176
-rw-r--r--net-p2p/bitcoind/bitcoind-22.0-r1.ebuild206
-rw-r--r--net-p2p/bitcoind/bitcoind-24.0.1.ebuild163
-rw-r--r--net-p2p/bitcoind/files/24.0.1-gcc13.patch39
-rw-r--r--net-p2p/bitcoind/files/24.0.1-syslibs.patch281
-rw-r--r--net-p2p/bitcoind/files/bitcoin.conf8
-rw-r--r--net-p2p/bitcoind/files/bitcoin.conf.519
-rw-r--r--net-p2p/bitcoind/files/bitcoind-0.20.1-boost-1.77-compat.patch56
-rw-r--r--net-p2p/bitcoind/files/bitcoind.logrotate-r18
-rw-r--r--net-p2p/bitcoind/metadata.xml2
11 files changed, 0 insertions, 963 deletions
diff --git a/net-p2p/bitcoind/Manifest b/net-p2p/bitcoind/Manifest
deleted file mode 100644
index c33fa9abf302..000000000000
--- a/net-p2p/bitcoind/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/net-p2p/bitcoind/bitcoind-0.21.0-r1.ebuild b/net-p2p/bitcoind/bitcoind-0.21.0-r1.ebuild
deleted file mode 100644
index ee53cd8ba772..000000000000
--- a/net-p2p/bitcoind/bitcoind-0.21.0-r1.ebuild
+++ /dev/null
@@ -1,176 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DB_VER="4.8"
-inherit autotools bash-completion-r1 db-use systemd
-
-BITCOINCORE_COMMITHASH="95ea54ba089610019a74c1176a2c7c0dba144b1c"
-KNOTS_PV="${PV}.knots20210130"
-KNOTS_P="bitcoin-${KNOTS_PV}"
-
-DESCRIPTION="Original Bitcoin crypto-currency wallet for automated services"
-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="+asm examples knots +sqlite system-leveldb test upnp +wallet zeromq"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- acct-group/bitcoin
- acct-user/bitcoin
- dev-libs/boost:=
- dev-libs/libevent:=
- >dev-libs/libsecp256k1-0.1_pre20200911:0/0[recovery,schnorr]
- !>=dev-libs/libsecp256k1-0.1_pre20210628
- >=dev-libs/univalue-1.0.4:=
- system-leveldb? ( virtual/bitcoin-leveldb )
- sqlite? ( >=dev-db/sqlite-3.7.17:= )
- upnp? ( >=net-libs/miniupnpc-1.9.20150916:= )
- wallet? ( sys-libs/db:$(db_ver_to_slot "${DB_VER}")=[cxx] )
- zeromq? ( net-libs/zeromq:= )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- >=sys-devel/autoconf-2.69
- >=sys-devel/automake-1.13
-"
-
-DOCS=(
- doc/bips.md
- doc/bitcoin-conf.md
- doc/descriptors.md
- doc/files.md
- doc/JSON-RPC-interface.md
- doc/psbt.md
- doc/reduce-traffic.md
- doc/release-notes.md
- doc/REST-interface.md
- doc/tor.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
- elog "Replace By Fee policy is now always enabled by default: Your node will"
- elog "preferentially mine and relay transactions paying the highest fee, regardless"
- elog "of receive order. To disable RBF, set mempoolreplacement=never in bitcoin.conf"
-}
-
-src_prepare() {
- sed -i 's/^\(complete -F _bitcoind bitcoind\) bitcoin-qt$/\1/' contrib/${PN}.bash-completion || die
-
- 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 "${FILESDIR}/${PN}-0.20.1-boost-1.77-compat.patch"
-
- default
-
- 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/secp256k1 || die
- if use system-leveldb; then
- rm -r src/leveldb || die
- fi
-}
-
-src_configure() {
- local my_econf=(
- $(use_enable asm)
- --without-qtdbus
- --without-qrencode
- $(use_with upnp miniupnpc)
- $(use_enable upnp upnp-default)
- $(use_enable test tests)
- $(use_enable wallet)
- $(use_enable zeromq zmq)
- --with-daemon
- --disable-util-cli
- --disable-util-tx
- --disable-util-wallet
- --disable-bench
- --without-libs
- --without-gui
- --disable-fuzz
- --disable-ccache
- --disable-static
- $(use_with sqlite)
- $(use_with system-leveldb)
- --with-system-libsecp256k1
- --with-system-univalue
- )
- econf "${my_econf[@]}"
-}
-
-src_install() {
- default
-
- if use test; then
- rm -f "${ED}/usr/bin/test_bitcoin" || die
- fi
-
- insinto /etc/bitcoin
- newins "${FILESDIR}/bitcoin.conf" bitcoin.conf
- fowners bitcoin:bitcoin /etc/bitcoin/bitcoin.conf
- fperms 600 /etc/bitcoin/bitcoin.conf
-
- newconfd "contrib/init/bitcoind.openrcconf" ${PN}
- newinitd "contrib/init/bitcoind.openrc" ${PN}
- systemd_newunit "contrib/init/bitcoind.service" "bitcoind.service"
-
- keepdir /var/lib/bitcoin/.bitcoin
- fperms 700 /var/lib/bitcoin
- fowners bitcoin:bitcoin /var/lib/bitcoin/
- fowners bitcoin:bitcoin /var/lib/bitcoin/.bitcoin
- dosym ../../../../etc/bitcoin/bitcoin.conf /var/lib/bitcoin/.bitcoin/bitcoin.conf
-
- doman "${FILESDIR}/bitcoin.conf.5"
-
- use zeromq && dodoc doc/zmq.md
-
- newbashcomp contrib/${PN}.bash-completion ${PN}
-
- if use examples; then
- docinto examples
- dodoc -r contrib/{linearize,qos}
- use zeromq && dodoc -r contrib/zmq
- fi
-
- insinto /etc/logrotate.d
- newins "${FILESDIR}/bitcoind.logrotate-r1" bitcoind
-}
-
-pkg_postinst() {
- elog "To have ${PN} automatically use Tor when it's running, be sure your"
- elog "'torrc' config file has 'ControlPort' and 'CookieAuthentication' setup"
- elog "correctly, and:"
- elog "- Using an init script: add the 'bitcoin' user to the 'tor' user group."
- elog "- Running bitcoind directly: add that user to the 'tor' user group."
-}
diff --git a/net-p2p/bitcoind/bitcoind-22.0-r1.ebuild b/net-p2p/bitcoind/bitcoind-22.0-r1.ebuild
deleted file mode 100644
index 1fdd799bd9a7..000000000000
--- a/net-p2p/bitcoind/bitcoind-22.0-r1.ebuild
+++ /dev/null
@@ -1,206 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DB_VER="4.8"
-inherit autotools bash-completion-r1 db-use systemd flag-o-matic
-
-BITCOINCORE_COMMITHASH="a0988140b71485ad12c3c3a4a9573f7c21b1eff8"
-KNOTS_PV="${PV}.knots20211108"
-KNOTS_P="bitcoin-${KNOTS_PV}"
-
-DESCRIPTION="Original Bitcoin crypto-currency wallet for automated services"
-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="+asm +berkdb examples +external-signer knots nat-pmp sqlite systemtap test upnp +wallet zeromq"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
- sqlite? ( wallet )
- berkdb? ( wallet )
- wallet? ( || ( berkdb sqlite ) )
-"
-RDEPEND="
- acct-group/bitcoin
- acct-user/bitcoin
- dev-libs/boost:=
- dev-libs/libevent:=
- >dev-libs/libsecp256k1-0.1_pre20200911:0/0[recovery,schnorr]
- !>=dev-libs/libsecp256k1-0.1_pre20210628
- >=dev-libs/univalue-1.0.4:=
- nat-pmp? ( net-libs/libnatpmp )
- virtual/bitcoin-leveldb
- sqlite? ( >=dev-db/sqlite-3.7.17:= )
- upnp? ( >=net-libs/miniupnpc-1.9.20150916:= )
- berkdb? ( sys-libs/db:$(db_ver_to_slot "${DB_VER}")=[cxx] )
- zeromq? ( net-libs/zeromq:= )
-"
-DEPEND="${RDEPEND}
- systemtap? ( dev-util/systemtap )
-"
-BDEPEND="
- >=sys-devel/automake-1.13
- || ( >=sys-devel/gcc-7[cxx] >=sys-devel/clang-5 )
-"
-
-DOCS=(
- doc/bips.md
- doc/bitcoin-conf.md
- doc/descriptors.md
- doc/files.md
- doc/JSON-RPC-interface.md
- doc/psbt.md
- doc/reduce-memory.md
- doc/reduce-traffic.md
- doc/release-notes.md
- doc/REST-interface.md
- doc/tor.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
- elog
- elog "Replace By Fee policy is now always enabled by default: Your node will"
- elog "preferentially mine and relay transactions paying the highest fee, regardless"
- if use knots; then
- elog "of receive order. To disable RBF, set mempoolreplacement=never in bitcoin.conf"
- else # Bitcoin Core doesn't support disabling RBF anymore
- elog "of receive order. To disable RBF, rebuild with USE=knots to get ${PN}"
- elog "from Bitcoin Knots, and set mempoolreplacement=never in bitcoin.conf"
- fi
- if has_version "<${CATEGORY}/${PN}-0.21.1" ; then
- ewarn "CAUTION: BITCOIN PROTOCOL CHANGE INCLUDED"
- ewarn "This release adds enforcement of the Taproot protocol change to the Bitcoin"
- ewarn "rules, beginning in November. Protocol changes require user consent to be"
- ewarn "effective, and if enforced inconsistently within the community may compromise"
- ewarn "your security or others! If you do not know what you are doing, learn more"
- ewarn "before November. (You must make a decision either way - simply not upgrading"
- ewarn "is insecure in all scenarios.)"
- ewarn "To learn more, see https://bitcointaproot.cc"
- 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() {
- sed -i 's/^\(complete -F _bitcoind bitcoind\) bitcoin-qt$/\1/' contrib/${PN}.bash-completion || die
-
- 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=(
- $(use_enable asm)
- --without-qtdbus
- $(use_enable systemtap ebpf)
- $(use_enable external-signer)
- $(use_with nat-pmp natpmp)
- $(use_with nat-pmp natpmp-default)
- --without-qrencode
- $(use_with upnp miniupnpc)
- $(use_enable upnp upnp-default)
- $(use_enable test tests)
- $(use_enable wallet)
- $(use_enable zeromq zmq)
- --with-daemon
- --disable-util-cli
- --disable-util-tx
- --disable-util-util
- --disable-util-wallet
- --disable-bench
- --without-libs
- --without-gui
- --disable-fuzz
- --disable-fuzz-binary
- --disable-ccache
- --disable-static
- $(use_with berkdb bdb)
- $(use_with sqlite)
- --with-system-leveldb
- --with-system-libsecp256k1
- --with-system-univalue
- )
- econf "${my_econf[@]}"
-}
-
-src_install() {
- default
-
- if use test; then
- rm -f "${ED}/usr/bin/test_bitcoin" || die
- fi
-
- insinto /etc/bitcoin
- newins "${FILESDIR}/bitcoin.conf" bitcoin.conf
- fowners bitcoin:bitcoin /etc/bitcoin/bitcoin.conf
- fperms 600 /etc/bitcoin/bitcoin.conf
-
- newconfd "contrib/init/bitcoind.openrcconf" ${PN}
- newinitd "contrib/init/bitcoind.openrc" ${PN}
- systemd_newunit "contrib/init/bitcoind.service" "bitcoind.service"
-
- keepdir /var/lib/bitcoin/.bitcoin
- fperms 700 /var/lib/bitcoin
- fowners bitcoin:bitcoin /var/lib/bitcoin/
- fowners bitcoin:bitcoin /var/lib/bitcoin/.bitcoin
- dosym ../../../../etc/bitcoin/bitcoin.conf /var/lib/bitcoin/.bitcoin/bitcoin.conf
-
- doman "${FILESDIR}/bitcoin.conf.5"
-
- use zeromq && dodoc doc/zmq.md
-
- newbashcomp contrib/${PN}.bash-completion ${PN}
-
- if use examples; then
- docinto examples
- dodoc -r contrib/{linearize,qos}
- use zeromq && dodoc -r contrib/zmq
- fi
-
- insinto /etc/logrotate.d
- newins "${FILESDIR}/bitcoind.logrotate-r1" bitcoind
-}
-
-pkg_postinst() {
- elog "To have ${PN} automatically use Tor when it's running, be sure your"
- elog "'torrc' config file has 'ControlPort' and 'CookieAuthentication' setup"
- elog "correctly, and:"
- elog "- Using an init script: add the 'bitcoin' user to the 'tor' user group."
- elog "- Running bitcoind directly: add that user to the 'tor' user group."
-}
diff --git a/net-p2p/bitcoind/bitcoind-24.0.1.ebuild b/net-p2p/bitcoind/bitcoind-24.0.1.ebuild
deleted file mode 100644
index 6eec37f477fe..000000000000
--- a/net-p2p/bitcoind/bitcoind-24.0.1.ebuild
+++ /dev/null
@@ -1,163 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DB_VER="4.8"
-inherit autotools bash-completion-r1 db-use systemd
-
-DESCRIPTION="Original Bitcoin crypto-currency wallet for automated services"
-HOMEPAGE="https://bitcoincore.org/"
-SRC_URI="
- https://bitcoincore.org/bin/bitcoin-core-${PV}/${P/d}.tar.gz
-"
-S="${WORKDIR}"/${P/d}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+asm +berkdb examples +external-signer nat-pmp sqlite systemtap test upnp +wallet zeromq"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="
- sqlite? ( wallet )
- berkdb? ( wallet )
- wallet? ( || ( berkdb sqlite ) )
-"
-# dev-libs/univalue is now bundled as upstream dropped support for system copy
-# and their version in the Bitcoin repo has deviated a fair bit from upstream.
-# Upstream also seems very inactive.
-RDEPEND="
- acct-group/bitcoin
- acct-user/bitcoin
- dev-libs/boost:=
- dev-libs/libevent:=
- >=dev-libs/libsecp256k1-0.2.0:=[recovery,schnorr]
- >=dev-libs/univalue-1.0.4:=
- virtual/bitcoin-leveldb
- nat-pmp? ( net-libs/libnatpmp )
- sqlite? ( >=dev-db/sqlite-3.7.17:= )
- upnp? ( >=net-libs/miniupnpc-1.9.20150916:= )
- berkdb? ( sys-libs/db:$(db_ver_to_slot "${DB_VER}")=[cxx] )
- zeromq? ( net-libs/zeromq:= )
-"
-DEPEND="
- ${RDEPEND}
- systemtap? ( dev-util/systemtap )
-"
-
-DOCS=(
- doc/bips.md
- doc/bitcoin-conf.md
- doc/descriptors.md
- doc/files.md
- doc/JSON-RPC-interface.md
- doc/psbt.md
- doc/reduce-memory.md
- doc/reduce-traffic.md
- doc/release-notes.md
- doc/REST-interface.md
- doc/tor.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() {
- sed -i 's/^\(complete -F _bitcoind bitcoind\) bitcoin-qt$/\1/' contrib/${PN}.bash-completion || die
-
- default
-
- eautoreconf
-
- rm -r src/leveldb src/secp256k1 || die
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable asm)
- --without-qtdbus
- $(use_enable systemtap ebpf)
- $(use_enable external-signer)
- $(use_with nat-pmp natpmp)
- $(use_with nat-pmp natpmp-default)
- --without-qrencode
- $(use_with upnp miniupnpc)
- $(use_enable upnp upnp-default)
- $(use_enable test tests)
- $(use_enable wallet)
- $(use_enable zeromq zmq)
- --with-daemon
- --disable-util-cli
- --disable-util-tx
- --disable-util-util
- --disable-util-wallet
- --disable-bench
- --without-libs
- --without-gui
- --disable-fuzz
- --disable-fuzz-binary
- --disable-ccache
- --disable-static
- $(use_with berkdb bdb)
- $(use_with sqlite)
- --with-system-leveldb
- --with-system-libsecp256k1
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- if use test; then
- rm -f "${ED}/usr/bin/test_bitcoin" || die
- fi
-
- insinto /etc/bitcoin
- newins "${FILESDIR}/bitcoin.conf" bitcoin.conf
- fowners bitcoin:bitcoin /etc/bitcoin/bitcoin.conf
- fperms 600 /etc/bitcoin/bitcoin.conf
-
- newconfd "contrib/init/bitcoind.openrcconf" ${PN}
- newinitd "contrib/init/bitcoind.openrc" ${PN}
- systemd_newunit "contrib/init/bitcoind.service" "bitcoind.service"
-
- keepdir /var/lib/bitcoin/.bitcoin
- fperms 700 /var/lib/bitcoin
- fowners bitcoin:bitcoin /var/lib/bitcoin/
- fowners bitcoin:bitcoin /var/lib/bitcoin/.bitcoin
- dosym ../../../../etc/bitcoin/bitcoin.conf /var/lib/bitcoin/.bitcoin/bitcoin.conf
-
- doman "${FILESDIR}/bitcoin.conf.5"
-
- use zeromq && dodoc doc/zmq.md
-
- newbashcomp contrib/${PN}.bash-completion ${PN}
-
- if use examples; then
- docinto examples
- dodoc -r contrib/{linearize,qos}
- use zeromq && dodoc -r contrib/zmq
- fi
-
- insinto /etc/logrotate.d
- newins "${FILESDIR}/bitcoind.logrotate-r1" bitcoind
-}
-
-pkg_postinst() {
- elog "To have ${PN} automatically use Tor when it's running, be sure your"
- elog "'torrc' config file has 'ControlPort' and 'CookieAuthentication' setup"
- elog "correctly, and:"
- elog "- Using an init script: add the 'bitcoin' user to the 'tor' user group."
- elog "- Running bitcoind directly: add that user to the 'tor' user group."
-}
diff --git a/net-p2p/bitcoind/files/24.0.1-gcc13.patch b/net-p2p/bitcoind/files/24.0.1-gcc13.patch
deleted file mode 100644
index 39cf81b14953..000000000000
--- a/net-p2p/bitcoind/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/bitcoind/files/24.0.1-syslibs.patch b/net-p2p/bitcoind/files/24.0.1-syslibs.patch
deleted file mode 100644
index 00404a2ff021..000000000000
--- a/net-p2p/bitcoind/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/bitcoind/files/bitcoin.conf b/net-p2p/bitcoind/files/bitcoin.conf
deleted file mode 100644
index c6a55f3d9133..000000000000
--- a/net-p2p/bitcoind/files/bitcoin.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-# http://www.bitcoin.org/smf/index.php?topic=644.0
-#rpcuser=
-#rpcpassword=
-
-
-
-
-
diff --git a/net-p2p/bitcoind/files/bitcoin.conf.5 b/net-p2p/bitcoind/files/bitcoin.conf.5
deleted file mode 100644
index 839dc26c1aa5..000000000000
--- a/net-p2p/bitcoind/files/bitcoin.conf.5
+++ /dev/null
@@ -1,19 +0,0 @@
-.TH BITCOIN.CONF "5" "February 2016" "bitcoin.conf 0.12"
-.SH NAME
-bitcoin.conf \- bitcoin configuration file
-.SH SYNOPSIS
-All command-line options (except for '\-conf') may be specified in a configuration file, and all configuration file options may also be specified on the command line. Command-line options override values set in the configuration file.
-.TP
-The configuration file is a list of 'setting=value' pairs, one per line, with optional comments starting with the '#' character. Please refer to bitcoind(1) for a up to date list of valid options.
-.TP
-The configuration file is not automatically created; you can create it using your favorite plain-text editor. By default, bitcoind(1) will look for a file named bitcoin.conf(5) in the bitcoin data directory, but both the data directory and the configuration file path may be changed using the '\-datadir' and '\-conf' command-line arguments.
-.SH LOCATION
-bitcoin.conf should be located in $HOME/.bitcoin
-
-.SH "SEE ALSO"
-bitcoind(1)
-.SH AUTHOR
-This manual page was written by Micah Anderson <micah@debian.org> for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or any later version published by the Free Software Foundation.
-
-On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.
-
diff --git a/net-p2p/bitcoind/files/bitcoind-0.20.1-boost-1.77-compat.patch b/net-p2p/bitcoind/files/bitcoind-0.20.1-boost-1.77-compat.patch
deleted file mode 100644
index 53b5563cb662..000000000000
--- a/net-p2p/bitcoind/files/bitcoind-0.20.1-boost-1.77-compat.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-commit acb7aad27ec8a184808aa7905887e3b2c5d54e9c
-Author: Rafael Sadowski <rafael@sizeofvoid.org>
-Date: Mon Aug 16 06:34:02 2021 +0200
-
- Fix build with Boost 1.77.0
-
- BOOST_FILESYSTEM_C_STR changed to accept the path as an argument
-
-diff --git a/src/fs.cpp b/src/fs.cpp
-index 4f20ca4d28f..89c7ad27dc4 100644
---- a/src/fs.cpp
-+++ b/src/fs.cpp
-@@ -242,7 +242,11 @@ void ofstream::close()
- }
- #else // __GLIBCXX__
-
-+#if BOOST_VERSION >= 107700
-+static_assert(sizeof(*BOOST_FILESYSTEM_C_STR(fs::path())) == sizeof(wchar_t),
-+#else
- static_assert(sizeof(*fs::path().BOOST_FILESYSTEM_C_STR) == sizeof(wchar_t),
-+#endif // BOOST_VERSION >= 107700
- "Warning: This build is using boost::filesystem ofstream and ifstream "
- "implementations which will fail to open paths containing multibyte "
- "characters. You should delete this static_assert to ignore this warning, "
-diff --git a/src/wallet/test/db_tests.cpp b/src/wallet/test/db_tests.cpp
-index 17f5264b459..16cb7e0baf0 100644
---- a/src/wallet/test/db_tests.cpp
-+++ b/src/wallet/test/db_tests.cpp
-@@ -25,7 +25,11 @@ BOOST_AUTO_TEST_CASE(getwalletenv_file)
- std::string test_name = "test_name.dat";
- const fs::path datadir = gArgs.GetDataDirNet();
- fs::path file_path = datadir / test_name;
-+#if BOOST_VERSION >= 107700
-+ std::ofstream f(BOOST_FILESYSTEM_C_STR(file_path));
-+#else
- std::ofstream f(file_path.BOOST_FILESYSTEM_C_STR);
-+#endif // BOOST_VERSION >= 107700
- f.close();
-
- std::string filename;
-diff --git a/src/wallet/test/init_test_fixture.cpp b/src/wallet/test/init_test_fixture.cpp
-index dd9354848d7..53c972c46d3 100644
---- a/src/wallet/test/init_test_fixture.cpp
-+++ b/src/wallet/test/init_test_fixture.cpp
-@@ -32,7 +32,11 @@ InitWalletDirTestingSetup::InitWalletDirTestingSetup(const std::string& chainNam
- fs::create_directories(m_walletdir_path_cases["default"]);
- fs::create_directories(m_walletdir_path_cases["custom"]);
- fs::create_directories(m_walletdir_path_cases["relative"]);
-+#if BOOST_VERSION >= 107700
-+ std::ofstream f(BOOST_FILESYSTEM_C_STR(m_walletdir_path_cases["file"]));
-+#else
- std::ofstream f(m_walletdir_path_cases["file"].BOOST_FILESYSTEM_C_STR);
-+#endif // BOOST_VERSION >= 107700
- f.close();
- }
-
diff --git a/net-p2p/bitcoind/files/bitcoind.logrotate-r1 b/net-p2p/bitcoind/files/bitcoind.logrotate-r1
deleted file mode 100644
index f9a4702720ab..000000000000
--- a/net-p2p/bitcoind/files/bitcoind.logrotate-r1
+++ /dev/null
@@ -1,8 +0,0 @@
-/var/lib/bitcoin/.bitcoin/debug.log {
- missingok
- weekly
- sharedscripts
- postrotate
- killall -HUP bitcoind
- endscript
-}
diff --git a/net-p2p/bitcoind/metadata.xml b/net-p2p/bitcoind/metadata.xml
index 651c8b9cb191..722f2a18a376 100644
--- a/net-p2p/bitcoind/metadata.xml
+++ b/net-p2p/bitcoind/metadata.xml
@@ -12,9 +12,7 @@
<use>
<flag name="asm">Enable assembly for optimization</flag>
<flag name="external-signer">Include support for external wallet signer programs</flag>
- <flag name="knots">Build enhanced Bitcoin Knots version, rather than Bitcoin Core</flag>
<flag name="nat-pmp">Enable NAT-PMP port forwarding</flag>
- <flag name="system-leveldb">Use the system-wide <pkg>dev-libs/leveldb</pkg> instead of bundled</flag>
<flag name="systemtap">Enable SystemTAP/DTrace tracing</flag>
<flag name="upnp">Enable Universal Plug and Play</flag>
<flag name="wallet">Enable wallet support</flag>