forked from pool/nodejs-electron
- Update to 33.3.1 * Drop 32-bit support * chromium 130.0.6723.170 * node 20.18.0 * v8 13.0 * Behavior Changed: frame properties may retrieve detached WebFrameMain instances or none at all * Behavior Changed: webContents property on login on app * Added a handler, app.setClientCertRequestPasswordHandler(handler), to help unlock cryptographic devices when a PIN is needed. * Added View.setBorderRadius(radius) for customizing the border radius of views—with compatibility for WebContentsView. * Extended navigationHistory API with 2 new functions for better history management. #42014 * see https://github.com/electron/electron/releases/tag/v33.0.0 and https://www.electronjs.org/blog/electron-33-0 for more - Disable aarch64 builds due to OBS hardware limits. Sorry. - Drop Leap 15.5 support - Drop no longer needed patches * absl-base-dynamic_annotations.patch * angle-State-constexpr.patch * chromium-124-shims.patch * color_provider-incomplete-ColorProviderInternal.patch * ConsumeRadii-linker-error.patch * Cr126-abseil-shims.patch * crashpad-use-system-abseil.patch * DesktopNativeWidgetAura-HandleActivationChanged-crash.patch * harfbuzz-replace-chromium-scoped-type.patch * harfbuzz-replace-HbScopedPointer.patch * http_auth_ntlm_mechanism-could-not-convert-to-base-span.patch * licenses.py-FileNotFoundError.patch * native_css_paint_definition-expected-unqualified-id.patch * page_popup_controller-missing-optional.patch * partition_alloc-no-lto.patch * preview_cancel_reason-missing-string.patch * quiche-QuicIntervalDeque-no-match-for-operator-mm.patch * real_time_reporting_bindings-forward-declaration.patch * run_segmenter-missing-optional.patch * skia-system-vulkan-headers.patch * system-zlib.patch * text_decoder-missing-optional.patch * wayland-proto-31-cursor-shape.patch - Drop libaom_av1_encoder-aom37-AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR.patch and replace it with more fine-grained reverts: * aom3.10-AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR.patch * aom3.10-AV1E_SET_AUTO_TILES.patch * webrtc-aom3.8-AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR.patch * webrtc-aom3.8-AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR-2.patch - Drop the following revert: * bad-font-gc0000.patch * bad-font-gc000.patch * bad-font-gc00.patch * bad-font-gc0.patch * bad-font-gc11.patch * bad-font-gc1.patch * bad-font-gc2.patch * bad-font-gc3.patch - Add bsc1224178-font-gc.patch for a proper fix for bsc#1224178 deb#1067886 - Add backported or forwardable patches to fix build errors: * account_id-missing-optional.patch * css_attr_value_tainting-missing-once_flag.patch * electron_usb_delegate-incomplete-UsbDeviceInfo.patch * exception_context-missing-variant.patch * fix-build-without-service-discovery.patch * ip_protection_data_types-missing-optional.patch * skia_image_decoder_base-missing-stack.patch * vtt_scanner-missing-variant.patch * wayland_connection-Wchanges-meaning.patch - Add patches to fix build errors due to our changes: * build-without-speech-service.patch * chromium-123-qrcode.patch * chromium-125-cloud_authenticator.patch * chromium-127-crabby.patch * chromium-129-disable-H.264-video-parser-during-demuxing.patch * chromium-130-fontations.patch * cr130-abseil-remove-unused-deps.patch * cr130-absl-base.patch * delete-old-language-detection-which-uses-tflite.patch * fix-build-without-screen-ai.patch * private_aggregation_host-uint128.patch * remove-libphonenumber.patch * system-absl_algorithm.patch * wayland_version.patch - 15.6: use bundled vulkan and spirv headers - 15.6: revert upstream changes to build with old wayland * wayland-protocol-toplevel-icon.patch * wayland-protocol-toplevel-icon-2.patch * wayland-protocol-toplevel-drag.patch - Use bundled yuv everywhere due to system version being too old OBS-URL: https://build.opensuse.org/request/show/1237196 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=182
52 lines
2.7 KiB
Diff
52 lines
2.7 KiB
Diff
--- src/third_party/electron_node/common.gypi.orig 2024-12-08 18:45:44.261359453 +0100
|
|
+++ src/third_party/electron_node/common.gypi 2024-12-18 11:12:53.414653184 +0100
|
|
@@ -487,10 +487,15 @@
|
|
'ldflags': [ '-pthread' ],
|
|
}],
|
|
[ 'OS in "linux freebsd openbsd solaris android aix os400 cloudabi"', {
|
|
- 'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ],
|
|
+ # Add some useful flags which need to be specified on all modules anyway.
|
|
+ # `-fpic -fno-semantic-interposition` is the best relocation model for code that will live in a dlopened library
|
|
+ # If a downstream package needs capital `-fPIC` (unlikely) it can still override this (unlike CFLAGS which are injected at the very end)
|
|
+ # `-fvisibility=hidden` is something we're adding to fix downstream overzealous exports.
|
|
+ # The electron headers annotate their visibility correctly, but many third-party code does not which leads to bloated builds.
|
|
+ 'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', '-fpic', '-fno-semantic-interposition', '-fvisibility=hidden' ],
|
|
'cflags_cc': [ '-fno-rtti', '-fno-exceptions', '-std=gnu++20' ],
|
|
'defines': [ '__STDC_FORMAT_MACROS' ],
|
|
- 'ldflags': [ '-rdynamic' ],
|
|
+ #'ldflags': [ '-rdynamic' ], this is totally bogus — we are building a plugin, not a plugin host
|
|
'target_conditions': [
|
|
# The 1990s toolchain on SmartOS can't handle thin archives.
|
|
['_type=="static_library" and OS=="solaris"', {
|
|
@@ -670,29 +675,7 @@
|
|
'-Wl,--export-dynamic',
|
|
],
|
|
}],
|
|
- # if node is built as an executable,
|
|
- # the openssl mechanism for keeping itself "dload"-ed to ensure proper
|
|
- # atexit cleanup does not apply
|
|
- ['node_shared_openssl!="true" and node_shared!="true"', {
|
|
- 'defines': [
|
|
- # `OPENSSL_NO_PINSHARED` prevents openssl from dload
|
|
- # current node executable,
|
|
- # see https://github.com/nodejs/node/pull/21848
|
|
- # or https://github.com/nodejs/node/issues/27925
|
|
- 'OPENSSL_NO_PINSHARED'
|
|
- ],
|
|
- }],
|
|
- ['node_shared_openssl!="true"', {
|
|
- # `OPENSSL_THREADS` is defined via GYP for openSSL for all architectures.
|
|
- 'defines': [
|
|
- 'OPENSSL_THREADS',
|
|
- ],
|
|
- }],
|
|
- ['node_shared_openssl!="true" and openssl_no_asm==1', {
|
|
- 'defines': [
|
|
- 'OPENSSL_NO_ASM',
|
|
- ],
|
|
- }],
|
|
+ # Electron does not export its openssl fork (boringssl). Removing these defines which are bogus and can interfere with modules actually using openssl (signal-desktop is known to use it)
|
|
['OS == "zos"', {
|
|
'defines': [
|
|
'_XOPEN_SOURCE_EXTENDED',
|