summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/coq-modules/bedrock/default.nix2
-rw-r--r--pkgs/development/coq-modules/coq-ext-lib/default.nix26
-rw-r--r--pkgs/development/coq-modules/heq/default.nix27
-rw-r--r--pkgs/development/coq-modules/paco/default.nix31
-rw-r--r--pkgs/development/coq-modules/tlc/default.nix2
-rw-r--r--pkgs/development/coq-modules/ynot/default.nix33
-rw-r--r--pkgs/top-level/all-packages.nix8
7 files changed, 127 insertions, 2 deletions
diff --git a/pkgs/development/coq-modules/bedrock/default.nix b/pkgs/development/coq-modules/bedrock/default.nix
index 4e83c6f1b25..7aadead5428 100644
--- a/pkgs/development/coq-modules/bedrock/default.nix
+++ b/pkgs/development/coq-modules/bedrock/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     COQLIB=$out/lib/coq/${coq.coq-version}/
-    ensureDir $COQLIB/user-contrib/Bedrock
+    mkdir -p $COQLIB/user-contrib/Bedrock
     cp -pR src $COQLIB/user-contrib/Bedrock
   '';
 
diff --git a/pkgs/development/coq-modules/coq-ext-lib/default.nix b/pkgs/development/coq-modules/coq-ext-lib/default.nix
new file mode 100644
index 00000000000..0d1b8bff954
--- /dev/null
+++ b/pkgs/development/coq-modules/coq-ext-lib/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchgit, coq}:
+
+stdenv.mkDerivation rec {
+
+  name = "coq-ext-lib-${coq.coq-version}-${version}";
+  version = "c2c71a2a";
+
+  src = fetchgit {
+    url = git://github.com/coq-ext-lib/coq-ext-lib.git;
+    rev = "c2c71a2a90ac87f2ceb311a6da53a6796b916816";
+    sha256 = "01sihw3nmvvpc8viwyr01qnqifdcmlg016034xmrfmv863yp8c4g";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 ];
+  propagatedBuildInputs = [ coq ];
+
+  installFlags = "COQLIB=$out/lib/coq/${coq.coq-version}";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/coq-ext-lib/coq-ext-lib;
+    description = "A collection of theories and plugins that may be useful in other Coq developments";
+    maintainers = with maintainers; [ jwiegley ];
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/heq/default.nix b/pkgs/development/coq-modules/heq/default.nix
new file mode 100644
index 00000000000..581941b2249
--- /dev/null
+++ b/pkgs/development/coq-modules/heq/default.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchurl, coq, unzip}:
+
+stdenv.mkDerivation rec {
+
+  name = "coq-heq-${coq.coq-version}-${version}";
+  version = "0.92";
+
+  src = fetchurl {
+    url = "https://www.mpi-sws.org/~gil/Heq/download/Heq-${version}.zip";
+    sha256 = "03y71c4qs6cmy3s2hjs05g7pcgk9sqma6flj15394yyxbvr9is1p";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 unzip ];
+  propagatedBuildInputs = [ coq ];
+
+  preBuild = "cd src";
+
+  installFlags = "COQLIB=$out/lib/coq/${coq.coq-version}";
+
+  meta = with stdenv.lib; {
+    homepage = https://www.mpi-sws.org/~gil/Heq/;
+    description = "Heq : a Coq library for Heterogeneous Equality";
+    maintainers = with maintainers; [ jwiegley ];
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/paco/default.nix b/pkgs/development/coq-modules/paco/default.nix
new file mode 100644
index 00000000000..c885d14aa3f
--- /dev/null
+++ b/pkgs/development/coq-modules/paco/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, coq, unzip}:
+
+stdenv.mkDerivation rec {
+
+  name = "coq-paco-${coq.coq-version}-${version}";
+  version = "1.2.7";
+
+  src = fetchurl {
+    url = "http://plv.mpi-sws.org/paco/paco-${version}.zip";
+    sha256 = "010fs74c0cmb9sz5dmrgzg4pmb2mgwia4gm0g9l7j2fq5xxcschb";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 unzip ];
+  propagatedBuildInputs = [ coq ];
+
+  preBuild = "cd src";
+
+  installPhase = ''
+    COQLIB=$out/lib/coq/${coq.coq-version}/
+    mkdir -p $COQLIB/user-contrib/Paco
+    cp -pR *.vo $COQLIB/user-contrib/Paco
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://plv.mpi-sws.org/paco/;
+    description = "Paco is a Coq library implementing parameterized coinduction";
+    maintainers = with maintainers; [ jwiegley ];
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/tlc/default.nix b/pkgs/development/coq-modules/tlc/default.nix
index 63ad2522ad2..e47ffbdd456 100644
--- a/pkgs/development/coq-modules/tlc/default.nix
+++ b/pkgs/development/coq-modules/tlc/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
 
   installPhase = ''
     COQLIB=$out/lib/coq/${coq.coq-version}/
-    ensureDir $COQLIB/user-contrib/Tlc
+    mkdir -p $COQLIB/user-contrib/Tlc
     cp -p *.vo $COQLIB/user-contrib/Tlc
   '';
 
diff --git a/pkgs/development/coq-modules/ynot/default.nix b/pkgs/development/coq-modules/ynot/default.nix
new file mode 100644
index 00000000000..299e376831b
--- /dev/null
+++ b/pkgs/development/coq-modules/ynot/default.nix
@@ -0,0 +1,33 @@
+{stdenv, fetchgit, coq}:
+
+stdenv.mkDerivation rec {
+
+  name = "coq-ynot-${coq.coq-version}-${version}";
+  version = "ce1a9806";
+
+  src = fetchgit {
+    url = git://github.com/Ptival/ynot.git;
+    rev = "ce1a9806c26ffc6e7def41da50a9aac1433cb2f8";
+    sha256 = "1pcmcl5zamiimkcg1xvynxnfbv439y02vg1mnz79hqq9mnjyfnpw";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 ];
+  propagatedBuildInputs = [ coq ];
+
+  preBuild = "cd src";
+
+  installPhase = ''
+    COQLIB=$out/lib/coq/${coq.coq-version}/
+    mkdir -p $COQLIB/user-contrib/Ynot
+    cp -pR coq/*.vo $COQLIB/user-contrib/Ynot
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://ynot.cs.harvard.edu/;
+    description = "Ynot is a library for writing and verifying imperative programs";
+    maintainers = with maintainers; [ jwiegley ];
+    platforms = coq.meta.platforms;
+    broken = true;              # does not work with Coq 8.4pl4
+  };
+
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 440b09c683b..d9dafc964e3 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -11598,12 +11598,20 @@ let
 
     containers = callPackage ../development/coq-modules/containers {};
 
+    coqExtLib = callPackage ../development/coq-modules/coq-ext-lib {};
+
+    heq = callPackage ../development/coq-modules/heq {};
+
     mathcomp = callPackage ../development/coq-modules/mathcomp {};
 
+    paco = callPackage ../development/coq-modules/paco {};
+
     ssreflect = callPackage ../development/coq-modules/ssreflect {};
 
     tlc = callPackage ../development/coq-modules/tlc {};
 
+    ynot = callPackage ../development/coq-modules/ynot {};
+
   };
 
   coqPackages = recurseIntoAttrs (mkCoqPackages_8_4 coqPackages);