chezmoi: 2.56.0 -> 2.57.0 (#372077)
[NixPkgs.git] / pkgs / by-name / me / metal-cli / package.nix
blobb13d6bb0d162eefd2e3a23e9384f9ce379f6ff17
2   lib,
3   buildGoModule,
4   fetchFromGitHub,
5   installShellFiles,
6 }:
8 buildGoModule rec {
9   pname = "metal-cli";
10   version = "0.25.0";
12   src = fetchFromGitHub {
13     owner = "equinix";
14     repo = pname;
15     rev = "v${version}";
16     hash = "sha256-+hpsGFZHuVhh+fKVcap0vhoUmRs3xPgUwW8SD56m6uI=";
17   };
19   vendorHash = "sha256-X+GfM73LAWk2pT4ZOPT2pg8YaKyT+SNjQ14LgB+C7Wo=";
21   ldflags = [
22     "-s"
23     "-w"
24     "-X github.com/equinix/metal-cli/cmd.Version=${version}"
25   ];
27   nativeBuildInputs = [
28     installShellFiles
29   ];
31   postInstall = ''
32     installShellCompletion --cmd metal \
33       --bash <($out/bin/metal completion bash) \
34       --fish <($out/bin/metal completion fish) \
35       --zsh <($out/bin/metal completion zsh)
36   '';
38   doCheck = false;
40   doInstallCheck = true;
42   installCheckPhase = ''
43     $out/bin/metal --version | grep ${version}
44   '';
46   meta = with lib; {
47     description = "Official Equinix Metal CLI";
48     homepage = "https://github.com/equinix/metal-cli/";
49     changelog = "https://github.com/equinix/metal-cli/releases/tag/v${version}";
50     license = licenses.mit;
51     maintainers = with maintainers; [
52       Br1ght0ne
53       nshalman
54       teutat3s
55     ];
56     mainProgram = "metal";
57   };