commit: 97ae9fec512f106876f53286b153de15266e0949 Author: Matt Whitlock <gentoo <AT> mattwhitlock <DOT> name> AuthorDate: Sat Apr 12 14:22:20 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sun Apr 20 08:11:30 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=97ae9fec
net-p2p/bitcoin-core: bump to 29.0 * switch to CMake build system * add IUSE="asm" to toggle building libsecp256k1 with assembly optimizations * apply upstream patch to build GUI against Qt 6 * remove blockers from DEPEND * drop IUSE="man"; force installing of man pages per Gentoo policy * drop IUSE="kde"; omit unneeded KIO .protocol file * add USE="qrcode" to profiles/targets/desktop/packages.use See: https://github.com/gentoo/gentoo/pull/41395 See: https://github.com/bitcoin/bitcoin/releases/tag/v29.0 Signed-off-by: Matt Whitlock <gentoo <AT> mattwhitlock.name> Closes: https://github.com/gentoo/gentoo/pull/41558 Signed-off-by: Sam James <sam <AT> gentoo.org> net-p2p/bitcoin-core/Manifest | 3 +- ...re-29.0_rc2.ebuild => bitcoin-core-29.0.ebuild} | 40 ++++++++-------------- profiles/arch/amd64/package.use | 3 +- profiles/arch/amd64/package.use.mask | 2 ++ profiles/arch/arm/package.use.mask | 2 ++ profiles/arch/base/package.use.mask | 2 ++ profiles/targets/desktop/package.use | 6 ++++ 7 files changed, 31 insertions(+), 27 deletions(-) diff --git a/net-p2p/bitcoin-core/Manifest b/net-p2p/bitcoin-core/Manifest index b3d48f6bcca4..71162880c567 100644 --- a/net-p2p/bitcoin-core/Manifest +++ b/net-p2p/bitcoin-core/Manifest @@ -1,2 +1,3 @@ DIST bitcoin-core-28.1.tar.gz 12601466 BLAKE2B f6dd3c269b0e132798b3bea96a122a89b95e7544f01fd3401bfc2fd1ef11fc847a3570f8d5c0339778df0a3ecf17cf49af4148c2f68d7719d6f85ac2688e9d3c SHA512 859c5f0b2f927969766d3ebde64173469e5810694ba317629fac64c66311d847698ae093dbf585e327cf4e75983b722ff45a23ed3fe6f1f13752db4cf6846aa9 -DIST bitcoin-core-29.0_rc2.tar.gz 12927429 BLAKE2B 4d207fd7992f10804a45ef5890a35937875c95c9c202701a6dceed5addaa307d9a0f54fd749d6cc0780cdbcabed21a3742e02b58e14dd7dbc40ac2e45fff2276 SHA512 8896eaa0ee6199b5193d68339567cfa774e336506bc18153db1b57c589f4dff71a680a3a1a10781bfc496656c7ec3cb1d4510fa9fbea1cec57ea2d7be5b598c0 +DIST bitcoin-core-29.0-qt6.patch 16090 BLAKE2B cfa30f07cb9aad43092598d9b7ab45062b41e5c68836e81199f9d5fc32531239b7dffa9680370808e02953d76c6001f79c2f2558def101c0195e97d8bd978e49 SHA512 f8e79a7a90e423a649baccbd89dc4bbaa6f40e4b327ace5a44b183ac363281c5e6e263406daff6f390af4e202c98bff115511ac3a334bcd81af42af6e97e5f24 +DIST bitcoin-core-29.0.tar.gz 12931219 BLAKE2B ee4a9b67ceb3e7a1851f844a090a099267798f83fbeb4fb76e0dd30ec24ce3fb967ab032179492cb8c02f0e470b3c2546ad589f940487bb0a0cc4d469bf3e1f9 SHA512 1373348fff7ac978fd28a8e29eda9ba9af745f947153a2c6c099b1e997d0d55611627f4c5299e350be3a9b555406da6bf056d2c5f6c123077e2872f5db7b3459 diff --git a/net-p2p/bitcoin-core/bitcoin-core-29.0_rc2.ebuild b/net-p2p/bitcoin-core/bitcoin-core-29.0.ebuild similarity index 94% rename from net-p2p/bitcoin-core/bitcoin-core-29.0_rc2.ebuild rename to net-p2p/bitcoin-core/bitcoin-core-29.0.ebuild index e4a12af72175..beb2264add1e 100644 --- a/net-p2p/bitcoin-core/bitcoin-core-29.0_rc2.ebuild +++ b/net-p2p/bitcoin-core/bitcoin-core-29.0.ebuild @@ -11,6 +11,7 @@ DESCRIPTION="Reference implementation of the Bitcoin cryptocurrency" HOMEPAGE="https://bitcoincore.org/" SRC_URI=" https://github.com/bitcoin/bitcoin/archive/v${PV/_rc/rc}.tar.gz -> ${P}.tar.gz + https://github.com/bitcoin/bitcoin/pull/30997/commits/f9472962d1cdf58bfc1ad64c4bb44ddf5d0b4db2.patch?full_index=1 -> ${PN}-29.0-qt6.patch " S="${WORKDIR}/${PN/-core}-${PV/_rc/rc}" @@ -19,44 +20,42 @@ SLOT="0" if [[ "${PV}" != *_rc* ]] ; then KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" fi -IUSE="+asm +berkdb +cli +daemon dbus examples +external-signer gui kde +man +qrcode +sqlite +system-libsecp256k1 systemtap test test-full zeromq" +IUSE="asm +berkdb +cli +daemon dbus examples +external-signer gui qrcode +sqlite +system-libsecp256k1 systemtap test test-full zeromq" RESTRICT="!test? ( test )" REQUIRED_USE=" dbus? ( gui ) - kde? ( gui ) qrcode? ( gui ) test-full? ( test ) " # 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=" - !dev-util/bitcoin-tx +COMMON_DEPEND=" >=dev-libs/boost-1.81.0:= >=dev-libs/libevent-2.1.12:= berkdb? ( >=sys-libs/db-4.8.30:$(db_ver_to_slot 4.8)=[cxx] ) - cli? ( !net-p2p/bitcoin-cli ) daemon? ( - !net-p2p/bitcoind acct-group/bitcoin acct-user/bitcoin ) gui? ( - !net-p2p/bitcoin-qt - >=dev-qt/qtcore-5.15.16:5 - >=dev-qt/qtgui-5.15.16:5 - >=dev-qt/qtnetwork-5.15.16:5 - >=dev-qt/qtwidgets-5.15.16:5 - dbus? ( >=dev-qt/qtdbus-5.15.16:5 ) + >=dev-qt/qtbase-6.2:6[dbus?,gui,network,widgets] ) qrcode? ( >=media-gfx/qrencode-4.1.1:= ) sqlite? ( >=dev-db/sqlite-3.38.5:= ) system-libsecp256k1? ( >=dev-libs/libsecp256k1-0.6.0:=[asm=,ellswift,extrakeys,recovery,schnorr] ) zeromq? ( >=net-libs/zeromq-4.3.4:= ) " +RDEPEND=" + ${COMMON_DEPEND} + !dev-util/bitcoin-tx + cli? ( !net-p2p/bitcoin-cli ) + daemon? ( !net-p2p/bitcoind ) + gui? ( !net-p2p/bitcoin-qt ) +" DEPEND=" - ${RDEPEND} + ${COMMON_DEPEND} systemtap? ( >=dev-debug/systemtap-4.8 ) " BDEPEND=" @@ -66,10 +65,9 @@ BDEPEND=" acct-group/bitcoin acct-user/bitcoin ) - gui? ( >=dev-qt/linguist-tools-5.15.16:5 ) + gui? ( >=dev-qt/qttools-6.2:6[linguist] ) test? ( ${PYTHON_DEPS} - gui? ( >=dev-qt/qttest-5.15.16:5 ) ) " IDEPEND=" @@ -94,6 +92,7 @@ DOCS=( ) PATCHES=( + "${DISTDIR}/${PN}-29.0-qt6.patch" "${FILESDIR}/29.0-cmake-syslibs.patch" "${FILESDIR}/26.0-init.patch" ) @@ -155,6 +154,7 @@ src_prepare() { src_configure() { local wallet ; if use berkdb || use sqlite ; then wallet=ON ; else wallet=OFF ; fi local mycmakeargs=( + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON -DBUILD_SHARED_LIBS=ON -DENABLE_WALLET=${wallet} -DWITH_SQLITE=$(usex sqlite) @@ -166,7 +166,6 @@ src_configure() { -DWITH_QRENCODE=$(usex qrcode) -DWITH_CCACHE=OFF -DWITH_ZMQ=$(usex zeromq) - -DINSTALL_MAN=$(usex man) -DENABLE_EXTERNAL_SIGNER=$(usex external-signer) -DBUILD_CLI=$(usex cli) -DBUILD_TX=ON @@ -252,11 +251,6 @@ src_install() { newins src/qt/res/src/bitcoin.svg bitcoin128.svg domenu "${FILESDIR}/org.bitcoin.bitcoin-qt.desktop" - - if use kde ; then - insinto /usr/share/kservices5 - doins "${FILESDIR}/bitcoin-qt.protocol" - fi fi if use examples ; then @@ -285,10 +279,6 @@ pkg_preinst() { dosym -r /var/lib/bitcoin{/.bitcoin,d} fi fi - - if use kde && [[ -d "${EROOT}/usr/share/kde4" ]] ; then - dosym -r /usr/share/{kservices5,kde4/services}/bitcoin-qt.protocol - fi } pkg_postinst() { diff --git a/profiles/arch/amd64/package.use b/profiles/arch/amd64/package.use index eb73ee985cec..4d23f6bdab88 100644 --- a/profiles/arch/amd64/package.use +++ b/profiles/arch/amd64/package.use @@ -1,10 +1,11 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Matt Whitlock <[email protected]> (2024-11-06) # Assembly optimization is experimental except on amd64, so we leave it # disabled by default on all other arches. Bug #941226 dev-libs/libsecp256k1 asm +net-p2p/bitcoin-core asm # Michał Górny <[email protected]> (2024-09-04) # Build with debugging support by default to facilitate dev-debug/dtrace diff --git a/profiles/arch/amd64/package.use.mask b/profiles/arch/amd64/package.use.mask index 7d7aae672e9b..6dccd5a05794 100644 --- a/profiles/arch/amd64/package.use.mask +++ b/profiles/arch/amd64/package.use.mask @@ -432,8 +432,10 @@ app-admin/rsyslog -imhttp -mdblookup dev-lang/ocaml -spacetime # Luke Dashjr <[email protected]> (2017-01-04) +# Matt Whitlock <[email protected]> (2025-04-12) # Assembly optimisations are supported on amd64 for all versions dev-libs/libsecp256k1 -asm +net-p2p/bitcoin-core -asm # Andreas Sturmlechner <[email protected]> (2016-12-31) # on behalf of Andreas K. Hüttel <[email protected]> (2016-12-14) diff --git a/profiles/arch/arm/package.use.mask b/profiles/arch/arm/package.use.mask index 481c9b17863f..50965ff81fd9 100644 --- a/profiles/arch/arm/package.use.mask +++ b/profiles/arch/arm/package.use.mask @@ -339,8 +339,10 @@ app-metrics/collectd -collectd_plugins_mqtt sys-cluster/openmpi openmpi_fabrics_knem openmpi_fabrics_ofed openmpi_rm_pbs openmpi_ofed_features_rdmacm openmpi_ofed_features_control-hdr-padding openmpi_ofed_features_udcm openmpi_ofed_features_dynamic-sl # Luke Dashjr <[email protected]> (2017-01-04) +# Matt Whitlock <[email protected]> (2025-04-12) # Assembly optimisations are supported on arm since 0.0.0_pre20161213 dev-libs/libsecp256k1 -asm +net-p2p/bitcoin-core -asm # James Le Cuirot <[email protected]> (2016-12-14) # DOSBox + OpenGLide is untested on this arch. diff --git a/profiles/arch/base/package.use.mask b/profiles/arch/base/package.use.mask index 6f6350d35736..bf117c729534 100644 --- a/profiles/arch/base/package.use.mask +++ b/profiles/arch/base/package.use.mask @@ -402,8 +402,10 @@ app-admin/rsyslog imhttp mdblookup dev-lang/ocaml spacetime # Luke Dashjr <[email protected]> (2017-01-04) +# Matt Whitlock <[email protected]> (2025-04-12) # Mask assembly optimisations that are platform-specific dev-libs/libsecp256k1 asm +net-p2p/bitcoin-core asm # Ettore Di Giacinto <[email protected]> (2016-10-18) # Enable gambit and scm only on supported arches diff --git a/profiles/targets/desktop/package.use b/profiles/targets/desktop/package.use index 82b89cf299d4..19128617041d 100644 --- a/profiles/targets/desktop/package.use +++ b/profiles/targets/desktop/package.use @@ -1,6 +1,12 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Matt Whitlock <[email protected]> (2025-04-03) +# Desktop users will probably want QR code scanning in Bitcoin-Qt, but +# enabling USE=qrcode by default in the ebuild requires also enabling +# USE=gui, which pulls in Qt that is likely not wanted on servers. +net-p2p/bitcoin-core qrcode + # Filip Kobierski <[email protected]> (2025-02-27) # Most desktop users will get doxygen because a USE=doc dep. # With USE=gui, which is the default for this profile, it pulls in
