stdenv: Statically include the default build inputs

Otherwise, stdenv won't have a reference to e.g. patchelf on Linux
(because it was passed in by mkDerivation). This causes the installer
tests to fail, because having "stdenv" in the installation CD closure
is not enough to pull in all stdenv packages.

http://hydra.nixos.org/build/16546643
This commit is contained in:
Eelco Dolstra 2014-11-06 12:10:28 +01:00
parent 8e9e4b05f7
commit 1014620bce
3 changed files with 8 additions and 7 deletions

View file

@ -8,6 +8,7 @@ mkdir $out
echo "export SHELL=$shell" > $out/setup
echo "initialPath=\"$initialPath\"" >> $out/setup
echo "defaultNativeBuildInputs=\"$defaultNativeBuildInputs\"" >> $out/setup
echo "$preHook" >> $out/setup
cat "$setup" >> $out/setup

View file

@ -41,7 +41,7 @@ let
isUnfree = licenses: lib.lists.any (l:
!l.free or true || l == "unfree" || l == "unfree-redistributable") licenses;
extraBuildInputs' = extraBuildInputs ++
defaultNativeBuildInputs = extraBuildInputs ++
[ ../../build-support/setup-hooks/move-docs.sh
../../build-support/setup-hooks/compress-man-pages.sh
../../build-support/setup-hooks/strip.sh
@ -93,10 +93,10 @@ let
__ignoreNulls = true;
# Inputs built by the cross compiler.
buildInputs = if crossConfig != null then buildInputs ++ extraBuildInputs' else [];
buildInputs = if crossConfig != null then buildInputs else [];
propagatedBuildInputs = if crossConfig != null then propagatedBuildInputs else [];
# Inputs built by the usual native compiler.
nativeBuildInputs = nativeBuildInputs ++ (if crossConfig == null then buildInputs ++ extraBuildInputs' else []);
nativeBuildInputs = nativeBuildInputs ++ (if crossConfig == null then buildInputs else []);
propagatedNativeBuildInputs = propagatedNativeBuildInputs ++
(if crossConfig == null then propagatedBuildInputs else []);
}))) (
@ -130,9 +130,9 @@ let
setup = setupScript;
inherit preHook initialPath shell;
inherit preHook initialPath shell defaultNativeBuildInputs;
propagatedUserEnvPkgs = [gcc] ++
propagatedUserEnvPkgs = [ gcc ] ++
lib.filter lib.isDerivation initialPath;
})

View file

@ -220,12 +220,12 @@ findInputs() {
}
crossPkgs=""
for i in $buildInputs $propagatedBuildInputs; do
for i in $buildInputs $defaultBuildInputs $propagatedBuildInputs; do
findInputs $i crossPkgs propagated-build-inputs
done
nativePkgs=""
for i in $nativeBuildInputs $propagatedNativeBuildInputs; do
for i in $nativeBuildInputs $defaultNativeBuildInputs $propagatedNativeBuildInputs; do
findInputs $i nativePkgs propagated-native-build-inputs
done