Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package nodejs-electron for openSUSE:Factory 
checked in at 2022-10-08 01:22:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nodejs-electron (Old)
 and      /work/SRC/openSUSE:Factory/.nodejs-electron.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nodejs-electron"

Sat Oct  8 01:22:49 2022 rev:37 rq:1008785 version:21.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/nodejs-electron/nodejs-electron.changes  
2022-09-23 14:16:07.926108335 +0200
+++ 
/work/SRC/openSUSE:Factory/.nodejs-electron.new.2275/nodejs-electron.changes    
    2022-10-08 01:22:58.573920197 +0200
@@ -1,0 +2,106 @@
+Thu Oct  6 18:00:00 UTC 2022 - Bruno Pitrus <brunopit...@hotmail.com>
+- New upstream release 21.1.0
+  * Added WebContents.opener to access window opener
+  * Added webContents.fromFrame(frame) to get the WebContents corresponding to 
a WebFrameMain instance
+  * Provided display_id for desktopCapturer on Linux
+  * Updated Chromium to 106.0.5249.91
+- Add backported argument_spec-missing-isnan-isinf.patch
+- Add partition_alloc-no-lto.patch
+  * LTO is still broken but this gets us past the build error
+
+-------------------------------------------------------------------
+Tue Oct  4 20:58:18 UTC 2022 - Bruno Pitrus <brunopit...@hotmail.com>
+- New upstream release 21.0.1
+  * Update Chromium to 106.0.5249.61
+- Add backported patch to fix build error
+  * gtk_ui_platform_stub-incomplete-type-LinuxInputMethodContext.patch
+
+-------------------------------------------------------------------
+Mon Oct  3 10:49:19 UTC 2022 - Bruno Pitrus <brunopit...@hotmail.com>
+- New upstream release 21.0.0
+  * ABI break: NODE_MODULE_VERSION is now 109. Native modules may need 
recompiling
+  * Update Chromium to 106.0.5249.51
+  * Update Node to 16.16.0
+  * Enabled the V8 memory cage for external buffers. See 
https://www.electronjs.org/blog/v8-memory-cage for more details.
+  * Added app.getSystemLocale() method.
+  * Added new WebContents.ipc and WebFrameMain.ipc APIs.
+  * Added support for Web Bluetooth pin pairing
+  * Enable missing HKDF support in Node.js crypto
+  * Fixed a crash that occured when loading non-standard schemes from iframes.
+  * Fixed a crash when switching origins with emulation settings set.
+  * Fixed an issue where screen.getCursorScreenPoint() crashed on Wayland
+    when it was called before a BrowserWindow had been created.
+  * Fixed an issue where serialPort.open() failed with
+    `NetworkError: Failed to open serial port.`
+  * Fixed the 'length' property in UploadFile objects being ignored.
+- Add -doc subpackage.
+- Do not build PDF viewer as it is huge and we don't ship any apps using it.
+- Intentionally break any downstream software using the @electron/fuses script 
during build,
+  as it never actually worked with system electron and the maintainer needs to
+  be alerted to possible ABI breaks.
+  * add disable-fuses.patch
+- Switch to vendored AVIF on 15.4 and F36 due to the system one being too old.
+- Fix angle trying to load a custom libvulkan we do not ship.
+- Drop patches applied upstream:
+  * absl_algorithm.gn
+  * absl_base.gn
+  * absl_cleanup.gn
+  * absl_container.gn
+  * absl_debugging.gn
+  * absl_flags.gn
+  * absl_functional.gn
+  * absl_hash.gn
+  * absl_memory.gn
+  * absl_meta.gn
+  * absl_numeric.gn
+  * absl_random.gn
+  * absl_status.gn
+  * absl_strings.gn
+  * absl_synchronization.gn
+  * absl_time.gn
+  * absl_types.gn
+  * absl_utility.gn
+  * brotli.gn
+  * crc32c.gn
+  * dav1d.gn
+  * double-conversion.gn
+  * libaom.gn
+  * libavif.gn
+  * libjxl.gn
+  * libXNVCtrl.gn
+  * libyuv.gn
+  * swiftshader-SPIRV-Headers.gn
+  * swiftshader-SPIRV-Tools.gn
+  * vulkan-SPIRV-Headers.gn
+  * vulkan-SPIRV-Tools.gn
+  * woff2.gn
+  * abseil_string_number_conversions-do-not-assume-ABI.patch
+  * attribution_manager_impl-missing-absl-WrapUnique.patch
+  * ax_property_node-missing-unique_ptr-forward.patch
+  * byteswap-constexpr2.patch
+  * chromium-fix-pac-with-gcc.patch
+  * 
content_renderer_client-invalid-application-of-sizeof-to-incomplete-type-cast_streaming-ResourceProvider.patch
+  * dark_mode_types-uint8_t.patch
+  * device_perf_info-missing-uint32_t.patch
+  * extract_first_nonzero_index-neon64.patch
+  * json_generation-missing-unique_ptr.patch
+  * metrics_recorder-missing-string.patch
+  * multi_channel_content_detector-missing-unique_ptr.patch
+  * skia_utils-missing-uint64_t.patch
+- Add backported patches to fix build errors
+  * pending_beacon_dispatcher-virtual-functions-cannot-be-constexpr.patch
+  * std_lib_extras-missing-intptr_t.patch
+- Fix build with system abseil
+  * remove abseil-remove-unused-targets.patch
+  * add system-abseil-missing-shims.patch
+  * add crashpad-use-system-abseil.patch
+- Reverse upstream changes to fix build with system ffmpeg
+  * audio_file_reader-ffmpeg-AVFrame-duration.patch
+- Conditionally reverse upstream changes and add hacks in v8 headers to build 
with icu-69
+  * intl-objects-icu71-UNUM_APPROXIMATELY_SIGN_FIELD.patch
+  * v8-icu69-FormattedNumberRange-no-default-constructible.patch
+  * electron-devel now requires icu-devel on old OS's
+- Reverse upstream changes to build with system avif
+  * avif_image_decoder-AVIF_PIXEL_FORMAT_COUNT.patch
+
+-------------------------------------------------------------------

Old:
----
  abseil-remove-unused-targets.patch
  abseil_string_number_conversions-do-not-assume-ABI.patch
  absl_algorithm.gn
  absl_base.gn
  absl_cleanup.gn
  absl_container.gn
  absl_debugging.gn
  absl_flags.gn
  absl_functional.gn
  absl_hash.gn
  absl_memory.gn
  absl_meta.gn
  absl_numeric.gn
  absl_random.gn
  absl_status.gn
  absl_strings.gn
  absl_synchronization.gn
  absl_time.gn
  absl_types.gn
  absl_utility.gn
  attribution_manager_impl-missing-absl-WrapUnique.patch
  ax_property_node-missing-unique_ptr-forward.patch
  brotli.gn
  byteswap-constexpr2.patch
  chromium-fix-pac-with-gcc.patch
  
content_renderer_client-invalid-application-of-sizeof-to-incomplete-type-cast_streaming-ResourceProvider.patch
  crc32c.gn
  dark_mode_types-uint8_t.patch
  dav1d.gn
  device_perf_info-missing-uint32_t.patch
  double-conversion.gn
  electron-20.2.0.tar.xz
  extract_first_nonzero_index-neon64.patch
  json_generation-missing-unique_ptr.patch
  libXNVCtrl.gn
  libaom.gn
  libavif.gn
  libjxl.gn
  libyuv.gn
  metrics_recorder-missing-string.patch
  multi_channel_content_detector-missing-unique_ptr.patch
  skia_utils-missing-uint64_t.patch
  swiftshader-SPIRV-Headers.gn
  swiftshader-SPIRV-Tools.gn
  vulkan-SPIRV-Headers.gn
  vulkan-SPIRV-Tools.gn
  woff2.gn

New:
----
  argument_spec-missing-isnan-isinf.patch
  audio_file_reader-ffmpeg-AVFrame-duration.patch
  avif_image_decoder-AVIF_PIXEL_FORMAT_COUNT.patch
  crashpad-use-system-abseil.patch
  disable-fuses.patch
  electron-21.1.0.tar.xz
  gtk_ui_platform_stub-incomplete-type-LinuxInputMethodContext.patch
  intl-objects-icu71-UNUM_APPROXIMATELY_SIGN_FIELD.patch
  partition_alloc-no-lto.patch
  pending_beacon_dispatcher-virtual-functions-cannot-be-constexpr.patch
  std_lib_extras-missing-intptr_t.patch
  system-abseil-missing-shims.patch
  v8-icu69-FormattedNumberRange-no-default-constructible.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nodejs-electron.spec ++++++
--- /var/tmp/diff_new_pack.kw086C/_old  2022-10-08 01:23:07.053939646 +0200
+++ /var/tmp/diff_new_pack.kw086C/_new  2022-10-08 01:23:07.061939664 +0200
@@ -23,7 +23,7 @@
 
 %define mod_name electron
 # https://github.com/nodejs/node/blob/main/doc/abi_version_registry.json
-%define abi_version 107
+%define abi_version 109
 
 # Do not provide libEGL.so, etc???
 %define __provides_exclude ^lib.*\\.so.*$
@@ -90,28 +90,41 @@
 %bcond_with mold
 
 %if %{without lld}
-#Electron built with LTO crashes on selecting any text.
-#See https://gist.github.com/brjsp/80620a5a0be9efbee6b9154cb127879d for the 
stack trace.
+
+%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150500 || 0%{?fedora}
+#TODO: Fix LTO build.
+#Electron 19 crashed on selecting any text. see 
https://gist.github.com/brjsp/80620a5a0be9efbee6b9154cb127879d for the stack 
trace.
+#Electron 20 ran vscode fine, but Signal had problems with renderer process 
infinite loop hang.
+#Electron 21 fails linking currently.
+#[  755s] 
/usr/lib64/gcc/x86_64-suse-linux/12/../../../../x86_64-suse-linux/bin/ld: 
/tmp/cch8lk8g.ltrans11.ltrans.o: in function 
`partition_alloc::internal::PCScan::JoinScan()':
+#[  755s] 
/home/abuild/rpmbuild/BUILD/src/out/Release/../../base/allocator/partition_allocator/starscan/stack/stack.cc:139:
 undefined reference to `PAPushAllRegistersAndIterateStack'
 #%%bcond_without lto
 %bcond_with lto
 %else
+#Protoc on Leap crashes when built with LTO.
 %bcond_with lto
 %endif
 
+%else #without lld
+%bcond_with lto
+%endif #without lld
+
 %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150400 || 0%{?fedora}
 %bcond_without system_harfbuzz
-%bcond_without system_avif
 %else
 %bcond_with system_harfbuzz
+%endif
+
+%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150500 || 0%{?fedora} >= 
37
+%bcond_without system_avif
+%else
 %bcond_with system_avif
 %endif
 
 %bcond_without system_freetype
 %bcond_without system_nghttp2
 %bcond_without system_double_conversion
-%bcond_without system_jsoncpp
 %bcond_without system_woff2
-%bcond_without system_tiff
 
 
 %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150600 || 0%{?fedora} >= 
37
@@ -192,7 +205,7 @@
 
 
 Name:           nodejs-electron
-Version:        20.2.0
+Version:        21.1.0
 Release:        0
 Summary:        Build cross platform desktop apps with JavaScript, HTML, and 
CSS
 License:        AFL-2.0 AND Apache-2.0 AND blessing AND BSD-2-Clause AND 
BSD-3-Clause AND BSD-Protection AND BSD-Source-Code AND bzip2-1.0.6 AND IJG AND 
ISC AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND MIT AND MIT-CMU AND 
MIT-open-group AND (MPL-1.1 OR GPL-2.0-or-later OR LGPL-2.1-or-later) AND 
MPL-2.0 AND OpenSSL AND SGI-B-2.0 AND SUSE-Public-Domain AND X11
@@ -204,48 +217,20 @@
 Source11:       electron.desktop
 Source12:       electron-logo-symbolic.svg
 # Shim generators for unbundling libraries
-Source20:       absl_algorithm.gn
-Source21:       absl_base.gn
-Source22:       absl_cleanup.gn
-Source23:       absl_container.gn
-Source24:       absl_debugging.gn
-Source25:       absl_flags.gn
-Source26:       absl_functional.gn
-Source27:       absl_hash.gn
-Source28:       absl_memory.gn
-Source29:       absl_meta.gn
-Source30:       absl_numeric.gn
-Source31:       absl_random.gn
-Source32:       absl_status.gn
-Source33:       absl_strings.gn
-Source34:       absl_synchronization.gn
-Source35:       absl_time.gn
-Source36:       absl_types.gn
-Source37:       brotli.gn
-Source38:       crc32c.gn
-# 
https://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/current/SOURCES/chromium-79-system-dav1d.patch
-Source39:       dav1d.gn
-Source40:       double-conversion.gn
-# 
https://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/current/SOURCES/chromium-79-system-libaom.patch
-Source41:       libaom.gn
-Source42:       libavif.gn
-Source43:       libjxl.gn
-Source44:       libXNVCtrl.gn
-Source45:       swiftshader-SPIRV-Headers.gn
-Source46:       swiftshader-SPIRV-Tools.gn
-Source47:       vulkan-SPIRV-Headers.gn
-Source48:       vulkan-SPIRV-Tools.gn
-Source49:       woff2.gn
 Source50:       flatbuffers.gn
 Source51:       libsecret.gn
-Source52:       libyuv.gn
-Source53:       absl_utility.gn
 
 
 # Reverse upstream changes to be able to build against ffmpeg-4
 Source400:      ffmpeg-new-channel-layout.patch
+Source401:      audio_file_reader-ffmpeg-AVFrame-duration.patch
 # ???and against icu-69
-Source401:      NumberFormat-icu71-incrementExact.patch
+Source410:      NumberFormat-icu71-incrementExact.patch
+Source411:      intl-objects-icu71-UNUM_APPROXIMATELY_SIGN_FIELD.patch
+
+#Reverse upstream changes to build against system libavif.
+#All of this patch is dead code, so it can be reversed unconditionally.
+Source420:      avif_image_decoder-AVIF_PIXEL_FORMAT_COUNT.patch
 
 
 # PATCHES for openSUSE-specific things
@@ -261,36 +246,30 @@
 Patch25:        electron-16-system-node-headers.patch
 # 
https://sources.debian.org/patches/chromium/102.0.5005.115-1/debianization/support-i386.patch/
 Patch39:        support-i386.patch
-Patch49:        abseil-remove-unused-targets.patch
 # from 
https://sources.debian.org/patches/chromium/103.0.5060.53-1/disable/catapult.patch/
 Patch67:        disable-catapult.patch
 Patch68:        do-not-build-libvulkan.so.patch
 Patch69:        nasm-generate-debuginfo.patch
+Patch70:        disable-fuses.patch
 
 # PATCHES to use system libs
 Patch1002:      chromium-system-libusb.patch
 Patch1017:      system-libdrm.patch
 # 
http://svnweb.mageia.org/packages/updates/7/chromium-browser-stable/current/SOURCES/chromium-74-pdfium-system-libopenjpeg2.patch?view=markup
 Patch1038:      pdfium-fix-system-libs.patch
-%if %{with system_jsoncpp}
 # 
https://sources.debian.org/patches/chromium/102.0.5005.115-1/system/jsoncpp.patch/
 Patch1040:      system-jsoncpp.patch
-%endif
 # 
https://sources.debian.org/patches/chromium/102.0.5005.115-1/system/zlib.patch/
 Patch1041:      system-zlib.patch
 Patch1043:      node-system-libs.patch
 Patch1044:      replace_gn_files-system-libs.patch
 Patch1045:      angle-system-xxhash.patch
-%if %{with system_tiff}
 # 
https://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/current/SOURCES/chromium-99-pdfium-system-libtiff-libpng.patch
 Patch1046:      chromium-99-pdfium-system-libtiff.patch
-%endif
 Patch1047:      cares_public_headers.patch
 Patch1048:      chromium-remove-bundled-roboto-font.patch
 Patch1053:      swiftshader-use-system-llvm.patch
-%if %{with system_abseil}
 Patch1054:      thread_annotations-fix-build-with-system-abseil.patch
-%endif
 Patch1063:      system-libbsd.patch
 Patch1065:      base-system-nspr.patch
 Patch1066:      system-gtest.patch
@@ -302,6 +281,8 @@
 Patch1072:      node-system-icu.patch
 Patch1073:      system-nasm.patch
 Patch1074:      no-zlib-headers.patch
+Patch1075:      system-abseil-missing-shims.patch
+Patch1076:      crashpad-use-system-abseil.patch
 
 # PATCHES to fix interaction with third-party software
 Patch2004:      chromium-gcc11.patch
@@ -318,6 +299,8 @@
 # Fix electron patched code
 Patch2024:      electron-16-std-vector-non-const.patch
 Patch2029:      electron-16-webpack-fix-openssl-3.patch
+Patch2030:      v8-icu69-FormattedNumberRange-no-default-constructible.patch
+Patch2031:      partition_alloc-no-lto.patch
 
 
 # PATCHES that should be submitted upstream verbatim or near-verbatim
@@ -328,19 +311,7 @@
 Patch3028:      electron-16-third_party-symbolize-missing-include.patch
 # From https://git.droidware.info/wchen342/ungoogled-chromium-fedora
 Patch3033:      chromium-94.0.4606.71-InkDropHost-crash.patch
-# 
https://sources.debian.org/patches/chromium/102.0.5005.115-1/bullseye/byteswap-constexpr2.patch/
-Patch3035:      byteswap-constexpr2.patch
-Patch3042:      chromium-fix-pac-with-gcc.patch
-Patch3050:      abseil_string_number_conversions-do-not-assume-ABI.patch
-Patch3051:      multi_channel_content_detector-missing-unique_ptr.patch
-Patch3055:      json_generation-missing-unique_ptr.patch
 Patch3056:      
async_shared_storage_database_impl-missing-absl-WrapUnique.patch
-Patch3057:      metrics_recorder-missing-string.patch
-Patch3058:      skia_utils-missing-uint64_t.patch
-Patch3059:      device_perf_info-missing-uint32_t.patch
-Patch3060:      dark_mode_types-uint8_t.patch
-Patch3061:      ax_property_node-missing-unique_ptr-forward.patch
-Patch3062:      attribution_manager_impl-missing-absl-WrapUnique.patch
 # 
https://salsa.debian.org/chromium-team/chromium/-/blob/456851fc808b2a5b5c762921699994e957645917/debian/patches/upstream/nested-nested-nested-nested-nested-nested-regex-patterns.patch
 Patch3064:      nested-nested-nested-nested-nested-nested-regex-patterns.patch
 # Fedora patch to fix build with python3.11
@@ -348,10 +319,12 @@
 Patch3067:      reproducible-config.gypi.patch
 Patch3068:      content_language_parser-missing-string.patch
 Patch3069:      aggregatable_attribution_utils-do-not-assume-abseil-ABI.patch
-Patch3070:      
content_renderer_client-invalid-application-of-sizeof-to-incomplete-type-cast_streaming-ResourceProvider.patch
 Patch3072:      attribution_response_parsing-do-not-assume-abseil-ABI.patch
 Patch3073:      common.gypi-cpp-version.patch
-Patch3074:      extract_first_nonzero_index-neon64.patch
+Patch3074:      
pending_beacon_dispatcher-virtual-functions-cannot-be-constexpr.patch
+Patch3075:      std_lib_extras-missing-intptr_t.patch
+Patch3076:      
gtk_ui_platform_stub-incomplete-type-LinuxInputMethodContext.patch
+Patch3077:      argument_spec-missing-isnan-isinf.patch
 
 %if %{with clang}
 BuildRequires:  clang
@@ -394,9 +367,7 @@
 %endif
 BuildRequires:  libbsd-devel
 BuildRequires:  libpng-devel
-%if %{with system_tiff}
 BuildRequires:  libtiff-devel
-%endif
 %if %{with system_nvctrl}
 BuildRequires:  libXNVCtrl-devel
 %endif
@@ -497,14 +468,20 @@
 %if %{with system_harfbuzz}
 BuildRequires:  pkgconfig(harfbuzz) >= 3
 %endif
+
 %if %{with icu_71}
 BuildRequires:  pkgconfig(icu-i18n) >= 71
 %else
-BuildRequires:  pkgconfig(icu-i18n) >= 68
+
+%if 0%{?fedora}
+BuildRequires:  libicu-devel < 70
+%else
+BuildRequires:  icu.691-devel
 %endif
-%if %{with system_jsoncpp}
-BuildRequires:  pkgconfig(jsoncpp)
+
 %endif
+
+BuildRequires:  pkgconfig(jsoncpp)
 BuildRequires:  pkgconfig(krb5)
 BuildRequires:  pkgconfig(lcms2)
 %if %{with ffmpeg_5}
@@ -618,9 +595,28 @@
 Requires:       nodejs-electron%{?_isa} = %{version}
 Requires:       pkgconfig(zlib)
 
+%if %{without icu_71}
+#SUSE patched code includes icu headers
+%if 0%{?fedora}
+Requires:       libicu-devel%{?_isa}
+%else
+Requires:       icu.691-devel%{?_isa}
+%endif
+%endif
+
 %description devel
 Development headers for Electron projects.
 
+%package doc
+Summary:        Electron API documentation
+Group:          Documentation/Other
+Enhances:       nodejs-electron-devel = %{version}
+BuildArch:      noarch
+
+
+%description doc
+Development documentation for the Electron runtime.
+
 %prep
 
 # Use stable path to source to make use of ccache
@@ -629,14 +625,27 @@
 # Sanity check if macro corresponds to the actual ABI
 test $(grep ^node_module_version electron/build/args/all.gn | sed 's/.* = //') 
= %abi_version
 
+%if %{without system_abseil}
+patch -R -p1 < %PATCH1054
+patch -R -p1 < %PATCH1076
+%endif
+
 %if %{without ffmpeg_5}
 patch -R -p1 < %SOURCE400
 %endif
 
 %if %{without icu_71}
-patch -R -p1 < %SOURCE401
+patch -R -p1 < %SOURCE410
+patch -R -p1 < %SOURCE411
+%else
+patch -R -p1 < %PATCH2030
 %endif
 
+# This one depends on an ffmpeg nightly, reverting unconditionally.
+patch -R -p1 < %SOURCE401
+
+# This one is dead code, we cen revert it even when using bundled avif.
+patch -R -p1 < %SOURCE420
 
 # Link system wayland-protocols-devel into where chrome expects them
 mkdir -p third_party/wayland-protocols/kde/src
@@ -769,6 +778,9 @@
 %if %{with lto} && %{without clang}
 # reduce the threads for linking even more due to LTO eating ton of memory
 _link_threads=$(((%{jobs} - 2)))
+%ifarch aarch64
+_link_threads=1
+%endif
 test "$_link_threads" -le 0 && _link_threads=1
 export LDFLAGS="-flto=$_link_threads --param lto-max-streaming-parallelism=1"
 %endif
@@ -929,6 +941,9 @@
 %endif
 %ifarch aarch64
 myconf_gn+=" host_cpu=\"arm64\""
+#default is "standard" which does not work with gcc
+#This does not raise the cpu requirements according to 
https://developer.arm.com/documentation/101754/0616/armclang-Reference/armclang-Command-line-Options/-mbranch-protection
+myconf_gn+=" arm_control_flow_integrity=\"pac\""
 %endif
 %ifarch %arm
 myconf_gn+=" host_cpu=\"arm\""
@@ -948,6 +963,9 @@
 %endif
 
 %endif #ifarch arm
+
+
+
 myconf_gn+=" host_os=\"linux\""
 myconf_gn+=" is_debug=false"
 myconf_gn+=" dcheck_always_on=false"
@@ -961,6 +979,17 @@
 myconf_gn+=" use_cups=true"
 myconf_gn+=" use_aura=true"
 
+# always load system libvulkan.so
+myconf_gn+=" angle_use_custom_libvulkan=false"
+
+# do not build PDF support
+myconf_gn+=" enable_pdf=false"
+myconf_gn+=" enable_pdf_viewer=false"
+myconf_gn+=" enable_print_preview=false"
+myconf_gn+=" enable_basic_printing=false"
+
+
+
 # This requires the non-free closure_compiler.jar. If we ever need to build 
chrome with JS typecheck,
 # we would need to package it separately and compile it from sources, since 
the chrome git repo
 # provides only a compiled binary.
@@ -996,7 +1025,7 @@
 myconf_gn+=" safe_browsing_mode=0"
 
 #Do not build Chromecast
-myconf_gn+=" enable_openscreen=false"
+myconf_gn+=" enable_remoting=false"
 myconf_gn+=" enable_media_remoting=false"
 
 
@@ -1008,6 +1037,8 @@
 myconf_gn+=" use_allocator=\"partition\""
 myconf_gn+=" use_allocator_shim=true"
 myconf_gn+=" use_partition_alloc=true"
+
+
 myconf_gn+=" disable_fieldtrial_testing_config=true"
 myconf_gn+=" use_gnome_keyring=false"
 myconf_gn+=" use_unofficial_version_number=false"
@@ -1162,7 +1193,6 @@
 
 %files
 %license electron/LICENSE out/Release/LICENSES.chromium.html
-%doc electron/README.md
 %{_bindir}/electron
 %{_datadir}/pixmaps/electron.png
 %{_datadir}/icons/hicolor/symbolic/apps/electron-symbolic.svg
@@ -1178,4 +1208,8 @@
 %{_includedir}/electron
 %{_rpmconfigdir}/macros.d/macros.electron
 
+%files doc
+%doc electron/README.md
+%doc electron/docs
+
 %changelog

++++++ argument_spec-missing-isnan-isinf.patch ++++++
>From ed9b58042c57f737d5a04ce0e8deba1a97d19e09 Mon Sep 17 00:00:00 2001
From: Andres Salomon <dilin...@queued.net>
Date: Wed, 28 Sep 2022 03:41:16 +0000
Subject: [PATCH] Fix missing cmath header build failure in renderer extension

Building 106.0.5249.51 on a Debian machine, I hit the following
build error:

FAILED: obj/extensions/renderer/renderer/argument_spec.o
clang++ [...] -o obj/extensions/renderer/renderer/argument_spec.o
../../extensions/renderer/bindings/argument_spec.cc:410:16: error: no member 
named 'isnan' in namespace 'std'
      if (std::isnan(double_val) || std::isinf(double_val)) {
          ~~~~~^
../../extensions/renderer/bindings/argument_spec.cc:410:42: error: no member 
named 'isinf' in namespace 'std'
      if (std::isnan(double_val) || std::isinf(double_val)) {
                                    ~~~~~^
2 errors generated.

isnan and isinf are both found in the cmath header, so simply
including it fixes that build error.

R=rdevlin.cro...@chromium.org, tjudk...@chromium.org

Change-Id: I95c49a8f90a5a734b62b8988dc3138e3afa3c6f6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3913616
Commit-Queue: Andres Salomon <dilin...@queued.net>
Auto-Submit: Andres Salomon <dilin...@queued.net>
Reviewed-by: Tim <tjudk...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1052196}
---
 extensions/renderer/bindings/argument_spec.cc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/extensions/renderer/bindings/argument_spec.cc 
b/extensions/renderer/bindings/argument_spec.cc
index 1e10bf1b561f4..eadd7ec3e3c9d 100644
--- a/extensions/renderer/bindings/argument_spec.cc
+++ b/extensions/renderer/bindings/argument_spec.cc
@@ -4,6 +4,8 @@
 
 #include "extensions/renderer/bindings/argument_spec.h"
 
+#include <cmath>
+
 #include "base/check.h"
 #include "base/strings/string_piece.h"
 #include "base/strings/string_util.h"

++++++ audio_file_reader-ffmpeg-AVFrame-duration.patch ++++++
>From ded379824f5de39357b6b1894578101aba5cdf05 Mon Sep 17 00:00:00 2001
From: Eugene Zemtsov <eug...@chromium.org>
Date: Fri, 29 Jul 2022 04:41:04 +0000
Subject: [PATCH] Roll src/third_party/ffmpeg/ 880df5ede..b71ecd02b (279
 commits)

https://chromium.googlesource.com/chromium/third_party/ffmpeg.git/+log/880df5ede50a..b71ecd02b479

$ git log 880df5ede..b71ecd02b --date=short --no-merges --format='%ad %ae %s'
2022-07-27 eugene Roll for M106
2022-07-25 andreas.rheinhardt avcodec/x86/pngdsp: Remove obsolete 
ff_add_bytes_l2_mmx()
2022-07-22 andreas.rheinhardt avcodec/hevcdec: Output MD5-message in one piece
2022-07-24 epirat07 configure: properly require libx264 if enabled
2022-07-24 zane avformat/argo_cvg: expose loop/reverb/checksum via metadata
(...)
2022-05-03 leo.izen avcodec/libjxldec: properly tag output colorspace
2022-06-25 ffmpeg avfilter/Makefile: always make colorspace.o
2022-03-02 brad avutil/ppc/cpu: Use proper header for OpenBSD PPC CPU detection
2022-06-24 jamrial avformat/http: include version.h
2022-05-16 mbonda-at-nvidia.com AV1 VDPAU hwaccel Decode support

Created with:
  roll-dep src/third_party/ffmpeg

ffmpeg usage fix:
 Switch from AVFrame::pkt_duration to AVFrame::duration,
 AVFrame::pkt_duration is deprecated

Bug: 1344646
Change-Id: Iaa3abf48ef81dae6d282bca8f0fa2a8dffeeba25
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3788638
Reviewed-by: Will Cassella <cas...@chromium.org>
Commit-Queue: Eugene Zemtsov <eug...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1029623}
---
 DEPS                               | 2 +-
 media/filters/audio_file_reader.cc | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/media/filters/audio_file_reader.cc 
b/media/filters/audio_file_reader.cc
index e1be5aa9a5b13..951c003956fb5 100644
--- a/media/filters/audio_file_reader.cc
+++ b/media/filters/audio_file_reader.cc
@@ -243,10 +243,10 @@ bool AudioFileReader::OnNewFrame(
   // silence from being output. In the case where we are also discarding some
   // portion of the packet (as indicated by a negative pts), we further want to
   // adjust the duration downward by however much exists before zero.
-  if (audio_codec_ == AudioCodec::kAAC && frame->pkt_duration) {
+  if (audio_codec_ == AudioCodec::kAAC && frame->duration) {
     const base::TimeDelta pkt_duration = ConvertFromTimeBase(
         glue_->format_context()->streams[stream_index_]->time_base,
-        frame->pkt_duration + std::min(static_cast<int64_t>(0), frame->pts));
+        frame->duration + std::min(static_cast<int64_t>(0), frame->pts));
     const base::TimeDelta frame_duration =
         base::Seconds(frames_read / static_cast<double>(sample_rate_));
 

++++++ avif_image_decoder-AVIF_PIXEL_FORMAT_COUNT.patch ++++++
>From 6882302cd00eb7749c01e25e2478a832f5f8552f Mon Sep 17 00:00:00 2001
From: Wan-Teh Chang <w...@google.com>
Date: Tue, 16 Aug 2022 16:38:05 +0000
Subject: [PATCH] Roll src/third_party/libavif/src/ dd2d67c5f..d22d4de94 (35
 commits)

https://chromium.googlesource.com/external/github.com/AOMediaCodec/libavif.git/+log/dd2d67c5f976..d22d4de94120

$ git log dd2d67c5f..d22d4de94 --date=short --no-merges --format='%ad %ae %s'
2022-08-11 vigneshv Refactor libyuv yuv->rgb conversion with function pointers
2022-08-10 vigneshv Use per-row conditional in avifImageIdentity8ToRGB8Color
2022-08-11 wtc Turn on caching of Build SVT-AV1 and Build libjpeg
2022-08-11 vigneshv Update libyuv.cmd to 9b17af9b
2022-08-10 wtc ext/svt.sh: Do not build the SVT-AV1 decoder
2022-08-10 wtc Ext: Update to SVT-AV1 v1.2.0
2022-08-09 vigneshv Support YUV422->RGB565 conversion with libyuv
2022-08-10 yguyon Run ext/libjpeg.cmd in GitHub CI
2022-08-04 vigneshv Add support RGB565 format
2022-08-09 wtc avifPNGWrite: Output RGB if input has no alpha
(...)
2022-08-02 wtc Fix MSVC warnings
2022-08-01 yguyon Make avifImageAllocatePlanes() return avifResult
2022-08-01 yguyon Bump AppVeyor Visual Studio version to 2022
2022-07-28 wtc Shorten AppVeyor build to fix build timeout
2022-07-28 wtc Add int32_t casts to fix MSVC warnings
2022-07-25 ccom svt: null metadata field on EbBufferHeaderType
2022-07-15 vrabaud Adding a basic test for lossless. (#984)
2022-07-12 yguyon Use I420ToRGB24Matrix() in reformat_libyuv.c
2022-07-11 wtc Initialize base class avifRWData with {nullptr, 0}
2022-07-11 yguyon Rename YUVToRGB test suite to RGBToYUV

Created with:
  roll-dep src/third_party/libavif/src

Update two switch statements in avif_image_decoder.cc to handle the new
enum value 'AVIF_PIXEL_FORMAT_COUNT', otherwise there are -Wswitch
warnings.

R=dalecur...@chromium.org,jz...@chromium.org

Change-Id: I303f40763bd6894be9be7f2c60807678fc4939f8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3828790
Commit-Queue: Wan-Teh Chang <w...@google.com>
Reviewed-by: James Zern <jz...@google.com>
Cr-Commit-Position: refs/heads/main@{#1035544}
---
 DEPS                                                            | 2 +-
 .../renderer/platform/image-decoders/avif/avif_image_decoder.cc | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git 
a/third_party/blink/renderer/platform/image-decoders/avif/avif_image_decoder.cc 
b/third_party/blink/renderer/platform/image-decoders/avif/avif_image_decoder.cc
index c24bf8e0446d3..6ccc4bcfe2c36 100644
--- 
a/third_party/blink/renderer/platform/image-decoders/avif/avif_image_decoder.cc
+++ 
b/third_party/blink/renderer/platform/image-decoders/avif/avif_image_decoder.cc
@@ -158,6 +158,7 @@ media::VideoPixelFormat 
AvifToVideoPixelFormat(avifPixelFormat fmt,
     case AVIF_PIXEL_FORMAT_YUV444:
       return kYUV444Formats[has_alpha][depth_index];
     case AVIF_PIXEL_FORMAT_NONE:
+    case AVIF_PIXEL_FORMAT_COUNT:
       NOTREACHED();
       return media::PIXEL_FORMAT_UNKNOWN;
   }
@@ -300,6 +301,7 @@ cc::YUVSubsampling AVIFImageDecoder::GetYUVSubsampling() 
const {
     case AVIF_PIXEL_FORMAT_YUV400:
       return cc::YUVSubsampling::kUnknown;
     case AVIF_PIXEL_FORMAT_NONE:
+    case AVIF_PIXEL_FORMAT_COUNT:
       NOTREACHED();
       return cc::YUVSubsampling::kUnknown;
   }

++++++ base-system-nspr.patch ++++++
--- /var/tmp/diff_new_pack.kw086C/_old  2022-10-08 01:23:07.149939866 +0200
+++ /var/tmp/diff_new_pack.kw086C/_new  2022-10-08 01:23:07.153939875 +0200
@@ -30,7 +30,7 @@
      "thread_annotations.h",
      "threading/hang_watcher.cc",
 @@ -1414,6 +1417,7 @@
- 
+     "//build/config/compiler:prevent_unsafe_narrowing",
      "//build/config/compiler:wexit_time_destructors",
      "//build/config/compiler:wglobal_constructors",
 +    ":system_nspr",

++++++ chromium-102-compiler.patch ++++++
--- /var/tmp/diff_new_pack.kw086C/_old  2022-10-08 01:23:07.165939903 +0200
+++ /var/tmp/diff_new_pack.kw086C/_new  2022-10-08 01:23:07.169939912 +0200
@@ -109,22 +109,6 @@
    # Tells the compiler not to use absolute paths when passing the default
    # paths to the tools it invokes. We don't want this because we don't
    # really need it and it can mess up the goma cache entries.
-@@ -1538,15 +1473,6 @@
-         cflags += [ "-Wno-unqualified-std-cast-call" ]
-       }
- 
--      if (!is_nacl && !(is_chromeos ||
--                        default_toolchain == 
"//build/toolchain/cros:target")) {
--        # TODO(https://crbug.com/1322823): Remove flags once potential 
miscompile is investigated.
--        cflags += [
--          "-Xclang",
--          "-no-opaque-pointers",
--        ]
--      }
--
-       if (is_fuchsia) {
-         # TODO(https://bugs.chromium.org/p/fuchsia/issues/detail?id=77383)
-         cflags += [ "-Wno-deprecated-copy" ]
 @@ -1615,7 +1541,7 @@
        defines = [ "_HAS_NODISCARD" ]
      }
@@ -145,13 +129,14 @@
  
      # In Chromium code, we define __STDC_foo_MACROS in order to get the
      # C99 macros on Mac and Linux.
-@@ -1636,15 +1558,6 @@
+@@ -1636,16 +1558,6 @@
        "__STDC_FORMAT_MACROS",
      ]
  
 -    if (!is_debug && !using_sanitizer && current_cpu != "s390x" &&
 -        current_cpu != "s390" && current_cpu != "ppc64" &&
--        current_cpu != "mips" && current_cpu != "mips64") {
+-        current_cpu != "mips" && current_cpu != "mips64" &&
+-        current_cpu != "riscv64") {
 -      # Non-chromium code is not guaranteed to compile cleanly with
 -      # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are
 -      # disabled, so only do that for Release build.

++++++ chromium-remove-bundled-roboto-font.patch ++++++
--- /var/tmp/diff_new_pack.kw086C/_old  2022-10-08 01:23:07.205939994 +0200
+++ /var/tmp/diff_new_pack.kw086C/_new  2022-10-08 01:23:07.209940004 +0200
@@ -3,7 +3,7 @@
 --- a/ui/webui/resources/BUILD.gn      2022-06-15 15:58:23.822426713 +0200
 +++ b/ui/webui/resources/BUILD.gn      2022-06-21 15:51:23.647223308 +0200
 @@ -36,17 +36,6 @@
-     
"$root_gen_dir/ui/webui/resources/cr_components/color_change_listener/resources.grdp",
+     "$root_gen_dir/third_party/jstemplate/resources.grdp",
    ]
  
 -  if (!is_chromeos_ash && !is_android) {

++++++ chromium-system-libusb.patch ++++++
--- /var/tmp/diff_new_pack.kw086C/_old  2022-10-08 01:23:07.217940022 +0200
+++ /var/tmp/diff_new_pack.kw086C/_new  2022-10-08 01:23:07.221940031 +0200
@@ -32,8 +32,8 @@
 --- electron-16.0.6.orig/build/linux/unbundle/replace_gn_files.py      
2022-01-10 16:06:45.861270275 +0100
 +++ electron-16.0.6/build/linux/unbundle/replace_gn_files.py   2022-01-13 
16:02:37.237389046 +0100
 @@ -25,6 +25,7 @@ REPLACEMENTS = {
-   'libevent': 'base/third_party/libevent/BUILD.gn',
    'libjpeg': 'third_party/libjpeg.gni',
+   'libjxl' : 'third_party/libjxl/BUILD.gn',
    'libpng': 'third_party/libpng/BUILD.gn',
 +  'libusb': 'third_party/libusb/BUILD.gn',
    'libvpx': 'third_party/libvpx/BUILD.gn',

++++++ crashpad-use-system-abseil.patch ++++++
--- a/components/crash/core/app/crashpad.cc
+++ b/components/crash/core/app/crashpad.cc
@@ -28,7 +28,7 @@
 #include "build/build_config.h"
 #include "build/chromeos_buildflags.h"
 #include "components/crash/core/app/crash_reporter_client.h"
-#include "third_party/abseil-cpp/absl/base/internal/raw_logging.h"
+#include <absl/base/internal/raw_logging.h>
 #include "third_party/crashpad/crashpad/client/annotation.h"
 #include "third_party/crashpad/crashpad/client/annotation_list.h"
 #include "third_party/crashpad/crashpad/client/crash_report_database.h"
@@ -49,6 +49,7 @@
 #include "components/crash/core/common/crash_key.h"  // nogncheck
 #endif
 
+#define raw_log_internal raw_logging_internal
 namespace crash_reporter {
 
 namespace {

++++++ create_tarball.sh ++++++
--- /var/tmp/diff_new_pack.kw086C/_old  2022-10-08 01:23:07.253940104 +0200
+++ /var/tmp/diff_new_pack.kw086C/_new  2022-10-08 01:23:07.257940114 +0200
@@ -219,6 +219,7 @@
     third_party/hunspell #heavily forked version
     third_party/iccjpeg #not in any distro
     third_party/inspector_protocol #integral part of chrome
+    third_party/ipcz #not in any distro
     third_party/jinja2 #Patch for deterministic builds. CONSIDER UNBUNDLING 
this when chrome switches to jinja 3.x
     third_party/jstemplate #javascript
     third_party/khronos #Modified to add ANGLE definitions

++++++ disable-catapult.patch ++++++
--- /var/tmp/diff_new_pack.kw086C/_old  2022-10-08 01:23:07.269940141 +0200
+++ /var/tmp/diff_new_pack.kw086C/_new  2022-10-08 01:23:07.273940151 +0200
@@ -10,11 +10,11 @@
 -      "//third_party/catapult/telemetry:bitmaptools($host_toolchain)",
      ]
      if (!is_android) {
-       deps += [ "//chrome/test:telemetry_perf_unittests" ]
+       if (!is_castos) {
 @@ -379,7 +378,6 @@ group("gn_all") {
-       "//net/android:net_junit_tests",
        "//services:services_junit_tests",
        "//testing/android/junit:junit_unit_tests",
+       "//third_party/android_build_tools/lint:custom_lint_java",
 -      "//third_party/catapult/devil",
        "//third_party/r8:custom_d8_java",
        "//tools/android:android_tools",
@@ -51,9 +51,9 @@
 -      "//third_party/catapult/devil/",
 -      "//third_party/catapult/dependency_manager/",
 -      "//third_party/catapult/third_party/typ/",
-       "//third_party/depot_tools/pylint",
        "//third_party/depot_tools/pylint-1.5",
        "//third_party/depot_tools/pylint_main.py",
+       "//third_party/depot_tools/pylintrc",
 --- a/tools/binary_size/BUILD.gn
 +++ b/tools/binary_size/BUILD.gn
 @@ -20,7 +20,6 @@ python_library("sizes_py") {

++++++ disable-fuses.patch ++++++
Upstream allows some customization of runtime behavior by performing binary 
witchcraft on the Electron executable.
This cannot work with a systemwide electron, and any program depending on 
features gated behind a fuse would need additional patching anyway.
This patch removes fuse switches from the binary and makes the makes the 
compiler able to optimize away any dependant code which is now dead.

--- src/electron/build/fuses/build.py.old       2022-09-22 10:38:21.630415700 
+0200
+++ src/electron/build/fuses/build.py   2022-09-25 19:02:31.522510400 +0200
@@ -7,7 +7,9 @@
 
 dir_path = os.path.dirname(os.path.realpath(__file__))
 
-SENTINEL = "dL7pKGdnNz796PbbjQWNKmHXBZaB9tsX"
+# If your build process tries to patch the electron binary, it's going to 
break anyway with system electron.
+# Changing the magic number to ensure that the build fails instead of getting 
problems later in runtime.
+SENTINEL = "Unavailable with system electron"
 
 TEMPLATE_H = """
 #ifndef ELECTRON_FUSES_H_
@@ -23,7 +25,7 @@
 
 namespace electron::fuses {
 
-extern const volatile char kFuseWire[];
+constexpr char kFuseWire[] = { /* sentinel */ {sentinel}, /* fuse_version */ 
{fuse_version}, /* fuse_wire_length */ {fuse_wire_length}, /* fuse_wire */ 
{initial_config}};
 
 {getters}
 
@@ -41,8 +43,6 @@
 
 namespace electron::fuses {
 
-const volatile char kFuseWire[] = { /* sentinel */ {sentinel}, /* fuse_version 
*/ {fuse_version}, /* fuse_wire_length */ {fuse_wire_length}, /* fuse_wire */ 
{initial_config}};
-
 {getters}
 
 }  // namespace electron:fuses
@@ -71,12 +71,18 @@
   index += 1
   initial_config += fuse_defaults[fuse]
   name = ''.join(word.title() for word in fuse.split('_'))
-  getters_h += "FUSE_EXPORT bool Is{name}Enabled();\n".replace("{name}", name)
-  getters_cc += """
-bool Is{name}Enabled() {
+  getters_h += """
+constexpr bool INLINE_Is{name}Enabled() {
   return kFuseWire[{index}] == '1';
 }
+#define Is{name}Enabled INLINE_Is{name}Enabled
 """.replace("{name}", name).replace("{index}", str(index))
+  getters_cc += """
+#undef Is{name}Enabled
+FUSE_EXPORT bool Is{name}Enabled() {
+  return INLINE_Is{name}Enabled();
+}
+""".replace("{name}", name)
 
 def c_hex(n):
   s = hex(n)[2:]
@@ -88,12 +94,13 @@
     arr.append(c_hex(ord(char)))
   return ",".join(arr)
 
-header = TEMPLATE_H.replace("{getters}", getters_h.strip())
-impl = TEMPLATE_CC.replace("{sentinel}", hex_arr(SENTINEL))
-impl = impl.replace("{fuse_version}", c_hex(fuse_version))
-impl = impl.replace("{fuse_wire_length}", c_hex(len(fuses)))
-impl = impl.replace("{initial_config}", hex_arr(initial_config))
-impl = impl.replace("{getters}", getters_cc.strip())
+header = TEMPLATE_H.replace("{sentinel}", hex_arr(SENTINEL))
+header = header.replace("{fuse_version}", c_hex(fuse_version))
+header = header.replace("{fuse_wire_length}", c_hex(len(fuses)))
+header = header.replace("{initial_config}", hex_arr(initial_config))
+header = header.replace("{getters}", getters_h.strip())
+
+impl = TEMPLATE_CC.replace("{getters}", getters_cc.strip())
 
 with open(sys.argv[1], 'w') as f:
   f.write(header)

++++++ electron-13-fix-use-thin-lto.patch ++++++
--- /var/tmp/diff_new_pack.kw086C/_old  2022-10-08 01:23:07.305940224 +0200
+++ /var/tmp/diff_new_pack.kw086C/_new  2022-10-08 01:23:07.309940233 +0200
@@ -2,13 +2,14 @@
 ===================================================================
 --- electron-17.1.0.orig/build/config/compiler/compiler.gni    2022-03-09 
08:27:56.719840060 +0100
 +++ electron-17.1.0/build/config/compiler/compiler.gni 2022-03-09 
13:07:58.709063960 +0100
-@@ -71,11 +71,7 @@ declare_args() {
-   # Use it by default on official-optimized android and Chrome OS builds, but
-   # not ARC or linux-chromeos since it's been seen to not play nicely with
-   # Chrome's clang. crbug.com/1033839
+@@ -71,12 +71,7 @@ declare_args() {
+   # Disabled in iOS cronet builds since build step cronet_static_complete
+   # wants to build a .a file consumable by external clients, and they won't
+   # have the same LLVM revisions as us, making bitcode useless to them.
 -  use_thin_lto =
 -      is_cfi || (is_clang && is_official_build && chrome_pgo_phase != 1 &&
--                 (is_linux || is_win || is_mac || (is_ios && use_lld) ||
+-                 (is_linux || is_win || is_mac ||
+-                  (is_ios && use_lld && !is_cronet_build) ||
 -                  (is_android && target_os != "chromeos") ||
 -                  (is_chromeos && is_chromeos_device)))
 +  use_thin_lto = false

++++++ electron-16-std-vector-non-const.patch ++++++
--- /var/tmp/diff_new_pack.kw086C/_old  2022-10-08 01:23:07.321940260 +0200
+++ /var/tmp/diff_new_pack.kw086C/_new  2022-10-08 01:23:07.325940270 +0200
@@ -113,7 +113,7 @@
 --- electron-17.1.0.orig/electron/shell/browser/api/electron_api_app.h 
2022-03-07 16:07:24.343397858 +0100
 +++ electron-17.1.0/electron/shell/browser/api/electron_api_app.h      
2022-03-09 08:29:01.682773127 +0100
 @@ -194,7 +194,7 @@ class App : public ElectronBrowserClient
-   std::string GetLocaleCountryCode();
+   std::string GetSystemLocale(gin_helper::ErrorThrower thrower) const;
    void OnSecondInstance(const base::CommandLine& cmd,
                          const base::FilePath& cwd,
 -                        const std::vector<const uint8_t> additional_data);

++++++ electron-20.2.0.tar.xz -> electron-21.1.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/nodejs-electron/electron-20.2.0.tar.xz 
/work/SRC/openSUSE:Factory/.nodejs-electron.new.2275/electron-21.1.0.tar.xz 
differ: char 15, line 1


++++++ gtk_ui_platform_stub-incomplete-type-LinuxInputMethodContext.patch ++++++
>From bba20934da0ab4066f178ab278c0728b3ef49d16 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <sth...@googlemail.com>
Date: Mon, 22 Aug 2022 16:42:16 +0000
Subject: [PATCH] libstdc++: fix incomplete type of ui::LinuxInputMethodContext

Destructor of std::unique_ptr in libstdc++ uses sizeof() which
requires full definition of ui::LinuxInputMethodContext for return
type of gtk::GtkUiPlatformStub::CreateInputMethodContext().

Bug: 957519
Change-Id: I0e74265e1f352afec374dc6b0abb6d6b79371cf1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3845078
Reviewed-by: Thomas Anderson <thomasander...@chromium.org>
Commit-Queue: Stephan Hartmann <sth...@googlemail.com>
Cr-Commit-Position: refs/heads/main@{#1037800}
---
 ui/gtk/gtk_ui_platform_stub.cc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/ui/gtk/gtk_ui_platform_stub.cc b/ui/gtk/gtk_ui_platform_stub.cc
index 5f01c8bd8ffda..bfd10bc796109 100644
--- a/ui/gtk/gtk_ui_platform_stub.cc
+++ b/ui/gtk/gtk_ui_platform_stub.cc
@@ -5,6 +5,7 @@
 #include "ui/gtk/gtk_ui_platform_stub.h"
 
 #include "base/callback.h"
+#include "ui/base/ime/linux/linux_input_method_context.h"
 
 namespace gtk {
 

++++++ intl-objects-icu71-UNUM_APPROXIMATELY_SIGN_FIELD.patch ++++++
>From ba6db33e06999bf6f6b34c487c09e60ae76337c1 Mon Sep 17 00:00:00 2001
From: Frank Tang <ft...@chromium.org>
Date: Tue, 21 Jun 2022 17:42:26 -0700
Subject: [PATCH] Fix unreachable code under --harmony-intl-number-format-v3

ICU 71 added new enum value UNUM_APPROXIMATELY_SIGN_FIELD
need to map to "approximatelySign"

We also discover a spec bug in
https://github.com/tc39/proposal-intl-numberformat-v3/issues/99

All the parts of formatRangeToParts should have a source "shared" for
the case that start and end are the same or very close.

Bug: chromium:1336865
Change-Id: I89142479989d3d2017d8cb89194db737710c38ed
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3717278
Reviewed-by: Shu-yu Guo <s...@chromium.org>
Commit-Queue: Frank Tang <ft...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#81286}
---
 src/init/heap-symbols.h      |   1 +
 src/objects/intl-objects.cc  |   3 +
 test/intl/regress-1336865.js |  79 ++++++++++++++++++++
 tools/v8heapconst.py         | 140 +++++++++++++++++------------------
 4 files changed, 153 insertions(+), 70 deletions(-)
 create mode 100644 test/intl/regress-1336865.js

diff --git a/src/init/heap-symbols.h b/src/init/heap-symbols.h
index da2cdccf1d5..c00e2c45097 100644
--- a/v8/src/init/heap-symbols.h
+++ b/v8/src/init/heap-symbols.h
@@ -8,6 +8,7 @@
 #ifdef V8_INTL_SUPPORT
 #define INTERNALIZED_STRING_LIST_GENERATOR_INTL(V, _)               \
   V(_, adoptText_string, "adoptText")                               \
+  V(_, approximatelySign_string, "approximatelySign")               \
   V(_, baseName_string, "baseName")                                 \
   V(_, accounting_string, "accounting")                             \
   V(_, breakType_string, "breakType")                               \
diff --git a/src/objects/intl-objects.cc b/src/objects/intl-objects.cc
index 93f7000bf5d..25cc4fdd04a 100644
--- a/v8/src/objects/intl-objects.cc
+++ b/v8/src/objects/intl-objects.cc
@@ -2744,6 +2744,9 @@ Handle<String> Intl::NumberFieldToType(Isolate* isolate,
     case UNUM_MEASURE_UNIT_FIELD:
       return isolate->factory()->unit_string();
 
+    case UNUM_APPROXIMATELY_SIGN_FIELD:
+      return isolate->factory()->approximatelySign_string();
+
     default:
       UNREACHABLE();
   }

++++++ partition_alloc-no-lto.patch ++++++
Compile files which declare functions in inline assembly without LTO due to 
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57703

--- src/base/allocator/partition_allocator/BUILD.gn.old 2022-10-01 
13:53:03.367797474 +0200
+++ src/base/allocator/partition_allocator/BUILD.gn     2022-10-05 
14:23:53.999860356 +0200
@@ -51,6 +51,22 @@
   }
 }
 
+source_set("partition_alloc_asm") {
+  defines = [ "PA_PCSCAN_STACK_SUPPORTED" ]
+  cflags = [ "-fno-lto" ]
+  if (current_cpu == "x64") {
+    sources = [ "starscan/stack/asm/x64/push_registers_asm.cc" ]
+  } else if (current_cpu == "x86") {
+    sources = [ "starscan/stack/asm/x86/push_registers_asm.cc" ]
+  } else if (current_cpu == "arm") {
+    sources = [ "starscan/stack/asm/arm/push_registers_asm.cc" ]
+  } else if (current_cpu == "arm64") {
+    sources = [ "starscan/stack/asm/arm64/push_registers_asm.cc" ]
+  } else {
+    # To support a trampoline for another arch, please refer to 
v8/src/heap/base.
+  }
+}
+
 target(partition_alloc_target_type, "partition_alloc") {
   sources = [
     "address_pool_manager.cc",
@@ -262,20 +278,10 @@
       "partition_alloc_base/mac/scoped_typeref.h",
     ]
   }
-  if (current_cpu == "x64") {
-    defines += [ "PA_PCSCAN_STACK_SUPPORTED" ]
-    sources += [ "starscan/stack/asm/x64/push_registers_asm.cc" ]
-  } else if (current_cpu == "x86") {
-    defines += [ "PA_PCSCAN_STACK_SUPPORTED" ]
-    sources += [ "starscan/stack/asm/x86/push_registers_asm.cc" ]
-  } else if (current_cpu == "arm") {
-    defines += [ "PA_PCSCAN_STACK_SUPPORTED" ]
-    sources += [ "starscan/stack/asm/arm/push_registers_asm.cc" ]
-  } else if (current_cpu == "arm64") {
+  deps = []
+  if (current_cpu == "x64" || current_cpu == "x86" || current_cpu == "arm" || 
current_cpu == "arm64") {
     defines += [ "PA_PCSCAN_STACK_SUPPORTED" ]
-    sources += [ "starscan/stack/asm/arm64/push_registers_asm.cc" ]
-  } else {
-    # To support a trampoline for another arch, please refer to 
v8/src/heap/base.
+    deps += [ ":partition_alloc_asm" ]
   }
   public_deps = [
     ":chromecast_buildflags",
@@ -289,7 +295,6 @@
     ":partition_alloc_implementation",
     ":memory_tagging",
   ]
-  deps = []
   public_configs = []
   if (is_android) {
     # tagging.cc requires __arm_mte_set_* functions.

++++++ pending_beacon_dispatcher-virtual-functions-cannot-be-constexpr.patch 
++++++
>From 177ad3a80b18aa94e6564f7ba71ee7a849ff5b36 Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <jdap...@igalia.com>
Date: Thu, 1 Sep 2022 15:52:05 +0000
Subject: [PATCH] libstdc++: do not make ReverseBeaconTimeoutSorter function
 call operator constexpr
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In C++17 STL, std::sort is not a constexpr in any case. So we do
not get any benefit from making ReverseBeaconTimeoutSorter a
constexpr. This will fail, as in GCC the function call operator is
implicitly virtual, and virtuals cannot be constexpr before C++20.

Bug: 819294, 957519
Change-Id: I596f7ea9acb7747f4816b59a86ba794f16e195b2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3864599
Reviewed-by: Nate Chapin <jap...@chromium.org>
Commit-Queue: Jos?? Dapena Paz <jdap...@igalia.com>
Cr-Commit-Position: refs/heads/main@{#1042121}
---
 .../blink/renderer/core/frame/pending_beacon_dispatcher.cc   | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/third_party/blink/renderer/core/frame/pending_beacon_dispatcher.cc 
b/third_party/blink/renderer/core/frame/pending_beacon_dispatcher.cc
index 777921b9b5fda..aef913ae85059 100644
--- a/third_party/blink/renderer/core/frame/pending_beacon_dispatcher.cc
+++ b/third_party/blink/renderer/core/frame/pending_beacon_dispatcher.cc
@@ -25,9 +25,8 @@ namespace {
 constexpr base::TimeDelta kBeaconTimeoutInterval = base::Milliseconds(100);
 
 struct ReverseBeaconTimeoutSorter {
-  constexpr bool operator()(
-      const Member<PendingBeaconDispatcher::PendingBeacon>& lhs,
-      const Member<PendingBeaconDispatcher::PendingBeacon>& rhs) {
+  bool operator()(const Member<PendingBeaconDispatcher::PendingBeacon>& lhs,
+                  const Member<PendingBeaconDispatcher::PendingBeacon>& rhs) {
     // Negative timeout is not accepted.
     DCHECK(!lhs->GetBackgroundTimeout().is_negative());
     DCHECK(!rhs->GetBackgroundTimeout().is_negative());

++++++ replace_gn_files-system-libs.patch ++++++
--- /var/tmp/diff_new_pack.kw086C/_old  2022-10-08 01:23:07.481940628 +0200
+++ /var/tmp/diff_new_pack.kw086C/_new  2022-10-08 01:23:07.485940637 +0200
@@ -1,57 +1,12 @@
 --- 
chromium-79.0.3945.29/build/linux/unbundle/replace_gn_files.py.system-dav1d     
   2019-11-09 14:30:17.297016975 +0100
 +++ chromium-79.0.3945.29/build/linux/unbundle/replace_gn_files.py     
2019-11-10 09:40:19.694662891 +0100
-@@ -17,12 +17,41 @@ import sys
- 
- 
- REPLACEMENTS = {
-+  'absl_algorithm': 'third_party/abseil-cpp/absl/algorithm/BUILD.gn',
-+  'absl_base': 'third_party/abseil-cpp/absl/base/BUILD.gn',
-+  'absl_cleanup': 'third_party/abseil-cpp/absl/cleanup/BUILD.gn',
-+  'absl_container': 'third_party/abseil-cpp/absl/container/BUILD.gn',
-+  'absl_debugging': 'third_party/abseil-cpp/absl/debugging/BUILD.gn',
-+  'absl_flags': 'third_party/abseil-cpp/absl/flags/BUILD.gn',
-+  'absl_functional': 'third_party/abseil-cpp/absl/functional/BUILD.gn',
-+  'absl_hash': 'third_party/abseil-cpp/absl/hash/BUILD.gn',
-+  'absl_memory': 'third_party/abseil-cpp/absl/memory/BUILD.gn',
-+  'absl_meta': 'third_party/abseil-cpp/absl/meta/BUILD.gn',
-+  'absl_numeric': 'third_party/abseil-cpp/absl/numeric/BUILD.gn',
-+  'absl_random': 'third_party/abseil-cpp/absl/random/BUILD.gn',
-+  'absl_status': 'third_party/abseil-cpp/absl/status/BUILD.gn',
-+  'absl_strings': 'third_party/abseil-cpp/absl/strings/BUILD.gn',
-+  'absl_synchronization': 
'third_party/abseil-cpp/absl/synchronization/BUILD.gn',
-+  'absl_time': 'third_party/abseil-cpp/absl/time/BUILD.gn',
-+  'absl_types': 'third_party/abseil-cpp/absl/types/BUILD.gn',
-+  'absl_utility': 'third_party/abseil-cpp/absl/utility/BUILD.gn',
-+  'brotli': 'third_party/brotli/BUILD.gn',
-+  'crc32c': 'third_party/crc32c/BUILD.gn',
-+  'dav1d': 'third_party/dav1d/BUILD.gn',
-+  'double-conversion': 'base/third_party/double_conversion/BUILD.gn',
+@@ -40,6 +40,8 @@ import sys
+   'double-conversion': 'base/third_party/double_conversion/BUILD.gn',
    'ffmpeg': 'third_party/ffmpeg/BUILD.gn',
    'flac': 'third_party/flac/BUILD.gn',
 +  'flatbuffers': 'third_party/flatbuffers/BUILD.gn',
++  'libsecret' : 'third_party/libsecret/BUILD.gn',
    'fontconfig': 'third_party/fontconfig/BUILD.gn',
    'freetype': 'build/config/freetype/freetype.gni',
    'harfbuzz-ng': 'third_party/harfbuzz-ng/harfbuzz.gni',
-   'icu': 'third_party/icu/BUILD.gn',
-+  'libXNVCtrl' : 'third_party/angle/src/third_party/libXNVCtrl/BUILD.gn',
-+  'libaom' : 'third_party/libaom/BUILD.gn',
-+  'libavif' : 'third_party/libavif/BUILD.gn',
-+  'libjxl' : 'third_party/libjxl/BUILD.gn',
-+  'libsecret' : 'third_party/libsecret/BUILD.gn',
-+  'libyuv' : 'third_party/libyuv/BUILD.gn',
-   'libdrm': 'third_party/libdrm/BUILD.gn',
-   'libevent': 'base/third_party/libevent/BUILD.gn',
-   'libjpeg': 'third_party/libjpeg.gni',
-@@ -33,6 +65,11 @@
-   'opus': 'third_party/opus/BUILD.gn',
-   're2': 'third_party/re2/BUILD.gn',
-   'snappy': 'third_party/snappy/BUILD.gn',
-+  'swiftshader-SPIRV-Headers' : 
'third_party/swiftshader/third_party/SPIRV-Headers/BUILD.gn',
-+  'swiftshader-SPIRV-Tools' : 
'third_party/swiftshader/third_party/SPIRV-Tools/BUILD.gn',
-+  'vulkan-SPIRV-Headers' : 
'third_party/vulkan-deps/spirv-headers/src/BUILD.gn',
-+  'vulkan-SPIRV-Tools' : 'third_party/vulkan-deps/spirv-tools/src/BUILD.gn',
-+  'woff2': 'third_party/woff2/BUILD.gn',
-   'zlib': 'third_party/zlib/BUILD.gn',
- }
- 
 

++++++ std_lib_extras-missing-intptr_t.patch ++++++
--- src/third_party/blink/renderer/platform/wtf/std_lib_extras.h.old    
2022-09-27 21:24:37.479779030 +0200
+++ src/third_party/blink/renderer/platform/wtf/std_lib_extras.h        
2022-10-03 12:46:11.010900350 +0200
@@ -27,6 +27,7 @@
 #define THIRD_PARTY_BLINK_RENDERER_PLATFORM_WTF_STD_LIB_EXTRAS_H_
 
 #include <cstddef>
+#include <cstdint>
 
 #include "base/check.h"
 #include "base/dcheck_is_on.h"

++++++ support-i386.patch ++++++
--- /var/tmp/diff_new_pack.kw086C/_old  2022-10-08 01:23:07.509940692 +0200
+++ /var/tmp/diff_new_pack.kw086C/_new  2022-10-08 01:23:07.513940701 +0200
@@ -20,7 +20,7 @@
 -    target_os != "ios" && target_os != "mac" &&
 -    (target_os != "linux" || use_libfuzzer || !build_with_chromium)
 +is_valid_x86_target = true
+ 
+ # Note: v8_target_cpu == arm allows using the V8 arm simulator on x86 for 
fuzzing.
  assert(
-     is_valid_x86_target || target_cpu != "x86",
-     "'target_cpu=x86' is not supported for 'target_os=$target_os'. Consider 
omitting 'target_cpu' (default) or using 'target_cpu=x64' instead.")
 

++++++ system-abseil-missing-shims.patch ++++++
>From 6ebb4b4d397d29f8cf2bc2f2c4c2e81fcd060253 Mon Sep 17 00:00:00 2001
From: Bruno Pitrus <brunopit...@hotmail.com>
Date: Sat, 17 Sep 2022 20:43:39 +0000
Subject: [PATCH] Add missing libraries to Abseil shim

This is needed to build Chromium 102 or newer with system Abseil.

Change-Id: I724367416b59637a77c7bb6d24a201fa83057dc7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3902464
Reviewed-by: Thomas Anderson <thomasander...@chromium.org>
Commit-Queue: Thomas Anderson <thomasander...@chromium.org>
Auto-Submit: Bruno Pitrus <brunopit...@hotmail.com>
Cr-Commit-Position: refs/heads/main@{#1048414}
---
 build/linux/unbundle/absl_functional.gn  | 15 +++++++++++++++
 build/linux/unbundle/absl_utility.gn     | 17 +++++++++++++++++
 build/linux/unbundle/replace_gn_files.py |  3 ++-
 3 files changed, 34 insertions(+), 1 deletion(-)
 create mode 100644 build/linux/unbundle/absl_utility.gn

diff --git a/build/linux/unbundle/absl_utility.gn 
b/build/linux/unbundle/absl_utility.gn
new file mode 100644
index 0000000000000..8dda6ed01afa1
--- /dev/null
+++ b/build/linux/unbundle/absl_utility.gn
@@ -0,0 +1,17 @@
+import("//build/config/linux/pkg_config.gni")
+import("//build/shim_headers.gni")
+
+pkg_config("system_absl_utility") {
+  packages = [ "absl_utility" ]
+}
+
+shim_headers("utility_shim") {
+  root_path = "."
+  prefix = "absl/utility/"
+  headers = [ "utility.h" ]
+}
+
+source_set("utility") {
+  deps = [ ":utility_shim" ]
+  public_configs = [ ":system_absl_utility" ]
+}
diff --git a/build/linux/unbundle/replace_gn_files.py 
b/build/linux/unbundle/replace_gn_files.py
index e921ec57f9c1d..6b57c1955e60b 100755
--- a/build/linux/unbundle/replace_gn_files.py
+++ b/build/linux/unbundle/replace_gn_files.py
@@ -15,7 +15,7 @@
 
 
 REPLACEMENTS = {
-  # Use system libabsl_2xxx. These 17 shims MUST be used together.
+  # Use system libabsl_2xxx. These 18 shims MUST be used together.
   'absl_algorithm': 'third_party/abseil-cpp/absl/algorithm/BUILD.gn',
   'absl_base': 'third_party/abseil-cpp/absl/base/BUILD.gn',
   'absl_cleanup': 'third_party/abseil-cpp/absl/cleanup/BUILD.gn',
@@ -33,6 +33,7 @@
   'absl_synchronization': 
'third_party/abseil-cpp/absl/synchronization/BUILD.gn',
   'absl_time': 'third_party/abseil-cpp/absl/time/BUILD.gn',
   'absl_types': 'third_party/abseil-cpp/absl/types/BUILD.gn',
+  'absl_utility': 'third_party/abseil-cpp/absl/utility/BUILD.gn',
   #
   'brotli': 'third_party/brotli/BUILD.gn',
   'crc32c': 'third_party/crc32c/BUILD.gn',
--- src/build/linux/unbundle/absl_base.gn.old   2022-09-27 10:37:01.546436600 
+0200
+++ src/build/linux/unbundle/absl_base.gn       2022-09-27 18:15:13.664636500 
+0200
@@ -62,3 +62,6 @@
 
 source_set("config_test") {
 }
+
+source_set("prefetch_test") {
+}
--- src/build/linux/unbundle/absl_functional.gn.old     2022-09-27 
10:37:01.546436600 +0200
+++ src/build/linux/unbundle/absl_functional.gn 2022-09-27 18:17:20.334173300 
+0200
@@ -15,3 +15,36 @@
   deps = [ ":bind_front_shim" ]
   public_configs = [ ":system_absl_bind_front" ]
 }
+
+pkg_config("system_absl_function_ref") {
+  packages = [ "absl_function_ref" ]
+}
+
+shim_headers("function_ref_shim") {
+  root_path = "."
+  prefix = "absl/functional/"
+  headers = [ "function_ref.h" ]
+}
+
+source_set("function_ref") {
+  deps = [ ":function_ref_shim" ]
+  public_configs = [ ":system_absl_function_ref" ]
+}
+
+pkg_config("system_absl_any_invocable") {
+  packages = [ "absl_any_invocable" ]
+}
+
+shim_headers("any_invocable_shim") {
+  root_path = "."
+  prefix = "absl/functional/"
+  headers = [ "any_invocable.h" ]
+}
+
+source_set("any_invocable") {
+  deps = [ ":any_invocable_shim" ]
+  public_configs = [ ":system_absl_any_invocable" ]
+}
+
+source_set("any_invocable_test") {
+}
--- src/build/linux/unbundle/absl_strings.gn.old        2022-09-27 
10:37:01.546436600 +0200
+++ src/build/linux/unbundle/absl_strings.gn    2022-09-27 18:17:44.553539300 
+0200
@@ -61,6 +61,8 @@
 
 source_set("ascii_test") {
 }
+source_set("cord_buffer_test") {
+}
 source_set("cord_data_edge_test") {
 }
 source_set("cord_rep_btree_navigator_test") {

++++++ system-gtest.patch ++++++
--- /var/tmp/diff_new_pack.kw086C/_old  2022-10-08 01:23:07.533940747 +0200
+++ /var/tmp/diff_new_pack.kw086C/_new  2022-10-08 01:23:07.537940756 +0200
@@ -6,11 +6,10 @@
  // and testing/gmock, instead of directly including files in
  // third_party/googletest.
  
--#include "third_party/googletest/src/googletest/include/gtest/gtest_prod.h"
+-#include "third_party/googletest/src/googletest/include/gtest/gtest_prod.h"  
// IWYU pragma: export
 +#include <gtest/gtest_prod.h>
  
  #endif  // TESTING_GTEST_INCLUDE_GTEST_GTEST_PROD_H_
-\ No newline at end of file
 --- a/third_party/electron_node/deps/googletest/BUILD.gn       2022-07-22 
14:56:38.984761919 +0200
 +++ b/third_party/electron_node/deps/googletest/BUILD.gn       2022-07-29 
19:21:57.655767809 +0200
 @@ -1,61 +1,11 @@

++++++ system-pydeps.patch ++++++
--- /var/tmp/diff_new_pack.kw086C/_old  2022-10-08 01:23:07.561940811 +0200
+++ /var/tmp/diff_new_pack.kw086C/_new  2022-10-08 01:23:07.565940820 +0200
@@ -71,4 +71,15 @@
  ../../build/scripts/blinkbuild/__init__.py
  ../../build/scripts/blinkbuild/name_style_converter.py
  bind_gen/__init__.py
+--- 
a/third_party/blink/renderer/modules/sanitizer_api/builtins/generate_attribute_lists.py
++++ 
b/third_party/blink/renderer/modules/sanitizer_api/builtins/generate_attribute_lists.py
+@@ -4,7 +4,7 @@
+ # found in the LICENSE file.
+ """Generate list of attribute names known to this version of Chromium."""
+ 
+-from pyjson5.src import json5
++import json5
+ import optparse
+ import sys
+ 
 

++++++ system-six.patch ++++++
--- /var/tmp/diff_new_pack.kw086C/_old  2022-10-08 01:23:07.577940848 +0200
+++ /var/tmp/diff_new_pack.kw086C/_new  2022-10-08 01:23:07.585940866 +0200
@@ -15,22 +15,4 @@
                        help='Wrap this script in another python '
                        'execution to disable site-packages.  This is a '
                        'fix for http://crbug.com/605592')
---- a/third_party/protobuf/BUILD.gn
-+++ b/third_party/protobuf/BUILD.gn
-@@ -696,7 +696,6 @@
-     ":copy_google",
-     ":copy_google_protobuf",
-     ":copy_google_protobuf_internal",
--    ":copy_six",
-   ]
- }
- 
-@@ -707,7 +706,6 @@
- 
-   # Targets that depend on this should depend on the copied data files.
-   data = get_target_outputs(":copy_google")
--  data += get_target_outputs(":copy_six")
-   data += get_target_outputs(":copy_google_protobuf")
-   data += get_target_outputs(":copy_google_protobuf_internal")
- }
 

++++++ v8-icu69-FormattedNumberRange-no-default-constructible.patch ++++++
--- src/v8/include/v8-maybe.h.old       2022-09-27 21:29:49.591750100 +0200
+++ src/v8/include/v8-maybe.h   2022-10-02 15:29:28.460199600 +0200
@@ -8,11 +8,15 @@
 #include <type_traits>
 #include <utility>
 
+#include <unicode/numberrangeformatter.h>
+
 #include "v8-internal.h"  // NOLINT(build/include_directory)
 #include "v8config.h"     // NOLINT(build/include_directory)
 
 namespace v8 {
 
+icu::number::FormattedNumberRange SUSE_AwfulHackForIcu69();
+
 namespace api_internal {
 // Called when ToChecked is called on an empty Maybe.
 V8_EXPORT void FromJustIsNothing();
@@ -155,6 +159,11 @@
 
 inline Maybe<void> JustVoid() { return Maybe<void>(Maybe<void>::JustTag()); }
 
+//Awful hack to make Electron compile with icu-69. Note that this header is 
public
+//thus electron-devel now requires icu-devel
+template<> inline Maybe<icu::number::FormattedNumberRange>::Maybe() : 
has_value_(false),
+      value_(SUSE_AwfulHackForIcu69()) {}
+
 }  // namespace v8
 
 #endif  // INCLUDE_V8_MAYBE_H_
--- src/v8/src/objects/js-number-format.cc.old  2022-09-27 21:29:49.787848100 
+0200
+++ src/v8/src/objects/js-number-format.cc      2022-10-02 15:36:28.816558900 
+0200
@@ -30,6 +30,12 @@
 #include "unicode/uvernum.h"  // for U_ICU_VERSION_MAJOR_NUM
 
 namespace v8 {
+
+icu::number::FormattedNumberRange SUSE_AwfulHackForIcu69() {
+  // This constructor is private so the file needs compiled with 
-fno-access-control
+  return icu::number::FormattedNumberRange(U_INVALID_STATE_ERROR);
+}
+
 namespace internal {
 
 namespace {
--- src/v8/BUILD.gn.old 2022-09-27 21:33:45.805792800 +0200
+++ src/v8/BUILD.gn     2022-10-02 15:43:25.581854000 +0200
@@ -5293,6 +5293,9 @@
       "src/tracing/trace-categories.h",
     ]
   }
+
+#SUSE: patched code in js-number-format.cc accesses private ICU api
+  cflags_cc = [ "-fno-access-control" ]
 }
 
 group("v8_base") {

Reply via email to