Commit 309fcf6e authored by Atemu's avatar Atemu
Browse files

steamtinkerlaunch: don't wrap in order to preserve $0

parent bc947f54
Loading
Loading
Loading
Loading
+32 −24
Original line number Diff line number Diff line
@@ -3,7 +3,6 @@
, gawk
, git
, lib
, makeWrapper
, procps
, stdenvNoCC
, unixtools
@@ -12,6 +11,7 @@
, xdotool
, xorg
, yad
, writeShellApplication
}:

stdenvNoCC.mkDerivation {
@@ -25,17 +25,16 @@ stdenvNoCC.mkDerivation {
    hash = "sha256-CGtSGAm+52t2zFsPJEsm76w+FEHhbOd9NYuerGa31tc=";
  };

  # hardcode PROGCMD because #150841
  postPatch = ''
    substituteInPlace steamtinkerlaunch --replace 'PROGCMD="''${0##*/}"' 'PROGCMD="steamtinkerlaunch"'
  '';

  nativeBuildInputs = [ makeWrapper ];

  installFlags = [ "PREFIX=\${out}" ];

  postInstall = ''
    wrapProgram $out/bin/steamtinkerlaunch --prefix PATH : ${lib.makeBinPath [
  postInstall =
    let
      # We (ab)use writeShellApplication to produce a header for a shell script
      # here in order to add the runtimePath to the original script. We cannot
      # wrap here as that always corrupts $0 in bash scripts which STL uses to
      # install its compat tool.
      header = writeShellApplication {
        runtimeInputs = [
          bash
          gawk
          git
@@ -48,7 +47,16 @@ stdenvNoCC.mkDerivation {
          xorg.xrandr
          xorg.xwininfo
          yad
    ]}
        ];
        name = "stl-head";
        text = "";
        bashOptions = [ ];
      };
    in
    ''
      cp $out/bin/steamtinkerlaunch $TMPDIR/steamtinkerlaunch
      install ${lib.getExe header} -T $out/bin/steamtinkerlaunch
      tail -n +2 $TMPDIR/steamtinkerlaunch >> $out/bin/steamtinkerlaunch
    '';

  meta = with lib; {