The package rpms/chromium.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/chromium.git/commit/?id=7fd8d4b5e....
Change:
-%ifarch x86_64 i686 aarch64
Thanks.
Full change:
============
commit d301a2158c78c5cd6d70d965beb92b9d9f3804ee
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Sun Jun 7 16:09:45 2020 -0400
moar python hax
diff --git a/chromium.spec b/chromium.spec
index 29c99c1..e8a8b7b 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -1373,7 +1373,7 @@ ulimit -n 4096
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
%endif
-export PYTHONPATH="../../third_party/pyjson5/src"
+export
PYTHONPATH="../../third_party/pyjson5/src:../../third_party/catapult/third_party/google-endpoints"
echo
# Now do the full browser
commit e71658a1e7ff803a8d3277697896ee54ddaa9785
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Sun Jun 7 13:12:41 2020 -0400
moar bundling
diff --git a/chromium.spec b/chromium.spec
index 2d176ec..29c99c1 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -1065,6 +1065,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'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/google-endpoints' \
'third_party/catapult/third_party/html5lib-python' \
'third_party/catapult/third_party/polymer' \
'third_party/catapult/third_party/six' \
commit 7680524736ab9959c61a6e1d93a7c144877553fb
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Sun Jun 7 11:00:02 2020 -0400
fixup vaapi i686 patch
diff --git a/chromium-83.0.4103.97-vaapi-i686-fpermissive.patch
b/chromium-83.0.4103.97-vaapi-i686-fpermissive.patch
new file mode 100644
index 0000000..74fbb7d
--- /dev/null
+++ b/chromium-83.0.4103.97-vaapi-i686-fpermissive.patch
@@ -0,0 +1,23 @@
+diff -up chromium-83.0.4103.97/media/gpu/vaapi/BUILD.gn.i686permissive
chromium-83.0.4103.97/media/gpu/vaapi/BUILD.gn
+--- chromium-83.0.4103.97/media/gpu/vaapi/BUILD.gn.i686permissive 2020-06-07
10:58:00.309383632 -0400
++++ chromium-83.0.4103.97/media/gpu/vaapi/BUILD.gn 2020-06-07 10:58:47.532340933 -0400
+@@ -13,6 +13,10 @@ import("//ui/ozone/ozone.gni")
+ assert(is_linux) # is_chromeos is a subset of is_linux
+ assert(use_vaapi)
+
++config("vaapi_permissive") {
++ cflags = [ "-fpermissive" ]
++}
++
+ generate_stubs("libva_stubs") {
+ extra_header = "va_stub_header.fragment"
+ sigs = [ "va.sigs" ]
+@@ -108,6 +112,8 @@ source_set("vaapi") {
+ ]
+ }
+
++ configs += [ ":vaapi_permissive" ]
++
+ if (use_x11) {
+ configs += [ "//build/config/linux:x11" ]
+ deps += [ "//ui/gfx/x" ]
diff --git a/chromium.spec b/chromium.spec
index c444c07..2d176ec 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -275,7 +275,7 @@ Patch102: chromium-80.0.3987.132-el7-noexcept.patch
# Enable VAAPI support on Linux
# NOTE: This patch will never land upstream
Patch202: enable-vaapi.patch
-Patch203: chromium-80.0.3987.122-vaapi-i686-fpermissive.patch
+Patch203: chromium-83.0.4103.97-vaapi-i686-fpermissive.patch
Patch205: chromium-81.0.4044.92-fix-vaapi-on-intel.patch
# Apply these patches to work around EPEL8 issues
commit 7fd8d4b5edac81cb4cdebe3470b8daafeb48ecaa
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Sun Jun 7 10:43:48 2020 -0400
83.0.4103.97
diff --git a/chromium-83-gcc-ozone-wayland.patch b/chromium-83-gcc-ozone-wayland.patch
new file mode 100644
index 0000000..5b2c81c
--- /dev/null
+++ b/chromium-83-gcc-ozone-wayland.patch
@@ -0,0 +1,12 @@
+diff -up
chromium-83.0.4103.61/ui/ozone/platform/wayland/host/xdg_surface_wrapper_impl.h.gcc-ozone-wayland
chromium-83.0.4103.61/ui/ozone/platform/wayland/host/xdg_surface_wrapper_impl.h
+---
chromium-83.0.4103.61/ui/ozone/platform/wayland/host/xdg_surface_wrapper_impl.h.gcc-ozone-wayland 2020-06-05
09:16:08.903282140 -0400
++++
chromium-83.0.4103.61/ui/ozone/platform/wayland/host/xdg_surface_wrapper_impl.h 2020-06-05
09:16:31.131863653 -0400
+@@ -68,7 +68,7 @@ class XDGSurfaceWrapperImpl : public She
+ static void CloseTopLevelV6(void* data,
+ struct zxdg_toplevel_v6* zxdg_toplevel_v6);
+
+- xdg_surface* xdg_surface() const;
++ struct xdg_surface* xdg_surface() const;
+ zxdg_surface_v6* zxdg_surface() const;
+
+ private:
diff --git a/chromium.spec b/chromium.spec
index bfb8776..c444c07 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -17,6 +17,9 @@
# We usually want this.
%global build_headless 1
+# This doesn't work and it doesn't even build as of Chromium 83
+%global build_remoting 0
+
# We'd like to always have this on.
%global use_vaapi 1
@@ -163,7 +166,7 @@ Name: chromium%{chromium_channel}%{nsuffix}
%else
Name: chromium%{chromium_channel}
%endif
-Version: %{majorversion}.0.4103.61
+Version: %{majorversion}.0.4103.97
Release: 1%{?dist}
%if %{?freeworld}
%if %{?shared}
@@ -260,6 +263,9 @@ Patch85: chromium-83-gcc-permissive.patch
Patch86: chromium-83-gcc-iterator.patch
#
https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
Patch87: chromium-83-gcc-serviceworker.patch
+#
https://chromium.googlesource.com/chromium/src/+/0d3ef4b1247f766eed37c546...
+Patch88: chromium-83-gcc-ozone-wayland.patch
+
# Use lstdc++ on EPEL7 only
Patch101: chromium-75.0.3770.100-epel7-stdc++.patch
@@ -744,6 +750,7 @@ Shared libraries used by the chromium media subsystem.
%endif
%endif
+%if %{build_remoting}
%package -n chrome-remote-desktop
Requires(pre): shadow-utils
Requires(post): systemd
@@ -760,6 +767,7 @@ Summary: Remote desktop support for google-chrome & chromium
%description -n chrome-remote-desktop
Remote desktop support for google-chrome & chromium.
+%endif
%package -n chromedriver
Summary: WebDriver for Google Chrome/Chromium
@@ -833,6 +841,7 @@ udev.
%patch85 -p1 -b .gcc-permissive
%patch86 -p1 -b .gcc-iterator2
%patch87 -p1 -b .gcc-serviceworker
+%patch88 -p1 -b .gcc-ozone-wayland
# Fedora branded user agent
%if 0%{?fedora}
@@ -944,7 +953,7 @@ CHROMIUM_CORE_GN_DEFINES+=' is_debug=false'
CHROMIUM_CORE_GN_DEFINES+=' system_libdir="lib64"'
%endif
CHROMIUM_CORE_GN_DEFINES+=' google_api_key="%{api_key}"
google_default_client_id="%{default_client_id}"
google_default_client_secret="%{default_client_secret}"'
-CHROMIUM_CORE_GN_DEFINES+=' is_clang=false use_sysroot=false use_gold=false
fieldtrial_testing_like_official_build=true use_lld=false
rtc_enable_symbol_export=true'
+CHROMIUM_CORE_GN_DEFINES+=' is_clang=false use_sysroot=false use_gold=false
fieldtrial_testing_like_official_build=true use_lld=false use_ozone=true
rtc_enable_symbol_export=true'
%if %{freeworld}
CHROMIUM_CORE_GN_DEFINES+=' ffmpeg_branding="ChromeOS"
proprietary_codecs=true'
%else
@@ -974,6 +983,7 @@ CHROMIUM_BROWSER_GN_DEFINES+=' is_component_ffmpeg=false
is_component_build=fals
CHROMIUM_BROWSER_GN_DEFINES+=' blink_symbol_level=0
enable_hangout_services_extension=true'
CHROMIUM_BROWSER_GN_DEFINES+=' use_aura=true'
CHROMIUM_BROWSER_GN_DEFINES+=' enable_widevine=true'
+CHROMIUM_BROWSER_GN_DEFINES+=' ozone_platform="x11"
ozone_platform_x11=true'
%if %{use_vaapi}
%if 0%{?fedora} >= 28
CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=true'
@@ -985,11 +995,11 @@ CHROMIUM_BROWSER_GN_DEFINES+=' rtc_use_pipewire=true
rtc_link_pipewire=true'
export CHROMIUM_BROWSER_GN_DEFINES
CHROMIUM_HEADLESS_GN_DEFINES=""
-CHROMIUM_HEADLESS_GN_DEFINES+=' use_ozone=true ozone_auto_platforms=false
ozone_platform="headless" ozone_platform_headless=true'
+CHROMIUM_HEADLESS_GN_DEFINES+=' ozone_auto_platforms=false
ozone_platform="headless" ozone_platform_headless=true'
CHROMIUM_HEADLESS_GN_DEFINES+=' headless_use_embedded_resources=true
icu_use_data_file=false v8_use_external_startup_data=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' enable_nacl=false enable_print_preview=false
enable_remoting=false use_alsa=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' use_cups=false use_dbus=false use_gio=false
use_kerberos=false use_libpci=false'
-CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false'
+CHROMIUM_HEADLESS_GN_DEFINES+=' use_pulseaudio=false use_udev=false
use_gtk=false'
export CHROMIUM_HEADLESS_GN_DEFINES
%if 0%{?rhel} == 7
@@ -1081,6 +1091,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/devtools-frontend/src/third_party/axe-core' \
'third_party/devtools-frontend/src/third_party/typescript' \
'third_party/devtools-frontend/src/front_end/third_party/fabricjs' \
+ 'third_party/devtools-frontend/src/front_end/third_party/lighthouse' \
'third_party/devtools-frontend/src/front_end/third_party/wasmparser' \
'third_party/dom_distiller_js' \
'third_party/emoji-segmenter' \
@@ -1134,6 +1145,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/libyuv' \
'third_party/lss' \
'third_party/lzma_sdk' \
+ 'third_party/mako' \
%if 0%{?bundlepylibs}
'third_party/markupsafe' \
%endif
@@ -1176,6 +1188,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
%endif
'third_party/rnnoise' \
'third_party/s2cellid' \
+ 'third_party/schema_org' \
'third_party/simplejson' \
'third_party/sinonjs' \
'third_party/skia' \
@@ -1190,6 +1203,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/SPIRV-Tools' \
'third_party/sqlite' \
'third_party/swiftshader' \
+ 'third_party/swiftshader/third_party/astc-encoder' \
'third_party/swiftshader/third_party/llvm-subzero' \
'third_party/swiftshader/third_party/llvm-7.0' \
'third_party/swiftshader/third_party/marl' \
@@ -1200,6 +1214,7 @@ build/linux/unbundle/remove_bundled_libraries.py \
'third_party/usb_ids' \
'third_party/usrsctp' \
'third_party/vulkan' \
+ 'third_party/wayland' \
'third_party/web-animations-js' \
'third_party/webdriver' \
'third_party/webrtc' \
@@ -1327,7 +1342,9 @@ tools/gn/bootstrap/bootstrap.py -v --no-clean
--gn-gen-args="$CHROMIUM_CORE_GN_D
%endif
%endif
+%if %{build_remoting}
%{builddir}/gn --script-executable=/usr/bin/python2 gen
--args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES"
%{remotingbuilddir}
+%endif
%if %{bundlelibusbx}
# no hackity hack hack
@@ -1373,173 +1390,175 @@ echo
%build_target %{builddir} clear_key_cdm
%build_target %{builddir} policy_templates
+%if %{build_remoting}
# remote client
# ../../depot_tools/ninja -C ../%{builddir} -vvv remoting_me2me_host remoting_start_host
remoting_it2me_native_messaging_host remoting_me2me_native_messaging_host
remoting_native_messaging_manifests remoting_resources
%build_target %{remotingbuilddir} remoting_all
%endif
+%endif
%install
rm -rf %{buildroot}
%if 0%{freeworld}
-mkdir -p %{buildroot}%{chromium_path}
-
-pushd %{builddir}
-cp -a libffmpeg.so* %{buildroot}%{chromium_path}
-cp -a libmedia.so* %{buildroot}%{chromium_path}
-mv %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}}
-mv %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}}
-mv %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}}
-mv %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}}
-popd
-%else
-mkdir -p %{buildroot}%{_bindir}
-mkdir -p %{buildroot}%{chromium_path}
-cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-export BUILD_TARGET=`cat /etc/redhat-release`
-export CHROMIUM_PATH=%{chromium_path}
-export CHROMIUM_BROWSER_CHANNEL=%{chromium_browser_channel}
-sed -i "s|@@BUILD_TARGET@@|$BUILD_TARGET|g"
%{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-sed -i "s|@@CHROMIUM_PATH@@|$CHROMIUM_PATH|g"
%{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g"
%{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-%if "%{chromium_channel}" == "%%{nil}"
-sed -i "s|@@EXTRA_FLAGS@@||g"
%{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-%else
-# Enable debug outputs for beta and dev channels
-export EXTRA_FLAGS="--enable-logging=stderr --v=2"
-sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g"
%{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
-%endif
-
-ln -s %{chromium_path}/%{chromium_browser_channel}.sh
%{buildroot}%{_bindir}/%{chromium_browser_channel}
-mkdir -p %{buildroot}%{_mandir}/man1/
-
-pushd %{builddir}
-cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path}
-# Reasonably sure we don't need this anymore. Chrome doesn't include it.
-%if 0
-cp -a protoc pyproto %{buildroot}%{chromium_path}
-%endif
-%ifarch x86_64 i686 aarch64
-cp -a swiftshader %{buildroot}%{chromium_path}
-%endif
-cp -a chrome %{buildroot}%{chromium_path}/%{chromium_browser_channel}
-cp -a chrome_sandbox %{buildroot}%{chromium_path}/chrome-sandbox
-cp -a ../../chrome/app/resources/manpage.1.in
%{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
-sed -i "s|@@PACKAGE@@|%{chromium_browser_channel}|g"
%{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
-sed -i "s|@@MENUNAME@@|%{chromium_menu_name}|g"
%{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
-# V8 initial snapshots
-#
https://code.google.com/p/chromium/issues/detail?id=421063
-cp -a snapshot_blob.bin %{buildroot}%{chromium_path}
-cp -a v8_context_snapshot.bin %{buildroot}%{chromium_path}
-cp -a xdg-mime xdg-settings %{buildroot}%{chromium_path}
-cp -a MEIPreload %{buildroot}%{chromium_path}
-%if 0%{?shared}
-cp -a lib*.so* %{buildroot}%{chromium_path}
-# cp -p %%{buildroot}%{chromium_path}/libwidevinecdm.so{,.fedora}
-cp -p %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}}
-cp -p %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}}
-cp -p %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}}
-cp -p %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}}
-%endif
-
-# chromedriver
-cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver
-ln -s %{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
-
-# Remote desktop bits
-mkdir -p %{buildroot}%{crd_path}
-
-%if 0%{?shared}
-pushd %{buildroot}%{crd_path}
-for i in ../chromium-browser%{?chromium_channel}/lib*.so; do
- libname=`basename $i`
- ln -s $i $libname
-done
-popd
-%endif
-popd
-
-pushd %{remotingbuilddir}
-
-# See remoting/host/installer/linux/Makefile for logic
-cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host
-cp -a remote_assistance_host %{buildroot}%{crd_path}/remote-assistance-host
-cp -a remoting_locales %{buildroot}%{crd_path}/
-cp -a remoting_me2me_host %{buildroot}%{crd_path}/chrome-remote-desktop-host
-cp -a remoting_start_host %{buildroot}%{crd_path}/start-host
-cp -a remoting_user_session %{buildroot}%{crd_path}/user-session
-chmod +s %{buildroot}%{crd_path}/user-session
-
-# chromium
-mkdir -p %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts
-# google-chrome
-mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/
-cp -a remoting/* %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/
-for i in %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/*.json; do
- sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' $i
-done
-mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
-pushd %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
-for i in ../../../chromium/native-messaging-hosts/*; do
-# rpm gets unhappy when we symlink here
- cp -a $i .
-done
-popd
-popd
-
-mkdir -p %{buildroot}/var/lib/chrome-remote-desktop
-touch %{buildroot}/var/lib/chrome-remote-desktop/hashes
-
-mkdir -p %{buildroot}%{_sysconfdir}/pam.d/
-pushd %{buildroot}%{_sysconfdir}/pam.d/
-ln -s system-auth chrome-remote-desktop
-popd
-
-%if %{build_headless}
-pushd %{headlessbuilddir}
-cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path}
-popd
-%endif
-
-cp -a remoting/host/linux/linux_me2me_host.py
%{buildroot}%{crd_path}/chrome-remote-desktop
-cp -a remoting/host/installer/linux/is-remoting-session %{buildroot}%{crd_path}/
-
-mkdir -p %{buildroot}%{_unitdir}
-cp -a %{SOURCE11} %{buildroot}%{_unitdir}/
-sed -i 's|@@CRD_PATH@@|%{crd_path}|g'
%{buildroot}%{_unitdir}/chrome-remote-desktop@.service
-
-# Add directories for policy management
-mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/managed
-mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/recommended
-
-cp -a out/Release/gen/chrome/app/policy/common/html/en-US/*.html .
-cp -a out/Release/gen/chrome/app/policy/linux/examples/chrome.json .
-
-mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps
-cp -a chrome/app/theme/chromium/product_logo_256.png
%{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{chromium_browser_channel}.png
-mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps
-cp -a chrome/app/theme/chromium/product_logo_128.png
%{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{chromium_browser_channel}.png
-mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps
-cp -a chrome/app/theme/chromium/product_logo_64.png
%{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{chromium_browser_channel}.png
-mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps
-cp -a chrome/app/theme/chromium/product_logo_48.png
%{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png
-mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps
-cp -a chrome/app/theme/chromium/product_logo_24.png
%{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png
-
-# Install the master_preferences file
-mkdir -p %{buildroot}%{_sysconfdir}/%{name}
-install -m 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/%{name}/
-
-mkdir -p %{buildroot}%{_datadir}/applications/
-desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4}
-
-install -D -m0644
chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml
${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml
-appstream-util validate-relax --nonet
${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml
-
-mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/
-cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/
-
-mkdir -p %{buildroot}%{chromium_path}/PepperFlash
+ mkdir -p %{buildroot}%{chromium_path}
+
+ pushd %{builddir}
+ cp -a libffmpeg.so* %{buildroot}%{chromium_path}
+ cp -a libmedia.so* %{buildroot}%{chromium_path}
+ mv %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}}
+ mv %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}}
+ mv %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}}
+ mv %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}}
+ popd
+%else
+ mkdir -p %{buildroot}%{_bindir}
+ mkdir -p %{buildroot}%{chromium_path}
+ cp -a %{SOURCE3} %{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ export BUILD_TARGET=`cat /etc/redhat-release`
+ export CHROMIUM_PATH=%{chromium_path}
+ export CHROMIUM_BROWSER_CHANNEL=%{chromium_browser_channel}
+ sed -i "s|@@BUILD_TARGET@@|$BUILD_TARGET|g"
%{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ sed -i "s|@@CHROMIUM_PATH@@|$CHROMIUM_PATH|g"
%{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ sed -i "s|@@CHROMIUM_BROWSER_CHANNEL@@|$CHROMIUM_BROWSER_CHANNEL|g"
%{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ %if "%{chromium_channel}" == "%%{nil}"
+ sed -i "s|@@EXTRA_FLAGS@@||g"
%{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ %else
+ # Enable debug outputs for beta and dev channels
+ export EXTRA_FLAGS="--enable-logging=stderr --v=2"
+ sed -i "s|@@EXTRA_FLAGS@@|$EXTRA_FLAGS|g"
%{buildroot}%{chromium_path}/%{chromium_browser_channel}.sh
+ %endif
+
+ ln -s %{chromium_path}/%{chromium_browser_channel}.sh
%{buildroot}%{_bindir}/%{chromium_browser_channel}
+ mkdir -p %{buildroot}%{_mandir}/man1/
+
+ pushd %{builddir}
+ cp -a *.pak locales resources icudtl.dat %{buildroot}%{chromium_path}
+ %ifarch x86_64 i686 aarch64
+ cp -a swiftshader %{buildroot}%{chromium_path}
+ %endif
+ cp -a chrome %{buildroot}%{chromium_path}/%{chromium_browser_channel}
+ cp -a chrome_sandbox %{buildroot}%{chromium_path}/chrome-sandbox
+ cp -a ../../chrome/app/resources/manpage.1.in
%{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
+ sed -i "s|@@PACKAGE@@|%{chromium_browser_channel}|g"
%{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
+ sed -i "s|@@MENUNAME@@|%{chromium_menu_name}|g"
%{buildroot}%{_mandir}/man1/%{chromium_browser_channel}.1
+ # V8 initial snapshots
+ #
https://code.google.com/p/chromium/issues/detail?id=421063
+ cp -a snapshot_blob.bin %{buildroot}%{chromium_path}
+ cp -a v8_context_snapshot.bin %{buildroot}%{chromium_path}
+ cp -a xdg-mime xdg-settings %{buildroot}%{chromium_path}
+ cp -a MEIPreload %{buildroot}%{chromium_path}
+ %if 0%{?shared}
+ cp -a lib*.so* %{buildroot}%{chromium_path}
+ # cp -p %%{buildroot}%{chromium_path}/libwidevinecdm.so{,.fedora}
+ cp -p %{buildroot}%{chromium_path}/libffmpeg.so{,.%{lsuffix}}
+ cp -p %{buildroot}%{chromium_path}/libffmpeg.so.TOC{,.%{lsuffix}}
+ cp -p %{buildroot}%{chromium_path}/libmedia.so{,.%{lsuffix}}
+ cp -p %{buildroot}%{chromium_path}/libmedia.so.TOC{,.%{lsuffix}}
+ %endif
+
+ # chromedriver
+ cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver
+ ln -s %{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
+
+ %if %{build_remoting}
+ # Remote desktop bits
+ mkdir -p %{buildroot}%{crd_path}
+
+ %if 0%{?shared}
+ pushd %{buildroot}%{crd_path}
+ for i in ../chromium-browser%{?chromium_channel}/lib*.so; do
+ libname=`basename $i`
+ ln -s $i $libname
+ done
+ popd
+ %endif
+ %endif
+ popd
+ %if %{build_remoting}
+ pushd %{remotingbuilddir}
+
+ # See remoting/host/installer/linux/Makefile for logic
+ cp -a remoting_native_messaging_host %{buildroot}%{crd_path}/native-messaging-host
+ cp -a remote_assistance_host %{buildroot}%{crd_path}/remote-assistance-host
+ cp -a remoting_locales %{buildroot}%{crd_path}/
+ cp -a remoting_me2me_host %{buildroot}%{crd_path}/chrome-remote-desktop-host
+ cp -a remoting_start_host %{buildroot}%{crd_path}/start-host
+ cp -a remoting_user_session %{buildroot}%{crd_path}/user-session
+ chmod +s %{buildroot}%{crd_path}/user-session
+
+ # chromium
+ mkdir -p %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts
+ # google-chrome
+ mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/
+ cp -a remoting/* %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/
+ for i in %{buildroot}%{_sysconfdir}/chromium/native-messaging-hosts/*.json; do
+ sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' $i
+ done
+ mkdir -p %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
+ pushd %{buildroot}%{_sysconfdir}/opt/chrome/native-messaging-hosts
+ for i in ../../../chromium/native-messaging-hosts/*; do
+ # rpm gets unhappy when we symlink here
+ cp -a $i .
+ done
+ popd
+ popd
+
+ mkdir -p %{buildroot}/var/lib/chrome-remote-desktop
+ touch %{buildroot}/var/lib/chrome-remote-desktop/hashes
+
+ mkdir -p %{buildroot}%{_sysconfdir}/pam.d/
+ pushd %{buildroot}%{_sysconfdir}/pam.d/
+ ln -s system-auth chrome-remote-desktop
+ %endif
+
+ %if %{build_headless}
+ pushd %{headlessbuilddir}
+ cp -a headless_lib.pak headless_shell %{buildroot}%{chromium_path}
+ popd
+ %endif
+
+ %if %{build_remoting}
+ cp -a remoting/host/linux/linux_me2me_host.py
%{buildroot}%{crd_path}/chrome-remote-desktop
+ cp -a remoting/host/installer/linux/is-remoting-session %{buildroot}%{crd_path}/
+
+ mkdir -p %{buildroot}%{_unitdir}
+ cp -a %{SOURCE11} %{buildroot}%{_unitdir}/
+ sed -i 's|@@CRD_PATH@@|%{crd_path}|g'
%{buildroot}%{_unitdir}/chrome-remote-desktop@.service
+ %endif
+
+ # Add directories for policy management
+ mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/managed
+ mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/recommended
+
+ cp -a out/Release/gen/chrome/app/policy/common/html/en-US/*.html .
+ cp -a out/Release/gen/chrome/app/policy/linux/examples/chrome.json .
+
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps
+ cp -a chrome/app/theme/chromium/product_logo_256.png
%{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{chromium_browser_channel}.png
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps
+ cp -a chrome/app/theme/chromium/product_logo_128.png
%{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{chromium_browser_channel}.png
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps
+ cp -a chrome/app/theme/chromium/product_logo_64.png
%{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{chromium_browser_channel}.png
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps
+ cp -a chrome/app/theme/chromium/product_logo_48.png
%{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{chromium_browser_channel}.png
+ mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps
+ cp -a chrome/app/theme/chromium/product_logo_24.png
%{buildroot}%{_datadir}/icons/hicolor/24x24/apps/%{chromium_browser_channel}.png
+
+ # Install the master_preferences file
+ mkdir -p %{buildroot}%{_sysconfdir}/%{name}
+ install -m 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/%{name}/
+
+ mkdir -p %{buildroot}%{_datadir}/applications/
+ desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4}
+
+ install -D -m0644
chrome/installer/linux/common/chromium-browser/chromium-browser.appdata.xml
${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml
+ appstream-util validate-relax --nonet
${RPM_BUILD_ROOT}%{_datadir}/metainfo/%{chromium_browser_channel}.appdata.xml
+
+ mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/
+ cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/
+
+ mkdir -p %{buildroot}%{chromium_path}/PepperFlash
# freeworld conditional
%endif
@@ -1554,12 +1573,14 @@ if selinuxenabled; then
restorecon -R -v %{chromium_path}/%{chromium_browser_channel} &>/dev/null || :
fi
+%if %{build_remoting}
%pretrans -n chrome-remote-desktop -p <lua>
path = "/etc/opt/chrome/native-messaging-hosts"
st = posix.stat(path)
if st and st.type == "link" then
os.remove(path)
end
+%endif
%if %{shared}
%if %{freeworld}
@@ -1599,6 +1620,7 @@ fi
%endif
%endif
+%if %{build_remoting}
%pre -n chrome-remote-desktop
getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-desktop
@@ -1610,6 +1632,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r
chrome-remote-deskt
%postun -n chrome-remote-desktop
%systemd_postun_with_restart chrome-remote-desktop@.service
+%endif
%if 0%{freeworld}
# We only build libs-media-freeworld.
@@ -1731,6 +1754,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r
chrome-remote-deskt
%{chromium_path}/lib*.so*
%endif
+%if %{build_remoting}
%files -n chrome-remote-desktop
%{crd_path}/chrome-remote-desktop
%{crd_path}/chrome-remote-desktop-host
@@ -1748,6 +1772,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r
chrome-remote-deskt
%{crd_path}/user-session
%{_unitdir}/chrome-remote-desktop@.service
/var/lib/chrome-remote-desktop/
+%endif
%files -n chromedriver
%doc AUTHORS
@@ -1771,8 +1796,12 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r
chrome-remote-deskt
%changelog
+* Sun Jun 7 2020 Tom Callaway <spot(a)fedoraproject.org> - 83.0.4103.97-1
+- update to 83.0.4103.97
+
* Tue Jun 2 2020 Tom Callaway <spot(a)fedoraproject.org> - 83.0.4103.61-1
- update to 83.0.4103.61
+- conditionalize and disable remoting
* Thu May 7 2020 Tom Callaway <spot(a)fedoraproject.org> - 81.0.4044.138-1
- update to 81.0.4044.138
diff --git a/sources b/sources
index 6377866..55b9f3e 100644
--- a/sources
+++ b/sources
@@ -17,5 +17,4 @@ SHA512 (Tinos-Italic.ttf) =
d4f4f096110ef98a781a2a0e0d319317e5f84e650fe6f4d4f6b0
SHA512 (Tinos-Regular.ttf) =
58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb8746a5e5fa1a6f6daa62750dc2051b3b2d8a51b4d2e9bb0f66594caf2253c0870ed9c7286fa45e8f
SHA512 (Ahem.ttf) =
aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd
SHA512 (node-v10.15.3-linux-x64.tar.gz) =
5eb544ef706562981340a82acc79e2162c6a3e4049b4a95f69ce353ee5b0f929c60b1fc457e8249b3fb0696f82fc28c5f543f5947db19fae4e9d5c21b906bb20
-SHA512 (chromium-81.0.4044.138-clean.tar.xz) =
24c52a2b5973896ff823e989e92747fb3d71fed74a38eb970efd74492d1f980c9135334ec2c74cdafb1edc91d66d7195e66bb6ac38cb201cb3e08386e26665eb
-SHA512 (chromium-83.0.4103.61-clean.tar.xz) =
8a7c31e5de0dae571b402afac81eaa8ed21886f20a4f463ea2ed6e1007a6e80aa8334e001370f7245d46e94839dd249fc4bebab055b1e315bf98d26f57191d03
+SHA512 (chromium-83.0.4103.97-clean.tar.xz) =
00abd69dd041613e5cd3ad6c41f51013b05405b6f19e6b1acfc9709d738ac8c2adcfc67b64801f6583270a58849e2690e91b2ebcaf3b82a25b381b580426c1a4
commit 4f9d92dcdfd2750ccd7911b2a3be73fa4a01263e
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Tue Jun 2 16:41:45 2020 -0400
83
diff --git a/chromium-80.0.3987.87-missing-cstdint-header.patch
b/chromium-80.0.3987.87-missing-cstdint-header.patch
index 755bff5..abeafa5 100644
--- a/chromium-80.0.3987.87-missing-cstdint-header.patch
+++ b/chromium-80.0.3987.87-missing-cstdint-header.patch
@@ -1,14 +1,3 @@
-diff -up
chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h.missing-cstdint
chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h
----
chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h.missing-cstdint 2020-02-21
12:29:43.393191877 -0500
-+++
chromium-80.0.3987.106/third_party/perfetto/include/perfetto/base/task_runner.h 2020-02-21
12:29:43.393191877 -0500
-@@ -17,6 +17,7 @@
- #ifndef INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_
- #define INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_
-
-+#include <cstdint>
- #include <functional>
-
- #include "perfetto/base/export.h"
diff -up
chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h.missing-cstdint
chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h
---
chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h.missing-cstdint 2020-02-21
12:30:30.739332871 -0500
+++ chromium-80.0.3987.106/third_party/webrtc/call/rtx_receive_stream.h 2020-02-21
12:30:30.747332725 -0500
diff --git a/chromium-82-gcc-incomplete-type.patch
b/chromium-82-gcc-incomplete-type.patch
new file mode 100644
index 0000000..a339340
--- /dev/null
+++ b/chromium-82-gcc-incomplete-type.patch
@@ -0,0 +1,53 @@
+From c0b32910da192edf1b41eb52c088d0213ab2807a Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Sun, 05 Apr 2020 08:29:21 +0000
+Subject: [PATCH] libstdc++: fix incomplete-type in AXTree for NodeSetSizePosInSetInfo
+
+std::unordered_map<T, U> requires U to be fully declared. ax_tree.h
+has only forward declaration of NodeSetSizePosInSetInfo. Therefore,
+move declaration from ax_tree.cc.
+Bug: 957519
+Change-Id: Ic1f4bf3ebfea229ece84251e46d4461b31873868
+---
+
+diff --git a/ui/accessibility/ax_tree.cc b/ui/accessibility/ax_tree.cc
+index 7b8d9b1..e915402 100644
+--- a/ui/accessibility/ax_tree.cc
++++ b/ui/accessibility/ax_tree.cc
+@@ -567,14 +567,8 @@
+ const AXTree& tree;
+ };
+
+-struct AXTree::NodeSetSizePosInSetInfo {
+- NodeSetSizePosInSetInfo() = default;
+- ~NodeSetSizePosInSetInfo() = default;
+-
+- int32_t pos_in_set = 0;
+- int32_t set_size = 0;
+- base::Optional<int> lowest_hierarchical_level;
+-};
++AXTree::NodeSetSizePosInSetInfo::NodeSetSizePosInSetInfo() = default;
++AXTree::NodeSetSizePosInSetInfo::~NodeSetSizePosInSetInfo() = default;
+
+ struct AXTree::OrderedSetContent {
+ explicit OrderedSetContent(const AXNode* ordered_set = nullptr)
+diff --git a/ui/accessibility/ax_tree.h b/ui/accessibility/ax_tree.h
+index a51ca8d..8c1c575 100644
+--- a/ui/accessibility/ax_tree.h
++++ b/ui/accessibility/ax_tree.h
+@@ -328,7 +328,14 @@
+ bool enable_extra_mac_nodes_ = false;
+
+ // Contains pos_in_set and set_size data for an AXNode.
+- struct NodeSetSizePosInSetInfo;
++ struct NodeSetSizePosInSetInfo {
++ NodeSetSizePosInSetInfo();
++ ~NodeSetSizePosInSetInfo();
++
++ int32_t pos_in_set = 0;
++ int32_t set_size = 0;
++ base::Optional<int> lowest_hierarchical_level;
++ };
+
+ // Represents the content of an ordered set which includes the ordered set
+ // items and the ordered set container if it exists.
diff --git a/chromium-82-gcc-iterator.patch b/chromium-82-gcc-iterator.patch
new file mode 100644
index 0000000..6405d52
--- /dev/null
+++ b/chromium-82-gcc-iterator.patch
@@ -0,0 +1,23 @@
+diff --git a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
+index b3c7624..85936aa 100644
+--- a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
++++ b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
+@@ -5,6 +5,8 @@
+ #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_NG_PHYSICAL_CONTAINER_FRAGMENT_H_
+ #define THIRD_PARTY_BLINK_RENDERER_CORE_LAYOUT_NG_NG_PHYSICAL_CONTAINER_FRAGMENT_H_
+
++#include <iterator>
++
+ #include "base/containers/span.h"
+ #include "third_party/blink/renderer/core/core_export.h"
+ #include "third_party/blink/renderer/core/layout/geometry/physical_rect.h"
+@@ -31,7 +33,8 @@ class CORE_EXPORT NGPhysicalContainerFragment : public
NGPhysicalFragment {
+ PostLayoutChildLinkList(wtf_size_t count, const NGLink* buffer)
+ : count_(count), buffer_(buffer) {}
+
+- class ConstIterator {
++ class ConstIterator : public std::iterator<std::input_iterator_tag,
++ NGLink> {
+ STACK_ALLOCATED();
+
+ public:
diff --git a/chromium-82-gcc-noexcept.patch b/chromium-82-gcc-noexcept.patch
new file mode 100644
index 0000000..1c7de53
--- /dev/null
+++ b/chromium-82-gcc-noexcept.patch
@@ -0,0 +1,35 @@
+diff --git a/ui/color/color_set.cc b/ui/color/color_set.cc
+index 56564d7..2798a3c 100644
+--- a/ui/color/color_set.cc
++++ b/ui/color/color_set.cc
+@@ -11,7 +11,7 @@ ColorSet::ColorSet(ColorSetId id, ColorMap&& colors)
+
+ ColorSet::ColorSet(ColorSet&&) noexcept = default;
+
+-ColorSet& ColorSet::operator=(ColorSet&&) noexcept = default;
++ColorSet& ColorSet::operator=(ColorSet&&) = default;
+
+ ColorSet::~ColorSet() = default;
+
+diff --git a/third_party/blink/public/platform/cross_variant_mojo_util.h
b/third_party/blink/public/platform/cross_variant_mojo_util.h
+index dee0b95..0c83580 100644
+--- a/third_party/blink/public/platform/cross_variant_mojo_util.h
++++ b/third_party/blink/public/platform/cross_variant_mojo_util.h
+@@ -124,7 +124,7 @@ class CrossVariantMojoAssociatedReceiver {
+ ~CrossVariantMojoAssociatedReceiver() = default;
+
+ CrossVariantMojoAssociatedReceiver(
+- CrossVariantMojoAssociatedReceiver&&) noexcept = default;
++ CrossVariantMojoAssociatedReceiver&&) = default;
+ CrossVariantMojoAssociatedReceiver& operator=(
+ CrossVariantMojoAssociatedReceiver&&) noexcept = default;
+
+@@ -155,7 +155,7 @@ class CrossVariantMojoAssociatedRemote {
+ ~CrossVariantMojoAssociatedRemote() = default;
+
+ CrossVariantMojoAssociatedRemote(
+- CrossVariantMojoAssociatedRemote&&) noexcept = default;
++ CrossVariantMojoAssociatedRemote&&) = default;
+ CrossVariantMojoAssociatedRemote& operator=(
+ CrossVariantMojoAssociatedRemote&&) noexcept = default;
+
diff --git a/chromium-82-gcc-template.patch b/chromium-82-gcc-template.patch
new file mode 100644
index 0000000..90909c5
--- /dev/null
+++ b/chromium-82-gcc-template.patch
@@ -0,0 +1,50 @@
+diff --git a/content/public/browser/web_ui.h b/content/public/browser/web_ui.h
+index 4e6aa0e..fa6f10c 100644
+--- a/content/public/browser/web_ui.h
++++ b/content/public/browser/web_ui.h
+@@ -138,22 +138,6 @@ class CONTENT_EXPORT WebUI {
+ template <typename T>
+ static T GetValue(const base::Value& value);
+
+- template <>
+- inline bool GetValue<bool>(const base::Value& value) {
+- return value.GetBool();
+- }
+-
+- template <>
+- inline int GetValue<int>(const base::Value& value) {
+- return value.GetInt();
+- }
+-
+- template <>
+- inline const std::string& GetValue<const std::string&>(
+- const base::Value& value) {
+- return value.GetString();
+- }
+-
+ template <typename Is, typename... Args>
+ struct Call;
+
+@@ -169,6 +153,22 @@ class CONTENT_EXPORT WebUI {
+ };
+ };
+
++template <>
++inline bool WebUI::GetValue<bool>(const base::Value& value) {
++ return value.GetBool();
++}
++
++template <>
++inline int WebUI::GetValue<int>(const base::Value& value) {
++ return value.GetInt();
++}
++
++template <>
++inline const std::string& WebUI::GetValue<const std::string&>(
++ const base::Value& value) {
++ return value.GetString();
++}
++
+ } // namespace content
+
+ #endif // CONTENT_PUBLIC_BROWSER_WEB_UI_H_
diff --git a/chromium-83-gcc-include.patch b/chromium-83-gcc-include.patch
new file mode 100644
index 0000000..9c405e8
--- /dev/null
+++ b/chromium-83-gcc-include.patch
@@ -0,0 +1,75 @@
+From 3681c96f54b34f60493cbbf5ec830f158e469799 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Thu, 2 Apr 2020 14:35:44 +0000
+Subject: [PATCH] IWYU: std::find is defined in algorithm
+
+---
+ extensions/browser/install/crx_install_error.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/extensions/browser/install/crx_install_error.cc
b/extensions/browser/install/crx_install_error.cc
+index a9765bb..bd0d3e3 100644
+--- a/extensions/browser/install/crx_install_error.cc
++++ b/extensions/browser/install/crx_install_error.cc
+@@ -4,6 +4,8 @@
+
+ #include "extensions/browser/install/crx_install_error.h"
+
++#include <algorithm>
++
+ #include "base/logging.h"
+ #include "extensions/browser/install/sandboxed_unpacker_failure_reason.h"
+
+--
+2.24.1
+
+From 80044e30e0014c4c322178e4b56ddbb10eede304 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Thu, 9 Apr 2020 17:58:06 +0000
+Subject: [PATCH] IWYU: std::unique_ptr is defined in memory
+
+---
+ .../blink/renderer/core/html/trust_token_attribute_parsing.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
+index f5a7ab0..ef19cfa 100644
+--- a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
++++ b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
+@@ -5,6 +5,8 @@
+ #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_
+ #define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_
+
++#include <memory>
++
+ #include "base/optional.h"
+ #include "services/network/public/mojom/trust_tokens.mojom-blink-forward.h"
+ #include "third_party/blink/renderer/core/core_export.h"
+--
+2.24.1
+
+From 4f4d0a6d453bc22a6397dadaf6d866b4eb2d6b95 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Fri, 10 Apr 2020 08:31:08 +0000
+Subject: [PATCH] IWYU: std::numeric_limits is defined in limits
+
+---
+ .../graph/policies/background_tab_loading_policy_helpers.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git
a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc
b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc
+index 6ab117b..43aa602 100644
+---
a/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc
++++
b/chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc
+@@ -2,6 +2,8 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
++#include <limits>
++
+ #include
"chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.h"
+ #include "base/logging.h"
+
+--
+2.24.1
+
diff --git a/chromium-83-gcc-iterator.patch b/chromium-83-gcc-iterator.patch
new file mode 100644
index 0000000..3df0327
--- /dev/null
+++ b/chromium-83-gcc-iterator.patch
@@ -0,0 +1,41 @@
+From 4abcf0a76a7cb5c343be7d17c60cb908f3673c3d Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Thu, 9 Apr 2020 17:03:38 +0000
+Subject: [PATCH] libstdc++: replace std::any_of in blink::SerializedScriptValue
+
+Use of std::any_of requires STL compliant iterator. However,
+HashTableIterator does not define iterator_tag and therefore
+is no STL iterator.
+---
+ .../core/v8/serialization/serialized_script_value.h | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+diff --git
a/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h
b/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h
+index bbf10ef..53d98c9 100644
+---
a/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h
++++
b/third_party/blink/renderer/bindings/core/v8/serialization/serialized_script_value.h
+@@ -268,12 +268,17 @@ class CORE_EXPORT SerializedScriptValue
+ MessagePortChannelArray& GetStreamChannels() { return stream_channels_; }
+
+ bool IsLockedToAgentCluster() const {
++ auto AnyOfIsLockedToAgentCluster = [&]() {
++ for (auto entry = attachments_.begin();
++ entry != attachments_.end(); ++entry) {
++ if (entry->value->IsLockedToAgentCluster())
++ return true;
++ }
++ return false;
++ };
+ return !wasm_modules_.IsEmpty() ||
+ !shared_array_buffers_contents_.IsEmpty() ||
+- std::any_of(attachments_.begin(), attachments_.end(),
+- [](const auto& entry) {
+- return entry.value->IsLockedToAgentCluster();
+- });
++ AnyOfIsLockedToAgentCluster();
+ }
+
+ // Returns true after serializing script values that remote origins cannot
+--
+2.24.1
+
diff --git a/chromium-83-gcc-permissive.patch b/chromium-83-gcc-permissive.patch
new file mode 100644
index 0000000..a87f1c4
--- /dev/null
+++ b/chromium-83-gcc-permissive.patch
@@ -0,0 +1,31 @@
+From fdf2767e8dc54727c9536a4d39d230a959e3698c Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Thu, 2 Apr 2020 16:16:14 +0000
+Subject: [PATCH] GCC: add missing apps namespace to BrowserAppLauncher
+
+GCC does not get namespace of BrowserAppLauncher right and
+fails like this:
+
+chrome/browser/apps/app_service/app_service_proxy.h:82:23: error:
+declaration of 'apps::BrowserAppLauncher&
+apps::AppServiceProxy::BrowserAppLauncher()' changes meaning of
+'BrowserAppLauncher' [-fpermissive]
+---
+ chrome/browser/apps/app_service/app_service_proxy.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/chrome/browser/apps/app_service/app_service_proxy.h
b/chrome/browser/apps/app_service/app_service_proxy.h
+index b7fff63..1ecd49d 100644
+--- a/chrome/browser/apps/app_service/app_service_proxy.h
++++ b/chrome/browser/apps/app_service/app_service_proxy.h
+@@ -79,7 +79,7 @@ class AppServiceProxy : public KeyedService,
+ apps::InstanceRegistry& InstanceRegistry();
+ #endif
+
+- BrowserAppLauncher& BrowserAppLauncher();
++ apps::BrowserAppLauncher& BrowserAppLauncher();
+
+ apps::PreferredAppsList& PreferredApps();
+
+--
+2.24.1
diff --git a/chromium-83-gcc-serviceworker.patch b/chromium-83-gcc-serviceworker.patch
new file mode 100644
index 0000000..a836e7f
--- /dev/null
+++ b/chromium-83-gcc-serviceworker.patch
@@ -0,0 +1,130 @@
+From 0914a38252f205fc04fa50e858b24fa5f535ab11 Mon Sep 17 00:00:00 2001
+From: Hiroki Nakagawa <nhiroki(a)chromium.org>
+Date: Wed, 29 Apr 2020 11:46:54 +0900
+Subject: [PATCH] ServiceWorker: Avoid double destruction of ServiceWorkerObjectHost on
connection error
+
+This CL avoids the case where ServiceWorkerObjectHost is destroyed twice
+on ServiceWorkerObjectHost::OnConnectionError() when Chromium is built
+with the GCC build toolchain.
+
+> How does the issue happen?
+
+ServiceWorkerObjectHost has a cyclic reference like this:
+
+ServiceWorkerObjectHost
+ --([1] scoped_refptr)--> ServiceWorkerVersion
+ --([2] std::unique_ptr)--> ServiceWorkerProviderHost
+ --([3] std::unique_ptr)--> ServiceWorkerContainerHost
+ --([4] std::unique_ptr)--> ServiceWorkerObjectHost
+
+Note that ServiceWorkerContainerHost manages ServiceWorkerObjectHost in
+map<int64_t version_id, std::unique_ptr<ServiceWorkerObjectHost>>.
+
+When ServiceWorkerObjectHost::OnConnectionError() is called, the
+function removes the reference [4] from the map, and destroys
+ServiceWorkerObjectHost. If the object host has the last reference [1]
+to ServiceWorkerVersion, the destruction also cuts off the references
+[2] and [3], and destroys ServiceWorkerProviderHost and
+ServiceWorkerContainerHost.
+
+This seems to work well on the Chromium's default toolchain, but not
+work on the GCC toolchain. According to the report, destruction of
+ServiceWorkerContainerHost happens while the map owned by the container
+host is erasing the ServiceWorkerObjectHost, and this results in crash
+due to double destruction of the object host.
+
+I don't know the reason why this happens only on the GCC toolchain, but
+I suspect the order of object destruction on std::map::erase() could be
+different depending on the toolchains.
+
+> How does this CL fix this?
+
+The ideal fix is to redesign the ownership model of
+ServiceWorkerVersion, but it's not feasible in the short term.
+
+Instead, this CL avoids destruction of ServiceWorkerObjectHost on
+std::map::erase(). The new code takes the ownership of the object host
+from the map first, and then erases the entry from the map. This
+separates timings to erase the map entry and to destroy the object host,
+so the crash should no longer happen.
+
+Bug: 1056598
+Change-Id: Id30654cb575bc557c42044d6f0c6f1f9bfaed613
+---
+
+diff --git a/content/browser/service_worker/service_worker_container_host.cc
b/content/browser/service_worker/service_worker_container_host.cc
+index c631bcd..ff917f8 100644
+--- a/content/browser/service_worker/service_worker_container_host.cc
++++ b/content/browser/service_worker/service_worker_container_host.cc
+@@ -717,6 +717,16 @@
+ int64_t version_id) {
+ DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
+ DCHECK(base::Contains(service_worker_object_hosts_, version_id));
++
++ // ServiceWorkerObjectHost to be deleted may have the last reference to
++ // ServiceWorkerVersion that indirectly owns this ServiceWorkerContainerHost.
++ // If we erase the object host directly from the map, |this| could be deleted
++ // during the map operation and may crash. To avoid the case, we take the
++ // ownership of the object host from the map first, and then erase the entry
++ // from the map. See
https://crbug.com/1056598 for details.
++ std::unique_ptr<ServiceWorkerObjectHost> to_be_deleted =
++ std::move(service_worker_object_hosts_[version_id]);
++ DCHECK(to_be_deleted);
+ service_worker_object_hosts_.erase(version_id);
+ }
+
+diff --git a/content/browser/service_worker/service_worker_object_host_unittest.cc
b/content/browser/service_worker/service_worker_object_host_unittest.cc
+index 238cb8b..f60c7a2 100644
+--- a/content/browser/service_worker/service_worker_object_host_unittest.cc
++++ b/content/browser/service_worker/service_worker_object_host_unittest.cc
+@@ -200,6 +200,19 @@
+ return registration_info;
+ }
+
++ void CallOnConnectionError(ServiceWorkerContainerHost* container_host,
++ int64_t version_id) {
++ // ServiceWorkerObjectHost has the last reference to the version.
++ ServiceWorkerObjectHost* object_host =
++ GetServiceWorkerObjectHost(container_host, version_id);
++ EXPECT_TRUE(object_host->version_->HasOneRef());
++
++ // Make sure that OnConnectionError induces destruction of the version and
++ // the object host.
++ object_host->receivers_.Clear();
++ object_host->OnConnectionError();
++ }
++
+ BrowserTaskEnvironment task_environment_;
+ std::unique_ptr<EmbeddedWorkerTestHelper> helper_;
+ scoped_refptr<ServiceWorkerRegistration> registration_;
+@@ -409,5 +422,30 @@
+ events[0]->source_info_for_client->client_type);
+ }
+
++// This is a regression test for
https://crbug.com/1056598.
++TEST_F(ServiceWorkerObjectHostTest, OnConnectionError) {
++ const GURL
scope("https://www.example.com/");
++ const GURL
script_url("https://www.example.com/service_worker.js");
++ Initialize(std::make_unique<EmbeddedWorkerTestHelper>(base::FilePath()));
++ SetUpRegistration(scope, script_url);
++
++ // Create the provider host.
++ ASSERT_EQ(blink::ServiceWorkerStatusCode::kOk,
++ StartServiceWorker(version_.get()));
++
++ // Set up the case where the last reference to the version is owned by the
++ // service worker object host.
++ ServiceWorkerContainerHost* container_host =
++ version_->provider_host()->container_host();
++ ServiceWorkerVersion* version_rawptr = version_.get();
++ version_ = nullptr;
++ ASSERT_TRUE(version_rawptr->HasOneRef());
++
++ // Simulate the connection error that induces the object host destruction.
++ // This shouldn't crash.
++ CallOnConnectionError(container_host, version_rawptr->version_id());
++ base::RunLoop().RunUntilIdle();
++}
++
+ } // namespace service_worker_object_host_unittest
+ } // namespace content
diff --git a/chromium-83-gcc-template.patch b/chromium-83-gcc-template.patch
new file mode 100644
index 0000000..2736522
--- /dev/null
+++ b/chromium-83-gcc-template.patch
@@ -0,0 +1,69 @@
+From 8d115ddda495d0d2e1e1447392db6e9e6a8a1b32 Mon Sep 17 00:00:00 2001
+From: Stephan Hartmann <stha09(a)googlemail.com>
+Date: Tue, 07 Apr 2020 00:23:57 +0000
+Subject: [PATCH] GCC: fix template specialization in WTF::VectorMover
+
+GCC complains that explicit specialization in non-namespace scope
+is happening for MoveOverlappingImpl. However, secialization is
+not really necessary here with templates and can be moved
+into MoveOverlappingImpl method without changing generated code.
+
+Bug: 819294
+Change-Id: I90b893b9701748302f7b900fbcc2c341685fe0d3
+Reviewed-on:
https://chromium-review.googlesource.com/c/chromium/src/+/2126290
+Reviewed-by: Kent Tamura <tkent(a)chromium.org>
+Commit-Queue: Kent Tamura <tkent(a)chromium.org>
+Cr-Commit-Position: refs/heads/master@{#756880}
+---
+
+diff --git a/third_party/blink/renderer/platform/wtf/vector.h
b/third_party/blink/renderer/platform/wtf/vector.h
+index 632d308..82aaf96 100644
+--- a/third_party/blink/renderer/platform/wtf/vector.h
++++ b/third_party/blink/renderer/platform/wtf/vector.h
+@@ -205,30 +205,23 @@
+ }
+ }
+
+- template <bool = Allocator::kIsGarbageCollected>
+- static void MoveOverlappingImpl(const T* src, const T* src_end, T* dst);
+- template <>
+- static void MoveOverlappingImpl<false>(const T* src,
+- const T* src_end,
+- T* dst) {
+- memmove(dst, src,
+- reinterpret_cast<const char*>(src_end) -
+- reinterpret_cast<const char*>(src));
+- }
+- template <>
+- static void MoveOverlappingImpl<true>(const T* src,
+- const T* src_end,
+- T* dst) {
+- if (src == dst)
+- return;
+- if (dst < src) {
+- for (; src < src_end; ++src, ++dst)
+- AtomicWriteMemcpy<sizeof(T)>(dst, src);
++ static void MoveOverlappingImpl(const T* src, const T* src_end, T* dst) {
++ if (Allocator::kIsGarbageCollected) {
++ if (src == dst)
++ return;
++ if (dst < src) {
++ for (; src < src_end; ++src, ++dst)
++ AtomicWriteMemcpy<sizeof(T)>(dst, src);
++ } else {
++ --src_end;
++ T* dst_end = dst + (src_end - src);
++ for (; src_end >= src; --src_end, --dst_end)
++ AtomicWriteMemcpy<sizeof(T)>(dst_end, src_end);
++ }
+ } else {
+- --src_end;
+- T* dst_end = dst + (src_end - src);
+- for (; src_end >= src; --src_end, --dst_end)
+- AtomicWriteMemcpy<sizeof(T)>(dst_end, src_end);
++ memmove(dst, src,
++ reinterpret_cast<const char*>(src_end) -
++ reinterpret_cast<const char*>(src));
+ }
+ }
+
diff --git a/chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch
b/chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch
new file mode 100644
index 0000000..d1a496b
--- /dev/null
+++ b/chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch
@@ -0,0 +1,13 @@
+diff -up chromium-83.0.4103.61/base/test/BUILD.gn.nofontconfigcache
chromium-83.0.4103.61/base/test/BUILD.gn
+--- chromium-83.0.4103.61/base/test/BUILD.gn.nofontconfigcache 2020-05-29
12:30:03.409707011 -0400
++++ chromium-83.0.4103.61/base/test/BUILD.gn 2020-05-29 12:30:22.593275137 -0400
+@@ -188,9 +188,6 @@ static_library("test_support") {
+ sources += [ "test_file_util_linux.cc" ]
+ public_deps += [ ":fontconfig_util_linux" ]
+ data_deps = [ "//third_party/test_fonts" ]
+- if (current_toolchain == host_toolchain) {
+- data_deps += [ ":do_generate_fontconfig_caches" ]
+- }
+ }
+
+ if (is_mac) {
diff --git a/chromium-83.0.4103.61-missing-cstddef-header.patch
b/chromium-83.0.4103.61-missing-cstddef-header.patch
new file mode 100644
index 0000000..bd7d51d
--- /dev/null
+++ b/chromium-83.0.4103.61-missing-cstddef-header.patch
@@ -0,0 +1,34 @@
+diff -up
chromium-83.0.4103.61/chrome/browser/search/background/ntp_backgrounds.h.missing-cstddef
chromium-83.0.4103.61/chrome/browser/search/background/ntp_backgrounds.h
+---
chromium-83.0.4103.61/chrome/browser/search/background/ntp_backgrounds.h.missing-cstddef 2020-05-18
14:39:11.000000000 -0400
++++ chromium-83.0.4103.61/chrome/browser/search/background/ntp_backgrounds.h 2020-05-29
15:37:52.370693881 -0400
+@@ -6,6 +6,7 @@
+ #define CHROME_BROWSER_SEARCH_BACKGROUND_NTP_BACKGROUNDS_H_
+
+ #include <array>
++#include <cstddef>
+
+ class GURL;
+
+diff -up chromium-83.0.4103.61/media/cdm/supported_cdm_versions.h.missing-cstddef
chromium-83.0.4103.61/media/cdm/supported_cdm_versions.h
+diff -up
chromium-83.0.4103.61/third_party/angle/include/platform/Platform.h.missing-cstddef
chromium-83.0.4103.61/third_party/angle/include/platform/Platform.h
+---
chromium-83.0.4103.61/third_party/angle/include/platform/Platform.h.missing-cstddef 2020-05-29
15:37:52.374693782 -0400
++++ chromium-83.0.4103.61/third_party/angle/include/platform/Platform.h 2020-05-29
15:39:47.343874233 -0400
+@@ -12,6 +12,7 @@
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <array>
++#include <cstddef>
+
+ #define EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX 0x3482
+
+diff -up
chromium-83.0.4103.61/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.missing-cstddef
chromium-83.0.4103.61/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
+---
chromium-83.0.4103.61/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.missing-cstddef 2020-05-18
14:42:43.000000000 -0400
++++
chromium-83.0.4103.61/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h 2020-05-29
15:37:52.376693733 -0400
+@@ -12,6 +12,7 @@
+ #define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_
+
+ #include <array>
++#include <cstddef>
+
+ namespace webrtc {
+
diff --git a/chromium-83.0.4103.61-norar.patch b/chromium-83.0.4103.61-norar.patch
new file mode 100644
index 0000000..9180933
--- /dev/null
+++ b/chromium-83.0.4103.61-norar.patch
@@ -0,0 +1,79 @@
+diff -up chromium-83.0.4103.61/chrome/common/safe_browsing/BUILD.gn.nounrar
chromium-83.0.4103.61/chrome/common/safe_browsing/BUILD.gn
+--- chromium-83.0.4103.61/chrome/common/safe_browsing/BUILD.gn.nounrar 2020-05-29
12:21:53.249790785 -0400
++++ chromium-83.0.4103.61/chrome/common/safe_browsing/BUILD.gn 2020-05-29
12:22:27.825004615 -0400
+@@ -57,39 +57,6 @@ if (safe_browsing_mode == 1) {
+ public_deps = [ "//components/safe_browsing/core:csd_proto" ]
+ }
+
+- source_set("rar_analyzer") {
+- sources = [
+- "rar_analyzer.cc",
+- "rar_analyzer.h",
+- ]
+-
+- deps = [
+- ":archive_analyzer_results",
+- ":download_type_util",
+- "//base",
+- "//base:i18n",
+- "//components/safe_browsing/core:features",
+- "//components/safe_browsing/core:file_type_policies",
+- "//third_party/unrar:unrar",
+- ]
+-
+- defines = [
+- "_FILE_OFFSET_BITS=64",
+- "LARGEFILE_SOURCE",
+- "RAR_SMP",
+- "SILENT",
+-
+- # The following is set to disable certain macro definitions in the unrar
+- # source code.
+- "CHROMIUM_UNRAR",
+-
+- # Disables exceptions in unrar, replaces them with process termination.
+- "UNRAR_NO_EXCEPTIONS",
+- ]
+-
+- public_deps = [ "//components/safe_browsing/core:csd_proto" ]
+- }
+-
+ source_set("disk_image_type_sniffer_mac") {
+ sources = [
+ "disk_image_type_sniffer_mac.cc",
+@@ -156,7 +123,6 @@ source_set("safe_browsing") {
+ ":archive_analyzer_results",
+ ":binary_feature_extractor",
+ ":download_type_util",
+- ":rar_analyzer",
+ "//components/safe_browsing/core:features",
+ ]
+
+diff -up chromium-83.0.4103.61/chrome/common/safe_browsing/DEPS.nounrar
chromium-83.0.4103.61/chrome/common/safe_browsing/DEPS
+--- chromium-83.0.4103.61/chrome/common/safe_browsing/DEPS.nounrar 2020-05-18
14:39:13.000000000 -0400
++++ chromium-83.0.4103.61/chrome/common/safe_browsing/DEPS 2020-05-29 12:21:08.563806866
-0400
+@@ -1,6 +1,5 @@
+ include_rules = [
+ "+components/safe_browsing",
+ "+third_party/protobuf",
+- "+third_party/unrar",
+ "+third_party/zlib",
+ ]
+diff -up chromium-83.0.4103.61/chrome/services/file_util/safe_archive_analyzer.cc.nounrar
chromium-83.0.4103.61/chrome/services/file_util/safe_archive_analyzer.cc
+---
chromium-83.0.4103.61/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2020-05-18
14:39:13.000000000 -0400
++++ chromium-83.0.4103.61/chrome/services/file_util/safe_archive_analyzer.cc 2020-05-29
12:21:08.565806820 -0400
+@@ -46,10 +46,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile
+ void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
+ base::File temporary_file,
+ AnalyzeRarFileCallback callback) {
++#if 0
+ DCHECK(rar_file.IsValid());
+
+ safe_browsing::ArchiveAnalyzerResults results;
+ safe_browsing::rar_analyzer::AnalyzeRarFile(
+ std::move(rar_file), std::move(temporary_file), &results);
+ std::move(callback).Run(results);
++#else
++ NOTREACHED();
++#endif
+ }
diff --git a/chromium.spec b/chromium.spec
index 5c1c3fb..bfb8776 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -156,14 +156,14 @@ BuildRequires: libicu-devel >= 5.4
%global chromoting_client_id %nil
%endif
-%global majorversion 81
+%global majorversion 83
%if %{freeworld}
Name: chromium%{chromium_channel}%{nsuffix}
%else
Name: chromium%{chromium_channel}
%endif
-Version: %{majorversion}.0.4044.138
+Version: %{majorversion}.0.4103.61
Release: 1%{?dist}
%if %{?freeworld}
%if %{?shared}
@@ -196,12 +196,12 @@ Patch5: chromium-60.0.3112.78-jpeg-nomangle.patch
# Do not mangle zlib
Patch6: chromium-77.0.3865.75-no-zlib-mangle.patch
# Do not use unrar code, it is non-free
-Patch7: chromium-81.0.4044.92-norar.patch
+Patch7: chromium-83.0.4103.61-norar.patch
# Use Gentoo's Widevine hack
#
https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/...
Patch8: chromium-71.0.3578.98-widevine-r3.patch
# Disable fontconfig cache magic that breaks remoting
-Patch9: chromium-81.0.4044.92-disable-fontconfig-cache-magic.patch
+Patch9: chromium-83.0.4103.61-disable-fontconfig-cache-magic.patch
# drop rsp clobber, which breaks gcc9 (thanks to Jeff Law)
Patch10: chromium-78.0.3904.70-gcc9-drop-rsp-clobber.patch
# Try to load widevine from other places
@@ -229,27 +229,37 @@ Patch57: chromium-78-protobuf-export.patch
Patch59: chromium-77-clang.patch
# /../../ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc:53:15: error:
'find_if' is not a member of 'std'; did you mean 'find'?
Patch63: chromium-79.0.3945.56-fix-find_if.patch
-#
https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
-Patch68: chromium-80-gcc-blink.patch
#
https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
Patch70: chromium-80-gcc-quiche.patch
-# ../../base/trace_event/trace_event_memory_overhead.h:15:1: note: 'std::string'
is defined in header '<string>'; did you forget to '#include
<string>'?
-Patch71: chromium-80.0.3987.87-missing-string-header.patch
# ../../third_party/perfetto/include/perfetto/base/task_runner.h:48:55: error:
'uint32_t' has not been declared
Patch72: chromium-80.0.3987.87-missing-cstdint-header.patch
# ../../third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h:34:3:
error: 'size_t' does not name a type
-Patch73: chromium-80.0.3987.106-missing-cstddef-header.patch
+Patch73: chromium-83.0.4103.61-missing-cstddef-header.patch
# Missing <cstring> (thanks c++17)
Patch75: chromium-80.0.3987.106-missing-cstring-header.patch
-#
https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
-Patch76: chromium-81-gcc-constexpr.patch
# prepare for using system ffmpeg (clean)
#
http://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/curren...
Patch77: chromium-53-ffmpeg-no-deprecation-errors.patch
-#
https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
-Patch78: chromium-81-gcc-noexcept.patch
+#
https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch78: chromium-82-gcc-noexcept.patch
# ../../base/test/icu_test_util.h:12:1: note: 'std::unique_ptr' is defined in
header '<memory>'; did you forget to '#include <memory>'?
Patch79: chromium-81.0.4044.92-missing-memory-header.patch
+#
https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch80: chromium-82-gcc-incomplete-type.patch
+#
https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch81: chromium-82-gcc-template.patch
+#
https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch82: chromium-82-gcc-iterator.patch
+#
https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch83: chromium-83-gcc-template.patch
+#
https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch84: chromium-83-gcc-include.patch
+#
https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch85: chromium-83-gcc-permissive.patch
+#
https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch86: chromium-83-gcc-iterator.patch
+#
https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files...
+Patch87: chromium-83-gcc-serviceworker.patch
# Use lstdc++ on EPEL7 only
Patch101: chromium-75.0.3770.100-epel7-stdc++.patch
@@ -261,9 +271,6 @@ Patch102: chromium-80.0.3987.132-el7-noexcept.patch
Patch202: enable-vaapi.patch
Patch203: chromium-80.0.3987.122-vaapi-i686-fpermissive.patch
Patch205: chromium-81.0.4044.92-fix-vaapi-on-intel.patch
-# upstream backports to fix vaapi, thanks rpmfusion
-Patch206: chromium-81-vaapi-r737459.patch
-Patch207: chromium-81-vaapi-r738595.patch
# Apply these patches to work around EPEL8 issues
Patch300: chromium-76.0.3809.132-rhel8-force-disable-use_gnome_keyring.patch
@@ -811,16 +818,21 @@ udev.
%patch57 -p1 -b .protobuf-export
%patch59 -p1 -b .clang-supports-location-builtins
%patch63 -p1 -b .fix-find_if
-%patch68 -p1 -b .gcc-blink
%patch70 -p1 -b .gcc-quiche
-%patch71 -p1 -b .missing-string
%patch72 -p1 -b .missing-cstdint
%patch73 -p1 -b .missing-cstddef
%patch75 -p1 -b .missing-cstring
-%patch76 -p1 -b .gcc-constexpr
%patch77 -p1 -b .ffmpeg-deprecations
%patch78 -p1 -b .gcc-noexcept
%patch79 -p1 -b .missing-memory
+%patch80 -p1 -b .gcc-incomplete-type
+%patch81 -p1 -b .gcc-template
+%patch82 -p1 -b .gcc-iterator
+%patch83 -p1 -b .gcc-template2
+%patch84 -p1 -b .gcc-include
+%patch85 -p1 -b .gcc-permissive
+%patch86 -p1 -b .gcc-iterator2
+%patch87 -p1 -b .gcc-serviceworker
# Fedora branded user agent
%if 0%{?fedora}
@@ -840,8 +852,6 @@ udev.
%patch203 -p1 -b .i686permissive
%endif
%patch205 -p1 -b .vaapi-intel-fix
-%patch206 -p1 -b .r737459
-%patch207 -p1 -b .r738595
%endif
%if 0%{?rhel} == 8
@@ -1761,6 +1771,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r
chrome-remote-deskt
%changelog
+* Tue Jun 2 2020 Tom Callaway <spot(a)fedoraproject.org> - 83.0.4103.61-1
+- update to 83.0.4103.61
+
* Thu May 7 2020 Tom Callaway <spot(a)fedoraproject.org> - 81.0.4044.138-1
- update to 81.0.4044.138
diff --git a/enable-vaapi.patch b/enable-vaapi.patch
index f31122a..5fe02e2 100644
--- a/enable-vaapi.patch
+++ b/enable-vaapi.patch
@@ -1,7 +1,7 @@
-diff -up chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi
chromium-81.0.4044.92/chrome/browser/about_flags.cc
---- chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi 2020-04-03
00:11:28.000000000 -0400
-+++ chromium-81.0.4044.92/chrome/browser/about_flags.cc 2020-04-13 15:09:02.982509507
-0400
-@@ -1920,7 +1920,7 @@ const FeatureEntry kFeatureEntries[] = {
+diff -up chromium-83.0.4103.61/chrome/browser/about_flags.cc.vaapi
chromium-83.0.4103.61/chrome/browser/about_flags.cc
+--- chromium-83.0.4103.61/chrome/browser/about_flags.cc.vaapi 2020-05-18
14:40:20.000000000 -0400
++++ chromium-83.0.4103.61/chrome/browser/about_flags.cc 2020-05-29 15:50:25.144232561
-0400
+@@ -2153,7 +2153,7 @@ const FeatureEntry kFeatureEntries[] = {
"disable-accelerated-video-decode",
flag_descriptions::kAcceleratedVideoDecodeName,
flag_descriptions::kAcceleratedVideoDecodeDescription,
@@ -10,9 +10,9 @@ diff -up chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi
chromium-81.0
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
},
{
-@@ -2352,12 +2352,12 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)},
- #endif // !defined(OS_ANDROID)
+@@ -2585,12 +2585,12 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop,
+ MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)},
#endif // ENABLE_VR
-#if defined(OS_CHROMEOS)
+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
@@ -22,14 +22,14 @@ diff -up chromium-81.0.4044.92/chrome/browser/about_flags.cc.vaapi
chromium-81.0
+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
-#endif // OS_CHROMEOS
-+#endif // OS_CHROMEOS | OS_LINUX
++#endif // OS_CHROMEOS || OS_LINUX
{"system-keyboard-lock", flag_descriptions::kSystemKeyboardLockName,
flag_descriptions::kSystemKeyboardLockDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)},
-diff -up chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc.vaapi
chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc
---- chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc.vaapi 2020-04-03
00:11:29.000000000 -0400
-+++ chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc 2020-04-13
15:09:02.983509488 -0400
-@@ -2999,16 +2999,19 @@ const char kMetalDescription[] =
+diff -up chromium-83.0.4103.61/chrome/browser/flag_descriptions.cc.vaapi
chromium-83.0.4103.61/chrome/browser/flag_descriptions.cc
+--- chromium-83.0.4103.61/chrome/browser/flag_descriptions.cc.vaapi 2020-05-18
14:40:21.000000000 -0400
++++ chromium-83.0.4103.61/chrome/browser/flag_descriptions.cc 2020-05-29
15:47:52.347979793 -0400
+@@ -2980,16 +2980,19 @@ const char kMetalDescription[] =
#endif
@@ -52,10 +52,10 @@ diff -up
chromium-81.0.4044.92/chrome/browser/flag_descriptions.cc.vaapi chromiu
const char kAggregatedMlAppRankingName[] = "Rank suggested apps with ML.";
const char kAggregatedMlAppRankingDescription[] =
"Use the aggregated ML model to rank the suggested apps.";
-diff -up chromium-81.0.4044.92/chrome/browser/flag_descriptions.h.vaapi
chromium-81.0.4044.92/chrome/browser/flag_descriptions.h
---- chromium-81.0.4044.92/chrome/browser/flag_descriptions.h.vaapi 2020-04-03
00:11:29.000000000 -0400
-+++ chromium-81.0.4044.92/chrome/browser/flag_descriptions.h 2020-04-13
15:09:02.983509488 -0400
-@@ -1730,13 +1730,19 @@ extern const char kMetalDescription[];
+diff -up chromium-83.0.4103.61/chrome/browser/flag_descriptions.h.vaapi
chromium-83.0.4103.61/chrome/browser/flag_descriptions.h
+--- chromium-83.0.4103.61/chrome/browser/flag_descriptions.h.vaapi 2020-05-18
14:40:21.000000000 -0400
++++ chromium-83.0.4103.61/chrome/browser/flag_descriptions.h 2020-05-29
15:47:52.348979768 -0400
+@@ -1711,13 +1711,19 @@ extern const char kMetalDescription[];
#endif // defined(OS_MACOSX)
@@ -77,9 +77,9 @@ diff -up chromium-81.0.4044.92/chrome/browser/flag_descriptions.h.vaapi
chromium
extern const char kAggregatedMlAppRankingName[];
extern const char kAggregatedMlAppRankingDescription[];
-diff -up chromium-81.0.4044.92/gpu/config/software_rendering_list.json.vaapi
chromium-81.0.4044.92/gpu/config/software_rendering_list.json
---- chromium-81.0.4044.92/gpu/config/software_rendering_list.json.vaapi 2020-04-13
15:09:02.988509396 -0400
-+++ chromium-81.0.4044.92/gpu/config/software_rendering_list.json 2020-04-13
15:19:03.380353582 -0400
+diff -up chromium-83.0.4103.61/gpu/config/software_rendering_list.json.vaapi
chromium-83.0.4103.61/gpu/config/software_rendering_list.json
+--- chromium-83.0.4103.61/gpu/config/software_rendering_list.json.vaapi 2020-05-18
14:40:24.000000000 -0400
++++ chromium-83.0.4103.61/gpu/config/software_rendering_list.json 2020-05-29
15:47:52.349979744 -0400
@@ -337,11 +337,12 @@
},
{
diff --git a/sources b/sources
index 6391e4d..6377866 100644
--- a/sources
+++ b/sources
@@ -18,3 +18,4 @@ SHA512 (Tinos-Regular.ttf) =
58085c5dac6d067d60ba2ab3220c4a0cc1efcf279cadfcfb874
SHA512 (Ahem.ttf) =
aeb64b10ab9c87860714cb60b4900254b13dc52c51319256a1a3722c882026ab7c616bf628fbc2fe14e38a6003f3a481af60b52a7ed62071d28ddaf428e4e3fd
SHA512 (node-v10.15.3-linux-x64.tar.gz) =
5eb544ef706562981340a82acc79e2162c6a3e4049b4a95f69ce353ee5b0f929c60b1fc457e8249b3fb0696f82fc28c5f543f5947db19fae4e9d5c21b906bb20
SHA512 (chromium-81.0.4044.138-clean.tar.xz) =
24c52a2b5973896ff823e989e92747fb3d71fed74a38eb970efd74492d1f980c9135334ec2c74cdafb1edc91d66d7195e66bb6ac38cb201cb3e08386e26665eb
+SHA512 (chromium-83.0.4103.61-clean.tar.xz) =
8a7c31e5de0dae571b402afac81eaa8ed21886f20a4f463ea2ed6e1007a6e80aa8334e001370f7245d46e94839dd249fc4bebab055b1e315bf98d26f57191d03
commit e422e4af62827b3bb678638c1120cf504626d758
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Thu May 7 16:13:54 2020 -0400
Garuda moved to an OTF file in Fedora 33+
diff --git a/chromium.spec b/chromium.spec
index 3d9f828..5c1c3fb 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -916,7 +916,12 @@ cp -a /usr/share/fonts/dejavu-sans-fonts/DejaVuSans.ttf
/usr/share/fonts/dejavu-
%else
cp -a /usr/share/fonts/dejavu/DejaVuSans.ttf /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf
.
%endif
+%if 0%{?fedora} >= 33
+cp -a /usr/share/fonts/thai-scalable/Garuda.otf .
+sed -i 's|Garuda.ttf|Garuda.otf|g' ../BUILD.gn
+%else
cp -a /usr/share/fonts/thai-scalable/Garuda.ttf .
+%endif
cp -a /usr/share/fonts/lohit-devanagari/Lohit-Devanagari.ttf
/usr/share/fonts/lohit-tamil/Lohit-Tamil.ttf .
cp -a /usr/share/fonts/google-noto/NotoSansKhmer-Regular.ttf .
popd