On Fri, Jun 10, 2022 at 10:53 AM Matthew Brett <matthew.br...@gmail.com> wrote:
> Hi, > > On Fri, Jun 10, 2022 at 9:41 AM Jerome Kieffer <jerome.kief...@esrf.fr> > wrote: > > > > Dear Numpy developpers, > > > > We are developing a set of scientific tools > > (https://github.com/silx-kit) and all our build infrastructure is based > > on `numpy.distutils` which apparently is going to disappear in the > > coming years. Beside us, the `scipy` project was using it ... > > > > Ralf Gommers has ported `scipy` to build with `meson-python` and there > > are apparently some sharp edges remaining, especially under windows and > > macos. I wonder if you can comment on the sustainability of this > > approach or if you would advice us another build tool. > > I am sure that Ralf will say more, but I did some of the work getting > the macOS and Windows builds working with Meson. I am not sure what > sharp edges you are thinking of. As you can imagine, the macOS > implementation was pretty straightforward, the Windows one less so, > but for the usual reasons, of differences between the MSVC compiler > and gcc toolchains. But even there, it turned out that the modern > Windows gcc toolchains were up to the task, so we had to make > relatively few changes. And, as I'm sure you know, Scipy has > relatively complex build requirements. > There are issues left, tracked under https://github.com/scipy/scipy/issues?q=is%3Aopen+is%3Aissue+label%3AMeson. None of those are fundamental, they are "just work". Some are not urgent (like gcov integration), other will be fixed for the SciPy 1.9.0 release over the next month or so. I have advised other projects who may be interested to wait till mid-July, because by then we should have SciPy 1.9.0 out and have surfaced any remaining potential issues. But you can start now, there won't be anything unsolvable. Most of the difficulties are unrelated to Meson (which is vastly superior to distutils/setuptools) itself, but more to: 1. Fortran on Windows 2. Cython not playing well with out-of-place builds 3. The `pyproject.toml` based integration (PEP 517, 518, 621) with Pip & co, and that whole design being a little immature You don't seem to have Fortran code in your project as far as I can tell, which relieves you of the biggest headache. Cython support will improve, I think the main thing we need is https://github.com/cython/cython/pull/4548 (a fairly simple patch). NumPy itself should move to Meson as well. The main thing in `numpy.distutils` that NumPy uses but SciPy doesn't - and hence needs work - is SIMD support. I expect we need some improvements in Meson itself, what's in https://mesonbuild.com/Simd-module.html#unstable-simd-module is not enough. But also there, I don't expect any hard blockers. > So my guess is that you won't have much trouble getting the Mac and > Windows builds working once you've ported your Linux builds to Meson. > I'd be happy to help with any problems you do run into. > +1 same here Cheers, Ralf
_______________________________________________ NumPy-Discussion mailing list -- numpy-discussion@python.org To unsubscribe send an email to numpy-discussion-le...@python.org https://mail.python.org/mailman3/lists/numpy-discussion.python.org/ Member address: arch...@mail-archive.com