about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuanpeng Xu <herberteuler@gmail.com>2022-12-25 23:28:39 +0800
committerGuanpeng Xu <herberteuler@gmail.com>2022-12-25 23:29:09 +0800
commit34cd4905d1dd6aca830e95ddaecccd879e5bcf30 (patch)
treed1677e68aa938e00d434fb9f3a68e3f745756a28
parentca595aca5b53e747540b0090d0082a3cae804428 (diff)
mathematica: use installer name to decide if it contains local docs
-rw-r--r--pkgs/applications/science/math/mathematica/default.nix11
-rw-r--r--pkgs/applications/science/math/mathematica/versions.nix7
2 files changed, 10 insertions, 8 deletions
diff --git a/pkgs/applications/science/math/mathematica/default.nix b/pkgs/applications/science/math/mathematica/default.nix
index d7b999018fdf2..c559590ab5134 100644
--- a/pkgs/applications/science/math/mathematica/default.nix
+++ b/pkgs/applications/science/math/mathematica/default.nix
@@ -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 {
diff --git a/pkgs/applications/science/math/mathematica/versions.nix b/pkgs/applications/science/math/mathematica/versions.nix
index 34e2eff86aa65..96e6805df8bcf 100644
--- a/pkgs/applications/science/math/mathematica/versions.nix
+++ b/pkgs/applications/science/math/mathematica/versions.nix
@@ -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 = ''