biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / faas-cli / default.nix
blob2149eb50c2786047935fd7899192ffac7ca15536
1 { lib
2 , stdenv
3 , buildGoModule
4 , fetchFromGitHub
5 , makeWrapper
6 , git
7 , installShellFiles
8 , testers
9 , faas-cli
11 let
12   faasPlatform = platform:
13     let cpuName = platform.parsed.cpu.name; in {
14       "aarch64" = "arm64";
15       "armv7l" = "armhf";
16       "armv6l" = "armhf";
17     }.${cpuName} or cpuName;
19 buildGoModule rec {
20   pname = "faas-cli";
21   version = "0.16.26";
23   src = fetchFromGitHub {
24     owner = "openfaas";
25     repo = "faas-cli";
26     rev = version;
27     sha256 = "sha256-eyQpeud0rW07eb6wtcTYem10LWf/g2dxRwQEMH29wL8=";
28   };
30   vendorHash = null;
32   CGO_ENABLED = 0;
34   subPackages = [ "." ];
36   ldflags = [
37     "-s" "-w"
38     "-X github.com/openfaas/faas-cli/version.GitCommit=ref/tags/${version}"
39     "-X github.com/openfaas/faas-cli/version.Version=${version}"
40     "-X github.com/openfaas/faas-cli/commands.Platform=${faasPlatform stdenv.hostPlatform}"
41   ];
43   nativeBuildInputs = [ makeWrapper installShellFiles ];
45   postInstall = ''
46     wrapProgram "$out/bin/faas-cli" \
47       --prefix PATH : ${lib.makeBinPath [ git ]}
49     installShellCompletion --cmd metal \
50       --bash <($out/bin/faas-cli completion --shell bash) \
51       --zsh <($out/bin/faas-cli completion --shell zsh)
52   '';
54   passthru.tests.version = testers.testVersion {
55     command = "${faas-cli}/bin/faas-cli version --short-version --warn-update=false";
56     package = faas-cli;
57   };
59   meta = with lib; {
60     description = "Official CLI for OpenFaaS ";
61     mainProgram = "faas-cli";
62     homepage = "https://github.com/openfaas/faas-cli";
63     license = licenses.mit;
64     maintainers = with maintainers; [ welteki techknowlogick ];
65   };