commit 0a178cfc92165c311aff13d192b6c169ac44420e
Author: Leigh Scott <leigh123linux(a)gmail.com>
Date: Sat Sep 25 05:34:09 2021 +0100
Update to 94.0.4606.61
chromium-91-sql-standard-layout-type.patch | 6 +-
chromium-93-old-freetype.patch | 52 -
chromium-94-ffmpeg-roll.patch | 49 +
chromium-freeworld.sh | 1 +
chromium-freeworld.spec | 71 +-
chromium-names.patch | 6 +-
chromium-sandbox-fix-fstatat-crash.patch | 348 --
...box-syscall-broker-use-struct-kernel_stat.patch | 1384 -------
chromium-update-highway-0.12.2.patch | 4199 --------------------
remove-llvm13-warning-flags.patch | 12 +-
sources | 4 +-
11 files changed, 110 insertions(+), 6022 deletions(-)
---
diff --git a/chromium-91-sql-standard-layout-type.patch
b/chromium-91-sql-standard-layout-type.patch
index c1c68f1..21643c1 100644
--- a/chromium-91-sql-standard-layout-type.patch
+++ b/chromium-91-sql-standard-layout-type.patch
@@ -217,8 +217,8 @@ index 0e388ddc3b..99314e30ff 100644
+#include <array>
#include <cstdint>
#include <memory>
-
-@@ -70,7 +71,7 @@ class DatabasePageReader {
+ #include <ostream>
+@@ -71,7 +72,7 @@ class DatabasePageReader {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK_NE(page_id_, kInvalidPageId)
<< "Successful ReadPage() required before accessing pager
state";
@@ -227,7 +227,7 @@ index 0e388ddc3b..99314e30ff 100644
}
// The number of bytes in the page read by the last ReadPage() call.
-@@ -137,7 +138,7 @@ class DatabasePageReader {
+@@ -138,7 +139,7 @@ class DatabasePageReader {
int page_id_ = kInvalidPageId;
// Stores the bytes of the last page successfully read by ReadPage().
// The content is undefined if the last call to ReadPage() did not succeed.
diff --git a/chromium-94-ffmpeg-roll.patch b/chromium-94-ffmpeg-roll.patch
new file mode 100644
index 0000000..68f2636
--- /dev/null
+++ b/chromium-94-ffmpeg-roll.patch
@@ -0,0 +1,49 @@
+From b94755e4633045be96ab5e0bdde0db7e16a804bd Mon Sep 17 00:00:00 2001
+From: "liberato(a)chromium.org" <liberato(a)chromium.org>
+Date: Fri, 6 Aug 2021 04:25:31 +0000
+Subject: [PATCH] FFmpeg M94 roll.
+
+Contains DEPS update + chromium-side fixes.
+
+Bug: 1227259
+Change-Id: I61c5eaa789ea12c17d0cbcbf837435b9cf32479b
+Reviewed-on:
https://chromium-review.googlesource.com/c/chromium/src/+/3011889
+Reviewed-by: Thomas Guilbert <tguilbert(a)chromium.org>
+Commit-Queue: Frank Liberato <liberato(a)chromium.org>
+Cr-Commit-Position: refs/heads/master@{#909174}
+---
+ media/ffmpeg/ffmpeg_common.h | 1 +
+ media/filters/ffmpeg_demuxer.cc | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/media/ffmpeg/ffmpeg_common.h b/media/ffmpeg/ffmpeg_common.h
+index cede8ac5a7..97d6307e28 100644
+--- a/media/ffmpeg/ffmpeg_common.h
++++ b/media/ffmpeg/ffmpeg_common.h
+@@ -29,6 +29,7 @@ extern "C" {
+ #include <libavformat/avformat.h>
+ #include <libavformat/avio.h>
+ #include <libavutil/avutil.h>
++#include <libavutil/channel_layout.h>
+ #include <libavutil/imgutils.h>
+ #include <libavutil/log.h>
+ #include <libavutil/mastering_display_metadata.h>
+diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
+index ac4713b072..605001d935 100644
+--- a/media/filters/ffmpeg_demuxer.cc
++++ b/media/filters/ffmpeg_demuxer.cc
+@@ -106,12 +106,12 @@ static base::TimeDelta ExtractStartTime(AVStream* stream) {
+
+ // Next try to use the first DTS value, for codecs where we know PTS == DTS
+ // (excludes all H26x codecs). The start time must be returned in PTS.
+- if (stream->first_dts != kNoFFmpegTimestamp &&
++ if (av_stream_get_first_dts(stream) != kNoFFmpegTimestamp &&
+ stream->codecpar->codec_id != AV_CODEC_ID_HEVC &&
+ stream->codecpar->codec_id != AV_CODEC_ID_H264 &&
+ stream->codecpar->codec_id != AV_CODEC_ID_MPEG4) {
+ const base::TimeDelta first_pts =
+- ConvertFromTimeBase(stream->time_base, stream->first_dts);
++ ConvertFromTimeBase(stream->time_base, av_stream_get_first_dts(stream));
+ if (first_pts < start_time)
+ start_time = first_pts;
+ }
diff --git a/chromium-freeworld.sh b/chromium-freeworld.sh
index fbba10d..2681e04 100644
--- a/chromium-freeworld.sh
+++ b/chromium-freeworld.sh
@@ -54,6 +54,7 @@ CHROMIUM_DISTRO_FLAGS=" --enable-plugins \
--enable-user-scripts \
--enable-printing \
--enable-gpu-rasterization \
+ --disable-features=AudioServiceSandbox \
--enable-sync"
exec -a "$0" "@@CHROMIUMDIR@@/$(basename "$0" | sed
's/\.sh$//')" $CHROMIUM_DISTRO_FLAGS "$@"
diff --git a/chromium-freeworld.spec b/chromium-freeworld.spec
index 063474b..fa4ad3a 100644
--- a/chromium-freeworld.spec
+++ b/chromium-freeworld.spec
@@ -19,7 +19,12 @@
#######################################CONFIGS###########################################
# System libraries to use.
%global system_ffmpeg 1
+%global system_freetype 0
+%if 0%{?fedora} >= 36
%global system_harfbuzz 1
+%else
+%global system_harfbuzz 0
+%endif
%global system_libicu 0
%global system_libvpx 0
%global system_libxml2 1
@@ -27,7 +32,7 @@
%global system_re2 1
##############################Package Definitions######################################
Name: chromium-freeworld
-Version: 93.0.4577.82
+Version: 94.0.4606.61
Release: 1%{?dist}
Summary: Chromium 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)
@@ -52,7 +57,7 @@ Source0: chromium-%{version}-clean.tar.xz
%endif
# Patchset composed by Stephan Hartmann.
-%global patchset_revision chromium-93-patchset-6
+%global patchset_revision chromium-94-patchset-3
Source1:
https://github.com/stha09/chromium-patches/archive/%{patchset_revision}/c...
# The following two source files are copied and modified from the chromium source
@@ -105,7 +110,9 @@ BuildRequires: re2-devel
%endif
# replace_gn_files.py --system-libraries
BuildRequires: flac-devel
-BuildRequires: freetype-devel
+# Needs freetype git
+#
https://github.com/freetype/freetype/commit/47cf8ebf4a78ed42da455a98d77a9...
+#BuildRequires: freetype-devel
%if %{system_harfbuzz}
BuildRequires: harfbuzz-devel
%endif
@@ -121,13 +128,13 @@ BuildRequires: libvpx-devel
%endif
%if %{system_ffmpeg}
BuildRequires: ffmpeg-devel
+BuildRequires: opus-devel
%endif
BuildRequires: libwebp-devel
%if %{system_libxml2}
BuildRequires: pkgconfig(libxml-2.0)
%endif
BuildRequires: pkgconfig(libxslt)
-BuildRequires: opus-devel
BuildRequires: snappy-devel
BuildRequires: expat-devel
BuildRequires: pciutils-devel
@@ -161,26 +168,20 @@ Patch201: chromium-93-EnumTable-crash.patch
# Arch Linux patches:
Patch226: chromium-93-ffmpeg-4.4.patch
+Patch1227: chromium-94-ffmpeg-roll.patch
# Suse patches:
Patch231: remove-llvm13-warning-flags.patch
Patch232: chromium-91-sql-standard-layout-type.patch
Patch233: chromium-clang-nomerge.patch
-# Upstream patches:
-Patch251: chromium-sandbox-syscall-broker-use-struct-kernel_stat.patch
-Patch252: chromium-sandbox-fix-fstatat-crash.patch
-
-
# Fedora patches:
Patch300: chromium-py3-bootstrap.patch
Patch301: chromium-gcc11.patch
Patch302: chromium-py3-fixes.patch
Patch303: chromium-java-only-allowed-in-android-builds.patch
-Patch304: chromium-update-highway-0.12.2.patch
-Patch305: chromium-aarch64-cxxflags-addition.patch
-Patch306: chromium-93-old-freetype.patch
-Patch307: chromium-clang-format.patch
+Patch304: chromium-aarch64-cxxflags-addition.patch
+Patch305: chromium-clang-format.patch
Patch1303: chromium-rawhide-gcc-std-max-fix.patch
# RPM Fusion patches [free/chromium-freeworld]:
@@ -209,20 +210,16 @@ Patch1406: chromium-rpm-fusion-brand.patch
%patchset_apply chromium-78-protobuf-RepeatedPtrField-export.patch
%patchset_apply chromium-90-ruy-include.patch
%patchset_apply chromium-91-libyuv-aarch64.patch
-%patchset_apply chromium-93-BluetoothLowEnergyScanFilter-include.patch
-%patchset_apply chromium-93-ClassProperty-include.patch
-%patchset_apply chromium-93-ContextSet-permissive.patch
-%patchset_apply chromium-93-DevToolsEmbedderMessageDispatcher-include.patch
-%patchset_apply chromium-93-FormForest-constexpr.patch
-%patchset_apply chromium-93-HashPasswordManager-include.patch
-%patchset_apply chromium-93-pdfium-include.patch
-%patchset_apply chromium-93-ScopedTestDialogAutoConfirm-include.patch
+%patchset_apply chromium-94-ConversionStorageSql-lambda.patch
+%patchset_apply chromium-94-CustomSpaces-include.patch
# Apply patches up to #1000 from this spec.
%autopatch -M1000 -p1
# Manually apply patches that need an ifdef
+%patch1227 -Rp1
+
%if 0%{?fedora} >= 35
%patch1303 -p1
%endif
@@ -296,6 +293,7 @@ find -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env
python\)[23]\?=#!%{__
third_party/cros_system_api \
third_party/dawn \
third_party/dawn/third_party/khronos \
+ third_party/dawn/third_party/tint \
third_party/depot_tools \
third_party/dav1d \
third_party/devscripts \
@@ -313,6 +311,7 @@ find -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env
python\)[23]\?=#!%{__
third_party/devtools-frontend/src/front_end/third_party/marked \
third_party/devtools-frontend/src/front_end/third_party/puppeteer \
third_party/devtools-frontend/src/front_end/third_party/wasmparser \
+ third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n \
third_party/devtools-frontend/src/third_party \
third_party/dom_distiller_js \
third_party/eigen3 \
@@ -324,7 +323,9 @@ find -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env
python\)[23]\?=#!%{__
%endif
third_party/fft2d \
third_party/flatbuffers \
+%if !%{system_freetype}
third_party/freetype \
+%endif
third_party/fusejs \
third_party/liburlpattern \
third_party/libzip \
@@ -496,9 +497,15 @@ ln -s %{_bindir}/true buildtools/third_party/eu-strip/bin/eu-strip ||
die
./build/linux/unbundle/replace_gn_files.py --system-libraries \
%if %{system_ffmpeg}
ffmpeg \
+ opus \
+%endif
+%if %{system_harfbuzz}
+ harfbuzz-ng \
%endif
flac \
+%if %{system_freetype}
freetype \
+%endif
fontconfig \
%if %{system_libicu}
icu \
@@ -514,7 +521,6 @@ ln -s %{_bindir}/true buildtools/third_party/eu-strip/bin/eu-strip ||
die
libxml \
%endif
libxslt \
- opus \
%if %{system_re2}
re2 \
%endif
@@ -526,6 +532,10 @@ ln -s %{_bindir}/true buildtools/third_party/eu-strip/bin/eu-strip ||
die
sed -i 's|//third_party/usb_ids|/usr/share/hwdata|g' \
services/device/public/cpp/usb/BUILD.gn
+# Allow building against system libraries in official builds
+sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+ tools/generate_shim_headers/generate_shim_headers.py || die
+
# Fix the path to nodejs binary
mkdir -p third_party/node/linux/node-linux-x64/bin
ln -s %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node
@@ -551,6 +561,7 @@ gn_args=(
is_debug=false
use_vaapi=true
is_component_build=false
+ is_official_build=true
use_sysroot=false
use_custom_libcxx=false
use_aura=true
@@ -563,7 +574,9 @@ gn_args=(
use_libpci=true
use_pulseaudio=true
link_pulseaudio=true
+%if %{system_freetype}
use_system_freetype=true
+%endif
enable_widevine=true
%if %{system_harfbuzz}
use_system_harfbuzz=true
@@ -579,7 +592,7 @@ gn_args=(
enable_hangout_services_extension=true
fatal_linker_warnings=false
treat_warnings_as_errors=false
- fieldtrial_testing_like_official_build=true
+ disable_fieldtrial_testing_config=true
'custom_toolchain="//build/toolchain/linux/unbundle:default"'
'host_toolchain="//build/toolchain/linux/unbundle:default"'
'google_api_key="%{api_key}"'
@@ -595,7 +608,12 @@ gn_args+=(
gn_args+=(
+ is_clang=true
clang_use_chrome_plugins=false
+ use_thin_lto=false
+ use_lld=false
+ use_gold=false
+ is_cfi=false
)
#Pipewire
@@ -650,7 +668,7 @@ install -m 755 %{target}/chrome %{buildroot}%{chromiumdir}/%{name}
install -m 4755 %{target}/chrome_sandbox %{buildroot}%{chromiumdir}/chrome-sandbox
mv %{target}/chromedriver{.unstripped,} || die
install -m 755 %{target}/chromedriver %{buildroot}%{chromiumdir}/
-install -m 755 %{target}/crashpad_handler %{buildroot}%{chromiumdir}/
+install -m 755 %{target}/chrome_crashpad_handler %{buildroot}%{chromiumdir}/
install -m 755 %{target}/libEGL.so %{buildroot}%{chromiumdir}/
install -m 755 %{target}/libGLESv2.so %{buildroot}%{chromiumdir}/
%if !%{system_libicu}
@@ -703,7 +721,7 @@ appstream-util validate-relax --nonet
"%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/%{name}
%{chromiumdir}/chrome-sandbox
%{chromiumdir}/chromedriver
-%{chromiumdir}/crashpad_handler
+%{chromiumdir}/chrome_crashpad_handler
%{chromiumdir}/libEGL.so
%{chromiumdir}/libGLESv2.so
%if !%{system_libicu}
@@ -723,6 +741,9 @@ appstream-util validate-relax --nonet
"%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/swiftshader/libGLESv2.so
#########################################changelogs#################################################
%changelog
+* Wed Sep 22 2021 Leigh Scott <leigh123linux(a)gmail.com> - 94.0.4606.61-1
+- Update to 94.0.4606.61
+
* Tue Sep 14 2021 Leigh Scott <leigh123linux(a)gmail.com> - 93.0.4577.82-1
- Update to 93.0.4577.82
diff --git a/chromium-names.patch b/chromium-names.patch
index facad24..d14f801 100644
--- a/chromium-names.patch
+++ b/chromium-names.patch
@@ -32,14 +32,14 @@ Replace hard-coded "chromium-browser" with package name.
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
-@@ -83,6 +83,7 @@ source_set("channel_info") {
+@@ -80,6 +80,7 @@ source_set("channel_info") {
deps += [ "//chromeos/crosapi/cpp" ]
} else if (is_posix) {
sources += [ "channel_info_posix.cc" ]
+ configs += [ "//third_party/rpm_fusion:defines" ]
+ } else if (is_fuchsia) {
+ sources += [ "channel_info_fuchsia.cc" ]
}
- }
-
--- a/chrome/common/channel_info_posix.cc
+++ b/chrome/common/channel_info_posix.cc
@@ -96,7 +96,7 @@ std::string GetDesktopName(base::Environ
diff --git a/remove-llvm13-warning-flags.patch b/remove-llvm13-warning-flags.patch
index d1db7e4..542dfd4 100644
--- a/remove-llvm13-warning-flags.patch
+++ b/remove-llvm13-warning-flags.patch
@@ -1,13 +1,13 @@
--- a/build/config/compiler/BUILD.gn.orig
+++ b/build/config/compiler/BUILD.gn
-@@ -1620,10 +1620,6 @@
+@@ -1631,10 +1631,6 @@ config("default_warnings") {
+ #
TODO(https://crbug.com/1028110): Evaluate and possible enable.
+ "-Wno-deprecated-copy",
- #
TODO(https://crbug.com/1050281): Clean up, enable.
- "-Wno-non-c-typedef-for-linkage",
--
- #
TODO(https://crbug.com/1203071): Clean up and enable.
- "-Wno-unused-but-set-parameter",
- "-Wno-unused-but-set-variable",
+-
+ #
TODO(https://crbug.com/1239077): Fix and re-enable.
+ "-Wno-inline-asm",
]
-
- cflags_c += [
diff --git a/sources b/sources
index 08f48de..5acd2b6 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (chromium-93.0.4577.82.tar.xz) =
730e4a316fee4a5be1bf95301cf25c0c1d192ceeb661f051c1d74b7083fe928f1c5fd24c744cbbda6ef39c9edc64607a2621644e153e5e3de2201b5ac60e4d64
-SHA512 (chromium-patches-chromium-93-patchset-6.tar.gz) =
254ef9df8c6809cd941d5cace5ec21708e1592ecd3068ec2c1fdcd8f745b3b21577a4320ad01085a4252a5b491c0d8ac8836f9a9511ed0670197a2f83222435c
+SHA512 (chromium-94.0.4606.61.tar.xz) =
e33e1dfdfc2839b2c7481c4cb4482a9456a76d5e2bee066d21dbe8a01c619104191978120a1b87606722d9b9d53333ab2046df80095805b252c41036a11e3c57
+SHA512 (chromium-patches-chromium-94-patchset-3.tar.gz) =
e7491fce352e41f9ae41d397ce9865b691ff3a665bda9dee61eb5e57ab4094ed2a948cc5dd7b8fb2ab6b8a9bdc8c2ac894aec115b757ffaa9a98f502c38dc99c