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
