Nix Rust | 700 Members | |
| Rust | 155 Servers |
| Sender | Message | Time |
|---|---|---|
| 21 May 2025 | ||
| 19:15:40 | ||
| 21:30:01 | ||
| 22 May 2025 | ||
| I'm mostly happy with fetchCargoVendor, though I worry about the impact on the cache: I wish there was a way to force hydra to not cache certain packages. There is I guess this could also be handled by content-addressed derivations... Note: there are >2000 rust-based packages in nixpkgs currently Question 1: What do you all think, how bad is this problem? | 00:15:18 | |
| you can fetch the NAR | 09:00:12 | |
| shouldn't the non-FOD part mostly just be a bunch of symlinks? | 09:00:22 | |
Alyssa Ross: do you have a preference between the diffs of https://github.com/NixOS/nixpkgs/pull/408710/files and https://github.com/NixOS/nixpkgs/pull/407790/files? they both fix pkgsStatic.buildPackages.rustc on Darwin, and they'll both leave some other cases unavoidably silently weird/broken (I think maybe slightly different cases between them). the original PR no longer depends on pkgsStatic. it's a bit more noisy but saves a rustc build. the other one is a smaller diff / fewer moving parts, but the ordering change is sort of unprincipled (albeit I think likely to make the build go through in strictly more cases than the status quo) | 09:02:30 | |
| I don't think I mind either | 09:06:36 | |
| I'd still really like to see the custom target specs eventually | 09:06:50 | |
| Consider them both acked | 09:06:59 | |
| me too, but cleaning up Rust is more work than I have the capacity for right now :( | 09:08:32 | |
honestly we should really build std in a separate derivation always, I think | 09:08:40 | |
| and with the right platform triples | 09:08:43 | |
rather than building a "rustc" that is actually just the target platform std | 09:08:54 | |
| IIRC @Ericson2314:matrix.org didn't think it was possible some time in the past | 09:10:08 | |
why not? it's exactly what fastCross does, right? | 09:11:25 | |
like fastCross could just not link in the rustc in installation phase, and swizzle around the targets that it passes, and then we could wrap them together later | 09:12:09 | |
I guess the problem is that the non-cross compiler would still want to build the target std | 09:12:28 | |
-Zbuild-std at least helps… | 09:12:39 | |
| One day we'll have cargo-std-aware | 09:13:08 | |
patch Rust to accept -Zbuild-std on stable, do separate-Rust-crate-packaging, make std one of them 🙃 | 09:13:14 | |
| One day | 09:13:15 | |
it'll be awful with the current Rust packaging scheme. because we would build std for every single application | 09:13:38 | |
| oh, I guess not because the FOD is compressed, right? Toma: why do we compress the FOD again? | 12:08:43 | |
| anyway, maybe we could move the unpacking of the FOD into the actual Rust package build? | 12:08:54 | |
| We'd need to do fetchCargoVendor2 for that | 12:13:56 | |
| It is compressed, because it is how they are downloaded, and it is also not uncompressed so that we don't have file system case sensitiveness bite us with different hashes | 12:13:59 | |
| (Which doesn't mean we shouldn't) | 12:14:06 | |
| ah right | 12:14:12 | |
| fair | 12:16:26 | |
In reply to @tomasajt:matrix.orgAlso, just in general, the goal was to have the dumbest possible FOD logic so that under no circumstance will the hash break. | 12:16:29 | |