From 62821edd2e685be68ece5dd50af4b493a4fa9dba Mon Sep 17 00:00:00 2001 From: nviets Date: Fri, 3 Mar 2023 18:31:19 -0600 Subject: This PR sets default SPARK_HOME and JAVA_HOME for R's sparklyr package using a patch in .onload. Preset value take precedence. SPARK_HOME points to python3Packages.pyspark rather than pkgs.spark because the former is actively maintained. --- pkgs/development/r-modules/default.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'pkgs/development/r-modules/default.nix') diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index 7cfb8e54f27..82cc0955a4f 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -1275,6 +1275,17 @@ let ''; }); + sparklyr = old.sparklyr.overrideAttrs (attrs: { + # Pyspark's spark is full featured and better maintained than pkgs.spark + preConfigure = '' + substituteInPlace R/zzz.R \ + --replace ".onLoad <- function(...) {" \ + ".onLoad <- function(...) { + Sys.setenv(\"SPARK_HOME\" = Sys.getenv(\"SPARK_HOME\", unset = \"${pkgs.python3Packages.pyspark}/lib/${pkgs.python3Packages.python.libPrefix}/site-packages/pyspark\")) + Sys.setenv(\"JAVA_HOME\" = Sys.getenv(\"JAVA_HOME\", unset = \"${pkgs.openjdk}\"))" + ''; + }); + proj4 = old.proj4.overrideAttrs (attrs: { preConfigure = '' substituteInPlace configure \ -- cgit 1.4.1