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