depot/third_party/nixpkgs/pkgs/development/coq-modules/interval/default.nix

63 lines
1.6 KiB
Nix
Raw Normal View History

{ stdenv, fetchurl, which, coq, coquelicot, flocq, mathcomp
, bignums ? null }:
let params =
let
v3_3 = {
version = "3.3.0";
uid = "37077";
sha256 = "08fdcf3hbwqphglvwprvqzgkg0qbimpyhnqsgv3gac4y1ap0f903";
};
v3_4 = {
version = "3.4.2";
uid = "38288";
sha256 = "00bgzbji0gkazwxhs4q8gz4ccqsa1y1r0m0ravr18ps2h8a8qva5";
};
v4_0 = {
version = "4.0.0";
uid = "38339";
sha256 = "19sbrv7jnzyxji7irfslhr9ralc0q3gx20nymig5vqbn3vssmgpz";
};
in {
"8.5" = v3_3;
"8.6" = v3_3;
"8.7" = v3_4;
"8.8" = v4_0;
"8.9" = v4_0;
"8.10" = v4_0;
"8.11" = v4_0;
"8.12" = v4_0;
};
param = params."${coq.coq-version}";
in
stdenv.mkDerivation {
name = "coq${coq.coq-version}-interval-${param.version}";
src = fetchurl {
url = "https://gforge.inria.fr/frs/download.php/file/${param.uid}/interval-${param.version}.tar.gz";
inherit (param) sha256;
};
nativeBuildInputs = [ which ];
buildInputs = [ coq ];
propagatedBuildInputs = [ bignums coquelicot flocq ];
configurePhase = "./configure --libdir=$out/lib/coq/${coq.coq-version}/user-contrib/Interval";
buildPhase = "./remake";
installPhase = "./remake install";
meta = with stdenv.lib; {
homepage = "http://coq-interval.gforge.inria.fr/";
description = "Tactics for simplifying the proofs of inequalities on expressions of real numbers for the Coq proof assistant";
license = licenses.cecill-c;
maintainers = with maintainers; [ vbgl ];
platforms = coq.meta.platforms;
};
passthru = {
compatibleCoqVersions = stdenv.lib.flip builtins.hasAttr params;
};
}