diff --git a/lib/bundler/rubygems_ext.rb b/lib/bundler/rubygems_ext.rb index 876c03eb9ff450..428de48df9074b 100644 --- a/lib/bundler/rubygems_ext.rb +++ b/lib/bundler/rubygems_ext.rb @@ -179,37 +179,7 @@ def to_lock end end - # comparison is done order independently since rubygems 3.2.0.rc.2 - unless Gem::Requirement.new("> 1", "< 2") == Gem::Requirement.new("< 2", "> 1") - class Requirement - module OrderIndependentComparison - def ==(other) - return unless Gem::Requirement === other - - if _requirements_sorted? && other._requirements_sorted? - super - else - _with_sorted_requirements == other._with_sorted_requirements - end - end - - protected - - def _requirements_sorted? - return @_requirements_sorted if defined?(@_requirements_sorted) - strings = as_list - @_requirements_sorted = strings == strings.sort - end - - def _with_sorted_requirements - @_with_sorted_requirements ||= _requirements_sorted? ? self : self.class.new(as_list.sort) - end - end - - prepend OrderIndependentComparison - end - end - + # Requirements using lambda operator differentiate trailing zeros since rubygems 3.2.6 if Gem::Requirement.new("~> 2.0").hash == Gem::Requirement.new("~> 2.0.0").hash class Requirement module CorrectHashForLambdaOperator diff --git a/spec/bundler/commands/clean_spec.rb b/spec/bundler/commands/clean_spec.rb index b4f7014d5c8126..0b559a87c8fcaa 100644 --- a/spec/bundler/commands/clean_spec.rb +++ b/spec/bundler/commands/clean_spec.rb @@ -626,8 +626,6 @@ def should_not_have_gems(*gems) end it "when using --force, it doesn't remove default gem binaries", :realworld do - skip "does not work on rubygems versions where `--install_dir` doesn't respect --default" unless Gem::Installer.for_spec(loaded_gemspec, install_dir: "/foo").default_spec_file == "/foo/specifications/default/bundler-#{Bundler::VERSION}.gemspec" # Since rubygems 3.2.0.rc.2 - default_irb_version = ruby "gem 'irb', '< 999999'; require 'irb'; puts IRB::VERSION", raise_on_error: false skip "irb isn't a default gem" if default_irb_version.empty? diff --git a/spec/bundler/install/gems/standalone_spec.rb b/spec/bundler/install/gems/standalone_spec.rb index 2cac91a1de4f60..46cab2dfeb2aac 100644 --- a/spec/bundler/install/gems/standalone_spec.rb +++ b/spec/bundler/install/gems/standalone_spec.rb @@ -141,8 +141,6 @@ describe "with default gems and a lockfile", :ruby_repo do before do - skip "does not work on rubygems versions where `--install_dir` doesn't respect --default" unless Gem::Installer.for_spec(loaded_gemspec, install_dir: "/foo").default_spec_file == "/foo/specifications/default/bundler-#{Bundler::VERSION}.gemspec" # Since rubygems 3.2.0.rc.2 - realworld_system_gems "tsort --version 0.1.0" necessary_system_gems = ["optparse --version 0.1.1", "psych --version 3.3.2", "logger --version 1.4.3", "etc --version 1.2.0", "stringio --version 3.1.0"] diff --git a/spec/bundler/runtime/inline_spec.rb b/spec/bundler/runtime/inline_spec.rb index 8ee79e3fadc3d5..4a72e5d19cc3d4 100644 --- a/spec/bundler/runtime/inline_spec.rb +++ b/spec/bundler/runtime/inline_spec.rb @@ -592,9 +592,6 @@ def confirm(msg, newline = nil) end it "when requiring fileutils after does not show redefinition warnings", :realworld do - dependency_installer_loads_fileutils = ruby "require 'rubygems/dependency_installer'; puts $LOADED_FEATURES.grep(/fileutils/)", raise_on_error: false - skip "does not work if rubygems/dependency_installer loads fileutils, which happens until rubygems 3.2.0" unless dependency_installer_loads_fileutils.empty? - Dir.mkdir tmp("path_without_gemfile") default_fileutils_version = ruby "gem 'fileutils', '< 999999'; require 'fileutils'; puts FileUtils::VERSION", raise_on_error: false @@ -606,9 +603,6 @@ def confirm(msg, newline = nil) realworld_system_gems "timeout uri" # this spec uses net/http which requires these default gems - # on prerelease rubies, a required_rubygems_version constraint is added by RubyGems to the resolution, causing Molinillo to load the `set` gem - realworld_system_gems "set --version 1.0.3" if Gem.ruby_version.prerelease? - script <<-RUBY, dir: tmp("path_without_gemfile"), env: { "BUNDLER_GEM_DEFAULT_DIR" => system_gem_path.to_s } require "bundler/inline" diff --git a/tool/bundler/dev_gems.rb b/tool/bundler/dev_gems.rb index 3715344262a865..5e5ba94ec215cf 100644 --- a/tool/bundler/dev_gems.rb +++ b/tool/bundler/dev_gems.rb @@ -3,7 +3,7 @@ source "https://rubygems.org" gem "test-unit", "~> 3.0" -gem "rake", "~> 13.0" +gem "rake", "~> 13.1" gem "rb_sys" gem "webrick", "~> 1.6" diff --git a/tool/bundler/test_gems.rb b/tool/bundler/test_gems.rb index 482c9228c404c8..511163b96aa194 100644 --- a/tool/bundler/test_gems.rb +++ b/tool/bundler/test_gems.rb @@ -7,7 +7,7 @@ gem "rack-test", "~> 1.1" gem "compact_index", "~> 0.15.0" gem "sinatra", "~> 2.0" -gem "rake", "13.0.1" +gem "rake", "~> 13.1" gem "builder", "~> 3.2" gem "rb_sys" gem "rubygems-generate_index", "~> 1.1"