extra/chromium to 97.0.4692.71-1

This commit is contained in:
Kevin Mihelich 2022-01-05 04:08:10 +00:00
parent a286adb00d
commit 23b045c073
4 changed files with 36 additions and 97 deletions

View file

@ -17,7 +17,7 @@ buildarch=12
highmem=1 highmem=1
pkgname=chromium pkgname=chromium
pkgver=96.0.4664.110 pkgver=97.0.4692.71
pkgrel=1 pkgrel=1
_launcher_ver=8 _launcher_ver=8
_gcc_patchset=4 _gcc_patchset=4
@ -34,25 +34,24 @@ optdepends=('pipewire: WebRTC desktop sharing under Wayland'
'kdialog: support for native dialogs in Plasma' 'kdialog: support for native dialogs in Plasma'
'org.freedesktop.secrets: password storage backend on GNOME / Xfce' 'org.freedesktop.secrets: password storage backend on GNOME / Xfce'
'kwallet: support for storing passwords in KWallet on Plasma') 'kwallet: support for storing passwords in KWallet on Plasma')
options=('!lto') # Chromium adds its own flags for ThinLTO
source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver/chromium-launcher-$_launcher_ver.tar.gz https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver/chromium-launcher-$_launcher_ver.tar.gz
https://github.com/stha09/chromium-patches/releases/download/chromium-${pkgver%%.*}-patchset-$_gcc_patchset/chromium-${pkgver%%.*}-patchset-$_gcc_patchset.tar.xz https://github.com/stha09/chromium-patches/releases/download/chromium-${pkgver%%.*}-patchset-$_gcc_patchset/chromium-${pkgver%%.*}-patchset-$_gcc_patchset.tar.xz
unbundle-fix-visibility-of-build-config-freetype.patch
sql-make-VirtualCursor-standard-layout-type.patch sql-make-VirtualCursor-standard-layout-type.patch
chromium-93-ffmpeg-4.4.patch chromium-93-ffmpeg-4.4.patch
chromium-94-ffmpeg-roll.patch unbundle-ffmpeg-av_stream_get_first_dts.patch
unexpire-accelerated-video-decode-flag.patch unexpire-accelerated-video-decode-flag.patch
use-oauth2-client-switches-as-default.patch use-oauth2-client-switches-as-default.patch
0001-widevine-support-for-arm.patch 0001-widevine-support-for-arm.patch
0002-Run-blink-bindings-generation-single-threaded.patch 0002-Run-blink-bindings-generation-single-threaded.patch
0003-Fix-eu-strip-build-for-newer-GCC.patch) 0003-Fix-eu-strip-build-for-newer-GCC.patch)
sha256sums=('36a99d29c2e93a9975be53648f2cd3ffa4ee43730f217a2e7ed88c1901a671e8' sha256sums=('8ae189d44b782fe4d4942962260dbf5f753abf141148727d9fe82852778dfd7c'
'213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a' '213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a'
'090af7eab39aade15a1786273f2497d6b4abfaef24279fbf97ce0dd1c38c69aa' '7af5c0a55a20c0fb496b2f4448d89203a83bb1914754d864460e55e68731ef0b'
'd0b17162211dd49e3a58c16d1697e7d8c322dcfd3b7890f0c2f920b711f52293'
'dd317f85e5abfdcfc89c6f23f4c8edbcdebdd5e083dcec770e5da49ee647d150' 'dd317f85e5abfdcfc89c6f23f4c8edbcdebdd5e083dcec770e5da49ee647d150'
'1a9e074f417f8ffd78bcd6874d8e2e74a239905bf662f76a7755fa40dc476b57' '1a9e074f417f8ffd78bcd6874d8e2e74a239905bf662f76a7755fa40dc476b57'
'56acb6e743d2ab1ed9f3eb01700ade02521769978d03ac43226dec94659b3ace' '1f0c1a7a1eb67d91765c9f28df815f58e1c6dc7b37d0acd4d68cac8e5515786c'
'2a97b26c3d6821b15ef4ef1369905c6fa3e9c8da4877eb9af4361452a425290b' '2a97b26c3d6821b15ef4ef1369905c6fa3e9c8da4877eb9af4361452a425290b'
'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711' 'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711'
'fa20edc66efbb4d172a028a1851bcbb635372ce56c81c0b434bf4e211a6ca728' 'fa20edc66efbb4d172a028a1851bcbb635372ce56c81c0b434bf4e211a6ca728'
@ -121,7 +120,8 @@ prepare() {
sed -i -e 's/\<xmlMalloc\>/malloc/' -e 's/\<xmlFree\>/free/' \ sed -i -e 's/\<xmlMalloc\>/malloc/' -e 's/\<xmlFree\>/free/' \
third_party/blink/renderer/core/xml/*.cc \ third_party/blink/renderer/core/xml/*.cc \
third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \ third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \
third_party/libxml/chromium/*.cc third_party/libxml/chromium/*.cc \
third_party/maldoca/src/maldoca/ole/oss_utils.h
# Use the --oauth2-client-id= and --oauth2-client-secret= switches for # Use the --oauth2-client-id= and --oauth2-client-secret= switches for
# setting GOOGLE_DEFAULT_CLIENT_ID and GOOGLE_DEFAULT_CLIENT_SECRET at # setting GOOGLE_DEFAULT_CLIENT_ID and GOOGLE_DEFAULT_CLIENT_SECRET at
@ -131,27 +131,21 @@ prepare() {
# Fix build with older ffmpeg # Fix build with older ffmpeg
patch -Np1 -i ../chromium-93-ffmpeg-4.4.patch patch -Np1 -i ../chromium-93-ffmpeg-4.4.patch
# Revert change to custom function av_stream_get_first_dts; will need to # Substitute the custom function 'av_stream_get_first_dts'; will need to
# switch to bundled ffmpeg when we're no longer using ffmpeg 4.4 in Arch # switch to bundled ffmpeg when we're no longer using ffmpeg 4.4 in Arch
# Upstream commit that made first_dts internal causing Chromium to add a # Upstream commit that made first_dts internal causing Chromium to add a
# custom function: https://github.com/FFmpeg/FFmpeg/commit/591b88e6787c4 # custom function: https://github.com/FFmpeg/FFmpeg/commit/591b88e6787c4
# https://crbug.com/1251779 # https://crbug.com/1251779
patch -Rp1 -i ../chromium-94-ffmpeg-roll.patch patch -Np1 -i ../unbundle-ffmpeg-av_stream_get_first_dts.patch
# https://crbug.com/1207478 # https://crbug.com/1207478
patch -Np0 -i ../unexpire-accelerated-video-decode-flag.patch patch -Np0 -i ../unexpire-accelerated-video-decode-flag.patch
# Upstream fixes
patch -Np1 -i ../unbundle-fix-visibility-of-build-config-freetype.patch
# https://chromium-review.googlesource.com/c/chromium/src/+/2862724 # https://chromium-review.googlesource.com/c/chromium/src/+/2862724
patch -Np1 -i ../sql-make-VirtualCursor-standard-layout-type.patch patch -Np1 -i ../sql-make-VirtualCursor-standard-layout-type.patch
# Fixes for building with libstdc++ instead of libc++ # Fixes for building with libstdc++ instead of libc++
patch -Np1 -i ../patches/chromium-96-CommandLine-include.patch #patch -Np1 -i ../patches/
patch -Np1 -i ../patches/chromium-96-RestrictedCookieManager-tuple.patch
patch -Np1 -i ../patches/chromium-96-DrmRenderNodePathFinder-include.patch
patch -Np1 -i ../patches/chromium-96-CouponDB-include.patch
# Link to system tools required by the build # Link to system tools required by the build
mkdir -p third_party/node/linux/node-linux-x64/bin mkdir -p third_party/node/linux/node-linux-x64/bin
@ -237,6 +231,19 @@ build() {
CFLAGS+=' -Wno-unknown-warning-option' CFLAGS+=' -Wno-unknown-warning-option'
CXXFLAGS+=' -Wno-unknown-warning-option' CXXFLAGS+=' -Wno-unknown-warning-option'
# https://github.com/ungoogled-software/ungoogled-chromium-archlinux/issues/123
CFLAGS=${CFLAGS/-fexceptions}
CFLAGS=${CFLAGS/-fcf-protection}
CXXFLAGS=${CXXFLAGS/-fexceptions}
CXXFLAGS=${CXXFLAGS/-fcf-protection}
# This appears to cause random segfaults
CFLAGS=${CFLAGS/-fstack-clash-protection}
CXXFLAGS=${CXXFLAGS/-fstack-clash-protection}
# https://crbug.com/957519#c122
CXXFLAGS=${CXXFLAGS/-Wp,-D_GLIBCXX_ASSERTIONS}
gn gen out/Release --args="${_flags[*]}" gn gen out/Release --args="${_flags[*]}"
ninja -C out/Release chrome chrome_sandbox chromedriver ninja -C out/Release chrome chrome_sandbox chromedriver
} }

View file

@ -1,49 +0,0 @@
From b94755e4633045be96ab5e0bdde0db7e16a804bd Mon Sep 17 00:00:00 2001
From: "liberato@chromium.org" <liberato@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@chromium.org>
Commit-Queue: Frank Liberato <liberato@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;
}

View file

@ -0,0 +1,12 @@
diff --git a/build/linux/unbundle/ffmpeg.gn b/build/linux/unbundle/ffmpeg.gn
index 16e20744706..6a079b32221 100644
--- a/build/linux/unbundle/ffmpeg.gn
+++ b/build/linux/unbundle/ffmpeg.gn
@@ -12,6 +12,7 @@ pkg_config("system_ffmpeg") {
"libavformat",
"libavutil",
]
+ defines = [ "av_stream_get_first_dts(stream)=stream->first_dts" ]
}
buildflag_header("ffmpeg_features") {

View file

@ -1,31 +0,0 @@
From 271e45339b7b969e98ccef7837cb1b15480b07fc Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Thu, 4 Nov 2021 18:58:34 +0000
Subject: [PATCH] unbundle: fix visibility of //build/config/freetype
For system freetype //build/linux:freetype_from_pkgconfig is restricted
to //third_party:freetype_harfbuzz and //third_party/harfbuzz-ng:harfbuzz_source.
However //build/config/freetype:freetype is accessing it too.
Bug: None
Change-Id: Ic4a37b01e4ae221372a9220cbad04c598b844c21
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3259304
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/main@{#938388}
---
build/linux/BUILD.gn | 1 +
1 file changed, 1 insertion(+)
diff --git a/build/linux/BUILD.gn b/build/linux/BUILD.gn
index 54314c7687..cd49e3d524 100644
--- a/build/linux/BUILD.gn
+++ b/build/linux/BUILD.gn
@@ -23,6 +23,7 @@ if (use_system_freetype) {
# the system, use with caution,for details see build/config/freetype/BUILD.gn.
pkg_config("freetype_from_pkgconfig") {
visibility = [
+ "//build/config/freetype:freetype",
"//third_party:freetype_harfbuzz",
"//third_party/harfbuzz-ng:harfbuzz_source",
]