Hacker News new | ask | show | jobs
by rokgarbas 3672 days ago
the major reason for poor package support is low number of osx users (hydra - nix build farm - builds binaries also for osx).
2 comments

I've started looking at this. Part of the problem is that nix wants (reasonably) to do "everything itself", including (for example) bundling the OS X SDKs itself.

At the moment that's broken (the 10.9 SDK is installed in 10.11, then links against some 10.11 libraries, which is blocking mplayer). I don't have the knowledge to fix it.

homebrew and fink have had the same problem (deciding when to link against system libraries and when to try to rebuild) -- hopefully nix will get over this hurdle.

The correct answer for Nix is to never link against a library provided by the system. Nix provides its own bootstrap binaries and it must be done that way for the sake of reproducibility.
This is exactly what Nix does, but not all libraries are currently 'Nixified', and the ones which are aren't consistent.

Apple doesn't help this -- they want you to just install xcode and the most recent SDK and nothing else.

well, there's xcode-select to chose the SDK you want which kinda implies the availability of multiple – currently for example swift 2.2 and 3.0.

I'm tempted by the "1-environment" idea but homebrew has done such an excellent job in comparison to fink/port, I';; stay loyal. Also wondering if those two projects couldn't profit from some code sharing?

Is it possible to avoid bundling old sdk and use the one installed instead by xcode instead? Or it would require too much troubles?

EDIT: completed sentence

We used to be more impure on osX, but that was also hard to maintain so a bunch of work was done over the past year.

Better CI + critical mass of maintainers (and that's just a few more) is all we need now.

Out of interest, how'd you get your OS X builds set up? I had to do quite a lot of searching before I found a company [2] willing to lend PureDarwin [1] a box for a while.

[1]: https://github.com/PureDarwin/PureDarwin

[2]: https://www.macstadium.com/ (thanks!)