-
-
Notifications
You must be signed in to change notification settings - Fork 15.5k
Support High Sierra on Darwin #27318
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
Conversation
The main changes are in libSystem, which lost the coretls component in 10.13 and some hardening changes that quietly crash any program that uses %n in a non-constant format string, so we've needed to patch a lot of programs that use gnulib.
@copumpkin, thanks for your PR! By analyzing the history of the files in this pull request, we identified @pikajude, @Ericson2314, @LnL7 and @copumpkin to be potential reviewers. |
Note that testing this on 10.13 is still pretty tricky until we have a working Nix build based on this branch. |
@copumpkin do you have 10.13? We could prepare Nix installer using this branch. |
Yeah, running in a VM. How do I prepare an installer? |
In Nix repo:
Where foo is the checkout of this branch. Then download nixos.org/nix/install and replace the location of the tarball with the result built and hosted somewhere :) |
Everything looks good on 10.11 |
Thanks @LnL7! Okay, so anyone who wants to test it on 10.13 can use this magic installer link hosted on my very reputable Dropbox account and gist 😉 curl https://gist.githubusercontent.com/copumpkin/8373ae6c89236989ae4296771ba5aa14/raw/684cd2edb9b250d24f8737a17a7295b1142e6651/nix-install.sh | sh This will install Nix 1.12 not because it needs 1.12 but because that's what @domenkozar's PR did and I was too lazy to cherry-pick it over to 1.11 maintenance 😄 Also, the default channel it downloads will be wrong (it'll point to expressions that don't support 10.13 and download binary cache binaries that crash), so after you install it you should point your nixpkgs against the tree in this PR. P.S: I also had to patch out the weird |
What's the right thing to do to point |
@jhenahan I think you should be able to add https://github.com/copumpkin/nixpkgs/archive/darwin-high-sierra.tar.gz as your nixpkgs channel! If that doesn't work, you can just git clone, check out this revision, then repoint |
@copumpkin That did seem to work. Everything's rebuilding right now, but things seem to be working so far. Thanks. 👍 |
Okay, if there are no objections or further testers, I'm going to merge this in a few hours. |
@copumpkin note that in order to use this for next Nix release, we need to backport it to 17.03 branch. Otherwise it will have to wait until NixOS 17.09. another reason for #25479 |
@domenkozar good point, but I don't have time right now to try it out on 17.03. If anyone wants to try cherry-picking and making a PR for that I'd appreciate it. I'd still like to merge this to master today if nobody objects |
Hello, I am trying to move to Nix from homebrew, I was able to install nix with the link provided above, but I am unable to install stack because I get the same issues with libcoretls. What I have tried:
Trying to install stack fails with what it seems to be the same issue related to the installer not working.
PS: Another thing I noticed is that it tries to install stack 1.4 instead of 1.5 |
@oforero is your clone on the Feel free to swing by ##nix-darwin on freenode IRC if you want more help (but probably not right now since most of us are asleep 😄) |
|
I cloned the official repo instead of @copumpkin's fork. And switch the branch to staging. Now it proceeds a lot more and then fails in a different way:
I guess it is the price to pay for being in Beta. I think I have to spend some more time learning the basics of nix. |
Sierra release is on 19th September, so we can wait for 17.09 branch, fix bugs there and make another Nix release. |
@edolstra can we switch to 17.09 branch for building Nix 1.11 maintenance branch? |
I switched the master branch to 17.09. It doesn't build on Darwin: https://hydra.nixos.org/eval/1389529 |
It looks like @NeQuissimus upgraded coreutils (in 17.09 and staging) which broke the patch we apply for High Sierra compatibility (by making it unnecessary, presumably). I'm out and about right now but if someone just wants to just kill that darwin patch on staging and 17.09, I'd expect that to fix it. |
Looks like we merged from staging too eagerly :) I do not have a Darwin machine handy, so somebody else will need to take a look at it :( |
there is a binary tarball now in |
Motivation for this change
An upcoming macOS 10.13 release breaks the current nixpkgs. This should fix it. Please test on 10.11, 10.12, and even 10.10 (which is a best effort, but should still probably work).
Should fix NixOS/nix#1414 NixOS/nix#1451 once this flows through to the Nix build.
This could be done without a linux mass-rebuild, but I figured I'd just send to staging since that lets me use
lib.optional
rather thannull
in derivation attributes.Things done
(nix.useSandbox on NixOS,
or option
build-use-sandbox
innix.conf
on non-NixOS)
nix-shell -p nox --run "nox-review wip"
./result/bin/
)