| 3 Oct 2025 |
dramforever | oops | 13:05:49 |
Grimmauld (any/all) | thats worrying | 13:05:57 |
dramforever | wait nevermind | 13:05:57 |
dramforever | that's good right | 13:06:01 |
dramforever | oh, not good | 13:06:36 |
dramforever | the resource-dir is wrong | 13:06:40 |
dramforever | resource-dir for clang-21 in bootstrap tools is broken by https://github.com/NixOS/nixpkgs/pull/420382 | 13:30:43 |
Grimmauld (any/all) | hey at least thats barely any rebuilds | 13:31:34 |
K900 | I don't think that's right | 13:32:11 |
Grimmauld (any/all) | wait why are they putting includes in lib and not dev? | 13:37:14 |
Grimmauld (any/all) | i am confused | 13:37:19 |
Grimmauld (any/all) | or rather, its looking in lib and it should be looking in dev? | 13:38:00 |
dramforever | we pass an absolute CLANG_RESOURCE_DIR on clang >= 21, which broke bootstrap tools because there it's supposed to be relative to bootstrap tools.
untested:
diff --git a/pkgs/stdenv/darwin/test-bootstrap-tools.nix b/pkgs/stdenv/darwin/test-bootstrap-tools.nix
index fc463a1b3e07..259b99d63867 100644
--- a/pkgs/stdenv/darwin/test-bootstrap-tools.nix
+++ b/pkgs/stdenv/darwin/test-bootstrap-tools.nix
@@ -55,7 +55,8 @@ builtins.derivation {
# The stdenv bootstrap builds the SDK in the bootstrap. Use an existing SDK to test the tools.
export SDKROOT='${apple-sdk.sdkroot}'
- export flags="-idirafter $SDKROOT/usr/include --sysroot=$SDKROOT -L$SDKROOT/usr/lib -L$tools/lib -DTARGET_OS_IPHONE=0"
+ export resource_dir=("$tools"/lib/clang/*) # Expand wildcard
+ export flags="-idirafter $SDKROOT/usr/include --resource-dir=$resource_dir --sysroot=$SDKROOT -L$SDKROOT/usr/lib -L$tools/lib -DTARGET_OS_IPHONE=0"
export CPP="clang -E $flags"
export CC="clang $flags"
| 13:40:25 |
dramforever | on the other hand | 13:40:37 |
dramforever | i can't find where i should add this to the actual bootstrap process | 13:41:04 |
dramforever | so even if this fixes something it'll get broken next time we bump the darwin bootstrap tarballs | 13:41:32 |
dramforever | * so even if this fixes something it'll still break next time we bump the darwin bootstrap tarballs | 13:41:41 |
dramforever | <- does not use macos | 13:42:20 |
dramforever | "broken by" in a very broad sense, i guess | 13:44:52 |
Grimmauld (any/all) | also shit clang 21 is default now so uh | 13:45:03 |
Grimmauld (any/all) | yay mass rebuilds! | 13:45:09 |
dramforever | nah | 13:45:22 |
dramforever | it's fine | 13:45:23 |
dramforever | just need to pass --resource-dir= during bootstrapping | 13:45:35 |
dramforever | or maybe we already do | 13:45:52 |
dramforever | non-bootstrap is not affected | 13:46:13 |
dramforever | so do we just take that to push bootstrap tools test through and figure something out later? | 13:49:30 |
Vladimír Čunát | The test can be even made non-blocking temporarily, e.g. until the next rebuild where we can fix properly. But I think it's good not to let them fail long. | 13:56:55 |
Vladimír Čunát | We did this recently. | 13:57:28 |
dramforever | qtdeclarative is probably fixed by https://codereview.qt-project.org/c/qt/qtdeclarative/+/354847 | 13:59:39 |