krew: fix version display (#500022)
This commit is contained in:
@@ -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";
|
||||
|
||||
Reference in New Issue
Block a user