{ lib, stdenv, fetchFromGitHub, buildGoModule, versionCheckHook, nix-update-script, }: buildGoModule (finalAttrs: { pname = "gost"; version = "3.2.4"; src = fetchFromGitHub { owner = "go-gost"; repo = "gost"; tag = "v${finalAttrs.version}"; hash = "sha256-zFGoM+fYO/o70LJ2fbzhMv4qbjLozJGmGbudqHjCFRU="; }; vendorHash = "sha256-W3CHttD9iGpl2wG/Pa21YY6ACf5M894p25nLfMX0+F4="; # Based on ldflags in upstream's .goreleaser.yaml ldflags = [ "-s" "-X main.version=v${finalAttrs.version}" ]; __darwinAllowLocalNetworking = true; # i/o timeout doCheck = !stdenv.hostPlatform.isDarwin; doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgramArg = "-V"; passthru.updateScript = nix-update-script { }; meta = { description = "Simple tunnel written in golang"; homepage = "https://github.com/go-gost/gost"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ pmy ramblurr moraxyc ]; mainProgram = "gost"; }; })