-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
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
darwin: generate apple packages preparing for update macos sdk #108590
Conversation
Success building all apple packages and the depending bootstrap packages, except #108651. add cc @siraben @SuperSandro2000 |
I saw this already earlier. If I understand it correctly this should make the update process easier but does not actually change any packages? Also please change the commit message and PR title to something starting with darwin: or darwin.appke_sdk. |
Yes. We hesitate to update apple_sdk is mainly because we make up a header-only My plan is to take down those light-depended packages one by one, the PR could make it easier. |
0ffa9d3
to
8301dfa
Compare
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
@veprbl could you review this? |
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.
This is a bit hard to review as orthogonal changes are implemented in one commit, but here is what I saw
pkgs/os-specific/darwin/apple-source-releases/generate-sdk-packages.sh
Outdated
Show resolved
Hide resolved
}; | ||
|
||
packages = developerToolsPackages // macosPackages // stubPackages; |
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.
packages = developerToolsPackages // macosPackages // stubPackages; | |
packages = developerToolsPackages // macosPackages // stubPackages; |
Do I understand it correctly that developerToolsPackages // macosPackages
is a dead code right now?
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.
Yes, right now it is. Next step if we remove a line in stubPackages
, then the package will be updated.
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.
It would have been more clean to first regenerate the current set with your framework to prove that it works and then do the update separately.
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.
Hard to do that because you see versions
containing multiple versions of sdk and even some of them are fake, I would rather keep it what it is. And I won't update all package in a time, instead, I'm going to create PR later one by one and test to ensure they work. At least in this PR the redundant framework won't take prior than the original stubPackages
.
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.
Well, my thought was that we could still hold on including definitions developerToolsPackages
and macosPackages
until at least one of the updated frameworks is used. But if you are confident that it will work out the way you've designed, then we could try.
8301dfa
to
8a7c84d
Compare
@veprbl I have rewrite some function name back and add new function with suffix |
8a7c84d
to
be92725
Compare
pkgs/os-specific/darwin/apple-source-releases/developer-tools-11.3.1.nix
Outdated
Show resolved
Hide resolved
b5c5507
to
77096f4
Compare
77096f4
to
9d5cece
Compare
gentle ping @matthewbauer |
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.
LGTM
}; | ||
|
||
packages = developerToolsPackages_11_3_1 // macosPackages_11_0_1 // stubPackages; |
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.
Is the order here correct? Should stub packages take precedence over everything else?
I have #105026 locally and it tries to install libutil-47.30.1-osx-10.12.6
, which doesn't seem right (and it also fails, because 10.12 doesn't know anything about aarch64).
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.
Is the order here correct? Should stub packages take precedence over everything else?
stubPackages
does take precedence, the later overwrites the formers.
I have #105026 locally and it tries to install
libutil-47.30.1-osx-10.12.6
, which doesn't seem right (and it also fails, because 10.12 doesn't know anything about aarch64).
libutil-47.30.1-osx-10.12.6
is in stubPackages
, we haven't updated libutil
yet, so it still installs the old 10.12 one, that is exactly expected. I'm a bit confused of which version is you actually want.
Motivation for this change
macos sdk is outdated for a long time (#101229), this PR provides scaffolds and candidates for future updating.
Except for normalizing package name as
${pname}-${version}-${sdkName}
, in essence this PR doesn't update any packages. We may want a smooth update process divided into small tasks instead of a large package commit.Things done
Generate package sources and rewrite some function names.
Will cause mass rebuild due to some derivation names normalized, but it should not cause any actual change in compiling.
cc @matthewbauer
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)