diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/misc/houdini/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/misc/houdini/default.nix | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/nixpkgs/pkgs/applications/misc/houdini/default.nix b/nixpkgs/pkgs/applications/misc/houdini/default.nix index db06efd6a2a2..f55752a22923 100644 --- a/nixpkgs/pkgs/applications/misc/houdini/default.nix +++ b/nixpkgs/pkgs/applications/misc/houdini/default.nix @@ -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 libudev0-shim 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 $@ + ''; +} |