summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-01-28 11:55:12 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-01-28 12:10:27 +0100
commit5150dbfdbe4144770d1dae868172fb94d7e6be55 (patch)
treec7da23eb350db8b7280cc63b0b11bcbf5b4e0bfa
parent39a31190f06b6973d9493f125c9c858a453a86b2 (diff)
downloadnixlib-5150dbfdbe4144770d1dae868172fb94d7e6be55.tar
nixlib-5150dbfdbe4144770d1dae868172fb94d7e6be55.tar.gz
nixlib-5150dbfdbe4144770d1dae868172fb94d7e6be55.tar.bz2
nixlib-5150dbfdbe4144770d1dae868172fb94d7e6be55.tar.lz
nixlib-5150dbfdbe4144770d1dae868172fb94d7e6be55.tar.xz
nixlib-5150dbfdbe4144770d1dae868172fb94d7e6be55.tar.zst
nixlib-5150dbfdbe4144770d1dae868172fb94d7e6be55.zip
openjdk-darwin: Behave the same as openjdk-linux
-rw-r--r--pkgs/development/compilers/openjdk-darwin/default.nix21
1 files changed, 19 insertions, 2 deletions
diff --git a/pkgs/development/compilers/openjdk-darwin/default.nix b/pkgs/development/compilers/openjdk-darwin/default.nix
index ff9f12f80232..3e4835c8b531 100644
--- a/pkgs/development/compilers/openjdk-darwin/default.nix
+++ b/pkgs/development/compilers/openjdk-darwin/default.nix
@@ -1,6 +1,6 @@
-{stdenv, fetchurl, ...}:
+{ stdenv, fetchurl, setJavaClassPath }:
 let
-jdk = stdenv.mkDerivation {
+  jdk = stdenv.mkDerivation {
     name = "openjdk6-b16-24_apr_2009-r1";
 
     src = fetchurl {
@@ -11,6 +11,23 @@ jdk = stdenv.mkDerivation {
     installPhase = ''
       mkdir -p $out
       cp -vR * $out/
+
+      # jni.h expects jni_md.h to be in the header search path.
+      ln -s $out/include/darwin/*_md.h $out/include/
+    '';
+
+    preFixup = ''
+      # Propagate the setJavaClassPath setup hook from the JRE so that
+      # any package that depends on the JRE has $CLASSPATH set up
+      # properly.
+      mkdir -p $out/nix-support
+      echo -n "${setJavaClassPath}" > $out/nix-support/propagated-native-build-inputs
+
+      # Set JAVA_HOME automatically.
+      mkdir -p $out/nix-support
+      cat <<EOF > $out/nix-support/setup-hook
+      if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+      EOF
     '';
 
     passthru.jre = jdk;