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
rw: init at 1.0 #39150
rw: init at 1.0 #39150
Conversation
Success on aarch64-linux (full log) Attempted: rw Partial log (click to expand)
|
Failure on x86_64-darwin (full log) Attempted: rw Partial log (click to expand)
|
macports/macports-ports@03c5aa3#diff-b9ba10475be4170003c9abc6de63d1a2 Is there a good way to indicate required OSX version? (cc @NixOS/darwin-maintainers, @Ericson2314) Would be nice to not have to mark it as known-"broken" on Darwin! :) |
@dtzWill unfortunately not; instead of creating separate platforms for new OS releases, we opted (for ease of maintenance mostly) to homogenize the macOS platforms by papering over their differences. I think we currently do our best to look like 10.11, which means that |
Success on x86_64-linux (full log) Attempted: rw Partial log (click to expand)
|
We might be able to hack it in without updating. It's actually pretty simple and lots of things use clock_gettime. https://opensource.apple.com/source/Libc/Libc-1158.1.2/gen/clock_gettime.c.auto.html |
I don't think we can because libSystem/Libc are impure. We explicity only reexport specific symbols so builds on 10.13 work on a 10.10 machine and the other way around. |
Ok that complicates things a bit. Has anyone looked into making Libc pure? The xcbuild stuff could make it possible now. |
@matthewbauer yes, lots, but it's pretty hard, and parts of it are fundamentally impure because they're an unstable interface to a changing kernel. Basically, libSystem comprises (among many others):
And Libc is the thing we could conceivably make pure, if we could avoid relying on specifics of libsystem_kernel.dylib. Having said that, the Libc build is a bit of a monster, and I've put some work into it in the past, but even with the native xcodebuild it's pretty tricky. There's another intermediate "solution" here, which is that the libSystem.dylib we have right now that only reexports symbols doesn't have to limit itself to only reexporting symbols, and could actually contain a nontrivial implementation of functions not reexported, like |
Fascinating discussion/details, thanks! Erm, I feel I should know how but.. anyone know how to best express "try to build everywhere other than darwin"? Is conditionally setting "broken" the way to go...? (cc @Ericson2314, JIC :)) |
Yes I think conditionally setting broken is the way to go, especially since it's *supposed" to work on Darwin. |
For more info, see discussion starting here: NixOS#39150 (comment)
Great, thanks! |
Success on aarch64-linux (full log) Attempted: rw Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: rw Partial log (click to expand)
|
No attempt on x86_64-darwin (full log) The following builds were skipped because they don't evaluate on x86_64-darwin: rw Partial log (click to expand)
|
Thanks! |
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)