From a614681c9152cbb65648d5352907211f00254989 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 28 Dec 2025 18:01:37 +0000 Subject: [PATCH 1/6] gpclient: 2.5.0 -> 2.5.1 --- pkgs/by-name/gp/gpauth/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gp/gpauth/package.nix b/pkgs/by-name/gp/gpauth/package.nix index 37f4afd5aa29..0ebd8cb93433 100644 --- a/pkgs/by-name/gp/gpauth/package.nix +++ b/pkgs/by-name/gp/gpauth/package.nix @@ -12,19 +12,19 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "gpauth"; - version = "2.5.0"; + version = "2.5.1"; src = fetchFromGitHub { owner = "yuezk"; repo = "GlobalProtect-openconnect"; tag = "v${finalAttrs.version}"; - hash = "sha256-dxRqf5iOlgJegeAqtTwoVqNHXU3eOse5eMYFknhAh2M="; + hash = "sha256-rux2rToqs5GZEDTryPAkm62yGdhWfEqapTMQOGyqCRI="; fetchSubmodules = true; }; buildAndTestSubdir = "apps/gpauth"; - cargoHash = "sha256-VkDq98Y6uBSal7m4V9vjW1XermOPOWulo3Jo34QFRsA="; + cargoHash = "sha256-xza7AfuOcSUkDyliGHUx9bEd+M94d23xVrVVvZo2nas="; nativeBuildInputs = [ perl From 39a0975daf894ddf11c1e71e58b85a94aa68e878 Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Sat, 31 Jan 2026 16:20:59 -0500 Subject: [PATCH 2/6] gpclient: use postFixup instead of preFixup --- pkgs/by-name/gp/gpclient/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/gp/gpclient/package.nix b/pkgs/by-name/gp/gpclient/package.nix index 14c334bb4a5e..815ae56486fc 100644 --- a/pkgs/by-name/gp/gpclient/package.nix +++ b/pkgs/by-name/gp/gpclient/package.nix @@ -76,7 +76,7 @@ rustPlatform.buildRustPackage { cp packaging/files/usr/share/applications/gpgui.desktop $out/share/applications/gpgui.desktop ''; - preFixup = '' + postFixup = '' wrapProgram "$out/bin/gpclient" \ --prefix GIO_EXTRA_MODULES : ${glib-networking}/lib/gio/modules ''; From 6f76e5c7d2418fbdfbbe99192dd31732996177a4 Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Sat, 31 Jan 2026 16:14:44 -0500 Subject: [PATCH 3/6] gpclient: adopt postPatch and postInstall from upstream flake Note that all gpgui related files are dropped because they require an external proprietary gpgui binary that we don't package. --- pkgs/by-name/gp/gpclient/package.nix | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/gp/gpclient/package.nix b/pkgs/by-name/gp/gpclient/package.nix index 815ae56486fc..9a47df29ac9d 100644 --- a/pkgs/by-name/gp/gpclient/package.nix +++ b/pkgs/by-name/gp/gpclient/package.nix @@ -63,17 +63,27 @@ rustPlatform.buildRustPackage { ]; postPatch = '' - substituteInPlace crates/common/src/constants.rs \ - --replace-fail /usr/bin/gpauth ${gpauth}/bin/gpauth substituteInPlace crates/openconnect/src/vpn_utils.rs \ - --replace-fail /usr/sbin/vpnc-script ${vpnc-scripts}/bin/vpnc-script - substituteInPlace packaging/files/usr/share/applications/gpgui.desktop \ - --replace-fail /usr/bin/gpclient gpclient + --replace-fail /etc/vpnc/vpnc-script ${vpnc-scripts}/bin/vpnc-script \ + --replace-fail /usr/libexec/gpclient/hipreport.sh $out/libexec/gpclient/hipreport.sh + + substituteInPlace crates/common/src/constants.rs \ + --replace-fail /usr/bin/gpclient $out/bin/gpclient \ + --replace-fail /usr/bin/gpservice $out/bin/gpservice \ + --replace-fail /usr/bin/gpauth ${gpauth}/bin/gpauth \ + --replace-fail /opt/homebrew/ $out/ ''; - postInstall = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - mkdir -p $out/share/applications - cp packaging/files/usr/share/applications/gpgui.desktop $out/share/applications/gpgui.desktop + postInstall = '' + cp -r packaging/files/usr/libexec $out/libexec + + substituteInPlace $out/libexec/gpclient/hipreport.sh \ + --replace-fail /usr/bin/gpclient $out/bin/gpclient + '' + + lib.optionalString stdenv.hostPlatform.isLinux '' + 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 ''; postFixup = '' From 88decd13caabf38c27733c0c1a03d37770e30d7e Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Sat, 31 Jan 2026 16:47:17 -0500 Subject: [PATCH 4/6] gpclient: avoid unnecessary dependencies on darwin --- pkgs/by-name/gp/gpclient/package.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/gp/gpclient/package.nix b/pkgs/by-name/gp/gpclient/package.nix index 9a47df29ac9d..17aa124679e1 100644 --- a/pkgs/by-name/gp/gpclient/package.nix +++ b/pkgs/by-name/gp/gpclient/package.nix @@ -50,16 +50,18 @@ rustPlatform.buildRustPackage { openssl glib-networking glib - pango - cairo - atk - gtk3 # used for vendored openconnect + gnutls libxml2 lz4 p11-kit - gnutls + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + atk + cairo + gtk3 + pango ]; postPatch = '' From 44915d8213bad6b1b015643419ae1abdea52a794 Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Sat, 31 Jan 2026 16:52:44 -0500 Subject: [PATCH 5/6] gpclient: use makeBinaryWrapper --- pkgs/by-name/gp/gpclient/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gp/gpclient/package.nix b/pkgs/by-name/gp/gpclient/package.nix index 17aa124679e1..8d9324b538e0 100644 --- a/pkgs/by-name/gp/gpclient/package.nix +++ b/pkgs/by-name/gp/gpclient/package.nix @@ -4,7 +4,7 @@ glib-networking, stdenv, gpauth, - makeWrapper, + makeBinaryWrapper, autoconf, automake, libtool, @@ -37,7 +37,7 @@ rustPlatform.buildRustPackage { nativeBuildInputs = [ perl - makeWrapper + makeBinaryWrapper pkg-config # used to build vendored openconnect From 423aa922019e990ffc8788e45a767881d88f3ea8 Mon Sep 17 00:00:00 2001 From: Ihar Hrachyshka Date: Sat, 31 Jan 2026 16:53:32 -0500 Subject: [PATCH 6/6] gpclient: sort arguments and variables --- pkgs/by-name/gp/gpclient/package.nix | 34 ++++++++++++++-------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/pkgs/by-name/gp/gpclient/package.nix b/pkgs/by-name/gp/gpclient/package.nix index 8d9324b538e0..bdd6c40375ac 100644 --- a/pkgs/by-name/gp/gpclient/package.nix +++ b/pkgs/by-name/gp/gpclient/package.nix @@ -1,43 +1,43 @@ { lib, rustPlatform, - glib-networking, stdenv, - gpauth, - makeBinaryWrapper, + atk, autoconf, automake, + cairo, + glib, + glib-networking, + gnutls, + gpauth, + gtk3, libtool, + libxml2, + lz4, + makeBinaryWrapper, openssl, + p11-kit, + pango, perl, pkg-config, vpnc-scripts, - glib, - pango, - cairo, - atk, - gtk3, - libxml2, - p11-kit, - lz4, - gnutls, }: rustPlatform.buildRustPackage { pname = "gpclient"; inherit (gpauth) - src - version cargoHash meta + src + version ; buildAndTestSubdir = "apps/gpclient"; nativeBuildInputs = [ - perl makeBinaryWrapper + perl pkg-config # used to build vendored openconnect @@ -46,10 +46,10 @@ rustPlatform.buildRustPackage { libtool ]; buildInputs = [ + glib + glib-networking gpauth openssl - glib-networking - glib # used for vendored openconnect gnutls