!lheuhImcToQZYTQTuI:nixos.org

Nix on macOS

1208 Members
“There are still many issues with the Darwin platform but most of it is quite usable.” — http://yves.gnu-darwin.org196 Servers

Load older messages


SenderMessageTime
9 May 2026
@emilazy:matrix.orgemilywell, not partial substitution necessarily16:44:17
@emilazy:matrix.orgemilycards on the table, I genuinely thought the partial outputs thing would be a total red herring and I'm still suspicious of just-so stories around substitution failures16:44:30
@emilazy:matrix.orgemilybut partial output presence at least seems plausible16:44:49
@reckenrode:matrix.orgRandy EckenrodeI’ve had codesigning break during local builds. I’m skeptical that it’s Hydra causing the issue.16:46:41
@reckenrode:matrix.orgRandy Eckenrode The most common one in local builds is xmllint getting broken. 16:46:53
@emilazy:matrix.orgemilyI gave a reproducer for the FFmpeg case16:47:00
@emilazy:matrix.orgemilypretty sure you could go from scratch to the same result with zero Hydra16:47:08
@emilazy:matrix.orgemilythe log for FFmpeg shows that there was path rewriting going on and that does indeed break the build16:47:25
@emilazy:matrix.orgemilyfor fish, though, I don't know16:47:30
@reckenrode:matrix.orgRandy EckenrodeIf I’m understanding correctly, then should this be reproducible for any multi-output derivation if you install one output from the cache then build another with substituters disabled?16:58:06
@reckenrode:matrix.orgRandy EckenrodeOr build something then delete the alternate paths. Hmm.17:00:12
@reckenrode:matrix.orgRandy Eckenrode * 17:00:25
@reckenrode:matrix.orgRandy EckenrodeThat reproduced it.17:00:41
@emilazy:matrix.orgemilyokay it does explain fish too: https://github.com/NixOS/nix/pull/15638#issuecomment-4413076030 (but not the difference in logs between the two)17:08:31
@emilazy:matrix.orgemily libxml2 has multiple outputs and probably the vast majority of things pull in the library and not the bin output, so if the bin output gets GC'd then libxml2 gets rebuilt and xmllint gets mangled, say? 17:09:45
@k900:0upti.meK900Honestly why the fuck are fallback paths real17:15:45
@k900:0upti.meK900Can we not somehow sandbox them away17:15:57
@emilazy:matrix.orgemilybecause no FS namespaces on macOS17:16:02
@k900:0upti.meK900So is the answer just literally no?17:16:20
@emilazy:matrix.orgemilyyou would have to ban builds when any outputs are present17:16:25
@emilazy:matrix.orgemilywhich might be okay in practice17:16:29
@emilazy:matrix.orgemilywould also likely mean not GCing outputs separately probably17:16:45
@k900:0upti.meK900For Hydra it's probably fine to just kill the outputs in a prebuild hook or something17:16:57
@emilazy:matrix.orgemilywell no since other things could depend on them17:17:03
@emilazy:matrix.orgemily but they should just get substituted 17:17:07
@reckenrode:matrix.orgRandy Eckenrode

Yeah. Found a leaf package that can be used to reproduce.

$ nix build --no-link -f . darwin.dyld
$ nix store delete $(nix eval --raw -f . darwin.dyld.out)
1 store paths deleted, 2.92 MiB freed

$ nix build --no-link -f . darwin.dyld
$ result/bin/dsc_extractor
fish: Job 1, 'result/bin/dsc_extractor' terminated by signal SIGKILL (Forced quit)
17:17:09
@emilazy:matrix.orgemilythe question is why that's not happening. it could be an upload-side issue17:17:12
@emilazy:matrix.orgemily I've asked about it in #infra:nixos.org 17:17:16
@reckenrode:matrix.orgRandy Eckenrode *

Yeah. Found a leaf package that can be used to reproduce.

$ nix build --no-link -f . darwin.dyld
$ nix store delete $(nix eval --raw -f . darwin.dyld.out)
1 store paths deleted, 2.92 MiB freed

$ nix build -f . darwin.dyld
$ result/bin/dsc_extractor
fish: Job 1, 'result/bin/dsc_extractor' terminated by signal SIGKILL (Forced quit)
17:17:18
@emilazy:matrix.orgemilybecause I don't know Hydra well enough to guess at the likely causes17:17:22

Show newer messages


Back to Room ListRoom Version: 6