Adds three coq libraries: containers, mathcomp, ssreflect

Containers is a reimplementation of the FSets/FMaps library from the
standard library, using typeclasses.

Homepage: http://coq.inria.fr/pylons/pylons/contribs/view/Containers/v8.4

The Mathematical Components (mathcomp) contains advanced theory files
covering a wide spectrum of mathematics.

Homepage: http://ssr.msr-inria.inria.fr/

Ssreflect is a proof language (plugin for Coq) and a small set of core
theory libraries about boolean, natural numbers, sequences, decidable
equality and finite types.

Homepage: http://ssr.msr-inria.inria.fr/
wip/yesman
Vincent Laporte 10 years ago
parent fde68228d9
commit c30c5f7cf3
  1. 24
      pkgs/development/coq-modules/containers/default.nix
  2. 24
      pkgs/development/coq-modules/mathcomp/default.nix
  3. 26
      pkgs/development/coq-modules/ssreflect/default.nix
  4. 12
      pkgs/top-level/all-packages.nix

@ -0,0 +1,24 @@
{stdenv, fetchurl, coq}:
stdenv.mkDerivation {
name = "coq-containers-${coq.coq-version}";
src = fetchurl {
url = http://coq.inria.fr/pylons/contribs/files/Containers/v8.4/Containers.tar.gz;
sha256 = "1y9x2lwrskv2231z9ac3kv4bmg6h1415xpp4gl7v5w90ba6p6w8w";
};
buildInputs = [ coq.ocaml coq.camlp5 ];
propagatedBuildInputs = [ coq ];
installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
meta = with stdenv.lib; {
homepage = http://coq.inria.fr/pylons/pylons/contribs/view/Containers/v8.4;
description = "A typeclass-based Coq library of finite sets/maps";
maintainers = with maintainers; [ vbgl ];
platforms = coq.meta.platforms;
};
}

@ -0,0 +1,24 @@
{stdenv, fetchurl, coq, ssreflect}:
stdenv.mkDerivation {
name = "coq-mathcomp-1.5";
src = fetchurl {
url = http://ssr.msr-inria.inria.fr/FTP/mathcomp-1.5.tar.gz;
sha256 = "1297svwi18blrlyd8vsqilar2h5nfixlvlifdkbx47aljq4m5bam";
};
propagatedBuildInputs = [ coq ssreflect ];
installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
meta = with stdenv.lib; {
homepage = http://ssr.msr-inria.inria.fr/;
license = licenses.cecill-b;
maintainers = [ maintainers.vbgl ];
platforms = coq.meta.platforms;
hydraPlatforms = [];
};
}

@ -0,0 +1,26 @@
{stdenv, fetchurl, coq}:
assert coq.coq-version == "8.4";
stdenv.mkDerivation {
name = "coq-ssreflect-1.5";
src = fetchurl {
url = http://ssr.msr-inria.inria.fr/FTP/ssreflect-1.5.tar.gz;
sha256 = "0hm1ha7sxqfqhc7iwhx6zdz3nki4rj5nfd3ab24hmz8v7mlpinds";
};
buildInputs = [ coq.ocaml coq.camlp5 ];
propagatedBuildInputs = [ coq ];
installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
meta = with stdenv.lib; {
homepage = http://ssr.msr-inria.inria.fr/;
license = licenses.cecill-b;
maintainers = with maintainers; [ vbgl ];
platforms = coq.meta.platforms;
};
}

@ -11438,6 +11438,18 @@ let
lablgtk = ocamlPackages_3_12_1.lablgtk_2_14;
};
mkCoqPackages_8_4 = self: let callPackage = newScope self; in {
containers = callPackage ../development/coq-modules/containers {};
mathcomp = callPackage ../development/coq-modules/mathcomp {};
ssreflect = callPackage ../development/coq-modules/ssreflect {};
};
coqPackages = recurseIntoAttrs (mkCoqPackages_8_4 coqPackages);
cvc3 = callPackage ../applications/science/logic/cvc3 {};
ekrhyper = callPackage ../applications/science/logic/ekrhyper {};

Loading…
Cancel
Save