-
-
Notifications
You must be signed in to change notification settings - Fork 11.1k
Closed
Labels
MesonItems related to the introduction of Meson as the new build system for NumPyItems related to the introduction of Meson as the new build system for NumPy
Milestone
Description
After gh-23838 we now default to building with Meson (via meson-python
, when invoking a build with pip install .
or similar) in main
. There are a number of more niche build configs not yet ported, and a few things were xfail
-ed and need fixing up. Here is a list, roughly in order of priority:
- Build nightlies for Python 3.12 to unblock other projects from testing with 3.12 (xref CI: BLD: build wheels and fix test suite for Python 3.12 #23991)
- Improve how CBLAS and ILP64 flags/dependencies are handled (xref BLD: undefined symbol: cblas_sgemm when building with meson with pip install #23909, and also automate passing
CFLAGS
/CXXFLAGS
- I'll work on this next): see BLD: improve handling of CBLAS, add-Duse-ilp64
build option #23984 - Finish implementing all BLAS/LAPACK auto-selection and control options (e.g. the equivalent of
NPY_BLAS_ORDER
). Done in ENH: meson: implement BLAS/LAPACK auto-detection and many CI jobs #24893 - Fix up the issue with PyPy and re-enable the
pypy3.9
CI job on Azure. Done in BLD/CI: re-enable ILP64 usage and PyPy job in Azure #24238. - Integrate SIMD support (the relevant CI jobs are still going through
runtests.py
) - Update the build docs (partially done in DOC: Update building docs to use Meson #24573; the rest in DOC: add "building from source" docs #25350).
- Fix and re-eanble the 32-bit Windows wheels builds with MSVC on Azure (or move to GHA, or drop? - see DEP: stop building and testing 32-bit windows #23717). Re-introducing on GHA in CI/BLD: fail by default if no BLAS/LAPACK, add 32-bit Python on Windows CI job #24279.
- Fix the
long double
representation check so the builds works on some of the more niche platforms again (xref BUG: New meson system fails to identify long double representation on 64-bit BE platforms #23972) - Fix the
xfail
-edtest_cython
for Windows due to a missingnpyrandom.lib
(done in BLD: change file extension for installed static libraries back to.lib
#23983) - Move Travis CI jobs over to Meson
- Check that all CI jobs have been moved over (e.g., by removing
runtests.py
andsetup.py
, then running CI and ensuring nothing fails). Done - there were a lot left. See Restructuring GitHub Actions CI jobs #24410 for the tracking issue for CI migration. - Investigate how to fix the
bin/f2py3X
CLI install, in addition to thef2py
andf2py3
ones (see project.scriptsin
pyproject.toml`, and commit f22a33b). Or can/should that interface be dropped? Multiple installs into a single env is considered bad practice by now. Dropped in BLD: only install thef2py
command, notf2py3
orf2py3.X
#24235. - Investigate and fix the two
einsum
test failures withint8
/uint8
that were xfailed in BLD: switch to meson-python as the default build backend #23838 (EDIT: these two tests fail withclang-cl
on Windows too, see ENH: Add changes that allow NumPy to compile with clang-cl #20866 (comment)). EDIT: opened separate issue: BUG:einsum
with int8/uint8 input is buggy #24732 - Fix the array-api entrypoint installation (see
xfail
innumpy/tests/test_public_api.py
). Done in TST: enable test that checks fornumpy.array_api
entry point #24249. - Fix the
longdouble
string repr test failures onaarch64
- see Issue printinglongdouble
on Linux aarch64 with the Meson build #23974 and Revert "TST: disable longdouble string/print tests on Linux aarch64" #23985 - Move the Pyodide CI job over to Meson
- Clean up the apparently unused
skip
statements under[tool.cibuildwheel]
inpyproject.toml
; the platforms to build for are controlled in.github/workflows/wheels.yml
- Compare all files included in sdist and wheel between the setup.py and Meson builds, ensure nothing went missing
- Fix
numpy.__version__
(see comment further down) - Remove usages of
numpy.distutils
in user-facing docs. Here is one example.
leofang
Metadata
Metadata
Assignees
Labels
MesonItems related to the introduction of Meson as the new build system for NumPyItems related to the introduction of Meson as the new build system for NumPy