Bug 261535

Summary: devel/sdl20, multimedia/pipewire: circular dependency
Product: Ports & Packages Reporter: John Hein <jcfyecrayz>
Component: Individual Port(s)Assignee: Dmitry Marakasov <amdmi3>
Status: Closed Not A Bug    
Severity: Affects Some People CC: amdmi3, arrowd
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description John Hein 2022-01-28 17:12:00 UTC
devel/sdl20 has an optional dependency on multimedia/pipewire (default setting for the option is off).

multimedia/pipewire has an optional dependency on devel/sdl20 (default setting for the option is off).

If the options are both set on, then there is a circular dependency.
Comment 1 Dmitry Marakasov freebsd_committer freebsd_triage 2022-02-08 17:18:12 UTC
There's no problem as long as any of these options is OFF by default.
Comment 2 Gleb Popov freebsd_committer freebsd_triage 2022-02-08 17:22:09 UTC
I'd say, this is not a bug, because both upstream projects have options to build with each other. The FreeBSD port is just a reflection of this fact.
Comment 3 John Hein 2022-02-09 18:01:40 UTC
That resolution does not help for people who want to build sdl with pipewire support and pipewire with sdl support.  I understand that default package builds will not have a problem, but that's not what this bug is about.

I suppose a workaround might be that one could build one of them with support turned off.  Then build the other with support turned on.  Then go back and build the first with support turned on.

example:

 build pipewire with sdl support off
 build sdl with pipewire support on
 re-build pipewire with sdl support on
Comment 4 Gleb Popov freebsd_committer freebsd_triage 2022-02-13 18:30:31 UTC
(In reply to John Hein from comment #3)
This is "Not a bug" for us, downstream packagers. You need to ask either pipewire upstream or SDL upstream to provide some neat way to build with each other support. It is up to them to implement such support and provide us a configure-time option. We then can enable it in our ports.