commit c4c8cd7ec7085d88fc8789db67d0e709182ad050
Author: qvint <dotqvint(a)gmail.com>
Date: Sat Jul 18 15:19:46 2020 +0300
Update to 84.0.4147.89
- Use patchset composed by Stephan Hartmann
- Bundle xcb-proto
.gitignore | 2 +
...-b794998819088f76b4cf44c8db6940240c563cf4.patch | 18 ---
chromium-82-gcc-noexcept.patch | 31 -----
chromium-82-gcc-template.patch | 48 --------
chromium-83-gcc-10-r31184.patch | 35 ------
chromium-83-gcc-10-r766427.patch | 27 -----
chromium-83-gcc-10.patch | 20 ---
chromium-83-gcc-include.patch | 22 ----
chromium-83-gcc-iterator.patch | 36 ------
chromium-83-gcc-r756880.patch | 69 -----------
chromium-83-gcc-r760272.patch | 27 -----
chromium-83-gcc-r760588.patch | 58 ---------
chromium-83-gcc-r762806.patch | 43 -------
chromium-83-gcc-r766770.patch | 134 ---------------------
chromium-84-nss-r771840.patch | 38 ++++++
chromium-enable-vaapi.patch | 8 +-
chromium-fix-vaapi-on-intel.patch | 8 +-
chromium-freeworld.spec | 73 +++++++----
...bootstrap.patch => chromium-py2-bootstrap.patch | 0
sources | 4 +-
20 files changed, 99 insertions(+), 602 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e912076..9d45c0d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,3 @@
chromium-*.tar.xz
+chromium-patches-*.tar.gz
+xcb-proto-*.tar.bz2
diff --git a/chromium-84-nss-r771840.patch b/chromium-84-nss-r771840.patch
new file mode 100644
index 0000000..6d01c11
--- /dev/null
+++ b/chromium-84-nss-r771840.patch
@@ -0,0 +1,38 @@
+From 3a3effdd81e97bfc4f2698cd1f41b008355b0469 Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Date: Tue, 26 May 2020 16:34:45 +0000
+Subject: [PATCH] scoped_nss_types.h: Include <certt.h> instead of
+ <nss/certt.h>
+
+Follow-up to commit 701cae5de ("Introduce a function to format a DER-encoded
+SPKI for UI").
+
+That is the format used by other files that include <certt.h>, and the
+pkg-config configuration already passes -I/path/to/nss to the compiler.
+
+This can potentially fix the non-sysroot build, as the NSS headers might be
+installed in e.g. /usr/include/nss3 rather than /usr/include/nss.
+
+Change-Id: I0461a7a7f8c93459f2281ea71c96434a74687ee8
+Reviewed-on:
https://chromium-review.googlesource.com/c/chromium/src/+/2214390
+Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa(a)intel.com>
+Commit-Queue: David Benjamin <davidben(a)chromium.org>
+Reviewed-by: David Benjamin <davidben(a)chromium.org>
+Cr-Commit-Position: refs/heads/master@{#771840}
+---
+ crypto/scoped_nss_types.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/crypto/scoped_nss_types.h
++++ b/crypto/scoped_nss_types.h
+@@ -5,9 +5,9 @@
+ #ifndef CRYPTO_SCOPED_NSS_TYPES_H_
+ #define CRYPTO_SCOPED_NSS_TYPES_H_
+
++#include <certt.h>
+ #include <keyhi.h>
+ #include <nss.h>
+-#include <nss/certt.h>
+ #include <pk11pub.h>
+ #include <plarena.h>
+
diff --git a/chromium-enable-vaapi.patch b/chromium-enable-vaapi.patch
index ece03af..50bb0f0 100644
--- a/chromium-enable-vaapi.patch
+++ b/chromium-enable-vaapi.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Enable VAAPI on Linux
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
-@@ -2153,7 +2153,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2367,7 +2367,7 @@ const FeatureEntry kFeatureEntries[] = {
"disable-accelerated-video-decode",
flag_descriptions::kAcceleratedVideoDecodeName,
flag_descriptions::kAcceleratedVideoDecodeDescription,
@@ -14,7 +14,7 @@ Subject: [PATCH] Enable VAAPI on Linux
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
},
{
-@@ -2585,12 +2585,12 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2798,12 +2798,12 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebXrForceRuntimeDescription, kOsDesktop,
MULTI_VALUE_TYPE(kWebXrForceRuntimeChoices)},
#endif // ENABLE_VR
@@ -32,7 +32,7 @@ Subject: [PATCH] Enable VAAPI on Linux
FEATURE_VALUE_TYPE(features::kSystemKeyboardLock)},
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
-@@ -2980,16 +2980,19 @@ const char kMetalDescription[] =
+@@ -3136,16 +3136,19 @@ const char kMetalDescription[] =
#endif
@@ -57,7 +57,7 @@ Subject: [PATCH] Enable VAAPI on Linux
"Use the aggregated ML model to rank the suggested apps.";
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
-@@ -1711,13 +1711,19 @@ extern const char kMetalDescription[];
+@@ -1820,13 +1820,19 @@ extern const char kMetalDescription[];
#endif // defined(OS_MACOSX)
diff --git a/chromium-fix-vaapi-on-intel.patch b/chromium-fix-vaapi-on-intel.patch
index 73281f4..f54cb69 100644
--- a/chromium-fix-vaapi-on-intel.patch
+++ b/chromium-fix-vaapi-on-intel.patch
@@ -21,7 +21,7 @@ Subject: [PATCH] Move offending function to chromeos only
} // namespace
-@@ -1155,6 +1157,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe
+@@ -1169,6 +1171,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe
if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT)
return BufferAllocationMode::kNormal;
@@ -30,11 +30,11 @@ Subject: [PATCH] Move offending function to chromeos only
// On Gemini Lake, Kaby Lake and later we can pass to libva the client's
// PictureBuffers to decode onto, which skips the use of the Vpp unit and its
// associated format reconciliation copy, avoiding all internal buffer
-@@ -1171,6 +1175,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe
+@@ -1184,6 +1188,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe
num_extra_pics_ = 3;
return BufferAllocationMode::kNone;
}
+#endif
- // If we're here, we have to use the Vpp unit and allocate buffers for
- // |decoder_|; usually we'd have to allocate the |decoder_|s
+ // For H.264 on older devices, another +1 is experimentally needed for
+ // high-to-high resolution changes.
diff --git a/chromium-freeworld.spec b/chromium-freeworld.spec
index 10146e7..b730fe8 100644
--- a/chromium-freeworld.spec
+++ b/chromium-freeworld.spec
@@ -66,11 +66,12 @@
%global ozone 0
##############################Package Definitions######################################
Name: chromium-freeworld
-Version: 83.0.4103.116
+Version: 84.0.4147.89
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...
%else
@@ -88,6 +89,15 @@ Source0:
https://commondatastorage.googleapis.com/chromium-browser-offici
# ./chromium-latest.py --stable --ffmpegclean --ffmpegarm --deleteunrar
Source0: chromium-%{version}-clean.tar.xz
%endif
+
+# Patchset composed by Stephan Hartmann.
+%global patchset_revision chromium-84-patchset-3
+Source1:
https://github.com/stha09/chromium-patches/archive/%{patchset_revision}/c...
+
+# Bundled xcb-proto. Chromium needs python2 version of this package.
+%global xcb_proto_version 1.13
+Source2:
https://xcb.freedesktop.org/dist/xcb-proto-%{xcb_proto_version}.tar.bz2
+
# The following two source files are copied and modified from the chromium source
Source10: %{name}.sh
#Add our own appdata file.
@@ -181,7 +191,6 @@ BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(libxslt)
BuildRequires: opus-devel
BuildRequires: snappy-devel
-BuildRequires: yasm
BuildRequires: expat-devel
BuildRequires: pciutils-devel
BuildRequires: speech-dispatcher-devel
@@ -208,28 +217,12 @@ Recommends: libva-utils
ExclusiveArch: x86_64
# Google patches (short-term fixes and backports):
-Patch150: chromium-83-gcc-r756880.patch
-Patch151: chromium-83-gcc-r760272.patch
-Patch152: chromium-83-gcc-r760588.patch
-Patch153: chromium-83-gcc-r762806.patch
-%if 0%{?fedora} >= 32
-Patch154: chromium-83-gcc-10-r31184.patch
-Patch155: chromium-83-gcc-10-r766427.patch
-%endif
-Patch156: chromium-83-gcc-r766770.patch
+Patch150: chromium-84-nss-r771840.patch
# Gentoo patches (short-term fixes):
-Patch250: chromium-83-gcc-include.patch
-Patch251: chromium-83-gcc-iterator.patch
-Patch252: chromium-82-gcc-template.patch
-Patch253: chromium-82-gcc-noexcept.patch
-%if 0%{?fedora} >= 32
-Patch254: chromium-83-gcc-10.patch
-%endif
# Fedora patches:
-Patch300: chromium-71.0.3578.98-py2-bootstrap.patch
-Patch301:
chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch
+Patch300: chromium-py2-bootstrap.patch
# RPM Fusion patches [free/chromium-freeworld]:
Patch400: chromium-enable-vaapi.patch
@@ -243,7 +236,23 @@ Patch403: chromium-rpm-fusion-brand.patch
%{name} is an open-source web browser, powered by WebKit (Blink)
############################################PREP###########################################################
%prep
-%autosetup -n chromium-%{version} -p1
+%setup -q -T -n chromium-patches-%{patchset_revision} -b 1
+%setup -q -T -n xcb-proto-%{xcb_proto_version} -b 2
+
+%global patchset_root %{_builddir}/chromium-patches-%{patchset_revision}
+%global xcb_proto_root %{_builddir}/xcb-proto-%{xcb_proto_version}
+
+%setup -q -n chromium-%{version}
+
+# Apply patchset composed by Stephan Hartmann.
+rm %{patchset_root}/chromium-84-compiler.patch
+for patch in %{patchset_root}/*.patch; do
+ echo "Applying ${patch}"
+ %{__patch} -p1 <"${patch}"
+done
+
+# Apply patches from this spec.
+%autopatch -p1
#Let's change the default shebang of python files.
find -depth -type f -writable -name "*.py" -exec sed -iE '1s=^#!
*/usr/bin/\(python\|env python\)[23]\?=#!%{__python2}=' {} +
@@ -325,6 +334,8 @@ find -depth -type f -writable -name "*.py" -exec sed -iE
'1s=^#! */usr/bin/\(pyt
third_party/dav1d \
third_party/devscripts \
third_party/devtools-frontend \
+ third_party/devtools-frontend/src/front_end/third_party/acorn \
+ third_party/devtools-frontend/src/front_end/third_party/codemirror \
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 \
@@ -359,6 +370,7 @@ find -depth -type f -writable -name "*.py" -exec sed -iE
'1s=^#! */usr/bin/\(pyt
third_party/libaom \
third_party/libaom/source/libaom/third_party/vector \
third_party/libaom/source/libaom/third_party/x86inc \
+ third_party/libavif \
third_party/libjingle \
third_party/libphonenumber \
third_party/libsecret \
@@ -377,6 +389,7 @@ find -depth -type f -writable -name "*.py" -exec sed -iE
'1s=^#! */usr/bin/\(pyt
%endif
third_party/libXNVCtrl \
third_party/libyuv \
+ third_party/lottie \
third_party/lss \
third_party/lzma_sdk \
third_party/mako \
@@ -398,6 +411,7 @@ find -depth -type f -writable -name "*.py" -exec sed -iE
'1s=^#! */usr/bin/\(pyt
third_party/one_euro_filter \
third_party/openh264 \
third_party/openscreen \
+ third_party/openscreen/src/third_party/mozilla \
third_party/openscreen/src/third_party/tinycbor/src/src \
third_party/ots \
third_party/pdfium \
@@ -455,7 +469,7 @@ find -depth -type f -writable -name "*.py" -exec sed -iE
'1s=^#! */usr/bin/\(pyt
third_party/web-animations-js \
third_party/webdriver \
third_party/webrtc \
- third_party/webrtc/common_audio/third_party/fft4g \
+ third_party/webrtc/common_audio/third_party/ooura \
third_party/webrtc/common_audio/third_party/spl_sqrt_floor \
third_party/webrtc/modules/third_party/fft \
third_party/webrtc/modules/third_party/g711 \
@@ -465,7 +479,6 @@ find -depth -type f -writable -name "*.py" -exec sed -iE
'1s=^#! */usr/bin/\(pyt
third_party/widevine \
third_party/woff2 \
third_party/xdg-utils \
- third_party/yasm/run_yasm.py \
third_party/zlib/google \
tools/grit/third_party/six \
%if !%{with system_minizip}
@@ -505,7 +518,6 @@ find -depth -type f -writable -name "*.py" -exec sed -iE
'1s=^#! */usr/bin/\(pyt
re2 \
%endif
snappy \
- yasm \
%if %{with system_minizip}
zlib
%endif
@@ -593,7 +605,6 @@ gn_args=(
enable_hangout_services_extension=false
fatal_linker_warnings=false
treat_warnings_as_errors=false
- linux_use_bundled_binutils=false
fieldtrial_testing_like_official_build=true
'custom_toolchain="//build/toolchain/linux/unbundle:default"'
'host_toolchain="//build/toolchain/linux/unbundle:default"'
@@ -649,6 +660,13 @@ gn_args+=(
blink_symbol_level=0
%endif
)
+
+# Bundled xcb-proto.
+gn_args+=(
+ 'xcbproto_path="%{xcb_proto_root}/src"'
+)
+export PYTHONPATH="${PYTHONPATH}${PYTHONPATH+:}%{xcb_proto_root}"
+
tools/gn/bootstrap/bootstrap.py --gn-gen-args "${gn_args[*]}"
%{target}/gn --script-executable=%{__python2} gen --args="${gn_args[*]}"
%{target}
%if %{debug_logs}
@@ -745,6 +763,11 @@ appstream-util validate-relax --nonet
"%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/swiftshader/libGLESv2.so
#########################################changelogs#################################################
%changelog
+* Sat Jul 18 2020 qvint <dotqvint(a)gmail.com> - 84.0.4147.89-1
+- Update to 84.0.4147.89
+- Use patchset composed by Stephan Hartmann <stha09(a)googlemail.com>
+- Bundle xcb-proto
+
* Thu Jun 25 2020 qvint <dotqvint(a)gmail.com> - 83.0.4103.116-1
- Update to 83.0.4103.116
diff --git a/chromium-71.0.3578.98-py2-bootstrap.patch b/chromium-py2-bootstrap.patch
similarity index 100%
rename from chromium-71.0.3578.98-py2-bootstrap.patch
rename to chromium-py2-bootstrap.patch
diff --git a/sources b/sources
index f3aa70a..f5f739a 100644
--- a/sources
+++ b/sources
@@ -1 +1,3 @@
-SHA512 (chromium-83.0.4103.116.tar.xz) =
dbd92fb04183ec1402401388f70b18b95040083c9ea8bf2ea6b1692fddc375b090968b13afb010ebf412b480b34747eb2c82709adbeb386cccf60b972f23254f
+SHA512 (chromium-84.0.4147.89.tar.xz) =
cc207a5f09a89e42bc12fd491d5d0ef11c04daaa324aa696d2f8a37679b8f2171d3b265296968c3312e158b0fd2c059e12727a7463d3bd2f640d5bbd43c4f676
+SHA512 (chromium-patches-chromium-84-patchset-3.tar.gz) =
ea7f5c9436bbbe3de2fa69f006e0e12be24e73a652d3ac780c30045dfd821b41d9b83779fd306eafc2455cbc8fced3477f5adff626318a4ab5e13b06d9a7234a
+SHA512 (xcb-proto-1.13.tar.bz2) =
002aa2aa0ad503977e03419c6f136f1e3aa8c787916830ce6d6be8f81ca99edc1d8fc5f71ce8c592b490cc767bf6567695f0bafe55fe3f743076bcddbaac07f7