-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
apple-sdk: only rewrite old SDK paths #353383
Conversation
Rewriting SDK paths is only needed when a text-based stub is an umbrella framework that does not include the contents of the stubs for the libraries re-exported by the framework. This is only the case for older SDKs. Once macOS introduced the dyld cache (and removed system dylibs) in 11.0, all umbrella frameworks in the SDK include the contents of their re-exported stubs. While rewriting newer SDKs is mostly harmless, it breaks Zig, which tries to interpret the paths relative to the SDKROOT.
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/the-darwin-sdks-have-been-updated/55295/26 |
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.
Successfully built zig
using this on aarch64-darwin.
It looks like |
This change isn’t in staging-next yet. I assume Zig will be built in the last (before 24.11) cycle coming up. |
Thank you for your reply @reckenrode (here and elsewhere), it's helping me learn how the system works!
And the fact that #354201 was created a few days after this change was merged into I have a hard time navigating Hydra, but I think the latest evaluation of
And I think that's the evaluation that's reporting that |
Oh, sorry. I hadn’t realized they started the last cycle. I thought they were still on the last 24.05 cycle. 😅 I don’t know why it wouldn’t be part of the evaluation. It seems like it should be. I asked in #staging:nixos.org to see if someone there knows. |
Thanks to @lilyinstarlight for the pointer: it was removed because of a Python eval error on staging-next. Once that’s fixed, Zig and a bunch of other stuff that got dropped should be part of the eval after that on staging-next. |
Should be fixed now. Sorry about that. |
Rewriting SDK paths is only needed when a text-based stub is an umbrella framework that does not include the contents of the stubs for the libraries re-exported by the framework. This is only the case for older SDKs. Once macOS introduced the dyld cache (and removed system dylibs) in 11.0, all umbrella frameworks in the SDK include the contents of their re-exported stubs.
While rewriting newer SDKs is mostly harmless, it breaks Zig, which tries to interpret the paths relative to the SDKROOT.
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.