Bug 214466 - graphics/graphviz: Circular dependency on lang/ruby22 when configured with Ruby bindings
Summary: graphics/graphviz: Circular dependency on lang/ruby22 when configured with Ru...
Status: Closed Not Enough Information
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-ruby (Nobody)
URL:
Keywords: needs-qa
Depends on:
Blocks:
 
Reported: 2016-11-13 06:21 UTC by Alex Dowad
Modified: 2016-12-05 20:02 UTC (History)
2 users (show)

See Also:
dinoex: maintainer-feedback+
koobs: merge-quarterly?


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Dowad 2016-11-13 06:21:33 UTC
I just used portsnap to update my ports yesterday, so I should have the latest versions. When I use "make config" to select Ruby bindings for graphics/graphviz, make gets stuck in an infinite loop and never finishes. It seems that this is because ruby22 also has a dependency on graphviz.

Note that I have never installed ruby22 on this machine before; this is the first time to install either ruby22 or graphviz. If either of them had been installed previously, I'm sure I could recompile with different config, without getting stuck in this infinite loop.

Thanks!
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2016-11-13 08:02:40 UTC
The graphviz dependency is generated via the CAPIDOCS option (in lang/ruby22, which does not appear to be defined in OPTIONS_DEFAULT (not enabled by default)

CAPIDOCS_BUILD_DEPENDS= doxygen>0:devel/doxygen \
                        dot:graphics/graphviz

A workaround is to disable the CAPIDOCS option
Comment 2 Alex Dowad 2016-11-13 08:34:06 UTC
Another workaround is to build graphviz first without Ruby bindings, then build Ruby, then come back and rebuild graphviz with Ruby bindings this time. But if would be better if things "just work"...
Comment 3 Dirk Meyer freebsd_committer freebsd_triage 2016-11-14 05:37:11 UTC
A possible solution would be to create the CAPIDOCS files in a slave port.

To be discussed by the ruby team.
Comment 4 Steve Wills freebsd_committer freebsd_triage 2016-12-05 20:02:30 UTC
(In reply to Dirk Meyer from comment #3)

Given there are several work-arounds and the issue isn't hit by default and there is no proposed patch in this PR, I'm not sure what to do with it.

There are several ways it could be fixed. One would be providing a graphviz slave port with the ruby option explicitly disabled that the ruby port could depend on. Another would be to patch ruby to build the CAPIDOCS in a separate port.

If someone wants to provide a patch, we can consider it. Until then, closing.