summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/coq-modules/containers/default.nix24
-rw-r--r--pkgs/development/coq-modules/mathcomp/default.nix24
-rw-r--r--pkgs/development/coq-modules/ssreflect/default.nix26
-rw-r--r--pkgs/top-level/all-packages.nix12
4 files changed, 86 insertions, 0 deletions
diff --git a/pkgs/development/coq-modules/containers/default.nix b/pkgs/development/coq-modules/containers/default.nix
new file mode 100644
index 00000000000..9856ba6955f
--- /dev/null
+++ b/pkgs/development/coq-modules/containers/default.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;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/mathcomp/default.nix b/pkgs/development/coq-modules/mathcomp/default.nix
new file mode 100644
index 00000000000..ca8bd6481ef
--- /dev/null
+++ b/pkgs/development/coq-modules/mathcomp/default.nix
@@ -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 = [];
+  };
+
+}
diff --git a/pkgs/development/coq-modules/ssreflect/default.nix b/pkgs/development/coq-modules/ssreflect/default.nix
new file mode 100644
index 00000000000..912ff7071f8
--- /dev/null
+++ b/pkgs/development/coq-modules/ssreflect/default.nix
@@ -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;
+  };
+
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 99a8a733b7f..17ca09f8635 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -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 {};