From fc8fbab87fead3d42ba5849ab50decf2f35aafcf Mon Sep 17 00:00:00 2001 From: Ilya Kolpakov Date: Thu, 16 Nov 2017 11:12:55 +0100 Subject: [PATCH 1/3] google-cloud-sdk: don't repeat base download url --- pkgs/tools/admin/google-cloud-sdk/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix index 3622b981cc4..ee62b1b84f1 100644 --- a/pkgs/tools/admin/google-cloud-sdk/default.nix +++ b/pkgs/tools/admin/google-cloud-sdk/default.nix @@ -5,19 +5,20 @@ let pythonInputs = [ cffi cryptography pyopenssl crcmod google-compute-engine ]; pythonPath = lib.makeSearchPath python.sitePackages pythonInputs; + baseUrl = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads"; sources = name: system: { i686-linux = { - url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/${name}-linux-x86.tar.gz"; + url = "${baseUrl}/${name}-linux-x86.tar.gz"; sha256 = "0aq938s1w9mzj60avmcc68kgll54pl7635vl2mi89f6r56n0xslp"; }; x86_64-darwin = { - url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/${name}-darwin-x86_64.tar.gz"; + url = "${baseUrl}/${name}-darwin-x86_64.tar.gz"; sha256 = "13k2i1svry9q800s1jgf8jss0rzfxwk6qci3hsy1wrb9b2mwlz5g"; }; x86_64-linux = { - url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/${name}-linux-x86_64.tar.gz"; + url = "${baseUrl}/${name}-linux-x86_64.tar.gz"; sha256 = "1kvaz8p1iflsi85wwi7lb6km6frj70xsricyz1ah0sw3q71zyqmc"; }; }.${system}; From 886770c6f0ea3ed43ac934e459efe3ba5f9879e2 Mon Sep 17 00:00:00 2001 From: Ilya Kolpakov Date: Thu, 16 Nov 2017 13:46:37 +0100 Subject: [PATCH 2/3] google-cloud-sdk: no dependence on gce by default (fixes #31369) --- pkgs/tools/admin/google-cloud-sdk/default.nix | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix index ee62b1b84f1..6dec65892b0 100644 --- a/pkgs/tools/admin/google-cloud-sdk/default.nix +++ b/pkgs/tools/admin/google-cloud-sdk/default.nix @@ -1,8 +1,18 @@ -{ stdenv, lib, fetchurl, python, cffi, cryptography, pyopenssl, crcmod, google-compute-engine, makeWrapper }: +# Make sure that the "with-gce" flag is set when building `google-cloud-sdk` +# for GCE hosts. This flag prevents "google-compute-engine" from being a +# default dependency which is undesirable because this package is +# +# 1) available only on GNU/Linux (requires `systemd` in particular) +# 2) intended only for GCE guests (and is useless elsewhere) +# 3) used by `google-cloud-sdk` only on GCE guests +# + +{ stdenv, lib, fetchurl, makeWrapper, python, cffi, cryptography, pyopenssl, + crcmod, google-compute-engine, with-gce ? false }: -# other systems not supported yet let - pythonInputs = [ cffi cryptography pyopenssl crcmod google-compute-engine ]; + pythonInputs = [ cffi cryptography pyopenssl crcmod ] + ++ lib.optional (with-gce) google-compute-engine; pythonPath = lib.makeSearchPath python.sitePackages pythonInputs; baseUrl = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads"; From f4c1bcd89572570becb21fdc1d2ef57f36012618 Mon Sep 17 00:00:00 2001 From: Ilya Kolpakov Date: Thu, 16 Nov 2017 13:50:34 +0100 Subject: [PATCH 3/3] google-cloud-sdk-gce: a version for GCE hosts (depends on google-compute-engine) --- pkgs/top-level/all-packages.nix | 1 + pkgs/top-level/python-packages.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d2aeb4a8e66..fb6a72ed0cc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2364,6 +2364,7 @@ with pkgs; google-authenticator = callPackage ../os-specific/linux/google-authenticator { }; google-cloud-sdk = python2.pkgs.google-cloud-sdk; + google-cloud-sdk-gce = python2.pkgs.google-cloud-sdk-gce; google-fonts = callPackage ../data/fonts/google-fonts { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8f88c7e17ee..cea5068a7e8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5445,6 +5445,7 @@ in { }; google-cloud-sdk = callPackage ../tools/admin/google-cloud-sdk { }; + google-cloud-sdk-gce = callPackage ../tools/admin/google-cloud-sdk { with-gce=true; }; google-compute-engine = callPackage ../tools/virtualization/google-compute-engine { };