meson: windows: Fix tmp_install + prefix computation with meson 1.0.1

In d0366bfb3b I said:
    Instead of trying to do this in meson.build, call out to the implementation
    meson install uses. This isn't pretty, but it's more reliable than what we had
    before.

Unfortunately it was too ugly - to fix a bug, meson 1.0.1 changed the way the
meson internal runpython helper works, resulting in the previous sys.argv[]
indices not working anymore.  Just open-code it - it's just a few characters
longer.

Committing this quickly to allow ci/cfbot to work with meson 1.0.1 on windows.
This commit is contained in:
Andres Freund 2023-02-23 19:34:25 -08:00
parent 05172f1f37
commit 4fc53819a4
1 changed files with 3 additions and 3 deletions

View File

@ -2880,10 +2880,10 @@ if build_system != 'windows'
test_install_location = '@0@@1@'.format(test_install_destdir, dir_prefix)
else
# drives, drive-relative paths, etc make this complicated on windows, call
# meson's logic for it
# into a copy of meson's logic for it
command = [
meson_bin, meson_args, 'runpython', '-c',
'import sys; from mesonbuild.scripts import destdir_join; print(destdir_join(sys.argv[4], sys.argv[5]))',
python, '-c',
'import sys; from pathlib import PurePath; d1=sys.argv[1]; d2=sys.argv[2]; print(str(PurePath(d1, *PurePath(d2).parts[1:])))',
test_install_destdir, dir_prefix]
test_install_location = run_command(command, check: true).stdout().strip()
endif