depot/third_party/nixpkgs/pkgs/development/python-modules/pyregion/default.nix
Default email fa5436e0a7 Project import generated by Copybara.
GitOrigin-RevId: e8057b67ebf307f01bdcc8fba94d94f75039d1f6
2024-06-05 17:53:02 +02:00

75 lines
1.5 KiB
Nix

{
lib,
stdenv,
buildPythonPackage,
fetchFromGitHub,
# needed to build
cython,
oldest-supported-numpy,
setuptools,
setuptools-scm,
wheel,
# needed to run
astropy,
numpy,
pyparsing,
# needed to check
pytestCheckHook,
pytest-astropy,
}:
buildPythonPackage rec {
pname = "pyregion";
version = "2.2.0";
pyproject = true;
# pypi src contains cython-produced .c files which don't compile
# with python3.9
src = fetchFromGitHub {
owner = "astropy";
repo = pname;
rev = version;
hash = "sha256-r2STKnZwNvonXATrQ5q9NVD9QftlWI1RWl4F+GZSxVg=";
};
env = lib.optionalAttrs stdenv.cc.isClang {
# Try to remove on next update. generated code returns a NULL in a
# function where an int is expected.
NIX_CFLAGS_COMPILE = "-Wno-error=int-conversion";
};
propagatedBuildInputs = [
astropy
numpy
pyparsing
];
nativeBuildInputs = [
cython
oldest-supported-numpy
setuptools
setuptools-scm
wheel
];
nativeCheckInputs = [
pytestCheckHook
pytest-astropy
];
# Tests must be run in the build directory
preCheck = ''
pushd build/lib.*
'';
postCheck = ''
popd
'';
meta = with lib; {
changelog = "https://github.com/astropy/pyregion/blob/${version}/CHANGES.rst";
description = "Python parser for ds9 region files";
homepage = "https://github.com/astropy/pyregion";
license = licenses.mit;
maintainers = [ maintainers.smaret ];
};
}