pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
electron43: rebase on 43.8.0
Module Name: pkgsrc-wip
Committed By: kikadf <kikadf.01%gmail.com@localhost>
Pushed By: kikadf
Date: Tue Oct 20 10:27:08 2026 +0200
Changeset: 877fc060553d98911ee8bd0556f95f13c3e293f5
Modified Files:
electron43/Makefile
electron43/distinfo
electron43/patches/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc
electron43/patches/patch-chrome_browser_process__singleton__posix.cc
electron43/patches/patch-content_browser_child__process__launcher__helper__linux.cc
electron43/patches/patch-electron_BUILD.gn
electron43/patches/patch-electron_build_args_all.gn
electron43/patches/patch-electron_default__app_default__app.ts
electron43/patches/patch-electron_filenames.gni
electron43/patches/patch-electron_lib_browser_api_app.ts
electron43/patches/patch-electron_lib_browser_api_dialog.ts
electron43/patches/patch-electron_lib_browser_api_menu-item-roles.ts
electron43/patches/patch-electron_lib_browser_api_power-monitor.ts
electron43/patches/patch-electron_lib_browser_rpc-server.ts
electron43/patches/patch-electron_lib_renderer_api_clipboard.ts
electron43/patches/patch-electron_node__modules_@sentry_cli_scripts_install.js
electron43/patches/patch-electron_script_lib_config.py
electron43/patches/patch-electron_script_lib_utils.js
electron43/patches/patch-electron_script_pgo_collect-profile.js
electron43/patches/patch-electron_script_spec-runner.js
electron43/patches/patch-electron_shell_app_electron__crash__reporter__client.cc
electron43/patches/patch-electron_shell_app_electron__crash__reporter__client.h
electron43/patches/patch-electron_shell_app_electron__main__delegate.cc
electron43/patches/patch-electron_shell_app_node__main.cc
electron43/patches/patch-electron_shell_browser_api_electron__api__app.cc
electron43/patches/patch-electron_shell_browser_api_electron__api__base__window.cc
electron43/patches/patch-electron_shell_browser_api_electron__api__base__window.h
electron43/patches/patch-electron_shell_browser_api_electron__api__crash__reporter.cc
electron43/patches/patch-electron_shell_browser_api_electron__api__desktop__capturer.cc
electron43/patches/patch-electron_shell_browser_api_electron__api__power__monitor.cc
electron43/patches/patch-electron_shell_browser_api_electron__api__power__monitor.h
electron43/patches/patch-electron_shell_browser_api_electron__api__safe__storage.cc
electron43/patches/patch-electron_shell_browser_api_electron__api__safe__storage.h
electron43/patches/patch-electron_shell_browser_api_electron__api__screen.cc
electron43/patches/patch-electron_shell_browser_api_electron__api__system__preferences.cc
electron43/patches/patch-electron_shell_browser_api_electron__api__system__preferences.h
electron43/patches/patch-electron_shell_browser_api_electron__api__web__contents.cc
electron43/patches/patch-electron_shell_browser_api_electron__api__web__contents.h
electron43/patches/patch-electron_shell_browser_api_process__metric.h
electron43/patches/patch-electron_shell_browser_browser.cc
electron43/patches/patch-electron_shell_browser_browser.h
electron43/patches/patch-electron_shell_browser_browser__linux.cc
electron43/patches/patch-electron_shell_browser_browser__process__impl.cc
electron43/patches/patch-electron_shell_browser_browser__process__impl.h
electron43/patches/patch-electron_shell_browser_electron__browser__main__parts.cc
electron43/patches/patch-electron_shell_browser_electron__browser__main__parts.h
electron43/patches/patch-electron_shell_browser_electron__browser__main__parts__posix.cc
electron43/patches/patch-electron_shell_browser_extensions_api_runtime_electron__runtime__api__delegate.cc
electron43/patches/patch-electron_shell_browser_feature__list.cc
electron43/patches/patch-electron_shell_browser_linux_x11__util.cc
electron43/patches/patch-electron_shell_browser_native__window.cc
electron43/patches/patch-electron_shell_browser_native__window__views.cc
electron43/patches/patch-electron_shell_browser_native__window__views.h
electron43/patches/patch-electron_shell_browser_osr_osr__host__display__client.cc
electron43/patches/patch-electron_shell_browser_osr_osr__host__display__client.h
electron43/patches/patch-electron_shell_browser_osr_osr__paint__event.h
electron43/patches/patch-electron_shell_browser_osr_osr__video__consumer.cc
electron43/patches/patch-electron_shell_browser_printing_printing__utils.cc
electron43/patches/patch-electron_shell_browser_relauncher__linux.cc
electron43/patches/patch-electron_shell_browser_ui_inspectable__web__contents.cc
electron43/patches/patch-electron_shell_browser_ui_inspectable__web__contents__view.cc
electron43/patches/patch-electron_shell_browser_ui_inspectable__web__contents__view__delegate.h
electron43/patches/patch-electron_shell_browser_ui_views_electron__views__delegate.cc
electron43/patches/patch-electron_shell_browser_ui_views_electron__views__delegate.h
electron43/patches/patch-electron_shell_browser_ui_views_menu__bar.cc
electron43/patches/patch-electron_shell_browser_ui_views_menu__bar.h
electron43/patches/patch-electron_shell_browser_ui_views_submenu__button.cc
electron43/patches/patch-electron_shell_common_api_electron__api__clipboard.cc
electron43/patches/patch-electron_shell_common_api_electron__api__native__image.cc
electron43/patches/patch-electron_shell_common_api_electron__api__native__image.h
electron43/patches/patch-electron_shell_common_api_electron__api__shared__texture.cc
electron43/patches/patch-electron_shell_common_api_electron__api__testing.cc
electron43/patches/patch-electron_shell_common_api_electron__bindings.cc
electron43/patches/patch-electron_shell_common_electron__command__line.cc
electron43/patches/patch-electron_shell_common_electron__command__line.h
electron43/patches/patch-electron_shell_common_electron__paths.cc
electron43/patches/patch-electron_shell_common_electron__paths.h
electron43/patches/patch-electron_shell_common_gin__converters_osr__converter.cc
electron43/patches/patch-electron_shell_common_gin__converters_std__converter.h
electron43/patches/patch-electron_shell_common_node__bindings.cc
electron43/patches/patch-electron_shell_common_node__bindings__linux.cc
electron43/patches/patch-electron_shell_common_platform__util.h
electron43/patches/patch-electron_shell_common_v8__oom__diagnostics.cc
electron43/patches/patch-electron_shell_renderer_api_electron__api__crash__reporter__renderer.cc
electron43/patches/patch-electron_shell_services_node_node__service.cc
electron43/patches/patch-electron_spec_api-app.spec.ts
electron43/patches/patch-electron_spec_api-browser-window-ignore-mouse-events.spec.ts
electron43/patches/patch-electron_spec_api-browser-window.spec.ts
electron43/patches/patch-electron_spec_api-clipboard.spec.ts
electron43/patches/patch-electron_spec_api-content-tracing.spec.ts
electron43/patches/patch-electron_spec_api-crash-reporter.spec.ts
electron43/patches/patch-electron_spec_api-desktop-capturer.spec.ts
electron43/patches/patch-electron_spec_api-dialog.spec.ts
electron43/patches/patch-electron_spec_api-media-handler.spec.ts
electron43/patches/patch-electron_spec_api-menu.spec.ts
electron43/patches/patch-electron_spec_api-native-image.spec.ts
electron43/patches/patch-electron_spec_api-net-log.spec.ts
electron43/patches/patch-electron_spec_api-notification-dbus.spec.ts
electron43/patches/patch-electron_spec_api-power-monitor.spec.ts
electron43/patches/patch-electron_spec_api-process.spec.ts
electron43/patches/patch-electron_spec_api-safe-storage.spec.ts
electron43/patches/patch-electron_spec_api-screen.spec.ts
electron43/patches/patch-electron_spec_api-shell.spec.ts
electron43/patches/patch-electron_spec_api-subframe.spec.ts
electron43/patches/patch-electron_spec_api-system-preferences.spec.ts
electron43/patches/patch-electron_spec_api-tray.spec.ts
electron43/patches/patch-electron_spec_api-utility-process.spec.ts
electron43/patches/patch-electron_spec_api-web-contents.spec.ts
electron43/patches/patch-electron_spec_chromium.spec.ts
electron43/patches/patch-electron_spec_crash.spec.ts
electron43/patches/patch-electron_spec_desktop-name.spec.ts
electron43/patches/patch-electron_spec_fixtures_api_safe-storage_decrypt-app_main.js
electron43/patches/patch-electron_spec_fixtures_api_safe-storage_encrypt-app_main.js
electron43/patches/patch-electron_spec_fixtures_native-addon_uv-dlopen_index.js
electron43/patches/patch-electron_spec_lib_spec-helpers.ts
electron43/patches/patch-electron_spec_node.spec.ts
electron43/patches/patch-electron_spec_spellchecker.spec.ts
electron43/patches/patch-electron_spec_visibility-state.spec.ts
electron43/patches/patch-electron_spec_webview.spec.ts
electron43/patches/patch-net_dns_dns__config__service__posix.cc
electron43/patches/patch-rollup_rust_bindings__napi_Cargo.toml
electron43/patches/patch-rollup_rust_bindings__napi_src_lib.rs
electron43/patches/patch-third__party_electron__node_deps_cares_unofficial.gni
electron43/patches/patch-third__party_electron__node_deps_histogram_unofficial.gni
electron43/patches/patch-third__party_electron__node_deps_openssl_unofficial.gni
electron43/patches/patch-third__party_electron__node_deps_uv_src_unix_pipe.c
electron43/patches/patch-third__party_electron__node_deps_uv_unofficial.gni
electron43/patches/patch-third__party_electron__node_tools_generate__config__gypi.py
electron43/patches/patch-ui_gfx_font__util.cc
electron43/patches/patch-ui_gtk_gtk__compat.cc
electron43/platform.mk
Added Files:
electron43/patches/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.h
electron43/patches/patch-electron_lib_renderer_security-warnings.ts
electron43/patches/patch-electron_npm_install.js
electron43/patches/patch-third__party_electron__node_common.gypi
electron43/patches/patch-third__party_electron__node_deps_cares_cares.gyp
electron43/patches/patch-third__party_electron__node_deps_cares_config_netbsd_ares__config.h
electron43/patches/patch-third__party_electron__node_deps_histogram_src_hdr__histogram.c
electron43/patches/patch-third__party_electron__node_deps_uv_common.gypi
electron43/patches/patch-third__party_electron__node_deps_uvwasi_include_wasi__serdes.h
electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_memory.h
electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_platform-freebsd.cc
electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_platform-openbsd.cc
electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_platform-posix.cc
electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_semaphore.cc
electron43/patches/patch-third__party_electron__node_deps_v8_src_base_strings.h
electron43/patches/patch-third__party_electron__node_deps_v8_src_codegen_arm_cpu-arm.cc
electron43/patches/patch-third__party_electron__node_deps_v8_src_common_globals.h
electron43/patches/patch-third__party_electron__node_deps_v8_src_compiler_turboshaft_int64-lowering-reducer.h
electron43/patches/patch-third__party_electron__node_deps_v8_third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.cc
electron43/patches/patch-third__party_electron__node_deps_v8_tools_profiling_run-llprof.sh
electron43/patches/patch-third__party_electron__node_node.gypi
electron43/patches/patch-third__party_electron__node_src_compile__cache.cc
electron43/patches/patch-third__party_electron__node_src_crypto_crypto__rsa.cc
electron43/patches/patch-third__party_electron__node_src_inspector__agent.cc
electron43/patches/patch-third__party_electron__node_src_node__platform.cc
electron43/patches/patch-third__party_electron__node_src_node__platform.h
electron43/patches/patch-third__party_electron__node_src_node__postmortem__metadata.cc
electron43/patches/patch-third__party_electron__node_tools_gyp_pylib_gyp_generator_make.py
electron43/patches/patch-third__party_electron__node_tools_gyp_pylib_gyp_xcode__emulation.py
electron43/patches/patch-third__party_electron__node_tools_install.py
electron43/patches/patch-third__party_electron__node_tools_v8__gypfiles_v8.gyp
electron43/patches/patch-ui_shell__dialogs_select__file__dialog.h
Log Message:
electron43: rebase on 43.8.0
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=877fc060553d98911ee8bd0556f95f13c3e293f5
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
electron43/Makefile | 8 +-
electron43/distinfo | 309 +++++++++++----------
...e__file__system__access__permission__context.cc | 6 +-
...me__file__system__access__permission__context.h | 17 ++
...tch-chrome_browser_process__singleton__posix.cc | 6 +-
...wser_child__process__launcher__helper__linux.cc | 6 +-
electron43/patches/patch-electron_BUILD.gn | 18 +-
.../patches/patch-electron_build_args_all.gn | 6 +-
.../patch-electron_default__app_default__app.ts | 6 +-
electron43/patches/patch-electron_filenames.gni | 6 +-
.../patches/patch-electron_lib_browser_api_app.ts | 6 +-
.../patch-electron_lib_browser_api_dialog.ts | 6 +-
...tch-electron_lib_browser_api_menu-item-roles.ts | 6 +-
...patch-electron_lib_browser_api_power-monitor.ts | 6 +-
.../patch-electron_lib_browser_rpc-server.ts | 6 +-
.../patch-electron_lib_renderer_api_clipboard.ts | 6 +-
...atch-electron_lib_renderer_security-warnings.ts | 16 ++
...on_node__modules_@sentry_cli_scripts_install.js | 6 +-
electron43/patches/patch-electron_npm_install.js | 16 ++
.../patches/patch-electron_script_lib_config.py | 6 +-
.../patches/patch-electron_script_lib_utils.js | 6 +-
.../patch-electron_script_pgo_collect-profile.js | 6 +-
.../patches/patch-electron_script_spec-runner.js | 12 +-
..._shell_app_electron__crash__reporter__client.cc | 6 +-
...n_shell_app_electron__crash__reporter__client.h | 6 +-
...-electron_shell_app_electron__main__delegate.cc | 6 +-
.../patches/patch-electron_shell_app_node__main.cc | 8 +-
...lectron_shell_browser_api_electron__api__app.cc | 6 +-
...hell_browser_api_electron__api__base__window.cc | 6 +-
...shell_browser_api_electron__api__base__window.h | 6 +-
...l_browser_api_electron__api__crash__reporter.cc | 6 +-
...browser_api_electron__api__desktop__capturer.cc | 6 +-
...ll_browser_api_electron__api__power__monitor.cc | 6 +-
...ell_browser_api_electron__api__power__monitor.h | 6 +-
...ell_browser_api_electron__api__safe__storage.cc | 6 +-
...hell_browser_api_electron__api__safe__storage.h | 6 +-
...tron_shell_browser_api_electron__api__screen.cc | 6 +-
...owser_api_electron__api__system__preferences.cc | 6 +-
...rowser_api_electron__api__system__preferences.h | 6 +-
...ell_browser_api_electron__api__web__contents.cc | 6 +-
...hell_browser_api_electron__api__web__contents.h | 6 +-
...ch-electron_shell_browser_api_process__metric.h | 6 +-
.../patch-electron_shell_browser_browser.cc | 6 +-
.../patches/patch-electron_shell_browser_browser.h | 6 +-
.../patch-electron_shell_browser_browser__linux.cc | 8 +-
...lectron_shell_browser_browser__process__impl.cc | 6 +-
...electron_shell_browser_browser__process__impl.h | 6 +-
...shell_browser_electron__browser__main__parts.cc | 6 +-
..._shell_browser_electron__browser__main__parts.h | 6 +-
...rowser_electron__browser__main__parts__posix.cc | 6 +-
...api_runtime_electron__runtime__api__delegate.cc | 6 +-
.../patch-electron_shell_browser_feature__list.cc | 6 +-
...patch-electron_shell_browser_linux_x11__util.cc | 6 +-
.../patch-electron_shell_browser_native__window.cc | 6 +-
...electron_shell_browser_native__window__views.cc | 58 ++--
...-electron_shell_browser_native__window__views.h | 6 +-
...shell_browser_osr_osr__host__display__client.cc | 6 +-
..._shell_browser_osr_osr__host__display__client.h | 6 +-
...-electron_shell_browser_osr_osr__paint__event.h | 6 +-
...ctron_shell_browser_osr_osr__video__consumer.cc | 6 +-
...ctron_shell_browser_printing_printing__utils.cc | 6 +-
...tch-electron_shell_browser_relauncher__linux.cc | 6 +-
..._shell_browser_ui_inspectable__web__contents.cc | 6 +-
..._browser_ui_inspectable__web__contents__view.cc | 6 +-
...ui_inspectable__web__contents__view__delegate.h | 6 +-
...l_browser_ui_views_electron__views__delegate.cc | 6 +-
...ll_browser_ui_views_electron__views__delegate.h | 6 +-
...ch-electron_shell_browser_ui_views_menu__bar.cc | 22 +-
...tch-electron_shell_browser_ui_views_menu__bar.h | 6 +-
...ctron_shell_browser_ui_views_submenu__button.cc | 6 +-
...on_shell_common_api_electron__api__clipboard.cc | 6 +-
...hell_common_api_electron__api__native__image.cc | 6 +-
...shell_common_api_electron__api__native__image.h | 6 +-
...ll_common_api_electron__api__shared__texture.cc | 6 +-
...tron_shell_common_api_electron__api__testing.cc | 6 +-
...electron_shell_common_api_electron__bindings.cc | 6 +-
...lectron_shell_common_electron__command__line.cc | 6 +-
...electron_shell_common_electron__command__line.h | 6 +-
.../patch-electron_shell_common_electron__paths.cc | 6 +-
.../patch-electron_shell_common_electron__paths.h | 6 +-
..._shell_common_gin__converters_osr__converter.cc | 6 +-
...n_shell_common_gin__converters_std__converter.h | 6 +-
.../patch-electron_shell_common_node__bindings.cc | 6 +-
...-electron_shell_common_node__bindings__linux.cc | 6 +-
.../patch-electron_shell_common_platform__util.h | 6 +-
...h-electron_shell_common_v8__oom__diagnostics.cc | 6 +-
...api_electron__api__crash__reporter__renderer.cc | 6 +-
...h-electron_shell_services_node_node__service.cc | 6 +-
.../patches/patch-electron_spec_api-app.spec.ts | 93 ++++---
..._api-browser-window-ignore-mouse-events.spec.ts | 6 +-
.../patch-electron_spec_api-browser-window.spec.ts | 68 ++---
.../patch-electron_spec_api-clipboard.spec.ts | 10 +-
...patch-electron_spec_api-content-tracing.spec.ts | 22 +-
.../patch-electron_spec_api-crash-reporter.spec.ts | 74 ++---
...atch-electron_spec_api-desktop-capturer.spec.ts | 46 +--
.../patches/patch-electron_spec_api-dialog.spec.ts | 6 +-
.../patch-electron_spec_api-media-handler.spec.ts | 8 +-
.../patches/patch-electron_spec_api-menu.spec.ts | 18 +-
.../patch-electron_spec_api-native-image.spec.ts | 8 +-
.../patch-electron_spec_api-net-log.spec.ts | 14 +-
...tch-electron_spec_api-notification-dbus.spec.ts | 6 +-
.../patch-electron_spec_api-power-monitor.spec.ts | 8 +-
.../patch-electron_spec_api-process.spec.ts | 26 +-
.../patch-electron_spec_api-safe-storage.spec.ts | 14 +-
.../patches/patch-electron_spec_api-screen.spec.ts | 28 +-
.../patches/patch-electron_spec_api-shell.spec.ts | 6 +-
.../patch-electron_spec_api-subframe.spec.ts | 6 +-
...ch-electron_spec_api-system-preferences.spec.ts | 8 +-
.../patches/patch-electron_spec_api-tray.spec.ts | 20 +-
...patch-electron_spec_api-utility-process.spec.ts | 12 +-
.../patch-electron_spec_api-web-contents.spec.ts | 14 +-
.../patches/patch-electron_spec_chromium.spec.ts | 30 +-
.../patches/patch-electron_spec_crash.spec.ts | 8 +-
.../patch-electron_spec_desktop-name.spec.ts | 6 +-
...c_fixtures_api_safe-storage_decrypt-app_main.js | 6 +-
...c_fixtures_api_safe-storage_encrypt-app_main.js | 6 +-
...n_spec_fixtures_native-addon_uv-dlopen_index.js | 6 +-
.../patch-electron_spec_lib_spec-helpers.ts | 10 +-
.../patches/patch-electron_spec_node.spec.ts | 8 +-
.../patch-electron_spec_spellchecker.spec.ts | 10 +-
.../patch-electron_spec_visibility-state.spec.ts | 8 +-
.../patches/patch-electron_spec_webview.spec.ts | 8 +-
.../patch-net_dns_dns__config__service__posix.cc | 6 +-
.../patch-rollup_rust_bindings__napi_Cargo.toml | 4 +-
.../patch-rollup_rust_bindings__napi_src_lib.rs | 4 +-
.../patch-third__party_electron__node_common.gypi | 22 ++
...hird__party_electron__node_deps_cares_cares.gyp | 19 ++
...n__node_deps_cares_config_netbsd_ares__config.h | 24 ++
..._party_electron__node_deps_cares_unofficial.gni | 62 ++---
...ctron__node_deps_histogram_src_hdr__histogram.c | 19 ++
...ty_electron__node_deps_histogram_unofficial.gni | 22 +-
...arty_electron__node_deps_openssl_unofficial.gni | 6 +-
...third__party_electron__node_deps_uv_common.gypi | 17 ++
...d__party_electron__node_deps_uv_src_unix_pipe.c | 6 +-
...rd__party_electron__node_deps_uv_unofficial.gni | 93 ++++---
...ectron__node_deps_uvwasi_include_wasi__serdes.h | 22 ++
...ectron__node_deps_v8_src_base_platform_memory.h | 17 ++
...e_deps_v8_src_base_platform_platform-freebsd.cc | 35 +++
...e_deps_v8_src_base_platform_platform-openbsd.cc | 57 ++++
...ode_deps_v8_src_base_platform_platform-posix.cc | 66 +++++
...on__node_deps_v8_src_base_platform_semaphore.cc | 19 ++
...party_electron__node_deps_v8_src_base_strings.h | 16 ++
...ectron__node_deps_v8_src_codegen_arm_cpu-arm.cc | 28 ++
...rty_electron__node_deps_v8_src_common_globals.h | 16 ++
...rc_compiler_turboshaft_int64-lowering-reducer.h | 26 ++
...-cpp_absl_debugging_internal_elf__mem__image.cc | 17 ++
...ron__node_deps_v8_tools_profiling_run-llprof.sh | 17 ++
.../patch-third__party_electron__node_node.gypi | 16 ++
...ird__party_electron__node_src_compile__cache.cc | 15 +
..._party_electron__node_src_crypto_crypto__rsa.cc | 39 +++
...d__party_electron__node_src_inspector__agent.cc | 17 ++
...ird__party_electron__node_src_node__platform.cc | 47 ++++
...hird__party_electron__node_src_node__platform.h | 16 ++
...lectron__node_src_node__postmortem__metadata.cc | 19 ++
..._electron__node_tools_generate__config__gypi.py | 6 +-
...ron__node_tools_gyp_pylib_gyp_generator_make.py | 26 ++
...n__node_tools_gyp_pylib_gyp_xcode__emulation.py | 26 ++
...ch-third__party_electron__node_tools_install.py | 20 ++
..._party_electron__node_tools_v8__gypfiles_v8.gyp | 21 ++
electron43/patches/patch-ui_gfx_font__util.cc | 6 +-
electron43/patches/patch-ui_gtk_gtk__compat.cc | 6 +-
.../patch-ui_shell__dialogs_select__file__dialog.h | 17 ++
electron43/platform.mk | 2 +-
163 files changed, 1661 insertions(+), 859 deletions(-)
diffs:
diff --git a/electron43/Makefile b/electron43/Makefile
index a5904777be..64b74128a0 100644
--- a/electron43/Makefile
+++ b/electron43/Makefile
@@ -21,12 +21,12 @@ AUDIOIO_VERSION= 150.0
ROLLUP_VERSION= 4.60.4
EB_DISTNAME= ${MAKE} -C ../../www/esbuild -V DISTNAME
ESBUILD_VERSION= ${EB_DISTNAME:sh:C/^.*-//}
-NODE_VERSION= 24.21.0
+NODE_VERSION= 24.22.0
NAN_VERSION= 675cefebca42410733da8a454c8d9391fcebfbc2
SQUIRREL_VERSION= 0e5d146ba13101a1302d59ea6e6e0b3cace4ae38
REACTIVEOBJC_VERSION= 74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76
MANTLE_VERSION= 2a8e2123a3931038179ee06105c9e6ec336b12ea
-ENGFLOW_VERSION= 955335c30a752e9ef7bff375baab5e0819b6c00d
+#ENGFLOW_VERSION= 955335c30a752e9ef7bff375baab5e0819b6c00d
LLVM_MV= 21
GITHUB_SUBMODULES= kikadf chromium-nb v${AUDIOIO_VERSION} pkgsrc/chromium-nb
@@ -35,7 +35,7 @@ GITHUB_SUBMODULES+= nodejs nan ${NAN_VERSION} pkgsrc/nan
GITHUB_SUBMODULES+= Squirrel Squirrel.Mac ${SQUIRREL_VERSION} pkgsrc/squirrel.mac
GITHUB_SUBMODULES+= ReactiveCocoa ReactiveObjC ${REACTIVEOBJC_VERSION} pkgsrc/squirrel.mac/vendor/ReactiveObjC
GITHUB_SUBMODULES+= Mantle Mantle ${MANTLE_VERSION} pkgsrc/squirrel.mac/vendor/Mantle
-GITHUB_SUBMODULES+= EngFlow reclient-configs ${ENGFLOW_VERSION} pkgsrc/engflow-reclient-configs
+#GITHUB_SUBMODULES+= EngFlow reclient-configs ${ENGFLOW_VERSION} pkgsrc/engflow-reclient-configs
GITHUB_SUBMODULES+= evanw esbuild v${ESBUILD_VERSION} pkgsrc/esbuild
GITHUB_SUBMODULES+= rollup rollup v${ROLLUP_VERSION} pkgsrc/rollup
CARGO_WRKSRC= ${WRKSRC}/rollup/rust
@@ -276,7 +276,7 @@ post-extract:
${MV} ${WRKDIR}/temp/pkgsrc/electron_node ${WRKSRC}/third_party/electron_node
${MV} ${WRKDIR}/temp/pkgsrc/nan ${WRKSRC}/third_party/nan
${MV} ${WRKDIR}/temp/pkgsrc/squirrel.mac ${WRKSRC}/third_party/squirrel.mac
- ${MV} ${WRKDIR}/temp/pkgsrc/engflow-reclient-configs ${WRKSRC}/third_party/engflow-reclient-configs
+# ${MV} ${WRKDIR}/temp/pkgsrc/engflow-reclient-configs ${WRKSRC}/third_party/engflow-reclient-configs
${MV} ${WRKDIR}/temp/pkgsrc/rollup ${WRKSRC}/rollup
${MV} ${WRKDIR}/temp/pkgsrc/esbuild ${WRKSRC}/esbuild
${MV} ${WRKDIR}/temp ${WRKSRC}/electron
diff --git a/electron43/distinfo b/electron43/distinfo
index cc5b96e3d7..5fbb57bf52 100644
--- a/electron43/distinfo
+++ b/electron43/distinfo
@@ -1,8 +1,5 @@
$NetBSD$
-BLAKE2s (EngFlow-reclient-configs-955335c30a752e9ef7bff375baab5e0819b6c00d.tar.gz) = 7d5feed48130ce5af89388957b252ff1d20eb0e94097d06a7de9cc206315a146
-SHA512 (EngFlow-reclient-configs-955335c30a752e9ef7bff375baab5e0819b6c00d.tar.gz) = f01a5718c33196ffbb0089c16a7729360533be8953643879a4af9fde08bcea9acc6bc65c249875c708277564ad4f5b1b488f3ad333d299a6c69db6aff84de220
-Size (EngFlow-reclient-configs-955335c30a752e9ef7bff375baab5e0819b6c00d.tar.gz) = 13014 bytes
BLAKE2s (Mantle-Mantle-2a8e2123a3931038179ee06105c9e6ec336b12ea.tar.gz) = 6a72ade2488aa0e55cafd31c980dea215c930a45618a7727c9e194356b378b1a
SHA512 (Mantle-Mantle-2a8e2123a3931038179ee06105c9e6ec336b12ea.tar.gz) = b6e4ba3749c90163922ccbcac741fccc08004816f185c65c8462678ed7041fc57bb6537d12d020c714a72c5c9832674bf771b899b57aaefbadd697329b55adc8
Size (Mantle-Mantle-2a8e2123a3931038179ee06105c9e6ec336b12ea.tar.gz) = 81605 bytes
@@ -114,12 +111,12 @@ Size (dragonbox_ecma-0.1.12.crate) = 46796 bytes
BLAKE2s (either-1.15.0.crate) = 7c84d6a0e5f2b2ab835c6a5a557e2b80af4b533e6d792d546a42ac2f5b846e22
SHA512 (either-1.15.0.crate) = d70c34d903e8e5088fd065a6da6673eadb569a20af183fa9bd6418940b37c8c2a777c44dbdab1b9960890cba5cb7464b805667ac42f4e05499ddcd4277d24e3f
Size (either-1.15.0.crate) = 20114 bytes
-BLAKE2s (electron43-43.7.9.tar.gz) = 1ed0df484b7830f882b9951e391295ac755c24c9c33dd450ed1c7a88d93097b3
-SHA512 (electron43-43.7.9.tar.gz) = 6896477671bd228dd8de40e011f2621b7d8464e3471217661d7c2fc6a5417689a11bddc2148a5fc385e72b444c2cef9357ffe0d1070f42c83af7f5e6eb054e36
-Size (electron43-43.7.9.tar.gz) = 20782800 bytes
-BLAKE2s (electron43-node_modules-43.7.9.tar.gz) = b2ccea82ffbd0a522e333ac115a7f11781a1985f1a920e5a4ca3e6577e31366b
-SHA512 (electron43-node_modules-43.7.9.tar.gz) = 9774cf96a211ff3689e51fdcf3d394ff032f5530f2b79904b3cf2782dd25b4d09a7ae7bd561652e7cba2a14e08fca83701cfec9de78aedce53100cf0a39059d1
-Size (electron43-node_modules-43.7.9.tar.gz) = 59447409 bytes
+BLAKE2s (electron43-43.8.0.tar.gz) = d6269c91ba4f0a8f7e29aa6aedd7c0f02d857fbcf8ec4fc4cb78dd7a5e93f94c
+SHA512 (electron43-43.8.0.tar.gz) = d98f59192974108f8b2438f7b6887d20d01f35be66f519df66c709031ef848622948ec34d926f75c80e270d32d94fd254bd0e5009046839c8fba2f702a5c4a34
+Size (electron43-43.8.0.tar.gz) = 20880984 bytes
+BLAKE2s (electron43-node_modules-43.8.0.tar.gz) = 9d21eae518df06013b399b0f6bc1bc3dcf5a4869e25d13462497e238ab0f9e40
+SHA512 (electron43-node_modules-43.8.0.tar.gz) = 8a16d8a48d5ca0c100a0b332b897d36c147a9179993fbb0d3048afd5f3733a41bce3edba6dff9e1c01cad075eefa1132287fca36fe1600b8ee6460e960f396d0
+Size (electron43-node_modules-43.8.0.tar.gz) = 59246465 bytes
BLAKE2s (equivalent-1.0.2.crate) = ecc976834a05d886b02d4691be4fa79ccdc19070d8548d36b740fe8f3f137bd6
SHA512 (equivalent-1.0.2.crate) = 8e0e2dc070794a85b276e93f9e4a65d3bbb8587b33fda211c34479a0b88504c913d8bef9e84d7996254aeabe1efe4ff1ef6259ff4fe3f9ccb90dd90070b3e4d4
Size (equivalent-1.0.2.crate) = 7419 bytes
@@ -279,9 +276,9 @@ Size (new_debug_unreachable-1.0.6.crate) = 2582 bytes
BLAKE2s (nodejs-nan-675cefebca42410733da8a454c8d9391fcebfbc2.tar.gz) = a0b2f536757207f66940b0257c5f0ee6e2178d70dd12dfb8d20320e1273b76bc
SHA512 (nodejs-nan-675cefebca42410733da8a454c8d9391fcebfbc2.tar.gz) = dc611da5992e5e203d60ff224cd8b694485755a4bd9f1cb21e039ef2065bbcb1bd4b61b4f2bf609fb45b953c0a40f53585c6541db1418331dfb75661eac25294
Size (nodejs-nan-675cefebca42410733da8a454c8d9391fcebfbc2.tar.gz) = 111323 bytes
-BLAKE2s (nodejs-node-v24.21.0.tar.gz) = e4048b43bde589efa47a29afe1839583190b02c82afd7ab9d2868350f8ebb21c
-SHA512 (nodejs-node-v24.21.0.tar.gz) = 7542ba1d1f14fa488c46477c048c621c2d38a79c9b2a4efaba2be9bf7b4d929541107a4de40b68da3b86efc5a31bb25878ebb707372614402ee7ee41183b7a62
-Size (nodejs-node-v24.21.0.tar.gz) = 129712318 bytes
+BLAKE2s (nodejs-node-v24.22.0.tar.gz) = 7eb4d4da4f1f7db0f53678e62e4f782ce1d00abce1fe5eb4e009ec8b5680062e
+SHA512 (nodejs-node-v24.22.0.tar.gz) = 378d06d131ff2bb10c08b71e55a1544c927ece007670babe906e2fe856ec13205b0d1ddf17afb0e65cb6a26faf8f4052243409a45715be9f8dacdadb385bd48f
+Size (nodejs-node-v24.22.0.tar.gz) = 130023957 bytes
BLAKE2s (nohash-hasher-0.2.0.crate) = 48e61ae7c7a2c7cc641828b9833364b6227180d0cb0b1463b33b4152ca374b9b
SHA512 (nohash-hasher-0.2.0.crate) = b1b754262471ac1fb074559c264321f8f08c46c55752187f51a93cdc73509551b43008751ff9db4aa5b47fbfdda783904f5492349546ad14856fe485ccec55d8
Size (nohash-hasher-0.2.0.crate) = 8051 bytes
@@ -648,131 +645,163 @@ Size (zerovec-derive-0.11.3.crate) = 22115 bytes
BLAKE2s (zmij-1.0.21.crate) = a2d1e7214230c8f4e8c946d28215765c131da3aac89f1001daf534335307648e
SHA512 (zmij-1.0.21.crate) = a488f11ec8721ddfe42e61d028a128818551de8fccd69d7824504e4ae2efccdc38f716fa5a10ef4de07a8a087e75e819c4a1e0790817e8539b5db697bde14585
Size (zmij-1.0.21.crate) = 26665 bytes
-SHA1 (patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc) = cb3a369e8f3a301c471c21c5bea79927fb6b8f1e
-SHA1 (patch-chrome_browser_process__singleton__posix.cc) = 36547d0d5e402d024e8fb747914e3f182cc43946
-SHA1 (patch-content_browser_child__process__launcher__helper__linux.cc) = a4d9c366e1f332360b82bfee2ad94bbc5570966d
-SHA1 (patch-electron_BUILD.gn) = f9db129abbe651507986f7694ec8d8a0111cde6c
-SHA1 (patch-electron_build_args_all.gn) = 2714d4d17f1398e75979e79b89a039002013e673
-SHA1 (patch-electron_default__app_default__app.ts) = 7e563358dcac2757faf00251a3bcc1c1df6e419f
-SHA1 (patch-electron_filenames.gni) = c764c1ed68bb8a14d68e3cc7511067c812beca4e
-SHA1 (patch-electron_lib_browser_api_app.ts) = 009f9a0326bf6ede95a00aabb6653c4433425a79
-SHA1 (patch-electron_lib_browser_api_dialog.ts) = 22d9c5d428347487f1168b4f000848afc7d3e544
-SHA1 (patch-electron_lib_browser_api_menu-item-roles.ts) = 479901d4e00efa5946a3106c46555bb31574938a
-SHA1 (patch-electron_lib_browser_api_power-monitor.ts) = 7d6da66672964cac7cdb77e28a2eecb563212fcd
-SHA1 (patch-electron_lib_browser_rpc-server.ts) = 350a5627419fa959069a6735a97048cd76e5a70f
-SHA1 (patch-electron_lib_renderer_api_clipboard.ts) = ebeae1a1631d98e0303d71f536a0c3a4f3704de0
-SHA1 (patch-electron_node__modules_@sentry_cli_scripts_install.js) = 4dca0832ae346d25b063bc66dc9c8b6e948f75d2
-SHA1 (patch-electron_script_lib_config.py) = 2f5721bdfd25689de2deef98f28ac440117f79d8
-SHA1 (patch-electron_script_lib_utils.js) = 360e4b8d5c44d6eabbe6cf66f24bde41d27b0495
-SHA1 (patch-electron_script_pgo_collect-profile.js) = 5471131b2915f56274c394dd6439541845f87ba5
-SHA1 (patch-electron_script_spec-runner.js) = 368c3b96a0f6806e9886fdd9c42d0816b5a0c876
-SHA1 (patch-electron_shell_app_electron__crash__reporter__client.cc) = 82b02c525baccb7a130613c915ebdb008e6ca6b1
-SHA1 (patch-electron_shell_app_electron__crash__reporter__client.h) = 410f7f3da291ccabaf3789f0628d0c7b54e99e3f
-SHA1 (patch-electron_shell_app_electron__main__delegate.cc) = 63f4edb201f20fc771de5e4656bb76cf0547d441
-SHA1 (patch-electron_shell_app_node__main.cc) = f720e1c4dbb5ad181118f81e820f0703fca5c790
-SHA1 (patch-electron_shell_browser_api_electron__api__app.cc) = 83758327ee6b70439ce3ac85293cba479f3d5546
-SHA1 (patch-electron_shell_browser_api_electron__api__base__window.cc) = 91bed83d921559d7d76b95185ddb392ab974086f
-SHA1 (patch-electron_shell_browser_api_electron__api__base__window.h) = 67bd3c01f2b5763c04b9961b97f928fb6bffbf15
-SHA1 (patch-electron_shell_browser_api_electron__api__crash__reporter.cc) = b4191ad5792611104bb58d20fc5a46eb00cd0e5e
-SHA1 (patch-electron_shell_browser_api_electron__api__desktop__capturer.cc) = a4464c1cd8cede3c0bbceeab525f1e6d31887115
-SHA1 (patch-electron_shell_browser_api_electron__api__power__monitor.cc) = 49e383f93eac12a34180e8816d1c799f7fe31467
-SHA1 (patch-electron_shell_browser_api_electron__api__power__monitor.h) = 759f893bc31230282a6498d39a2ca3152b51499b
-SHA1 (patch-electron_shell_browser_api_electron__api__safe__storage.cc) = 7ef3749836c497a507ca91d9efa6b6ca1175d0b6
-SHA1 (patch-electron_shell_browser_api_electron__api__safe__storage.h) = 9b27e9ae8f16590741cff2214bde7fb7926a6ff9
-SHA1 (patch-electron_shell_browser_api_electron__api__screen.cc) = 929a5dd128cd8a52b69d06b8d28a9b5108c1f6f7
-SHA1 (patch-electron_shell_browser_api_electron__api__system__preferences.cc) = 5f144246fc5b9d1fa8eb12003eb58b77c4b650b9
-SHA1 (patch-electron_shell_browser_api_electron__api__system__preferences.h) = fe2a51afca0ed771ede03e4ecb6944bad0f390c8
-SHA1 (patch-electron_shell_browser_api_electron__api__web__contents.cc) = 6d3cfc3474697fd5ade9fe1e572864820fd9d7fc
-SHA1 (patch-electron_shell_browser_api_electron__api__web__contents.h) = 13b392206b66d3913ca6a7de66d72b13537dd712
-SHA1 (patch-electron_shell_browser_api_process__metric.h) = ea310ec0533a4f6f727831f272208ef8fe6fa8c9
-SHA1 (patch-electron_shell_browser_browser.cc) = 72b47af283474c4d7e7f985347b0dd9f446e5db9
-SHA1 (patch-electron_shell_browser_browser.h) = 8a0fb48ee6e6a76833ecf46d7c30e9886044e994
-SHA1 (patch-electron_shell_browser_browser__linux.cc) = c1a6555f68dd11ba4f5bbb244cec075cd7fccfa1
-SHA1 (patch-electron_shell_browser_browser__process__impl.cc) = 109ee353256b7fdfdf4f98300b75f9fd68637d70
-SHA1 (patch-electron_shell_browser_browser__process__impl.h) = 85bffae588144338987610d36446394529efa6bf
-SHA1 (patch-electron_shell_browser_electron__browser__main__parts.cc) = 93706f91e465e06bb4f9c4523638132fd7481507
-SHA1 (patch-electron_shell_browser_electron__browser__main__parts.h) = bb6c9b288d5e1dd92cb21f2b93e33f1f5f925f7c
-SHA1 (patch-electron_shell_browser_electron__browser__main__parts__posix.cc) = 1b3d7dcb10bb3cbd4a64bdf3c6603cf3b7e5be31
-SHA1 (patch-electron_shell_browser_extensions_api_runtime_electron__runtime__api__delegate.cc) = db4a16e4b11c133e16a5704802cbce0cd67b613d
-SHA1 (patch-electron_shell_browser_feature__list.cc) = f39fac6b671a92fad80e4a3617cd0ee2769e544f
-SHA1 (patch-electron_shell_browser_linux_x11__util.cc) = 12dc0b71ea5ab4299a948ae02d63cdab53b09856
-SHA1 (patch-electron_shell_browser_native__window.cc) = 8ae6b9615dd672c5481b17769d50bc490553e846
-SHA1 (patch-electron_shell_browser_native__window__views.cc) = 713eecf9cf058d088ebb30938e0c4702b6908557
-SHA1 (patch-electron_shell_browser_native__window__views.h) = 982a80d064b912ffd06ce14ce08039ebeb0583c2
-SHA1 (patch-electron_shell_browser_osr_osr__host__display__client.cc) = 8b1b5609255ddf34447c0231bd0be25e3a7c416c
-SHA1 (patch-electron_shell_browser_osr_osr__host__display__client.h) = 2a6fed08bb15fee8d865585c968c7bd81434478a
-SHA1 (patch-electron_shell_browser_osr_osr__paint__event.h) = 61387e0e0d56229f8e1377ad990513843eb44282
-SHA1 (patch-electron_shell_browser_osr_osr__video__consumer.cc) = a6b2f1a8fe112308823099d9ae4cd96abba8fc61
-SHA1 (patch-electron_shell_browser_printing_printing__utils.cc) = a754040bfbc439e94ae362b13880a8455a681fa6
-SHA1 (patch-electron_shell_browser_relauncher__linux.cc) = 6f0be5ce6e11614b343c710df2b06704a326477a
-SHA1 (patch-electron_shell_browser_ui_inspectable__web__contents.cc) = 578cb448e5c36568848545b1f30aa1dfcad09008
-SHA1 (patch-electron_shell_browser_ui_inspectable__web__contents__view.cc) = 862d54cf62ab96d42001a27deab20fb01c5ac038
-SHA1 (patch-electron_shell_browser_ui_inspectable__web__contents__view__delegate.h) = 6c9f026da7caf093ad076a27da45314914678701
-SHA1 (patch-electron_shell_browser_ui_views_electron__views__delegate.cc) = 678f52adf72bbdb665906d1f6d4a7f3a6122cb7f
-SHA1 (patch-electron_shell_browser_ui_views_electron__views__delegate.h) = 68b4d3709f97797989c665724746e46584a2fc2e
-SHA1 (patch-electron_shell_browser_ui_views_menu__bar.cc) = 2e5485f89c19f30cb49f98aefd07fe956857161d
-SHA1 (patch-electron_shell_browser_ui_views_menu__bar.h) = 54e2c50285caa3c552a2bdfb499a61d447f24f2c
-SHA1 (patch-electron_shell_browser_ui_views_submenu__button.cc) = 08d4ea77fc07081112ab15a06347e106df32a511
-SHA1 (patch-electron_shell_common_api_electron__api__clipboard.cc) = d45484cce5737eaac904d847af964bd962232a4e
-SHA1 (patch-electron_shell_common_api_electron__api__native__image.cc) = 5e7f53d0ba1bae862ddfa669577fb73b0b834a51
-SHA1 (patch-electron_shell_common_api_electron__api__native__image.h) = b5bad04a0fa76a16ae63244d0fa3985ce6cb657a
-SHA1 (patch-electron_shell_common_api_electron__api__shared__texture.cc) = cee194138203d7684acb715ea6a7721a3fd33aa0
-SHA1 (patch-electron_shell_common_api_electron__api__testing.cc) = ab512242650a1083ee12c5be38bfbe35eb18e142
-SHA1 (patch-electron_shell_common_api_electron__bindings.cc) = a43484adbd0c3fa5d998e2ab2718b95a6772ce08
-SHA1 (patch-electron_shell_common_electron__command__line.cc) = 79f09959bf366d8ab7e95dd73567eddce2701990
-SHA1 (patch-electron_shell_common_electron__command__line.h) = cca9455db2fcee0e004f3ba910e1c387880cde08
-SHA1 (patch-electron_shell_common_electron__paths.cc) = 72eb3fcad8369660cb173e4b52aa368fc17ab8cb
-SHA1 (patch-electron_shell_common_electron__paths.h) = 45ed66b6043d8db4bdd9dd277d56522824a14a78
-SHA1 (patch-electron_shell_common_gin__converters_osr__converter.cc) = 1304c38463091f05e41bf7194a0cae6986ea3efc
-SHA1 (patch-electron_shell_common_gin__converters_std__converter.h) = 0bd3e4107ae4151a75b13d06612c417009e5415b
-SHA1 (patch-electron_shell_common_node__bindings.cc) = ad39325c6d7ad250235a2fbabf1e24d650e6f6c6
-SHA1 (patch-electron_shell_common_node__bindings__linux.cc) = be1bec475a6eb195cd1523650e1a13cc5e055ad7
-SHA1 (patch-electron_shell_common_platform__util.h) = 43547360c538b5d5fad4679f81d98486fd397a85
-SHA1 (patch-electron_shell_common_v8__oom__diagnostics.cc) = a6f6ec7a448b27ae23acc6239245f64c54098678
-SHA1 (patch-electron_shell_renderer_api_electron__api__crash__reporter__renderer.cc) = 09fa5ebc3622735f6e91827c7e9b2a9a23d02ea4
-SHA1 (patch-electron_shell_services_node_node__service.cc) = 32637da9ac950e127b2b7c1f10cc37b23f0c7390
-SHA1 (patch-electron_spec_api-app.spec.ts) = 21e26cdc3b93d320c3f8cf5303a194d951e66b58
-SHA1 (patch-electron_spec_api-browser-window-ignore-mouse-events.spec.ts) = 3da69e5e5c51c99781098730f2ee366edd3affba
-SHA1 (patch-electron_spec_api-browser-window.spec.ts) = 6a307c7ac9abae1beee2cadd54118e615ee8cfc0
-SHA1 (patch-electron_spec_api-clipboard.spec.ts) = a9a223347d9c479c0377cb1d8d6e960de8f35091
-SHA1 (patch-electron_spec_api-content-tracing.spec.ts) = e8d229bb2b1174ff38c5a45812446b6f48a1baa2
-SHA1 (patch-electron_spec_api-crash-reporter.spec.ts) = 886af94b906f60fc0f4b64f0f410d5c4365d7650
-SHA1 (patch-electron_spec_api-desktop-capturer.spec.ts) = 464bfe18138594b875e8869c9d403bd34b600c79
-SHA1 (patch-electron_spec_api-dialog.spec.ts) = 8ade6543a7139cdf18e57efcc8db2f0546723999
-SHA1 (patch-electron_spec_api-media-handler.spec.ts) = 2690d9f913567a51a241d22deec8dd92458379c3
-SHA1 (patch-electron_spec_api-menu.spec.ts) = 243775463bc2023c6b99ef6268e6f7df59242179
-SHA1 (patch-electron_spec_api-native-image.spec.ts) = 2002257d327da4385cb8ba2be1d1470e7870e0f0
-SHA1 (patch-electron_spec_api-net-log.spec.ts) = 18ee508ea93525ae1cf29fdcca6c6acc9662a692
-SHA1 (patch-electron_spec_api-notification-dbus.spec.ts) = eaf8464f730ccbdc7c79749fc3f7c44f077c9b3e
-SHA1 (patch-electron_spec_api-power-monitor.spec.ts) = 15cd50dd379deb238e543e9638fab0e92564fac3
-SHA1 (patch-electron_spec_api-process.spec.ts) = a5350d6d273381aa767f80e038b4eaf6dd42a513
-SHA1 (patch-electron_spec_api-safe-storage.spec.ts) = 42db5c5d8dbcccd9461963492fe5746451ed2731
-SHA1 (patch-electron_spec_api-screen.spec.ts) = 89521380f1aaa49628c43cb05a33398640879768
-SHA1 (patch-electron_spec_api-shell.spec.ts) = ed6f873aa9bced5f19c2b2b743d82c134d6e98e7
-SHA1 (patch-electron_spec_api-subframe.spec.ts) = 6efba409400b8a047ef31e727a2fc1561da6115a
-SHA1 (patch-electron_spec_api-system-preferences.spec.ts) = 52aa82010d19d7b0ab3c176a943e2197e311e575
-SHA1 (patch-electron_spec_api-tray.spec.ts) = 2fbc782c1fd916fc1b529c0eaf473acfeb88520d
-SHA1 (patch-electron_spec_api-utility-process.spec.ts) = 17f2b99def7aa2f4da3d007538c0bbca0bb7d74c
-SHA1 (patch-electron_spec_api-web-contents.spec.ts) = 03ea289ce64a33da9ea13ef20b90dd2cb14c574e
-SHA1 (patch-electron_spec_chromium.spec.ts) = c5de4e0691af45fbf1167a32cbe272ef94e95864
-SHA1 (patch-electron_spec_crash.spec.ts) = bd9bc090fd797cf87c60bb7c9691c42b00da91a6
-SHA1 (patch-electron_spec_desktop-name.spec.ts) = 7d092578da42b311a6c1690610a98a982ddd9d65
-SHA1 (patch-electron_spec_fixtures_api_safe-storage_decrypt-app_main.js) = b895bd7fb0232a83aaa15d41e5e3d92e53a99782
-SHA1 (patch-electron_spec_fixtures_api_safe-storage_encrypt-app_main.js) = 30a5ec6cd6c2b72174a452d81d1ba1a62937572c
-SHA1 (patch-electron_spec_fixtures_native-addon_uv-dlopen_index.js) = 1d9e5cdad5467d9e5e48c792fb5744a65e84330c
-SHA1 (patch-electron_spec_lib_spec-helpers.ts) = 62fd6b6b013360e5104e0482fff0ba54ae190cb9
-SHA1 (patch-electron_spec_node.spec.ts) = e668d63219c7fd8296d9472ca26bc109b162ab75
-SHA1 (patch-electron_spec_spellchecker.spec.ts) = 17ccb155ec0498edbc530da089c3427dc0fc21e4
-SHA1 (patch-electron_spec_visibility-state.spec.ts) = 1a11ae6f9d2ebe5e78b62f58840f4a0cb87207c2
-SHA1 (patch-electron_spec_webview.spec.ts) = e63a886b4624c37cf14250dd525731003cb11ed8
-SHA1 (patch-net_dns_dns__config__service__posix.cc) = 76de643a3421c0954265e5afa4dddded3bc47540
-SHA1 (patch-rollup_rust_bindings__napi_Cargo.toml) = 6a5074ac4cb3c094b5721bcdcee47fc75bc19423
-SHA1 (patch-rollup_rust_bindings__napi_src_lib.rs) = 064e4c9c76b33a88907d3ee2229ce4bcb07f1a8c
-SHA1 (patch-third__party_electron__node_deps_cares_unofficial.gni) = e79c6ad50d841ffac4c814ce1a950d35f1dbd966
-SHA1 (patch-third__party_electron__node_deps_histogram_unofficial.gni) = e59cfb4a409789f73e1480c87f3b126397a9e934
-SHA1 (patch-third__party_electron__node_deps_openssl_unofficial.gni) = d8e39606897dd307ce6f6aaad1809812c5d42a42
-SHA1 (patch-third__party_electron__node_deps_uv_src_unix_pipe.c) = 222820401799a208cbeeb323e446ee578fa58e02
-SHA1 (patch-third__party_electron__node_deps_uv_unofficial.gni) = 4b84a766b7dc912f985e2a9089f29eda3df3e884
-SHA1 (patch-third__party_electron__node_tools_generate__config__gypi.py) = 4a7fe62b07b69104e7cc215bcada3d013ed0fc3c
-SHA1 (patch-ui_gfx_font__util.cc) = cbec735158349cd0a81e167c2a3fa4151f032a1b
-SHA1 (patch-ui_gtk_gtk__compat.cc) = 0d0afa082c866f40434463a193ff7bfd938b09f1
+SHA1 (patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc) = 91cb2e3091d1ed01ca166dbb90d412eef8d21b83
+SHA1 (patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.h) = def95b9e162055a15b65347d599e7a5384aad054
+SHA1 (patch-chrome_browser_process__singleton__posix.cc) = 7ff612beb2433d445e33ffcda970dc962a513778
+SHA1 (patch-content_browser_child__process__launcher__helper__linux.cc) = 5171c62ce1f241f087b9caa9fbf27831a8808d48
+SHA1 (patch-electron_BUILD.gn) = 0db727c26a49940598733519c70fa00fea25b3c1
+SHA1 (patch-electron_build_args_all.gn) = 2197c9876b57caf67ea135a30e043c231d2a9ee0
+SHA1 (patch-electron_default__app_default__app.ts) = 08456d42b4739416b389a065cf8ab88d9321b10a
+SHA1 (patch-electron_filenames.gni) = 8407ac036c52111fac6e754aa276e21c51c34e13
+SHA1 (patch-electron_lib_browser_api_app.ts) = 9eccb166333805515cda1254ed73885a6992da11
+SHA1 (patch-electron_lib_browser_api_dialog.ts) = 5021b1bd7c5c4de13e73c0e9b3f66df50834bb56
+SHA1 (patch-electron_lib_browser_api_menu-item-roles.ts) = dd5ad5fb3923fd25847a1802af11573e4f1b1db4
+SHA1 (patch-electron_lib_browser_api_power-monitor.ts) = 0d26e8df4e8a99577018a9d12da5008ac8adb46e
+SHA1 (patch-electron_lib_browser_rpc-server.ts) = 787b839203ced50116e64eea789675b19cdd2f67
+SHA1 (patch-electron_lib_renderer_api_clipboard.ts) = 65754745d6d225d4857a84f864c567e2d2941b6f
+SHA1 (patch-electron_lib_renderer_security-warnings.ts) = d7840d9f309ee8b0f763ea0f653e637fa29a9d54
+SHA1 (patch-electron_node__modules_@sentry_cli_scripts_install.js) = 4e3162acc3127d7aa86a05aaab345a74155ead3c
+SHA1 (patch-electron_npm_install.js) = e4bf5313bed11bbe7f341d072226b8bf47fd50af
+SHA1 (patch-electron_script_lib_config.py) = 02d947664e4d9a3696cf6d3b128d3c0ad25a184e
+SHA1 (patch-electron_script_lib_utils.js) = 950f6f20f4b802b662d75f8d7bb5139a395615c1
+SHA1 (patch-electron_script_pgo_collect-profile.js) = 5db864cf9889172d58074cfc603f9de84e8c09b5
+SHA1 (patch-electron_script_spec-runner.js) = e2a95f651a6b501d1b058a05958af29be663fd11
+SHA1 (patch-electron_shell_app_electron__crash__reporter__client.cc) = 3be7c72d7adb395b25a9a2628e1a4d2cac35faba
+SHA1 (patch-electron_shell_app_electron__crash__reporter__client.h) = 7cf2acf1662de6fabb439832d58d7a3b364ee3c7
+SHA1 (patch-electron_shell_app_electron__main__delegate.cc) = ea6a6425b78f3d956a617747e535cd124995d5ad
+SHA1 (patch-electron_shell_app_node__main.cc) = baaa71ada2fec494c720e62460503d6fa627239d
+SHA1 (patch-electron_shell_browser_api_electron__api__app.cc) = 889e40b2267af801f8e6fc02a7b335f2c02c3c6d
+SHA1 (patch-electron_shell_browser_api_electron__api__base__window.cc) = 1ac869a219dbfe30d54c49970a3e53d1a6026eb2
+SHA1 (patch-electron_shell_browser_api_electron__api__base__window.h) = c841f5f5106b591a777b4d0301a6d18f803115e4
+SHA1 (patch-electron_shell_browser_api_electron__api__crash__reporter.cc) = 72ecc7e038b5b5b25f637560d5122d8a83a5503a
+SHA1 (patch-electron_shell_browser_api_electron__api__desktop__capturer.cc) = 9b55a8fda267c8afd03336179bdfec9947c09bd5
+SHA1 (patch-electron_shell_browser_api_electron__api__power__monitor.cc) = 185351a7ff334df1e49ba29a30e149cfb304a4cd
+SHA1 (patch-electron_shell_browser_api_electron__api__power__monitor.h) = 0c794cb7f03e3d7c8ff6df98182faedd08d5b502
+SHA1 (patch-electron_shell_browser_api_electron__api__safe__storage.cc) = 0c3f7aa0dae3b631787ca4b7185c356c8ce9abb5
+SHA1 (patch-electron_shell_browser_api_electron__api__safe__storage.h) = ceb5a01c5e8d7ac5af20c9b5ac02c8e8665ada70
+SHA1 (patch-electron_shell_browser_api_electron__api__screen.cc) = a903b23114ef0d433a2f7e160363ef7137396c7a
+SHA1 (patch-electron_shell_browser_api_electron__api__system__preferences.cc) = ffd6fd439d5e90cac7304045b9e3e8eda3ff2e1c
+SHA1 (patch-electron_shell_browser_api_electron__api__system__preferences.h) = c57d3fbff6c680eb1b56ff91350f6c4ce34be778
+SHA1 (patch-electron_shell_browser_api_electron__api__web__contents.cc) = 54049ca2eea75ba7275b08ae84c13aecadae299e
+SHA1 (patch-electron_shell_browser_api_electron__api__web__contents.h) = 25980e2995d9e012a1930ba750403655ea17ba37
+SHA1 (patch-electron_shell_browser_api_process__metric.h) = 64a77baaf58bf3ec83531c091ccc017a8007d3e0
+SHA1 (patch-electron_shell_browser_browser.cc) = 2caa3cee054ce80721ecba2134b1a90fb7ad5031
+SHA1 (patch-electron_shell_browser_browser.h) = 7b0e55d36e99ac382c026b03805364e052b90e48
+SHA1 (patch-electron_shell_browser_browser__linux.cc) = bba0706ca2bc94269a77c9171b656628b929cf17
+SHA1 (patch-electron_shell_browser_browser__process__impl.cc) = ef273a3b9a19781a6b42d3bb214c5055bb58a681
+SHA1 (patch-electron_shell_browser_browser__process__impl.h) = c5a12ad79c1a76fa5d827187452e185b60477c4a
+SHA1 (patch-electron_shell_browser_electron__browser__main__parts.cc) = 8f4bcc3351726ff97e13b863dde07723319e66ba
+SHA1 (patch-electron_shell_browser_electron__browser__main__parts.h) = b1d2372a2e074fab92b118a99fef0aaa415b6255
+SHA1 (patch-electron_shell_browser_electron__browser__main__parts__posix.cc) = 01db7e884364445f3c09827884d21c54f07457e9
+SHA1 (patch-electron_shell_browser_extensions_api_runtime_electron__runtime__api__delegate.cc) = 4f486f0482a0a216c59233abe95b94eac9c43fdc
+SHA1 (patch-electron_shell_browser_feature__list.cc) = ce88a8b5a313b42974d1d72dda3fbe890ff7e2aa
+SHA1 (patch-electron_shell_browser_linux_x11__util.cc) = a210c44d006dee66f5593a46480bb2e2beb6b45a
+SHA1 (patch-electron_shell_browser_native__window.cc) = 3cfd9a23ce997bb358993aafcd82e7c60ec8747a
+SHA1 (patch-electron_shell_browser_native__window__views.cc) = 2f5cd9c32c38b8e35d2964c468193d73bff87b9e
+SHA1 (patch-electron_shell_browser_native__window__views.h) = 0b69582971cc49f4906f81afd9bd92f4cb804cfd
+SHA1 (patch-electron_shell_browser_osr_osr__host__display__client.cc) = a951aad4f022f99db05c02dba3a9b0e3f6583968
+SHA1 (patch-electron_shell_browser_osr_osr__host__display__client.h) = 935ca09645079d910b617840f63cf5f356707d9c
+SHA1 (patch-electron_shell_browser_osr_osr__paint__event.h) = d036822dd26132eb2e6c871bcf92c9a76d6eaf93
+SHA1 (patch-electron_shell_browser_osr_osr__video__consumer.cc) = 490c579cf05e6d585e9def0fbf416d91eafd7a54
+SHA1 (patch-electron_shell_browser_printing_printing__utils.cc) = 032fe233508bca0a7a83c2a191c4af9160319476
+SHA1 (patch-electron_shell_browser_relauncher__linux.cc) = aa357fb7711df14916e365984f334c1d27c9adeb
+SHA1 (patch-electron_shell_browser_ui_inspectable__web__contents.cc) = 7a5fedf2b6cc8fd5a4db336d78a6542e3ba7bcd7
+SHA1 (patch-electron_shell_browser_ui_inspectable__web__contents__view.cc) = 7fc8ddb36a64e1b7949fd8354db29f2606cfe559
+SHA1 (patch-electron_shell_browser_ui_inspectable__web__contents__view__delegate.h) = 9210d0cf55f179ebcd611a88d3c9bf64aadaec4e
+SHA1 (patch-electron_shell_browser_ui_views_electron__views__delegate.cc) = b6a5f4fc8e985daae9b2316aa96555839a276999
+SHA1 (patch-electron_shell_browser_ui_views_electron__views__delegate.h) = d7452777b4c05714671cf38b96d012bc6b078ca5
+SHA1 (patch-electron_shell_browser_ui_views_menu__bar.cc) = 55af1053d1904ea6256babc213fcb223c780c14e
+SHA1 (patch-electron_shell_browser_ui_views_menu__bar.h) = 3d587b7d358a27f16995f948db2d6896d9ccf61c
+SHA1 (patch-electron_shell_browser_ui_views_submenu__button.cc) = fba5cf45b020244290032d95f311f0d44181905b
+SHA1 (patch-electron_shell_common_api_electron__api__clipboard.cc) = 0d1d9dfb98f0b90cf700fb70040eb483de592c70
+SHA1 (patch-electron_shell_common_api_electron__api__native__image.cc) = 91dbfb3a29d73689d5ab3ba92348aa0e827b8e61
+SHA1 (patch-electron_shell_common_api_electron__api__native__image.h) = b3b2a71cf6891d9562d0997dacef928391ea2bad
+SHA1 (patch-electron_shell_common_api_electron__api__shared__texture.cc) = 24a9c3710bb61fca03ecdcfb34a99195caa67b69
+SHA1 (patch-electron_shell_common_api_electron__api__testing.cc) = 9c7d417c046d78ede9eedc931980b053611d1806
+SHA1 (patch-electron_shell_common_api_electron__bindings.cc) = ff246c945d642a13bd65e879926b6fd6282dfa7f
+SHA1 (patch-electron_shell_common_electron__command__line.cc) = a493b36457108ef9ddc4810dbcac5bdd49390da1
+SHA1 (patch-electron_shell_common_electron__command__line.h) = c111e61ef7cc267ca69cf037b0123102a2de269d
+SHA1 (patch-electron_shell_common_electron__paths.cc) = acd329a2e08235c57b110c88a53a5b889385de39
+SHA1 (patch-electron_shell_common_electron__paths.h) = 86d5f18293968043fd6557a11098b1a44b8c975f
+SHA1 (patch-electron_shell_common_gin__converters_osr__converter.cc) = 56bead3bf1bd7cf18695781bd52f321807bb6a89
+SHA1 (patch-electron_shell_common_gin__converters_std__converter.h) = c8891ed56a7751d2dc78780c7fdddb52cec1eeb6
+SHA1 (patch-electron_shell_common_node__bindings.cc) = 2848a351442b0f5d0966144bd720162aa5b9f269
+SHA1 (patch-electron_shell_common_node__bindings__linux.cc) = 5b8e2729352b743595087957f5b1427e8bd57531
+SHA1 (patch-electron_shell_common_platform__util.h) = d341b6dd88cb1fa5cc53e5500b2417842d6fbdbe
+SHA1 (patch-electron_shell_common_v8__oom__diagnostics.cc) = b531ed0f0ae72356c4b897b2e97625a3c836e079
+SHA1 (patch-electron_shell_renderer_api_electron__api__crash__reporter__renderer.cc) = 855d9757a60142ea29a40a3ac828f568c4649f10
+SHA1 (patch-electron_shell_services_node_node__service.cc) = 70b0e1dbbfd7e1db44d98a8a27f3d8941aa2aa6a
+SHA1 (patch-electron_spec_api-app.spec.ts) = 26ee970e90d5e14a5f0403964e0ee1d1c72603df
+SHA1 (patch-electron_spec_api-browser-window-ignore-mouse-events.spec.ts) = 6b0b3b5ad529212808d4435f7c5e05f611fda888
+SHA1 (patch-electron_spec_api-browser-window.spec.ts) = 5ebdf83d45b21c688cb35626c70c1b9ea92ad36c
+SHA1 (patch-electron_spec_api-clipboard.spec.ts) = 6aa26f6f2b44d31733c4c8eabb677f8ffaec833f
+SHA1 (patch-electron_spec_api-content-tracing.spec.ts) = 7ff6cef68a92c671a2dc4290b9e756bf1b744acd
+SHA1 (patch-electron_spec_api-crash-reporter.spec.ts) = dcf19572664256cb9885b2b4b1fd202ec74b3ee7
+SHA1 (patch-electron_spec_api-desktop-capturer.spec.ts) = f8956db8e75d35c7fa6de293b2c3a82b22f938cb
+SHA1 (patch-electron_spec_api-dialog.spec.ts) = c507868361216a5628c9a1acf2336fa7607c1f29
+SHA1 (patch-electron_spec_api-media-handler.spec.ts) = cb86109349e74453d803e37b04703c73c6e8e8fd
+SHA1 (patch-electron_spec_api-menu.spec.ts) = b829ea3a90b37efb1da048f04c483599fa06c963
+SHA1 (patch-electron_spec_api-native-image.spec.ts) = 7a94061e3a083ce87e866fa127c01ecfef4a70cc
+SHA1 (patch-electron_spec_api-net-log.spec.ts) = 1da15d38167559181e4ce93e98c942e9cc848f24
+SHA1 (patch-electron_spec_api-notification-dbus.spec.ts) = b201d6c67c0ce44b0581bd3fc380d425ef083556
+SHA1 (patch-electron_spec_api-power-monitor.spec.ts) = 085b7afc09d1052dbf49f48986f8639eeea95df0
+SHA1 (patch-electron_spec_api-process.spec.ts) = 14cc5ec75b63de9c6429b7d9ee93802a9a6defb1
+SHA1 (patch-electron_spec_api-safe-storage.spec.ts) = dd71e1dcd2adbefa29d927798c56d8ef4d5e5d3e
+SHA1 (patch-electron_spec_api-screen.spec.ts) = 49394ad4d46c9c54f8d5de530531131083463ce9
+SHA1 (patch-electron_spec_api-shell.spec.ts) = d5cfde28deb6722d4f1421baa67c226784acfded
+SHA1 (patch-electron_spec_api-subframe.spec.ts) = 70808282513c28b93ddc60b63d96a94f2da9bacf
+SHA1 (patch-electron_spec_api-system-preferences.spec.ts) = da5ddf8992a38d8e1c09565c8ef203045f101d5d
+SHA1 (patch-electron_spec_api-tray.spec.ts) = eba862326e92430522180dd0605ee6d148dde2c4
+SHA1 (patch-electron_spec_api-utility-process.spec.ts) = f8147e3e1a007dc9a499330366030fa16c5bd484
+SHA1 (patch-electron_spec_api-web-contents.spec.ts) = a64c6794052e220fdbd8a2a8943f9620d23b8691
+SHA1 (patch-electron_spec_chromium.spec.ts) = 219413682d8ce710769b9c0f97ed0a85ef85cc17
+SHA1 (patch-electron_spec_crash.spec.ts) = c3f83ede55ca04879a711d5d52401a8640185866
+SHA1 (patch-electron_spec_desktop-name.spec.ts) = 3df72d1d59905c6816999ed168006a5de0ba36e1
+SHA1 (patch-electron_spec_fixtures_api_safe-storage_decrypt-app_main.js) = 50c41cad7f9f02f52eed44604648cd5247dcfb90
+SHA1 (patch-electron_spec_fixtures_api_safe-storage_encrypt-app_main.js) = af4ca65ca693f128cea2a9b88a659af3319ba38c
+SHA1 (patch-electron_spec_fixtures_native-addon_uv-dlopen_index.js) = 725a4e82fa24793ccceec4ce3229a7b95528d389
+SHA1 (patch-electron_spec_lib_spec-helpers.ts) = f93bac4992af5be376d37a0e62fa52a74aec2131
+SHA1 (patch-electron_spec_node.spec.ts) = 94ec5f7df50c3700b727a27f58310d67de179aa2
+SHA1 (patch-electron_spec_spellchecker.spec.ts) = e2e609589fb6395c0c06d7d3c09f9957eb3f7571
+SHA1 (patch-electron_spec_visibility-state.spec.ts) = 5e74bc31025492a344d9b6c9376540180535e9e5
+SHA1 (patch-electron_spec_webview.spec.ts) = 300175cb61eefa6007999f275667a5f4368a45cc
+SHA1 (patch-net_dns_dns__config__service__posix.cc) = ceccfc2cf95271553f98e56778d57b3a35c862f0
+SHA1 (patch-rollup_rust_bindings__napi_Cargo.toml) = 6a6367bdded501fc2cce3a2bac675a752dfe868b
+SHA1 (patch-rollup_rust_bindings__napi_src_lib.rs) = 942cef5d4df9bfa6539225711362d3a39fa76875
+SHA1 (patch-third__party_electron__node_common.gypi) = 42b068edb64cd9d99991efb49a17cdb255c9e399
+SHA1 (patch-third__party_electron__node_deps_cares_cares.gyp) = 5bebf1c2efd6eda50907e79414833eb81837bc7c
+SHA1 (patch-third__party_electron__node_deps_cares_config_netbsd_ares__config.h) = 8b7eab3496cc8c71f981dbb7eb5190ee0c81508b
+SHA1 (patch-third__party_electron__node_deps_cares_unofficial.gni) = 7a077493b6628d01b5b6fab58aec0f5ea065be52
+SHA1 (patch-third__party_electron__node_deps_histogram_src_hdr__histogram.c) = 0f2157cfd1a73b5702c4994cdb268cd3653eea13
+SHA1 (patch-third__party_electron__node_deps_histogram_unofficial.gni) = 79ea62454346324d1cf515f719f3887bff102faf
+SHA1 (patch-third__party_electron__node_deps_openssl_unofficial.gni) = 10d0480b651fe2a016f70e4ee55a4453be22314a
+SHA1 (patch-third__party_electron__node_deps_uv_common.gypi) = fda3577a83f5a3c4678be9f75f25e51f86498703
+SHA1 (patch-third__party_electron__node_deps_uv_src_unix_pipe.c) = bc014fd017d88d0ac95d3118a4e001f38b730bf0
+SHA1 (patch-third__party_electron__node_deps_uv_unofficial.gni) = 630997a1303098ea07c9fe8f27a75f1ab5dae27c
+SHA1 (patch-third__party_electron__node_deps_uvwasi_include_wasi__serdes.h) = bc1c8bcf92eb26144554aadd8b432a67a69b7e72
+SHA1 (patch-third__party_electron__node_deps_v8_src_base_platform_memory.h) = 059b159935f30822a16ee362a1f88fa4984cf7ce
+SHA1 (patch-third__party_electron__node_deps_v8_src_base_platform_platform-freebsd.cc) = cca95c6ac76a290d4595d6d731d4d2b71b66e911
+SHA1 (patch-third__party_electron__node_deps_v8_src_base_platform_platform-openbsd.cc) = b4dc470045dfcda2b1ecd83b13e751018cd8a74b
+SHA1 (patch-third__party_electron__node_deps_v8_src_base_platform_platform-posix.cc) = 0972471d1eabc4c5621897672688d6ac2eef6b5e
+SHA1 (patch-third__party_electron__node_deps_v8_src_base_platform_semaphore.cc) = 50267c57a8a49fda8e5171e37eadca76c91ed3ae
+SHA1 (patch-third__party_electron__node_deps_v8_src_base_strings.h) = 5f3074cbb609cc0519ba76ff2fc61adfb601c94e
+SHA1 (patch-third__party_electron__node_deps_v8_src_codegen_arm_cpu-arm.cc) = 9a007f7e2371ec5a0e6c243202256bd052c8e90b
+SHA1 (patch-third__party_electron__node_deps_v8_src_common_globals.h) = a6c98aedb6d15b92146902f72d201646ac261942
+SHA1 (patch-third__party_electron__node_deps_v8_src_compiler_turboshaft_int64-lowering-reducer.h) = 2329c45b53aa6fa95a45303756e602f30c659652
+SHA1 (patch-third__party_electron__node_deps_v8_third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.cc) = 6eb669438bb90f151af523cd41fa37a3310f5bd4
+SHA1 (patch-third__party_electron__node_deps_v8_tools_profiling_run-llprof.sh) = 2b727adf1cc2ecddbb188dbc755d39dbc8edd45c
+SHA1 (patch-third__party_electron__node_node.gypi) = 5b83f235896fcbe6ace9e73f2482505511465dc8
+SHA1 (patch-third__party_electron__node_src_compile__cache.cc) = 9c7306af10ba00d329cc838c79be676d4c3c51c7
+SHA1 (patch-third__party_electron__node_src_crypto_crypto__rsa.cc) = 54c73fd400fdd8c6a6d051bd299127fb475cbfb6
+SHA1 (patch-third__party_electron__node_src_inspector__agent.cc) = 984b905368d6a240c8b137b8432fd549f6f96d30
+SHA1 (patch-third__party_electron__node_src_node__platform.cc) = 2c2a708f9c75d4dae9bee749bd1941801b6f3d95
+SHA1 (patch-third__party_electron__node_src_node__platform.h) = 8faa067126607f3edc0582b60dad1813c947dc50
+SHA1 (patch-third__party_electron__node_src_node__postmortem__metadata.cc) = 87a801060cfa8641e571fa18c0f781b91ad9c90f
+SHA1 (patch-third__party_electron__node_tools_generate__config__gypi.py) = 94e52b10c2dc29bf6b49c01ed6f827a1fe3c37d6
+SHA1 (patch-third__party_electron__node_tools_gyp_pylib_gyp_generator_make.py) = 71f073dd8927b87d6e194e35ca9639aef375c8bc
+SHA1 (patch-third__party_electron__node_tools_gyp_pylib_gyp_xcode__emulation.py) = 15859f4e04a10a581a28b16d3d9e6bed30ada6b9
+SHA1 (patch-third__party_electron__node_tools_install.py) = 1ca4742711d6eb3598ad1c4e68e40a080e768dcb
+SHA1 (patch-third__party_electron__node_tools_v8__gypfiles_v8.gyp) = e501d2a719556522a7b260939cc38365d240955e
+SHA1 (patch-ui_gfx_font__util.cc) = 6e78cecddd7e790302006382206b26af1111b921
+SHA1 (patch-ui_gtk_gtk__compat.cc) = 3477b71373b98bd9aca8b124d940a458d92f3d19
+SHA1 (patch-ui_shell__dialogs_select__file__dialog.h) = 885592637c8913f1126d046e9d4815e48919a418
diff --git a/electron43/patches/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc b/electron43/patches/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc
index 9541da2d9a..d0132a3ad0 100644
--- a/electron43/patches/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc
+++ b/electron43/patches/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2026-10-13 15:23:13.173208718 +0000
+--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2026-10-20 08:24:51.838664114 +0000
+++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
@@ -291,214 +291,10 @@ bool MaybeIsLocalUNCPath(const base::Fil
}
diff --git a/electron43/patches/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.h b/electron43/patches/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.h
new file mode 100644
index 0000000000..f7781f9a07
--- /dev/null
+++ b/electron43/patches/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.h
@@ -0,0 +1,17 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.h.orig 2026-10-20 08:24:51.838879290 +0000
++++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
+@@ -603,7 +603,7 @@ class ChromeFileSystemAccessPermissionCo
+ FILE_PATH_LITERAL("Library/Mobile Documents/com~apple~CloudDocs"),
+ BlockType::kDontBlockChildren),
+ #endif
+- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)
+ // On Linux also block access to devices via /dev.
+ BlockPath::CreateAbsolute(FILE_PATH_LITERAL("/dev"),
+ BlockType::kBlockAllChildren),
diff --git a/electron43/patches/patch-chrome_browser_process__singleton__posix.cc b/electron43/patches/patch-chrome_browser_process__singleton__posix.cc
index e3c76b8e96..e14da4741f 100644
--- a/electron43/patches/patch-chrome_browser_process__singleton__posix.cc
+++ b/electron43/patches/patch-chrome_browser_process__singleton__posix.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- chrome/browser/process_singleton_posix.cc.orig 2026-10-13 15:23:13.063642925 +0000
+--- chrome/browser/process_singleton_posix.cc.orig 2026-10-20 08:24:51.695835326 +0000
+++ chrome/browser/process_singleton_posix.cc
@@ -105,7 +105,7 @@
#include "ui/base/l10n/l10n_util.h"
diff --git a/electron43/patches/patch-content_browser_child__process__launcher__helper__linux.cc b/electron43/patches/patch-content_browser_child__process__launcher__helper__linux.cc
index 4b90c4f410..396c2b0451 100644
--- a/electron43/patches/patch-content_browser_child__process__launcher__helper__linux.cc
+++ b/electron43/patches/patch-content_browser_child__process__launcher__helper__linux.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- content/browser/child_process_launcher_helper_linux.cc.orig 2026-10-13 15:23:13.100904163 +0000
+--- content/browser/child_process_launcher_helper_linux.cc.orig 2026-10-20 08:24:51.747940026 +0000
+++ content/browser/child_process_launcher_helper_linux.cc
@@ -73,7 +73,25 @@ bool ChildProcessLauncherHelper::BeforeL
options->fds_to_remap.emplace_back(sandbox_fd, GetSandboxFD());
diff --git a/electron43/patches/patch-electron_BUILD.gn b/electron43/patches/patch-electron_BUILD.gn
index da6642e668..f802408100 100644
--- a/electron43/patches/patch-electron_BUILD.gn
+++ b/electron43/patches/patch-electron_BUILD.gn
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/BUILD.gn.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/BUILD.gn.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/BUILD.gn
@@ -629,7 +629,7 @@ source_set("electron_lib") {
defines += [ "GDK_DISABLE_DEPRECATION_WARNINGS" ]
@@ -15,7 +15,7 @@ $NetBSD$
deps += [
"//components/crash/core/app",
"//components/crash/core/browser",
-@@ -743,6 +743,12 @@ source_set("electron_lib") {
+@@ -736,6 +736,12 @@ source_set("electron_lib") {
cflags_objcc = [ "-fobjc-weak" ]
}
}
@@ -28,7 +28,7 @@ $NetBSD$
if (is_linux) {
libs = [ "xshmfence" ]
deps += [
-@@ -1555,7 +1561,7 @@ if (is_mac) {
+@@ -1548,7 +1554,7 @@ if (is_mac) {
} else if (is_linux) {
sources = [
"shell/app/electron_main_linux.cc",
@@ -37,7 +37,7 @@ $NetBSD$
"shell/app/uv_stdio_fix.cc",
"shell/app/uv_stdio_fix.h",
]
-@@ -1567,7 +1573,7 @@ if (is_mac) {
+@@ -1560,7 +1566,7 @@ if (is_mac) {
":electron_lib",
":electron_win32_resources",
":packed_resources",
@@ -46,7 +46,7 @@ $NetBSD$
"//content:sandbox_helper_win",
"//electron/buildflags",
"//third_party/electron_node:libnode",
-@@ -1594,7 +1600,7 @@ if (is_mac) {
+@@ -1587,7 +1593,7 @@ if (is_mac) {
public_deps = [ "//tools/v8_context_snapshot" ]
}
@@ -55,7 +55,7 @@ $NetBSD$
data_deps += [ "//components/crash/core/app:chrome_crashpad_handler" ]
}
-@@ -1661,7 +1667,7 @@ if (is_mac) {
+@@ -1654,7 +1660,7 @@ if (is_mac) {
configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
}
@@ -64,7 +64,7 @@ $NetBSD$
deps += [ "//sandbox/linux:chrome_sandbox" ]
}
}
-@@ -1782,7 +1788,9 @@ dist_zip("electron_dist_zip") {
+@@ -1775,7 +1781,9 @@ dist_zip("electron_dist_zip") {
]
}
diff --git a/electron43/patches/patch-electron_build_args_all.gn b/electron43/patches/patch-electron_build_args_all.gn
index 6d45ff1283..f4fbd8ab44 100644
--- a/electron43/patches/patch-electron_build_args_all.gn
+++ b/electron43/patches/patch-electron_build_args_all.gn
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/build/args/all.gn.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/build/args/all.gn.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/build/args/all.gn
@@ -31,8 +31,8 @@ v8_enable_snapshot_native_code_counters
v8_enable_javascript_promise_hooks = true
diff --git a/electron43/patches/patch-electron_default__app_default__app.ts b/electron43/patches/patch-electron_default__app_default__app.ts
index afccc64770..9fb2035cc9 100644
--- a/electron43/patches/patch-electron_default__app_default__app.ts
+++ b/electron43/patches/patch-electron_default__app_default__app.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/default_app/default_app.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/default_app/default_app.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/default_app/default_app.ts
@@ -94,7 +94,7 @@ async function createWindow(backgroundCo
show: false
diff --git a/electron43/patches/patch-electron_filenames.gni b/electron43/patches/patch-electron_filenames.gni
index b1a4ea077d..6a67e3c198 100644
--- a/electron43/patches/patch-electron_filenames.gni
+++ b/electron43/patches/patch-electron_filenames.gni
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/filenames.gni.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/filenames.gni.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/filenames.gni
@@ -245,8 +245,8 @@ filenames = {
"shell/app/command_line_args.h",
diff --git a/electron43/patches/patch-electron_lib_browser_api_app.ts b/electron43/patches/patch-electron_lib_browser_api_app.ts
index 646fb16b81..664ade90f0 100644
--- a/electron43/patches/patch-electron_lib_browser_api_app.ts
+++ b/electron43/patches/patch-electron_lib_browser_api_app.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/lib/browser/api/app.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/lib/browser/api/app.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/lib/browser/api/app.ts
@@ -71,7 +71,7 @@ if (process.platform === 'darwin') {
app.dock!.getMenu = () => dockMenu;
diff --git a/electron43/patches/patch-electron_lib_browser_api_dialog.ts b/electron43/patches/patch-electron_lib_browser_api_dialog.ts
index 0d10f8c7d4..9bb697d2bf 100644
--- a/electron43/patches/patch-electron_lib_browser_api_dialog.ts
+++ b/electron43/patches/patch-electron_lib_browser_api_dialog.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/lib/browser/api/dialog.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/lib/browser/api/dialog.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/lib/browser/api/dialog.ts
@@ -49,7 +49,7 @@ const normalizeAccessKey = (text: string
// existing single underscores with a second underscore, replace double
diff --git a/electron43/patches/patch-electron_lib_browser_api_menu-item-roles.ts b/electron43/patches/patch-electron_lib_browser_api_menu-item-roles.ts
index 12fe558460..dca951f6aa 100644
--- a/electron43/patches/patch-electron_lib_browser_api_menu-item-roles.ts
+++ b/electron43/patches/patch-electron_lib_browser_api_menu-item-roles.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/lib/browser/api/menu-item-roles.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/lib/browser/api/menu-item-roles.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/lib/browser/api/menu-item-roles.ts
@@ -3,7 +3,7 @@ import type { WebContents, MenuItemConst
diff --git a/electron43/patches/patch-electron_lib_browser_api_power-monitor.ts b/electron43/patches/patch-electron_lib_browser_api_power-monitor.ts
index 0890aa966a..60bd3aa32b 100644
--- a/electron43/patches/patch-electron_lib_browser_api_power-monitor.ts
+++ b/electron43/patches/patch-electron_lib_browser_api_power-monitor.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/lib/browser/api/power-monitor.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/lib/browser/api/power-monitor.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/lib/browser/api/power-monitor.ts
@@ -18,7 +18,7 @@ class PowerMonitor extends EventEmitter
pm = createPowerMonitor();
diff --git a/electron43/patches/patch-electron_lib_browser_rpc-server.ts b/electron43/patches/patch-electron_lib_browser_rpc-server.ts
index 67cd041423..57e894ddc4 100644
--- a/electron43/patches/patch-electron_lib_browser_rpc-server.ts
+++ b/electron43/patches/patch-electron_lib_browser_rpc-server.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/lib/browser/rpc-server.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/lib/browser/rpc-server.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/lib/browser/rpc-server.ts
@@ -36,7 +36,7 @@ const allowedClipboardMethods = (() => {
switch (process.platform) {
diff --git a/electron43/patches/patch-electron_lib_renderer_api_clipboard.ts b/electron43/patches/patch-electron_lib_renderer_api_clipboard.ts
index e1f77695de..78e74e2c46 100644
--- a/electron43/patches/patch-electron_lib_renderer_api_clipboard.ts
+++ b/electron43/patches/patch-electron_lib_renderer_api_clipboard.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/lib/renderer/api/clipboard.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/lib/renderer/api/clipboard.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/lib/renderer/api/clipboard.ts
@@ -27,7 +27,7 @@ const makeRemoteMethod = function (metho
};
diff --git a/electron43/patches/patch-electron_lib_renderer_security-warnings.ts b/electron43/patches/patch-electron_lib_renderer_security-warnings.ts
new file mode 100644
index 0000000000..3f1feb6dbf
--- /dev/null
+++ b/electron43/patches/patch-electron_lib_renderer_security-warnings.ts
@@ -0,0 +1,16 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- electron/lib/renderer/security-warnings.ts.orig 2026-10-16 03:32:58.000000000 +0000
++++ electron/lib/renderer/security-warnings.ts
+@@ -25,6 +25,7 @@ const shouldLogSecurityWarnings = functi
+ shouldLog = execPath.endsWith('MacOS/Electron') || execPath.includes('Electron.app/Contents/Frameworks/');
+ break;
+ case 'freebsd':
++ case 'netbsd':
+ case 'linux':
+ shouldLog = execPath.endsWith('/electron');
+ break;
diff --git a/electron43/patches/patch-electron_node__modules_@sentry_cli_scripts_install.js b/electron43/patches/patch-electron_node__modules_@sentry_cli_scripts_install.js
index bf21f56f5c..8f932a238a 100644
--- a/electron43/patches/patch-electron_node__modules_@sentry_cli_scripts_install.js
+++ b/electron43/patches/patch-electron_node__modules_@sentry_cli_scripts_install.js
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/node_modules/@sentry/cli/scripts/install.js.orig 2026-10-13 15:23:07.411766406 +0000
+--- electron/node_modules/@sentry/cli/scripts/install.js.orig 2026-10-20 08:24:45.591280725 +0000
+++ electron/node_modules/@sentry/cli/scripts/install.js
@@ -79,6 +79,7 @@ function getDownloadUrl(platform, arch)
return `${releasesUrl}-Windows-${archString}.exe`;
diff --git a/electron43/patches/patch-electron_npm_install.js b/electron43/patches/patch-electron_npm_install.js
new file mode 100644
index 0000000000..5b8e1f6c6c
--- /dev/null
+++ b/electron43/patches/patch-electron_npm_install.js
@@ -0,0 +1,16 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- electron/npm/install.js.orig 2026-10-16 03:32:58.000000000 +0000
++++ electron/npm/install.js
+@@ -107,6 +107,7 @@ function getPlatformPath() {
+ case 'darwin':
+ return 'Electron.app/Contents/MacOS/Electron';
+ case 'freebsd':
++ case 'netbsd':
+ case 'openbsd':
+ case 'linux':
+ return 'electron';
diff --git a/electron43/patches/patch-electron_script_lib_config.py b/electron43/patches/patch-electron_script_lib_config.py
index eb216483df..d54b78a3bf 100644
--- a/electron43/patches/patch-electron_script_lib_config.py
+++ b/electron43/patches/patch-electron_script_lib_config.py
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/script/lib/config.py.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/script/lib/config.py.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/script/lib/config.py
@@ -7,6 +7,11 @@ PLATFORM = {
'cygwin': 'win32',
diff --git a/electron43/patches/patch-electron_script_lib_utils.js b/electron43/patches/patch-electron_script_lib_utils.js
index 001c909651..3b78d481d0 100644
--- a/electron43/patches/patch-electron_script_lib_utils.js
+++ b/electron43/patches/patch-electron_script_lib_utils.js
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/script/lib/utils.js.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/script/lib/utils.js.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/script/lib/utils.js
@@ -20,7 +20,7 @@ function getElectronExec() {
return `out/${OUT_DIR}/Electron.app/Contents/MacOS/Electron`;
diff --git a/electron43/patches/patch-electron_script_pgo_collect-profile.js b/electron43/patches/patch-electron_script_pgo_collect-profile.js
index ba97d29e3b..237708bfad 100644
--- a/electron43/patches/patch-electron_script_pgo_collect-profile.js
+++ b/electron43/patches/patch-electron_script_pgo_collect-profile.js
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/script/pgo/collect-profile.js.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/script/pgo/collect-profile.js.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/script/pgo/collect-profile.js
@@ -75,7 +75,7 @@ function log(...args) {
// network workload coverage degrades but collection still succeeds.
diff --git a/electron43/patches/patch-electron_script_spec-runner.js b/electron43/patches/patch-electron_script_spec-runner.js
index a5b6b70482..471000e710 100644
--- a/electron43/patches/patch-electron_script_spec-runner.js
+++ b/electron43/patches/patch-electron_script_spec-runner.js
@@ -1,12 +1,12 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/script/spec-runner.js.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/script/spec-runner.js.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/script/spec-runner.js
-@@ -586,7 +586,7 @@ function toVitestInvocation(exe, specDir
+@@ -584,7 +584,7 @@ function toVitestInvocation(exe, specDir
};
let command = process.execPath;
let commandArgs = vitestArgs;
@@ -15,7 +15,7 @@ $NetBSD$
// The mock D-Bus services are started once around the whole run; every
// Electron worker inherits the bus addresses from the CLI's environment.
commandArgs = [path.resolve(__dirname, 'dbus_mock.py'), command, ...commandArgs];
-@@ -689,7 +689,7 @@ async function installSpecModules(dir) {
+@@ -687,7 +687,7 @@ async function installSpecModules(dir) {
process.exit(1);
}
@@ -24,7 +24,7 @@ $NetBSD$
const { status: rebuildStatus } = childProcess.spawnSync('npm', ['rebuild', 'abstract-socket'], {
env,
cwd: dir,
-@@ -767,7 +767,7 @@ async function installSpecModules(dir) {
+@@ -765,7 +765,7 @@ async function installSpecModules(dir) {
// the same GCC that rejects the headers, so nothing on that host can build
// the fixtures.
function getNativeAddonToolchainEnv() {
diff --git a/electron43/patches/patch-electron_shell_app_electron__crash__reporter__client.cc b/electron43/patches/patch-electron_shell_app_electron__crash__reporter__client.cc
index a7c57d0cff..33eee3c9b7 100644
--- a/electron43/patches/patch-electron_shell_app_electron__crash__reporter__client.cc
+++ b/electron43/patches/patch-electron_shell_app_electron__crash__reporter__client.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/app/electron_crash_reporter_client.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/app/electron_crash_reporter_client.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/app/electron_crash_reporter_client.cc
@@ -91,7 +91,7 @@ ElectronCrashReporterClient::ElectronCra
diff --git a/electron43/patches/patch-electron_shell_app_electron__crash__reporter__client.h b/electron43/patches/patch-electron_shell_app_electron__crash__reporter__client.h
index 916ddca0a3..a3731ff678 100644
--- a/electron43/patches/patch-electron_shell_app_electron__crash__reporter__client.h
+++ b/electron43/patches/patch-electron_shell_app_electron__crash__reporter__client.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/app/electron_crash_reporter_client.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/app/electron_crash_reporter_client.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/app/electron_crash_reporter_client.h
@@ -30,7 +30,7 @@ class ElectronCrashReporterClient : publ
const std::map<std::string, std::string>& annotations);
diff --git a/electron43/patches/patch-electron_shell_app_electron__main__delegate.cc b/electron43/patches/patch-electron_shell_app_electron__main__delegate.cc
index 99d1107988..e38b991164 100644
--- a/electron43/patches/patch-electron_shell_app_electron__main__delegate.cc
+++ b/electron43/patches/patch-electron_shell_app_electron__main__delegate.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/app/electron_main_delegate.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/app/electron_main_delegate.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/app/electron_main_delegate.cc
@@ -67,7 +67,7 @@
#include "chrome/child/v8_crashpad_support_win.h"
diff --git a/electron43/patches/patch-electron_shell_app_node__main.cc b/electron43/patches/patch-electron_shell_app_node__main.cc
index addb94d945..9b3a6cf3f9 100644
--- a/electron43/patches/patch-electron_shell_app_node__main.cc
+++ b/electron43/patches/patch-electron_shell_app_node__main.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/app/node_main.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/app/node_main.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/app/node_main.cc
@@ -54,7 +54,7 @@
#include "shell/common/mac/codesign_util.h"
@@ -32,7 +32,7 @@ $NetBSD$
electron::crash_keys::GetCrashKeys(&keys);
#endif
return gin::ConvertToV8(isolate, keys);
-@@ -329,7 +329,7 @@ int NodeMain() {
+@@ -323,7 +323,7 @@ int NodeMain() {
// Setup process.crashReporter in child node processes
auto reporter = gin_helper::Dictionary::CreateEmpty(isolate);
reporter.SetMethod("getParameters", &GetParameters);
diff --git a/electron43/patches/patch-electron_shell_browser_api_electron__api__app.cc b/electron43/patches/patch-electron_shell_browser_api_electron__api__app.cc
index 0d43695213..a7a515456d 100644
--- a/electron43/patches/patch-electron_shell_browser_api_electron__api__app.cc
+++ b/electron43/patches/patch-electron_shell_browser_api_electron__api__app.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/api/electron_api_app.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/api/electron_api_app.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/api/electron_api_app.cc
@@ -110,7 +110,7 @@
#include "ui/base/resource/resource_bundle.h"
diff --git a/electron43/patches/patch-electron_shell_browser_api_electron__api__base__window.cc b/electron43/patches/patch-electron_shell_browser_api_electron__api__base__window.cc
index 87bca2b0c0..baf9f2c34c 100644
--- a/electron43/patches/patch-electron_shell_browser_api_electron__api__base__window.cc
+++ b/electron43/patches/patch-electron_shell_browser_api_electron__api__base__window.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/api/electron_api_base_window.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/api/electron_api_base_window.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/api/electron_api_base_window.cc
@@ -43,7 +43,7 @@
#include "shell/browser/ui/views/win_frame_view.h"
diff --git a/electron43/patches/patch-electron_shell_browser_api_electron__api__base__window.h b/electron43/patches/patch-electron_shell_browser_api_electron__api__base__window.h
index b7d4c39b97..c9c79194f5 100644
--- a/electron43/patches/patch-electron_shell_browser_api_electron__api__base__window.h
+++ b/electron43/patches/patch-electron_shell_browser_api_electron__api__base__window.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/api/electron_api_base_window.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/api/electron_api_base_window.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/api/electron_api_base_window.h
@@ -265,7 +265,7 @@ class BaseWindow : public gin_helper::Tr
v8::Local<v8::Value> GetAccentColor() const;
diff --git a/electron43/patches/patch-electron_shell_browser_api_electron__api__crash__reporter.cc b/electron43/patches/patch-electron_shell_browser_api_electron__api__crash__reporter.cc
index b396d8c8ef..b0dab19510 100644
--- a/electron43/patches/patch-electron_shell_browser_api_electron__api__crash__reporter.cc
+++ b/electron43/patches/patch-electron_shell_browser_api_electron__api__crash__reporter.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/api/electron_api_crash_reporter.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/api/electron_api_crash_reporter.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/api/electron_api_crash_reporter.cc
@@ -31,7 +31,7 @@
#include "shell/common/process_util.h"
diff --git a/electron43/patches/patch-electron_shell_browser_api_electron__api__desktop__capturer.cc b/electron43/patches/patch-electron_shell_browser_api_electron__api__desktop__capturer.cc
index 692d3dc148..eb5f744b3a 100644
--- a/electron43/patches/patch-electron_shell_browser_api_electron__api__desktop__capturer.cc
+++ b/electron43/patches/patch-electron_shell_browser_api_electron__api__desktop__capturer.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/api/electron_api_desktop_capturer.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/api/electron_api_desktop_capturer.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/api/electron_api_desktop_capturer.cc
@@ -55,7 +55,7 @@
#endif
diff --git a/electron43/patches/patch-electron_shell_browser_api_electron__api__power__monitor.cc b/electron43/patches/patch-electron_shell_browser_api_electron__api__power__monitor.cc
index 01f7a16ebb..8f4667776c 100644
--- a/electron43/patches/patch-electron_shell_browser_api_electron__api__power__monitor.cc
+++ b/electron43/patches/patch-electron_shell_browser_api_electron__api__power__monitor.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/api/electron_api_power_monitor.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/api/electron_api_power_monitor.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/api/electron_api_power_monitor.cc
@@ -137,6 +137,11 @@ void PowerMonitor::OnSpeedLimitChange(in
gin::DataObjectBuilder(isolate).Set("limit", speed_limit).Build());
diff --git a/electron43/patches/patch-electron_shell_browser_api_electron__api__power__monitor.h b/electron43/patches/patch-electron_shell_browser_api_electron__api__power__monitor.h
index df24118e06..cc03c5f8d3 100644
--- a/electron43/patches/patch-electron_shell_browser_api_electron__api__power__monitor.h
+++ b/electron43/patches/patch-electron_shell_browser_api_electron__api__power__monitor.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/api/electron_api_power_monitor.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/api/electron_api_power_monitor.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/api/electron_api_power_monitor.h
@@ -44,7 +44,7 @@ class PowerMonitor final : public gin::W
PowerMonitor& operator=(const PowerMonitor&) = delete;
diff --git a/electron43/patches/patch-electron_shell_browser_api_electron__api__safe__storage.cc b/electron43/patches/patch-electron_shell_browser_api_electron__api__safe__storage.cc
index be61cdb384..5dea6582fc 100644
--- a/electron43/patches/patch-electron_shell_browser_api_electron__api__safe__storage.cc
+++ b/electron43/patches/patch-electron_shell_browser_api_electron__api__safe__storage.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/api/electron_api_safe_storage.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/api/electron_api_safe_storage.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/api/electron_api_safe_storage.cc
@@ -70,7 +70,7 @@ gin::ObjectTemplateBuilder SafeStorage::
.SetMethod("decryptString", &SafeStorage::DecryptString)
diff --git a/electron43/patches/patch-electron_shell_browser_api_electron__api__safe__storage.h b/electron43/patches/patch-electron_shell_browser_api_electron__api__safe__storage.h
index 04064b9fd6..b43a0df452 100644
--- a/electron43/patches/patch-electron_shell_browser_api_electron__api__safe__storage.h
+++ b/electron43/patches/patch-electron_shell_browser_api_electron__api__safe__storage.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/api/electron_api_safe_storage.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/api/electron_api_safe_storage.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/api/electron_api_safe_storage.h
@@ -78,7 +78,7 @@ class SafeStorage final : public gin_hel
v8::Local<v8::Promise> decryptStringAsync(v8::Isolate* isolate,
diff --git a/electron43/patches/patch-electron_shell_browser_api_electron__api__screen.cc b/electron43/patches/patch-electron_shell_browser_api_electron__api__screen.cc
index ff3505bc00..9fb1583418 100644
--- a/electron43/patches/patch-electron_shell_browser_api_electron__api__screen.cc
+++ b/electron43/patches/patch-electron_shell_browser_api_electron__api__screen.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/api/electron_api_screen.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/api/electron_api_screen.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/api/electron_api_screen.cc
@@ -29,7 +29,7 @@
#include "ui/display/win/screen_win.h"
diff --git a/electron43/patches/patch-electron_shell_browser_api_electron__api__system__preferences.cc b/electron43/patches/patch-electron_shell_browser_api_electron__api__system__preferences.cc
index a0b8f35e4e..dda07708da 100644
--- a/electron43/patches/patch-electron_shell_browser_api_electron__api__system__preferences.cc
+++ b/electron43/patches/patch-electron_shell_browser_api_electron__api__system__preferences.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/api/electron_api_system_preferences.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/api/electron_api_system_preferences.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/api/electron_api_system_preferences.cc
@@ -10,7 +10,7 @@
#include "shell/common/gin_helper/handle.h"
diff --git a/electron43/patches/patch-electron_shell_browser_api_electron__api__system__preferences.h b/electron43/patches/patch-electron_shell_browser_api_electron__api__system__preferences.h
index 0478d29301..74cd274f1f 100644
--- a/electron43/patches/patch-electron_shell_browser_api_electron__api__system__preferences.h
+++ b/electron43/patches/patch-electron_shell_browser_api_electron__api__system__preferences.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/api/electron_api_system_preferences.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/api/electron_api_system_preferences.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/api/electron_api_system_preferences.h
@@ -18,7 +18,7 @@
#include "shell/browser/browser.h"
diff --git a/electron43/patches/patch-electron_shell_browser_api_electron__api__web__contents.cc b/electron43/patches/patch-electron_shell_browser_api_electron__api__web__contents.cc
index 3f6257aca8..f6fc635f42 100644
--- a/electron43/patches/patch-electron_shell_browser_api_electron__api__web__contents.cc
+++ b/electron43/patches/patch-electron_shell_browser_api_electron__api__web__contents.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/api/electron_api_web_contents.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/api/electron_api_web_contents.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/api/electron_api_web_contents.cc
@@ -188,11 +188,11 @@
#include "ui/base/cocoa/defaults_utils.h"
diff --git a/electron43/patches/patch-electron_shell_browser_api_electron__api__web__contents.h b/electron43/patches/patch-electron_shell_browser_api_electron__api__web__contents.h
index 8603951dde..6d482e366a 100644
--- a/electron43/patches/patch-electron_shell_browser_api_electron__api__web__contents.h
+++ b/electron43/patches/patch-electron_shell_browser_api_electron__api__web__contents.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/api/electron_api_web_contents.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/api/electron_api_web_contents.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/api/electron_api_web_contents.h
@@ -794,7 +794,7 @@ class WebContents final : public Exclusi
#if defined(TOOLKIT_VIEWS) && !BUILDFLAG(IS_MAC)
diff --git a/electron43/patches/patch-electron_shell_browser_api_process__metric.h b/electron43/patches/patch-electron_shell_browser_api_process__metric.h
index ce273ee857..80c1a8559d 100644
--- a/electron43/patches/patch-electron_shell_browser_api_process__metric.h
+++ b/electron43/patches/patch-electron_shell_browser_api_process__metric.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/api/process_metric.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/api/process_metric.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/api/process_metric.h
@@ -14,7 +14,7 @@
diff --git a/electron43/patches/patch-electron_shell_browser_browser.cc b/electron43/patches/patch-electron_shell_browser_browser.cc
index 0064f45ccc..59c060eb2b 100644
--- a/electron43/patches/patch-electron_shell_browser_browser.cc
+++ b/electron43/patches/patch-electron_shell_browser_browser.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/browser.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/browser.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/browser.cc
@@ -105,7 +105,7 @@ bool Browser::IsValidProtocolScheme(cons
return true;
diff --git a/electron43/patches/patch-electron_shell_browser_browser.h b/electron43/patches/patch-electron_shell_browser_browser.h
index ee0870fa14..3fcf490d11 100644
--- a/electron43/patches/patch-electron_shell_browser_browser.h
+++ b/electron43/patches/patch-electron_shell_browser_browser.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/browser.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/browser.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/browser.h
@@ -295,10 +295,10 @@ class Browser : private WindowListObserv
PCWSTR GetAppUserModelID();
diff --git a/electron43/patches/patch-electron_shell_browser_browser__linux.cc b/electron43/patches/patch-electron_shell_browser_browser__linux.cc
index bb1e6097c0..f3a85e47b0 100644
--- a/electron43/patches/patch-electron_shell_browser_browser__linux.cc
+++ b/electron43/patches/patch-electron_shell_browser_browser__linux.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/browser_linux.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/browser_linux.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/browser_linux.cc
@@ -9,7 +9,7 @@
@@ -15,7 +15,7 @@ $NetBSD$
#include <gio/gdesktopappinfo.h>
#include <gio/gio.h>
#include <gtk/gtk.h>
-@@ -37,7 +37,7 @@
+@@ -38,7 +38,7 @@
#include "ui/gtk/gtk_compat.h" // nogncheck
#include "ui/gtk/gtk_util.h" // nogncheck
diff --git a/electron43/patches/patch-electron_shell_browser_browser__process__impl.cc b/electron43/patches/patch-electron_shell_browser_browser__process__impl.cc
index 10be5e13d9..b6f2afad40 100644
--- a/electron43/patches/patch-electron_shell_browser_browser__process__impl.cc
+++ b/electron43/patches/patch-electron_shell_browser_browser__process__impl.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/browser_process_impl.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/browser_process_impl.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/browser_process_impl.cc
@@ -50,7 +50,7 @@
#include "chrome/browser/printing/print_job_manager.h"
diff --git a/electron43/patches/patch-electron_shell_browser_browser__process__impl.h b/electron43/patches/patch-electron_shell_browser_browser__process__impl.h
index 79b4ad9496..13306d5f0c 100644
--- a/electron43/patches/patch-electron_shell_browser_browser__process__impl.h
+++ b/electron43/patches/patch-electron_shell_browser_browser__process__impl.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/browser_process_impl.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/browser_process_impl.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/browser_process_impl.h
@@ -22,7 +22,7 @@
#include "shell/browser/net/system_network_context_manager.h"
diff --git a/electron43/patches/patch-electron_shell_browser_electron__browser__main__parts.cc b/electron43/patches/patch-electron_shell_browser_electron__browser__main__parts.cc
index 329faa2fbf..e9000f9453 100644
--- a/electron43/patches/patch-electron_shell_browser_electron__browser__main__parts.cc
+++ b/electron43/patches/patch-electron_shell_browser_electron__browser__main__parts.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/electron_browser_main_parts.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/electron_browser_main_parts.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/electron_browser_main_parts.cc
@@ -81,7 +81,7 @@
#include "ui/wm/core/wm_state.h"
diff --git a/electron43/patches/patch-electron_shell_browser_electron__browser__main__parts.h b/electron43/patches/patch-electron_shell_browser_electron__browser__main__parts.h
index 09b635c79f..185049cf8c 100644
--- a/electron43/patches/patch-electron_shell_browser_electron__browser__main__parts.h
+++ b/electron43/patches/patch-electron_shell_browser_electron__browser__main__parts.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/electron_browser_main_parts.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/electron_browser_main_parts.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/electron_browser_main_parts.h
@@ -144,7 +144,7 @@ class ElectronBrowserMainParts : public
std::unique_ptr<display::Screen> screen_;
diff --git a/electron43/patches/patch-electron_shell_browser_electron__browser__main__parts__posix.cc b/electron43/patches/patch-electron_shell_browser_electron__browser__main__parts__posix.cc
index eface94d9f..879fba35cc 100644
--- a/electron43/patches/patch-electron_shell_browser_electron__browser__main__parts__posix.cc
+++ b/electron43/patches/patch-electron_shell_browser_electron__browser__main__parts__posix.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/electron_browser_main_parts_posix.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/electron_browser_main_parts_posix.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/electron_browser_main_parts_posix.cc
@@ -191,6 +191,9 @@ void ElectronBrowserMainParts::InstallSh
g_pipe_pid = getpid();
diff --git a/electron43/patches/patch-electron_shell_browser_extensions_api_runtime_electron__runtime__api__delegate.cc b/electron43/patches/patch-electron_shell_browser_extensions_api_runtime_electron__runtime__api__delegate.cc
index 795210c5ca..4d57894ce6 100644
--- a/electron43/patches/patch-electron_shell_browser_extensions_api_runtime_electron__runtime__api__delegate.cc
+++ b/electron43/patches/patch-electron_shell_browser_extensions_api_runtime_electron__runtime__api__delegate.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/extensions/api/runtime/electron_runtime_api_delegate.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/extensions/api/runtime/electron_runtime_api_delegate.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/extensions/api/runtime/electron_runtime_api_delegate.cc
@@ -56,6 +56,10 @@ bool ElectronRuntimeAPIDelegate::GetPlat
info->os = extensions::api::runtime::PlatformOs::kLinux;
diff --git a/electron43/patches/patch-electron_shell_browser_feature__list.cc b/electron43/patches/patch-electron_shell_browser_feature__list.cc
index e92d804280..622d88dd59 100644
--- a/electron43/patches/patch-electron_shell_browser_feature__list.cc
+++ b/electron43/patches/patch-electron_shell_browser_feature__list.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/feature_list.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/feature_list.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/feature_list.cc
@@ -30,7 +30,7 @@
#include "pdf/pdf_features.h"
diff --git a/electron43/patches/patch-electron_shell_browser_linux_x11__util.cc b/electron43/patches/patch-electron_shell_browser_linux_x11__util.cc
index c3d1aa745b..994a359471 100644
--- a/electron43/patches/patch-electron_shell_browser_linux_x11__util.cc
+++ b/electron43/patches/patch-electron_shell_browser_linux_x11__util.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/linux/x11_util.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/linux/x11_util.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/linux/x11_util.cc
@@ -10,7 +10,7 @@
namespace x11_util {
diff --git a/electron43/patches/patch-electron_shell_browser_native__window.cc b/electron43/patches/patch-electron_shell_browser_native__window.cc
index b7f11c036b..02cda51cba 100644
--- a/electron43/patches/patch-electron_shell_browser_native__window.cc
+++ b/electron43/patches/patch-electron_shell_browser_native__window.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/native_window.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/native_window.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/native_window.cc
@@ -33,7 +33,7 @@
diff --git a/electron43/patches/patch-electron_shell_browser_native__window__views.cc b/electron43/patches/patch-electron_shell_browser_native__window__views.cc
index 13a748947a..3015aba7bc 100644
--- a/electron43/patches/patch-electron_shell_browser_native__window__views.cc
+++ b/electron43/patches/patch-electron_shell_browser_native__window__views.cc
@@ -1,12 +1,12 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/native_window_views.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/native_window_views.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/native_window_views.cc
-@@ -57,7 +57,7 @@
+@@ -58,7 +58,7 @@
#include "ui/views/window/non_client_view.h"
#include "ui/wm/core/window_util.h"
@@ -15,7 +15,7 @@ $NetBSD$
#include "base/notimplemented.h"
#include "shell/browser/browser.h"
#include "shell/browser/linux/unity_service.h"
-@@ -294,7 +294,7 @@ NativeWindowViews::NativeWindowViews(con
+@@ -295,7 +295,7 @@ NativeWindowViews::NativeWindowViews(con
// If a client frame, we need to draw our own shadows.
if (transparent() || has_client_frame())
params.opacity = InitParams::WindowOpacity::kTranslucent;
@@ -24,7 +24,7 @@ $NetBSD$
// Resize handles and shadows on frameless windows need translucent insets.
if (!has_frame())
params.opacity = InitParams::WindowOpacity::kTranslucent;
-@@ -313,7 +313,7 @@ NativeWindowViews::NativeWindowViews(con
+@@ -314,7 +314,7 @@ NativeWindowViews::NativeWindowViews(con
params.parent = parent->GetNativeWindow();
params.native_widget = new ElectronDesktopNativeWidgetAura{this, widget()};
@@ -33,7 +33,7 @@ $NetBSD$
// Set the WM_CLASS and XDG App ID to the same value
// for best compatibility with both X11 and Wayland.
const auto app_id = platform_util::GetXdgAppId();
-@@ -343,7 +343,7 @@ NativeWindowViews::NativeWindowViews(con
+@@ -344,7 +344,7 @@ NativeWindowViews::NativeWindowViews(con
std::string window_type;
options.Get(options::kType, &window_type);
@@ -42,7 +42,7 @@ $NetBSD$
// Set _GTK_THEME_VARIANT to dark if we have "dark-theme" option set.
if (options.ValueOrDefault(options::kDarkTheme, false))
SetGTKDarkThemeEnabled(true);
-@@ -415,7 +415,7 @@ NativeWindowViews::NativeWindowViews(con
+@@ -416,7 +416,7 @@ NativeWindowViews::NativeWindowViews(con
::SetWindowLong(GetAcceleratedWidget(), GWL_EXSTYLE, ex_style);
#endif
@@ -51,7 +51,7 @@ $NetBSD$
options.Get(options::kRoundedCorners, &rounded_corner_);
#endif
-@@ -535,7 +535,7 @@ void NativeWindowViews::SetTitleBarOverl
+@@ -536,7 +536,7 @@ void NativeWindowViews::SetTitleBarOverl
auto* fv = widget()->non_client_view()->frame_view();
if (auto* frameless = views::AsViewClass<FramelessView>(fv)) {
frameless->InvalidateCaptionButtons();
@@ -60,7 +60,7 @@ $NetBSD$
} else if (auto* fvl = views::AsViewClass<views::FrameViewLinux>(fv)) {
fvl->InvalidateLayout();
fvl->SchedulePaint();
-@@ -545,7 +545,7 @@ void NativeWindowViews::SetTitleBarOverl
+@@ -546,7 +546,7 @@ void NativeWindowViews::SetTitleBarOverl
}
void NativeWindowViews::SetGTKDarkThemeEnabled(bool use_dark_theme) {
@@ -69,7 +69,7 @@ $NetBSD$
if (x11_util::IsX11()) {
const std::string color = use_dark_theme ? "dark" : "light";
auto* connection = x11::Connection::Get();
-@@ -611,7 +611,7 @@ void NativeWindowViews::Show() {
+@@ -612,7 +612,7 @@ void NativeWindowViews::Show() {
NotifyWindowShow();
@@ -78,7 +78,7 @@ $NetBSD$
if (global_menu_bar_)
global_menu_bar_->OnWindowMapped();
-@@ -627,7 +627,7 @@ void NativeWindowViews::ShowInactive() {
+@@ -628,7 +628,7 @@ void NativeWindowViews::ShowInactive() {
NotifyWindowShow();
@@ -87,7 +87,7 @@ $NetBSD$
if (global_menu_bar_)
global_menu_bar_->OnWindowMapped();
-@@ -646,7 +646,7 @@ void NativeWindowViews::Hide() {
+@@ -647,7 +647,7 @@ void NativeWindowViews::Hide() {
NotifyWindowHide();
@@ -96,7 +96,7 @@ $NetBSD$
if (global_menu_bar_)
global_menu_bar_->OnWindowUnmapped();
#endif
-@@ -677,7 +677,7 @@ bool NativeWindowViews::IsVisible() cons
+@@ -678,7 +678,7 @@ bool NativeWindowViews::IsVisible() cons
bool NativeWindowViews::IsEnabled() const {
#if BUILDFLAG(IS_WIN)
return ::IsWindowEnabled(GetAcceleratedWidget());
@@ -105,7 +105,7 @@ $NetBSD$
return !enable_event_listening_;
#endif
}
-@@ -894,7 +894,7 @@ void NativeWindowViews::SetBounds(const
+@@ -895,7 +895,7 @@ void NativeWindowViews::SetBounds(const
}
#endif
@@ -114,7 +114,7 @@ $NetBSD$
// On Linux and Windows the minimum and maximum size should be updated with
// window size when window is not resizable.
if (!CanResize()) {
-@@ -949,7 +949,7 @@ void NativeWindowViews::SetContentSizeCo
+@@ -950,7 +950,7 @@ void NativeWindowViews::SetContentSizeCo
// of this to determine whether native widget has initialized.
if (widget() && widget()->widget_delegate())
widget()->OnSizeConstraintsChanged();
@@ -123,7 +123,7 @@ $NetBSD$
if (resizable_)
old_size_constraints_ = GetSizeConstraints();
#endif
-@@ -1169,7 +1169,7 @@ bool NativeWindowViews::IsClosable() con
+@@ -1170,7 +1170,7 @@ bool NativeWindowViews::IsClosable() con
return false;
}
return !(info.fState & MFS_DISABLED);
@@ -132,7 +132,7 @@ $NetBSD$
return true;
#endif
}
-@@ -1309,7 +1309,7 @@ void NativeWindowViews::SetBackgroundCol
+@@ -1310,7 +1310,7 @@ void NativeWindowViews::SetBackgroundCol
InvalidateRect(GetAcceleratedWidget(), nullptr, 1);
#endif
@@ -141,7 +141,7 @@ $NetBSD$
// Widget and root view need to be transparent for CSD to draw shadow regions
// and custom edges and corners. The web contents view will still be
// painted with the true background color, which is cached in state.
-@@ -1332,7 +1332,7 @@ void NativeWindowViews::SetHasShadow(boo
+@@ -1333,7 +1333,7 @@ void NativeWindowViews::SetHasShadow(boo
// so we no longer call wm::SetShadowElevation and similar to avoid
// artifacts. https://github.com/electron/electron/issues/51456.
@@ -150,7 +150,7 @@ $NetBSD$
auto* efvl = views::AsViewClass<ElectronFrameViewLinux>(
widget()->non_client_view()->frame_view());
if (efvl) {
-@@ -1456,7 +1456,7 @@ bool NativeWindowViews::IsFocusable() co
+@@ -1457,7 +1457,7 @@ bool NativeWindowViews::IsFocusable() co
}
void NativeWindowViews::SetMenu(ElectronMenuModel* menu_model) {
@@ -159,7 +159,7 @@ $NetBSD$
// Remove global menu bar.
if (global_menu_bar_ && menu_model == nullptr) {
global_menu_bar_.reset();
-@@ -1512,7 +1512,7 @@ void NativeWindowViews::SetMenu(Electron
+@@ -1513,7 +1513,7 @@ void NativeWindowViews::SetMenu(Electron
void NativeWindowViews::SetParentWindow(NativeWindow* parent) {
NativeWindow::SetParentWindow(parent);
@@ -168,7 +168,7 @@ $NetBSD$
if (x11_util::IsX11()) {
auto* connection = x11::Connection::Get();
connection->SetProperty(
-@@ -1566,7 +1566,7 @@ gfx::Insets NativeWindowViews::GetRestor
+@@ -1567,7 +1567,7 @@ gfx::Insets NativeWindowViews::GetRestor
if (auto* frameless = views::AsViewClass<FramelessView>(frame_view))
return frameless->RestoredFrameBorderInsets();
@@ -177,7 +177,7 @@ $NetBSD$
if (auto* fvl = views::AsViewClass<views::FrameViewLinux>(frame_view))
return fvl->GetRestoredFrameBorderInsets();
#endif
-@@ -1578,7 +1578,7 @@ void NativeWindowViews::SetProgressBar(d
+@@ -1579,7 +1579,7 @@ void NativeWindowViews::SetProgressBar(d
NativeWindow::ProgressState state) {
#if BUILDFLAG(IS_WIN)
taskbar_host_.SetProgressBar(GetAcceleratedWidget(), progress, state);
@@ -186,7 +186,7 @@ $NetBSD$
if (unity::IsRunning()) {
unity::SetProgressFraction(progress);
}
-@@ -1704,7 +1704,7 @@ content::DesktopMediaID NativeWindowView
+@@ -1705,7 +1705,7 @@ content::DesktopMediaID NativeWindowView
#if BUILDFLAG(IS_WIN)
window_handle =
reinterpret_cast<content::DesktopMediaID::Id>(accelerated_widget);
@@ -195,7 +195,7 @@ $NetBSD$
window_handle = static_cast<uint32_t>(accelerated_widget);
#endif
aura::WindowTreeHost* const host =
-@@ -1834,7 +1834,7 @@ void NativeWindowViews::SetIcon(HICON wi
+@@ -1835,7 +1835,7 @@ void NativeWindowViews::SetIcon(HICON wi
SendMessage(hwnd, WM_SETICON, ICON_BIG,
reinterpret_cast<LPARAM>(app_icon_.get()));
}
@@ -204,7 +204,7 @@ $NetBSD$
void NativeWindowViews::SetIcon(const gfx::ImageSkia& icon) {
auto* tree_host = views::DesktopWindowTreeHostLinux::GetHostForWidget(
GetAcceleratedWidget());
-@@ -1955,7 +1955,7 @@ bool NativeWindowViews::CanMaximize() co
+@@ -1956,7 +1956,7 @@ bool NativeWindowViews::CanMaximize() co
bool NativeWindowViews::CanMinimize() const {
#if BUILDFLAG(IS_WIN)
return minimizable_;
@@ -213,7 +213,7 @@ $NetBSD$
return true;
#endif
}
-@@ -2002,7 +2002,7 @@ std::unique_ptr<views::FrameView> Native
+@@ -2008,7 +2008,7 @@ std::unique_ptr<views::FrameView> Native
#endif
}
@@ -222,7 +222,7 @@ $NetBSD$
views::FrameViewLinux* NativeWindowViews::GetFrameViewLinux() const {
auto* ncv = widget()->non_client_view();
if (!ncv)
-@@ -2021,7 +2021,7 @@ void NativeWindowViews::HandleKeyboardEv
+@@ -2027,7 +2027,7 @@ void NativeWindowViews::HandleKeyboardEv
if (widget_destroyed_)
return;
@@ -231,7 +231,7 @@ $NetBSD$
if (event.windows_key_code == ui::VKEY_BROWSER_BACK)
NotifyWindowExecuteAppCommand(kBrowserBackward);
else if (event.windows_key_code == ui::VKEY_BROWSER_FORWARD)
-@@ -2040,7 +2040,7 @@ void NativeWindowViews::OnMouseEvent(ui:
+@@ -2046,7 +2046,7 @@ void NativeWindowViews::OnMouseEvent(ui:
// Alt+Click should not toggle menu bar.
root_view_.ResetAltState();
diff --git a/electron43/patches/patch-electron_shell_browser_native__window__views.h b/electron43/patches/patch-electron_shell_browser_native__window__views.h
index 6338efaef3..5895da2674 100644
--- a/electron43/patches/patch-electron_shell_browser_native__window__views.h
+++ b/electron43/patches/patch-electron_shell_browser_native__window__views.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/native_window_views.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/native_window_views.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/native_window_views.h
@@ -31,7 +31,7 @@ namespace gin {
class Arguments;
diff --git a/electron43/patches/patch-electron_shell_browser_osr_osr__host__display__client.cc b/electron43/patches/patch-electron_shell_browser_osr_osr__host__display__client.cc
index 7ade7ad1e4..08ac542e60 100644
--- a/electron43/patches/patch-electron_shell_browser_osr_osr__host__display__client.cc
+++ b/electron43/patches/patch-electron_shell_browser_osr_osr__host__display__client.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/osr/osr_host_display_client.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/osr/osr_host_display_client.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/osr/osr_host_display_client.cc
@@ -102,7 +102,7 @@ void OffScreenHostDisplayClient::CreateL
layered_window_updater_->SetActive(active_);
diff --git a/electron43/patches/patch-electron_shell_browser_osr_osr__host__display__client.h b/electron43/patches/patch-electron_shell_browser_osr_osr__host__display__client.h
index f5bc7477e9..e81c5ed9bb 100644
--- a/electron43/patches/patch-electron_shell_browser_osr_osr__host__display__client.h
+++ b/electron43/patches/patch-electron_shell_browser_osr_osr__host__display__client.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/osr/osr_host_display_client.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/osr/osr_host_display_client.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/osr/osr_host_display_client.h
@@ -74,7 +74,7 @@ class OffScreenHostDisplayClient : publi
mojo::PendingReceiver<viz::mojom::LayeredWindowUpdater> receiver)
diff --git a/electron43/patches/patch-electron_shell_browser_osr_osr__paint__event.h b/electron43/patches/patch-electron_shell_browser_osr_osr__paint__event.h
index 5aa4280d86..23948cb08e 100644
--- a/electron43/patches/patch-electron_shell_browser_osr_osr__paint__event.h
+++ b/electron43/patches/patch-electron_shell_browser_osr_osr__paint__event.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/osr/osr_paint_event.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/osr/osr_paint_event.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/osr/osr_paint_event.h
@@ -99,7 +99,7 @@ struct OffscreenSharedTextureValue {
// On Windows it is a HANDLE to the shared D3D11 texture.
diff --git a/electron43/patches/patch-electron_shell_browser_osr_osr__video__consumer.cc b/electron43/patches/patch-electron_shell_browser_osr_osr__video__consumer.cc
index 7aace06a35..c2d83a36b7 100644
--- a/electron43/patches/patch-electron_shell_browser_osr_osr__video__consumer.cc
+++ b/electron43/patches/patch-electron_shell_browser_osr_osr__video__consumer.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/osr/osr_video_consumer.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/osr/osr_video_consumer.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/osr/osr_video_consumer.cc
@@ -49,7 +49,7 @@ bool IsPlatformSharedTextureHandle(const
return handle.type == gfx::DXGI_SHARED_HANDLE;
diff --git a/electron43/patches/patch-electron_shell_browser_printing_printing__utils.cc b/electron43/patches/patch-electron_shell_browser_printing_printing__utils.cc
index d65b69a027..a501401976 100644
--- a/electron43/patches/patch-electron_shell_browser_printing_printing__utils.cc
+++ b/electron43/patches/patch-electron_shell_browser_printing_printing__utils.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/printing/printing_utils.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/printing/printing_utils.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/printing/printing_utils.cc
@@ -31,7 +31,7 @@
#include <ApplicationServices/ApplicationServices.h>
diff --git a/electron43/patches/patch-electron_shell_browser_relauncher__linux.cc b/electron43/patches/patch-electron_shell_browser_relauncher__linux.cc
index 4abbb548f9..f272152543 100644
--- a/electron43/patches/patch-electron_shell_browser_relauncher__linux.cc
+++ b/electron43/patches/patch-electron_shell_browser_relauncher__linux.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/relauncher_linux.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/relauncher_linux.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/relauncher_linux.cc
@@ -6,8 +6,10 @@
diff --git a/electron43/patches/patch-electron_shell_browser_ui_inspectable__web__contents.cc b/electron43/patches/patch-electron_shell_browser_ui_inspectable__web__contents.cc
index 0af4d67d03..bf581334ca 100644
--- a/electron43/patches/patch-electron_shell_browser_ui_inspectable__web__contents.cc
+++ b/electron43/patches/patch-electron_shell_browser_ui_inspectable__web__contents.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/ui/inspectable_web_contents.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/ui/inspectable_web_contents.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/ui/inspectable_web_contents.cc
@@ -619,7 +619,7 @@ void InspectableWebContents::LoadComplet
dock_state_ = "right";
diff --git a/electron43/patches/patch-electron_shell_browser_ui_inspectable__web__contents__view.cc b/electron43/patches/patch-electron_shell_browser_ui_inspectable__web__contents__view.cc
index 5bf1abdd53..9ab621677e 100644
--- a/electron43/patches/patch-electron_shell_browser_ui_inspectable__web__contents__view.cc
+++ b/electron43/patches/patch-electron_shell_browser_ui_inspectable__web__contents__view.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/ui/inspectable_web_contents_view.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/ui/inspectable_web_contents_view.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/ui/inspectable_web_contents_view.cc
@@ -236,7 +236,7 @@ void InspectableWebContentsView::SetIsDo
params.delegate = devtools_window_delegate_;
diff --git a/electron43/patches/patch-electron_shell_browser_ui_inspectable__web__contents__view__delegate.h b/electron43/patches/patch-electron_shell_browser_ui_inspectable__web__contents__view__delegate.h
index 93156ac401..83c84cbcdb 100644
--- a/electron43/patches/patch-electron_shell_browser_ui_inspectable__web__contents__view__delegate.h
+++ b/electron43/patches/patch-electron_shell_browser_ui_inspectable__web__contents__view__delegate.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/ui/inspectable_web_contents_view_delegate.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/ui/inspectable_web_contents_view_delegate.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/ui/inspectable_web_contents_view_delegate.h
@@ -24,7 +24,7 @@ class InspectableWebContentsViewDelegate
// Returns the icon of devtools window.
diff --git a/electron43/patches/patch-electron_shell_browser_ui_views_electron__views__delegate.cc b/electron43/patches/patch-electron_shell_browser_ui_views_electron__views__delegate.cc
index 786e253b43..c7ab7533c5 100644
--- a/electron43/patches/patch-electron_shell_browser_ui_views_electron__views__delegate.cc
+++ b/electron43/patches/patch-electron_shell_browser_ui_views_electron__views__delegate.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/ui/views/electron_views_delegate.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/ui/views/electron_views_delegate.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/ui/views/electron_views_delegate.cc
@@ -10,7 +10,7 @@
#include "ui/views/widget/native_widget_aura.h"
diff --git a/electron43/patches/patch-electron_shell_browser_ui_views_electron__views__delegate.h b/electron43/patches/patch-electron_shell_browser_ui_views_electron__views__delegate.h
index ae98900986..df5d29d16a 100644
--- a/electron43/patches/patch-electron_shell_browser_ui_views_electron__views__delegate.h
+++ b/electron43/patches/patch-electron_shell_browser_ui_views_electron__views__delegate.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/ui/views/electron_views_delegate.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/ui/views/electron_views_delegate.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/ui/views/electron_views_delegate.h
@@ -44,7 +44,7 @@ class ViewsDelegate : public views::View
HICON GetSmallWindowIcon() const override;
diff --git a/electron43/patches/patch-electron_shell_browser_ui_views_menu__bar.cc b/electron43/patches/patch-electron_shell_browser_ui_views_menu__bar.cc
index ac3f7da303..a8218bb383 100644
--- a/electron43/patches/patch-electron_shell_browser_ui_views_menu__bar.cc
+++ b/electron43/patches/patch-electron_shell_browser_ui_views_menu__bar.cc
@@ -1,30 +1,30 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/ui/views/menu_bar.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/ui/views/menu_bar.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/ui/views/menu_bar.cc
-@@ -14,7 +14,7 @@
+@@ -16,7 +16,7 @@
#include "ui/views/background.h"
#include "ui/views/layout/box_layout.h"
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ #include "shell/browser/ui/gtk_util.h"
#include "ui/gtk/gtk_util.h" // nogncheck
#endif
-
-@@ -215,7 +215,7 @@ void MenuBar::ViewHierarchyChanged(
+@@ -218,7 +218,7 @@ void MenuBar::ViewHierarchyChanged(
void MenuBar::RefreshColorCache(const ui::NativeTheme* theme) {
if (theme) {
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
- background_color_ = gtk::GetBgColor("GtkMenuBar#menubar");
- enabled_color_ =
- gtk::GetFgColor("GtkMenuBar#menubar GtkMenuItem#menuitem GtkLabel");
-@@ -241,7 +241,7 @@ void MenuBar::RebuildChildren() {
+ if (gtk_util::IsGtkAvailable()) {
+ background_color_ = gtk::GetBgColor("GtkMenuBar#menubar");
+ enabled_color_ =
+@@ -254,7 +254,7 @@ void MenuBar::RebuildChildren() {
}
void MenuBar::UpdateViewColors() {
@@ -33,7 +33,7 @@ $NetBSD$
// set menubar background color
SetBackground(views::CreateSolidBackground(background_color_));
#endif
-@@ -249,7 +249,7 @@ void MenuBar::UpdateViewColors() {
+@@ -262,7 +262,7 @@ void MenuBar::UpdateViewColors() {
// set child colors
if (menu_model_ == nullptr)
return;
diff --git a/electron43/patches/patch-electron_shell_browser_ui_views_menu__bar.h b/electron43/patches/patch-electron_shell_browser_ui_views_menu__bar.h
index ac8a57c4aa..7efa6ecf3a 100644
--- a/electron43/patches/patch-electron_shell_browser_ui_views_menu__bar.h
+++ b/electron43/patches/patch-electron_shell_browser_ui_views_menu__bar.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/ui/views/menu_bar.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/ui/views/menu_bar.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/ui/views/menu_bar.h
@@ -81,7 +81,7 @@ class MenuBar : public views::Accessible
View* FindAccelChild(char16_t key);
diff --git a/electron43/patches/patch-electron_shell_browser_ui_views_submenu__button.cc b/electron43/patches/patch-electron_shell_browser_ui_views_submenu__button.cc
index d9fb3bf82b..b3d7b5b536 100644
--- a/electron43/patches/patch-electron_shell_browser_ui_views_submenu__button.cc
+++ b/electron43/patches/patch-electron_shell_browser_ui_views_submenu__button.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/browser/ui/views/submenu_button.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/browser/ui/views/submenu_button.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/browser/ui/views/submenu_button.cc
@@ -23,7 +23,7 @@ SubmenuButton::SubmenuButton(PressedCall
const SkColor& background_color)
diff --git a/electron43/patches/patch-electron_shell_common_api_electron__api__clipboard.cc b/electron43/patches/patch-electron_shell_common_api_electron__api__clipboard.cc
index 27d337b23c..d738edd1e2 100644
--- a/electron43/patches/patch-electron_shell_common_api_electron__api__clipboard.cc
+++ b/electron43/patches/patch-electron_shell_common_api_electron__api__clipboard.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/common/api/electron_api_clipboard.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/common/api/electron_api_clipboard.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/common/api/electron_api_clipboard.cc
@@ -95,7 +95,7 @@ std::string Clipboard::Read(const std::s
ui::ClipboardFormatType::CustomPlatformType(format_string));
diff --git a/electron43/patches/patch-electron_shell_common_api_electron__api__native__image.cc b/electron43/patches/patch-electron_shell_common_api_electron__api__native__image.cc
index b3e45875cb..d04b2cc667 100644
--- a/electron43/patches/patch-electron_shell_common_api_electron__api__native__image.cc
+++ b/electron43/patches/patch-electron_shell_common_api_electron__api__native__image.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/common/api/electron_api_native_image.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/common/api/electron_api_native_image.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/common/api/electron_api_native_image.cc
@@ -676,7 +676,7 @@ void Initialize(v8::Local<v8::Object> ex
native_image.SetMethod("createFromNamedImage",
diff --git a/electron43/patches/patch-electron_shell_common_api_electron__api__native__image.h b/electron43/patches/patch-electron_shell_common_api_electron__api__native__image.h
index 8da72f9db1..910285978b 100644
--- a/electron43/patches/patch-electron_shell_common_api_electron__api__native__image.h
+++ b/electron43/patches/patch-electron_shell_common_api_electron__api__native__image.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/common/api/electron_api_native_image.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/common/api/electron_api_native_image.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/common/api/electron_api_native_image.h
@@ -73,7 +73,7 @@ class NativeImage final : public gin::Wr
static NativeImage* CreateFromNamedImage(gin::Arguments* args,
diff --git a/electron43/patches/patch-electron_shell_common_api_electron__api__shared__texture.cc b/electron43/patches/patch-electron_shell_common_api_electron__api__shared__texture.cc
index ab4e6b650b..c804f4a24b 100644
--- a/electron43/patches/patch-electron_shell_common_api_electron__api__shared__texture.cc
+++ b/electron43/patches/patch-electron_shell_common_api_electron__api__shared__texture.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/common/api/electron_api_shared_texture.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/common/api/electron_api_shared_texture.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/common/api/electron_api_shared_texture.cc
@@ -27,7 +27,7 @@
#include "third_party/blink/renderer/platform/graphics/gpu/shared_gpu_context.h" // nogncheck
diff --git a/electron43/patches/patch-electron_shell_common_api_electron__api__testing.cc b/electron43/patches/patch-electron_shell_common_api_electron__api__testing.cc
index 0805446ab5..e11c720e29 100644
--- a/electron43/patches/patch-electron_shell_common_api_electron__api__testing.cc
+++ b/electron43/patches/patch-electron_shell_common_api_electron__api__testing.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/common/api/electron_api_testing.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/common/api/electron_api_testing.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/common/api/electron_api_testing.cc
@@ -27,7 +27,7 @@
#include "ui/accessibility/platform/ax_platform.h"
diff --git a/electron43/patches/patch-electron_shell_common_api_electron__bindings.cc b/electron43/patches/patch-electron_shell_common_api_electron__bindings.cc
index 7f5b601fd9..3807b2745b 100644
--- a/electron43/patches/patch-electron_shell_common_api_electron__bindings.cc
+++ b/electron43/patches/patch-electron_shell_common_api_electron__bindings.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/common/api/electron_bindings.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/common/api/electron_bindings.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/common/api/electron_bindings.cc
@@ -185,7 +185,7 @@ v8::Local<v8::Value> ElectronBindings::G
#endif
diff --git a/electron43/patches/patch-electron_shell_common_electron__command__line.cc b/electron43/patches/patch-electron_shell_common_electron__command__line.cc
index b2e620e47e..43875fd5bf 100644
--- a/electron43/patches/patch-electron_shell_common_electron__command__line.cc
+++ b/electron43/patches/patch-electron_shell_common_electron__command__line.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/common/electron_command_line.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/common/electron_command_line.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/common/electron_command_line.cc
@@ -39,7 +39,7 @@ std::vector<std::string> ElectronCommand
#endif
diff --git a/electron43/patches/patch-electron_shell_common_electron__command__line.h b/electron43/patches/patch-electron_shell_common_electron__command__line.h
index 0f7202568a..837bbe49dd 100644
--- a/electron43/patches/patch-electron_shell_common_electron__command__line.h
+++ b/electron43/patches/patch-electron_shell_common_electron__command__line.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/common/electron_command_line.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/common/electron_command_line.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/common/electron_command_line.h
@@ -24,7 +24,7 @@ class ElectronCommandLine {
diff --git a/electron43/patches/patch-electron_shell_common_electron__paths.cc b/electron43/patches/patch-electron_shell_common_electron__paths.cc
index e6c690fff9..7510534a2d 100644
--- a/electron43/patches/patch-electron_shell_common_electron__paths.cc
+++ b/electron43/patches/patch-electron_shell_common_electron__paths.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/common/electron_paths.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/common/electron_paths.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/common/electron_paths.cc
@@ -12,7 +12,7 @@
#include "shell/common/platform_util.h"
diff --git a/electron43/patches/patch-electron_shell_common_electron__paths.h b/electron43/patches/patch-electron_shell_common_electron__paths.h
index b22e04d13b..d7cb50a75b 100644
--- a/electron43/patches/patch-electron_shell_common_electron__paths.h
+++ b/electron43/patches/patch-electron_shell_common_electron__paths.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/common/electron_paths.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/common/electron_paths.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/common/electron_paths.h
@@ -31,7 +31,7 @@ enum {
DIR_RECENT, // Directory where recent files live
diff --git a/electron43/patches/patch-electron_shell_common_gin__converters_osr__converter.cc b/electron43/patches/patch-electron_shell_common_gin__converters_osr__converter.cc
index 6960257261..516a1509fd 100644
--- a/electron43/patches/patch-electron_shell_common_gin__converters_osr__converter.cc
+++ b/electron43/patches/patch-electron_shell_common_gin__converters_osr__converter.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/common/gin_converters/osr_converter.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/common/gin_converters/osr_converter.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/common/gin_converters/osr_converter.cc
@@ -12,7 +12,7 @@
diff --git a/electron43/patches/patch-electron_shell_common_gin__converters_std__converter.h b/electron43/patches/patch-electron_shell_common_gin__converters_std__converter.h
index 2ad412e777..34e2af6700 100644
--- a/electron43/patches/patch-electron_shell_common_gin__converters_std__converter.h
+++ b/electron43/patches/patch-electron_shell_common_gin__converters_std__converter.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/common/gin_converters/std_converter.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/common/gin_converters/std_converter.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/common/gin_converters/std_converter.h
@@ -57,7 +57,7 @@ struct Converter<std::array<T, N>> {
}
diff --git a/electron43/patches/patch-electron_shell_common_node__bindings.cc b/electron43/patches/patch-electron_shell_common_node__bindings.cc
index 8b3d3062e6..1e51dac7ed 100644
--- a/electron43/patches/patch-electron_shell_common_node__bindings.cc
+++ b/electron43/patches/patch-electron_shell_common_node__bindings.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/common/node_bindings.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/common/node_bindings.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/common/node_bindings.cc
@@ -57,7 +57,7 @@
#include "third_party/electron_node/src/node_snapshot_builder.h"
diff --git a/electron43/patches/patch-electron_shell_common_node__bindings__linux.cc b/electron43/patches/patch-electron_shell_common_node__bindings__linux.cc
index 560211426a..af68c07aa9 100644
--- a/electron43/patches/patch-electron_shell_common_node__bindings__linux.cc
+++ b/electron43/patches/patch-electron_shell_common_node__bindings__linux.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/common/node_bindings_linux.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/common/node_bindings_linux.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/common/node_bindings_linux.cc
@@ -4,13 +4,26 @@
diff --git a/electron43/patches/patch-electron_shell_common_platform__util.h b/electron43/patches/patch-electron_shell_common_platform__util.h
index 0f08c2533c..2e238a6bdb 100644
--- a/electron43/patches/patch-electron_shell_common_platform__util.h
+++ b/electron43/patches/patch-electron_shell_common_platform__util.h
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/common/platform_util.h.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/common/platform_util.h.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/common/platform_util.h
@@ -60,7 +60,7 @@ bool SetLoginItemEnabled(const std::stri
bool enabled);
diff --git a/electron43/patches/patch-electron_shell_common_v8__oom__diagnostics.cc b/electron43/patches/patch-electron_shell_common_v8__oom__diagnostics.cc
index ceacd37f5f..d88e2f52c0 100644
--- a/electron43/patches/patch-electron_shell_common_v8__oom__diagnostics.cc
+++ b/electron43/patches/patch-electron_shell_common_v8__oom__diagnostics.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/common/v8_oom_diagnostics.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/common/v8_oom_diagnostics.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/common/v8_oom_diagnostics.cc
@@ -15,7 +15,7 @@
diff --git a/electron43/patches/patch-electron_shell_renderer_api_electron__api__crash__reporter__renderer.cc b/electron43/patches/patch-electron_shell_renderer_api_electron__api__crash__reporter__renderer.cc
index c67c5af591..4d9d5d78b9 100644
--- a/electron43/patches/patch-electron_shell_renderer_api_electron__api__crash__reporter__renderer.cc
+++ b/electron43/patches/patch-electron_shell_renderer_api_electron__api__crash__reporter__renderer.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/renderer/api/electron_api_crash_reporter_renderer.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/renderer/api/electron_api_crash_reporter_renderer.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/renderer/api/electron_api_crash_reporter_renderer.cc
@@ -6,7 +6,7 @@
#include "shell/common/gin_helper/dictionary.h"
diff --git a/electron43/patches/patch-electron_shell_services_node_node__service.cc b/electron43/patches/patch-electron_shell_services_node_node__service.cc
index 53799595b4..e84d6385f9 100644
--- a/electron43/patches/patch-electron_shell_services_node_node__service.cc
+++ b/electron43/patches/patch-electron_shell_services_node_node__service.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/shell/services/node/node_service.cc.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/shell/services/node/node_service.cc.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/shell/services/node/node_service.cc
@@ -26,7 +26,7 @@
#include "shell/common/v8_util.h"
diff --git a/electron43/patches/patch-electron_spec_api-app.spec.ts b/electron43/patches/patch-electron_spec_api-app.spec.ts
index 1593d99a51..bbf6c825ba 100644
--- a/electron43/patches/patch-electron_spec_api-app.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-app.spec.ts
@@ -1,12 +1,12 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-app.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-app.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-app.spec.ts
-@@ -127,7 +127,7 @@ describe('app module', () => {
+@@ -131,7 +131,7 @@ describe('app module', () => {
});
});
@@ -15,21 +15,21 @@ $NetBSD$
it('sets the desktop name to the CHROME_DESKTOP environment variable', () => {
const original = process.env.CHROME_DESKTOP;
defer(() => {
-@@ -156,11 +156,11 @@ describe('app module', () => {
+@@ -160,11 +160,11 @@ describe('app module', () => {
});
describe('app.getPreferredSystemLanguages()', () => {
- ifit(process.platform !== 'linux')('should not be empty', () => {
+ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('should not be empty', () => {
- expect(app.getPreferredSystemLanguages().length).to.not.equal(0);
+ expect(app.getPreferredSystemLanguages().length).not.toBe(0);
});
- ifit(process.platform === 'linux')('should be empty or contain C entry', () => {
+ ifit(process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd')('should be empty or contain C entry', () => {
const languages = app.getPreferredSystemLanguages();
if (languages.length) {
- expect(languages).to.not.include('C');
-@@ -202,7 +202,7 @@ describe('app module', () => {
+ expect(languages).not.toContain('C');
+@@ -206,7 +206,7 @@ describe('app module', () => {
});
});
@@ -38,16 +38,25 @@ $NetBSD$
'when a D-Bus bus goes away',
() => {
it('exits cleanly instead of crashing', async () => {
-@@ -293,7 +293,7 @@ describe('app module', () => {
+@@ -300,7 +300,7 @@ describe('app module', () => {
+ // A missing display makes toolkit initialisation fail before the main loop
+ // runs; that early return must still tear the JS environment down cleanly.
+ // Skipped under ASan for the same reason as the test above.
+- ifit(process.platform === 'linux' && !process.env.IS_ASAN)(
++ ifit((process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') && !process.env.IS_ASAN)(
+ 'exits with code 1 when no display is available',
+ async () => {
+ const appPath = path.join(fixturesPath, 'api', 'no-display');
+@@ -321,7 +321,7 @@ describe('app module', () => {
}
- });
+ );
-- ifit(['darwin', 'linux'].includes(process.platform))('exits gracefully', async function () {
-+ ifit(['darwin', 'linux', 'freebsd', 'netbsd'].includes(process.platform))('exits gracefully', async function () {
+- ifit(['darwin', 'linux'].includes(process.platform))('exits gracefully', async () => {
++ ifit(['darwin', 'linux', 'freebsd', 'netbsd'].includes(process.platform))('exits gracefully', async () => {
const electronPath = process.execPath;
const appPath = path.join(fixturesPath, 'api', 'singleton');
appProcess = cp.spawn(electronPath, [appPath]);
-@@ -491,7 +491,7 @@ describe('app module', () => {
+@@ -554,7 +554,7 @@ describe('app module', () => {
});
// GitHub Actions macOS-13 runners used for x64 seem to have a problem with this test.
@@ -56,7 +65,7 @@ $NetBSD$
const tempFiles = [
path.join(fixturesPath, 'foo.txt'),
path.join(fixturesPath, 'bar.txt'),
-@@ -620,7 +620,7 @@ describe('app module', () => {
+@@ -691,7 +691,7 @@ describe('app module', () => {
// let w = null
// before(function () {
@@ -65,7 +74,7 @@ $NetBSD$
// this.skip()
// }
// })
-@@ -733,7 +733,7 @@ describe('app module', () => {
+@@ -804,7 +804,7 @@ describe('app module', () => {
describe('app.badgeCount', () => {
const platformIsNotSupported =
@@ -74,16 +83,16 @@ $NetBSD$
const expectedBadgeCount = 42;
-@@ -780,7 +780,7 @@ describe('app module', () => {
+@@ -851,7 +851,7 @@ describe('app module', () => {
});
ifdescribe(
- process.platform !== 'linux' && !process.mas && (process.platform !== 'darwin' || process.arch === 'arm64')
+ process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd' && !process.mas && (process.platform !== 'darwin' || process.arch === 'arm64')
- )('app.get/setLoginItemSettings API', function () {
+ )('app.get/setLoginItemSettings API', () => {
const isMac = process.platform === 'darwin';
const isWin = process.platform === 'win32';
-@@ -1207,7 +1207,7 @@ describe('app module', () => {
+@@ -1278,7 +1278,7 @@ describe('app module', () => {
});
});
@@ -92,7 +101,7 @@ $NetBSD$
// These tests toggle a process-wide AXMode. Turn it back off so the rest of
// the suite doesn't run with renderer accessibility enabled.
afterEach(() => {
-@@ -1483,7 +1483,7 @@ describe('app module', () => {
+@@ -1561,7 +1561,7 @@ describe('app module', () => {
});
});
@@ -100,18 +109,18 @@ $NetBSD$
+ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('select-client-certificate event', () => {
let w: BrowserWindow;
- before(function () {
-@@ -1626,7 +1626,7 @@ describe('app module', () => {
+ beforeAll(() => {
+@@ -1707,7 +1707,7 @@ describe('app module', () => {
describe('getApplicationNameForProtocol()', () => {
// TODO: Linux CI doesn't have registered http & https handlers
- ifit(!(process.env.CI && process.platform === 'linux') && !isWayland)(
+ ifit(!(process.env.CI && (process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd')) && !isWayland)(
'returns application names for common protocols',
- function () {
+ () => {
// We can't expect particular app names here, but these protocols should
-@@ -1643,7 +1643,7 @@ describe('app module', () => {
- expect(app.getApplicationNameForProtocol('bogus-protocol://')).to.equal('');
+@@ -1724,7 +1724,7 @@ describe('app module', () => {
+ expect(app.getApplicationNameForProtocol('bogus-protocol://')).toBe('');
});
- ifdescribe(process.platform === 'linux')('on Linux with mocked XDG dirs', () => {
@@ -119,35 +128,35 @@ $NetBSD$
const desktopFileId = 'mock-browser.desktop';
const mockDisplayName = 'Mock Browser';
const mockScheme = 'mockproto';
-@@ -1693,7 +1693,7 @@ describe('app module', () => {
+@@ -1774,7 +1774,7 @@ describe('app module', () => {
let xdgBinDir: string;
- before(() => {
+ beforeAll(() => {
- if (process.platform !== 'linux') {
+ if (process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd') {
return;
}
-@@ -1710,7 +1710,7 @@ describe('app module', () => {
+@@ -1791,7 +1791,7 @@ describe('app module', () => {
});
- after(() => {
+ afterAll(() => {
- if (process.platform === 'linux') {
+ if (process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') {
fs.rmSync(xdgDir, { recursive: true, force: true });
}
});
-@@ -1722,7 +1722,7 @@ describe('app module', () => {
+@@ -1803,7 +1803,7 @@ describe('app module', () => {
});
- it('returns resolved promise with appPath, displayName and icon', async function () {
+ it('returns resolved promise with appPath, displayName and icon', async () => {
- if (process.platform === 'linux') {
+ if (process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') {
const appInfo = await spawnProtocolInfoWithXdgMock(`${mockScheme}://`, xdgDataHome, xdgConfigHome);
- expect(appInfo.name).to.equal(mockDisplayName);
- expect(appInfo.path).to.equal('/usr/bin/true');
-@@ -1736,7 +1736,7 @@ describe('app module', () => {
- expect(appInfo.icon).not.to.be.undefined();
+ expect(appInfo.name).toBe(mockDisplayName);
+ expect(appInfo.path).toBe('/usr/bin/true');
+@@ -1817,7 +1817,7 @@ describe('app module', () => {
+ expect(appInfo.icon).not.toBeUndefined();
});
- ifit(process.platform === 'linux')('resolves an executable name via PATH', async () => {
@@ -155,7 +164,7 @@ $NetBSD$
const pathLookupExecutable = 'mock-browser';
const pathLookupExecutablePath = path.join(xdgBinDir, pathLookupExecutable);
const pathLookupDisplayName = 'Mock Browser PATH';
-@@ -1770,7 +1770,7 @@ describe('app module', () => {
+@@ -1851,7 +1851,7 @@ describe('app module', () => {
});
});
@@ -164,7 +173,7 @@ $NetBSD$
const protocol = 'electron-test-linux';
const desktopFileId = 'electron-test.desktop';
const protocolMimeType = `x-scheme-handler/${protocol}`;
-@@ -1887,7 +1887,7 @@ describe('app module', () => {
+@@ -1968,7 +1968,7 @@ describe('app module', () => {
});
// FIXME Get these specs running on Linux CI
@@ -173,16 +182,16 @@ $NetBSD$
const iconPath = path.join(import.meta.dirname, 'fixtures/assets/icon.ico');
const sizes = {
small: 16,
-@@ -1969,7 +1969,7 @@ describe('app module', () => {
- expect(entry.memory).to.have.property('privateBytes').that.is.greaterThan(0);
+@@ -2057,7 +2057,7 @@ describe('app module', () => {
+ expect(entry.memory.privateBytes).toBeGreaterThan(0);
}
- if (process.platform !== 'linux') {
+ if (process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd') {
- expect(entry.sandboxed).to.be.a('boolean');
+ expect(entry.sandboxed).toBeTypeOf('boolean');
}
-@@ -1986,7 +1986,7 @@ describe('app module', () => {
+@@ -2074,7 +2074,7 @@ describe('app module', () => {
});
});
@@ -191,7 +200,7 @@ $NetBSD$
const fixture = path.join(fixturesPath, 'apps', 'gdk-backend');
const run = async (env: NodeJS.ProcessEnv) => {
const child = cp.spawn(process.execPath, [fixture], { env, stdio: ['ignore', 'pipe', 'ignore'] });
-@@ -2063,7 +2063,7 @@ describe('app module', () => {
+@@ -2156,7 +2156,7 @@ describe('app module', () => {
it('succeeds with complete GPUInfo', async () => {
const completeInfo = await getGPUInfo('complete');
@@ -200,7 +209,7 @@ $NetBSD$
// For linux and macOS complete info is same as basic info
await verifyBasicGPUInfo(completeInfo);
const basicInfo = await getGPUInfo('basic');
-@@ -2087,7 +2087,7 @@ describe('app module', () => {
+@@ -2179,7 +2179,7 @@ describe('app module', () => {
});
});
diff --git a/electron43/patches/patch-electron_spec_api-browser-window-ignore-mouse-events.spec.ts b/electron43/patches/patch-electron_spec_api-browser-window-ignore-mouse-events.spec.ts
index 061c562024..8c9d416e7d 100644
--- a/electron43/patches/patch-electron_spec_api-browser-window-ignore-mouse-events.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-browser-window-ignore-mouse-events.spec.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-browser-window-ignore-mouse-events.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-browser-window-ignore-mouse-events.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-browser-window-ignore-mouse-events.spec.ts
@@ -41,11 +41,11 @@ type PageEvent = { type: string; x?: num
// Nothing can inject input into a Wayland compositor from a client, so only
diff --git a/electron43/patches/patch-electron_spec_api-browser-window.spec.ts b/electron43/patches/patch-electron_spec_api-browser-window.spec.ts
index 30313bca65..a9af02b8d7 100644
--- a/electron43/patches/patch-electron_spec_api-browser-window.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-browser-window.spec.ts
@@ -1,13 +1,13 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-browser-window.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-browser-window.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-browser-window.spec.ts
@@ -105,7 +105,7 @@ describe('BrowserWindow module', () => {
- }).not.to.throw();
+ }).not.toThrow();
});
- ifit(process.platform === 'linux')('does not crash when setting large window icons', async () => {
@@ -24,7 +24,7 @@ $NetBSD$
afterEach(closeAllWindows);
it('can set content protection', async () => {
const w = new BrowserWindow({ show: false });
-@@ -1397,7 +1397,7 @@ describe('BrowserWindow module', () => {
+@@ -1406,7 +1406,7 @@ describe('BrowserWindow module', () => {
describe('BrowserWindow.minimize()', () => {
// TODO(codebytere): Enable for Linux once maximize/minimize events work in CI.
@@ -33,7 +33,7 @@ $NetBSD$
const minimize = once(w, 'minimize');
w.minimize();
await minimize;
-@@ -1414,7 +1414,7 @@ describe('BrowserWindow module', () => {
+@@ -1423,7 +1423,7 @@ describe('BrowserWindow module', () => {
});
// TODO(dsanders11): Enable for Linux once CI plays nice with these kinds of tests
@@ -42,7 +42,7 @@ $NetBSD$
const maximize = once(w, 'maximize');
const shown = once(w, 'show');
w.maximize();
-@@ -1511,7 +1511,7 @@ describe('BrowserWindow module', () => {
+@@ -1520,7 +1520,7 @@ describe('BrowserWindow module', () => {
}
);
@@ -51,8 +51,8 @@ $NetBSD$
const w1 = new BrowserWindow({ show: false });
const w2 = new BrowserWindow({ show: false });
const w3 = new BrowserWindow({ show: false });
-@@ -1616,7 +1616,7 @@ describe('BrowserWindow module', () => {
- expect(w.isFocused()).to.equal(false);
+@@ -1625,7 +1625,7 @@ describe('BrowserWindow module', () => {
+ expect(w.isFocused()).toBe(false);
});
- ifit(process.platform !== 'linux')('transfers focus status to the next window', async () => {
@@ -60,7 +60,7 @@ $NetBSD$
const w1 = new BrowserWindow({ show: false });
const w2 = new BrowserWindow({ show: false });
const w3 = new BrowserWindow({ show: false });
-@@ -2170,7 +2170,7 @@ describe('BrowserWindow module', () => {
+@@ -2179,7 +2179,7 @@ describe('BrowserWindow module', () => {
});
});
@@ -69,7 +69,7 @@ $NetBSD$
it('checks normal bounds when maximized', async () => {
const bounds = w.getBounds();
const maximize = once(w, 'maximize');
-@@ -2388,7 +2388,7 @@ describe('BrowserWindow module', () => {
+@@ -2398,7 +2398,7 @@ describe('BrowserWindow module', () => {
});
});
@@ -78,7 +78,7 @@ $NetBSD$
it('checks normal bounds when minimized', async () => {
const bounds = w.getBounds();
const minimize = once(w, 'minimize');
-@@ -3497,7 +3497,7 @@ describe('BrowserWindow module', () => {
+@@ -3507,7 +3507,7 @@ describe('BrowserWindow module', () => {
describe('BrowserWindow.setOpacity(opacity)', () => {
afterEach(closeAllWindows);
@@ -86,8 +86,8 @@ $NetBSD$
+ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('Windows and Mac', () => {
it('make window with initial opacity', () => {
const w = new BrowserWindow({ show: false, opacity: 0.5 });
- expect(w.getOpacity()).to.equal(0.5);
-@@ -3523,7 +3523,7 @@ describe('BrowserWindow module', () => {
+ expect(w.getOpacity()).toBe(0.5);
+@@ -3533,7 +3533,7 @@ describe('BrowserWindow module', () => {
});
});
@@ -96,8 +96,8 @@ $NetBSD$
it('sets 1 regardless of parameter', () => {
const w = new BrowserWindow({ show: false });
w.setOpacity(0);
-@@ -3753,7 +3753,7 @@ describe('BrowserWindow module', () => {
- expect(overlayRectPreMax.height).to.equal(size);
+@@ -3763,7 +3763,7 @@ describe('BrowserWindow module', () => {
+ expect(overlayRectPreMax.height).toBe(size);
// 'maximize' event is not emitted on Linux in CI.
- if (process.platform !== 'linux' && !w.isMaximized()) {
@@ -105,8 +105,8 @@ $NetBSD$
const maximize = once(w, 'maximize');
w.show();
w.maximize();
-@@ -3883,7 +3883,7 @@ describe('BrowserWindow module', () => {
- expect(preMaxHeight).to.equal(size);
+@@ -3885,7 +3885,7 @@ describe('BrowserWindow module', () => {
+ expect(preMaxHeight).toBe(size);
// 'maximize' event is not emitted on Linux in CI.
- if (process.platform !== 'linux' && !w.isMaximized()) {
@@ -114,16 +114,16 @@ $NetBSD$
const maximize = once(w, 'maximize');
w.show();
w.maximize();
-@@ -5071,7 +5071,7 @@ describe('BrowserWindow module', () => {
- expect(test.nodeTimers).to.equal(true);
- expect(test.nodeUrl).to.equal(true);
+@@ -5084,7 +5084,7 @@ describe('BrowserWindow module', () => {
+ expect(test.nodeTimers).toBe(true);
+ expect(test.nodeUrl).toBe(true);
- if (process.platform === 'linux' && test.osSandbox) {
+ if ((process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') && test.osSandbox) {
- expect(test.creationTime).to.be.null('creation time');
- expect(test.systemMemoryInfo).to.be.null('system memory info');
+ expect(test.creationTime, 'creation time').toBeNull();
+ expect(test.systemMemoryInfo, 'system memory info').toBeNull();
} else {
-@@ -5587,7 +5587,7 @@ describe('BrowserWindow module', () => {
+@@ -5602,7 +5602,7 @@ describe('BrowserWindow module', () => {
});
});
@@ -132,7 +132,7 @@ $NetBSD$
afterEach(closeAllWindows);
it('emits an event when window is maximized', async () => {
const w = new BrowserWindow({ show: false });
-@@ -5863,7 +5863,7 @@ describe('BrowserWindow module', () => {
+@@ -5878,7 +5878,7 @@ describe('BrowserWindow module', () => {
// TODO(zcbenz):
// This test does not run on Linux CI. See:
// https://github.com/electron/electron/issues/28699
@@ -141,16 +141,16 @@ $NetBSD$
'should bring a minimized maximized window back to maximized state',
async () => {
const w = new BrowserWindow({});
-@@ -5881,7 +5881,7 @@ describe('BrowserWindow module', () => {
+@@ -5896,7 +5896,7 @@ describe('BrowserWindow module', () => {
}
);
-- ifit(process.platform !== 'linux')('should not break fullscreen state', async () => {
-+ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('should not break fullscreen state', async () => {
+- ifit(process.platform !== 'linux')('should not break fullscreen state', { tags: ['serial'] }, async () => {
++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('should not break fullscreen state', { tags: ['serial'] }, async () => {
const w = new BrowserWindow({ show: false });
w.show();
-@@ -5904,7 +5904,7 @@ describe('BrowserWindow module', () => {
+@@ -5919,7 +5919,7 @@ describe('BrowserWindow module', () => {
});
// TODO(dsanders11): Enable once maximize event works on Linux again on CI
@@ -159,7 +159,7 @@ $NetBSD$
afterEach(closeAllWindows);
it('should show the window if it is not currently shown', async () => {
const w = new BrowserWindow({ show: false });
-@@ -5941,7 +5941,7 @@ describe('BrowserWindow module', () => {
+@@ -5956,7 +5956,7 @@ describe('BrowserWindow module', () => {
// TODO(dsanders11): Enable once minimize event works on Linux again.
// See https://github.com/electron/electron/issues/28699
@@ -168,16 +168,16 @@ $NetBSD$
const w = new BrowserWindow();
const minimize = once(w, 'minimize');
w.minimize();
-@@ -6456,7 +6456,7 @@ describe('BrowserWindow module', () => {
+@@ -6476,7 +6476,7 @@ describe('BrowserWindow module', () => {
});
// On Linux there is no "resizable" property of a window.
- ifit(process.platform !== 'linux')('does affect maximizability when disabled and enabled', () => {
+ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('does affect maximizability when disabled and enabled', () => {
const w = new BrowserWindow({ show: false });
- expect(w.resizable).to.be.true('resizable');
+ expect(w.resizable, 'resizable').toBe(true);
-@@ -6697,7 +6697,7 @@ describe('BrowserWindow module', () => {
+@@ -6717,7 +6717,7 @@ describe('BrowserWindow module', () => {
});
});
@@ -186,7 +186,7 @@ $NetBSD$
// Not implemented on Linux.
afterEach(closeAllWindows);
-@@ -8060,7 +8060,7 @@ describe('BrowserWindow module', () => {
+@@ -8084,7 +8084,7 @@ describe('BrowserWindow module', () => {
describe('"transparent" option', { tags: ['serial'] }, () => {
afterEach(closeAllWindows);
diff --git a/electron43/patches/patch-electron_spec_api-clipboard.spec.ts b/electron43/patches/patch-electron_spec_api-clipboard.spec.ts
index c6ba15051b..4cc04e5f5f 100644
--- a/electron43/patches/patch-electron_spec_api-clipboard.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-clipboard.spec.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-clipboard.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-clipboard.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-clipboard.spec.ts
@@ -54,7 +54,7 @@ ifdescribe(process.platform !== 'win32'
});
@@ -26,10 +26,10 @@ $NetBSD$
expect(() => {
@@ -114,7 +114,7 @@ ifdescribe(process.platform !== 'win32'
const readImage = clipboard.readImage();
- expect(readImage.toDataURL()).to.equal(i.toDataURL());
+ expect(readImage.toDataURL()).toBe(i.toDataURL());
- if (process.platform !== 'linux') {
+ if (process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd') {
if (process.platform !== 'win32') {
- expect(clipboard.readBookmark()).to.deep.equal(bookmark);
+ expect(clipboard.readBookmark()).toEqual(bookmark);
} else {
diff --git a/electron43/patches/patch-electron_spec_api-content-tracing.spec.ts b/electron43/patches/patch-electron_spec_api-content-tracing.spec.ts
index 35d70744db..55c18956c0 100644
--- a/electron43/patches/patch-electron_spec_api-content-tracing.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-content-tracing.spec.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-content-tracing.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-content-tracing.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-content-tracing.spec.ts
@@ -23,7 +23,7 @@ const isCI = !!process.env.CI;
const fixturesPath = path.resolve(import.meta.dirname, 'fixtures');
@@ -12,15 +12,15 @@ $NetBSD$
// FIXME: The tests are skipped on linux arm/arm64
-ifdescribe(!['arm', 'arm64'].includes(process.arch) || process.platform !== 'linux')('contentTracing', () => {
+ifdescribe(!['arm', 'arm64'].includes(process.arch) || (process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd'))('contentTracing', () => {
- const record = async (
+ let pendingRecording: Promise<string> | undefined;
+ const record = (
options: TraceConfig | TraceCategoriesAndOptions,
- outputFilePath: string | undefined,
-@@ -114,7 +114,7 @@ ifdescribe(!['arm', 'arm64'].includes(pr
+@@ -118,7 +118,7 @@ ifdescribe(!['arm', 'arm64'].includes(pr
});
});
-- ifdescribe(process.platform !== 'linux')('stopRecording', function () {
-+ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('stopRecording', function () {
- if (process.platform === 'win32' && process.arch === 'arm64') {
- // WOA needs more time
- this.timeout(10e3);
+- ifdescribe(process.platform !== 'linux')('stopRecording', { timeout: recordingTimeout }, () => {
++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('stopRecording', { timeout: recordingTimeout }, () => {
+ // FIXME(samuelmaddock): this test regularly flakes
+ it.skip('does not crash on empty string', async () => {
+ const options = {
diff --git a/electron43/patches/patch-electron_spec_api-crash-reporter.spec.ts b/electron43/patches/patch-electron_spec_api-crash-reporter.spec.ts
index f9c206b4cf..67373b6bd4 100644
--- a/electron43/patches/patch-electron_spec_api-crash-reporter.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-crash-reporter.spec.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-crash-reporter.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-crash-reporter.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-crash-reporter.spec.ts
@@ -14,7 +14,7 @@ import { setTimeout } from 'node:timers/
import { ifdescribe, ifit, defer, startRemoteControlApp, repeatedly, listen } from './lib/spec-helpers.ts';
@@ -21,42 +21,42 @@ $NetBSD$
// 32-bit Linux. Figure out why.
- if (!(process.platform === 'linux' && process.arch === 'ia32')) {
+ if (!((process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') && process.arch === 'ia32')) {
- expect(fields.upload_file_minidump.length).to.be.greaterThan(0);
+ expect(fields.upload_file_minidump.length).toBeGreaterThan(0);
}
}
-@@ -193,7 +193,7 @@ ifdescribe(!isLinuxOnArm && !process.mas
+@@ -191,7 +191,7 @@ ifdescribe(!isLinuxOnArm && !process.mas
- // Ensures that passing in crashpadHandlerPID flag for Linx child processes
- // does not affect child process args.
-- ifit(process.platform === 'linux')('ensure linux child process args are not modified', async () => {
-+ ifit(process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd')('ensure linux child process args are not modified', async () => {
- const { port, waitForCrash } = await startServer();
- let exitCode: number | null = null;
- const appPath = path.join(import.meta.dirname, 'fixtures', 'apps', 'crash');
-@@ -660,7 +660,7 @@ ifdescribe(!isLinuxOnArm && !process.mas
- }
+ // Ensures that passing in crashpadHandlerPID flag for Linx child processes
+ // does not affect child process args.
+- ifit(process.platform === 'linux')('ensure linux child process args are not modified', async () => {
++ ifit(process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd')('ensure linux child process args are not modified', async () => {
+ const { port, waitForCrash } = await startServer();
+ let exitCode: number | null = null;
+ const appPath = path.join(import.meta.dirname, 'fixtures', 'apps', 'crash');
+@@ -653,7 +653,7 @@ ifdescribe(!isLinuxOnArm && !process.mas
+ }
- const processList =
-- process.platform === 'linux'
-+ (process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd')
- ? ['main', 'renderer', 'sandboxed-renderer']
- : ['main', 'renderer', 'sandboxed-renderer', 'node'];
- for (const crashingProcess of processList) {
-@@ -677,7 +677,7 @@ ifdescribe(!isLinuxOnArm && !process.mas
- return app.getPath('crashDumps');
- });
- let reportsDir = crashesDir;
-- if (process.platform === 'darwin' || process.platform === 'linux') {
-+ if (process.platform === 'darwin' || process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') {
- reportsDir = path.join(crashesDir, 'completed');
- } else if (process.platform === 'win32') {
- reportsDir = path.join(crashesDir, 'reports');
-@@ -705,7 +705,7 @@ ifdescribe(!isLinuxOnArm && !process.mas
- expect(remoteCrashesDir).to.equal(crashesDir);
+ const processList =
+- process.platform === 'linux'
++ process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd'
+ ? ['main', 'renderer', 'sandboxed-renderer']
+ : ['main', 'renderer', 'sandboxed-renderer', 'node'];
+ for (const crashingProcess of processList) {
+@@ -670,7 +670,7 @@ ifdescribe(!isLinuxOnArm && !process.mas
+ return app.getPath('crashDumps');
+ });
+ let reportsDir = crashesDir;
+- if (process.platform === 'darwin' || process.platform === 'linux') {
++ if (process.platform === 'darwin' || process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') {
+ reportsDir = path.join(crashesDir, 'completed');
+ } else if (process.platform === 'win32') {
+ reportsDir = path.join(crashesDir, 'reports');
+@@ -698,7 +698,7 @@ ifdescribe(!isLinuxOnArm && !process.mas
+ expect(remoteCrashesDir).toBe(crashesDir);
- let reportsDir = crashesDir;
-- if (process.platform === 'darwin' || process.platform === 'linux') {
-+ if (process.platform === 'darwin' || process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') {
- reportsDir = path.join(crashesDir, 'completed');
- } else if (process.platform === 'win32') {
- reportsDir = path.join(crashesDir, 'reports');
+ let reportsDir = crashesDir;
+- if (process.platform === 'darwin' || process.platform === 'linux') {
++ if (process.platform === 'darwin' || process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') {
+ reportsDir = path.join(crashesDir, 'completed');
+ } else if (process.platform === 'win32') {
+ reportsDir = path.join(crashesDir, 'reports');
diff --git a/electron43/patches/patch-electron_spec_api-desktop-capturer.spec.ts b/electron43/patches/patch-electron_spec_api-desktop-capturer.spec.ts
index c25aff32a8..4bbc758954 100644
--- a/electron43/patches/patch-electron_spec_api-desktop-capturer.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-desktop-capturer.spec.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-desktop-capturer.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-desktop-capturer.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-desktop-capturer.spec.ts
@@ -9,7 +9,7 @@ import { ifdescribe, ifit } from './lib/
import { closeAllWindows } from './lib/window-helpers.ts';
@@ -15,16 +15,16 @@ $NetBSD$
return ['screen'];
}
return ['window', 'screen'];
-@@ -35,7 +35,7 @@ describe('desktopCapturer', { tags: ['se
+@@ -38,7 +38,7 @@ describe('desktopCapturer', { tags: ['se
});
// Linux doesn't return any window sources.
- ifit(process.platform !== 'linux')('responds to subsequent calls of different options', async () => {
+ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('responds to subsequent calls of different options', async () => {
const promise1 = desktopCapturer.getSources({ types: ['window'] });
- await expect(promise1).to.eventually.be.fulfilled();
+ await promise1;
-@@ -44,7 +44,7 @@ describe('desktopCapturer', { tags: ['se
+@@ -47,7 +47,7 @@ describe('desktopCapturer', { tags: ['se
});
// Linux doesn't return any window sources.
@@ -33,7 +33,7 @@ $NetBSD$
const w2 = new BrowserWindow({ width: 200, height: 200 });
await w2.loadURL('about:blank');
-@@ -56,7 +56,7 @@ describe('desktopCapturer', { tags: ['se
+@@ -61,7 +61,7 @@ describe('desktopCapturer', { tags: ['se
}
});
@@ -41,40 +41,40 @@ $NetBSD$
+ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('returns display_ids matching the Screen API', async () => {
const displays = screen.getAllDisplays();
const sources = await desktopCapturer.getSources({ types: ['screen'] });
- expect(sources).to.be.an('array').of.length(displays.length);
-@@ -103,7 +103,7 @@ describe('desktopCapturer', { tags: ['se
+ expect(sources).toBeInstanceOf(Array);
+@@ -111,7 +111,7 @@ describe('desktopCapturer', { tags: ['se
});
// Linux doesn't return any window sources.
-- ifit(process.platform !== 'linux')('getMediaSourceId should match DesktopCapturerSource.id', async function () {
-+ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('getMediaSourceId should match DesktopCapturerSource.id', async function () {
+- ifit(process.platform !== 'linux')('getMediaSourceId should match DesktopCapturerSource.id', async () => {
++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('getMediaSourceId should match DesktopCapturerSource.id', async () => {
const w2 = new BrowserWindow({ show: false, width: 100, height: 100, webPreferences: { contextIsolation: false } });
const wShown = once(w2, 'show');
const wFocused = once(w2, 'focus');
-@@ -127,7 +127,7 @@ describe('desktopCapturer', { tags: ['se
+@@ -136,7 +136,7 @@ describe('desktopCapturer', { tags: ['se
});
// Linux doesn't return any window sources.
-- ifit(process.platform !== 'linux')('getSources should not incorrectly duplicate window_id', async function () {
-+ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('getSources should not incorrectly duplicate window_id', async function () {
+- ifit(process.platform !== 'linux')('getSources should not incorrectly duplicate window_id', async () => {
++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('getSources should not incorrectly duplicate window_id', async () => {
const w2 = new BrowserWindow({ show: false, width: 100, height: 100, webPreferences: { contextIsolation: false } });
const wShown = once(w2, 'show');
const wFocused = once(w2, 'focus');
-@@ -173,7 +173,7 @@ describe('desktopCapturer', { tags: ['se
+@@ -184,7 +184,7 @@ describe('desktopCapturer', { tags: ['se
});
// Linux doesn't return any window sources.
-- ifit(process.platform !== 'linux')('moveAbove should move the window at the requested place', async function () {
-+ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('moveAbove should move the window at the requested place', async function () {
+- ifit(process.platform !== 'linux')('moveAbove should move the window at the requested place', async () => {
++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('moveAbove should move the window at the requested place', async () => {
// DesktopCapturer.getSources() is guaranteed to return in the correct
// z-order from foreground to background.
const MAX_WIN = 4;
-@@ -259,7 +259,7 @@ describe('desktopCapturer', { tags: ['se
- });
+@@ -272,7 +272,7 @@ describe('desktopCapturer', { tags: ['se
// Linux doesn't return any window sources.
-- ifdescribe(process.platform !== 'linux')('fetchWindowIcons', function () {
-+ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('fetchWindowIcons', function () {
- // Tests are sequentially dependent
- this.bail(true);
+ // Tests are sequentially dependent.
+- ifdescribe(process.platform !== 'linux')('fetchWindowIcons', () => {
++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('fetchWindowIcons', () => {
let w: BrowserWindow;
+ let testSource: Electron.DesktopCapturerSource | undefined;
+ let appIcon: Electron.NativeImage | undefined;
diff --git a/electron43/patches/patch-electron_spec_api-dialog.spec.ts b/electron43/patches/patch-electron_spec_api-dialog.spec.ts
index 1622586153..04308b0cfe 100644
--- a/electron43/patches/patch-electron_spec_api-dialog.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-dialog.spec.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-dialog.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-dialog.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-dialog.spec.ts
@@ -1046,7 +1046,7 @@ describe('dialog module', () => {
// FileChooser that script/dbus_mock.py hosts on the fake session bus. The
diff --git a/electron43/patches/patch-electron_spec_api-media-handler.spec.ts b/electron43/patches/patch-electron_spec_api-media-handler.spec.ts
index f6f82a8bbf..841a5171ec 100644
--- a/electron43/patches/patch-electron_spec_api-media-handler.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-media-handler.spec.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-media-handler.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-media-handler.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-media-handler.spec.ts
@@ -64,7 +64,7 @@ describe('setDisplayMediaRequestHandler'
@@ -13,5 +13,5 @@ $NetBSD$
- ifit(process.platform !== 'linux')(
+ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')(
'honors the restrictOwnAudio constraint when granted loopback audio',
- async function () {
+ async (ctx) => {
if ((await desktopCapturer.getSources({ types: ['screen'] })).length === 0) {
diff --git a/electron43/patches/patch-electron_spec_api-menu.spec.ts b/electron43/patches/patch-electron_spec_api-menu.spec.ts
index c04715ae54..ef343f0865 100644
--- a/electron43/patches/patch-electron_spec_api-menu.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-menu.spec.ts
@@ -1,17 +1,17 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-menu.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-menu.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-menu.spec.ts
-@@ -955,7 +955,7 @@ describe('Menu module', function () {
+@@ -959,7 +959,7 @@ describe('Menu module', () => {
// https://github.com/electron/electron/issues/35724
// Maximizing window is enough to trigger the bug
// FIXME(dsanders11): Test always passes on CI, even pre-fix
-- ifit(process.platform === 'linux' && !process.env.CI)('does not trigger issue #35724', (done) => {
-+ ifit((process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') && !process.env.CI)('does not trigger issue #35724', (done) => {
- const showAndCloseMenu = async () => {
- await setTimeout(1000);
- menu.popup({ window: w, x: 50, y: 50 });
+- ifit(process.platform === 'linux' && !process.env.CI)(
++ ifit((process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') && !process.env.CI)(
+ 'does not trigger issue #35724',
+ () =>
+ new Promise<void>((resolve, reject) => {
diff --git a/electron43/patches/patch-electron_spec_api-native-image.spec.ts b/electron43/patches/patch-electron_spec_api-native-image.spec.ts
index 2503dfad7c..cdfd73004a 100644
--- a/electron43/patches/patch-electron_spec_api-native-image.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-native-image.spec.ts
@@ -1,12 +1,12 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-native-image.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-native-image.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-native-image.spec.ts
-@@ -570,7 +570,7 @@ describe('nativeImage module', () => {
+@@ -569,7 +569,7 @@ describe('nativeImage module', () => {
});
});
diff --git a/electron43/patches/patch-electron_spec_api-net-log.spec.ts b/electron43/patches/patch-electron_spec_api-net-log.spec.ts
index 8b2b4a494b..cfa4b5b8a7 100644
--- a/electron43/patches/patch-electron_spec_api-net-log.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-net-log.spec.ts
@@ -1,13 +1,13 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-net-log.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-net-log.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-net-log.spec.ts
-@@ -129,7 +129,7 @@ describe('netLog module', () => {
- ).to.be.true('uuid present in dump');
+@@ -137,7 +137,7 @@ describe('netLog module', () => {
+ ).toBe(true);
});
- ifit(process.platform !== 'linux')(
@@ -15,7 +15,7 @@ $NetBSD$
'should begin and end logging automatically when --log-net-log is passed',
async () => {
const appProcess = ChildProcess.spawn(process.execPath, [appPath], {
-@@ -144,7 +144,7 @@ describe('netLog module', () => {
+@@ -152,7 +152,7 @@ describe('netLog module', () => {
}
);
@@ -24,7 +24,7 @@ $NetBSD$
'should begin and end logging automatically when --log-net-log is passed, and behave correctly when .startLogging() and .stopLogging() is called',
async () => {
const appProcess = ChildProcess.spawn(process.execPath, [appPath], {
-@@ -162,7 +162,7 @@ describe('netLog module', () => {
+@@ -170,7 +170,7 @@ describe('netLog module', () => {
}
);
diff --git a/electron43/patches/patch-electron_spec_api-notification-dbus.spec.ts b/electron43/patches/patch-electron_spec_api-notification-dbus.spec.ts
index ba4ee8f903..3a124bff9e 100644
--- a/electron43/patches/patch-electron_spec_api-notification-dbus.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-notification-dbus.spec.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-notification-dbus.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-notification-dbus.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-notification-dbus.spec.ts
@@ -24,7 +24,7 @@ const require = createRequire(import.met
const fixturesPath = path.join(import.meta.dirname, 'fixtures');
diff --git a/electron43/patches/patch-electron_spec_api-power-monitor.spec.ts b/electron43/patches/patch-electron_spec_api-power-monitor.spec.ts
index d723e38d21..e1309fc041 100644
--- a/electron43/patches/patch-electron_spec_api-power-monitor.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-power-monitor.spec.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-power-monitor.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-power-monitor.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-power-monitor.spec.ts
@@ -21,7 +21,7 @@ const require = createRequire(import.met
describe('powerMonitor', { tags: ['serial'] }, () => {
@@ -14,4 +14,4 @@ $NetBSD$
+ ifdescribe((process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') && process.env.DBUS_SYSTEM_BUS_ADDRESS != null)(
'when powerMonitor module is loaded with dbus mock',
() => {
- before(async () => {
+ beforeAll(async () => {
diff --git a/electron43/patches/patch-electron_spec_api-process.spec.ts b/electron43/patches/patch-electron_spec_api-process.spec.ts
index 26c3b835c8..22885c82b1 100644
--- a/electron43/patches/patch-electron_spec_api-process.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-process.spec.ts
@@ -1,30 +1,30 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-process.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-process.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-process.spec.ts
-@@ -43,7 +43,7 @@ describe('process module', () => {
+@@ -44,7 +44,7 @@ describe('process module', () => {
it('resolves promise successfully with valid data', async () => {
const memoryInfo = await invoke(() => process.getProcessMemoryInfo());
- expect(memoryInfo).to.be.an('object');
+ expect(memoryInfo).toBeTypeOf('object');
- if (process.platform === 'linux' || process.platform === 'win32') {
+ if (process.platform === 'linux' || process.platform === 'win32' || process.platform === 'freebsd' || process.platform === 'netbsd') {
- expect(memoryInfo.residentSet).to.be.a('number').greaterThan(0);
+ expect(memoryInfo.residentSet).toBeTypeOf('number');
+ expect(memoryInfo.residentSet).toBeGreaterThan(0);
}
- expect(memoryInfo.private).to.be.a('number').greaterThan(0);
-@@ -57,7 +57,7 @@ describe('process module', () => {
+@@ -61,7 +61,7 @@ describe('process module', () => {
const systemMemoryInfo = await invoke(() => process.getSystemMemoryInfo());
- expect(systemMemoryInfo.free).to.be.a('number');
- expect(systemMemoryInfo.total).to.be.a('number');
+ expect(systemMemoryInfo.free).toBeTypeOf('number');
+ expect(systemMemoryInfo.total).toBeTypeOf('number');
- if (process.platform === 'linux') {
+ if (process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') {
- expect(systemMemoryInfo.available).to.be.a('number').greaterThan(0);
+ expect(systemMemoryInfo.available).toBeTypeOf('number');
+ expect(systemMemoryInfo.available).toBeGreaterThan(0);
}
- });
-@@ -136,7 +136,7 @@ describe('process module', () => {
+@@ -141,7 +141,7 @@ describe('process module', () => {
generateSpecs((fn, ...args) => fn(...args));
});
diff --git a/electron43/patches/patch-electron_spec_api-safe-storage.spec.ts b/electron43/patches/patch-electron_spec_api-safe-storage.spec.ts
index ec9a76e106..7daf334f89 100644
--- a/electron43/patches/patch-electron_spec_api-safe-storage.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-safe-storage.spec.ts
@@ -1,26 +1,26 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-safe-storage.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-safe-storage.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-safe-storage.spec.ts
-@@ -15,7 +15,7 @@ chai.use(chaiAsPromised);
+@@ -11,7 +11,7 @@ import { ifdescribe } from './lib/spec-h
describe('safeStorage module', () => {
- before(() => {
+ beforeAll(() => {
- if (process.platform === 'linux') {
+ if (process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') {
safeStorage.setUsePlainTextEncryption(true);
}
});
-@@ -33,7 +33,7 @@ describe('safeStorage module', () => {
+@@ -29,7 +29,7 @@ describe('safeStorage module', () => {
});
});
- ifdescribe(process.platform === 'linux')('SafeStorage.getSelectedStorageBackend()', () => {
+ ifdescribe(process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd')('SafeStorage.getSelectedStorageBackend()', () => {
it('should return a valid backend', () => {
- expect(safeStorage.getSelectedStorageBackend()).to.equal('basic_text');
+ expect(safeStorage.getSelectedStorageBackend()).toBe('basic_text');
});
diff --git a/electron43/patches/patch-electron_spec_api-screen.spec.ts b/electron43/patches/patch-electron_spec_api-screen.spec.ts
index 1a45c1a85b..d73eb9e33f 100644
--- a/electron43/patches/patch-electron_spec_api-screen.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-screen.spec.ts
@@ -1,35 +1,35 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-screen.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-screen.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-screen.spec.ts
-@@ -95,7 +95,7 @@ describe('screen module', { tags: ['seri
+@@ -97,7 +97,7 @@ describe('screen module', { tags: ['seri
const { size } = display!;
- if (process.platform === 'linux') {
+ if (process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') {
- expect(size).to.have.property('width').that.is.a('number');
- expect(size).to.have.property('height').that.is.a('number');
+ expect(size).toHaveProperty('width', expect.any(Number));
+ expect(size).toHaveProperty('height', expect.any(Number));
} else {
-@@ -109,7 +109,7 @@ describe('screen module', { tags: ['seri
+@@ -113,7 +113,7 @@ describe('screen module', { tags: ['seri
const { workAreaSize } = display!;
- if (process.platform === 'linux') {
+ if (process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') {
- expect(workAreaSize).to.have.property('width').that.is.a('number');
- expect(workAreaSize).to.have.property('height').that.is.a('number');
+ expect(workAreaSize).toHaveProperty('width', expect.any(Number));
+ expect(workAreaSize).toHaveProperty('height', expect.any(Number));
} else {
-@@ -125,7 +125,7 @@ describe('screen module', { tags: ['seri
- expect(bounds).to.have.property('x').that.is.a('number');
- expect(bounds).to.have.property('y').that.is.a('number');
+@@ -131,7 +131,7 @@ describe('screen module', { tags: ['seri
+ expect(bounds).toHaveProperty('x', expect.any(Number));
+ expect(bounds).toHaveProperty('y', expect.any(Number));
- if (process.platform === 'linux') {
+ if (process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') {
- expect(bounds).to.have.property('width').that.is.a('number');
- expect(bounds).to.have.property('height').that.is.a('number');
+ expect(bounds).toHaveProperty('width', expect.any(Number));
+ expect(bounds).toHaveProperty('height', expect.any(Number));
} else {
diff --git a/electron43/patches/patch-electron_spec_api-shell.spec.ts b/electron43/patches/patch-electron_spec_api-shell.spec.ts
index 2a8ebe69a6..14d34d82ff 100644
--- a/electron43/patches/patch-electron_spec_api-shell.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-shell.spec.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-shell.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-shell.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-shell.spec.ts
@@ -37,7 +37,7 @@ describe('shell module', () => {
diff --git a/electron43/patches/patch-electron_spec_api-subframe.spec.ts b/electron43/patches/patch-electron_spec_api-subframe.spec.ts
index 6ea16de4e4..7f6d1aa5b4 100644
--- a/electron43/patches/patch-electron_spec_api-subframe.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-subframe.spec.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-subframe.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-subframe.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-subframe.spec.ts
@@ -254,7 +254,7 @@ describe('subframe with non-standard sch
});
diff --git a/electron43/patches/patch-electron_spec_api-system-preferences.spec.ts b/electron43/patches/patch-electron_spec_api-system-preferences.spec.ts
index d0f63b1b59..82985586f5 100644
--- a/electron43/patches/patch-electron_spec_api-system-preferences.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-system-preferences.spec.ts
@@ -1,12 +1,12 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-system-preferences.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-system-preferences.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-system-preferences.spec.ts
-@@ -5,8 +5,8 @@ import { expect } from 'chai';
+@@ -5,8 +5,8 @@ import { describe, expect, it } from 'vi
import { ifdescribe, ifit } from './lib/spec-helpers.ts';
describe('systemPreferences module', () => {
diff --git a/electron43/patches/patch-electron_spec_api-tray.spec.ts b/electron43/patches/patch-electron_spec_api-tray.spec.ts
index 15bf033955..f42283e61f 100644
--- a/electron43/patches/patch-electron_spec_api-tray.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-tray.spec.ts
@@ -1,33 +1,33 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-tray.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-tray.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-tray.spec.ts
@@ -32,13 +32,13 @@ describe('tray module', { tags: ['serial
- }).to.throw(/Failed to load image from path (.+)/);
+ }).toThrow(/Failed to load image from path (.+)/);
});
- ifit(process.platform !== 'linux')('throws a descriptive error if an invalid guid is given', () => {
+ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('throws a descriptive error if an invalid guid is given', () => {
expect(() => {
tray = new Tray(nativeImage.createEmpty(), 'I am not a guid');
- }).to.throw('Invalid GUID format');
+ }).toThrow('Invalid GUID format');
});
- ifit(process.platform !== 'linux')('accepts a valid guid', () => {
+ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('accepts a valid guid', () => {
expect(() => {
tray = new Tray(nativeImage.createEmpty(), '0019A433-3526-48BA-A66C-676742C0FEFB');
- }).to.not.throw();
+ }).not.toThrow();
@@ -139,7 +139,7 @@ describe('tray module', { tags: ['serial
tray.destroy();
});
-- ifit(process.platform !== 'linux')('returns a bounds object', function () {
-+ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('returns a bounds object', function () {
+- ifit(process.platform !== 'linux')('returns a bounds object', () => {
++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('returns a bounds object', () => {
const bounds = tray.getBounds();
- expect(bounds).to.be.an('object').and.to.have.all.keys('x', 'y', 'width', 'height');
- });
+ expect(bounds).toBeTypeOf('object');
+ expect(Object.keys(bounds).sort()).toEqual(['height', 'width', 'x', 'y']);
diff --git a/electron43/patches/patch-electron_spec_api-utility-process.spec.ts b/electron43/patches/patch-electron_spec_api-utility-process.spec.ts
index 4e196016b0..9b6c1b828a 100644
--- a/electron43/patches/patch-electron_spec_api-utility-process.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-utility-process.spec.ts
@@ -1,13 +1,13 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-utility-process.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-utility-process.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-utility-process.spec.ts
-@@ -618,7 +618,7 @@ describe('utilityProcess module', () =>
- expect(output).to.include(result);
+@@ -638,7 +638,7 @@ describe('utilityProcess module', () =>
+ expect(output).toContain(result);
});
- ifit(process.platform !== 'linux')('can access exposed main process modules from the utility process', async () => {
@@ -15,7 +15,7 @@ $NetBSD$
const message = 'Message from utility process';
const child = utilityProcess.fork(path.join(fixturesPath, 'expose-main-process-module.js'));
await once(child, 'spawn');
-@@ -655,7 +655,7 @@ describe('utilityProcess module', () =>
+@@ -675,7 +675,7 @@ describe('utilityProcess module', () =>
await closeWindow(w);
});
diff --git a/electron43/patches/patch-electron_spec_api-web-contents.spec.ts b/electron43/patches/patch-electron_spec_api-web-contents.spec.ts
index 9dc9cf2e27..526550822e 100644
--- a/electron43/patches/patch-electron_spec_api-web-contents.spec.ts
+++ b/electron43/patches/patch-electron_spec_api-web-contents.spec.ts
@@ -1,21 +1,21 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/api-web-contents.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/api-web-contents.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/api-web-contents.spec.ts
-@@ -1643,7 +1643,7 @@ describe('webContents module', () => {
+@@ -1631,7 +1631,7 @@ describe('webContents module', () => {
// back to OpenFolder() which does a blocking DirectoryExists() on the UI
// thread (pre-existing behavior). Workspace-gating is covered by the test
// above.
- ifit(process.platform !== 'linux')(
+ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')(
'reveals paths under a registered workspace folder without executing them',
- async () => {
- const w = new BrowserWindow({ show: false });
-@@ -4301,7 +4301,7 @@ describe('webContents module', () => {
+ // Opens a real Finder/Explorer window, which takes focus and stays open.
+ { tags: ['serial'] },
+@@ -4309,7 +4309,7 @@ describe('webContents module', () => {
});
// TODO(codebytere): OOPIF printing is disabled on Linux at the moment due to crashes.
diff --git a/electron43/patches/patch-electron_spec_chromium.spec.ts b/electron43/patches/patch-electron_spec_chromium.spec.ts
index 9d3208f3ea..a6d9ea9281 100644
--- a/electron43/patches/patch-electron_spec_chromium.spec.ts
+++ b/electron43/patches/patch-electron_spec_chromium.spec.ts
@@ -1,19 +1,19 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/chromium.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/chromium.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/chromium.spec.ts
-@@ -608,15 +608,15 @@ describe('command line switches', () =>
+@@ -611,15 +611,15 @@ describe('command line switches', () =>
testLocale('asdfkl', `${currentLocale}|${currentSystemLocale}|${currentPreferredLanguages}`));
const lcAll = String(process.env.LC_ALL);
- ifit(process.platform === 'linux')('current process has a valid LC_ALL env', async () => {
+ ifit(process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd')('current process has a valid LC_ALL env', async () => {
// The LC_ALL env should not be set to DOM locale string.
- expect(lcAll).to.not.equal(app.getLocale());
+ expect(lcAll).not.toBe(app.getLocale());
});
- ifit(process.platform === 'linux')('should not change LC_ALL', async () => testLocale('fr', lcAll, true));
- ifit(process.platform === 'linux')('should not change LC_ALL when setting invalid locale', async () =>
@@ -26,22 +26,22 @@ $NetBSD$
testLocale('', lcAll, true)
);
});
-@@ -4259,12 +4259,12 @@ describe('font fallback', () => {
- expect(fonts[0].familyName).to.equal('Arial');
+@@ -4267,12 +4267,12 @@ describe('font fallback', () => {
+ expect(fonts[0].familyName).toBe('Arial');
} else if (process.platform === 'darwin') {
- expect(fonts[0].familyName).to.equal('Helvetica');
+ expect(fonts[0].familyName).toBe('Helvetica');
- } else if (process.platform === 'linux') {
+ } else if (process.platform === 'linux' || process.platform === 'freebsd' || process.platform === 'netbsd') {
- expect(fonts[0].familyName).to.equal('DejaVu Sans');
+ expect(fonts[0].familyName).toBe('DejaVu Sans');
} // I think this depends on the distro? We don't specify a default.
});
-- ifit(process.platform !== 'linux')(
-+ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')(
- 'should fall back to Japanese font for sans-serif Japanese script',
- async function () {
- const html = `
-@@ -5010,7 +5010,7 @@ describe('paste execCommand', { tags: ['
+- ifit(process.platform !== 'linux')('should fall back to Japanese font for sans-serif Japanese script', async () => {
++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('should fall back to Japanese font for sans-serif Japanese script', async () => {
+ const html = `
+ <html lang="ja-JP">
+ <head>
+@@ -5000,7 +5000,7 @@ describe('paste execCommand', { tags: ['
});
});
diff --git a/electron43/patches/patch-electron_spec_crash.spec.ts b/electron43/patches/patch-electron_spec_crash.spec.ts
index 4fae5fc01c..16d7d508c8 100644
--- a/electron43/patches/patch-electron_spec_crash.spec.ts
+++ b/electron43/patches/patch-electron_spec_crash.spec.ts
@@ -1,12 +1,12 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/crash.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/crash.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/crash.spec.ts
-@@ -53,7 +53,7 @@ const shouldRunCase = (crashCase: string
+@@ -54,7 +54,7 @@ const shouldRunCase = (crashCase: string
if (process.platform === 'win32') {
return process.arch !== 'ia32';
} else {
diff --git a/electron43/patches/patch-electron_spec_desktop-name.spec.ts b/electron43/patches/patch-electron_spec_desktop-name.spec.ts
index 65e45d1eef..3a372bb40d 100644
--- a/electron43/patches/patch-electron_spec_desktop-name.spec.ts
+++ b/electron43/patches/patch-electron_spec_desktop-name.spec.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/desktop-name.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/desktop-name.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/desktop-name.spec.ts
@@ -10,7 +10,7 @@ const { defaultDesktopName }: typeof imp
'../lib/browser/desktop-name.ts'
diff --git a/electron43/patches/patch-electron_spec_fixtures_api_safe-storage_decrypt-app_main.js b/electron43/patches/patch-electron_spec_fixtures_api_safe-storage_decrypt-app_main.js
index 25c1777d52..02252c14b3 100644
--- a/electron43/patches/patch-electron_spec_fixtures_api_safe-storage_decrypt-app_main.js
+++ b/electron43/patches/patch-electron_spec_fixtures_api_safe-storage_decrypt-app_main.js
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/fixtures/api/safe-storage/decrypt-app/main.js.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/fixtures/api/safe-storage/decrypt-app/main.js.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/fixtures/api/safe-storage/decrypt-app/main.js
@@ -7,7 +7,7 @@ const pathToEncryptedString = path.resol
const readFile = fs.readFile;
diff --git a/electron43/patches/patch-electron_spec_fixtures_api_safe-storage_encrypt-app_main.js b/electron43/patches/patch-electron_spec_fixtures_api_safe-storage_encrypt-app_main.js
index d3a4a10461..9a024b2fcb 100644
--- a/electron43/patches/patch-electron_spec_fixtures_api_safe-storage_encrypt-app_main.js
+++ b/electron43/patches/patch-electron_spec_fixtures_api_safe-storage_encrypt-app_main.js
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/fixtures/api/safe-storage/encrypt-app/main.js.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/fixtures/api/safe-storage/encrypt-app/main.js.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/fixtures/api/safe-storage/encrypt-app/main.js
@@ -7,7 +7,7 @@ const pathToEncryptedString = path.resol
const writeFile = fs.writeFile;
diff --git a/electron43/patches/patch-electron_spec_fixtures_native-addon_uv-dlopen_index.js b/electron43/patches/patch-electron_spec_fixtures_native-addon_uv-dlopen_index.js
index 6646581691..6b1007cdca 100644
--- a/electron43/patches/patch-electron_spec_fixtures_native-addon_uv-dlopen_index.js
+++ b/electron43/patches/patch-electron_spec_fixtures_native-addon_uv-dlopen_index.js
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/fixtures/native-addon/uv-dlopen/index.js.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/fixtures/native-addon/uv-dlopen/index.js.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/fixtures/native-addon/uv-dlopen/index.js
@@ -4,7 +4,7 @@ const testLoadLibrary = require('./build
diff --git a/electron43/patches/patch-electron_spec_lib_spec-helpers.ts b/electron43/patches/patch-electron_spec_lib_spec-helpers.ts
index fce34ca12f..21930097a2 100644
--- a/electron43/patches/patch-electron_spec_lib_spec-helpers.ts
+++ b/electron43/patches/patch-electron_spec_lib_spec-helpers.ts
@@ -1,13 +1,13 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/lib/spec-helpers.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/lib/spec-helpers.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/lib/spec-helpers.ts
-@@ -29,7 +29,7 @@ export const ifit = (condition: boolean)
- export const ifdescribe = (condition: boolean) => (condition ? describe : addOnly<SuiteFunction>(describe.skip));
+@@ -19,7 +19,7 @@ export const ifit = (condition: boolean)
+ export const ifdescribe = (condition: boolean) => (condition ? describe : describe.skip);
export const isWayland =
- process.platform === 'linux' &&
diff --git a/electron43/patches/patch-electron_spec_node.spec.ts b/electron43/patches/patch-electron_spec_node.spec.ts
index d77526b94e..00e1886c6a 100644
--- a/electron43/patches/patch-electron_spec_node.spec.ts
+++ b/electron43/patches/patch-electron_spec_node.spec.ts
@@ -1,12 +1,12 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/node.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/node.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/node.spec.ts
-@@ -221,7 +221,7 @@ describe('node feature', () => {
+@@ -224,7 +224,7 @@ describe('node feature', () => {
});
describe('child_process.exec', () => {
diff --git a/electron43/patches/patch-electron_spec_spellchecker.spec.ts b/electron43/patches/patch-electron_spec_spellchecker.spec.ts
index 68902db62e..b3cfbe8b6e 100644
--- a/electron43/patches/patch-electron_spec_spellchecker.spec.ts
+++ b/electron43/patches/patch-electron_spec_spellchecker.spec.ts
@@ -1,13 +1,13 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/spellchecker.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/spellchecker.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/spellchecker.spec.ts
-@@ -91,7 +91,7 @@ ifdescribe(features.isBuiltinSpellChecke
- });
+@@ -92,7 +92,7 @@ ifdescribe(features.isBuiltinSpellChecke
+ }, timeout);
// Context menu test can not run on Windows or Linux (https://github.com/electron/electron/pull/48657 broke linux).
- const shouldRun = process.platform !== 'win32' && process.platform !== 'linux';
diff --git a/electron43/patches/patch-electron_spec_visibility-state.spec.ts b/electron43/patches/patch-electron_spec_visibility-state.spec.ts
index 80b14b2e3c..b212998a26 100644
--- a/electron43/patches/patch-electron_spec_visibility-state.spec.ts
+++ b/electron43/patches/patch-electron_spec_visibility-state.spec.ts
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/visibility-state.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/visibility-state.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/visibility-state.spec.ts
@@ -19,7 +19,7 @@ import { closeAllWindows } from './lib/w
@@ -14,4 +14,4 @@ $NetBSD$
+ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd' && process.platform !== 'netbsd')('document.visibilityState', () => {
let w: BaseWindow & { webContents: WebContents };
- before(() => {
+ beforeAll(() => {
diff --git a/electron43/patches/patch-electron_spec_webview.spec.ts b/electron43/patches/patch-electron_spec_webview.spec.ts
index 75b8951fcd..38cfc7329c 100644
--- a/electron43/patches/patch-electron_spec_webview.spec.ts
+++ b/electron43/patches/patch-electron_spec_webview.spec.ts
@@ -1,12 +1,12 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- electron/spec/webview.spec.ts.orig 2026-10-06 22:48:58.000000000 +0000
+--- electron/spec/webview.spec.ts.orig 2026-10-16 03:32:58.000000000 +0000
+++ electron/spec/webview.spec.ts
-@@ -617,7 +617,7 @@ describe('<webview> tag', function () {
+@@ -626,7 +626,7 @@ describe('<webview> tag', () => {
});
// FIXME(zcbenz): Fullscreen events do not work on Linux.
diff --git a/electron43/patches/patch-net_dns_dns__config__service__posix.cc b/electron43/patches/patch-net_dns_dns__config__service__posix.cc
index 914e3fca02..d1d4576694 100644
--- a/electron43/patches/patch-net_dns_dns__config__service__posix.cc
+++ b/electron43/patches/patch-net_dns_dns__config__service__posix.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- net/dns/dns_config_service_posix.cc.orig 2026-10-13 15:23:12.816437074 +0000
+--- net/dns/dns_config_service_posix.cc.orig 2026-10-20 08:24:51.527578577 +0000
+++ net/dns/dns_config_service_posix.cc
@@ -146,6 +146,7 @@ class DnsConfigServicePosix::Watcher : p
#endif
diff --git a/electron43/patches/patch-rollup_rust_bindings__napi_Cargo.toml b/electron43/patches/patch-rollup_rust_bindings__napi_Cargo.toml
index 62239a62cb..8e5d95cf7d 100644
--- a/electron43/patches/patch-rollup_rust_bindings__napi_Cargo.toml
+++ b/electron43/patches/patch-rollup_rust_bindings__napi_Cargo.toml
@@ -1,8 +1,8 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
--- rollup/rust/bindings_napi/Cargo.toml.orig 2026-05-14 17:17:51.000000000 +0000
+++ rollup/rust/bindings_napi/Cargo.toml
diff --git a/electron43/patches/patch-rollup_rust_bindings__napi_src_lib.rs b/electron43/patches/patch-rollup_rust_bindings__napi_src_lib.rs
index c404fa526c..764e3dcb07 100644
--- a/electron43/patches/patch-rollup_rust_bindings__napi_src_lib.rs
+++ b/electron43/patches/patch-rollup_rust_bindings__napi_src_lib.rs
@@ -1,8 +1,8 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
--- rollup/rust/bindings_napi/src/lib.rs.orig 2026-05-14 17:17:51.000000000 +0000
+++ rollup/rust/bindings_napi/src/lib.rs
diff --git a/electron43/patches/patch-third__party_electron__node_common.gypi b/electron43/patches/patch-third__party_electron__node_common.gypi
new file mode 100644
index 0000000000..3e279a02ea
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_common.gypi
@@ -0,0 +1,22 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/common.gypi.orig 2026-10-20 08:24:53.471242259 +0000
++++ third_party/electron_node/common.gypi
+@@ -602,11 +602,11 @@
+ 'NOMINMAX',
+ ],
+ }],
+- [ 'OS in "linux freebsd openbsd solaris aix os400 openharmony"', {
++ [ 'OS in "linux freebsd netbsd openbsd solaris aix os400 openharmony"', {
+ 'cflags': [ '-pthread' ],
+ 'ldflags': [ '-pthread' ],
+ }],
+- [ 'OS in "linux freebsd openbsd solaris android aix os400 cloudabi openharmony"', {
++ [ 'OS in "linux freebsd netbsd openbsd solaris android aix os400 cloudabi openharmony"', {
+ 'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ],
+ 'cflags_cc': [
+ '-fno-rtti',
diff --git a/electron43/patches/patch-third__party_electron__node_deps_cares_cares.gyp b/electron43/patches/patch-third__party_electron__node_deps_cares_cares.gyp
new file mode 100644
index 0000000000..05a65686b3
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_deps_cares_cares.gyp
@@ -0,0 +1,19 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/deps/cares/cares.gyp.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/deps/cares/cares.gyp
+@@ -231,6 +231,10 @@
+ 'include_dirs': [ 'config/freebsd' ],
+ 'sources': [ 'config/freebsd/ares_config.h' ]
+ }],
++ [ 'OS=="netbsd"', {
++ 'include_dirs': [ 'config/netbsd' ],
++ 'sources': [ 'config/netbsd/ares_config.h' ]
++ }],
+ [ 'OS=="openbsd"', {
+ 'include_dirs': [ 'config/openbsd' ],
+ 'sources': [ 'config/openbsd/ares_config.h' ]
diff --git a/electron43/patches/patch-third__party_electron__node_deps_cares_config_netbsd_ares__config.h b/electron43/patches/patch-third__party_electron__node_deps_cares_config_netbsd_ares__config.h
new file mode 100644
index 0000000000..e68fd803f9
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_deps_cares_config_netbsd_ares__config.h
@@ -0,0 +1,24 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/deps/cares/config/netbsd/ares_config.h.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/deps/cares/config/netbsd/ares_config.h
+@@ -119,7 +119,7 @@
+ /* #undef HAVE_GETRANDOM */
+
+ /* Define to 1 if you have `getservbyport_r` */
+-#define HAVE_GETSERVBYPORT_R 1
++/*#define HAVE_GETSERVBYPORT_R 1*/
+
+ /* Define to 1 if you have `gettimeofday` */
+ #define HAVE_GETTIMEOFDAY 1
+@@ -580,4 +580,4 @@
+ /* #undef __MINGW_USE_VC2005_COMPAT */
+
+ /* Define as 'unsigned int' if <stddef.h> doesn't define. */
+-/* #undef size_t */
+\ No newline at end of file
++/* #undef size_t */
diff --git a/electron43/patches/patch-third__party_electron__node_deps_cares_unofficial.gni b/electron43/patches/patch-third__party_electron__node_deps_cares_unofficial.gni
index 3ba22a6e21..3810957899 100644
--- a/electron43/patches/patch-third__party_electron__node_deps_cares_unofficial.gni
+++ b/electron43/patches/patch-third__party_electron__node_deps_cares_unofficial.gni
@@ -1,44 +1,32 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- third_party/electron_node/deps/cares/unofficial.gni.orig 2026-09-07 09:57:40.000000000 +0000
+--- third_party/electron_node/deps/cares/unofficial.gni.orig 2026-10-13 14:09:48.000000000 +0000
+++ third_party/electron_node/deps/cares/unofficial.gni
-@@ -44,10 +44,14 @@ template("cares_gn_build") {
- ]
- if (is_win) {
- include_dirs += [ "config/win32" ]
-- } else if (is_linux) {
-+ } else if (is_linux && !is_bsd) {
- include_dirs += [ "config/linux" ]
- } else if (is_mac) {
- include_dirs += [ "config/darwin" ]
-+ } else if (is_freebsd) {
-+ include_dirs += [ "config/freebsd" ]
-+ } else if (is_netbsd) {
-+ include_dirs += [ "config/netbsd" ]
- }
+@@ -60,6 +60,10 @@ template("cares_gn_build") {
+ include_dirs += [ "config/linux" ]
+ } else if (is_mac) {
+ include_dirs += [ "config/darwin" ]
++ } else if (is_freebsd) {
++ include_dirs += [ "config/freebsd" ]
++ } else if (is_netbsd) {
++ include_dirs += [ "config/netbsd" ]
+ }
- if (is_win) {
-@@ -58,12 +62,18 @@ template("cares_gn_build") {
- }
-
- sources = gypi_values.cares_sources_common
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- sources += [ "config/linux/ares_config.h" ]
- }
- if (is_mac) {
- sources += gypi_values.cares_sources_mac
- }
-+ if (is_freebsd) {
-+ sources += [ "config/freebsd/ares_config.h" ]
-+ }
-+ if (is_netbsd) {
-+ sources += [ "config/netbsd/ares_config.h" ]
-+ }
-
- if (is_clang) {
if (is_win) {
+@@ -76,6 +80,12 @@ template("cares_gn_build") {
+ if (is_mac) {
+ sources += gypi_values.cares_sources_mac
+ }
++ if (is_freebsd) {
++ sources += [ "config/freebsd/ares_config.h" ]
++ }
++ if (is_netbsd) {
++ sources += [ "config/netbsd/ares_config.h" ]
++ }
+
+ if (is_clang) {
+ if (is_win) {
diff --git a/electron43/patches/patch-third__party_electron__node_deps_histogram_src_hdr__histogram.c b/electron43/patches/patch-third__party_electron__node_deps_histogram_src_hdr__histogram.c
new file mode 100644
index 0000000000..96a6e2a02c
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_deps_histogram_src_hdr__histogram.c
@@ -0,0 +1,19 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/deps/histogram/src/hdr_histogram.c.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/deps/histogram/src/hdr_histogram.c
+@@ -36,8 +36,8 @@
+
+ /* Runtime-dispatched AVX2 path: keep the rest of this TU at the project's
+ baseline ISA so the shipped binary does not silently require AVX2. */
+-#if (defined(__x86_64__) || defined(_M_X64) || defined(__i386__) || defined(_M_IX86)) \
+- && (defined(__GNUC__) || defined(__clang__)) && !defined(__INTEL_COMPILER) && !defined(_MSC_VER)
++#if (defined(__x86_64__) || defined(_M_X64) || defined(_M_IX86)) \
++ && (defined(__GNUC__) || defined(__clang__)) && !defined(__INTEL_COMPILER) && !defined(_MSC_VER)
+ # define HDR_HAS_AVX2_DISPATCH 1
+ # include <immintrin.h>
+ #endif
diff --git a/electron43/patches/patch-third__party_electron__node_deps_histogram_unofficial.gni b/electron43/patches/patch-third__party_electron__node_deps_histogram_unofficial.gni
index f4ae3f84bd..9c94f5658c 100644
--- a/electron43/patches/patch-third__party_electron__node_deps_histogram_unofficial.gni
+++ b/electron43/patches/patch-third__party_electron__node_deps_histogram_unofficial.gni
@@ -1,17 +1,17 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- third_party/electron_node/deps/histogram/unofficial.gni.orig 2026-09-07 09:57:40.000000000 +0000
+--- third_party/electron_node/deps/histogram/unofficial.gni.orig 2026-10-13 14:09:48.000000000 +0000
+++ third_party/electron_node/deps/histogram/unofficial.gni
-@@ -25,7 +25,7 @@ template("histogram_gn_build") {
- "-Wno-unused-function",
- ]
+@@ -37,7 +37,7 @@ template("histogram_gn_build") {
+ "-Wno-unused-function",
+ ]
+ }
+- if (is_linux) {
++ if (is_linux && !is_bsd) {
+ libs = [ "atomic" ]
+ }
}
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- libs = [ "atomic" ]
- }
- }
diff --git a/electron43/patches/patch-third__party_electron__node_deps_openssl_unofficial.gni b/electron43/patches/patch-third__party_electron__node_deps_openssl_unofficial.gni
index c97e46867b..8e56b7d810 100644
--- a/electron43/patches/patch-third__party_electron__node_deps_openssl_unofficial.gni
+++ b/electron43/patches/patch-third__party_electron__node_deps_openssl_unofficial.gni
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- third_party/electron_node/deps/openssl/unofficial.gni.orig 2026-09-07 09:57:40.000000000 +0000
+--- third_party/electron_node/deps/openssl/unofficial.gni.orig 2026-10-13 14:09:48.000000000 +0000
+++ third_party/electron_node/deps/openssl/unofficial.gni
@@ -71,7 +71,7 @@ template("openssl_gn_build") {
}
diff --git a/electron43/patches/patch-third__party_electron__node_deps_uv_common.gypi b/electron43/patches/patch-third__party_electron__node_deps_uv_common.gypi
new file mode 100644
index 0000000000..084fed56b3
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_deps_uv_common.gypi
@@ -0,0 +1,17 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/deps/uv/common.gypi.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/deps/uv/common.gypi
+@@ -135,7 +135,7 @@
+ }]
+ ]
+ }],
+- ['OS in "freebsd dragonflybsd linux openbsd solaris android aix os400"', {
++ ['OS in "freebsd dragonflybsd linux netbsd openbsd solaris android aix os400"', {
+ 'cflags': [ '-Wall' ],
+ 'cflags_cc': [ '-fno-rtti', '-fno-exceptions' ],
+ 'target_conditions': [
diff --git a/electron43/patches/patch-third__party_electron__node_deps_uv_src_unix_pipe.c b/electron43/patches/patch-third__party_electron__node_deps_uv_src_unix_pipe.c
index 3e0c5c4a09..40b413908c 100644
--- a/electron43/patches/patch-third__party_electron__node_deps_uv_src_unix_pipe.c
+++ b/electron43/patches/patch-third__party_electron__node_deps_uv_src_unix_pipe.c
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- third_party/electron_node/deps/uv/src/unix/pipe.c.orig 2026-09-07 09:57:40.000000000 +0000
+--- third_party/electron_node/deps/uv/src/unix/pipe.c.orig 2026-10-13 14:09:48.000000000 +0000
+++ third_party/electron_node/deps/uv/src/unix/pipe.c
@@ -208,9 +208,13 @@ int uv_pipe_open(uv_pipe_t* handle, uv_f
if (mode == -1)
diff --git a/electron43/patches/patch-third__party_electron__node_deps_uv_unofficial.gni b/electron43/patches/patch-third__party_electron__node_deps_uv_unofficial.gni
index 2fe66665f5..609ad7e6f1 100644
--- a/electron43/patches/patch-third__party_electron__node_deps_uv_unofficial.gni
+++ b/electron43/patches/patch-third__party_electron__node_deps_uv_unofficial.gni
@@ -1,49 +1,60 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- third_party/electron_node/deps/uv/unofficial.gni.orig 2026-09-07 09:57:40.000000000 +0000
+--- third_party/electron_node/deps/uv/unofficial.gni.orig 2026-10-13 14:09:48.000000000 +0000
+++ third_party/electron_node/deps/uv/unofficial.gni
-@@ -27,7 +27,7 @@ template("uv_gn_build") {
- "_FILE_OFFSET_BITS=64",
- ]
+@@ -39,7 +39,7 @@ template("uv_gn_build") {
+ "_FILE_OFFSET_BITS=64",
+ ]
+ }
+- if (is_linux) {
++ if (is_linux && !is_bsd) {
+ defines += [
+ "_POSIX_C_SOURCE=200112",
+ "_GNU_SOURCE",
+@@ -108,6 +108,9 @@ template("uv_gn_build") {
+ "rt",
+ ]
+ }
++ if (is_netbsd) {
++ libs += [ "kvm" ]
++ }
+
+ sources = gypi_values.uv_sources_common
+ if (is_win) {
+@@ -117,13 +120,31 @@ template("uv_gn_build") {
+ sources += gypi_values.uv_sources_posix +
+ [ "src/unix/proctitle.c" ]
+ }
+- if (is_linux) {
++ if (is_linux && !is_bsd) {
+ sources += gypi_values.uv_sources_linux
+ }
+ if (is_apple) {
+ sources += gypi_values.uv_sources_apple +
+ gypi_values.uv_sources_bsd_common
+ }
++ if (is_freebsd) {
++ sources += gypi_values.uv_sources_bsd_common + [
++ "src/unix/freebsd.c",
++ "src/unix/random-getrandom.c",
++ "src/unix/posix-hrtime.c",
++ "src/unix/bsd-proctitle.c",
++ ]
++ sources -= [ "src/unix/proctitle.c" ]
++ }
++ if (is_netbsd) {
++ sources += gypi_values.uv_sources_bsd_common + [
++ "src/unix/netbsd.c",
++ "src/unix/random-getrandom.c",
++ "src/unix/posix-hrtime.c",
++ "src/unix/bsd-proctitle.c",
++ ]
++ sources -= [ "src/unix/proctitle.c" ]
++ }
}
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- defines += [
- "_POSIX_C_SOURCE=200112",
- "_GNU_SOURCE",
-@@ -105,12 +105,30 @@ template("uv_gn_build") {
- sources += gypi_values.uv_sources_posix +
- [ "src/unix/proctitle.c" ]
- }
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- sources += gypi_values.uv_sources_linux
- }
- if (is_apple) {
- sources += gypi_values.uv_sources_apple +
- gypi_values.uv_sources_bsd_common
- }
-+ if (is_freebsd) {
-+ sources += gypi_values.uv_sources_bsd_common + [
-+ "src/unix/freebsd.c",
-+ "src/unix/random-getrandom.c",
-+ "src/unix/posix-hrtime.c",
-+ "src/unix/bsd-proctitle.c",
-+ ]
-+ sources -= [ "src/unix/proctitle.c" ]
-+ }
-+ if (is_netbsd) {
-+ sources += gypi_values.uv_sources_bsd_common + [
-+ "src/unix/netbsd.c",
-+ "src/unix/random-getrandom.c",
-+ "src/unix/posix-hrtime.c",
-+ "src/unix/bsd-proctitle.c",
-+ ]
-+ sources -= [ "src/unix/proctitle.c" ]
-+ }
}
}
diff --git a/electron43/patches/patch-third__party_electron__node_deps_uvwasi_include_wasi__serdes.h b/electron43/patches/patch-third__party_electron__node_deps_uvwasi_include_wasi__serdes.h
new file mode 100644
index 0000000000..44dd92be83
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_deps_uvwasi_include_wasi__serdes.h
@@ -0,0 +1,22 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/deps/uvwasi/include/wasi_serdes.h.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/deps/uvwasi/include/wasi_serdes.h
+@@ -3,6 +3,13 @@
+
+ #include "wasi_types.h"
+
++#ifdef __NetBSD__
++#undef uint8_t
++#undef uint16_t
++#undef uint32_t
++#undef uint64_t
++#endif
++
+ /* Basic uint{8,16,32,64}_t read/write functions. */
+
+ #define BASIC_TYPE(name, type) \
diff --git a/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_memory.h b/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_memory.h
new file mode 100644
index 0000000000..23d849a9a5
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_memory.h
@@ -0,0 +1,17 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/deps/v8/src/base/platform/memory.h.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/deps/v8/src/base/platform/memory.h
+@@ -27,7 +27,7 @@
+ #include <malloc.h>
+ #endif
+
+-#if (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS && !V8_OS_ZOS && !V8_OS_OPENBSD) || V8_OS_WIN
++#if (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS && !V8_OS_ZOS && !V8_OS_OPENBSD && !V8_OS_NETBSD) || V8_OS_WIN
+ #define V8_HAS_MALLOC_USABLE_SIZE 1
+ #endif
+
diff --git a/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_platform-freebsd.cc b/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_platform-freebsd.cc
new file mode 100644
index 0000000000..37541f5524
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_platform-freebsd.cc
@@ -0,0 +1,35 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/deps/v8/src/base/platform/platform-freebsd.cc.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/deps/v8/src/base/platform/platform-freebsd.cc
+@@ -48,7 +48,7 @@ static unsigned StringToLong(char* buffe
+ }
+
+ std::vector<OS::SharedLibraryAddress> OS::GetSharedLibraryAddresses() {
+- std::vector<SharedLibraryAddress> result;
++ std::vector<SharedLibraryAddress> address_result;
+ int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_VMMAP, getpid()};
+ size_t miblen = sizeof(mib) / sizeof(mib[0]);
+ size_t buffer_size;
+@@ -81,7 +81,7 @@ std::vector<OS::SharedLibraryAddress> OS
+ } else {
+ lib_name = std::string(path);
+ }
+- result.push_back(SharedLibraryAddress(
++ address_result.push_back(SharedLibraryAddress(
+ lib_name, reinterpret_cast<uintptr_t>(map->kve_start),
+ reinterpret_cast<uintptr_t>(map->kve_end)));
+ }
+@@ -90,7 +90,7 @@ std::vector<OS::SharedLibraryAddress> OS
+ }
+ }
+ }
+- return result;
++ return address_result;
+ }
+
+ void OS::SignalCodeMovingGC() {}
diff --git a/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_platform-openbsd.cc b/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_platform-openbsd.cc
new file mode 100644
index 0000000000..f4548f3f30
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_platform-openbsd.cc
@@ -0,0 +1,57 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/deps/v8/src/base/platform/platform-openbsd.cc.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/deps/v8/src/base/platform/platform-openbsd.cc
+@@ -34,6 +34,48 @@
+ namespace v8 {
+ namespace base {
+
++#ifdef __arm__
++
++bool OS::ArmUsingHardFloat() {
++ // GCC versions 4.6 and above define __ARM_PCS or __ARM_PCS_VFP to specify
++ // the Floating Point ABI used (PCS stands for Procedure Call Standard).
++ // We use these as well as a couple of other defines to statically determine
++ // what FP ABI used.
++ // GCC versions 4.4 and below don't support hard-fp.
++ // GCC versions 4.5 may support hard-fp without defining __ARM_PCS or
++ // __ARM_PCS_VFP.
++
++#define GCC_VERSION (__GNUC__ * 10000 \
++ + __GNUC_MINOR__ * 100 \
++ + __GNUC_PATCHLEVEL__)
++#if GCC_VERSION >= 40600
++#if defined(__ARM_PCS_VFP)
++ return true;
++#else
++ return false;
++#endif
++
++#elif GCC_VERSION < 40500
++ return false;
++
++#else
++#if defined(__ARM_PCS_VFP)
++ return true;
++#elif defined(__ARM_PCS) || defined(__SOFTFP__) || defined(__SOFTFP) || \
++ !defined(__VFP_FP__)
++ return false;
++#else
++#error "Your version of GCC does not report the FP ABI compiled for." \
++ "Please report it on this issue" \
++ "http://code.google.com/p/v8/issues/detail?id=2140"
++
++#endif
++#endif
++#undef GCC_VERSION
++}
++
++#endif // def __arm__
++
+ TimezoneCache* OS::CreateTimezoneCache() {
+ return new PosixDefaultTimezoneCache();
+ }
diff --git a/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_platform-posix.cc b/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_platform-posix.cc
new file mode 100644
index 0000000000..e0ab99aa69
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_platform-posix.cc
@@ -0,0 +1,66 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/deps/v8/src/base/platform/platform-posix.cc.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/deps/v8/src/base/platform/platform-posix.cc
+@@ -423,6 +423,10 @@ void* OS::GetRandomMmapAddr() {
+ #endif
+ #endif
+ #endif
++
++#if V8_OS_NETBSD
++ raw_addr = 0;
++#endif
+ return reinterpret_cast<void*>(raw_addr);
+ }
+
+@@ -588,14 +592,11 @@ bool OS::DiscardSystemPages(void* addres
+ // MADV_FREE_REUSABLE sometimes fails, so fall back to MADV_DONTNEED.
+ ret = madvise(address, size, MADV_DONTNEED);
+ }
+-#elif defined(_AIX) || defined(V8_OS_SOLARIS)
+- int ret = madvise(reinterpret_cast<caddr_t>(address), size, MADV_FREE);
++#elif defined(POSIX_MADV_DONTNEED)
++ int ret = posix_madvise(address, size, POSIX_MADV_DONTNEED);
+ if (ret != 0 && errno == ENOSYS) {
+ return true; // madvise is not available on all systems.
+ }
+- if (ret != 0 && errno == EINVAL) {
+- ret = madvise(reinterpret_cast<caddr_t>(address), size, MADV_DONTNEED);
+- }
+ #else
+ int ret = madvise(address, size, MADV_DONTNEED);
+ #endif
+@@ -863,6 +864,8 @@ int OS::GetCurrentThreadIdInternal() {
+ return static_cast<int>(syscall(__NR_gettid));
+ #elif V8_OS_ANDROID
+ return static_cast<int>(gettid());
++#elif V8_OS_NETBSD || V8_OS_FREEBSD
++ return static_cast<int>(reinterpret_cast<intptr_t>(pthread_self()));
+ #elif V8_OS_AIX
+ return static_cast<int>(thread_self());
+ #elif V8_OS_FUCHSIA
+@@ -1168,7 +1171,11 @@ Thread::Thread(const Options& options)
+ stack_size_(options.stack_size()),
+ priority_(options.priority()),
+ start_semaphore_(nullptr) {
++#if V8_OS_NETBSD
++ const int min_stack_size = sysconf(_SC_THREAD_STACK_MIN);
++#else
+ const int min_stack_size = static_cast<int>(PTHREAD_STACK_MIN);
++#endif
+ if (stack_size_ > 0) stack_size_ = std::max(stack_size_, min_stack_size);
+ set_name(options.name());
+ }
+@@ -1183,7 +1190,7 @@ static void SetThreadName(const char* na
+ pthread_set_name_np(pthread_self(), name);
+ #elif V8_OS_NETBSD
+ static_assert(Thread::kMaxThreadNameLength <= PTHREAD_MAX_NAMELEN_NP);
+- pthread_setname_np(pthread_self(), "%s", name);
++ pthread_setname_np(pthread_self(), "%s", (void *)name);
+ #elif V8_OS_DARWIN
+ // pthread_setname_np is only available in 10.6 or later, so test
+ // for it at runtime.
diff --git a/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_semaphore.cc b/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_semaphore.cc
new file mode 100644
index 0000000000..4e2c7e2728
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_platform_semaphore.cc
@@ -0,0 +1,19 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/deps/v8/src/base/platform/semaphore.cc.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/deps/v8/src/base/platform/semaphore.cc
+@@ -12,6 +12,10 @@
+
+ #include <errno.h>
+
++#if V8_OS_NETBSD
++#include <sys/param.h> // for __NetBSD_Version__
++#endif
++
+ #include "src/base/logging.h"
+ #include "src/base/platform/elapsed-timer.h"
+ #include "src/base/platform/time.h"
diff --git a/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_strings.h b/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_strings.h
new file mode 100644
index 0000000000..47eb8ba5b7
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_deps_v8_src_base_strings.h
@@ -0,0 +1,16 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/deps/v8/src/base/strings.h.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/deps/v8/src/base/strings.h
+@@ -8,6 +8,7 @@
+ #include "src/base/base-export.h"
+ #include "src/base/macros.h"
+ #include "src/base/vector.h"
++#include <stdarg.h>
+
+ namespace v8 {
+ namespace base {
diff --git a/electron43/patches/patch-third__party_electron__node_deps_v8_src_codegen_arm_cpu-arm.cc b/electron43/patches/patch-third__party_electron__node_deps_v8_src_codegen_arm_cpu-arm.cc
new file mode 100644
index 0000000000..812f34c85e
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_deps_v8_src_codegen_arm_cpu-arm.cc
@@ -0,0 +1,28 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/deps/v8/src/codegen/arm/cpu-arm.cc.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/deps/v8/src/codegen/arm/cpu-arm.cc
+@@ -21,6 +21,10 @@
+
+ #include "src/codegen/cpu-features.h"
+
++#if V8_OS_NETBSD
++#include <machine/sysarch.h>
++#endif
++
+ namespace v8 {
+ namespace internal {
+
+@@ -34,6 +38,8 @@ V8_NOINLINE void CpuFeatures::FlushICach
+ struct arm_sync_icache_args args = {
+ .addr = reinterpret_cast<uintptr_t>(start), .len = size};
+ sysarch(ARM_SYNC_ICACHE, reinterpret_cast<void*>(&args));
++#elif V8_OS_NETBSD
++ arm_sync_icache(reinterpret_cast<uintptr_t>(start), size);
+ #else
+ register uint32_t beg asm("r0") = reinterpret_cast<uint32_t>(start);
+ register uint32_t end asm("r1") = beg + size;
diff --git a/electron43/patches/patch-third__party_electron__node_deps_v8_src_common_globals.h b/electron43/patches/patch-third__party_electron__node_deps_v8_src_common_globals.h
new file mode 100644
index 0000000000..a9cf4d3072
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_deps_v8_src_common_globals.h
@@ -0,0 +1,16 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/deps/v8/src/common/globals.h.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/deps/v8/src/common/globals.h
+@@ -7,6 +7,7 @@
+
+ #include <stddef.h>
+ #include <stdint.h>
++#include <stdarg.h>
+
+ #include <limits>
+ #include <ostream>
diff --git a/electron43/patches/patch-third__party_electron__node_deps_v8_src_compiler_turboshaft_int64-lowering-reducer.h b/electron43/patches/patch-third__party_electron__node_deps_v8_src_compiler_turboshaft_int64-lowering-reducer.h
new file mode 100644
index 0000000000..1956333c7e
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_deps_v8_src_compiler_turboshaft_int64-lowering-reducer.h
@@ -0,0 +1,26 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/deps/v8/src/compiler/turboshaft/int64-lowering-reducer.h.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/deps/v8/src/compiler/turboshaft/int64-lowering-reducer.h
+@@ -637,7 +637,7 @@ class Int64LoweringReducer : public Next
+ result = __ Word32CountLeadingZeros(high);
+ }
+
+- return __ Tuple<Word32, Word32>(result, __ Word32Constant(0));
++ return __ template Tuple<Word32, Word32>(result, __ Word32Constant(0));
+ }
+
+ V<Word32Pair> LowerCtz(V<Word32Pair> input) {
+@@ -650,7 +650,7 @@ class Int64LoweringReducer : public Next
+ result = __ Word32CountTrailingZeros(low);
+ }
+
+- return __ Tuple<Word32, Word32>(result, __ Word32Constant(0));
++ return __ template Tuple<Word32, Word32>(result, __ Word32Constant(0));
+ }
+
+ V<Word32Pair> LowerPopCount(V<Word32Pair> input) {
diff --git a/electron43/patches/patch-third__party_electron__node_deps_v8_third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.cc b/electron43/patches/patch-third__party_electron__node_deps_v8_third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.cc
new file mode 100644
index 0000000000..6e1a36972d
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_deps_v8_third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.cc
@@ -0,0 +1,17 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/deps/v8/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/deps/v8/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc
+@@ -377,7 +377,7 @@ void ElfMemImage::SymbolIterator::Update
+ const ElfW(Versym) *version_symbol = image->GetVersym(index_);
+ ABSL_RAW_CHECK(symbol && version_symbol, "");
+ const char *const symbol_name = image->GetDynstr(symbol->st_name);
+-#if defined(__NetBSD__)
++#if defined(__NetBSD__) && ((_SYS_EXEC_ELF_H_ + 0) < 2)
+ const int version_index = version_symbol->vs_vers & VERSYM_VERSION;
+ #else
+ const ElfW(Versym) version_index = version_symbol[0] & VERSYM_VERSION;
diff --git a/electron43/patches/patch-third__party_electron__node_deps_v8_tools_profiling_run-llprof.sh b/electron43/patches/patch-third__party_electron__node_deps_v8_tools_profiling_run-llprof.sh
new file mode 100644
index 0000000000..f91d9bb703
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_deps_v8_tools_profiling_run-llprof.sh
@@ -0,0 +1,17 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/deps/v8/tools/profiling/run-llprof.sh.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/deps/v8/tools/profiling/run-llprof.sh
+@@ -46,7 +46,7 @@ framework, then calls the low level tick
+ EOF
+ }
+
+-if [ $# -eq 0 ] || [ "$1" == "-h" ] || [ "$1" == "--help" ] ; then
++if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ] ; then
+ usage
+ exit 1
+ fi
diff --git a/electron43/patches/patch-third__party_electron__node_node.gypi b/electron43/patches/patch-third__party_electron__node_node.gypi
new file mode 100644
index 0000000000..9d40cd846f
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_node.gypi
@@ -0,0 +1,16 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/node.gypi.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/node.gypi
+@@ -306,6 +306,7 @@
+ [ 'OS=="solaris"', {
+ 'libraries': [
+ '-lkstat',
++ '-lsocket',
+ '-lumem',
+ ],
+ 'defines!': [
diff --git a/electron43/patches/patch-third__party_electron__node_src_compile__cache.cc b/electron43/patches/patch-third__party_electron__node_src_compile__cache.cc
new file mode 100644
index 0000000000..e865f66cb6
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_src_compile__cache.cc
@@ -0,0 +1,15 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/src/compile_cache.cc.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/src/compile_cache.cc
+@@ -1,5 +1,6 @@
+ #include "compile_cache.h"
+ #include <string>
++#include <unistd.h>
+ #include "debug_utils-inl.h"
+ #include "env-inl.h"
+ #include "node_file.h"
diff --git a/electron43/patches/patch-third__party_electron__node_src_crypto_crypto__rsa.cc b/electron43/patches/patch-third__party_electron__node_src_crypto_crypto__rsa.cc
new file mode 100644
index 0000000000..b536618c1a
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_src_crypto_crypto__rsa.cc
@@ -0,0 +1,39 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/src/crypto/crypto_rsa.cc.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/src/crypto/crypto_rsa.cc
+@@ -12,6 +12,30 @@
+ #include <openssl/bn.h>
+ #include <openssl/rsa.h>
+
++#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER <0x1010105fL
++struct rsa_st {
++ int pad;
++ int32_t version;
++ void *meth;
++ void *engine;
++ void *n;
++ void *e;
++ void *d;
++ void *p;
++ void *q;
++ void *dmp1;
++ void *dmq1;
++ void *iqmp;
++ void *prime_infos;
++ RSA_PSS_PARAMS *pss;
++};
++
++static const RSA_PSS_PARAMS *RSA_get0_pss_params(const RSA *r)
++{
++ return r->pss;
++}
++#endif
++
+ namespace node {
+
+ using ncrypto::BignumPointer;
diff --git a/electron43/patches/patch-third__party_electron__node_src_inspector__agent.cc b/electron43/patches/patch-third__party_electron__node_src_inspector__agent.cc
new file mode 100644
index 0000000000..6a3d175f8d
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_src_inspector__agent.cc
@@ -0,0 +1,17 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/src/inspector_agent.cc.orig 2026-10-20 08:24:53.480577440 +0000
++++ third_party/electron_node/src/inspector_agent.cc
+@@ -104,7 +104,7 @@ static int StartWatchdogThread() {
+ CHECK_EQ(0, uv_sem_init(&start_io_thread_semaphore, 0));
+ pthread_attr_t attr;
+ CHECK_EQ(0, pthread_attr_init(&attr));
+-#if defined(PTHREAD_STACK_MIN) && !defined(__FreeBSD__)
++#if defined(PTHREAD_STACK_MIN) && !defined(__FreeBSD__) && !defined(__NetBSD__)
+ // PTHREAD_STACK_MIN is 2 KiB with musl libc, which is too small to safely
+ // receive signals. PTHREAD_STACK_MIN + MINSIGSTKSZ is 8 KiB on arm64, which
+ // is the musl architecture with the biggest MINSIGSTKSZ so let's use that
diff --git a/electron43/patches/patch-third__party_electron__node_src_node__platform.cc b/electron43/patches/patch-third__party_electron__node_src_node__platform.cc
new file mode 100644
index 0000000000..b1154001ad
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_src_node__platform.cc
@@ -0,0 +1,47 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/src/node_platform.cc.orig 2026-10-20 08:24:53.480699448 +0000
++++ third_party/electron_node/src/node_platform.cc
+@@ -548,6 +548,12 @@ void NodePlatform::AddIsolateFinishedCal
+ void NodePlatform::Shutdown() {
+ if (has_shut_down_) return;
+ has_shut_down_ = true;
++
++ // V8 background tasks may be parked waiting for foreground GC work before
++ // they can return from the worker thread task.
++ while (FlushForegroundTasksForAllIsolates()) {
++ }
++
+ worker_thread_task_runner_->Shutdown();
+
+ {
+@@ -739,6 +745,25 @@ bool NodePlatform::FlushForegroundTasks(
+ return per_isolate->FlushForegroundTasksInternal();
+ }
+
++bool NodePlatform::FlushForegroundTasksForAllIsolates() {
++ std::vector<std::shared_ptr<PerIsolatePlatformData>> per_isolates;
++ {
++ Mutex::ScopedLock lock(per_isolate_mutex_);
++ per_isolates.reserve(per_isolate_.size());
++ for (const auto& entry : per_isolate_) {
++ if (entry.second.second) {
++ per_isolates.push_back(entry.second.second);
++ }
++ }
++ }
++
++ bool did_work = false;
++ for (const auto& per_isolate : per_isolates) {
++ did_work |= per_isolate->FlushForegroundTasksInternal();
++ }
++ return did_work;
++}
++
+ std::unique_ptr<v8::JobHandle> NodePlatform::CreateJobImpl(
+ v8::TaskPriority priority,
+ std::unique_ptr<v8::JobTask> job_task,
diff --git a/electron43/patches/patch-third__party_electron__node_src_node__platform.h b/electron43/patches/patch-third__party_electron__node_src_node__platform.h
new file mode 100644
index 0000000000..7eb79c59ae
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_src_node__platform.h
@@ -0,0 +1,16 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/src/node_platform.h.orig 2026-10-20 08:24:53.480736383 +0000
++++ third_party/electron_node/src/node_platform.h
+@@ -266,6 +266,7 @@ class NodePlatform : public MultiIsolate
+ private:
+ IsolatePlatformDelegate* ForIsolate(v8::Isolate* isolate);
+ std::shared_ptr<PerIsolatePlatformData> ForNodeIsolate(v8::Isolate* isolate);
++ bool FlushForegroundTasksForAllIsolates();
+
+ Mutex per_isolate_mutex_;
+ using DelegatePair = std::pair<IsolatePlatformDelegate*,
diff --git a/electron43/patches/patch-third__party_electron__node_src_node__postmortem__metadata.cc b/electron43/patches/patch-third__party_electron__node_src_node__postmortem__metadata.cc
new file mode 100644
index 0000000000..911c5f0b45
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_src_node__postmortem__metadata.cc
@@ -0,0 +1,19 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/src/node_postmortem_metadata.cc.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/src/node_postmortem_metadata.cc
+@@ -13,6 +13,10 @@
+ #define NODEDBG_OFFSET(Class, Member, Type) \
+ NODEDBG_SYMBOL(offset_ ## Class ## __ ## Member ## __ ## Type)
+
++// Some systems provide macros for the types as well, which get expanded
++// by the nested macros here.
++#undef uintptr_t
++
+ // These are the constants describing Node internal structures. Every constant
+ // should use the format described above. These constants are declared as
+ // global integers so that they'll be present in the generated node binary. They
diff --git a/electron43/patches/patch-third__party_electron__node_tools_generate__config__gypi.py b/electron43/patches/patch-third__party_electron__node_tools_generate__config__gypi.py
index 2d515e17b4..74b72d7da8 100644
--- a/electron43/patches/patch-third__party_electron__node_tools_generate__config__gypi.py
+++ b/electron43/patches/patch-third__party_electron__node_tools_generate__config__gypi.py
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- third_party/electron_node/tools/generate_config_gypi.py.orig 2026-09-07 09:57:40.000000000 +0000
+--- third_party/electron_node/tools/generate_config_gypi.py.orig 2026-10-13 14:09:48.000000000 +0000
+++ third_party/electron_node/tools/generate_config_gypi.py
@@ -19,7 +19,7 @@ import getnapibuildversion
diff --git a/electron43/patches/patch-third__party_electron__node_tools_gyp_pylib_gyp_generator_make.py b/electron43/patches/patch-third__party_electron__node_tools_gyp_pylib_gyp_generator_make.py
new file mode 100644
index 0000000000..6cd72206e7
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_tools_gyp_pylib_gyp_generator_make.py
@@ -0,0 +1,26 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/tools/gyp/pylib/gyp/generator/make.py.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/tools/gyp/pylib/gyp/generator/make.py
+@@ -208,7 +208,7 @@ cmd_solink_module = $(LINK.$(TOOLSET)) -
+
+ LINK_COMMANDS_MAC = """\
+ quiet_cmd_alink = LIBTOOL-STATIC $@
+-cmd_alink = rm -f $@ && %(python)s gyp-mac-tool filter-libtool libtool $(GYP_LIBTOOLFLAGS) -static -o $@ $(filter %%.o,$^)
++cmd_alink = rm -f $@ && %(python)s gyp-mac-tool filter-libtool /usr/bin/libtool $(GYP_LIBTOOLFLAGS) -static -o $@ $(filter %%.o,$^)
+
+ quiet_cmd_link = LINK($(TOOLSET)) $@
+ cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o "$@" $(LD_INPUTS) $(LIBS)
+@@ -2562,7 +2562,7 @@ def GenerateOutput(target_list, target_d
+ "flock_index": 2,
+ }
+ )
+- elif flavor == "freebsd":
++ elif flavor == "freebsd" or flavor == 'dragonflybsd' or flavor == 'netbsd':
+ # Note: OpenBSD has sysutils/flock. lockf seems to be FreeBSD specific.
+ header_params.update({"flock": "lockf"})
+ elif flavor == "openbsd":
diff --git a/electron43/patches/patch-third__party_electron__node_tools_gyp_pylib_gyp_xcode__emulation.py b/electron43/patches/patch-third__party_electron__node_tools_gyp_pylib_gyp_xcode__emulation.py
new file mode 100644
index 0000000000..71601dd8ac
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_tools_gyp_pylib_gyp_xcode__emulation.py
@@ -0,0 +1,26 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/tools/gyp/pylib/gyp/xcode_emulation.py.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/tools/gyp/pylib/gyp/xcode_emulation.py
+@@ -605,7 +605,7 @@ class XcodeSettings:
+
+ self._Appendf(cflags, "GCC_OPTIMIZATION_LEVEL", "-O%s", default="s")
+
+- if self._Test("GCC_GENERATE_DEBUGGING_SYMBOLS", "YES", default="YES"):
++ if self._Test("GCC_GENERATE_DEBUGGING_SYMBOLS", "YES", default="NO"):
+ dbg_format = self._Settings().get("DEBUG_INFORMATION_FORMAT", "dwarf")
+ if dbg_format == "dwarf":
+ cflags.append("-gdwarf-2")
+@@ -1097,7 +1097,7 @@ class XcodeSettings:
+ # For static libraries, no dSYMs are created.
+ result = []
+ if (
+- self._Test("GCC_GENERATE_DEBUGGING_SYMBOLS", "YES", default="YES")
++ self._Test("GCC_GENERATE_DEBUGGING_SYMBOLS", "YES", default="NO")
+ and self._Test(
+ "DEBUG_INFORMATION_FORMAT", "dwarf-with-dsym", default="dwarf"
+ )
diff --git a/electron43/patches/patch-third__party_electron__node_tools_install.py b/electron43/patches/patch-third__party_electron__node_tools_install.py
new file mode 100644
index 0000000000..60cba17935
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_tools_install.py
@@ -0,0 +1,20 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/tools/install.py.orig 2026-10-13 14:09:48.000000000 +0000
++++ third_party/electron_node/tools/install.py
+@@ -198,10 +198,7 @@ def files(options, action):
+ action(options, [os.path.join(options.v8_dir, 'tools/gdbinit')], 'share/doc/node/')
+ action(options, [os.path.join(options.v8_dir, 'tools/lldb_commands.py')], 'share/doc/node/')
+
+- if 'openbsd' in sys.platform:
+- action(options, ['doc/node.1'], 'man/man1/')
+- else:
+- action(options, ['doc/node.1'], 'share/man/man1/')
++ action(options, ['doc/node.1'], os.environ.get('PKGMANDIR') + '/man1/')
+
+ if 'true' == options.variables.get('node_install_npm'):
+ npm_files(options, action)
diff --git a/electron43/patches/patch-third__party_electron__node_tools_v8__gypfiles_v8.gyp b/electron43/patches/patch-third__party_electron__node_tools_v8__gypfiles_v8.gyp
new file mode 100644
index 0000000000..08d7a57ccf
--- /dev/null
+++ b/electron43/patches/patch-third__party_electron__node_tools_v8__gypfiles_v8.gyp
@@ -0,0 +1,21 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- third_party/electron_node/tools/v8_gypfiles/v8.gyp.orig 2026-10-20 08:24:53.471443968 +0000
++++ third_party/electron_node/tools/v8_gypfiles/v8.gyp
+@@ -1365,6 +1365,12 @@
+ }],
+ # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library
+ # to implement atomic memory access.
++ # NetBSD/arm also needs -larm.
++ ['OS=="netbsd" and v8_current_cpu in ["arm"]', {
++ 'link_settings': {
++ 'libraries': ['-larm', ],
++ },
++ }],
+ # Clang needs it for some atomic operations (https://clang.llvm.org/docs/Toolchain.html#atomics-library).
+ ['(OS=="linux" and clang==1) or (v8_current_cpu in ["mips64", "mips64el", "arm", "riscv64", "loong64"])', {
+ 'link_settings': {
diff --git a/electron43/patches/patch-ui_gfx_font__util.cc b/electron43/patches/patch-ui_gfx_font__util.cc
index c3cc0d2641..683c3add22 100644
--- a/electron43/patches/patch-ui_gfx_font__util.cc
+++ b/electron43/patches/patch-ui_gfx_font__util.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- ui/gfx/font_util.cc.orig 2026-10-13 15:23:13.892834818 +0000
+--- ui/gfx/font_util.cc.orig 2026-10-20 08:24:52.584887527 +0000
+++ ui/gfx/font_util.cc
@@ -26,8 +26,11 @@ void InitializeFonts() {
// the long delay the user would have seen on first rendering.
diff --git a/electron43/patches/patch-ui_gtk_gtk__compat.cc b/electron43/patches/patch-ui_gtk_gtk__compat.cc
index c309196aef..596eaca0e1 100644
--- a/electron43/patches/patch-ui_gtk_gtk__compat.cc
+++ b/electron43/patches/patch-ui_gtk_gtk__compat.cc
@@ -1,10 +1,10 @@
$NetBSD$
* Part of patchset to build electron on NetBSD
-* Based on OpenBSD's chromium patches, and
- FreeBSD's electron patches
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
---- ui/gtk/gtk_compat.cc.orig 2026-10-13 15:23:13.076754965 +0000
+--- ui/gtk/gtk_compat.cc.orig 2026-10-20 08:24:51.707205642 +0000
+++ ui/gtk/gtk_compat.cc
@@ -82,15 +82,6 @@ void* GetLibGio() {
return libgio;
diff --git a/electron43/patches/patch-ui_shell__dialogs_select__file__dialog.h b/electron43/patches/patch-ui_shell__dialogs_select__file__dialog.h
new file mode 100644
index 0000000000..51bec82b49
--- /dev/null
+++ b/electron43/patches/patch-ui_shell__dialogs_select__file__dialog.h
@@ -0,0 +1,17 @@
+$NetBSD$
+
+* Part of patchset to build electron on NetBSD
+* Based on OpenBSD's chromium patches,
+ FreeBSD's electron patches, and pkgsrc's nodejs patches
+
+--- ui/shell_dialogs/select_file_dialog.h.orig 2026-10-20 08:24:51.841463779 +0000
++++ ui/shell_dialogs/select_file_dialog.h
+@@ -224,7 +224,7 @@ class SHELL_DIALOGS_EXPORT SelectFileDia
+ const GURL* caller = nullptr);
+ bool HasMultipleFileTypeChoices();
+
+-#if BUILDFLAG(IS_LINUX)
++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
+ // Set the label used for the file select button.
+ virtual void SetButtonLabel(const std::string& label) = 0;
+
diff --git a/electron43/platform.mk b/electron43/platform.mk
index 76f2d2df23..cab34bd14c 100644
--- a/electron43/platform.mk
+++ b/electron43/platform.mk
@@ -4,7 +4,7 @@
# Absolute path for node-gyp.
#
-ELECTRON_VER= 43.7.9
+ELECTRON_VER= 43.8.0
ELECTRON_MAJOR= ${ELECTRON_VER:tu:C/\\.[[:digit:]\.]*//}
NODE_VERSIONS_ACCEPTED= 24
ELECTRON= electron${ELECTRON_MAJOR}
Home |
Main Index |
Thread Index |
Old Index