[Rubygems-developers] Platform-specific gems not getting picked up in the index

Luis Lavena luislavena at gmail.com
Thu Nov 8 13:11:02 EST 2007

On Nov 8, 2007 12:50 PM, Luis Lavena <luislavena at gmail.com> wrote:
> On Nov 8, 2007 11:02 AM, Tom Copeland <tom at infoether.com> wrote:
> >
> > Further investigation shows that the indexer thinks most of the wxruby
> > gems are "misnamed"; more details here:
> >
> > http://rubyforge.org/tracker/index.php?func=detail&aid=15417&group_id=5&atid=102
> >
> > Still not sure exactly which side the problem is on, though...
> >
> Tom,
> I think is related to the RubyGems version and the specific platform:
> Gems made with rubygems 0.8.11, and without platform (just RUBY),
> everything works.
> Gems made with rubygems 0.8.11 but platform specific (the case of
> wxRuby), fails.
> Gems made with rubygems > 0.9.2 without platform (just RUBY), works.
> Gems made with rubygems > 0.9.2 platform specific, works.
> It ring a bell to someone? I'm trying to pinpoint where the specific
> RubyGems version is evaluated... so far didn't find it.

Ok, more information:

lib/rubygems/package.rb:568 (load_gemspec)

it uses #from_yaml at Specification to load the metadata, and at this
point the platform get evaluated (since YAML is converting it to
Gem::Specification object).

which fires yaml_initialize (specification.rb:734) where:

self.platform = Gem::Platform.new @platform

and bang!, the original platform gets destroyed.

Still, some gems works (like mongrel mswin32) but others fails (like
wxRuby ones).

This is the pastie for the caller stack of three gems:




Luis Lavena
Multimedia systems
Leaders are made, they are not born. They are made by hard effort,
which is the price which all of us must pay to achieve any goal that
is worthwhile.
Vince Lombardi

More information about the Rubygems-developers mailing list