summary refs log tree commit diff
path: root/pkgs/development/python-modules/scikitlearn
diff options
context:
space:
mode:
authorTimo Kaufmann <timokau@zoho.com>2019-06-22 17:59:43 +0200
committerGitHub <noreply@github.com>2019-06-22 17:59:43 +0200
commit78054a581c0f72aaa507eddc634ae7d733114b93 (patch)
treedde8d1ebb611d19ee8483a842e64e8840c8472b9 /pkgs/development/python-modules/scikitlearn
parent14d03c1d37befcd3f0691d11a8e311fa59cd0385 (diff)
downloadnixpkgs-78054a581c0f72aaa507eddc634ae7d733114b93.tar
nixpkgs-78054a581c0f72aaa507eddc634ae7d733114b93.tar.gz
nixpkgs-78054a581c0f72aaa507eddc634ae7d733114b93.tar.bz2
nixpkgs-78054a581c0f72aaa507eddc634ae7d733114b93.tar.lz
nixpkgs-78054a581c0f72aaa507eddc634ae7d733114b93.tar.xz
nixpkgs-78054a581c0f72aaa507eddc634ae7d733114b93.tar.zst
nixpkgs-78054a581c0f72aaa507eddc634ae7d733114b93.zip
python3.pkgs.scikitlearn: 0.20.3 -> 0.21.2 (#63591)
Splits scikitlearn into a python2 (0.20.x) and a python3 (>0.20)
version.
Diffstat (limited to 'pkgs/development/python-modules/scikitlearn')
-rw-r--r--pkgs/development/python-modules/scikitlearn/0.20.nix38
-rw-r--r--pkgs/development/python-modules/scikitlearn/default.nix32
2 files changed, 65 insertions, 5 deletions
diff --git a/pkgs/development/python-modules/scikitlearn/0.20.nix b/pkgs/development/python-modules/scikitlearn/0.20.nix
new file mode 100644
index 00000000000..b1c074faa8f
--- /dev/null
+++ b/pkgs/development/python-modules/scikitlearn/0.20.nix
@@ -0,0 +1,38 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, gfortran, glibcLocales
+, numpy, scipy, pytest, pillow
+}:
+
+# 0.20.x is the last version that maintains python2 compatibility
+
+buildPythonPackage rec {
+  pname = "scikit-learn";
+  version = "0.20.3";
+  # UnboundLocalError: local variable 'message' referenced before assignment
+  disabled = stdenv.isi686;  # https://github.com/scikit-learn/scikit-learn/issues/5534
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c503802a81de18b8b4d40d069f5e363795ee44b1605f38bc104160ca3bfe2c41";
+  };
+
+  buildInputs = [ pillow gfortran glibcLocales ];
+  propagatedBuildInputs = [ numpy scipy numpy.blas ];
+  checkInputs = [ pytest ];
+
+  LC_ALL="en_US.UTF-8";
+
+  doCheck = !stdenv.isAarch64;
+  # Skip test_feature_importance_regression - does web fetch
+  checkPhase = ''
+    cd $TMPDIR
+    HOME=$TMPDIR OMP_NUM_THREADS=1 pytest -k "not test_feature_importance_regression" --pyargs sklearn
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A set of python modules for machine learning and data mining";
+    homepage = http://scikit-learn.org;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/pkgs/development/python-modules/scikitlearn/default.nix b/pkgs/development/python-modules/scikitlearn/default.nix
index 04ea254ee92..7eb020bbe60 100644
--- a/pkgs/development/python-modules/scikitlearn/default.nix
+++ b/pkgs/development/python-modules/scikitlearn/default.nix
@@ -1,21 +1,43 @@
-{ stdenv, buildPythonPackage, fetchPypi
+{ stdenv
+, lib
+, buildPythonPackage
+, fetchPypi
 , gfortran, glibcLocales
 , numpy, scipy, pytest, pillow
+, cython
+, joblib
+, llvmPackages
 }:
 
 buildPythonPackage rec {
   pname = "scikit-learn";
-  version = "0.20.3";
+  version = "0.21.2";
   # UnboundLocalError: local variable 'message' referenced before assignment
   disabled = stdenv.isi686;  # https://github.com/scikit-learn/scikit-learn/issues/5534
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c503802a81de18b8b4d40d069f5e363795ee44b1605f38bc104160ca3bfe2c41";
+    sha256 = "1nvj9j16y1hz9gm0qwzpnx2zmz55c63k1fai643migsyll9c7bqa";
   };
 
-  buildInputs = [ pillow gfortran glibcLocales ];
-  propagatedBuildInputs = [ numpy scipy numpy.blas ];
+  buildInputs = [
+    pillow
+    gfortran
+    glibcLocales
+  ] ++ lib.optionals stdenv.cc.isClang [
+    llvmPackages.openmp
+  ];
+
+  nativeBuildInputs = [
+    cython
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    scipy
+    numpy.blas
+    joblib
+  ];
   checkInputs = [ pytest ];
 
   LC_ALL="en_US.UTF-8";