mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2025-07-19 15:29:08 +02:00

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>
62 lines
1.9 KiB
Diff
62 lines
1.9 KiB
Diff
From 16dd09e6c79768a24f5a50ec5985e0b6fdf17f35 Mon Sep 17 00:00:00 2001
|
|
From: Gyorgy Sarvari <skandigraun@gmail.com>
|
|
Date: Mon, 10 Mar 2025 13:52:11 +0100
|
|
Subject: [PATCH] BLD: add option to specify numpy header location
|
|
|
|
In some cases the numpy module might not be usable during build-time,
|
|
especially when cross-compiling. (E.g. when compiling for arm32 on a
|
|
x86-64 machine, the arm32 module is not usable at build time).
|
|
|
|
This makes meson fail, as it isn't able to figure out the location of
|
|
numpy headers.
|
|
|
|
To allow an alternative way to find these headers, introduce a meson
|
|
build option, where the location of the numpy headers can be specified.
|
|
|
|
In case numpy module cannot be loaded for some reason to query the
|
|
include folder location, fall back to the value of this meson option.
|
|
|
|
Upstream-Status: Submitted [https://github.com/pandas-dev/pandas/pull/61095]
|
|
|
|
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
|
|
---
|
|
meson.options | 1 +
|
|
pandas/meson.build | 13 ++++++++++---
|
|
2 files changed, 11 insertions(+), 3 deletions(-)
|
|
create mode 100644 meson.options
|
|
|
|
--- /dev/null
|
|
+++ b/meson.options
|
|
@@ -0,0 +1 @@
|
|
+option('numpy_inc_dir', type : 'string', description : 'The absolute path to the numpy headers')
|
|
--- a/pandas/meson.build
|
|
+++ b/pandas/meson.build
|
|
@@ -3,17 +3,24 @@ incdir_numpy = run_command(py,
|
|
'-c',
|
|
'''
|
|
import os
|
|
-import numpy as np
|
|
+
|
|
+try:
|
|
+ import numpy as np
|
|
+ base_incdir = np.get_include()
|
|
+except Exception:
|
|
+ base_incdir = os.getenv('NUMPY_INC_DIR')
|
|
+
|
|
try:
|
|
# Check if include directory is inside the pandas dir
|
|
# e.g. a venv created inside the pandas dir
|
|
# If so, convert it to a relative path
|
|
- incdir = os.path.relpath(np.get_include())
|
|
+ incdir = os.path.relpath(base_incdir)
|
|
except Exception:
|
|
- incdir = np.get_include()
|
|
+ incdir = base_incdir
|
|
print(incdir)
|
|
'''
|
|
],
|
|
+ env: {'NUMPY_INC_DIR': get_option('numpy_inc_dir')},
|
|
check: true
|
|
).stdout().strip()
|
|
|