diff options
Diffstat (limited to 'net-p2p')
-rw-r--r-- | net-p2p/bitcoind/Manifest | 2 | ||||
-rw-r--r-- | net-p2p/bitcoind/bitcoind-21.2.ebuild | 189 |
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." +} |