aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/python-modules/numpy/1.16.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/numpy/1.16.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/numpy/1.16.nix97
1 files changed, 97 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/numpy/1.16.nix b/nixpkgs/pkgs/development/python-modules/numpy/1.16.nix
new file mode 100644
index 00000000000..6fa77d8fa90
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/numpy/1.16.nix
@@ -0,0 +1,97 @@
+{ lib
+, fetchPypi
+, python
+, buildPythonPackage
+, gfortran
+, pytest
+, blas
+, lapack
+, writeTextFile
+, isPyPy
+, cython
+, setuptoolsBuildHook
+ }:
+
+assert (!blas.isILP64) && (!lapack.isILP64);
+
+let
+ cfg = writeTextFile {
+ name = "site.cfg";
+ text = (lib.generators.toINI {} {
+ ${blas.implementation} = {
+ include_dirs = "${lib.getDev blas}/include:${lib.getDev lapack}/include";
+ library_dirs = "${blas}/lib:${lapack}/lib";
+ runtime_library_dirs = "${blas}/lib:${lapack}/lib";
+ libraries = "lapack,lapacke,blas,cblas";
+ };
+ lapack = {
+ include_dirs = "${lib.getDev lapack}/include";
+ library_dirs = "${lapack}/lib";
+ runtime_library_dirs = "${lapack}/lib";
+ };
+ blas = {
+ include_dirs = "${lib.getDev blas}/include";
+ library_dirs = "${blas}/lib";
+ runtime_library_dirs = "${blas}/lib";
+ };
+ });
+ };
+in buildPythonPackage rec {
+ pname = "numpy";
+ version = "1.16.6";
+ format = "pyproject.toml";
+
+ src = fetchPypi {
+ inherit pname version;
+ extension = "zip";
+ sha256 = "e5cf3fdf13401885e8eea8170624ec96225e2174eb0c611c6f26dd33b489e3ff";
+ };
+
+ nativeBuildInputs = [ gfortran pytest cython setuptoolsBuildHook ];
+ buildInputs = [ blas lapack ];
+
+ patches = lib.optionals python.hasDistutilsCxxPatch [
+ # We patch cpython/distutils to fix https://bugs.python.org/issue1222585
+ # Patching of numpy.distutils is needed to prevent it from undoing the
+ # patch to distutils.
+ ./numpy-distutils-C++_1.16.patch
+ ];
+
+ preConfigure = ''
+ sed -i 's/-faltivec//' numpy/distutils/system_info.py
+ export NPY_NUM_BUILD_JOBS=$NIX_BUILD_CORES
+ '';
+
+ preBuild = ''
+ ln -s ${cfg} site.cfg
+ '';
+
+ enableParallelBuilding = true;
+
+ doCheck = !isPyPy; # numpy 1.16+ hits a bug in pypy's ctypes, using either numpy or pypy HEAD fixes this (https://github.com/numpy/numpy/issues/13807)
+
+ checkPhase = ''
+ runHook preCheck
+ pushd dist
+ ${python.interpreter} -c 'import numpy; numpy.test("fast", verbose=10)'
+ popd
+ runHook postCheck
+ '';
+
+ passthru = {
+ # just for backwards compatibility
+ blas = blas.provider;
+ blasImplementation = blas.implementation;
+ inherit cfg;
+ };
+
+ # Disable test
+ # - test_large_file_support: takes a long time and can cause the machine to run out of disk space
+ NOSE_EXCLUDE="test_large_file_support";
+
+ meta = {
+ description = "Scientific tools for Python";
+ homepage = "https://numpy.org/";
+ maintainers = with lib.maintainers; [ fridh ];
+ };
+}