mirror of
https://github.com/CHN-beta/nixos.git
synced 2026-01-12 01:55:22 +08:00
85 lines
2.7 KiB
Nix
85 lines
2.7 KiB
Nix
{
|
|
stdenv, src, buildFHSEnv, writeScript, autoPatchelfHook, writeShellScriptBin,
|
|
libz, freeglut, libGLU, xorg, alsa-lib, freetype, wayland, fontconfig, libxkbcommon, systemd, numactl, nss,
|
|
at-spi2-atk, libxcrypt-legacy, glibtool, tbb, libxslt, glib, gtk3, libedit, gdbm, ncurses5, mesa, libdrm, xmlsec,
|
|
libsForQt5, mpi, libGL, xz, libgbm, libxml2_13
|
|
}:
|
|
let
|
|
unwrapped = stdenv.mkDerivation
|
|
{
|
|
name = "lumerical-unwrapped";
|
|
inherit src;
|
|
dontConfigure = true;
|
|
dontBuild = true;
|
|
installPhase =
|
|
''
|
|
mkdir -p $out
|
|
cp -r $src/v231 $out/opt
|
|
chmod -R +w $out
|
|
rm $out/opt/{bin/itkdb-bridge,lib/libxmlsec*,lib/libQt5*}
|
|
'';
|
|
dontFixup = true;
|
|
};
|
|
startScript = writeScript "fdtd"
|
|
''
|
|
export XDG_SESSION_TYPE=x11
|
|
/opt/bin/fdtd-solutions-app "$@"
|
|
'';
|
|
cmd-unwrapped = stdenv.mkDerivation
|
|
{
|
|
name = "lumerical";
|
|
inherit src;
|
|
buildInputs =
|
|
[
|
|
stdenv.cc.cc libz libGLU libGL mpi libxml2_13 xmlsec freeglut fontconfig libxkbcommon systemd tbb xz glib
|
|
libxcrypt-legacy at-spi2-atk gtk3 libdrm alsa-lib ncurses5 libgbm libedit gdbm
|
|
]
|
|
++ (with xorg;
|
|
[
|
|
libXdamage libXfixes libXt libICE libSM xcbutilwm libXft xcbutilimage xcbutilkeysyms xcbutilrenderutil
|
|
libXcomposite libXcursor libXtst libXScrnSaver
|
|
])
|
|
++ (with libsForQt5; [ wayland ]);
|
|
nativeBuildInputs = [ autoPatchelfHook ];
|
|
dontConfigure = true;
|
|
dontBuild = true;
|
|
installPhase =
|
|
''
|
|
mkdir -p $out/opt/ansys_inc
|
|
cp -r $src/v231 $out/opt/ansys_inc
|
|
chmod -R +w $out
|
|
|
|
# old library that have missing dependencies
|
|
rm -r $out/opt/ansys_inc/v231/lib/libxmlsec*
|
|
|
|
# unused binary, need a lot of libraries
|
|
rm $out/opt/ansys_inc/v231/bin/itkdb-bridge
|
|
rm -r $out/opt/ansys_inc/v231/api/matlab
|
|
|
|
addAutoPatchelfSearchPath $out/ansys_inc/v231/opt/lib
|
|
'';
|
|
autoPatchelfIgnoreMissingDeps = [ "libmpi.so.12" ];
|
|
};
|
|
cmd = writeShellScriptBin "lumerical"
|
|
''
|
|
export PATH="${mpi}/bin:${cmd-unwrapped}/opt/ansys_inc/v231/bin:$PATH"
|
|
exec "$@"
|
|
'';
|
|
in buildFHSEnv
|
|
{
|
|
name = "lumerical";
|
|
passthru = { inherit unwrapped cmd-unwrapped cmd; };
|
|
targetPkgs = pkgs: with pkgs;
|
|
[
|
|
unwrapped libxml2 xmlsec libz libGL stdenv.cc.cc.lib
|
|
freeglut libGLU alsa-lib freetype fontconfig libxkbcommon systemd numactl nss
|
|
libxcrypt-legacy glibtool tbb libxslt glib gtk3 libedit gdbm ncurses5 mesa libdrm xmlsec
|
|
libsForQt5.full libsForQt5.qt5.qtnetworkauth mpi
|
|
]
|
|
++ (with xorg; [
|
|
libX11 libXt libICE libXdamage libXfixes xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXcursor
|
|
libXcomposite libXtst libXft libXScrnSaver libSM libXext
|
|
]);
|
|
runScript = startScript;
|
|
}
|