!ayCRiZriCVtuCUpeLp:nixos.org

Nix Cross Compiling

580 Members
127 Servers

Load older messages


SenderMessageTime
27 Apr 2025
@codesupply:matrix.orgAndrew BruceI mean obviously I'd love for this to work, but rn I want my new printer to spring into life :)13:47:38
@codesupply:matrix.orgAndrew BruceIt looks like maybe that upstream project wants to do on-the-fly compilation or something which could mean trouble13:48:29
@k900:0upti.meK900Uhh OK13:48:36
@codesupply:matrix.orgAndrew BruceIt's this if you're interested: https://github.com/Klipper3d/klipper/blob/master/klippy/chelper/__init__.py13:48:41
@k900:0upti.meK900Yeah klipper cross is going to be a huge pain13:48:44
@k900:0upti.meK900Yes I just found that13:48:49
@codesupply:matrix.orgAndrew Brucefeels like the same sort of issue I deal with in a 2nix I've written where some packages want to get clever13:50:11
28 Apr 2025
@rhelmot:matrix.orgrhelmottrying to build pkgsCross.mingwW64.buildPackages.at-spi2-core on an aarch64-linux machine tries to pull in wine64 for some reason and refuses to eval - seems to be splicing related?00:09:36
@rhelmot:matrix.orgrhelmotI could be wrong. gobject-introspection has gotten me with its labrynthine tendrils before00:14:20
@rhelmot:matrix.orgrhelmotoh my god, WHY does gobject-introspection-wrapper use targetPackages. this isn't accounted for by the standard guard about whether to enable introspection for a given project???00:22:39
@rhelmot:matrix.orgrhelmot okay this seems to be the actual minimal issue: pkgsCross.mingwW64.stdenv.targetPlatform.emulatorAvailable pkgs throws instead of returning false. is this intended? 00:51:56
@artturin:matrix.orgArtturin
In reply to @rhelmot:matrix.org
I could be wrong. gobject-introspection has gotten me with its labrynthine tendrils before
Yeah its weird, and I wrote it lol, luckily buildroot had it working before us so I could copy some of their stuff
05:10:01
@artturin:matrix.orgArtturin
In reply to @rhelmot:matrix.org
okay this seems to be the actual minimal issue: pkgsCross.mingwW64.stdenv.targetPlatform.emulatorAvailable pkgs throws instead of returning false. is this intended?
The issue should be that emulatorAvailable doesn't check for the actual availability of the package
06:02:55
@rhelmot:matrix.orgrhelmotI ended up adding an additional clause that checked if the host was x86_64 linux before returning wine, and that seems to have worked06:12:08
@artturin:matrix.orgArtturin
index ce257d5307b6..57cc5189fa3e 100644
--- 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:15
@rhelmot:matrix.orgrhelmot👀06:15:45
@artturin:matrix.orgArtturin* --- 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
@artturin:matrix.orgArtturin* ``` --- 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
@artturin:matrix.orgArtturin* ``` --- 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
@artturin:matrix.orgArtturin* ``` --- 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
@rhelmot:matrix.orgrhelmotif you submit a patch I'll test it06:18:25
@qyliss:fairydust.spaceAlyssa Ross lib.meta.availableOn pls 06:43:48
@artturin:matrix.orgArtturin Maybe like this availableOn pkgs.stdenv.buildPlatform wine 06:47:09
@artturin:matrix.orgArtturin Or wine.stdenv.buildPlatform 06:48:39
@fliegendewurst:matrix.orgFliegendeWurst funny error message I just got: checking bits per byte... configure: error: failed to compile test program
Interestingly 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
@grimmauld:grapevine.grimmauld.deGrimmauld (any/all)when will we have cross-compilation for WITCH, the computer that does 9 bits per byte (sign + 8 actual bits)06:44:23
@rosssmyth:matrix.orgrosssmythOr the Apollo Guidance Computer, which was 15 bits per word (which is for all intents and purposes a byte)16:28:46
@k900:0upti.meK900/me laughs in Setun16:29:30
@k900:0upti.meK90018 trit per word16:29:41
@k900:0upti.meK900Yes, trit16:29:44

Show newer messages


Back to Room ListRoom Version: 6