Files
2026-07-23 11:54:40 +02:00

90 lines
3.2 KiB
Nix

{
coq,
mkCoqDerivation,
mathcomp,
bignums,
paramcoq,
multinomials,
mathcomp-real-closed,
lib,
version ? null,
}:
let
derivation = mkCoqDerivation {
pname = "CoqEAL";
inherit version;
defaultVersion =
let
case = coq: mc: out: {
cases = [
coq
mc
];
inherit out;
};
in
with lib.versions;
lib.switch
[ coq.coq-version mathcomp.version ]
[
(case (range "9.0" "9.2") (isGe "2.5.0") "2.1.2")
(case (range "8.20" "9.1") (range "2.3.0" "2.5.0") "2.1.1")
(case (range "8.20" "9.1") (range "2.3.0" "2.5.0") "2.1.0")
(case (range "8.16" "8.20") (isGe "2.1.0") "2.0.3")
(case (range "8.16" "8.20") (isGe "2.0.0") "2.0.1")
(case (range "8.16" "8.17") (isGe "2.0.0") "2.0.0")
(case (range "8.15" "8.18") (range "1.15.0" "1.18.0") "1.1.3")
(case (range "8.13" "8.17") (range "1.13.0" "1.18.0") "1.1.1")
(case (range "8.10" "8.15") (range "1.12.0" "1.18.0") "1.1.0")
(case (isGe "8.10") (range "1.11.0" "1.12.0") "1.0.5")
(case (isGe "8.7") "1.11.0" "1.0.4")
(case (isGe "8.7") "1.10.0" "1.0.3")
]
null;
release."2.1.2".hash = "sha256-ktoejlxAtbPzWGdW+DXwLSAmxNHDzQTujkY1If4EM8E=";
release."2.1.1".hash = "sha256-nAQAX35W9br7dgrT9FqGyHYSzwgMiMsuD1d7SztQDwY=";
release."2.1.0".hash = "sha256-UoDxy2BKraDyRsO42GXRo26O74OF51biZQGkIMWLf8Y=";
release."2.0.3".hash = "sha256-5lDq7IWlEW0EkNzYPu+dA6KOvRgy53W/alikpDr/Kd0=";
release."2.0.1".hash = "sha256-d/IQ4IdS2tpyPewcGobj2S6m2HU+iXQmlvR+ITNIcjI=";
release."2.0.0".hash = "sha256-SG/KVnRJz2P+ZxkWVp1dDOnc/JVgigoexKfRUh1Y0GM";
release."1.1.3".hash = "sha256-xhqWpg86xbU1GbDtXXInNCTArjjPnWZctWiiasq1ScU=";
release."1.1.1".hash = "sha256-ExAdC3WuArNxS+Sa1r4x5aT7ylbCvP/BZXfkdQNAvZ8=";
release."1.1.0".hash = "sha256:1vyhfna5frkkq2fl1fkg2mwzpg09k3sbzxxpyp14fjay81xajrxr";
release."1.0.6".hash = "sha256:0lqkyfj4qbq8wr3yk8qgn7mclw582n3fjl9l19yp8cnchspzywx0";
release."1.0.5".hash = "sha256:0cmvky8glb5z2dy3q62aln6qbav4lrf2q1589f6h1gn5bgjrbzkm";
release."1.0.4".hash = "sha256:1g5m26lr2lwxh6ld2gykailhay4d0ayql4bfh0aiwqpmmczmxipk";
release."1.0.3".hash = "sha256:0hc63ny7phzbihy8l7wxjvn3haxx8jfnhi91iw8hkq8n29i23v24";
propagatedBuildInputs = [
mathcomp.algebra
bignums
multinomials
];
meta = {
description = "CoqEAL - The Coq Effective Algebra Library";
license = lib.licenses.mit;
};
};
patched-derivation1 = derivation.overrideAttrs (o: {
propagatedBuildInputs =
o.propagatedBuildInputs
++ lib.optional (lib.versions.isGe "1.1" o.version || o.version == "dev") mathcomp-real-closed;
});
patched-derivation2 = patched-derivation1.overrideAttrs (o: {
propagatedBuildInputs =
o.propagatedBuildInputs
++ lib.optional (lib.versions.isLe "2.0.3" o.version && o.version != "dev") paramcoq;
});
patched-derivation3 = patched-derivation2.overrideAttrs (o: {
propagatedBuildInputs =
o.propagatedBuildInputs
++ lib.optional (lib.versions.isLe "2.1.1" o.version && o.version != "dev") mathcomp.ssreflect;
});
in
patched-derivation3