diff options
author | zimbatm <zimbatm@zimbatm.com> | 2020-10-09 14:55:47 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-09 14:55:47 +0000 |
commit | 0e354d87bcca4621c0c9e02967014f66baeadb83 (patch) | |
tree | ac7eb9108079cc90a266070e20f1fbb28ed4a602 /pkgs/applications/networking | |
parent | ddb2c7779e48018fa4843bf40197040bcfee0f1f (diff) | |
parent | c79ff8ddca6a18fc04873221ed2544c41993cd2c (diff) |
Merge pull request #100072 from zimbatm/tf-0.13-fixups
terraform-full: fix evaluation
Diffstat (limited to 'pkgs/applications/networking')
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" |