1{
2 lib,
3 callPackage,
4 mkCoqDerivation,
5 coq,
6 stdlib,
7 version ? null,
8}:
9
10(mkCoqDerivation {
11 pname = "itauto";
12 owner = "fbesson";
13 domain = "gitlab.inria.fr";
14
15 release."8.20.0".sha256 = "sha256-LYKGbI3O6yw6CiTJNUGL11PT4q4o+gJK1kQgKQL0/Hk=";
16 release."8.19.0".sha256 = "sha256-xKWCF4dYvvlJUVGCZcR2RLCG55vlGzu2GN30MeRvVD4=";
17 release."8.18.0".sha256 = "sha256-4mDDnKTeYrf27uRMkydQxO7j2tfgTFXOREW474d40eo=";
18 release."8.17.0".sha256 = "sha256-fgdnKchNT1Hyrq14gU8KWYnlSfg3qlsSw5A4+RoA26w=";
19 release."8.16.0".sha256 = "sha256-4zAUYGlw/pBcLPv2GroIduIlvbfi1+Vy+TdY8KLCqO4=";
20 release."8.15.0".sha256 = "sha256:10qpv4nx1p0wm9sas47yzsg9z22dhvizszfa21yff08a8fr0igya";
21 release."8.14.0".sha256 = "sha256:1k6pqhv4dwpkwg81f2rlfg40wh070ks1gy9r0ravm2zhsbxqcfc9";
22 release."8.13+no".sha256 = "sha256-gXoxtLcHPoyjJkt7WqvzfCMCQlh6kL2KtCGe3N6RC/A=";
23 inherit version;
24 defaultVersion =
25 let
26 case = case: out: { inherit case out; };
27 in
28 with lib.versions;
29 lib.switch coq.coq-version [
30 (case (isEq "8.20") "8.20.0")
31 (case (isEq "8.19") "8.19.0")
32 (case (isEq "8.18") "8.18.0")
33 (case (isEq "8.17") "8.17.0")
34 (case (isEq "8.16") "8.16.0")
35 (case (isEq "8.15") "8.15.0")
36 (case (isEq "8.14") "8.14.0")
37 (case (isEq "8.13") "8.13+no")
38 ] null;
39
40 mlPlugin = true;
41 nativeBuildInputs = (with coq.ocamlPackages; [ ocamlbuild ]);
42 enableParallelBuilding = false;
43
44 passthru.tests.suite = callPackage ./test.nix { };
45
46 propagatedBuildInputs = [ stdlib ];
47
48 meta = with lib; {
49 description = "Reflexive SAT solver parameterised by a leaf tactic and Nelson-Oppen support";
50 maintainers = with maintainers; [ siraben ];
51 license = licenses.gpl3Plus;
52 };
53}).overrideAttrs
54 (
55 o:
56 lib.optionalAttrs (o.version == "dev" || lib.versionAtLeast o.version "8.16") {
57 propagatedBuildInputs = o.propagatedBuildInputs ++ [ coq.ocamlPackages.findlib ];
58 }
59 // lib.optionalAttrs (o.version == "dev" || lib.versionAtLeast o.version "8.18") {
60 nativeBuildInputs = with coq.ocamlPackages; [
61 ocaml
62 findlib
63 dune_3
64 ];
65 }
66 )