about summary refs log tree commit diff
path: root/pkgs/applications/networking
diff options
context:
space:
mode:
authorzimbatm <zimbatm@zimbatm.com>2020-10-09 14:55:47 +0000
committerGitHub <noreply@github.com>2020-10-09 14:55:47 +0000
commit0e354d87bcca4621c0c9e02967014f66baeadb83 (patch)
treeac7eb9108079cc90a266070e20f1fbb28ed4a602 /pkgs/applications/networking
parentddb2c7779e48018fa4843bf40197040bcfee0f1f (diff)
parentc79ff8ddca6a18fc04873221ed2544c41993cd2c (diff)
Merge pull request #100072 from zimbatm/tf-0.13-fixups
terraform-full: fix evaluation
Diffstat (limited to 'pkgs/applications/networking')
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/default.nix20
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/keycloak/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix16
3 files changed, 19 insertions, 19 deletions
diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix
index d6426a2314c42..73fc6df024e60 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix
@@ -8,24 +8,18 @@ let
   list = lib.importJSON ./providers.json;
 
   toDrv = name: data:
-    let
-      fallbackProviderSourceAddress = "nixpkgs/${data.owner}/${name}";
-      providerSourceAddress = data.provider-source-address or fallbackProviderSourceAddress;
-    in
-    buildGoPackage rec {
-      inherit (data) owner repo rev version sha256;
-      name = "${repo}-${version}";
-      goPackagePath = "github.com/${owner}/${repo}";
+    buildGoPackage {
+      pname = data.repo;
+      version = data.version;
+      goPackagePath = "github.com/${data.owner}/${data.repo}";
       subPackages = [ "." ];
       src = fetchFromGitHub {
-        inherit owner repo rev sha256;
+        inherit (data) owner repo rev sha256;
       };
       # Terraform allow checking the provider versions, but this breaks
       # if the versions are not provided via file paths.
-      postBuild = "mv $NIX_BUILD_TOP/go/bin/${repo}{,_v${version}}";
-      passthru = {
-        inherit providerSourceAddress;
-      };
+      postBuild = "mv $NIX_BUILD_TOP/go/bin/${data.repo}{,_v${data.version}}";
+      passthru = data;
     };
 
   # Google is now using the vendored go modules, which works a bit differently
diff --git a/pkgs/applications/networking/cluster/terraform-providers/keycloak/default.nix b/pkgs/applications/networking/cluster/terraform-providers/keycloak/default.nix
index 0fc717bda76eb..7e9a9b830082f 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/keycloak/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/keycloak/default.nix
@@ -4,7 +4,7 @@
 }:
 
 buildGoModule rec {
-  name = "terraform-provider-keycloak-${version}";
+  pname = "terraform-provider-keycloak";
   version = "1.20.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 298d80bcbaa12..6153eaa145c9f 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -62,21 +62,27 @@ let
 
           # Make providers available in Terraform 0.13 and 0.12 search paths.
           pluginDir = lib.concatMapStrings (pl: let
-            inherit (pl) repo version GOOS GOARCH;
-            inherit (pl.passthru) providerSourceAddress;
+            inherit (pl) version GOOS GOARCH;
+
+            pname = pl.pname or (throw "${pl.name} is missing a pname attribute");
+
+            # This is just the name, without the terraform-provider- prefix
+            plugin_name = lib.removePrefix "terraform-provider-" pname;
+
+            slug = pl.passthru.provider-source-address or "registry.terraform.io/nixpkgs/${plugin_name}";
 
             shim = writeText "shim" ''
               #!${runtimeShell}
-              exec ${pl}/bin/${repo}_v${version} \$@
+              exec ${pl}/bin/${pname}_v${version} "$@"
             '';
             in ''
-              TF_0_13_PROVIDER_PATH=$out/plugins/${providerSourceAddress}/${version}/${GOOS}_${GOARCH}/${repo}_v${version}
+              TF_0_13_PROVIDER_PATH=$out/plugins/${slug}/${version}/${GOOS}_${GOARCH}/${pname}_v${version}
               mkdir -p "$(dirname $TF_0_13_PROVIDER_PATH)"
 
               cp ${shim} "$TF_0_13_PROVIDER_PATH"
               chmod +x "$TF_0_13_PROVIDER_PATH"
 
-              TF_0_12_PROVIDER_PATH=$out/plugins/${repo}_v${version}
+              TF_0_12_PROVIDER_PATH=$out/plugins/${pname}_v${version}
 
               cp ${shim} "$TF_0_12_PROVIDER_PATH"
               chmod +x "$TF_0_12_PROVIDER_PATH"