4 ms·
I'm guessing one of the major reasons more packages are "broken" for macos is there is a CI system running for linux/nixos (travis) and not one for macos. So ma
by ris 10y ago
I'm guessing one of the major reasons more packages are "broken" for macos is there is a CI system running for linux/nixos (travis) and not one for macos. So macos breakages can slip in easily.
If a passionate mac advocate wanted to take on the responsibility of setting up & running a CI machine and hooking it up to the github PRs, I can only imagine it being a good thing...
- _query 10y agoGood suggestion. Looks like travis already has an OS X build environment[0]. So technically it should be doable :) [0]: https://docs.travis-ci.com/user/osx-ci-environment/ https://docs.travis-ci.com/user/osx-ci-environment/
- hk__2 10y agoYes Travis CI supports OS X and we used it for a while for Homebrew.
- Ericson2314 10y agoThe real solution is we need to use our CI, Hydra, to build all PRs. Now Travis doing this is interesting because last time people looked there was no hosting for OS X that wasn't ridiculously expensive, so we've literally had people donate Mac Minis.
- rokgarbas 10y agothe major reason for poor package support is low number of osx users (hydra - nix build farm - builds binaries also for osx).
- CJefferson 10y agoI'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.
- mseri 10y agoIs 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
- Ericson2314 10y agoWe 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.
- davexunit 10y agoThe 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.
- CJefferson 10y agoThis 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.
- matt4077 10y agowell, 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?
- voltagex_ 10y agoOut 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 https://github.com/PureDarwin/PureDarwin [2]: https://www.macstadium.com/ https://www.macstadium.com/ (thanks!)