1{
2 lib,
3 mkCoqDerivation,
4 coq,
5 bignums,
6 version ? null,
7}:
8
9mkCoqDerivation {
10
11 pname = "coqprime";
12 owner = "thery";
13 inherit version;
14 defaultVersion =
15 with lib.versions;
16 lib.switch coq.coq-version [
17 {
18 case = range "8.14" "8.20";
19 out = "8.18";
20 }
21 {
22 case = range "8.12" "8.16";
23 out = "8.15";
24 }
25 {
26 case = range "8.10" "8.11";
27 out = "8.10";
28 }
29 {
30 case = range "8.8" "8.9";
31 out = "8.8";
32 }
33 {
34 case = "8.7";
35 out = "8.7.2";
36 }
37 ] null;
38
39 release."8.18".sha256 = "sha256-KObBEYerWhIStmq90G3vs9K5LUEOfB2SPxirwLiWQ6E=";
40 release."8.17".sha256 = "sha256-D878t/PijVCopRKHYqfwdNvt3arGlI8yxbK/vI6qZUY=";
41 release."8.15".sha256 = "sha256:1zr2q52r08na8265019pj9spcz982ivixk6cnzk6l1srn2g328gv";
42 release."8.14.1".sha256 = "sha256:0dqf87xkzcpg7gglbxjyx68ad84w1w73icxgy3s7d3w563glc2p7";
43 release."8.12".sha256 = "1slka4w0pya15js4drx9frj7lxyp3k2lzib8v23givzpnxs8ijdj";
44 release."8.10".sha256 = "0r9gnh5a5ykiiz5h1i8xnzgiydpwc4z9qhndxyya85xq0f910qaz";
45 release."8.8".sha256 = "075yjczk79pf1hd3lgdjiz84ilkzfxjh18lgzrhhqp7d3kz5lxp5";
46 release."8.7.2".sha256 = "15zlcrx06qqxjy3nhh22wzy0rb4npc8l4nx2bbsfsvrisbq1qb7k";
47 releaseRev = v: "v${v}";
48
49 mlPlugin = true; # uses coq-bignums.plugin
50
51 propagatedBuildInputs = [ bignums ];
52
53 meta = with lib; {
54 description = "Library to certify primality using Pocklington certificate and Elliptic Curve Certificate";
55 license = licenses.lgpl21;
56 maintainers = [ maintainers.vbgl ];
57 };
58}