summaryrefslogtreecommitdiff
path: root/tool
diff options
context:
space:
mode:
authorHiroshi SHIBATA <hsbt@ruby-lang.org>2023-02-16 17:23:19 +0900
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2023-03-27 17:45:43 +0900
commit3eea85963b35ae17d22030d8dbed1820f1d4a6a5 (patch)
tree9e05a6499a06c2466bef2723fac9887ae6968806 /tool
parent9b7a7e9cef2daa3aec4aeb55205aab9da2db4eb6 (diff)
downloadruby-3eea85963b35ae17d22030d8dbed1820f1d4a6a5.tar.gz
Use gemspec that keeps original dependencies
Diffstat (limited to 'tool')
-rwxr-xr-xtool/rbinstall.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb
index ae4a6940f1..90697bfe92 100755
--- a/tool/rbinstall.rb
+++ b/tool/rbinstall.rb
@@ -1027,9 +1027,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