2018-05-18 23:41:42 +01:00
|
|
|
{ stdenv, requireFile, zlib, libpng, libSM, libICE, fontconfig, xorg, libGLU, libGL, alsaLib, dbus, xkeyboardconfig, bc }:
|
2017-07-12 15:36:28 +01:00
|
|
|
|
|
|
|
let
|
|
|
|
ld_library_path = builtins.concatStringsSep ":" [
|
|
|
|
"${stdenv.cc.cc.lib}/lib64"
|
|
|
|
(stdenv.lib.makeLibraryPath [
|
2018-02-24 12:59:47 +00:00
|
|
|
libGLU
|
2018-05-18 23:41:42 +01:00
|
|
|
libGL
|
2017-07-12 15:36:28 +01:00
|
|
|
xorg.libXmu
|
|
|
|
xorg.libXi
|
|
|
|
xorg.libXext
|
|
|
|
xorg.libX11
|
|
|
|
xorg.libXrender
|
2017-07-19 01:26:38 +01:00
|
|
|
xorg.libXcursor
|
|
|
|
xorg.libXfixes
|
|
|
|
xorg.libXrender
|
|
|
|
xorg.libXcomposite
|
|
|
|
xorg.libXdamage
|
|
|
|
xorg.libXtst
|
|
|
|
alsaLib
|
2017-07-12 15:36:28 +01:00
|
|
|
fontconfig
|
|
|
|
libSM
|
|
|
|
libICE
|
|
|
|
zlib
|
|
|
|
libpng
|
2017-07-19 01:26:38 +01:00
|
|
|
dbus
|
2017-07-12 15:36:28 +01:00
|
|
|
])
|
|
|
|
];
|
|
|
|
license_dir = "~/.config/houdini";
|
|
|
|
in
|
|
|
|
stdenv.mkDerivation rec {
|
2018-11-14 14:27:30 +00:00
|
|
|
version = "17.0.352";
|
2017-07-12 15:36:28 +01:00
|
|
|
name = "houdini-runtime-${version}";
|
|
|
|
src = requireFile rec {
|
2018-11-14 14:27:30 +00:00
|
|
|
name = "houdini-${version}-linux_x86_64_gcc6.3.tar.gz";
|
|
|
|
sha256 = "0cl5fkgaplb0cvv7mli06ffc9j4ngpy8hl5zqabj3d645gcgafjg";
|
2017-07-12 15:36:28 +01:00
|
|
|
message = ''
|
|
|
|
This nix expression requires that ${name} is already part of the store.
|
|
|
|
Download it from https://sidefx.com and add it to the nix store with:
|
2018-11-14 11:41:06 +00:00
|
|
|
|
2017-07-12 15:36:28 +01:00
|
|
|
nix-prefetch-url <URL>
|
|
|
|
|
|
|
|
This can't be done automatically because you need to create an account on
|
|
|
|
their website and agree to their license terms before you can download
|
|
|
|
it. That's what you get for using proprietary software.
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
|
|
|
buildInputs = [ bc ];
|
|
|
|
installPhase = ''
|
|
|
|
patchShebangs houdini.install
|
|
|
|
mkdir -p $out
|
|
|
|
sed -i "s|/usr/lib/sesi|${license_dir}|g" houdini.install
|
|
|
|
./houdini.install --install-houdini \
|
|
|
|
--no-install-menus \
|
|
|
|
--no-install-bin-symlink \
|
|
|
|
--auto-install \
|
|
|
|
--no-root-check \
|
|
|
|
--accept-EULA \
|
|
|
|
$out
|
2017-07-19 01:26:38 +01:00
|
|
|
echo -e "localValidatorDir = ${license_dir}\nlicensingMode = localValidator" > $out/houdini/Licensing.opt
|
2017-07-12 15:36:28 +01:00
|
|
|
sed -i "s|/usr/lib/sesi|${license_dir}|g" $out/houdini/sbin/sesinetd_safe
|
|
|
|
sed -i "s|/usr/lib/sesi|${license_dir}|g" $out/houdini/sbin/sesinetd.startup
|
|
|
|
echo "export LD_LIBRARY_PATH=${ld_library_path}" >> $out/bin/app_init.sh
|
2017-07-19 01:26:38 +01:00
|
|
|
echo "export QT_XKB_CONFIG_ROOT="${xkeyboardconfig}/share/X11/xkb"" >> $out/bin/app_init.sh
|
2017-07-12 15:36:28 +01:00
|
|
|
echo "export LD_LIBRARY_PATH=${ld_library_path}" >> $out/houdini/sbin/app_init.sh
|
2017-07-19 01:26:38 +01:00
|
|
|
echo "export QT_XKB_CONFIG_ROOT="${xkeyboardconfig}/share/X11/xkb"" >> $out/houdini/sbin/app_init.sh
|
2017-07-12 15:36:28 +01:00
|
|
|
'';
|
|
|
|
postFixup = ''
|
|
|
|
INTERPRETER="$(cat "$NIX_CC"/nix-support/dynamic-linker)"
|
|
|
|
for BIN in $(find $out/bin -type f -executable); do
|
|
|
|
if patchelf $BIN 2>/dev/null ; then
|
|
|
|
echo "Patching ELF $BIN"
|
|
|
|
patchelf --set-interpreter "$INTERPRETER" "$BIN"
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
'';
|
|
|
|
meta = {
|
|
|
|
description = "3D animation application software";
|
2017-08-01 21:03:30 +01:00
|
|
|
homepage = https://sidefx.com;
|
2017-07-12 15:36:28 +01:00
|
|
|
license = stdenv.lib.licenses.unfree;
|
|
|
|
platforms = stdenv.lib.platforms.linux;
|
|
|
|
maintainers = [ stdenv.lib.maintainers.canndrew ];
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|