From b43a16672dbaa8482c736334e412f7f9e89f1302 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Fri, 22 Apr 2022 16:19:21 +0300 Subject: [PATCH] Use system install scheme rather than the incorrect Debian one. --- run_meson_command_tests.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/run_meson_command_tests.py b/run_meson_command_tests.py index 36cb02e2e..03083f07a 100755 --- a/run_meson_command_tests.py +++ b/run_meson_command_tests.py @@ -24,17 +24,24 @@ from pathlib import Path from mesonbuild.mesonlib import windows_proof_rmtree, python_command, is_windows from mesonbuild.coredata import version as meson_version +# Handle the scheme that Debian patches in the as default +import sysconfig +# This function was renamed and made public in Python 3.10 +if hasattr(sysconfig, 'get_default_scheme'): + scheme = sysconfig.get_default_scheme() +else: + scheme = sysconfig._get_default_scheme() +if scheme == 'posix_local': + scheme = 'posix_prefix' def get_pypath(): - import sysconfig - pypath = sysconfig.get_path('purelib', vars={'base': ''}) + pypath = sysconfig.get_path('purelib', scheme=scheme, vars={'base': ''}) # Ensure that / is the path separator and not \, then strip / return Path(pypath).as_posix().strip('/') def get_pybindir(): - import sysconfig # 'Scripts' on Windows and 'bin' on other platforms including MSYS - return sysconfig.get_path('scripts', vars={'base': ''}).strip('\\/') + return sysconfig.get_path('scripts', scheme=scheme, vars={'base': ''}).strip('\\/') class CommandTests(unittest.TestCase): '''