diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-01-16 04:52:59 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-01-16 04:52:59 +0000 |
commit | 983cbb1aed57665e3a616f40b759f35bf143e091 (patch) | |
tree | ff9eb17a393cfc7e341154f3a2bfaf9b198981f1 /tool | |
parent | d0cf23b57eae01a21e10658b8272b498117d3913 (diff) | |
download | ruby-983cbb1aed57665e3a616f40b759f35bf143e091.tar.gz |
common.mk: extract-gems
* common.mk (extract-gems): extract gem files to install them even
if zlib is not available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'tool')
-rwxr-xr-x | tool/gem-unpack.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tool/gem-unpack.rb b/tool/gem-unpack.rb new file mode 100755 index 0000000000..5f15751d9c --- /dev/null +++ b/tool/gem-unpack.rb @@ -0,0 +1,16 @@ +require 'rubygems' +require 'rubygems/package' + +def Gem.unpack(file, dir = nil) + pkg = Gem::Package.new(file) + pkg.security_policy = Gem::Security::LowSecurity + 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}.gemspec") + open(spec_file, 'wb') do |f| + f.print spec.to_ruby + end + puts "Unpacked #{file}" +end |