forked from pool/nodejs-electron
- Update to 35.2.1
* Chromium 134.0.6998.205
* Node 22.14.0
* V8 13.4
* Removed AVIF image format
* Added excludeUrls to webRequest filter and deprecated the use of empty arrays in urls property.
* Added fromVersionID on ServiceWorkers to get an instance of ServiceWorkerMain.
* Deprecated getPreloads and setPreloads on Session.
* Moved 'console-message' arguments into event object.
* Added ServiceWorkerMain class to interact with service workers in the main process.
* Added contextBridge.executeInMainWorld to safely execute code across world boundaries.
* Added frame to 'console-message' event.
* Added optional animation parameter to BrowserWindow.setVibrancy.
* Added permission support for document.executeCommand("paste").
* Added support for service worker preload scripts.
* Support Portal's globalShortcuts.
Electron must be run with --enable-features=GlobalShortcutsPortal in order to have the feature working.
* see https://github.com/electron/electron/releases/tag/v35.0.0 and https://www.electronjs.org/blog/electron-35-0 for more
- Remove Fedora 40 support
* drop bundled-minizip.patch
* drop quiche-absl-HexStringToBytes.patch
- Leap 15.6: use backported wayland-protocols
* drop wayland-protocol-toplevel-icon.patch
* drop wayland-protocol-toplevel-icon-2.patch
* drop wayland-protocol-toplevel-drag.patch
- Build with LTO also on 15.6 (so now we enable it everywhere)
- Fedora: use system simdjson
* merge system-ada-url.patch into use-system-libraries-in-node.patch
- Drop no longer applicable patches
* account_id-missing-optional.patch
* blink-platform-INSIDE_BLINK-Wodr.patch
* boringssl-internal-addc-cxx.patch
* build-without-extensions.patch
* css_attr_value_tainting-missing-once_flag.patch
* electron-13-fix-base-check-nomerge.patch
* exception_context-missing-variant.patch
* fix-build-without-safebrowsing.patch
* fix-build-without-service-discovery.patch
* ip_protection_data_types-missing-optional.patch
* node-compiler.patch
* skia_image_decoder_base-missing-stack.patch
* vtt_scanner-missing-variant.patch
* wayland_connection-Wchanges-meaning.patch
- Add backported or upstreamable patches
* ax_platform_node_id-fpermissive.patch
* browser_process_impl-fix-safe_browsing_mode-0.patch
* content_browser_client-incomplete-WebUIController.patch
* css_shape_value-constructor.patch
* exception_state-constexpr-initializer.patch
* fix-build-without-pdf.patch
* fix-build-without-video-effects.patch
* media_session_uma_helper-missing-optional.patch
* object_paint_properties-explicit-specialization-in-non-namespace-scope.patch
* perfetto-ThreadTrack-Current-null-dereference.patch
* picture_in_picture_window_manager_uma_helper-missing-optional.patch
* plugin_utils-build-without-electron_extensions.patch
* raw_ptr-fpermissive.patch
* resource_response-Wchanges-meaning.patch
* resource-Wchanges-meaning.patch
* string-hasher-flax-vector-conversions.patch
* string_truncator-convert.patch
* style_scope-unqualified-To.patch
* to_vector-std-projected-gcc119888.patch
* unexportable_key_service_impl-Wlto-type-mismatch.patch
* xml_document_parser-Wmissing-template-keyword.patch
- merge remove-libphonenumber.patch & delete-old-language-detection-which-uses-tflite.patch
into remove-ai-language-detection-factory-which-requires-tflite-and-libphonenumber.patch
- Revert upstream change which breaks build with old abseil
* webrtc-make_ref_counted-absl2024-nullability.patch
- Conditionally (15.6) remove feature change which needs new spirv
* angle-SPV_BINARY_TO_TEXT_OPTION_NESTED_INDENT.patch
- Use system sqlite in node (except 15.6)
* system-sqlite.patch
- Remove more rust code
* chromium-132-no-rust.patch
- Actually disable AVIF support without disabling AV1 video
* disable-avif-really.patch
- Various other build fixes
* absl_strings-missing-headers.patch
* blink-shape_result-highway.patch
* build-without-mesage-center.patch
* fix-system-highway.patch
* gn-logspam-breaks-install.patch
* permission-gcc14.2.patch
OBS-URL: https://build.opensuse.org/request/show/1272836
OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=202
139 lines
3.9 KiB
Diff
139 lines
3.9 KiB
Diff
--- src/third_party/electron_node/node.gni.orig 2025-04-20 10:49:28.656330018 +0200
|
|
+++ src/third_party/electron_node/node.gni 2025-04-20 19:08:01.482693254 +0200
|
|
@@ -73,10 +73,12 @@ declare_args() {
|
|
node_use_amaro = true
|
|
|
|
# Allows downstream packagers (eg. Linux distributions) to build against system shared libraries.
|
|
+ use_system_ada = false
|
|
use_system_cares = false
|
|
use_system_nghttp2 = false
|
|
use_system_llhttp = false
|
|
use_system_histogram = false
|
|
+ use_system_simdjson = false
|
|
}
|
|
|
|
assert(!node_enable_inspector || node_use_openssl,
|
|
--- src/third_party/electron_node/unofficial.gni.orig 2025-04-20 10:49:28.656330018 +0200
|
|
+++ src/third_party/electron_node/unofficial.gni 2025-04-20 19:16:09.442680896 +0200
|
|
@@ -9,6 +9,35 @@ import("$node_v8_path/gni/v8.gni")
|
|
# The actual configurations are put inside a template in unofficial.gni to
|
|
# prevent accidental edits from contributors.
|
|
template("node_gn_build") {
|
|
+ if (is_linux) {
|
|
+ import("//build/config/linux/pkg_config.gni")
|
|
+ if (use_system_cares) {
|
|
+ pkg_config("system_cares") {
|
|
+ packages = [ "libcares" ]
|
|
+ }
|
|
+ }
|
|
+ if (use_system_histogram) {
|
|
+ pkg_config("system_histogram") {
|
|
+ packages = [ "hdr_histogram" ]
|
|
+ }
|
|
+ }
|
|
+ if (use_system_llhttp) {
|
|
+ pkg_config("system_llhttp") {
|
|
+ packages = [ "libllhttp" ]
|
|
+ }
|
|
+ }
|
|
+ if (use_system_nghttp2) {
|
|
+ pkg_config("system_nghttp2") {
|
|
+ packages = [ "libnghttp2" ]
|
|
+ }
|
|
+ }
|
|
+ if (use_system_simdjson) {
|
|
+ pkg_config("system_simdjson") {
|
|
+ packages = [ "simdjson" ]
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+
|
|
config("node_features") {
|
|
defines = []
|
|
if (is_component_build) {
|
|
@@ -138,23 +167,19 @@ template("node_gn_build") {
|
|
|
|
source_set("libnode") {
|
|
configs += [ ":node_internal_config" ]
|
|
+ libs = []
|
|
public_configs = [
|
|
":node_external_config",
|
|
"deps/googletest:googletest_config",
|
|
]
|
|
public_deps = [
|
|
- "deps/ada",
|
|
"deps/uv",
|
|
"//electron:electron_js2c",
|
|
- "deps/simdjson",
|
|
"$node_v8_path",
|
|
]
|
|
deps = [
|
|
":run_node_js2c",
|
|
- "deps/cares",
|
|
- "deps/histogram",
|
|
"deps/nbytes",
|
|
- "deps/nghttp2",
|
|
"deps/postject",
|
|
"deps/sqlite",
|
|
"deps/uvwasi",
|
|
@@ -183,17 +208,36 @@ template("node_gn_build") {
|
|
configs -= [ "//build/config/gcc:symbol_visibility_hidden" ]
|
|
configs += [ "//build/config/gcc:symbol_visibility_default" ]
|
|
}
|
|
+ if (use_system_ada) {
|
|
+ libs += ["ada"]
|
|
+ } else {
|
|
+ public_deps += [ "deps/ada" ]
|
|
+ }
|
|
+ if (use_system_cares) {
|
|
+ configs += [ ":system_cares" ]
|
|
+ } else {
|
|
+ deps += [ "deps/cares" ]
|
|
+ }
|
|
if (use_system_llhttp) {
|
|
- libs += [ "llhttp" ]
|
|
+ configs += [ ":system_llhttp" ]
|
|
} else {
|
|
deps += [ "deps/llhttp" ]
|
|
}
|
|
if (use_system_histogram) {
|
|
- libs += [ "hdr_histogram" ]
|
|
- include_dirs += [ "/usr/include/hdr" ]
|
|
+ configs += [":system_histogram"]
|
|
} else {
|
|
deps += [ "deps/histogram" ]
|
|
}
|
|
+ if (use_system_nghttp2) {
|
|
+ configs += [":system_nghttp2"]
|
|
+ } else {
|
|
+ deps += [ "deps/nghttp2" ]
|
|
+ }
|
|
+ if (use_system_simdjson) {
|
|
+ public_configs += [":system_simdjson"]
|
|
+ } else {
|
|
+ public_deps += [ "deps/simdjson" ]
|
|
+ }
|
|
if (v8_enable_i18n_support) {
|
|
deps += [ "//third_party/icu" ]
|
|
}
|
|
@@ -222,19 +266,6 @@ template("node_gn_build") {
|
|
sources += node_inspector.node_inspector_sources +
|
|
node_inspector.node_inspector_generated_sources
|
|
}
|
|
- if (is_linux) {
|
|
- import("//build/config/linux/pkg_config.gni")
|
|
- if (use_system_cares) {
|
|
- pkg_config("cares") {
|
|
- packages = [ "libcares" ]
|
|
- }
|
|
- }
|
|
- if (use_system_nghttp2) {
|
|
- pkg_config("nghttp2") {
|
|
- packages = [ "libnghttp2" ]
|
|
- }
|
|
- }
|
|
- }
|
|
}
|
|
|
|
executable(target_name) {
|