darwin: generate apple packages preparing for update macos sdk#108590
darwin: generate apple packages preparing for update macos sdk#108590veprbl merged 1 commit intoNixOS:stagingfrom
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? |
veprbl
left a comment
There was a problem hiding this comment.
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
There was a problem hiding this comment.
| 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.
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.
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.
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.
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 |
| Security = applePackage "Security/boot.nix" "osx-10.9.5" "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {}; | ||
| }; | ||
|
|
||
| packages = developerToolsPackages_11_3_1 // macosPackages_11_0_1 // stubPackages; |
There was a problem hiding this comment.
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.
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
sandboxinnix.confon non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"./result/bin/)nix path-info -Sbefore and after)