Merge pull request #131349 from kwohlfahrt/houdini-18.5

houdini: 18.0 -> 18.5
This commit is contained in:
Anderson Torres 2021-08-30 20:21:38 -03:00 committed by GitHub
commit 14e8688309
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 44 additions and 73 deletions

View File

@ -1,18 +1,37 @@
{ callPackage, buildFHSUserEnv, undaemonize, unwrapped ? callPackage ./runtime.nix {} }:
{ lib, stdenv, writeScript, callPackage, buildFHSUserEnv, undaemonize, unwrapped ? callPackage ./runtime.nix {} }:
let
houdini-runtime = callPackage ./runtime.nix { };
in buildFHSUserEnv {
name = "houdini-${houdini-runtime.version}";
buildFHSUserEnv rec {
name = "houdini-${unwrapped.version}";
extraBuildCommands = ''
mkdir -p $out/usr/lib/sesi
'';
targetPkgs = pkgs: with pkgs; [
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
]);
passthru = {
unwrapped = houdini-runtime;
inherit unwrapped;
};
runScript = "${undaemonize}/bin/undaemonize ${houdini-runtime}/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

@ -1,50 +1,14 @@
{ lib, stdenv, requireFile, zlib, libpng, libSM, libICE, fontconfig, xorg, libGLU, libGL, alsa-lib
, dbus, xkeyboardconfig, nss, nspr, expat, pciutils, libxkbcommon, bc, addOpenGLRunpath
}:
{ lib, stdenv, requireFile, bc }:
let
# NOTE: Some dependencies only show in errors when run with QT_DEBUG_PLUGINS=1
ld_library_path = builtins.concatStringsSep ":" [
"${stdenv.cc.cc.lib}/lib64"
(lib.makeLibraryPath [
libGLU
libGL
xorg.libXmu
xorg.libXi
xorg.libXext
xorg.libX11
xorg.libXrender
xorg.libXcursor
xorg.libXfixes
xorg.libXrender
xorg.libXcomposite
xorg.libXdamage
xorg.libXtst
xorg.libxcb
xorg.libXScrnSaver
alsa-lib
fontconfig
libSM
libICE
zlib
libpng
dbus
addOpenGLRunpath.driverLink
nss
nspr
expat
pciutils
libxkbcommon
])
];
license_dir = "~/.config/houdini";
in
stdenv.mkDerivation rec {
version = "18.0.460";
version = "18.5.596";
pname = "houdini-runtime";
src = requireFile rec {
name = "houdini-${version}-linux_x86_64_gcc6.3.tar.gz";
sha256 = "18rbwszcks2zfn9zbax62rxmq50z9mc3h39b13jpd39qjqdd3jsd";
name = "houdini-py3-${version}-linux_x86_64_gcc6.3.tar.gz";
sha256 = "1b1k7rkn7svmciijqdwvi9p00srsf81vkb55grjg6xa7fgyidjx1";
url = meta.homepage;
};
@ -52,37 +16,25 @@ 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 "export LD_LIBRARY_PATH=${ld_library_path}" >> $out/bin/app_init.sh
echo "export QT_XKB_CONFIG_ROOT="${xkeyboardconfig}/share/X11/xkb"" >> $out/bin/app_init.sh
echo "export LD_LIBRARY_PATH=${ld_library_path}" >> $out/houdini/sbin/app_init.sh
echo "export QT_XKB_CONFIG_ROOT="${xkeyboardconfig}/share/X11/xkb"" >> $out/houdini/sbin/app_init.sh
echo "licensingMode = localValidator" >> $out/houdini/Licensing.opt
'';
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 = {
dontFixup = true;
meta = with lib; {
description = "3D animation application software";
homepage = "https://www.sidefx.com";
license = lib.licenses.unfree;
platforms = lib.platforms.linux;
license = licenses.unfree;
platforms = platforms.linux;
hydraPlatforms = [ ]; # requireFile src's should be excluded
maintainers = with lib.maintainers; [ canndrew kwohlfahrt ];
maintainers = with maintainers; [ canndrew kwohlfahrt ];
};
}