Got flake set up for cross-compilation, but it still doesn't work
This commit is contained in:
parent
05f9064d10
commit
1379291c1e
@ -4,7 +4,6 @@
|
||||
garage,
|
||||
selfRev,
|
||||
hostSystem,
|
||||
#buildSystem,
|
||||
|
||||
}: rec {
|
||||
|
||||
@ -15,9 +14,12 @@
|
||||
|
||||
inherit selfRev hostSystem;
|
||||
src = ./version.txt;
|
||||
|
||||
garageVersion = garage.version;
|
||||
|
||||
nativeBuildInputs = [ pkgs.go ];
|
||||
# TODO it'd be nice to be able to call `go version`, but that doesn't work
|
||||
# when crossSystem is being used for some unknown reason.
|
||||
goVersion = pkgs.go.version;
|
||||
|
||||
builder = builtins.toFile "builder.sh" ''
|
||||
source $stdenv/setup
|
||||
@ -29,7 +31,7 @@
|
||||
|
||||
echo "System: $hostSystem" >> "$versionFile"
|
||||
echo "Git Revision: $selfRev" >> "$versionFile"
|
||||
echo "Go Version: $(go version)" >> "$versionFile"
|
||||
echo "Go Version: $goVersion" >> "$versionFile"
|
||||
echo "Garage Version: $garageVersion" >> "$versionFile"
|
||||
|
||||
mkdir -p "$out"/share
|
||||
|
71
flake.nix
71
flake.nix
@ -7,8 +7,7 @@
|
||||
# v0.8.1
|
||||
inputs.garage.url = "git+https://git.deuxfleurs.fr/Deuxfleurs/garage.git?ref=main&rev=76230f20282e73a5a5afa33af68152acaf732cf5";
|
||||
|
||||
description = "cryptic-net provides the foundation for an autonomous community
|
||||
cloud infrastructure";
|
||||
description = "cryptic-net provides the foundation for an autonomous community cloud infrastructure";
|
||||
|
||||
outputs = {
|
||||
|
||||
@ -23,31 +22,61 @@ cloud infrastructure";
|
||||
"i686-linux"
|
||||
];
|
||||
|
||||
in utils.lib.eachSystem supportedSystems (system: let
|
||||
mkPkg = (buildSystem: hostSystem: let
|
||||
|
||||
pkgs = import pkgsSrc {
|
||||
inherit system;
|
||||
pkgs = import pkgsSrc {
|
||||
system = buildSystem;
|
||||
|
||||
#crossSystem = {
|
||||
# config = system;
|
||||
#};
|
||||
crossSystem = {
|
||||
config = hostSystem;
|
||||
};
|
||||
|
||||
overlays = [
|
||||
(import ./nix/overlays/go.nix)
|
||||
];
|
||||
};
|
||||
overlays = [
|
||||
(import ./nix/overlays/go.nix)
|
||||
];
|
||||
};
|
||||
|
||||
defaultAttrs = (import ./default.nix) {
|
||||
inherit pkgs;
|
||||
hostSystem = system;
|
||||
#buildSystem = self.system;
|
||||
garage = garage.packages."${system}".default;
|
||||
selfRev = if self ? rev then self.rev else "UNKNOWN";
|
||||
};
|
||||
defaultAttrs = (import ./default.nix) {
|
||||
inherit pkgs;
|
||||
hostSystem = hostSystem;
|
||||
garage = garage.packages."${hostSystem}".default;
|
||||
selfRev = if self ? rev then self.rev else "UNKNOWN";
|
||||
};
|
||||
|
||||
in
|
||||
defaultAttrs.garage
|
||||
);
|
||||
|
||||
# TODO Once everything else is prepared for cross compilation this can be
|
||||
# re-enabled. Things left to do:
|
||||
#
|
||||
# - Revert to not using flake for garage, we'll need to compile it
|
||||
# ourselves because flakes don't actually support cross-compilation in a
|
||||
# nice way.
|
||||
#
|
||||
# - Set ARCH arg for appimagetool target in default.nix
|
||||
#
|
||||
# - Test builds in QEMU or something.
|
||||
#
|
||||
# - Probably other things which will come up
|
||||
#pkgsForBuildSystem = (buildSystem: builtins.foldl'
|
||||
# (sysPkgs: hostSystem:
|
||||
# sysPkgs // { "compiled-for-${hostSystem}" = mkPkg buildSystem hostSystem; })
|
||||
# { default = mkPkg buildSystem buildSystem; }
|
||||
# supportedSystems
|
||||
#);
|
||||
|
||||
pkgsForBuildSystem = (buildSystem:
|
||||
{ default = mkPkg buildSystem buildSystem; });
|
||||
|
||||
in {
|
||||
|
||||
defaultPackage = defaultAttrs.appImage;
|
||||
packages = (builtins.foldl'
|
||||
(pkgs: buildSystem:
|
||||
pkgs // { "${buildSystem}" = pkgsForBuildSystem buildSystem; })
|
||||
{}
|
||||
supportedSystems
|
||||
);
|
||||
|
||||
});
|
||||
};
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ let
|
||||
|
||||
version = "745";
|
||||
|
||||
cpuArch = stdenv.buildPlatform.parsed.cpu.arch;
|
||||
cpuArch = stdenv.buildPlatform.parsed.cpu.name;
|
||||
|
||||
src = {
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user