nixos/tests: fix bonding test (#375496)
[NixPkgs.git] / pkgs / by-name / gl / globalping-cli / package.nix
blob50f5423d0898338039325653936ab25e5ec942a4
1 { lib, buildGoModule, fetchFromGitHub, installShellFiles, nix-update-script }:
3 buildGoModule rec {
4   pname = "globalping-cli";
5   version = "1.4.4";
7   src = fetchFromGitHub {
8     owner = "jsdelivr";
9     repo = pname;
10     rev = "v${version}";
11     hash = "sha256-pViqoycOh1RfSqaAEST6m1v3mEcTX76dbL80bCp5aKo=";
12   };
14   vendorHash = "sha256-V6DwV2KukFfFK0PK9MacoHH0sB5qNV315jn0T+4rhfA=";
16   nativeBuildInputs = [ installShellFiles ];
18   env.CGO_ENABLED = 0;
19   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
21   preCheck = ''
22     export HOME="$TMPDIR"
23   '';
25   checkFlags =
26     let
27       skippedTests = [
28         # Skip tests that require network access
29         "Test_Authorize"
30         "Test_TokenIntrospection"
31         "Test_Logout"
32         "Test_RevokeToken"
33         "Test_Limits"
34         "Test_CreateMeasurement"
35         "Test_GetMeasurement"
36       ];
37     in
38     [ "-skip=^${builtins.concatStringsSep "|^" skippedTests}" ];
40   postInstall = ''
41     mv $out/bin/${pname} $out/bin/globalping
42     installShellCompletion --cmd globalping \
43       --bash <($out/bin/globalping completion bash) \
44       --fish <($out/bin/globalping completion fish) \
45       --zsh <($out/bin/globalping completion zsh)
46   '';
48   passthru.updateScript = nix-update-script { };
50   meta = with lib; {
51     description = "Simple CLI tool to run networking commands remotely from hundreds of globally distributed servers";
52     homepage = "https://www.jsdelivr.com/globalping/cli";
53     license = licenses.mpl20;
54     maintainers = with maintainers; [ xyenon ];
55     mainProgram = "globalping";
56   };