18 release."1.7.0".sha256 = "sha256-GgsMIHqLkWsPm2VyOPeZdOulkN00IoBz++qA6yE9raQ=";
19 release."1.5.0".sha256 = "sha256-EWogrkr5TC5F9HjQJwO3bl4P8mij8U7thUGJNNI+k88=";
20 release."1.4.0".sha256 = "sha256-eDggeuEU0fMK7D5FbxvLkbAgpLw5lwL/Rl0eLXAnJeg=";
21 release."1.2.0".sha256 = "sha256-w6BivDM4dF4Iv4rUTy++2feweNtMAJxgGExPfYGhXxo=";
22 release."1.1.0".sha256 = "sha256-wl4kZf4mh9zbFfGcqaFEgWRyp0Bj511F505mYodpS6o=";
23 release."1.0.0".sha256 = "sha256-KiXyaWB4zQ3NuXadq4BSWfoN1cIo1xiLVSN6nW03tC4=";
24 release."0.7.0".sha256 = "sha256-JwkyetXrFsFHqz8KY3QBpHsrkhmEFnrCGuKztcoen60=";
25 release."0.6.7".sha256 = "sha256-3i2PBMEwihwgwUmnS0cmrZ8s+aLPFVq/vo0aXMUaUyA=";
26 release."0.6.6".sha256 = "sha256-tWtv6yeB5/vzwpKZINK9OQ0yQsvD8qu9zVSNHvLMX5Y=";
27 release."0.6.5".sha256 = "sha256-oJk9/Jl1SWra2aFAXRAVfX7ZUaDfajqdDksYaW8dv8E=";
28 release."0.6.1".sha256 = "sha256-1VyNXu11/pDMuH4DmFYSUF/qZ4Bo+/Zl3Y0JkyrH/r0=";
29 release."0.6.0".sha256 = "sha256-0msICcIrK6jbOSiBu0gIVU3RHwoEEvB88CMQqW/06rg=";
30 release."0.5.3".sha256 = "sha256-1NjFsi5TITF8ZWx1NyppRmi8g6YaoUtTdS9bU/sUe5k=";
31 release."0.5.2".sha256 = "0yx5p9zyl8jv1vg7rgkyq8dqzkdnkqv969mi62whmhkvxbavgzbw";
32 release."0.5.1".sha256 = "1hnzqb1gxf88wgj2n1b0f2xm6sxg9j0735zdsv6j12hlvx5lwk68";
33 release."0.3.13".sha256 = "sha256-Yaztew79KWRC933kGFOAUIIoqukaZOdNOdw4XszR1Hg=";
34 release."0.3.10".sha256 = "sha256-FBH2c8QRibq5Ycw/ieB8mZl0fDiPrYdIzZ6W/A3pIhI=";
35 release."0.3.9".sha256 = "sha256-uUU9diBwUqBrNRLiDc0kz0CGkwTZCUmigPwLbpDOeg4=";
36 release."0.3.6".sha256 = "0g2j7b2hca4byz62ssgg90bkbc8wwp7xkb2d3225bbvihi92b4c5";
37 release."0.3.4".sha256 = "18mgycjgg829dbr7ps77z6lcj03h3dchjbj5iir0pybxby7gd45c";
38 release."0.3.3".sha256 = "1m2mxcngj368vbdb8mlr91hsygl430spl7lgyn9qmn3jykack867";
39 release."0.3.1".sha256 = "1iad288yvrjv8ahl9v18vfblgqb1l5z6ax644w49w9hwxs93f2k8";
40 release."0.2.3".sha256 = "0p9mr8g1qma6h10qf7014dv98ln90dfkwn76ynagpww7qap8s966";
44 inherit (lib.versions) range;
47 [ coq.version mathcomp.version ]
52 (range "2.1.0" "2.2.0")
59 (range "2.0.0" "2.2.0")
66 (range "1.17.0" "1.19.0")
73 (range "1.15.0" "1.18.0")
80 (range "1.15.0" "1.18.0")
87 (range "1.15.0" "1.17.0")
94 (range "1.13.0" "1.16.0")
100 (range "8.14" "8.18")
101 (range "1.13" "1.15")
107 (range "8.13" "8.15")
108 (range "1.13" "1.14")
114 (range "8.13" "8.15")
115 (range "1.12" "1.14")
121 (range "8.11" "8.14")
122 (range "1.12" "1.13")
128 (range "8.10" "8.12")
135 (range "8.10" "8.11")
150 # list of analysis packages sorted by dependency order
153 "reals" = [ "classical" ];
154 "experimental-reals" = [ "reals" ];
155 "analysis" = [ "reals" ];
156 "reals-stdlib" = [ "reals" ];
157 "analysis-stdlib" = [
170 experimental-reals-deps = [ mathcomp-bigenough ];
175 intra-deps = lib.optionals (package != "single") (map mathcomp_ packages.${package});
176 pkgpath = lib.switch package [
186 case = "experimental-reals";
187 out = "experimental_reals";
190 case = "reals-stdlib";
191 out = "reals_stdlib";
194 case = "analysis-stdlib";
195 out = "analysis_stdlib";
198 pname = if package == "single" then "mathcomp-analysis-single" else "mathcomp-${package}";
199 derivation = mkCoqDerivation ({
214 propagatedBuildInputs =
216 ++ lib.optionals (lib.elem package [
220 ++ lib.optionals (lib.elem package [
223 ]) experimental-reals-deps
224 ++ lib.optionals (lib.elem package [
234 description = "Analysis library compatible with Mathematical Components";
235 maintainers = [ lib.maintainers.cohencyril ];
236 license = lib.licenses.cecill-c;
239 passthru = lib.mapAttrs (package: deps: mathcomp_ package) packages;
241 # split packages didn't exist before 0.6, so bulding nothing in that case
242 patched-derivation1 = derivation.overrideAttrs (
247 && o.pname != "mathcomp-analysis"
249 && o.version != "dev"
250 && lib.versions.isLt "0.6" o.version
254 buildPhase = "echo doing nothing";
255 installPhase = "echo doing nothing";
258 patched-derivation2 = patched-derivation1.overrideAttrs (
262 && o.pname == "mathcomp-analysis"
264 && o.version != "dev"
265 && lib.versions.isLt "0.6" o.version
268 # only packages classical and analysis existed before 1.7, so bulding nothing in that case
269 patched-derivation3 = patched-derivation2.overrideAttrs (
274 && o.pname != "mathcomp-classical"
275 && o.pname != "mathcomp-analysis"
277 && o.version != "dev"
278 && lib.versions.isLt "1.7" o.version
282 buildPhase = "echo doing nothing";
283 installPhase = "echo doing nothing";
286 patched-derivation = patched-derivation3.overrideAttrs (
288 lib.optionalAttrs (o.version != null && (o.version == "dev" || lib.versions.isGe "0.3.4" o.version))
290 propagatedBuildInputs = o.propagatedBuildInputs ++ [ hierarchy-builder ];
296 mathcomp_ (if single then "single" else "analysis")