From d8ab2aecf6417fc6c8f9c43df0d9cfaf8cf3f44e Mon Sep 17 00:00:00 2001
From: Donna Dionne <donnadionne@google.com>
Date: Thu, 23 Jul 2020 16:09:17 -0700
Subject: [PATCH] Fixing Ruby 1.31.0.pre1 compilation failure with source-only
 package

missing re2 from build_handwritten.yaml and generated grpc.gemspec
---
 build_handwritten.yaml |  1 +
 grpc.gemspec           | 49 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 50 insertions(+)

diff --git a/build_handwritten.yaml b/build_handwritten.yaml
index 2ca57ac7145..2187d9ad499 100644
--- a/build_handwritten.yaml
+++ b/build_handwritten.yaml
@@ -264,4 +264,5 @@ ruby_gem:
   - address_sorting
   - ares
   - boringssl
+  - re2
   - z
diff --git a/grpc.gemspec b/grpc.gemspec
index 5b84d4ecf26..517c544311e 100644
--- a/grpc.gemspec
+++ b/grpc.gemspec
@@ -1655,6 +1655,55 @@ Gem::Specification.new do |s|
   s.files += %w( third_party/cares/config_freebsd/ares_config.h )
   s.files += %w( third_party/cares/config_linux/ares_config.h )
   s.files += %w( third_party/cares/config_openbsd/ares_config.h )
+  s.files += %w( third_party/re2/re2/bitmap256.h )
+  s.files += %w( third_party/re2/re2/bitstate.cc )
+  s.files += %w( third_party/re2/re2/compile.cc )
+  s.files += %w( third_party/re2/re2/dfa.cc )
+  s.files += %w( third_party/re2/re2/filtered_re2.cc )
+  s.files += %w( third_party/re2/re2/filtered_re2.h )
+  s.files += %w( third_party/re2/re2/mimics_pcre.cc )
+  s.files += %w( third_party/re2/re2/nfa.cc )
+  s.files += %w( third_party/re2/re2/onepass.cc )
+  s.files += %w( third_party/re2/re2/parse.cc )
+  s.files += %w( third_party/re2/re2/perl_groups.cc )
+  s.files += %w( third_party/re2/re2/pod_array.h )
+  s.files += %w( third_party/re2/re2/prefilter.cc )
+  s.files += %w( third_party/re2/re2/prefilter.h )
+  s.files += %w( third_party/re2/re2/prefilter_tree.cc )
+  s.files += %w( third_party/re2/re2/prefilter_tree.h )
+  s.files += %w( third_party/re2/re2/prog.cc )
+  s.files += %w( third_party/re2/re2/prog.h )
+  s.files += %w( third_party/re2/re2/re2.cc )
+  s.files += %w( third_party/re2/re2/re2.h )
+  s.files += %w( third_party/re2/re2/regexp.cc )
+  s.files += %w( third_party/re2/re2/regexp.h )
+  s.files += %w( third_party/re2/re2/set.cc )
+  s.files += %w( third_party/re2/re2/set.h )
+  s.files += %w( third_party/re2/re2/simplify.cc )
+  s.files += %w( third_party/re2/re2/sparse_array.h )
+  s.files += %w( third_party/re2/re2/sparse_set.h )
+  s.files += %w( third_party/re2/re2/stringpiece.cc )
+  s.files += %w( third_party/re2/re2/stringpiece.h )
+  s.files += %w( third_party/re2/re2/tostring.cc )
+  s.files += %w( third_party/re2/re2/unicode_casefold.cc )
+  s.files += %w( third_party/re2/re2/unicode_casefold.h )
+  s.files += %w( third_party/re2/re2/unicode_groups.cc )
+  s.files += %w( third_party/re2/re2/unicode_groups.h )
+  s.files += %w( third_party/re2/re2/walker-inl.h )
+  s.files += %w( third_party/re2/util/benchmark.h )
+  s.files += %w( third_party/re2/util/flags.h )
+  s.files += %w( third_party/re2/util/logging.h )
+  s.files += %w( third_party/re2/util/malloc_counter.h )
+  s.files += %w( third_party/re2/util/mix.h )
+  s.files += %w( third_party/re2/util/mutex.h )
+  s.files += %w( third_party/re2/util/pcre.cc )
+  s.files += %w( third_party/re2/util/pcre.h )
+  s.files += %w( third_party/re2/util/rune.cc )
+  s.files += %w( third_party/re2/util/strutil.cc )
+  s.files += %w( third_party/re2/util/strutil.h )
+  s.files += %w( third_party/re2/util/test.h )
+  s.files += %w( third_party/re2/util/utf.h )
+  s.files += %w( third_party/re2/util/util.h )
   s.files += %w( third_party/upb/upb/decode.c )
   s.files += %w( third_party/upb/upb/decode.h )
   s.files += %w( third_party/upb/upb/encode.c )