Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / cypari2 / default.nix
blob025692de1f74064fa6496c3f688a463af2a8cf33
1 { lib
2 , buildPythonPackage
3 , python
4 , fetchpatch
5 , fetchPypi
6 , pari
7 , gmp
8 , cython
9 , cysignals
12 buildPythonPackage rec {
13   pname = "cypari2";
14   # upgrade may break sage, please test the sage build or ping @timokau on upgrade
15   version = "2.1.5";
16   format = "setuptools";
18   src = fetchPypi {
19     inherit pname version;
20     sha256 = "sha256-GiWGXDTyCx3JWDB5jjSrZDbieLjgyA3HvwqzTF2wOrg=";
21   };
23   patches = [
24     # patch to avoid some segfaults in sage's totallyreal.pyx test.
25     # (https://trac.sagemath.org/ticket/27267).
26     (fetchpatch {
27       name = "use-trashcan-for-gen.patch";
28       url = "https://raw.githubusercontent.com/sagemath/sage/b6ea17ef8e4d652de0a85047bac8d41e90b25555/build/pkgs/cypari/patches/trashcan.patch";
29       hash = "sha256-w4kktWb9/aR9z4CjrUvAMOxEwRN2WkubaKzQttN8rU8=";
30     })
31   ];
33   preBuild = ''
34     # generate cythonized extensions (auto_paridecl.pxd is crucial)
35     ${python.pythonOnBuildForHost.interpreter} setup.py build_ext --inplace
36   '';
38   nativeBuildInputs = [
39     pari
40   ];
42   buildInputs = [
43     gmp
44   ];
46   propagatedBuildInputs = [
47     cysignals
48     cython
49   ];
51   checkPhase = ''
52     test -f "$out/${python.sitePackages}/cypari2/auto_paridecl.pxd"
53     make check
54   '';
56   meta = with lib; {
57     description = "Cython bindings for PARI";
58     license = licenses.gpl2Plus;
59     maintainers = teams.sage.members;
60     homepage = "https://github.com/defeo/cypari2";
61   };