aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/python-modules/numpy/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/python-modules/numpy/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/python-modules/numpy/default.nix27
1 files changed, 21 insertions, 6 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/python-modules/numpy/default.nix b/infra/libkookie/nixpkgs/pkgs/development/python-modules/numpy/default.nix
index 9502cdc5b0a0..51eeab3177e2 100644
--- a/infra/libkookie/nixpkgs/pkgs/development/python-modules/numpy/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/development/python-modules/numpy/default.nix
@@ -4,13 +4,14 @@
, buildPythonPackage
, gfortran
, hypothesis
-, pytest
+, pytest_5
, blas
, lapack
, writeTextFile
, isPyPy
, cython
, setuptoolsBuildHook
+, fetchpatch
}:
assert (!blas.isILP64) && (!lapack.isILP64);
@@ -39,28 +40,38 @@ let
};
in buildPythonPackage rec {
pname = "numpy";
- version = "1.19.1";
+ version = "1.19.4";
format = "pyproject.toml";
src = fetchPypi {
inherit pname version;
extension = "zip";
- sha256 = "b8456987b637232602ceb4d663cb34106f7eb780e247d51a260b84760fd8f491";
+ sha256 = "141ec3a3300ab89c7f2b0775289954d193cc8edb621ea05f99db9cb181530512";
};
- nativeBuildInputs = [ gfortran pytest cython setuptoolsBuildHook ];
+ nativeBuildInputs = [ gfortran cython setuptoolsBuildHook ];
buildInputs = [ blas lapack ];
- patches = lib.optionals python.hasDistutilsCxxPatch [
+ patches = [
+ # For compatibility with newer pytest
+ (fetchpatch {
+ url = "https://github.com/numpy/numpy/commit/ba315034759fbf91c61bb55390edc86e7b2627f3.patch";
+ sha256 = "F2P5q61CyhqsZfwkLmxb7A9YdE+43FXLbQkSjop2rVY=";
+ })
+ ] ++ 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++.patch
];
+ # we default openblas to build with 64 threads
+ # if a machine has more than 64 threads, it will segfault
+ # see https://github.com/xianyi/OpenBLAS/issues/2993
preConfigure = ''
sed -i 's/-faltivec//' numpy/distutils/system_info.py
export NPY_NUM_BUILD_JOBS=$NIX_BUILD_CORES
+ export OMP_NUM_THREADS=$((NIX_BUILD_CORES > 64 ? 64 : NIX_BUILD_CORES))
'';
preBuild = ''
@@ -71,7 +82,10 @@ in buildPythonPackage rec {
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)
- checkInputs = [ hypothesis ];
+ checkInputs = [
+ pytest_5 # pytest 6 will error: "module is already imported: hypothesis"
+ hypothesis
+ ];
checkPhase = ''
runHook preCheck
@@ -95,6 +109,7 @@ in buildPythonPackage rec {
meta = {
description = "Scientific tools for Python";
homepage = "https://numpy.org/";
+ license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ fridh ];
};
}