Summary: | racc and other gems cannot be unbundled from dev-lang/ruby-1.9.2 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Logan Bowers <logan> |
Component: | [OLD] Development | Assignee: | Gentoo Ruby Team <ruby> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | rainhead |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | New Ruby-1.9.2 build with racc included |
Description
Logan Bowers
2011-04-13 02:09:47 UTC
Created attachment 269851 [details]
New Ruby-1.9.2 build with racc included
I've attached a corrected ebuild. Since racc is now part of the core library and the gem is incompatible with Ruby 1.9, this modified ebuild does not strip it from the main build of Ruby. NOTE: The racc gem should be masked for all ruby versions 1.9* BTW, here's an example block of ruby code that fails on the Gentoo version of Ruby 1.9 + Rails 3. Note that due to the wonders of monkey-patching, the error is within Net::HTTP::Post and the monkey patch is in the old racc 1.4.5 gem: req = Net::HTTP::Post.new('/some/path') req.set_form_data("key" => "foo\nbar") req.body == "key=foo%0abar" #false (wrong!) req.body == "key=foo%0a&key=bar" #true (wrong!) This seems reasonable. More broadly, Gentoo's Ruby installation ought not to break applications' expectations of what it means to have Ruby installed (i.e. what is included), or else they cannot reliably declare their own dependencies. I've looked at this issue and found that all ruby implementations ship these particular files, including ruby 1.8, so I have decided to leave them in ruby 1.9 as well. ruby-1.9.2-r1 has them included. Given that we provide the gem and the c-based parser for the other ruby implementations I don't see a reason to remove the ruby19 target from dev-ruby/racc. Thank you! |