summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/languages-frameworks/java.xml25
1 files changed, 20 insertions, 5 deletions
diff --git a/doc/languages-frameworks/java.xml b/doc/languages-frameworks/java.xml
index dcf4d17fa57d..1acea6a7547a 100644
--- a/doc/languages-frameworks/java.xml
+++ b/doc/languages-frameworks/java.xml
@@ -15,13 +15,17 @@ stdenv.mkDerivation {
   buildPhase = "ant";
 }
 </programlisting>
-  Note that <varname>jdk</varname> is an alias for the OpenJDK.
- </para>
+  Note that <varname>jdk</varname> is an alias for the OpenJDK (self-built
+  where available, or pre-built via Zulu).
+  Platforms with OpenJDK not (yet) in Nixpkgs (<literal>Aarch32</literal>,
+  <literal>Aarch64</literal>) point to the (unfree)
+  <literal>oraclejdk</literal>.
+</para>
 
  <para>
   JAR files that are intended to be used by other packages should be installed
-  in <filename>$out/share/java</filename>. The OpenJDK has a stdenv setup hook
-  that adds any JARs in the <filename>share/java</filename> directories of the
+  in <filename>$out/share/java</filename>. JDKs have a stdenv setup hook
+  that add any JARs in the <filename>share/java</filename> directories of the
   build inputs to the <envar>CLASSPATH</envar> environment variable. For
   instance, if the package <literal>libfoo</literal> installs a JAR named
   <filename>foo.jar</filename> in its <filename>share/java</filename>
@@ -57,7 +61,18 @@ installPhase =
   <literal>${jre}/bin/java</literal> instead of
   <literal>${jdk}/bin/java</literal>, you prevent your package from depending
   on the JDK at runtime.
- </para>
+</para>
+
+<para>
+  Note all JDKs passthru <literal>home</literal>, so if your application
+  requires environment variables like <envar>JAVA_HOME</envar> being set, that
+  can be done in a generic fashion with the <literal>--set</literal> argument
+  of <literal>makeWrapper</literal>:
+
+<programlisting>
+  --set JAVA_HOME ${jdk.home}
+</programlisting>
+</para>
 
  <para>
   It is possible to use a different Java compiler than <command>javac</command>