net-p2p/bitcoind: Bump to 22.0

Signed-off-by: Luke Dashjr <luke-jr+git@utopios.org>
Signed-off-by: Florian Schmaus <flow@gentoo.org>
This commit is contained in:
Luke Dashjr
2021-12-17 04:15:13 +00:00
committed by Florian Schmaus
parent 6a1276e71f
commit a39ac2c8ac
3 changed files with 210 additions and 0 deletions

View File

@@ -1,4 +1,6 @@
DIST bitcoin-0.21.0.knots20210130.patches.tar.xz 505040 BLAKE2B c8999de4158b8781bba6ad014ae14859f1e0bab3080c59a18910cf7447eb56da4b17a0e1843fdd3669d22636df9e4ddcc4526e4293bfd86dc884983a29a5f76c SHA512 7ee27da3d26be0e93ecddff7bb21ef1746bcdb07f9a2b0ea48065367b4c44391e974e04a21e511c05fca8f55971ab8e3c3ac01a3775cc52a537d9e10966d9871
DIST bitcoin-0.21.1.knots20210629.patches.tar.xz 623916 BLAKE2B c6b669270b7f9718c8452a1c28280b6005edee299a3ab8d754dbf722d021576871ddce200342bf157dd5158c058686aa3dde913970779d8c2e560b8df772821c SHA512 ba058554453efc7ad036b8cc945ba403a6bd4e30dae0fbcee7fbe2f0ce90854a867fe49b0522595c081930d406bdf56987982f403fc8299b3c776eea4672abae
DIST bitcoin-22.0.knots20211108.patches.tar.xz 1318256 BLAKE2B d6e56bc0ca1d706e99e7f42d8f335f016335b6bf3637c733d993696872f0a4c655cc58fc0394dfdf9916e13f0d7fbdcebf25fbdc9a165227e3c59133033644c0 SHA512 daab5860b7c7e137b6bf350cdc153e6e19172e49935640d1f6fe1f1be1e4df805b1db7fd30b0f95a560106956adab70cc6282fe933ae9de153cb971dd280f83d
DIST bitcoin-v0.21.0.tar.gz 7533957 BLAKE2B 01247cbb9fca2381a8c08ab1c88c479c640963caef22e4207aab46b05813dbf2a5286ac9e98132fb34db0e9ac6c18c79e45a89de166f5c6d480d8ac6e14ecca2 SHA512 c58187996932b0151432a65885b7e8a7b216fb1ab0576fb7d4b5e9620d957594b05e181153e2e0e50bcd5ce764861ec11019ffbb1095d3e704f441e61ac6a04f
DIST bitcoin-v0.21.1.tar.gz 7635092 BLAKE2B 83610537c3cf6a11a1f59b92085b7a99fb22013ead1c6dce0c8f3182b69b11be6801f1f3b35bf31d72cfc15c76b6a69f1e6f3b754ff179565c0a687d16a35a48 SHA512 648739df8f360609d7b562e0bbfb3ab852eb6c538aa33ef56f71e7652ee766648ee8782aadeed1def1f2174d3330bbbdf9b1eee5090ca292e8d4a46c1b7f5c46
DIST bitcoin-v22.0.tar.gz 7977783 BLAKE2B ba212037bc8efcfbbbf6340c48ed886c4a5aa93e4a34097eafea39734a6f4e25fa6b174f894655f63c504380d8761657771795bfcc641018bf1f1661deef9321 SHA512 1b4b17360e97f390ae678adb7a239c359d3a1288799710683e26f09fc53341b6fca3211465fa3e4fdee37324d85ec1a31ffd1a3714e969df13441f755fa4b7ad

View File

@@ -0,0 +1,205 @@
# Copyright 1999-2021 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/22.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-1.64.0:=[threads(+)]
dev-libs/libevent:=
>dev-libs/libsecp256k1-0.1_pre20200911:=[recovery,schnorr]
>=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."
}

View File

@@ -11,8 +11,11 @@
</maintainer>
<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 dev-libs/leveldb 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>
<flag name="zeromq">Report blocks and transactions via zeromq</flag>