diff --git a/pkgs/applications/misc/houdini/default.nix b/pkgs/applications/misc/houdini/default.nix index 9c560b7f8313..131cd28764ec 100644 --- a/pkgs/applications/misc/houdini/default.nix +++ b/pkgs/applications/misc/houdini/default.nix @@ -3,12 +3,59 @@ buildFHSEnv rec { name = "houdini-${unwrapped.version}"; + # houdini spawns hserver (and other license tools) that is supposed to live beyond the lifespan of houdini process + dieWithParent = false; + + # houdini needs to communicate with hserver process that it seem to be checking to be present in running processes + unsharePid = false; + targetPkgs = pkgs: with pkgs; [ - libGLU libGL alsa-lib fontconfig zlib libpng dbus nss nspr expat pciutils - libxkbcommon libudev0-shim tbb + libGLU + libGL + alsa-lib + fontconfig + zlib + libpng + dbus + nss + nspr + expat + pciutils + libxkbcommon + libudev0-shim + tbb + xwayland + qt5.qtwayland + nettools # needed by licensing tools + bintools # needed for ld and other tools, so ctypes can find/load sos from python + ocl-icd # needed for opencl + numactl # needed by hfs ocl backend + ncurses5 # needed by hfs ocl backend ] ++ (with xorg; [ - libICE libSM libXmu libXi libXext libX11 libXrender libXcursor libXfixes - libXrender libXcomposite libXdamage libXtst libxcb libXScrnSaver + libICE + libSM + libXmu + libXi + libXt + libXext + libX11 + libXrender + libXcursor + libXfixes + libXrender + libXcomposite + libXdamage + libXtst + libxcb + libXScrnSaver + libXrandr + libxcb + xcbutil + xcbutilimage + xcbutilrenderutil + xcbutilcursor + xcbutilkeysyms + xcbutilwm ]); passthru = { @@ -16,7 +63,16 @@ buildFHSEnv rec { }; extraInstallCommands = let - executables = [ "bin/houdini" "bin/hkey" "houdini/sbin/sesinetd" ]; + executables = [ + "bin/houdini" # houdini flavours + "bin/houdinicore" + "bin/houdinifx" + "bin/hgpuinfo" # houdini ocl config tool + "bin/hotl" # hda/otl manipulation tool + "bin/hython" # hython + "bin/hkey" # license administration + "houdini/sbin/sesinetd" + ]; in '' WRAPPER=$out/bin/${name} EXECUTABLES="${lib.concatStringsSep " " executables}" @@ -31,6 +87,11 @@ buildFHSEnv rec { chmod +x $EXECUTABLES ''; + extraBwrapArgs = [ + "--ro-bind-try /run/opengl-driver/etc/OpenCL/vendors /etc/OpenCL/vendors" # this is the case of NixOS + "--ro-bind-try /etc/OpenCL/vendors /etc/OpenCL/vendors" # this is the case of not NixOS + ]; + runScript = writeScript "${name}-wrapper" '' exec $@ ''; diff --git a/pkgs/applications/misc/houdini/runtime.nix b/pkgs/applications/misc/houdini/runtime.nix index 4fb2d91b99f4..2f218781abb6 100644 --- a/pkgs/applications/misc/houdini/runtime.nix +++ b/pkgs/applications/misc/houdini/runtime.nix @@ -4,11 +4,11 @@ let license_dir = "~/.config/houdini"; in stdenv.mkDerivation rec { - version = "18.5.596"; + version = "19.5.569"; pname = "houdini-runtime"; src = requireFile rec { - name = "houdini-py3-${version}-linux_x86_64_gcc6.3.tar.gz"; - sha256 = "1b1k7rkn7svmciijqdwvi9p00srsf81vkb55grjg6xa7fgyidjx1"; + name = "houdini-${version}-linux_x86_64_gcc9.3.tar.gz"; + sha256 = "0c2d6a31c24f5e7229498af6c3a7cdf81242501d7a0792e4c33b53a898d4999e"; url = meta.homepage; }; @@ -22,9 +22,9 @@ stdenv.mkDerivation rec { --no-install-bin-symlink \ --auto-install \ --no-root-check \ - --accept-EULA 2020-05-05 \ + --accept-EULA 2021-10-13 \ $out - echo "licensingMode = localValidator" >> $out/houdini/Licensing.opt + echo "licensingMode = localValidator" >> $out/houdini/Licensing.opt # does not seem to do anything any more. not sure, official docs do not say anything about it ''; dontFixup = true;