!ayCRiZriCVtuCUpeLp:nixos.org

Nix Cross Compiling

488 Members
102 Servers

Load older messages


SenderMessageTime
19 May 2025
@k900:0upti.meK900But that's fine probably?13:39:47
@emilazy:matrix.orgemily isn't that just pkgsTargetTarget 13:40:39
@emilazy:matrix.orgemily or pkgsTargetWhatever because the Whatever never matters in that case 13:40:47
@emilazy:matrix.orgemily(if the target of your target-platform package matters you are living in sin)13:40:55
@k900:0upti.meK900 It does if you're doing Canadian cross 13:41:06
@emilazy:matrix.orgemilyno13:41:17
@emilazy:matrix.orgemilyat the time it matters it is the host-platform package's target13:41:25
@emilazy:matrix.orgemilythe target of a target-platform package would be like… the GCC build wants to bundle a JIT library so that the built GCC can link it into target-platform executables, and that JIT library itself wants to target some other target13:42:09
@emilazy:matrix.orgemily that's when pkgsTargetHost vs. pkgsTargetTarget vs. whatever would matter I think. thankfully those don't exist 13:42:32
@emilazy:matrix.orgemily but doesn't pkgsTargetTarget build on the build platform? 13:42:40
@emilazy:matrix.orgemilymaybe not. wow Nixpkgs sucks. wow splicing sucks13:42:48
@emilazy:matrix.orgemily if you can actually make having only pkgsOnBuild and pkgsOnHost and nothing else work correctly then I will be eternally grateful 13:43:22
@emilazy:matrix.orgemilyit'll also make GCC uglier and more annoying, which will be a great argument for switching to LLVM13:43:48
@k900:0upti.meK900No, pkgsTargetTarget is [host = target, target = target]13:46:26
@k900:0upti.meK900And in our current world host == target for packages that don't have target13:46:53
@emilazy:matrix.orgemily yes but we're talking about build = 13:47:24
@emilazy:matrix.orgemilyoh13:47:30
@emilazy:matrix.orgemilysorry I misread the package set you were talking about13:47:34
@emilazy:matrix.orgemily then I'm confused, isn't this just pkgsBuildTarget 13:47:49
@emilazy:matrix.orgemilywhich we use a fair bit13:48:02
@k900:0upti.meK900Yes but it doesn't exist on Canadian cross13:48:26
@emilazy:matrix.orgemilyI mean, it can, right? you just have to build another compiler13:49:48
@k900:0upti.meK900Well yes but that kinda defeats the point of Canadian cross13:51:02
@emilazy:matrix.orgemilyis there a point of Canadian cross?13:52:30
@k900:0upti.meK900Yes, the point of Canadian cross is that you use your slow build machine to build a cross-compiler for a fast host machine13:53:19
@k900:0upti.meK900And then use that cross-compiler to build packages for target13:53:27
@k900:0upti.meK900But faster13:53:31
@emilazy:matrix.orgemilyyou could just build the compiler on the fast host machine.13:55:33
@emilazy:matrix.orgemilyto me the sensible use-case for Canadian cross looks like "we can only get x86 CI, not AArch64, but we want to offer AArch64 binaries of our compiler for various targets"13:56:23
@emilazy:matrix.orgemilyin which case building an extra compiler is basically fine.13:56:32

Show newer messages


Back to Room ListRoom Version: 6