From 6fb4874a07ee098489a035bee2325ba5a55def45 Mon Sep 17 00:00:00 2001 From: Kai Wohlfahrt Date: Sun, 27 Jun 2021 22:58:58 +0100 Subject: [PATCH] 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. --- pkgs/applications/misc/houdini/default.nix | 27 ++++++++++++++++++---- pkgs/applications/misc/houdini/runtime.nix | 20 ++++++++-------- 2 files changed, 32 insertions(+), 15 deletions(-) diff --git a/pkgs/applications/misc/houdini/default.nix b/pkgs/applications/misc/houdini/default.nix index e681854de07a..81a5eddaf6ed 100644 --- a/pkgs/applications/misc/houdini/default.nix +++ b/pkgs/applications/misc/houdini/default.nix @@ -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 $@ + ''; } diff --git a/pkgs/applications/misc/houdini/runtime.nix b/pkgs/applications/misc/houdini/runtime.nix index 452c763338f2..4fb2d91b99f4 100644 --- a/pkgs/applications/misc/houdini/runtime.nix +++ b/pkgs/applications/misc/houdini/runtime.nix @@ -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";