diff --git a/pkgs/development/coq-modules/coqprime/default.nix b/pkgs/development/coq-modules/coqprime/default.nix new file mode 100644 index 00000000000..54cb7c50e40 --- /dev/null +++ b/pkgs/development/coq-modules/coqprime/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchFromGitHub, coq, bignums }: + +let params = + { + "8.7" = { + version = "8.7.2"; + sha256 = "15zlcrx06qqxjy3nhh22wzy0rb4npc8l4nx2bbsfsvrisbq1qb7k"; + }; + "8.8" = { + version = "8.8"; + sha256 = "075yjczk79pf1hd3lgdjiz84ilkzfxjh18lgzrhhqp7d3kz5lxp5"; + }; + }; + param = params."${coq.coq-version}" +; in + +stdenv.mkDerivation rec { + + inherit (param) version; + name = "coq${coq.coq-version}-coqprime-${version}"; + + src = fetchFromGitHub { + owner = "thery"; + repo = "coqprime"; + rev = "v${version}"; + inherit (param) sha256; + }; + + buildInputs = [ coq ]; + + propagatedBuildInputs = [ bignums ]; + + installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; + + meta = with stdenv.lib; { + description = "Library to certify primality using Pocklington certificate and Elliptic Curve Certificate"; + license = licenses.lgpl21; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + inherit (coq.meta) platforms; + inherit (src.meta) homepage; + }; + + passthru = { + compatibleCoqVersions = v: builtins.hasAttr v params; + }; +} diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix index 9c4c9aa9bda..bc21137903a 100644 --- a/pkgs/top-level/coq-packages.nix +++ b/pkgs/top-level/coq-packages.nix @@ -22,6 +22,7 @@ let CoLoR = callPackage ../development/coq-modules/CoLoR {}; coq-ext-lib = callPackage ../development/coq-modules/coq-ext-lib {}; coq-haskell = callPackage ../development/coq-modules/coq-haskell { }; + coqprime = callPackage ../development/coq-modules/coqprime {}; coquelicot = callPackage ../development/coq-modules/coquelicot {}; dpdgraph = callPackage ../development/coq-modules/dpdgraph {}; equations = callPackage ../development/coq-modules/equations { };