mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-08-25 17:55:21 +00:00
dockerTools: Always cross compile for another arch in the cross example
The example fails to build on aarch64, so lets cross build for gnu64.
(cherry picked from commit b7b22c5814)
This commit is contained in:
@@ -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;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user