1{
2 coq,
3 mkCoqDerivation,
4 mathcomp-ssreflect,
5 mathcomp-fingroup,
6 lib,
7 version ? null,
8}@args:
9
10mkCoqDerivation {
11
12 namePrefix = [
13 "coq"
14 "mathcomp"
15 ];
16 pname = "tarjan";
17 owner = "math-comp";
18
19 inherit version;
20 defaultVersion =
21 let
22 case = coq: mc: out: {
23 cases = [
24 coq
25 mc
26 ];
27 inherit out;
28 };
29 in
30 with lib.versions;
31 lib.switch
32 [ coq.coq-version mathcomp-ssreflect.version ]
33 [
34 (case (range "8.16" "9.1") (range "2.0.0" "2.4.0") "1.0.3")
35 (case (range "8.16" "9.0") (range "2.0.0" "2.3.0") "1.0.2")
36 (case (range "8.12" "8.18") (range "1.12.0" "1.17.0") "1.0.1")
37 (case (range "8.10" "8.16") (range "1.12.0" "1.17.0") "1.0.0")
38 ]
39 null;
40 release."1.0.3".sha256 = "sha256-5lpOCDyH6NFzGLvnXHHAnR7Qv5oXsUyC8TLBFrIiBag=";
41 release."1.0.2".sha256 = "sha256-U20xgA+e9KTRdvILD1cxN6ia+dlA8uBTIbc4QlKz9ss=";
42 release."1.0.1".sha256 = "sha256-utNjFCAqC5xOuhdyKhfMZkRYJD0xv9Gt6U3ZdQ56mek=";
43 release."1.0.0".sha256 = "sha256:0r459r0makshzwlygw6kd4lpvdjc43b3x5y9aa8x77f2z5gymjq1";
44
45 propagatedBuildInputs = [
46 mathcomp-ssreflect
47 mathcomp-fingroup
48 ];
49
50 meta = {
51 description = "Proofs of Tarjan and Kosaraju connected components algorithms";
52 license = lib.licenses.cecill-b;
53 };
54}