From 418465d234535080b2e7225c68c26ee861b93045 Mon Sep 17 00:00:00 2001 From: "PAEPCKE, Michael" Date: Sun, 30 Mar 2025 11:53:20 +0000 Subject: [PATCH] prometheus-chrony-exporter: add versionCheckHook and linker attrs --- .../pr/prometheus-chrony-exporter/package.nix | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pr/prometheus-chrony-exporter/package.nix b/pkgs/by-name/pr/prometheus-chrony-exporter/package.nix index 19340391e592..49b2d5bb5506 100644 --- a/pkgs/by-name/pr/prometheus-chrony-exporter/package.nix +++ b/pkgs/by-name/pr/prometheus-chrony-exporter/package.nix @@ -3,8 +3,8 @@ buildGoModule, fetchFromGitHub, nix-update-script, + versionCheckHook, }: - buildGoModule (finalAttrs: { pname = "prometheus-chrony-exporter"; version = "0.12.0"; @@ -13,18 +13,39 @@ buildGoModule (finalAttrs: { owner = "superq"; repo = "chrony_exporter"; tag = "v${finalAttrs.version}"; - hash = "sha256-ZXqCZZx0UG8050SYgVwD+wnTX0N41Bjv1dhdQmOHmR4="; + hash = "sha256-W7MWshRuQdbxLm0XKkTHXN+pjwoX7wnCtjaeXyszr/Q="; + leaveDotGit = true; + postFetch = '' + cd "$out" + date -u -d "@$(git log -1 --pretty=%ct)" "+%Y-%m-%dT%H:%M:%SZ" > $out/BUILD_COMMIT_DATE + find "$out" -name .git -print0 | xargs -0 rm -rf + ''; }; - vendorHash = "sha256-3zL7BrCdMVnt7F1FiZ2eQnKVhmCeW3aYKKX9v01ms/k="; + # do not use real BuildDate, but fixed imagenary (commit date) for binary reproducibility + preBuild = '' + ldflags+=" -X github.com/prometheus/common/version.BuildDate=$(cat BUILD_COMMIT_DATE)" + ''; ldflags = [ "-s" "-w" + "-X github.com/prometheus/common/version.Version=${finalAttrs.version}" + "-X github.com/prometheus/common/version.Revision=${finalAttrs.src.rev}" + "-X github.com/prometheus/common/version.Branch=master" + "-X github.com/prometheus/common/version.BuildUser=nix@nixpkgs" ]; + vendorHash = "sha256-3zL7BrCdMVnt7F1FiZ2eQnKVhmCeW3aYKKX9v01ms/k="; + passthru.updateScript = nix-update-script { }; + nativeInstallCheckInputs = [ versionCheckHook ]; + + doInstallCheck = true; + versionCheckProgram = "${placeholder "out"}/bin/chrony_exporter"; + versionCheckProgramArg = "--version"; + meta = { changelog = "https://github.com/superq/chrony_exporter/releases/tag/v${finalAttrs.version}"; homepage = "https://github.com/superq/chrony";