12 , openblas ? null, blas, lapack
17 assert withBlas -> openblas != null && blas.implementation == "openblas" && lapack.implementation == "openblas";
19 stdenv.mkDerivation rec {
24 url = "https://www.flintlib.org/flint-${version}.tar.gz";
25 sha256 = "sha256-ezEaAFA6hjiB64F32+uEMi8pOZ89fXLzsaTJuh1XlLQ=";
30 url = "https://github.com/flintlib/flint/commit/e7d005c369754243cba32bd782ea2a5fc874fde5.diff";
31 hash = "sha256-IqEtYEpNVXfoTeerh/0ig+eDqUpAlGdBB3uO8ShYh3o=";
42 propagatedBuildInputs = [
48 ] ++ lib.optionals withBlas [
50 ] ++ lib.optionals withNtl [
54 # We're not using autoreconfHook because flint's bootstrap
55 # script calls autoreconf, among other things.
56 preConfigurePhase = ''
57 echo "Executing bootstrap.sh"
64 ] ++ lib.optionals withBlas [
65 "--with-blas=${openblas}"
66 ] ++ lib.optionals withNtl [
70 enableParallelBuilding = true;
75 description = "Fast Library for Number Theory";
76 license = licenses.gpl2Plus;
77 maintainers = with maintainers; [ smasher164 ] ++ teams.sage.members;
78 platforms = platforms.unix;
79 homepage = "https://www.flintlib.org/";
80 downloadPage = "https://www.flintlib.org/downloads.html";