Files
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

81 lines
2.1 KiB
Nix

{
lib,
mkCoqDerivation,
coq,
version ? null,
equations,
mathcomp-boot,
mathcomp-analysis,
mathcomp-experimental-reals,
extructures,
deriving,
mathcomp-word,
}:
(mkCoqDerivation {
pname = "ssprove";
owner = "SSProve";
inherit version;
defaultVersion =
let
case = coq: mc: out: {
cases = [
coq
mc
];
inherit out;
};
in
with lib.versions;
lib.switch
[ coq.coq-version mathcomp-boot.version ]
[
(case (range "8.18" "9.0") (range "2.3.0" "2.4.0") "0.2.4")
(case (range "8.18" "8.20") (range "2.3.0" "2.3.0") "0.2.3")
(case (range "8.18" "8.20") (range "2.1.0" "2.2.0") "0.2.2")
# This is the original dependency:
# (case "8.17" "1.18.0" "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.)
(case "8.17" "1.17.0" "0.1.0")
]
null;
releaseRev = v: "v${v}";
release."0.2.4".sha256 = "sha256-uglr47aDgSkKi2JyVyN+2BrokZISZUAE8OUylGjy7ds=";
release."0.2.3".sha256 = "sha256-Y3dmNIF36IuIgrVILteofOv8e5awKfq93S4YN7enswI=";
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-boot
mathcomp-analysis
mathcomp-experimental-reals
extructures
deriving
mathcomp-word
];
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;
}
];
};
})