121 lines
2.6 KiB
Nix
121 lines
2.6 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchurl,
|
|
makeWrapper,
|
|
undmg,
|
|
autoPatchelfHook,
|
|
alsa-lib,
|
|
ncurses5,
|
|
xorg,
|
|
}:
|
|
|
|
let
|
|
pname = "scilab-bin";
|
|
version = "6.1.1";
|
|
|
|
srcs = {
|
|
aarch64-darwin = fetchurl {
|
|
url = "https://www.utc.fr/~mottelet/scilab/download/${version}/scilab-${version}-accelerate-arm64.dmg";
|
|
sha256 = "sha256-L4dxD8R8bY5nd+4oDs5Yk0LlNsFykLnAM+oN/O87SRI=";
|
|
};
|
|
x86_64-darwin = fetchurl {
|
|
url = "https://www.utc.fr/~mottelet/scilab/download/${version}/scilab-${version}-x86_64.dmg";
|
|
sha256 = "sha256-tBeqzllMuogrGcJxGqEl2DdNXaiwok3yhzWSdlWY5Fc=";
|
|
};
|
|
x86_64-linux = fetchurl {
|
|
url = "https://www.scilab.org/download/${version}/scilab-${version}.bin.linux-x86_64.tar.gz";
|
|
sha256 = "sha256-PuGnz2YdAhriavwnuf5Qyy0cnCeRHlWC6dQzfr7bLHk=";
|
|
};
|
|
};
|
|
src =
|
|
srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
|
|
|
meta = {
|
|
homepage = "http://www.scilab.org/";
|
|
description = "Scientific software package for numerical computations (Matlab lookalike)";
|
|
platforms = [
|
|
"aarch64-darwin"
|
|
"x86_64-darwin"
|
|
"x86_64-linux"
|
|
];
|
|
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
|
license = lib.licenses.gpl2Only;
|
|
mainProgram = "scilab";
|
|
};
|
|
|
|
darwin = stdenv.mkDerivation rec {
|
|
inherit
|
|
pname
|
|
version
|
|
src
|
|
meta
|
|
;
|
|
|
|
nativeBuildInputs = [
|
|
makeWrapper
|
|
undmg
|
|
];
|
|
|
|
sourceRoot = "scilab-${version}.app";
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/{Applications/scilab.app,bin}
|
|
cp -R . $out/Applications/scilab.app
|
|
makeWrapper $out/{Applications/scilab.app/Contents/MacOS,bin}/scilab
|
|
|
|
runHook postInstall
|
|
'';
|
|
};
|
|
|
|
linux = stdenv.mkDerivation rec {
|
|
inherit
|
|
pname
|
|
version
|
|
src
|
|
meta
|
|
;
|
|
|
|
nativeBuildInputs = [
|
|
autoPatchelfHook
|
|
];
|
|
|
|
buildInputs =
|
|
[
|
|
alsa-lib
|
|
ncurses5
|
|
stdenv.cc.cc
|
|
]
|
|
++ (with xorg; [
|
|
libX11
|
|
libXcursor
|
|
libXext
|
|
libXft
|
|
libXi
|
|
libXrandr
|
|
libXrender
|
|
libXtst
|
|
libXxf86vm
|
|
]);
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out
|
|
mv -t $out bin include lib share thirdparty
|
|
sed -i \
|
|
-e 's|\$(/bin/|$(|g' \
|
|
-e 's|/usr/bin/||g' \
|
|
$out/bin/{scilab,xcos}
|
|
sed -i \
|
|
-e "s|Exec=|Exec=$out/bin/|g" \
|
|
-e "s|Terminal=.*$|Terminal=true|g" \
|
|
$out/share/applications/*.desktop
|
|
|
|
runHook postInstall
|
|
'';
|
|
};
|
|
in
|
|
if stdenv.hostPlatform.isDarwin then darwin else linux
|