about summary refs log tree commit diff
path: root/pkgs/applications/networking/cluster/terraform
diff options
context:
space:
mode:
authorPeter Hoeg <peter@speartail.com>2017-03-17 17:05:16 +0800
committerzimbatm <zimbatm@zimbatm.com>2017-03-17 09:05:16 +0000
commitc216a7121545d3e5f2b0f904fe7c3fc736d9b212 (patch)
tree3dde66306136314ffdcf56c4f78a33f102655c34 /pkgs/applications/networking/cluster/terraform
parentcb73e06989031574de19e497a4d23e2b3673daa0 (diff)
downloadnixlib-c216a7121545d3e5f2b0f904fe7c3fc736d9b212.tar
nixlib-c216a7121545d3e5f2b0f904fe7c3fc736d9b212.tar.gz
nixlib-c216a7121545d3e5f2b0f904fe7c3fc736d9b212.tar.bz2
nixlib-c216a7121545d3e5f2b0f904fe7c3fc736d9b212.tar.lz
nixlib-c216a7121545d3e5f2b0f904fe7c3fc736d9b212.tar.xz
nixlib-c216a7121545d3e5f2b0f904fe7c3fc736d9b212.tar.zst
nixlib-c216a7121545d3e5f2b0f904fe7c3fc736d9b212.zip
terraform: use generic builder and add 0.9.0 (#23979)
Diffstat (limited to 'pkgs/applications/networking/cluster/terraform')
-rw-r--r--pkgs/applications/networking/cluster/terraform/0.8.5.nix34
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix75
2 files changed, 50 insertions, 59 deletions
diff --git a/pkgs/applications/networking/cluster/terraform/0.8.5.nix b/pkgs/applications/networking/cluster/terraform/0.8.5.nix
deleted file mode 100644
index 7f927b586705..000000000000
--- a/pkgs/applications/networking/cluster/terraform/0.8.5.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ 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/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 7dc2c5ed4982..7e5a1121be91 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -1,34 +1,59 @@
 { stdenv, lib, buildGoPackage, fetchFromGitHub }:
 
-buildGoPackage rec {
-  name = "terraform-${version}";
-  version = "0.8.8";
+let
+  generic = { version, sha256 }:
+  buildGoPackage rec {
+    name = "terraform-${version}";
 
-  goPackagePath = "github.com/hashicorp/terraform";
+    goPackagePath = "github.com/hashicorp/terraform";
 
-  src = fetchFromGitHub {
-    owner  = "hashicorp";
-    repo   = "terraform";
-    rev    = "v${version}";
+    src = fetchFromGitHub {
+      owner  = "hashicorp";
+      repo   = "terraform";
+      rev    = "v${version}";
+      inherit sha256;
+    };
+
+    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
+    '';
+
+    preCheck = ''
+      export HOME=$TMP
+    '';
+
+    doCheck = true;
+
+    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 peterhoeg ];
+    };
+  };
+
+in rec {
+  terraform_0_8_5 = generic {
+    version = "0.8.5";
+    sha256 = "1cxwv3652fpsbm2zk1akw356cd7w7vhny1623ighgbz9ha8gvg09";
+  };
+
+  terraform_0_8_8 = generic {
+    version = "0.8.8";
     sha256 = "0ibgpcpvz0bmn3cw60nzsabsrxrbmmym1hv7fx6zmjxiwd68w5gb";
   };
 
-  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
-    ];
+  terraform_0_9_0 = generic {
+    version = "0.9.0";
+    sha256 = "1v96qgc6pd1bkwvkz855625xdcy7xb5lk60lg70144idqmwfjb9g";
   };
+
+  terraform_0_8 = terraform_0_8_8;
+  terraform_0_9 = terraform_0_9_0;
+  terraform = terraform_0_9;
 }