# Iron-term-ansicolor 0.0.2 Released

**URL:** <https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249>\
**Category:** IronRuby\
**Created:** [February 27, 2010, 5:16am UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249 "2010-02-27T05:16:45Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 7, 2010, 11:33pm UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/41 "2010-03-07T23:33:11Z")

</div>

My guess is that RubyGems tries to look for an exact platform match  
first. If there is no exact match, it somehow prefers â€œrubyâ€ over other  
platforms.

Btw, you could just change clr\_version in  
Merlin\Main\Languages\Ruby\Libs\rbconfig.rb to â€œ4.0â€ to simulate running  
on .NET 4. After doing this and using the â€œâ€”platform universal-.netâ€  
option, iron-term-ansicolor-0.0.3-universal-.net-2.0 was installed which  
was surprising to me as I would have expected it to install  
iron-term-ansicolor-0.0.3-universal-.net. When I used the â€œâ€”platform  
universal-.net-4.0â€ option, iron-term-ansicolor-0.0.3 was installed  
which was also surprising. So there does not seem to be any way to  
install iron-term-ansicolor-0.0.3-universal-.net.

From: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of Will G.  
Sent: Sunday, March 07, 2010 6:33 AM  
To: ironruby-core  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Thanks, Daniele!

I’ve got three version of iron-term-ansicolor out there on [RubyGems.org](http://RubyGems.org):

- iron-term-ansicolor-0.0.3  
(gemspec.platform=“ruby”)
- iron-term-ansicolor-0.0.3-universal-.net  
(gemspec.platform=“universal-.net”)
- iron-term-ansicolor-0.0.3-universal-.net-2.0  
(gemspec.platform=“universal-.net-2.0”)

It looks like the .Net 4 runtime selected the non-platform specific gem,  
while the .Net 2 runtime selected the “universal-.net-2.0” gem.

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Sun, Mar 7, 2010 at 4:01 AM, Daniele A.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
On Sun, Mar 7, 2010 at 08:07, Will G.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:

> I would appreciate if someone running the latest from git would try  
> ir -S gem install iron-term-ansicolor  
> on both the .Net 2 and the .Net 4 runtimes, and let me know which gem gets  
> installed.  
> C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir --version  
> IronRuby 0.9.4.0 on .NET 2.0.50727.4200

C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir -S gem  
install iron-term-ansicolor --no-rdoc --no-ri  
Successfully installed iron-term-ansicolor-0.0.3-universal-.net-2.0  
1 gem installed  
C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir --version  
IronRuby 0.9.4.0 on .NET 4.0.30128.1

C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir -S gem  
install iron-term-ansicolor --no-rdoc --no-ri  
Successfully installed iron-term-ansicolor-0.0.3  
1 gem installed

–  
Daniele A.

> **[clorophilla.net](https://clorophilla.net/)**

[http://twitter.com/JoL1hAHN](http://twitter.com/JoL1hAHN)

* * *

Ironruby-core mailing list  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://rubyforge.org/mailman/listinfo/ironruby-core](http://rubyforge.org/mailman/listinfo/ironruby-core)

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 8, 2010, 3:57am UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/42 "2010-03-08T03:57:43Z")

</div>

Will, could you recreate the universal-.net gem again and push it? I  
think it might have been created incorrectly. The persisted  
Gem::Specification has @new\_platform and @original\_platform set to  
â€œuniversal-unknownâ€ which might happen if you create it with MRI as I  
had mentioned belowâ€¦

From: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of Shri B.  
Sent: Sunday, March 07, 2010 2:27 PM  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

My guess is that RubyGems tries to look for an exact platform match  
first. If there is no exact match, it somehow prefers â€œrubyâ€ over other  
platforms.

Btw, you could just change clr\_version in  
Merlin\Main\Languages\Ruby\Libs\rbconfig.rb to â€œ4.0â€ to simulate running  
on .NET 4. After doing this and using the â€œâ€”platform universal-.netâ€  
option, iron-term-ansicolor-0.0.3-universal-.net-2.0 was installed which  
was surprising to me as I would have expected it to install  
iron-term-ansicolor-0.0.3-universal-.net. When I used the â€œâ€”platform  
universal-.net-4.0â€ option, iron-term-ansicolor-0.0.3 was installed  
which was also surprising. So there does not seem to be any way to  
install iron-term-ansicolor-0.0.3-universal-.net.

From: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of Will G.  
Sent: Sunday, March 07, 2010 6:33 AM  
To: ironruby-core  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Thanks, Daniele!

I’ve got three version of iron-term-ansicolor out there on [RubyGems.org](http://RubyGems.org):

- iron-term-ansicolor-0.0.3  
(gemspec.platform=“ruby”)
- iron-term-ansicolor-0.0.3-universal-.net  
(gemspec.platform=“universal-.net”)
- iron-term-ansicolor-0.0.3-universal-.net-2.0  
(gemspec.platform=“universal-.net-2.0”)

It looks like the .Net 4 runtime selected the non-platform specific gem,  
while the .Net 2 runtime selected the “universal-.net-2.0” gem.

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Sun, Mar 7, 2010 at 4:01 AM, Daniele A.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
On Sun, Mar 7, 2010 at 08:07, Will G.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:

> I would appreciate if someone running the latest from git would try  
> ir -S gem install iron-term-ansicolor  
> on both the .Net 2 and the .Net 4 runtimes, and let me know which gem gets  
> installed.  
> C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir --version  
> IronRuby 0.9.4.0 on .NET 2.0.50727.4200

C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir -S gem  
install iron-term-ansicolor --no-rdoc --no-ri  
Successfully installed iron-term-ansicolor-0.0.3-universal-.net-2.0  
1 gem installed  
C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir --version  
IronRuby 0.9.4.0 on .NET 4.0.30128.1

C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir -S gem  
install iron-term-ansicolor --no-rdoc --no-ri  
Successfully installed iron-term-ansicolor-0.0.3  
1 gem installed

–  
Daniele A.

> **[clorophilla.net](https://clorophilla.net/)**

[http://twitter.com/JoL1hAHN](http://twitter.com/JoL1hAHN)

* * *

Ironruby-core mailing list  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://rubyforge.org/mailman/listinfo/ironruby-core](http://rubyforge.org/mailman/listinfo/ironruby-core)

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 8, 2010, 4:28am UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/43 "2010-03-08T04:28:10Z")

</div>

Iâ€™m also wondering what will happen if you put the gem on two different  
gem servers (if that is possible, like github and rubyforge). Does gem  
attempt all sources to find the most specific? Or does it go with the  
most specific gem from the first source?

JD

From: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of Shri B.  
Sent: Sunday, March 07, 2010 6:53 PM  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Will, could you recreate the universal-.net gem again and push it? I  
think it might have been created incorrectly. The persisted  
Gem::Specification has @new\_platform and @original\_platform set to  
â€œuniversal-unknownâ€ which might happen if you create it with MRI as I  
had mentioned belowâ€¦

From: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of Shri B.  
Sent: Sunday, March 07, 2010 2:27 PM  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

My guess is that RubyGems tries to look for an exact platform match  
first. If there is no exact match, it somehow prefers â€œrubyâ€ over other  
platforms.

Btw, you could just change clr\_version in  
Merlin\Main\Languages\Ruby\Libs\rbconfig.rb to â€œ4.0â€ to simulate running  
on .NET 4. After doing this and using the â€œâ€”platform universal-.netâ€  
option, iron-term-ansicolor-0.0.3-universal-.net-2.0 was installed which  
was surprising to me as I would have expected it to install  
iron-term-ansicolor-0.0.3-universal-.net. When I used the â€œâ€”platform  
universal-.net-4.0â€ option, iron-term-ansicolor-0.0.3 was installed  
which was also surprising. So there does not seem to be any way to  
install iron-term-ansicolor-0.0.3-universal-.net.

From: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of Will G.  
Sent: Sunday, March 07, 2010 6:33 AM  
To: ironruby-core  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Thanks, Daniele!

I’ve got three version of iron-term-ansicolor out there on [RubyGems.org](http://RubyGems.org):

- iron-term-ansicolor-0.0.3  
(gemspec.platform=“ruby”)
- iron-term-ansicolor-0.0.3-universal-.net  
(gemspec.platform=“universal-.net”)
- iron-term-ansicolor-0.0.3-universal-.net-2.0  
(gemspec.platform=“universal-.net-2.0”)

It looks like the .Net 4 runtime selected the non-platform specific gem,  
while the .Net 2 runtime selected the “universal-.net-2.0” gem.

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Sun, Mar 7, 2010 at 4:01 AM, Daniele A.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
On Sun, Mar 7, 2010 at 08:07, Will G.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:

> I would appreciate if someone running the latest from git would try  
> ir -S gem install iron-term-ansicolor  
> on both the .Net 2 and the .Net 4 runtimes, and let me know which gem gets  
> installed.  
> C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir --version  
> IronRuby 0.9.4.0 on .NET 2.0.50727.4200

C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir -S gem  
install iron-term-ansicolor --no-rdoc --no-ri  
Successfully installed iron-term-ansicolor-0.0.3-universal-.net-2.0  
1 gem installed  
C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir --version  
IronRuby 0.9.4.0 on .NET 4.0.30128.1

C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir -S gem  
install iron-term-ansicolor --no-rdoc --no-ri  
Successfully installed iron-term-ansicolor-0.0.3  
1 gem installed

–  
Daniele A.

> **[clorophilla.net](https://clorophilla.net/)**

[http://twitter.com/JoL1hAHN](http://twitter.com/JoL1hAHN)

* * *

Ironruby-core mailing list  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://rubyforge.org/mailman/listinfo/ironruby-core](http://rubyforge.org/mailman/listinfo/ironruby-core)

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 11, 2010, 4:41am UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/44 "2010-03-11T04:41:59Z")

</div>

Based on some work that Shri and I did to figure this out, I have  
created  
and submitted a patch to Ruby Gems to include support form .Net native  
gems:

[http://rubyforge.org/tracker/index.php?func=detail&aid=27951&group\_id=126&atid=577](http://rubyforge.org/tracker/index.php?func=detail&aid=27951&group_id=126&atid=577)

[http://rubyforge.org/tracker/index.php?func=detail&aid=27951&group\_id=126&atid=577](http://rubyforge.org/tracker/index.php?func=detail&aid=27951&group_id=126&atid=577)As  
you can see, I’ve gotten some push-back from the Ruby Gems team on the  
naming of the platform for the gems. The problem is that they don’t like  
the  
“.” in “.net” (i.e. “universal-.net-2.0”), and have suggested  
alternatives  
such as “dotnet”, “dotNet”, and “Net”. I have asked for clarification on  
their position.

If I understand the Gem::Platform class correctly, the initialize method  
takes in the values read from RbConfig, and performs some translation to  
come up with a Gem platform name. So, without any changes to IronRuby  
itself, we could have gems with names like  
“iron-term-ansicolor-universal-dotnet”. Of course, it would require a  
small  
tweak to the version of Ruby Gems that is distributed with IronRuby, but  
the  
change is very minor.

So, does anyone object to .Net native gems like:

“gemname-universal-dotnet”  
“gemname-universal-dotnet-2.0”  
“gemname-universal-dotnet-4.0”

I think this would get the patch accepted more quickly.

Is this kosher with LCA, or even something that needs to be brought to  
their  
attention?

–  
Will G.  
[http://hotgazpacho.org/](http://hotgazpacho.org/)

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 11, 2010, 5:57am UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/45 "2010-03-11T05:57:29Z")

</div>

Attached is a new patch I would propose to address the feedback from the  
Ruby Gems team. I would love some feedback on it.

It is a patch against rev 2463 of trunk of Ruby Gems source.

–  
Will G.  
[http://hotgazpacho.org/](http://hotgazpacho.org/)

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 10, 2010, 11:14pm UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/46 "2010-03-10T23:14:06Z")

</div>

Glad that we were able to figure out the issue! The fix did make it into  
RC3 as well!

It would be great if you could coordinate getting the fix into the  
RubyGem sources!

From: Will G. [[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
Sent: Tuesday, March 09, 2010 6:49 PM  
To: Shri B.  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Excellent! I just pulled the changes and confirm that I can now install  
directly from [RubyGems.org](http://RubyGems.org).

Would you like me to coordinate getting the change to RubyGems into the  
source? I know at least two of the comitters listed on the RubyForge  
project page: [http://rubyforge.org/scm/?group\_id=126](http://rubyforge.org/scm/?group_id=126)

Let me know!

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Tue, Mar 9, 2010 at 1:30 PM, Shri B.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
The =~ method needs to be fixed, but fixing that does not help since it  
gets called with an argument of â€œuniversal-unknownâ€.

I did find a workaround. If I add the following in  
Gem::Specification.\_load around line 308 in  
Merlin\External.LCA\_RESTRICTED\Languages\Ruby\redist-libs\ruby\site\_ruby\1.8\rubygems\specification.rb,  
I am able to install iron-term-ansicolor-0.0.4-universal-.net.

```
if array[8] == "universal-.net"
  array[16] = Gem::Platform.new(["universal", ".net"]) if array[16] 

```

== Gem::Platform.new([“universal”, “unknown”])  
end

Will try to get it into RTM (not sure if it will make it into RC3)

From: Will G.  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
Sent: Tuesday, March 09, 2010 4:38 AM

To: Shri B.  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

The thing is, this works with RC2:

igem install iron-term-ansicolor --platform universal-.net

C:\ironruby\bin\>igem install iron-term-ansicolor --platform  
universal-.net  
Successfully installed iron-term-ansicolor-0.0.4-universal-unknown  
1 gem installed  
Installing ri documentation for  
iron-term-ansicolor-0.0.4-universal-unknown…  
Installing RDoc documentation for  
iron-term-ansicolor-0.0.4-universal-unknown…

Sure, it recognizes it as universal-unknown, but it still works.

It doesn’t work at all with HEAD. I think you missed a spot with the  
platform detection in  
Merlin/External.LCA\_RESTRICTED/Languages/Ruby/redist-libs/ruby/site\_ruby/1.8/rubygems/platform.rb

Specifically, the =~ method, which I think gets called because in the  
gem spec, the platform is serialized as a string. Just a hunch, but it  
couldn’t hurt to investigate.

What do you think?

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Tue, Mar 9, 2010 at 2:27 AM, Shri B.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
I can see the new gem with â€œgem queryâ€ but â€œgem installâ€ will not  
install it.

d:\ \>gem query -d -r -n iron-term-ansicolor

\*\*\* REMOTE GEMS \*\*\*

iron-term-ansicolor (0.0.4)  
Platform: universal-.net  
Authors: Will G., David Blackmon, Ivan Porto C., Danny  
Coates  
Homepage: [GitHub - hotgazpacho/iron-term-ansicolor: term-ansicolor for IronRuby using .Net framework libraries · GitHub](http://github.com/hotgazpacho/iron-term-ansicolor)

```
iron-term-ansicolor brings color output to IronRuby on Windows

```

d:\ \>gem install iron-term-ansicolor --no-rdoc --no-ri  
ERROR: could not find gem iron-term-ansicolor locally or in a  
repository

d:\ \>ir.exe -S gem install iron-term-ansicolor --no-rdoc --no-ri  
ERROR: could not find gem iron-term-ansicolor locally or in a  
repository

It does seem to be the issue I mentioned about the remote gem server,  
because adding logging in Gem::Specification.\_load shows that @platform  
and @new\_platform are â€œuniversal-unknownâ€ when trying to install from a  
remote server. When you install locally, marshalling is not an issue.  
However, when you install from a remote server, the remote server is  
going to have to send information to the client about matching gems, and  
this information must be in marshaled data format.

What this means is that setting platform to â€œuniversal-.netâ€ will not  
work until a patch is made to RubyGems in platform.rb (like has already  
been done for JRuby). The workaround will be to set the platform to  
â€œrubyâ€ for now, or to create two gems with platforms set to  
â€œuniversal-.net2.0â€ and â€œuniversal-.net4.0â€. Do you want to push updates  
with platforms set to â€œuniversal-.net2.0â€ and â€œuniversal-.net4.0â€?

Thanks for helping to figure out how all this works or should work!!

From: Will G.  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
Sent: Monday, March 08, 2010 8:17 PM

To: Shri B.  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

I’ve made the change you suggested. Here’s the gemspec that IronRuby  
sees and that MRI sees: (igem spec  
iron-term-ansicolor-0.0.4-universal-.net.gem and gem spec  
iron-term-ansicolor-0.0.4-universal-.net.gem)

> <https://gist.github.com/hotgazpacho/326161>

Both see platform: universal-.net

Which is great, because I think that means the gemspec is just YAML, so  
marshaling is really not an issue.

I am able to successfully install locally, too. So, I’m going to bump  
the patch level, commit my changes, push to github, and publish the gem.

Thanks for your help!

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Mon, Mar 8, 2010 at 1:17 PM, Shri B.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
When I search for â€œunknownâ€ in the Ruby Gem sources, the only relevant  
occurrence is in  
Merlin\External.LCA\_RESTRICTED\Languages\Ruby\redist-libs\ruby\site\_ruby\1.8\rubygems\package.rb,  
which I did fix.

Something just occurred to me. Creating the gem just zips up all the  
files together, and does not seem to marshal any data-structures,  
whereas I am seeing that the marshaled representation of  
Gem::Specification contains  
@original\_platform=@new\_platform=â€universal-unknownâ€. So I wonder if the  
gem server on rubyforge marshals the contents of the gem. It might need  
to do this so that it can cache the results efficiently. Assuming it  
does do this, the gem server will be running MRI and will not have the  
fix to rubygem\package.rb, and so will generate the corrupt value of  
â€universal-unknownâ€.

One possible workaround is to do this:  
s.platform = Gem::Platform.new([“universal”, “.net”])  
By using an array of size 2 as the argument, MRI will be able to parse  
the platform into the CPU and OS components, even without my fix to  
rubygems\package.rb. Could you please create a gem as such, make sure it  
works as expected locally, and then push it? I did apply this fix to  
Rakefile, and â€œir.exe â€“S rake packageâ€ was able to create the gem.

From: Will G.  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
Sent: Monday, March 08, 2010 3:44 AM  
To: Shri B.

Subject: Re: [Ironruby-core] IronRuby version of existing gems

Yes, I can install the universal-.net[http://universal-.net](http://universal-.net) gem  
locally, when I create it from my git repo.

I can certainly recreate and repush that gem. Maybe I can do a version  
bump to 0.0.4 and push only the universal-.net[http://universal-.net](http://universal-.net)  
gem for now.

I’d also look at the change to Ruby Gems again. I seem to recall there  
being more than one place in that file where it did platform name  
mangling. But I may be mistaken.

Thanks for looking into this, and keep up the good work!

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Mar 8, 2010, at 2:42 AM, Shri B.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
I did â€œir.exe â€“S rake packageâ€ from your GIT repo, followed by â€œir.exe  
â€“S gem install pkg\iron-term-ansicolor-0.0.3-universal-.net.gemâ€, and it  
seems to do the right thing. Does that work for you?

This is the repro I am using to drill into the issue. With no changes to  
rbconfig.rb, I added the highlighted line to  
Merlin\External.LCA\_RESTRICTED\Languages\Ruby\redist-libs\ruby\site\_ruby\1.8\rubygems\specification.rb  
at line 328 in the \_load function:

```
spec.instance_variable_set :@new_platform, array[16]
spec.instance_variable_set :@platform, 

```

array[16].to\_s  
spec.instance\_variable\_set :@license, array[17]  
spec.instance\_variable\_set :@loaded, false  
puts “ori=#{spec.instance\_variable\_get(:@original\_platform)}  
new=#{spec.instance\_variable\_get(:@new\_platform)}  
p=#{spec.instance\_variable\_get(:@platform)}”  
spec

I ran the command shown below, and the platform is printed incorrectly.  
This data comes from the serialized string representation in the gem,  
and so it seems like the gem is corrupt

ir.exe -S gem install iron-term-ansicolor --platformuniversal-.net-4.0  
–no-rdoc --no-ri  
ori=universal-.net new=universal-unknown p=universal-unknown  
ori=ruby new=ruby p=ruby  
ori=ruby new=ruby p=ruby  
Successfully installed iron-term-ansicolor-0.0.3

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Shri B.  
Sent: Sunday, March 07, 2010 6:53 PM  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Will, could you recreate the universal-.net[http://universal-.net](http://universal-.net) gem  
again and push it? I think it might have been created incorrectly. The  
persisted Gem::Specification has @new\_platform and @original\_platform  
set to â€œuniversal-unknownâ€ which might happen if you create it with MRI  
as I had mentioned belowâ€¦

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Shri B.  
Sent: Sunday, March 07, 2010 2:27 PM  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

My guess is that RubyGems tries to look for an exact platform match  
first. If there is no exact match, it somehow prefers â€œrubyâ€ over other  
platforms.

Btw, you could just change clr\_version in  
Merlin\Main\Languages\Ruby\Libs\rbconfig.rb to â€œ4.0â€ to simulate running  
on .NET 4. After doing this and using the â€œâ€”platform  
universal-.net[http://universal-.net](http://universal-.net)â€ option,  
iron-term-ansicolor-0.0.3-universal-.net[http://iron-term-ansicolor-0.0.3-universal-.net](http://iron-term-ansicolor-0.0.3-universal-.net)-2.0  
was installed which was surprising to me as I would have expected it to  
install  
iron-term-ansicolor-0.0.3-universal-.net[http://iron-term-ansicolor-0.0.3-universal-.net](http://iron-term-ansicolor-0.0.3-universal-.net).  
When I used the â€œâ€”platform universal-.net-4.0â€ option,  
iron-term-ansicolor-0.0.3 was installed which was also surprising. So  
there does not seem to be any way to install  
iron-term-ansicolor-0.0.3-universal-.net[http://iron-term-ansicolor-0.0.3-universal-.net](http://iron-term-ansicolor-0.0.3-universal-.net).

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Will G.  
Sent: Sunday, March 07, 2010 6:33 AM  
To: ironruby-core  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Thanks, Daniele!

I’ve got three version of iron-term-ansicolor out there on  
[RubyGems.org](http://RubyGems.org)[http://RubyGems.org](http://RubyGems.org):

- iron-term-ansicolor-0.0.3  
(gemspec.platform=“ruby”)
- 

iron-term-ansicolor-0.0.3-universal-.net[http://iron-term-ansicolor-0.0.3-universal-.net](http://iron-term-ansicolor-0.0.3-universal-.net)  
(gemspec.platform=“universal-.net[http://universal-.net](http://universal-.net)”)

- iron-term-ansicolor-0.0.3-universal-.net-2.0  
(gemspec.platform=“universal-.net-2.0”)

It looks like the .Net 4 runtime selected the non-platform specific gem,  
while the .Net 2 runtime selected the “universal-.net-2.0” gem.

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Sun, Mar 7, 2010 at 4:01 AM, Daniele A.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
On Sun, Mar 7, 2010 at 08:07, Will G.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:

> I would appreciate if someone running the latest from git would try  
> ir -S gem install iron-term-ansicolor  
> on both the .Net 2 and the .Net 4 runtimes, and let me know which gem gets  
> installed.  
> C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir --version  
> IronRuby 0.9.4.0 on .NET 2.0.50727.4200

C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir -S gem  
install iron-term-ansicolor --no-rdoc --no-ri  
Successfully installed iron-term-ansicolor-0.0.3-universal-.net-2.0  
1 gem installed  
C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir --version  
IronRuby 0.9.4.0 on .NET 4.0.30128.1

C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir -S gem  
install iron-term-ansicolor --no-rdoc --no-ri  
Successfully installed iron-term-ansicolor-0.0.3  
1 gem installed

–  
Daniele A.

> **[clorophilla.net](https://clorophilla.net/)**

[http://twitter.com/JoL1hAHN](http://twitter.com/JoL1hAHN)

* * *

Ironruby-core mailing list  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://rubyforge.org/mailman/listinfo/ironruby-core](http://rubyforge.org/mailman/listinfo/ironruby-core)

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 11, 2010, 4:53pm UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/47 "2010-03-11T16:53:02Z")

</div>

Yes, but those of us on case-sensitive operating systems prefer all  
lower case, if possible.

Cory  
Sent from my Verizon Wireless BlackBerry

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 11, 2010, 4:46pm UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/48 "2010-03-11T16:46:35Z")

</div>

The name is spelled as â€œ.NETâ€, and so “gemname-universal-dotNET” would  
read better than just “gemname-universal-dotnet”.

From: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of Will G.  
Sent: Wednesday, March 10, 2010 8:57 PM  
To: ironruby-core  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Attached is a new patch I would propose to address the feedback from the  
Ruby Gems team. I would love some feedback on it.

It is a patch against rev 2463 of trunk of Ruby Gems source.

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Wed, Mar 10, 2010 at 10:33 PM, Will G.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
Based on some work that Shri and I did to figure this out, I have  
created and submitted a patch to Ruby Gems to include support form .Net  
native gems:

[http://rubyforge.org/tracker/index.php?func=detail&aid=27951&group\_id=126&atid=577](http://rubyforge.org/tracker/index.php?func=detail&aid=27951&group_id=126&atid=577)

As you can see, I’ve gotten some push-back from the Ruby Gems team on  
the naming of the platform for the gems. The problem is that they don’t  
like the “.” in “.net” (i.e. “universal-.net-2.0”), and have suggested  
alternatives such as “dotnet”, “dotNet”, and “Net”. I have asked for  
clarification on their position.

If I understand the Gem::Platform class correctly, the initialize method  
takes in the values read from RbConfig, and performs some translation to  
come up with a Gem platform name. So, without any changes to IronRuby  
itself, we could have gems with names like  
“iron-term-ansicolor-universal-dotnet”. Of course, it would require a  
small tweak to the version of Ruby Gems that is distributed with  
IronRuby, but the change is very minor.

So, does anyone object to .Net native gems like:

“gemname-universal-dotnet”  
“gemname-universal-dotnet-2.0”  
“gemname-universal-dotnet-4.0”

I think this would get the patch accepted more quickly.

Is this kosher with LCA, or even something that needs to be brought to  
their attention?

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Sun, Mar 7, 2010 at 10:01 PM, Jim D.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
Iâ€™m also wondering what will happen if you put the gem on two different  
gem servers (if that is possible, like github and rubyforge). Does gem  
attempt all sources to find the most specific? Or does it go with the  
most specific gem from the first source?

JD

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Shri B.  
Sent: Sunday, March 07, 2010 6:53 PM

To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Will, could you recreate the universal-.net gem again and push it? I  
think it might have been created incorrectly. The persisted  
Gem::Specification has @new\_platform and @original\_platform set to  
â€œuniversal-unknownâ€ which might happen if you create it with MRI as I  
had mentioned belowâ€¦

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Shri B.  
Sent: Sunday, March 07, 2010 2:27 PM  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

My guess is that RubyGems tries to look for an exact platform match  
first. If there is no exact match, it somehow prefers â€œrubyâ€ over other  
platforms.

Btw, you could just change clr\_version in  
Merlin\Main\Languages\Ruby\Libs\rbconfig.rb to â€œ4.0â€ to simulate running  
on .NET 4. After doing this and using the â€œâ€”platform universal-.netâ€  
option, iron-term-ansicolor-0.0.3-universal-.net-2.0 was installed which  
was surprising to me as I would have expected it to install  
iron-term-ansicolor-0.0.3-universal-.net. When I used the â€œâ€”platform  
universal-.net-4.0â€ option, iron-term-ansicolor-0.0.3 was installed  
which was also surprising. So there does not seem to be any way to  
install iron-term-ansicolor-0.0.3-universal-.net.

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Will G.  
Sent: Sunday, March 07, 2010 6:33 AM  
To: ironruby-core  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Thanks, Daniele!

I’ve got three version of iron-term-ansicolor out there on [RubyGems.org](http://RubyGems.org):

- iron-term-ansicolor-0.0.3  
(gemspec.platform=“ruby”)
- iron-term-ansicolor-0.0.3-universal-.net  
(gemspec.platform=“universal-.net”)
- iron-term-ansicolor-0.0.3-universal-.net-2.0  
(gemspec.platform=“universal-.net-2.0”)

It looks like the .Net 4 runtime selected the non-platform specific gem,  
while the .Net 2 runtime selected the “universal-.net-2.0” gem.

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Sun, Mar 7, 2010 at 4:01 AM, Daniele A.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
On Sun, Mar 7, 2010 at 08:07, Will G.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:

> I would appreciate if someone running the latest from git would try  
> ir -S gem install iron-term-ansicolor  
> on both the .Net 2 and the .Net 4 runtimes, and let me know which gem gets  
> installed.  
> C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir --version  
> IronRuby 0.9.4.0 on .NET 2.0.50727.4200

C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir -S gem  
install iron-term-ansicolor --no-rdoc --no-ri  
Successfully installed iron-term-ansicolor-0.0.3-universal-.net-2.0  
1 gem installed  
C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir --version  
IronRuby 0.9.4.0 on .NET 4.0.30128.1

C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir -S gem  
install iron-term-ansicolor --no-rdoc --no-ri  
Successfully installed iron-term-ansicolor-0.0.3  
1 gem installed

–  
Daniele A.

> **[clorophilla.net](https://clorophilla.net/)**

[http://twitter.com/JoL1hAHN](http://twitter.com/JoL1hAHN)

* * *

Ironruby-core mailing list  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://rubyforge.org/mailman/listinfo/ironruby-core](http://rubyforge.org/mailman/listinfo/ironruby-core)

* * *

Ironruby-core mailing list  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://rubyforge.org/mailman/listinfo/ironruby-core](http://rubyforge.org/mailman/listinfo/ironruby-core)

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 11, 2010, 6:26pm UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/49 "2010-03-11T18:26:44Z")

</div>

Wouldnâ€™t â€œclrâ€ be better after all?

Tomas

From: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of Will G.  
Sent: Thursday, March 11, 2010 8:47 AM  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Then why is RbConfig[‘arch’] “universal-.net2.0” and not  
“universal-.NET2.0”?

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Thu, Mar 11, 2010 at 10:45 AM, Shri B.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
The name is spelled as â€œ.NETâ€, and so “gemname-universal-dotNET” would  
read better than just “gemname-universal-dotnet”.

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Will G.  
Sent: Wednesday, March 10, 2010 8:57 PM

To: ironruby-core  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Attached is a new patch I would propose to address the feedback from the  
Ruby Gems team. I would love some feedback on it.

It is a patch against rev 2463 of trunk of Ruby Gems source.

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Wed, Mar 10, 2010 at 10:33 PM, Will G.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
Based on some work that Shri and I did to figure this out, I have  
created and submitted a patch to Ruby Gems to include support form .Net  
native gems:

[http://rubyforge.org/tracker/index.php?func=detail&aid=27951&group\_id=126&atid=577](http://rubyforge.org/tracker/index.php?func=detail&aid=27951&group_id=126&atid=577)

As you can see, I’ve gotten some push-back from the Ruby Gems team on  
the naming of the platform for the gems. The problem is that they don’t  
like the “.” in “.net” (i.e. “universal-.net-2.0”), and have suggested  
alternatives such as “dotnet”, “dotNet”, and “Net”. I have asked for  
clarification on their position.

If I understand the Gem::Platform class correctly, the initialize method  
takes in the values read from RbConfig, and performs some translation to  
come up with a Gem platform name. So, without any changes to IronRuby  
itself, we could have gems with names like  
“iron-term-ansicolor-universal-dotnet”. Of course, it would require a  
small tweak to the version of Ruby Gems that is distributed with  
IronRuby, but the change is very minor.

So, does anyone object to .Net native gems like:

“gemname-universal-dotnet”  
“gemname-universal-dotnet-2.0”  
“gemname-universal-dotnet-4.0”

I think this would get the patch accepted more quickly.

Is this kosher with LCA, or even something that needs to be brought to  
their attention?

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Sun, Mar 7, 2010 at 10:01 PM, Jim D.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
Iâ€™m also wondering what will happen if you put the gem on two different  
gem servers (if that is possible, like github and rubyforge). Does gem  
attempt all sources to find the most specific? Or does it go with the  
most specific gem from the first source?

JD

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Shri B.  
Sent: Sunday, March 07, 2010 6:53 PM

To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Will, could you recreate the universal-.net gem again and push it? I  
think it might have been created incorrectly. The persisted  
Gem::Specification has @new\_platform and @original\_platform set to  
â€œuniversal-unknownâ€ which might happen if you create it with MRI as I  
had mentioned belowâ€¦

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Shri B.  
Sent: Sunday, March 07, 2010 2:27 PM  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

My guess is that RubyGems tries to look for an exact platform match  
first. If there is no exact match, it somehow prefers â€œrubyâ€ over other  
platforms.

Btw, you could just change clr\_version in  
Merlin\Main\Languages\Ruby\Libs\rbconfig.rb to â€œ4.0â€ to simulate running  
on .NET 4. After doing this and using the â€œâ€”platform universal-.netâ€  
option, iron-term-ansicolor-0.0.3-universal-.net-2.0 was installed which  
was surprising to me as I would have expected it to install  
iron-term-ansicolor-0.0.3-universal-.net. When I used the â€œâ€”platform  
universal-.net-4.0â€ option, iron-term-ansicolor-0.0.3 was installed  
which was also surprising. So there does not seem to be any way to  
install iron-term-ansicolor-0.0.3-universal-.net.

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Will G.  
Sent: Sunday, March 07, 2010 6:33 AM  
To: ironruby-core  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Thanks, Daniele!

I’ve got three version of iron-term-ansicolor out there on [RubyGems.org](http://RubyGems.org):

- iron-term-ansicolor-0.0.3  
(gemspec.platform=“ruby”)
- iron-term-ansicolor-0.0.3-universal-.net  
(gemspec.platform=“universal-.net”)
- iron-term-ansicolor-0.0.3-universal-.net-2.0  
(gemspec.platform=“universal-.net-2.0”)

It looks like the .Net 4 runtime selected the non-platform specific gem,  
while the .Net 2 runtime selected the “universal-.net-2.0” gem.

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Sun, Mar 7, 2010 at 4:01 AM, Daniele A.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
On Sun, Mar 7, 2010 at 08:07, Will G.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:

> I would appreciate if someone running the latest from git would try  
> ir -S gem install iron-term-ansicolor  
> on both the .Net 2 and the .Net 4 runtimes, and let me know which gem gets  
> installed.  
> C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir --version  
> IronRuby 0.9.4.0 on .NET 2.0.50727.4200

C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir -S gem  
install iron-term-ansicolor --no-rdoc --no-ri  
Successfully installed iron-term-ansicolor-0.0.3-universal-.net-2.0  
1 gem installed  
C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir --version  
IronRuby 0.9.4.0 on .NET 4.0.30128.1

C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir -S gem  
install iron-term-ansicolor --no-rdoc --no-ri  
Successfully installed iron-term-ansicolor-0.0.3  
1 gem installed

–  
Daniele A.

> **[clorophilla.net](https://clorophilla.net/)**

[http://twitter.com/JoL1hAHN](http://twitter.com/JoL1hAHN)

* * *

Ironruby-core mailing list  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://rubyforge.org/mailman/listinfo/ironruby-core](http://rubyforge.org/mailman/listinfo/ironruby-core)

* * *

Ironruby-core mailing list  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://rubyforge.org/mailman/listinfo/ironruby-core](http://rubyforge.org/mailman/listinfo/ironruby-core)

* * *

Ironruby-core mailing list  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://rubyforge.org/mailman/listinfo/ironruby-core](http://rubyforge.org/mailman/listinfo/ironruby-core)

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 11, 2010, 5:46pm UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/50 "2010-03-11T17:46:54Z")

</div>

Then why is RbConfig[‘arch’] “universal-.net2.0” and not  
“universal-.NET2.0”?

–  
Will G.  
[http://hotgazpacho.org/](http://hotgazpacho.org/)

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 11, 2010, 6:40pm UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/51 "2010-03-11T18:40:12Z")

</div>

Iâ€™d also like to echo and +1 the \*nix users vote for keeping things  
lowercase.

JD

From: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of Tomas M.  
Sent: Thursday, March 11, 2010 9:11 AM  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Wouldnâ€™t â€œclrâ€ be better after all?

Tomas

From: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of Will G.  
Sent: Thursday, March 11, 2010 8:47 AM  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Then why is RbConfig[‘arch’] “universal-.net2.0” and not  
“universal-.NET2.0”?

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Thu, Mar 11, 2010 at 10:45 AM, Shri B.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
The name is spelled as â€œ.NETâ€, and so “gemname-universal-dotNET” would  
read better than just “gemname-universal-dotnet”.

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Will G.  
Sent: Wednesday, March 10, 2010 8:57 PM

To: ironruby-core  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Attached is a new patch I would propose to address the feedback from the  
Ruby Gems team. I would love some feedback on it.

It is a patch against rev 2463 of trunk of Ruby Gems source.

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Wed, Mar 10, 2010 at 10:33 PM, Will G.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
Based on some work that Shri and I did to figure this out, I have  
created and submitted a patch to Ruby Gems to include support form .Net  
native gems:

[http://rubyforge.org/tracker/index.php?func=detail&aid=27951&group\_id=126&atid=577](http://rubyforge.org/tracker/index.php?func=detail&aid=27951&group_id=126&atid=577)

As you can see, I’ve gotten some push-back from the Ruby Gems team on  
the naming of the platform for the gems. The problem is that they don’t  
like the “.” in “.net” (i.e. “universal-.net-2.0”), and have suggested  
alternatives such as “dotnet”, “dotNet”, and “Net”. I have asked for  
clarification on their position.

If I understand the Gem::Platform class correctly, the initialize method  
takes in the values read from RbConfig, and performs some translation to  
come up with a Gem platform name. So, without any changes to IronRuby  
itself, we could have gems with names like  
“iron-term-ansicolor-universal-dotnet”. Of course, it would require a  
small tweak to the version of Ruby Gems that is distributed with  
IronRuby, but the change is very minor.

So, does anyone object to .Net native gems like:

“gemname-universal-dotnet”  
“gemname-universal-dotnet-2.0”  
“gemname-universal-dotnet-4.0”

I think this would get the patch accepted more quickly.

Is this kosher with LCA, or even something that needs to be brought to  
their attention?

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Sun, Mar 7, 2010 at 10:01 PM, Jim D.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
Iâ€™m also wondering what will happen if you put the gem on two different  
gem servers (if that is possible, like github and rubyforge). Does gem  
attempt all sources to find the most specific? Or does it go with the  
most specific gem from the first source?

JD

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Shri B.  
Sent: Sunday, March 07, 2010 6:53 PM

To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Will, could you recreate the universal-.net gem again and push it? I  
think it might have been created incorrectly. The persisted  
Gem::Specification has @new\_platform and @original\_platform set to  
â€œuniversal-unknownâ€ which might happen if you create it with MRI as I  
had mentioned belowâ€¦

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Shri B.  
Sent: Sunday, March 07, 2010 2:27 PM  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

My guess is that RubyGems tries to look for an exact platform match  
first. If there is no exact match, it somehow prefers â€œrubyâ€ over other  
platforms.

Btw, you could just change clr\_version in  
Merlin\Main\Languages\Ruby\Libs\rbconfig.rb to â€œ4.0â€ to simulate running  
on .NET 4. After doing this and using the â€œâ€”platform universal-.netâ€  
option, iron-term-ansicolor-0.0.3-universal-.net-2.0 was installed which  
was surprising to me as I would have expected it to install  
iron-term-ansicolor-0.0.3-universal-.net. When I used the â€œâ€”platform  
universal-.net-4.0â€ option, iron-term-ansicolor-0.0.3 was installed  
which was also surprising. So there does not seem to be any way to  
install iron-term-ansicolor-0.0.3-universal-.net.

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Will G.  
Sent: Sunday, March 07, 2010 6:33 AM  
To: ironruby-core  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Thanks, Daniele!

I’ve got three version of iron-term-ansicolor out there on [RubyGems.org](http://RubyGems.org):

- iron-term-ansicolor-0.0.3  
(gemspec.platform=“ruby”)
- iron-term-ansicolor-0.0.3-universal-.net  
(gemspec.platform=“universal-.net”)
- iron-term-ansicolor-0.0.3-universal-.net-2.0  
(gemspec.platform=“universal-.net-2.0”)

It looks like the .Net 4 runtime selected the non-platform specific gem,  
while the .Net 2 runtime selected the “universal-.net-2.0” gem.

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Sun, Mar 7, 2010 at 4:01 AM, Daniele A.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
On Sun, Mar 7, 2010 at 08:07, Will G.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:

> I would appreciate if someone running the latest from git would try  
> ir -S gem install iron-term-ansicolor  
> on both the .Net 2 and the .Net 4 runtimes, and let me know which gem gets  
> installed.  
> C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir --version  
> IronRuby 0.9.4.0 on .NET 2.0.50727.4200

C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir -S gem  
install iron-term-ansicolor --no-rdoc --no-ri  
Successfully installed iron-term-ansicolor-0.0.3-universal-.net-2.0  
1 gem installed  
C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir --version  
IronRuby 0.9.4.0 on .NET 4.0.30128.1

C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir -S gem  
install iron-term-ansicolor --no-rdoc --no-ri  
Successfully installed iron-term-ansicolor-0.0.3  
1 gem installed

–  
Daniele A.

> **[clorophilla.net](https://clorophilla.net/)**

[http://twitter.com/JoL1hAHN](http://twitter.com/JoL1hAHN)

* * *

Ironruby-core mailing list  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://rubyforge.org/mailman/listinfo/ironruby-core](http://rubyforge.org/mailman/listinfo/ironruby-core)

* * *

Ironruby-core mailing list  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://rubyforge.org/mailman/listinfo/ironruby-core](http://rubyforge.org/mailman/listinfo/ironruby-core)

* * *

Ironruby-core mailing list  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://rubyforge.org/mailman/listinfo/ironruby-core](http://rubyforge.org/mailman/listinfo/ironruby-core)

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 11, 2010, 6:43pm UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/52 "2010-03-11T18:43:43Z")

</div>

Thinking about it, lower-case â€œdotnetâ€ sounds fine. Since we donâ€™t know  
how the value will be used, its better to be conservative and follow  
existing naming patterns (lower case letters)

Any votes for â€œclrâ€? Else, I will change RbConfig::CONFIG[â€œarchâ€] to  
â€œuniversal-dotnet2.0â€ /â€œuniversal-dotnet4.0â€

From: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of Tomas M.  
Sent: Thursday, March 11, 2010 9:11 AM  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Wouldnâ€™t â€œclrâ€ be better after all?

Tomas

From: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of Will G.  
Sent: Thursday, March 11, 2010 8:47 AM  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Then why is RbConfig[‘arch’] “universal-.net2.0” and not  
“universal-.NET2.0”?

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Thu, Mar 11, 2010 at 10:45 AM, Shri B.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
The name is spelled as â€œ.NETâ€, and so “gemname-universal-dotNET” would  
read better than just “gemname-universal-dotnet”.

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Will G.  
Sent: Wednesday, March 10, 2010 8:57 PM

To: ironruby-core  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Attached is a new patch I would propose to address the feedback from the  
Ruby Gems team. I would love some feedback on it.

It is a patch against rev 2463 of trunk of Ruby Gems source.

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Wed, Mar 10, 2010 at 10:33 PM, Will G.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
Based on some work that Shri and I did to figure this out, I have  
created and submitted a patch to Ruby Gems to include support form .Net  
native gems:

[http://rubyforge.org/tracker/index.php?func=detail&aid=27951&group\_id=126&atid=577](http://rubyforge.org/tracker/index.php?func=detail&aid=27951&group_id=126&atid=577)

As you can see, I’ve gotten some push-back from the Ruby Gems team on  
the naming of the platform for the gems. The problem is that they don’t  
like the “.” in “.net” (i.e. “universal-.net-2.0”), and have suggested  
alternatives such as “dotnet”, “dotNet”, and “Net”. I have asked for  
clarification on their position.

If I understand the Gem::Platform class correctly, the initialize method  
takes in the values read from RbConfig, and performs some translation to  
come up with a Gem platform name. So, without any changes to IronRuby  
itself, we could have gems with names like  
“iron-term-ansicolor-universal-dotnet”. Of course, it would require a  
small tweak to the version of Ruby Gems that is distributed with  
IronRuby, but the change is very minor.

So, does anyone object to .Net native gems like:

“gemname-universal-dotnet”  
“gemname-universal-dotnet-2.0”  
“gemname-universal-dotnet-4.0”

I think this would get the patch accepted more quickly.

Is this kosher with LCA, or even something that needs to be brought to  
their attention?

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Sun, Mar 7, 2010 at 10:01 PM, Jim D.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
Iâ€™m also wondering what will happen if you put the gem on two different  
gem servers (if that is possible, like github and rubyforge). Does gem  
attempt all sources to find the most specific? Or does it go with the  
most specific gem from the first source?

JD

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Shri B.  
Sent: Sunday, March 07, 2010 6:53 PM

To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Will, could you recreate the universal-.net gem again and push it? I  
think it might have been created incorrectly. The persisted  
Gem::Specification has @new\_platform and @original\_platform set to  
â€œuniversal-unknownâ€ which might happen if you create it with MRI as I  
had mentioned belowâ€¦

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Shri B.  
Sent: Sunday, March 07, 2010 2:27 PM  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

My guess is that RubyGems tries to look for an exact platform match  
first. If there is no exact match, it somehow prefers â€œrubyâ€ over other  
platforms.

Btw, you could just change clr\_version in  
Merlin\Main\Languages\Ruby\Libs\rbconfig.rb to â€œ4.0â€ to simulate running  
on .NET 4. After doing this and using the â€œâ€”platform universal-.netâ€  
option, iron-term-ansicolor-0.0.3-universal-.net-2.0 was installed which  
was surprising to me as I would have expected it to install  
iron-term-ansicolor-0.0.3-universal-.net. When I used the â€œâ€”platform  
universal-.net-4.0â€ option, iron-term-ansicolor-0.0.3 was installed  
which was also surprising. So there does not seem to be any way to  
install iron-term-ansicolor-0.0.3-universal-.net.

From:  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)]  
On Behalf Of Will G.  
Sent: Sunday, March 07, 2010 6:33 AM  
To: ironruby-core  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Thanks, Daniele!

I’ve got three version of iron-term-ansicolor out there on [RubyGems.org](http://RubyGems.org):

- iron-term-ansicolor-0.0.3  
(gemspec.platform=“ruby”)
- iron-term-ansicolor-0.0.3-universal-.net  
(gemspec.platform=“universal-.net”)
- iron-term-ansicolor-0.0.3-universal-.net-2.0  
(gemspec.platform=“universal-.net-2.0”)

It looks like the .Net 4 runtime selected the non-platform specific gem,  
while the .Net 2 runtime selected the “universal-.net-2.0” gem.

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Sun, Mar 7, 2010 at 4:01 AM, Daniele A.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:  
On Sun, Mar 7, 2010 at 08:07, Will G.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:

> I would appreciate if someone running the latest from git would try  
> ir -S gem install iron-term-ansicolor  
> on both the .Net 2 and the .Net 4 runtimes, and let me know which gem gets  
> installed.  
> C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir --version  
> IronRuby 0.9.4.0 on .NET 2.0.50727.4200

C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir -S gem  
install iron-term-ansicolor --no-rdoc --no-ri  
Successfully installed iron-term-ansicolor-0.0.3-universal-.net-2.0  
1 gem installed  
C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir --version  
IronRuby 0.9.4.0 on .NET 4.0.30128.1

C:\Users\nrk\Repositories\ironruby\Merlin\Main\bin\Debug\>ir -S gem  
install iron-term-ansicolor --no-rdoc --no-ri  
Successfully installed iron-term-ansicolor-0.0.3  
1 gem installed

–  
Daniele A.

> **[clorophilla.net](https://clorophilla.net/)**

[http://twitter.com/JoL1hAHN](http://twitter.com/JoL1hAHN)

* * *

Ironruby-core mailing list  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://rubyforge.org/mailman/listinfo/ironruby-core](http://rubyforge.org/mailman/listinfo/ironruby-core)

* * *

Ironruby-core mailing list  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://rubyforge.org/mailman/listinfo/ironruby-core](http://rubyforge.org/mailman/listinfo/ironruby-core)

* * *

Ironruby-core mailing list  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://rubyforge.org/mailman/listinfo/ironruby-core](http://rubyforge.org/mailman/listinfo/ironruby-core)

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 11, 2010, 7:25pm UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/53 "2010-03-11T19:25:17Z")

</div>

There’s pretty strong use of “dotnet” in other open source projects, and  
I think that would be best in case gems ever need to decide between  
dotnet and mono (which is rare, but could happen).

Cory  
Sent from my Verizon Wireless BlackBerry

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 12, 2010, 10:49am UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/54 "2010-03-12T10:49:38Z")

</div>

## +1 for lowercase

Met vriendelijke groeten - Best regards - Salutations  
Ivan Porto C.  
Web: [http://whiterabbitconsulting.eu](http://whiterabbitconsulting.eu) - [http://flanders.co.nz](http://flanders.co.nz)  
Twitter: [http://twitter.com/casualjim](http://twitter.com/casualjim)  
Author of IronRuby in Action ([IronRuby in Action - Ivan Porto Carrero and Adam Burmister | Manning](http://manning.com/carrero))  
Microsoft IronRuby/C# MVP

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 11, 2010, 6:44pm UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/55 "2010-03-11T18:44:18Z")

</div>

Probably, as it would cover both .NET and Mono.

If you look at the JRuby stuff in Ruby Gems, the gems are either  
“java” or “jruby”. We could do “dotnet” and “ironruby”, and even  
“clr”, but I think we should standardize on one.

My vote is for “dotnet”.

On Thursday, March 11, 2010, Tomas M.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Subject: Re: [Ironruby-core] IronRuby version of existing gemsÂ Attached is a new patch I would propose to address the feedback from the Ruby Gems team. I would love some feedback on it.Â It is a patch against rev 2463 of trunk of Ruby Gems source.–  
> Will G.  
> [http://hotgazpacho.org/On](http://hotgazpacho.org/On) Wed, Mar 10, 2010 at 10:33 PM, Will G. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:Based on some work that Shri and I did to figure this out, I have created and submitted a patch to Ruby Gems to include support form .Net native gems:Â [http://rubyforge.org/tracker/index.php?func=detail&aid=27951&group\_id=126&atid=577Â](http://rubyforge.org/tracker/index.php?func=detail&aid=27951&group_id=126&atid=577%C3%82) As you can see, I’ve gotten some push-back from the Ruby Gems team on the naming of the platform for the gems. The problem is that they don’t like the “.” in “.net” (i.e. “universal-.net-2.0”), and have suggested alternatives such as “dotnet”, “dotNet”, and “Net”. I have asked for clarification on their position.Â If I understand the Gem::Platform class correctly, the initialize method takes in the values read from RbConfig, and performs some translation to come up with a Gem platform name. So, without any changes to IronRuby itself, we could have gems with names like “iron-term-ansicolor-universal-dotnet”. Of course, it would require a small tweak to the version of Ruby Gems that is distributed with IronRuby, but the change is very minor.Â So, does anyone object to .Net native gems like:Â “gemname-universal-dotnet”"gemname-universal-dotnet-2.0""gemname-universal-dotnet-4.0"Â I think this would get the patch accepted more quickly.Â Is this kosher with LCA, or even something that needs to be brought to their attention?–  
> Will G.  
> [http://hotgazpacho.org/On](http://hotgazpacho.org/On) Sun, Mar 7, 2010 at 10:01 PM, Jim D. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:Iâ€™m also wondering what will happen if you put the gem on two different gem servers (if that is possible, like g

## –

Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 12, 2010, 2:10pm UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/56 "2010-03-12T14:10:25Z")

</div>

> > The name is spelled as â€œ.NETâ€, and so “gemname-universal-dotNET” would  
> > read better than just “gemname-universal-dotnet”.

dotNET looks awful. Microsoft are well known for terrible marketing and  
terrible naming, so I’d argue that “use the correct spelling” is an  
anti-feature 🙂

Personally, I like Tomas’ suggestion of clr

gemname-universal-clr2.0 looks very nice 🙂

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 12, 2010, 9:24pm UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/57 "2010-03-12T21:24:43Z")

</div>

Updated my patch to Ruby Gems to match on “universal-dotnetX.X”, where  
X.X  
is the version number.

This will allow for the creation of .NET-specific gems with names like:

- gemname-dotnet
- gemname-dotnet-2.0
- gemname-dotnet-4.0
- gemname-universal-dotnet
- gemname-universal-dotnet-2.0
- gemname-universal-dotnet-4.0

If there are no objections, I’ll resubmit to Ruby Gems.

–  
Will G.  
[http://hotgazpacho.org/](http://hotgazpacho.org/)

On Thu, Mar 11, 2010 at 4:19 PM, Ivan Porto C. \<

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 12, 2010, 3:24pm UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/58 "2010-03-12T15:24:45Z")

</div>

I don’t care either way as long as it’s lower-case

On Thursday, March 11, 2010, Orion E. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> > > The name is spelled as â€œ.NETâ€, and soÂ "gemname-universal-dotNET"Â would read better than justÂ “gemname-universal-dotnet”.
> 
> dotNET looks awful. Microsoft are well known for terrible marketing and terrible naming, so I’d argue that “use the correct spelling” is an anti-feature 🙂
> 
> Personally, I like Tomas’ suggestion of clr  
> gemname-universal-clr2.0 looks very nice 🙂

## –

Met vriendelijke groeten - Best regards - Salutations  
Ivan Porto C. - Mob: +32.486.787.582  
Web: [http://whiterabbitconsulting.eu](http://whiterabbitconsulting.eu) - [http://flanders.co.nz](http://flanders.co.nz)  
Twitter: [http://twitter.com/casualjim](http://twitter.com/casualjim)  
Author of IronRuby in Action ([IronRuby in Action - Ivan Porto Carrero and Adam Burmister | Manning](http://manning.com/carrero))  
Microsoft IronRuby/C# MVP

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 19, 2010, 12:01pm UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/59 "2010-03-19T12:01:32Z")

</div>

FYI, my patch to Ruby Gems was accepted yesterday. Hopefully, we’ll  
see a release that includes it (and [rubygems.org](http://rubygems.org) using it) at or about  
the time IronRuby 1.0 goes RTW.

–  
Will G.  
[http://hotgazpacho.org/](http://hotgazpacho.org/)

On Mar 12, 2010, at 12:57 PM, Shri B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![hotgazpacho](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/a587f6/32.png) [@hotgazpacho](https://www.ruby-forum.com/u/hotgazpacho)\
**Post date:** [March 12, 2010, 11:11pm UTC](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249/60 "2010-03-12T23:11:14Z")

</div>

Sounds great. Thanks for pushing on this!

From: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)] On Behalf Of Will G.  
Sent: Thursday, March 11, 2010 7:19 PM  
To: ironruby-core  
Subject: Re: [Ironruby-core] IronRuby version of existing gems

Updated my patch to Ruby Gems to match on “universal-dotnetX.X”, where  
X.X is the version number.

This will allow for the creation of .NET-specific gems with names like:

- gemname-dotnet
- gemname-dotnet-2.0
- gemname-dotnet-4.0
- gemname-universal-dotnet
- gemname-universal-dotnet-2.0
- gemname-universal-dotnet-4.0

If there are no objections, I’ll resubmit to Ruby Gems.

–  
Will G.

> **[hotgazpacho](http://hotgazpacho.org/)**

On Thu, Mar 11, 2010 at 4:19 PM, Ivan Porto C.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\>  
wrote:  
I don’t care either way as long as it’s lower-case

On Thursday, March 11, 2010, Orion E.  
\<[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)\> wrote:

> > > The name is spelled as â€œ.NETâ€, and so “gemname-universal-dotNET” would read better than just “gemname-universal-dotnet”.
> 
> dotNET looks awful. Microsoft are well known for terrible marketing and terrible naming, so I’d argue that “use the correct spelling” is an anti-feature 🙂
> 
> Personally, I like Tomas’ suggestion of clr  
> gemname-universal-clr2.0 looks very nice 🙂

## –

Met vriendelijke groeten - Best regards - Salutations  
Ivan Porto C. - Mob: +32.486.787.582  
Web: [http://whiterabbitconsulting.eu](http://whiterabbitconsulting.eu) - [http://flanders.co.nz](http://flanders.co.nz)  
Twitter: [http://twitter.com/casualjim](http://twitter.com/casualjim)  
Author of IronRuby in Action ([IronRuby in Action - Ivan Porto Carrero and Adam Burmister | Manning](http://manning.com/carrero))  
Microsoft IronRuby/C# MVP

* * *

Ironruby-core mailing list  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
[http://rubyforge.org/mailman/listinfo/ironruby-core](http://rubyforge.org/mailman/listinfo/ironruby-core)

[Previous page](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249.md?page=2)

[Next page](https://www.ruby-forum.com/t/iron-term-ansicolor-0-0-2-released/184249.md?page=4)
