diff --git a/pkgs/applications/networking/cluster/terraform/0.8.5.nix b/pkgs/applications/networking/cluster/terraform/0.8.5.nix new file mode 100644 index 000000000000..7f927b586705 --- /dev/null +++ b/pkgs/applications/networking/cluster/terraform/0.8.5.nix @@ -0,0 +1,34 @@ +{ stdenv, lib, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "terraform-${version}"; + version = "0.8.5"; + + goPackagePath = "github.com/hashicorp/terraform"; + + src = fetchFromGitHub { + owner = "hashicorp"; + repo = "terraform"; + rev = "v${version}"; + sha256 = "1cxwv3652fpsbm2zk1akw356cd7w7vhny1623ighgbz9ha8gvg09"; + }; + + postInstall = '' + # remove all plugins, they are part of the main binary now + for i in $bin/bin/*; do + if [[ $(basename $i) != terraform ]]; then + rm "$i" + fi + done + ''; + + meta = with stdenv.lib; { + description = "Tool for building, changing, and versioning infrastructure"; + homepage = "https://www.terraform.io/"; + license = licenses.mpl20; + maintainers = with maintainers; [ + jgeerds + zimbatm + ]; + }; +} diff --git a/pkgs/applications/networking/cluster/terragrunt/0.9.8.nix b/pkgs/applications/networking/cluster/terragrunt/0.9.8.nix new file mode 100644 index 000000000000..54ca1a9d7d0f --- /dev/null +++ b/pkgs/applications/networking/cluster/terragrunt/0.9.8.nix @@ -0,0 +1,31 @@ +{ stdenv, lib, buildGoPackage, fetchFromGitHub, terraform, makeWrapper }: + +buildGoPackage rec { + name = "terragrunt-${version}"; + version = "0.9.8"; + + goPackagePath = "github.com/gruntwork-io/terragrunt"; + + src = fetchFromGitHub { + rev = "v${version}"; + owner = "gruntwork-io"; + repo = "terragrunt"; + sha256 = "0aakr17yzh5jzvlmg3pzpnsfwl31njg27bpck541492shqcqmkiz"; + }; + + goDeps = ./deps.nix; + + buildInputs = [ makeWrapper ]; + + postInstall = '' + wrapProgram $bin/bin/terragrunt \ + --set TERRAGRUNT_TFPATH ${lib.getBin terraform}/bin/terraform + ''; + + meta = with stdenv.lib; { + description = "A thin wrapper for Terraform that supports locking for Terraform state and enforces best practices."; + homepage = https://github.com/gruntwork-io/terragrunt/; + license = licenses.mit; + maintainers = with maintainers; [ peterhoeg ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b580dfc042e3..4a73c033c4ee 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17984,8 +17984,14 @@ with pkgs; terraform = callPackage ../applications/networking/cluster/terraform {}; + terraform_0_8_5 = callPackage ../applications/networking/cluster/terraform/0.8.5.nix {}; + terragrunt = callPackage ../applications/networking/cluster/terragrunt {}; + terragrunt_0_9_8 = callPackage ../applications/networking/cluster/terragrunt/0.9.8.nix { + terraform = terraform_0_8_5; + }; + tetex = callPackage ../tools/typesetting/tex/tetex { libpng = libpng12; }; tewi-font = callPackage ../data/fonts/tewi {};