| 13 Nov 2024 |
p14 | I'd appreciate any input on ideas for where I might put an assert / how to implement an assert that clang.cc == pkgsStatic.stdenv.cc.cc == pkgsLLVM.stdenv.cc.cc for https://github.com/NixOS/nixpkgs/pull/355532. I figure I can't just put one in the expression for every eval since we don't want to be evaluating stuff unnecessarily, so presumably it should go into a release test of some sort; but is there anything I can use for precommit? | 19:56:39 |
emily | I think it could go into stdenv. that doesn't sound like an expensive check to eval all the time | 20:03:44 |
emily | though it should probably be .outPath | 20:03:50 |
emily | since comparing derivations is mildly evil I think | 20:03:56 |
p14 | +1 on outPath; but I'm thinking that evaling some cross derivation surely involves a substantial amount of additional eval you otherwise don't need. | 20:13:20 |
emily | oh, sorry, I only skimmed the message and missed the cross package sets | 20:13:52 |
emily | yeah that wouldn't be good | 20:13:54 |
emily | maybe it's a pkgs/test type thing? | 20:14:02 |
emily | for hooks, I mean – you could just nix eval | 20:14:26 |
emily | assuming you just mean for your local purposes | 20:14:31 |
p14 | I mean I'd like to defend the effect of that PR: to ensure we don't actually regress it. | 20:18:47 |
p14 | Ideally in pre-commit. | 20:19:06 |
emily | we don't do pre-commit | 20:19:41 |
emily | but you could put it in CI | 20:19:44 |
emily | probably ofborg is the appropriate place but contributing to ofborg is ? | 20:20:01 |
emily | (also, doing an eval of three package sets every time anyone commits ever is definitely too intrusive/expensive :) ) | 20:20:29 |
p14 | Don't need the whole set, merely the compiler. For what it's worth. But, yeah. | 20:26:11 |
| Inayet joined the room. | 22:15:50 |
sterni | In reply to @emilazy:matrix.org since comparing derivations is mildly evil I think nothing evil about it https://github.com/NixOS/nix/blob/03dc3c57693ab64bac6258834fd36b55b723fc33/src/libexpr/eval.cc#L2738-L2746 | 22:49:54 |
emily | that's kind of an evil special-case. but okay, I was afraid it was more like comparing platforms | 22:50:41 |
sterni | functions in platform sets was unironically the best accidental feature ever | 22:53:16 |
sterni | it had the perfect semantics for the equality check between localSystem and crossSystem | 22:53:33 |
sterni | now everything's broken | 22:53:37 |
sterni | you can't do native cross anymore, nixpkgs has become like the build systems it used to fight | 22:54:19 |
sterni | like you have to pass crossOverlays = [ (self: super: {}) ] which is just stupid | 22:57:45 |
emily | by "native cross", you mean always-cross? | 23:03:07 |
Artturin | We need to resurrect https://github.com/NixOS/nixpkgs/pull/238331 | 23:03:12 |
emily | I'd rather just do always-cross always. | 23:03:26 |
sterni | Artturin: indeed because you can't reintroduce native cross now because of function equality or at least it'd be very weird | 23:11:04 |
sterni | hmm scratch that actually it'd probably just be like before | 23:11:52 |