···
15
-
tag = "v${version}";
17
-
buildGoModule.override
19
-
stdenv = pkgs.clangStdenv;
22
-
name = "ebpf_exporter";
15
+
# BPF programs must be compiled with Clang
16
+
buildGoModule.override { stdenv = clangStdenv; } (finalAttrs: {
17
+
pname = "prometheus-ebpf-exporter";
24
-
src = fetchFromGitHub {
26
-
owner = "cloudflare";
27
-
repo = "ebpf_exporter";
28
-
hash = "sha256-gXzaMx9Z6LzrlDaQnagQIi183uKhJvdYiolYb8P+MIs=";
20
+
src = fetchFromGitHub {
21
+
owner = "cloudflare";
22
+
repo = "ebpf_exporter";
23
+
tag = "v${finalAttrs.version}";
24
+
hash = "sha256-zIevVZ4ldPj/4OvQFo+Nv/g//xNZEppO9ccB6y65rZA=";
31
-
vendorHash = "sha256-GhQvPp8baw2l91OUOg+/lrG27P/D4Uzng8XevJf8Pj4=";
27
+
vendorHash = "sha256-ZwKXIIoV4yEyjSpGjVDr91/CQmVuF9zc0IHkJYraE9o=";
34
-
substituteInPlace examples/Makefile \
35
-
--replace-fail "-Wall -Werror" ""
30
+
substituteInPlace examples/Makefile \
31
+
--replace-fail "-Wall -Werror" ""
45
-
CGO_LDFLAGS = "-l bpf";
41
+
CGO_LDFLAGS = "-l bpf";
47
-
hardeningDisable = [ "zerocallusedregs" ];
43
+
hardeningDisable = [ "zerocallusedregs" ];
49
-
# Tests fail on trying to access cgroups.
48
+
"-X github.com/prometheus/common/version.Version=${finalAttrs.version}"
49
+
"-X github.com/prometheus/common/version.Revision=${finalAttrs.src.tag}"
50
+
"-X github.com/prometheus/common/version.Branch=${finalAttrs.src.tag}"
51
+
"-X github.com/prometheus/common/version.BuildUser=nix@nixpkgs"
52
+
"-X github.com/prometheus/common/version.BuildDate=unknown"
55
-
"-X github.com/prometheus/common/version.Version=${version}"
56
-
"-X github.com/prometheus/common/version.Revision=${tag}"
57
-
"-X github.com/prometheus/common/version.Branch=unknown"
58
-
"-X github.com/prometheus/common/version.BuildUser=nix@nixpkgs"
59
-
"-X github.com/prometheus/common/version.BuildDate=unknown"
56
+
BUILD_LIBBPF=0 make examples
63
-
BUILD_LIBBPF=0 make examples
60
+
mkdir -p $out/examples
61
+
mv examples/*.o examples/*.yaml $out/examples
67
-
mkdir -p $out/examples
68
-
mv examples/*.o examples/*.yaml $out/examples
64
+
# Tests fail on trying to access cgroups.
71
-
passthru.tests = { inherit (nixosTests.prometheus-exporters) ebpf; };
67
+
doInstallCheck = true;
68
+
nativeInstallCheckInputs = [ versionCheckHook ];
69
+
versionCheckProgramArg = "--version";
74
-
description = "Prometheus exporter for custom eBPF metrics";
75
-
mainProgram = "ebpf_exporter";
76
-
homepage = "https://github.com/cloudflare/ebpf_exporter";
77
-
changelog = "https://github.com/cloudflare/ebpf_exporter/releases/tag/v${tag}";
78
-
license = lib.licenses.mit;
79
-
maintainers = with lib.maintainers; [ jpds ];
80
-
platforms = lib.platforms.linux;
72
+
updateScript = nix-update-script { };
73
+
tests = { inherit (nixosTests.prometheus-exporters) ebpf; };
77
+
description = "Prometheus exporter for custom eBPF metrics";
78
+
mainProgram = "ebpf_exporter";
79
+
homepage = "https://github.com/cloudflare/ebpf_exporter";
80
+
changelog = "https://github.com/cloudflare/ebpf_exporter/releases/tag/${finalAttrs.src.tag}";
81
+
license = lib.licenses.mit;
82
+
maintainers = with lib.maintainers; [
86
+
platforms = lib.platforms.linux;