8000 Sync with upstream rubygems by deivid-rodriguez · Pull Request #9206 · ruby/ruby · GitHub
[go: up one dir, main page]

Skip to content

Sync with upstream rubygems #9206

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Dec 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 1 addition & 31 deletions lib/bundler/rubygems_ext.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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 @_requiremen 8000 ts_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
Expand Down
2 changes: 0 additions & 2 deletions spec/bundler/commands/clean_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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?

Expand Down
2 changes: 0 additions & 2 deletions spec/bundler/install/gems/standalone_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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"]
Expand Down
6 changes: 0 additions & 6 deletions spec/bundler/runtime/inline_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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"

Expand Down
2 changes: 1 addition & 1 deletion tool/bundler/dev_gems.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion tool/bundler/test_gems.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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"
0