diff options
Diffstat (limited to 'lib/rubygems/package')
-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 |