summaryrefslogtreecommitdiff
path: root/net-p2p/bitcoin-core
diff options
context:
space:
mode:
Diffstat (limited to 'net-p2p/bitcoin-core')
-rw-r--r--net-p2p/bitcoin-core/Manifest4
-rw-r--r--net-p2p/bitcoin-core/bitcoin-core-25.1-r1.ebuild (renamed from net-p2p/bitcoin-core/bitcoin-core-25.1.ebuild)79
-rw-r--r--net-p2p/bitcoin-core/metadata.xml5
3 files changed, 73 insertions, 15 deletions
diff --git a/net-p2p/bitcoin-core/Manifest b/net-p2p/bitcoin-core/Manifest
index 9787b11a50cf..ca83748db539 100644
--- a/net-p2p/bitcoin-core/Manifest
+++ b/net-p2p/bitcoin-core/Manifest
@@ -5,5 +5,5 @@ AUX bitcoind.openrc 2690 BLAKE2B ef44f88f5d03e488ba4793954ff22949fdb293fac64c426
AUX init.patch 1472 BLAKE2B 5974542d0890234ccb2cbbcbe022c45c94e5f0235ebb3b7cee3e2e6d61b9e45d7ec31c2ae7c560d38654fda3b6b7e6c4193b02985fe65502a26cb7bc3641dd8f SHA512 b303fa6adecc0d5aac6a9b78d0ab5d4df797e3af80568a0c08ba2b06296a80b9d5cb7e5b1e9af1fb0c83ad5d6e026fec492dfaee7fba56883325ee64f2b78840
AUX org.bitcoin.bitcoin-qt.desktop 465 BLAKE2B 7ce8818cd967e478e6d41106b7111616b81856ae83db742ee53a28dde203cc6a2230daa562c78e7b59d1014bfe1633b4074685acb404966b2b9649c22c356262 SHA512 4f9e20094a6fb99dc47a799c9fd752d328efa2539aaab2230f9225cb80f8889fa7a28e1277694d04db72f7a052d208d6a208671dd3d0c77a9ec9d7a95169f148
DIST bitcoin-25.1.tar.gz 12498596 BLAKE2B e8e4ea99cb40db420033c4df75e985af93cbb64f9862376e2de1a0731b4aeafbf43a95b33770e882ad77b73e454d48dbd5744902c78ade2b965e3d2d4e4b4656 SHA512 310e5d976a062496d2b99d0e64c4d5d2b536a747901e887f85b75151d94237f0de800163b534c812d390eb5e93b3f7284cd7f71843ec35e891f34634b6b142ab
-EBUILD bitcoin-core-25.1.ebuild 10362 BLAKE2B a7f67d055ac6a301152c560577baa2a0c6778865188dff77e11829a5e8a93b6be52780d4f5c0ea073496245f896442dec8399ffd0ee93e9e0fd91e00df2abc70 SHA512 0bc7582aae46faa7ac4b967d6bbc164246b22416315ce6786b42bcca7dea00f6c4e456c372f430b71cd21afa74eb978eb5112c623af9f1322784f18670cd312c
-MISC metadata.xml 1630 BLAKE2B 0e76ab08d978f6e5f5514806bb7712d3ed2a051c96b94d40fa980ec4f904095c469534a148a54c752fe98128849526ab7a0233bcaaeb1c03c91db171409f762a SHA512 a0be2eb6aeb79995f133d94eae5fef6b700f7150b0a8b3d375e8b34f190ac9993e573256ba9fb9cc7d23401f5f281567f9cf1e64c55b4685cfda059a6c98fdf9
+EBUILD bitcoin-core-25.1-r1.ebuild 12482 BLAKE2B 5205f70e05e80ab89bd617c6046ce6f08e53d3c068a46e7535e25bd04dbb3c53f10609182601beb3093d126f45442b71c8197cd3925af0633136b9c4715fefb7 SHA512 f83c0bf1657e0ff3a84977cc2178e18f08ef9812cc0882a194b91636496fea6021ba6f97b0ea1387baf89e38e4c24d6f44da9d355280b623a25118de64cc0218
+MISC metadata.xml 1711 BLAKE2B c8756ad1f01cde5e3c22cf2b62b3b905248cbd7f6121e77dcd45039163ed3954ce323c5ceb0c863e5394c0ecdf8828a8234ea137c6a350eca8c200bf92897e7d SHA512 fd9ac5a2e636acbddf72fd759a2366efefb178634667ab03a8db8d718169c2bd87b18b742cd62c4951a8230161ba9c19d7b46fa6fcdc96e714f20bf5c495d804
diff --git a/net-p2p/bitcoin-core/bitcoin-core-25.1.ebuild b/net-p2p/bitcoin-core/bitcoin-core-25.1-r1.ebuild
index 7697985bd4d0..4d55cae08417 100644
--- a/net-p2p/bitcoin-core/bitcoin-core-25.1.ebuild
+++ b/net-p2p/bitcoin-core/bitcoin-core-25.1-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools bash-completion-r1 db-use desktop python-any-r1 systemd xdg-utils
+inherit autotools bash-completion-r1 check-reqs db-use desktop edo multiprocessing python-any-r1 systemd xdg-utils
DESCRIPTION="Reference implementation of the Bitcoin cryptocurrency"
HOMEPAGE="https://bitcoincore.org/"
@@ -16,7 +16,7 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
# IUSE="+cli" doesn't work due to https://bugs.gentoo.org/831045#c3
-IUSE="+asm +berkdb +bitcoin-cli +daemon dbus examples +external-signer kde libs +man nat-pmp +qrcode gui +sqlite system-leveldb +system-libsecp256k1 systemtap test upnp zeromq"
+IUSE="+asm +berkdb +bitcoin-cli +daemon dbus examples +external-signer gui kde libs +man nat-pmp +qrcode +sqlite system-leveldb +system-libsecp256k1 systemtap test upnp zeromq"
RESTRICT="!test? ( test )"
REQUIRED_USE="
@@ -39,9 +39,6 @@ RDEPEND="
acct-group/bitcoin
acct-user/bitcoin
)
- libs? ( !<net-libs/libbitcoinconsensus-25.0 )
- nat-pmp? ( >=net-libs/libnatpmp-20220705:= )
- qrcode? ( >=media-gfx/qrencode-4.1.1:= )
gui? (
!<net-p2p/bitcoin-qt-25.0
>=dev-qt/qtcore-5.15.5:5
@@ -50,6 +47,9 @@ RDEPEND="
>=dev-qt/qtwidgets-5.15.5:5
dbus? ( >=dev-qt/qtdbus-5.15.5:5 )
)
+ libs? ( !<net-libs/libbitcoinconsensus-25.0 )
+ nat-pmp? ( >=net-libs/libnatpmp-20220705:= )
+ qrcode? ( >=media-gfx/qrencode-4.1.1:= )
sqlite? ( >=dev-db/sqlite-3.38.5:= )
system-leveldb? ( virtual/bitcoin-leveldb )
system-libsecp256k1? ( >=dev-libs/libsecp256k1-0.3.1:=[recovery,schnorr] )
@@ -95,8 +95,45 @@ PATCHES=(
"${FILESDIR}/init.patch"
)
+efmt() {
+ : ${1:?} ; local l ; while read -r l ; do "${!#}" "${l}" ; done < <(fmt "${@:1:$#-1}")
+}
+
+pkg_pretend() {
+ if ! use daemon && ! use gui && ! has_version "${CATEGORY}/${PN}[-daemon,-gui(-),-qt5(-)]" ; then
+ efmt ewarn <<-EOF
+ You are enabling neither USE="daemon" nor USE="gui". This is a valid
+ configuration, but you will be unable to run a Bitcoin node using this
+ installation.
+ EOF
+ fi
+ if use daemon && ! use bitcoin-cli && ! has_version "${CATEGORY}/${PN}[daemon,-bitcoin-cli]" ; then
+ efmt ewarn <<-EOF
+ You are enabling USE="daemon" but not USE="bitcoin-cli". This is a valid
+ configuration, but you will be unable to interact with your bitcoind node
+ via the command line using this installation.
+ EOF
+ fi
+ if ! use berkdb && ! use sqlite &&
+ { { use daemon && ! has_version "${CATEGORY}/${PN}[daemon,-berkdb,-sqlite]" ; } ||
+ { use gui && ! has_version "${CATEGORY}/${PN}[gui,-berkdb,-sqlite]" ; } ; }
+ then
+ efmt ewarn <<-EOF
+ You are enabling neither USE="berkdb" nor USE="sqlite". This is a valid
+ configuration, but your Bitcoin node will be unable to open any wallets.
+ EOF
+ fi
+
+ # test/functional/feature_pruning.py requires 4 GB disk space
+ # test/functional/wallet_pruning.py requires 1.3 GB disk space
+ use test && CHECKREQS_DISK_BUILD="6G" check-reqs_pkg_pretend
+}
+
pkg_setup() {
- use test && python-any-r1_pkg_setup
+ if use test ; then
+ CHECKREQS_DISK_BUILD="6G" check-reqs_pkg_setup
+ python-any-r1_pkg_setup
+ fi
}
src_prepare() {
@@ -144,9 +181,12 @@ src_configure() {
--enable-util-tx
--${wallet}-util-wallet
--disable-util-util
+ # syscall sandbox is missing faccessat2 and pselect6, causing bitcoind to crash during tests;
+ # removed upstream for 26.0 in https://github.com/bitcoin/bitcoin/commit/32e2ffc39374f61bb2435da507f285459985df9e
+ --without-seccomp
$(use_with libs)
$(use_with daemon)
- $(use_with gui)
+ $(use_with gui gui qt5)
$(use_with dbus qtdbus)
$(use_with system-leveldb)
$(use_with system-libsecp256k1)
@@ -154,6 +194,13 @@ src_configure() {
econf "${myeconfargs[@]}"
}
+src_test() {
+ emake check
+
+ use daemon && edo "${PYTHON}" test/functional/test_runner.py \
+ --ansi --extended --jobs="$(get_makeopts_jobs)" --timeout-factor="${TIMEOUT_FACTOR:-15}"
+}
+
src_install() {
use external-signer && DOCS+=( doc/external-signer.md )
use berkdb || use sqlite && DOCS+=( doc/managing-wallets.md )
@@ -161,6 +208,12 @@ src_install() {
use systemtap && DOCS+=( doc/tracing.md )
use zeromq && DOCS+=( doc/zmq.md )
+ if use daemon ; then
+ # https://bugs.gentoo.org/757102
+ DOCS+=( share/rpcauth/rpcauth.py )
+ docompress -x "/usr/share/doc/${PF}/rpcauth.py"
+ fi
+
default
find "${ED}" -type f -name '*.la' -delete || die
@@ -209,10 +262,6 @@ src_install() {
fi
}
-efmt() {
- : ${1:?} ; local l ; while read -r l ; do "${!#}" "${l}" ; done < <(fmt "${@:1:$#-1}")
-}
-
pkg_preinst() {
if use daemon && [[ -d "${EROOT}/var/lib/bitcoin/.bitcoin" ]] ; then
if [[ -h "${EROOT}/var/lib/bitcoin/.bitcoin" ]] ; then
@@ -254,6 +303,14 @@ pkg_postinst() {
- Running bitcoind directly: add that user to the 'tor' user group.
EOF
fi
+
+ if use bitcoin-cli && use daemon ; then
+ efmt -su elog <<-EOF
+ To use bitcoin-cli with the /etc/init.d/bitcoind service:
+ - Add your user(s) to the 'bitcoin' group.
+ - Symlink ~/.bitcoin to /var/lib/bitcoind.
+ EOF
+ fi
}
pkg_postrm() {
diff --git a/net-p2p/bitcoin-core/metadata.xml b/net-p2p/bitcoin-core/metadata.xml
index c5c7717fa5e5..6e6d7e4563b0 100644
--- a/net-p2p/bitcoin-core/metadata.xml
+++ b/net-p2p/bitcoin-core/metadata.xml
@@ -15,12 +15,13 @@
<flag name="bitcoin-cli">Build and install bitcoin-cli command line interface</flag>
<flag name="daemon">Build and install bitcoind daemon</flag>
<flag name="external-signer">Include support for external wallet signer programs</flag>
+ <flag name="gui">Build and install Bitcoin-Qt GUI</flag>
<flag name="libs">Build and install libbitcoinconsensus</flag>
<flag name="nat-pmp">Enable NAT-PMP port forwarding</flag>
<flag name="qrcode">Enable generation of QR Codes for receiving payments</flag>
<flag name="sqlite">Support descriptor wallets in SQLite format</flag>
- <flag name="system-leveldb">Link with virtual/bitcoin-leveldb rather than embedding an internal copy</flag>
- <flag name="system-libsecp256k1">Link with dev-libs/libsecp256k1 rather than embedding an internal copy</flag>
+ <flag name="system-leveldb">Link with <pkg>virtual/bitcoin-leveldb</pkg> rather than embedding an internal copy</flag>
+ <flag name="system-libsecp256k1">Link with <pkg>dev-libs/libsecp256k1</pkg> rather than embedding an internal copy</flag>
<flag name="systemtap">Enable SystemTAP/DTrace tracing</flag>
<flag name="upnp">Enable Universal Plug and Play</flag>
<flag name="zeromq">Report blocks and transactions via zeromq</flag>