1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonAtLeast,
6 cython,
7 enum34,
8 gfortran,
9 isPy27,
10 isPy3k,
11 numpy,
12 pytest,
13 python,
14 scipy,
15 sundials,
16}:
17
18buildPythonPackage rec {
19 pname = "scikits.odes";
20 version = "2.7.0";
21
22 # https://github.com/bmcage/odes/issues/130
23 disabled = isPy27 || pythonAtLeast "3.12";
24
25 src = fetchPypi {
26 inherit pname version;
27 hash = "sha256-px4Z4UhYk3VK6MBQZoIy/MaU8XuDYC51++v3v5+XXh4=";
28 };
29
30 nativeBuildInputs = [
31 gfortran
32 cython
33 ];
34
35 propagatedBuildInputs = [
36 numpy
37 sundials
38 scipy
39 ] ++ lib.optionals (!isPy3k) [ enum34 ];
40
41 nativeCheckInputs = [ pytest ];
42
43 checkPhase = ''
44 cd $out/${python.sitePackages}/scikits/odes/tests
45 pytest
46 '';
47
48 meta = with lib; {
49 description = "Scikit offering extra ode/dae solvers, as an extension to what is available in scipy";
50 homepage = "https://github.com/bmcage/odes";
51 license = licenses.bsd3;
52 maintainers = with maintainers; [ idontgetoutmuch ];
53 platforms = [
54 "aarch64-linux"
55 "x86_64-linux"
56 "x86_64-darwin"
57 ];
58 };
59}