depot/third_party/nixpkgs/pkgs/development/coq-modules/ssprove/default.nix

77 lines
1.9 KiB
Nix

{
lib,
mkCoqDerivation,
coq,
version ? null,
equations,
mathcomp-ssreflect,
mathcomp-analysis,
mathcomp-experimental-reals,
extructures,
deriving,
}:
(mkCoqDerivation {
pname = "ssprove";
owner = "SSProve";
inherit version;
defaultVersion =
with lib.versions;
lib.switch
[ coq.coq-version mathcomp-ssreflect.version ]
[
{
cases = [
(range "8.18" "8.20")
(range "2.1.0" "2.2.0")
];
out = "0.2.2";
}
# This is the original dependency:
# { cases = ["8.17" "1.18.0"]; out = "0.1.0"; }
# But it is not loadable. The math-comp nixpkgs configuration
# will always only output version 1.18.0 for Coq 8.17.
# Hence, the Coq 8.17 and math-comp 1.17.0 must be explicitly set
# to load it.
# (This version is not on the math-comp CI and hence not checked.)
{
cases = [
"8.17"
"1.17.0"
];
out = "0.1.0";
}
]
null;
releaseRev = v: "v${v}";
release."0.2.2".sha256 = "sha256-tBF8equJd6hKZojpe+v9h6Tg9xEnMTVFgOYK7ZnMfxk=";
release."0.2.1".sha256 = "sha256-X00q5QFxdcGWeNqOV/PLTOqQyyfqFEinbGUTO7q8bC4=";
release."0.2.0".sha256 = "sha256-GDkWH0LUsW165vAUoYC5of9ndr0MbfBtmrPhsJVXi3o=";
release."0.1.0".sha256 = "sha256-Yj+k+mBsudi3d6bRVlZLyM4UqQnzAX5tHvxtKoIuNTE=";
propagatedBuildInputs = [
equations
mathcomp-ssreflect
mathcomp-analysis
mathcomp-experimental-reals
extructures
deriving
];
meta = with lib; {
description = "SSProve: A Foundational Framework for Modular Cryptographic Proofs in Coq";
license = licenses.mit;
maintainers = [
{
name = "Sebastian Ertel";
email = "sebastian.ertel@gmail.com";
github = "sertel";
githubId = 3703100;
}
];
};
})