steamtinkerlaunch: don't wrap in order to preserve $0
Fixes https://github.com/NixOS/nixpkgs/issues/295902
This commit is contained in:
parent
bc947f541a
commit
309fcf6eeb
@ -3,7 +3,6 @@
|
||||
, gawk
|
||||
, git
|
||||
, lib
|
||||
, makeWrapper
|
||||
, procps
|
||||
, stdenvNoCC
|
||||
, unixtools
|
||||
@ -12,6 +11,7 @@
|
||||
, xdotool
|
||||
, xorg
|
||||
, yad
|
||||
, writeShellApplication
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
@ -25,31 +25,39 @@ 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 [
|
||||
bash
|
||||
gawk
|
||||
git
|
||||
procps
|
||||
unixtools.xxd
|
||||
unzip
|
||||
wget
|
||||
xdotool
|
||||
xorg.xprop
|
||||
xorg.xrandr
|
||||
xorg.xwininfo
|
||||
yad
|
||||
]}
|
||||
'';
|
||||
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
|
||||
procps
|
||||
unixtools.xxd
|
||||
unzip
|
||||
wget
|
||||
xdotool
|
||||
xorg.xprop
|
||||
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; {
|
||||
description = "Linux wrapper tool for use with the Steam client for custom launch options and 3rd party programs";
|
||||
|
Loading…
Reference in New Issue
Block a user