diff options
-rw-r--r-- | pkgs/tools/admin/google-cloud-sdk/data.nix | 32 | ||||
-rw-r--r-- | pkgs/tools/admin/google-cloud-sdk/default.nix | 37 | ||||
-rwxr-xr-x | pkgs/tools/admin/google-cloud-sdk/update.sh | 47 |
3 files changed, 86 insertions, 30 deletions
diff --git a/pkgs/tools/admin/google-cloud-sdk/data.nix b/pkgs/tools/admin/google-cloud-sdk/data.nix new file mode 100644 index 00000000000..a022c4d8ed7 --- /dev/null +++ b/pkgs/tools/admin/google-cloud-sdk/data.nix @@ -0,0 +1,32 @@ +# DO NOT EDIT! This file is generated automatically by update.sh +{ }: +{ + version = "365.0.0"; + googleCloudSdkPkgs = { + x86_64-linux = + { + url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-365.0.0-linux-x86_64.tar.gz"; + sha256 = "1h1z2ddhgrc74gnfaicvginl2yy7zjx8dlvkx017vsd3vijavl41"; + }; + x86_64-darwin = + { + url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-365.0.0-darwin-x86_64.tar.gz"; + sha256 = "0428pc85jlwsydn5nl7vya3rsbiww8z2jvc68wy1sdk7a1md01cy"; + }; + aarch64-linux = + { + url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-365.0.0-linux-arm.tar.gz"; + sha256 = "0ji29kd6cfyl59vlms77bnlqf95yh86g9c08wkx1f1kdavi78l0d"; + }; + aarch64-darwin = + { + url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-365.0.0-darwin-arm.tar.gz"; + sha256 = "1rg996y4r24aif5vv6cnl3g7g6fknz8zv6m87ayl8x7yljrqcy27"; + }; + i686-linux = + { + url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-365.0.0-linux-x86.tar.gz"; + sha256 = "0jvcridqlk2r5m6b22ldxi9g4mxfy120428ynw9rgpwx0chjmpi6"; + }; + }; +} diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix index ac3f9d65c0f..f0b0c042cbe 100644 --- a/pkgs/tools/admin/google-cloud-sdk/default.nix +++ b/pkgs/tools/admin/google-cloud-sdk/default.nix @@ -17,39 +17,15 @@ let crcmod ] ++ lib.optional (with-gce) google-compute-engine); - baseUrl = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads"; - sources = name: system: { - x86_64-darwin = { - url = "${baseUrl}/${name}-darwin-x86_64.tar.gz"; - sha256 = "19s3nryngzv7zs7piwx92hii5p2y97fs7wngqrd9v8cxvgavp1dc"; - }; - - aarch64-darwin = { - url = "${baseUrl}/${name}-darwin-arm.tar.gz"; - sha256 = "1iphpkxrrp0gdan7ikbjbhykdpazcs1fnlcwkfyv2m9baggkd53z"; - }; - - x86_64-linux = { - url = "${baseUrl}/${name}-linux-x86_64.tar.gz"; - sha256 = "1z1ymvij9vi8jc05b004jhd08dqbk133wd03fdxnagd6nfr0bjqm"; - }; - - i686-linux = { - url = "${baseUrl}/${name}-linux-x86.tar.gz"; - sha256 = "17i5pkwjmi38klgr12xqgza7iwkx459cbavlq0x33zaq2a4zanlc"; - }; - - aarch64-linux = { - url = "${baseUrl}/${name}-linux-arm.tar.gz"; - sha256 = "17zjnab4ai5w6p3cbxys9zsg4bdlp0lh6pvmkvdz9hszxxch4yms"; - }; - }.${system} or (throw "Unsupported system: ${system}"); + data = import ./data.nix { }; + sources = system: + data.googleCloudSdkPkgs.${system} or (throw "Unsupported system: ${system}"); in stdenv.mkDerivation rec { pname = "google-cloud-sdk"; - version = "362.0.0"; + inherit (data) version; - src = fetchurl (sources "${pname}-${version}" stdenv.hostPlatform.system); + src = fetchurl (sources stdenv.hostPlatform.system); buildInputs = [ python ]; @@ -135,8 +111,9 @@ in stdenv.mkDerivation rec { # This package contains vendored dependencies. All have free licenses. license = licenses.free; homepage = "https://cloud.google.com/sdk/"; + changelog = "https://cloud.google.com/sdk/docs/release-notes"; maintainers = with maintainers; [ iammrinal0 pradyuman stephenmw zimbatm ]; - platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; + platforms = builtins.attrNames data.googleCloudSdkPkgs; mainProgram = "gcloud"; }; } diff --git a/pkgs/tools/admin/google-cloud-sdk/update.sh b/pkgs/tools/admin/google-cloud-sdk/update.sh new file mode 100755 index 00000000000..e0ba8b9c666 --- /dev/null +++ b/pkgs/tools/admin/google-cloud-sdk/update.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env nix-shell +#! nix-shell -i bash -p nix + +BASE_URL="https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk" + +# Version of Google Cloud SDK from +# https://cloud.google.com/sdk/docs/release-notes +VERSION="365.0.0" + +function genMainSrc() { + local url="${BASE_URL}-${VERSION}-${1}-${2}.tar.gz" + local sha256 + sha256=$(nix-prefetch-url "$url") + echo " {" + echo " url = \"${url}\";" + echo " sha256 = \"${sha256}\";" + echo " };" +} + +{ + cat <<EOF +# DO NOT EDIT! This file is generated automatically by update.sh +{ }: +{ + version = "${VERSION}"; + googleCloudSdkPkgs = { +EOF + + echo " x86_64-linux =" + genMainSrc "linux" "x86_64" + + echo " x86_64-darwin =" + genMainSrc "darwin" "x86_64" + + echo " aarch64-linux =" + genMainSrc "linux" "arm" + + echo " aarch64-darwin =" + genMainSrc "darwin" "arm" + + echo " i686-linux =" + genMainSrc "linux" "x86" + + echo " };" + echo "}" + +} >data.nix |