From 3725e26fda7a82d0eebce21fc48097dae695e824 Mon Sep 17 00:00:00 2001 From: Mariappan Ramasamy <1221719+nappairam@users.noreply.github.com> Date: Fri, 19 Jun 2026 18:47:02 +0800 Subject: [PATCH] gpclient: restore gpgui.desktop for globalprotectcallback scheme handler PR #485779 dropped the gpgui.desktop install, reasoning that all gpgui files require the proprietary gpgui binary. But the desktop file is not gpgui-only: its Exec is `gpclient launch-gui %u`, the free CLI subcommand that receives the SAML auth callback. Without it the x-scheme-handler/globalprotectcallback handler is unregistered, so external-browser SSO (`gpclient connect --browser `) hangs after login - the browser opens globalprotectcallback:// with nothing to handle it, and the auth cookie never returns to the waiting connect process. Reinstall the desktop file on Linux and point Exec at the gpclient in $out, matching the pre-2.5.1 behaviour. (cherry picked from commit 4d50d7d087122315b7c34a89bf05ef29e667f174) --- pkgs/by-name/gp/gpclient/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/gp/gpclient/package.nix b/pkgs/by-name/gp/gpclient/package.nix index bdd6c40375ac..7ffe3c37707d 100644 --- a/pkgs/by-name/gp/gpclient/package.nix +++ b/pkgs/by-name/gp/gpclient/package.nix @@ -86,6 +86,11 @@ rustPlatform.buildRustPackage { cp -r packaging/files/usr/lib $out/lib substituteInPlace $out/lib/NetworkManager/dispatcher.d/pre-down.d/gpclient.down \ --replace-fail /usr/bin/gpclient $out/bin/gpclient + + install -Dm644 packaging/files/usr/share/applications/gpgui.desktop \ + $out/share/applications/gpgui.desktop + substituteInPlace $out/share/applications/gpgui.desktop \ + --replace-fail /usr/bin/gpclient $out/bin/gpclient ''; postFixup = ''