diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
commit | 99fcaeccb89621dd492203ce1f2d551c06f228ed (patch) | |
tree | 41cb730ae07383004789779b0f6e11cb3f4642a3 /nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix | |
parent | 59c5f5ac8682acc13bb22bc29c7cf02f7d75f01f (diff) | |
parent | 75a5ebf473cd60148ba9aec0d219f72e5cf52519 (diff) | |
download | nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.gz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.bz2 nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.lz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.xz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.zst nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/nixos/modules/config/console.nix nixpkgs/nixos/modules/services/mail/mailman.nix nixpkgs/nixos/modules/services/mail/public-inbox.nix nixpkgs/nixos/modules/services/mail/rss2email.nix nixpkgs/nixos/modules/services/networking/ssh/sshd.nix nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix nixpkgs/pkgs/applications/networking/irc/weechat/default.nix nixpkgs/pkgs/applications/window-managers/sway/default.nix nixpkgs/pkgs/build-support/go/module.nix nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix nixpkgs/pkgs/development/interpreters/python/default.nix nixpkgs/pkgs/development/node-packages/overrides.nix nixpkgs/pkgs/development/tools/b4/default.nix nixpkgs/pkgs/servers/dict/dictd-db.nix nixpkgs/pkgs/servers/mail/public-inbox/default.nix nixpkgs/pkgs/tools/security/pinentry/default.nix nixpkgs/pkgs/tools/text/unoconv/default.nix nixpkgs/pkgs/top-level/all-packages.nix
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix | 47 |
1 files changed, 32 insertions, 15 deletions
diff --git a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix index 312bf72f5a5a..2f222b9f60ed 100644 --- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix +++ b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix @@ -2,8 +2,10 @@ , stdenv , buildGoModule , fetchFromGitHub +, fetchFromGitLab , callPackage , config +, writeShellScript , cdrtools # libvirt }: @@ -15,27 +17,38 @@ let ({ owner , repo , rev - , version - , sha256 - , vendorSha256 + , spdx ? "UNSET" + , version ? lib.removePrefix "v" rev + , hash + , vendorHash , deleteVendor ? false , proxyVendor ? false + , mkProviderFetcher ? fetchFromGitHub , mkProviderGoModule ? buildGoModule - , # Looks like "registry.terraform.io/vancluever/acme" - provider-source-address + # "https://registry.terraform.io/providers/vancluever/acme" + , homepage ? "" + # "registry.terraform.io/vancluever/acme" + , provider-source-address ? lib.replaceStrings [ "https://registry" ".io/providers" ] [ "registry" ".io" ] homepage + , ... }@attrs: + assert lib.stringLength provider-source-address > 0; mkProviderGoModule { pname = repo; - inherit vendorSha256 version deleteVendor proxyVendor; + inherit vendorHash version deleteVendor proxyVendor; subPackages = [ "." ]; doCheck = false; # https://github.com/hashicorp/terraform-provider-scaffolding/blob/a8ac8375a7082befe55b71c8cbb048493dd220c2/.goreleaser.yml # goreleaser (used for builds distributed via terraform registry) requires that CGO is disabled CGO_ENABLED = 0; ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${rev}" ]; - src = fetchFromGitHub { + src = mkProviderFetcher { name = "source-${rev}"; - inherit owner repo rev sha256; + inherit owner repo rev hash; + }; + + meta = { + inherit homepage; + license = lib.getLicenseFromSpdxId spdx; }; # Move the provider to libexec @@ -47,7 +60,13 @@ let ''; # Keep the attributes around for later consumption - passthru = attrs; + passthru = attrs // { + inherit provider-source-address; + updateScript = writeShellScript "update" '' + provider="$(basename ${provider-source-address})" + ./pkgs/applications/networking/cluster/terraform-providers/update-provider "$provider" + ''; + }; }); list = lib.importJSON ./providers.json; @@ -58,6 +77,9 @@ let # These are the providers that don't fall in line with the default model special-providers = { + # github api seems to be broken, doesn't just fail to recognize the license, it's ignored entirely. + checkly = automated-providers.checkly.override { spdx = "MIT"; }; + gitlab = automated-providers.gitlab.override { mkProviderFetcher = fetchFromGitLab; owner = "gitlab-org"; }; # mkisofs needed to create ISOs holding cloud-init data and wrapped to terraform via deecb4c1aab780047d79978c636eeb879dd68630 libvirt = automated-providers.libvirt.overrideAttrs (_: { propagatedBuildInputs = [ cdrtools ]; }); }; @@ -69,12 +91,7 @@ let removed = name: date: throw "the ${name} terraform provider removed from nixpkgs on ${date}"; in lib.optionalAttrs config.allowAliases { - b2 = removed "b2" "2022/06"; - dome9 = removed "dome9" "2022/08"; - ncloud = removed "ncloud" "2022/08"; - opc = archived "opc" "2022/05"; - oraclepaas = archived "oraclepaas" "2022/05"; - template = archived "template" "2022/05"; + ksyun = removed "ksyun" "2023/04"; }; # excluding aliases, used by terraform-full |