mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-05 13:23:17 +00:00
042afa604c
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.
53 lines
1.1 KiB
Nix
53 lines
1.1 KiB
Nix
{
|
|
rustPlatform,
|
|
glib-networking,
|
|
gpauth,
|
|
makeWrapper,
|
|
openconnect,
|
|
openssl,
|
|
perl,
|
|
vpnc-scripts,
|
|
}:
|
|
|
|
rustPlatform.buildRustPackage rec {
|
|
pname = "gpclient";
|
|
|
|
inherit (gpauth) version src meta;
|
|
|
|
buildAndTestSubdir = "apps/gpclient";
|
|
cargoHash = "sha256-aJYFBvVrj1n2+9WLLBH5WTRRzTle19LsdJ2DielJYik=";
|
|
|
|
nativeBuildInputs = [
|
|
perl
|
|
makeWrapper
|
|
];
|
|
buildInputs = [
|
|
gpauth
|
|
openconnect
|
|
openssl
|
|
glib-networking
|
|
];
|
|
|
|
preConfigure = ''
|
|
substituteInPlace crates/gpapi/src/lib.rs \
|
|
--replace-fail /usr/bin/gpauth ${gpauth}/bin/gpauth
|
|
substituteInPlace crates/common/src/vpn_utils.rs \
|
|
--replace-fail /usr/sbin/vpnc-script ${vpnc-scripts}/bin/vpnc-script
|
|
'';
|
|
|
|
postInstall = ''
|
|
mkdir -p $out/share/applications
|
|
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
|
|
'';
|
|
}
|