Merge pull request #79250 from edef1c/gcloud-sdk-size

google-cloud-sdk: reduce output size
This commit is contained in:
Florian Klink 2020-02-05 19:40:36 +01:00 committed by GitHub
commit 873e6a4e65
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7,7 +7,7 @@
# 3) used by `google-cloud-sdk` only on GCE guests # 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 let
pythonEnv = python.withPackages (p: with p; [ pythonEnv = python.withPackages (p: with p; [
@ -38,6 +38,8 @@ in stdenv.mkDerivation rec {
buildInputs = [ python makeWrapper ]; buildInputs = [ python makeWrapper ];
nativeBuildInputs = [ jq ];
patches = [ patches = [
./gcloud-path.patch ./gcloud-path.patch
]; ];
@ -76,7 +78,20 @@ in stdenv.mkDerivation rec {
# This directory contains compiled mac binaries. We used crcmod from # This directory contains compiled mac binaries. We used crcmod from
# nixpkgs instead. # 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; { meta = with stdenv.lib; {