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-08-02 22:08:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nodejs-electron (Old)
and /work/SRC/openSUSE:Factory/.nodejs-electron.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nodejs-electron"
Tue Aug 2 22:08:45 2022 rev:29 rq:992258 version:19.0.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/nodejs-electron/nodejs-electron.changes
2022-07-07 12:58:17.287405746 +0200
+++
/work/SRC/openSUSE:Factory/.nodejs-electron.new.1533/nodejs-electron.changes
2022-08-02 22:09:06.217757216 +0200
@@ -1,0 +2,29 @@
+Fri Jul 22 09:58:00 UTC 2022 - Bruno Pitrus <[email protected]>
+- New upstream release 19.0.9
+ * Updated Chromium to 102.0.5005.167
+ * Fixed a potential crash when changing window settings after initializing
WCO with an invalid titleBarStyle
+ * Fixed alwaysOnTop BrowserWindow option for X11.
+ * Fixed an issue where printing with an invalid deviceName caused silent
failures.
+ * Fixed empty app_id when running under wayland.
+ * Prevent brief display of "Ozone X11" in window title.
+- Remove some unused huge libraries from third_party in source tarball.
+- Remove process_doc_wrapper-do-not-assume-ABI.patch. The file being patched
was not getting compiled for a while,
+ and is now removed from the tarball.
+- Add system-gtest.patch
+- Add breakpad-system-curl.patch
+
+-------------------------------------------------------------------
+Tue Jul 12 17:03:39 UTC 2022 - Bruno Pitrus <[email protected]>
+- Do not require SSE3 (chromium-102-compiler.patch).
+ Both openSUSE and Fedora still support the original Opteron, and
+ package maintainers should not unilaterally require more.
+- Use system node for the typescript compiler (again).
+ We do not need to force node16 (Fedora compiles fine with node18 even),
+ Factory pushes a devel node version as default for a reason,
+ and it accidentally broke build on RISC-V which only has node17.
+- Restore full debuginfo on the C-only code parts.
+- Document all other deviations from recommended compilation options.
+- Remove obsolete chromium-96-CouponDB-include.patch
+- Correct licence in header (Electron bundles Chromium)
+
+-------------------------------------------------------------------
Old:
----
chromium-96-CouponDB-include.patch
electron-19.0.8.tar.xz
process_doc_wrapper-do-not-assume-ABI.patch
New:
----
breakpad-system-curl.patch
electron-19.0.9.tar.xz
system-gtest.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nodejs-electron.spec ++++++
--- /var/tmp/diff_new_pack.CaQfXq/_old 2022-08-02 22:09:18.553792777 +0200
+++ /var/tmp/diff_new_pack.CaQfXq/_new 2022-08-02 22:09:18.561792800 +0200
@@ -40,21 +40,10 @@
%{expand:%%global optflags %(echo "%optflags") -march=pentium4 -mtune=generic}
%endif
-%ifarch x86_64
-%if 0%{?suse_version} > 1500 || 0%{?fedora}
-# DISABLE LTO AS IT IS BROKEN RIGHT NOW
-#%%bcond_without lto
-%bcond_with lto
-# else suse_version
-%else
-%bcond_with lto
-# endif suse_version
-%endif
-# else arch x86_64
-%else
+
+#Electron built with LTO crashes on selecting any text.
+#See https://gist.github.com/brjsp/80620a5a0be9efbee6b9154cb127879d for the
stack trace.
%bcond_with lto
-# endif arch x86_64
-%endif
%bcond_without pipewire
@@ -191,10 +180,10 @@
Name: nodejs-electron
-Version: 19.0.8
+Version: 19.0.9
Release: 0
Summary: Build cross platform desktop apps with JavaScript, HTML, and
CSS
-License: MIT
+License: MIT AND BSD-3-Clause AND LGPL-2.1-or-later
Group: Productivity/Networking/Web/Browsers
URL: https://github.com/electron/electron
Source0: %{mod_name}-%{version}.tar.xz
@@ -239,108 +228,108 @@
# Reverse upstream changes to be able to build against system ffmpeg
Source400: ffmpeg-new-channel-layout.patch
+
+# PATCHES for openSUSE-specific things
Patch0: chromium-102-compiler.patch
-Patch2: chromium-system-libusb.patch
Patch3: gcc-enable-lto.patch
-Patch4: chromium-gcc11.patch
Patch5: chromium-norar.patch
Patch6: chromium-vaapi.patch
Patch7: chromium-91-java-only-allowed-in-android-builds.patch
Patch9: chromium-86-fix-vaapi-on-intel.patch
-Patch10: chromium-93-ffmpeg-4.4.patch
-Patch11: chromium-ffmpeg-first-dts.patch
-Patch13: chromium-96-CouponDB-include.patch
-Patch16: chromium-98-EnumTable-crash.patch
-Patch17: system-libdrm.patch
-# Fix building sql recover_module
-Patch20: electron-13-fix-sql-virtualcursor-type.patch
# Always disable use_thin_lto which is an lld feature
Patch21: electron-13-fix-use-thin-lto.patch
-# Fixe builds with older clang versions that do not allow
-# nomerge attributes on declaration. Otherwise, the following error
-# is produced:
-# 'nomerge' attribute cannot be applied to a declaration
-# See https://reviews.llvm.org/D92800
-Patch22: electron-13-fix-base-check-nomerge.patch
-# Fix blink nodestructor
-Patch23: electron-13-blink-gcc-ambiguous-nodestructor.patch
-# Fix electron patched code
-Patch24: electron-16-std-vector-non-const.patch
# Fix common.gypi to include /usr/include/electron
Patch25: electron-16-system-node-headers.patch
-Patch27: electron-16-freetype-visibility-list.patch
-Patch28: electron-16-third_party-symbolize-missing-include.patch
-Patch29: electron-16-webpack-fix-openssl-3.patch
-# https://bugzilla.redhat.com/show_bug.cgi?id=2052228
-Patch30: electron-16-fix-swiftshader-template.patch
-# From https://git.droidware.info/wchen342/ungoogled-chromium-fedora
-Patch33: chromium-94.0.4606.71-InkDropHost-crash.patch
-#
https://sources.debian.org/patches/chromium/102.0.5005.115-1/upstream/byteswap-constexpr.patch/
-Patch34: byteswap-constexpr.patch
-#
https://sources.debian.org/patches/chromium/102.0.5005.115-1/bullseye/byteswap-constexpr2.patch/
-Patch35: byteswap-constexpr2.patch
-Patch36: chromium-101-libxml-unbundle.patch
-Patch37: chromium-102-fenced_frame_utils-include.patch
-#
http://svnweb.mageia.org/packages/updates/7/chromium-browser-stable/current/SOURCES/chromium-74-pdfium-system-libopenjpeg2.patch?view=markup
-Patch38: pdfium-fix-system-libs.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
+
+# 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}
#
https://sources.debian.org/patches/chromium/102.0.5005.115-1/system/jsoncpp.patch/
-Patch40: system-jsoncpp.patch
+Patch1040: system-jsoncpp.patch
%endif
#
https://sources.debian.org/patches/chromium/102.0.5005.115-1/system/zlib.patch/
-Patch41: system-zlib.patch
-Patch42: chromium-fix-pac-with-gcc.patch
-Patch43: node-system-libs.patch
-Patch44: replace_gn_files-system-libs.patch
-Patch45: angle-system-xxhash.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
-Patch46: chromium-99-pdfium-system-libtiff.patch
+Patch1046: chromium-99-pdfium-system-libtiff.patch
%endif
-Patch47: cares_public_headers.patch
-Patch48: chromium-remove-bundled-roboto-font.patch
-Patch49: abseil-remove-unused-targets.patch
-# PATCH-FIX-UPSTREAM
-Patch50: abseil_string_number_conversions-do-not-assume-ABI.patch
-# PATCH-FIX-UPSTREAM
-Patch51: multi_channel_content_detector-missing-unique_ptr.patch
-# PATCH-FIX-UPSTREAM
-Patch52: process_doc_wrapper-do-not-assume-ABI.patch
+Patch1047: cares_public_headers.patch
+Patch1048: chromium-remove-bundled-roboto-font.patch
%if %{with system_llvm}
-Patch53: swiftshader-use-system-llvm.patch
+Patch1053: swiftshader-use-system-llvm.patch
%endif
%if %{with system_abseil}
-Patch54: thread_annotations-fix-build-with-system-abseil.patch
+Patch1054: thread_annotations-fix-build-with-system-abseil.patch
%endif
-#PATCH-FIX-UPSTREAM
-Patch55: json_generation-missing-unique_ptr.patch
-#PATCH-FIX-UPSTREAM
-Patch56:
async_shared_storage_database_impl-missing-absl-WrapUnique.patch
-#PATCH-FIX-UPSTREAM
-Patch57: metrics_recorder-missing-string.patch
-#PATCH-FIX-UPSTREAM
-Patch58: skia_utils-missing-uint64_t.patch
-#PATCH-FIX-UPSTREAM
-Patch59: device_perf_info-missing-uint32_t.patch
-# PATCH-FIX-UPSTREAM
-Patch60: dark_mode_types-uint8_t.patch
-# PATCH-FIX-UPSTREAM
-Patch61: ax_property_node-missing-unique_ptr-forward.patch
-# PATCH-FIX-UPSTREAM
-Patch62: attribution_manager_impl-missing-absl-WrapUnique.patch
-Patch63: system-libbsd.patch
+Patch1063: system-libbsd.patch
+Patch1065: base-system-nspr.patch
+Patch1066: system-gtest.patch
+Patch1067: breakpad-system-curl.patch
+
+# PATCHES to fix interaction with third-party software
+Patch2004: chromium-gcc11.patch
+Patch2010: chromium-93-ffmpeg-4.4.patch
+Patch2011: chromium-ffmpeg-first-dts.patch
+# Fix building sql recover_module
+Patch2020: electron-13-fix-sql-virtualcursor-type.patch
+# Fixe builds with older clang versions that do not allow
+# nomerge attributes on declaration. Otherwise, the following error
+# is produced:
+# 'nomerge' attribute cannot be applied to a declaration
+# See https://reviews.llvm.org/D92800
+Patch2022: electron-13-fix-base-check-nomerge.patch
+# 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
+Patch3016: chromium-98-EnumTable-crash.patch
+# Fix blink nodestructor
+Patch3023: electron-13-blink-gcc-ambiguous-nodestructor.patch
+Patch3027: electron-16-freetype-visibility-list.patch
+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
+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
-Patch64: nested-nested-nested-nested-nested-nested-regex-patterns.patch
-Patch65: base-system-nspr.patch
-# PATCH-FIX-UPSTREAM ??? Fedora patch to fix build with python3.11
-Patch66:
chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch
-# from
https://sources.debian.org/patches/chromium/103.0.5060.53-1/disable/catapult.patch/
-Patch67: disable-catapult.patch
+Patch3064: nested-nested-nested-nested-nested-nested-regex-patterns.patch
+# Fedora patch to fix build with python3.11
+Patch3066:
chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch
+
%if %{with clang}
BuildRequires: clang
BuildRequires: lld
+BuildRequires: llvm
%endif
%if %{with gold}
BuildRequires: binutils-gold
@@ -393,11 +382,11 @@
%else
BuildRequires: ninja-build >= 1.7.2
%endif
-%if 0%{?suse_version}
+%if 0%{?sle_version} == 150300
BuildRequires: nodejs16
BuildRequires: npm16
%else
-BuildRequires: nodejs >= 16.5.0
+BuildRequires: nodejs >= 16
BuildRequires: npm
%endif
BuildRequires: pkgconfig
@@ -460,6 +449,7 @@
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(glproto)
+BuildRequires: pkgconfig(gtest)
BuildRequires: pkgconfig(gtk+-3.0)
%if %{with system_harfbuzz}
BuildRequires: pkgconfig(harfbuzz) >= 3
@@ -510,8 +500,8 @@
%if 0%{?fedora}
BuildRequires: minizip-compat-devel
# help decide for dependency
-BuildRequires: pipewire-jack-audio-connection-kit-devel
-BuildRequires: nodejs-devel >= 17
+# BuildRequires: pipewire-jack-audio-connection-kit-devel
+# BuildRequires: nodejs-devel >= 17
%else
BuildRequires: pkgconfig(minizip)
%endif
@@ -598,8 +588,8 @@
ln -sf %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node
# Fix eu-strip
-rm buildtools/third_party/eu-strip/bin/eu-strip
-ln -s %{_bindir}/eu-strip buildtools/third_party/eu-strip/bin/eu-strip
+mkdir -p buildtools/third_party/eu-strip/bin
+ln -sf %{_bindir}/eu-strip buildtools/third_party/eu-strip/bin/eu-strip
# Fix shim header generation
sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
@@ -613,19 +603,16 @@
# GN sets lto on its own and we need just ldflag options, not cflags
%define _lto_cflags %{nil}
+
# Make sure python is python3
install -d -m 0755 python3-path
ln -sf %{_bindir}/python3 "$(pwd)/python3-path/python"
export PATH="$(pwd)/python3-path:${PATH}"
-# Make sure node is node16 on suse
-export NODE_VERSION=16
+ARCH_FLAGS="%optflags"
-# REDUCE DEBUG as it gets TOO large
-ARCH_FLAGS="$(echo %{optflags} | sed -e 's/-g /-g1 /g' -e 's/-g$/-g1/g')"
-
%if 0%{?fedora}
# Fix base/allocator/allocator_shim.cc:408:2: error: #error This code cannot be
@@ -635,19 +622,36 @@
-
# for wayland
export CXXFLAGS="${ARCH_FLAGS} -I/usr/include/wayland
-I/usr/include/libxkbcommon"
+export CFLAGS="${CXXFLAGS}"
+
+# Google has a bad coding style, using a macro `NOTREACHED()` that is not
properly detected by GCC
+# multiple times throughout the codebase. It is not possible to redefine the
macro to __builtin_unreachable,
+# as it has an astonishing syntax, behaving like an ostream (in debug builds
it is supposed to trap and print an error message)
+export CXXFLAGS="${CXXFLAGS} -Wno-error=return-type"
+# As of 19.0.8,
export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch
+# introduces non-conformant C++ code (redefinition of PageAllocator)
+# This is an Electron-specific problem that does not appear in Chromium.
+export CXXFLAGS="${CXXFLAGS} -fpermissive"
+
+# REDUCE DEBUG for C++ as it gets TOO large due to ???heavy hemplate use in
Blink???
+export CXXFLAGS="$(echo ${CXXFLAGS} | sed -e 's/-g /-g1 /g' -e 's/-g$/-g1/g')"
+
export LDFLAGS="%{?build_ldflags}"
+
%if %{with clang}
-export CFLAGS="${CXXFLAGS}"
+
export CC=clang
export CXX=clang++
+export AR=llvm-ar
+export NM=llvm-nm
+export RANLIB=llvm-ranlib
# else with clang
%else
@@ -663,36 +667,25 @@
%endif
-export CXXFLAGS="${CXXFLAGS} -Wno-return-type"
-# extra flags to reduce warnings that aren't very useful
-export CXXFLAGS="${CXXFLAGS} -Wno-pedantic -Wno-unused-result
-Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable
-Wno-deprecated-declarations"
-# ignore warnings for minor mistakes that are too common
-export CXXFLAGS="${CXXFLAGS} -Wno-return-type -Wno-parentheses
-Wno-misleading-indentation"
-# ignore warnings that are not supported well until gcc 8
-export CXXFLAGS="${CXXFLAGS} -Wno-attributes"
-# ignore warnings due to gcc bug
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84055)
-export CXXFLAGS="${CXXFLAGS} -Wno-ignored-attributes"
-# ingore new gcc 8 warnings that aren't yet handled upstream
-export CXXFLAGS="${CXXFLAGS} -Wno-address -Wno-dangling-else
-Wno-packed-not-aligned"
-export CFLAGS="${CXXFLAGS}"
-export CXXFLAGS="${CXXFLAGS} -Wno-subobject-linkage -Wno-class-memaccess
-Wno-invalid-offsetof -fpermissive"
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150500 || 0%{?fedora}
export CC=gcc
export CXX=g++
+export AR=gcc-ar
+export NM=gcc-nm
+export RANLIB=gcc-ranlib
%else
export CC=gcc-10
export CXX=g++-10
+export AR=gcc-ar-10
+export NM=gcc-nm-10
+export RANLIB=gcc-ranlib-10
%endif
# endif with clang
%endif
-# Needed e.g. for static library creation by
base/third_party/dynamic_annotations/
-export AR=ar
-export NM=nm
-export RANLIB=ranlib
# do not eat all memory
%limit_build -m 2600
@@ -879,11 +872,15 @@
myconf_gn+=" is_component_ffmpeg=true"
myconf_gn+=" use_cups=true"
myconf_gn+=" use_aura=true"
+
+
+# These options have been disabled, see chromium-102-compiler.patch
# symbol_level=2 is full debug
# symbol_level=1 is enough info for stacktraces
# symbol_level=0 disable debug
-myconf_gn+=" symbol_level=1"
-myconf_gn+=" blink_symbol_level=0"
+#myconf_gn+=" symbol_level=2"
+#myconf_gn+=" blink_symbol_level=1"
+
myconf_gn+=" use_kerberos=true"
myconf_gn+=" enable_vr=false"
myconf_gn+=" optimize_webui=false"
@@ -1035,7 +1032,7 @@
rsync -av out/Release/gen/node_headers/include/node/*
%{buildroot}%{_includedir}/electron
%files
-%license electron/LICENSE
+%license electron/LICENSE electron/chromium_src/LICENSE.chromium
third_party/blink/LICENSE_FOR_ABOUT_CREDITS
%doc electron/README.md
%{_bindir}/electron
%{_datadir}/pixmaps/electron.png
++++++ breakpad-system-curl.patch ++++++
--- a/third_party/breakpad/breakpad/src/common/linux/libcurl_wrapper.h
+++ b/third_party/breakpad/breakpad/src/common/linux/libcurl_wrapper.h
@@ -37,7 +37,7 @@
#include <map>
#include "common/using_std_string.h"
-#include "third_party/curl/curl.h"
+#include <curl/curl.h>
namespace google_breakpad {
class LibcurlWrapper {
++++++ chromium-102-compiler.patch ++++++
--- /var/tmp/diff_new_pack.CaQfXq/_old 2022-08-02 22:09:18.805793504 +0200
+++ /var/tmp/diff_new_pack.CaQfXq/_new 2022-08-02 22:09:18.809793515 +0200
@@ -11,7 +11,7 @@
index d40843b..b92f03b 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
-@@ -286,9 +286,7 @@ config("compiler") {
+@@ -286,9 +286,7 @@
configs += [
# See the definitions below.
@@ -21,7 +21,7 @@
":compiler_codegen",
":compiler_deterministic",
]
-@@ -522,31 +520,6 @@ config("compiler") {
+@@ -522,31 +520,6 @@
ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
}
@@ -53,7 +53,17 @@
# Rust compiler setup (for either clang or rustc).
if (enable_rust) {
defines += [ "RUST_ENABLED" ]
-@@ -1232,45 +1205,6 @@ config("compiler_deterministic") {
+@@ -880,7 +853,8 @@
+ # without using everything that "compiler" brings in. Options that
+ # tweak code generation for a particular CPU do not belong here!
+ # See "compiler_codegen", below.
+-config("compiler_cpu_abi") {
++config("compiler_cpu_abi") { }
++config("xcompiler_cpu_abi") {
+ cflags = []
+ ldflags = []
+ defines = []
+@@ -1232,45 +1206,6 @@
}
}
@@ -99,7 +109,7 @@
# 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 +1472,6 @@ config("default_warnings") {
+@@ -1538,15 +1473,6 @@
cflags += [ "-Wno-deprecated-non-prototype" ]
}
@@ -115,7 +125,7 @@
if (is_fuchsia) {
# TODO(https://bugs.chromium.org/p/fuchsia/issues/detail?id=77383)
cflags += [ "-Wno-deprecated-copy" ]
-@@ -1615,7 +1540,7 @@ config("chromium_code") {
+@@ -1615,7 +1541,7 @@
defines = [ "_HAS_NODISCARD" ]
}
} else {
@@ -124,7 +134,7 @@
if (treat_warnings_as_errors) {
cflags += [ "-Werror" ]
-@@ -1624,10 +1549,6 @@ config("chromium_code") {
+@@ -1624,10 +1550,6 @@
# well.
ldflags = [ "-Werror" ]
}
@@ -135,7 +145,7 @@
# In Chromium code, we define __STDC_foo_MACROS in order to get the
# C99 macros on Mac and Linux.
-@@ -1636,15 +1557,6 @@ config("chromium_code") {
+@@ -1636,15 +1558,6 @@
"__STDC_FORMAT_MACROS",
]
@@ -151,7 +161,7 @@
if (is_mac) {
cflags_objc = [ "-Wobjc-missing-property-synthesis" ]
cflags_objcc = [ "-Wobjc-missing-property-synthesis" ]
-@@ -2035,7 +1947,8 @@ config("default_stack_frames") {
+@@ -2035,7 +1948,8 @@
}
# Default "optimization on" config.
@@ -161,7 +171,7 @@
if (is_win) {
if (chrome_pgo_phase != 2) {
# Favor size over speed, /O1 must be before the common flags.
-@@ -2073,7 +1986,8 @@ config("optimize") {
+@@ -2073,7 +1987,8 @@
}
# Turn off optimizations.
@@ -171,7 +181,7 @@
if (is_win) {
cflags = [
"/Od", # Disable optimization.
-@@ -2113,7 +2027,8 @@ config("no_optimize") {
+@@ -2113,7 +2028,8 @@
# Turns up the optimization level. On Windows, this implies whole program
# optimization and link-time code generation which is very expensive and
should
# be used sparingly.
@@ -181,7 +191,7 @@
if (is_nacl && is_nacl_irt) {
# The NaCl IRT is a special case and always wants its own config.
# Various components do:
-@@ -2146,7 +2061,8 @@ config("optimize_max") {
+@@ -2146,7 +2062,8 @@
#
# TODO(crbug.com/621335) - rework how all of these configs are related
# so that we don't need this disclaimer.
@@ -191,7 +201,7 @@
if (is_nacl && is_nacl_irt) {
# The NaCl IRT is a special case and always wants its own config.
# Various components do:
-@@ -2172,7 +2088,8 @@ config("optimize_speed") {
+@@ -2172,7 +2089,8 @@
}
}
@@ -201,7 +211,7 @@
cflags = [ "-O1" ] + common_optimize_on_cflags
rustflags = [ "-Copt-level=1" ]
ldflags = common_optimize_on_ldflags
-@@ -2291,7 +2208,8 @@ config("win_pdbaltpath") {
+@@ -2291,7 +2209,8 @@
}
# Full symbols.
@@ -211,7 +221,7 @@
if (is_win) {
if (is_clang) {
cflags = [ "/Z7" ] # Debug information in the .obj files.
-@@ -2419,7 +2337,8 @@ config("symbols") {
+@@ -2419,7 +2338,8 @@
# Minimal symbols.
# This config guarantees to hold symbol for stack trace which are shown to
user
# when crash happens in unittests running on buildbot.
@@ -221,7 +231,7 @@
if (is_win) {
# Functions, files, and line tables only.
cflags = []
-@@ -2492,7 +2411,8 @@ config("minimal_symbols") {
+@@ -2492,7 +2412,8 @@
# This configuration contains function names only. That is, the compiler is
# told to not generate debug information and the linker then just puts
function
# names in the final debug information.
@@ -231,7 +241,4 @@
if (is_win) {
ldflags = [ "/DEBUG" ]
---
-2.35.1
-
++++++ create_tarball.sh ++++++
--- /var/tmp/diff_new_pack.CaQfXq/_old 2022-08-02 22:09:18.857793654 +0200
+++ /var/tmp/diff_new_pack.CaQfXq/_new 2022-08-02 22:09:18.861793665 +0200
@@ -142,70 +142,69 @@
pushd "${ELECTRON_PATH}" || cleanup_and_exit 1
+
+# TODO: Go through every entry on this list and either remove it, or add an
explanation why it's needed.
echo ">>>>>> Remove bundled libs"
keeplibs=(
- base/third_party/cityhash
- base/third_party/double_conversion
- base/third_party/dynamic_annotations
- base/third_party/icu
- base/third_party/superfasthash
- base/third_party/symbolize
- base/third_party/valgrind
- base/third_party/xdg_mime
- base/third_party/xdg_user_dirs
- buildtools/third_party/libc++
- buildtools/third_party/libc++abi
- buildtools/third_party/libunwind
- buildtools/third_party/eu-strip
- chrome/third_party/mozilla_security_manager
- courgette/third_party
- net/third_party/mozilla_security_manager
- net/third_party/nss
- net/third_party/quic
- net/third_party/uri_template
- third_party/abseil-cpp
+ base/third_party/cityhash #Derived code, not vendored dependency.
+ base/third_party/dynamic_annotations #Derived code, not vendored
dependency.
+ base/third_party/icu #Derived code, not vendored dependency.
+ base/third_party/superfasthash #Not a shared library.
+ base/third_party/symbolize #Derived code, not vendored dependency.
+ base/third_party/valgrind #Copy of a private header.
+ base/third_party/xdg_mime #Seems not to be available as a shared library.
+ base/third_party/xdg_user_dirs #Derived code, not vendored dependency.
+ chrome/third_party/mozilla_security_manager #Derived code, not vendored
dependency.
+ courgette/third_party #Derived code, not vendored dependency.
+ net/third_party/mozilla_security_manager #Derived code, not vendored
dependency.
+ net/third_party/nss #Derived code, not vendored dependency.
+ net/third_party/quic #Not available as a shared library yet. An old
version is in Factory (google-quiche-source)
+ net/third_party/uri_template #Derived code, not vendored dependency.
+ third_party/abseil-cpp #15.4 and fc36 too old.
+ # ANGLE is an integral part of chrome and is not available as a shared
library.
third_party/angle
third_party/angle/src/common/third_party/base
third_party/angle/src/common/third_party/smhasher
- third_party/angle/src/third_party/libXNVCtrl
- third_party/angle/src/third_party/trace_event
- third_party/angle/src/third_party/volk
- third_party/apple_apsl
+ #
+ third_party/angle/src/third_party/libXNVCtrl #Not in Factory yet
+ third_party/angle/src/third_party/trace_event #Does not seem to be a
separate library.
+ third_party/angle/src/third_party/volk #Not in Factory or Rawhide. Debian
has it as vulkan-volk
third_party/axe-core
- third_party/blink
- third_party/boringssl
+ third_party/blink #Integral part of chrome
+ third_party/boringssl #Factory has an ancient version, but upstream seems
to have gave up on making it a shared library
third_party/boringssl/src/third_party/fiat
- third_party/breakpad
- third_party/breakpad/breakpad/src/third_party/curl
- third_party/catapult
- third_party/catapult/common/py_vulcanize/third_party/rcssmin
- third_party/catapult/common/py_vulcanize/third_party/rjsmin
- third_party/catapult/third_party/beautifulsoup4
- third_party/catapult/third_party/html5lib-1.1/
- third_party/catapult/third_party/html5lib-python
- third_party/catapult/third_party/polymer
- third_party/catapult/third_party/six
- third_party/catapult/tracing/third_party/d3
- third_party/catapult/tracing/third_party/gl-matrix
- third_party/catapult/tracing/third_party/jpeg-js
- third_party/catapult/tracing/third_party/jszip
- third_party/catapult/tracing/third_party/mannwhitneyu
- third_party/catapult/tracing/third_party/oboe
- third_party/catapult/tracing/third_party/pako
+ third_party/breakpad #Integral part of chrome
+ # We don't need it (disable-catapult.patch)
+ #third_party/catapult
+ #third_party/catapult/common/py_vulcanize/third_party/rcssmin
+ #third_party/catapult/common/py_vulcanize/third_party/rjsmin
+ #third_party/catapult/third_party/beautifulsoup4
+ #third_party/catapult/third_party/html5lib-1.1/
+ #third_party/catapult/third_party/html5lib-python
+ #third_party/catapult/third_party/polymer
+ #third_party/catapult/third_party/six
+ #third_party/catapult/tracing/third_party/d3
+ #third_party/catapult/tracing/third_party/gl-matrix
+ #third_party/catapult/tracing/third_party/jpeg-js
+ #third_party/catapult/tracing/third_party/jszip
+ #third_party/catapult/tracing/third_party/mannwhitneyu
+ #third_party/catapult/tracing/third_party/oboe
+ #third_party/catapult/tracing/third_party/pako
third_party/ced
third_party/cld_3
third_party/closure_compiler
- third_party/crashpad
- third_party/crashpad/crashpad/third_party/lss
- third_party/crashpad/crashpad/third_party/zlib
- third_party/crc32c
- third_party/cros_system_api
- third_party/dav1d
- third_party/dawn
+ third_party/crashpad #Integral part of chrome
+ third_party/crashpad/crashpad/third_party/lss #Derived code, not vendored
dependency.
+ third_party/crashpad/crashpad/third_party/zlib #Derived code, not vendored
dependency.
+ third_party/crc32c #Not in Leap
+ third_party/cros_system_api #Integral part of Chrome. Needed.
+ third_party/dav1d #Leap and fc36 too old
+ third_party/dawn #Integral part of chrome
third_party/dawn/third_party
- third_party/depot_tools
+ third_party/depot_tools #Integral part of chrome
third_party/depot_tools/third_party/six
third_party/devscripts
+ #Javascript code, integral part of chrome
third_party/devtools-frontend
third_party/devtools-frontend/src/front_end/third_party
third_party/devtools-frontend/src/front_end/third_party/acorn
@@ -223,72 +222,63 @@
third_party/devtools-frontend/src/front_end/third_party/wasmparser
third_party/devtools-frontend/src/third_party
third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n
+ #
third_party/distributed_point_functions
third_party/dom_distiller_js
- third_party/eigen3
- third_party/electron_node
+ #third_party/eigen3 #Used only by tflite which is not used in electron
+ third_party/electron_node #Integral part of electron
third_party/emoji-segmenter
third_party/farmhash
third_party/fdlibm
third_party/fft2d
- third_party/flatbuffers
- third_party/freetype
+ third_party/flatbuffers #TODO: Consider unbundling this
third_party/fusejs/dist
third_party/gemmlowp
- third_party/google_input_tools
- third_party/google_input_tools/third_party/closure_library
-
third_party/google_input_tools/third_party/closure_library/third_party/closure
- third_party/googletest
- third_party/harfbuzz-ng
+ third_party/harfbuzz-ng #There are new google files within this directory.
third_party/harfbuzz-ng/utils
- third_party/highway
- third_party/hunspell
+ third_party/highway #Used only by libjxl. Consider unbundling this.
+ third_party/hunspell #heavily forked version
third_party/iccjpeg
- third_party/icu
third_party/inspector_protocol
third_party/jinja2
- third_party/jsoncpp
third_party/jstemplate
third_party/khronos
- third_party/leveldatabase
+ third_party/leveldatabase #use of private headers
third_party/libaddressinput
- third_party/libaom
+ third_party/libaom #version in Factory is too old
third_party/libaom/source/libaom/third_party/fastfeat
third_party/libaom/source/libaom/third_party/vector
third_party/libaom/source/libaom/third_party/x86inc
- third_party/libavif
- third_party/libgav1
+ third_party/libavif #not availabe on 15.3
+ third_party/libgav1 #not in Factory yet
third_party/libgifcodec
- third_party/libjingle
- third_party/libjxl
- third_party/libphonenumber
- third_party/libsecret
- third_party/libsrtp
+ third_party/libjxl #not in Factory yet
+ third_party/libphonenumber #depends on protobuf
+ third_party/libsecret #TODO: Consider unbundling this
+ third_party/libsrtp #Use of private headers
third_party/libsync/src
third_party/libudev
third_party/liburlpattern
third_party/libva_protected_content
- third_party/libvpx
+ third_party/libvpx #Use of private headers
third_party/libvpx/source/libvpx/third_party/x86inc
third_party/libwebm
third_party/libx11/src
third_party/libxcb-keysyms/keysyms
third_party/libxml/chromium
- third_party/libyuv
+ third_party/libyuv #The version in Fedora is too old
third_party/libzip
third_party/lottie
third_party/lss
third_party/mako
- third_party/maldoca
- third_party/maldoca/src/third_party
+ #third_party/maldoca #integral part of chrome, but not used in electron.
+ #third_party/maldoca/src/third_party
third_party/markupsafe
third_party/mesa
third_party/metrics_proto
- third_party/minigbm
third_party/modp_b64
- third_party/nasm
- third_party/nearby
- third_party/node
+ third_party/nasm #TODO: Check how forked is this and if we can use the
system version
+ third_party/node #javascript code
third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
third_party/one_euro_filter
third_party/openscreen
@@ -300,7 +290,6 @@
third_party/pdfium/third_party/base
third_party/pdfium/third_party/bigint
third_party/pdfium/third_party/freetype
- third_party/pdfium/third_party/libtiff
third_party/pdfium/third_party/skia_shared
third_party/perfetto
third_party/perfetto/protos/third_party/chromium
@@ -309,45 +298,43 @@
third_party/polymer
third_party/private-join-and-compute
third_party/private_membership
- third_party/protobuf
+ third_party/protobuf #Heavily forked.
third_party/protobuf/third_party/six
third_party/pyjson5
third_party/qcms
- third_party/rnnoise
+ third_party/rnnoise #use of private headers
third_party/ruy
third_party/s2cellid
third_party/securemessage
third_party/shell-encryption
third_party/simplejson
- third_party/skia
+ third_party/skia #integral part of chrome
third_party/skia/include/third_party/skcms/
third_party/skia/include/third_party/vulkan/
third_party/skia/third_party/skcms
third_party/skia/third_party/vulkan
third_party/smhasher
- third_party/speech-dispatcher
- third_party/sqlite
+ third_party/speech-dispatcher #stub header for a dlopened library
+ third_party/sqlite #heavily forked version
third_party/swiftshader
- third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
- third_party/swiftshader/third_party/SPIRV-Tools
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
#FC36 too old
+ third_party/swiftshader/third_party/SPIRV-Tools #FC36 too old
third_party/swiftshader/third_party/astc-encoder
- third_party/swiftshader/third_party/llvm-10.0
third_party/swiftshader/third_party/llvm-subzero
third_party/swiftshader/third_party/marl
third_party/swiftshader/third_party/subzero
- third_party/tensorflow-text
- third_party/tflite
- third_party/tflite/src/third_party/eigen3
- third_party/tflite/src/third_party/fft2d
+ #third_party/tflite #Not used by electron, but chrome needs it.
+ #third_party/tflite/src/third_party/eigen3
+ #third_party/tflite/src/third_party/fft2d
third_party/ukey2
- third_party/usb_ids
+ third_party/usb_ids #TODO: Consider unbundling this, the version in chrome
is ancient
third_party/utf
third_party/vulkan
third_party/wayland
third_party/web-animations-js
third_party/webdriver
third_party/webgpu-cts
- third_party/webrtc
+ third_party/webrtc #Integral part of chrome
third_party/webrtc/common_audio/third_party/ooura
third_party/webrtc/common_audio/third_party/spl_sqrt_floor
third_party/webrtc/modules/third_party/fft
@@ -355,8 +342,7 @@
third_party/webrtc/modules/third_party/g722
third_party/webrtc/rtc_base/third_party/base64
third_party/webrtc/rtc_base/third_party/sigslot
- third_party/widevine
- third_party/woff2
+ third_party/widevine #Integral part of chrome. Needed.
third_party/wuffs
third_party/x11proto
third_party/xcbproto
@@ -381,6 +367,18 @@
# Remove generatted python bytecode
find . -type d -name __pycache__ -print0 | xargs -0 rm -rvf
find . -type f -name '*.pyc' -print -delete
+
+echo ">>>>>> Remove non-free binaries"
+find . -type f -name "*.node" -print -delete
+find . -type f -name "*.dll" -print -delete
+find . -type f -name "*.dylib" -print -delete
+find . -type f -name "*.so" -print -delete
+find . -type f -name "*.o" -print -delete
+find . -type f -name "*.a" -print -delete
+
+find -type f | xargs -P$(nproc) -- sh -c 'file "$@" | grep -v '\''
.*script'\'' | grep '\'' .*executable'\'' | tee /dev/stderr | sed '\''s/:
.*//'\'' | xargs rm -fv'
+
+
# Remove empty directories
find . -type d -empty -print -delete
popd || cleanup_and_exit 1
++++++ electron-19.0.8.tar.xz -> electron-19.0.9.tar.xz ++++++
/work/SRC/openSUSE:Factory/nodejs-electron/electron-19.0.8.tar.xz
/work/SRC/openSUSE:Factory/.nodejs-electron.new.1533/electron-19.0.9.tar.xz
differ: char 15, line 1
++++++ gcc-enable-lto.patch ++++++
--- /var/tmp/diff_new_pack.CaQfXq/_old 2022-08-02 22:09:18.949793919 +0200
+++ /var/tmp/diff_new_pack.CaQfXq/_new 2022-08-02 22:09:18.953793930 +0200
@@ -33,7 +33,7 @@
}
+config("gcc_lto") {
-+ cflags = [ "-flto" ]
++ cflags = [ "-flto=auto" ]
+}
+
config("default_stack_frames") {
++++++ system-gtest.patch ++++++
We don't need this huge test-only dependency in the tarball. Only one header is
needed in prod code, so unbundling is not a problem even on old targets.
--- a/testing/gtest/include/gtest/gtest_prod.h
+++ b/testing/gtest/include/gtest/gtest_prod.h
@@ -10,6 +10,6 @@
// and testing/gmock, instead of directly including files in
// third_party/googletest.
-#include "third_party/googletest/src/googletest/include/gtest/gtest_prod.h"
+#include <gtest/gtest_prod.h>
#endif // TESTING_GTEST_INCLUDE_GTEST_GTEST_PROD_H_
\ No newline at end of file