-
-
Notifications
You must be signed in to change notification settings - Fork 11.9k
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-ilp64build 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.9CI 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 doublerepresentation 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_cythonfor 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.pyandsetup.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/f2py3XCLI install, in addition to thef2pyandf2py3ones (see project.scriptsinpyproject.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 thef2pycommand, notf2py3orf2py3.X#24235. - Investigate and fix the two
einsumtest failures withint8/uint8that were xfailed in BLD: switch to meson-python as the default build backend #23838 (EDIT: these two tests fail withclang-clon Windows too, see ENH: Add changes that allow NumPy to compile with clang-cl #20866 (comment)). EDIT: opened separate issue: BUG:einsumwith int8/uint8 input is buggy #24732 - Fix the array-api entrypoint installation (see
xfailinnumpy/tests/test_public_api.py). Done in TST: enable test that checks fornumpy.array_apientry point #24249. - Fix the
longdoublestring repr test failures onaarch64- see Issue printinglongdoubleon 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
skipstatements 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.distutilsin 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