On 2023-01-17 18:12, Andreas Tille wrote:
Hi,
I upgraded the experimental branch of scipy to contain the submodules
upstream includes. I'm *not* convinced that we need them all -
hopefully we can get rid of boost (but upstream has some patches here)
and scipy-mathjax.
For the moment I've tried to build the experimental branch and ended
up with some issue where cython can't be found (should be cython3 for
sure)[1].
Unfortunately my spare time is occupied now by other more urgent tasks.
I'd be happy if someone else could review / pick up / continue from
here.
The problem was not meson as such, but that upstream is only half using
meson. They must have decided they don't trust the way meson handles
cython, and set up their own custom build tools for it, see
https://github.com/scipy/scipy/pull/15407
That is, they hard-coded the cython executable name in
scipy/_build_utils/cythoner.py
They actually did the same already in the old setuptools build
(tools/cythonize.py), but we didn't notice since they had the breaking
cython call wrapped in a try block which inspected a Cython class from
inside python. I raised an Issue about whether cythoner.py should do
the same in https://github.com/scipy/scipy/issues/17808
We could argue the fault is debian's for not providing a cython
executable (it does have -2 and -3 options for choosing the python
version to work with).
I figure also we should use python3-mesonpy, since it's what upstream
uses. Best not to diverge too far from their build method I think.
I've pushed commits updating cythoner.py to point cythoner.py at
cython3. The main build now completes. Have to clean up test handling
next: "FileNotFoundError: [Errno 2] No such file or directory:
'/projects/python/build/scipy/.coveragerc'
Drew