vuls: init at 0.27.0 (#348530)
[NixPkgs.git] / pkgs / by-name / te / terragrunt / package.nix
blob43edfeb3999c7c249fd7b2ef76fbc03bdf3e3c1e
1 { lib
2 , buildGoModule
3 , fetchFromGitHub
4 , go-mockery
5 }:
7 buildGoModule rec {
8   pname = "terragrunt";
9   version = "0.67.9";
11   src = fetchFromGitHub {
12     owner = "gruntwork-io";
13     repo = pname;
14     rev = "refs/tags/v${version}";
15     hash = "sha256-TDYYPR+Sak2Kv89Fp+sCi2XC8eYrwVS5RIgzUTXaCRc=";
16   };
18   nativeBuildInputs = [ go-mockery ];
20   preBuild = ''
21     make generate-mocks
22   '';
24   vendorHash = "sha256-NERvQoxT01ew/rCkEXrthsqF1mXjhxZANBL9ApTyd7o=";
26   doCheck = false;
28   ldflags = [
29     "-s"
30     "-w"
31     "-X github.com/gruntwork-io/go-commons/version.Version=v${version}"
32   ];
34   doInstallCheck = true;
36   installCheckPhase = ''
37     runHook preInstallCheck
38     $out/bin/terragrunt --help
39     $out/bin/terragrunt --version | grep "v${version}"
40     runHook postInstallCheck
41   '';
43   meta = with lib; {
44     homepage = "https://terragrunt.gruntwork.io";
45     changelog = "https://github.com/gruntwork-io/terragrunt/releases/tag/v${version}";
46     description = "Thin wrapper for Terraform that supports locking for Terraform state and enforces best practices";
47     mainProgram = "terragrunt";
48     license = licenses.mit;
49     maintainers = with maintainers; [ jk qjoly kashw2 ];
50   };