summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/coq-modules/simple-io/default.nix32
-rw-r--r--pkgs/top-level/coq-packages.nix1
2 files changed, 33 insertions, 0 deletions
diff --git a/pkgs/development/coq-modules/simple-io/default.nix b/pkgs/development/coq-modules/simple-io/default.nix
new file mode 100644
index 00000000000..b945e7c9a86
--- /dev/null
+++ b/pkgs/development/coq-modules/simple-io/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, coq }:
+
+stdenv.mkDerivation rec {
+  version = "0.2";
+  name = "coq${coq.coq-version}-simple-io-${version}";
+  src = fetchFromGitHub {
+    owner = "Lysxia";
+    repo = "coq-simple-io";
+    rev = version;
+    sha256 = "1sbcf57gn134risiicpbxsf4kbzdq7klfn4vn8525kahlr82l65f";
+  };
+
+  buildInputs = [ coq ] ++ (with coq.ocamlPackages; [ ocaml ocamlbuild ]);
+
+  doCheck = !stdenv.lib.versionAtLeast coq.coq-version "8.9";
+  checkTarget = "test";
+
+  installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
+
+  meta = {
+    description = "Purely functional IO for Coq";
+    inherit (src.meta) homepage;
+    inherit (coq.meta) platforms;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+  };
+
+  passthru = {
+    compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6";
+  };
+
+}
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index 5a392b20cae..4c7361d3517 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -36,6 +36,7 @@ let
       multinomials = callPackage ../development/coq-modules/multinomials {};
       paco = callPackage ../development/coq-modules/paco {};
       QuickChick = callPackage ../development/coq-modules/QuickChick {};
+      simple-io = callPackage ../development/coq-modules/simple-io { };
       ssreflect = callPackage ../development/coq-modules/ssreflect { };
       stdpp = callPackage ../development/coq-modules/stdpp { };
       StructTact = callPackage ../development/coq-modules/StructTact {};