several fixes in coq and coqPackages.mathcomp (and extras)

wip/yesman
Cyril Cohen 5 years ago committed by Vincent Laporte
parent 3efd90e3c9
commit d16a78b512
  1. 5
      pkgs/applications/science/logic/coq/default.nix
  2. 5
      pkgs/development/coq-modules/mathcomp/default.nix
  3. 19
      pkgs/development/coq-modules/mathcomp/extra.nix

@ -29,10 +29,7 @@ let
"8.9.0" = "1dkgdjc4n1m15m1p724hhi5cyxpqbjw6rxc5na6fl3v4qjjfnizh";
"8.10+beta1" = "19wf39i0ap2vakglgdlqxpjd3l1h5w7dp460w8y7nc1y06b2153h";
}."${version}";
coq-version =
let inherit (builtins) concatStringsSep head map; in
let inherit (stdenv.lib) take splitString; in
concatStringsSep "." (take 2 (map head (map (splitString "pl") (splitString "." version))));
coq-version = stdenv.lib.versions.majorMinor version;
versionAtLeast = stdenv.lib.versionAtLeast coq-version;
ideFlags = stdenv.lib.optionalString (buildIde && !versionAtLeast "8.10")
"-lablgtkdir ${ocamlPackages.lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt";

@ -16,9 +16,10 @@ let
"1.6.1" = flip elem ["8.5"];
};
# computes the default version of mathcomp given a version of Coq
min-mathcomp-version = head (naturalSort (attrNames mathcomp-coq-versions));
default-mathcomp-version = last (naturalSort ([min-mathcomp-version]
max-mathcomp-version = last (naturalSort (attrNames mathcomp-coq-versions));
default-mathcomp-version = let v = last (naturalSort (["0.0.0"]
++ (attrNames (filterAttrs (_: vs: vs coq.coq-version) mathcomp-coq-versions))));
in if v == "0.0.0" then max-mathcomp-version else v;
# list of core mathcomp packages sorted by dependency order
mathcomp-packages =

@ -75,11 +75,9 @@ packageGen = {
mathcomp ? current-mathcomp,
license ? mathcomp.meta.license,
# mandatory
package, version, version-sha256, description
package, version ? "broken", version-sha256, description
}:
if version == "" then {}
else { "${package}" =
let from = src; in
{ "${package}" = let from = src; in
stdenv.mkDerivation rec {
inherit version;
@ -102,19 +100,20 @@ packageGen = {
inherit (src.meta) homepage;
inherit (mathcomp.meta) platforms;
maintainers = [ stdenv.lib.maintainers.vbgl ];
broken = (version == "broken");
};
passthru = {
inherit version-sha256;
compatibleCoqVersions = v: builtins.elem v coq-versions;
compatibleCoqVersions = if meta.broken then _: false else
v: builtins.elem v coq-versions;
};
};};
};
};
current-versions = versions."${current-mathcomp.version}"
or (throw "no mathcomp extra packages found for mathcomp ${current-mathcomp.version}");
current-versions = versions."${current-mathcomp.version}" or {};
select = x: mapAttrs (n: pkg: {package = n;} // pkg)
(recursiveUpdate (overrideExisting x param) x);
select = x: mapAttrs (n: pkg: {package = n;} // pkg) (recursiveUpdate param x);
all = (mapAttrs' (n: pkg:
{name = "mathcomp_1_7-${n}";

Loading…
Cancel
Save