Fixes build with cython >=3.1
Drop patch to pin numpy to 1.x
Edit out absolute paths from cython generated C files
Cc: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
python3-numpy headers are required by pandas to compile successfully.
By default, this recipe used python3-numpy-native for compilation,
which usually works. However in case the bitness of the build-host
differs from the target, then problems arise.
For example when compiling for 32-bit ARM on a x86-64 machine, the following
error appears when trying to import the module:
ValueError: Buffer dtype mismatch, expected 'const int64_t' but got 'long long'
When running a diff on all numpy headers across native and target,
only one header differs, _numpyconfig.h, in a significant way.
This header defines the sizes of different datatypes used by numpy,
and these sizes strongly depend on the arch bitness.
This change switches from python3-numpy-native dependency to python3-numpy to
ensure that the correct headers are used. Beside this also patch the meson script,
so it accepts an option (numpy_inc_dir) to specify the location of these headers,
since it is not able to query them from the class-target module
The PYTHONPATH variable is extended with the target's RECIPE_SYSROOT, because
numpy is specified as a dependency in meson, and it needs to find the module
to continue successfully.
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
pandas 2.2.2 is the first version compatible with numpy 2.0.x.
The package now uses meson as the build backend, so change the recipe to
inherit that.
Its pyproject.toml pins required versions for Cython and meson, but
newer upstream pandas releases are using different versions and
compatibility strings, so just add an OE-specific patch to relax the
requirements a bit for us.
Changelog: https://pandas.pydata.org/pandas-docs/version/2.2.2/whatsnew/v2.2.2.html
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>