Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 606712 - dev-ruby/rake[doc] triggers circular dependency with rdoc
Summary: dev-ruby/rake[doc] triggers circular dependency with rdoc
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Ruby Team
Depends on:
Reported: 2017-01-21 17:15 UTC by Erik Mackdanz
Modified: 2017-01-24 06:07 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---

emerge --info (,4.72 KB, text/plain)
2017-01-21 17:15 UTC, Erik Mackdanz

Note You need to log in before you can comment on or make changes to this bug.
Description Erik Mackdanz gentoo-dev 2017-01-21 17:15:21 UTC
Created attachment 460836 [details]
emerge --info

On a clean system (no prior ruby installed), I have specified:

and package.use:
  dev-lang/ruby doc
  dev-ruby/rake doc

'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.