Merge pull request #853 from jdpurcell/pr-qt-scripts

Patch additional Qt scripts
This commit is contained in:
Hiroshi Miura
2024-12-16 23:10:31 +09:00
committed by GitHub
2 changed files with 78 additions and 7 deletions

View File

@@ -184,13 +184,22 @@ class Updater:
newpath=bytes(str(self.prefix), "UTF-8"),
)
def patch_qmake_script(self, base_dir, qt_version: str, os_name: str, desktop_arch_dir: str):
def patch_qt_scripts(self, base_dir, version_dir: str, os_name: str, desktop_arch_dir: str, version: Version):
sep = "\\" if os_name == "windows" else "/"
patched = sep.join([base_dir, qt_version, desktop_arch_dir, "bin"])
qmake_path = self.prefix / "bin" / ("qmake.bat" if os_name == "windows" else "qmake")
self.logger.info(f"Patching {qmake_path}")
for unpatched in unpatched_paths():
self._patch_textfile(qmake_path, f"{unpatched}bin", patched, is_executable=True)
patched = sep.join([base_dir, version_dir, desktop_arch_dir, "bin"])
def patch_script(script_name):
script_path = self.prefix / "bin" / (script_name + ".bat" if os_name == "windows" else script_name)
self.logger.info(f"Patching {script_path}")
for unpatched in unpatched_paths():
self._patch_textfile(script_path, f"{unpatched}bin", patched, is_executable=True)
patch_script("qmake")
if version >= Version("6.2.2"):
patch_script("qtpaths")
if version >= Version("6.5.0"):
patch_script("qmake6")
patch_script("qtpaths6")
def patch_qtcore(self, target):
"""patch to QtCore"""
@@ -327,7 +336,7 @@ class Updater:
meta = MetadataFactory(ArchiveId("qt", os_name, "desktop"))
desktop_arch_dir = meta.fetch_default_desktop_arch(version, is_msvc="msvc" in target.arch)
updater.patch_qmake_script(base_dir, version_dir, target.os_name, desktop_arch_dir)
updater.patch_qt_scripts(base_dir, version_dir, target.os_name, desktop_arch_dir, version)
updater.patch_target_qt_conf(base_dir, version_dir, arch_dir, target.os_name, desktop_arch_dir)
updater.patch_qdevice_file(base_dir, version_dir, arch_dir, target.os_name)
except IOError as e:

View File

@@ -724,6 +724,33 @@ def tool_archive(host: str, tool_name: str, variant: str, date: datetime = datet
"{base_dir}\\6.5.2\\msvc2019_64\\bin\n"
"... blah blah blah ...\n",
),
PatchedFile(
filename="bin/qtpaths.bat",
unpatched_content="... blah blah blah ...\n"
"/Users/qt/work/install/bin\n"
"... blah blah blah ...\n",
patched_content="... blah blah blah ...\n"
"{base_dir}\\6.5.2\\msvc2019_64\\bin\n"
"... blah blah blah ...\n",
),
PatchedFile(
filename="bin/qmake6.bat",
unpatched_content="... blah blah blah ...\n"
"/Users/qt/work/install/bin\n"
"... blah blah blah ...\n",
patched_content="... blah blah blah ...\n"
"{base_dir}\\6.5.2\\msvc2019_64\\bin\n"
"... blah blah blah ...\n",
),
PatchedFile(
filename="bin/qtpaths6.bat",
unpatched_content="... blah blah blah ...\n"
"/Users/qt/work/install/bin\n"
"... blah blah blah ...\n",
patched_content="... blah blah blah ...\n"
"{base_dir}\\6.5.2\\msvc2019_64\\bin\n"
"... blah blah blah ...\n",
),
),
),
],
@@ -738,6 +765,9 @@ def tool_archive(host: str, tool_name: str, variant: str, date: datetime = datet
r"INFO : Downloading qtbase...\n"
r"Finished installation of qtbase-windows-win64_msvc2019_64.7z in .*\n"
r"INFO : Patching .*6\.5\.2[/\\]msvc2019_arm64[/\\]bin[/\\]qmake.bat\n"
r"INFO : Patching .*6\.5\.2[/\\]msvc2019_arm64[/\\]bin[/\\]qtpaths.bat\n"
r"INFO : Patching .*6\.5\.2[/\\]msvc2019_arm64[/\\]bin[/\\]qmake6.bat\n"
r"INFO : Patching .*6\.5\.2[/\\]msvc2019_arm64[/\\]bin[/\\]qtpaths6.bat\n"
r"INFO : Finished installation\n"
r"INFO : Time elapsed: .* second"
),
@@ -801,6 +831,17 @@ def tool_archive(host: str, tool_name: str, variant: str, date: datetime = datet
"{base_dir}/6.4.1/gcc_64/bin\n"
"... blah blah blah ...\n",
),
PatchedFile(
filename="bin/qtpaths",
unpatched_content="... blah blah blah ...\n"
"/home/qt/work/install/bin\n"
"/Users/qt/work/install/bin\n"
"... blah blah blah ...\n",
patched_content="... blah blah blah ...\n"
"{base_dir}/6.4.1/gcc_64/bin\n"
"{base_dir}/6.4.1/gcc_64/bin\n"
"... blah blah blah ...\n",
),
),
),
]
@@ -813,6 +854,7 @@ def tool_archive(host: str, tool_name: str, variant: str, date: datetime = datet
r"INFO : Downloading qtbase\.\.\.\n"
r"Finished installation of qtbase-MacOS-MacOS_12-Clang-Android-Android_ANY-ARM64\.7z in .*\n"
r"INFO : Patching .*6\.4\.1[/\\]android_arm64_v8a[/\\]bin[/\\]qmake\n"
r"INFO : Patching .*6\.4\.1[/\\]android_arm64_v8a[/\\]bin[/\\]qtpaths\n"
r"INFO : Finished installation\n"
r"INFO : Time elapsed: .* second"
),
@@ -861,6 +903,15 @@ def tool_archive(host: str, tool_name: str, variant: str, date: datetime = datet
"{base_dir}/6.3.0/gcc_64/bin\n"
"... blah blah blah ...\n",
),
PatchedFile(
filename="bin/qtpaths",
unpatched_content="... blah blah blah ...\n"
"/home/qt/work/install/bin\n"
"... blah blah blah ...\n",
patched_content="... blah blah blah ...\n"
"{base_dir}/6.3.0/gcc_64/bin\n"
"... blah blah blah ...\n",
),
),
),
]
@@ -873,6 +924,7 @@ def tool_archive(host: str, tool_name: str, variant: str, date: datetime = datet
r"INFO : Downloading qtbase...\n"
r"Finished installation of qtbase-linux-android_arm64_v8a.7z in .*\n"
r"INFO : Patching .*6\.3\.0[/\\]android_arm64_v8a[/\\]bin[/\\]qmake\n"
r"INFO : Patching .*6\.3\.0[/\\]android_arm64_v8a[/\\]bin[/\\]qtpaths\n"
r"INFO : Finished installation\n"
r"INFO : Time elapsed: .* second"
),
@@ -1043,6 +1095,15 @@ def tool_archive(host: str, tool_name: str, variant: str, date: datetime = datet
"{base_dir}\\6.2.4\\mingw1234_64\\bin\n"
"... blah blah blah ...\n",
),
PatchedFile(
filename="bin/qtpaths.bat",
unpatched_content="... blah blah blah ...\n"
"/Users/qt/work/install/bin\n"
"... blah blah blah ...\n",
patched_content="... blah blah blah ...\n"
"{base_dir}\\6.2.4\\mingw1234_64\\bin\n"
"... blah blah blah ...\n",
),
),
),
],
@@ -1055,6 +1116,7 @@ def tool_archive(host: str, tool_name: str, variant: str, date: datetime = datet
r"INFO : Downloading qtbase...\n"
r"Finished installation of qtbase-windows-wasm_32\.7z in .*\n"
r"INFO : Patching .*6\.2\.4[/\\]wasm_32[/\\]bin[/\\]qmake.bat\n"
r"INFO : Patching .*6\.2\.4[/\\]wasm_32[/\\]bin[/\\]qtpaths.bat\n"
r"INFO : Finished installation\n"
r"INFO : Time elapsed: .* second"
),