| 15 Nov 2025 |
dramforever | * oh no, same-"triple" cross compilation | 17:01:15 |
Grimmauld (any/all) | qt6 was very confused about these platform shenanigans, but that was at least fixable with hacks | 17:04:40 |
Grimmauld (any/all) | jq and the rust things that require linking are giving me HELL | 17:04:52 |
Grimmauld (any/all) | with jq i can at least switch to yq-go, but i am at a loss about what to do with the rust things | 17:05:16 |
dramforever | you can't really fix this | 17:06:31 |
dramforever | and honestly our own cc-wrapper environment variables sort of have the same problem | 17:06:47 |
Grimmauld (any/all) | setting the same platform definition as i have on host into build has other errors | 17:07:52 |
dramforever | one cursed solution is to cross to x86_64-cross-linux-musl but this still doesn't fix rust... unless you're interested in doing custom targets | 17:08:03 |
Grimmauld (any/all) | oh god | 17:08:18 |
Grimmauld (any/all) | Setting this:
let
musl-gcc = inputs.nixpkgs.lib.systems.elaborate "x86_64-unknown-linux-musl";
musl-llvm = inputs.nixpkgs.lib.recursiveUpdate musl-gcc {
useLLVM = true;
linker = "lld";
config = "x86_64-unknown-linux-musl";
};
in
{
nixpkgs.buildPlatform = musl-llvm;
nixpkgs.hostPlatform = musl-llvm;
}
breaks too:
fetching git input 'git+file:///home/grimmauld/musl-vm'
error:
… while calling the 'seq' builtin
at /nix/store/dndmsb8w6cxy8qncmkigdy2pii16j07x-nixpkgs-patched/lib/modules.nix:361:18:
360| options = checked options;
361| config = checked (removeAttrs config [ "_module" ]);
| ^
362| _module = checked (config._module);
… while evaluating the attribute 'unmatchedDefns'
at /nix/store/dndmsb8w6cxy8qncmkigdy2pii16j07x-nixpkgs-patched/lib/modules.nix:894:7:
893| # Transforms unmatchedDefnsByName into a list of definitions
894| unmatchedDefns =
| ^
895| if configs == [ ] then
(stack trace truncated; use '--show-trace' to show the full trace)
error: attribute 'version' missing
at /nix/store/dndmsb8w6cxy8qncmkigdy2pii16j07x-nixpkgs-patched/pkgs/stdenv/linux/default.nix:560:51:
559| pname = prevStage.bintools.bintools.pname + "-patchelfed-ld";
560| inherit (prevStage.bintools.bintools) version;
| ^
561| passthru = { inherit (prevStage.bintools.passthru) isFromBootstrapFiles; };
So thats no option either | 17:10:13 |
dramforever | that's... interesting | 17:11:31 |
dramforever | although it makes sense, it's no longer cross, and we don't have musl-llvm bootstrap files | 17:11:47 |
Grimmauld (any/all) | thats fair i guess | 17:11:58 |
dramforever | although | 17:13:33 |
dramforever | how bad would it be if we remove the lib.optionalString (rustTargetPlatform != rustHostPlatform) condition | 17:13:58 |
Grimmauld (any/all) | in what file? | 17:14:13 |
dramforever | the file you linke | 17:14:23 |
dramforever | * the file you linked | 17:14:25 |
dramforever | last section | 17:14:27 |
Grimmauld (any/all) | right | 17:14:35 |
dramforever | * last part in highlight section | 17:14:36 |
Grimmauld (any/all) | let me try! | 17:14:38 |
dramforever | this just causes the same problem in the other direction right | 17:14:59 |
Grimmauld (any/all) | we'll see! | 17:16:46 |
Grimmauld (any/all) | i mean i did already find a couple fun packaging bugs | 17:17:12 |
Grimmauld (any/all) | like qt6 completely exploding on a cross setup where the host platform can be executed from the build platform | 17:17:34 |
Grimmauld (any/all) | that one is super broken | 17:17:39 |
Grimmauld (any/all) | and networkmanager using broken linker scripts | 17:17:50 |
Grimmauld (any/all) | anyways, i'll be here a while until i get to alacritty | 17:18:11 |
Grimmauld (any/all) |  Download image.png | 17:18:12 |