From bfcd4b0e2a96be68d5142fda63e04da979e8b0ae Mon Sep 17 00:00:00 2001 From: Farid Zakaria Date: Thu, 11 Mar 2021 15:59:12 -0800 Subject: [PATCH] jruby: Fix JAVA_HOME to support proper jmod support This is investigation I've done in support of https://github.com/jruby/jruby/issues/6608 where I noticed some funky issues with JRuby and module loading. Looks like that JRuby expects JAVA_HOME to have a directory called `jmod`, which is consistent with the Java Module system. Unfortunately, the top level directory for the `jre` or `jdk` /nix/store entry is not a valid JAVA_HOME since it is missing that directory. Instead it's set within `lib/openjdk`, and there is a passthru variable set accordingly. This fixes JRuby and follows many other derivations. A simple search in the code-base shows that there are many other packages that suffer this same bug. --- pkgs/development/interpreters/jruby/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix index 4d8771b93ebc..13fe4a73d421 100644 --- a/pkgs/development/interpreters/jruby/default.nix +++ b/pkgs/development/interpreters/jruby/default.nix @@ -23,7 +23,7 @@ jruby = stdenv.mkDerivation rec { for i in $out/bin/jruby{,.bash}; do wrapProgram $i \ - --set JAVA_HOME ${jre} + --set JAVA_HOME ${jre.home} done ln -s $out/bin/jruby $out/bin/ruby