Skip to content

Commit

Permalink
teamviewer: refactor executable wrapping
Browse files Browse the repository at this point in the history
This centralizes `PATH` and `LD_LIBRARY_PATH`, avoid multiple
layers of wrappers.

Refactor as suggested by @Artturin in PR provided patch:
<NixOS#140076 (comment)>.
  • Loading branch information
jraygauthier committed Oct 12, 2021
1 parent af3108c commit fa418cd
Showing 1 changed file with 12 additions and 12 deletions.
24 changes: 12 additions & 12 deletions pkgs/applications/networking/remote/teamviewer/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -72,19 +72,19 @@ mkDerivation rec {
--replace '/lib64/ld-linux-x86-64.so.2' '${glibc.out}/lib/ld-linux-x86-64.so.2'
substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_config \
--replace '/var/run/' '/run/'
'';

wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 dbus ]}"
wrapProgram $out/share/teamviewer/tv_bin/teamviewerd \
--prefix PATH : "${lib.makeBinPath [ getconf ]}" \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 dbus ]}"
wrapProgram $out/share/teamviewer/tv_bin/TeamViewer \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 dbus ]}"
wrapProgram $out/share/teamviewer/tv_bin/TeamViewer_Desktop \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [libXrandr libX11 libXext libXdamage libXtst libSM libXfixes dbus ]}"
wrapQtApp $out/share/teamviewer/tv_bin/script/teamviewer
wrapQtApp $out/bin/teamviewer
makeWrapperArgs = [
"--prefix PATH : ${lib.makeBinPath [ getconf ]}"
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libXrandr libX11 libXext libXdamage libXtst libSM libXfixes dbus ]}"
];

postFixup = ''
wrapProgram $out/share/teamviewer/tv_bin/teamviewerd ''${makeWrapperArgs[@]}
# tv_bin/script/teamviewer runs tvw_main which runs tv_bin/TeamViewer
wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]}
wrapProgram $out/share/teamviewer/tv_bin/teamviewer-config ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]}
wrapProgram $out/share/teamviewer/tv_bin/TeamViewer_Desktop ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]}
'';

dontStrip = true;
Expand Down

0 comments on commit fa418cd

Please sign in to comment.