summaryrefslogtreecommitdiff
path: root/upstream-layers/openembedded-core/meta/recipes-devtools/python/python3-numpy/0001-python-sysroot.patch
blob: 681876fa5212adb1d49b447c9e5aa80eecca2b85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
From ced528318cddfef6c5e676c2815e64b5caa45c64 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@arm.com>
Date: Wed, 21 Jan 2026 14:12:36 +0000
Subject: [PATCH] Add sysroot to pkgconfig libdir

When Meson uses pkg-config to introspect the Python install it resets PKG_CONFIG_PATH
and PKG_CONFIG_LIBDIR. However, when it writes to PKG_CONFIG_LIBDIR it uses the
_target_ library directory without prefixing this with the sysroot, which breaks
the build if _LIBDIR is the primary search path.

This has been fixed in Meson since 1.10.0[1] but numpy has a vendored fork of Meson
that is currently at 1.9.2, so backport the specific fix to solve this problem.

[1] meson 59c3dd1fd ("python: add a python.build_config option (PEP 739)")

Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 vendored-meson/meson/mesonbuild/dependencies/python.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/vendored-meson/meson/mesonbuild/dependencies/python.py b/vendored-meson/meson/mesonbuild/dependencies/python.py
index 7f9bd20..fdcf714 100644
--- a/vendored-meson/meson/mesonbuild/dependencies/python.py
+++ b/vendored-meson/meson/mesonbuild/dependencies/python.py
@@ -412,6 +412,8 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
     if DependencyMethods.PKGCONFIG in methods:
         if from_installation:
             pkg_libdir = installation.info['variables'].get('LIBPC')
+            sysroot = env.properties[for_machine].get_sys_root() or ''
+            pkg_libdir = sysroot + pkg_libdir
             pkg_embed = '-embed' if embed and mesonlib.version_compare(installation.info['version'], '>=3.8') else ''
             pkg_name = f'python-{pkg_version}{pkg_embed}'