From 4e5aeca90bba12fb23e87e63dfedbd0890bc6139 Mon Sep 17 00:00:00 2001 From: Tom Hall Date: Wed, 19 Feb 2020 22:57:41 +0000 Subject: [PATCH 1/2] R: Enable java support on all platforms --- pkgs/applications/science/math/R/default.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix index 517fc9d7b320..914f6a49b179 100644 --- a/pkgs/applications/science/math/R/default.nix +++ b/pkgs/applications/science/math/R/default.nix @@ -7,7 +7,6 @@ # R as of writing does not support outputting both .so and .a files; it outputs: # --enable-R-static-lib conflicts with --enable-R-shlib and will be ignored , static ? false -, javaSupport ? (!stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64) }: stdenv.mkDerivation rec { @@ -23,9 +22,8 @@ stdenv.mkDerivation rec { buildInputs = [ bzip2 gfortran libX11 libXmu libXt libXt libjpeg libpng libtiff ncurses pango pcre perl readline texLive xz zlib less texinfo graphviz icu - pkgconfig bison imake which openblas curl tcl tk - ] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ] - ++ stdenv.lib.optional javaSupport jdk; + pkgconfig bison imake which openblas curl tcl tk jdk + ] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ]; patches = [ ./no-usr-local-search-paths.patch @@ -57,7 +55,7 @@ stdenv.mkDerivation rec { CC=$(type -p cc) CXX=$(type -p c++) FC="${gfortran}/bin/gfortran" F77="${gfortran}/bin/gfortran" - ${stdenv.lib.optionalString javaSupport "JAVA_HOME=\"${jdk}\""} + JAVA_HOME="${jdk}" RANLIB=$(type -p ranlib) R_SHELL="${stdenv.shell}" '' + stdenv.lib.optionalString stdenv.isDarwin '' From ae9e09a2e1ee1d003074b888a5cccd30faf93b03 Mon Sep 17 00:00:00 2001 From: Tom Hall Date: Fri, 21 Feb 2020 23:01:36 +0000 Subject: [PATCH 2/2] R: fix build on aarch64 by removing a failing test I believe this test is currently incorrect on aarch64 and expects a warning about loss of precision with much smaller numbers than the platform's long doubles can handle. --- ...01-Disable-test-pending-upstream-fix.patch | 26 +++++++++++++++++++ pkgs/applications/science/math/R/default.nix | 4 +++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/applications/science/math/R/0001-Disable-test-pending-upstream-fix.patch diff --git a/pkgs/applications/science/math/R/0001-Disable-test-pending-upstream-fix.patch b/pkgs/applications/science/math/R/0001-Disable-test-pending-upstream-fix.patch new file mode 100644 index 000000000000..7bf32df0b7a3 --- /dev/null +++ b/pkgs/applications/science/math/R/0001-Disable-test-pending-upstream-fix.patch @@ -0,0 +1,26 @@ +From 85ede2cf452800710de136f4f864921d3bb9773c Mon Sep 17 00:00:00 2001 +From: Tom Hall +Date: Fri, 21 Feb 2020 22:56:06 +0000 +Subject: [PATCH] Disable test pending upstream fix + +See https://bugs.r-project.org/bugzilla/show_bug.cgi?id=17718 +--- + tests/reg-tests-1d.R | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/reg-tests-1d.R b/tests/reg-tests-1d.R +index 9b551a1fc8..18ce6027ed 100644 +--- a/tests/reg-tests-1d.R ++++ b/tests/reg-tests-1d.R +@@ -3079,7 +3079,7 @@ stopifnot(exprs = { + x[1:52] %% 3 == 2:1 + -x[1:52] %% 3 == 1:2 + }) # larger x suffer from cancellation (well, warning too early now): +-tools::assertWarning(x[60:68] %% 3) ++#tools::assertWarning(x[60:68] %% 3) + + + ## Hilmar Berger's on R-devel list: 'data.frame() == NULL' etc +-- +2.24.1 + diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix index 914f6a49b179..f613f94b9ccd 100644 --- a/pkgs/applications/science/math/R/default.nix +++ b/pkgs/applications/science/math/R/default.nix @@ -27,6 +27,10 @@ stdenv.mkDerivation rec { patches = [ ./no-usr-local-search-paths.patch + ] ++ stdenv.lib.optionals stdenv.hostPlatform.isAarch64 [ + # Remove a test which fails on aarch64. + # See https://bugs.r-project.org/bugzilla/show_bug.cgi?id=17718 + ./0001-Disable-test-pending-upstream-fix.patch ]; prePatch = stdenv.lib.optionalString stdenv.isDarwin ''