diff --git a/aqt/metadata.py b/aqt/metadata.py index 11c9ec0..1321127 100644 --- a/aqt/metadata.py +++ b/aqt/metadata.py @@ -246,6 +246,8 @@ class ArchiveId: def all_extensions(self, version: Version) -> List[str]: if self.target == "desktop" and QtRepoProperty.is_in_wasm_range(self.host, version): return ["", "wasm"] + elif self.target == "desktop" and QtRepoProperty.is_in_wasm_threaded_range(version): + return ["", "wasm_singlethread", "wasm_multithread"] elif self.target == "android" and version >= Version("6.0.0"): return list(ArchiveId.EXTENSIONS_REQUIRED_ANDROID_QT6) else: @@ -400,6 +402,10 @@ class QtRepoProperty: def extension_for_arch(architecture: str, is_version_ge_6: bool) -> str: if architecture == "wasm_32": return "wasm" + elif architecture == "wasm_singlethread": + return "wasm_singlethread" + elif architecture == "wasm_multithread": + return "wasm_multithread" elif architecture.startswith("android_") and is_version_ge_6: ext = architecture[len("android_") :] if ext in ArchiveId.EXTENSIONS_REQUIRED_ANDROID_QT6: @@ -483,11 +489,15 @@ class QtRepoProperty: @staticmethod def is_in_wasm_range(host: str, version: Version) -> bool: return ( - version in SimpleSpec(">=6.2.0") + version in SimpleSpec(">=6.2.0,<6.5.0") or (host == "linux" and version in SimpleSpec(">=5.13,<6")) or version in SimpleSpec(">=5.13.1,<6") ) + @staticmethod + def is_in_wasm_threaded_range(version: Version) -> bool: + return version in SimpleSpec(">=6.5.0") + class MetadataFactory: """Retrieve metadata of Qt variations, versions, and descriptions from Qt site.""" diff --git a/aqt/updater.py b/aqt/updater.py index 4ccf3dc..1de647f 100644 --- a/aqt/updater.py +++ b/aqt/updater.py @@ -282,6 +282,8 @@ class Updater: "ios", "android", "wasm_32", + "wasm_singlethread", + "wasm_multithread", "android_x86_64", "android_arm64_v8a", "android_x86",