The ebuild should optionally add --enable-install-docs to the ./configure listing conditional on a doc USE flag. This would generate the up to date development documentation from the ruby library and source to be referenced through ri. The ri program that there is a ebuild for as dev-ruby/ri-1.8b is no longer up to date. It is still useful for those using ruby-1.8.0 or earlier, but since 1.8.1 it has been possible to generate all the up to date documentation by passing --enable-install-docs. Since rdoc is also part of the ruby itself now it should also provide the rdoc dependency. Reproducible: Always Steps to Reproduce: 1. emerge ruby with USE="doc" set 2. ri doesn't work Actual Results: ri not installed Expected Results: ri should have been installed as a program and the documentation should have been generated during the ruby build process.
More information on this: The ruby configure script can be made to generate docs by adding "--enable-install-doc" so this can be enabled by adding "`use_enable doc install-doc`" to the econf line in src_compile. The other issue is that the ruby 1.8 ebuilds install ri as /usr/bin/ri18, leaving the "dev-ruby/ri" ebuild (which is deprecated for ruby 1.8 because it is now included in ruby) to install /usr/bin/ri. The quick fix is to make sure "dev-ruby/ri" is not merged and to make the link manually. However, maybe this is a job for ruby-config?
Thanks for the suggestion. I added doc USE flag to ruby-1.8.2_pre2, added ri-1.8b-r1 which installs ri as ri16, and let ruby-config-0.3.1 make ri symlink.
I don't think this bug is fixed. I get the following when I want to get the documentation for "puts": $ ri puts More than one method matched your request. You can refine your search by asking for information on one of: XMP#puts, XMP::StringInputMethod#puts, IRB::Locale#puts ----- Some important classes are missing! ri16 shows me "IO#puts, Kernel::puts". dev-lang/ruby-1.8.2_pre2 with USE="doc".
Hum, my system returns ri16 -> IO#puts, Kernel::puts ri18 -> IO#puts, Kernel#puts ri19 -> IO#puts, Net::Telnet#puts, Kernel#puts, StringIO#puts, Buffering#puts, Zlib::GzipWriter#puts Could you recompile ruby-1.8.2_pre2? (_pre3 is coming soon though) agrrifis changed ri document creation several weeks ago and that might solve the problem.
I have recompiled it last night. First unmerged ruby 1.6, ruby-config, ri, and ruby 1.8. After that emerged it all again: ruby 1.6, ruby-config, ri (aka ri16), ruby 1.8 (USE="doc"). Changed to ruby18 with ruby-config. Silly procedure, but I wanted to be sure to catch some error messages or whatever ..
Ah, okay. I reproduced the problem. (unmerge everything and emerge all again) I'm going to look into this issue after _pre3 will be released.
Here's some additional information which may be of use. A thread regarding this issue has recently just turned up in the ruby-talk mailinglist. http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-talk/119412?119262-119439
Could this be related to my patch to build all the docs instead of part of them?
Yes, rdoc patch Aron committed as -r1.2 seems to cause this problem. If I revert the patch to -r1.1, it works as expected again.
"ri puts" with dev-lang/ruby-1.8.2_pre3 (still missing IO#puts and Kernel::puts): $ ri puts More than one method matched your request. You can refine your search by asking for information on one of: XMP#puts, XMP::StringInputMethod#puts, IRB::Locale#puts, Net::WriteAdapter#puts, Net::Telnet#puts
Fixed in CVS. Please remerge ruby-1.8.2_pre3.