summaryrefslogtreecommitdiff
path: root/common.mk
diff options
context:
space:
mode:
authornagachika <nagachika@ruby-lang.org>2022-10-20 21:33:39 +0900
committernagachika <nagachika@ruby-lang.org>2022-10-20 21:33:39 +0900
commit4bb62ee57285da427d73ba30e7d76f0f377c9936 (patch)
treee5e6bf3e034d4e6e0564072ab212b06ab00c9984 /common.mk
parent46c2bf373d2665148f5004186209fee15c96f9b6 (diff)
merge revision(s) 6a8f1a9e5cd1c9c2b3c6925d8d3fa76a29dabf73:
Copy from bundled gem source for test --- common.mk | 13 +++++++---- defs/gmake.mk | 4 ++++ tool/gem-unpack.rb | 63 +++++++++++++++++++++++++++++++++++------------------- 3 files changed, 54 insertions(+), 26 deletions(-)
Diffstat (limited to 'common.mk')
-rw-r--r--common.mk15
1 files changed, 9 insertions, 6 deletions
diff --git a/common.mk b/common.mk
index 622f21210c..e161e960ef 100644
--- a/common.mk
+++ b/common.mk
@@ -1349,7 +1349,7 @@ update-config_files: PHONY
refresh-gems: update-bundled_gems prepare-gems
prepare-gems: $(HAVE_BASERUBY:yes=update-gems) $(HAVE_BASERUBY:yes=extract-gems)
-update-gems$(gnumake:yes=-nongnumake): PHONY
+update-gems$(gnumake:yes=-sequential): PHONY
$(ECHO) Downloading bundled gem files...
$(Q) $(BASERUBY) -C "$(srcdir)" \
-I./tool -rdownloader -answ \
@@ -1363,17 +1363,20 @@ update-gems$(gnumake:yes=-nongnumake): PHONY
-e 'FileUtils.rm_rf(old.map{'"|n|"'n.chomp(".gem")})' \
gems/bundled_gems
-extract-gems$(gnumake:yes=-nongnumake): PHONY
+extract-gems$(gnumake:yes=-sequential): PHONY
$(ECHO) Extracting bundled gem files...
$(Q) $(RUNRUBY) -C "$(srcdir)" \
-Itool -rgem-unpack -answ \
-e 'BEGIN {FileUtils.mkdir_p(d = ".bundle/gems")}' \
- -e 'BEGIN {FileUtils.mkdir_p(s = ".bundle/specifications")}' \
- -e 'BEGIN {d = ".bundle/gems"}' \
- -e 'gem, ver = *$$F' \
+ -e 'gem, ver, _, rev = *$$F' \
-e 'next if !ver or /^#/=~gem' \
-e 'g = "#{gem}-#{ver}"' \
- -e 'File.directory?("#{d}/#{g}") or Gem.unpack("gems/#{g}.gem", ".bundle")' \
+ -e 'if File.directory?("#{d}/#{g}")' \
+ -e 'elsif rev and File.exist?(gs = "gems/src/#{gem}/#{gem}.gemspec")' \
+ -e 'Gem.copy(gs, ".bundle")' \
+ -e 'else' \
+ -e 'Gem.unpack("gems/#{g}.gem", ".bundle")' \
+ -e 'end' \
gems/bundled_gems
update-bundled_gems: PHONY