about summary refs log tree commit diff
path: root/pkgs/applications/science/math/mathematica/l10ns.nix
diff options
context:
space:
mode:
authorGuanpeng Xu <herberteuler@gmail.com>2019-07-24 04:23:00 +0800
committerAristid Breitkreuz <aristidb@gmail.com>2019-07-23 22:23:00 +0200
commit6988b0b929d78b4f237b917baad1fb979adaa5c2 (patch)
tree4ccf2e813870ecc200f236e1d10218808f0980a9 /pkgs/applications/science/math/mathematica/l10ns.nix
parent36a6109259b4f996ad63d9d9dd80fbdf80362571 (diff)
downloadnixlib-6988b0b929d78b4f237b917baad1fb979adaa5c2.tar
nixlib-6988b0b929d78b4f237b917baad1fb979adaa5c2.tar.gz
nixlib-6988b0b929d78b4f237b917baad1fb979adaa5c2.tar.bz2
nixlib-6988b0b929d78b4f237b917baad1fb979adaa5c2.tar.lz
nixlib-6988b0b929d78b4f237b917baad1fb979adaa5c2.tar.xz
nixlib-6988b0b929d78b4f237b917baad1fb979adaa5c2.tar.zst
nixlib-6988b0b929d78b4f237b917baad1fb979adaa5c2.zip
mathematica: 11.3.0 -> 12.0.0 (#65031)
* mathematica: archive version 11

* mathematica: 11.3.0 -> 12.0.0
Diffstat (limited to 'pkgs/applications/science/math/mathematica/l10ns.nix')
-rw-r--r--pkgs/applications/science/math/mathematica/l10ns.nix31
1 files changed, 26 insertions, 5 deletions
diff --git a/pkgs/applications/science/math/mathematica/l10ns.nix b/pkgs/applications/science/math/mathematica/l10ns.nix
index 065360a112d8..51fb489be7ec 100644
--- a/pkgs/applications/science/math/mathematica/l10ns.nix
+++ b/pkgs/applications/science/math/mathematica/l10ns.nix
@@ -1,10 +1,19 @@
-{ lib, requireFile }:
+{ lib
+, requireFile
+, lang
+, majorVersion ? null
+}:
 
-with lib;
-{
-  l10ns = flip map
+let allVersions = with lib; flip map
+  # N.B. Versions in this list should be ordered from newest to oldest.
   [
     {
+      version = "12.0.0";
+      lang = "en";
+      language = "English";
+      sha256 = "b9fb71e1afcc1d72c200196ffa434512d208fa2920e207878433f504e58ae9d7";
+    }
+    {
       version = "11.3.0";
       lang = "en";
       language = "English";
@@ -30,4 +39,16 @@ with lib;
       inherit sha256;
     };
   });
-}
+minVersion =
+  with lib;
+  if majorVersion == null
+  then elemAt (builtins.splitVersion (elemAt allVersions 0).version) 0
+  else majorVersion;
+maxVersion = toString (1 + builtins.fromJSON minVersion);
+in
+with lib;
+findFirst (l: (l.lang == lang
+               && l.version >= minVersion
+               && l.version < maxVersion))
+          (throw "Version ${minVersion} in language ${lang} not supported")
+          allVersions