Re: cmake circular dependency

Thomas Klausner <[email protected]> Sun, 26 Jul 2026 20:07:43 +0200
Newsgroups gmane.os.netbsd.devel.packages
Message-ID <[email protected]>
On Fri, Jul 24, 2026 at 01:10:29PM +0100, Jonathan Perkin wrote:
> * On 2026-07-24 at 13:03 BST, Thomas Klausner wrote:
> 
> > On Fri, Jul 24, 2026 at 07:55:43AM +0100, Greg Troxel wrote:
> > > The real bug is that the cmake package depends on groff.   Surely groff
> > > is not necessary to build packages with cmake.
> > 
> > Looking at this more closely, I'm a bit confused.
> > The dependency cycle that jperkin posted goes cmake -> curl -> openldap_client -> groff
> > 
> > openldap client is a default-off dependency of curl, and I strongly
> > wonder why it is enabled in the macOS builds. Jonathan, can you shine
> > a light on this?
> 
> Yeh, ldap is enabled in my builds.  As my package sets are designed to
> appeal to the widest set of users (and many of them have been requested)
> I've always enabled extra features:
> 
>   https://github.com/TritonDataCenter/pkgbuild/blob/master/include/pkgoptions/macos.mk
> 
> > (openldap then uses soelim to generate its man pages, which pulls in
> > groff.)
> > 
> > So right now, this looks like a self-inflicted wound to me.
> 
> Fair, but we should still strive to support at least a reasonable set of
> PKG_OPTIONS, otherwise what's the point of having them if they don't
> actually work.
> 
> I think at least the cmake-minimal work will get us past this.

jperkin and I tracked down some more details.

Making uchardet an option was necessary.

But the cycle for groff via openldap was there (in SmartOS builds,
because they enable the 'ldap' option by default[1]) before the
update, but they also had disabled the groff-docs option for groff. In
the update, the option was renamed from groff-docs to ghostscript,
breaking the workaround.

I've now renamed the option back, and will probably enable it by
default again (as it was before the update), because with default
options there is no problem, and they are required options to make
grohtml (HTML output for man pages) useful.

So default installs were not affected.
 Thomas


https://github.com/TritonDataCenter/pkgbuild/blob/master/include/macos.mk