1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-18 19:51:17 +00:00

ubootTools: fix cross properly this time

When we're building a ubootTools, we want to produce a set of tools that runs
on the host, so we want their dependencies to be built for hostPlatform.

When we're building an uboot, the tools will run on the builder as part
of the build, so we want their dependencies to be built for buildPlatform.
This commit is contained in:
K900 2023-11-04 11:21:51 +03:00
parent c423f8f656
commit 1d7a287b17

View file

@ -30,6 +30,16 @@ let
url = "https://ftp.denx.de/pub/u-boot/u-boot-${defaultVersion}.tar.bz2";
hash = "sha256-a2pIWBwUq7D5W9h8GvTXQJIkBte4AQAqn5Ryf93gIdU=";
};
# Dependencies for the tools need to be included as either native or cross,
# depending on which we're building
toolsDeps = [
ncurses # tools/kwboot
libuuid # tools/mkeficapsule
gnutls # tools/mkeficapsule
openssl # tools/mkimage
];
buildUBoot = lib.makeOverridable ({
version ? null
, src ? null
@ -40,6 +50,7 @@ let
, extraPatches ? []
, extraMakeFlags ? []
, extraMeta ? {}
, crossTools ? false
, ... } @ args: stdenv.mkDerivation ({
pname = "uboot-${defconfig}";
@ -70,15 +81,9 @@ let
]))
swig
which # for scripts/dtc-version.sh
];
] ++ lib.optionals (!crossTools) toolsDeps;
depsBuildBuild = [ buildPackages.stdenv.cc ];
buildInputs = [
ncurses # tools/kwboot
libuuid # tools/mkeficapsule
gnutls # tools/mkeficapsule
openssl # tools
];
buildInputs = lib.optionals crossTools toolsDeps;
hardeningDisable = [ "all" ];
@ -133,7 +138,9 @@ in {
hardeningDisable = [];
dontStrip = false;
extraMeta.platforms = lib.platforms.linux;
extraMakeFlags = [ "HOST_TOOLS_ALL=y" "CROSS_BUILD_TOOLS=1" "NO_SDL=1" "tools" ];
crossTools = true;
extraMakeFlags = [ "HOST_TOOLS_ALL=y" "NO_SDL=1" "cross_tools" ];
outputs = [ "out" "man" ];