summary refs log tree commit diff
path: root/pkgs/tools/admin/google-cloud-sdk/default.nix
diff options
context:
space:
mode:
authorStephen Weinberg <stephen@q5comm.com>2015-05-05 17:09:40 -0400
committerStephen Weinberg <stephen@q5comm.com>2015-05-24 06:20:45 +0200
commitda2aef368559a6991f1a455fd1cb383409505006 (patch)
tree6767727d1400d4f8259ab60f78aaff3099d9b752 /pkgs/tools/admin/google-cloud-sdk/default.nix
parentf93a8ee1105f4cc3770ce339a8c1a4acea3b2fb6 (diff)
downloadnixlib-da2aef368559a6991f1a455fd1cb383409505006.tar
nixlib-da2aef368559a6991f1a455fd1cb383409505006.tar.gz
nixlib-da2aef368559a6991f1a455fd1cb383409505006.tar.bz2
nixlib-da2aef368559a6991f1a455fd1cb383409505006.tar.lz
nixlib-da2aef368559a6991f1a455fd1cb383409505006.tar.xz
nixlib-da2aef368559a6991f1a455fd1cb383409505006.tar.zst
nixlib-da2aef368559a6991f1a455fd1cb383409505006.zip
Add the google-cloud-sdk package
Diffstat (limited to 'pkgs/tools/admin/google-cloud-sdk/default.nix')
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix51
1 files changed, 51 insertions, 0 deletions
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 000000000000..d2c22b055be6
--- /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;
+  };
+}