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