coqPackages.mathcomp-reals: init at 1.7.0

Following the package split in https://github.com/math-comp/analysis/pull/1349
This commit is contained in:
Pierre Roux 2024-10-25 17:36:43 +02:00 committed by Vincent Laporte
parent 3585030817
commit 9f128a2fb2
2 changed files with 27 additions and 6 deletions

View File

@ -51,14 +51,25 @@ let
] null;
# list of analysis packages sorted by dependency order
packages = [ "classical" "analysis" ];
packages = {
"classical" = [];
"reals" = [ "classical" ];
"altreals" = [ "reals" ];
"analysis" = [ "reals" ];
"reals-stdlib" = [ "reals" ];
"analysis-stdlib" = [ "analysis" "reals-stdlib" ];
};
mathcomp_ = package: let
classical-deps = [ mathcomp.algebra mathcomp-finmap ];
analysis-deps = [ mathcomp.field mathcomp-bigenough ];
intra-deps = lib.optionals (package != "single") (map mathcomp_ (lib.head (lib.splitList (lib.pred.equal package) packages)));
pkgpath = if package == "single" then "."
else if package == "analysis" then "theories" else "${package}";
intra-deps = lib.optionals (package != "single") (map mathcomp_ packages.${package});
pkgpath = lib.switch package [
{ case = "single"; out = "."; }
{ case = "analysis"; out = "theories"; }
{ case = "reals-stdlib"; out = "reals_stdlib"; }
{ case = "analysis-stdlib"; out = "analysis_stdlib"; }
] package;
pname = if package == "single" then "mathcomp-analysis-single"
else "mathcomp-${package}";
derivation = mkCoqDerivation ({
@ -81,7 +92,7 @@ let
license = lib.licenses.cecill-c;
};
passthru = lib.genAttrs packages mathcomp_;
passthru = lib.mapAttrs (package: deps: mathcomp_ package) packages;
});
# split packages didn't exist before 0.6, so bulding nothing in that case
patched-derivation1 = derivation.overrideAttrs (o:
@ -94,7 +105,13 @@ let
o.version != null && o.version != "dev" && lib.versions.isLt "0.6" o.version)
{ preBuild = ""; }
);
patched-derivation = patched-derivation2.overrideAttrs (o:
# only packages classical and analysis existed before 1.7, so bulding nothing in that case
patched-derivation3 = patched-derivation2.overrideAttrs (o:
lib.optionalAttrs (o.pname != null && o.pname != "mathcomp-classical" && o.pname != "mathcomp-analysis" &&
o.version != null && o.version != "dev" && lib.versions.isLt "1.7" o.version)
{ preBuild = ""; buildPhase = "echo doing nothing"; installPhase = "echo doing nothing"; }
);
patched-derivation = patched-derivation3.overrideAttrs (o:
lib.optionalAttrs (o.version != null
&& (o.version == "dev" || lib.versions.isGe "0.3.4" o.version))
{

View File

@ -99,13 +99,17 @@ let
mathcomp-character = self.mathcomp.character;
mathcomp-abel = callPackage ../development/coq-modules/mathcomp-abel {};
mathcomp-algebra-tactics = callPackage ../development/coq-modules/mathcomp-algebra-tactics {};
mathcomp-altreals = self.mathcomp-analysis.altreals;
mathcomp-analysis = callPackage ../development/coq-modules/mathcomp-analysis {};
mathcomp-analysis-stdlib = self.mathcomp-analysis.analysis-stdlib;
mathcomp-apery = callPackage ../development/coq-modules/mathcomp-apery {};
mathcomp-bigenough = callPackage ../development/coq-modules/mathcomp-bigenough {};
mathcomp-classical = self.mathcomp-analysis.classical;
mathcomp-finmap = callPackage ../development/coq-modules/mathcomp-finmap {};
mathcomp-infotheo = callPackage ../development/coq-modules/mathcomp-infotheo {};
mathcomp-real-closed = callPackage ../development/coq-modules/mathcomp-real-closed {};
mathcomp-reals = self.mathcomp-analysis.reals;
mathcomp-reals-stdlib = self.mathcomp-analysis.reals-stdlib;
mathcomp-tarjan = callPackage ../development/coq-modules/mathcomp-tarjan {};
mathcomp-word = callPackage ../development/coq-modules/mathcomp-word {};
mathcomp-zify = callPackage ../development/coq-modules/mathcomp-zify {};