summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorzimbatm <zimbatm@zimbatm.com>2017-11-16 14:36:35 +0000
committerGitHub <noreply@github.com>2017-11-16 14:36:35 +0000
commit2d95a6ab220835c1d901bbc3b8f30bc2b628ac7f (patch)
tree2f109a38e7c0417c6cbfa0d40849e15a40c24f6c /pkgs
parent4cc5d222ce596fd79d9541c1eb7e7c2b0164bec3 (diff)
parentf4c1bcd89572570becb21fdc1d2ef57f36012618 (diff)
downloadnixpkgs-2d95a6ab220835c1d901bbc3b8f30bc2b628ac7f.tar
nixpkgs-2d95a6ab220835c1d901bbc3b8f30bc2b628ac7f.tar.gz
nixpkgs-2d95a6ab220835c1d901bbc3b8f30bc2b628ac7f.tar.bz2
nixpkgs-2d95a6ab220835c1d901bbc3b8f30bc2b628ac7f.tar.lz
nixpkgs-2d95a6ab220835c1d901bbc3b8f30bc2b628ac7f.tar.xz
nixpkgs-2d95a6ab220835c1d901bbc3b8f30bc2b628ac7f.tar.zst
nixpkgs-2d95a6ab220835c1d901bbc3b8f30bc2b628ac7f.zip
Merge pull request #31709 from ilya-kolpakov/google-cloud-sdk-fix
google-cloud-sdk: disable gce as a dependency by default (fixes #31369)
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix23
-rw-r--r--pkgs/top-level/all-packages.nix1
-rw-r--r--pkgs/top-level/python-packages.nix1
3 files changed, 19 insertions, 6 deletions
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index 3622b981cc4..6dec65892b0 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -1,23 +1,34 @@
-{ 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";
   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};
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 13d168b1f8c..c89a00e3977 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 30433a509f4..ae3e8986885 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 { };