makeStdenvCross: Remove
It is inlined into the cross stdenv, which is its last use-case after the previous commit.
This commit is contained in:
parent
839f96a4c5
commit
b81ee9df9f
|
@ -53,35 +53,6 @@ rec {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# Return a modified stdenv that adds a cross compiler to the
|
|
||||||
# builds.
|
|
||||||
makeStdenvCross = { stdenv
|
|
||||||
, cc
|
|
||||||
, buildPlatform, hostPlatform, targetPlatform
|
|
||||||
, # Prior overrides are surely not valid as packages built
|
|
||||||
# with this run on a different platform, so disable by
|
|
||||||
# default.
|
|
||||||
overrides ? _: _: {}
|
|
||||||
} @ overrideArgs:
|
|
||||||
overrideArgs.stdenv.override (old: {
|
|
||||||
inherit
|
|
||||||
buildPlatform hostPlatform targetPlatform
|
|
||||||
cc overrides;
|
|
||||||
|
|
||||||
allowedRequisites = null;
|
|
||||||
extraNativeBuildInputs = old.extraNativeBuildInputs
|
|
||||||
# without proper `file` command, libtool sometimes fails
|
|
||||||
# to recognize 64-bit DLLs
|
|
||||||
++ stdenv.lib.optional (hostPlatform.config == "x86_64-w64-mingw32") pkgs.file
|
|
||||||
++ stdenv.lib.optional
|
|
||||||
(hostPlatform.isAarch64 || hostPlatform.isMips || hostPlatform.libc == "musl")
|
|
||||||
pkgs.updateAutotoolsGnuConfigScriptsHook
|
|
||||||
;
|
|
||||||
|
|
||||||
extraBuildInputs = [ ]; # Old ones run on wrong platform
|
|
||||||
});
|
|
||||||
|
|
||||||
/* Modify a stdenv so that the specified attributes are added to
|
/* Modify a stdenv so that the specified attributes are added to
|
||||||
every derivation returned by its mkDerivation function.
|
every derivation returned by its mkDerivation function.
|
||||||
|
|
||||||
|
|
|
@ -34,17 +34,31 @@ in lib.init bootStages ++ [
|
||||||
(buildPackages: {
|
(buildPackages: {
|
||||||
inherit config overlays;
|
inherit config overlays;
|
||||||
selfBuild = false;
|
selfBuild = false;
|
||||||
stdenv = buildPackages.makeStdenvCross {
|
stdenv = buildPackages.stdenv.override (old: rec {
|
||||||
inherit (buildPackages) stdenv;
|
|
||||||
buildPlatform = localSystem;
|
buildPlatform = localSystem;
|
||||||
hostPlatform = crossSystem;
|
hostPlatform = crossSystem;
|
||||||
targetPlatform = crossSystem;
|
targetPlatform = crossSystem;
|
||||||
|
|
||||||
|
# Prior overrides are surely not valid as packages built with this run on
|
||||||
|
# a different platform, and so are disabled.
|
||||||
|
overrides = _: _: {};
|
||||||
|
extraBuildInputs = [ ]; # Old ones run on wrong platform
|
||||||
|
|
||||||
cc = if crossSystem.useiOSPrebuilt or false
|
cc = if crossSystem.useiOSPrebuilt or false
|
||||||
then buildPackages.darwin.iosSdkPkgs.clang
|
then buildPackages.darwin.iosSdkPkgs.clang
|
||||||
else if crossSystem.useAndroidPrebuilt
|
else if crossSystem.useAndroidPrebuilt
|
||||||
then buildPackages.androidenv."androidndkPkgs_${crossSystem.ndkVer}".gcc
|
then buildPackages.androidenv."androidndkPkgs_${crossSystem.ndkVer}".gcc
|
||||||
else buildPackages.gcc;
|
else buildPackages.gcc;
|
||||||
};
|
|
||||||
|
extraNativeBuildInputs = old.extraNativeBuildInputs
|
||||||
|
# without proper `file` command, libtool sometimes fails
|
||||||
|
# to recognize 64-bit DLLs
|
||||||
|
++ lib.optional (hostPlatform.config == "x86_64-w64-mingw32") buildPackages.file
|
||||||
|
++ lib.optional
|
||||||
|
(hostPlatform.isAarch64 || hostPlatform.isMips || hostPlatform.libc == "musl")
|
||||||
|
buildPackages.updateAutotoolsGnuConfigScriptsHook
|
||||||
|
;
|
||||||
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in a new issue