1{ lib
2, buildPythonPackage
3, fetchPypi
4, mpmath
5, numpy
6, pipdate
7, pybind11
8, pyfma
9, eigen
10, pytest
11, matplotlib
12, perfplot
13, isPy27
14}:
15
16buildPythonPackage rec {
17 pname = "accupy";
18 version = "0.2.0";
19 disabled = isPy27;
20
21 src = fetchPypi {
22 inherit pname version;
23 sha256 = "e27ca7eed8a1bde2e6e040f8f3ee94a5d7522f42c4360756c9ec8931cf13ca98";
24 };
25
26 buildInputs = [
27 pybind11 eigen
28 ];
29
30 propagatedBuildInputs = [
31 mpmath
32 numpy
33 pipdate
34 pyfma
35 ];
36
37 checkInputs = [
38 pytest
39 matplotlib
40 perfplot
41 ];
42
43 postConfigure = ''
44 substituteInPlace setup.py \
45 --replace "/usr/include/eigen3/" "${eigen}/include/eigen3/"
46 '';
47
48 preBuild = ''
49 export HOME=$(mktemp -d)
50 '';
51
52 checkPhase = ''
53 pytest test
54 '';
55
56 meta = with lib; {
57 description = "Accurate sums and dot products for Python";
58 homepage = https://github.com/nschloe/accupy;
59 license = licenses.mit;
60 maintainers = [ maintainers.costrouc ];
61 };
62}