Skip to content

gnomeExtensions: include extensions for GNOME 48#405612

Merged
jtojnar merged 3 commits intoNixOS:staging-nextfrom
honnip:gnomeExtensions/gnome48
May 10, 2025
Merged

gnomeExtensions: include extensions for GNOME 48#405612
jtojnar merged 3 commits intoNixOS:staging-nextfrom
honnip:gnomeExtensions/gnome48

Conversation

@honnip
Copy link
Contributor

@honnip honnip commented May 9, 2025

gnomeExtensions set includes extensions for GNOME 46, 47, and 48.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added the 6.topic: GNOME GNOME desktop environment and its underlying platform label May 9, 2025
@nix-owners nix-owners bot requested a review from jtojnar May 9, 2025 15:17
@honnip honnip marked this pull request as draft May 9, 2025 15:23
@jtojnar
Copy link
Member

jtojnar commented May 9, 2025

I guess we either need to remove the pano override, convert it to manually packaged extension, or keep GNOME 45 merged into the set.

@jtojnar
Copy link
Member

jtojnar commented May 9, 2025

Also, we should probably sort the collisions by pname so that entries in collisions.json do not jump when an attrset with earlier sorted conflicting extension is unmerged.

--- a/pkgs/desktops/gnome/extensions/update-extensions.py
+++ b/pkgs/desktops/gnome/extensions/update-extensions.py
@@ -351,7 +351,7 @@ def find_collisions(
                 package_name_registry.setdefault(pname, set()).add(uuid)
     return {
         pname: sorted(uuids)
-        for pname, uuids in package_name_registry.items()
+        for pname, uuids in sorted(package_name_registry.items(), key=itemgetter(0))
         if len(uuids) > 1
     }
 

@honnip
Copy link
Contributor Author

honnip commented May 10, 2025

I still don't know why the order is changing. Fixed it anyway by sorting the items..

@honnip honnip marked this pull request as ready for review May 10, 2025 03:43
@github-actions github-actions bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. labels May 10, 2025
@honnip honnip force-pushed the gnomeExtensions/gnome48 branch 2 times, most recently from 928c973 to 784c807 Compare May 10, 2025 08:34
@jtojnar jtojnar added this to GNOME 48 May 10, 2025
@jtojnar jtojnar moved this to In Progress in GNOME 48 May 10, 2025
honnip added 2 commits May 10, 2025 19:07
It's been a while since the Pano extension has been uploaded to EGO, and it's not in gnomeExtensions set after GNOME 48. So, package it manually.
@jtojnar
Copy link
Member

jtojnar commented May 10, 2025

I still don't know why the order is changing.

In Python, the dictionaries are ordered based on the order of insertion. Since the package_name_registry is built from extensions.json, which is sorted by extension’s numeric id on e.g.o, fuzzy-clock was added before battery-time if we include 1281 that maxes out on GNOME 45 but after if we omit 1281:

, {"uuid": "Fuzzy_Clock@dallagi", "pname": "fuzzy-clock", "link": "https://extensions.gnome.org/extension/202/fuzzy-clock/", "shell_version_map": { "38": {} } }
, {"uuid": "[email protected]", "pname": "fuzzy-clock", "link": "https://extensions.gnome.org/extension/1281/fuzzy-clock/", "shell_version_map": { "38": {}, "40": {}, "41": {}, "42": {}, "43": {}, "45": {} } }
, {"uuid": "[email protected]", "pname": "battery-time", "link": "https://extensions.gnome.org/extension/1475/battery-time/", "shell_version_map": { "40": {}, "41": {}, "42": {}, "43": {}, "44": {}, "45": {}, "46": {}, "47": {}, "48": {} } }
, {"uuid": "FuzzyClock@johngoetz", "pname": "fuzzy-clock", "link": "https://extensions.gnome.org/extension/4771/fuzzy-clock/", "shell_version_map": { "40": {}, "41": {}, "42": {}, "43": {}, "44": {}, "45": {}, "46": {}, "47": {} } }
, {"uuid": "[email protected]", "pname": "battery-time", "link": "https://extensions.gnome.org/extension/5425/battery-time/", "shell_version_map": { "43": {}, "44": {}, "45": {}, "46": {}, "47": {}, "48": {} } }
, {"uuid": "FuzzyClock@fire-man-x", "pname": "fuzzy-clock", "link": "https://extensions.gnome.org/extension/7056/fuzzy-clock/", "shell_version_map": { "45": {}, "46": {}, "47": {}, "48": {} } }
, {"uuid": "[email protected]", "pname": "battery-time", "link": "https://extensions.gnome.org/extension/7999/battery-time/", "shell_version_map": { "47": {}, "48": {} } }

@honnip
Copy link
Contributor Author

honnip commented May 10, 2025

Ah I see, so it makes sense to sort by pname rather than the id, as we did here

@honnip honnip force-pushed the gnomeExtensions/gnome48 branch from 784c807 to 8d62d25 Compare May 10, 2025 10:41
@honnip honnip force-pushed the gnomeExtensions/gnome48 branch from 8d62d25 to e3e9b33 Compare May 10, 2025 10:42
@jtojnar jtojnar merged commit 6660a12 into NixOS:staging-next May 10, 2025
23 of 27 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in GNOME 48 May 10, 2025
@jtojnar
Copy link
Member

jtojnar commented May 10, 2025

Thank you.

@jtojnar jtojnar mentioned this pull request May 15, 2025
13 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: GNOME GNOME desktop environment and its underlying platform 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants