[ci skip] New package: electron42-42.11.3 - #62494
Open
ar-jan wants to merge 2 commits into
Open
Conversation
ar-jan
marked this pull request as ready for review
September 13, 2026 10:28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Testing the changes
I built vscode (current outdated 1.100.3 xbps version) with electron42 and tested that locally (x86_64-glibc).
New package
Local build testing
The template is even more involved than usual, because Electron v42 requires Chromium 148.0.7778.280, but for some reason no distribution tarball of .280 exists, the last available v148 distribution package is 148.0.7778.215. The most readable solution to get .280 seemed to be to start with .215 and merge changes from the .280 git archive into that tree. That meant deletion of some files from the .215 file tree and updating a number of the Chromium dependencies to the versions specified for .280.
Most of the patches are either identical to the ones used previously for Chromium 148 / Electron 35 / Electron 39 PR, or only rebased. A few patches contain further changes, and there are 3 new patches.
I've used AI assistance throughout for troubleshooting compilation issues, rebasing and adjusting the patches, and suggestions for fixes based on templates and patches for chromium, electron33, electron35, the electron39 PR, and from general AI review. I've read all the changes and checked that they resolve the build issues that prompted them. But while the changes look reasonable to me, I'm hoping someone with more expertise in these languages and compilers can verify they are the right approach. A table with an overview of all the patch sources and modifications follows.
I've not placed myself as maintainer, anyone up to take this over?
Electron 42 patches
Patch overview generated with
gpt-6-astra@low:8fcd9e06574.Common Chromium patches — all targets
angle-wayland-include.patchchromium-138-rust-clang_lib.patchchromium-141-cssstylesheet-iwyu.patchchromium-143-revert-libpng_for_testonly.patch.patch.args.-R -Np1arguments.chromium-145-iwyu-dev_t.patchchromium-146-sanitize-ignore-for-ubsan-feature.patchchromium-147-llvm-22.patchchromium-147-rust-1.95-bytemuck.patchchromium-148-rust-toolchain-var.patchchromium-148-sanitize-ignore-for-ubsan-feature.patchchromium-148-v8-no-san-trap.patchchromium-cross-toolchain.patchfiles/patches/chromium-141-cross-toolchain.patch, adapted to Chromium 148..rmeta.chromium-system-nodejs.patchRunNodeRawand the pinned indentation.cr138-node-version-check.patchMusl compatibility patches — musl targets only
chromium-138-rust-musl-targets.patchcargo_target_abi; retain equivalent target selection.chromium-140-musl-prctl.patchchromium-143--libsync-__BEGIN_DECLS.patchchromium-147-musl-toolchain.patchmusl.gni; intended settings unchanged.chromium-aarch64-musl.patchchromium-147-aarch64-musl-no-memory-tagging.patch.fix-aarch64-musl-memory-tagging-macros.patchis not imported because disabled tagging makes its fallback macros unnecessary.chromium-cross-musl-toolchain.patchjs2c's separate V8 toolchain.electron-environ.patchnoexcept.electron-file-dialog.patchfiles/musl-patches/electron_shell-file-dialog-drop-glibc.patch.fix-missing-TEMP_FAILURE_RETRY-macro.patchfix-musl-missing-unistd_h-include.patchfix-perfetto-GetThreadName-musl.patchmusl-no-execinfo.patchmusl-no-mallinfo.patchmallinfoexport to glibc.musl-no-sandbox-settls.patchmusl-partition-atfork.patchmusl-sandbox.patchfiles/musl-patches/musl-sandbox.patch; older copies in E35/E39.sys/syscall.hinclude already upstream; retain C148's rendererpwritev2and other musl syscall allowances.musl-tid-caching.patchno-getcontext.patchno-res-ninit-nclose.patchfiles/musl-patches/no-res-ninit-nclose.patch; identical in E35/E39.remove-sys-cdefs-includes.patchsandbox-membarrier.patchsystypes.patchDevelopment-header patch — installation only
node-headers-nullptr.patch<cstddef>and qualifystd::nullptr_tin installed headers to make generated V8 headers usable with addon compilers that do not expose globalnullptr_t.