mathematica: use installer name to decide if it contains local docs

This commit is contained in:
Guanpeng Xu
2022-12-25 23:29:09 +08:00
parent ca595aca5b
commit 34cd4905d1
2 changed files with 10 additions and 8 deletions
@@ -14,16 +14,16 @@ let versions = callPackage ./versions.nix { };
lib.sort (v1: v2: lib.versionAtLeast v1.version v2.version) (lib.filter
(v: v.lang == lang
&& (version == null || isMatching v.version version)
&& webdoc == v.webdoc)
&& matchesDoc v)
versions);
found-version =
if matching-versions == []
then throw ("No registered Mathematica version found to match"
+ " version=${version} and language=${lang},"
+ " version=${toString version} and language=${lang},"
+ " ${if webdoc
then "using web documentation"
else "and with documentation"}")
else "and with local documentation"}")
else lib.head matching-versions;
specific-drv = ./. + "/${lib.versions.major found-version.version}.nix";
@@ -39,6 +39,11 @@ let versions = callPackage ./versions.nix { };
sublist = l: lib.sublist 0 n l;
in lib.compareLists lib.compare (sublist as) (sublist bs) == 0;
matchesDoc = v:
builtins.match (if webdoc
then ".*[0-9]_LINUX.sh"
else ".*[0-9]_BNDL_LINUX.sh") v.src.name != null;
in
callPackage real-drv {
@@ -7,7 +7,6 @@ let versions = [
language = "English";
sha256 = "sha256-T9XOXA6jpgN6bcO/do9sw1L73ABtyxuZCLzftv4Cl6o=";
installer = "Mathematica_13.2.0_LINUX.sh";
webdoc = true;
}
{
version = "13.2.0";
@@ -15,7 +14,6 @@ let versions = [
language = "English";
sha256 = "sha256-YRUvl2H9SwpwDZx04ugd7ZnK5G+t88bzAObXsGGVhk0=";
installer = "Mathematica_13.2.0_BNDL_LINUX.sh";
webdoc = false;
}
{
version = "13.1.0";
@@ -112,9 +110,8 @@ let versions = [
in
lib.flip map versions ({ version, lang, language, sha256, installer
, webdoc ? false }: {
inherit version lang webdoc;
lib.flip map versions ({ version, lang, language, sha256, installer }: {
inherit version lang;
src = requireFile {
name = installer;
message = ''