1{ lib, stdenv
2, fetchFromGitHub
3, fetchpatch
4, pkg-config
5, gettext
6, autoreconfHook
7, gmp
8, mpfr
9}:
10
11stdenv.mkDerivation rec {
12 pname = "fplll";
13 version = "5.4.5";
14
15 src = fetchFromGitHub {
16 owner = "fplll";
17 repo = "fplll";
18 rev = version;
19 sha256 = "sha256-taSS7jpVyjVfNe6kSuUDXMD2PgKmtG64V5MjZyQzorI=";
20 };
21
22 patches = [
23 (fetchpatch {
24 url = "https://github.com/fplll/fplll/commit/317cf70893eebfb2625da12e5377189908c36240.diff";
25 sha256 = "sha256-GbYSolBgv/he4QzjuRFdg93wHJABVHvA9x3PjpJTSRE=";
26 })
27 ];
28
29 nativeBuildInputs = [
30 pkg-config
31 gettext
32 autoreconfHook
33 ];
34
35 buildInputs = [
36 gmp
37 mpfr
38 ];
39
40 meta = with lib; {
41 description = "Lattice algorithms using floating-point arithmetic";
42 changelog = [
43 # Some release notes are added to the github tags, though they are not
44 # always complete.
45 "https://github.com/fplll/fplll/releases/tag/${version}"
46 # Releases are announced on this mailing list. Unfortunately it is not
47 # possible to generate a direct link to the most recent announcement, but
48 # this search should find it.
49 "https://groups.google.com/forum/#!searchin/fplll-devel/FPLLL$20${version}"
50 ];
51 license = licenses.lgpl21Plus;
52 maintainers = teams.sage.members;
53 platforms = platforms.unix;
54 };
55}