1{
2 lib,
3 fetchFromGitHub,
4 buildPythonPackage,
5 cython,
6 setuptools,
7 mpi,
8 pytestCheckHook,
9 mpiCheckPhaseHook,
10}:
11
12buildPythonPackage rec {
13 pname = "mpi4py";
14 version = "4.0.1";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 repo = "mpi4py";
19 owner = "mpi4py";
20 rev = version;
21 hash = "sha256-pH4z+hyoFOSAUlXv9EKO54/SM5HyLxv7B+18xBidH2Q=";
22 };
23
24 build-system = [
25 cython
26 setuptools
27 mpi
28 ];
29 dependencies = [
30 mpi
31 ];
32
33 __darwinAllowLocalNetworking = true;
34
35 nativeCheckInputs = [
36 pytestCheckHook
37 mpiCheckPhaseHook
38 ];
39 doCheck = true;
40 disabledTestPaths = [
41 # Almost all tests in this file fail (TODO: Report about this upstream..)
42 "test/test_spawn.py"
43 ];
44
45 passthru = {
46 inherit mpi;
47 };
48
49 meta = {
50 description = "Python bindings for the Message Passing Interface standard";
51 homepage = "https://github.com/mpi4py/mpi4py";
52 license = lib.licenses.bsd2;
53 maintainers = with lib.maintainers; [ doronbehar ];
54 };
55}