forked from mirrors/nixpkgs
dockerTools: Always cross compile for another arch in the cross example
The example fails to build on aarch64, so lets cross build for gnu64.
This commit is contained in:
parent
31c3d39866
commit
b7b22c5814
|
@ -237,14 +237,14 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
|||
|
||||
with subtest("Ensure cross compiled image can be loaded and has correct arch."):
|
||||
docker.succeed(
|
||||
"docker load --input='${pkgs.dockerTools.examples.cross-aarch64}'",
|
||||
"docker load --input='${pkgs.dockerTools.examples.cross}'",
|
||||
)
|
||||
assert (
|
||||
docker.succeed(
|
||||
"docker inspect ${pkgs.dockerTools.examples.cross-aarch64.imageName} "
|
||||
"docker inspect ${pkgs.dockerTools.examples.cross.imageName} "
|
||||
+ "| ${pkgs.jq}/bin/jq -r .[].Architecture"
|
||||
).strip()
|
||||
== "arm64v8"
|
||||
== "${if pkgs.system == "aarch64-linux" then "amd64" else "arm64v8"}"
|
||||
)
|
||||
'';
|
||||
})
|
||||
|
|
|
@ -408,10 +408,15 @@ rec {
|
|||
};
|
||||
|
||||
# basic example, with cross compilation
|
||||
cross-aarch64 = pkgsCross.aarch64-multiplatform.dockerTools.buildImage {
|
||||
cross = let
|
||||
# Cross compile for x86_64 if on aarch64
|
||||
crossPkgs =
|
||||
if pkgs.system == "aarch64-linux" then pkgsCross.gnu64
|
||||
else pkgsCross.aarch64-multiplatform;
|
||||
in crossPkgs.dockerTools.buildImage {
|
||||
name = "hello-cross";
|
||||
tag = "latest";
|
||||
contents = pkgsCross.aarch64-multiplatform.hello;
|
||||
contents = crossPkgs.hello;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue