diff --git a/ruby/Rakefile b/ruby/Rakefile
index c05e115..20144b7 100644
--- a/ruby/Rakefile
+++ b/ruby/Rakefile
@@ -1,6 +1,4 @@
 require "rubygems"
-require "rubygems/package_task"
-require "rake/extensiontask" unless RUBY_PLATFORM == "java"
 require "rake/testtask"
 
 spec = Gem::Specification.load("google-protobuf.gemspec")
@@ -95,57 +93,6 @@ else
     FileUtils.cp(utf8_root+"/range2-neon.c", "ext/google/protobuf_c")
     FileUtils.cp(utf8_root+"/range2-sse.c", "ext/google/protobuf_c")
   end
-
-  Rake::ExtensionTask.new("protobuf_c", spec) do |ext|
-    unless RUBY_PLATFORM =~ /darwin/
-      # TODO: also set "no_native to true" for mac if possible. As is,
-      # "no_native" can only be set if the RUBY_PLATFORM doing
-      # cross-compilation is contained in the "ext.cross_platform" array.
-      ext.no_native = true
-    end
-    ext.ext_dir = "ext/google/protobuf_c"
-    ext.lib_dir = "lib/google"
-    ext.cross_compile = true
-    ext.cross_platform = [
-      'x86-mingw32', 'x64-mingw32', 'x64-mingw-ucrt',
-      'x86_64-linux', 'x86-linux',
-      'x86_64-darwin', 'arm64-darwin',
-    ]
-  end
-
-  task 'gem:java' do
-    sh "rm Gemfile.lock"
-    require 'rake_compiler_dock'
-    # Specify the repo root as the working and mount directory to provide access
-    # to the java directory
-    repo_root = File.realdirpath File.join(Dir.pwd, '..')
-    RakeCompilerDock.sh <<-"EOT", platform: 'jruby', rubyvm: :jruby, mountdir: repo_root, workdir: repo_root
-      sudo apt-get install maven -y && \
-      cd java && mvn install -Dmaven.test.skip=true && cd ../ruby && \
-      bundle && \
-      IN_DOCKER=true rake compile gem
-    EOT
-  end
-
-  task 'gem:windows' do
-    sh "rm Gemfile.lock"
-    require 'rake_compiler_dock'
-    ['x86-mingw32', 'x64-mingw32', 'x64-mingw-ucrt', 'x86_64-linux', 'x86-linux'].each do |plat|
-      RakeCompilerDock.sh <<-"EOT", platform: plat
-        bundle && \
-        IN_DOCKER=true rake native:#{plat} pkg/#{spec.full_name}-#{plat}.gem RUBY_CC_VERSION=3.1.0:3.0.0:2.7.0:2.6.0
-      EOT
-    end
-  end
-
-  if RUBY_PLATFORM =~ /darwin/
-    task 'gem:native' do
-      system "rake genproto"
-      system "rake cross native gem RUBY_CC_VERSION=3.1.0:3.0.0:2.7.0:2.6.0"
-    end
-  else
-    task 'gem:native' => [:genproto, 'gem:windows', 'gem:java']
-  end
 end
 
 task :genproto => genproto_output
@@ -154,9 +101,6 @@ task :clean do
   sh "rm -f #{genproto_output.join(' ')}"
 end
 
-Gem::PackageTask.new(spec) do |pkg|
-end
-
 # Skip build/genproto in Bazel builds, where we expect this to
 # be done already.
 Rake::TestTask.new(:test => ENV['BAZEL'] == 'true' ? [] : [:build, :genproto]) do |t|