diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/eclib')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/eclib/default.nix | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/eclib/default.nix b/nixpkgs/pkgs/development/libraries/eclib/default.nix new file mode 100644 index 000000000000..740b0d81ca92 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/eclib/default.nix @@ -0,0 +1,53 @@ +{ lib, stdenv +, fetchurl +, autoreconfHook +, pari +, ntl +, gmp +# "FLINT is optional and only used for one part of sparse matrix reduction, +# which is used in the modular symbol code but not mwrank or other elliptic +# curve programs." -- https://github.com/JohnCremona/eclib/blob/master/README +, withFlint ? false, flint ? null +}: + +assert withFlint -> flint != null; + +stdenv.mkDerivation rec { + pname = "eclib"; + version = "20210625"; # upgrade might break the sage interface + # sage tests to run: + # src/sage/interfaces/mwrank.py + # src/sage/libs/eclib + # ping @timokau for more info + src = fetchurl { + # all releases for this project appear on its GitHub releases page + # by definition! other distros sometimes update whenever they see + # a version bump in configure.ac or a new tag (and this might show + # up on repology). however, a version bump or a new tag may not + # represent a new release, and a new release might not be tagged. + # + # see https://github.com/JohnCremona/eclib/issues/64#issuecomment-789788561 + # for upstream's explanation of the above + url = "https://github.com/JohnCremona/eclib/releases/download/${version}/eclib-${version}.tar.bz2"; + sha256 = "sha256-fA3MPz/L+Q39sA8wxAYOUowlHRcgOd8VF4tpsBGI6BA="; + }; + buildInputs = [ + pari + ntl + gmp + ] ++ lib.optionals withFlint [ + flint + ]; + nativeBuildInputs = [ + autoreconfHook + ]; + doCheck = true; + meta = with lib; { + inherit version; + description = "Elliptic curve tools"; + homepage = "https://github.com/JohnCremona/eclib"; + license = licenses.gpl2Plus; + maintainers = teams.sage.members; + platforms = platforms.all; + }; +} |