diff --git a/pkgs/development/libraries/fplll/default.nix b/pkgs/development/libraries/fplll/default.nix index c2952cb47f1c..694b6d567eba 100644 --- a/pkgs/development/libraries/fplll/default.nix +++ b/pkgs/development/libraries/fplll/default.nix @@ -1,22 +1,55 @@ -{stdenv, fetchFromGitHub, autoconf, automake, libtool, gettext, autoreconfHook -, gmp, mpfr +{ stdenv +, fetchFromGitHub +, fetchpatch +, gettext +, autoreconfHook +, gmp +, mpfr }: + stdenv.mkDerivation rec { pname = "fplll"; - version = "5.2.1"; + version = "5.3.0"; + src = fetchFromGitHub { - owner = pname; - repo = pname; + owner = "fplll"; + repo = "fplll"; rev = version; - sha256 = "015qmrd7nfaysbv1hbwiprz9g6hnww1y1z1xw8f43ysb7k1b5nbg"; + sha256 = "0wxa4xs7as7y47h7i6prmk5r0srabdvrlkvza3j50pixir5swgvh"; }; - nativeBuildInputs = [autoconf automake libtool gettext autoreconfHook]; - buildInputs = [gmp mpfr]; - meta = { - inherit version; + + patches = [ + # https://github.com/fplll/fpylll/issues/161 + (fetchpatch { + name = "fix-out-of-bounds-access.patch"; + url = "https://github.com/fplll/fplll/pull/398/commits/f68e257228bf073ef380f996326d02197ce7b0e4.patch"; + sha256 = "1rapkcf389lf579va6kbnvhzyv36n4l4d9n0vg2zxprvql8wvm7m"; + }) + ]; + + nativeBuildInputs = [ + gettext + autoreconfHook + ]; + + buildInputs = [ + gmp + mpfr + ]; + + meta = with stdenv.lib; { description = ''Lattice algorithms using floating-point arithmetic''; - license = stdenv.lib.licenses.lgpl21Plus; - maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.unix; + changelog = [ + # Some release notes are added to the github tags, though they are not + # always complete. + "https://github.com/fplll/fplll/releases/tag/${version}" + # Releases are announced on this mailing list. Unfortunately it is not + # possible to generate a direct link to the most recent announcement, but + # this search should find it. + "https://groups.google.com/forum/#!searchin/fplll-devel/FPLLL$20${version}" + ]; + license = licenses.lgpl21Plus; + maintainers = with maintainers; [raskin timokau]; + platforms = platforms.unix; }; } diff --git a/pkgs/development/python-modules/fpylll/default.nix b/pkgs/development/python-modules/fpylll/default.nix index a27e9494911c..7bc4ed82fea7 100644 --- a/pkgs/development/python-modules/fpylll/default.nix +++ b/pkgs/development/python-modules/fpylll/default.nix @@ -14,13 +14,13 @@ buildPythonPackage rec { pname = "fpylll"; - version = "0.4.1dev"; + version = "0.5.0dev"; src = fetchFromGitHub { owner = "fplll"; repo = "fpylll"; rev = version; - sha256 = "01x2sqdv0sbjj4g4waj0hj4rcn4bq7h17442xaqwbznym9azmn9w"; + sha256 = "091zqgsqd5cqma1hvimkq5xpr9f1jw80v9m2fr6k9hvssqjzgnab"; }; buildInputs = [ @@ -45,11 +45,16 @@ buildPythonPackage rec { ]; checkPhase = '' - py.test + # Since upstream introduced --doctest-modules in + # https://github.com/fplll/fpylll/commit/9732fdb40cf1bd43ad1f60762ec0a8401743fc79, + # it is necessary to ignore import mismatches. Not sure why, but the files + # should be identical anyway. + PY_IGNORE_IMPORTMISMATCH=1 pytest ''; meta = { description = "A Python interface for fplll"; + changelog = "https://github.com/fplll/fpylll/releases/tag/${version}"; homepage = https://github.com/fplll/fpylll; maintainers = with lib.maintainers; [ timokau ]; license = lib.licenses.gpl2Plus;