summaryrefslogtreecommitdiff
path: root/lib/bundler/resolver.rb
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2023-01-07 18:57:45 +0100
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2023-01-10 12:58:28 +0900
commit2e0159c5f26e65b9bb6edc58c024bb551cc80024 (patch)
tree8dce661fbfaf5d06a995eec3fb773b87c9f4399a /lib/bundler/resolver.rb
parent97d52a8ea230ccb236b63c06993c266ebb5431ca (diff)
[rubygems/rubygems] Fix resolver edge case
Let it deal with legacy gems with equivalent version and different dependencies. https://github.com/rubygems/rubygems/commit/b430babe97
Diffstat (limited to 'lib/bundler/resolver.rb')
-rw-r--r--lib/bundler/resolver.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/bundler/resolver.rb b/lib/bundler/resolver.rb
index 6037148294..403ce825d3 100644
--- a/lib/bundler/resolver.rb
+++ b/lib/bundler/resolver.rb
@@ -215,7 +215,7 @@ module Bundler
def all_versions_for(package)
name = package.name
- results = (@base[name] + @all_specs[name]).uniq(&:full_name)
+ results = (@base[name] + @all_specs[name]).uniq {|spec| [spec.version.hash, spec.platform] }
locked_requirement = base_requirements[name]
results = filter_matching_specs(results, locked_requirement) if locked_requirement