Skip to content
This repository was archived by the owner on Sep 27, 2024. It is now read-only.

Commit 67f1c88

Browse files
committedMay 24, 2024··
fix: cross compiling x86 on non-x86
1 parent 2433a06 commit 67f1c88

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed
 

‎.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
result
2+
result-*
3+
*.img
4+
*.qcow2

‎flake.nix

+11-5
Original file line numberDiff line numberDiff line change
@@ -68,26 +68,32 @@
6868
inherit (pkgs) system;
6969
inherit pkgs device;
7070

71-
configuration = { config, lib, ... }: {
71+
configuration = { config, lib, pkgs, ... }: {
7272
imports = builtins.attrValues nixosModules;
7373

7474
config = lib.mkMerge [
7575
(lib.mkIf (device == "pine64-pinephone") {
7676
services.cage.environment.LIBGL_ALWAYS_SOFTWARE = "1";
7777
})
78+
(lib.mkIf (pkgs.targetPlatform.isx86_64 && !pkgs.buildPlatform.isx86_64) {
79+
environment.stub-ld.enable = lib.mkForce false;
80+
})
7881
{
7982
services.genesis-shell.enable = true;
8083
system.stateVersion = lib.version;
8184
}
8285
];
8386
};
8487
};
88+
89+
aarch64-multiplatform = if pkgs.hostPlatform.isAarch64 then pkgs else pkgs.pkgsCross.aarch64-multiplatform;
90+
gnu64 = if pkgs.hostPlatform.isx86_64 then pkgs else pkgs.pkgsCross.gnu64;
8591
in {
86-
pine64-pinephone = mkMobileSystem "pine64-pinephone" (if pkgs.hostPlatform.isAarch64 then pkgs else pkgs.pkgsCross.aarch64-multiplatform);
87-
llvm-pine64-pinephone = mkMobileSystem "pine64-pinephone" (if pkgs.hostPlatform.isAarch64 then pkgs else pkgs.pkgsCross.aarch64-multiplatform).pkgsLLVM;
92+
pine64-pinephone = mkMobileSystem "pine64-pinephone" aarch64-multiplatform;
93+
llvm-pine64-pinephone = mkMobileSystem "pine64-pinephone" aarch64-multiplatform.pkgsLLVM;
8894

89-
uefi-x86_64 = mkMobileSystem "uefi-x86_64" (if pkgs.hostPlatform.isx86_64 then pkgs else pkgs.pkgsCross.gnu64);
90-
llvm-uefi-x86_64 = mkMobileSystem "uefi-x86_64" (if pkgs.hostPlatform.isx86_64 then pkgs else pkgs.pkgsCross.gnu64).pkgsLLVM;
95+
uefi-x86_64 = mkMobileSystem "uefi-x86_64" gnu64;
96+
llvm-uefi-x86_64 = mkMobileSystem "uefi-x86_64" gnu64.pkgsLLVM;
9197
};
9298
}));
9399
}

0 commit comments

Comments
 (0)
This repository has been archived.