summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas/0001-BLD-add-option-to-specify-numpy-header-location.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-python/recipes-devtools/python/python3-pandas/0001-BLD-add-option-to-specify-numpy-header-location.patch')
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pandas/0001-BLD-add-option-to-specify-numpy-header-location.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas/0001-BLD-add-option-to-specify-numpy-header-location.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas/0001-BLD-add-option-to-specify-numpy-header-location.patch
new file mode 100644
index 0000000000..e83576eb62
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas/0001-BLD-add-option-to-specify-numpy-header-location.patch
@@ -0,0 +1,61 @@
+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()
+