-
-
Notifications
You must be signed in to change notification settings - Fork 14.3k
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
Update macOS SDK #101229
Comments
According to https://en.wikipedia.org/wiki/MacOS_version_history#Releases
So I guess ditching 10.12 is fine |
I located the URL for the 10.13 SDK, http://swcdn.apple.com/content/downloads/50/15/041-91747-A_WICZE7RNVZ/rayjnqf847xflt3tan8o8agod67eq88cav/DevSDK_macOS1013_Public.pkg |
@LnL7 @thefloweringash Not sure who all should be in the loop here, but I saw a notification about this. |
cc @NixOS/darwin-maintainers |
Yeah, this is probably something that should be tackled (along with reviving the llvm update) once Big Sur support is in. |
I just encountered a python module which requires SystemExtensions which is only available on 10.15+. |
I created #101940 to resolve this Issue. I did so far no real testing and would appreciate some help and advice. |
I also found https://github.com/phracker/MacOSX-SDKs. I am not sure at all if this is a trust worthy source but maybe for testing a good option. |
10.13 is being EOL'd soon, as during the last decade Apple generally ends support for an OS (and thus its SDK) three years later. https://en.wikipedia.org/wiki/MacOS_version_history#Releases . Should we update to 10.14 SDK instead? |
I did not find a link (https://github.com/NixOS/nixpkgs/pull/101940/files#diff-c4d8bbc3261c329aad6d37bf66765868a01dcf4b838d8622d16959d8597ebed8R20) for 10.14. Maybe someone else has better luck than me. |
I'm not sure what sdk this is we're using right now but the CLT is available there which should also contain everything we need.
|
Related: |
Maybe we should update to SDK 10.14, not 10.13, because #95199 mentions that Qt 5.14+ requires SDK 10.14 |
I think based on apple's previous EOL schedules, they will probably be dropping support for 10.13 in the next few months now that big sur is out, so jumping to 10.14 could be timely |
Agreed, going to 10.14 is better because 10.13 will be EOL'd soon. |
I'm building webkitgtk and find it requires 4 backport of macos system headers. (Related #106818 #107189)
I'm surprised that we are stuck on an outdated SDK so long (FYI, homebrew will drop support on EOL versions immediately). Since Nix is so good at version management and overwriting, why don't we offer higher SDKs that some packages could depend on? (Of course, base packages should always depend on the lowest one). So here is several choices:
I know maintainers are busy dealing with Apple Silicon, but this issue deserves more attention. Thanks. |
It is to much work to maintain multiple versions of the SDK. This would also mean we would need to maintain two versions of every tool listed here https://opensource.apple.com/release/macos-10136.html. The update is simple blocked by lack of time. Someone just needs to do it which makes this entire discussion a bit pointless. It is not as easy as just updating the library. See the PR which did the update to 10.12. I simply do not have the time right now to try to do this and others probably, too. |
Mesa in staging-next requires 10.13+. #107783 (comment) |
Is there a certain threshold until it becomes imperative to update to 10.13? I'd like to help efforts as well but there's a lot to do and it would be nice if we had a tracking project. |
For now I would just keep doing that until takes overhand. |
Is anyone successfully using the 10.13 SDK in their Nix darwin builds somehow? Curious if there is some external repo hosting all known SDKs, even if they're not available in nixpkgs yet? I think we'll likely start to see more issues around this now that GitHub have updated their
Are there any active WIPs adding |
Ahh I'm mistaken - it looks like we're still encountering the same issue with the macOS runner on It seems the source of non-determinism in our macos builds must be coming from elsewhere. Apologies for the noise! |
I wanted to address this separately. Depending on the 11.0 SDK should be sufficient. According to the Apple documentation, that API was added in 10.13 (which is not the same thing as macOS 13). |
It was a good prompt to link some of the recent work on SDK- and stdenv-related stuff. There’s still work to be done after that on new SDK patterns to allow incremental “source-ification” of these SDKs, but it’ll allow more things to be built from source on a modern SDK (e.g., MoltenVK really should be built against latest, Blender requires 12.x, etc). |
I am working on refactoring Darwin and how SDKs are used. The new pattern constructs a full SDK, which can be added as a package to I have all of the above SDKs building some packages via an adapter. I have MoltenVK and Wine building against the 14.4 SDK. I have some source release packages (libutil) building with the 14.4 SDK and an older deployment target, so they are usable on old platforms still. I have PyTorch building from source with MPS support (addressing #243868). Once I have the bootstrap done, I can test wezterm (addressing #239384). So far, adding the new SDK has Just Worked™. The timeline for this will depend on how long it takes me to get it bootstrapping. The bootstrap changes are non-trivial, but it appears I can do it without needing an update to the bootstrap tools. Thankfully, they include xar and cpio on both platforms. I also need libtapi and jq, but the question is whether it is possible to build them somehow first. In the absolute worst case, I can use a special extra bootstrap mode that doesn’t do the cleanups and processing required for a proper SDK in nixpkgs. I’d like to get this into the next staging-next cycle, but that could be aggressive. It’s definitely coming for 24.11. |
Linking #338695 here for those subscribed to this issue. |
https://discourse.nixos.org/t/on-the-future-of-darwin-sdks-or-how-you-can-stop-worrying-and-put-the-sdk-in-build-inputs/50574 is the Discourse discussion with the plan for updating the SDKs and my current status. |
Closed by #346043 |
Amazing. Thanks so much |
I'm seeing a growing number of failures on hydra for packages requiring the 10.13 SDK on macOS. What is the timescale on a possible update, and what would that involve? Alternatively, would there be some way to build certain packages against the 10.13 SDK while keeping the default stdenv and majority of packages 10.12-compatible?
Related:
#99133 (folly)
#101125 (apk-tools)
#97479 (various)
The text was updated successfully, but these errors were encountered: