diff --git a/ruby/Rakefile b/ruby/Rakefile index 8f5d8416a3..6d842917c3 100644 --- a/ruby/Rakefile +++ b/ruby/Rakefile @@ -114,6 +114,13 @@ else 'x86_64-linux', 'x86-linux', 'x86_64-darwin', 'arm64-darwin', ] + + ext.cross_compiling do |gem_spec| + # rake-compiler would call `spec.extensions.clear` which removes the `Rakefile` extension, + # that `rake` doesn't need to be a runtime dependency for native gems. + gem_spec.dependencies.delete_if { |dependency| dependency.name == 'rake' } + gem_spec.add_development_dependency 'rake', '>= 13' + end end task 'gem:java' do diff --git a/ruby/google-protobuf.gemspec b/ruby/google-protobuf.gemspec index e3770be416..951df63000 100644 --- a/ruby/google-protobuf.gemspec +++ b/ruby/google-protobuf.gemspec @@ -32,7 +32,7 @@ Gem::Specification.new do |s| s.add_development_dependency "rake-compiler-dock", "= 1.2.1" end s.required_ruby_version = '>= 2.7' - s.add_development_dependency "rake", "~> 13" + s.add_dependency "rake", ">= 13" s.add_development_dependency "ffi", "~>1" s.add_development_dependency "ffi-compiler", "~>1" s.add_development_dependency "rake-compiler", "~> 1.1.0"