From 4bd50116ccaa94b9e5f4d65cced91b166278bbd0 Mon Sep 17 00:00:00 2001 From: Honnip Date: Thu, 8 May 2025 21:21:40 +0200 Subject: [PATCH] gnomeExtensions/update: Enumerate GNOME versions to merge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, we automatically used the last three versions listed in `supported_versions` to produce the `collisions.json` file. In the definition of the `gnomeExtensions` attribute set, the versions are, however, listed explicitly. Let’s list them explicitly in the updater as well. --- .../gnome/extensions/update-extensions.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/pkgs/desktops/gnome/extensions/update-extensions.py b/pkgs/desktops/gnome/extensions/update-extensions.py index b23fa7b5487c..70b9de8307b3 100755 --- a/pkgs/desktops/gnome/extensions/update-extensions.py +++ b/pkgs/desktops/gnome/extensions/update-extensions.py @@ -26,6 +26,9 @@ supported_versions = { "47": "47", } +# shell versions that we want to put into the gnomeExtensions attr set +versions_to_merge = ["45", "46", "47"] + # Some type alias to increase readability of complex compound types PackageName = str ShellVersion = str @@ -338,15 +341,11 @@ def serialize_extensions(processed_extensions: list[dict[str, Any]]) -> None: out.write("]\n") -def find_collisions() -> dict[PackageName, list[Uuid]]: - # Find the name collisions only for the last 3 shell versions - last_3_versions = sorted( - supported_versions.keys(), - key=lambda v: float(v), - reverse=True, - )[:3] +def find_collisions( + versions: list[str], +) -> dict[PackageName, list[Uuid]]: package_name_registry_for_versions = [ - v for k, v in package_name_registry.items() if k in last_3_versions + v for k, v in package_name_registry.items() if k in versions ] # Merge all package names into a single dictionary package_name_registry_filtered: dict[PackageName, set[Uuid]] = {} @@ -378,7 +377,7 @@ def main() -> None: # Check that the generated file actually is valid JSON, just to be sure json.load(out) - collisions = find_collisions() + collisions = find_collisions(versions_to_merge) with open(updater_dir_path / "collisions.json", "w") as out: json.dump(collisions, out, indent=2, ensure_ascii=False)