Index | Thread | Search

From:
Johannes Thyssen Tishman <jtt@openbsd.org>
Subject:
Re: [update] numpy 1.x -> numpy 2.x
To:
Theo Buehler <tb@theobuehler.org>
Cc:
Daniel Dickman <didickman@gmail.com>, ports@openbsd.org, jsg@openbsd.org
Date:
Thu, 8 May 2025 16:16:53 +0000

Download raw body.

Thread
2025-05-08T04:32:09+0200 Theo Buehler <tb@theobuehler.org>:
> On Wed, May 07, 2025 at 07:38:29PM -0400, Daniel Dickman wrote:
> > numpy 1.x in the tree is a blocker for updating quite a few ports.
> > 
> > The main blocker for the update used to be boost. But now that we have 
> > boost 1.87 I think it's a good time to update numpy to the 2.x series. The 
> > diff below gets us to 2.0.2.
> > 
> > I have fixes for these which are all fairly straightforward and I can 
> > commit once numpy is at the 2.x series:
> >  astro/py-erfa (update 2.0.1.1 -> 2.0.1.3)
> >  graphics/py-matplotlib (remove hardcoded upper bound on numpy < 2)
> >  math/py-cvxpy (update 1.2.1 -> 1.6.2)
> >  math/py-numexpr (update 2.8.4 -> 2.10.2)
> >  math/py-scikit-learn (update 1.4.1post1 -> 1.5.2)
> >  math/py-scs (update 2.1.1-2 -> 3.2.6)
> >  math/py-tables (upstream wants numpy 2.x, but we patch it. undo our local patch)
> 
> Would you mind sharing a diff including these fixes? When running a bulk,
> every build failure costs some time triaging, and while most of these are
> nearly leaf ports, py-matplotlib has more than a dozen reverse deps.
> 
> Like for math/py-tables, landry had to relax a build requirement in
> geo/py-rasterio (and maybe elsewhere?). This can also be removed.
> 
> > These I'd like to mark BROKEN until they can be fixed by someone with an 
> > interest:
> > - graphics/piglit (very old and stale)
> > - x11/qt6/pyside/shiboken (core vs _core include path update is needed?)
> 
> While I'm fine with this, I know that jsg used to use piglit for drm
> stress testing and jtt might want to look into pyside.

As Daniel pointed out, the include path update was enough to fix
x11/qt6/pyside6/shiboken. Please find a diff below. Regarding numpy, it
built fine on my machine (amd64) but port-lib-depends-check complains
with the following:

Missing: c++.10 (/usr/local/lib/python3.12/site-packages/numpy/fft/_pocketfft_umath.cpython-312.so) (system lib)
Missing: c++abi.7 (/usr/local/lib/python3.12/site-packages/numpy/fft/_pocketfft_umath.cpython-312.so) (system lib)
Extra:  gfortran.8 pthread.27 python3.12.0 quadmath.3
WANTLIB += ${COMPILER_LIBCXX}

Is this known? Here also the test results:

32 failed, 46624 passed, 1731 skipped, 2789 deselected, 59 xfailed, 4 xpassed, 3 warnings in 446.91s

diff /usr/ports
path + /usr/ports
commit - 5c7e1acb20849ef9d12952538a2a0c6ecb3a23f7
blob - 3780c2d62a095fb8b84439e309861d56e38dd2f5
file + x11/qt6/pyside6/shiboken/Makefile
--- x11/qt6/pyside6/shiboken/Makefile
+++ x11/qt6/pyside6/shiboken/Makefile
@@ -1,5 +1,6 @@
 COMMENT =		Python binding generator for C++ libraries
 PKGNAME =		shiboken6-${VERSION}
+REVISION =		0
 
 SHARED_LIBS +=		shiboken6.abi3	1.0 # 0.0
 
@@ -19,7 +20,7 @@ LIB_DEPENDS =		${MODCLANG_LIB_DEPENDS} \
 			textproc/libxml \
 			textproc/libxslt
 
-CONFIGURE_ARGS +=	-DNUMPY_INCLUDE_DIR:PATH="${MODPY_SITEPKG}/numpy/core/include/" \
+CONFIGURE_ARGS +=	-DNUMPY_INCLUDE_DIR:PATH="${MODPY_SITEPKG}/numpy/_core/include/" \
 			-DBUILD_TESTS=OFF \
 			-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON