From dc64447df537f86d71563d8459df033c908c7089 Mon Sep 17 00:00:00 2001 From: jstkdng Date: Fri, 7 Jan 2022 08:33:28 -0500 Subject: upgpkg: ungoogled-chromium 97.0.4692.71-1 upstream release --- .SRCINFO | 21 +++++----- PKGBUILD | 44 ++++++++++--------- chromium-94-ffmpeg-roll.patch | 49 ---------------------- unbundle-ffmpeg-av_stream_get_first_dts.patch | 12 ++++++ ...e-fix-visibility-of-build-config-freetype.patch | 31 -------------- 5 files changed, 47 insertions(+), 110 deletions(-) delete mode 100644 chromium-94-ffmpeg-roll.patch create mode 100644 unbundle-ffmpeg-av_stream_get_first_dts.patch delete mode 100644 unbundle-fix-visibility-of-build-config-freetype.patch diff --git a/.SRCINFO b/.SRCINFO index 23b8122..f4c7b0e 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = ungoogled-chromium pkgdesc = A lightweight approach to removing Google web service dependency - pkgver = 96.0.4664.110 + pkgver = 97.0.4692.71 pkgrel = 1 url = https://github.com/Eloston/ungoogled-chromium arch = x86_64 @@ -50,28 +50,27 @@ pkgbase = ungoogled-chromium optdepends = kwallet: support for storing passwords in KWallet on Plasma provides = chromium conflicts = chromium - source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-96.0.4664.110.tar.xz + options = !lto + source = https://commondatastorage.googleapis.com/chromium-browser-official/chromium-97.0.4692.71.tar.xz source = https://github.com/foutrelis/chromium-launcher/archive/v8/chromium-launcher-8.tar.gz - source = https://github.com/stha09/chromium-patches/releases/download/chromium-96-patchset-4/chromium-96-patchset-4.tar.xz - source = unbundle-fix-visibility-of-build-config-freetype.patch + source = https://github.com/stha09/chromium-patches/releases/download/chromium-97-patchset-4/chromium-97-patchset-4.tar.xz source = sql-make-VirtualCursor-standard-layout-type.patch source = chromium-93-ffmpeg-4.4.patch - source = chromium-94-ffmpeg-roll.patch + source = unbundle-ffmpeg-av_stream_get_first_dts.patch source = unexpire-accelerated-video-decode-flag.patch source = use-oauth2-client-switches-as-default.patch - source = ungoogled-chromium-96.0.4664.110-1.tar.gz::https://github.com/Eloston/ungoogled-chromium/archive/96.0.4664.110-1.tar.gz + source = ungoogled-chromium-97.0.4692.71-1.tar.gz::https://github.com/Eloston/ungoogled-chromium/archive/97.0.4692.71-1.tar.gz source = chromium-drirc-disable-10bpc-color-configs.conf source = wayland-egl.patch - sha256sums = 36a99d29c2e93a9975be53648f2cd3ffa4ee43730f217a2e7ed88c1901a671e8 + sha256sums = 8ae189d44b782fe4d4942962260dbf5f753abf141148727d9fe82852778dfd7c sha256sums = 213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a - sha256sums = 090af7eab39aade15a1786273f2497d6b4abfaef24279fbf97ce0dd1c38c69aa - sha256sums = d0b17162211dd49e3a58c16d1697e7d8c322dcfd3b7890f0c2f920b711f52293 + sha256sums = 7af5c0a55a20c0fb496b2f4448d89203a83bb1914754d864460e55e68731ef0b sha256sums = dd317f85e5abfdcfc89c6f23f4c8edbcdebdd5e083dcec770e5da49ee647d150 sha256sums = 1a9e074f417f8ffd78bcd6874d8e2e74a239905bf662f76a7755fa40dc476b57 - sha256sums = 56acb6e743d2ab1ed9f3eb01700ade02521769978d03ac43226dec94659b3ace + sha256sums = 1f0c1a7a1eb67d91765c9f28df815f58e1c6dc7b37d0acd4d68cac8e5515786c sha256sums = 2a97b26c3d6821b15ef4ef1369905c6fa3e9c8da4877eb9af4361452a425290b sha256sums = e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711 - sha256sums = 4d851d62d67391b6ab9bb1267a92c9d0a8279fe7f7b86bdbf0c8cff7b9bbdad5 + sha256sums = d2c6521a1d72a50181a5c1caa97ddd8efd9d5df7c2af6399163da4b853b6499e sha256sums = babda4f5c1179825797496898d77334ac067149cac03d797ab27ac69671a7feb sha256sums = 34d08ea93cb4762cb33c7cffe931358008af32265fc720f2762f0179c3973574 diff --git a/PKGBUILD b/PKGBUILD index a1cf485..6b7c8f6 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -9,7 +9,7 @@ # Contributor: Daniel J Griffiths pkgname=ungoogled-chromium -pkgver=96.0.4664.110 +pkgver=97.0.4692.71 pkgrel=1 _launcher_ver=8 _gcc_patchset=4 @@ -26,22 +26,21 @@ 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/chromium-$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) -sha256sums=('36a99d29c2e93a9975be53648f2cd3ffa4ee43730f217a2e7ed88c1901a671e8' +sha256sums=('8ae189d44b782fe4d4942962260dbf5f753abf141148727d9fe82852778dfd7c' '213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a' - '090af7eab39aade15a1786273f2497d6b4abfaef24279fbf97ce0dd1c38c69aa' - 'd0b17162211dd49e3a58c16d1697e7d8c322dcfd3b7890f0c2f920b711f52293' + '7af5c0a55a20c0fb496b2f4448d89203a83bb1914754d864460e55e68731ef0b' 'dd317f85e5abfdcfc89c6f23f4c8edbcdebdd5e083dcec770e5da49ee647d150' '1a9e074f417f8ffd78bcd6874d8e2e74a239905bf662f76a7755fa40dc476b57' - '56acb6e743d2ab1ed9f3eb01700ade02521769978d03ac43226dec94659b3ace' + '1f0c1a7a1eb67d91765c9f28df815f58e1c6dc7b37d0acd4d68cac8e5515786c' '2a97b26c3d6821b15ef4ef1369905c6fa3e9c8da4877eb9af4361452a425290b' 'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711') provides=('chromium') @@ -51,7 +50,7 @@ source=(${source[@]} chromium-drirc-disable-10bpc-color-configs.conf wayland-egl.patch) sha256sums=(${sha256sums[@]} - '4d851d62d67391b6ab9bb1267a92c9d0a8279fe7f7b86bdbf0c8cff7b9bbdad5' + 'd2c6521a1d72a50181a5c1caa97ddd8efd9d5df7c2af6399163da4b853b6499e' 'babda4f5c1179825797496898d77334ac067149cac03d797ab27ac69671a7feb' '34d08ea93cb4762cb33c7cffe931358008af32265fc720f2762f0179c3973574') @@ -92,7 +91,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 @@ -102,12 +102,12 @@ 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 @@ -119,10 +119,7 @@ prepare() { 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/ # Wayland/EGL regression (crbug #1071528 #1071550) patch -Np1 -i ../wayland-egl.patch @@ -195,10 +192,6 @@ build() { _ungoogled_repo="$srcdir/$pkgname-$pkgver-1" readarray -t -O ${#_flags[@]} _flags < "${_ungoogled_repo}/flags.gn" - # use fixed flags as system flags break build - CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt" - CXXFLAGS="$CFLAGS" - # Facilitate deterministic builds (taken from build/config/compiler/BUILD.gn) CFLAGS+=' -Wno-builtin-macro-redefined' CXXFLAGS+=' -Wno-builtin-macro-redefined' @@ -208,6 +201,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/chromium-94-ffmpeg-roll.patch b/chromium-94-ffmpeg-roll.patch deleted file mode 100644 index 68f2636..0000000 --- a/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/unbundle-ffmpeg-av_stream_get_first_dts.patch b/unbundle-ffmpeg-av_stream_get_first_dts.patch new file mode 100644 index 0000000..dae1add --- /dev/null +++ b/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/unbundle-fix-visibility-of-build-config-freetype.patch b/unbundle-fix-visibility-of-build-config-freetype.patch deleted file mode 100644 index d10023b..0000000 --- a/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", - ] -- cgit v1.2.3