Answering my own question about x86==i386, they are treated as equal:
Gem::Platform.new(“i386-mingw32”) === Gem::Platform.new(“x86-mingw32”)
true
http://rubygems.rubyforge.org/rubygems-update/Gem/Platform.html has
implementations of the different functions (click on the function names)
From: [email protected]
[mailto:[email protected]] On Behalf Of Shri B.
Sent: Wednesday, March 03, 2010 6:31 PM
To: [email protected]
Subject: Re: [Ironruby-core] IronRuby version of existing gems
Does anyone know if this will allow authoring of IronRuby-specific gems?
Would the same value be used in the gemspec?
After installing win32console, I looked at
gems\1.8\gems\specifications\win32console-1.2.0-x86-mingw32.gemspec, and
it had this line:
s.platform = %q{x86-mingw32}
Note that this is different than the value of RbConfig::CONFIG[“archâ€]
in MRI, which is “i386-mingw32”. So not sure how exactly this works.
Perhaps RubyGems has a special case for x86==i386?
From: [email protected]
[mailto:[email protected]] On Behalf Of Shri B.
Sent: Wednesday, March 03, 2010 5:05 PM
To: [email protected]
Subject: Re: [Ironruby-core] IronRuby version of existing gems
I will set RUBY_PLATFORM to “.net†and RbConfig::CONFIG[“archâ€] to
“universal-.net-2.0†(or “universal-.net-4.0†for the .NET 4 builds)
From: [email protected]
[mailto:[email protected]] On Behalf Of Ivan Porto
Carrero
Sent: Wednesday, March 03, 2010 10:38 AM
To: [email protected]
Subject: Re: [Ironruby-core] IronRuby version of existing gems
we need to update rbconfig. it should also detect the runtime correctly
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto C.
Web: http://whiterabbitconsulting.eu - http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)
Microsoft IronRuby/C# MVP
On Wed, Mar 3, 2010 at 7:18 PM, Will G.
<[email protected]mailto:[email protected]> wrote:
It does seem to.
Ruby Gems maintains a list of platform mappings.
See lib\ruby\site_ruby\1.8\rubygems\platform.rb in the initialize
method. Whatever initializes Gem::Platform seems to look at
RUBY_PLATFORM
C:\IronRuby\bin>ir
IronRuby 0.9.4.0 on .NET 2.0.50727.4927
Copyright (c) Microsoft Corporation. All rights reserved.
require ‘rubygems’
=> true
Gem::Platform.local()
=> #<Gem::Platform:0x1ec @cpu=“x86”, @os=“mswin32”, @version=“60”>
RUBY_PLATFORM
=> “i386-mswin32”
p = Gem::Platform.new(‘universal-.net-3.5’)
=> #<Gem::Platform:0x1ee @cpu=“universal”, @os=“.net”, @version=“3.5”>
–
Will G.
http://hotgazpacho.org/
On Wed, Mar 3, 2010 at 1:10 PM, Jim D.
<[email protected]mailto:[email protected]> wrote:
Isn’t that just keying off of RUBY_PLATFORM and other constants?
From: Shri B.
<[email protected]mailto:[email protected]>
Sent: Wednesday, March 03, 2010 9:55 AM
To: [email protected]mailto:[email protected]
<[email protected]mailto:[email protected]>
Subject: Re: [Ironruby-core] IronRuby version of existing gems
It does seem like there isn’t a way to distinguish between IronRuby and
MRI.
C:> ir.exe
require “rubygems”
=> true
Gem::Platform.local()
=> #<Gem::Platform:0x1409 @cpu=“x86”, @os=“mswin32”, @version=“60”>
JRuby otoh does seem to do something different
C:> jruby.exe
irb(main):001:0> require “rubygems”
=> true
irb(main):002:0> Gem::Platform.local()
=> #<Gem::Platform:0xf0 @cpu=“universal”, @os=“java”, @version=“1.6”>
From:
[email protected]mailto:[email protected]
[mailto:[email protected]mailto:[email protected]]
On Behalf Of Will G.
Sent: Tuesday, March 02, 2010 11:52 AM
To: [email protected]mailto:[email protected]
Subject: Re: [Ironruby-core] IronRuby version of existing gems
That all depends on how Gem checks the platform. If it uses the
RUBY_PLATFORM variable, then IronRuby needs to change what it reports
here. Currently, it reports i386-mswin32.
–
Will G.
http://hotgazpacho.org/
On Tue, Mar 2, 2010 at 1:07 PM, Jim D.
<[email protected]mailto:[email protected]> wrote:
I believe JRuby is doing the 1st one, which makes sense in my opinion.
If possible we should prefer platform == “ironrubyâ€, (or .net, do we
need to differentiate .net and mono?), but accept others.
JD
From:
[email protected]mailto:[email protected]
[mailto:[email protected]mailto:[email protected]]
On Behalf Of Shri B.
Sent: Tuesday, March 02, 2010 10:02 AM
To: [email protected]mailto:[email protected]
Subject: [Ironruby-core] IronRuby version of existing gems
This brings a question to mind - what should the general approach be for
porting existing gems to IronRuby? There could be two possible
approaches:
-
Create a gem with the same name (“win32console†in this case),
and specify platform==â€ironrubyâ€. That way, dependent gems do not need
to be updated, and users have to remember just one name. IronRuby will
use the version with platform==â€ironrubyâ€, and MRI will use the one with
platform==â€mswin32â€. So there should not be any clashes even if you use
MRI and IronRuby on the same machine.
-
Create a new gem like iron-term-ansicolor.
Any pro or cons to the two? What should the recommendation be in
general?
From:
[email protected]mailto:[email protected]
[mailto:[email protected]mailto:[email protected]]
On Behalf Of Will G.
Sent: Tuesday, March 02, 2010 7:47 AM
To: ironruby-core
Subject: Re: [Ironruby-core] iron-term-ansicolor 0.0.2 Released
I released iron-term-ansicolor 0.0.3 last night after testing the gem
install locally first.
Please let me know if you still have trouble installing it from
Rubygems.org.
Also, I’ve submitted a patch to RSpec to use iron-term-ansicolor if it
can, the same way it tries to use win32console under MRI.
–
Will G.
http://hotgazpacho.org/
Ironruby-core mailing list
[email protected]mailto:[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core
Ironruby-core mailing list
[email protected]mailto:[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core
Ironruby-core mailing list
[email protected]mailto:[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core