Backports:
Fixes #31009.
Nix patches cmake to remove the root directory `/` from
`CMAKE_SYSTEM_PREFIX_PATH`:
https://github.com/NixOS/nixpkgs/blob/428b49b28ebc8938a6d9f6c540d32d7a06713972/pkgs/by-name/cm/cmake/001-search-path.diff#L10
Without this, and when using the toolchain for depends builds, cmake's
`find_path()` and `find_package()` do not know where to find
dependencies, causing issues like:
https://github.com/bitcoin/bitcoin/issues/32428
Adding this path back via CMAKE_PREFIX_PATH is harmless on other
systems, and fixes the toolchain for Nix users.
We append the `/` dir a maximum of once, as the toolchain may be called
repeatedly during builds.
Co-authored-by: Russell Yanofsky <russ@yanofsky.org>
Co-authored-by: josibake <josibake@protonmail.com>
Github-Pull: #32798
Rebased-From: e27a94596f2a1f5e04722a16165717cc6e891d36
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--006a51241073e994b41acfe9ec718e94-->
For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/32810.
<!--021abf342d371248e50ceaed478a90ca-->
See the guideline for information on the review process.
| Type | Reviewers |
|---|---|
| ACK | pinheadmz, hebasto, willcl-ark |
| Stale ACK | josibake |
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
<!--5faf32d7da4f0f540f40219e4f7537a3-->
Possible typos and grammar issues:
No other typos were found.
<sup>drahtbot_id_4_m</sup>
The catchup loop in the outbound eviction functional test currently has
a small flaw, as the contained waiting for a `getheaders` message just
waits for any such message instead of one with the intended block hash.
The reason is that the `prev_prev_hash` variable is set incorrectly,
since the `tip_header` instance is not updated and its field `.hash` is
None. Fix that by updating `tip_header` and use the correct field -- we
want the tip header's previous hash (`.hashPrevBlock`).
Github-Pull: #32742
Rebased-From: dd8447f70faf6419b4617da3c1b57098e9cd66a6
According to the CMake documentation, `HINTS` "should be paths computed
by system introspection, such as a hint provided by the location of
another item already found", which is precisely the case in the
`FindQRencode` module.
Entries in `HINTS` are searched before those in `PATHS`. On macOS,
Homebrew’s `libqrencode` will therefore be located at its real path
rather than via the symlink in the default prefix.
Github-Pull: #32805
Rebased-From: ead44687483e9c936ba970de890c01d5e7ad3485
On macOS, this change ensures that the Boost package is located at its
real path rather than via the symlink in the default prefix.
Github-Pull: #32814
Rebased-From: 8800b5acc1ef7abe6c5260ae0be5386b1d593a19
Tested on M4 macOS 15.5 that with 5987c1b6abaefad61d8d2cca605349354432398a having qt5 and qt6 (qt@5 and qt via Homebrew) leads to the issues described in #31009, but with fe8034b09c53f49d02b54f4e55cfe11bbd113fed it's happy.
Will test on Intel later.
The fix also works on Intel with macOS 13.7.6
ACK fe8034b09c53f49d02b54f4e55cfe11bbd113fed. I've backported all mentioned PRs locally and got zero diff with this branch.
32-bit architecture is limited to 4GiB, so it doesn't make sense to set a too high value. 500 MB is
chosen as an arbitrary maximum value that seems reasonable.
Github-Pull: #32530
Rebased-From: 2c43b6adebbfabb3c8dd82fe821ce0a5d6173b3b
32-bit architecture is limited to 4GiB, so it doesn't make sense to set a too
high value. Since this setting is performance critical, pick an arbitrary value
higher than for -maxmempool but still reasonable.
Github-Pull: #32530
Rebased-From: 9f8e7b0b3b787b873045a4a8194e77d0b0a2b3b6
Github-Pull: #32833
Rebased-From: 7dc43ea503a2c145ffd4fe14b794300bfc2bcdee
#น้à¸à¸¡à¸£à¸±à¸š
ACK ef2a013e31cf6fbded5735a998b4c992c176493d
Build on macos/arm64 after experiencing issues locally building a checked-out v29.0 GUI with only qt 6 installed. Can confirm these backports solve that problem and GUI runs fine. Did not test the other backports.
<details><summary>Show Signature</summary>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
ACK ef2a013e31cf6fbded5735a998b4c992c176493d
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEE5hdzzW4BBA4vG9eM5+KYS2KJyToFAmhli/0ACgkQ5+KYS2KJ
yTruOxAAm8c/A9GC5xv2ZIHK+F8sCXyDLzXKm0OHHRGXVoalows6vtRbCx6hdS17
UhZFQA+McBLeLz/O3D5wtUROXafXSQ3qveZKjiwJWsi2gve/iK3DF2V9kX8B7YW4
63Oyje5vV+d8xa9UfyzMymWxYU6E9OORp5fjJM6hjudOhKABgaOIet0vF/mpqZL8
IATlFjQ27pFlyzZ0yZWrB8i6IZjrFuBaIM2fWX4Msr8te56h64s0Zp6TRJbOX9r6
ViXnw3N75Zp6zOwW9qa5i24M4Zo+mLYWup1jUhjE0IxibwnFT6/QVbdvl8Q1Vx/R
t8xkxmZr4W+gCBoTkrDJCDb6N5xvWK9N6j70g6VykY7p2pOTbCxmnOYtDovGH+xl
F/StVeqRwwzuH7ys5xw5LBWaWp9M8v0j2gDO4sXK+KZ6UJMEYJmTV7h3iUhGvL2U
QE6vCE8Gbq3DJN+mn5tHPqKYn5Ecr86Wt3CElquGvzS4jtHnhqq1KB8h7UmZQjvg
xNJhibtWa7nao+74/wWo7xiU6/MRgC9/URO/TaSu/2Z10i2U0jJE4w7WpbfOkWQT
r0B55rOV/P2nBQj0Su1s5ltLiuy5PZAfbswoI64Nz9ZgPQIgjff9lent61jXFgNo
TTIC7OOz8+8sL73nXRBqV9n6rCVS1h1Hr0YQcgAumqbU1Td5KfY=
=aEyl
-----END PGP SIGNATURE-----
pinheadmz's public key is on openpgp.org
</details>
re-ACK ef2a013e31cf6fbded5735a998b4c992c176493d.
Missed credits to @darosior and @ryanofsky?
ACK ef2a013e31cf6fbded5735a998b4c992c176493d
...modulo hebasto's comments.
Backports all look correct.
There's going to be another branch, so any credits can be fixed up there.
Milestone
29.1