This PR makes macOS builds Clang-only by switching the build compiler in depends to clang
+ libc++
.
See: #30206.
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/32764.
See the guideline for information on the review process.
Type | Reviewers |
---|---|
Concept ACK | w0xlt |
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
Reviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
My Guix build:
0aarch64
18c0763a9a52cbad53dd2e6c6bb9472f3738d1debc31d554117afbc8681ad715a guix-build-4be8f47a89ef/output/aarch64-linux-gnu/SHA256SUMS.part
2668d90736b33c1afac33478f2abb4ddbc67e6383e16fe377a4d3562a3440f453 guix-build-4be8f47a89ef/output/aarch64-linux-gnu/bitcoin-4be8f47a89ef-aarch64-linux-gnu-debug.tar.gz
3394a1821a29a7410ea7f9d4d11006ffeb006160ad951a758f074810021f20bf8 guix-build-4be8f47a89ef/output/aarch64-linux-gnu/bitcoin-4be8f47a89ef-aarch64-linux-gnu.tar.gz
4601c387159a38e8e2574c4fe6a787eccea9a99cffc4e207cb088a8a6b00a1a80 guix-build-4be8f47a89ef/output/arm-linux-gnueabihf/SHA256SUMS.part
5a595f2a16018cbbce849def4ca677190d082b3968f4ddfb60cbe6a46ed9140c3 guix-build-4be8f47a89ef/output/arm-linux-gnueabihf/bitcoin-4be8f47a89ef-arm-linux-gnueabihf-debug.tar.gz
68b1305f5eb83c2292aab0579e7d4a662666d54635d875e9242b134e8439f038f guix-build-4be8f47a89ef/output/arm-linux-gnueabihf/bitcoin-4be8f47a89ef-arm-linux-gnueabihf.tar.gz
7181d6c8dc7d8c212120ea6d353659aafa6510214e6302f9e5c96f646e96143d4 guix-build-4be8f47a89ef/output/arm64-apple-darwin/SHA256SUMS.part
86c01be7142ce6d3f4d03d58e9c059ddb78c4518a5a018a8e49494a8ae97331c5 guix-build-4be8f47a89ef/output/arm64-apple-darwin/bitcoin-4be8f47a89ef-arm64-apple-darwin-codesigning.tar.gz
9bddf9ea401e06d8fc1ba4e372b092db840ca0320e637c51d1eb7036713ccd970 guix-build-4be8f47a89ef/output/arm64-apple-darwin/bitcoin-4be8f47a89ef-arm64-apple-darwin-unsigned.tar.gz
1090526bad3b242fef4d852b4342c6457cb43c9e3634804035820cd2e181cd4341 guix-build-4be8f47a89ef/output/arm64-apple-darwin/bitcoin-4be8f47a89ef-arm64-apple-darwin-unsigned.zip
11554e4c6c05306ea04b7470142ce53c8ff72422b9d3186333e98f5f63971088b1 guix-build-4be8f47a89ef/output/dist-archive/bitcoin-4be8f47a89ef.tar.gz
128092dcb17dd9cb62744cbd7567913d7f1a69a88362702b6245af6f5a1cc0c679 guix-build-4be8f47a89ef/output/powerpc64-linux-gnu/SHA256SUMS.part
13b8aa6aab308aa40a32c634599c25fa543c15b4580717b8c5f00587411efcdd40 guix-build-4be8f47a89ef/output/powerpc64-linux-gnu/bitcoin-4be8f47a89ef-powerpc64-linux-gnu-debug.tar.gz
1431fc45b3590e52257aae41a881096bb10a76e85544790643ba9fb091e1c87e2b guix-build-4be8f47a89ef/output/powerpc64-linux-gnu/bitcoin-4be8f47a89ef-powerpc64-linux-gnu.tar.gz
15727c7ffb480fde86177f8e655aa0ea1b1d11cdf7e382189c9c60e527b136c270 guix-build-4be8f47a89ef/output/riscv64-linux-gnu/SHA256SUMS.part
16a6e0635c88d647ac2355a7b10f3fa34f271d81d556913586084fdfc9e7185662 guix-build-4be8f47a89ef/output/riscv64-linux-gnu/bitcoin-4be8f47a89ef-riscv64-linux-gnu-debug.tar.gz
170d27f6ecc9c3deb00071801bcb6b1076a1bda0c6a8c9e4d17371ea9478de43df guix-build-4be8f47a89ef/output/riscv64-linux-gnu/bitcoin-4be8f47a89ef-riscv64-linux-gnu.tar.gz
18b4be88490fcfa2fba41087b5cd816ec256897eb6f869196a86bc81dbe46e6f89 guix-build-4be8f47a89ef/output/x86_64-apple-darwin/SHA256SUMS.part
190e8a275fb35ed6e77cfbded5115d7bc0fa567a9651ffbb94fd64a18561e1eac2 guix-build-4be8f47a89ef/output/x86_64-apple-darwin/bitcoin-4be8f47a89ef-x86_64-apple-darwin-codesigning.tar.gz
20b3a636d8f53c3cebcc234047950b14927cdd99939bf6ed14b9eccecf1e04c4e1 guix-build-4be8f47a89ef/output/x86_64-apple-darwin/bitcoin-4be8f47a89ef-x86_64-apple-darwin-unsigned.tar.gz
21d22453153abbd55dc943971c4cd9b63605908397ca8fd42322ce2dc58ee7401d guix-build-4be8f47a89ef/output/x86_64-apple-darwin/bitcoin-4be8f47a89ef-x86_64-apple-darwin-unsigned.zip
2299f4bb5f3a6c5fa662f2527f5651253fcda2248550bfff8879e4a91fe0299d0e guix-build-4be8f47a89ef/output/x86_64-linux-gnu/SHA256SUMS.part
23ba103b6c2cdee03637372b3d0af6011f4f7471b488eac3768d4b538342efda65 guix-build-4be8f47a89ef/output/x86_64-linux-gnu/bitcoin-4be8f47a89ef-x86_64-linux-gnu-debug.tar.gz
2468a12d9c4c75f5040d55fca09729af2dd9c4ba986fce78f28a86508a7d97bfbf guix-build-4be8f47a89ef/output/x86_64-linux-gnu/bitcoin-4be8f47a89ef-x86_64-linux-gnu.tar.gz
2588f1e3e6c69341fd3b40e2afffe05ccc574d9fa63fc7c9c77ab8694d6e8e63df guix-build-4be8f47a89ef/output/x86_64-w64-mingw32/SHA256SUMS.part
2636dc8a4b16ad26e260f2539e3cf1147fe3a1bc9807a1bbf143090065c2d8ef4b guix-build-4be8f47a89ef/output/x86_64-w64-mingw32/bitcoin-4be8f47a89ef-win64-codesigning.tar.gz
279aa9abc97a54c9c690f7e0cdb74c6a123c6eb42782372009e4d83fd746e8ae88 guix-build-4be8f47a89ef/output/x86_64-w64-mingw32/bitcoin-4be8f47a89ef-win64-debug.zip
2851580852b8b26f0e0fb0843d56d9978279e9ecaa0b18a38940df9ef437ccc1de guix-build-4be8f47a89ef/output/x86_64-w64-mingw32/bitcoin-4be8f47a89ef-win64-setup-unsigned.exe
294e9dd52f7b7be6b4eb09740a79e4f4e9fef4244962d707848b916c483792cc27 guix-build-4be8f47a89ef/output/x86_64-w64-mingw32/bitcoin-4be8f47a89ef-win64-unsigned.zip
492@@ -493,6 +493,54 @@ inspecting signatures in Mach-O binaries.")
493 (("^install-others =.*$")
494 (string-append "install-others = " out "/etc/rpc\n")))))))))))))
495
496+(define-public libcxx-18 ;; 18.1.8
libcxx
(19). We could also upstream a libcxx-20
now, which could then be used if we switch to LLVM/Clang 20.
In 6ad54dc: Rather than adding a package here, I think we should wait until we next bump the time-machine (I’ve got a branch with some changes for this), where we’ll likely use LLVM/Clang 19, and then can just use
libcxx
(19).
That was my initial approach, as suggested in #30206 (comment). Unfortunately, there’s an upstream issue in Guix affecting the riscv64
host:
0riscv64-linux-gnu-ld: relocation R_RISCV_RVC_JUMP against `__sigsetjmp' which may bind externally can not be used when making a shared object; recompile with -fPIC
1...
2build of /gnu/store/2drzypp2rgya0qcab3izkv9d8ib0kqvv-glibc-cross-riscv64-linux-gnu-2.31.drv failed