summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Dashjr <luke-jr+git@utopios.org>2021-12-17 17:23:05 +0000
committerJoonas Niilola <juippis@gentoo.org>2022-01-15 10:29:54 +0200
commit2ed390d01504587c6d697182737ca7893083b73c (patch)
treef5b74d9385eced018029a8caed72e6fce0316101 /net-p2p
parentnet-p2p/bitcoin-qt: Bump to 21.2 (diff)
downloadgentoo-2ed390d01504587c6d697182737ca7893083b73c.tar.gz
gentoo-2ed390d01504587c6d697182737ca7893083b73c.tar.bz2
gentoo-2ed390d01504587c6d697182737ca7893083b73c.zip
net-p2p/bitcoind: Bump to 21.2
Signed-off-by: Luke Dashjr <luke-jr+git@utopios.org> Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'net-p2p')
-rw-r--r--net-p2p/bitcoind/Manifest2
-rw-r--r--net-p2p/bitcoind/bitcoind-21.2.ebuild189
2 files changed, 191 insertions, 0 deletions
diff --git a/net-p2p/bitcoind/Manifest b/net-p2p/bitcoind/Manifest
index cb64d464461b..618781a9c4d8 100644
--- a/net-p2p/bitcoind/Manifest
+++ b/net-p2p/bitcoind/Manifest
@@ -1,6 +1,8 @@
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-21.2.knots20210629.patches.tar.xz 711680 BLAKE2B da49c6ab075b2478482daeafefcad507f12718e4ed2af847e64aa30ff0839876b9a5b68bc53f2327c9e18df51870d50f7e7d6b2215d5fde1d147567d9d60ffa5 SHA512 e0386f2712053475548c3d7fa927117d1fefa27d447c1398bec152e601a9be0af7a1b03f83f5345b03af252b372091548ce75075f42e4831f4e85f622531962b
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-v0.21.2.tar.gz 7768110 BLAKE2B fe8616235caba29ebf3a36d1a8484d5d534db0f7a6486822e88f8322eb9b7220b1c7539feee5b9486129eb97d5a6810b8542e627a6bf3451094821f56cd8d9f8 SHA512 4b3554b0f4a5f68d42a9bec273558098239c5b8be35248d1957d00076a8c57bf3d6cfb7af57b7340b0df7aea49c9bf2607a58cbb1573482527be4bd6da812dc0
DIST bitcoin-v22.0.tar.gz 7977783 BLAKE2B ba212037bc8efcfbbbf6340c48ed886c4a5aa93e4a34097eafea39734a6f4e25fa6b174f894655f63c504380d8761657771795bfcc641018bf1f1661deef9321 SHA512 1b4b17360e97f390ae678adb7a239c359d3a1288799710683e26f09fc53341b6fca3211465fa3e4fdee37324d85ec1a31ffd1a3714e969df13441f755fa4b7ad
diff --git a/net-p2p/bitcoind/bitcoind-21.2.ebuild b/net-p2p/bitcoind/bitcoind-21.2.ebuild
new file mode 100644
index 000000000000..74fa8ac4bda4
--- /dev/null
+++ b/net-p2p/bitcoind/bitcoind-21.2.ebuild
@@ -0,0 +1,189 @@
+# Copyright 1999-2022 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="af591f2068d0363c92d9756ca39c43db85e5804c"
+KNOTS_PV="${PV}.knots20210629"
+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-v0.${PV}.tar.gz
+ https://bitcoinknots.org/files/21.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 knots sqlite test upnp +wallet zeromq"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ sqlite? ( wallet )
+ berkdb? ( wallet )
+ wallet? ( || ( berkdb sqlite ) )
+"
+DEPEND="
+ acct-group/bitcoin
+ acct-user/bitcoin
+ >=dev-libs/boost-1.68.0:=[threads(+)]
+ dev-libs/libevent:=
+ >dev-libs/libsecp256k1-0.1_pre20200911:=[recovery,schnorr]
+ >=dev-libs/univalue-1.0.4:=
+ 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:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ >=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-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/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/09/29/release-0.${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
+}
+
+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
+ --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 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."
+}