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
xcbuild refactor #43256
xcbuild refactor #43256
Conversation
Success on x86_64-linux (full log) Attempted: xcbuild Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: xcbuild Partial log (click to expand)
|
Success on x86_64-darwin (full log) Attempted: xcbuild Partial log (click to expand)
|
@GrahamcOfBorg build darwin.adv_cmds unixtools |
Success on aarch64-linux (full log) Attempted: unixtools The following builds were skipped because they don't evaluate on aarch64-linux: darwin.adv_cmds Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: unixtools The following builds were skipped because they don't evaluate on x86_64-linux: darwin.adv_cmds Partial log (click to expand)
|
Success on x86_64-darwin (full log) Attempted: darwin.adv_cmds The following builds were skipped because they don't evaluate on x86_64-darwin: unixtools Partial log (click to expand)
|
@GrahamcOfBorg build unixtools.procps unixtools.utillinux unixtools.nettools |
Success on x86_64-linux (full log) Attempted: unixtools.procps, unixtools.utillinux, unixtools.nettools Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: unixtools.procps, unixtools.utillinux, unixtools.nettools Partial log (click to expand)
|
Success on x86_64-darwin (full log) Attempted: unixtools.procps, unixtools.utillinux, unixtools.nettools Partial log (click to expand)
|
This reworks some of xcbuild logic to make it more compatible with Apple’s SDK. - Add a fake version of xcrun & xcode-select - Cleanup platform generation. Clang does not like having 20 char hashes in sysroot so it is much easier to just build the parent directory for each runCommand. This is a little awkward but I have renamed everything with an added ‘s’ to make the distinction more clear. - Cleaned up wrapper.nix in some different ways - Reuse some versioning logic so that we don’t end up with two different versions of Xcode or SDK reported.
Not every package that needs xcbuild will want to use its build phase. I have moved the xcbuild setup hook to the new attribute xcbuildHook. This means that dontUseXcbuild is no longer needed. If you just need to call xcbuild on its own you can just refer to xcbuild.
You can now refer to it as xcodebuild. This is meant to be more discoverable for not familiar with xcbuild. xcodebuild should work in the same way as the xcodebuild that comes with Xcode.app, but it is built entirely with free software.
3ce2064
to
2621171
Compare
Success on aarch64-linux (full log) Attempted: xcbuild Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: xcbuild Partial log (click to expand)
|
Success on x86_64-darwin (full log) Attempted: xcbuild Partial log (click to expand)
|
Refactors xcbuild to better emulate the real Xcodebuild. Hoping to use this to get rid of some of the "no-xcode" patches that exist in Nixpkgs.
I have a branch with some fixes for bazel as well but want to get these infrastructure things included first.