As a nix-darwin user, I was happy living on unstable for a while, until I started getting more build issues than I liked… so I decided to switch to a release channel for more stability - nixpkgs-24.05-darwin
Things were good for a while, but an issue was introduced into this release channel which affected the swift package, which has prevented me from doing a darwin-rebuild switch for about ~2 months now: Build failure: swift · Issue #327836 · NixOS/nixpkgs · GitHub
On trunk, 3/4 platforms cannot build the swift package:
- Hydra - nixpkgs:trunk:swiftPackages.swift-unwrapped.aarch64-darwin
- Hydra - nixpkgs:trunk:swiftPackages.swift-unwrapped.aarch64-linux
- Hydra - nixpkgs:trunk:swiftPackages.swift-unwrapped.x86_64-darwin
- Hydra - nixpkgs:trunk:swiftPackages.swift-unwrapped.x86_64-linux
And this may be fine and expected for a trunk branch (I don’t know), but but what is most concerning for me, is that platforms on the RELEASE branch are affected:
- Hydra - nixpkgs:nixpkgs-24.05-darwin:swiftPackages.swift-unwrapped.x86_64-darwin
- Hydra - nixpkgs:nixpkgs-24.05-darwin:swiftPackages.swift-unwrapped.aarch64-darwin
Some people have submitted patches to help try and fix the issue, but the problem remains - builds remain broken on hydra for a long time now. There’s been several calls to the maintainers for help, but as far as I can see they haven’t responded. I know maintainers have lives and may be busy, but it’s a long time for a core package to remain broken imo
So I suppose for me, my gripe is that I switched to a release branch for stability, but I’ve found that it’s not stable. Shouldn’t the goal of release branches be stability, above all else? Should the changes that introduced these build failes have been prevented from being merged? Or am I doing it wrong, and should I be doing something differently?
Here’s my system info:
$ nix-shell -p nix-info --run "nix-info -m"
- system: `"x86_64-darwin"`
- host os: `Darwin 19.6.0, macOS 10.15.7`
- multi-user?: `yes`
- sandbox: `no`
- version: `nix-env (Nix) 2.18.2`
- channels(root): `"nixpkgs-24.05-darwin"`
- nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixpkgs