-
-
Notifications
You must be signed in to change notification settings - Fork 15k
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.privateFrameworksHook: drop; apple-sdk: don’t bundle various bintools #377168
base: staging
Are you sure you want to change the base?
Conversation
57c5b39
to
7994dc3
Compare
@@ -8,7 +8,6 @@ project('diskdev_cmds', 'c', 'objc', version : '@version@') | |||
# Dependencies | |||
cc = meson.get_compiler('c') | |||
|
|||
apfs = dependency('appleframeworks', modules : 'APFS') |
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.
Why is the APFS framework being removed?
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 doesn’t seem to link any symbols, and apparently doesn’t even need anything from the headers:
nixpkgs/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/package.nix
Lines 31 to 33 in 7994dc3
mkdir -p "$out/include/APFS" | |
touch "$out/include/APFS/APFS.h" | |
touch "$out/include/APFS/APFSConstants.h" |
As far as I can tell from the source, all the direct APFS API calls are guarded behind iOS conditionals. No point doing the private framework linking dance for programs that don’t use them. We could probably even just add the appropriate
#if
s to their #include
s instead.
This isn’t required. The build system sets up the necessary path and they have their own reverse‐engineered declarations.
The Makefile works fine as long as you specify the old C++ standard and tell it that SkyLight is there. (Actually, it can find SkyLight all by itself, even inside the sandbox, but this guards against hypothetical future sandbox tightening and cross‐compilation scenarios…)
Best not to mix reverse‐engineered headers that only Apple source releases need and the upstream SDK, and a framework search path isn’t really worth abstracting away in a hook.
7994dc3
to
15f314b
Compare
15f314b
to
c21fd53
Compare
These aren’t present in the bootstrap tools, and it seems better to fix (or hack around) in Chromium builds and so on than adding conditionals to this compatibility hack. Hopefully I won’t regret trying this…
This should no longer be necessary. This reverts commit 9cdac5f.
c21fd53
to
60db060
Compare
In combination with #377162, should hopefully fix
stdenv
after #370750. Testing the build now. Not 100% confident in the last commit but this is what I have for now.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.