Nix Cross Compiling | 581 Members | |
| 127 Servers |
| Sender | Message | Time |
|---|---|---|
| 28 Apr 2025 | ||
| * --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -380,7 +380,7 @@ let # arguments, a wrapper should be used. if pkgs.stdenv.hostPlatform.canExecute final then lib.getExe (pkgs.writeShellScriptBin "exec" ''exec "$@"'') - else if final.isWindows then + else if final.isWindows && wine.meta.available then "${wine}/bin/wine${optionalString (final.parsed.cpu.bits == 64) "64"}" else if final.isLinux && pkgs.stdenv.hostPlatform.isLinux && final.qemuArch != null then "${pkgs.qemu-user}/bin/qemu-${final.qemuArch}" | 06:15:52 | |
| * ``` --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -380,7 +380,7 @@ let # arguments, a wrapper should be used. if pkgs.stdenv.hostPlatform.canExecute final then lib.getExe (pkgs.writeShellScriptBin "exec" ''exec "$@"'') else if final.isWindows then else if final.isWindows && wine.meta.available then "${wine}/bin/wine${optionalString (final.parsed.cpu.bits == 64) "64"}" else if final.isLinux && pkgs.stdenv.hostPlatform.isLinux && final.qemuArch != null then "${pkgs.qemu-user}/bin/qemu-${final.qemuArch}" ``` | 06:16:14 | |
| * ``` --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -380,7 +380,7 @@ let # arguments, a wrapper should be used. if pkgs.stdenv.hostPlatform.canExecute final then lib.getExe (pkgs.writeShellScriptBin "exec" ''exec "$@"'') - else if final.isWindows then + else if final.isWindows && wine.meta.available then "${wine}/bin/wine${optionalString (final.parsed.cpu.bits == 64) "64"}" else if final.isLinux && pkgs.stdenv.hostPlatform.isLinux && final.qemuArch != null then "${pkgs.qemu-user}/bin/qemu-${final.qemuArch}" leo@nixos ~/nixpkgs (git)-[master] % | 06:16:56 | |
| * ``` --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -380,7 +380,7 @@ let # arguments, a wrapper should be used. if pkgs.stdenv.hostPlatform.canExecute final then lib.getExe (pkgs.writeShellScriptBin "exec" ''exec "$@"'') - else if final.isWindows then + else if final.isWindows && wine.meta.available then "${wine}/bin/wine${optionalString (final.parsed.cpu.bits == 64) "64"}" else if final.isLinux && pkgs.stdenv.hostPlatform.isLinux && final.qemuArch != null then "${pkgs.qemu-user}/bin/qemu-${final.qemuArch}" | 06:17:22 | |
| if you submit a patch I'll test it | 06:18:25 | |
lib.meta.availableOn pls | 06:43:48 | |
Maybe like this availableOn pkgs.stdenv.buildPlatform wine | 06:47:09 | |
Or wine.stdenv.buildPlatform | 06:48:39 | |
funny error message I just got: checking bits per byte... configure: error: failed to compile test programInterestingly enough it does use the detected value in a sensible way, in exactly two places.. but I'd bet it assumes 8 bits/byte in at least one other place. | 22:09:11 | |
| 29 Apr 2025 | ||
| when will we have cross-compilation for WITCH, the computer that does 9 bits per byte (sign + 8 actual bits) | 06:44:23 | |
| Or the Apollo Guidance Computer, which was 15 bits per word (which is for all intents and purposes a byte) | 16:28:46 | |
| /me laughs in Setun | 16:29:30 | |
| 18 trit per word | 16:29:41 | |
| Yes, trit | 16:29:44 | |
| 1 May 2025 | ||
| 20:08:33 | ||
| 23:18:35 | ||
| 6 May 2025 | ||
| I was messing around trying to see if I could build a stdenv with gcc-arm-embedded last night. Feels like it should be possible, but I'm unsure of the exact incantation to do so. I'm starting with an embedded stdenv, then trying to override it. The first issue that apparently cc-wrapper complain if your target platform is not linux or darwin, so I have to pass I've tried it two ways: One using You can find my progress so far here: If anyone has tried this in the past, let me know if you may know how to wrangle it into shape | 16:50:03 | |
| 7 May 2025 | ||
| 07:55:08 | ||
is there any way to get a pkgs instance where buildPlatform != hostPlatform != targetPlatform? | 20:30:56 | |
| I don't think so | 20:37:40 | |
I'm trying to map how pkgs<host><target> packages are offset inside another pkgs<host><target> and it would really help with understanding | 20:58:45 | |
| it don't actually need to build anything | 20:59:51 | |
| Are you trying to do Canadian cross | 21:09:37 | |
| Also can we PLEASE kill targetPlatform | 21:09:43 | |
| Yes I will keep bringing this up | 21:09:50 | |
I'm trying to wire up a spliced package set with makeScopeWithSplicing that is not overlayed on top of pkgs. Usually you would wire it up with generateSplicesForMkScope, but that's not an option here. You can wire up otherSplices naively with recursion, but that explodes evaluation very quickly, as it unnecessarily evaluates against the same pkgs<host><target> instances. | 21:20:43 | |
I was very stupidly confused about this even though there are only two kinds of "offsets" in the end. I just couldn't figure out which sense is meant in any particular place. TLDR: Offsets in Nixpkgs manual are points, but {host,target}Offsets in setup-hooks are vectors | 21:21:51 | |
| This is my understanding of how perspective shifts, but I could be very wrong: https://gist.github.com/szlend/62bfa710ff89b7dc3a871693ca34c94c | 21:22:38 | |
| So I kinda wanna confirm it :D | 21:22:45 | |
Does root refer to the current derivation? | 21:25:44 | |