From 0cb9b7aca5edcc7943af18ff5825dd9391f61899 Mon Sep 17 00:00:00 2001 From: Josh Cooper Date: Wed, 8 May 2024 01:21:32 -0700 Subject: [PATCH] Update rubygems patch for ruby 3.2.4 Previously, our rubygems patch wasn't being applied when cross compiling using ruby 3.2.4 as the "base" ruby because builder.rb changed: - cmd = Gem.ruby.shellsplit + cmd = Shellwords.split(Gem.ruby) Update our patch to match. Also raise if pl-ruby/homebrew version is newer than 3.2.4, so we know to update patch. --- configs/components/pl-ruby-patch.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/configs/components/pl-ruby-patch.rb b/configs/components/pl-ruby-patch.rb index 94e3aa592..db751e2a0 100644 --- a/configs/components/pl-ruby-patch.rb +++ b/configs/components/pl-ruby-patch.rb @@ -54,11 +54,15 @@ end # make rubygems use our target rbconfig when installing gems - case File.basename(base_ruby) - when '2.0.0', '2.1.0' + base_version = Gem::Version.new(File.basename(base_ruby)) + if base_version <= Gem::Version.new('2.1.0') sed_command = %(s|Gem.ruby|&, '-r/opt/puppetlabs/puppet/share/doc/rbconfig-#{settings[:ruby_version]}-orig.rb'|) - else + elsif base_version <= Gem::Version.new('3.2.2') + sed_command = %(s|Shellwords.split(Gem.ruby)|& << '-r/opt/puppetlabs/puppet/share/doc/rbconfig-#{settings[:ruby_version]}-orig.rb'|) + elsif base_version <= Gem::Version.new('3.2.4') sed_command = %(s|Gem.ruby.shellsplit|& << '-r/opt/puppetlabs/puppet/share/doc/rbconfig-#{settings[:ruby_version]}-orig.rb'|) + else + raise "pl-ruby-patch does not support ruby #{base_version} yet" end # rubygems switched which file has the command we need to patch starting in rubygems 3.4.10, which we install in our formula