gpclient: add gio-networking for embedded browser

Without this, login with the non-external browser results in:

> 2024-10-10T06:15:23Z WARN  gpauth::auth_window] Failed to load uri: <uri> with error: TLS/SSL support not available; install glib-networking

The login flow seems to work after adding glib-networking to
GIO_EXTRA_MODULES by wrapping the `gpclient` program.
This commit is contained in:
Markus Hauck 2024-10-10 08:32:28 +02:00
parent b69de56fac
commit 042afa604c

View File

@ -1,6 +1,8 @@
{
rustPlatform,
glib-networking,
gpauth,
makeWrapper,
openconnect,
openssl,
perl,
@ -15,11 +17,15 @@ rustPlatform.buildRustPackage rec {
buildAndTestSubdir = "apps/gpclient";
cargoHash = "sha256-aJYFBvVrj1n2+9WLLBH5WTRRzTle19LsdJ2DielJYik=";
nativeBuildInputs = [ perl ];
nativeBuildInputs = [
perl
makeWrapper
];
buildInputs = [
gpauth
openconnect
openssl
glib-networking
];
preConfigure = ''
@ -34,6 +40,11 @@ rustPlatform.buildRustPackage rec {
cp packaging/files/usr/share/applications/gpgui.desktop $out/share/applications/gpgui.desktop
'';
preFixup = ''
wrapProgram "$out/bin/gpclient" \
--prefix GIO_EXTRA_MODULES : ${glib-networking}/lib/gio/modules
'';
postFixup = ''
substituteInPlace $out/share/applications/gpgui.desktop \
--replace-fail /usr/bin/gpclient $out/bin/gpclient