diff options
author | nagachika <nagachika@ruby-lang.org> | 2022-10-15 16:25:26 +0900 |
---|---|---|
committer | nagachika <nagachika@ruby-lang.org> | 2022-10-15 16:25:26 +0900 |
commit | f2c28e90698d6d9e8321237d3510d1737fc166ca (patch) | |
tree | 4983ced5a337aca785ecafff0b8a852bb4770e76 /tool | |
parent | ef7cf5304eeb1835d4bf50f0001f7fd889b630a7 (diff) | |
download | ruby-f2c28e90698d6d9e8321237d3510d1737fc166ca.tar.gz |
merge revision(s) bb0a22a8c05994396aa316c242ff8816d8d0a259:
Obey spec file locations to rubygems
---
common.mk | 3 ++-
defs/gmake.mk | 2 +-
tool/gem-unpack.rb | 5 +++--
3 files changed, 6 insertions(+), 4 deletions(-)
Diffstat (limited to 'tool')
-rw-r--r-- | tool/gem-unpack.rb | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/tool/gem-unpack.rb b/tool/gem-unpack.rb index cb05719463..fe10b0e420 100644 --- a/tool/gem-unpack.rb +++ b/tool/gem-unpack.rb @@ -5,13 +5,14 @@ require 'rubygems/package' # This library is used by "make extract-gems" to # unpack bundled gem files. -def Gem.unpack(file, dir = nil) +def Gem.unpack(file, dir = nil, spec_dir = nil) pkg = Gem::Package.new(file) spec = pkg.spec target = spec.full_name target = File.join(dir, target) if dir pkg.extract_files target - spec_file = File.join(target, "#{spec.name}-#{spec.version}.gemspec") + FileUtils.mkdir_p(spec_dir ||= target) + spec_file = File.join(spec_dir, "#{spec.name}-#{spec.version}.gemspec") open(spec_file, 'wb') do |f| f.print spec.to_ruby end |