teamviewer: refactor executable wrapping

This centralizes `PATH` and `LD_LIBRARY_PATH`, avoid multiple
layers of wrappers.

Refactor as suggested by @Artturin in PR provided patch:
<https://github.com/NixOS/nixpkgs/pull/140076#issuecomment-934770391>.

+11 -11
+11 -11
pkgs/applications/networking/remote/teamviewer/default.nix
··· 72 --replace '/lib64/ld-linux-x86-64.so.2' '${glibc.out}/lib/ld-linux-x86-64.so.2' 73 substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_config \ 74 --replace '/var/run/' '/run/' 75 76 - wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer \ 77 - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 dbus ]}" 78 - wrapProgram $out/share/teamviewer/tv_bin/teamviewerd \ 79 - --prefix PATH : "${lib.makeBinPath [ getconf ]}" \ 80 - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 dbus ]}" 81 - wrapProgram $out/share/teamviewer/tv_bin/TeamViewer \ 82 - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 dbus ]}" 83 - wrapProgram $out/share/teamviewer/tv_bin/TeamViewer_Desktop \ 84 - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [libXrandr libX11 libXext libXdamage libXtst libSM libXfixes dbus ]}" 85 86 - wrapQtApp $out/share/teamviewer/tv_bin/script/teamviewer 87 - wrapQtApp $out/bin/teamviewer 88 ''; 89 90 dontStrip = true;
··· 72 --replace '/lib64/ld-linux-x86-64.so.2' '${glibc.out}/lib/ld-linux-x86-64.so.2' 73 substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_config \ 74 --replace '/var/run/' '/run/' 75 + ''; 76 77 + makeWrapperArgs = [ 78 + "--prefix PATH : ${lib.makeBinPath [ getconf ]}" 79 + "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libXrandr libX11 libXext libXdamage libXtst libSM libXfixes dbus ]}" 80 + ]; 81 82 + postFixup = '' 83 + wrapProgram $out/share/teamviewer/tv_bin/teamviewerd ''${makeWrapperArgs[@]} 84 + # tv_bin/script/teamviewer runs tvw_main which runs tv_bin/TeamViewer 85 + wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]} 86 + wrapProgram $out/share/teamviewer/tv_bin/teamviewer-config ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]} 87 + wrapProgram $out/share/teamviewer/tv_bin/TeamViewer_Desktop ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]} 88 ''; 89 90 dontStrip = true;