diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-08-12 00:42:44 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-08-12 00:42:44 +0000 |
commit | 6f511d694af4314a46efd223b12c24218752cc02 (patch) | |
tree | 188ec5fc2767d4ed458b72134c911093bf001666 /lib/rubygems | |
parent | 86ba0649aed238c88b24c2adc070a4fffd1dcecf (diff) |
* backport r32941 from trunk
* lib/rubygems: Import RubyGems 1.8.8. Fixes encoding of YAML gemspec
from gems. Github Issue #149
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@32942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems')
-rw-r--r-- | lib/rubygems/package/tar_input.rb | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/rubygems/package/tar_input.rb b/lib/rubygems/package/tar_input.rb index 26b4e81ead..5ac93ff336 100644 --- a/lib/rubygems/package/tar_input.rb +++ b/lib/rubygems/package/tar_input.rb @@ -49,8 +49,13 @@ class Gem::Package::TarInput sio.rewind end - # TODO use Gem.gunzip - gzis = Zlib::GzipReader.new(sio || entry) + # Ruby 1.8 doesn't have encoding and YAML is UTF-8 + args = [sio || entry] + args << { :external_encoding => Encoding::UTF_8 } if + Object.const_defined?(:Encoding) + + gzis = Zlib::GzipReader.new(*args) + # YAML wants an instance of IO @metadata = load_gemspec(gzis) has_meta = true |