aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/rubygems.rb2
-rw-r--r--lib/rubygems/package/tar_input.rb9
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 <drbrain@segment7.net>
+
+ * 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 <akr@fsij.org>
* 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