about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/rpy2/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/rpy2/default.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/rpy2/default.nix56
1 files changed, 23 insertions, 33 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/rpy2/default.nix b/nixpkgs/pkgs/development/python-modules/rpy2/default.nix
index 1b4ab4d40db9..5a00b18557a6 100644
--- a/nixpkgs/pkgs/development/python-modules/rpy2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rpy2/default.nix
@@ -3,8 +3,6 @@
 , buildPythonPackage
 , fetchPypi
 , isPyPy
-, isPy27
-, readline
 , R
 , rWrapper
 , rPackages
@@ -13,38 +11,38 @@
 , bzip2
 , zlib
 , icu
-, singledispatch
-, six
+, ipython
 , jinja2
 , pytz
+, pandas
 , numpy
+, cffi
+, tzlocal
+, simplegeneric
 , pytest
-, mock
 , extraRPackages ? []
 }:
 
 buildPythonPackage rec {
-    version = if isPy27 then
-      "2.8.6" # python2 support dropped in 2.9.x
-    else
-      "2.9.5";
+    version = "3.2.4";
     pname = "rpy2";
+
     disabled = isPyPy;
     src = fetchPypi {
       inherit version pname;
-      sha256 = if isPy27 then
-        "162zki5c1apgv6qbafi7n66y4hgpgp43xag7q75qb6kv99ri6k80" # 2.8.x
-      else
-        "1nrj8pgyxrwrfdrxzb4j3z1adjwjx1mr8d1n5cmrz4nhlzy8w7xr"; # 2.9.x
+      sha256 = "3daf1a4b28c4e354ef989093f03b066908bf6e5082a6f4af72cc3fd928a28dc6";
     };
+
     buildInputs = [
-      readline
       R
       pcre
       lzma
       bzip2
       zlib
       icu
+
+      # is in the upstream `requires` although it shouldn't be -- this is easier than patching it away
+      pytest
     ] ++ (with rPackages; [
       # packages expected by the test framework
       ggplot2
@@ -58,6 +56,10 @@ buildPythonPackage rec {
       tidyr
     ]) ++ extraRPackages ++ rWrapper.recommendedPackages;
 
+    checkPhase = ''
+      pytest
+    '';
+
     nativeBuildInputs = [
       R # needed at setup time to detect R_HOME (alternatively set R_HOME explicitly)
     ];
@@ -65,38 +67,26 @@ buildPythonPackage rec {
     patches = [
       # R_LIBS_SITE is used by the nix r package to point to the installed R libraries.
       # This patch sets R_LIBS_SITE when rpy2 is imported.
-      ./r-libs-site.patch
+      ./rpy2-3.x-r-libs-site.patch
     ];
     postPatch = ''
-      substituteInPlace rpy/rinterface/__init__.py --replace '@NIX_R_LIBS_SITE@' "$R_LIBS_SITE"
+      substituteInPlace 'rpy2/rinterface_lib/embedded.py' --replace '@NIX_R_LIBS_SITE@' "$R_LIBS_SITE"
     '';
 
     propagatedBuildInputs = [
-      singledispatch
-      six
+      ipython
       jinja2
       pytz
+      pandas
       numpy
+      cffi
+      tzlocal
+      simplegeneric
     ];
 
     checkInputs = [
       pytest
-      mock
     ];
-    # One remaining test failure caused by different unicode encoding.
-    # https://bitbucket.org/rpy2/rpy2/issues/488
-    doCheck = false;
-    checkPhase = ''
-      ${python.interpreter} -m 'rpy2.tests'
-    '';
-
-    # For some reason libreadline.so is not found. Curiously `ldd _rinterface.so | grep readline` shows two readline entries:
-    # libreadline.so.6 => not found
-    # libreadline.so.6 => /nix/store/z2zhmrg6jcrn5iq2779mav0nnq4vm2q6-readline-6.3p08/lib/libreadline.so.6 (0x00007f333ac43000)
-    # There must be a better way to fix this, but I don't know it.
-    postFixup = ''
-      patchelf --add-needed ${readline}/lib/libreadline.so "$out/${python.sitePackages}/rpy2/rinterface/"_rinterface*.so
-    '';
 
     meta = {
       homepage = http://rpy.sourceforge.net/rpy2;