nixpkgs/pkgs/development/tools/kustomize/4.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

50 lines
1.5 KiB
Nix

{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
buildGoModule rec {
pname = "kustomize_4";
version = "4.5.7";
src = fetchFromGitHub {
owner = "kubernetes-sigs";
repo = "kustomize";
rev = "kustomize/v${version}";
hash = "sha256-AHDUwXcYkI04nOBY8jScf+OE6k9Z5OqzhtWExK1rrKg=";
};
# rev is the commit of the tag, mainly for kustomize version command output
rev = "56d82a8378dfc8dc3b3b1085e5a6e67b82966bd7";
ldflags = let t = "sigs.k8s.io/kustomize/api/provenance"; in
[
"-s"
"-X ${t}.version=${version}"
"-X ${t}.gitCommit=${rev}"
];
# avoid finding test and development commands
modRoot = "kustomize";
proxyVendor = true;
vendorHash = "sha256-9+k0Me5alZDNC27Mx0Q6vp0B2SEa+Qy0FoLSr/Rahkc=";
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
installShellCompletion --cmd kustomize \
--bash <($out/bin/kustomize completion bash) \
--fish <($out/bin/kustomize completion fish) \
--zsh <($out/bin/kustomize completion zsh)
'';
meta = with lib; {
description = "Customization of kubernetes YAML configurations";
mainProgram = "kustomize";
longDescription = ''
kustomize lets you customize raw, template-free YAML files for
multiple purposes, leaving the original YAML untouched and usable
as is.
'';
homepage = "https://github.com/kubernetes-sigs/kustomize";
license = licenses.asl20;
maintainers = with maintainers; [ carlosdagos vdemeester periklis zaninime Chili-Man saschagrunert ];
};
}