Skip to content
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

Overview of the Apple source releases bump #273425

Open
1 of 13 tasks
toonn opened this issue Dec 10, 2023 · 5 comments
Open
1 of 13 tasks

Overview of the Apple source releases bump #273425

toonn opened this issue Dec 10, 2023 · 5 comments
Assignees
Labels
6.topic: darwin Running or building packages on Darwin

Comments

@toonn
Copy link
Contributor

toonn commented Dec 10, 2023

Apple's source releases are only guaranteed to be compatible when they are part of a system release. Bumping all the packages together makes for a big diff that's hard to review.

To deal with this I'm bumping all the packages in a topological order. Since updating packages one by one isn't really an option I'm adding them in a separate attribute set. Once everything's merged we can switch over, hopefully requiring little more review effort.

I'll be opening PRs gradually and adding them to this list to preserve some overview.

@toonn toonn added the 6.topic: darwin Running or building packages on Darwin label Dec 10, 2023
@toonn toonn self-assigned this Dec 10, 2023
@nixos-discourse
Copy link

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/nix-macos-monthly/12330/47

@reckenrode
Copy link
Contributor

Thinking ahead to after #229210 lands, is it possible the source selection stuff could be usable by other SDKs to pull in source-based components appropriate to their versions?

Apple's source releases are only guaranteed to be compatible when they are part of a system release.

Is that limited to the SDK or all source releases? I had most of adv_cmds-213 building with the 10.12 SDK (which I need to pick back up). How would that fit into this picture?

@toonn
Copy link
Contributor Author

toonn commented Mar 6, 2024

Re source selection, I haven't really thought about it. I think it would currently go in the wrong direction though, it enables subbing SDK things into a "source release" rather than the other way around, which I think is what we'd actually want, i.e., start from an SDK and only overlay bits of source releases when we manage to make them functional enough?

The compatibility is not an explicit policy, it's just a consequence of Apple's source dump model of FOSS.

@reckenrode
Copy link
Contributor

Re source selection, I haven't really thought about it. I think it would currently go in the wrong direction though, it enables subbing SDK things into a "source release" rather than the other way around, which I think is what we'd actually want, i.e., start from an SDK and only overlay bits of source releases when we manage to make them functional enough?

I think we’re on the same page. Take an SDK then replace bits with source releases (or source-derived headers plus stubs) as we make them work.

The compatibility is not an explicit policy, it's just a consequence of Apple's source dump model of FOSS.

It was actually system_cmds I got updated not adv_cmds. Prompted by #295650, I’m planning to open a PR to update it once I confirm the stdenv bootstrap builds on both x86_64-darwin and aarch64-darwin.

@reckenrode
Copy link
Contributor

#296321 is the system_cmds update PR.

@toonn toonn mentioned this issue Apr 24, 2024
13 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: darwin Running or building packages on Darwin
Projects
None yet
Development

No branches or pull requests

3 participants