openjdk: Don't use the official build system's boostrapping, do our own.

The openjdk BOOT_CYCLE bootstrap doesn't use the binaries built in the first stage for the second stage, so we get a bunch of errors like:
  /bin/sh: /nix/store/wdgl7xl9b72hn212l0672ad5sn7vh44y-openjdk-bootstrap/bin/native2ascii: No such file or directory
Instead, just build each stage as a separate derivation
This commit is contained in:
Shea Levy 2012-10-04 16:56:41 -04:00
parent 3ab23d9542
commit a08ca4c04a
2 changed files with 15 additions and 11 deletions

View File

@ -122,7 +122,6 @@ stdenv.mkDerivation rec {
"UNIXCOMMAND_PATH="
"BOOTDIR=${jdk}"
"DROPS_DIR=$(DROPS_PATH)"
"SKIP_BOOT_CYCLE=false"
];
configurePhase = ''

View File

@ -2355,31 +2355,36 @@ let
openjdkBootstrap = callPackage ../development/compilers/openjdk/bootstrap.nix {};
openjdkStage1 = callPackage ../development/compilers/openjdk {
jdk = pkgs.openjdkBootstrap;
ant = pkgs.ant.override { jdk = pkgs.openjdkBootstrap; };
};
openjdk =
if stdenv.isDarwin then
callPackage ../development/compilers/openjdk-darwin { }
else
callPackage ../development/compilers/openjdk {
jdk = pkgs.openjdkBootstrap;
ant = pkgs.ant.override { jdk = pkgs.openjdkBootstrap; };
jdk = pkgs.openjdkStage1;
ant = pkgs.ant.override { jdk = pkgs.openjdkStage1; };
};
openjre = callPackage ../development/compilers/openjdk {
openjre = pkgs.openjdk.override {
jreOnly = true;
};
jdk = if (stdenv.isDarwin || stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
then openjdk
else jdkdistro true false;
then pkgs.openjdk
else pkgs.oraclejdk;
jre = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
then openjre
else jdkdistro false false;
then pkgs.openjre
else pkgs.oraclejre;
oraclejdk = jdkdistro true false;
oraclejdk = pkgs.jdkdistro true false;
oraclejre = jdkdistro false false;
oraclejre = pkgs.jdkdistro false false;
jrePlugin = lowPrio (jdkdistro false true);
jrePlugin = lowPrio (pkgs.jdkdistro false true);
supportsJDK =
system == "i686-linux" ||