-
-
Notifications
You must be signed in to change notification settings - Fork 15.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
electron-{bin,source,chromedriver}_35: init at 35.0.3 #387294
Conversation
09c4e8b
to
e54f20f
Compare
b6b7378
to
77de744
Compare
Sigh. The source build needs some more work, converting to draft. Error message for the curious reader:
|
I'm glad I put the header generation before the main build, this way we knew that it failed before building the entire browser. |
Tracked down a bit to this commit electron/electron@7a5e961 / PR electron/electron#44657. |
This is the culprit: The directory is not called "Testing" in release builds. They expect the ELECTRON_OUT_DIR do be set to "Release". |
This small change fixes it: diff --git a/pkgs/development/tools/electron/common.nix b/pkgs/development/tools/electron/common.nix
index f0d84e9d2692..19777b11b584 100644
--- a/pkgs/development/tools/electron/common.nix
+++ b/pkgs/development/tools/electron/common.nix
@@ -64,6 +64,9 @@ in
hash = info.chromium_npm_hash;
};
+ # needed for header generation in electron 35 and above
+ env.ELECTRON_OUT_DIR = "Release";
+
src = null;
patches = (though this would rebuild all versions, so we should probably only do this conditionally) |
I highly doubt lib.optionals is what we want, that's for lists. Or perhaps lib.optionalString works? |
bfc7f42
to
10e64ba
Compare
Another nice surprise:
|
My main suspect upon first glance is It sucks a lot that this was so late in the build process. Edit: |
Ideally we should be using IMO ideally, in the |
3.5 hours later:
EDIT: Trying again with the below commit. |
3ea453f
to
413def3
Compare
89e73ca
to
feb166e
Compare
|
|
We already set it in chromium/common.nix, see 062eb42.
electron/electron#44657 https://github.com/electron/electron/blob/e4bd0cd3dcc57cb6889f845c75952bf999cbf581/script/node/generate_node_headers.py#L34-L39 Co-authored-by: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Co-authored-by: Emily <git@emilylange.de>
because electron 35+ needs gn in PATH at build time [41984/43140] ACTION //third_party/electron_node:generate_config_gypi(//build/toolchain/linux/unbundle:default) FAILED: gen/third_party/electron_node/config.gypi python3 ../../third_party/electron_node/tools/generate_config_gypi.py gen/third_party/electron_node/config.gypi --out-dir . --dep-file gen/third_party/electron_node/generate_config_gypi.d --node-gn-path //third_party/electron_node Traceback (most recent call last): File "/build/src/out/Release/../../third_party/electron_node/tools/generate_config_gypi.py", line 113, in <module> main() File "/build/src/out/Release/../../third_party/electron_node/tools/generate_config_gypi.py", line 100, in main config = get_gn_config(args.out_dir) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/src/out/Release/../../third_party/electron_node/tools/generate_config_gypi.py", line 32, in get_gn_config gn_args = subprocess.check_output( ^^^^^^^^^^^^^^^^^^^^^^^^ File "/nix/store/26yi95240650jxp5dj78xzch70i1kzlz-python3-3.12.9/lib/python3.12/subprocess.py", line 468, in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/nix/store/26yi95240650jxp5dj78xzch70i1kzlz-python3-3.12.9/lib/python3.12/subprocess.py", line 550, in run with Popen(*popenargs, **kwargs) as process: ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/nix/store/26yi95240650jxp5dj78xzch70i1kzlz-python3-3.12.9/lib/python3.12/subprocess.py", line 1028, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "/nix/store/26yi95240650jxp5dj78xzch70i1kzlz-python3-3.12.9/lib/python3.12/subprocess.py", line 1963, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'gn'
FAILED: gen/third_party/electron_node/config.gypi python3 ../../third_party/electron_node/tools/generate_config_gypi.py gen/third_party/electron_node/config.gypi --out-dir . --dep-file gen/third_party/electron_node/generate_config_gypi.d --node-gn-path //third_party/electron_node Traceback (most recent call last): File "/build/src/out/Release/../../third_party/electron_node/tools/generate_config_gypi.py", line 113, in <module> main() File "/build/src/out/Release/../../third_party/electron_node/tools/generate_config_gypi.py", line 105, in main f.write(repr(translate_config(args.out_dir, config, v8_config))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/src/out/Release/../../third_party/electron_node/tools/generate_config_gypi.py", line 62, in translate_config 'node_module_version': int(config['node_module_version']), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ValueError: invalid literal for int() with base 10: '"133"' Co-authored-by: Ljuzig <diamond.bertelli@gmail.com>
As a precaution and to avoid problems with hydra builds that had to be fixed in the past. References: ce04dc5 (NixOS#378988) and 3f514d3.
c761376
to
506d38b
Compare
Bumped to 35.0.3 and fixed conflicts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I do not really have the time to build from source, but I'm assuming it still builds.
|
Thanks, I'll merge soon :) |
Successfully created backport PR for |
https://github.com/electron/electron/releases/tag/v35.0.0
https://github.com/electron/electron/releases/tag/v35.0.1
https://github.com/electron/electron/releases/tag/v35.0.2
https://github.com/electron/electron/releases/tag/v35.0.3
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.