48 lines
1.2 KiB
Nix
48 lines
1.2 KiB
Nix
{
|
|
lib,
|
|
mkCoqDerivation,
|
|
coq,
|
|
stdlib,
|
|
findutils,
|
|
version ? null,
|
|
}:
|
|
|
|
(mkCoqDerivation {
|
|
pname = "coqutil";
|
|
owner = "mit-plv";
|
|
|
|
inherit version;
|
|
defaultVersion =
|
|
let
|
|
case = case: out: { inherit case out; };
|
|
inherit (lib.versions) range;
|
|
in
|
|
lib.switch coq.version [
|
|
(case (range "9.0" "9.2") "0.0.7")
|
|
(case (range "8.18" "8.20") "0.0.6")
|
|
(case (range "8.17" "8.20") "0.0.5")
|
|
] null;
|
|
|
|
releaseRev = v: "v${v}";
|
|
release."0.0.7".hash = "sha256-A5QDQscZ9BUxxcGTI2RDYOKTZoCYexJQuGNl9i+Wt/g=";
|
|
release."0.0.6".hash = "sha256-c/ddrj0ahuaj9Zu7YBqK7Q0ur+LK7Fgaa//nxQpQcm4=";
|
|
release."0.0.5".hash = "sha256-vkZIAAr82GNuCGlCVRgSCj/nqIdD8FITBiX1a8fybqw=";
|
|
|
|
nativeBuildInputs = [ findutils ];
|
|
|
|
propagatedBuildInputs = [ ];
|
|
|
|
meta = {
|
|
description = "Coq library for tactics, basic definitions, sets, maps";
|
|
license = lib.licenses.mit;
|
|
maintainers = with lib.maintainers; [ stepbrobd ];
|
|
};
|
|
}).overrideAttrs
|
|
(
|
|
o:
|
|
lib.optionalAttrs (o.version != null && o.version != "dev" && lib.versionAtLeast o.version "0.0.7")
|
|
{
|
|
propagatedBuildInputs = o.propagatedBuildInputs ++ [ stdlib ];
|
|
}
|
|
)
|