tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: doxygen build failing with python confusion
On Sat, Mar 25, 2023 at 01:17:38PM -0400, Greg Troxel wrote:
> Thomas Klausner <wiz%NetBSD.org@localhost> writes:
>
> > On Sat, Mar 25, 2023 at 01:50:18PM +0100, Niclas Rosenvik wrote:
> >> Hi Greg and Thomas, as Thomas mentions in his mail there is
> >> patch-Modules_FindPythonInterp.cmake that checks if PYVERSSUFFIX is
> >> defined and uses that as a version number. PYVERSSUFFIX is passed to
> >> cmake in lang/python/pyversion.mk . It is only passed when USE_CMAKE is
> >> defined. doxygen uses devel/cmake/build.mk that does not set this
> >> variable. So checking for if devel/cmakebuild.mk is included might
> >> fix the problem. Do we have a convention on how to check for if a
> >> particular build.mk file is included? One way could be to look for the
> >> targets it defines like cmake-configure. I have tested this, aka
> >> adding "|| target(cmake-configure)" after "defined(USE_CMAKE)", in
> >> pyversion.mk and it works for me with the configuration you mention
> >> (python2.7 but no py27-expat). Also I did a grep on
> >> "defined(USE_CMAKE)" in the pkgsrc tree and the lua buildlink3 files
> >> also check for USE_CMAKE to add cmake arguments, so I hope they are not
> >> causing similar problems.
> >
> > Thanks for finding the root cause.
> >
> > I guess adding this (and similarly for lua) would be good. (I think I
> > stumbled over this and didn't convert some packages from USE_CMAKE to
> > cmake/build.mk because they failed, and that might be the reason.)
> >
> > On the other hand, I also think it'd be nice to get rid of this
> > special handling, because it will making building using cmake outside
> > of pkgsrc harder if pkgsrc does magic that doesn't happen outside.
>
> I'm a little baffled.
>
> It seems that we used to have USE_CMAKE as the way for a package to say
> it built using cmake. Now we have including cmake/build.mk. That's
> fine, but it's IMHO a clear bug to either:
>
> not have build.mk set USE_CMAKE to yes
>
> change everything that checks USE_CMAKE to instead check if build.mk is
> in use
>
> That's just about the transition. I realize there are also issues where
> each upstream package should be better, but as I see it that's just how
> the world is and it remains to file upstream bugs with N of them, and
> add the URLS to pkgsrc.
>
>
> Which leads to
>
> let's fix the use of USE_CMAKE now. perhaps for 'now' that menas
> adding the alternative and post-branch it means removing USE_MAKE entirely.
I'm not sure what fix you mean here. Setting USE_CMAKE in
cmake/build.mk is IMO not a solution since it will lead to
mk/configure/cmake.mk getting included - and that file is basically
replaced by cmake/build.mk. This change is too big in my opinion to
go in now, since we don't even know if it improves the situation or
makes it worse; especially since the bulk builds are fine with the
current situation.
Changing lang/python/*.mk in some way is fine with me if you think it
necessary right now.
> anyone should feel free to fix upstreams so that one passes an
> explicit --with-python=/usr/pkg/bin/python3.10 to the cmake build
> (really however that is spelled in cmake; it would have been too
> simple to accept autoconf-style args...).
CMake has a different argument syntax, it's basically CMAKE_ARGS+=-DFOO=bar
Thomas
Home |
Main Index |
Thread Index |
Old Index