diff --git a/pkgs/development/compilers/openjdk/default.nix b/pkgs/development/compilers/openjdk/default.nix index 5f5148911ec2..f243baab5919 100644 --- a/pkgs/development/compilers/openjdk/default.nix +++ b/pkgs/development/compilers/openjdk/default.nix @@ -21,6 +21,21 @@ , jreOnly ? false }: +let + + /** + * The JRE libraries are in directories that depend on the CPU. + */ + architecture = + if stdenv.system == "i686-linux" then + "i386" + else if stdenv.system == "x86_64-linux" then + "amd64" + else + throw "openjdk requires i686-linux or x86_64 linux"; + +in + stdenv.mkDerivation rec { name = "openj${if jreOnly then "re" else "dk"}-7b127"; @@ -137,5 +152,7 @@ stdenv.mkDerivation rec { platforms = stdenv.lib.platforms.linux; }; + + passthru = { inherit architecture; }; } diff --git a/pkgs/development/compilers/openjdk/make-bootstrap.nix b/pkgs/development/compilers/openjdk/make-bootstrap.nix index aa5b8ad39f56..090a1479741a 100644 --- a/pkgs/development/compilers/openjdk/make-bootstrap.nix +++ b/pkgs/development/compilers/openjdk/make-bootstrap.nix @@ -1,6 +1,6 @@ { runCommand, openjdk, nukeReferences }: -let arch = if openjdk.system == "x86_64-linux" then "amd64" else "i386"; in +let arch = openjdk.architecture; in runCommand "${openjdk.name}-bootstrap.tar.xz" {} '' mkdir -p openjdk-bootstrap/bin