The attached patch updates R to the latest version 3.2.2 "Fire Safety".
There is a test which fails when R is built without the recommended packages.
This test has been patched to pass.
>From 405426538e3ae232f5210048ae2360690d6c5d5d Mon Sep 17 00:00:00 2001
From: Karn Kallio <[email protected]>
Date: Thu, 1 Oct 2015 02:37:49 -0430
Subject: [PATCH 1/2] R: advance to version 3.2.2.
A test failing without recommended packages has been patched.
---
pkgs/applications/science/math/R/default.nix | 7 ++++---
.../R/fix-tests-without-recommended-packages.patch | 24 ++++++++++++++++++++++
2 files changed, 28 insertions(+), 3 deletions(-)
create mode 100644 pkgs/applications/science/math/R/fix-tests-without-recommended-packages.patch
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index 0f13faf..79bfef0 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -6,11 +6,11 @@
}:
stdenv.mkDerivation rec {
- name = "R-3.2.1";
+ name = "R-3.2.2";
src = fetchurl {
url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz";
- sha256 = "d59dbc3f04f4604a5cf0fb210b8ea703ef2438b3ee65fd5ab536ec5234f4c982";
+ sha256 = "07a6s865bjnh7w0fqsrkv1pva76w99v86w0w787qpdil87km54cw";
};
buildInputs = [ bzip2 gfortran libX11 libXmu libXt
@@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
which jdk openblas
];
- patches = [ ./no-usr-local-search-paths.patch ];
+ patches = [ ./no-usr-local-search-paths.patch
+ ./fix-tests-without-recommended-packages.patch ];
preConfigure = ''
configureFlagsArray=(
diff --git a/pkgs/applications/science/math/R/fix-tests-without-recommended-packages.patch b/pkgs/applications/science/math/R/fix-tests-without-recommended-packages.patch
new file mode 100644
index 0000000..c736c70
--- /dev/null
+++ b/pkgs/applications/science/math/R/fix-tests-without-recommended-packages.patch
@@ -0,0 +1,24 @@
+diff -Naur R-3.2.2-upstream/tests/reg-packages.R R-3.2.2/tests/reg-packages.R
+--- R-3.2.2-upstream/tests/reg-packages.R 2015-08-05 17:45:05.000000000 -0430
++++ R-3.2.2/tests/reg-packages.R 2015-10-01 02:11:05.484992903 -0430
+@@ -82,7 +82,8 @@
+ ## pkgB tests an empty R directory
+ dir.create(file.path(pkgPath, "pkgB", "R"), recursive = TRUE,
+ showWarnings = FALSE)
+-p.lis <- if("Matrix" %in% row.names(installed.packages(.Library)))
++matrixIsInstalled <- "Matrix" %in% row.names(installed.packages(.Library))
++p.lis <- if(matrixIsInstalled)
+ c("pkgA", "pkgB", "exNSS4") else "exNSS4"
+ for(p. in p.lis) {
+ cat("building package", p., "...\n")
+@@ -111,8 +112,8 @@
+ tools::assertError(is.null(pkgA:::nilData))
+ }
+
+-if(dir.exists(file.path("myLib", "exNSS4"))) {
+- for(ns in c("pkgB", "pkgA", "Matrix", "exNSS4")) unloadNamespace(ns)
++if(matrixIsInstalled && dir.exists(file.path("myLib", "exNSS4"))) {
++ for(ns in c(rev(p.lis), "Matrix")) unloadNamespace(ns)
+ ## Both exNSS4 and Matrix define "atomicVector" *the same*,
+ ## but 'exNSS4' has it extended - and hence *both* are registered in cache -> "conflicts"
+ requireNamespace("exNSS4", lib= "myLib")
--
2.5.3
_______________________________________________
nix-dev mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-dev