mathematica: enable installation of localized editions
For now English (default) and Japanese editions only. Fill out information in `l10ns.nix` to add the other localized editions. Example usage: `mathematica.override { lang = "ja"; }` derives Japanese edition.
This commit is contained in:
parent
d4dbe03be5
commit
1ed47cf214
|
@ -1,7 +1,7 @@
|
||||||
{ stdenv
|
{ stdenv
|
||||||
, coreutils
|
, coreutils
|
||||||
, patchelf
|
, patchelf
|
||||||
, requireFile
|
, callPackage
|
||||||
, alsaLib
|
, alsaLib
|
||||||
, dbus
|
, dbus
|
||||||
, fontconfig
|
, fontconfig
|
||||||
|
@ -18,6 +18,7 @@
|
||||||
, zlib
|
, zlib
|
||||||
, libxml2
|
, libxml2
|
||||||
, libuuid
|
, libuuid
|
||||||
|
, lang ? "en"
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -26,21 +27,15 @@ let
|
||||||
"Linux"
|
"Linux"
|
||||||
else
|
else
|
||||||
throw "Mathematica requires i686-linux or x86_64 linux";
|
throw "Mathematica requires i686-linux or x86_64 linux";
|
||||||
|
|
||||||
|
l10n =
|
||||||
|
with stdenv.lib;
|
||||||
|
with callPackage ./l10ns.nix {};
|
||||||
|
flip (findFirst (l: l.lang == lang)) l10ns
|
||||||
|
(throw "Language '${lang}' not supported");
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "11.2.0";
|
inherit (l10n) version name src;
|
||||||
|
|
||||||
name = "mathematica-${version}";
|
|
||||||
|
|
||||||
src = requireFile rec {
|
|
||||||
name = "Mathematica_${version}_LINUX.sh";
|
|
||||||
message = ''
|
|
||||||
This nix expression requires that ${name} is
|
|
||||||
already part of the store. Find the file on your Mathematica CD
|
|
||||||
and add it to the nix store with nix-store --add-fixed sha256 <FILE>.
|
|
||||||
'';
|
|
||||||
sha256 = "4a1293cc1c404303aa1cab1bd273c7be151d37ac5ed928fbbb18e9c5ab2d8df9";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
coreutils
|
coreutils
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
{ lib, requireFile }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
l10ns = flip map
|
||||||
|
[
|
||||||
|
{
|
||||||
|
version = "11.2.0";
|
||||||
|
lang = "en";
|
||||||
|
language = "English";
|
||||||
|
sha256 = "4a1293cc1c404303aa1cab1bd273c7be151d37ac5ed928fbbb18e9c5ab2d8df9";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
version = "11.2.0";
|
||||||
|
lang = "ja";
|
||||||
|
language = "Japanese";
|
||||||
|
sha256 = "916392edd32bed8622238df435dd8e86426bb043038a3336f30df10d819b49b1";
|
||||||
|
}
|
||||||
|
]
|
||||||
|
({ version, lang, language, sha256 }: {
|
||||||
|
inherit version lang;
|
||||||
|
name = "mathematica-${version}" + optionalString (lang != "en") "-${lang}";
|
||||||
|
src = requireFile rec {
|
||||||
|
name = "Mathematica_${version}" + optionalString (lang != "en") "_${language}" + "_LINUX.sh";
|
||||||
|
message = ''
|
||||||
|
This nix expression requires that ${name} is
|
||||||
|
already part of the store. Find the file on your Mathematica CD
|
||||||
|
and add it to the nix store with nix-store --add-fixed sha256 <FILE>.
|
||||||
|
'';
|
||||||
|
inherit sha256;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
Loading…
Reference in New Issue