Files

68 lines
2.1 KiB
Nix

{
lib,
callPackage,
mkCoqDerivation,
coq,
stdlib,
dune,
version ? null,
}:
(mkCoqDerivation {
pname = "itauto";
owner = "fbesson";
domain = "gitlab.inria.fr";
release."8.20.0".hash = "sha256-LYKGbI3O6yw6CiTJNUGL11PT4q4o+gJK1kQgKQL0/Hk=";
release."8.19.0".hash = "sha256-xKWCF4dYvvlJUVGCZcR2RLCG55vlGzu2GN30MeRvVD4=";
release."8.18.0".hash = "sha256-4mDDnKTeYrf27uRMkydQxO7j2tfgTFXOREW474d40eo=";
release."8.17.0".hash = "sha256-fgdnKchNT1Hyrq14gU8KWYnlSfg3qlsSw5A4+RoA26w=";
release."8.16.0".hash = "sha256-4zAUYGlw/pBcLPv2GroIduIlvbfi1+Vy+TdY8KLCqO4=";
release."8.15.0".hash = "sha256:10qpv4nx1p0wm9sas47yzsg9z22dhvizszfa21yff08a8fr0igya";
release."8.14.0".hash = "sha256:1k6pqhv4dwpkwg81f2rlfg40wh070ks1gy9r0ravm2zhsbxqcfc9";
release."8.13+no".hash = "sha256-gXoxtLcHPoyjJkt7WqvzfCMCQlh6kL2KtCGe3N6RC/A=";
inherit version;
defaultVersion =
let
case = case: out: { inherit case out; };
in
with lib.versions;
lib.switch coq.coq-version [
(case (isEq "8.20") "8.20.0")
(case (isEq "8.19") "8.19.0")
(case (isEq "8.18") "8.18.0")
(case (isEq "8.17") "8.17.0")
(case (isEq "8.16") "8.16.0")
(case (isEq "8.15") "8.15.0")
(case (isEq "8.14") "8.14.0")
(case (isEq "8.13") "8.13+no")
] null;
mlPlugin = true;
nativeBuildInputs = (with coq.ocamlPackages; [ ocamlbuild ]);
enableParallelBuilding = false;
passthru.tests.suite = callPackage ./test.nix { };
propagatedBuildInputs = [ stdlib ];
meta = {
description = "Reflexive SAT solver parameterised by a leaf tactic and Nelson-Oppen support";
maintainers = with lib.maintainers; [ siraben ];
license = lib.licenses.gpl3Plus;
};
}).overrideAttrs
(
o:
lib.optionalAttrs (o.version == "dev" || lib.versionAtLeast o.version "8.16") {
propagatedBuildInputs = o.propagatedBuildInputs ++ [ coq.ocamlPackages.findlib ];
}
// lib.optionalAttrs (o.version == "dev" || lib.versionAtLeast o.version "8.18") {
nativeBuildInputs = with coq.ocamlPackages; [
ocaml
findlib
dune
];
}
)