Friday, October 28, 2022

Re: Fix cmake.port.mk python version detection

On Fri Oct 28, 2022 at 05:42:46PM +0200, Theo Buehler wrote:
> On Fri, Oct 28, 2022 at 04:18:00PM +0200, Rafael Sadowski wrote:
> > On Fri Oct 28, 2022 at 04:06:33PM +0200, Rafael Sadowski wrote:
> > > On Fri Oct 28, 2022 at 03:51:11PM +0200, Theo Buehler wrote:
> > > > On Fri, Oct 28, 2022 at 03:40:52PM +0200, Rafael Sadowski wrote:
> > > > > Here is a diff to fix the python detection. This fix the issues reported
> > > > > in the "aarch64 bulk build report". If multiple versions are installed,
> > > > > CMake always finds the correct one from lang/python.
> > > > >
> > > > > OK? Bulk build first?
> > > >
> > > > Unfortunately, that's not good enough for devel/kf5/breeze-icons.
> > > >
> > > > I should have said "fails to package with Python 3.10 installed" rather
> > > > than "fails to build", sorry.
> > >
> >
> > This will fix both cases. All old ones that use Python_EXECUTABLE and
> > new cases that use Python3|2_EXECUTABLE.
>
> Yes, this appears to work and the diff makes sense.
>
> ok
>
> I'm not sure a bulk build with this is required, but I can put it
> through one if others think it's necessary.
>
> >
> > Index: cmake.port.mk
> > ===================================================================
> > RCS file: /cvs/ports/devel/cmake/cmake.port.mk,v
> > retrieving revision 1.77
> > diff -u -p -r1.77 cmake.port.mk
> > --- cmake.port.mk 2 Sep 2022 18:00:02 -0000 1.77
> > +++ cmake.port.mk 28 Oct 2022 14:16:02 -0000
> > @@ -63,9 +63,12 @@ MAKE_ENV += JAVA_HOME=${JAVA_HOME}
> > # Python
> > .if ${MODULES:Mlang/python}
> > # https://cmake.org/cmake/help/latest/module/FindPython3.html#artifacts-specification
> > -CONFIGURE_ARGS += -DPYTHON_EXECUTABLE=${MODPY_BIN}
> > -CONFIGURE_ARGS += -DPYTHON_LIBRARY_DIRS=${MODPY_LIBDIR}
> > -CONFIGURE_ARGS += -DPYTHON_INCLUDE_DIR=${MODPY_INCDIR}
> > +CONFIGURE_ARGS += -DPython_EXECUTABLE=${MODPY_BIN}
> > +CONFIGURE_ARGS += -DPython_LIBRARY_DIRS=${MODPY_LIBDIR}
> > +CONFIGURE_ARGS += -DPython_INCLUDE_DIR=${MODPY_INCDIR}
> > +CONFIGURE_ARGS += -DPython${MODPY_MAJOR_VERSION}_EXECUTABLE=${MODPY_BIN}
> > +CONFIGURE_ARGS += -DPython${MODPY_MAJOR_VERSION}_LIBRARY_DIRS=${MODPY_LIBDIR}
> > +CONFIGURE_ARGS += -DPython${MODPY_MAJOR_VERSION}_INCLUDE_DIR=${MODPY_INCDIR}
> > .endif
> >
> > # Lua
>

I backported the upper-case variables but I guess we will still see
issues where 3.9 and 3.10 is installed.
For example:

-- Found PythonLibs: /usr/local/lib/libpython3.10.so.0.0 (found suitable version "3.9.15", minimum required is "3.6")

Let me know, I can help fix it.

No comments:

Post a Comment