Big thanks to pikajude, copumpkin, and anyone else. I really would like this to 
happen. As pikajude said I have been staying on impure because of compile times 
so if we could get hydra builds that would be awesome.

--
Brandon Martin


> On Sep 30, 2015, at 1:48 PM, Jude <[email protected]> wrote:
> 
> Hi all, pikajude here, maintainer of the pure-darwin stdenv in nixpkgs.
> 
> Over the past few days in ##nix-darwin, I've discovered that the impure 
> Darwin stdenv on master is broken for nearly everyone due to Xcode 7's 
> introduction of `.tbd` files for library stubs; see 
> https://forums.developer.apple.com/thread/4572 
> <https://forums.developer.apple.com/thread/4572>.
> 
> As far as I have been able to investigate, .tbd compatibility is an Xcode 
> 7-exclusive feature, and I'm not sure whether the changes required to use 
> them are open-source yet. There is a temporary fix to downgrade to Xcode 6.4, 
> but that will obviously only work for a limited time. For people who do use 
> Xcode, I don’t want to restrict them to an older version because our nixpkgs 
> stdenv completely fails at what it is intended to do.
> 
> This continues the precedent of OSX updates breaking parts of nixpkgs without 
> warning.
> 
> pure-darwin mitigates this problem because the entire compiler toolchain and 
> environment (save a symlink to libSystem, which won't be changing anytime 
> soon) is in the Nix store. If I can get approval, I would love to replace the 
> current Darwin stdenv with the pure one, because it would allow us to upgrade 
> our toolchain on our own terms, as well as work nicely alongside any Xcode 
> version a user would care to install.
> 
> I would also like to merge the pure stdenv because it will result in us 
> getting Hydra builds for it, which is the main roadblock that turns people 
> off of using pure-darwin. Having Hydra build the pure stdenv also gives us an 
> easy way to see which packages are broken on pure-darwin.
> 
> Answers to some common questions:
> 
> Q: Does pure-darwin fix the missing -lgcc_s.10.5 problem?
> A: Yes. In the Xcode update, libgcc_s.10.5.dylib was changed from a symlink 
> to /usr/lib/libSystem.dylib to a text-based library stub that (AFAIK) only 
> Xcode 7 can currently use. In pure-darwin, libgcc_s is still a symlink, so ld 
> will understand it just fine.
> 
> Q: Will pure-darwin break anything for me?
> A: Right now, probably. I’ve been largely the only pure-darwin maintainer for 
> a few months, and my time and ability to fix packages are limited. I welcome 
> you to try the pure-darwin stdenv to see if there are any broken packages. 
> Over the next few days I will be working on building every package that 
> claims to be Darwin-compatible, in order to weed out the remaining errors. 
> Most fixes are trivial. About half of the broken packages I encounter just 
> need to have libiconv added as a build input.
> 
> If breakages concern you, you can use the “replaceStdenv” feature of your 
> nixpkgs config to revert to the old stdenv for as long as necessary. Packages 
> built with either stdenv will coexist peacefully.
> 
> Q: Do I have to turn on the build sandbox to use pure-darwin?
> A: Not if you don’t want to. The sandbox is just an extra layer of security 
> to make sure that the outside world isn’t polluting our builds, but it 
> certainly isn’t mandatory. Even without the sandbox, your compiler will still 
> be using its own toolchain, which means that Xcode updates will not break it.
> 
> Q: How do I turn on the build sandbox?
> A: Add "build-use-chroot = true” to your /etc/nix/nix.conf. The sandbox is 
> not enabled by default.
> 
> Q: Anything else I need to know?
> A: In nix-1.10, the sandbox is very imperfect and will cause a lot of false 
> negatives. This causes building polyml and Haskell packages to fail, among a 
> few other things.
> 
> Nix pull request #562 (https://github.com/NixOS/nix/pull/562 
> <https://github.com/NixOS/nix/pull/562>) addresses these problems. If you 
> intend to make heavy usage of the sandbox feature, you should definitely use 
> the checkout of nix in that pull request until it gets merged into master.
> 
> Again, if you’re worried about the sandbox breaking builds, feel free to 
> disable it.
> 
> Please let me know if you have other questions.
> 
> Jude
> 
> PS: Sorry for double-post! I sent an email from my old address, which is now 
> stuck in the moderation queue.
> _______________________________________________
> nix-dev mailing list
> [email protected]
> http://lists.science.uu.nl/mailman/listinfo/nix-dev

_______________________________________________
nix-dev mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-dev

Reply via email to