nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 coq,
3 mkCoqDerivation,
4 mathcomp,
5 mathcomp-finmap,
6 mathcomp-bigenough,
7 lib,
8 version ? null,
9 useDune ? false,
10}@args:
11mkCoqDerivation {
12
13 namePrefix = [
14 "coq"
15 "mathcomp"
16 ];
17 pname = "multinomials";
18
19 owner = "math-comp";
20
21 inherit version;
22 defaultVersion =
23 let
24 case = coq: mc: out: {
25 cases = [
26 coq
27 mc
28 ];
29 inherit out;
30 };
31 in
32 with lib.versions;
33 lib.switch
34 [ coq.coq-version mathcomp.version ]
35 [
36 (case (range "8.18" "9.1") (range "2.1.0" "2.5.0") "2.4.0")
37 (case (range "8.17" "9.0") (range "2.1.0" "2.3.0") "2.3.0")
38 (case (range "8.17" "8.20") (isGe "2.1.0") "2.2.0")
39 (case (range "8.16" "8.18") "2.1.0" "2.1.0")
40 (case (range "8.16" "8.18") "2.0.0" "2.0.0")
41 (case (isGe "8.15") (range "1.15.0" "1.19.0") "1.6.0")
42 (case (isGe "8.10") (range "1.13.0" "1.17.0") "1.5.6")
43 (case (range "8.10" "8.16") (range "1.12.0" "1.15.0") "1.5.5")
44 (case (range "8.10" "8.12") "1.12.0" "1.5.3")
45 (case (range "8.7" "8.12") "1.11.0" "1.5.2")
46 (case (range "8.7" "8.11") (range "1.8" "1.10") "1.5.0")
47 (case (range "8.7" "8.10") (range "1.8" "1.10") "1.4")
48 (case "8.6" (range "1.6" "1.7") "1.1")
49 ]
50 null;
51 release = {
52 "2.4.0".sha256 = "sha256-7zfIddRH+Sl4nhEPtS/lMZwRUZI45AVFpcC/UC8Z0Yo=";
53 "2.3.0".sha256 = "sha256-usIcxHOAuN+f/j3WjVbPrjz8Hl9ac8R6kYeAKi3CEts=";
54 "2.2.0".sha256 = "sha256-Cie6paweITwPZy6ej9+qIvHFWknVR382uJPW927t/fo=";
55 "2.1.0".sha256 = "sha256-QT91SBJ6DXhyg4j/okTvPP6yj2DnnPbnSlJ/p8pvZbY=";
56 "2.0.0".sha256 = "sha256-2zWHzMBsO2j8EjN7CgCmKQcku9Be8aVlme0LD5p4ab8=";
57 "1.6.0".sha256 = "sha256-lEM+sjqajIOm1c3lspHqcSIARgMR9RHbTQH4veHLJfU=";
58 "1.5.6".sha256 = "sha256-cMixgc34T9Ic6v+tYmL49QUNpZpPV5ofaNuHqblX6oY=";
59 "1.5.5".sha256 = "sha256-VdXA51vr7DZl/wT/15YYMywdD7Gh91dMP9t7ij47qNQ=";
60 "1.5.4".sha256 = "0s4sbh4y88l125hdxahr56325hdhxxdmqmrz7vv8524llyv3fciq";
61 "1.5.3".sha256 = "1462x40y2qydjd2wcg8r6qr8cx3xv4ixzh2h8vp9h7arylkja1qd";
62 "1.5.2".sha256 = "15aspf3jfykp1xgsxf8knqkxv8aav2p39c2fyirw7pwsfbsv2c4s";
63 "1.5.1".sha256 = "13nlfm2wqripaq671gakz5mn4r0xwm0646araxv0nh455p9ndjs3";
64 "1.5.0".sha256 = "064rvc0x5g7y1a0nip6ic91vzmq52alf6in2bc2dmss6dmzv90hw";
65 "1.5.0".rev = "1.5";
66 "1.4".sha256 = "0vnkirs8iqsv8s59yx1fvg1nkwnzydl42z3scya1xp1b48qkgn0p";
67 "1.3".sha256 = "0l3vi5n094nx3qmy66hsv867fnqm196r8v605kpk24gl0aa57wh4";
68 "1.2".sha256 = "1mh1w339dslgv4f810xr1b8v2w7rpx6fgk9pz96q0fyq49fw2xcq";
69 "1.1".sha256 = "1q8alsm89wkc0lhcvxlyn0pd8rbl2nnxg81zyrabpz610qqjqc3s";
70 "1.0".sha256 = "1qmbxp1h81cy3imh627pznmng0kvv37k4hrwi2faa101s6bcx55m";
71 };
72
73 useDuneifVersion = lib.versions.range "1.5.3" "2.2.0";
74
75 preConfigure = ''
76 patchShebangs configure || true
77 '';
78
79 propagatedBuildInputs = [
80 mathcomp.boot
81 mathcomp.algebra
82 mathcomp-finmap
83 mathcomp.fingroup
84 mathcomp-bigenough
85 ];
86
87 meta = {
88 description = "Coq/SSReflect Library for Monoidal Rings and Multinomials";
89 license = lib.licenses.cecill-c;
90 };
91}
92// lib.optionalAttrs (args ? useDune) { inherit useDune; }