nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 mkCoqDerivation,
4 autoconf,
5 coq,
6 coquelicot,
7 flocq,
8 mathcomp-boot,
9 mathcomp-fingroup,
10 bignums ? null,
11 gnuplot_qt,
12 version ? null,
13}:
14
15mkCoqDerivation rec {
16 pname = "interval";
17 owner = "coqinterval";
18 domain = "gitlab.inria.fr";
19 inherit version;
20 defaultVersion =
21 let
22 case = case: out: { inherit case out; };
23 in
24 with lib.versions;
25 lib.switch coq.coq-version [
26 (case (range "8.13" "9.1") "4.11.3")
27 (case (range "8.13" "9.0") "4.11.2")
28 (case (range "8.13" "8.20") "4.11.1")
29 (case (range "8.12" "8.19") "4.10.0")
30 (case (range "8.12" "8.18") "4.9.0")
31 (case (range "8.12" "8.17") "4.8.0")
32 (case (range "8.12" "8.16") "4.6.0")
33 (case (range "8.8" "8.16") "4.5.2")
34 (case (range "8.8" "8.12") "4.0.0")
35 (case (range "8.7" "8.11") "3.4.2")
36 (case (range "8.5" "8.6") "3.3.0")
37 ] null;
38 release."4.11.3".sha256 = "sha256-Cwovc3ln7ZEEDgMEh+pSUYqD/rtwFk4ED2hTRdy9YRg";
39 release."4.11.2".sha256 = "sha256-ouhjHtlxcqt06+Pt+UZAzwp83bVYPh3N+8jnsVvapSU=";
40 release."4.11.1".sha256 = "sha256-QWZvU468rOhK796xCCEawW6rhCRTPnE0iLll9ynKflo=";
41 release."4.11.0".sha256 = "sha256-vPwa4zSjyvxHLGDoNaBnHV2pb77dnQFbC50BL80fcvE=";
42 release."4.10.0".sha256 = "sha256-MZJVoKGLXjDabdv9BuUSK1L9z1cubzC9cqVuWevKIXQ=";
43 release."4.9.0".sha256 = "sha256-+5NppyQahcc1idGu/U3B+EIWuZz2L3/oY7dIJR6pitE=";
44 release."4.8.1".sha256 = "sha256-gknZ3bA90YY2AvwfFsP5iMhohwkQ8G96mH+4st2RPDc=";
45 release."4.8.0".sha256 = "sha256-YPQ1tuUgGixAVdQUJ9a3lZUNVgm2pKK3RKvl3m+/8rY=";
46 release."4.7.0".sha256 = "sha256-Cel25w4BeaNqu9KAW3N2KYO2IGY0EOAK5FQ6VHBPmFQ=";
47 release."4.6.1".sha256 = "sha256-ZZSxt8ksz0g6dl/LEido5qJXgsaxHrVLqkGUHu90+e0=";
48 release."4.6.0".sha256 = "sha256-n9ECKnV0L6XYcIcbYyOJKwlbisz/RRbNW5YESHo07X0=";
49 release."4.5.2".sha256 = "sha256-r0yE9pkC4EYlqsimxkdlCXevRcwKa3HGFZiUH+ueUY8=";
50 release."4.5.1".sha256 = "sha256-5OxbSPdw/1FFENubulKSk6fEIEYSPCxfvMMgtgN6j6s=";
51 release."4.3.0".sha256 = "sha256-k8DLC4HYYpHeEEgXUafS8jkaECqlM+/CoYaInmUTYko=";
52 release."4.2.0".sha256 = "sha256-SD5thgpirs3wmZBICjXGpoefg9AAXyExb5t8tz3iZhE=";
53 release."4.1.1".sha256 = "sha256-h2NJ6sZt1C/88v7W2xyuftEDoyRt3H6kqm5g2hc1aoU=";
54 release."4.0.0".sha256 = "1hhih6zmid610l6c8z3x4yzdzw9jniyjiknd1vpkyb2rxvqm3gzp";
55 release."3.4.2".sha256 = "07ngix32qarl3pjnm9d0vqc9fdrgm08gy7zp306hwxjyq7h1v7z0";
56 release."3.3.0".sha256 = "0lz2hgggzn4cvklvm8rpaxvwaryf37i8mzqajqgdxdbd8f12acsz";
57 releaseRev = v: "interval-${v}";
58
59 nativeBuildInputs = [ autoconf ];
60 propagatedBuildInputs =
61 lib.optional (lib.versions.isGe "8.6" coq.coq-version) bignums
62 ++ [
63 coquelicot
64 flocq
65 mathcomp-boot
66 mathcomp-fingroup
67 ]
68 ++ lib.optionals (lib.versions.isGe "4.2.0" defaultVersion) [ gnuplot_qt ];
69 useMelquiondRemake.logpath = "Interval";
70 mlPlugin = true;
71 enableParallelBuilding = true;
72
73 meta = {
74 description = "Tactics for simplifying the proofs of inequalities on expressions of real numbers for the Coq proof assistant";
75 license = lib.licenses.cecill-c;
76 maintainers = with lib.maintainers; [ vbgl ];
77 };
78}