depot/third_party/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix
Default email f34ce41345 Project import generated by Copybara.
GitOrigin-RevId: b73c2221a46c13557b1b3be9c2070cc42cf01eb3
2024-07-27 08:49:29 +02:00

62 lines
1.4 KiB
Nix

{
lib,
fetchFromGitHub,
buildPythonPackage,
cython,
setuptools,
mpi,
openssh,
pytestCheckHook,
mpiCheckPhaseHook,
}:
buildPythonPackage rec {
pname = "mpi4py";
# See https://github.com/mpi4py/mpi4py/issues/386 . Part of the changes since
# the last release include Python 3.12 fixes.
version = "3.1.6-unstable-2024-07-08";
pyproject = true;
src = fetchFromGitHub {
repo = "mpi4py";
owner = "mpi4py";
rev = "e9a59719bbce1b9c351e1e30ecd3be3b459e97cd";
hash = "sha256-C/nidWGr8xsLV73u7HRtnXoQgYmoRJkD45DFrdXXTPI=";
};
build-system = [
cython
setuptools
mpi
];
dependencies = [
mpi
];
__darwinAllowLocalNetworking = true;
nativeCheckInputs = [
pytestCheckHook
openssh
mpiCheckPhaseHook
];
# Most tests pass, (besides `test_spawn.py`), but when reaching ~80% tests
# progress, an orted process hangs and the tests don't finish. This issue is
# probably due to the sandbox.
doCheck = false;
disabledTestPaths = [
# Almost all tests in this file fail (TODO: Report about this upstream..)
"test/test_spawn.py"
];
passthru = {
inherit mpi;
};
meta = {
description = "Python bindings for the Message Passing Interface standard";
homepage = "https://github.com/mpi4py/mpi4py";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ doronbehar ];
};
}