From 23b045c07393247f7ec6afdce5e67477bbc52c11 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Wed, 5 Jan 2022 04:08:10 +0000 Subject: [PATCH] extra/chromium to 97.0.4692.71-1 --- extra/chromium/PKGBUILD | 41 +++++++++------- extra/chromium/chromium-94-ffmpeg-roll.patch | 49 ------------------- ...undle-ffmpeg-av_stream_get_first_dts.patch | 12 +++++ ...-visibility-of-build-config-freetype.patch | 31 ------------ 4 files changed, 36 insertions(+), 97 deletions(-) delete mode 100644 extra/chromium/chromium-94-ffmpeg-roll.patch create mode 100644 extra/chromium/unbundle-ffmpeg-av_stream_get_first_dts.patch delete mode 100644 extra/chromium/unbundle-fix-visibility-of-build-config-freetype.patch diff --git a/extra/chromium/PKGBUILD b/extra/chromium/PKGBUILD index fe7cb8955..3563643f4 100644 --- a/extra/chromium/PKGBUILD +++ b/extra/chromium/PKGBUILD @@ -17,7 +17,7 @@ buildarch=12 highmem=1 pkgname=chromium -pkgver=96.0.4664.110 +pkgver=97.0.4692.71 pkgrel=1 _launcher_ver=8 _gcc_patchset=4 @@ -34,25 +34,24 @@ optdepends=('pipewire: WebRTC desktop sharing under Wayland' 'kdialog: support for native dialogs in Plasma' 'org.freedesktop.secrets: password storage backend on GNOME / Xfce' '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 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 - unbundle-fix-visibility-of-build-config-freetype.patch sql-make-VirtualCursor-standard-layout-type.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 use-oauth2-client-switches-as-default.patch 0001-widevine-support-for-arm.patch 0002-Run-blink-bindings-generation-single-threaded.patch 0003-Fix-eu-strip-build-for-newer-GCC.patch) -sha256sums=('36a99d29c2e93a9975be53648f2cd3ffa4ee43730f217a2e7ed88c1901a671e8' +sha256sums=('8ae189d44b782fe4d4942962260dbf5f753abf141148727d9fe82852778dfd7c' '213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a' - '090af7eab39aade15a1786273f2497d6b4abfaef24279fbf97ce0dd1c38c69aa' - 'd0b17162211dd49e3a58c16d1697e7d8c322dcfd3b7890f0c2f920b711f52293' + '7af5c0a55a20c0fb496b2f4448d89203a83bb1914754d864460e55e68731ef0b' 'dd317f85e5abfdcfc89c6f23f4c8edbcdebdd5e083dcec770e5da49ee647d150' '1a9e074f417f8ffd78bcd6874d8e2e74a239905bf662f76a7755fa40dc476b57' - '56acb6e743d2ab1ed9f3eb01700ade02521769978d03ac43226dec94659b3ace' + '1f0c1a7a1eb67d91765c9f28df815f58e1c6dc7b37d0acd4d68cac8e5515786c' '2a97b26c3d6821b15ef4ef1369905c6fa3e9c8da4877eb9af4361452a425290b' 'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711' 'fa20edc66efbb4d172a028a1851bcbb635372ce56c81c0b434bf4e211a6ca728' @@ -121,7 +120,8 @@ prepare() { sed -i -e 's/\/malloc/' -e 's/\/free/' \ third_party/blink/renderer/core/xml/*.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 # setting GOOGLE_DEFAULT_CLIENT_ID and GOOGLE_DEFAULT_CLIENT_SECRET at @@ -131,27 +131,21 @@ prepare() { # Fix build with older ffmpeg 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 # Upstream commit that made first_dts internal causing Chromium to add a # custom function: https://github.com/FFmpeg/FFmpeg/commit/591b88e6787c4 # 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 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 patch -Np1 -i ../sql-make-VirtualCursor-standard-layout-type.patch # Fixes for building with libstdc++ instead of libc++ - patch -Np1 -i ../patches/chromium-96-CommandLine-include.patch - 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 + #patch -Np1 -i ../patches/ # Link to system tools required by the build mkdir -p third_party/node/linux/node-linux-x64/bin @@ -237,6 +231,19 @@ build() { CFLAGS+=' -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[*]}" ninja -C out/Release chrome chrome_sandbox chromedriver } diff --git a/extra/chromium/chromium-94-ffmpeg-roll.patch b/extra/chromium/chromium-94-ffmpeg-roll.patch deleted file mode 100644 index 68f26364e..000000000 --- a/extra/chromium/chromium-94-ffmpeg-roll.patch +++ /dev/null @@ -1,49 +0,0 @@ -From b94755e4633045be96ab5e0bdde0db7e16a804bd Mon Sep 17 00:00:00 2001 -From: "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 -Commit-Queue: Frank Liberato -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 - #include - #include -+#include - #include - #include - #include -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/extra/chromium/unbundle-ffmpeg-av_stream_get_first_dts.patch b/extra/chromium/unbundle-ffmpeg-av_stream_get_first_dts.patch new file mode 100644 index 000000000..dae1adde0 --- /dev/null +++ b/extra/chromium/unbundle-ffmpeg-av_stream_get_first_dts.patch @@ -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") { diff --git a/extra/chromium/unbundle-fix-visibility-of-build-config-freetype.patch b/extra/chromium/unbundle-fix-visibility-of-build-config-freetype.patch deleted file mode 100644 index d10023bc0..000000000 --- a/extra/chromium/unbundle-fix-visibility-of-build-config-freetype.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 271e45339b7b969e98ccef7837cb1b15480b07fc Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -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 -Reviewed-by: Thomas Anderson -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", - ]