{ stdenv, lib, fetchFromGitHub , cmake, qtwebsockets, qtwebengine, wrapQtAppsHook, openconnect }: stdenv.mkDerivation rec { pname = "globalprotect-openconnect"; version = "1.3.4"; src = fetchFromGitHub { owner = "yuezk"; repo = "GlobalProtect-openconnect"; fetchSubmodules = true; rev = "v${version}"; sha256 = "sha256-w2y6DOFgQ8Xpi1abibvRNpEUbBsdvwDMGqlJxQSCpVg="; }; nativeBuildInputs = [ cmake wrapQtAppsHook ]; buildInputs = [ openconnect qtwebsockets qtwebengine ]; patchPhase = '' substituteInPlace GPService/gpservice.h \ --replace /usr/local/bin/openconnect ${openconnect}/bin/openconnect; ''; meta = with lib; { description = "GlobalProtect VPN client (GUI) for Linux based on OpenConnect that supports SAML auth mode"; homepage = "https://github.com/yuezk/GlobalProtect-openconnect"; license = licenses.gpl3Only; maintainers = [ maintainers.jerith666 ]; platforms = platforms.linux; }; }