| 13 Nov 2024 |
Randy Eckenrode | The Darwin stdenv uses functions to group overrides for the stdenv bootstrap (and provide consistency between stages). That stuff is new with the rework. The wrapper won’t be overlaid because it’s not in those functions. | 18:16:27 |
Randy Eckenrode | Darwin bintools can target either Darwin platform, so it probably ought to be overlaid as well (but not the wrapper, of course). | 18:17:02 |
Randy Eckenrode | Of course, once the LLVM/Clang fixes are merged. | 18:17:20 |
Tristan Ross | I'll try taking a look at those PR's tonight and tomorrow | 19:18:46 |
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 |