python3Packages.pywikibot: init at 9.5.0 (#333068)
[NixPkgs.git] / pkgs / by-name / ne / nezha-agent / package.nix
blob5641cff73012fbf272733a79de7887c03c28dfdc
2   lib,
3   buildGoModule,
4   stdenv,
5   fetchFromGitHub,
6   versionCheckHook,
7   nix-update-script,
8 }:
9 buildGoModule rec {
10   pname = "nezha-agent";
11   version = "0.20.5";
13   src = fetchFromGitHub {
14     owner = "nezhahq";
15     repo = "agent";
16     rev = "refs/tags/v${version}";
17     hash = "sha256-CVE1c0LLheGlH8oMWQWs6fox7mlHc5Y2O9XQ6kqXAwI=";
18   };
20   vendorHash = "sha256-ytFsTHl6kVwmqCabaMDxxijszY3jzWWUIZKBCebPMkI=";
22   ldflags = [
23     "-s"
24     "-w"
25     "-X main.version=${version}"
26     "-X main.arch=${stdenv.hostPlatform.system}"
27   ];
29   checkFlags =
30     let
31       # Skip tests that require network access
32       skippedTests = [
33         "TestLookupIP"
34         "TestGeoIPApi"
35         "TestFetchGeoIP"
36         "TestCloudflareDetection"
37       ];
38     in
39     [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
41   postInstall = ''
42     pushd $out/bin
43     mv agent nezha-agent
45     # for compatibility
46     ln -sr nezha-agent agent
47     popd
48   '';
50   doInstallCheck = true;
52   versionCheckProgramArg = "-v";
54   nativeInstallCheckInputs = [
55     versionCheckHook
56   ];
58   passthru = {
59     updateScript = nix-update-script { };
60   };
62   meta = {
63     description = "Agent of Nezha Monitoring";
64     homepage = "https://github.com/nezhahq/agent";
65     license = lib.licenses.asl20;
66     maintainers = with lib.maintainers; [ moraxyc ];
67     mainProgram = "nezha-agent";
68   };