diff options
author | 06kellyjac <dev@j-k.io> | 2021-07-11 18:48:24 +0100 |
---|---|---|
committer | 06kellyjac <dev@j-k.io> | 2021-07-11 18:48:24 +0100 |
commit | 8c6d56dddbfd3f6a6361924cd13730138e9a707b (patch) | |
tree | 23824d669d737a67da6803eb348c8182a212dad3 | |
parent | 30ada3e6aff2ea1731358d511d5e124d64650b6c (diff) | |
download | nixpkgs-8c6d56dddbfd3f6a6361924cd13730138e9a707b.tar nixpkgs-8c6d56dddbfd3f6a6361924cd13730138e9a707b.tar.gz nixpkgs-8c6d56dddbfd3f6a6361924cd13730138e9a707b.tar.bz2 nixpkgs-8c6d56dddbfd3f6a6361924cd13730138e9a707b.tar.lz nixpkgs-8c6d56dddbfd3f6a6361924cd13730138e9a707b.tar.xz nixpkgs-8c6d56dddbfd3f6a6361924cd13730138e9a707b.tar.zst nixpkgs-8c6d56dddbfd3f6a6361924cd13730138e9a707b.zip |
infracost: improvements
added -s and -w ldflags saving 2MB added version ldflag added pre and post check hooks added completions added installCheckPhase added some more meta details added myself as a maintainer
-rw-r--r-- | pkgs/tools/misc/infracost/default.nix | 51 |
1 files changed, 46 insertions, 5 deletions
diff --git a/pkgs/tools/misc/infracost/default.nix b/pkgs/tools/misc/infracost/default.nix index 764e9ff5d77..c912eb3322b 100644 --- a/pkgs/tools/misc/infracost/default.nix +++ b/pkgs/tools/misc/infracost/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub, terraform }: +{ lib, buildGoModule, fetchFromGitHub, installShellFiles, terraform }: buildGoModule rec { pname = "infracost"; @@ -10,16 +10,57 @@ buildGoModule rec { repo = "infracost"; sha256 = "sha256-3AH/VUKIno/jObep5GNfIpyOW5TcfZ5UZyornJWTGOw="; }; - vendorSha256 = "sha256-zMEtVPyzwW4SrbpydDFDqgHEC0/khkrSxlEnQ5I0he8="; + ldflags = [ "-s" "-w" "-X github.com/infracost/infracost/internal/version.Version=v${version}" ]; + + # Install completions post-install + nativeBuildInputs = [ installShellFiles ]; + checkInputs = [ terraform ]; - checkPhase = "make test"; + checkPhase = '' + runHook preCheck + make test + runHook postCheck + ''; + + postInstall = '' + # panic if .config directory can't be accessed + # https://github.com/infracost/infracost/pull/862 + export HOME="$TMPDIR" + mkdir -p "$HOME/.config/infracost" + export INFRACOST_SKIP_UPDATE_CHECK=true + + installShellCompletion --cmd infracost \ + --bash <($out/bin/infracost completion --shell bash) \ + --fish <($out/bin/infracost completion --shell fish) \ + --zsh <($out/bin/infracost completion --shell zsh) + ''; + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + + export HOME="$TMPDIR" + mkdir -p "$HOME/.config/infracost" + export INFRACOST_SKIP_UPDATE_CHECK=true + + $out/bin/infracost --help + $out/bin/infracost --version | grep "v${version}" + + runHook postInstallCheck + ''; meta = with lib; { + homepage = "https://infracost.io"; + changelog = "https://github.com/infracost/infracost/releases/tag/v${version}"; description = "Cloud cost estimates for Terraform in your CLI and pull requests"; - homepage = "https://github.com/infracost/infracost"; + longDescription = '' + Infracost shows hourly and monthly cost estimates for a Terraform project. + This helps developers, DevOps et al. quickly see the cost breakdown and + compare different deployment options upfront. + ''; license = [ licenses.asl20 ]; - maintainers = [ maintainers.davegallant ]; + maintainers = with maintainers; [ davegallant jk ]; }; } |