diff --git a/pkgs/applications/science/math/mathematica/default.nix b/pkgs/applications/science/math/mathematica/default.nix index d7b999018fdf..c559590ab513 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 34e2eff86aa6..96e6805df8bc 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 = ''