2018-11-06 14:45:14 +01:00
|
|
|
{ stdenv, fetchFromGitHub, coq, ncurses, which
|
2018-10-30 11:47:44 +01:00
|
|
|
, graphviz, withDoc ? false
|
|
|
|
}:
|
2014-09-28 13:43:48 +02:00
|
|
|
|
2018-11-05 14:19:16 +01:00
|
|
|
let param =
|
2018-04-24 16:21:21 +02:00
|
|
|
|
2019-04-16 10:30:14 +02:00
|
|
|
if stdenv.lib.versionAtLeast coq.coq-version "8.7" then
|
|
|
|
{
|
|
|
|
version = "1.8.0";
|
|
|
|
sha256 = "07l40is389ih8bi525gpqs3qp4yb2kl11r9c8ynk1ifpjzpnabwp";
|
|
|
|
}
|
|
|
|
else if stdenv.lib.versionAtLeast coq.coq-version "8.6" then
|
2017-01-28 07:35:57 +01:00
|
|
|
{
|
2018-11-05 14:19:16 +01:00
|
|
|
version = "1.7.0";
|
2018-11-06 14:45:14 +01:00
|
|
|
sha256 = "0wnhj9nqpx2bw6n1l4i8jgrw3pjajvckvj3lr4vzjb3my2lbxdd1";
|
2018-11-05 14:19:16 +01:00
|
|
|
}
|
|
|
|
else if stdenv.lib.versionAtLeast coq.coq-version "8.5" then
|
|
|
|
{
|
|
|
|
version = "1.6.1";
|
2018-11-06 14:45:14 +01:00
|
|
|
sha256 = "1ilw6vm4dlsdv9cd7kmf0vfrh2kkzr45wrqr8m37miy0byzr4p9i";
|
2018-11-05 14:19:16 +01:00
|
|
|
}
|
|
|
|
else throw "No version of math-comp is available for Coq ${coq.coq-version}";
|
2017-11-11 18:44:29 +01:00
|
|
|
|
2018-10-30 11:47:44 +01:00
|
|
|
in
|
2016-12-22 19:34:56 +01:00
|
|
|
|
2018-11-06 16:00:45 +01:00
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
name = "coq${coq.coq-version}-mathcomp-${version}";
|
|
|
|
|
|
|
|
# used in ssreflect
|
|
|
|
inherit (param) version;
|
2018-10-30 11:47:44 +01:00
|
|
|
|
2018-11-06 14:45:14 +01:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "math-comp";
|
|
|
|
repo = "math-comp";
|
|
|
|
rev = "mathcomp-${param.version}";
|
2018-04-24 16:21:21 +02:00
|
|
|
inherit (param) sha256;
|
|
|
|
};
|
2018-10-30 11:47:44 +01:00
|
|
|
|
|
|
|
nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ];
|
|
|
|
buildInputs = [ coq ncurses which ] ++ (with coq.ocamlPackages; [ ocaml findlib camlp5 ]);
|
|
|
|
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
|
|
|
buildFlags = stdenv.lib.optionalString withDoc "doc";
|
|
|
|
|
2018-11-06 16:00:45 +01:00
|
|
|
COQBIN = "${coq}/bin/";
|
|
|
|
|
2018-10-30 11:47:44 +01:00
|
|
|
preBuild = ''
|
|
|
|
patchShebangs etc/utils/ssrcoqdep || true
|
|
|
|
cd mathcomp
|
|
|
|
'';
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install
|
|
|
|
'' + stdenv.lib.optionalString withDoc ''
|
|
|
|
make -f Makefile.coq install-doc DOCDIR=$out/share/coq/${coq.coq-version}/
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
homepage = http://ssr.msr-inria.inria.fr/;
|
|
|
|
license = licenses.cecill-b;
|
|
|
|
maintainers = [ maintainers.vbgl maintainers.jwiegley ];
|
|
|
|
platforms = coq.meta.platforms;
|
|
|
|
};
|
|
|
|
|
|
|
|
passthru = {
|
2019-05-14 10:31:49 +02:00
|
|
|
compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" "8.8" "8.9" ];
|
2018-10-30 11:47:44 +01:00
|
|
|
};
|
|
|
|
|
2014-09-28 13:43:48 +02:00
|
|
|
}
|