Change:
Using teamviewer with I can not connect to remote hosts. The connection is established, but the window does not appear. If i try to connect to the same host again, I receive the message that I already have a connection open. TeamViewer is working as expected on EndeavourOS. Steps to reproduce the behavior: TeamViewer to any host for password appears for connected host does not appear to the same host again "you are already connected" appears the host computer it says that Im connected It seems like its the same bug as I also get the same errors in my log file <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
please try the linked PR and report back if this solved your issue. Thanks
I can confirm that it work!!! :partyingface: Thanks for the fast reply :)) However, I'm now getting a commercial use restriction ! I dont know if this has anything to do with nixpkgs or if its just because I tried to connect many times now. On the teamviewer website I have requested to remove my restriction lets see how it goes ;)
yay! I am pretty sure this is independent of NixOS. I had this in the past as well (independent of NixOS). I don't know how teamviewer tries to detect commercial use. But glad to here it works!
I would really like to learn more about packaging programs for nixpkgs so I can contribute more myself. Do you have any recommendations on how to learn the different options for mkDerivation, the different phases, wrapping programs and libraries, etc.? I feel like the documentation is basically non-existend. If anything comes to mind (including workshops, etc.) feel free to just send me an email (this issue is probably the wrong place to discuss this)
Hi awesome! I'm just gonna answer you here for anyone who is also interested: There is a handbook () which has a whole chapter about contributing to There is which helps a lot (just search for it or ask a question there) It helped me a lot to look at how other packages are packed. Just clone and look at how similar services or programs are packaged There is a matrix Generally just start small. Find some nixpkgs which you'd like to see upgraded and update the version and hash and build it locally in your nixpkgs repo and submit a pull request ;-) If you still have trouble, just ask again on discourse (Im there, too) and we'll go from there :+1:

Discussion:
, makeWrapper , xdg-utils , dbus <del> , qtbase , qtwebengine , qtx11extras , qtquickcontrols2 , qtgraphicaleffects </del> , getconf , glibc , libXrandr

, coreutils , wrapQtAppsHook , icu63 <ins> , nss , minizip </ins> }: mkDerivation rec { pname = "teamviewer"; # teamviewer itself has not development files but the dev output removes propagated other dev outputs from runtime outputs = [ "out" "dev" ]; <del> version = "15.49.2"; </del> <ins> version = "15.54.3"; </ins> src = let

{ x86_64-linux = fetchurl { url = "${base_url}/teamviewer_${version}_amd64.deb"; <del> sha256 = "sha256-Ag41RQD4lp4Sxuz6wZwiFzVxUalV+M3Zwa2Cug4iNSM="; </del> <ins> hash = "sha256-41zVX2svomcRKu2ow1A/EeKojBIpABO4o2EZxappzgo="; </ins> }; aarch64-linux = fetchurl { url = "${base_url}/teamviewer_${version}_arm64.deb"; <del> sha256 = "sha256-JGSmFq4q8TQJVIrS6qQxIxZPNKgor+pFetextLJPHtg="; </del> <ins> hash = "sha256-wuQYWeYgXW54/5dpiGzJxZ9JZDlUgFgCKq8Z4xV2HlI="; </ins> }; }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");

''; nativeBuildInputs = [ autoPatchelfHook makeWrapper wrapQtAppsHook ]; <del> buildInputs = [ qtbase qtwebengine qtx11extras qtquickcontrols2 qtgraphicaleffects icu63 ]; </del> <ins> buildInputs = [ minizip icu63 nss ]; </ins> installPhase = '' mkdir -p $out/share/teamviewer $out/bin $out/share/applications

rm -R  $out/share/teamviewer/logfiles  $out/share/teamviewer/config  <del> $out/share/teamviewer/tv_bin/xdg-utils  </del> $out/share/teamviewer/tv_bin/script/{teamviewer_setup,teamviewerd.sysv,teamviewerd.service,teamviewerd.*.conf,tv-delayed-start.sh} <del> # Teamviewer packages its own qt library files. # Most of them can be replaced by nixpkgs libraries, but the following need to be used beginning at version 15.35.7 # because teamviewer will not start without them, either stalling at startup or even segfaulting. In the logfiles, some missing qt libraries # can be observed, although they are present from nixpkgs. AutoPatchelfHook will automatically choose the included libraries, if present. # See https://github.com/NixOS/nixpkgs/pull/202024 # delete all library files except "qt" folder find $out/share/teamviewer/tv_bin/RTlib -depth  -maxdepth 1 ! -type d -execdir rm -rf {} + # remove all other folders except "qml" and "plugins" from the qml directory find $out/share/teamviewer/tv_bin/RTlib/qt -depth -maxdepth 1 -mindepth 1 -type d ! ( -name "qml" -o -name "plugins" ) -execdir rm -rf {} + # keep "QtQuick" and "QtQuick.2" directory find $out/share/teamviewer/tv_bin/RTlib/qt/qml -depth -maxdepth 1 -mindepth 1 -type d ! ( -name "QtQuick" -o -name "QtQuick.2" ) -execdir rm -rf {} + # delete all folders except "platforms" from the plugins directory # it contains libqxcb.so from qtbase which seems to be incompatible with our nixpkgs version find $out/share/teamviewer/tv_bin/RTlib/qt/plugins -depth -maxdepth 1 -mindepth 1 -type d ! -name "platforms" -execdir rm -rf {} + </del> <ins> # Teamviewer packages its own qt library files. So do not use nixpkgs qt files. These will cause issues # See https://github.com/NixOS/nixpkgs/issues/321333 </ins> ln -s $out/share/teamviewer/tv_bin/script/teamviewer $out/bin ln -s $out/share/teamviewer/tv_bin/teamviewerd $out/bin

install -d "$out/share/dbus-1/services" install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.service" "$out/share/dbus-1/services" substituteInPlace "$out/share/dbus-1/services/com.teamviewer.TeamViewer.service"  <del> --replace '/opt/teamviewer/tv_bin/TeamViewer'  </del> <ins> --replace-fail '/opt/teamviewer/tv_bin/TeamViewer'  </ins> "$out/share/teamviewer/tv_bin/TeamViewer" install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.Desktop.service" "$out/share/dbus-1/services" substituteInPlace "$out/share/dbus-1/services/com.teamviewer.TeamViewer.Desktop.service"  <del> --replace '/opt/teamviewer/tv_bin/TeamViewer_Desktop'  </del> <ins> --replace-fail '/opt/teamviewer/tv_bin/TeamViewer_Desktop'  </ins> "$out/share/teamviewer/tv_bin/TeamViewer_Desktop" install -d "$out/share/dbus-1/system.d"