{ lib , buildGoModule , fetchFromGitHub , go-mockery }: buildGoModule rec { pname = "terragrunt"; version = "0.63.2"; src = fetchFromGitHub { owner = "gruntwork-io"; repo = pname; rev = "refs/tags/v${version}"; hash = "sha256-Y6bDXohGeQ5H4Cq50dwA503pOQA8+ab9po4slL3BRDg="; }; nativeBuildInputs = [ go-mockery ]; preBuild = '' make generate-mocks ''; vendorHash = "sha256-l0RFHOQIHLSCzSKq09ibtXEMph/Lhv9ie6B+jpLTxbY="; doCheck = false; ldflags = [ "-s" "-w" "-X github.com/gruntwork-io/go-commons/version.Version=v${version}" ]; doInstallCheck = true; installCheckPhase = '' runHook preInstallCheck $out/bin/terragrunt --help $out/bin/terragrunt --version | grep "v${version}" runHook postInstallCheck ''; meta = with lib; { homepage = "https://terragrunt.gruntwork.io"; changelog = "https://github.com/gruntwork-io/terragrunt/releases/tag/v${version}"; description = "Thin wrapper for Terraform that supports locking for Terraform state and enforces best practices"; mainProgram = "terragrunt"; license = licenses.mit; maintainers = with maintainers; [ jk qjoly kashw2 ]; }; }