* During the bootstrap, build only 1 instance of Perl instead of 3.

svn path=/nixpkgs/branches/stdenv-updates/; revision=19536
This commit is contained in:
Eelco Dolstra 2010-01-19 11:25:33 +00:00
parent ca0464c067
commit 231b016142
2 changed files with 20 additions and 6 deletions

View File

@ -137,8 +137,11 @@ rec {
# of bootstrap tools only, and a minimal Glibc to keep the GCC # of bootstrap tools only, and a minimal Glibc to keep the GCC
# configure script happy. # configure script happy.
stdenvLinuxBoot1 = stdenvBootFun { stdenvLinuxBoot1 = stdenvBootFun {
gcc = wrapGCC {libc = bootstrapGlibc; binutils = bootstrapTools; gcc = wrapGCC {
coreutils = bootstrapTools; }; libc = bootstrapGlibc;
binutils = bootstrapTools;
coreutils = bootstrapTools;
};
inherit fetchurl; inherit fetchurl;
}; };
@ -160,9 +163,15 @@ rec {
# this one uses the Glibc built in step 3. It still uses # this one uses the Glibc built in step 3. It still uses
# the rest of the bootstrap tools, including GCC. # the rest of the bootstrap tools, including GCC.
stdenvLinuxBoot2 = removeAttrs (stdenvBootFun { stdenvLinuxBoot2 = removeAttrs (stdenvBootFun {
gcc = wrapGCC {binutils = bootstrapTools; coreutils = bootstrapTools; gcc = wrapGCC {
libc = stdenvLinuxGlibc;}; binutils = bootstrapTools;
extraAttrs = {glibc = stdenvLinuxGlibc;}; coreutils = bootstrapTools;
libc = stdenvLinuxGlibc;
};
extraAttrs = {
glibc = stdenvLinuxGlibc;
inherit (stdenvLinuxBoot1Pkgs) perl;
};
inherit fetchurl; inherit fetchurl;
}) ["gcc" "binutils"]; }) ["gcc" "binutils"];
@ -186,6 +195,9 @@ rec {
gcc = stdenvLinuxBoot2Pkgs.gcc.gcc; gcc = stdenvLinuxBoot2Pkgs.gcc.gcc;
name = ""; name = "";
}; };
extraAttrs = {
inherit (stdenvLinuxBoot1Pkgs) perl;
};
inherit fetchurl; inherit fetchurl;
}; };
@ -196,6 +208,7 @@ rec {
bootStdenv = stdenvLinuxBoot3; bootStdenv = stdenvLinuxBoot3;
}; };
# 8) Construct the final stdenv. It uses the Glibc, GCC and # 8) Construct the final stdenv. It uses the Glibc, GCC and
# Binutils built above, and adds in dynamically linked versions # Binutils built above, and adds in dynamically linked versions
# of all other tools. # of all other tools.

View File

@ -2476,7 +2476,8 @@ let
impureLibcPath = if stdenv.isLinux then null else "/usr"; impureLibcPath = if stdenv.isLinux then null else "/usr";
}; };
perl = if system != "i686-cygwin" then perl510 else sysPerl; perl = useFromStdenv "perl"
(if system != "i686-cygwin" then perl510 else sysPerl);
# FIXME: unixODBC needs patching on Darwin (see darwinports) # FIXME: unixODBC needs patching on Darwin (see darwinports)
phpOld = import ../development/interpreters/php { phpOld = import ../development/interpreters/php {