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/