From 5e4de2a2656607feaa38aedfbaf705d1a9a8c6a6 Mon Sep 17 00:00:00 2001 From: drbrain Date: Fri, 12 Aug 2011 00:15:42 +0000 Subject: [PATCH] * 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/trunk@32941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ lib/rubygems.rb | 2 +- lib/rubygems/package/tar_input.rb | 9 +++++++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1eaf9e686c..6ac034780c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Aug 12 09:00:24 2011 Eric Hodel + + * lib/rubygems: Import RubyGems 1.8.8. Fixes encoding of YAML gemspec + from gems. Github Issue #149 + Fri Aug 12 08:17:46 2011 Tanaka Akira * ext/socket/ipsocket.c (init_inetsock_internal): use SOMAXCONN for diff --git a/lib/rubygems.rb b/lib/rubygems.rb index eda59ef725..8a7bfea551 100644 --- a/lib/rubygems.rb +++ b/lib/rubygems.rb @@ -118,7 +118,7 @@ require "rubygems/deprecate" # -The RubyGems Team module Gem - VERSION = '1.8.7' + VERSION = '1.8.8' ## # Raised when RubyGems is unable to load or activate a gem. Contains the 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