Merge #23374: mkDerivation: simplify non-cross builds
Don't pass buildInputs to stdenv builder in nativeBuildInputs.
This commit is contained in:
commit
f3ceb764e4
@ -264,18 +264,16 @@ let
|
|||||||
__ignoreNulls = true;
|
__ignoreNulls = true;
|
||||||
|
|
||||||
# Inputs built by the cross compiler.
|
# Inputs built by the cross compiler.
|
||||||
buildInputs = if crossConfig != null then buildInputs' else [];
|
buildInputs = buildInputs';
|
||||||
propagatedBuildInputs = if crossConfig != null then propagatedBuildInputs' else [];
|
propagatedBuildInputs = propagatedBuildInputs';
|
||||||
# Inputs built by the usual native compiler.
|
# Inputs built by the usual native compiler.
|
||||||
nativeBuildInputs = nativeBuildInputs'
|
nativeBuildInputs = nativeBuildInputs'
|
||||||
++ lib.optionals (crossConfig == null) buildInputs'
|
|
||||||
++ lib.optional
|
++ lib.optional
|
||||||
(result.isCygwin
|
(result.isCygwin
|
||||||
|| (crossConfig != null && lib.hasSuffix "mingw32" crossConfig))
|
|| (crossConfig != null && lib.hasSuffix "mingw32" crossConfig))
|
||||||
../../build-support/setup-hooks/win-dll-link.sh
|
../../build-support/setup-hooks/win-dll-link.sh
|
||||||
;
|
;
|
||||||
propagatedNativeBuildInputs = propagatedNativeBuildInputs' ++
|
propagatedNativeBuildInputs = propagatedNativeBuildInputs';
|
||||||
(if crossConfig == null then propagatedBuildInputs' else []);
|
|
||||||
} // ifDarwin {
|
} // ifDarwin {
|
||||||
# TODO: remove lib.unique once nix has a list canonicalization primitive
|
# TODO: remove lib.unique once nix has a list canonicalization primitive
|
||||||
__sandboxProfile =
|
__sandboxProfile =
|
||||||
|
@ -290,15 +290,26 @@ findInputs() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
crossPkgs=""
|
if [ -z "$crossConfig" ]; then
|
||||||
for i in $buildInputs $defaultBuildInputs $propagatedBuildInputs; do
|
# Not cross-compiling - both buildInputs (and variants like propagatedBuildInputs)
|
||||||
findInputs $i crossPkgs propagated-build-inputs
|
# are handled identically to nativeBuildInputs
|
||||||
done
|
nativePkgs=""
|
||||||
|
for i in $nativeBuildInputs $buildInputs \
|
||||||
|
$defaultNativeBuildInputs $defaultBuildInputs \
|
||||||
|
$propagatedNativeBuildInputs $propagatedBuildInputs; do
|
||||||
|
findInputs $i nativePkgs propagated-native-build-inputs
|
||||||
|
done
|
||||||
|
else
|
||||||
|
crossPkgs=""
|
||||||
|
for i in $buildInputs $defaultBuildInputs $propagatedBuildInputs; do
|
||||||
|
findInputs $i crossPkgs propagated-build-inputs
|
||||||
|
done
|
||||||
|
|
||||||
nativePkgs=""
|
nativePkgs=""
|
||||||
for i in $nativeBuildInputs $defaultNativeBuildInputs $propagatedNativeBuildInputs; do
|
for i in $nativeBuildInputs $defaultNativeBuildInputs $propagatedNativeBuildInputs; do
|
||||||
findInputs $i nativePkgs propagated-native-build-inputs
|
findInputs $i nativePkgs propagated-native-build-inputs
|
||||||
done
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Set the relevant environment variables to point to the build inputs
|
# Set the relevant environment variables to point to the build inputs
|
||||||
@ -759,14 +770,26 @@ fixupPhase() {
|
|||||||
|
|
||||||
# Propagate build inputs and setup hook into the development output.
|
# Propagate build inputs and setup hook into the development output.
|
||||||
|
|
||||||
if [ -n "$propagatedBuildInputs" ]; then
|
if [ -z "$crossConfig" ]; then
|
||||||
mkdir -p "${!outputDev}/nix-support"
|
# Not cross-compiling - propagatedBuildInputs are handled identically to propagatedNativeBuildInputs
|
||||||
echo "$propagatedBuildInputs" > "${!outputDev}/nix-support/propagated-build-inputs"
|
local propagated="$propagatedNativeBuildInputs"
|
||||||
fi
|
if [ -n "$propagatedBuildInputs" ]; then
|
||||||
|
propagated+="${propagated:+ }$propagatedBuildInputs"
|
||||||
|
fi
|
||||||
|
if [ -n "$propagated" ]; then
|
||||||
|
mkdir -p "${!outputDev}/nix-support"
|
||||||
|
echo "$propagated" > "${!outputDev}/nix-support/propagated-native-build-inputs"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ -n "$propagatedBuildInputs" ]; then
|
||||||
|
mkdir -p "${!outputDev}/nix-support"
|
||||||
|
echo "$propagatedBuildInputs" > "${!outputDev}/nix-support/propagated-build-inputs"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -n "$propagatedNativeBuildInputs" ]; then
|
if [ -n "$propagatedNativeBuildInputs" ]; then
|
||||||
mkdir -p "${!outputDev}/nix-support"
|
mkdir -p "${!outputDev}/nix-support"
|
||||||
echo "$propagatedNativeBuildInputs" > "${!outputDev}/nix-support/propagated-native-build-inputs"
|
echo "$propagatedNativeBuildInputs" > "${!outputDev}/nix-support/propagated-native-build-inputs"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$setupHook" ]; then
|
if [ -n "$setupHook" ]; then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user