class Gem::Specification

def platform= platform

def platform= platform
  if @original_platform.nil? or
     @original_platform == Gem::Platform::RUBY then
    @original_platform = platform
  end
  case platform
  when Gem::Platform::CURRENT then
    @new_platform = Gem::Platform.local
    @original_platform = @new_platform.to_s
  when Gem::Platform then
    @new_platform = platform
  # legacy constants
  when nil, Gem::Platform::RUBY then
    @new_platform = Gem::Platform::RUBY
  when 'mswin32' then # was Gem::Platform::WIN32
    @new_platform = Gem::Platform.new 'x86-mswin32'
  when 'i586-linux' then # was Gem::Platform::LINUX_586
    @new_platform = Gem::Platform.new 'x86-linux'
  when 'powerpc-darwin' then # was Gem::Platform::DARWIN
    @new_platform = Gem::Platform.new 'ppc-darwin'
  else
    @new_platform = Gem::Platform.new platform
  end
  @platform = @new_platform.to_s
  invalidate_memoized_attributes
  @new_platform
end