- update to 124.0.6367.118

* High CVE-2024-4331: Use after free in Picture In Picture
  * High CVE-2024-4368: Use after free in Dawn
- use system highway
- fixed bz#2277228 - chromium wrapper causes library issues (symbol lookup error)
- use system dav1d
i9e changed/i9e/chromium-124.0.6367.118-1.el9.inferit
Arkady L. Shane 8 months ago
parent 9a622854df
commit 7ce6bf330a
Signed by: tigro
GPG Key ID: 1EC08A25C9DB2503

@ -1,4 +1,4 @@
36f7a1bdc6d0680534fb3f07668f2cd7364aa992 SOURCES/chromium-124.0.6367.78.tar.xz a6b3e27c9154df1cc31f39122eaef5f1167cbe9d SOURCES/chromium-124.0.6367.118.tar.xz
dea187019741602d57aaf189a80abba261fbd2aa SOURCES/linux-x64-0.19.2.tgz dea187019741602d57aaf189a80abba261fbd2aa SOURCES/linux-x64-0.19.2.tgz
7e5d2c7864c5c83ec789b59c77cd9c20d2594916 SOURCES/linux-arm64-0.19.2.tgz 7e5d2c7864c5c83ec789b59c77cd9c20d2594916 SOURCES/linux-arm64-0.19.2.tgz
769196d081c6a0ad37f1c63dec56febfff3370de SOURCES/node-v20.6.1-linux-x64.tar.xz 769196d081c6a0ad37f1c63dec56febfff3370de SOURCES/node-v20.6.1-linux-x64.tar.xz

2
.gitignore vendored

@ -1,4 +1,4 @@
SOURCES/chromium-124.0.6367.78.tar.xz SOURCES/chromium-124.0.6367.118.tar.xz
SOURCES/linux-x64-0.19.2.tgz SOURCES/linux-x64-0.19.2.tgz
SOURCES/linux-arm64-0.19.2.tgz SOURCES/linux-arm64-0.19.2.tgz
SOURCES/node-v20.6.1-linux-x64.tar.xz SOURCES/node-v20.6.1-linux-x64.tar.xz

@ -1,23 +0,0 @@
From 61dcf0ff9603e8f5b0a859fb0837c51527ebae43 Mon Sep 17 00:00:00 2001
From: Colin Samples <colin.samples+git@gmail.com>
Date: Fri, 1 Nov 2019 11:50:52 -0400
Subject: [PATCH] Add PPC64 support for libdav1d
---
third_party/dav1d/BUILD.gn | 21 ++++++++++++++++++++
third_party/dav1d/generate_configs.py | 28 ++-------------------------
third_party/dav1d/generate_source.py | 2 ++
3 files changed, 25 insertions(+), 26 deletions(-)
Index: chromium-120.0.6099.71/third_party/dav1d/generate_configs.py
===================================================================
--- chromium-120.0.6099.71.orig/third_party/dav1d/generate_configs.py
+++ chromium-120.0.6099.71/third_party/dav1d/generate_configs.py
@@ -203,6 +203,7 @@ def main():
linux_env = os.environ
linux_env['CC'] = 'clang'
+ GenerateConfig('config/linux/ppc64', linux_env)
GenerateConfig('config/linux/x64', linux_env)
noasm_dir = 'config/linux-noasm/x64'

@ -1,14 +0,0 @@
Index: chromium-120.0.6099.71/third_party/highway/BUILD.gn
===================================================================
--- chromium-120.0.6099.71.orig/third_party/highway/BUILD.gn
+++ chromium-120.0.6099.71/third_party/highway/BUILD.gn
@@ -13,6 +13,9 @@ config("libhwy_external_config") {
# explicitly disabling AVX2 and AVX3 targets.
defines += [ "HWY_BROKEN_TARGETS=(HWY_AVX2|HWY_AVX3)" ]
}
+ if (target_cpu == "ppc64") {
+ defines += [ "TOOLCHAIN_MISS_ASM_HWCAP_H" ]
+ }
}
source_set("libhwy") {

@ -1,33 +0,0 @@
From e14024659e0fc2af3df6ec56ce39a8e93b75722d Mon Sep 17 00:00:00 2001
From: Colin Samples <colin.samples+git@gmail.com>
Date: Sun, 8 Dec 2019 19:25:02 -0500
Subject: [PATCH] Fix libdav1d compilation on clang ppc
---
src/ppc/dav1d_types.h | 15 +++++++++++++++
1 file changed, 15 insertions(+)
Index: chromium-120.0.6099.71/third_party/dav1d/libdav1d/src/ppc/dav1d_types.h
===================================================================
--- chromium-120.0.6099.71.orig/third_party/dav1d/libdav1d/src/ppc/dav1d_types.h
+++ chromium-120.0.6099.71/third_party/dav1d/libdav1d/src/ppc/dav1d_types.h
@@ -51,4 +51,19 @@
#define u16l_to_i32(v) ((i32x4) vec_mergel((u16x8) v, vec_splat_u16(0)))
#define i16l_to_i32(v) ((i32x4) vec_unpackl((i16x8)v))
+#if defined(__clang__)
+#undef vec_splats
+#define vec_splats(N) \
+ _Generic((N), \
+ unsigned char: ((u8x16)(N)), \
+ signed char: ((i8x16)(N)), \
+ unsigned short: ((u16x8)(N)), \
+ signed short: ((i16x8)(N)), \
+ unsigned int: ((u32x4)(N)), \
+ signed int: ((i32x4)(N)), \
+ unsigned long long: ((u64x2)(N)), \
+ signed long long: ((i64x2)(N)) \
+ )
+#endif
+
#endif /* DAV1D_SRC_PPC_TYPES_H */

@ -1,101 +0,0 @@
Index: chromium-120.0.6099.71/third_party/highway/src/hwy/ops/ppc_vsx-inl.h
===================================================================
--- chromium-120.0.6099.71.orig/third_party/highway/src/hwy/ops/ppc_vsx-inl.h
+++ chromium-120.0.6099.71/third_party/highway/src/hwy/ops/ppc_vsx-inl.h
@@ -36,6 +36,8 @@
#include "hwy/ops/shared-inl.h"
+#undef __SIZEOF_INT128__
+
HWY_BEFORE_NAMESPACE();
namespace hwy {
namespace HWY_NAMESPACE {
@@ -2844,7 +2846,6 @@ struct CompressIsPartition {
namespace detail {
-#if HWY_TARGET > HWY_PPC10 || __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__
// fallback for missing vec_extractm
template <size_t N>
HWY_INLINE uint64_t ExtractSignBits(Vec128<uint8_t, N> sign_bits,
@@ -2857,22 +2858,16 @@ HWY_INLINE uint64_t ExtractSignBits(Vec1
return extracted.raw[__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__];
}
-#endif // HWY_TARGET > HWY_PPC10
-
template <typename T, size_t N>
HWY_INLINE uint64_t BitsFromMask(hwy::SizeTag<1> /*tag*/,
Mask128<T, N> mask) {
const DFromM<decltype(mask)> d;
const Repartition<uint8_t, decltype(d)> du8;
const VFromD<decltype(du8)> sign_bits = BitCast(du8, VecFromMask(d, mask));
-#if HWY_TARGET <= HWY_PPC10 && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
- return static_cast<uint64_t>(vec_extractm(sign_bits.raw));
-#else
const __vector unsigned char kBitShuffle = {
120, 112, 104, 96, 88, 80, 72, 64, 56, 48, 40, 32, 24, 16, 8, 0
};
return ExtractSignBits(sign_bits, kBitShuffle);
-#endif // HWY_TARGET <= HWY_PPC10
}
template <typename T, size_t N>
@@ -2882,10 +2877,6 @@ HWY_INLINE uint64_t BitsFromMask(hwy::Si
const Repartition<uint8_t, decltype(d)> du8;
const VFromD<decltype(du8)> sign_bits = BitCast(du8, VecFromMask(d, mask));
-#if HWY_TARGET <= HWY_PPC10 && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
- const RebindToUnsigned<decltype(d)> du;
- return static_cast<uint64_t>(vec_extractm(BitCast(du, sign_bits).raw));
-#else
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
const __vector unsigned char kBitShuffle = {
112, 96, 80, 64, 48, 32, 16, 0, 128, 128, 128, 128, 128, 128, 128, 128};
@@ -2894,7 +2885,6 @@ HWY_INLINE uint64_t BitsFromMask(hwy::Si
128, 128, 128, 128, 128, 128, 128, 128, 112, 96, 80, 64, 48, 32, 16, 0};
#endif
return ExtractSignBits(sign_bits, kBitShuffle);
-#endif // HWY_TARGET <= HWY_PPC10
}
template <typename T, size_t N>
@@ -2903,10 +2893,6 @@ HWY_INLINE uint64_t BitsFromMask(hwy::Si
const DFromM<decltype(mask)> d;
const Repartition<uint8_t, decltype(d)> du8;
const VFromD<decltype(du8)> sign_bits = BitCast(du8, VecFromMask(d, mask));
-#if HWY_TARGET <= HWY_PPC10 && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
- const RebindToUnsigned<decltype(d)> du;
- return static_cast<uint64_t>(vec_extractm(BitCast(du, sign_bits).raw));
-#else
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
const __vector unsigned char kBitShuffle = {
96, 64, 32, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128};
@@ -2915,7 +2901,6 @@ HWY_INLINE uint64_t BitsFromMask(hwy::Si
128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 96, 64, 32, 0};
#endif
return ExtractSignBits(sign_bits, kBitShuffle);
-#endif // HWY_TARGET <= HWY_PPC10
}
template <typename T, size_t N>
@@ -2924,10 +2909,6 @@ HWY_INLINE uint64_t BitsFromMask(hwy::Si
const DFromM<decltype(mask)> d;
const Repartition<uint8_t, decltype(d)> du8;
const VFromD<decltype(du8)> sign_bits = BitCast(du8, VecFromMask(d, mask));
-#if HWY_TARGET <= HWY_PPC10 && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
- const RebindToUnsigned<decltype(d)> du;
- return static_cast<uint64_t>(vec_extractm(BitCast(du, sign_bits).raw));
-#else
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
const __vector unsigned char kBitShuffle = {64, 0, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128,
@@ -2938,7 +2919,6 @@ HWY_INLINE uint64_t BitsFromMask(hwy::Si
128, 128, 64, 0};
#endif
return ExtractSignBits(sign_bits, kBitShuffle);
-#endif // HWY_TARGET <= HWY_PPC10
}
// Returns the lowest N of the mask bits.

@ -1,35 +0,0 @@
--- a/third_party/libvpx/libvpx_srcs.gni
+++ b/third_party/libvpx/libvpx_srcs.gni
@@ -4302,6 +4302,7 @@
"//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.c",
"//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.c",
"//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/ppc/vp9_idct_vsx.c",
"//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.c",
"//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.c",
"//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.c",
@@ -4340,6 +4341,7 @@
"//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.c",
"//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.c",
"//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c",
"//third_party/libvpx/source/libvpx/vp9/vp9_cx_iface.c",
"//third_party/libvpx/source/libvpx/vp9/vp9_dx_iface.c",
"//third_party/libvpx/source/libvpx/vp9/vp9_iface_common.c",
@@ -4368,6 +4370,16 @@
"//third_party/libvpx/source/libvpx/vpx_dsp/variance.c",
"//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.c",
"//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/deblock_vsx.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/hadamard_vsx.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/intrapred_vsx.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/inv_txfm_vsx.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/sad_vsx.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/subtract_vsx.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/variance_vsx.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/ppc/vpx_convolve_vsx.c",
"//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.c",
"//third_party/libvpx/source/libvpx/vpx_ports/ppc_cpudetect.c",
"//third_party/libvpx/source/libvpx/vpx_scale/generic/gen_scalers.c",

@ -1,43 +0,0 @@
Index: chromium-120.0.6099.71/third_party/dav1d/config/linux/ppc64/config.h
===================================================================
--- /dev/null
+++ chromium-120.0.6099.71/third_party/dav1d/config/linux/ppc64/config.h
@@ -0,0 +1,38 @@
+/*
+ * Autogenerated by the Meson build system.
+ * Do not edit, your changes will be lost.
+ */
+
+#pragma once
+
+#define ARCH_AARCH64 0
+
+#define ARCH_ARM 0
+
+#define ARCH_PPC64LE 1
+
+#define ARCH_X86 0
+
+#define ARCH_X86_32 0
+
+#define ARCH_X86_64 0
+
+#define CONFIG_16BPC 1
+
+#define CONFIG_8BPC 1
+
+// #define CONFIG_LOG 1 -- Logging is controlled by Chromium
+
+#define ENDIANNESS_BIG 0
+
+#define HAVE_ASM 1
+
+#define HAVE_CLOCK_GETTIME 1
+
+#define HAVE_DLSYM 1
+
+#define HAVE_GETAUXVAL 1
+
+#define HAVE_POSIX_MEMALIGN 1
+
+#define HAVE_UNISTD_H 1

@ -1,88 +0,0 @@
commit c7f4c58f896a651eba80ad805ebdb49d19ebdbd4
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Wed Mar 20 00:00:12 2024 +0000
Fix --ozone-platform-hint
This fixes a regression after r1269993 which moved ozone platform
early initialization before the ozone platform hint flag was
processed. This CL ensures the flag processing happens even earlier.
R=sky
Change-Id: Icc9649beb0b86753265be2b6cdf3059611eb410f
Bug: None
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5375669
Reviewed-by: Scott Violet <sky@chromium.org>
Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1275306}
diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegate.cc
index 73b6ab0934b14..0b4c44be679d0 100644
--- a/chrome/app/chrome_main_delegate.cc
+++ b/chrome/app/chrome_main_delegate.cc
@@ -249,6 +249,9 @@
#include "base/scoped_add_feature_flags.h"
#include "ui/base/ui_base_features.h"
#include "ui/ozone/public/ozone_platform.h"
+#if BUILDFLAG(IS_LINUX)
+#include "chrome/browser/chrome_browser_main_extra_parts_linux.h"
+#endif
#endif // BUILDFLAG(IS_OZONE)
base::LazyInstance<ChromeContentGpuClient>::DestructorAtExit
@@ -959,6 +962,9 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitialization(
// Initialize Ozone platform and add required feature flags as per platform's
// properties. Must be added before feature list is created otherwise the
// added flag won't be picked up.
+#if BUILDFLAG(IS_LINUX)
+ ChromeBrowserMainExtraPartsLinux::InitOzonePlatformHint();
+#endif
ui::OzonePlatform::PreEarlyInitialization();
AddFeatureFlagsToCommandLine();
#endif // BUILDFLAG(IS_OZONE)
diff --git a/chrome/browser/chrome_browser_main_extra_parts_linux.cc b/chrome/browser/chrome_browser_main_extra_parts_linux.cc
index dba7b116ecaa0..ea0487022dcdc 100644
--- a/chrome/browser/chrome_browser_main_extra_parts_linux.cc
+++ b/chrome/browser/chrome_browser_main_extra_parts_linux.cc
@@ -168,7 +168,13 @@ ChromeBrowserMainExtraPartsLinux::ChromeBrowserMainExtraPartsLinux() = default;
ChromeBrowserMainExtraPartsLinux::~ChromeBrowserMainExtraPartsLinux() = default;
-void ChromeBrowserMainExtraPartsLinux::PreEarlyInitialization() {
+void ChromeBrowserMainExtraPartsLinux::PostBrowserStart() {
+ RecordDisplayServerProtocolSupport();
+ ChromeBrowserMainExtraPartsOzone::PostBrowserStart();
+}
+
+// static
+void ChromeBrowserMainExtraPartsLinux::InitOzonePlatformHint() {
#if BUILDFLAG(IS_LINUX)
// On the desktop, we fix the platform name if necessary.
// See https://crbug.com/1246928.
@@ -189,8 +195,3 @@ void ChromeBrowserMainExtraPartsLinux::PreEarlyInitialization() {
}
#endif // BUILDFLAG(IS_LINUX)
}
-
-void ChromeBrowserMainExtraPartsLinux::PostBrowserStart() {
- RecordDisplayServerProtocolSupport();
- ChromeBrowserMainExtraPartsOzone::PostBrowserStart();
-}
diff --git a/chrome/browser/chrome_browser_main_extra_parts_linux.h b/chrome/browser/chrome_browser_main_extra_parts_linux.h
index 3847bd2090e28..4f188a7bdfe38 100644
--- a/chrome/browser/chrome_browser_main_extra_parts_linux.h
+++ b/chrome/browser/chrome_browser_main_extra_parts_linux.h
@@ -17,9 +17,10 @@ class ChromeBrowserMainExtraPartsLinux
const ChromeBrowserMainExtraPartsLinux&) = delete;
~ChromeBrowserMainExtraPartsLinux() override;
+ static void InitOzonePlatformHint();
+
private:
// ChromeBrowserMainExtraParts overrides.
- void PreEarlyInitialization() override;
void PostBrowserStart() override;
};

@ -222,7 +222,6 @@
%global bundlewoff2 1 %global bundlewoff2 1
%global bundlelibaom 1 %global bundlelibaom 1
%global bundlelibavif 1 %global bundlelibavif 1
%global bundledav1d 1
%global bundlesnappy 1 %global bundlesnappy 1
# Fedora's Python 2 stack is being removed, we use the bundled Python libraries # Fedora's Python 2 stack is being removed, we use the bundled Python libraries
@ -268,6 +267,8 @@
%else %else
%global bundlebrotli 1 %global bundlebrotli 1
%endif %endif
%global bundlehighway 0
%global bundledav1d 0
%global bundleopus 0 %global bundleopus 0
%global bundlelibusbx 0 %global bundlelibusbx 0
%global bundlelibwebp 0 %global bundlelibwebp 0
@ -336,7 +337,7 @@
%endif %endif
Name: chromium%{chromium_channel} Name: chromium%{chromium_channel}
Version: 124.0.6367.78 Version: 124.0.6367.118
Release: 1%{?dist}.inferit Release: 1%{?dist}.inferit
Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
Url: http://www.chromium.org/Home Url: http://www.chromium.org/Home
@ -559,8 +560,6 @@ Patch389: 0002-third_party-libvpx-Remove-bad-ppc64-config.patch
Patch390: 0002-third-party-boringssl-add-generated-files.patch Patch390: 0002-third-party-boringssl-add-generated-files.patch
Patch391: 0003-third_party-libvpx-Add-ppc64-generated-config.patch Patch391: 0003-third_party-libvpx-Add-ppc64-generated-config.patch
# Enabling VSX causes artifacts to appear in VP9 videos # Enabling VSX causes artifacts to appear in VP9 videos
Patch392: 0003-third_party-libvpx-Add-ppc64-vsx-files.patch
Patch393: 0003-third_party-ffmpeg-Add-ppc64-generated-config.patch
Patch394: 0004-third_party-libvpx-work-around-ambiguous-vsx.patch Patch394: 0004-third_party-libvpx-work-around-ambiguous-vsx.patch
# Enable VSX acceleration in Skia. Requires POWER8 or higher. # Enable VSX acceleration in Skia. Requires POWER8 or higher.
@ -574,12 +573,8 @@ Patch400: fix-rust-linking.patch
Patch401: fix-breakpad-compile.patch Patch401: fix-breakpad-compile.patch
Patch402: fix-partition-alloc-compile.patch Patch402: fix-partition-alloc-compile.patch
Patch403: 0002-Add-ppc64-trap-instructions.patch Patch403: 0002-Add-ppc64-trap-instructions.patch
Patch404: 0001-Fix-highway-ppc-hwcap.patch
Patch405: 0001-Add-PPC64-support-for-libdav1d.patch
Patch406: 0001-Fix-libdav1d-compilation-on-clang-ppc.patch
Patch407: fix-ppc64-linux-syscalls-headers.patch Patch407: fix-ppc64-linux-syscalls-headers.patch
Patch408: 0003-thirdparty-fix-dav1d-gn.patch
Patch409: use-sysconf-page-size-on-ppc64.patch Patch409: use-sysconf-page-size-on-ppc64.patch
Patch410: dawn-fix-typos.patch Patch410: dawn-fix-typos.patch
@ -590,17 +585,11 @@ Patch412: fix-swiftshader-compile.patch
# Suppress harmless compiler warning messages that appear on ppc64 due to arch-specific warning flags being passed # Suppress harmless compiler warning messages that appear on ppc64 due to arch-specific warning flags being passed
Patch413: fix-unknown-warning-option-messages.diff Patch413: fix-unknown-warning-option-messages.diff
# Needed on Debian while POWER8 remains the build target
# POWER9 enables hardware 128 bit vector support (ISA 3.0),
# and Highway gets confused when building in POWER8 mode
# (POWER8 compiler flags) on POWER9 hosts.
Patch414: 0002-Highway-disable-128-bit-vsx.patch
Patch415: fix-clang-selection.patch Patch415: fix-clang-selection.patch
# upstream patches # upstream patches
# 64kpage support on el8 # 64kpage support on el8
Patch500: chromium-124-el8-support-64kpage.patch Patch500: chromium-124-el8-support-64kpage.patch
Patch501: chromium-124-wayland-regression.patch
# Old Yandex patch # Old Yandex patch
Patch600: 0001-Yandex-as-default-search-engine.patch Patch600: 0001-Yandex-as-default-search-engine.patch
@ -825,6 +814,10 @@ BuildRequires: woff2-devel
BuildRequires: libdav1d-devel BuildRequires: libdav1d-devel
%endif %endif
%if ! %{bundlehighway}
BuildRequires: highway-devel
%endif
%if ! %{bundlelibavif} %if ! %{bundlelibavif}
BuildRequires: libavif-devel BuildRequires: libavif-devel
%endif %endif
@ -1329,6 +1322,7 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%patch -P315 -p1 -b .assignment-expressions %patch -P315 -p1 -b .assignment-expressions
%ifarch aarch64 %ifarch aarch64
%patch -P305 -p1 -b .memory_tagging %patch -P305 -p1 -b .memory_tagging
%patch -P317 -p1 -b .libdav1d-aarch64
%endif %endif
%endif %endif
@ -1336,7 +1330,6 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%patch -P307 -p1 -R -b .v8-c++20 %patch -P307 -p1 -R -b .v8-c++20
%patch -P308 -p1 -R -b .v8-c++20 %patch -P308 -p1 -R -b .v8-c++20
%patch -P314 -p1 -b .clang16-buildflag %patch -P314 -p1 -b .clang16-buildflag
%patch -P317 -p1 -b .libdav1d-aarch64
%endif %endif
%patch -P310 -p1 -b .missing-header-files %patch -P310 -p1 -b .missing-header-files
@ -1402,8 +1395,6 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%patch -P389 -p1 -b .0002-third_party-libvpx-Remove-bad-ppc64-config %patch -P389 -p1 -b .0002-third_party-libvpx-Remove-bad-ppc64-config
%patch -P390 -p1 -b .0002-third-party-boringssl-add-generated-files %patch -P390 -p1 -b .0002-third-party-boringssl-add-generated-files
%patch -P391 -p1 -b .0003-third_party-libvpx-Add-ppc64-generated-config %patch -P391 -p1 -b .0003-third_party-libvpx-Add-ppc64-generated-config
#patch -P392 -p1 -b .0003-third_party-libvpx-Add-ppc64-vsx-files
#patch -P393 -p1 -b .0003-third_party-ffmpeg-Add-ppc64-generated-config
%patch -P394 -p1 -b .0004-third_party-libvpx-work-around-ambiguous-vsx %patch -P394 -p1 -b .0004-third_party-libvpx-work-around-ambiguous-vsx
%patch -P395 -p1 -b .skia-vsx-instructions %patch -P395 -p1 -b .skia-vsx-instructions
@ -1416,12 +1407,8 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%patch -P401 -p1 -b .fix-breakpad-compile %patch -P401 -p1 -b .fix-breakpad-compile
%patch -P402 -p1 -b .fix-partition-alloc-compile %patch -P402 -p1 -b .fix-partition-alloc-compile
%patch -P403 -p1 -b .0002-Add-ppc64-trap-instructions %patch -P403 -p1 -b .0002-Add-ppc64-trap-instructions
%patch -P404 -p1 -b .0001-Fix-highway-ppc-hwcap
%patch -P405 -p1 -b .0001-Add-PPC64-support-for-libdav1d
%patch -P406 -p1 -b .0001-Fix-libdav1d-compilation-on-clang-ppc
%patch -P407 -p1 -b .fix-ppc64-linux-syscalls-headers %patch -P407 -p1 -b .fix-ppc64-linux-syscalls-headers
%patch -P408 -p1 -b .0003-thirdparty-fix-dav1d-gn
%patch -P409 -p1 -b .use-sysconf-page-size-on-ppc64 %patch -P409 -p1 -b .use-sysconf-page-size-on-ppc64
%patch -P410 -p1 -b .dawn-fix-typos %patch -P410 -p1 -b .dawn-fix-typos
@ -1430,7 +1417,6 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%patch -P412 -p1 -b .fix-swiftshader-compile.patch %patch -P412 -p1 -b .fix-swiftshader-compile.patch
%patch -P413 -p1 -b .fix-unknown-warning-option-messages %patch -P413 -p1 -b .fix-unknown-warning-option-messages
%patch -P414 -p1 -b .0002-Highway-disable-128-bit-vsx
%patch -P415 -p1 -b .fix-clang-selection %patch -P415 -p1 -b .fix-clang-selection
%endif %endif
@ -1439,7 +1425,6 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%patch -P500 -p1 -b .el8-support-64kpage.patch %patch -P500 -p1 -b .el8-support-64kpage.patch
%endif %endif
%endif %endif
%patch -P501 -p1 -b .wayland-regression
%patch -P601 -p1 -b .Added-Russian-description-and-summary-for-gnome-soft %patch -P601 -p1 -b .Added-Russian-description-and-summary-for-gnome-soft
%if ! %{with gost} %if ! %{with gost}
@ -1519,6 +1504,10 @@ sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' remoting/host/setup/d
# bz#2265957, add correct platform # bz#2265957, add correct platform
sed -i "s/Linux x86_64/Linux %{_arch}/" content/common/user_agent.cc sed -i "s/Linux x86_64/Linux %{_arch}/" content/common/user_agent.cc
%if ! %{bundledav1d}
cp -a third_party/dav1d/version/version.h third_party/dav1d/libdav1d/include/dav1d/
%endif
%build %build
# utf8 issue on epel7, Internal parsing error 'ascii' codec can't # utf8 issue on epel7, Internal parsing error 'ascii' codec can't
# decode byte 0xe2 in position 474: ordinal not in range(128) # decode byte 0xe2 in position 474: ordinal not in range(128)
@ -1771,6 +1760,9 @@ system_libs=()
%if ! %{bundledav1d} %if ! %{bundledav1d}
system_libs+=(dav1d) system_libs+=(dav1d)
%endif %endif
%if ! %{bundlehighway}
system_libs+=(highway)
%endif
%if ! %{bundlefontconfig} %if ! %{bundlefontconfig}
system_libs+=(fontconfig) system_libs+=(fontconfig)
%endif %endif
@ -2255,6 +2247,17 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%endif %endif
%changelog %changelog
* Thu May 02 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 124.0.6367.118-1.inferit
- update to 124.0.6367.118
* High CVE-2024-4331: Use after free in Picture In Picture
* High CVE-2024-4368: Use after free in Dawn
- use system highway
* Thu May 02 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 124.0.6367.91-1.inferit
- update to 124.0.6367.91
- fixed bz#2277228 - chromium wrapper causes library issues (symbol lookup error)
- use system dav1d
* Thu Apr 25 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 124.0.6367.78-1.inferit * Thu Apr 25 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 124.0.6367.78-1.inferit
- update to 124.0.6367.78 - update to 124.0.6367.78
* Critical CVE-2024-4058: Type Confusion in ANGLE * Critical CVE-2024-4058: Type Confusion in ANGLE

Loading…
Cancel
Save