[chromium-browser-privacy: 48/51] Build requires expat-devel
by qvint
commit 71eed6c6d1d08772b0ba7b8345c34857d221caea
Author: qvint <dotqvint(a)gmail.com>
Date: Mon Apr 6 13:06:53 2020 +0300
Build requires expat-devel
chromium-freeworld.spec | 1 +
1 file changed, 1 insertion(+)
---
diff --git a/chromium-freeworld.spec b/chromium-freeworld.spec
index 721c3e8..64f2f6f 100644
--- a/chromium-freeworld.spec
+++ b/chromium-freeworld.spec
@@ -184,6 +184,7 @@ BuildRequires: pkgconfig(libxslt)
BuildRequires: opus-devel
BuildRequires: snappy-devel
BuildRequires: yasm
+BuildRequires: expat-devel
BuildRequires: pciutils-devel
BuildRequires: speech-dispatcher-devel
BuildRequires: pulseaudio-libs-devel
4 years, 7 months
[chromium-browser-privacy: 47/51] Update to 80.0.3987.163
by qvint
commit ff520a1fea164558d79cf472f8ae8cbb787e9e4b
Author: qvint <dotqvint(a)gmail.com>
Date: Sun Apr 5 15:04:09 2020 +0300
Update to 80.0.3987.163
chromium-freeworld.spec | 5 ++++-
sources | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/chromium-freeworld.spec b/chromium-freeworld.spec
index 8d7411e..721c3e8 100644
--- a/chromium-freeworld.spec
+++ b/chromium-freeworld.spec
@@ -69,7 +69,7 @@
%global ozone 0
##############################Package Definitions######################################
Name: chromium-freeworld
-Version: 80.0.3987.162
+Version: 80.0.3987.163
Release: 1%{?dist}
Summary: Chromium web browser built with all freeworld codecs and VA-API support
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
@@ -756,6 +756,9 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/swiftshader/libGLESv2.so
#########################################changelogs#################################################
%changelog
+* Sun Apr 05 2020 qvint <dotqvint(a)gmail.com> - 80.0.3987.163-1
+- Update to 80.0.3987.163
+
* Thu Apr 02 2020 qvint <dotqvint(a)gmail.com> - 80.0.3987.162-1
- Update to 80.0.3987.162
diff --git a/sources b/sources
index a715931..71927c0 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (chromium-80.0.3987.162.tar.xz) = 95a6bbe291faccd1a085daec89a3cf27eb00bc62f0b3956c2668568c7cabd67ac4dc02a2aaa093bb2844d4972cd8a7978c4249b2f0ebead038a215f574f68180
+SHA512 (chromium-80.0.3987.163.tar.xz) = d6c25035870276cc0c8b9608ffd61cbc8d9c5beac3894163433d3b379b1c11ba00973c4268c2128a320407d2086d1c00b0896ec974a7575a4802ea0596d48a1c
4 years, 7 months
[chromium-browser-privacy: 46/51] Update to 80.0.3987.162
by qvint
commit 424fc4f823cd509e60de5d623d7385284c048d2b
Author: qvint <dotqvint(a)gmail.com>
Date: Thu Apr 2 12:06:44 2020 +0300
Update to 80.0.3987.162
chromium-freeworld.spec | 5 ++++-
sources | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/chromium-freeworld.spec b/chromium-freeworld.spec
index 3f6acc4..8d7411e 100644
--- a/chromium-freeworld.spec
+++ b/chromium-freeworld.spec
@@ -69,7 +69,7 @@
%global ozone 0
##############################Package Definitions######################################
Name: chromium-freeworld
-Version: 80.0.3987.149
+Version: 80.0.3987.162
Release: 1%{?dist}
Summary: Chromium web browser built with all freeworld codecs and VA-API support
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
@@ -756,6 +756,9 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/swiftshader/libGLESv2.so
#########################################changelogs#################################################
%changelog
+* Thu Apr 02 2020 qvint <dotqvint(a)gmail.com> - 80.0.3987.162-1
+- Update to 80.0.3987.162
+
* Wed Mar 18 2020 qvint <dotqvint(a)gmail.com> - 80.0.3987.149-1
- Update to 80.0.3987.149
- Fix rpmlint warnings and errors
diff --git a/sources b/sources
index b50f25f..a715931 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (chromium-80.0.3987.149.tar.xz) = 5abbf8ff754937a3af566474457b5cd9bbcac0e8b1a52fd95180fcf69b12515278423887668512b3136de72ebe15048c4bd79572511f68189d1e86ace4ca30cb
+SHA512 (chromium-80.0.3987.162.tar.xz) = 95a6bbe291faccd1a085daec89a3cf27eb00bc62f0b3956c2668568c7cabd67ac4dc02a2aaa093bb2844d4972cd8a7978c4249b2f0ebead038a215f574f68180
4 years, 7 months
[chromium-browser-privacy: 45/51] Update to 80.0.3987.149
by qvint
commit bb16e35c49e9e309c69c35ebeffda11b337a9c61
Author: qvint <dotqvint(a)gmail.com>
Date: Thu Mar 19 03:04:13 2020 +0300
Update to 80.0.3987.149
chromium-freeworld.spec | 6 +++++-
sources | 2 +-
2 files changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/chromium-freeworld.spec b/chromium-freeworld.spec
index bacd0c0..3f6acc4 100644
--- a/chromium-freeworld.spec
+++ b/chromium-freeworld.spec
@@ -69,7 +69,7 @@
%global ozone 0
##############################Package Definitions######################################
Name: chromium-freeworld
-Version: 80.0.3987.132
+Version: 80.0.3987.149
Release: 1%{?dist}
Summary: Chromium web browser built with all freeworld codecs and VA-API support
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
@@ -756,6 +756,10 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/swiftshader/libGLESv2.so
#########################################changelogs#################################################
%changelog
+* Wed Mar 18 2020 qvint <dotqvint(a)gmail.com> - 80.0.3987.149-1
+- Update to 80.0.3987.149
+- Fix rpmlint warnings and errors
+
* Wed Mar 04 2020 qvint <dotqvint(a)gmail.com> - 80.0.3987.132-1
- Update to 80.0.3987.132
diff --git a/sources b/sources
index 8565203..b50f25f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (chromium-80.0.3987.132.tar.xz) = 10bf0d1efdf2ead9e94de90971ec135f5370f8c949acfd75ca953aed706510cc3a1464f1ff3c40275921bb24953d8ce65d095e38cb0d56488ccc2c7fa27516d4
+SHA512 (chromium-80.0.3987.149.tar.xz) = 5abbf8ff754937a3af566474457b5cd9bbcac0e8b1a52fd95180fcf69b12515278423887668512b3136de72ebe15048c4bd79572511f68189d1e86ace4ca30cb
4 years, 7 months
[chromium-browser-privacy: 44/51] Fix rpmlint warnings and errors
by qvint
commit a35f5f4eea7a2a005b4f54f34bb0733e359005ff
Author: qvint <dotqvint(a)gmail.com>
Date: Fri Mar 6 06:53:24 2020 +0300
Fix rpmlint warnings and errors
- Indent tag data
- Remove trailing spaces
- Fix summary-ended-with-dot
- Fix summary-too-long
- Fix name-repeated-in-summary
- Fix description-shorter-than-summary
- Fix mixed-use-of-spaces-and-tabs
chromium-freeworld.spec | 210 ++++++++++++++++++++++++------------------------
1 file changed, 105 insertions(+), 105 deletions(-)
---
diff --git a/chromium-freeworld.spec b/chromium-freeworld.spec
index 155d3ba..bacd0c0 100644
--- a/chromium-freeworld.spec
+++ b/chromium-freeworld.spec
@@ -14,16 +14,16 @@
%global __requires_exclude %{chromiumdir}/.*\\.so
%global __provides_exclude_from %{chromiumdir}/.*\\.so
#######################################CONFIGS###########################################
-# Fedora's Python 2 stack is being removed, we use the bundled Python libraries
-# This can be revisited once we upgrade to Python 3
+# Fedora's Python 2 stack is being removed, we use the bundled Python libraries
+# This can be revisited once we upgrade to Python 3
%global bundlepylibs 1
%if 0%{bundlepylibs}
%bcond_with system_ply
%else
%bcond_without system_ply
%endif
-# This package depends on automagic byte compilation
-# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompi...
+# This package depends on automagic byte compilation
+# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompi...
%global _python_bytecompile_extra 1
#Require harfbuzz >= 2.4.0 for hb_subset_input_set_retain_gids
%if 0%{?fedora} >= 31
@@ -57,7 +57,7 @@
%bcond_without system_minizip
%endif
-# Need re2 ver. 2016.07.21 for re2::LazyRE2
+# Need re2 ver. 2016.07.21 for re2::LazyRE2
%bcond_with system_re2
#Turn on verbose mode
@@ -68,14 +68,14 @@
# Enable building with ozone support
%global ozone 0
##############################Package Definitions######################################
-Name: chromium-freeworld
-Version: 80.0.3987.132
-Release: 1%{?dist}
-Summary: Chromium-freeworld is an open-source web browser, powered by WebKit (Blink). It comes with all freeworld codecs and video acceleration enabled.
-License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
-URL: https://www.chromium.org/Home
+Name: chromium-freeworld
+Version: 80.0.3987.132
+Release: 1%{?dist}
+Summary: Chromium web browser built with all freeworld codecs and VA-API support
+License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
+URL: https://www.chromium.org/Home
%if %{freeworld}
-Source0: https://commondatastorage.googleapis.com/chromium-browser-official/chromi...
+Source0: https://commondatastorage.googleapis.com/chromium-browser-official/chromi...
%else
# Unfortunately, Fedora & Copr forbids uploading sources with patent-encumbered
# ffmpeg code even if they are never compiled and linked to target binaries,
@@ -89,14 +89,14 @@ Source0: https://commondatastorage.googleapis.com/chromium-browser-official/c
# to 1 to use the upstreanm packaged source.
# The repackaged source tarball used here is produced by:
# ./chromium-latest.py --stable --ffmpegclean --ffmpegarm --deleteunrar
-Source0: chromium-%{version}-clean.tar.xz
+Source0: chromium-%{version}-clean.tar.xz
%endif
# The following two source files are copied and modified from the chromium source
-Source10: %{name}.sh
-#Add our own appdata file.
-Source11: %{name}.appdata.xml
+Source10: %{name}.sh
+#Add our own appdata file.
+Source11: %{name}.appdata.xml
#Personal stuff
-Source15: LICENSE
+Source15: LICENSE
######################## Installation Folder #################################################
#Our installation folder
%global chromiumdir %{_libdir}/%{name}
@@ -104,30 +104,30 @@ Source15: LICENSE
#Compiler settings
# Make sure we don't encounter any bug
%if %{clang}
-BuildRequires: clang, llvm, lld
+BuildRequires: clang, llvm, lld
%else
-BuildRequires: gcc-c++
+BuildRequires: gcc-c++
%endif
# Basic tools and libraries needed for building
-BuildRequires: ninja-build, nodejs, bison, gperf, hwdata
-BuildRequires: libgcc, glibc, libatomic
-BuildRequires: libcap-devel, cups-devel, alsa-lib-devel
-BuildRequires: mesa-libGL-devel, mesa-libEGL-devel
+BuildRequires: ninja-build, nodejs, bison, gperf, hwdata
+BuildRequires: libgcc, glibc, libatomic
+BuildRequires: libcap-devel, cups-devel, alsa-lib-devel
+BuildRequires: mesa-libGL-devel, mesa-libEGL-devel
%if %{with system_minizip}
-BuildRequires: minizip-compat-devel
+BuildRequires: minizip-compat-devel
%endif
# Pipewire need this.
%if 0%{?fedora} >= 29
-BuildRequires: pkgconfig(libpipewire-0.2)
-%endif
-BuildRequires: pkgconfig(gtk+-2.0), pkgconfig(gtk+-3.0)
-BuildRequires: pkgconfig(libexif), pkgconfig(nss)
-BuildRequires: pkgconfig(xtst), pkgconfig(xscrnsaver)
-BuildRequires: pkgconfig(dbus-1), pkgconfig(libudev)
-BuildRequires: pkgconfig(gnome-keyring-1)
-BuildRequires: pkgconfig(libffi)
+BuildRequires: pkgconfig(libpipewire-0.2)
+%endif
+BuildRequires: pkgconfig(gtk+-2.0), pkgconfig(gtk+-3.0)
+BuildRequires: pkgconfig(libexif), pkgconfig(nss)
+BuildRequires: pkgconfig(xtst), pkgconfig(xscrnsaver)
+BuildRequires: pkgconfig(dbus-1), pkgconfig(libudev)
+BuildRequires: pkgconfig(gnome-keyring-1)
+BuildRequires: pkgconfig(libffi)
#for vaapi
-BuildRequires: pkgconfig(libva)
+BuildRequires: pkgconfig(libva)
%if %{ozone}
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(wayland-client)
@@ -138,115 +138,115 @@ BuildRequires: pkgconfig(wayland-server)
#Python stuffs
%if 0%{?bundlepylibs}
-
+
# Using bundled bits, do nothing.
#This is needed for remove_bundled_libraries.py
-BuildRequires: /usr/bin/python2
-
+BuildRequires: /usr/bin/python2
+
%else
-BuildRequires: python2-rpm-macros
-BuildRequires: python2-beautifulsoup4
-BuildRequires: python2-lxml
-BuildRequires: python2-html5lib
-BuildRequires: python2-markupsafe
-Buildrequires: python2-six
+BuildRequires: python2-rpm-macros
+BuildRequires: python2-beautifulsoup4
+BuildRequires: python2-lxml
+BuildRequires: python2-html5lib
+BuildRequires: python2-markupsafe
+Buildrequires: python2-six
%if %{with system_ply}
-BuildRequires: python2-ply
+BuildRequires: python2-ply
%endif
%endif
%if %{with system_re2}
-BuildRequires: re2-devel
+BuildRequires: re2-devel
%endif
# replace_gn_files.py --system-libraries
-BuildRequires: flac-devel
-BuildRequires: freetype-devel
+BuildRequires: flac-devel
+BuildRequires: freetype-devel
%if %{with system_harfbuzz}
-BuildRequires: harfbuzz-devel
+BuildRequires: harfbuzz-devel
%endif
%if %{with system_libicu}
-BuildRequires: libicu-devel
+BuildRequires: libicu-devel
%endif
-BuildRequires: libdrm-devel
-BuildRequires: libjpeg-turbo-devel
-BuildRequires: libpng-devel
+BuildRequires: libdrm-devel
+BuildRequires: libjpeg-turbo-devel
+BuildRequires: libpng-devel
# Chromium requires libvpx 1.5.0 and some non-default options
%if %{with system_libvpx}
-BuildRequires: libvpx-devel
+BuildRequires: libvpx-devel
%endif
%if %{with system_ffmpeg}
-BuildRequires: ffmpeg-devel
+BuildRequires: ffmpeg-devel
%endif
-BuildRequires: libwebp-devel
+BuildRequires: libwebp-devel
%if %{with system_libxml2}
-BuildRequires: pkgconfig(libxml-2.0)
-%endif
-BuildRequires: pkgconfig(libxslt)
-BuildRequires: opus-devel
-BuildRequires: snappy-devel
-BuildRequires: yasm
-BuildRequires: pciutils-devel
-BuildRequires: speech-dispatcher-devel
-BuildRequires: pulseaudio-libs-devel
+BuildRequires: pkgconfig(libxml-2.0)
+%endif
+BuildRequires: pkgconfig(libxslt)
+BuildRequires: opus-devel
+BuildRequires: snappy-devel
+BuildRequires: yasm
+BuildRequires: pciutils-devel
+BuildRequires: speech-dispatcher-devel
+BuildRequires: pulseaudio-libs-devel
# install desktop files
-BuildRequires: desktop-file-utils
+BuildRequires: desktop-file-utils
# install AppData files
-BuildRequires: libappstream-glib
+BuildRequires: libappstream-glib
# Mojojojo need this >:(
-BuildRequires: java-1.8.0-openjdk
+BuildRequires: java-1.8.0-openjdk
# Libstdc++ static needed for linker
BuildRequires: libstdc++-static
#Runtime Requirements
Requires: hicolor-icon-theme
# Make sure chromium-freeworld replaces chromium-vaapi
-Provides: chromium-vaapi = %{version}-%{release}
-Obsoletes: chromium-vaapi < %{version}-%{release}
+Provides: chromium-vaapi = %{version}-%{release}
+Obsoletes: chromium-vaapi < %{version}-%{release}
#Some recommendations
-Recommends: libva-utils
+Recommends: libva-utils
%if !%{debug_pkg}
%global debug_package %{nil}
%endif
# This build should be only available to amd64
-ExclusiveArch: x86_64
+ExclusiveArch: x86_64
# Define Patches here ##
# Enable video acceleration on chromium for Linux
-Patch1: enable-vaapi.patch
+Patch1: enable-vaapi.patch
# Enable support for widevine
-Patch2: widevine.patch
+Patch2: widevine.patch
# Fix vaapi on Intel
-Patch3: fixvaapionintel.patch
+Patch3: fixvaapionintel.patch
#Fix certificare transperancy error introduced by the current stable version of chromium
-Patch5: cert-trans-google.patch
+Patch5: cert-trans-google.patch
# Bootstrap still uses python command
-Patch51: py2-bootstrap.patch
+Patch51: py2-bootstrap.patch
# Fix building with system icu
-Patch52: chromium-system-icu.patch
+Patch52: chromium-system-icu.patch
# Let's brand chromium!
-Patch54: brand.patch
+Patch54: brand.patch
# Fix header
-Patch68: Add-missing-header-to-fix-webrtc-build.patch
-Patch69: chromium-unbundle-zlib.patch
-Patch70: chromium-base-location.patch
+Patch68: Add-missing-header-to-fix-webrtc-build.patch
+Patch69: chromium-unbundle-zlib.patch
+Patch70: chromium-base-location.patch
# Gentoo:
-Patch400: chromium-80-include.patch
-Patch401: chromium-80-gcc-incomplete-type.patch
-Patch402: chromium-80-gcc-quiche.patch
-Patch403: chromium-80-gcc-permissive.patch
-Patch404: chromium-80-gcc-blink.patch
-Patch405: chromium-80-gcc-abstract.patch
+Patch400: chromium-80-include.patch
+Patch401: chromium-80-gcc-incomplete-type.patch
+Patch402: chromium-80-gcc-quiche.patch
+Patch403: chromium-80-gcc-permissive.patch
+Patch404: chromium-80-gcc-blink.patch
+Patch405: chromium-80-gcc-abstract.patch
%if %{with system_libxml2}
-Patch406: chromium-80-unbundle-libxml.patch
+Patch406: chromium-80-unbundle-libxml.patch
%endif
# Fedora:
-Patch500: chromium-80.0.3987.87-missing-string-header.patch
-Patch501: chromium-80.0.3987.106-missing-cstddef-header.patch
-Patch502: chromium-80.0.3987.87-missing-cstdint-header.patch
-Patch503: chromium-77.0.3865.75-gcc-include-memory.patch
-Patch504: chromium-80.0.3987.106-missing-cstring-header.patch
+Patch500: chromium-80.0.3987.87-missing-string-header.patch
+Patch501: chromium-80.0.3987.106-missing-cstddef-header.patch
+Patch502: chromium-80.0.3987.87-missing-cstdint-header.patch
+Patch503: chromium-77.0.3865.75-gcc-include-memory.patch
+Patch504: chromium-80.0.3987.106-missing-cstring-header.patch
%if 0%{?fedora} >= 32
-Patch505: chromium-79.0.3945.130-gcc10-use-c++17-to-work-around-ugly-angle-code.patch
-Patch506: chromium-80.0.3987.87-fix-for-c++17.patch
+Patch505: chromium-79.0.3945.130-gcc10-use-c++17-to-work-around-ugly-angle-code.patch
+Patch506: chromium-80.0.3987.87-fix-for-c++17.patch
%endif
@@ -316,10 +316,10 @@ find -depth -type f -writable -name "*.py" -exec sed -iE '1s=^#! */usr/bin/\(pyt
third_party/catapult \
third_party/catapult/common/py_vulcanize/third_party/rcssmin \
third_party/catapult/common/py_vulcanize/third_party/rjsmin \
- %if 0%{?bundlepylibs}
+%if 0%{?bundlepylibs}
third_party/catapult/third_party/beautifulsoup4 \
third_party/catapult/third_party/html5lib-python \
- %endif
+%endif
third_party/catapult/third_party/polymer \
third_party/catapult/third_party/six \
third_party/catapult/tracing/third_party/d3 \
@@ -392,8 +392,8 @@ find -depth -type f -writable -name "*.py" -exec sed -iE '1s=^#! */usr/bin/\(pyt
third_party/libyuv \
third_party/lss \
third_party/lzma_sdk \
-%if 0%{?bundlepylibs}
- third_party/markupsafe \
+%if 0%{?bundlepylibs}
+ third_party/markupsafe \
%endif
third_party/mesa \
third_party/metrics_proto \
@@ -554,8 +554,8 @@ export AR=ar NM=nm AS=as
export CC=gcc CXX=g++
-# GN needs gold to bootstrap
-export LDFLAGS="$LDFLAGS -fuse-ld=gold"
+# GN needs gold to bootstrap
+export LDFLAGS="$LDFLAGS -fuse-ld=gold"
export CXXFLAGS="$CXXFLAGS -fpermissive"
%if !%{debug_logs}
@@ -571,7 +571,7 @@ export CXXFLAGS="$CXXFLAGS -g0"
export CXXFLAGS="$CXXFLAGS -fno-ipa-cp-clone"
%endif
#end compiler part
-%endif
+%endif
gn_args=(
is_debug=false
@@ -628,9 +628,9 @@ gn_args+=(
'clang_base_path="/usr"'
clang_use_chrome_plugins=false
use_lld=true
-%else
+%else
is_clang=false
-%endif
+%endif
)
#Pipewire
@@ -645,7 +645,7 @@ gn_args+=(
gn_args+=(
%if %{ozone}
use_ozone=true
- use_system_minigbm=true
+ use_system_minigbm=true
use_xkbcommon=true
%endif
)
@@ -721,7 +721,7 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
######################################files################################################
%files
%license LICENSE
-%doc AUTHORS
+%doc AUTHORS
%{_bindir}/%{name}
%{_metainfodir}/%{name}.appdata.xml
%{_datadir}/applications/%{name}.desktop
4 years, 7 months
[chromium-browser-privacy: 42/51] Update to 80.0.3987.132
by qvint
commit 65a464d9a091b2496dc9b21ea0264ba36f0bdbd2
Author: qvint <dotqvint(a)gmail.com>
Date: Wed Mar 4 04:39:49 2020 +0300
Update to 80.0.3987.132
chromium-freeworld.spec | 5 ++++-
sources | 2 +-
2 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/chromium-freeworld.spec b/chromium-freeworld.spec
index c33acb9..155d3ba 100644
--- a/chromium-freeworld.spec
+++ b/chromium-freeworld.spec
@@ -69,7 +69,7 @@
%global ozone 0
##############################Package Definitions######################################
Name: chromium-freeworld
-Version: 80.0.3987.122
+Version: 80.0.3987.132
Release: 1%{?dist}
Summary: Chromium-freeworld is an open-source web browser, powered by WebKit (Blink). It comes with all freeworld codecs and video acceleration enabled.
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
@@ -756,6 +756,9 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/swiftshader/libGLESv2.so
#########################################changelogs#################################################
%changelog
+* Wed Mar 04 2020 qvint <dotqvint(a)gmail.com> - 80.0.3987.132-1
+- Update to 80.0.3987.132
+
* Sun Mar 01 2020 qvint <dotqvint(a)gmail.com> - 80.0.3987.122-1
- Update to 80.0.3987.122
diff --git a/sources b/sources
index 27854b8..8565203 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (chromium-80.0.3987.122.tar.xz) = 3a022c55f5745f2cfb7e28efb113f78ff686da638cd02f0585ef1ae8620f81ece864bc27b4e0a88daf3f409ff565a9b80b8859d1fd7d62c8b1d26cb8b311acc5
+SHA512 (chromium-80.0.3987.132.tar.xz) = 10bf0d1efdf2ead9e94de90971ec135f5370f8c949acfd75ca953aed706510cc3a1464f1ff3c40275921bb24953d8ce65d095e38cb0d56488ccc2c7fa27516d4
4 years, 7 months
[chromium-browser-privacy: 41/51] Update to 80.0.3987.122
by qvint
commit b762f0b6cdefd0feef2c5e3aab05c9027a3deea3
Author: qvint <dotqvint(a)gmail.com>
Date: Sun Mar 1 10:32:45 2020 +0300
Update to 80.0.3987.122
chromium-73.0.3683.75-pipewire-cstring-fix.patch | 11 -
chromium-77.0.3865.75-gcc-include-memory.patch | 34 +++
...-use-c++17-to-work-around-ugly-angle-code.patch | 28 +++
chromium-79.0.3945.56-glibc-clock-nanosleep.patch | 52 -----
chromium-80-gcc-abstract.patch | 41 ++++
chromium-80-gcc-blink.patch | 45 ++++
chromium-80-gcc-incomplete-type.patch | 229 +++++++++++++++++++++
chromium-80-gcc-permissive.patch | 33 +++
chromium-80-gcc-quiche.patch | 30 +++
chromium-80-include.patch | 33 +++
chromium-80-unbundle-libxml.patch | 101 +++++++++
...mium-80.0.3987.106-missing-cstddef-header.patch | 44 ++++
...mium-80.0.3987.106-missing-cstring-header.patch | 34 +++
chromium-80.0.3987.87-fix-for-c++17.patch | 190 +++++++++++++++++
chromium-80.0.3987.87-missing-cstdint-header.patch | 55 +++++
chromium-80.0.3987.87-missing-string-header.patch | 11 +
chromium-fix-use_system_harfbuzz-ng.patch | 44 ----
chromium-freeworld.spec | 62 +++---
fix-spammy-unique-font-matching-log.patch | 13 --
icu65.patch | 64 ------
include-algorithm-to-use-std-lower_bound.patch | 49 -----
launch_manager.h-uses-std-vector.patch | 36 ----
sources | 2 +-
23 files changed, 940 insertions(+), 301 deletions(-)
---
diff --git a/chromium-77.0.3865.75-gcc-include-memory.patch b/chromium-77.0.3865.75-gcc-include-memory.patch
new file mode 100644
index 0000000..e1d4bdb
--- /dev/null
+++ b/chromium-77.0.3865.75-gcc-include-memory.patch
@@ -0,0 +1,34 @@
+diff -up chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h.gcc-include-memory chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h
+--- chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h.gcc-include-memory 2019-09-13 14:44:24.962770079 +0200
++++ chromium-77.0.3865.75/third_party/one_euro_filter/src/one_euro_filter.h 2019-09-13 14:44:45.347073612 +0200
+@@ -3,6 +3,8 @@
+
+ #include "low_pass_filter.h"
+
++#include <memory>
++
+ namespace one_euro_filter {
+ namespace test {
+ class OneEuroFilterTest;
+diff -up chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h.missing-memory chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h
+--- chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h.missing-memory 2020-02-21 12:25:17.206021379 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/reverb_model_estimator.h 2020-02-21 12:25:31.613759976 -0500
+@@ -12,6 +12,7 @@
+ #define MODULES_AUDIO_PROCESSING_AEC3_REVERB_MODEL_ESTIMATOR_H_
+
+ #include <array>
++#include <memory>
+ #include <vector>
+
+ #include "absl/types/optional.h"
+diff -up chromium-80.0.3987.106/third_party/openscreen/src/util/trace_logging/scoped_trace_operations.h.memory chromium-80.0.3987.106/third_party/openscreen/src/util/trace_logging/scoped_trace_operations.h
+--- chromium-80.0.3987.106/third_party/openscreen/src/util/trace_logging/scoped_trace_operations.h.memory 2020-02-24 11:35:38.283880819 -0500
++++ chromium-80.0.3987.106/third_party/openscreen/src/util/trace_logging/scoped_trace_operations.h 2020-02-24 11:35:48.366670897 -0500
+@@ -7,6 +7,7 @@
+
+ #include <atomic>
+ #include <cstring>
++#include <memory>
+ #include <stack>
+ #include <vector>
+
diff --git a/chromium-79.0.3945.130-gcc10-use-c++17-to-work-around-ugly-angle-code.patch b/chromium-79.0.3945.130-gcc10-use-c++17-to-work-around-ugly-angle-code.patch
new file mode 100644
index 0000000..8401ea2
--- /dev/null
+++ b/chromium-79.0.3945.130-gcc10-use-c++17-to-work-around-ugly-angle-code.patch
@@ -0,0 +1,28 @@
+diff -up chromium-79.0.3945.130/third_party/angle/BUILD.gn.fixme chromium-79.0.3945.130/third_party/angle/BUILD.gn
+--- chromium-79.0.3945.130/third_party/angle/BUILD.gn.fixme 2020-02-05 15:50:58.810040419 -0500
++++ chromium-79.0.3945.130/third_party/angle/BUILD.gn 2020-02-05 15:52:03.720848822 -0500
+@@ -228,6 +228,9 @@ config("angle_common_config") {
+ if (is_android) {
+ libs = [ "log" ]
+ }
++ if (!is_clang) {
++ cflags_cc = [ "-std=c++17" ]
++ }
+ }
+
+ if (is_win && !angle_is_winuwp) {
+diff -up chromium-79.0.3945.130/third_party/angle/src/common/PackedEnums.h.fixme chromium-79.0.3945.130/third_party/angle/src/common/PackedEnums.h
+--- chromium-79.0.3945.130/third_party/angle/src/common/PackedEnums.h.fixme 2020-02-05 15:35:47.473867905 -0500
++++ chromium-79.0.3945.130/third_party/angle/src/common/PackedEnums.h 2020-02-05 15:36:30.362065300 -0500
+@@ -85,8 +85,9 @@ class PackedEnumMap
+ {
+ // This horrible const_cast pattern is necessary to work around a constexpr limitation.
+ // See https://stackoverflow.com/q/34199774/ . Note that it should be fixed with C++17.
+- const_cast<T &>(const_cast<const Storage &>(
+- mPrivateData)[static_cast<UnderlyingType>(it->first)]) = it->second;
++ // const_cast<T &>(const_cast<const Storage &>(
++ // mPrivateData)[static_cast<UnderlyingType>(it->first)]) = it->second;
++ mPrivateData[static_cast<UnderlyingType>(it->first)] = it->second;
+ }
+ }
+
diff --git a/chromium-80-gcc-abstract.patch b/chromium-80-gcc-abstract.patch
new file mode 100644
index 0000000..190a672
--- /dev/null
+++ b/chromium-80-gcc-abstract.patch
@@ -0,0 +1,41 @@
+In file included from ../../third_party/blink/renderer/platform/heap/persistent.h:18,
+ from ../../third_party/blink/public/platform/web_private_ptr.h:40,
+ from ../../third_party/blink/public/platform/web_media_stream_track.h:33,
+ from ../../third_party/blink/public/platform/web_media_stream_source.h:37,
+ from ../../third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.h:19,
+ from ../../third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc:5:
+../../third_party/blink/renderer/platform/wtf/cross_thread_copier.h: In instantiation of 'struct WTF::CrossThreadCopierPassThrough<webrtc::VideoTrackInterface>':
+../../third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h:169:14: required from here
+../../third_party/blink/renderer/platform/wtf/cross_thread_copier.h:80:15: error: invalid abstract return type 'webrtc::VideoTrackInterface'
+ 80 | static Type Copy(const T& parameter) { return parameter; }
+ | ^~~~
+In file included from ../../third_party/webrtc/api/peer_connection_interface.h:88,
+ from ../../third_party/blink/public/platform/web_rtc_peer_connection_handler.h:39,
+ from ../../third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.h:20,
+ from ../../third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc:5:
+../../third_party/webrtc/api/media_stream_interface.h:174:18: note: because the following virtual functions are pure within 'webrtc::VideoTrackInterface':
+ 174 | class RTC_EXPORT VideoTrackInterface
+ | ^~~~~~~~~~~~~~~~~~~
+../../third_party/webrtc/api/media_stream_interface.h:48:16: note: 'virtual void webrtc::NotifierInterface::RegisterObserver(webrtc::ObserverInterface*)'
+ 48 | virtual void RegisterObserver(ObserverInterface* observer) = 0;
+ | ^~~~~~~~~~~~~~~~
+../../third_party/webrtc/api/media_stream_interface.h:49:16: note: 'virtual void webrtc::NotifierInterface::UnregisterObserver(webrtc::ObserverInterface*)'
+ 49 | virtual void UnregisterObserver(ObserverInterface* observer) = 0;
+ | ^~~~~~~~~~~~~~~~~~
+
+diff --git a/third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h b/third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h
+index 54cb7d1..0d6c40f 100644
+--- a/third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h
++++ b/third_party/blink/renderer/modules/peerconnection/adapters/web_rtc_cross_thread_copier.h
+@@ -165,8 +165,9 @@ struct CrossThreadCopier<blink::MediaStreamVideoTrack>
+ };
+
+ template <>
+-struct CrossThreadCopier<webrtc::VideoTrackInterface>
+- : public CrossThreadCopierPassThrough<webrtc::VideoTrackInterface> {
++struct CrossThreadCopier<rtc::scoped_refptr<webrtc::VideoTrackInterface>>
++ : public CrossThreadCopierPassThrough<
++ rtc::scoped_refptr<webrtc::VideoTrackInterface>> {
+ STATIC_ONLY(CrossThreadCopier);
+ };
+
diff --git a/chromium-80-gcc-blink.patch b/chromium-80-gcc-blink.patch
new file mode 100644
index 0000000..2118b46
--- /dev/null
+++ b/chromium-80-gcc-blink.patch
@@ -0,0 +1,45 @@
+../../third_party/blink/renderer/core/editing/commands/delete_selection_command.cc: In member function 'void blink::DeleteSelectionCommand::InitializePositionData(blink::EditingState*)':
+../../third_party/blink/renderer/core/editing/commands/delete_selection_command.cc:256:59: error: no matching function for call to 'EnclosingNodeOfType(blink::Position&, <unresolved overloaded function type>)'
+ 256 | EnclosingNodeOfType(start, &IsA<HTMLTableRowElement>));
+ | ^
+In file included from ../../third_party/blink/renderer/core/editing/commands/delete_selection_command.cc:34:
+../../third_party/blink/renderer/core/editing/editing_utilities.h:112:19: note: candidate: 'blink::Node* blink::EnclosingNodeOfType(const Position&, bool (*)(const blink::Node*), blink::EditingBoundaryCrossingRule)'
+ 112 | CORE_EXPORT Node* EnclosingNodeOfType(
+ | ^~~~~~~~~~~~~~~~~~~
+../../third_party/blink/renderer/core/editing/editing_utilities.h:114:12: note: no known conversion for argument 2 from '<unresolved overloaded function type>' to 'bool (*)(const blink::Node*)'
+ 114 | bool (*node_is_of_type)(const Node*),
+ | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+../../third_party/blink/renderer/core/editing/editing_utilities.h:116:19: note: candidate: 'blink::Node* blink::EnclosingNodeOfType(const PositionInFlatTree&, bool (*)(const blink::Node*), blink::EditingBoundaryCrossingRule)'
+ 116 | CORE_EXPORT Node* EnclosingNodeOfType(
+ | ^~~~~~~~~~~~~~~~~~~
+../../third_party/blink/renderer/core/editing/editing_utilities.h:117:5: note: no known conversion for argument 1 from 'blink::Position' {aka 'blink::PositionTemplate<blink::EditingAlgorithm<blink::NodeTraversal> >'} to 'const PositionInFlatTree&' {aka 'const blink::PositionTemplate<blink::EditingAlgorithm<blink::FlatTreeTraversal> >&'}
+ 117 | const PositionInFlatTree&,
+ | ^~~~~~~~~~~~~~~~~~~~~~~~~
+
+diff --git a/third_party/blink/renderer/core/editing/commands/delete_selection_command.cc b/third_party/blink/renderer/core/editing/commands/delete_selection_command.cc
+index 6ff6906..dd531ae 100644
+--- a/third_party/blink/renderer/core/editing/commands/delete_selection_command.cc
++++ b/third_party/blink/renderer/core/editing/commands/delete_selection_command.cc
+@@ -224,6 +224,10 @@ static Position TrailingWhitespacePosition(const Position& position,
+ return Position();
+ }
+
++static bool IsAHTMLTableRowElement(const Node* node) {
++ return IsA<HTMLTableRowElement>(node);
++}
++
+ void DeleteSelectionCommand::InitializePositionData(
+ EditingState* editing_state) {
+ DCHECK(!GetDocument().NeedsLayoutTreeUpdate());
+@@ -253,9 +257,9 @@ void DeleteSelectionCommand::InitializePositionData(
+ end_root_ = RootEditableElementOf(end);
+
+ start_table_row_ = To<HTMLTableRowElement>(
+- EnclosingNodeOfType(start, &IsA<HTMLTableRowElement>));
++ EnclosingNodeOfType(start, &IsAHTMLTableRowElement));
+ end_table_row_ = To<HTMLTableRowElement>(
+- EnclosingNodeOfType(end, &IsA<HTMLTableRowElement>));
++ EnclosingNodeOfType(end, &IsAHTMLTableRowElement));
+
+ // Don't move content out of a table cell.
+ // If the cell is non-editable, enclosingNodeOfType won't return it by
diff --git a/chromium-80-gcc-incomplete-type.patch b/chromium-80-gcc-incomplete-type.patch
new file mode 100644
index 0000000..8d10620
--- /dev/null
+++ b/chromium-80-gcc-incomplete-type.patch
@@ -0,0 +1,229 @@
+From cdf3e81ff49b200213d67d65558f2919222b60ab Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Date: Mon, 16 Dec 2019 11:39:11 +0000
+Subject: [PATCH] BookmarkModelMerger: Move RemoteTreeNode declaration to header.
+
+This fixes the build with libstdc++ after commit 8f5dad93e58 ("Fix CHECK
+failure due to untracked local nodes"):
+
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/stl_pair.h:215:11: error: field has incomplete type 'sync_bookmarks::BookmarkModelMerger::RemoteTreeNode'
+ _T2 second; /// @c second is a copy of the second object
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/ext/aligned_buffer.h:91:28: note: in instantiation of template class 'std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>' requested here
+ : std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)>
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable_policy.h:233:43: note: in instantiation of template class '__gnu_cxx::__aligned_buffer<std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> >' requested here
+ __gnu_cxx::__aligned_buffer<_Value> _M_storage;
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable_policy.h:264:39: note: in instantiation of template class 'std::__detail::_Hash_node_value_base<std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> >' requested here
+ struct _Hash_node<_Value, true> : _Hash_node_value_base<_Value>
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable_policy.h:2028:25: note: in instantiation of template class 'std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>, true>' requested here
+ rebind_traits<typename __node_type::value_type>;
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable.h:184:15: note: in instantiation of template class 'std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>, true> > >
+' requested here
+ private __detail::_Hashtable_alloc<
+ ^
+/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/unordered_map.h:105:18: note: in instantiation of template class 'std::_Hashtable<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>, std::allocator<std::pair<con
+st std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__deta
+il::_Hashtable_traits<true, false, true> >' requested here
+ _Hashtable _M_h;
+ ^
+../../components/sync_bookmarks/bookmark_model_merger.h:146:22: note: in instantiation of template class 'std::unordered_map<std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode, std::hash<std::string>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<con
+st std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> > >' requested here
+ const RemoteForest remote_forest_;
+ ^
+../../components/sync_bookmarks/bookmark_model_merger.h:53:9: note: forward declaration of 'sync_bookmarks::BookmarkModelMerger::RemoteTreeNode'
+ class RemoteTreeNode;
+ ^
+
+Essentially, the problem is that libstdc++'s std::unordered_map<T, U>
+implementation requires both T and U to be fully declared. I raised the
+problem in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92770, and GCC's
+position is that we are relying on undefined behavior according to the C++
+standard (https://eel.is/c++draft/requirements#res.on.functions-2.5).
+
+Bug: 957519
+Change-Id: Ife7e435e516932a795bfbe05b2c910c3272878f0
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1960156
+Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Reviewed-by: Mikel Astiz <mastiz(a)chromium.org>
+Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Cr-Commit-Position: refs/heads/master@{#725070}
+---
+
+diff --git a/components/sync_bookmarks/bookmark_model_merger.cc b/components/sync_bookmarks/bookmark_model_merger.cc
+index eae153ef..579848e 100644
+--- a/components/sync_bookmarks/bookmark_model_merger.cc
++++ b/components/sync_bookmarks/bookmark_model_merger.cc
+@@ -5,7 +5,6 @@
+ #include "components/sync_bookmarks/bookmark_model_merger.h"
+
+ #include <algorithm>
+-#include <memory>
+ #include <set>
+ #include <string>
+ #include <utility>
+@@ -205,66 +204,44 @@
+
+ } // namespace
+
+-class BookmarkModelMerger::RemoteTreeNode final {
+- public:
+- // Constructs a tree given |update| as root and recursively all descendants by
+- // traversing |*updates_per_parent_id|. |update| and |updates_per_parent_id|
+- // must not be null. All updates |*updates_per_parent_id| must represent valid
+- // updates. Updates corresponding from descendant nodes are moved away from
+- // |*updates_per_parent_id|.
+- static RemoteTreeNode BuildTree(
+- std::unique_ptr<syncer::UpdateResponseData> update,
+- UpdatesPerParentId* updates_per_parent_id);
++BookmarkModelMerger::RemoteTreeNode::RemoteTreeNode() = default;
+
+- ~RemoteTreeNode() = default;
++BookmarkModelMerger::RemoteTreeNode::~RemoteTreeNode() = default;
+
+- // Allow moves, useful during construction.
+- RemoteTreeNode(RemoteTreeNode&&) = default;
+- RemoteTreeNode& operator=(RemoteTreeNode&&) = default;
++BookmarkModelMerger::RemoteTreeNode::RemoteTreeNode(
++ BookmarkModelMerger::RemoteTreeNode&&) = default;
++BookmarkModelMerger::RemoteTreeNode& BookmarkModelMerger::RemoteTreeNode::
++operator=(BookmarkModelMerger::RemoteTreeNode&&) = default;
+
+- const syncer::EntityData& entity() const { return *update_->entity; }
+- int64_t response_version() const { return update_->response_version; }
++void BookmarkModelMerger::RemoteTreeNode::EmplaceSelfAndDescendantsByGUID(
++ std::unordered_map<std::string, const RemoteTreeNode*>*
++ guid_to_remote_node_map) const {
++ DCHECK(guid_to_remote_node_map);
+
+- // Direct children nodes, sorted by ascending unique position. These are
+- // guaranteed to be valid updates (e.g. IsValidBookmarkSpecifics()).
+- const std::vector<RemoteTreeNode>& children() const { return children_; }
++ const std::string& guid = entity().specifics.bookmark().guid();
++ if (!guid.empty()) {
++ DCHECK(base::IsValidGUID(guid));
+
+- // Recursively emplaces all GUIDs (this node and descendants) into
+- // |*guid_to_remote_node_map|, which must not be null.
+- void EmplaceSelfAndDescendantsByGUID(
+- std::unordered_map<std::string, const RemoteTreeNode*>*
+- guid_to_remote_node_map) const {
+- DCHECK(guid_to_remote_node_map);
+-
+- const std::string& guid = entity().specifics.bookmark().guid();
+- if (!guid.empty()) {
+- DCHECK(base::IsValidGUID(guid));
+-
+- // Duplicate GUIDs have been sorted out before.
+- bool success = guid_to_remote_node_map->emplace(guid, this).second;
+- DCHECK(success);
+- }
+-
+- for (const RemoteTreeNode& child : children_) {
+- child.EmplaceSelfAndDescendantsByGUID(guid_to_remote_node_map);
+- }
++ // Duplicate GUIDs have been sorted out before.
++ bool success = guid_to_remote_node_map->emplace(guid, this).second;
++ DCHECK(success);
+ }
+
+- private:
+- static bool UniquePositionLessThan(const RemoteTreeNode& lhs,
+- const RemoteTreeNode& rhs) {
+- const syncer::UniquePosition a_pos =
+- syncer::UniquePosition::FromProto(lhs.entity().unique_position);
+- const syncer::UniquePosition b_pos =
+- syncer::UniquePosition::FromProto(rhs.entity().unique_position);
+- return a_pos.LessThan(b_pos);
++ for (const RemoteTreeNode& child : children_) {
++ child.EmplaceSelfAndDescendantsByGUID(guid_to_remote_node_map);
+ }
++}
+
+- RemoteTreeNode() = default;
+-
+- std::unique_ptr<syncer::UpdateResponseData> update_;
+- std::vector<RemoteTreeNode> children_;
+-};
++// static
++bool BookmarkModelMerger::RemoteTreeNode::UniquePositionLessThan(
++ const RemoteTreeNode& lhs,
++ const RemoteTreeNode& rhs) {
++ const syncer::UniquePosition a_pos =
++ syncer::UniquePosition::FromProto(lhs.entity().unique_position);
++ const syncer::UniquePosition b_pos =
++ syncer::UniquePosition::FromProto(rhs.entity().unique_position);
++ return a_pos.LessThan(b_pos);
++}
+
+ // static
+ BookmarkModelMerger::RemoteTreeNode
+diff --git a/components/sync_bookmarks/bookmark_model_merger.h b/components/sync_bookmarks/bookmark_model_merger.h
+index 9b59200..bf0783ec 100644
+--- a/components/sync_bookmarks/bookmark_model_merger.h
++++ b/components/sync_bookmarks/bookmark_model_merger.h
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_SYNC_BOOKMARKS_BOOKMARK_MODEL_MERGER_H_
+ #define COMPONENTS_SYNC_BOOKMARKS_BOOKMARK_MODEL_MERGER_H_
+
++#include <memory>
+ #include <string>
+ #include <unordered_map>
+ #include <vector>
+@@ -50,7 +51,52 @@
+
+ private:
+ // Internal representation of a remote tree, composed of nodes.
+- class RemoteTreeNode;
++ class RemoteTreeNode final {
++ private:
++ using UpdatesPerParentId =
++ std::unordered_map<base::StringPiece,
++ syncer::UpdateResponseDataList,
++ base::StringPieceHash>;
++
++ public:
++ // Constructs a tree given |update| as root and recursively all descendants
++ // by traversing |*updates_per_parent_id|. |update| and
++ // |updates_per_parent_id| must not be null. All updates
++ // |*updates_per_parent_id| must represent valid updates. Updates
++ // corresponding from descendant nodes are moved away from
++ // |*updates_per_parent_id|.
++ static RemoteTreeNode BuildTree(
++ std::unique_ptr<syncer::UpdateResponseData> update,
++ UpdatesPerParentId* updates_per_parent_id);
++
++ ~RemoteTreeNode();
++
++ // Allow moves, useful during construction.
++ RemoteTreeNode(RemoteTreeNode&&);
++ RemoteTreeNode& operator=(RemoteTreeNode&&);
++
++ const syncer::EntityData& entity() const { return *update_->entity; }
++ int64_t response_version() const { return update_->response_version; }
++
++ // Direct children nodes, sorted by ascending unique position. These are
++ // guaranteed to be valid updates (e.g. IsValidBookmarkSpecifics()).
++ const std::vector<RemoteTreeNode>& children() const { return children_; }
++
++ // Recursively emplaces all GUIDs (this node and descendants) into
++ // |*guid_to_remote_node_map|, which must not be null.
++ void EmplaceSelfAndDescendantsByGUID(
++ std::unordered_map<std::string, const RemoteTreeNode*>*
++ guid_to_remote_node_map) const;
++
++ private:
++ static bool UniquePositionLessThan(const RemoteTreeNode& lhs,
++ const RemoteTreeNode& rhs);
++
++ RemoteTreeNode();
++
++ std::unique_ptr<syncer::UpdateResponseData> update_;
++ std::vector<RemoteTreeNode> children_;
++ };
+
+ // A forest composed of multiple trees where the root of each tree represents
+ // a permanent node, keyed by server-defined unique tag of the root.
diff --git a/chromium-80-gcc-permissive.patch b/chromium-80-gcc-permissive.patch
new file mode 100644
index 0000000..c7aef49
--- /dev/null
+++ b/chromium-80-gcc-permissive.patch
@@ -0,0 +1,33 @@
+In file included from ../../media/base/media_log_properties.h:13,
+ from ../../media/base/media_log.h:23,
+ from ../../media/filters/frame_processor.h:15,
+ from ../../media/filters/frame_processor.cc:5:
+../../media/base/media_log_properties_helper.h:86:8: error: extra qualification not allowed [-fpermissive]
+ 86 | struct internal::MediaLogPropertyTypeConverter<media::AudioDecoderConfig> {
+ | ^~~~~~~~
+../../media/base/media_log_properties_helper.h:86:75: error: explicit specialization of non-template 'media::internal::<unnamed struct>'
+ 86 | struct internal::MediaLogPropertyTypeConverter<media::AudioDecoderConfig> {
+ | ^
+
+diff --git a/media/base/media_log_properties_helper.h b/media/base/media_log_properties_helper.h
+index 95ff70a..549b003 100644
+--- a/media/base/media_log_properties_helper.h
++++ b/media/base/media_log_properties_helper.h
+@@ -83,7 +83,7 @@ struct MediaLogPropertyTypeConverter<std::vector<T>> {
+
+ // Specializer for sending AudioDecoderConfigs to the media tab in devtools.
+ template <>
+-struct internal::MediaLogPropertyTypeConverter<media::AudioDecoderConfig> {
++struct MediaLogPropertyTypeConverter<media::AudioDecoderConfig> {
+ static base::Value Convert(const AudioDecoderConfig& value) {
+ base::Value result(base::Value::Type::DICTIONARY);
+ result.SetStringKey("codec", GetCodecName(value.codec()));
+@@ -114,7 +114,7 @@ struct internal::MediaLogPropertyTypeConverter<media::AudioDecoderConfig> {
+
+ // Specializer for sending VideoDecoderConfigs to the media tab in devtools.
+ template <>
+-struct internal::MediaLogPropertyTypeConverter<VideoDecoderConfig> {
++struct MediaLogPropertyTypeConverter<VideoDecoderConfig> {
+ static base::Value Convert(const VideoDecoderConfig& value) {
+ base::Value result(base::Value::Type::DICTIONARY);
+ result.SetStringKey("codec", GetCodecName(value.codec()));
diff --git a/chromium-80-gcc-quiche.patch b/chromium-80-gcc-quiche.patch
new file mode 100644
index 0000000..aa3d541
--- /dev/null
+++ b/chromium-80-gcc-quiche.patch
@@ -0,0 +1,30 @@
+From 00f47df999c9b19e80fdc01db0ae9ca1b6a12b3a Mon Sep 17 00:00:00 2001
+From: vasilvv <vasilvv(a)google.com>
+Date: Wed, 03 Apr 2019 13:58:53 -0700
+Subject: [PATCH] GCC: do not delete move constructor of QuicStreamSendBuffer
+
+QuicStreamSendBuffer constructor is implicitely required in the
+initialization of the vector of substreams in QuicCryptoStream.
+Though clang apparently ignores that, GCC fails to build.
+
+BUG=chromium:819294
+
+Originally submitted by José Dapena Paz <jose.dapena(a)lge.com> at https://quiche-review.googlesource.com/c/quiche/+/2420
+
+PiperOrigin-RevId: 241800134
+Change-Id: I4e3c97d6e5895d85340e8c1b740e6196d9104066
+---
+
+diff --git a/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h b/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
+index e34514b..74e9d0d 100644
+--- a/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
++++ b/net/third_party/quiche/src/quic/core/quic_stream_send_buffer.h
+@@ -62,7 +62,7 @@
+ public:
+ explicit QuicStreamSendBuffer(QuicBufferAllocator* allocator);
+ QuicStreamSendBuffer(const QuicStreamSendBuffer& other) = delete;
+- QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = delete;
++ QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = default;
+ ~QuicStreamSendBuffer();
+
+ // Save |data_length| of data starts at |iov_offset| in |iov| to send buffer.
diff --git a/chromium-80-include.patch b/chromium-80-include.patch
new file mode 100644
index 0000000..dd85de7
--- /dev/null
+++ b/chromium-80-include.patch
@@ -0,0 +1,33 @@
+From 8273f4d3130e06fd8b6bef87b07c936304b971d9 Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Date: Tue, 10 Dec 2019 20:59:57 +0000
+Subject: [PATCH] [cros search service]: Include <cmath> for std::pow()
+
+IWYU. Follow up to commit 2b2ea3c09b ("[cros search service] Move shared
+string matching functions to //chrome"), which broke the libstdc++ build:
+
+ ../../chrome/common/string_matching/fuzzy_tokenized_string_match.cc:199:14: error: no member named 'pow' in namespace 'std'
+ std::pow(partial_match_penalty_rate, long_start - current - 1);
+ ~~~~~^
+
+Bug: 957519
+Change-Id: I66f61cb4f93cfa0bfa3d1b00ba391ddd8f31a7fb
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1960310
+Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Reviewed-by: Jia Meng <jiameng(a)chromium.org>
+Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Cr-Commit-Position: refs/heads/master@{#723499}
+---
+
+diff --git a/chrome/common/string_matching/fuzzy_tokenized_string_match.cc b/chrome/common/string_matching/fuzzy_tokenized_string_match.cc
+index 8351fa7..884ef63 100644
+--- a/chrome/common/string_matching/fuzzy_tokenized_string_match.cc
++++ b/chrome/common/string_matching/fuzzy_tokenized_string_match.cc
+@@ -5,6 +5,7 @@
+ #include "chrome/common/string_matching/fuzzy_tokenized_string_match.h"
+
+ #include <algorithm>
++#include <cmath>
+ #include <iterator>
+
+ #include "base/i18n/case_conversion.h"
diff --git a/chromium-80-unbundle-libxml.patch b/chromium-80-unbundle-libxml.patch
new file mode 100644
index 0000000..0f36905
--- /dev/null
+++ b/chromium-80-unbundle-libxml.patch
@@ -0,0 +1,101 @@
+diff --git a/build/linux/unbundle/libxml.gn b/build/linux/unbundle/libxml.gn
+index c481bd3..3aaa1a4 100644
+--- a/build/linux/unbundle/libxml.gn
++++ b/build/linux/unbundle/libxml.gn
+@@ -8,11 +8,52 @@ pkg_config("system_libxml") {
+ packages = [ "libxml-2.0" ]
+ }
+
+-static_library("libxml") {
++source_set("libxml") {
++ public_configs = [ ":system_libxml" ]
++}
++
++static_library("libxml_utils") {
++ # Do not expand this visibility list without first consulting with the
++ # Security Team.
++ visibility = [
++ ":xml_reader",
++ ":xml_writer",
++ "//base/test:test_support",
++ "//services/data_decoder:xml_parser_fuzzer",
++ ]
+ sources = [
+ "chromium/libxml_utils.cc",
+ "chromium/libxml_utils.h",
+ ]
+-
+ public_configs = [ ":system_libxml" ]
+ }
++
++static_library("xml_reader") {
++ # Do not expand this visibility list without first consulting with the
++ # Security Team.
++ visibility = [
++ "//base/test:test_support",
++ "//components/policy/core/common:unit_tests",
++ "//services/data_decoder:*",
++ "//tools/traffic_annotation/auditor:auditor_sources",
++ ]
++ sources = [
++ "chromium/xml_reader.cc",
++ "chromium/xml_reader.h",
++ ]
++ deps = [
++ ":libxml_utils",
++ ]
++}
++
++static_library("xml_writer") {
++ # The XmlWriter is considered safe to use from any target.
++ visibility = [ "*" ]
++ sources = [
++ "chromium/xml_writer.cc",
++ "chromium/xml_writer.h",
++ ]
++ deps = [
++ ":libxml_utils",
++ ]
++}
+diff --git a/third_party/libxml/chromium/libxml_utils.h b/third_party/libxml/chromium/libxml_utils.h
+index ff969fa..e0f3ecd 100644
+--- a/third_party/libxml/chromium/libxml_utils.h
++++ b/third_party/libxml/chromium/libxml_utils.h
+@@ -6,8 +6,7 @@
+ #define THIRD_PARTY_LIBXML_CHROMIUM_LIBXML_UTILS_H_
+
+ #include <string>
+-
+-#include "third_party/libxml/src/include/libxml/xmlreader.h"
++#include <libxml/xmlreader.h>
+
+ // libxml uses a global error function pointer for reporting errors.
+ // A ScopedXmlErrorFunc object lets you change the global error pointer
+diff --git a/third_party/libxml/chromium/xml_reader.cc b/third_party/libxml/chromium/xml_reader.cc
+index 92464f4..4779290 100644
+--- a/third_party/libxml/chromium/xml_reader.cc
++++ b/third_party/libxml/chromium/xml_reader.cc
+@@ -7,7 +7,8 @@
+ #include <vector>
+
+ #include "third_party/libxml/chromium/libxml_utils.h"
+-#include "third_party/libxml/src/include/libxml/xmlreader.h"
++
++#include <libxml/xmlreader.h>
+
+ using internal::XmlStringToStdString;
+
+diff --git a/third_party/libxml/chromium/xml_writer.cc b/third_party/libxml/chromium/xml_writer.cc
+index 51fce8e..aa3a34f 100644
+--- a/third_party/libxml/chromium/xml_writer.cc
++++ b/third_party/libxml/chromium/xml_writer.cc
+@@ -5,7 +5,8 @@
+ #include "third_party/libxml/chromium/xml_writer.h"
+
+ #include "third_party/libxml/chromium/libxml_utils.h"
+-#include "third_party/libxml/src/include/libxml/xmlwriter.h"
++
++#include <libxml/xmlwriter.h>
+
+ XmlWriter::XmlWriter() : writer_(nullptr), buffer_(nullptr) {}
+
diff --git a/chromium-80.0.3987.106-missing-cstddef-header.patch b/chromium-80.0.3987.106-missing-cstddef-header.patch
new file mode 100644
index 0000000..832cf02
--- /dev/null
+++ b/chromium-80.0.3987.106-missing-cstddef-header.patch
@@ -0,0 +1,44 @@
+diff -up chromium-80.0.3987.106/chrome/browser/search/background/ntp_backgrounds.h.missing-cstddef chromium-80.0.3987.106/chrome/browser/search/background/ntp_backgrounds.h
+--- chromium-80.0.3987.106/chrome/browser/search/background/ntp_backgrounds.h.missing-cstddef 2020-02-18 08:42:38.088243182 -0500
++++ chromium-80.0.3987.106/chrome/browser/search/background/ntp_backgrounds.h 2020-02-18 08:42:59.679782858 -0500
+@@ -6,6 +6,7 @@
+ #define CHROME_BROWSER_SEARCH_BACKGROUND_NTP_BACKGROUNDS_H_
+
+ #include <array>
++#include <cstddef>
+
+ class GURL;
+
+diff -up chromium-80.0.3987.106/media/cdm/supported_cdm_versions.h.missing-cstddef chromium-80.0.3987.106/media/cdm/supported_cdm_versions.h
+--- chromium-80.0.3987.106/media/cdm/supported_cdm_versions.h.missing-cstddef 2020-02-17 16:26:51.661246220 -0500
++++ chromium-80.0.3987.106/media/cdm/supported_cdm_versions.h 2020-02-17 16:26:51.662246200 -0500
+@@ -6,6 +6,7 @@
+ #define MEDIA_CDM_SUPPORTED_CDM_VERSIONS_H_
+
+ #include <array>
++#include <cstddef>
+
+ #include "media/base/media_export.h"
+ #include "media/cdm/api/content_decryption_module.h"
+diff -up chromium-80.0.3987.106/third_party/angle/include/platform/Platform.h.missing-cstddef chromium-80.0.3987.106/third_party/angle/include/platform/Platform.h
+--- chromium-80.0.3987.106/third_party/angle/include/platform/Platform.h.missing-cstddef 2020-02-17 16:26:07.433130572 -0500
++++ chromium-80.0.3987.106/third_party/angle/include/platform/Platform.h 2020-02-17 16:26:07.434130552 -0500
+@@ -11,6 +11,7 @@
+
+ #include <stdint.h>
+ #include <array>
++#include <cstddef>
+
+ #define EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX 0x3482
+
+diff -up chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.missing-cstddef chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
+--- chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h.missing-cstddef 2020-02-17 16:23:41.385050827 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h 2020-02-17 16:23:41.368051167 -0500
+@@ -12,6 +12,7 @@
+ #define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_
+
+ #include <array>
++#include <cstddef>
+
+ namespace webrtc {
+
diff --git a/chromium-80.0.3987.106-missing-cstring-header.patch b/chromium-80.0.3987.106-missing-cstring-header.patch
new file mode 100644
index 0000000..646dac6
--- /dev/null
+++ b/chromium-80.0.3987.106-missing-cstring-header.patch
@@ -0,0 +1,34 @@
+diff -up chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc
+--- chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc.missing-cstring 2020-02-21 13:19:47.077683105 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/audio/utility/channel_mixer.cc 2020-02-21 13:19:47.077683105 -0500
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstring>
++
+ #include "audio/utility/channel_mixer.h"
+
+ #include "audio/utility/channel_mixing_matrix.h"
+diff -up chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
+--- chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.missing-cstring 2020-02-21 13:19:48.171659179 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc 2020-02-21 13:19:48.174659113 -0500
+@@ -17,6 +17,7 @@
+ #include <spa/param/video/raw-utils.h>
+ #include <spa/support/type-map.h>
+
++#include <cstring>
+ #include <memory>
+ #include <utility>
+
+diff -up chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc
+--- chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc.missing-cstring 2020-02-21 13:30:09.609068057 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/modules/video_coding/utility/ivf_file_reader.cc 2020-02-21 13:30:23.791757875 -0500
+@@ -10,6 +10,7 @@
+
+ #include "modules/video_coding/utility/ivf_file_reader.h"
+
++#include <cstring>
+ #include <string>
+ #include <vector>
+
diff --git a/chromium-80.0.3987.87-fix-for-c++17.patch b/chromium-80.0.3987.87-fix-for-c++17.patch
new file mode 100644
index 0000000..3a29df9
--- /dev/null
+++ b/chromium-80.0.3987.87-fix-for-c++17.patch
@@ -0,0 +1,190 @@
+diff -up chromium-80.0.3987.87/base/containers/flat_tree.h.c17 chromium-80.0.3987.87/base/containers/flat_tree.h
+--- chromium-80.0.3987.87/base/containers/flat_tree.h.c17 2020-02-10 10:48:05.982500272 -0500
++++ chromium-80.0.3987.87/base/containers/flat_tree.h 2020-02-10 11:04:42.148507892 -0500
+@@ -776,7 +776,11 @@ template <class Key, class Value, class
+ template <typename K>
+ auto flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::find(const K& key)
+ -> iterator {
++#ifdef __cpp_lib_as_const
++ return const_cast_it(std::as_const(*this).find(key));
++#else
+ return const_cast_it(as_const(*this).find(key));
++#endif
+ }
+
+ template <class Key, class Value, class GetKeyFromValue, class KeyCompare>
+@@ -799,7 +803,11 @@ template <class Key, class Value, class
+ template <typename K>
+ auto flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::equal_range(
+ const K& key) -> std::pair<iterator, iterator> {
++#ifdef __cpp_lib_as_const
++ auto res = std::as_const(*this).equal_range(key);
++#else
+ auto res = as_const(*this).equal_range(key);
++#endif
+ return {const_cast_it(res.first), const_cast_it(res.second)};
+ }
+
+@@ -820,7 +828,11 @@ template <class Key, class Value, class
+ template <typename K>
+ auto flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::lower_bound(
+ const K& key) -> iterator {
++#ifdef __cpp_lib_as_const
++ return const_cast_it(std::as_const(*this).lower_bound(key));
++#else
+ return const_cast_it(as_const(*this).lower_bound(key));
++#endif
+ }
+
+ template <class Key, class Value, class GetKeyFromValue, class KeyCompare>
+@@ -841,7 +853,11 @@ template <class Key, class Value, class
+ template <typename K>
+ auto flat_tree<Key, Value, GetKeyFromValue, KeyCompare>::upper_bound(
+ const K& key) -> iterator {
++#ifdef __cpp_lib_as_const
++ return const_cast_it(std::as_const(*this).upper_bound(key));
++#else
+ return const_cast_it(as_const(*this).upper_bound(key));
++#endif
+ }
+
+ template <class Key, class Value, class GetKeyFromValue, class KeyCompare>
+diff -up chromium-80.0.3987.106/third_party/webrtc/BUILD.gn.c17fix chromium-80.0.3987.106/third_party/webrtc/BUILD.gn
+--- chromium-80.0.3987.106/third_party/webrtc/BUILD.gn.c17fix 2020-02-20 15:00:23.439563056 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/BUILD.gn 2020-02-20 15:01:36.282355645 -0500
+@@ -237,6 +237,10 @@ config("common_config") {
+ cflags_objc = []
+ defines = []
+
++ if (!is_clang) {
++ cflags_cc += [ "-std=c++17" ]
++ }
++
+ if (rtc_enable_protobuf) {
+ defines += [ "WEBRTC_ENABLE_PROTOBUF=1" ]
+ } else {
+diff -up chromium-80.0.3987.106/third_party/abseil-cpp/BUILD.gn.c17fix chromium-80.0.3987.106/third_party/abseil-cpp/BUILD.gn
+--- chromium-80.0.3987.106/third_party/abseil-cpp/BUILD.gn.c17fix 2020-02-21 15:12:14.413937754 -0500
++++ chromium-80.0.3987.106/third_party/abseil-cpp/BUILD.gn 2020-02-21 15:12:59.128967149 -0500
+@@ -46,6 +46,10 @@ config("absl_default_cflags_cc") {
+ cflags_cc += [ "-Wbitfield-enum-conversion" ]
+ }
+ }
++ if (!is_clang) {
++ cflags_cc = [ "-std=c++17" ]
++ }
++
+ if (is_win) {
+ cflags_cc += [
+ "/wd4005", # macro-redefinition
+diff -up chromium-80.0.3987.106/third_party/openscreen/src/tools/cddl/BUILD.gn.c17fix chromium-80.0.3987.106/third_party/openscreen/src/tools/cddl/BUILD.gn
+--- chromium-80.0.3987.106/third_party/openscreen/src/tools/cddl/BUILD.gn.c17fix 2020-02-21 15:35:56.269180510 -0500
++++ chromium-80.0.3987.106/third_party/openscreen/src/tools/cddl/BUILD.gn 2020-02-21 15:42:12.718900742 -0500
+@@ -22,6 +22,10 @@ if (current_toolchain == host_toolchain)
+ "../../third_party/abseil",
+ ]
+
++ if (!is_clang) {
++ cflags_cc = [ "-std=c++17" ]
++ }
++
+ configs += [ "../../build:openscreen_include_dirs" ]
+ }
+ }
+diff -up chromium-80.0.3987.106/build/config/compiler/BUILD.gn.c17hack chromium-80.0.3987.106/build/config/compiler/BUILD.gn
+--- chromium-80.0.3987.106/build/config/compiler/BUILD.gn.c17hack 2020-02-21 16:09:22.871980103 -0500
++++ chromium-80.0.3987.106/build/config/compiler/BUILD.gn 2020-02-21 16:09:28.606856106 -0500
+@@ -570,7 +570,7 @@ config("compiler") {
+ if (cxx11_override) {
+ cflags_cc += [ "-std=c++11" ]
+ } else {
+- cflags_cc += [ "-std=c++14" ]
++ cflags_cc += [ "-std=c++17" ]
+ }
+ }
+
+diff -up chromium-80.0.3987.106/third_party/openscreen/src/build/config/BUILD.gn.c17fix chromium-80.0.3987.106/third_party/openscreen/src/build/config/BUILD.gn
+--- chromium-80.0.3987.106/third_party/openscreen/src/build/config/BUILD.gn.c17fix 2020-02-24 08:55:52.674819783 -0500
++++ chromium-80.0.3987.106/third_party/openscreen/src/build/config/BUILD.gn 2020-02-24 08:56:08.665466317 -0500
+@@ -67,8 +67,8 @@ config("openscreen_code") {
+ "-fno-strict-aliasing", # See http://crbug.com/32204
+ ]
+
+- cflags_cc = [ "-std=c++14" ]
+- cflags_objcc = [ "-std=c++14" ]
++ cflags_cc = [ "-std=c++17" ]
++ cflags_objcc = [ "-std=c++17" ]
+
+ ldflags = [ "-Werror" ]
+
+diff -up chromium-80.0.3987.106/build/config/compiler/BUILD.gn.c17fix chromium-80.0.3987.106/build/config/compiler/BUILD.gn
+--- chromium-80.0.3987.106/build/config/compiler/BUILD.gn.c17fix 2020-02-24 09:39:14.659536642 -0500
++++ chromium-80.0.3987.106/build/config/compiler/BUILD.gn 2020-02-24 09:39:23.098366657 -0500
+@@ -553,7 +553,7 @@ config("compiler") {
+ # Override Chromium's default for projects that wish to stay on C++11.
+ cflags_cc += [ "-std=${standard_prefix}++11" ]
+ } else {
+- cflags_cc += [ "-std=${standard_prefix}++14" ]
++ cflags_cc += [ "-std=${standard_prefix}++17" ]
+ }
+ } else if (!is_win && !is_nacl) {
+ if (target_os == "android") {
+diff -up chromium-80.0.3987.106/third_party/openscreen/src/platform/api/task_runner.h.spot chromium-80.0.3987.106/third_party/openscreen/src/platform/api/task_runner.h
+--- chromium-80.0.3987.106/third_party/openscreen/src/platform/api/task_runner.h.spot 2020-02-24 10:56:54.645126949 -0500
++++ chromium-80.0.3987.106/third_party/openscreen/src/platform/api/task_runner.h 2020-02-24 10:57:26.788407144 -0500
+@@ -22,7 +22,7 @@ namespace platform {
+ // that A shall run before B.
+ class TaskRunner {
+ public:
+- using Task = std::packaged_task<void() noexcept>;
++ using Task = std::packaged_task<void()>;
+
+ virtual ~TaskRunner() = default;
+
+diff -up chromium-80.0.3987.106/base/containers/circular_deque.h.c17fix chromium-80.0.3987.106/base/containers/circular_deque.h
+--- chromium-80.0.3987.106/base/containers/circular_deque.h.c17fix 2020-02-24 14:42:14.163076162 -0500
++++ chromium-80.0.3987.106/base/containers/circular_deque.h 2020-02-24 14:43:38.393120439 -0500
+@@ -522,11 +522,19 @@ class circular_deque {
+ return buffer_[i - right_size];
+ }
+ value_type& at(size_type i) {
++#ifdef __cpp_lib_as_const
++ return const_cast<value_type&>(std::as_const(*this).at(i));
++#else
+ return const_cast<value_type&>(as_const(*this).at(i));
++#endif
+ }
+
+ value_type& operator[](size_type i) {
++#ifdef __cpp_lib_as_const
++ return const_cast<value_type&>(std::as_const(*this)[i]);
++#else
+ return const_cast<value_type&>(as_const(*this)[i]);
++#endif
+ }
+
+ const value_type& operator[](size_type i) const { return at(i); }
+diff -up chromium-80.0.3987.106/device/bluetooth/bluetooth_adapter.cc.c17fix chromium-80.0.3987.106/device/bluetooth/bluetooth_adapter.cc
+--- chromium-80.0.3987.106/device/bluetooth/bluetooth_adapter.cc.c17fix 2020-02-24 16:09:58.810502665 -0500
++++ chromium-80.0.3987.106/device/bluetooth/bluetooth_adapter.cc 2020-02-24 16:10:35.484705843 -0500
+@@ -638,7 +638,7 @@ void BluetoothAdapter::RecordBluetoothDi
+ }
+
+ // static
+-constexpr base::TimeDelta BluetoothAdapter::timeoutSec =
++const extern base::TimeDelta BluetoothAdapter::timeoutSec =
+ base::TimeDelta::FromSeconds(180);
+
+ } // namespace device
+diff -up chromium-80.0.3987.122/content/browser/web_package/signed_exchange_prologue.cc.c17fix chromium-80.0.3987.122/content/browser/web_package/signed_exchange_prologue.cc
+--- chromium-80.0.3987.122/content/browser/web_package/signed_exchange_prologue.cc.c17fix 2020-02-27 13:48:15.815885662 -0500
++++ chromium-80.0.3987.122/content/browser/web_package/signed_exchange_prologue.cc 2020-02-27 13:48:24.146711682 -0500
+@@ -30,7 +30,7 @@ constexpr size_t kMaximumCBORHeaderLengt
+
+ namespace signed_exchange_prologue {
+
+-constexpr size_t BeforeFallbackUrl::kEncodedSizeInBytes =
++const extern size_t BeforeFallbackUrl::kEncodedSizeInBytes =
+ sizeof(kSignedExchangeMagic) + kFallbackUrlLengthFieldSizeInBytes;
+
+ size_t Parse2BytesEncodedLength(base::span<const uint8_t> input) {
diff --git a/chromium-80.0.3987.87-missing-cstdint-header.patch b/chromium-80.0.3987.87-missing-cstdint-header.patch
new file mode 100644
index 0000000..e61042f
--- /dev/null
+++ b/chromium-80.0.3987.87-missing-cstdint-header.patch
@@ -0,0 +1,55 @@
+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
+@@ -11,6 +11,7 @@
+ #ifndef CALL_RTX_RECEIVE_STREAM_H_
+ #define CALL_RTX_RECEIVE_STREAM_H_
+
++#include <cstdint>
+ #include <map>
+
+ #include "call/rtp_packet_sink_interface.h"
+diff -up chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h
+--- chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h.missing-cstdint 2020-02-21 12:30:31.564317903 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/common_video/h264/pps_parser.h 2020-02-21 12:30:31.561317957 -0500
+@@ -11,6 +11,7 @@
+ #ifndef COMMON_VIDEO_H264_PPS_PARSER_H_
+ #define COMMON_VIDEO_H264_PPS_PARSER_H_
+
++#include <cstdint>
+ #include "absl/types/optional.h"
+
+ namespace rtc {
+diff -up chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h
+--- chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h.missing-cstdint 2020-02-21 12:30:31.565317885 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/common_video/h264/sps_parser.h 2020-02-21 12:30:31.565317885 -0500
+@@ -11,6 +11,7 @@
+ #ifndef COMMON_VIDEO_H264_SPS_PARSER_H_
+ #define COMMON_VIDEO_H264_SPS_PARSER_H_
+
++#include <cstdint>
+ #include "absl/types/optional.h"
+
+ namespace rtc {
+diff -up chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h.missing-cstdint chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h
+--- chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h.missing-cstdint 2020-02-21 12:52:16.946512744 -0500
++++ chromium-80.0.3987.106/third_party/webrtc/modules/include/module_common_types_public.h 2020-02-21 12:52:26.220312608 -0500
+@@ -11,6 +11,7 @@
+ #ifndef MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
+ #define MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
+
++#include <cstdint>
+ #include <limits>
+
+ #include "absl/types/optional.h"
diff --git a/chromium-80.0.3987.87-missing-string-header.patch b/chromium-80.0.3987.87-missing-string-header.patch
new file mode 100644
index 0000000..6bb4c7d
--- /dev/null
+++ b/chromium-80.0.3987.87-missing-string-header.patch
@@ -0,0 +1,11 @@
+diff -up chromium-80.0.3987.87/base/trace_event/trace_event_memory_overhead.h.missing-string chromium-80.0.3987.87/base/trace_event/trace_event_memory_overhead.h
+--- chromium-80.0.3987.87/base/trace_event/trace_event_memory_overhead.h.missing-string 2020-02-06 16:47:15.707676509 -0500
++++ chromium-80.0.3987.87/base/trace_event/trace_event_memory_overhead.h 2020-02-06 16:47:23.782504337 -0500
+@@ -8,6 +8,7 @@
+ #include <stddef.h>
+ #include <stdint.h>
+
++#include <string>
+ #include <unordered_map>
+
+ #include "base/base_export.h"
diff --git a/chromium-freeworld.spec b/chromium-freeworld.spec
index 6ae20c2..c33acb9 100644
--- a/chromium-freeworld.spec
+++ b/chromium-freeworld.spec
@@ -35,7 +35,7 @@
%bcond_without system_libxml2
# Clang toggle
-%global clang 1
+%global clang 0
# Allow testing whether icu can be unbundled
# A patch fix building so enabled by default for Fedora 30
@@ -69,8 +69,8 @@
%global ozone 0
##############################Package Definitions######################################
Name: chromium-freeworld
-Version: 79.0.3945.130
-Release: 2%{?dist}
+Version: 80.0.3987.122
+Release: 1%{?dist}
Summary: Chromium-freeworld is an open-source web browser, powered by WebKit (Blink). It comes with all freeworld codecs and video acceleration enabled.
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
URL: https://www.chromium.org/Home
@@ -222,23 +222,32 @@ Patch51: py2-bootstrap.patch
Patch52: chromium-system-icu.patch
# Let's brand chromium!
Patch54: brand.patch
-#Stolen from Fedora to fix building with pipewire
-# https://src.fedoraproject.org/rpms/chromium/blob/master/f/chromium-73.0.3...
-Patch65: chromium-73.0.3683.75-pipewire-cstring-fix.patch
# Fix header
Patch68: Add-missing-header-to-fix-webrtc-build.patch
Patch69: chromium-unbundle-zlib.patch
Patch70: chromium-base-location.patch
-Patch71: fix-spammy-unique-font-matching-log.patch
-# GCC
-Patch72: include-algorithm-to-use-std-lower_bound.patch
-Patch73: launch_manager.h-uses-std-vector.patch
-# Fix: STolen from Fedora
-Patch74: chromium-79.0.3945.56-glibc-clock-nanosleep.patch
-# ICU ver. 65 support on Rawhide
-Patch75: icu65.patch
-#Fix building with system harfbuzz
-Patch76: chromium-fix-use_system_harfbuzz-ng.patch
+
+# Gentoo:
+Patch400: chromium-80-include.patch
+Patch401: chromium-80-gcc-incomplete-type.patch
+Patch402: chromium-80-gcc-quiche.patch
+Patch403: chromium-80-gcc-permissive.patch
+Patch404: chromium-80-gcc-blink.patch
+Patch405: chromium-80-gcc-abstract.patch
+%if %{with system_libxml2}
+Patch406: chromium-80-unbundle-libxml.patch
+%endif
+
+# Fedora:
+Patch500: chromium-80.0.3987.87-missing-string-header.patch
+Patch501: chromium-80.0.3987.106-missing-cstddef-header.patch
+Patch502: chromium-80.0.3987.87-missing-cstdint-header.patch
+Patch503: chromium-77.0.3865.75-gcc-include-memory.patch
+Patch504: chromium-80.0.3987.106-missing-cstring-header.patch
+%if 0%{?fedora} >= 32
+Patch505: chromium-79.0.3945.130-gcc10-use-c++17-to-work-around-ugly-angle-code.patch
+Patch506: chromium-80.0.3987.87-fix-for-c++17.patch
+%endif
%description
@@ -252,11 +261,6 @@ Patch76: chromium-fix-use_system_harfbuzz-ng.patch
%if !%{freeworld}
%patch54 -p1 -R
%endif
-%if 0%{?fedora} <= 31
-# Only on Rawhide
-%patch74 -p1 -R
-%patch75 -p1 -R
-%endif
#Let's change the default shebang of python files.
@@ -292,6 +296,7 @@ find -depth -type f -writable -name "*.py" -exec sed -iE '1s=^#! */usr/bin/\(pyt
third_party/angle/src/third_party/compiler \
third_party/angle/src/third_party/libXNVCtrl \
third_party/angle/src/third_party/trace_event \
+ third_party/libgifcodec \
third_party/glslang \
third_party/angle/third_party/spirv-headers \
third_party/angle/third_party/spirv-tools \
@@ -303,9 +308,6 @@ find -depth -type f -writable -name "*.py" -exec sed -iE '1s=^#! */usr/bin/\(pyt
third_party/axe-core \
third_party/boringssl \
third_party/boringssl/src/third_party/fiat \
- third_party/boringssl/src/third_party/sike \
- third_party/boringssl/linux-aarch64/crypto/third_party/sike \
- third_party/boringssl/linux-x86_64/crypto/third_party/sike \
third_party/blink \
third_party/breakpad \
third_party/breakpad/breakpad/src/third_party/curl \
@@ -339,13 +341,14 @@ find -depth -type f -writable -name "*.py" -exec sed -iE '1s=^#! */usr/bin/\(pyt
third_party/depot_tools \
third_party/dav1d \
third_party/devscripts \
+ third_party/devtools-frontend \
+ third_party/devtools-frontend/src/third_party \
third_party/dom_distiller_js \
third_party/emoji-segmenter \
%if !%{with system_ffmpeg}
third_party/ffmpeg \
%endif
third_party/flatbuffers \
- third_party/flot \
third_party/freetype \
third_party/google_input_tools \
third_party/google_input_tools/third_party/closure_library \
@@ -439,7 +442,6 @@ find -depth -type f -writable -name "*.py" -exec sed -iE '1s=^#! */usr/bin/\(pyt
third_party/skia \
third_party/skia/include/third_party/skcms \
third_party/skia/include/third_party/vulkan \
- third_party/skia/third_party/gif \
third_party/skia/third_party/vulkan \
third_party/skia/third_party/skcms \
third_party/smhasher \
@@ -693,7 +695,6 @@ install -m 755 %{target}/chromedriver %{buildroot}%{chromiumdir}/
%if !%{with system_libicu}
install -m 644 %{target}/icudtl.dat %{buildroot}%{chromiumdir}/
%endif
-install -m 644 %{target}/natives_blob.bin %{buildroot}%{chromiumdir}/
install -m 644 %{target}/v8_context_snapshot.bin %{buildroot}%{chromiumdir}/
install -m 644 %{target}/*.pak %{buildroot}%{chromiumdir}/
install -m 644 %{target}/locales/*.pak %{buildroot}%{chromiumdir}/locales/
@@ -741,7 +742,6 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
%if !%{with system_libicu}
%{chromiumdir}/icudtl.dat
%endif
-%{chromiumdir}/natives_blob.bin
%{chromiumdir}/v8_context_snapshot.bin
%{chromiumdir}/*.pak
%{chromiumdir}/xdg-mime
@@ -756,6 +756,9 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/swiftshader/libGLESv2.so
#########################################changelogs#################################################
%changelog
+* Sun Mar 01 2020 qvint <dotqvint(a)gmail.com> - 80.0.3987.122-1
+- Update to 80.0.3987.122
+
* Tue Feb 04 2020 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 79.0.3945.130-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
@@ -785,6 +788,3 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
* Thu Oct 31 2019 Akarshan Biswas <akarshanbiswas(a)fedoraproject.org> - 78.0.3904.70-1
- IMPORT: rename package; add back Fedora build flags
-
-
-
diff --git a/sources b/sources
index 016cd54..27854b8 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (chromium-79.0.3945.130.tar.xz) = 4b5d4769b068f20b8028085a148cbaf31311eeffad0a22c5c0909af273a8e57e077b33cc93331bbeff9165477262eed2e345b2224ac4f76d8bdb79f983596a81
+SHA512 (chromium-80.0.3987.122.tar.xz) = 3a022c55f5745f2cfb7e28efb113f78ff686da638cd02f0585ef1ae8620f81ece864bc27b4e0a88daf3f409ff565a9b80b8859d1fd7d62c8b1d26cb8b311acc5
4 years, 7 months
[chromium-browser-privacy: 40/51] Merge branch 'f31' into f30
by qvint
commit 6e524bd7913cf6eddf52166b9961177007fe0177
Merge: 5ae37af ed3ed89
Author: qvint <dotqvint(a)gmail.com>
Date: Sun Mar 1 10:13:58 2020 +0300
Merge branch 'f31' into f30
add-missing-include-for-unique_ptr.patch | 30 ------------------------------
chromium-freeworld.spec | 5 ++++-
2 files changed, 4 insertions(+), 31 deletions(-)
---
4 years, 7 months
[chromium-browser-privacy: 39/51] Merge branch 'f32' into f31
by qvint
commit ed3ed890f4d7c2e3c8f8ea5798948bc25c664965
Merge: a3b2592 03d6f4b
Author: qvint <dotqvint(a)gmail.com>
Date: Sun Mar 1 10:10:54 2020 +0300
Merge branch 'f32' into f31
add-missing-include-for-unique_ptr.patch | 30 ------------------------------
chromium-freeworld.spec | 7 +++++--
2 files changed, 5 insertions(+), 32 deletions(-)
---
diff --cc chromium-freeworld.spec
index 0892723,0775962..6ae20c2
--- a/chromium-freeworld.spec
+++ b/chromium-freeworld.spec
@@@ -54,7 -54,7 +54,7 @@@
%bcond_with system_ffmpeg
#Allow minizip to be unbundled
#mini-compat is going to be removed from fedora 30!
--%bcond_with system_minizip
++%bcond_without system_minizip
%endif
# Need re2 ver. 2016.07.21 for re2::LazyRE2
4 years, 7 months