houdini: 18.0 -> 18.5

sesinetd must be started manually for licensing to succeed.

Also add individual tools to the output. hkey requires libudev, and
something requires tbb.
This commit is contained in:
Kai Wohlfahrt 2021-06-27 22:58:58 +01:00
parent d9f81d9bf6
commit 6fb4874a07
2 changed files with 32 additions and 15 deletions

View file

@ -1,10 +1,11 @@
{ callPackage, buildFHSUserEnv, undaemonize, unwrapped ? callPackage ./runtime.nix {} }:
{ lib, stdenv, writeScript, callPackage, buildFHSUserEnv, undaemonize, unwrapped ? callPackage ./runtime.nix {} }:
buildFHSUserEnv {
buildFHSUserEnv rec {
name = "houdini-${unwrapped.version}";
targetPkgs = pkgs: with pkgs; [
libGLU libGL alsa-lib fontconfig zlib libpng dbus nss nspr expat pciutils libxkbcommon
libGLU libGL alsa-lib fontconfig zlib libpng dbus nss nspr expat pciutils
libxkbcommon libudev tbb
] ++ (with xorg; [
libICE libSM libXmu libXi libXext libX11 libXrender libXcursor libXfixes
libXrender libXcomposite libXdamage libXtst libxcb libXScrnSaver
@ -14,5 +15,23 @@ buildFHSUserEnv {
inherit unwrapped;
};
runScript = "${undaemonize}/bin/undaemonize ${unwrapped}/bin/houdini";
extraInstallCommands = let
executables = [ "bin/houdini" "bin/hkey" "houdini/sbin/sesinetd" ];
in ''
WRAPPER=$out/bin/${name}
EXECUTABLES="${lib.concatStringsSep " " executables}"
for executable in $EXECUTABLES; do
mkdir -p $out/$(dirname $executable)
echo "#!${stdenv.shell}" >> $out/$executable
echo "$WRAPPER ${unwrapped}/$executable \$@" >> $out/$executable
done
cd $out
chmod +x $EXECUTABLES
'';
runScript = writeScript "${name}-wrapper" ''
exec $@
'';
}

View file

@ -4,14 +4,11 @@ let
license_dir = "~/.config/houdini";
in
stdenv.mkDerivation rec {
version = "18.0.460";
version = "18.5.596";
pname = "houdini-runtime";
src = requireFile rec {
#name = "houdini-py3-${version}-linux_x86_64_gcc6.3.tar.gz";
#sha256 = "10qp8nml1ivl0syh0iwzx3zdwdpilnwakax50wydcrzdzyxza7xw"; # 18.5.621
#sha256 = "1b1k7rkn7svmciijqdwvi9p00srsf81vkb55grjg6xa7fgyidjx1"; # 18.5.596
name = "houdini-${version}-linux_x86_64_gcc6.3.tar.gz";
sha256 = "18rbwszcks2zfn9zbax62rxmq50z9mc3h39b13jpd39qjqdd3jsd"; # 18.0.460
name = "houdini-py3-${version}-linux_x86_64_gcc6.3.tar.gz";
sha256 = "1b1k7rkn7svmciijqdwvi9p00srsf81vkb55grjg6xa7fgyidjx1";
url = meta.homepage;
};
@ -19,18 +16,19 @@ stdenv.mkDerivation rec {
installPhase = ''
patchShebangs houdini.install
mkdir -p $out
sed -i "s|/usr/lib/sesi|${license_dir}|g" houdini.install
./houdini.install --install-houdini \
--install-license \
--no-install-menus \
--no-install-bin-symlink \
--auto-install \
--no-root-check \
--accept-EULA \
--accept-EULA 2020-05-05 \
$out
echo -e "localValidatorDir = ${license_dir}\nlicensingMode = localValidator" > $out/houdini/Licensing.opt
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 "licensingMode = localValidator" >> $out/houdini/Licensing.opt
'';
dontFixup = true;
meta = with lib; {
description = "3D animation application software";
homepage = "https://www.sidefx.com";