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.

+32 -15
+23 -4
pkgs/applications/misc/houdini/default.nix
··· 1 - { callPackage, buildFHSUserEnv, undaemonize, unwrapped ? callPackage ./runtime.nix {} }: 1 + { lib, stdenv, writeScript, callPackage, buildFHSUserEnv, undaemonize, unwrapped ? callPackage ./runtime.nix {} }: 2 2 3 - buildFHSUserEnv { 3 + buildFHSUserEnv rec { 4 4 name = "houdini-${unwrapped.version}"; 5 5 6 6 targetPkgs = pkgs: with pkgs; [ 7 - libGLU libGL alsa-lib fontconfig zlib libpng dbus nss nspr expat pciutils libxkbcommon 7 + libGLU libGL alsa-lib fontconfig zlib libpng dbus nss nspr expat pciutils 8 + libxkbcommon libudev tbb 8 9 ] ++ (with xorg; [ 9 10 libICE libSM libXmu libXi libXext libX11 libXrender libXcursor libXfixes 10 11 libXrender libXcomposite libXdamage libXtst libxcb libXScrnSaver ··· 14 15 inherit unwrapped; 15 16 }; 16 17 17 - runScript = "${undaemonize}/bin/undaemonize ${unwrapped}/bin/houdini"; 18 + extraInstallCommands = let 19 + executables = [ "bin/houdini" "bin/hkey" "houdini/sbin/sesinetd" ]; 20 + in '' 21 + WRAPPER=$out/bin/${name} 22 + EXECUTABLES="${lib.concatStringsSep " " executables}" 23 + for executable in $EXECUTABLES; do 24 + mkdir -p $out/$(dirname $executable) 25 + 26 + echo "#!${stdenv.shell}" >> $out/$executable 27 + echo "$WRAPPER ${unwrapped}/$executable \$@" >> $out/$executable 28 + done 29 + 30 + cd $out 31 + chmod +x $EXECUTABLES 32 + ''; 33 + 34 + runScript = writeScript "${name}-wrapper" '' 35 + exec $@ 36 + ''; 18 37 }
+9 -11
pkgs/applications/misc/houdini/runtime.nix
··· 4 4 license_dir = "~/.config/houdini"; 5 5 in 6 6 stdenv.mkDerivation rec { 7 - version = "18.0.460"; 7 + version = "18.5.596"; 8 8 pname = "houdini-runtime"; 9 9 src = requireFile rec { 10 - #name = "houdini-py3-${version}-linux_x86_64_gcc6.3.tar.gz"; 11 - #sha256 = "10qp8nml1ivl0syh0iwzx3zdwdpilnwakax50wydcrzdzyxza7xw"; # 18.5.621 12 - #sha256 = "1b1k7rkn7svmciijqdwvi9p00srsf81vkb55grjg6xa7fgyidjx1"; # 18.5.596 13 - name = "houdini-${version}-linux_x86_64_gcc6.3.tar.gz"; 14 - sha256 = "18rbwszcks2zfn9zbax62rxmq50z9mc3h39b13jpd39qjqdd3jsd"; # 18.0.460 10 + name = "houdini-py3-${version}-linux_x86_64_gcc6.3.tar.gz"; 11 + sha256 = "1b1k7rkn7svmciijqdwvi9p00srsf81vkb55grjg6xa7fgyidjx1"; 15 12 url = meta.homepage; 16 13 }; 17 14 ··· 19 16 installPhase = '' 20 17 patchShebangs houdini.install 21 18 mkdir -p $out 22 - sed -i "s|/usr/lib/sesi|${license_dir}|g" houdini.install 23 19 ./houdini.install --install-houdini \ 20 + --install-license \ 24 21 --no-install-menus \ 25 22 --no-install-bin-symlink \ 26 23 --auto-install \ 27 24 --no-root-check \ 28 - --accept-EULA \ 25 + --accept-EULA 2020-05-05 \ 29 26 $out 30 - echo -e "localValidatorDir = ${license_dir}\nlicensingMode = localValidator" > $out/houdini/Licensing.opt 31 - sed -i "s|/usr/lib/sesi|${license_dir}|g" $out/houdini/sbin/sesinetd_safe 32 - sed -i "s|/usr/lib/sesi|${license_dir}|g" $out/houdini/sbin/sesinetd.startup 27 + echo "licensingMode = localValidator" >> $out/houdini/Licensing.opt 33 28 ''; 29 + 30 + dontFixup = true; 31 + 34 32 meta = with lib; { 35 33 description = "3D animation application software"; 36 34 homepage = "https://www.sidefx.com";