biome: 1.9.2 -> 1.9.3 (#349335)
[NixPkgs.git] / pkgs / development / python-modules / accupy / default.nix
blob35d39fed9a6f4c37ad8fb946ebf9a81c0aa3ab47
2   lib,
3   stdenv,
4   buildPythonPackage,
5   fetchFromGitHub,
6   pythonOlder,
7   setuptools,
8   mpmath,
9   numpy,
10   pybind11,
11   pyfma,
12   eigen,
13   importlib-metadata,
14   pytestCheckHook,
15   matplotlib,
16   dufte,
17   perfplot,
20 buildPythonPackage rec {
21   pname = "accupy";
22   version = "0.3.6";
23   pyproject = true;
25   disabled = pythonOlder "3.7";
27   src = fetchFromGitHub {
28     owner = "nschloe";
29     repo = "accupy";
30     rev = version;
31     hash = "sha256-xxwLmL/rFgDFQNr8mRBFG1/NArQk9wanelL4Lu7ls2s=";
32   };
34   build-system = [
35     setuptools
36     pybind11
37   ];
39   buildInputs = [ eigen ];
41   dependencies = [
42     mpmath
43     numpy
44     pyfma
45   ] ++ lib.optional (pythonOlder "3.8") importlib-metadata;
47   nativeCheckInputs = [
48     perfplot
49     pytestCheckHook
50     matplotlib
51     dufte
52   ];
54   postConfigure = ''
55     substituteInPlace setup.py \
56       --replace-fail "/usr/include/eigen3/" "${eigen}/include/eigen3/"
57   '';
59   preBuild = ''
60     export HOME=$(mktemp -d)
61   '';
63   # This variable is needed to suppress the "Trace/BPT trap: 5" error in Darwin's checkPhase.
64   # Not sure of the details, but we can avoid it by changing the matplotlib backend during testing.
65   env.MPLBACKEND = lib.optionalString stdenv.hostPlatform.isDarwin "Agg";
67   # performance tests aren't useful to us and disabling them allows us to
68   # decouple ourselves from an unnecessary build dep
69   preCheck = ''
70     for f in test/test*.py ; do
71       substituteInPlace $f --replace-quiet 'import perfplot' ""
72     done
73   '';
75   disabledTests = [
76     "test_speed_comparison1"
77     "test_speed_comparison2"
78   ];
80   pythonImportsCheck = [ "accupy" ];
82   meta = with lib; {
83     description = "Accurate sums and dot products for Python";
84     homepage = "https://github.com/nschloe/accupy";
85     license = licenses.mit;
86     maintainers = [ ];
87   };