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-09-22 14:49:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nodejs-electron (Old)
 and      /work/SRC/openSUSE:Factory/.nodejs-electron.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nodejs-electron"

Thu Sep 22 14:49:45 2022 rev:35 rq:1005150 version:20.1.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/nodejs-electron/nodejs-electron.changes  
2022-09-15 22:59:44.901309912 +0200
+++ 
/work/SRC/openSUSE:Factory/.nodejs-electron.new.2275/nodejs-electron.changes    
    2022-09-22 14:49:59.526446453 +0200
@@ -1,0 +2,29 @@
+Tue Sep 20 05:37:32 UTC 2022 - Bruno Pitrus <brunopit...@hotmail.com>
+- Update to 20.1.4
+  * ABI break: NODE_MODULE_VERSION is now 107. Native modules may need 
recompiling
+  * Removed the skip-taskbar feature on Linux.
+  * Renderers are now sandboxed by default unless nodeIntegration: true or 
sandbox: false is specified.
+  * Update Chromium to 104.0.5112.114
+  * Update Node to 16.15.0
+- Use ffmpeg-5 on Tumbleweed. Drop ffmpeg-new-channel-layout.patch on 
Tumbleweed and Rawhide.
+- Add NumberFormat-icu71-incrementExact.patch on systems with old icu (Leap 
and F36).
+- Use subzero also on ix86 now that it builds correctly.
+- Drop patches applied upstream:
+  * byteswap-constexpr.patch
+  * chromium-101-libxml-unbundle.patch
+  * chromium-102-fenced_frame_utils-include.patch
+  * electron-16-fix-swiftshader-template.patch
+- Add backported patches:
+  * common.gypi-cpp-version.patch
+  * 
content_renderer_client-invalid-application-of-sizeof-to-incomplete-type-cast_streaming-ResourceProvider.patch
+  * extract_first_nonzero_index-neon64.patch
+- Add upstreamable patches:
+  * absl_utility.gn
+  * aggregatable_attribution_utils-do-not-assume-abseil-ABI.patch
+  * attribution_response_parsing-do-not-assume-abseil-ABI.patch
+  * content_language_parser-missing-string.patch
+  * electron_serial_delegate-ambiguous-Observer.patch
+- Fix build error on armv6hl
+- Add %electron_req macro to make it easier to guard against ABI breaks.
+
+-------------------------------------------------------------------

Old:
----
  byteswap-constexpr.patch
  chromium-101-libxml-unbundle.patch
  chromium-102-fenced_frame_utils-include.patch
  electron-16-fix-swiftshader-template.patch
  electron-19.0.17.tar.xz

New:
----
  NumberFormat-icu71-incrementExact.patch
  absl_utility.gn
  aggregatable_attribution_utils-do-not-assume-abseil-ABI.patch
  attribution_response_parsing-do-not-assume-abseil-ABI.patch
  common.gypi-cpp-version.patch
  content_language_parser-missing-string.patch
  
content_renderer_client-invalid-application-of-sizeof-to-incomplete-type-cast_streaming-ResourceProvider.patch
  electron-20.1.4.tar.xz
  electron_serial_delegate-ambiguous-Observer.patch
  extract_first_nonzero_index-neon64.patch

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

Other differences:
------------------
++++++ nodejs-electron.spec ++++++
--- /var/tmp/diff_new_pack.0VZg1u/_old  2022-09-22 14:50:06.178463335 +0200
+++ /var/tmp/diff_new_pack.0VZg1u/_new  2022-09-22 14:50:06.178463335 +0200
@@ -22,6 +22,8 @@
 %undefine _auto_set_build_flags
 
 %define mod_name electron
+# https://github.com/nodejs/node/blob/main/doc/abi_version_registry.json
+%define abi_version 107
 
 # Do not provide libEGL.so, etc???
 %define __provides_exclude ^lib.*\\.so.*$
@@ -32,31 +34,27 @@
 
 
 #x86 requires SSE2
+#see v8/src/codegen/ia32/assembler-ia32.cc
 %ifarch %ix86
 ExclusiveArch:  i586 i686
 BuildArch:      i686
 %{expand:%%global optflags %(echo "%optflags") -march=pentium4 -mtune=generic}
 %endif
 
-
 #Electron built with LTO crashes on selecting any text.
 #See https://gist.github.com/brjsp/80620a5a0be9efbee6b9154cb127879d for the 
stack trace.
 %bcond_with lto
 
 %bcond_without pipewire
 
-%ifarch x86_64 %arm
+%ifarch %ix86 x86_64 %arm
 #Use subzero as swiftshader backend instead of LLVM
-#ix86 is also supposed to support subzero, but as of 19.0.9 we're getting 
linker error
-#undefined symbol: void Ice::X8632::emitIASRegOpTyGPR<true, true>(Ice::Cfg 
const*, Ice::Type, Ice::Variable const*, Ice::Operand const*, 
Ice::X8632::AssemblerX8632::GPREmitterRegOp const&)
 %bcond_without subzero
 %else
 %bcond_with subzero
 %endif
 
 
-%bcond_without systemicu
-
 
 %ifarch x86_64 %ix86 aarch64
 %bcond_without vaapi
@@ -98,17 +96,32 @@
 
 %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150400 || 0%{?fedora}
 %bcond_without system_harfbuzz
+%bcond_without system_avif
 %else
 %bcond_with system_harfbuzz
+%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
 %bcond_without system_aom
+%bcond_without icu_71
+%bcond_without ffmpeg_5
+%bcond_without system_dav1d
+%bcond_without system_spirv
 %else
 %bcond_with system_aom
+%bcond_with icu_71
+%bcond_with ffmpeg_5
+%bcond_with system_dav1d
+%bcond_with system_spirv
 %endif
 
 %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150500 || 
0%{?fedora_version}
@@ -125,29 +138,7 @@
 %bcond_with system_jxl
 %endif
 
-%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150600 || 0%{?fedora} >= 
37
-%bcond_without system_dav1d
-%else
-%bcond_with system_dav1d
-%endif
-
-%bcond_without system_double_conversion
-%bcond_without system_jsoncpp
-%bcond_without system_woff2
-
-
-
-%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150600 || 0%{?fedora} >= 
37
-%bcond_without system_spirv
-%else
-%bcond_with system_spirv
-%endif
 
-%if %{without subzero}
-%bcond_without system_llvm
-%else
-%bcond_with system_llvm
-%endif
 
 %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150500
 %bcond_without system_yuv
@@ -155,7 +146,7 @@
 %bcond_with system_yuv
 %endif
 
-%bcond_without system_tiff
+
 
 
 %if 0%{?fedora}
@@ -168,12 +159,6 @@
 %bcond_with system_histogram
 %endif
 
-%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150400 || 0%{?fedora}
-%bcond_without system_avif
-%else
-%bcond_with system_avif
-%endif
-
 # Abseil is broken in Leap
 # enable this when boo#1203378 and boo#1203379 get fixed
 %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150600 || 0%{?fedora} >= 
37
@@ -203,7 +188,7 @@
 
 
 Name:           nodejs-electron
-Version:        19.0.17
+Version:        20.1.4
 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
@@ -250,10 +235,14 @@
 Source50:       flatbuffers.gn
 Source51:       libsecret.gn
 Source52:       libyuv.gn
+Source53:       absl_utility.gn
 
 
-# Reverse upstream changes to be able to build against system ffmpeg
+# Reverse upstream changes to be able to build against ffmpeg-4
 Source400:      ffmpeg-new-channel-layout.patch
+# ???and against icu-69
+Source401:      NumberFormat-icu71-incrementExact.patch
+
 
 # PATCHES for openSUSE-specific things
 Patch0:         chromium-102-compiler.patch
@@ -277,7 +266,6 @@
 # PATCHES to use system libs
 Patch1002:      chromium-system-libusb.patch
 Patch1017:      system-libdrm.patch
-Patch1036:      chromium-101-libxml-unbundle.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}
@@ -295,9 +283,7 @@
 %endif
 Patch1047:      cares_public_headers.patch
 Patch1048:      chromium-remove-bundled-roboto-font.patch
-%if %{with system_llvm}
 Patch1053:      swiftshader-use-system-llvm.patch
-%endif
 %if %{with system_abseil}
 Patch1054:      thread_annotations-fix-build-with-system-abseil.patch
 %endif
@@ -328,8 +314,6 @@
 # Fix electron patched code
 Patch2024:      electron-16-std-vector-non-const.patch
 Patch2029:      electron-16-webpack-fix-openssl-3.patch
-# https://bugzilla.redhat.com/show_bug.cgi?id=2052228
-Patch2030:      electron-16-fix-swiftshader-template.patch
 
 
 # PATCHES that should be submitted upstream verbatim or near-verbatim
@@ -340,11 +324,8 @@
 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/upstream/byteswap-constexpr.patch/
-Patch3034:      byteswap-constexpr.patch
 # 
https://sources.debian.org/patches/chromium/102.0.5005.115-1/bullseye/byteswap-constexpr2.patch/
 Patch3035:      byteswap-constexpr2.patch
-Patch3037:      chromium-102-fenced_frame_utils-include.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
@@ -361,6 +342,13 @@
 # Fedora patch to fix build with python3.11
 Patch3066:      
chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch
 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
+Patch3071:      electron_serial_delegate-ambiguous-Observer.patch
+Patch3072:      attribution_response_parsing-do-not-assume-abseil-ABI.patch
+Patch3073:      common.gypi-cpp-version.patch
+Patch3074:      extract_first_nonzero_index-neon64.patch
 
 %if %{with clang}
 BuildRequires:  clang
@@ -415,7 +403,7 @@
 %if %{with lld}
 BuildRequires:  lld
 %endif
-%if %{with system_llvm}
+%if %{without subzero}
 BuildRequires:  llvm-devel
 %endif
 BuildRequires:  memory-constraints
@@ -483,6 +471,7 @@
 BuildRequires:  pkgconfig(absl_synchronization)
 BuildRequires:  pkgconfig(absl_time)
 BuildRequires:  pkgconfig(absl_type_traits)
+BuildRequires:  pkgconfig(absl_utility)
 BuildRequires:  pkgconfig(absl_variant)
 %endif
 BuildRequires:  pkgconfig(alsa)
@@ -505,19 +494,25 @@
 %if %{with system_harfbuzz}
 BuildRequires:  pkgconfig(harfbuzz) >= 3
 %endif
-%if %{with systemicu}
-BuildRequires:  pkgconfig(icu-i18n) >= 68.0
+%if %{with icu_71}
+BuildRequires:  pkgconfig(icu-i18n) >= 71
 %else
-Provides:       bundled(icu) = 68.0
+BuildRequires:  pkgconfig(icu-i18n) >= 68
 %endif
 %if %{with system_jsoncpp}
 BuildRequires:  pkgconfig(jsoncpp)
 %endif
 BuildRequires:  pkgconfig(krb5)
 BuildRequires:  pkgconfig(lcms2)
+%if %{with ffmpeg_5}
+BuildRequires:  pkgconfig(libavcodec) >= 59
+BuildRequires:  pkgconfig(libavformat) >= 59
+BuildRequires:  pkgconfig(libavutil) >= 57
+%else
 BuildRequires:  pkgconfig(libavcodec)
 BuildRequires:  pkgconfig(libavformat) >= 58
 BuildRequires:  pkgconfig(libavutil)
+%endif
 %if %{with system_avif}
 BuildRequires:  pkgconfig(libavif)
 %endif
@@ -606,6 +601,7 @@
 %endif
 
 Provides:       electron
+Provides:       electron%{_isa}(abi) = %{abi_version}
 
 Obsoletes:      nodejs-electron-prebuilt < %{version}
 Provides:       nodejs-electron-prebuilt = %{version}
@@ -627,7 +623,16 @@
 # Use stable path to source to make use of ccache
 %autosetup -n src -p1
 
-patch -R -p1 < %{SOURCE400}
+# 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 ffmpeg_5}
+patch -R -p1 < %SOURCE400
+%endif
+
+%if %{without icu_71}
+patch -R -p1 < %SOURCE401
+%endif
 
 
 # Link system wayland-protocols-devel into where chrome expects them
@@ -650,9 +655,6 @@
 sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
       tools/generate_shim_headers/generate_shim_headers.py
 
-%if %{with systemicu}
-find third_party/icu -type f ! -name "*.gn" -a ! -name "*.gni" -delete
-%endif
 
 %build
 # GN sets lto on its own and we need just ldflag options, not cflags
@@ -767,6 +769,7 @@
     flac
     flatbuffers
     fontconfig
+    icu
     libdrm
     libevent
     libjpeg
@@ -802,8 +805,8 @@
    absl_synchronization
    absl_time
    absl_types
+   absl_utility
 )
-rm third_party/abseil-cpp/absl/utility/BUILD.gn
 %endif
 
 
@@ -870,10 +873,6 @@
 gn_system_libraries+=( freetype )
 %endif
 
-%if %{with systemicu}
-gn_system_libraries+=( icu )
-%endif
-
 %if %{with system_vpx}
 find third_party/libvpx -type f ! -name "*.gn" -a ! -name "*.gni" -delete
 gn_system_libraries+=( libvpx )
@@ -905,10 +904,6 @@
 find third_party/electron_node/deps/histogram -type f ! -name "*.gn" -a ! 
-name "*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
 %endif
 
-%if %{with system_llvm}
-rm -rf third_party/swiftshader/third_party/llvm-10.0
-%endif
-
 
 # Create the configuration for GN
 # Available options: out/Release/gn args --list out/Release/
@@ -927,9 +922,22 @@
 %endif
 %ifarch %arm
 myconf_gn+=" host_cpu=\"arm\""
+#openSUSE only supports armhf
+%ifarch armv7hl armv7hnl
+myconf_gn+=" arm_version=7"
+%endif
+%ifarch armv6hl
+myconf_gn+=" arm_version=6"
+%endif
+myconf_gn+=" arm_float_abi=\"hard\""
 # Disable requirement of neon instructions
+%ifarch armv7hnl armv8hnl armv8hcnl
+myconf_gn+=" arm_use_neon=true"
+%else
 myconf_gn+="  arm_use_neon=false"
 %endif
+
+%endif #ifarch arm
 myconf_gn+=" host_os=\"linux\""
 myconf_gn+=" is_debug=false"
 myconf_gn+=" dcheck_always_on=false"
@@ -1126,9 +1134,6 @@
 install -pm 0644 vk_swiftshader_icd.json -t %{buildroot}%{_libdir}/electron/
 popd
 
-%if %{without systemicu}
-rsync -av third_party/icu/common/icudtl.dat %{buildroot}%{_libdir}/electron/
-%endif
 
 install -pTm644 electron/ELECTRON_VERSION  
%{buildroot}%{_libdir}/electron/version
 
@@ -1138,6 +1143,12 @@
 
 rsync -av out/Release/gen/node_headers/include/node/* 
%{buildroot}%{_includedir}/electron
 
+# Install electron.macros
+mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d
+cp /dev/stdin %{buildroot}%{_rpmconfigdir}/macros.d/macros.electron <<"EOF"
+%%electron_req Requires: electron%{_isa}(abi) = %{abi_version}
+EOF
+chmod -v 644 %{buildroot}%{_rpmconfigdir}/macros.d/macros.electron
 
 %files
 %license electron/LICENSE out/Release/LICENSES.chromium.html
@@ -1155,5 +1166,6 @@
 
 %files devel
 %{_includedir}/electron
+%{_rpmconfigdir}/macros.d/macros.electron
 
 %changelog

++++++ NumberFormat-icu71-incrementExact.patch ++++++
>From 3ae42771de56d60148b2d70dd2793d6db9b43b71 Mon Sep 17 00:00:00 2001
From: Frank Tang <ft...@chromium.org>
Date: Thu, 21 Apr 2022 10:26:54 -0700
Subject: [PATCH] [intl] Fix arm64-N5X failure in NumberFormat v3 due to
 precision issue

Use the new ICU 71-1 API

Precision::incrementExact
https://unicode-org.github.io/icu-docs/apidoc/dev/icu4c/classicu_1_1number_1_1Precision.html#aedfb413e5a37c69868594c870a87134b

Change-Id: I6d8841e5a07972d1be36026ce150eb83dbf300e7
Cq-Include-Trybots: luci.v8.try:v8_android_arm64_n5x_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3430378
Reviewed-by: Shu-yu Guo <s...@chromium.org>
Commit-Queue: Frank Tang <ft...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80126}
---
 src/objects/intl-objects.h      | 2 +-
 src/objects/js-number-format.cc | 5 ++---
 test/test262/test262.status     | 8 --------
 3 files changed, 3 insertions(+), 12 deletions(-)

diff --git a/src/objects/intl-objects.h b/src/objects/intl-objects.h
index 0541cd0ba5c..15e7e4d7fd3 100644
--- a/v8/src/objects/intl-objects.h
+++ b/v8/src/objects/intl-objects.h
@@ -21,7 +21,7 @@
 #include "unicode/locid.h"
 #include "unicode/uversion.h"
 
-#define V8_MINIMUM_ICU_VERSION 69
+#define V8_MINIMUM_ICU_VERSION 71
 
 namespace U_ICU_NAMESPACE {
 class BreakIterator;
diff --git a/src/objects/js-number-format.cc b/src/objects/js-number-format.cc
index ebfa5528a3a..633942aa2f7 100644
--- a/v8/src/objects/js-number-format.cc
+++ b/v8/src/objects/js-number-format.cc
@@ -884,9 +884,8 @@ icu::number::UnlocalizedNumberFormatter 
SetDigitOptionsToFormatterV3(
       break;
   }
   if (rounding_increment != 1) {
-    double icu_increment = rounding_increment *
-                           std::pow(10, 
-digit_options.maximum_fraction_digits);
-    precision = ::icu::number::Precision::increment(icu_increment)
+    precision = ::icu::number::Precision::incrementExact(
+                    rounding_increment, -digit_options.maximum_fraction_digits)
                     .withMinFraction(digit_options.minimum_fraction_digits);
   }
   if (trailing_zeros == JSNumberFormat::ShowTrailingZeros::kHide) {
diff --git a/test/test262/test262.status b/test/test262/test262.status
index d47d96c9dae..8d1e39d65d4 100644
--- a/v8/test/test262/test262.status
+++ b/v8/test/test262/test262.status
@@ -3128,14 +3128,6 @@
   'language/identifiers/start-unicode-9*': [FAIL],
 }],  # no_i18n == True
 
-['arch == arm64', {
-  # Problem in V8 Android Arm64 - N5X
-  'intl402/NumberFormat/prototype/format/format-rounding-increment-1000': 
[SKIP],
-  'intl402/NumberFormat/prototype/format/format-rounding-increment-2000': 
[SKIP],
-  'intl402/NumberFormat/prototype/format/format-rounding-increment-2500': 
[SKIP],
-  'intl402/NumberFormat/prototype/format/format-rounding-increment-5000': 
[SKIP],
-}],  # 'arch == arm64'
-
 ['arch == arm or arch == mipsel or arch == mips or arch == arm64 or arch == 
mips64 or arch == mips64el', {
 
   # Causes stack overflow on simulators due to eager compilation of

++++++ abseil-remove-unused-targets.patch ++++++
--- /var/tmp/diff_new_pack.0VZg1u/_old  2022-09-22 14:50:06.270463567 +0200
+++ /var/tmp/diff_new_pack.0VZg1u/_new  2022-09-22 14:50:06.274463578 +0200
@@ -18,7 +18,7 @@
  
  config("absl_include_config") {
    include_dirs = [ "." ]
-@@ -174,62 +165,3 @@
+@@ -174,63 +165,3 @@
    }
  }
  
@@ -32,6 +32,7 @@
 -        "absl/algorithm:algorithm_test",
 -        "absl/algorithm:container_test",
 -        "absl/base:config_test",
+-        "absl/base:prefetch_test",
 -        "absl/cleanup:cleanup_test",
 -        "absl/container:inlined_vector_test",
 -        "absl/container:node_slot_policy_test",

++++++ absl_functional.gn ++++++
--- /var/tmp/diff_new_pack.0VZg1u/_old  2022-09-22 14:50:06.386463862 +0200
+++ /var/tmp/diff_new_pack.0VZg1u/_new  2022-09-22 14:50:06.390463872 +0200
@@ -16,3 +16,18 @@
   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" ]
+}
+

++++++ absl_utility.gn ++++++
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" ]
}

++++++ aggregatable_attribution_utils-do-not-assume-abseil-ABI.patch ++++++
--- a/content/browser/attribution_reporting/aggregatable_attribution_utils.h
+++ b/content/browser/attribution_reporting/aggregatable_attribution_utils.h
@@ -9,11 +9,9 @@
 #include <vector>
 
 #include "content/common/content_export.h"
+#include "third_party/abseil-cpp/absl/numeric/int128.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
 
-namespace absl {
-class uint128;
-}  // namespace absl
 
 namespace content {
 

++++++ attribution_response_parsing-do-not-assume-abseil-ABI.patch ++++++
--- a/third_party/blink/renderer/core/frame/attribution_response_parsing.h      
2022-09-16 12:44:45.672390800 +0200
+++ b/third_party/blink/renderer/core/frame/attribution_response_parsing.h      
2022-09-17 16:01:55.554818800 +0200
@@ -7,16 +7,13 @@
 
 #include <stdint.h>
 
+#include "third_party/abseil-cpp/absl/numeric/int128.h"
 #include 
"third_party/blink/public/mojom/conversions/attribution_data_host.mojom-blink-forward.h"
 #include "third_party/blink/renderer/core/core_export.h"
 #include "third_party/blink/renderer/platform/wtf/forward.h"
 #include "third_party/blink/renderer/platform/wtf/hash_map.h"
 #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
 
-namespace absl {
-class uint128;
-}  // namespace absl
-
 namespace blink {
 
 class JSONValue;

++++++ base-system-nspr.patch ++++++
--- /var/tmp/diff_new_pack.0VZg1u/_old  2022-09-22 14:50:06.586464370 +0200
+++ /var/tmp/diff_new_pack.0VZg1u/_new  2022-09-22 14:50:06.590464379 +0200
@@ -1,8 +1,8 @@
 --- a/base/time/time.cc        2022-06-21 21:52:33.367987695 +0200
 +++ b/base/time/time.cc        2022-06-30 13:15:58.619513336 +0200
 @@ -21,7 +21,7 @@
- #include <utility>
  
+ #include "base/check.h"
  #include "base/strings/stringprintf.h"
 -#include "base/third_party/nspr/prtime.h"
 +#include <prtime.h>
@@ -30,8 +30,8 @@
      "thread_annotations.h",
      "threading/hang_watcher.cc",
 @@ -1414,6 +1417,7 @@
-     ":base_implementation",
-     "//build/config:precompiled_headers",
+ 
+     "//build/config/compiler:wexit_time_destructors",
      "//build/config/compiler:wglobal_constructors",
 +    ":system_nspr",
    ]

++++++ byteswap-constexpr2.patch ++++++
--- /var/tmp/diff_new_pack.0VZg1u/_old  2022-09-22 14:50:06.614464441 +0200
+++ /var/tmp/diff_new_pack.0VZg1u/_new  2022-09-22 14:50:06.618464450 +0200
@@ -10,8 +10,8 @@
 to be changed to only have one copy of sys_byteorder.h.
 
 
---- a/base/allocator/partition_allocator/base/sys_byteorder.h
-+++ b/base/allocator/partition_allocator/base/sys_byteorder.h
+--- a/base/allocator/partition_allocator/partition_alloc_base/sys_byteorder.h
++++ b/base/allocator/partition_allocator/partition_alloc_base/sys_byteorder.h
 @@ -31,7 +31,7 @@ inline uint16_t ByteSwap(uint16_t x) {
  #endif
  }

++++++ chromium-102-compiler.patch ++++++
--- /var/tmp/diff_new_pack.0VZg1u/_old  2022-09-22 14:50:06.634464492 +0200
+++ /var/tmp/diff_new_pack.0VZg1u/_new  2022-09-22 14:50:06.638464502 +0200
@@ -110,12 +110,12 @@
    # 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-deprecated-non-prototype" ]
+         cflags += [ "-Wno-unqualified-std-cast-call" ]
        }
  
 -      if (!is_nacl && !(is_chromeos ||
 -                        default_toolchain == 
"//build/toolchain/cros:target")) {
--        # TODO(https://crbug.com/1316298): Re-enable once test failure is 
figured out
+-        # TODO(https://crbug.com/1322823): Remove flags once potential 
miscompile is investigated.
 -        cflags += [
 -          "-Xclang",
 -          "-no-opaque-pointers",

++++++ chromium-remove-bundled-roboto-font.patch ++++++
--- /var/tmp/diff_new_pack.0VZg1u/_old  2022-09-22 14:50:06.690464634 +0200
+++ /var/tmp/diff_new_pack.0VZg1u/_new  2022-09-22 14:50:06.694464644 +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/third_party/jstemplate/resources.grdp",
+     
"$root_gen_dir/ui/webui/resources/cr_components/color_change_listener/resources.grdp",
    ]
  
 -  if (!is_chromeos_ash && !is_android) {
@@ -19,7 +19,7 @@
 -  }
  
    if (include_polymer) {
-     deps += [
+     public_deps += [
 'roboto.css' -> 'roboto.css.new'
 --- a/ui/webui/resources/css/roboto.css        2022-06-15 15:58:23.846426661 
+0200
 +++ b/ui/webui/resources/css/roboto.css        2022-06-21 15:53:08.931243442 
+0200
@@ -27,7 +27,7 @@
   * Use of this source code is governed by a BSD-style license that can be
   * found in the LICENSE file. */
  
--<if expr="not chromeos and not is_android">
+-<if expr="not chromeos_ash and not is_android">
 -@font-face {
 -  font-family: 'Roboto';
 -  font-style: normal;

++++++ chromium-vaapi.patch ++++++
--- /var/tmp/diff_new_pack.0VZg1u/_old  2022-09-22 14:50:06.714464694 +0200
+++ /var/tmp/diff_new_pack.0VZg1u/_new  2022-09-22 14:50:06.718464705 +0200
@@ -44,9 +44,9 @@
 +
 +#if BUILDFLAG(IS_CHROMEOS_ASH)
 +
- const char kAllowDisableTouchpadHapticFeedbackName[] =
-     "Allow disabling touchpad haptic feedback";
- const char kAllowDisableTouchpadHapticFeedbackDescription[] =
+ const char kAdaptiveChargingForTestingName[] =
+     "Show adaptive charging notifications for testing";
+ const char kAdaptiveChargingForTestingDescription[] =
 Index: electron-17.1.0/chrome/browser/flag_descriptions.h
 ===================================================================
 --- electron-17.1.0.orig/chrome/browser/flag_descriptions.h    2022-03-07 
17:20:30.960813654 +0100
@@ -70,7 +70,7 @@
 +
 +// Chrome OS 
------------------------------------------------------------------
 +
- extern const char kAllowDisableTouchpadHapticFeedbackName[];
- extern const char kAllowDisableTouchpadHapticFeedbackDescription[];
+ extern const char kAdaptiveChargingName[];
+ extern const char kAdaptiveChargingDescription[];
  
 

++++++ common.gypi-cpp-version.patch ++++++
With c++14 compiling anything against these headers gets the following error:

npm ERR! /usr/include/electron/v8-maybe.h:106:45: error: 
'is_lvalue_reference_v' is not a member of 'std'; did you mean 
'is_lvalue_reference'?
npm ERR!   106 |   template <class U, 
std::enable_if_t<!std::is_lvalue_reference_v<U>>*>
npm ERR!       |                                             
^~~~~~~~~~~~~~~~~~~~~


--- a/third_party/electron_node/common.gypi     2022-09-16 12:49:53.208366401 
+0200
+++ b/third_party/electron_node/common.gypi     2022-09-19 12:14:32.359490504 
+0200
@@ -440,7 +440,7 @@
       }],
       [ 'OS in "linux freebsd openbsd solaris android aix cloudabi"', {
         'cflags': [ '-Wall', '-Wextra', '-Wno-unused-parameter', ],
-        'cflags_cc': [ '-fno-rtti', '-fno-exceptions', '-std=gnu++14' ],
+        'cflags_cc': [ '-fno-rtti', '-fno-exceptions', '-std=gnu++17' ],
         'defines': [ '__STDC_FORMAT_MACROS' ],
         'ldflags': [ '-rdynamic' ],
         'target_conditions': [
@@ -580,7 +580,7 @@
           ['clang==1', {
             'xcode_settings': {
               'GCC_VERSION': 'com.apple.compilers.llvm.clang.1_0',
-              'CLANG_CXX_LANGUAGE_STANDARD': 'gnu++14',  # -std=gnu++14
+              'CLANG_CXX_LANGUAGE_STANDARD': 'gnu++17',  # -std=gnu++17
               'CLANG_CXX_LIBRARY': 'libc++',
             },
           }],
@@ -653,7 +653,7 @@
           '-qASM',
         ],
         'cflags_cc': [
-          '-qxclang=-std=c++14',
+          '-qxclang=-std=c++17',
         ],
         'ldflags': [
           '-q64',

++++++ content_language_parser-missing-string.patch ++++++
--- a/services/network/public/cpp/content_language_parser.h
+++ b/services/network/public/cpp/content_language_parser.h
@@ -5,6 +5,7 @@
 #ifndef SERVICES_NETWORK_PUBLIC_CPP_CONTENT_LANGUAGE_PARSER_H_
 #define SERVICES_NETWORK_PUBLIC_CPP_CONTENT_LANGUAGE_PARSER_H_
 
+#include <string>
 #include <vector>
 
 #include "base/component_export.h"

++++++ 
content_renderer_client-invalid-application-of-sizeof-to-incomplete-type-cast_streaming-ResourceProvider.patch
 ++++++
>From de893f1b7bc9c2f221b102145e1a15f4b2521954 Mon Sep 17 00:00:00 2001
From: Ivan Murashov <ivan.muras...@lge.com>
Date: Tue, 21 Jun 2022 19:29:30 +0000
Subject: [PATCH] [Cast Streaming] libstdc++: Fix incomplete type of
 cast_streaming::ResourceProvider

Destructor of std::unique_ptr in libstdc++ uses sizeof() which requires
full definition of cast_streaming::ResourceProvider for return type of
ContentRendererClient::CreateCastStreamingResourceProvider().
Added required include and deps to fix the issue.

Bug: b/228081914, 957519
Change-Id: I1f12d104a090460f5d2ffbb78c72f59279a63b33
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3672799
Commit-Queue: Ivan Murashov <ivan.muras...@lge.com>
Reviewed-by: Jordan Bayles <jop...@chromium.org>
Reviewed-by: Fabrice de Gans <fdeg...@chromium.org>
Reviewed-by: Alex Moshchuk <alex...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1016345}
---
 content/public/renderer/BUILD.gn                   | 1 +
 content/public/renderer/DEPS                       | 1 +
 content/public/renderer/content_renderer_client.cc | 1 +
 3 files changed, 3 insertions(+)

diff --git a/content/public/renderer/BUILD.gn b/content/public/renderer/BUILD.gn
index 1eab7f35738a7..fecca01152929 100644
--- a/content/public/renderer/BUILD.gn
+++ b/content/public/renderer/BUILD.gn
@@ -58,6 +58,7 @@ target(link_target_type, "renderer_sources") {
   ]
 
   deps = [
+    "//components/cast_streaming/renderer:resource_provider",
     "//content/public/child:child_sources",
     "//content/public/common:common_sources",
     "//content/renderer",
diff --git a/content/public/renderer/DEPS b/content/public/renderer/DEPS
index 12f044c8b6dbf..9e762d37425d9 100644
--- a/content/public/renderer/DEPS
+++ b/content/public/renderer/DEPS
@@ -1,4 +1,5 @@
 include_rules = [
+  "+components/cast_streaming/renderer/public",
   "+content/common/media",
   "+content/public/child",
   "+gin",
diff --git a/content/public/renderer/content_renderer_client.cc 
b/content/public/renderer/content_renderer_client.cc
index de7f7113f06c9..8eeeee0178f52 100644
--- a/content/public/renderer/content_renderer_client.cc
+++ b/content/public/renderer/content_renderer_client.cc
@@ -6,6 +6,7 @@
 
 #include "base/command_line.h"
 #include "build/build_config.h"
+#include "components/cast_streaming/renderer/public/resource_provider.h"
 #include "content/public/common/content_switches.h"
 #include "media/base/demuxer.h"
 #include "media/base/renderer_factory.h"

++++++ create_tarball.sh ++++++
--- /var/tmp/diff_new_pack.0VZg1u/_old  2022-09-22 14:50:06.786464877 +0200
+++ /var/tmp/diff_new_pack.0VZg1u/_new  2022-09-22 14:50:06.790464888 +0200
@@ -136,7 +136,7 @@
 
 echo ">>>>>> Get node modules for electron"
 pushd src/electron || cleanup_and_exit 1
-yarn install --frozen-lockfile --ignore-engines --ignore-scripts
+yarn install --frozen-lockfile --ignore-engines --ignore-scripts 
--link-duplicates
 if [ $? -ne 0 ]; then
     echo "ERROR: yarn install failed"
     cleanup_and_exit 1
@@ -284,7 +284,7 @@
     third_party/swiftshader/third_party/astc-encoder #not in rawhide or 
factory. Debian has it (astc-encoder)
     third_party/swiftshader/third_party/llvm-subzero #heavily forked version 
of libLLVM for use in subzero
     third_party/swiftshader/third_party/marl #not on any distro
-    third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1 
#FC36 too old
+    third_party/swiftshader/third_party/SPIRV-Headers #FC36 too old
     third_party/swiftshader/third_party/SPIRV-Tools #FC36 too old
     third_party/swiftshader/third_party/subzero #integral part of swiftshader
     #third_party/tflite #Not used by electron, but chrome needs it.
@@ -333,6 +333,7 @@
 rm -rf third_party/electron_node/deps/{googletest/{include,src},icu-small} 
#292MB and vendored
 find third_party/electron_node/deps/brotli -type f ! -name "*.gn" -a ! -name 
"*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
 find third_party/electron_node/deps/cares -type f ! -name "*.gn" -a ! -name 
"*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
+find third_party/electron_node/deps/nghttp2 -type f ! -name "*.gn" -a ! -name 
"*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
 find third_party/electron_node/deps/openssl -type f ! -name "*.gn" -a ! -name 
"*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
 find third_party/electron_node/deps/v8 -type f ! -name "*.gn" -a ! -name 
"*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
 find third_party/electron_node/deps/zlib -type f ! -name "*.gn" -a ! -name 
"*.gni" -a ! -name "*.gyp" -a ! -name "*.gypi" -delete
@@ -379,9 +380,14 @@
 
 
 # Remove empty directories
+echo ">>>>>> Remove empty directories"
 find . -type d -empty -print -delete
 popd || cleanup_and_exit 1
 
+echo ">>>>>> Hardlink duplicate files to reduce extraction time"
+
+fdupes -Sr src
+
 echo ">>>>>> Create tarball"
 #I would like to use zst, as it decompresses MUCH faster, but unfortunately it 
is not supported by OBS diff view yet
 XZ_OPT="-T$(nproc) -e9 -vv" tar -vvcJf 
"${ELECTRON_PKGDIR}/${ELECTRON_PKGNAME}-${ELECTRON_PKGVERSION}.tar.xz" src

++++++ disable-catapult.patch ++++++
--- /var/tmp/diff_new_pack.0VZg1u/_old  2022-09-22 14:50:06.822464969 +0200
+++ /var/tmp/diff_new_pack.0VZg1u/_new  2022-09-22 14:50:06.826464978 +0200
@@ -96,14 +96,6 @@
        "//tools/perf/run_telemetry_tests",
        "//testing/scripts/run_telemetry_as_googletest.py",
      ]
-@@ -10307,7 +10304,6 @@ if (is_mac || is_win || is_android) {
-       "//chrome/test/data/perf",
-       "//components/variations/service/generate_ui_string_overrider.py",
-       "//testing/scripts",
--      "//third_party/catapult",
-       "//tools/perf",
-     ]
-     data_deps = [ "//testing:test_scripts_shared" ]
 --- a/tools/grit/BUILD.gn
 +++ b/tools/grit/BUILD.gn
 @@ -33,7 +33,6 @@ group("grit_python_unittests") {
@@ -156,13 +148,13 @@
 +++ b/tools/gritsettings/resource_ids.spec
 @@ -755,12 +755,6 @@
    "content/test/web_ui_mojo_test_resources.grd": {
-     "includes": [3860],
+     "includes": [3840],
    },
 -
 -  # This file is generated during the build.
 -  "<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing/tracing_resources.grd": 
{
 -    "META": {"sizes": {"includes": [20],}},
--    "includes": [3880],
+-    "includes": [3860],
 -  },
    # END content/ section.
  
@@ -177,28 +169,10 @@
      ]
      sources += [
        # Non-Android platforms that don't presently support
---- a/fuchsia/engine/BUILD.gn
-+++ b/fuchsia/engine/BUILD.gn
-@@ -27,7 +27,6 @@ repack("web_engine_pak") {
-   sources = [
-     "$root_gen_dir/components/components_resources.pak",
-     "$root_gen_dir/content/app/resources/content_resources_100_percent.pak",
--    "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
-     "$root_gen_dir/content/content_resources.pak",
-     "$root_gen_dir/content/dev_ui_content_resources.pak",
-     "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
-@@ -42,7 +41,6 @@ repack("web_engine_pak") {
-     "//content:content_resources",
-     "//content:dev_ui_content_resources",
-     "//content/app/resources",
--    "//content/browser/tracing:resources",
-     "//gpu/command_buffer/service",
-     "//mojo/public/js:resources",
-     "//net:net_resources",
 --- a/chrome/chrome_paks.gni
 +++ b/chrome/chrome_paks.gni
 @@ -168,7 +168,6 @@ template("chrome_extra_paks") {
-         "$root_gen_dir/chrome/webid_resources_100_percent.pak",
+         "$root_gen_dir/chrome/webui_gallery_resources.pak",
          "$root_gen_dir/chrome/whats_new_resources.pak",
          "$root_gen_dir/content/browser/devtools/devtools_resources.pak",
 -        "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
@@ -206,7 +180,7 @@
        deps += [
          "//chrome/browser/resources:component_extension_resources",
 @@ -198,7 +297,6 @@ template("chrome_extra_paks") {
-         "//chrome/browser/resources/tab_search:resources",
+         "//chrome/browser/resources/webui_gallery:resources",
          "//chrome/browser/resources/whats_new:resources",
          "//content/browser/devtools:devtools_resources",
 -        "//content/browser/tracing:resources",
@@ -301,7 +275,7 @@
 --- a/mojo/public/tools/BUILD.gn
 +++ b/mojo/public/tools/BUILD.gn
 @@ -13,6 +13,5 @@ group("mojo_python_unittests") {
-   deps = [ "//mojo/public/tools/mojom/mojom:tests" ]
+   ]
    data_deps = [
      "//testing:test_scripts_shared",
 -    "//third_party/catapult/third_party/typ/",

++++++ electron-13-fix-base-check-nomerge.patch ++++++
--- /var/tmp/diff_new_pack.0VZg1u/_old  2022-09-22 14:50:06.862465070 +0200
+++ /var/tmp/diff_new_pack.0VZg1u/_new  2022-09-22 14:50:06.866465080 +0200
@@ -6,7 +6,7 @@
  #endif  // defined(__clang_analyzer__)
  
  // Use nomerge attribute to disable optimization of merging multiple same 
calls.
--#if defined(__clang__) && __has_attribute(nomerge)
+-#if defined(__clang__) && HAS_ATTRIBUTE(nomerge)
 +#if defined(__clang__) && (__clang_major__ >= 12) && \
 +    __has_attribute(nomerge) && !defined(OS_CHROMEOS)
  #define NOMERGE [[clang::nomerge]]

++++++ electron-16-std-vector-non-const.patch ++++++
--- /var/tmp/diff_new_pack.0VZg1u/_old  2022-09-22 14:50:06.898465162 +0200
+++ /var/tmp/diff_new_pack.0VZg1u/_new  2022-09-22 14:50:06.902465172 +0200
@@ -106,8 +106,8 @@
 -                           const std::vector<const uint8_t> additional_data) {
 +                           const std::vector<uint8_t> additional_data) {
    v8::Isolate* isolate = JavascriptEnvironment::GetIsolate();
-   v8::Locker locker(isolate);
    v8::HandleScope handle_scope(isolate);
+   v8::Local<v8::Value> data_value =
 Index: electron-17.1.0/electron/shell/browser/api/electron_api_app.h
 ===================================================================
 --- electron-17.1.0.orig/electron/shell/browser/api/electron_api_app.h 
2022-03-07 16:07:24.343397858 +0100

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


++++++ electron_serial_delegate-ambiguous-Observer.patch ++++++
--- a/electron/shell/browser/serial/electron_serial_delegate.h  2022-09-16 
12:31:19.704082600 +0200
+++ b/electron/shell/browser/serial/electron_serial_delegate.h  2022-09-16 
21:30:57.247975900 +0200
@@ -38,9 +38,9 @@
   device::mojom::SerialPortManager* GetPortManager(
       content::RenderFrameHost* frame) override;
   void AddObserver(content::RenderFrameHost* frame,
-                   Observer* observer) override;
+                   content::SerialDelegate::Observer* observer) override;
   void RemoveObserver(content::RenderFrameHost* frame,
-                      Observer* observer) override;
+                      content::SerialDelegate::Observer* observer) override;
   void RevokePortPermissionWebInitiated(
       content::RenderFrameHost* frame,
       const base::UnguessableToken& token) override;
--- a/electron/shell/browser/serial/electron_serial_delegate.cc 2022-09-16 
12:31:19.704082600 +0200
+++ b/electron/shell/browser/serial/electron_serial_delegate.cc 2022-09-17 
10:20:59.376161800 +0200
@@ -69,7 +69,7 @@
 }
 
 void ElectronSerialDelegate::AddObserver(content::RenderFrameHost* frame,
-                                         Observer* observer) {
+                                         content::SerialDelegate::Observer* 
observer) {
   observer_list_.AddObserver(observer);
   auto* chooser_context = GetChooserContext(frame);
   if (!port_observation_.IsObserving())
@@ -77,7 +77,7 @@
 }
 
 void ElectronSerialDelegate::RemoveObserver(content::RenderFrameHost* frame,
-                                            Observer* observer) {
+                                            content::SerialDelegate::Observer* 
observer) {
   observer_list_.RemoveObserver(observer);
 }
 

++++++ extract_first_nonzero_index-neon64.patch ++++++
>From 0fc6592cf8867f0cd6d8d41b43392fb52d359649 Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <jdap...@igalia.com>
Date: Tue, 7 Jun 2022 15:44:35 +0200
Subject: [PATCH] GCC: fix compilation of NEON64 extract_first_nonzero_index
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

GCC fails to compile extract_first_nonzero_index because of the
signedness type mismatch in the NEON intrinsics.

Bug: chromium:819294
Change-Id: I9b73e5fa1d5fbf161740ab1b5d77f5c494369dfa
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3693709
Reviewed-by: Toon Verwaest <verwa...@chromium.org>
Commit-Queue: Jos?? Dapena Paz <jdap...@igalia.com>
Cr-Commit-Position: refs/heads/main@{#81063}
---
 src/objects/simd.cc | 27 ++++++++++++---------------
 1 file changed, 12 insertions(+), 15 deletions(-)

diff --git a/src/objects/simd.cc b/src/objects/simd.cc
index d3cedfe3302..0a73b9c686d 100644
--- a/v8/src/objects/simd.cc
+++ b/v8/src/objects/simd.cc
@@ -95,24 +95,21 @@ inline int extract_first_nonzero_index(T v) {
 }
 
 template <>
-inline int extract_first_nonzero_index(int32x4_t v) {
-  int32x4_t mask = {4, 3, 2, 1};
+inline int extract_first_nonzero_index(uint32x4_t v) {
+  uint32x4_t mask = {4, 3, 2, 1};
   mask = vandq_u32(mask, v);
   return 4 - vmaxvq_u32(mask);
 }
 
 template <>
-inline int extract_first_nonzero_index(int64x2_t v) {
-  int32x4_t mask = {2, 0, 1, 0};  // Could also be {2,2,1,1} or {0,2,0,1}
-  mask = vandq_u32(mask, vreinterpretq_s32_s64(v));
+inline int extract_first_nonzero_index(uint64x2_t v) {
+  uint32x4_t mask = {2, 0, 1, 0};  // Could also be {2,2,1,1} or {0,2,0,1}
+  mask = vandq_u32(mask, vreinterpretq_u32_u64(v));
   return 2 - vmaxvq_u32(mask);
 }
 
-template <>
-inline int extract_first_nonzero_index(float64x2_t v) {
-  int32x4_t mask = {2, 0, 1, 0};  // Could also be {2,2,1,1} or {0,2,0,1}
-  mask = vandq_u32(mask, vreinterpretq_s32_f64(v));
-  return 2 - vmaxvq_u32(mask);
+inline int32_t reinterpret_vmaxvq_u64(uint64x2_t v) {
+  return vmaxvq_u32(vreinterpretq_u32_u64(v));
 }
 #endif
 
@@ -204,14 +201,14 @@ inline uintptr_t fast_search_noavx(T* array, uintptr_t 
array_len,
   }
 #elif defined(NEON64)
   if constexpr (std::is_same<T, uint32_t>::value) {
-    VECTORIZED_LOOP_Neon(int32x4_t, int32x4_t, vdupq_n_u32, vceqq_u32,
+    VECTORIZED_LOOP_Neon(uint32x4_t, uint32x4_t, vdupq_n_u32, vceqq_u32,
                          vmaxvq_u32)
   } else if constexpr (std::is_same<T, uint64_t>::value) {
-    VECTORIZED_LOOP_Neon(int64x2_t, int64x2_t, vdupq_n_u64, vceqq_u64,
-                         vmaxvq_u32)
+    VECTORIZED_LOOP_Neon(uint64x2_t, uint64x2_t, vdupq_n_u64, vceqq_u64,
+                         reinterpret_vmaxvq_u64)
   } else if constexpr (std::is_same<T, double>::value) {
-    VECTORIZED_LOOP_Neon(float64x2_t, float64x2_t, vdupq_n_f64, vceqq_f64,
-                         vmaxvq_f64)
+    VECTORIZED_LOOP_Neon(float64x2_t, uint64x2_t, vdupq_n_f64, vceqq_f64,
+                         reinterpret_vmaxvq_u64)
   }
 #else
   UNREACHABLE();

++++++ json_generation-missing-unique_ptr.patch ++++++
--- /var/tmp/diff_new_pack.0VZg1u/_old  2022-09-22 14:50:07.042465527 +0200
+++ /var/tmp/diff_new_pack.0VZg1u/_new  2022-09-22 14:50:07.046465537 +0200
@@ -7,5 +7,5 @@
 +#include <memory>
  #include <string>
  
- #include "components/policy/policy_export.h"
+ #include "base/values.h"
 

++++++ node-system-icu.patch ++++++
--- /var/tmp/diff_new_pack.0VZg1u/_old  2022-09-22 14:50:07.206465943 +0200
+++ /var/tmp/diff_new_pack.0VZg1u/_new  2022-09-22 14:50:07.210465953 +0200
@@ -7,7 +7,7 @@
    configure = os.path.join(NODE_DIR, 'configure.py')
    args = ['--dest-cpu', target_cpu]
 +  args+= ['--with-intl=system-icu']
-   # Enabled in Chromium's V8.
-   if target_cpu in ('arm64', 'x64'):
-     args += ['--experimental-enable-pointer-compression']
+   # Enabled in Chromium's V8, will be disabled on 32bit via
+   # common.gypi rules
+   args += ['--experimental-enable-pointer-compression']
 

++++++ replace_gn_files-system-libs.patch ++++++
--- /var/tmp/diff_new_pack.0VZg1u/_old  2022-09-22 14:50:07.234466014 +0200
+++ /var/tmp/diff_new_pack.0VZg1u/_new  2022-09-22 14:50:07.238466024 +0200
@@ -1,6 +1,6 @@
 --- 
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,40 @@ import sys
+@@ -17,12 +17,41 @@ import sys
  
  
  REPLACEMENTS = {
@@ -21,6 +21,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',
 +  'dav1d': 'third_party/dav1d/BUILD.gn',
@@ -41,7 +42,7 @@
    'libdrm': 'third_party/libdrm/BUILD.gn',
    'libevent': 'base/third_party/libevent/BUILD.gn',
    'libjpeg': 'third_party/libjpeg.gni',
-@@ -33,6 +64,11 @@
+@@ -33,6 +65,11 @@
    'opus': 'third_party/opus/BUILD.gn',
    're2': 'third_party/re2/BUILD.gn',
    'snappy': 'third_party/snappy/BUILD.gn',

++++++ system-pydeps.patch ++++++
--- /var/tmp/diff_new_pack.0VZg1u/_old  2022-09-22 14:50:07.358466329 +0200
+++ /var/tmp/diff_new_pack.0VZg1u/_new  2022-09-22 14:50:07.366466349 +0200
@@ -45,22 +45,22 @@
 @@ -1,28 +1,8 @@
  # Generated by running:
  #   build/print_python_deps.py --root 
third_party/blink/renderer/bindings/scripts --output 
third_party/blink/renderer/bindings/scripts/generate_bindings.pydeps 
third_party/blink/renderer/bindings/scripts/generate_bindings.py
--../../../../mako/mako/__init__.py
--../../../../mako/mako/_ast_util.py
--../../../../mako/mako/ast.py
--../../../../mako/mako/cache.py
--../../../../mako/mako/codegen.py
--../../../../mako/mako/compat.py
--../../../../mako/mako/exceptions.py
--../../../../mako/mako/ext/__init__.py
--../../../../mako/mako/filters.py
--../../../../mako/mako/lexer.py
--../../../../mako/mako/parsetree.py
--../../../../mako/mako/pygen.py
--../../../../mako/mako/pyparser.py
--../../../../mako/mako/runtime.py
--../../../../mako/mako/template.py
--../../../../mako/mako/util.py
+-../../../../mako/mako/mako/__init__.py
+-../../../../mako/mako/mako/_ast_util.py
+-../../../../mako/mako/mako/ast.py
+-../../../../mako/mako/mako/cache.py
+-../../../../mako/mako/mako/codegen.py
+-../../../../mako/mako/mako/compat.py
+-../../../../mako/mako/mako/exceptions.py
+-../../../../mako/mako/mako/ext/__init__.py
+-../../../../mako/mako/mako/filters.py
+-../../../../mako/mako/mako/lexer.py
+-../../../../mako/mako/mako/parsetree.py
+-../../../../mako/mako/mako/pygen.py
+-../../../../mako/mako/mako/pyparser.py
+-../../../../mako/mako/mako/runtime.py
+-../../../../mako/mako/mako/template.py
+-../../../../mako/mako/mako/util.py
  ../../../../markupsafe/__init__.py
  ../../../../markupsafe/_compat.py
  ../../../../markupsafe/_native.py

++++++ thread_annotations-fix-build-with-system-abseil.patch ++++++
--- /var/tmp/diff_new_pack.0VZg1u/_old  2022-09-22 14:50:07.410466460 +0200
+++ /var/tmp/diff_new_pack.0VZg1u/_new  2022-09-22 14:50:07.418466481 +0200
@@ -1,7 +1,7 @@
 --- a/base/thread_annotations.h        2022-06-21 21:52:33.363987695 +0200
 +++ b/base/thread_annotations.h        2022-06-24 16:18:54.238568316 +0200
 @@ -40,6 +40,8 @@
- #include "base/check_op.h"
+ #include "base/dcheck_is_on.h"
  #include "build/build_config.h"
  
 +#include <absl/base/internal/thread_annotations.h>

Reply via email to