Date: Fri, 14 Jul 2023 20:51:00 +0000 From: bugzilla-noreply@freebsd.org To: ports-bugs@FreeBSD.org Subject: [Bug 272510] graphics/gd and graphics/openexr form a circular dependency loop with some options Message-ID: <bug-272510-7788@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D272510 Bug ID: 272510 Summary: graphics/gd and graphics/openexr form a circular dependency loop with some options Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: Individual Port(s) Assignee: ports-bugs@FreeBSD.org Reporter: nicholas.e.taylor@gmail.com CC: dinoex@FreeBSD.org, mandree@FreeBSD.org CC: dinoex@FreeBSD.org, mandree@FreeBSD.org Short version: graphics/gd options AVIF and HEIF add a dependency on graphics/openexr; graphics/openexr option DOCS adds a dependency on graphics/gd. I'd like to break that circular dependency or mark those opti= ons as incompatible, and have no idea how. Longer version: the AVIF option of graphics/gd is marked as BROKEN: circular dependency loop. In a fit of procrastination I decided to chase that loop down. In the process I found that the HEIF option introduces the same circ= ular dependency loop and is not marked as BROKEN. The core of the problem seems to be that devel/doxygen depends on graphics/= gd, which is sensible: gd is a useful tool for generating documentation. A lot= of ports that build documentation also depend on devel/doxygen, again sensibly= .=20 This is only a problem when a port on which graphics/gd depends builds documentation using doxygen. In this case graphics/openexr uses devel/py-breathe to build its documentation, which in turn uses doxygen. In this case unsetting DOCS on graphics/openexr is sufficient to break the dependency loop, but I don't know how to express "these two options in different ports are incompatible" so that no-one else needs to walk through dependency trees. In the general case building the documentation for a package is a completely different task from building the package itself, and ports that are useful = for building documentation are going to suffer this class of dependency loop un= less there's some way to separate out documentation-like dependencies from package-like dependencies. Is there one that I've missed? --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-272510-7788>