-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
backport: merge bitcoin#22402, #23583, #23618, #17874, #21286, #23489, #23675, #24130, #23556, #23862, #24722, #24132, #24668, #25643, #25719, partial #22469, #23677 (qt backports) #5362
Conversation
35b71ab
to
484283e
Compare
This pull request has conflicts, please rebase. |
This pull request has conflicts, please rebase. |
This pull request has conflicts, please rebase. |
This pull request has conflicts, please rebase. |
This pull request has conflicts, please rebase. |
650d1b4
to
470fdab
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Guix hashes match
Gitian
3ad4ab0f24d78f484be444f0089cd748c9eda06cd6bfd9d8f44239928af32206 dashcore-e573aea84206-aarch64-linux-gnu-debug.tar.gz
e89e3e84f4a3a552f662a02d98394816dd2e80ca846f1bac7a0ce32df17b52cf dashcore-e573aea84206-aarch64-linux-gnu.tar.gz
90a72a350d5cb87a1349dda0a2b3576d9855b236bc563eeba52b4c8a52a84600 dashcore-e573aea84206-riscv64-linux-gnu-debug.tar.gz
e562aeb5e4c15eacab604f2cba5a84e60d0407b4d4fcae86da185d12b67c5182 dashcore-e573aea84206-riscv64-linux-gnu.tar.gz
06261b33b425e47240856941618984723167d76b5e6dc282c7b9fd470c83dfb0 dashcore-e573aea84206-x86_64-linux-gnu-debug.tar.gz
57d50eb4f49994b55b722e42a02e8bd2994e994653e8fec0b3fd13f08950e1e9 dashcore-e573aea84206-x86_64-linux-gnu.tar.gz
abe1e15bde3bdd152a3a5f57cd7270f4525a81c3bf91188dea5237114bce0652 dashcore-e573aea84206-win-unsigned.tar.gz
a7a614220f3bed587eadfa91a22a49a93587c7bea905fd85c783439f8c9be27d dashcore-e573aea84206-win64-debug.zip
b5877cfce7f7f2a85010103fb2b6a0825d01e15fe36313e809a41dbc2051d2f2 dashcore-e573aea84206-win64-setup-unsigned.exe
5cf76b591a81cca88a0f403e5543626f689751b9efb5ee151382ce674493cc27 dashcore-e573aea84206-win64.zip
95ce15715216ed8eb40e1995149606d0d8f32a3eab83442265c3b3d4a04c6ed4 dashcore-e573aea84206-osx-unsigned.dmg
c1cb011fa888dfd2fb2d21479c4a38ade6729ed8951a7afb1ed1e95cf59c4232 dashcore-e573aea84206-osx-unsigned.tar.gz
8d28e451e9bfe0b7c11fc6e8b16057b23c9fe57619ab457fdcb8af729f27fc86 dashcore-e573aea84206-osx64-debug.tar.gz
c79728ec8a36cae526df81eff1945552dc072a31b14af25b33539f6c2a75ce52 dashcore-e573aea84206-osx64.tar.gz
utACK
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK for merging via merge commit
excludes `fix_openbsd_test_lib.patch` as it's already present ``` Preprocessing boost... patching file boost/test/impl/execution_monitor.ipp Reversed (or previously applied) patch detected! Assume -R? [n] ```
e573aea
to
3d97c4b
Compare
bbc9957 fix: sidestep c++17 std::unary_function removal by compiling boost with c++11 (Kittywhiskers Van Gogh) 3c622a3 revert: partial dash#5610 (make depends compilable with Xcode 15 on macos) (Kittywhiskers Van Gogh) f15e1db fix: make `std::unary_function` suppression flag no longer contingent on `--enable-suppress-external-warnings` (Kittywhiskers Van Gogh) 5db84e2 revert: partial dash#3003 (Fix 2 common Travis failures which happen when Travis has network issues) (Kittywhiskers Van Gogh) Pull request description: ## Additional Information Despite builders for BSD-based platforms being backported as early as [dash#5362](#5362), they didn't work on account of using a `curl` flag, `--retry`, that was lopped off other builders in [dash#3003](#3003) as a way to mitigate aberrant Travis CI-specific behaviour. As the variable `$(DOWNLOAD_RETRIES)` was removed as part of that mitigation, the introduction of builders that rely on this variable caused failures as the flag was accompanied by nothing. As our CI host isn't based on FreeBSD, this went unnoticed. When deciding between extending the existing patch and reverting it, reverting it proved to be more attractive on account of us no longer using Travis CI and the revert bringing us closer to upstream. Additionally, the `std::unary_function` patch that was introduced in [dash#5610](#5610) proves to be necessary on BSD-based platforms as well (had to be extended for and tested on GhostBSD, based on FreeBSD 13.2-STABLE, Clang 16). Instead of conditionally patching based on platform and compiler, a more reliable patch would be to downgrade the C++ version used to build Boost at the last version to have `std::unary_function`, which would be C++11, albeit deprecated ([source](https://en.cppreference.com/w/cpp/utility/functional/unary_function)). Though it's likely this route wasn't taken originally due to compiler errors that happened despite downgrading to C++11. These errors were due to the compiler objecting to `std::unary_function` usage in Boost headers, despite the backport of [bitcoin#25436](bitcoin#25436), which should've solved this problem. The reason the errors were still persisting is because the necessary flag, `-DBOOST_NO_CXX98_FUNCTION_BASE`, was only applied if `--enable-suppress-external-warnings` was set. CI didn't catch this, as the flag is always set, to keep log lengths manageable. This has been rectified. All changes combined, one should be able to build non-Qt Dash binaries using `depends` though building the Qt client from `depends` unfortunately remains a problem, even upstream ([source](bitcoin#23955 (comment)), [source](bitcoin#23948 (comment))). ## Demo **Based on bbc9957** Built using: * **`depends` flags:** `NO_QT=1 ALLOW_HOST_PACKAGES=1 HOST=x86_64-unknown-freebsd13.2` * **`configure` flags :** `--prefix=$(pwd)/depends/x86_64-unknown-freebsd13.2 --enable-debug --enable-suppress-external-warnings --with-gui` * Qt installed using `pkg` (`qt5`)  ## Checklist: - [x] I have performed a self-review of my own code **(note: N/A)** - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)** - [x] I have added or updated relevant unit/integration/functional/e2e tests **(note: N/A)** - [x] I have made corresponding changes to the documentation **(note: N/A)** - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_ ACKs for top commit: UdjinM6: light ACK bbc9957 PastaPastaPasta: utACK bbc9957 knst: ACK bbc9957 Tree-SHA512: b29d6775f42965d2f09307aff0192012aa192e39e06a83b800613831dc00fc7173201d496117fbe86850f5208a0b7688a376f2ee618881c062c28d694085efc9
Additional Notes