at 24.11-pre 1.5 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 python, 5 fetchpatch, 6 fetchPypi, 7 pari, 8 gmp, 9 cython, 10 cysignals, 11 12 # Reverse dependency 13 sage, 14}: 15 16buildPythonPackage rec { 17 pname = "cypari2"; 18 # upgrade may break sage, please test the sage build or ping @timokau on upgrade 19 version = "2.1.5"; 20 format = "setuptools"; 21 22 src = fetchPypi { 23 inherit pname version; 24 sha256 = "sha256-GiWGXDTyCx3JWDB5jjSrZDbieLjgyA3HvwqzTF2wOrg="; 25 }; 26 27 patches = [ 28 # patch to avoid some segfaults in sage's totallyreal.pyx test. 29 # (https://trac.sagemath.org/ticket/27267). 30 (fetchpatch { 31 name = "use-trashcan-for-gen.patch"; 32 url = "https://raw.githubusercontent.com/sagemath/sage/b6ea17ef8e4d652de0a85047bac8d41e90b25555/build/pkgs/cypari/patches/trashcan.patch"; 33 hash = "sha256-w4kktWb9/aR9z4CjrUvAMOxEwRN2WkubaKzQttN8rU8="; 34 }) 35 ]; 36 37 preBuild = '' 38 # generate cythonized extensions (auto_paridecl.pxd is crucial) 39 ${python.pythonOnBuildForHost.interpreter} setup.py build_ext --inplace 40 ''; 41 42 nativeBuildInputs = [ pari ]; 43 44 buildInputs = [ gmp ]; 45 46 propagatedBuildInputs = [ 47 cysignals 48 cython 49 ]; 50 51 checkPhase = '' 52 test -f "$out/${python.sitePackages}/cypari2/auto_paridecl.pxd" 53 make check 54 ''; 55 56 passthru.tests = { 57 inherit sage; 58 }; 59 60 meta = with lib; { 61 description = "Cython bindings for PARI"; 62 license = licenses.gpl2Plus; 63 maintainers = teams.sage.members; 64 homepage = "https://github.com/defeo/cypari2"; 65 }; 66}