commit:     0686381dfc3d39c0f844d25aeb8471b9a5de657e
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 16 21:34:25 2023 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Thu Aug 17 07:41:30 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0686381d

dev-util/meson: Backport fix to respect PATH when finding Python

Closes: https://bugs.gentoo.org/912051
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 dev-util/meson/files/meson-1.2.1-python-path.patch | 26 ++++++++++++++++++++++
 .../{meson-1.2.1.ebuild => meson-1.2.1-r1.ebuild}  |  4 ++++
 2 files changed, 30 insertions(+)

diff --git a/dev-util/meson/files/meson-1.2.1-python-path.patch 
b/dev-util/meson/files/meson-1.2.1-python-path.patch
new file mode 100644
index 000000000000..d6151881f83f
--- /dev/null
+++ b/dev-util/meson/files/meson-1.2.1-python-path.patch
@@ -0,0 +1,26 @@
+From 2b33c94e6315e9a397dd48a58a5becb0df3b8aba Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <[email protected]>
+Date: Sat, 12 Aug 2023 09:56:44 +0100
+Subject: [PATCH 2/2] python module: Respect PATH when python is not given in
+ machine file
+
+We should only fall back to the Python interpreter running Meson itself
+if `python3` is not found in the PATH.
+
+https://github.com/mesonbuild/meson/pull/12116
+
+diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py
+index 5654e4231..2b2395a9b 100644
+--- a/mesonbuild/modules/python.py
++++ b/mesonbuild/modules/python.py
+@@ -381,7 +381,9 @@ class PythonModule(ExtensionModule):
+ 
+     def _find_installation_impl(self, state: 'ModuleState', display_name: 
str, name_or_path: str, required: bool) -> MaybePythonProg:
+         if not name_or_path:
+-            python = PythonExternalProgram('python3', mesonlib.python_command)
++            python = PythonExternalProgram('python3')
++            if not python.found():
++                python = PythonExternalProgram('python3', 
mesonlib.python_command)
+         else:
+             tmp_python = ExternalProgram.from_entry(display_name, 
name_or_path)
+             python = PythonExternalProgram(display_name, ext_prog=tmp_python)

diff --git a/dev-util/meson/meson-1.2.1.ebuild 
b/dev-util/meson/meson-1.2.1-r1.ebuild
similarity index 98%
rename from dev-util/meson/meson-1.2.1.ebuild
rename to dev-util/meson/meson-1.2.1-r1.ebuild
index fefd68d177e5..2f54a0120763 100644
--- a/dev-util/meson/meson-1.2.1.ebuild
+++ b/dev-util/meson/meson-1.2.1-r1.ebuild
@@ -44,6 +44,10 @@ RDEPEND="
        virtual/pkgconfig
 "
 
+PATCHES=(
+       "${FILESDIR}"/${P}-python-path.patch
+)
+
 python_prepare_all() {
        local disable_unittests=(
                # ASAN and sandbox both want control over LD_PRELOAD

Reply via email to