Opened 3 months ago
Last modified 13 days ago
#70546 assigned defect
vala @0.56.17_2: Can not install due to cyclic dependency by "+valadoc" (enabled by default)
Reported by: | nanigashi-uji (Nanigashi Uji) | Owned by: | mascguy (Christopher Nielsen) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ryandesign (Ryan Carsten Schmidt) | |
Port: | vala, vala-devel, gd2, libavif |
Description
Vala can not be installed due to cyclic dependency via graphviz.
It can be installed with "-valadoc" variant at least once.
Change History (4)
comment:1 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign added |
---|---|
Owner: | set to mascguy |
Port: | vala-devel gd2 libavif added |
Status: | new → assigned |
Summary: | vala [0.56.17_2]: Can not install due to cyclic dependency by "+valadoc" (enabled by default) → vala @0.56.17_2: Can not install due to cyclic dependency by "+valadoc" (enabled by default) |
comment:2 Changed 3 months ago by nanigashi-uji (Nanigashi Uji)
Yes, What I did is simply a coping mechanism. I would appreciate it if you could implement a better best workaround.
comment:3 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)
comment:4 Changed 13 days ago by mascguy (Christopher Nielsen)
FYI, port libavif
has been updated to not enable +docs
by default. See: comment:2:issue:70723
Note: See
TracTickets for help on using
tickets.
Ok, so you've found the workaround: install vala without the +valadoc variant, and then you can install it with the +valadoc variant. But that isn't really a satisfactory situation especially since that variant should not exist and its functionality should be always on; see #70417.
The only reason vala is in the dependency chain of graphviz is that graphviz depends on gd2 which depends on libavif which depends on pandoc which depends on cabal which depends on wget which depends on libproxy which depends on vala.
pandoc specifically is what I would consider a "heavy" dependency and I would not want it in a port's default dependencies unless there is really no other way.
libavif only depends on pandoc in its +docs variant which is on by default. A solution would be to make that variant off by default or to move what it does to a subport.
If that will not be done, gd2 can be changed to no longer depend on libavif, or to do so only in a non-default variant. The libavif dependency was added to gd2 relatively recently so it can clearly do without it.
Previous tickets about this were #69332 and #69566. I had hoped that the resolution of those issues would be one of the above.