pinact: 1.0.0 -> 1.1.2 and set CGO_ENABLED=0 (#368078)
[NixPkgs.git] / pkgs / applications / science / math / wolfram-engine / l10ns.nix
blobb362e6de059450d81e26ab3324c4f73df065727a
2   lib,
3   requireFile,
4   lang,
5   majorVersion ? null,
6 }:
8 let
9   allVersions =
10     lib.flip map
11       # N.B. Versions in this list should be ordered from newest to oldest.
12       [
13         {
14           version = "14.1.0";
15           lang = "en";
16           language = "English";
17           sha256 = "1kxdvm3i7nn3ws784y972h2br1n0y82kkkjvz7c5llssv6d3pgj8";
18           installer = "WolframEngine_14.1.0_LIN.sh";
19         }
20         {
21           version = "13.3.0";
22           lang = "en";
23           language = "English";
24           sha256 = "96106ac8ed6d0e221a68d846117615c14025320f927e5e0ed95b1965eda68e31";
25           installer = "WolframEngine_13.3.0_LINUX.sh";
26         }
27         {
28           version = "13.2.0";
29           lang = "en";
30           language = "English";
31           sha256 = "1xvg1n64iq52jxnk9y551m5iwkkz6cxzwyw28h8d0kq36aaiky24";
32           installer = "WolframEngine_13.2.0_LINUX.sh";
33         }
34         {
35           version = "13.1.0";
36           lang = "en";
37           language = "English";
38           sha256 = "1659kyp38a8xknic95pynx9fsgn96i8jn9lnk89pc8n6vydw1460";
39           installer = "WolframEngine_13.1.0_LINUX.sh";
40         }
41         {
42           version = "13.0.1";
43           lang = "en";
44           language = "English";
45           sha256 = "1rrxi7d51m02407k719fq829jzanh550wr810i22n3irhk8axqga";
46           installer = "WolframEngine_13.0.1_LINUX.sh";
47         }
48         {
49           version = "13.0.0";
50           lang = "en";
51           language = "English";
52           sha256 = "10cpwllz9plxz22iqdh6xgkxqphl9s9nq8ax16pafjll6j9kqy1q";
53           installer = "WolframEngine_13.0.0_LINUX.sh";
54         }
55       ]
56       (
57         {
58           version,
59           lang,
60           language,
61           sha256,
62           installer,
63         }:
64         {
65           inherit version lang;
66           name = "wolfram-engine-${version}" + lib.optionalString (lang != "en") "-${lang}";
67           src = requireFile {
68             name = installer;
69             message = ''
70               This nix expression requires that ${installer} is
71               already part of the store. Download the file from
72               https://www.wolfram.com/engine/ and add it to the nix store
73               with nix-store --add-fixed sha256 <FILE>.
74             '';
75             inherit sha256;
76           };
77         }
78       );
79   minVersion =
80     if majorVersion == null then
81       lib.elemAt (builtins.splitVersion (lib.elemAt allVersions 0).version) 0
82     else
83       majorVersion;
84   maxVersion = toString (1 + builtins.fromJSON minVersion);
86 lib.findFirst (
87   l: (l.lang == lang && l.version >= minVersion && l.version < maxVersion)
88 ) (throw "Version ${minVersion} in language ${lang} not supported") allVersions