summary refs log tree commit diff
path: root/pkgs/applications/misc/houdini/default.nix
blob: b9f78afda4bb3b96b44a0c1a8f0b583be923df03 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{ lib, stdenv, writeScript, callPackage, buildFHSUserEnv, unwrapped ? callPackage ./runtime.nix {} }:

buildFHSUserEnv rec {
  name = "houdini-${unwrapped.version}";

  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 = {
    inherit unwrapped;
  };

  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 $@
  '';
}