From e4c51e5aaa82d1075ac048b2fb42ef10e1a38de4 Mon Sep 17 00:00:00 2001 From: Chris Ostrouchov Date: Thu, 18 Oct 2018 15:00:48 -0400 Subject: [PATCH] pythonPackages.numpy: refactor adding mkl support --- pkgs/development/python-modules/numpy/default.nix | 13 ++++++++++++- pkgs/top-level/python-packages.nix | 4 ++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/numpy/default.nix b/pkgs/development/python-modules/numpy/default.nix index c66650c0abf2f..f605f91588aa3 100644 --- a/pkgs/development/python-modules/numpy/default.nix +++ b/pkgs/development/python-modules/numpy/default.nix @@ -1,5 +1,7 @@ { stdenv, lib, fetchPypi, python, buildPythonPackage, isPyPy, gfortran, pytest, blas }: +let blasImplementation = stdenv.lib.nameFromURL blas.name "-"; +in buildPythonPackage rec { pname = "numpy"; version = "1.15.1"; @@ -38,7 +40,16 @@ buildPythonPackage rec { export NPY_NUM_BUILD_JOBS=$NIX_BUILD_CORES ''; - preBuild = '' + preBuild = if blasImplementation == "mkl" then '' + echo "Creating site.cfg file..." + cat << EOF > site.cfg + [mkl] + include_dirs = ${blas}/include + library_dirs = ${blas}/lib + mkl_libs = mkl_rt + lapack_libs = + EOF + '' else '' echo "Creating site.cfg file..." cat << EOF > site.cfg [openblas] diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 31a07ff198ef7..04d27e9593074 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8111,6 +8111,10 @@ in { blas = pkgs.openblasCompat; }; + numpy-mkl = callPackage ../development/python-modules/numpy { + blas = pkgs.mkl; + }; + numpydoc = callPackage ../development/python-modules/numpydoc { }; numpy-stl = callPackage ../development/python-modules/numpy-stl { };