Merge pull request #140076 from jraygauthier/jrg/96633_fix-teamviewer-client-server-issue

teamviewer: fix #96633, #44307 and #97148 + 15.15.5 -> 15.18.5 -> 15.22.3

authored by

Arseniy Seroka and committed by
GitHub
cd53bf7a 34484494

+47 -16
+6 -3
nixos/modules/services/monitoring/teamviewer.nix
··· 24 24 25 25 environment.systemPackages = [ pkgs.teamviewer ]; 26 26 27 + services.dbus.packages = [ pkgs.teamviewer ]; 28 + 27 29 systemd.services.teamviewerd = { 28 30 description = "TeamViewer remote control daemon"; 29 31 30 32 wantedBy = [ "multi-user.target" ]; 31 - after = [ "NetworkManager-wait-online.service" "network.target" ]; 33 + after = [ "NetworkManager-wait-online.service" "network.target" "dbus.service" ]; 34 + requires = [ "dbus.service" ]; 32 35 preStart = "mkdir -pv /var/lib/teamviewer /var/log/teamviewer"; 33 36 34 37 startLimitIntervalSec = 60; 35 38 startLimitBurst = 10; 36 39 serviceConfig = { 37 - Type = "forking"; 38 - ExecStart = "${pkgs.teamviewer}/bin/teamviewerd -d"; 40 + Type = "simple"; 41 + ExecStart = "${pkgs.teamviewer}/bin/teamviewerd -f"; 39 42 PIDFile = "/run/teamviewerd.pid"; 40 43 ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; 41 44 Restart = "on-abort";
+40 -12
pkgs/applications/networking/remote/teamviewer/default.nix
··· 1 1 { mkDerivation, lib, fetchurl, autoPatchelfHook, makeWrapper, xdg-utils, dbus 2 - , qtbase, qtwebkit, qtx11extras, qtquickcontrols, glibc 3 - , libXrandr, libX11, libXext, libXdamage, libXtst, libSM, libXfixes 2 + , qtbase, qtwebkit, qtwebengine, qtx11extras, qtquickcontrols, getconf, glibc 3 + , libXrandr, libX11, libXext, libXdamage, libXtst, libSM, libXfixes, coreutils 4 4 , wrapQtAppsHook 5 5 }: 6 6 7 7 mkDerivation rec { 8 8 pname = "teamviewer"; 9 - version = "15.15.5"; 9 + version = "15.22.3"; 10 10 11 11 src = fetchurl { 12 12 url = "https://dl.tvcdn.de/download/linux/version_15x/teamviewer_${version}_amd64.deb"; 13 - sha256 = "sha256-H/CSc2RcjI+Fm8awYcXm3ioAJpbSNEMwGVrTozMux3A="; 13 + sha256 = "15fvzhdq7mnx2l2w4byvij8ww16qwdlkbadal60rm66yzv79mv9w"; 14 14 }; 15 15 16 16 unpackPhase = '' ··· 19 19 ''; 20 20 21 21 nativeBuildInputs = [ autoPatchelfHook makeWrapper wrapQtAppsHook ]; 22 - buildInputs = [ dbus qtbase qtwebkit qtx11extras libX11 ]; 22 + buildInputs = [ dbus getconf qtbase qtwebkit qtwebengine qtx11extras libX11 ]; 23 23 propagatedBuildInputs = [ qtquickcontrols ]; 24 24 25 25 installPhase = '' ··· 28 28 rm -R \ 29 29 $out/share/teamviewer/logfiles \ 30 30 $out/share/teamviewer/config \ 31 + $out/share/teamviewer/tv_bin/RTlib \ 31 32 $out/share/teamviewer/tv_bin/xdg-utils \ 32 33 $out/share/teamviewer/tv_bin/script/{teamviewer_setup,teamviewerd.sysv,teamviewerd.service,teamviewerd.*.conf,libdepend,tv-delayed-start.sh} 33 34 ··· 38 39 ln -s /var/log/teamviewer $out/share/teamviewer/logfiles 39 40 ln -s ${xdg-utils}/bin $out/share/teamviewer/tv_bin/xdg-utils 40 41 42 + declare in_script_dir="./opt/teamviewer/tv_bin/script" 43 + 44 + install -d "$out/share/dbus-1/services" 45 + install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.service" "$out/share/dbus-1/services" 46 + substituteInPlace "$out/share/dbus-1/services/com.teamviewer.TeamViewer.service" \ 47 + --replace '/opt/teamviewer/tv_bin/TeamViewer' \ 48 + "$out/share/teamviewer/tv_bin/TeamViewer" 49 + install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.Desktop.service" "$out/share/dbus-1/services" 50 + substituteInPlace "$out/share/dbus-1/services/com.teamviewer.TeamViewer.Desktop.service" \ 51 + --replace '/opt/teamviewer/tv_bin/TeamViewer_Desktop' \ 52 + "$out/share/teamviewer/tv_bin/TeamViewer_Desktop" 53 + 54 + install -d "$out/share/dbus-1/system.d" 55 + install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.Daemon.conf" "$out/share/dbus-1/system.d" 56 + 57 + install -d "$out/share/polkit-1/actions" 58 + install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.policy" "$out/share/polkit-1/actions" 59 + substituteInPlace "$out/share/polkit-1/actions/com.teamviewer.TeamViewer.policy" \ 60 + --replace '/opt/teamviewer/tv_bin/script/execscript' \ 61 + "$out/share/teamviewer/tv_bin/script/execscript" 62 + 41 63 for i in 16 20 24 32 48 256; do 42 64 size=$i"x"$i 43 65 ··· 51 73 --replace '/lib64/ld-linux-x86-64.so.2' '${glibc.out}/lib/ld-linux-x86-64.so.2' 52 74 substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_config \ 53 75 --replace '/var/run/' '/run/' 76 + ''; 54 77 55 - wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}" 56 - wrapProgram $out/share/teamviewer/tv_bin/teamviewerd --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}" 57 - wrapProgram $out/share/teamviewer/tv_bin/TeamViewer --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}" 58 - wrapProgram $out/share/teamviewer/tv_bin/TeamViewer_Desktop --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [libXrandr libX11 libXext libXdamage libXtst libSM libXfixes ]}" 78 + makeWrapperArgs = [ 79 + "--prefix PATH : ${lib.makeBinPath [ getconf coreutils ]}" 80 + "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libXrandr libX11 libXext libXdamage libXtst libSM libXfixes dbus ]}" 81 + ]; 59 82 60 - wrapQtApp $out/share/teamviewer/tv_bin/script/teamviewer 61 - wrapQtApp $out/bin/teamviewer 83 + postFixup = '' 84 + wrapProgram $out/share/teamviewer/tv_bin/teamviewerd ''${makeWrapperArgs[@]} 85 + # tv_bin/script/teamviewer runs tvw_main which runs tv_bin/TeamViewer 86 + wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]} 87 + wrapProgram $out/share/teamviewer/tv_bin/teamviewer-config ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]} 88 + wrapProgram $out/share/teamviewer/tv_bin/TeamViewer_Desktop ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]} 62 89 ''; 63 90 64 91 dontStrip = true; 92 + dontWrapQtApps = true; 65 93 preferLocalBuild = true; 66 94 67 95 meta = with lib; { ··· 69 97 license = licenses.unfree; 70 98 description = "Desktop sharing application, providing remote support and online meetings"; 71 99 platforms = [ "x86_64-linux" ]; 72 - maintainers = with maintainers; [ jagajaga dasuxullebt ]; 100 + maintainers = with maintainers; [ jagajaga dasuxullebt jraygauthier ]; 73 101 }; 74 102 }
+1 -1
pkgs/top-level/all-packages.nix
··· 9691 9691 9692 9692 ted = callPackage ../tools/typesetting/ted { }; 9693 9693 9694 - teamviewer = libsForQt514.callPackage ../applications/networking/remote/teamviewer { }; 9694 + teamviewer = libsForQt515.callPackage ../applications/networking/remote/teamviewer { }; 9695 9695 9696 9696 teleconsole = callPackage ../tools/misc/teleconsole { }; 9697 9697