at 25.11-pre 1.3 kB view raw
1{ 2 lib, 3 fetchFromGitHub, 4 buildPythonPackage, 5 6 # build-system 7 cysignals, 8 cython, 9 pkgconfig, 10 setuptools, 11 12 gmp, 13 pari, 14 mpfr, 15 fplll, 16 numpy, 17 18 # Reverse dependency 19 sage, 20 21 # tests 22 pytestCheckHook, 23}: 24 25buildPythonPackage rec { 26 pname = "fpylll"; 27 version = "0.6.3"; 28 pyproject = true; 29 30 src = fetchFromGitHub { 31 owner = "fplll"; 32 repo = "fpylll"; 33 tag = version; 34 hash = "sha256-3+DXfCUuHQG+VSzJGEPa8qP6oxC+nngMa44XyFCJAVY="; 35 }; 36 37 nativeBuildInputs = [ 38 cython 39 cysignals 40 pkgconfig 41 setuptools 42 ]; 43 44 buildInputs = [ 45 gmp 46 pari 47 mpfr 48 fplll 49 ]; 50 51 propagatedBuildInputs = [ numpy ]; 52 53 nativeCheckInputs = [ pytestCheckHook ]; 54 55 preCheck = '' 56 # Since upstream introduced --doctest-modules in 57 # https://github.com/fplll/fpylll/commit/9732fdb40cf1bd43ad1f60762ec0a8401743fc79, 58 # it is necessary to ignore import mismatches. Not sure why, but the files 59 # should be identical anyway. 60 export PY_IGNORE_IMPORTMISMATCH=1 61 ''; 62 63 passthru.tests = { 64 inherit sage; 65 }; 66 67 meta = with lib; { 68 description = "Python interface for fplll"; 69 changelog = "https://github.com/fplll/fpylll/releases/tag/${src.tag}"; 70 homepage = "https://github.com/fplll/fpylll"; 71 teams = [ teams.sage ]; 72 license = licenses.gpl2Plus; 73 }; 74}