Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 14d03c1d37be
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 78054a581c0f
Choose a head ref
  • 1 commit
  • 3 files changed
  • 1 contributor

Commits on Jun 22, 2019

  1. python3.pkgs.scikitlearn: 0.20.3 -> 0.21.2 (#63591)

    Splits scikitlearn into a python2 (0.20.x) and a python3 (>0.20)
    version.
    timokau authored Jun 22, 2019
    Copy the full SHA
    78054a5 View commit details
Showing with 70 additions and 8 deletions.
  1. +38 −0 pkgs/development/python-modules/scikitlearn/0.20.nix
  2. +27 −5 pkgs/development/python-modules/scikitlearn/default.nix
  3. +5 −3 pkgs/top-level/python-packages.nix
38 changes: 38 additions & 0 deletions pkgs/development/python-modules/scikitlearn/0.20.nix
Original file line number Diff line number Diff line change
@@ -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; [ ];
};
}
32 changes: 27 additions & 5 deletions pkgs/development/python-modules/scikitlearn/default.nix
Original file line number Diff line number Diff line change
@@ -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";
8 changes: 5 additions & 3 deletions pkgs/top-level/python-packages.nix
Original file line number Diff line number Diff line change
@@ -4393,9 +4393,11 @@ in {

scikitimage = callPackage ../development/python-modules/scikit-image { };

scikitlearn = callPackage ../development/python-modules/scikitlearn {
inherit (pkgs) gfortran glibcLocales;
};
scikitlearn = let
args = { inherit (pkgs) gfortran glibcLocales; };
in
if isPy3k then callPackage ../development/python-modules/scikitlearn args
else callPackage ../development/python-modules/scikitlearn/0.20.nix args;

scikit-bio = callPackage ../development/python-modules/scikit-bio { };