diff options
author | adisbladis <adisbladis@gmail.com> | 2020-11-20 11:57:56 +0100 |
---|---|---|
committer | adisbladis <adisbladis@gmail.com> | 2020-11-20 12:57:58 +0100 |
commit | b7b22c5814471e783fbba057cd2e7bb136b88260 (patch) | |
tree | 7f4c716ba1311fe4614fa3a469208d1a572e1f36 | |
parent | 31c3d39866016d73c8905d61e99f18f1891e332a (diff) | |
download | nixpkgs-b7b22c5814471e783fbba057cd2e7bb136b88260.tar nixpkgs-b7b22c5814471e783fbba057cd2e7bb136b88260.tar.gz nixpkgs-b7b22c5814471e783fbba057cd2e7bb136b88260.tar.bz2 nixpkgs-b7b22c5814471e783fbba057cd2e7bb136b88260.tar.lz nixpkgs-b7b22c5814471e783fbba057cd2e7bb136b88260.tar.xz nixpkgs-b7b22c5814471e783fbba057cd2e7bb136b88260.tar.zst nixpkgs-b7b22c5814471e783fbba057cd2e7bb136b88260.zip |
dockerTools: Always cross compile for another arch in the cross example
The example fails to build on aarch64, so lets cross build for gnu64.
-rw-r--r-- | nixos/tests/docker-tools.nix | 6 | ||||
-rw-r--r-- | pkgs/build-support/docker/examples.nix | 9 |
2 files changed, 10 insertions, 5 deletions
diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix index a20a08fc90d..8e0e82d64cc 100644 --- a/nixos/tests/docker-tools.nix +++ b/nixos/tests/docker-tools.nix @@ -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"}" ) ''; }) diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix index cd91c721241..3f30f1a2adb 100644 --- a/pkgs/build-support/docker/examples.nix +++ b/pkgs/build-support/docker/examples.nix @@ -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; }; } |