1{
2 lib,
3 buildPythonPackage,
4 cython,
5 fetchFromGitHub,
6 mpi4py,
7 numpy,
8 precice,
9 pkgconfig,
10 pythonOlder,
11}:
12
13buildPythonPackage rec {
14 pname = "pyprecice";
15 version = "3.1.0";
16 format = "setuptools";
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "precice";
22 repo = "python-bindings";
23 rev = "refs/tags/v${version}";
24 hash = "sha256-5K6oVBhR6mBdkyOb/Ec0qg9x63tkoTnLIrE8dz8oCtc=";
25 };
26
27 nativeBuildInputs = [
28 cython
29 pkgconfig
30 ];
31
32 propagatedBuildInputs = [
33 numpy
34 mpi4py
35 precice
36 ];
37
38 # Disable Test because everything depends on open mpi which requires network
39 doCheck = false;
40
41 # Do not use pythonImportsCheck because this will also initialize mpi which requires a network interface
42
43 meta = with lib; {
44 description = "Python language bindings for preCICE";
45 homepage = "https://github.com/precice/python-bindings";
46 license = licenses.lgpl3Only;
47 maintainers = with maintainers; [ Scriptkiddi ];
48 };
49}