Diff bitcoind-22.0-r1 with a bitcoind-24.0.1

/usr/portage/net-p2p/bitcoind/bitcoind-24.0.1.ebuild 2023-10-09 14:52:34.736368482 +0300
1 1
# Copyright 1999-2023 Gentoo Authors
2 2
# Distributed under the terms of the GNU General Public License v2
3 3

  
4
EAPI=7
4
EAPI=8
5 5

  
6 6
DB_VER="4.8"
7
inherit autotools bash-completion-r1 db-use systemd flag-o-matic
8

  
9
BITCOINCORE_COMMITHASH="a0988140b71485ad12c3c3a4a9573f7c21b1eff8"
10
KNOTS_PV="${PV}.knots20211108"
11
KNOTS_P="bitcoin-${KNOTS_PV}"
7
inherit autotools bash-completion-r1 db-use systemd
12 8

  
13 9
DESCRIPTION="Original Bitcoin crypto-currency wallet for automated services"
14
HOMEPAGE="https://bitcoincore.org/ https://bitcoinknots.org/"
10
HOMEPAGE="https://bitcoincore.org/"
15 11
SRC_URI="
16
	https://github.com/bitcoin/bitcoin/archive/${BITCOINCORE_COMMITHASH}.tar.gz -> bitcoin-v${PV}.tar.gz
17
	https://bitcoinknots.org/files/$(ver_cut 1).x/${KNOTS_PV}/${KNOTS_P}.patches.txz -> ${KNOTS_P}.patches.tar.xz
12
	https://bitcoincore.org/bin/bitcoin-core-${PV}/${P/d}.tar.gz
18 13
"
14
S="${WORKDIR}"/${P/d}
19 15

  
20 16
LICENSE="MIT"
21 17
SLOT="0"
22
KEYWORDS="amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
23
IUSE="+asm +berkdb examples +external-signer knots nat-pmp sqlite systemtap test upnp +wallet zeromq"
18
KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
19
IUSE="+asm +berkdb examples +external-signer nat-pmp sqlite systemtap test upnp +wallet zeromq"
24 20
RESTRICT="!test? ( test )"
25 21

  
26 22
REQUIRED_USE="
......
28 24
	berkdb? ( wallet )
29 25
	wallet? ( || ( berkdb sqlite ) )
30 26
"
27
# dev-libs/univalue is now bundled as upstream dropped support for system copy
28
# and their version in the Bitcoin repo has deviated a fair bit from upstream.
29
# Upstream also seems very inactive.
31 30
RDEPEND="
32 31
	acct-group/bitcoin
33 32
	acct-user/bitcoin
34 33
	dev-libs/boost:=
35 34
	dev-libs/libevent:=
36
	>dev-libs/libsecp256k1-0.1_pre20200911:0/0[recovery,schnorr]
37
	!>=dev-libs/libsecp256k1-0.1_pre20210628
35
	>=dev-libs/libsecp256k1-0.2.0:=[recovery,schnorr]
38 36
	>=dev-libs/univalue-1.0.4:=
39
	nat-pmp? ( net-libs/libnatpmp )
40 37
	virtual/bitcoin-leveldb
38
	nat-pmp? ( net-libs/libnatpmp )
41 39
	sqlite? ( >=dev-db/sqlite-3.7.17:= )
42 40
	upnp? ( >=net-libs/miniupnpc-1.9.20150916:= )
43 41
	berkdb? ( sys-libs/db:$(db_ver_to_slot "${DB_VER}")=[cxx] )
44 42
	zeromq? ( net-libs/zeromq:= )
45 43
"
46
DEPEND="${RDEPEND}
44
DEPEND="
45
	${RDEPEND}
47 46
	systemtap? ( dev-util/systemtap )
48 47
"
49
BDEPEND="
50
	>=sys-devel/automake-1.13
51
	|| ( >=sys-devel/gcc-7[cxx] >=sys-devel/clang-5 )
52
"
53 48

  
54 49
DOCS=(
55 50
	doc/bips.md
......
65 60
	doc/tor.md
66 61
)
67 62

  
68
S="${WORKDIR}/bitcoin-${BITCOINCORE_COMMITHASH}"
63
PATCHES=(
64
	"${FILESDIR}"/24.0.1-syslibs.patch
65
	"${FILESDIR}"/24.0.1-gcc13.patch
66
)
69 67

  
70 68
pkg_pretend() {
71
	if use knots; then
72
		elog "You are building ${PN} from Bitcoin Knots."
73
		elog "For more information, see:"
74
		elog "https://bitcoinknots.org/files/22.x/${KNOTS_PV}/${KNOTS_P}.desc.html"
75
	else
76
		elog "You are building ${PN} from Bitcoin Core."
77
		elog "For more information, see:"
78
		elog "https://bitcoincore.org/en/2021/09/13/release-${PV}/"
79
	fi
80
	elog
81
	elog "Replace By Fee policy is now always enabled by default: Your node will"
82
	elog "preferentially mine and relay transactions paying the highest fee, regardless"
83
	if use knots; then
84
		elog "of receive order. To disable RBF, set mempoolreplacement=never in bitcoin.conf"
85
	else  # Bitcoin Core doesn't support disabling RBF anymore
86
		elog "of receive order. To disable RBF, rebuild with USE=knots to get ${PN}"
87
		elog "from Bitcoin Knots, and set mempoolreplacement=never in bitcoin.conf"
88
	fi
89
	if has_version "<${CATEGORY}/${PN}-0.21.1" ; then
90
		ewarn "CAUTION: BITCOIN PROTOCOL CHANGE INCLUDED"
91
		ewarn "This release adds enforcement of the Taproot protocol change to the Bitcoin"
92
		ewarn "rules, beginning in November. Protocol changes require user consent to be"
93
		ewarn "effective, and if enforced inconsistently within the community may compromise"
94
		ewarn "your security or others! If you do not know what you are doing, learn more"
95
		ewarn "before November. (You must make a decision either way - simply not upgrading"
96
		ewarn "is insecure in all scenarios.)"
97
		ewarn "To learn more, see https://bitcointaproot.cc"
98
	fi
99

  
100
	if [[ ${MERGE_TYPE} != "binary" ]] ; then
101
		if ! test-flag-CXX -std=c++17 ; then
102
			die "Building ${CATEGORY}/${P} requires at least GCC 7 or Clang 5"
103
		fi
104
	fi
69
	elog "You are building ${PN} from Bitcoin Core."
70
	elog "For more information, see:"
71
	elog "https://bitcoincore.org/en/releases/${PV}/"
105 72
}
106 73

  
107 74
src_prepare() {
108 75
	sed -i 's/^\(complete -F _bitcoind bitcoind\) bitcoin-qt$/\1/' contrib/${PN}.bash-completion || die
109 76

  
110
	local knots_patchdir="${WORKDIR}/${KNOTS_P}.patches/"
111

  
112
	eapply "${knots_patchdir}/${KNOTS_P}_p1-syslibs.patch"
113

  
114
	if use knots; then
115
		eapply "${knots_patchdir}/${KNOTS_P}_p2-fixes.patch"
116
		eapply "${knots_patchdir}/${KNOTS_P}_p3-features.patch"
117
		eapply "${knots_patchdir}/${KNOTS_P}_p4-branding.patch"
118
		eapply "${knots_patchdir}/${KNOTS_P}_p5-ts.patch"
119
	fi
120

  
121 77
	default
122 78

  
123 79
	eautoreconf
80

  
124 81
	rm -r src/leveldb src/secp256k1 || die
125 82
}
126 83

  
127 84
src_configure() {
128
	local my_econf=(
85
	local myeconfargs=(
129 86
		$(use_enable asm)
130 87
		--without-qtdbus
131 88
		$(use_enable systemtap ebpf)
......
154 111
		$(use_with sqlite)
155 112
		--with-system-leveldb
156 113
		--with-system-libsecp256k1
157
		--with-system-univalue
158 114
	)
159
	econf "${my_econf[@]}"
115

  
116
	econf "${myeconfargs[@]}"
160 117
}
161 118

  
162 119
src_install() {
Thank you!