1{
2 lib,
3 mkCoqDerivation,
4 coq,
5 bignums,
6 version ? null,
7}:
8
9mkCoqDerivation {
10
11 pname = "math-classes";
12 inherit version;
13 defaultVersion =
14 with lib.versions;
15 lib.switch coq.coq-version [
16 {
17 case = range "8.17" "8.20";
18 out = "8.19.0";
19 }
20 {
21 case = range "8.12" "8.18";
22 out = "8.18.0";
23 }
24 {
25 case = range "8.12" "8.17";
26 out = "8.17.0";
27 }
28 {
29 case = range "8.6" "8.16";
30 out = "8.15.0";
31 }
32 ] null;
33 release."8.12.0".sha256 = "14nd6a08zncrl5yg2gzk0xf4iinwq4hxnsgm4fyv07ydbkxfb425";
34 release."8.13.0".sha256 = "1ln7ziivfbxzbdvlhbvyg3v30jgblncmwcsam6gg3d1zz6r7cbby";
35 release."8.15.0".sha256 = "10w1hm537k6jx8a8vghq1yx12rsa0sjk2ipv3scgir71ln30hllw";
36 release."8.17.0".sha256 = "sha256-WklL8pgYTd0l4TGt7h7tWj1qcFcXvoPn25+XKF1pIKA=";
37 release."8.18.0".sha256 = "sha256-0WwPss8+Vr37zX616xeuS4TvtImtSbToFQkQostIjO8=";
38 release."8.19.0".sha256 = "sha256-rsV96W9MPFi/DKsepNPm1QnC2DMemio+uALIgzVYw0w=";
39
40 mlPlugin = true; # uses coq-bignums.plugin
41
42 propagatedBuildInputs = [ bignums ];
43
44 meta = {
45 homepage = "https://math-classes.github.io";
46 description = "Library of abstract interfaces for mathematical structures in Coq";
47 maintainers = with lib.maintainers; [
48 siddharthist
49 jwiegley
50 ];
51 };
52}