depot/third_party/nixpkgs/pkgs/development/python-modules/scikit-fmm/default.nix

63 lines
1.8 KiB
Nix
Raw Normal View History

{
lib,
buildPythonPackage,
fetchpatch,
fetchPypi,
meson-python,
numpy,
python,
}:
buildPythonPackage rec {
pname = "scikit-fmm";
version = "2023.4.2";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-14ccR/ggdyq6kvJWUe8U5NJ96M45PArjwCqzxuJCPAs=";
};
# TODO: Remove these patches after another stable release is made.
# For now, these allow us to build with Python 3.12+ by switching to Meson
# and off the deprecated distutils.
patches = [
(fetchpatch {
name = "first-try-at-meson-build.patch";
hash = "sha256-Kclg4YrQZL6ZSVsLh6X6DqdztPjDK35L5dp5PqYjzaY=";
url = "https://github.com/scikit-fmm/scikit-fmm/commit/a52c0eccb70077553607a5084152316d136b668b.patch";
})
(fetchpatch {
name = "work-in-progress-on-meson-build.patch";
hash = "sha256-WvSwBz7exqe1H+CqdoMfT5jEoIHnyt/nbc/CryuEKiA=";
url = "https://github.com/scikit-fmm/scikit-fmm/commit/db0e7a5f51541745027c3d081d7841e74587793e.patch";
})
(fetchpatch {
name = "re-cythonize-the-heap-wrapper.patch";
hash = "sha256-ro97+06R0szXQ9I8/sR4JAnFxoQwJeiImDcl1Yp9P0Y=";
url = "https://github.com/scikit-fmm/scikit-fmm/commit/4168323e209343facd5f6ba93a85893242e781a2.patch";
})
];
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "oldest-supported-numpy" "numpy"
'';
build-system = [ meson-python ];
dependencies = [ numpy ];
checkPhase = ''
mkdir testdir; cd testdir
${python.interpreter} -c "import skfmm, sys; sys.exit(skfmm.test())"
'';
meta = with lib; {
description = "Python extension module which implements the fast marching method";
homepage = "https://github.com/scikit-fmm/scikit-fmm";
license = licenses.bsd3;
maintainers = with maintainers; [ ];
};
}