This has been bothering me for a while. Meson will detect find_program('python3') as the dummy shim in ${T} defined by the eclass, and py.find_installation() may be the python that *Meson* was built with. In DISTUTILS_USE_PEP517=meson-python a dedicated machine file is created by the build backend but we should set this for other types of package as well.
Signed-off-by: Eli Schwartz <eschwa...@gentoo.org> --- eclass/meson.eclass | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/eclass/meson.eclass b/eclass/meson.eclass index a2bc5537e458..ab82234942d5 100644 --- a/eclass/meson.eclass +++ b/eclass/meson.eclass @@ -1,4 +1,4 @@ -# Copyright 2017-2024 Gentoo Authors +# Copyright 2017-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: meson.eclass @@ -224,7 +224,16 @@ _meson_create_native_file() { pkg-config = '$(tc-getBUILD_PKG_CONFIG)' strip = $(_meson_env_array "$(tc-getBUILD_STRIP)") windres = $(_meson_env_array "$(tc-getBUILD_PROG RC windres)") + EOF + + if [[ -n ${EPYTHON} ]]; then + cat >> "${fn}" <<-EOF + python = '${EPREFIX}/usr/bin/${EPYTHON}' + python3 = '${EPREFIX}/usr/bin/${EPYTHON}' + EOF + fi + cat >> "${fn}" <<-EOF [built-in options] c_args = $(_meson_env_array "${BUILD_CFLAGS} ${BUILD_CPPFLAGS}") c_link_args = $(_meson_env_array "${BUILD_CFLAGS} ${BUILD_LDFLAGS}") -- 2.49.0