Skip to content

electron_34{,-bin,chromedriver}: init at 34.0.2, electron: 33 -> 34#376770

Merged
emilylange merged 3 commits intoNixOS:masterfrom
ImUrX:electron-34
Jan 31, 2025
Merged

electron_34{,-bin,chromedriver}: init at 34.0.2, electron: 33 -> 34#376770
emilylange merged 3 commits intoNixOS:masterfrom
ImUrX:electron-34

Conversation

@ImUrX
Copy link
Contributor

@ImUrX ImUrX commented Jan 25, 2025

Added electron 34 and fixed the update script because it was failing when deleting the hunspell tests

Only tested the bin as building chromium is a bit too much for my PC.

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.

@ImUrX ImUrX requested review from teutat3s and yayayayaka January 25, 2025 20:00
@ImUrX
Copy link
Contributor Author

ImUrX commented Jan 25, 2025

is it normal for ofborg to timeout while building? the x64 linux build seems to have failed because of that 😓

@ImUrX
Copy link
Contributor Author

ImUrX commented Jan 25, 2025

nvm, seeing other PRs doing similar edits to source version of electron it seems to also fail because of that.

@ImUrX ImUrX requested a review from emilylange January 25, 2025 23:26
Copy link
Member

@emilylange emilylange left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, thanks for the ping :)

I'll try to find some more time for this in a few days.

Been thinking about how I would approach electron_34 source builds lately given I am short on time, I would have to double check quite a lot for init and electron releases tend to regress in some way or another while supported (read: not EOL).

While I am not officially part of the electron maintainers and rather just helping them out given they are also short on time and/or taking a break, I feel like making a call here to split this PR:

I suggest we only init the binary variant and electron-chromedriver (which is binary-only anyway) in this PR and defer the update script fix required for the electron_34 source build and the electron_34 source build itself into a separate PR.

This should allow us to merge this electron_34 init fairly quickly and unblock consumers within nixpkgs instead of delaying this for however long.

For this, please modify your commits as follows:

  • electron: fix update script not working for v34 (drop, deferred)
  • electron_34-bin: init at 34.0.1 (use, amend the patch at the bottom of this comment)
  • electron_34: init at 34.0.1, electron-chromedriver_34: init at 34.0.1 (split, keep only the electron-chromedriver_34: init at 34.0.1 bit)

And then an additional commit updating electron and electron-chromedriver to refer to electron_34 and electron-chromedriver_34 instead of electron_33 and electron-chromedriver_33 like previously done in 1384372:

diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 44e5466c0e69..3dd9dfbd14ac 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7588,9 +7588,9 @@ with pkgs;
   electron_32 = if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_32 then electron-source.electron_32 else electron_32-bin;
   electron_33 = if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_33 then electron-source.electron_33 else electron_33-bin;
   electron_34 = electron_34-bin;
-  electron = electron_33;
-  electron-bin = electron_33-bin;
-  electron-chromedriver = electron-chromedriver_33;
+  electron = electron_34;
+  electron-bin = electron_34-bin;
+  electron-chromedriver = electron-chromedriver_34;
 
   autoconf = callPackage ../development/tools/misc/autoconf { };
   autoconf213 = callPackage ../development/tools/misc/autoconf/2.13.nix { };

So your log should look something like:

  • electron_34-bin: init at 34.0.1
  • electron-chromedriver_34: init at 34.0.1
  • electron{,-bin,-chromedriver}: 33 -> 34

I you need help with that, feel free to ask. I can also force-push to your PR if that's easier for you.


diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 36c410249162..44e5466c0e69 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -7587,6 +7587,7 @@ with pkgs;
   electron_31 = electron_31-bin;
   electron_32 = if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_32 then electron-source.electron_32 else electron_32-bin;
   electron_33 = if lib.meta.availableOn stdenv.hostPlatform electron-source.electron_33 then electron-source.electron_33 else electron_33-bin;
+  electron_34 = electron_34-bin;
   electron = electron_33;
   electron-bin = electron_33-bin;
   electron-chromedriver = electron-chromedriver_33;

@ImUrX
Copy link
Contributor Author

ImUrX commented Jan 26, 2025

is that good?

@ImUrX ImUrX requested a review from emilylange January 26, 2025 19:11
@github-actions github-actions bot added 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. labels Jan 26, 2025
@teutat3s
Copy link
Member

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 376770


x86_64-linux

✅ 2 packages built:
  • electron
  • electron-chromedriver

Copy link
Member

@teutat3s teutat3s left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes LGTM and build fine locally here. Because of low disk space I didn't succeed to build all affected packages.

@emilylange emilylange changed the title electron_34: init at 34.0.1, electron_34-bin: init at 34.0.1, electron-chromedriver_34: init at 34.0.1 electron_34{,-bin,chromedriver}: init at 34.0.1, electron: 33 -> 34 Jan 30, 2025
Copy link
Member

@emilylange emilylange left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 376770


x86_64-linux

❌ 6 packages failed to build:
  • mattermost-desktop
  • podman-desktop
  • python312Packages.mkdocs-drawio-exporter
  • python312Packages.mkdocs-drawio-exporter.dist
  • python313Packages.mkdocs-drawio-exporter
  • python313Packages.mkdocs-drawio-exporter.dist
✅ 66 packages built:
  • affine-bin
  • antares
  • antimatter-dimensions
  • bilibili
  • bitwarden-directory-connector
  • blockbench
  • bruno
  • camunda-modeler
  • caprine
  • chatd
  • drawio
  • drawio-headless
  • electron (electron-bin ,electron_34 ,electron_34-bin)
  • electron-chromedriver (electron-chromedriver_34)
  • equibop
  • fcast-receiver
  • follow
  • freetube
  • gdlauncher-carbon
  • gfn-electron
  • gitify
  • goofcord
  • google-chat-linux
  • headset
  • httptoolkit
  • itch
  • jitsi-meet-electron
  • kando
  • koodo-reader
  • kuro
  • marktext
  • mqtt-explorer
  • nix-tour
  • obsidian
  • open-stage-control
  • openfortivpn-webview
  • pandoc-drawio-filter
  • pandoc-drawio-filter.dist
  • pritunl-client
  • proton-pass
  • protonmail-desktop
  • r2modman
  • redisinsight
  • revolt-desktop
  • ride
  • sharedown
  • sieve-editor-gui
  • siyuan
  • standardnotes
  • stretchly
  • super-productivity
  • terra-station
  • tetrio-desktop
  • thedesk
  • threema-desktop
  • uhk-agent
  • uhk-udev-rules
  • uivonim
  • vesktop
  • vieb
  • voicevox
  • webtorrent_desktop
  • yandex-music
  • youtube-music
  • ytdownloader
  • zepp-simulator

python312Packages.mkdocs-drawio-exporter and python313Packages.mkdocs-drawio-exporter have been failing to build for a while on master, so not a new breakage caused by this PR.

The mattermost-desktop and podman-desktop build failures on the other hand are new breakages.

And of course there may be other more silent failures e.g. stuff that builds but no longer starts or has other very specific failure pattern.

cc @jokogr and @liff for mattermost-desktop and @booxter and @panda2134 for podman-desktop: Please fix your build and pin electron to a known working major version instead of relying on whatever version the ever-moving unversioned electron currently has.

@ImUrX https://github.com/electron/electron/releases/tag/v34.0.2 has been released in the meantime. Feel free to add either add two more commits for electron_34 and electron-chromedriver_34 or amend your init commits :)

Thanks :)

@ImUrX ImUrX changed the title electron_34{,-bin,chromedriver}: init at 34.0.1, electron: 33 -> 34 electron_34{,-bin,chromedriver}: init at 34.0.2, electron: 33 -> 34 Jan 30, 2025
@ImUrX
Copy link
Contributor Author

ImUrX commented Jan 30, 2025

lets hope there is no more patch releases coming :p

booxter added a commit to booxter/nixpkgs that referenced this pull request Jan 31, 2025
There are plans [1] to bump electron to _34 by default, and the current
1.13.1 version requires version 33.

[1] NixOS#376770

Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
@booxter booxter mentioned this pull request Jan 31, 2025
13 tasks
@booxter
Copy link
Contributor

booxter commented Jan 31, 2025

The podman-desktop pin is #378178

I will bump the podman-desktop itself to 1.16.x once electron_34 is merged (this version will require electron_34).

@liff
Copy link
Contributor

liff commented Jan 31, 2025

mattermost-desktop pin is #378205.

@emilylange emilylange removed 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. labels Jan 31, 2025
@github-actions github-actions bot added 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. labels Jan 31, 2025
@emilylange
Copy link
Member

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 376770


x86_64-linux

❌ 4 packages failed to build:
  • python312Packages.mkdocs-drawio-exporter
  • python312Packages.mkdocs-drawio-exporter.dist
  • python313Packages.mkdocs-drawio-exporter
  • python313Packages.mkdocs-drawio-exporter.dist
✅ 71 packages built:
  • affine-bin
  • antares
  • antimatter-dimensions
  • bilibili
  • bitwarden-directory-connector
  • blockbench
  • bruno
  • camunda-modeler
  • caprine
  • chatd
  • drawio
  • drawio-headless
  • electron
  • electron-chromedriver
  • electron-chromedriver_33
  • electron_33
  • electron_33-bin
  • equibop
  • falkor
  • fcast-receiver
  • follow
  • freetube
  • gdlauncher-carbon
  • geogebra6
  • gfn-electron
  • gitify
  • goofcord
  • google-chat-linux
  • headset
  • httptoolkit
  • itch
  • jitsi-meet-electron
  • kando
  • koodo-reader
  • kuro
  • marktext
  • mqtt-explorer
  • nix-tour
  • obsidian
  • open-stage-control
  • openfortivpn-webview
  • pandoc-drawio-filter
  • pandoc-drawio-filter.dist
  • pritunl-client
  • proton-pass
  • protonmail-desktop
  • r2modman
  • redisinsight
  • revolt-desktop
  • ride
  • sharedown
  • sieve-editor-gui
  • siyuan
  • standardnotes
  • stretchly
  • super-productivity
  • terra-station
  • tetrio-desktop
  • thedesk
  • threema-desktop
  • uhk-agent
  • uhk-udev-rules
  • uivonim
  • vesktop
  • vieb
  • voicevox
  • webtorrent_desktop
  • yandex-music
  • youtube-music
  • ytdownloader
  • zepp-simulator

No new obvious build breakages on x86_64-linux anymore and electron itself starts (which isn't much but still).

I will not test for runtime breakages.
If we end up getting reports then this is on the maintainers of those packages for not pinning their electron major version.

At any rate, thanks everyone :)

@emilylange emilylange merged commit 135ca8c into NixOS:master Jan 31, 2025
33 of 35 checks passed
@ImUrX ImUrX deleted the electron-34 branch January 31, 2025 21:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants