| 1 Jul 2025 |
Alyssa Ross | Layering violation | 14:36:37 |
Alyssa Ross | The rust-hypervisor-firmware package is also doing something deeply wrong (reimporting Nixpkgs) and as a result hasn't worked for the majority of time it's been in Nixpkgs. It's not a good example of what we'd like to accommodate. The only reason it was done that way was that at the time our normal Rust compiler couldn't build for embedded targets due to an upstream bug that has since been fixed. | 14:36:38 |
dramforever | okay let's put aside rust-hypervisor-firmware for now, and focus on why i want to merge rustcTarget and cargoShortTarget | 14:41:29 |
dramforever | you say that you disagree that almost nobody gets it right? | 14:41:48 |
dramforever | maybe i was being hyperbolic but from what i read it seems random on which one users end up going for | 14:42:36 |
niklaskorz | In reply to @niklaskorz:matrix.org right, thanks! I’ll start with the Rust 1.86 -> 1.87 commit then fyi I can't reproduce the long build durations anymore now and I didn't know hydra build durations vary a lot in general, I'll just blame the current heat wave and thermal throttling 🫠 | 14:43:05 |
Alyssa Ross | Then let's fix the packages using the wrong one that people might copy and paste from, and improve the documentation to lead people to the right one. | 14:43:17 |
dramforever | for example, target/${stdenv.hostPlatform.rust.rustcTargetSpec}/ vs target/${stdenv.hostPlatform.rust.cargoShortTarget}/ | 14:43:18 |
dramforever | * for example, target/${stdenv.hostPlatform.rust.rustcTarget}/ vs target/${stdenv.hostPlatform.rust.cargoShortTarget}/ | 14:43:27 |
Alyssa Ross | Well that one actually is already clearly documented | 14:43:37 |
dramforever | or even target/${stdenv.hostPlatform.rust.rustcTargetSpec}/ | 14:43:40 |
Alyssa Ross | So not sure we can do too much about that. I don't think we can merge them because they're fundamentally different things. | 14:43:55 |
dramforever | wait, i don't understand what rustcTarget is then | 14:46:40 |
Alyssa Ross | Away from computer for a moment but it's very rare for rustcTarget to be the right thing. | 14:53:49 |
Alyssa Ross | I think "--set=target.${stdenv.hostPlatform.rust.rustcTarget}" would be a correct use of rustcTarget | 15:12:43 |
Alyssa Ross | in rustc.nix | 15:12:51 |
Alyssa Ross | But I'm getting more confused the more I look at it | 15:14:33 |
Alyssa Ross | I would like to understand what the process of configuring the rustc build for a custom target looks like | 15:16:20 |
Alyssa Ross | and I'm also now less certain than I was that they couldn't be unified | 15:16:51 |
emily | perfect time to hack on custom JSON targets for Nixpkgs | 15:17:01 |
Alyssa Ross | Oh yes please | 15:17:22 |
emily | no no I meant you | 15:17:40 |
dramforever | i just wanted to enable frame pointers for rust | 15:27:39 |
Alyssa Ross | you can do that though? | 15:28:33 |
Alyssa Ross | that's totally orthogonal to this | 15:28:36 |
dramforever | yes, i can do that, i meant that as more of a "and now i'm down this rabbit hole" | 15:29:27 |
Alyssa Ross | ah, right :) | 15:31:04 |
dramforever | especially if we're sure that r-h-f can just be broken sometimes | 15:31:44 |
dramforever | wait, if i drop the lib change in https://github.com/NixOS/nixpkgs/pull/420797, we're left with an eval error on rust-hypervisor-firmware | 15:33:53 |
dramforever | is that okay? | 15:33:55 |