diff --git a/pkgs/by-name/ku/kubevpn/package.nix b/pkgs/by-name/ku/kubevpn/package.nix index 9faec05431a4..25637f2dd3b9 100644 --- a/pkgs/by-name/ku/kubevpn/package.nix +++ b/pkgs/by-name/ku/kubevpn/package.nix @@ -2,27 +2,54 @@ lib, buildGoModule, fetchFromGitHub, + go, }: buildGoModule rec { pname = "kubevpn"; - version = "2.2.10"; + version = "2.3.9"; src = fetchFromGitHub { owner = "KubeNetworks"; repo = "kubevpn"; rev = "v${version}"; - hash = "sha256-2LDV2aVdGuclVmOgIIwMYRKTMVLzlmNFI6xHFpxMRJw="; + hash = "sha256-g/N9Ho+s2AEA4iQSK48KGoTgsEMqv8ya3ZqCAhgVInc="; }; vendorHash = null; - # TODO investigate why some config tests are failing - doCheck = false; + tags = [ + "noassets" # required to build synthing gui without generating assets + ]; + + ldflags = [ + "-X github.com/wencaiwulue/kubevpn/v2/pkg/config.Version=v${version}" + "-X github.com/wencaiwulue/kubevpn/v2/cmd/kubevpn/cmds.OsArch=${go.GOOS}/${go.GOARCH}" + ]; + + # Resolve configuration tests, which access $HOME + preCheck = '' + export HOME=$(mktemp -d) + ''; + + # Disable network tests + checkFlags = [ + "-skip=^Test(Route|Functions|ByDumpClusterInfo|ByCreateSvc|Elegant)$" + ]; + + doInstallCheck = true; + + installCheckPhase = '' + runHook preInstallCheck + $out/bin/kubevpn help + $out/bin/kubevpn version | grep -e "Version: v${version}" + runHook postInstallCheck + ''; meta = with lib; { changelog = "https://github.com/KubeNetworks/kubevpn/releases/tag/${src.rev}"; description = "Create a VPN and connect to Kubernetes cluster network, access resources, and more"; + mainProgram = "kubevpn"; homepage = "https://github.com/KubeNetworks/kubevpn"; license = licenses.mit; maintainers = with maintainers; [ mig4ng ];