[前][次][番号順一覧][スレッド一覧]

ruby-changes:71657

From: Nobuyoshi <ko1@a...>
Date: Thu, 7 Apr 2022 09:47:22 +0900 (JST)
Subject: [ruby-changes:71657] db3d111c1d (master): Bundled gems are expanded under `.bundle/gems` now

https://git.ruby-lang.org/ruby.git/commit/?id=db3d111c1d

From db3d111c1d1e90b400f1e737ded6a4e4bdf2cec8 Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Tue, 5 Apr 2022 23:24:00 +0900
Subject: Bundled gems are expanded under `.bundle/gems` now

---
 ext/extmk.rb          | 13 +++++++------
 template/exts.mk.tmpl |  2 +-
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/ext/extmk.rb b/ext/extmk.rb
index 4a087f294a..1da9e27045 100755
--- a/ext/extmk.rb
+++ b/ext/extmk.rb
@@ -146,7 +146,7 @@ def extmake(target, basedir = 'ext', maybestatic = true) https://github.com/ruby/ruby/blob/trunk/ext/extmk.rb#L146
     top_srcdir = $top_srcdir
     topdir = $topdir
     hdrdir = $hdrdir
-    prefix = "../" * (target.count("/")+1)
+    prefix = "../" * (basedir.count("/")+target.count("/")+1)
     $top_srcdir = relative_from(top_srcdir, prefix)
     $hdrdir = relative_from(hdrdir, prefix)
     $topdir = prefix + $topdir
@@ -460,10 +460,11 @@ for dir in ["ext", File::join($top_srcdir, "ext")] https://github.com/ruby/ruby/blob/trunk/ext/extmk.rb#L460
 end unless $extstatic
 
 @gemname = nil
-if ARGV[0]
-  ext_prefix, exts = ARGV.shift.split('/', 2)
+if exts = ARGV.shift
+  ext_prefix = exts[%r[\A(?>\.bundle/)?[^/]+(?:/(?=(.+)?)|\z)]]
+  exts = $1
   $extension = [exts] if exts
-  if ext_prefix == 'gems'
+  if ext_prefix.start_with?('.')
     @gemname = exts
   elsif exts
     $static_ext.delete_if {|t, *| !File.fnmatch(t, exts)}
@@ -515,7 +516,7 @@ cond = proc {|ext, *| https://github.com/ruby/ruby/blob/trunk/ext/extmk.rb#L516
     exts.delete_if {|d| File.fnmatch?("-*", d)}
   end
 end
-ext_prefix = File.basename(ext_prefix)
+ext_prefix = ext_prefix[$top_srcdir.size+1..-2]
 
 extend Module.new {
   def timestamp_file(name, target_prefix = nil)
@@ -634,7 +635,7 @@ rubies = [] https://github.com/ruby/ruby/blob/trunk/ext/extmk.rb#L635
   end
 }
 
-Dir.chdir ".."
+Dir.chdir dir
 unless $destdir.to_s.empty?
   $mflags.defined?("DESTDIR") or $mflags << "DESTDIR=#{$destdir}"
 end
diff --git a/template/exts.mk.tmpl b/template/exts.mk.tmpl
index 2f37f4480a..964939e365 100644
--- a/template/exts.mk.tmpl
+++ b/template/exts.mk.tmpl
@@ -25,7 +25,7 @@ macros["old_extensions"] = [] https://github.com/ruby/ruby/blob/trunk/template/exts.mk.tmpl#L25
 
 contpat = /(?>(?>[^\\\n]|\\.)*\\\n)*(?>[^\\\n]|\\.)*/
 Dir.glob("{ext,.bundle/gems}/*/exts.mk") do |e|
-  gem = /\Agems(?=\/)/ =~ e
+  gem = e.start_with?(".bundle/gems/")
   s = File.read(e)
   s.scan(/^(extensions|SUBMAKEOPTS|EXT[A-Z]+|MFLAGS|NOTE_[A-Z]+)[ \t]*=[ \t]*(#{contpat})$/o) do |n, v|
     v.gsub!(/\\\n[ \t]*/, ' ')
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]