summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Laporte <Vincent.Laporte@gmail.com>2023-06-08 06:55:01 +0200
committerVincent Laporte <vbgl@users.noreply.github.com>2023-06-15 06:16:26 +0200
commitcc2fb2c1e4363f0f8eeef0d68ffc61453c8a9db6 (patch)
tree579a2b1fd2d1631927cc2aedf07eb5300493aa9b
parentd0c43ed48b1fe119eef46286e5e3bb21e577663e (diff)
downloadnixpkgs-cc2fb2c1e4363f0f8eeef0d68ffc61453c8a9db6.tar
nixpkgs-cc2fb2c1e4363f0f8eeef0d68ffc61453c8a9db6.tar.gz
nixpkgs-cc2fb2c1e4363f0f8eeef0d68ffc61453c8a9db6.tar.bz2
nixpkgs-cc2fb2c1e4363f0f8eeef0d68ffc61453c8a9db6.tar.lz
nixpkgs-cc2fb2c1e4363f0f8eeef0d68ffc61453c8a9db6.tar.xz
nixpkgs-cc2fb2c1e4363f0f8eeef0d68ffc61453c8a9db6.tar.zst
nixpkgs-cc2fb2c1e4363f0f8eeef0d68ffc61453c8a9db6.zip
coqPackages.itauto: init at 8.17.0 for Coq 8.17
Propagate `findlib` when needed
Add tests
-rw-r--r--pkgs/development/coq-modules/itauto/default.nix13
-rw-r--r--pkgs/development/coq-modules/itauto/test.nix27
2 files changed, 37 insertions, 3 deletions
diff --git a/pkgs/development/coq-modules/itauto/default.nix b/pkgs/development/coq-modules/itauto/default.nix
index e2dfe98cf98..804fc8ee87e 100644
--- a/pkgs/development/coq-modules/itauto/default.nix
+++ b/pkgs/development/coq-modules/itauto/default.nix
@@ -1,16 +1,18 @@
-{ lib, mkCoqDerivation, coq, version ? null }:
+{ lib, callPackage, mkCoqDerivation, coq, version ? null }:
 
-mkCoqDerivation rec {
+(mkCoqDerivation rec {
   pname = "itauto";
   owner = "fbesson";
   domain = "gitlab.inria.fr";
 
+  release."8.17.0".sha256 = "sha256-fgdnKchNT1Hyrq14gU8KWYnlSfg3qlsSw5A4+RoA26w=";
   release."8.16.0".sha256 = "sha256-4zAUYGlw/pBcLPv2GroIduIlvbfi1+Vy+TdY8KLCqO4=";
   release."8.15.0".sha256 = "sha256:10qpv4nx1p0wm9sas47yzsg9z22dhvizszfa21yff08a8fr0igya";
   release."8.14.0".sha256 = "sha256:1k6pqhv4dwpkwg81f2rlfg40wh070ks1gy9r0ravm2zhsbxqcfc9";
   release."8.13+no".sha256 = "sha256-gXoxtLcHPoyjJkt7WqvzfCMCQlh6kL2KtCGe3N6RC/A=";
   inherit version;
   defaultVersion = with lib.versions; lib.switch coq.coq-version [
+    { case = isEq "8.17"; out = "8.17.0"; }
     { case = isEq "8.16"; out = "8.16.0"; }
     { case = isEq "8.15"; out = "8.15.0"; }
     { case = isEq "8.14"; out = "8.14.0"; }
@@ -21,9 +23,14 @@ mkCoqDerivation rec {
   nativeBuildInputs = (with coq.ocamlPackages; [ ocamlbuild ]);
   enableParallelBuilding = false;
 
+  passthru.tests.suite = callPackage ./test.nix {};
+
   meta =  with lib; {
     description = "A reflexive SAT solver parameterised by a leaf tactic and Nelson-Oppen support";
     maintainers = with maintainers; [ siraben ];
     license = licenses.gpl3Plus;
   };
-}
+}).overrideAttrs (o: lib.optionalAttrs
+  (o.version == "dev" || lib.versionAtLeast o.version "8.16") {
+    propagatedBuildInputs = [ coq.ocamlPackages.findlib ];
+})
diff --git a/pkgs/development/coq-modules/itauto/test.nix b/pkgs/development/coq-modules/itauto/test.nix
new file mode 100644
index 00000000000..ef3a85954e6
--- /dev/null
+++ b/pkgs/development/coq-modules/itauto/test.nix
@@ -0,0 +1,27 @@
+{ stdenv, lib, coq, itauto }:
+
+let excluded =
+  lib.optionals (lib.versions.isEq "8.16" itauto.version) [ "arith.v" "refl_bool.v" ]
+; in
+
+stdenv.mkDerivation {
+  pname = "coq${coq.coq-version}-itauto-test";
+  inherit (itauto) src version;
+
+  nativeCheckInputs = [ coq itauto ];
+
+  dontConfigure = true;
+  dontBuild = true;
+  doCheck = true;
+
+  checkPhase = ''
+    cd test-suite
+    for m in *.v
+    do
+      echo -n ${lib.concatStringsSep " " excluded} | grep --silent $m && continue
+      echo $m && coqc $m
+    done
+  '';
+
+  installPhase = "touch $out";
+}