Unverified Commit d5eebae0 authored by Aleksana's avatar Aleksana Committed by GitHub
Browse files

krew: fix version display (#500022)

parents c9fdda7d c470e016
Loading
Loading
Loading
Loading
+27 −2
Original line number Diff line number Diff line
@@ -4,6 +4,8 @@
  fetchFromGitHub,
  makeWrapper,
  gitMinimal,
  writableTmpDirAsHomeHook,
  versionCheckHook,
}:

buildGoModule (finalAttrs: {
@@ -13,8 +15,13 @@ buildGoModule (finalAttrs: {
  src = fetchFromGitHub {
    owner = "kubernetes-sigs";
    repo = "krew";
    rev = "v${finalAttrs.version}";
    sha256 = "sha256-KG4/vtEfwWVddfFoNbC4xakxOynDY6jyxek4JAXW5gY=";
    tag = "v${finalAttrs.version}";
    hash = "sha256-rhl4qVHwl876OSDrcLSS07x3H/x/zmFLPHdRw+fcYsw=";
    leaveDotGit = true;
    postFetch = ''
      git -C "$out" rev-parse --short HEAD > "$out/.git_head"
      rm -rf "$out/.git"
    '';
  };

  vendorHash = "sha256-z0wiYknXcCx4vqROngn58CRe9TBgya4y3v736VBMhQ8=";
@@ -23,11 +30,29 @@ buildGoModule (finalAttrs: {

  nativeBuildInputs = [ makeWrapper ];

  ldflags = [
    "-s"
    "-X"
    "sigs.k8s.io/krew/internal/version.gitTag=v${finalAttrs.version}"
  ];

  preBuild = ''
    ldflags+=" -X=sigs.k8s.io/krew/internal/version.gitCommit=$(<.git_head)"
  '';

  postFixup = ''
    wrapProgram $out/bin/krew \
      --prefix PATH : ${lib.makeBinPath [ gitMinimal ]}
  '';

  doInstallCheck = true;
  nativeInstallCheckInputs = [
    writableTmpDirAsHomeHook
    versionCheckHook
  ];
  versionCheckKeepEnvironment = [ "HOME" ];
  versionCheckProgramArg = "version";

  meta = {
    description = "Package manager for kubectl plugins";
    mainProgram = "krew";