summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/maintainers.nix1
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix51
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 54 insertions, 0 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index bf1e1bba1c8..0d42ca79987 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -200,6 +200,7 @@
   smironov = "Sergey Mironov <ierton@gmail.com>";
   sprock = "Roger Mason <rmason@mun.ca>";
   spwhitt = "Spencer Whitt <sw@swhitt.me>";
+  stephenmw = "Stephen Weinberg <stephen@q5comm.com>";
   sztupi = "Attila Sztupak <attila.sztupak@gmail.com>";
   tailhook = "Paul Colomiets <paul@colomiets.name>";
   taktoa = "Remy Goldschmidt <taktoa@gmail.com>";
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
new file mode 100644
index 00000000000..d2c22b055be
--- /dev/null
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -0,0 +1,51 @@
+{stdenv, fetchurl, python27, python27Packages, makeWrapper}:
+
+stdenv.mkDerivation rec {
+  version = "0.9.58";
+  name = "google-cloud-sdk-${version}";
+
+  src = fetchurl {
+    url = "https://dl.google.com/dl/cloudsdk/release/packages/google-cloud-sdk-coretools-linux-static-20150429151447.tar.gz";
+    sha256 = "0sak1fmm7z7ry1k2r67a13mpgi55rbnx81s0y0xhd86dm5aw4f48";
+  };
+
+  buildInputs = [python27 makeWrapper];
+
+  phases = [ "installPhase" "fixupPhase" ];
+
+  installPhase = ''
+    mkdir -p "$out"
+    tar -xzf "$src" -C "$out" google-cloud-sdk
+
+    # create wrappers with correct env
+    for program in gcloud bq gsutil git-credential-gcloud.sh; do
+        programPath="$out/google-cloud-sdk/bin/$program"
+        wrapper="$out/bin/$program"
+        makeWrapper "$programPath" "$wrapper" \
+            --set CLOUDSDK_PYTHON "${python27}/bin/python" \
+            --prefix PYTHONPATH : "$(toPythonPath ${python27Packages.crcmod})"
+    done
+
+    # install man pages
+    mv "$out/google-cloud-sdk/help/man" "$out"
+
+    # setup bash completion
+    mkdir -p "$out/etc/bash_completion.d/"
+    mv "$out/google-cloud-sdk/completion.bash.inc" "$out/etc/bash_completion.d/gcloud.inc"
+
+    # This directory contains compiled mac binaries. We used crcmod from
+    # nixpkgs instead.
+    rm -r $out/google-cloud-sdk/platform/gsutil/third_party/crcmod
+  '';
+
+  meta = {
+    description = "Tools for the google cloud platform";
+    longDescription = "The Google Cloud SDK. This package has the programs: gcloud, gsutil, and bq";
+    version = version;
+    # This package contains vendored dependencies. All have free licenses.
+    license = stdenv.lib.licenses.free;
+    homepage = "https://cloud.google.com/sdk/";
+    maintainers = with stdenv.lib.maintainers; [stephenmw];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 88a9cca6302..8b0c09f2974 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1578,6 +1578,8 @@ let
 
   googleAuthenticator = callPackage ../os-specific/linux/google-authenticator { };
 
+  google-cloud-sdk = callPackage ../tools/admin/google-cloud-sdk { };
+
   gource = callPackage ../applications/version-management/gource { };
 
   gparted = callPackage ../tools/misc/gparted { };