evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / yt / ytt / package.nix
blob45a7b65e97d8e0695b183324ed82d398964bd9d7
2   lib,
3   buildGoModule,
4   fetchFromGitHub,
5   installShellFiles,
6   testers,
7   ytt,
8 }:
9 buildGoModule rec {
10   pname = "ytt";
11   version = "0.51.0";
13   src = fetchFromGitHub {
14     owner = "carvel-dev";
15     repo = "ytt";
16     rev = "v${version}";
17     sha256 = "sha256-7PN6ejI7Ov0O3oJW71P3s3RWeRrX6M4+GTqsVlr8+7w=";
18   };
20   vendorHash = null;
22   nativeBuildInputs = [ installShellFiles ];
24   ldflags = [
25     "-s"
26     "-w"
27     "-X carvel.dev/ytt/pkg/version.Version=${version}"
28   ];
30   postInstall = ''
31     installShellCompletion --cmd ytt \
32       --bash <($out/bin/ytt completion bash) \
33       --fish <($out/bin/ytt completion fish) \
34       --zsh <($out/bin/ytt completion zsh)
35   '';
37   # Once `__structuredArgs` is introduced, integrate checks and
38   # set some regexes `checkFlags = [ "-skip=TestDataValues.*" ]`
39   # etc. So far we dont test because passing '*' chars through the Go builder
40   # is flawed.
41   doCheck = false;
43   passthru.tests.version = testers.testVersion {
44     package = ytt;
45     command = "ytt --version";
46     inherit version;
47   };
49   meta = with lib; {
50     description = "YAML templating tool that allows configuration of complex software via reusable templates with user-provided values";
51     mainProgram = "ytt";
52     homepage = "https://get-ytt.io";
53     license = licenses.asl20;
54     maintainers = with maintainers; [
55       brodes
56       techknowlogick
57       gabyx
58     ];
59   };