Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / pyerfa / default.nix
blob8561738f8428c59e430ee6f9d6a70997711bd3c0
1 { lib
2 , buildPythonPackage
3 , fetchPypi
4 , jinja2
5 , oldest-supported-numpy
6 , setuptools-scm
7 , wheel
8 , liberfa
9 , packaging
10 , numpy
11 , pytestCheckHook
12 , pytest-doctestplus
15 buildPythonPackage rec {
16   pname = "pyerfa";
17   format = "pyproject";
18   version = "2.0.1.1";
20   src = fetchPypi {
21     inherit pname version;
22     hash = "sha256-26x07409Ow8i7wrTu72zCyqeEFcLH6Wpi+NMe+Nsmms=";
23   };
25   nativeBuildInputs = [
26     jinja2
27     oldest-supported-numpy
28     packaging
29     setuptools-scm
30     wheel
31   ];
33   propagatedBuildInputs = [
34     numpy
35   ];
36   buildInputs = [
37     liberfa
38   ];
40   preBuild = ''
41     export PYERFA_USE_SYSTEM_LIBERFA=1
42   '';
44   # See https://github.com/liberfa/pyerfa/issues/112#issuecomment-1721197483
45   NIX_CFLAGS_COMPILE = "-O2";
46   nativeCheckInputs = [
47     pytestCheckHook
48     pytest-doctestplus
49   ];
50   # Getting circular import errors without this, not clear yet why. This was mentioned to
51   # upstream at: https://github.com/liberfa/pyerfa/issues/112 and downstream at
52   # https://github.com/NixOS/nixpkgs/issues/255262
53   preCheck = ''
54     cd $out
55   '';
56   pythonImportsCheck = [
57     "erfa"
58   ];
60   meta = with lib; {
61     description = "Python bindings for ERFA routines";
62     longDescription = ''
63         PyERFA is the Python wrapper for the ERFA library (Essential Routines
64         for Fundamental Astronomy), a C library containing key algorithms for
65         astronomy, which is based on the SOFA library published by the
66         International Astronomical Union (IAU). All C routines are wrapped as
67         Numpy universal functions, so that they can be called with scalar or
68         array inputs.
69     '';
70     homepage = "https://github.com/liberfa/pyerfa";
71     license = licenses.bsd3;
72     maintainers = [ maintainers.rmcgibbo ];
73   };