diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/monitoring/grafana-agent/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/monitoring/grafana-agent/default.nix | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana-agent/default.nix b/nixpkgs/pkgs/servers/monitoring/grafana-agent/default.nix index faa42933facd..620d3aebc4a1 100644 --- a/nixpkgs/pkgs/servers/monitoring/grafana-agent/default.nix +++ b/nixpkgs/pkgs/servers/monitoring/grafana-agent/default.nix @@ -1,27 +1,36 @@ { lib , buildGoModule , fetchFromGitHub +, fetchYarnDeps +, fixup_yarn_lock , grafana-agent , nixosTests +, nodejs , stdenv , systemd , testers +, yarn }: buildGoModule rec { pname = "grafana-agent"; - version = "0.35.4"; + version = "0.36.0"; src = fetchFromGitHub { owner = "grafana"; repo = "agent"; rev = "v${version}"; - hash = "sha256-3pUKqmqnRm3/e/fhAV5cq16wcK/f7KWb3aoFbPXCC3o="; + hash = "sha256-YUEla8VvLi0H0Utu0vQNqSbZH8C9BeF8BGWRb2R61P8="; }; - vendorHash = "sha256-vzrp20Mg6AA0h3+5+qbKRa7nhx/hgiIHG6RNXLATpHE="; + vendorHash = "sha256-Si7qZYq23XlWFPp+C5qIJw7n0Zk/Rx+yo643m+gSRcg="; proxyVendor = true; # darwin/linux hash mismatch + frontendYarnOfflineCache = fetchYarnDeps { + yarnLock = src + "/web/ui/yarn.lock"; + hash = "sha256-sUFxuliLupGEJY1xFA2V4W2gwHxtUgst3Vrywh1owAo="; + }; + ldflags = let prefix = "github.com/grafana/agent/pkg/build"; in [ @@ -34,7 +43,10 @@ buildGoModule rec { "-X ${prefix}.BuildDate=1980-01-01T00:00:00Z" ]; + nativeBuildInputs = [ fixup_yarn_lock nodejs yarn ]; + tags = [ + "builtinassets" "nonetwork" "nodocker" "promtail_journal_enabled" @@ -43,8 +55,27 @@ buildGoModule rec { subPackages = [ "cmd/grafana-agent" "cmd/grafana-agentctl" + "web/ui" ]; + preBuild = '' + export HOME="$TMPDIR" + + pushd web/ui + fixup_yarn_lock yarn.lock + yarn config --offline set yarn-offline-mirror $frontendYarnOfflineCache + yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive + patchShebangs node_modules + yarn --offline run build + popd + ''; + + # do not pass preBuild to go-modules.drv, as it would otherwise fail to build. + # but even if it would work, it simply isn't needed in that scope. + overrideModAttrs = (_: { + preBuild = null; + }); + # uses go-systemd, which uses libsystemd headers # https://github.com/coreos/go-systemd/issues/351 env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.isLinux [ "-I${lib.getDev systemd}/include" ]); |