Created attachment 460836 [details]
On a clean system (no prior ruby installed), I have specified:
'emerge ruby' builds rake before rdoc. rake fails promptly:
>>> Emerging (11 of 18) dev-ruby/rake-12.0.0::gentoo
* rake-12.0.0.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
>>> Unpacking source...
* Running unpack phase for all ...
>>> Unpacking rake-12.0.0.tar.gz to /var/tmp/portage/dev-ruby/rake-12.0.0/work/all
>>> Source unpacked in /var/tmp/portage/dev-ruby/rake-12.0.0/work
>>> Preparing source in /var/tmp/portage/dev-ruby/rake-12.0.0/work ...
* Running prepare phase for all ...
* Running source copy phase for ruby24 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-ruby/rake-12.0.0/work ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-ruby/rake-12.0.0/work ...
* Running compile phase for all ...
/var/tmp/portage/dev-ruby/rake-12.0.0/temp/environment: line 657: rdoc: command not found
It does not work to oneshot rdoc since it requires rake.
The workaround will be to build without rake[doc] and then build rake again with it.
It looks like this a known problem:
... but still not a good user experience.
A solution might be:
builds rake without docs
PDEPEND on rake-docs
DEPEND on rake
DEPEND on rdoc
This requires an extra package, but it would fix the circular dependency and automates the workaround that users must re-discover and manually execute.
If nothing else, a pkg_setup in rake could detect rdoc's absence and alert the user to workaround steps before failing.