1{ lib
2, buildPythonPackage
3, fetchPypi
4, numpy
5, scipy
6, pyamg
7, pysparse
8, future
9, matplotlib
10, tkinter
11, mpi4py
12, scikit-fmm
13, isPy27
14, gmsh
15, python
16, stdenv
17}:
18
19let
20 not_darwin_inputs = lib.optionals (! stdenv.isDarwin) [ gmsh ];
21in
22 buildPythonPackage rec {
23 pname = "fipy";
24 version = "3.3";
25
26 src = fetchPypi {
27 pname = "FiPy";
28 inherit version;
29 sha256 = "11agpg3d6yrns8igkpml1mxy3mkqkjq2yrw1mw12y07dkk12ii19";
30 };
31
32 propagatedBuildInputs = [
33 numpy
34 scipy
35 pyamg
36 matplotlib
37 tkinter
38 mpi4py
39 future
40 scikit-fmm
41 ] ++ lib.optionals isPy27 [ pysparse ] ++ not_darwin_inputs;
42
43 checkInputs = not_darwin_inputs;
44
45 checkPhase = ''
46 ${python.interpreter} setup.py test --modules
47 '';
48
49 meta = with lib; {
50 homepage = https://www.ctcms.nist.gov/fipy/;
51 description = "A Finite Volume PDE Solver Using Python";
52 license = licenses.free;
53 maintainers = with maintainers; [ costrouc wd15 ];
54 };
55 }