diff --git a/setup.py b/setup.py index 52f2abfa..95b1da29 100755 --- a/setup.py +++ b/setup.py @@ -162,17 +162,24 @@ def qt_download_check_extract(cfg, dir_install): "archives": read_downloadable_archives(package) } - archives_match = [] - for module_name in cfg['versions']['qt_modules']: + # TODO: better check + if not package_archives: + raise RuntimeError("no package_archives") + + # archives_match = [] + qt_modules = cfg['versions']['qt_modules'] + module_archives = dict() + for module_name in qt_modules: for package_name, data in package_archives.items(): for archive_name in data["archives"]: if archive_name.startswith(module_name): - archives_match.append([package_name, data["version"], archive_name]) + module_archives[module_name].append([package_name, data["version"], archive_name]) - if not archives_match: - raise RuntimeError(f"no matches for Qt modules ({cfg['versions']['qt_modules']}) found") + modules_missing = qt_modules - module_archives.keys() + if modules_missing: + raise RuntimeError(f"no matches for Qt modules {modules_missing} found") - for package_name, package_version, archive_name in archives_match: + for package_name, package_version, archive_name in module_archives.values(): url_archive = base_url+'/'+package_name+'/'+package_version+archive_name print("download", url_archive)