I absolutely agree with you that current schema of managing platform-specific gem not a perfect and should be redone.
There are some of my chaotic thoughts:
C language widely used as extension language for Ruby Gems. And C ext. require compiler. C compiler is a default option for *nix OS systems like Linux, BSD, MacOSX. But this is not true for Windows platform. What we could do here?
1) Include C compiler into standard Ruby distribution. And to be honest I think it is the best way. MinGW looks like a good candidate for it (Cause it includes "standard" GCC). In that case we avoid a lot of problems with compiler availability, header compatibility (like MSVC vs GCC)
2) Compile and distribute platform specific gems. As I said now we have problems ONLY with Windows platform (is it true?) So for some binary gem we need to have following gems
- xxx.gem
- xxx-win32-mingw.gem
- xxx-win32-msvc.gem
Then user should configure gem to point what platform it uses.
For example it is One-Click-Installer (msvc-6.0), then gem should download LATEST version of xxx-win32-msvc.gem.
Another bad thing is source code incompatibility. Most of gem written for GCC and it not fully compatible with Microsoft VS. It is what we've seen with previous versions of Ferret extensions.
Lets imagine that I've configured gem "Compile extensions by myself" and I have Microsoft VS installed on my box. Most of extensions compile for me without problems but not Ferret. And I think that RubyGems in case of compile breakage should download binary version of gem for my platform.
On 10/3/06, Chad Fowler <[EMAIL PROTECTED]> wrote:
It's stupid right now. We're talking about doing a a revamp of the
way the platform thing works (what we have now was never meant to be
the final version), but maybe it woud be worth adding an option for
now that just sets a preferred platform? That way, if you specify the
platform string correctly and exactly as its set for the gem on the
server, it doesn't ask. If you don't specify it or it doesn't match
any exactly, it prompts.
What does everyone think?
On 10/3/06, Austin Ziegler < [EMAIL PROTECTED]> wrote:
> I am going through my mail (I'm way behind), and this request caught
> my eye. What would it take to do something like this?
>
> -austin
>
> ---------- Forwarded message ----------
> From: Mike Harris <[EMAIL PROTECTED]>
> Date: Sep 21, 2006 10:28 AM
> Subject: How do I tell gem to always get the MSWin32 version, if one
> is available?
> To: ruby-talk ML <[EMAIL PROTECTED]>
>
>
> If anyone could help me out, I'd appreciate it.
>
> When I do a gem install or gem update, if the latest version is
> available in both ruby and mswin32 versions, I'd like to automatically
> choose the win32 version. I looked in the command line options and in
> the docs for the gem config file, and I can't find anything. It's
> obviously not a big deal, but it would be nice.
>
> Thanks in advance for any help.
>
> Mike
>
>
>
> --
> Austin Ziegler * [EMAIL PROTECTED] * http://www.halostatue.ca/
> * [EMAIL PROTECTED] * http://www.halostatue.ca/feed/
> * [EMAIL PROTECTED]
> _______________________________________________
> Rubygems-developers mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/rubygems-developers
>
_______________________________________________
Rubygems-developers mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rubygems-developers
--
anatol (http://feeds.feedburner.com/apomozov-eng)
_______________________________________________ Rubygems-developers mailing list [email protected] http://rubyforge.org/mailman/listinfo/rubygems-developers
