summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiroshi SHIBATA <hsbt@ruby-lang.org>2023-02-16 17:23:19 +0900
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2024-08-07 09:51:48 +0800
commit8d80dad6bc235ca285c1fa4b6dbf8bee96c69d54 (patch)
tree6d60a9a6984cad573c3085d2fc1ec1706e56a291
parentbc6db54d03a25fd3df8bfa5cda070141225c78d1 (diff)
Use gemspec that keeps original dependencies
-rwxr-xr-xtool/rbinstall.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb
index ee3b0c96be..96de12846c 100755
--- a/tool/rbinstall.rb
+++ b/tool/rbinstall.rb
@@ -1046,9 +1046,12 @@ install?(:ext, :comm, :gem, :'bundled-gems') do
next if /^\s*(?:#|$)/ =~ name
next unless /^(\S+)\s+(\S+).*/ =~ name
gem_name = "#$1-#$2"
- path = "#{srcdir}/.bundle/specifications/#{gem_name}.gemspec"
+ # Try to find the gemspec file for C ext gems
+ # ex .bundle/gems/debug-1.7.1/debug-1.7.1.gemspec
+ # This gemspec keep the original dependencies
+ path = "#{srcdir}/.bundle/gems/#{gem_name}/#{gem_name}.gemspec"
unless File.exist?(path)
- path = "#{srcdir}/.bundle/gems/#{gem_name}/#{gem_name}.gemspec"
+ path = "#{srcdir}/.bundle/specifications/#{gem_name}.gemspec"
unless File.exist?(path)
skipped[gem_name] = "gemspec not found"
next