about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2020-02-05 19:40:36 +0100
committerGitHub <noreply@github.com>2020-02-05 19:40:36 +0100
commit873e6a4e65451be32e8dcd6151e1f26262ef35f2 (patch)
treee8de7229a05d495ffdc77f2c431433a89bcc82a6
parent0be87c79797a5fa384fbc356c74ed54f9f7829ea (diff)
parent6ceebc441c43c0fd0ef5c61058c1c8ec3b93bc02 (diff)
downloadnixlib-873e6a4e65451be32e8dcd6151e1f26262ef35f2.tar
nixlib-873e6a4e65451be32e8dcd6151e1f26262ef35f2.tar.gz
nixlib-873e6a4e65451be32e8dcd6151e1f26262ef35f2.tar.bz2
nixlib-873e6a4e65451be32e8dcd6151e1f26262ef35f2.tar.lz
nixlib-873e6a4e65451be32e8dcd6151e1f26262ef35f2.tar.xz
nixlib-873e6a4e65451be32e8dcd6151e1f26262ef35f2.tar.zst
nixlib-873e6a4e65451be32e8dcd6151e1f26262ef35f2.zip
Merge pull request #79250 from edef1c/gcloud-sdk-size
google-cloud-sdk: reduce output size
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix19
1 files changed, 17 insertions, 2 deletions
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index 5bcc25ea9899..07a81a5c5254 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -7,7 +7,7 @@
 #   3) used by `google-cloud-sdk` only on GCE guests
 #
 
-{ stdenv, lib, fetchurl, makeWrapper, python, openssl, with-gce ? false }:
+{ stdenv, lib, fetchurl, makeWrapper, python, openssl, jq, with-gce ? false }:
 
 let
   pythonEnv = python.withPackages (p: with p; [
@@ -38,6 +38,8 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [ python makeWrapper ];
 
+  nativeBuildInputs = [ jq ];
+
   patches = [
     ./gcloud-path.patch
   ];
@@ -76,7 +78,20 @@ in stdenv.mkDerivation rec {
 
     # This directory contains compiled mac binaries. We used crcmod from
     # nixpkgs instead.
-    rm -r $out/google-cloud-sdk/platform/gsutil/third_party/crcmod
+    rm -r $out/google-cloud-sdk/platform/gsutil/third_party/crcmod \
+          $out/google-cloud-sdk/platform/gsutil/third_party/crcmod_osx
+
+    # remove tests and test data
+    find $out -name tests -type d -exec rm -rf '{}' +
+
+    # compact all the JSON
+    find $out -name \*.json | while read path; do
+      jq -c . $path > $path.min
+      mv $path.min $path
+    done
+
+    # strip the Cython gRPC library
+    strip $out/google-cloud-sdk/lib/third_party/grpc/_cython/cygrpc.so
   '';
 
   meta = with stdenv.lib; {