From 3f9f07f473f62e8e36dc6b73e3ae702cb2007dca Mon Sep 17 00:00:00 2001 From: Luca Bacci Date: Mon, 4 Nov 2024 15:13:13 +0100 Subject: [PATCH] Use python3 as the shebang on Windows Since commit 013980d8, Python tools like gdbus-codegen, glib-genmarshal, glib-mkenums, etc. have a shebang with the full path to the python binary. Shebangs cannot be shell-quoted (most utilities just do not expect that), but since shebangs can have arguments, the path to the interpreter must not have spaces. This is a problem on Windows, where Python is commonly installed under the "Program Files" folder. Moreover, by using the full path to the interpreter (at build time), the bundle is not relocatable, which is the norm on Windows. It means that the bundle cannot be moved between directories or different systems --- gio/gdbus-2.0/codegen/meson.build | 2 +- glib/meson.build | 2 +- gobject/meson.build | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gio/gdbus-2.0/codegen/meson.build b/gio/gdbus-2.0/codegen/meson.build index 67ea9f2ee2..a196ea1daf 100644 --- a/gio/gdbus-2.0/codegen/meson.build +++ b/gio/gdbus-2.0/codegen/meson.build @@ -31,7 +31,7 @@ gdbus_codegen_conf = configuration_data() gdbus_codegen_conf.set('VERSION', glib_version) gdbus_codegen_conf.set('MAJOR_VERSION', major_version) gdbus_codegen_conf.set('MINOR_VERSION', minor_version) -gdbus_codegen_conf.set('PYTHON', python.full_path()) +gdbus_codegen_conf.set('PYTHON', host_system != 'windows' ? python.full_path() : 'python3') gdbus_codegen_conf.set('DATADIR', glib_datadir) # Install gdbus-codegen executable diff --git a/glib/meson.build b/glib/meson.build index 5fd77590a9..aaa4948d66 100644 --- a/glib/meson.build +++ b/glib/meson.build @@ -501,7 +501,7 @@ endif report_conf = configuration_data() report_conf.set('GLIB_VERSION', glib_version) -report_conf.set('PYTHON', python.full_path()) +report_conf.set('PYTHON', host_system != 'windows' ? python.full_path() : 'python3') configure_file( input: 'gtester-report.in', output: 'gtester-report', diff --git a/gobject/meson.build b/gobject/meson.build index 748f72bc14..8e9647d948 100644 --- a/gobject/meson.build +++ b/gobject/meson.build @@ -85,7 +85,7 @@ python_tools = [ python_tools_conf = configuration_data() python_tools_conf.set('VERSION', glib_version) -python_tools_conf.set('PYTHON', python.full_path()) +python_tools_conf.set('PYTHON', host_system != 'windows' ? python.full_path() : 'python3') foreach tool: python_tools tool_bin = configure_file( -- GitLab