6
0
Files
nodejs-electron/fpic.patch

107 lines
3.7 KiB
Diff
Raw Permalink Normal View History

Build targets which go in shared libraries as PIC to avoid linker error
Use -fpic for code which goes only in dlls (gives smaller code),
-fPIC for code which goes in both dlls and main executable
--- a/third_party/angle/BUILD.gn
+++ b/third_party/angle/BUILD.gn
@@ -119,6 +119,8 @@
# This config is applied to internal Angle targets (not pushed to dependents).
config("internal_config") {
+ cflags = ["-fPIC", "-fno-semantic-interposition"]
+ asmflags = ["-fPIC", "-fno-semantic-interposition"]
include_dirs = [
"include",
"src",
--- a/third_party/angle/src/third_party/volk/BUILD.gn
+++ b/third_party/angle/src/third_party/volk/BUILD.gn
@@ -13,6 +13,8 @@
}
source_set("volk") {
+ cflags = ["-fPIC", "-fno-semantic-interposition"]
+ asmflags = ["-fPIC", "-fno-semantic-interposition"]
sources = [
"volk.c",
"volk.h",
--- a/third_party/swiftshader/BUILD.gn
+++ b/third_party/swiftshader/BUILD.gn
@@ -15,9 +15,9 @@
import("src/Reactor/reactor.gni")
config("swiftshader_config") {
- cflags = []
+ cflags = ["-fpic", "-fno-semantic-interposition"]
defines = []
- asmflags = []
+ asmflags = ["-fpic", "-fno-semantic-interposition"]
if (is_clang) {
cflags += [ "-Wno-shadow" ]
--- a/third_party/swiftshader/third_party/SPIRV-Tools/BUILD.gn
+++ b/third_party/swiftshader/third_party/SPIRV-Tools/BUILD.gn
@@ -356,7 +356,8 @@
":spvtools_include_gen_dirs",
]
- cflags = []
+ cflags = ["-fpic", "-fno-semantic-interposition"]
+ asmflags = ["-fpic", "-fno-semantic-interposition"]
if (is_clang) {
cflags += [
"-Wno-implicit-fallthrough",
--- a/third_party/vulkan_memory_allocator/BUILD.gn
+++ b/third_party/vulkan_memory_allocator/BUILD.gn
@@ -35,6 +35,8 @@
}
source_set("vulkan_memory_allocator") {
+ cflags = ["-fPIC", "-fno-semantic-interposition"]
+ asmflags = ["-fPIC", "-fno-semantic-interposition"]
sources = [
"include/vk_mem_alloc.h",
"vma.cpp",
--- a/third_party/zlib/google/BUILD.gn
+++ b/third_party/zlib/google/BUILD.gn
@@ -40,6 +40,8 @@
# This allows other users of Chromium's zlib library, but don't use Chromium's
# //base, to reuse some boilerplate code.
static_library("compression_utils_portable") {
+ cflags = ["-fPIC", "-fno-semantic-interposition"]
+ asmflags = ["-fPIC", "-fno-semantic-interposition"]
sources = [
"compression_utils_portable.cc",
"compression_utils_portable.h",
--- src/ui/qt/BUILD.gn.orig 2025-07-19 11:32:45.537979340 +0200
+++ src/ui/qt/BUILD.gn 2025-07-19 16:18:57.173759933 +0200
- 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/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=202
2025-04-26 10:14:41 +00:00
@@ -39,6 +39,8 @@ source_set("qt_interface") {
# target instead.
public = [ "qt_interface.h" ]
sources = [ "qt_interface.cc" ]
+ cflags = ["-fpic", "-fno-semantic-interposition"]
+ asmflags = ["-fpic", "-fno-semantic-interposition"]
# Don't use libc++ modules as this depends on libstdc++.
use_libcxx_modules = false
@@ -102,6 +104,8 @@ template("qt_shim") {
Accepting request 1119084 from home:dziobian:gulgul-ultron:19 - New upstream release 27.0.1 * Updated Chromium to 118.0.5993.89. * Fixed an issue where calling loadURL during some webContents url loading events could crash. * Fixed an issue where fully occluded windows would return an empty image from webContents.capturePage() * Fixed some redundant permission dialogs while screen sharing on Wayland. - Fix typo installing icon file to wrong folder. - Update to 27.0.0: * ABI break: NODE_MODULE_VERSION is now 118 * Chromium 118.0.5993.32 * Node 18.17.1 * V8 11.8 * The deprecated color scheme changed events in systemPreferences have been removed. * The systemPreferences.getAppLevelAppearance, systemPreferences.setAppLevelAppearance and systemPreferences.appLevelAppearance APIs have been removed, as well as the alternate-selected-control-text value for systemPreferences.getColor. * see https://www.electronjs.org/blog/electron-27-0 and https://www.electronjs.org/blog/electron-26-0 for new features - Drop upstreamed patches * absl-uint128-do-not-assume-abi.patch * cpu-missing-uint8_t.patch * electron-24-components-missing-headers.patch * mojom-python3.12-imp.patch * re2-11-StringPiece.patch * swiftshader-llvm17.patch - (Fedora) switch to bundled avif as Chromium no longer builds with avif 0.x * drop avif_image_decoder-AVIF_PIXEL_FORMAT_COUNT.patch * drop avif_image_decoder-libavif-1-mode.patch * drop avif_image_decoder-repetitionCount-clli.patch - Drop no longer relevant chromium-86-fix-vaapi-on-intel.patch - (Leap and Fedora) reverse upstream changes to build with re2 10 * replace-StringPiece-with-string_view.patch - (Fedora <39) reverse upstream changes to build with icu 71 * v8-icu73-alt_calendar.patch * v8-icu73-simple-case-folding.patch - Reverse upstream changes to build against old brotli * brotli-remove-shared-dictionary.patch - Add patches to fix build errors * absl-make_unique-missing-include.patch * autofill_i18n_parsing_expressions-constexpr.patch * chromium-117-blink-BUILD-mnemonic.patch * decoder_buffer_side_data-missing-uint8_t.patch * disable-tests.patch * keyboard_util-gcc12-invalid-constexpr.patch * kwallet_dbus-missing-uint8_t.patch * material_color_utilities-tones-missing-round.patch * page_content_annotations_common-remove-tflite.patch * partition_root-attribute.patch * perfetto-numeric_storage-double_t.patch * sensor_reading-missing-int64_t-size_t.patch * simple_font_data-freetype-include.patch * utf_string_conversion_utils-missing-numeric_limits.patch OBS-URL: https://build.opensuse.org/request/show/1119084 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=103
2023-10-19 17:09:42 +00:00
sources += get_target_outputs(":generate_moc" + invoker.qt_version)
deps += [ ":generate_moc" + invoker.qt_version ]
}
+ cflags = ["-fpic", "-fno-semantic-interposition"]
+ asmflags = ["-fpic", "-fno-semantic-interposition"]
# Don't depend on libcxx modules. This binary doesn't depend on the standard
# library in libcxx. Instead it depends on the libcxx in the sysroot, so
--- src/third_party/abseil-cpp/BUILD.gn.old
+++ src/third_party/abseil-cpp/BUILD.gn
@@ -132,6 +132,8 @@ config("absl_define_config") {
config("absl_default_cflags_cc") {
cflags_cc = []
+ cflags = ["-fPIC", "-fno-semantic-interposition"]
+ asmflags = ["-fPIC", "-fno-semantic-interposition"]
if (is_clang) {
cflags_cc += [
# TODO(crbug.com/588506): Explicitly enable conversion warnings.